/*
 * Mavaro — Homepage Styles
 * Enqueued only on is_front_page() via mavaro_enqueue_homepage_assets()
 * Font import: add @font-face here if self-hosting (see functions file note)
 */

  :root{
    --teal:#2E4343;
    --teal-light:#3F5757;
    --terracotta:#A56337;
    --terracotta-soft:#DCA476;
    --cream:#F7F1E7;
    --white:#FFFFFF;
    --ink:#20201D;
    --ink-soft:#5C5850;
    --line:#E4DDD0;
    --radius:2px;
    --gap:clamp(1.5rem, 4vw, 3.5rem);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Jost', sans-serif;
    color:var(--ink);
    background:var(--white);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,.display{font-family:'Marcellus', serif; font-weight:400; letter-spacing:0.01em;}
  a{color:inherit; text-decoration:none;}
  img,svg{display:block; max-width:100%;}
  .eyebrow{
    font-size:0.72rem;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--terracotta);
    font-weight:500;
  }
  .section{padding:clamp(4rem,9vw,7.5rem) clamp(1.25rem,5vw,4rem);}
  .section--cream{background:var(--cream);}
  .section--tight{padding-top:clamp(2.5rem,5vw,3.5rem); padding-bottom:clamp(2.5rem,5vw,3.5rem);}
  .section-head{max-width:640px; margin:0 auto 3rem; text-align:center;}
  .section-head h2{font-size:clamp(1.9rem,3.2vw,2.6rem); margin-bottom:0.65rem;}
  .section-head p{color:var(--ink-soft); font-size:0.98rem; line-height:1.6;}
  .btn{
    display:inline-flex; align-items:center; gap:0.5rem;
    padding:0.9rem 2.1rem;
    font-size:0.8rem; letter-spacing:0.1em; text-transform:uppercase;
    border:1px solid var(--teal);
    border-radius:var(--radius);
    cursor:pointer;
    transition:transform .35s ease, background .35s ease, color .35s ease;
    font-weight:500;
    background:none;
  }
  .btn--solid{background:var(--teal); color:var(--white);}
  .btn--solid:hover{background:var(--teal-light); transform:translateY(-2px);}
  .btn--ghost-light{border-color:rgba(255,255,255,0.6); color:var(--white);}
  .btn--ghost-light:hover{background:rgba(255,255,255,0.12); transform:translateY(-2px);}

  .reveal{opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease;}
  .reveal.is-visible{opacity:1; transform:translateY(0);}

  .announce{
    background:var(--teal); color:var(--white);
    text-align:center; font-size:0.76rem; letter-spacing:0.08em;
    padding:0.55rem 1rem; text-transform:uppercase;
  }

  header{
    display:flex; align-items:center; justify-content:space-between;
    padding:1.35rem clamp(1.25rem,5vw,4rem);
    background:var(--white);
    position:sticky; top:0; z-index:50;
    border-bottom:1px solid var(--line);
  }
  .logo{font-family:'Marcellus', serif; font-size:1.45rem; letter-spacing:0.06em;}
  nav.primary-nav a{
    font-size:0.78rem; letter-spacing:0.09em; text-transform:uppercase;
    position:relative; padding-bottom:4px; color:var(--ink);
  }
  nav.primary-nav a::after{
    content:''; position:absolute; left:0; bottom:0; height:1.5px; width:0;
    background:var(--teal); transition:width .3s ease;
  }
  nav.primary-nav a:hover::after{width:100%;}
  .header-icons{display:flex; gap:1.35rem; align-items:center;}
  .header-icons svg{width:19px; height:19px; stroke:var(--ink);}

  .hero{
    position:relative; min-height:86vh; display:flex; align-items:flex-end;
    padding:clamp(2rem,6vw,4.5rem);
    background:
      linear-gradient(180deg, rgba(20,24,22,0.15) 0%, rgba(15,18,17,0.72) 100%),
      radial-gradient(ellipse at 30% 30%, #4a4038 0%, #221f1c 55%, #16130f 100%);
    color:var(--white);
    overflow:hidden;
  }
  .hero::before{
    content:'';
    position:absolute; inset:0;
    background:
      radial-gradient(circle at 78% 38%, rgba(165,99,55,0.35), transparent 42%),
      radial-gradient(circle at 85% 60%, rgba(255,255,255,0.06), transparent 30%);
    animation:heroGlow 9s ease-in-out infinite alternate;
  }
  @keyframes heroGlow{ from{opacity:.7;} to{opacity:1;} }
  .hero-inner{position:relative; z-index:2; max-width:620px;}
  .hero .eyebrow{color:var(--terracotta-soft); opacity:0; animation:riseIn .9s .15s ease forwards;}
  .hero h1{
    font-size:clamp(2.6rem,6.2vw,4.6rem); line-height:1.04; margin:0.6rem 0 1.1rem;
    opacity:0; animation:riseIn .9s .35s ease forwards;
  }
  .hero p{
    font-size:1.02rem; line-height:1.65; max-width:460px; color:rgba(255,255,255,0.82);
    margin-bottom:2.1rem;
    opacity:0; animation:riseIn .9s .55s ease forwards;
  }
  .hero .hero-ctas{display:flex; gap:1rem; opacity:0; animation:riseIn .9s .75s ease forwards;}
  @keyframes riseIn{ from{opacity:0; transform:translateY(18px);} to{opacity:1; transform:translateY(0);} }

  /* value prop strip */
  .value-strip{
    display:grid; grid-template-columns:repeat(4,1fr); max-width:1240px; margin:0 auto;
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  }
  @media(max-width:760px){ .value-strip{grid-template-columns:repeat(2,1fr);} }
  .value-item{
    display:flex; flex-direction:column; align-items:center; text-align:center; gap:0.55rem;
    padding:2.1rem 1rem; border-right:1px solid var(--line);
  }
  .value-item:last-child{border-right:none;}
  @media(max-width:760px){ .value-item:nth-child(2){border-right:none;} .value-item:nth-child(3){border-right:1px solid var(--line);} }
  .value-item svg{width:24px; height:24px; stroke:var(--teal); stroke-width:1.3;}
  .value-item .v-title{font-size:0.82rem; letter-spacing:0.03em; font-weight:500;}
  .value-item .v-sub{font-size:0.76rem; color:var(--ink-soft);}

  /* tabs — restrained editorial style */
  .tabs-row{
    display:flex; justify-content:center; align-items:baseline; gap:2rem; flex-wrap:wrap;
    margin-bottom:1rem; padding-bottom:1.3rem; border-bottom:1px solid var(--line); max-width:900px; margin-left:auto; margin-right:auto;
  }
  .tab{
    font-size:0.82rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-soft);
    padding-bottom:0.35rem; cursor:pointer; border-bottom:1.5px solid transparent; transition:all .3s ease;
  }
  .tab.active, .tab:hover{color:var(--teal); border-bottom-color:var(--teal);}
  .subtabs-row{
    display:flex; justify-content:center; gap:1.5rem; flex-wrap:wrap; margin-bottom:3rem;
    font-size:0.76rem; letter-spacing:0.04em; color:var(--ink-soft);
  }
  .subtabs-row span::before{content:'·'; margin-right:1.5rem; color:var(--line);}
  .subtabs-row span:first-child::before{content:''; margin-right:0;}
  .subtabs-row a:hover{color:var(--terracotta);}

  .grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; max-width:1240px; margin:0 auto;
  }
  @media(max-width:900px){ .grid{grid-template-columns:repeat(2,1fr);} }
  .card{
    background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
    overflow:hidden; transition:transform .4s ease, box-shadow .4s ease;
    display:flex; flex-direction:column;
  }
  .card:hover{transform:translateY(-6px); box-shadow:0 18px 34px rgba(32,32,29,0.08);}
  .card-media{
    position:relative; aspect-ratio:4/5;
    background:radial-gradient(ellipse at 50% 40%, #f3ece0 0%, #e7dccb 55%, #dccdb4 100%);
    display:flex; align-items:center; justify-content:center;
    overflow:hidden;
  }
  .card-media svg{width:38%; transition:transform .5s ease;}
.card-media img{width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .5s ease;}
.card:hover .card-media img{transform:scale(1.06);}
.strip-media img{width:100%; height:100%; object-fit:cover; object-position:center;}
.asym-media img{width:100%; height:100%; object-fit:cover; object-position:center; border-radius:var(--radius);}
  .card:hover .card-media svg{transform:scale(1.06) translateY(-3px);}
  .badge{
    position:absolute; top:0.85rem; left:0.85rem;
    font-size:0.66rem; letter-spacing:0.08em; text-transform:uppercase;
    padding:0.32rem 0.7rem; border-radius:999px;
    border:1px solid var(--terracotta); color:var(--terracotta);
    background:var(--cream);
  }
  .badge--new{border-color:var(--teal); color:var(--teal);}
  .card-body{padding:1.1rem 1.15rem 1.3rem;}
  .card-fam{font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:0.3rem;}
  .card-name{font-family:'Marcellus', serif; font-size:1.12rem; margin-bottom:0.45rem;}
  .card-price{font-size:0.92rem; font-weight:500; letter-spacing:0.02em;}
  .card-price .was{color:var(--ink-soft); text-decoration:line-through; font-weight:300; margin-left:0.45rem; font-size:0.82rem;}
  .card-social{font-size:0.72rem; color:var(--terracotta); margin-top:0.55rem; letter-spacing:0.02em;}

  /* new arrivals — compact strip */
  .strip-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; max-width:1240px; margin:0 auto;}
  @media(max-width:900px){ .strip-grid{grid-template-columns:repeat(2,1fr);} }
  .strip-card{display:flex; gap:0.9rem; align-items:center; padding:0.8rem; border:1px solid var(--line);}
  .strip-media{
    width:64px; height:80px; flex:none; position:relative;
    background:radial-gradient(ellipse at 50% 40%, #f3ece0 0%, #e2d5c1 100%);
    display:flex; align-items:center; justify-content:center;
  }
  .strip-media svg{width:60%;}
  .strip-name{font-family:'Marcellus', serif; font-size:0.95rem; margin-bottom:0.2rem;}
  .strip-meta{font-size:0.72rem; color:var(--terracotta); letter-spacing:0.06em; text-transform:uppercase; margin-bottom:0.3rem;}
  .strip-price{font-size:0.85rem;}

  .asym{
    display:grid; grid-template-columns:1.15fr 0.85fr; gap:var(--gap);
    max-width:1240px; margin:0 auto; align-items:center;
  }
  @media(max-width:860px){ .asym{grid-template-columns:1fr;} }
  .asym-media{
    aspect-ratio:5/4; border-radius:var(--radius);
    background:
      linear-gradient(160deg, rgba(46,67,67,0.16), rgba(46,67,67,0) 55%),
      radial-gradient(ellipse at 70% 30%, #efe2cc 0%, #ddc9a8 45%, #b99b74 100%);
  }
  .asym-content .eyebrow{margin-bottom:0.6rem;}
  .asym-content h2{font-size:clamp(1.7rem,2.8vw,2.3rem); margin-bottom:0.9rem;}
  .asym-content p{color:var(--ink-soft); line-height:1.7; margin-bottom:1.6rem; max-width:440px;}
  .asym-products{display:grid; grid-template-columns:1fr 1fr; gap:1rem; max-width:420px;}

  .bundles{display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; max-width:900px; margin:0 auto;}
  @media(max-width:700px){ .bundles{grid-template-columns:1fr;} }
  .bundle-card{
    border:1px solid var(--teal); border-radius:var(--radius);
    padding:2.1rem 1.9rem; background:var(--white);
    display:flex; flex-direction:column; gap:0.7rem;
    transition:transform .35s ease;
  }
  .bundle-card:hover{transform:translateY(-4px);}
  .bundle-card .save{font-family:'Marcellus', serif; font-size:2.1rem; color:var(--terracotta);}
  .bundle-card h3{font-family:'Marcellus', serif; font-size:1.2rem;}
  .bundle-card p{color:var(--ink-soft); font-size:0.9rem; line-height:1.55;}

  /* testimonial band (uses shared .carousel system — see "Carousel" block above) */
  .quotes-carousel{max-width:1100px; margin:0 auto;}
  .quotes-carousel .carousel-track{gap:2.5rem;}
  .quote-card{flex:0 0 100%; scroll-snap-align:start;}
  @media(min-width:821px){ .quote-card{flex:0 0 calc((100% - 5rem) / 3);} }
  @media(max-width:820px){ .quotes-carousel .carousel-track{gap:2.2rem;} }
  .quote-mark{font-family:'Marcellus', serif; font-size:2.4rem; color:var(--terracotta-soft); line-height:1; margin-bottom:0.6rem;}
  .quote-card p{font-family:'Marcellus', serif; font-size:1.05rem; line-height:1.55; margin-bottom:0.9rem; color:var(--ink);}
  .quote-cite{font-size:0.76rem; letter-spacing:0.05em; text-transform:uppercase; color:var(--ink-soft);}
  .carousel-nav{display:flex; align-items:center; justify-content:center; gap:1.4rem; margin-top:1.6rem;}
  .carousel-arrow{display:flex; align-items:center; justify-content:center; width:2.3rem; height:2.3rem; border-radius:50%; border:1px solid var(--ink-soft); background:none; color:var(--ink); cursor:pointer; transition:background 0.2s, color 0.2s, border-color 0.2s; flex:none;}
  .carousel-arrow:hover{background:var(--teal); border-color:var(--teal); color:var(--white);}
  .carousel-arrow svg{width:1rem; height:1rem;}
  .carousel-nav .carousel-dots{margin-top:0;}
  .quotes-note{text-align:center; font-size:0.72rem; color:var(--ink-soft); margin-top:2.5rem; font-style:italic;}

  /* newsletter */
  .newsletter{max-width:560px; margin:0 auto; text-align:center;}
  .newsletter h2{margin-bottom:0.6rem;}
  .newsletter p{color:var(--ink-soft); margin-bottom:2rem; line-height:1.6;}
  .newsletter-form{display:flex; gap:0.7rem; max-width:420px; margin:0 auto;}
  @media(max-width:480px){ .newsletter-form{flex-direction:column;} }
  .newsletter-form input{
    flex:1; padding:0.9rem 1.1rem; border:1px solid var(--ink-soft); border-radius:var(--radius);
    font-family:'Jost', sans-serif; font-size:0.88rem; background:var(--white);
  }
  .newsletter-form input:focus{outline:2px solid var(--teal); outline-offset:1px;}

  .journal{
    position:relative; padding:clamp(3.5rem,8vw,6rem) clamp(1.25rem,5vw,4rem);
    background:
      linear-gradient(180deg, rgba(15,18,17,0.55), rgba(15,18,17,0.82)),
      radial-gradient(ellipse at 60% 20%, #3a332c, #17140f 70%);
    color:var(--white); text-align:center;
  }
  .journal h2{color:var(--white); font-size:clamp(1.9rem,3.2vw,2.6rem); margin-bottom:0.6rem;}
  .journal > p{color:rgba(255,255,255,0.72); max-width:520px; margin:0 auto 3rem;}
  .timeline{max-width:700px; margin:0 auto; display:flex; flex-direction:column; gap:1.6rem; text-align:left;}
  .timeline-item{display:grid; grid-template-columns:110px 1fr; gap:1.4rem; padding-bottom:1.6rem; border-bottom:1px solid rgba(255,255,255,0.14);}
  .timeline-item:last-child{border-bottom:none;}
  .timeline-date{font-size:0.75rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--terracotta-soft); padding-top:0.2rem;}
  .timeline-item h3{font-family:'Marcellus', serif; font-weight:400; font-size:1.15rem; margin-bottom:0.4rem; color:var(--white);}
  .timeline-item p{color:rgba(255,255,255,0.68); font-size:0.9rem; line-height:1.6;}

  footer{background:var(--teal); color:rgba(255,255,255,0.86); padding:4rem clamp(1.25rem,5vw,4rem) 1.75rem;}
  .footer-grid{display:grid; grid-template-columns:1.3fr repeat(3,1fr); gap:2.5rem; max-width:1240px; margin:0 auto 2.75rem;}
  @media(max-width:820px){ .footer-grid{grid-template-columns:repeat(2,1fr);} }
  .footer-grid h4{font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--terracotta-soft); margin-bottom:1.1rem;}
  .footer-grid ul{list-style:none; display:flex; flex-direction:column; gap:0.65rem;}
  .footer-grid a{font-size:0.88rem; color:rgba(255,255,255,0.78); transition:color .25s ease;}
  .footer-grid a:hover{color:var(--white);}
  .footer-brand .logo{color:var(--white); margin-bottom:0.9rem;}
  .footer-brand p{font-size:0.86rem; color:rgba(255,255,255,0.65); max-width:280px; line-height:1.6;}
  .footer-bottom{
    max-width:1240px; margin:0 auto; padding-top:1.75rem; border-top:1px solid rgba(255,255,255,0.15);
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;
    font-size:0.78rem; color:rgba(255,255,255,0.6);
  }
  .socials{display:flex; gap:0.9rem;}
  .socials svg{width:16px; height:16px; stroke:rgba(255,255,255,0.75);}
  .payment-row{display:flex; gap:0.6rem; flex-wrap:wrap;}
  .payment-chip{
    font-size:0.68rem; letter-spacing:0.05em; padding:0.35rem 0.65rem;
    border:1px solid rgba(255,255,255,0.3); border-radius:3px; color:rgba(255,255,255,0.75);
  }

  ::selection{background:var(--terracotta); color:var(--white);}

/* ============ Section 2/9/10: horizontal scroll rows ============ */
.scroll-row{
  display:flex; gap:1.25rem; overflow-x:auto; padding-bottom:0.5rem;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
}
.scroll-row::-webkit-scrollbar{height:6px;}
.scroll-row::-webkit-scrollbar-thumb{background:var(--line); border-radius:3px;}
.scroll-card{
  flex:0 0 220px; scroll-snap-align:start; display:block;
}
.scroll-media{
  position:relative; aspect-ratio:4/5; border-radius:var(--radius); overflow:hidden;
  background:radial-gradient(ellipse at 50% 40%, #f3ece0 0%, #e7dccb 55%, #dccdb4 100%);
  margin-bottom:0.75rem;
}
.scroll-media img{width:100%; height:100%; object-fit:cover; object-position:center;}
.scroll-media--flat{
  display:flex; align-items:center; justify-content:center;
  background:var(--teal);
}
.save-badge{font-family:'Marcellus', serif; font-size:2.4rem; color:var(--white);}
.scroll-name{font-family:'Marcellus', serif; font-size:0.98rem; margin-bottom:0.3rem;}
.scroll-price{font-size:0.85rem; color:var(--ink-soft);}
.scroll-price .was{text-decoration:line-through; margin-left:0.4rem; font-size:0.78rem;}

/* ============ Section 3: Shop by Scent Profiles ============ */
.profiles-grid{
  display:grid; grid-template-columns:1fr 1.1fr 1fr; gap:var(--gap);
  max-width:1240px; margin:0 auto; align-items:center;
}
@media(max-width:860px){ .profiles-grid{grid-template-columns:1fr;} }
.profiles-photo{
  aspect-ratio:3/4; border-radius:var(--radius);
  background:linear-gradient(160deg, rgba(46,67,67,0.14), rgba(46,67,67,0) 60%), radial-gradient(ellipse at 60% 30%, #ded2bd, #b9a688);
}
.profiles-list{text-align:center;}
.profiles-list .eyebrow{display:block; margin-bottom:1rem;}
.profile-link{
  display:block; font-family:'Marcellus', serif; font-size:2rem; line-height:1.5;
  color:var(--ink); transition:color .25s ease;
}
.profile-link:hover{color:var(--terracotta);}

/* ============ Section headers with a "See All" link ============ */
.section-head-row{
  display:flex; justify-content:space-between; align-items:flex-end;
  max-width:1240px; margin:0 auto 2rem; gap:1rem; flex-wrap:wrap;
}
.section-head-row h2{font-size:clamp(1.7rem,2.8vw,2.3rem); margin-bottom:0.4rem;}
.section-head-row p{color:var(--ink-soft); font-size:0.92rem;}
.see-all{
  font-size:0.78rem; letter-spacing:0.08em; text-transform:uppercase;
  border-bottom:1px solid var(--ink); padding-bottom:2px; white-space:nowrap;
}

/* ============ Grid width variants ============ */
.grid--5{grid-template-columns:repeat(5,1fr);}
.grid--4{grid-template-columns:repeat(4,1fr);}
@media(max-width:1100px){ .grid--5{grid-template-columns:repeat(3,1fr);} }
@media(max-width:900px){ .grid--4, .grid--5{grid-template-columns:repeat(2,1fr);} }
.btn--small{font-size:0.72rem; padding:0.6rem 1.2rem; margin-top:0.7rem; width:100%; text-align:center;}

/* ============ Section 8: About Us ============ */
.about-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:var(--gap);
  max-width:1240px; margin:0 auto; align-items:center;
}
@media(max-width:860px){ .about-grid{grid-template-columns:1fr;} }
.about-content h2{font-size:clamp(1.8rem,3vw,2.4rem); margin:0.6rem 0 1rem;}
.about-content p{color:var(--ink-soft); line-height:1.7; margin-bottom:1.6rem; max-width:460px;}
.about-photo{
  aspect-ratio:4/3; border-radius:var(--radius);
  background:linear-gradient(160deg, rgba(46,67,67,0.18), rgba(46,67,67,0) 55%), radial-gradient(ellipse at 65% 35%, #3a332c 0%, #17140f 75%);
}

/* ============ Section 11: Made in Pakistan banner ============ */
.made-in-pk{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem;
  background:var(--teal); color:var(--white); padding:1.6rem clamp(1.25rem,5vw,4rem);
  font-family:'Marcellus', serif; font-size:1.3rem;
}

/* ============ Section 13: Journal head + thumbnails ============ */
.journal-head{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:1rem; margin-bottom:2.5rem;
}
.journal-head h2{font-size:clamp(1.9rem,3.2vw,2.6rem); color:var(--white);}
.timeline-thumb{display:block; width:96px; height:96px; border-radius:var(--radius); overflow:hidden; flex:none;}
.timeline-thumb img{width:100%; height:100%; object-fit:cover;}
.timeline-item{grid-template-columns:96px 1fr !important;}

/* ============ Section 14: Shop Scents By Season ============ */
.season-row{display:flex; justify-content:center; gap:2.5rem; flex-wrap:wrap;}
.season-tile{text-align:center;}
.season-circle{
  width:130px; height:130px; border-radius:50%; margin:0 auto 0.9rem;
  background:radial-gradient(ellipse at 40% 30%, #e8dcc4, #b9a67f);
}
.season-circle--autumn{background:radial-gradient(ellipse at 40% 30%, #d8b98a, #8a6236);}
.season-circle--winter{background:radial-gradient(ellipse at 40% 30%, #cdd8d6, #5c7573);}
.season-circle--spring{background:radial-gradient(ellipse at 40% 30%, #dce8cf, #8fae74);}
.season-label{font-family:'Marcellus', serif; font-size:1.05rem;}

/* ============ Section 16/19: AEO copy blocks ============ */
.aeo-copy{padding-top:clamp(3rem,6vw,4.5rem); padding-bottom:clamp(3rem,6vw,4.5rem);}
.aeo-inner{max-width:760px; margin:0 auto; text-align:center;}
.aeo-inner h2{font-size:clamp(1.7rem,2.8vw,2.2rem); margin-bottom:1rem;}
.aeo-inner h3{font-size:1.25rem; margin:2rem 0 0.8rem;}
.aeo-inner h4{font-size:1.05rem; margin:1.8rem 0 0.8rem; letter-spacing:0.02em;}
.aeo-inner p{color:var(--ink-soft); line-height:1.75; margin-bottom:0.5rem;}
.aeo-inner ul{list-style:none; display:inline-block; text-align:left; margin:0.5rem auto 0;}
.aeo-inner li{color:var(--ink-soft); line-height:2; position:relative; padding-left:1.3rem;}
.aeo-inner li::before{content:'—'; position:absolute; left:0; color:var(--terracotta);}


/* Real photos wired in to replace CSS gradient placeholders */
.about-photo img, .profiles-photo img{
  width:100%; height:100%; object-fit:cover; object-position:center; border-radius:var(--radius); display:block;
}
.season-circle{ overflow:hidden; }
.season-circle img{ width:100%; height:100%; object-fit:cover; object-position:center; border-radius:50%; display:block; }


/* ============ FIX: badge disappearing on card hover ============ */
.badge{ z-index:2; }

/* ============ Scent Picker (redesigned Shop by Scent Profiles) ============ */
.scent-picker-grid{
  display:grid; grid-template-columns:0.9fr 1.1fr; gap:0;
  max-width:1240px; margin:0 auto; border:1px solid var(--line);
}
.scent-picker-photo{ position:relative; min-height:420px; }
.scent-picker-photo img{ width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.scent-picker-content{
  padding:clamp(2rem,4vw,3.5rem); background:var(--white);
  display:flex; flex-direction:column; justify-content:center;
}
.scent-picker-content h2{ font-size:clamp(1.7rem,2.6vw,2.3rem); margin:0.6rem 0 2rem; max-width:380px; }
.scent-picker-list{ display:flex; flex-direction:column; }
.scent-picker-item{
  display:flex; align-items:center; gap:1rem;
  padding:1.1rem 0.4rem; border-bottom:1px solid var(--line);
  transition:padding-left .3s ease, background .3s ease, color .3s ease;
}
.scent-picker-item:first-child{ border-top:1px solid var(--line); }
.scent-picker-index{ font-size:0.72rem; color:var(--terracotta); font-weight:500; letter-spacing:0.05em; width:20px; flex:none; }
.scent-picker-name{ font-family:'Marcellus', serif; font-size:1.4rem; flex:1; }
.scent-picker-arrow{ width:18px; height:18px; opacity:0; transform:translateX(-6px); transition:opacity .3s ease, transform .3s ease; color:var(--terracotta); }
.scent-picker-arrow svg{ width:100%; height:100%; }
.scent-picker-item:hover{ padding-left:0.9rem; color:var(--terracotta); background:var(--cream); }
.scent-picker-item:hover .scent-picker-arrow{ opacity:1; transform:translateX(0); }
@media(max-width:860px){
  .scent-picker-grid{ grid-template-columns:1fr; }
  .scent-picker-photo{ min-height:280px; }
}

/* ============ Carousel (Most Loved Perfumes: autoplay + dots) ============ */
.carousel{ max-width:1240px; margin:0 auto; }
.carousel-viewport{ overflow:hidden; }
.carousel-track.scroll-row{
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  -ms-overflow-style:none;
  cursor:grab;
}
.carousel-track.scroll-row::-webkit-scrollbar{
  display:none;
}
.carousel-track.scroll-row.is-dragging{
  cursor:grabbing;
  scroll-behavior:auto;
  scroll-snap-type:none;
  user-select:none;
}
.carousel-track.scroll-row.is-dragging .scroll-card{
  pointer-events:none;
}
.carousel-dots{ display:flex; justify-content:center; gap:0.55rem; margin-top:1.75rem; }
.carousel-dot{
  width:8px; height:8px; border-radius:50%; background:var(--line); border:none; padding:0;
  cursor:pointer; transition:background .25s ease, transform .25s ease;
}
.carousel-dot.active{ background:var(--teal); transform:scale(1.35); }

/* ============ Feature list (redesigned AEO bullet points) ============ */
.feature-list{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(230px, 260px)); justify-content:center;
  gap:1.4rem 2.2rem; max-width:820px; margin:1.75rem auto 0;
}
.feature-item{ text-align:left; }
/* Center a lone last item when the list has an odd count (e.g. 5 items in a 2-col grid) */
.feature-list .feature-item:last-child:nth-child(odd){
  grid-column: 1 / -1;
  justify-content:center;
}
.feature-item{ display:flex; gap:0.85rem; align-items:flex-start; }
.feature-icon{
  flex:none; width:26px; height:26px; border-radius:50%;
  background:var(--cream); border:1px solid var(--terracotta-soft);
  display:flex; align-items:center; justify-content:center;
  color:var(--terracotta); font-size:0.75rem; line-height:1;
}
.feature-text{ color:var(--ink-soft); line-height:1.55; font-size:0.92rem; padding-top:0.2rem; }
.aeo-tagline{
  font-family:'Marcellus', serif; font-style:italic; font-size:1.15rem; color:var(--ink);
  margin-top:2.5rem; position:relative; padding-top:1.75rem; text-align:center;
}
.aeo-tagline::before{
  content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:40px; height:2px; background:var(--terracotta);
}


/* ============ Fixed-count rows (Bundles, Sample Sets): stretch to fill width instead of leaving empty space ============ */
.scroll-row--fill{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  overflow-x:visible;
}
.scroll-row--fill .scroll-card{ flex:none; width:100%; }
@media(max-width:700px){
  .scroll-row--fill{ grid-template-columns:repeat(2, 1fr); }
}


/* ============ Hero text alignment (Customizer: Text Alignment) ============ */
.hero-inner--center{ margin-left:auto; margin-right:auto; text-align:center; }
.hero-inner--center .hero-ctas{ justify-content:center; }
.hero-inner--right{ margin-left:auto; margin-right:0; text-align:right; }
.hero-inner--right .hero-ctas{ justify-content:flex-end; }
