/* ==========================================================================
   SECTION SHELL + HEADINGS (shared by all homepage sections)
   ========================================================================== */

.verdora-section { padding-block: var(--space-9); }
.verdora-section__title { margin-bottom: var(--space-6); }
.verdora-section__header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: var(--space-6);
}
.verdora-section__header .verdora-section__title { margin-bottom: 0; }
.verdora-section__view-all { font-size: var(--fs-small); font-weight: 600; white-space: nowrap; }

/* ==========================================================================
   SHOP BY CATEGORY
   ========================================================================== */

.verdora-category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: var(--space-5);
}
.verdora-category-card {
    position: relative;
    display: block;
    border-radius: var(--radius-lg);
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: var(--color-bg-alt);
    color: var(--verdora-white);
    transition: transform var(--duration-base) var(--ease-standard);
}
.verdora-category-card:hover { transform: translateY(-4px); }
.verdora-category-card img { width: 100%; height: 100%; object-fit: cover; }
.verdora-category-card__placeholder {
    display: flex; align-items: center; justify-content: center;
    height: 100%; color: var(--color-primary);
}
.verdora-category-card::after {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(0deg, rgba(31,46,35,0.65), transparent 55%);
}
.verdora-category-card__label {
    position: absolute; left: var(--space-4); bottom: var(--space-4); right: var(--space-4);
    z-index: 1;
    font-family: var(--font-display);
    font-size: 1.1rem;
    display: flex; flex-direction: column; gap: 2px;
}
.verdora-category-card__count { font-family: var(--font-body); font-size: var(--fs-caption); font-weight: 400; opacity: 0.85; }

/* ==========================================================================
   FEATURED COLLECTIONS
   ========================================================================== */

.verdora-collections-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--space-5);
}
.verdora-collection-banner {
    position: relative;
    display: block;
    border-radius: var(--radius-lg);
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: var(--color-bg-alt);
}
.verdora-collection-banner img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform var(--duration-slow) var(--ease-standard);
}
.verdora-collection-banner:hover img { transform: scale(1.05); }
.verdora-collection-banner__label {
    position: absolute; left: var(--space-5); bottom: var(--space-5);
    background: var(--verdora-white);
    padding: var(--space-2) var(--space-5);
    border-radius: var(--radius-pill);
    font-weight: 600;
    font-size: var(--fs-small);
}

/* ==========================================================================
   PRODUCT CARD (shared: shop archive, sliders, wishlist page)
   ========================================================================== */

.verdora-product-slider,
ul.products.verdora-product-slider {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(220px, 260px);
    gap: var(--space-5);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: var(--space-2);
    list-style: none;
    margin: 0;
}
.verdora-product-slider > * { scroll-snap-align: start; }

.verdora-product-grid,
ul.products:not(.verdora-product-slider) {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: var(--space-5);
    list-style: none;
    margin: 0;
    padding: 0;
}

.verdora-product-card,
ul.products li.product {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--color-surface);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: box-shadow var(--duration-base) var(--ease-standard), transform var(--duration-base) var(--ease-standard);
}
.verdora-product-card:hover,
ul.products li.product:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }

.verdora-product-card__media {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    background: var(--color-bg-alt);
    overflow: hidden;
}
.verdora-product-card__image { width: 100%; height: 100%; object-fit: cover; }
.verdora-product-card__image--hover {
    position: absolute; inset: 0;
    opacity: 0;
    transition: opacity var(--duration-base) var(--ease-standard);
}
.verdora-product-card__media:hover .verdora-product-card__image--hover { opacity: 1; }

.verdora-badge-row {
    position: absolute;
    top: var(--space-3); left: var(--space-3);
    z-index: 2;
    display: flex; gap: var(--space-1);
}
.verdora-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: var(--radius-pill);
    font-size: var(--fs-caption);
    font-weight: 700;
    letter-spacing: 0.02em;
}
.verdora-badge--sale { background: var(--verdora-honey); color: var(--verdora-forest); }
.verdora-badge--new { background: var(--verdora-forest); color: var(--verdora-white); }
.verdora-badge--bestseller { background: var(--verdora-clay-pink); color: var(--verdora-forest); }
.verdora-badge--combo { background: var(--verdora-sage); color: var(--verdora-white); }

.verdora-card-actions {
    position: absolute;
    top: var(--space-3); right: var(--space-3);
    z-index: 2;
    display: flex; flex-direction: column; gap: var(--space-2);
    opacity: 0;
    transform: translateX(6px);
    transition: opacity var(--duration-base) var(--ease-standard), transform var(--duration-base) var(--ease-standard);
}
.verdora-product-card:hover .verdora-card-actions,
ul.products li.product:hover .verdora-card-actions { opacity: 1; transform: translateX(0); }
.verdora-card-actions .verdora-icon-btn { width: 36px; height: 36px; background: var(--verdora-white); box-shadow: var(--shadow-sm); }
.verdora-card-actions .btn { position: absolute; bottom: -48px; right: 0; white-space: nowrap; }
.verdora-product-card:hover .verdora-card-actions .btn,
ul.products li.product:hover .verdora-card-actions .btn { bottom: calc(-1 * (var(--space-8))); }

.verdora-product-card__body,
ul.products li.product .verdora-product-card__body { padding: var(--space-4) var(--space-4) var(--space-5); }
.verdora-product-card__title { font-size: 1rem; margin-bottom: var(--space-1); }
.verdora-product-card__title a { color: var(--color-text); }
.verdora-product-card__price { font-weight: 600; color: var(--color-text); }
.verdora-product-card__price del { color: var(--color-text-muted); font-weight: 400; margin-right: var(--space-2); }
.verdora-product-card__price ins { text-decoration: none; color: var(--verdora-error); }
.verdora-product-card__rating { margin-bottom: var(--space-1); }

/* ==========================================================================
   FEATURED INGREDIENTS (uses .ingredient-ledger from style.css)
   ========================================================================== */

.verdora-featured-ingredients__grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: var(--space-8);
    align-items: start;
}
.verdora-featured-ingredients__intro { position: sticky; top: calc(var(--space-9) + 80px); }
.ingredient-ledger__note { font-size: var(--fs-small); color: var(--color-text-muted); margin: 4px 0 0; }

@media (max-width: 860px) {
    .verdora-featured-ingredients__grid { grid-template-columns: 1fr; }
    .verdora-featured-ingredients__intro { position: static; }
}

/* ==========================================================================
   WHY CHOOSE US
   ========================================================================== */

.verdora-why-choose-us__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-6);
    text-align: center;
}
.verdora-why-choose-us__icon {
    display: inline-flex;
    align-items: center; justify-content: center;
    width: 56px; height: 56px;
    border-radius: 50%;
    background: var(--color-bg-alt);
    color: var(--color-primary);
    margin-bottom: var(--space-3);
}
.verdora-why-choose-us__item h3 { font-size: 1.1rem; }
.verdora-why-choose-us__item p { color: var(--color-text-muted); font-size: var(--fs-small); }

/* ==========================================================================
   BRAND STORY (deliberate grid-break moment via oversized serif quote)
   ========================================================================== */

.verdora-brand-story__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-8);
    align-items: center;
}
.verdora-brand-story__media img { border-radius: var(--radius-lg); }
.verdora-brand-story__quote {
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 1.3rem + 2vw, 2.75rem);
    line-height: 1.2;
    margin: 0 0 var(--space-5);
    color: var(--color-text);
}
.verdora-brand-story__text { color: var(--color-text-muted); max-width: 46ch; }

@media (max-width: 860px) {
    .verdora-brand-story__grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */

.verdora-testimonial-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--space-5);
}
.verdora-testimonial-card {
    margin: 0;
    padding: var(--space-6);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
}
.verdora-testimonial-card__quote { font-family: var(--font-display); font-size: 1.1rem; margin: var(--space-3) 0; }
.verdora-testimonial-card__footer { display: flex; flex-direction: column; font-size: var(--fs-small); color: var(--color-text-muted); }
.verdora-testimonial-card__footer cite { font-style: normal; font-weight: 600; color: var(--color-text); }

/* ==========================================================================
   INSTAGRAM GALLERY
   ========================================================================== */

.verdora-instagram-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: var(--space-3);
}
.verdora-instagram-grid__item { display: block; aspect-ratio: 1 / 1; overflow: hidden; border-radius: var(--radius-sm); }
.verdora-instagram-grid__item img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--duration-slow) var(--ease-standard); }
.verdora-instagram-grid__item:hover img { transform: scale(1.08); }

@media (max-width: 860px) { .verdora-instagram-grid { grid-template-columns: repeat(3, 1fr); } }

/* ==========================================================================
   BLOG SECTION / ARCHIVE
   ========================================================================== */

.verdora-blog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--space-6); }
.verdora-blog-card { display: block; color: var(--color-text); }
.verdora-blog-card__media { border-radius: var(--radius-lg); overflow: hidden; margin-bottom: var(--space-3); aspect-ratio: 4/3; }
.verdora-blog-card__media img { width: 100%; height: 100%; object-fit: cover; }
.verdora-blog-card__date { font-size: var(--fs-caption); color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.04em; }
.verdora-blog-card__title { font-size: 1.15rem; margin: var(--space-2) 0; }
.verdora-blog-card__excerpt { color: var(--color-text-muted); font-size: var(--fs-small); }

/* ==========================================================================
   FAQ ACCORDION
   ========================================================================== */

.verdora-faq__inner { max-width: 760px; margin-inline: auto; }
.verdora-accordion__item { border-bottom: 1px solid var(--color-border); }
.verdora-accordion__trigger {
    width: 100%;
    display: flex; align-items: center; justify-content: space-between;
    padding: var(--space-5) 0;
    background: none; border: 0;
    font-family: var(--font-display);
    font-size: 1.05rem;
    text-align: left;
    color: var(--color-text);
    cursor: pointer;
}
.verdora-accordion__trigger svg { transition: transform var(--duration-base) var(--ease-standard); }
.verdora-accordion__trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.verdora-accordion__panel { padding-bottom: var(--space-5); color: var(--color-text-muted); }

/* ==========================================================================
   NEWSLETTER
   ========================================================================== */

.verdora-newsletter {
    background: var(--color-primary);
    color: var(--verdora-white);
    text-align: center;
    border-radius: var(--radius-lg);
    margin-inline: var(--container-pad);
}
.verdora-newsletter__inner { max-width: 560px; margin-inline: auto; padding-block: var(--space-8); }
.verdora-newsletter__title { color: var(--verdora-white); }
.verdora-newsletter__text { opacity: 0.9; }
.verdora-newsletter__form input[type="email"] {
    width: 100%;
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-pill);
    border: 0;
    margin-bottom: var(--space-3);
}

/* ==========================================================================
   COMBO BLOCK ("Complete the Ritual")
   ========================================================================== */

.verdora-combo-block__row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-4);
    background: var(--color-bg-alt);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
}
.verdora-combo-block__item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--space-1); width: 120px; }
.verdora-combo-block__item img { width: 72px; height: 72px; object-fit: cover; border-radius: var(--radius-sm); }
.verdora-combo-block__item-title { font-size: var(--fs-caption); }
.verdora-combo-block__item-price { font-size: var(--fs-caption); color: var(--color-text-muted); }
.verdora-combo-block__plus { font-size: 1.5rem; color: var(--color-text-muted); }
.verdora-combo-block__total { margin-left: auto; display: flex; flex-direction: column; align-items: flex-end; gap: var(--space-2); }
.verdora-combo-block__total-price { font-family: var(--font-display); font-size: 1.4rem; }

/* ==========================================================================
   EMPTY STATES / SHARED UTILITIES
   ========================================================================== */

.verdora-empty-state { text-align: center; padding: var(--space-9) 0; color: var(--color-text-muted); }
