/*
Theme Name: Mavaro
Theme URI: https://mavaro.pk
Author: Mavaro
Description: Custom hand-coded theme for Mavaro (mavaro.pk) — replaces XStore + Elementor. Includes the Scent Facts product meta system and homepage built for the 2026 rebuild.
Version: 1.0
Text Domain: mavaro
Requires PHP: 7.4
WC requires at least: 4.0
*/

/* ============ Design tokens (sitewide) ============ */
:root{
  --teal:#2E4343;
  --teal-light:#3F5757;
  --terracotta:#A56337;
  --terracotta-soft:#DCA476;
  --cream:#F7F1E7;
  --white:#FFFFFF;
  --ink:#20201D;
  --ink-soft:#5C5850;
  --line:#E4DDD0;
  --radius:2px;
}
*{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;
}
h1,h2,h3,h4,.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;
}
.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);}

/* ============ Announcement bar ============ */
.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 ============ */
header.site-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;}
.logo img{max-height:32px; width:auto;}
nav.primary-nav{display:flex; gap:2.1rem;}
nav.primary-nav ul{list-style:none; display:flex; gap:2.1rem;}
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%;}

/* ============ Mega menu dropdowns ============ */
nav.primary-nav li.menu-item-has-children{position:relative;}
nav.primary-nav > ul > li.menu-item-has-children > a{cursor:default;}
nav.primary-nav > ul > li > ul.sub-menu{
  display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%);
  background:var(--white); border:1px solid var(--line);
  padding:2rem 2.2rem; gap:2.8rem; z-index:80;
  box-shadow:0 16px 40px rgba(32,32,29,0.1);
  min-width:560px;
}
nav.primary-nav > ul > li:hover > ul.sub-menu{display:flex;}
nav.primary-nav > ul > li > ul.sub-menu > li{min-width:150px; flex:0 0 auto;}
nav.primary-nav > ul > li > ul.sub-menu > li.menu-item-has-children > a{
  font-weight:600; text-transform:uppercase; font-size:0.68rem; letter-spacing:0.12em;
  color:var(--terracotta); display:block; margin-bottom:0.9rem; pointer-events:none; padding:0;
}
nav.primary-nav > ul > li > ul.sub-menu > li:not(.menu-item-has-children) > a{
  display:block; padding:0.3rem 0; font-size:0.85rem; text-transform:none; letter-spacing:0;
  font-weight:500; margin-bottom:0.4rem;
}
nav.primary-nav > ul > li > ul.sub-menu > li > ul.sub-menu{
  display:flex; flex-direction:column; position:static; padding:0; border:0; box-shadow:none;
  min-width:0; background:none;
}
nav.primary-nav > ul > li > ul.sub-menu > li > ul.sub-menu > li{min-width:0;}
nav.primary-nav > ul > li > ul.sub-menu > li > ul.sub-menu > li > a{
  font-weight:400; text-transform:none; letter-spacing:0; color:var(--ink-soft);
  font-size:0.83rem; padding:0.3rem 0; margin:0; pointer-events:auto; display:block;
}
nav.primary-nav > ul > li > ul.sub-menu > li > ul.sub-menu > li > a:hover{color:var(--terracotta);}

.header-icons{display:flex; gap:1.35rem; align-items:center;}
.header-icons svg{width:19px; height:19px; stroke:var(--ink);}
.header-icons a{position:relative;}
.cart-count{
  position:absolute; top:-8px; right:-10px; background:var(--teal); color:var(--white);
  font-size:0.65rem; width:16px; height:16px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-weight:500;
}
.mobile-nav-toggle{display:none; background:none; border:none; cursor:pointer; padding:0.4rem;}
.hamburger{display:block; width:22px; height:16px; position:relative;}
.hamburger span{position:absolute; left:0; width:100%; height:2px; background:var(--ink); transition:transform .25s ease, opacity .25s ease;}
.hamburger span:nth-child(1){top:0;}
.hamburger span:nth-child(2){top:7px;}
.hamburger span:nth-child(3){top:14px;}
body.nav-open .hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.nav-open .hamburger span:nth-child(2){opacity:0;}
body.nav-open .hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media(max-width:900px){
  header.site-header{flex-wrap:wrap;}
  .mobile-nav-toggle{display:block !important; order:2;}
  .header-icons{order:3;}
  .logo{order:1;}

  nav.primary-nav{
    display:none !important; width:100%; order:10;
    background:var(--white); border-top:1px solid var(--line);
    max-height:calc(100vh - 100px); overflow-y:auto;
    margin-top:1rem;
  }
  body.nav-open nav.primary-nav{display:block !important;}

  nav.primary-nav > ul{flex-direction:column; gap:0; width:100%;}
  nav.primary-nav > ul > li{width:100%; border-bottom:1px solid var(--line);}
  nav.primary-nav > ul > li > a{display:flex; align-items:center; justify-content:space-between; padding:1rem 0.25rem; font-size:0.9rem;}

  /* Reset desktop dropdown positioning for mobile accordion */
  nav.primary-nav > ul > li > ul.sub-menu{
    display:none; position:static; transform:none; box-shadow:none; border:0; padding:1.1rem 0 1.25rem 0.75rem;
    min-width:0; background:none; flex-direction:column; gap:0;
  }
  nav.primary-nav > ul > li.submenu-open > ul.sub-menu{display:flex;}
  nav.primary-nav > ul > li > ul.sub-menu > li{min-width:0; flex:none; margin-bottom:0.85rem;}
  nav.primary-nav > ul > li > ul.sub-menu > li > a{pointer-events:auto;}
  nav.primary-nav > ul > li > ul.sub-menu > li.menu-item-has-children{margin-top:1.5rem;}
  nav.primary-nav > ul > li > ul.sub-menu > li.menu-item-has-children:first-child{margin-top:0;}
  nav.primary-nav > ul > li > ul.sub-menu > li.menu-item-has-children > a{margin-bottom:0.75rem !important;}
  nav.primary-nav > ul > li > ul.sub-menu > li > ul.sub-menu{display:flex; position:static; padding:0.5rem 0 0 0.75rem;}
  nav.primary-nav > ul > li > ul.sub-menu > li > ul.sub-menu > li{margin-bottom:0.7rem;}


  /* Fix: reset list bullets that were reappearing on nested items */
  nav.primary-nav li, nav.primary-nav ul{list-style:none !important;}
  nav.primary-nav li::marker{content:none !important;}

  /* Fix: disable desktop hover-trigger on mobile (sticky :hover on touch was keeping submenus stuck open) */
  nav.primary-nav > ul > li:hover > ul.sub-menu{display:none !important;}
  nav.primary-nav > ul > li.submenu-open > ul.sub-menu{display:flex !important;}
}

/* ============ Footer ============ */
footer.site-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);
}



/* ============ Generic content pages (collections, static) ============ */
.page-wrap{max-width:1240px;margin:0 auto;padding:3.5rem clamp(1.25rem,5vw,4rem) 5rem;}
.page-eyebrow{font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--terracotta);font-weight:500;display:block;margin-bottom:0.9rem;}
h1.page-title{font-family:'Marcellus',serif;font-weight:400;font-size:clamp(2rem,4vw,2.75rem);margin-bottom:1.1rem;color:var(--ink);}
.page-intro{max-width:620px;color:var(--ink-soft);font-size:1rem;line-height:1.75;margin-bottom:3.25rem;}
.page-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;}
.page-section-head h2{font-size:1.5rem;}
.page-empty{color:var(--ink-soft);font-size:0.95rem;padding:2rem 0;}
.page-wrap .grid{margin-top:0;}

/* ---- Product grid + card (shared sitewide; also used on homepage) ---- */
.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);} }
.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:640px){
  .grid, .grid--5, .grid--4{grid-template-columns:repeat(2,1fr); gap:0.9rem;}
  .card-body{padding:0.85rem 0.85rem 1rem;}
  .card-name{font-size:0.95rem;}
  .card-price{font-size:0.82rem;}
}
.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 img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s ease;}
.card:hover .card-media img{transform:scale(1.06);}
.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;}


/* ---- Scent Families hub list ---- */
.family-list{display:flex;flex-direction:column;border-top:1px solid var(--line);}
.family-item{display:flex;align-items:center;gap:1.5rem;padding:1.4rem 0.25rem;border-bottom:1px solid var(--line);transition:background .25s ease, padding-left .25s ease;}
.family-item:hover{background:var(--cream);padding-left:0.75rem;}
.family-index{font-family:'Marcellus',serif;font-size:0.95rem;color:var(--terracotta);width:2.2rem;flex-shrink:0;}
.family-name{font-family:'Marcellus',serif;font-size:1.35rem;flex:1;color:var(--ink);}
.family-count{font-size:0.8rem;color:var(--ink-soft);letter-spacing:0.03em;margin-right:0.5rem;}
.family-arrow{font-size:1.1rem;color:var(--terracotta);transition:transform .25s ease;}
.family-item:hover .family-arrow{transform:translateX(4px);}
@media(max-width:600px){
  .family-item{gap:0.9rem;}
  .family-name{font-size:1.1rem;}
  .family-count{display:none;}
}


/* ---- About Us page ---- */
.page-wrap--narrow{max-width:800px;}
.about-tagline{font-family:'Marcellus',serif;font-size:1.25rem;color:var(--terracotta);margin-bottom:2.5rem;}
.about-body h2{font-size:1.65rem;margin:2.5rem 0 1rem;}
.about-body p{color:var(--ink-soft);font-size:1rem;line-height:1.8;margin-bottom:1.1rem;}
.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid var(--line);}
.trust-item{text-align:center;}
.trust-item svg{width:28px;height:28px;stroke:var(--teal);margin:0 auto 0.75rem;}
.trust-title{font-family:'Marcellus',serif;font-size:1rem;margin-bottom:0.25rem;}
.trust-sub{font-size:0.82rem;color:var(--ink-soft);}
@media(max-width:640px){ .trust-row{grid-template-columns:1fr;gap:2rem;} }


/* ---- FAQ accordion ---- */
.faq-list{border-top:1px solid var(--line);margin-top:1rem;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-question{font-family:'Marcellus',serif;font-size:1.08rem;padding:1.3rem 2rem 1.3rem 0;cursor:pointer;list-style:none;position:relative;color:var(--ink);}
.faq-question::-webkit-details-marker{display:none;}
.faq-question::after{content:'+';position:absolute;right:0.25rem;top:1.2rem;font-size:1.3rem;color:var(--terracotta);transition:transform .25s ease;font-family:'Jost',sans-serif;}
.faq-item[open] .faq-question::after{transform:rotate(45deg);}
.faq-item:hover .faq-question{color:var(--terracotta);}
.faq-answer{padding:0 2rem 1.5rem 0;color:var(--ink-soft);font-size:0.96rem;line-height:1.75;}
.faq-answer p{margin-bottom:0.9rem;}
.faq-answer ul{margin:0 0 0.9rem 1.25rem;}
.faq-answer li{margin-bottom:0.35rem;}
.page-eyebrow-inline{display:none;}


/* ---- Contact Us page ---- */
.contact-body > p{color:var(--ink-soft);font-size:1rem;line-height:1.75;margin-bottom:2.5rem;max-width:620px;}
.contact-body h2{font-size:1.5rem;margin:2.5rem 0 0.9rem;}
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1rem;}
.contact-card{background:var(--cream);border-radius:var(--radius);padding:1.75rem;}
.contact-card svg{width:26px;height:26px;stroke:var(--teal);margin-bottom:0.9rem;}
.contact-card h3{font-family:'Marcellus',serif;font-size:1.05rem;margin-bottom:0.6rem;}
.contact-card p{color:var(--ink-soft);font-size:0.92rem;line-height:1.7;}
.contact-card a{color:var(--terracotta);}
@media(max-width:640px){ .contact-grid{grid-template-columns:1fr;} }

/* WPForms brand alignment */
.wpforms-container{margin-top:2rem;}
.wpforms-field{padding:0 0 1.1rem !important;}
.wpforms-field-label{font-size:0.85rem !important;color:var(--ink) !important;margin-bottom:0.4rem !important;}
.wpforms-field input[type=text], .wpforms-field input[type=email], .wpforms-field input[type=tel], .wpforms-field textarea{
  border:1px solid var(--line) !important;border-radius:var(--radius) !important;padding:0.75rem 0.9rem !important;
  font-family:'Jost',sans-serif !important;font-size:0.95rem !important;color:var(--ink) !important;width:100% !important;
}
.wpforms-field input:focus, .wpforms-field textarea:focus{border-color:var(--teal) !important;outline:none !important;}
.wpforms-submit-container button, button.wpforms-submit{
  background:var(--teal) !important;color:var(--white) !important;border:none !important;border-radius:var(--radius) !important;
  padding:0.9rem 2.1rem !important;font-size:0.8rem !important;letter-spacing:0.1em !important;text-transform:uppercase !important;
  font-family:'Jost',sans-serif !important;cursor:pointer;transition:background .3s ease;
}
.wpforms-submit-container button:hover, button.wpforms-submit:hover{background:var(--teal-light) !important;}


/* ---- Legal pages (Privacy, Refund, Shipping, Terms) ---- */
.legal-body{color:var(--ink-soft);font-size:0.96rem;line-height:1.8;max-width:760px;}
.legal-body h2{font-family:'Marcellus',serif;font-size:1.4rem;color:var(--ink);margin:2.5rem 0 1rem;}
.legal-body h2:first-child{margin-top:0;}
.legal-body h3{font-family:'Marcellus',serif;font-size:1.1rem;color:var(--ink);margin:1.75rem 0 0.6rem;}
.legal-body p{margin-bottom:1rem;}
.legal-body strong{color:var(--ink);font-weight:600;}
.legal-body ul, .legal-body ol{margin:0 0 1.2rem 1.4rem;}
.legal-body li{margin-bottom:0.5rem;}
.legal-body a{color:var(--terracotta);text-decoration:underline;}


/* ============ Shop page (archive-product.php) ============ */
.page-wrap--shop{max-width:none; margin:0;}
.shop-filter-toggle{display:none; width:100%; margin:1.5rem 0 0.5rem; padding:0.9rem 1.2rem; background:var(--cream); border:1px solid var(--line); border-radius:var(--radius); font-family:'Jost',sans-serif; font-size:0.82rem; letter-spacing:0.08em; text-transform:uppercase; cursor:pointer; text-align:left;}

.shop-layout{display:grid; grid-template-columns:250px 1fr; gap:2.75rem; margin-top:2.5rem; align-items:start;}

.shop-filters{position:sticky; top:6.5rem;}
.shop-filter-group{padding-bottom:1.5rem; margin-bottom:1.5rem; border-bottom:1px solid var(--line);}
.shop-filter-group summary{
  display:flex; align-items:center; justify-content:space-between; cursor:pointer;
  font-family:'Marcellus',serif; font-size:1rem; list-style:none;
}
.shop-filter-group summary::-webkit-details-marker{display:none;}
.shop-filter-group summary::after{
  content:'+'; font-family:'Jost',sans-serif; font-size:1.15rem; color:var(--terracotta);
  transition:transform .25s ease; line-height:1;
}
.shop-filter-group[open] summary::after{transform:rotate(45deg);}
.shop-filter-options{padding-top:0.9rem;}
.shop-filter-check{display:flex; align-items:center; gap:0.6rem; font-size:0.86rem; color:var(--ink-soft); margin-bottom:0.65rem; cursor:pointer;}
.shop-filter-check input{accent-color:var(--teal); width:15px; height:15px; flex-shrink:0;}
.shop-filter-check em{font-style:normal; color:var(--line); font-size:0.78rem;}
.shop-filter-actions{display:flex; flex-direction:column; gap:0.75rem; margin-top:0.5rem;}
.shop-filter-actions .btn{width:100%; justify-content:center;}
.shop-filter-clear{font-size:0.8rem; color:var(--ink-soft); text-align:center; text-decoration:underline;}

.shop-results-bar{display:flex; align-items:center; justify-content:space-between; margin-bottom:1.75rem; padding-bottom:1.25rem; border-bottom:1px solid var(--line);}
.shop-results-count{font-size:0.85rem; color:var(--ink-soft);}
.shop-sort-form{display:flex; align-items:center; gap:0.6rem;}
.shop-sort-form label{font-size:0.8rem; color:var(--ink-soft);}
.shop-sort-form select{border:1px solid var(--line); border-radius:var(--radius); padding:0.5rem 0.75rem; font-family:'Jost',sans-serif; font-size:0.82rem; background:var(--white); color:var(--ink); cursor:pointer;}

.grid--3{grid-template-columns:repeat(3,1fr);}
@media(max-width:1300px){ .shop-results .grid--3{grid-template-columns:repeat(2,1fr);} }

.shop-pagination{display:flex; justify-content:center; gap:0.5rem; margin-top:3rem;}
.shop-page-link{display:flex; align-items:center; justify-content:center; width:38px; height:38px; border:1px solid var(--line); border-radius:var(--radius); font-size:0.85rem; color:var(--ink-soft); transition:background .25s ease, color .25s ease;}
.shop-page-link:hover{background:var(--cream);}
.shop-page-link.is-active{background:var(--teal); border-color:var(--teal); color:var(--white);}

@media(max-width:900px){
  .shop-layout{grid-template-columns:1fr;}
  .shop-filter-toggle{display:block;}
  .shop-filters{position:static; display:none; margin-bottom:1rem; background:var(--cream); padding:1.5rem; border-radius:var(--radius);}
  .shop-filters.is-open{display:block;}
  .shop-results-bar{flex-wrap:wrap; gap:1rem;}
}
@media(max-width:640px){ .shop-results .grid--3{grid-template-columns:repeat(2,1fr) !important;} }


/* ============ Single Product page ============ */
.product-wrap{max-width:none;}
.product-breadcrumb{font-size:0.8rem; color:var(--ink-soft); margin-bottom:2rem;}
.product-breadcrumb a{color:var(--ink-soft);}
.product-breadcrumb a:hover{color:var(--terracotta);}
.product-breadcrumb span{margin:0 0.4rem;}

.product-layout{display:grid; grid-template-columns:1fr 1fr; gap:3.5rem; align-items:center;}
@media(max-width:900px){ .product-layout{grid-template-columns:1fr; gap:2rem;} }

.product-gallery{position:relative; background:transparent; overflow:hidden;}
.product-badge{position:absolute; top:1.25rem; left:1.25rem; z-index:5;}
.woocommerce-product-gallery__wrapper{margin:0;}
.woocommerce-product-gallery__image{background:transparent;}
.woocommerce-product-gallery__image img{width:100%; height:auto; display:block;}
.flex-control-thumbs{display:flex; gap:0.75rem; padding:1rem; margin:0; list-style:none;}
.flex-control-thumbs li{width:70px;}
.flex-control-thumbs img{border-radius:var(--radius); border:1px solid var(--line); cursor:pointer; opacity:0.7; transition:opacity .2s ease;}
.flex-control-thumbs img.flex-active, .flex-control-thumbs img:hover{opacity:1; border-color:var(--teal);}

.product-title{font-size:2.2rem; margin-bottom:0.75rem;}
.product-price{font-size:1.4rem; margin-bottom:1.5rem;}
.product-price ins{text-decoration:none; color:var(--terracotta); font-weight:500;}
.product-price del{color:var(--line); font-size:1rem; margin-right:0.6rem;}
.product-short-desc{color:var(--ink-soft); font-size:0.98rem; line-height:1.7; margin-bottom:1.75rem;}

.product-add-to-cart{margin-bottom:2.5rem;}
.product-add-to-cart form.cart{display:flex; align-items:center; gap:1rem; flex-wrap:wrap;}
.product-add-to-cart .quantity{margin:0;}
.product-add-to-cart .qty{width:70px; padding:0.85rem 0.75rem; border:1px solid var(--line); border-radius:var(--radius); font-family:'Jost',sans-serif; font-size:0.95rem;}
.product-add-to-cart .single_add_to_cart_button{
  background:var(--teal) !important; color:var(--white) !important; border:none !important; border-radius:var(--radius) !important;
  padding:0.95rem 2.4rem !important; font-family:'Jost',sans-serif !important; font-size:0.8rem !important;
  letter-spacing:0.1em !important; text-transform:uppercase !important; cursor:pointer; transition:background .3s ease;
}
.product-add-to-cart .single_add_to_cart_button:hover{background:var(--teal-light) !important;}

.scent-facts{background:var(--cream); border-radius:var(--radius); padding:2.25rem; margin-top:3.5rem;}
.scent-facts h2{font-size:1.3rem; margin-bottom:1.5rem;}
.scent-facts-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-bottom:1.75rem; border-top:1px solid var(--line); border-left:1px solid var(--line);}
@media(max-width:900px){ .scent-facts-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .scent-facts-grid{grid-template-columns:1fr;} }
.scent-facts-row{display:flex; flex-direction:column; gap:0.3rem; padding:1rem 1.25rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line); font-size:0.9rem;}
.scent-facts-row dt{color:var(--ink-soft); font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase;}
.scent-facts-row dd{color:var(--ink); font-weight:500;}
.note-pyramid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.75rem; padding-top:1.75rem; border-top:1px solid var(--line);}
@media(max-width:700px){ .note-pyramid{grid-template-columns:1fr;} }
.note-tier{display:flex; flex-direction:column; gap:0.4rem;}
.note-tier-label{font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--terracotta);}
.note-tier-values{font-size:0.95rem; color:var(--ink); line-height:1.5;}

.product-full-desc{margin-top:3.5rem; padding-top:2.5rem; border-top:1px solid var(--line); max-width:760px;}
.product-full-desc h2{font-size:1.5rem; margin-bottom:1.25rem;}
.product-full-desc p{color:var(--ink-soft); font-size:0.96rem; line-height:1.8; margin-bottom:1rem;}


/* ============ WPC Composite Products (Bundle/Sample selector) ============ */
.wooco_components{margin:1.75rem 0; display:flex; flex-direction:column; gap:0;}
.wooco_component{padding:1.1rem 0; border-bottom:1px solid var(--line);}
.wooco_component:first-child{padding-top:0;}
.wooco_component_name{font-family:'Jost',sans-serif !important; font-size:0.78rem !important; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-soft) !important; margin-bottom:0.6rem; font-weight:500 !important;}
.wooco_component_required .wooco_component_name::after{color:var(--terracotta);}
.wooco_component_product{display:flex; align-items:center; gap:1rem;}
.wooco_component_product_image{flex-shrink:0; width:56px; height:56px; border-radius:var(--radius); overflow:hidden; background:var(--cream);}
.wooco_component_product_image img{width:100%; height:100%; object-fit:cover;}
.wooco_component_product_selection{flex:1;}
select.wooco_component_product_select{
  width:100%; padding:0.75rem 1rem !important; border:1px solid var(--line) !important; border-radius:var(--radius) !important;
  font-family:'Jost',sans-serif !important; font-size:0.9rem !important; color:var(--ink) !important; background:var(--white) !important;
  cursor:pointer; appearance:auto;
}
select.wooco_component_product_select:focus{outline:none; border-color:var(--teal) !important;}

.wooco_summary{font-family:'Marcellus',serif !important; font-size:1.15rem !important; color:var(--ink) !important; margin:1.5rem 0 1rem;}
.wooco_alert{
  background:var(--cream) !important; border:none !important; border-radius:var(--radius); color:var(--ink-soft) !important;
  padding:0.9rem 1.1rem !important; font-size:0.85rem !important; margin-bottom:1.25rem;
}


/* ============ WooCommerce Cart page — full redesign ============ */
body.woocommerce-cart main.site-main{ max-width:none !important; margin:0 !important; padding:0 clamp(1.25rem,5vw,4rem) 6rem !important; }
body.woocommerce-cart article{ border-bottom:none !important; padding-bottom:0 !important; }
.woocommerce-cart h1.page-title,.woocommerce-cart h1{ font-family:'Marcellus',serif; font-weight:400; font-size:2.6rem; margin:2.5rem 0 0.5rem; color:var(--ink); }

/* Trust strip under the heading */
.mavaro-cart-trust{ display:flex; gap:2.25rem; flex-wrap:wrap; padding:1rem 0 1.75rem; margin-bottom:2.5rem; border-bottom:1px solid var(--line); font-size:0.8rem; color:var(--ink-soft); letter-spacing:0.02em; }
.mavaro-cart-trust span{ display:inline-flex; align-items:center; gap:0.5rem; }
.mavaro-cart-trust span::before{ content:''; width:5px; height:5px; background:var(--terracotta); display:inline-block; }

/* Points / notice banner */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info{
  background:var(--cream) !important; border:none !important; border-left:3px solid var(--terracotta) !important;
  color:var(--ink) !important; padding:1rem 1.25rem !important; font-size:0.92rem !important; margin:0 0 2.5rem;
  border-radius:0; list-style:none;
}
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-message::before{ display:none; }

/* Two-column layout */
.woocommerce-cart .woocommerce{ display:flex; flex-direction:row; flex-wrap:wrap; gap:2.5rem 4rem; align-items:flex-start; }
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .mavaro-cart-trust,
.woocommerce-cart .wc_points_rewards_earn_points{ flex:1 0 100%; width:100%; }
.woocommerce-cart .woocommerce-cart-form{ flex:1 1 0%; min-width:0; margin:0; }

/* ---- Cart items table -> clean list ---- */
.woocommerce-cart-form table.shop_table{ width:100%; border-collapse:collapse; }
.woocommerce-cart-form table.shop_table thead th{
  font-family:'Jost',sans-serif; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--ink-soft); font-weight:500; text-align:left; padding:0 0.5rem 0.9rem; border-bottom:1px solid var(--line);
}
.woocommerce-cart-form table.shop_table thead th.product-remove,
.woocommerce-cart-form table.shop_table thead th.product-thumbnail{ font-size:0; }
.woocommerce-cart-form table.shop_table thead th.product-price,
.woocommerce-cart-form table.shop_table thead th.product-quantity{ text-align:center; }
.woocommerce-cart-form table.shop_table thead th.product-subtotal{ text-align:right; }

.woocommerce-cart-form table.shop_table tbody tr.cart_item{ border-bottom:1px solid var(--line); }
.woocommerce-cart-form table.shop_table tbody td{ padding:1.75rem 0.5rem; vertical-align:middle; }

td.product-remove{ width:32px; padding-right:0 !important; }
td.product-remove a.remove{
  display:flex !important; align-items:center; justify-content:center;
  width:26px; height:26px; border-radius:50%; color:var(--ink-soft) !important;
  background:transparent; font-size:1.2rem !important; line-height:1; text-decoration:none;
  border:1px solid var(--line); transition:all .2s ease;
}
td.product-remove a.remove:hover{ background:var(--terracotta); border-color:var(--terracotta); color:var(--white) !important; }

td.product-thumbnail{ width:100px; }
td.product-thumbnail a{ display:block; }
td.product-thumbnail img{
  width:92px !important; height:92px !important; object-fit:cover; background:var(--cream);
  border-radius:var(--radius);
}

td.product-name{ font-family:'Marcellus',serif; font-size:1.05rem; color:var(--ink); padding-left:1.25rem !important; }
td.product-name a{ color:var(--ink); text-decoration:none; }
td.product-name a:hover{ color:var(--terracotta); }
td.product-name .variation{ font-family:'Jost',sans-serif; font-size:0.8rem; color:var(--ink-soft); margin-top:0.35rem; }

td.product-price{ text-align:center; font-size:0.92rem; color:var(--ink-soft); white-space:nowrap; }

td.product-quantity{ text-align:center; }
td.product-quantity .quantity{ display:inline-flex; }
td.product-quantity input.qty{
  width:56px; height:40px; text-align:center; border:1px solid var(--line); border-radius:var(--radius);
  font-family:'Jost',sans-serif; font-size:0.9rem; color:var(--ink); background:var(--white);
}
td.product-quantity input.qty::-webkit-inner-spin-button,
td.product-quantity input.qty::-webkit-outer-spin-button{ -webkit-appearance:none; margin:0; }

td.product-subtotal{ text-align:right !important; font-weight:500; color:var(--ink); white-space:nowrap; }

/* Actions row: coupon + update cart */
.woocommerce-cart-form table.shop_table tr.actions td{ padding:2rem 0.5rem 0; border-bottom:none; }
.coupon{ display:flex; gap:0.75rem; align-items:center; flex-wrap:wrap; }
.coupon label{ display:none; }
.coupon #coupon_code{
  height:44px; padding:0 1rem; border:1px solid var(--line); border-radius:var(--radius);
  font-family:'Jost',sans-serif; font-size:0.9rem; min-width:200px; background:var(--white);
}
.coupon button[name="apply_coupon"]{
  height:44px; padding:0 1.5rem; background:transparent; border:1px solid var(--ink); color:var(--ink);
  font-family:'Jost',sans-serif; font-size:0.82rem; letter-spacing:0.05em; text-transform:uppercase; border-radius:var(--radius);
  cursor:pointer; transition:all .2s ease;
}
.coupon button[name="apply_coupon"]:hover{ background:var(--ink); color:var(--white); }

button[name="update_cart"]{
  height:44px; padding:0 1.75rem; background:transparent; border:1px solid var(--line); color:var(--ink-soft);
  font-family:'Jost',sans-serif; font-size:0.82rem; letter-spacing:0.05em; text-transform:uppercase; border-radius:var(--radius);
  cursor:pointer; float:right; transition:all .2s ease;
}
button[name="update_cart"]:enabled{ border-color:var(--ink); color:var(--ink); }
button[name="update_cart"]:enabled:hover{ background:var(--ink); color:var(--white); }
button[name="update_cart"]:disabled{ cursor:not-allowed; opacity:0.5; }

/* ---- Cart totals sidebar ---- */
.cart-collaterals{
  flex:0 0 420px; width:420px; align-self:flex-start; position:sticky; top:110px;
  background:var(--cream); padding:2.25rem;
}
.cart-collaterals .cart_totals{ float:none !important; width:100% !important; }
.cart_totals h2{ font-family:'Marcellus',serif; font-size:1.4rem; font-weight:400; margin:0 0 1.5rem; color:var(--ink); }
.cart_totals table.shop_table{ width:100%; border-collapse:collapse; }
.cart_totals table.shop_table tr th,
.cart_totals table.shop_table tr td{
  padding:0.85rem 0; font-family:'Jost',sans-serif; font-size:0.9rem; color:var(--ink);
  border-bottom:1px solid var(--line); text-align:left; font-weight:400;
}
.cart_totals table.shop_table tr td{ text-align:right; }
.cart_totals table.shop_table tr.order-total th,
.cart_totals table.shop_table tr.order-total td{
  border-bottom:none; padding-top:1.25rem; font-family:'Marcellus',serif; font-size:1rem;
}
.cart_totals tr.order-total .woocommerce-Price-amount{ font-size:1.5rem; }
.woocommerce-shipping-totals .woocommerce-shipping-destination{ font-size:0.82rem; color:var(--ink-soft); margin:0.35rem 0; }
.woocommerce-shipping-totals a.shipping-calculator-button{ color:var(--terracotta); font-size:0.8rem; text-decoration:underline; }

.wc-proceed-to-checkout{ margin-top:1.5rem; }
.wc-proceed-to-checkout a.checkout-button{
  display:block; width:100%; text-align:center; background:var(--teal) !important; color:var(--white) !important;
  padding:1rem; font-family:'Jost',sans-serif; font-size:0.9rem; letter-spacing:0.03em; text-transform:uppercase;
  border-radius:var(--radius) !important; text-decoration:none; transition:background .2s ease; border:none !important;
}
.wc-proceed-to-checkout a.checkout-button:hover{ background:var(--terracotta) !important; }

.mavaro-cart-assurance{ margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:0.6rem; }
.mavaro-cart-assurance span{ display:flex; align-items:center; gap:0.5rem; font-size:0.82rem; color:var(--ink-soft); }
.mavaro-cart-assurance span::before{ content:'✓'; color:var(--terracotta); font-weight:600; }

/* ---- Empty cart state ---- */
.woocommerce-cart .cart-empty{
  font-family:'Marcellus',serif; font-size:1.3rem; color:var(--ink); text-align:center;
  padding:4rem 1rem 1.5rem; border:none; background:none;
}
.woocommerce-cart .return-to-shop{ text-align:center; width:100%; }
.woocommerce-cart .return-to-shop .button{
  display:inline-block; background:var(--teal); color:var(--white); padding:0.9rem 2.25rem;
  font-family:'Jost',sans-serif; font-size:0.85rem; letter-spacing:0.05em; text-transform:uppercase;
  border-radius:var(--radius); text-decoration:none;
}

/* ---- Mobile ---- */
@media (max-width:1180px){
  .woocommerce-cart .woocommerce{ flex-direction:column; gap:2.5rem; }
  .cart-collaterals{ position:static; width:100%; flex:0 0 100%; padding:1.75rem; }
  .woocommerce-cart-form table.shop_table thead{ display:none; }
  .woocommerce-cart-form table.shop_table tbody tr.cart_item{
    display:grid; grid-template-columns:auto 1fr auto; grid-template-areas:"thumb name remove" "thumb price price" "thumb qty subtotal"; gap:0.5rem 1rem; padding:1.5rem 0;
  }
  td.product-remove{ grid-area:remove; padding:0 !important; }
  td.product-thumbnail{ grid-area:thumb; width:auto; padding:0 !important; }
  td.product-name{ grid-area:name; padding:0 !important; }
  td.product-price{ grid-area:price; text-align:left; padding:0 !important; }
  td.product-quantity{ grid-area:qty; text-align:left; padding:0 !important; }
  td.product-subtotal{ grid-area:subtotal; padding:0 !important; }
  .woocommerce-cart h1.page-title,.woocommerce-cart h1{ font-size:1.9rem; }
  .mavaro-cart-trust{ gap:1rem; font-size:0.72rem; }
  button[name="update_cart"]{ float:none; width:100%; margin-top:1rem; }
  .coupon{ flex-direction:column; align-items:stretch; }
  .coupon #coupon_code{ min-width:0; }
}

/* ============ WooCommerce Checkout page ============ */
body.woocommerce-checkout main.site-main{ max-width:none !important; margin:0 !important; padding:clamp(3rem,6vw,5rem) clamp(1.25rem,5vw,4rem) !important; }
form.checkout.woocommerce-checkout{
  display:grid; grid-template-columns:1fr 380px; gap:3rem; align-items:start; margin-top:1rem;
}
@media(max-width:900px){ form.checkout.woocommerce-checkout{ grid-template-columns:1fr; } }

/* Left: billing form, single column (no more lopsided col-1/col-2 split) */
.col2-set#customer_details{ grid-column:1; display:block; }
.col2-set#customer_details .col-1, .col2-set#customer_details .col-2{ width:100%; float:none; }
.col2-set#customer_details .col-2{ margin-top:2rem; }

/* Right: sticky order summary sidebar */
#customer_details{ grid-row:1; }
#order_review_heading{ grid-column:2; grid-row:1; align-self:start; font-size:1.15rem; margin:0 0 1rem; }
#order_review{
  grid-column:2; grid-row:1; align-self:start; margin-top:2.75rem; position:sticky; top:110px;
  background:var(--cream); border-radius:var(--radius); padding:1.75rem;
}
@media(max-width:900px){ #customer_details{ grid-row:auto; } #order_review_heading, #order_review{ grid-column:1; grid-row:auto; position:static; } }
#order_review table.shop_table{ background:transparent; border:none; }
#order_review table.shop_table th, #order_review table.shop_table td{ border-color:var(--line); }

/* Form field polish */
.woocommerce-checkout input[type=text], .woocommerce-checkout input[type=email], .woocommerce-checkout input[type=tel],
.woocommerce-checkout textarea, .woocommerce-checkout select{
  border:1px solid var(--line) !important; border-radius:var(--radius) !important; padding:0.75rem 1rem !important;
  font-family:'Jost',sans-serif !important; background:var(--white) !important;
}
.woocommerce-checkout input[type=text]:focus, .woocommerce-checkout input[type=email]:focus, .woocommerce-checkout input[type=tel]:focus,
.woocommerce-checkout textarea:focus, .woocommerce-checkout select:focus{ outline:none; border-color:var(--teal) !important; }
#customer_details h3{ font-size:1.15rem; margin-bottom:1.25rem; }

/* Notice boxes (points, coupon) — swap default blue accent for brand cream/terracotta */
.woocommerce-checkout .woocommerce-info{
  background:var(--cream) !important; border:none !important; border-left:3px solid var(--terracotta) !important;
  color:var(--ink) !important; border-radius:var(--radius); padding:1rem 1.25rem !important;
}
.woocommerce-checkout .woocommerce-info::before{ display:none !important; }

/* Payment methods box — remove default lavender, use brand cream */
ul.payment_methods{ border-color:var(--line) !important; }
.woocommerce-checkout .payment_box{ background:var(--cream) !important; border-radius:var(--radius); }
.woocommerce-checkout .payment_box img{ max-height:28px; width:auto; }

.woocommerce-checkout #place_order{ width:100%; margin-top:1rem; padding:1rem !important; font-size:1rem; }


/* ============ WooCommerce My Account page ============ */
body.woocommerce-account main.site-main{ max-width:none !important; margin:0 !important; padding:clamp(3rem,6vw,5rem) clamp(1.25rem,5vw,4rem) !important; }
.woocommerce-account .woocommerce{
  display:grid; grid-template-columns:240px 1fr; gap:2.5rem; align-items:start; margin-top:1rem;
}
@media(max-width:800px){ .woocommerce-account .woocommerce{ grid-template-columns:1fr; } }
.woocommerce-account .woocommerce-MyAccount-navigation{ grid-column:1; grid-row:1; width:100%; justify-self:stretch; }
.woocommerce-account .woocommerce-MyAccount-content{ grid-column:2; grid-row:1; width:100%; justify-self:stretch; }
@media(max-width:800px){ .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content{ grid-column:1; grid-row:auto; } }

/* Sidebar nav */
.woocommerce-MyAccount-navigation{
  background:var(--cream); border-radius:var(--radius); padding:0.5rem; position:sticky; top:110px;
}
@media(max-width:800px){ .woocommerce-MyAccount-navigation{ position:static; } }
.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; }
.woocommerce-MyAccount-navigation-link{ border-bottom:1px solid var(--line); }
.woocommerce-MyAccount-navigation-link:last-child{ border-bottom:0; }
.woocommerce-MyAccount-navigation-link a{
  display:block; padding:0.75rem 1rem; font-size:0.9rem; color:var(--ink-soft);
  transition:color .2s ease;
}
.woocommerce-MyAccount-navigation-link a:hover{ color:var(--teal); }
.woocommerce-MyAccount-navigation-link.is-active a{ color:var(--terracotta); font-weight:500; }

/* Content area */
.woocommerce-MyAccount-content{ font-size:0.95rem; line-height:1.7; }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3{ font-size:1.2rem; margin-bottom:1rem; }
.woocommerce-MyAccount-content mark{ background:none; color:var(--terracotta); font-weight:500; }

/* Notice boxes (confirm email, etc.) — same brand treatment as checkout */
.woocommerce-account .woocommerce-info, .woocommerce-account .woocommerce-message{
  background:var(--cream) !important; border:none !important; border-left:3px solid var(--terracotta) !important;
  color:var(--ink) !important; border-radius:var(--radius); padding:1rem 1.25rem !important;
  display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
}
.woocommerce-account .woocommerce-info::before, .woocommerce-account .woocommerce-message::before{ display:none !important; }

/* Orders table */
.woocommerce-orders-table{ border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; border-collapse:collapse; width:100%; }
.woocommerce-orders-table th{ background:var(--cream); text-align:left; padding:0.85rem 1rem; font-size:0.85rem; }
.woocommerce-orders-table td{ padding:0.85rem 1rem; border-top:1px solid var(--line); font-size:0.9rem; }
.woocommerce-orders-table .woocommerce-orders-table__cell-order-status mark{ background:none; color:inherit; }

/* Address cards */
.woocommerce-Address{ margin-top:1.5rem; }
.woocommerce-Address-title{ display:flex; align-items:center; justify-content:space-between; }
.woocommerce-Address address{ background:var(--cream); border-radius:var(--radius); padding:1.25rem 1.5rem; font-style:normal; margin-top:0.75rem; }

/* Form fields (account details, addresses) */
.woocommerce-account form .form-row input.input-text, .woocommerce-account form select, .woocommerce-account form textarea{
  border:1px solid var(--line) !important; border-radius:var(--radius) !important; padding:0.7rem 1rem !important;
  font-family:'Jost',sans-serif !important; width:100%;
}
.woocommerce-account form .form-row input.input-text:focus, .woocommerce-account form select:focus{ outline:none; border-color:var(--teal) !important; }

/* Buttons throughout account area */
.woocommerce-account .button{
  background:var(--teal) !important; color:var(--white) !important; border:none !important; border-radius:var(--radius) !important;
  font-family:'Jost',sans-serif !important; box-shadow:none !important; text-shadow:none !important; padding:0.65rem 1.25rem !important;
}
.woocommerce-account .button:hover{ background:var(--teal-light) !important; }
::selection{background:var(--terracotta); color:var(--white);}

/* ============ Blog single post ============ */
.breadcrumb{font-size:0.8rem;color:var(--ink-soft);margin-bottom:2rem;}
.breadcrumb a{color:var(--ink-soft);}
.breadcrumb a:hover{color:var(--terracotta);}
.breadcrumb span{margin:0 0.4rem;}

.post-hero{margin:0 0 2.5rem;border-radius:var(--radius);overflow:hidden;}
.post-hero img{width:100%;height:auto;display:block;max-height:480px;object-fit:cover;}

.post-content{font-family:'Jost',sans-serif;font-size:1.05rem;line-height:1.85;color:var(--ink);}
.post-content p{margin-bottom:1.5rem;}
.post-content h2{font-family:'Marcellus',serif;font-weight:400;font-size:1.5rem;margin:2.75rem 0 1rem;color:var(--ink);}
.post-content h3{font-family:'Marcellus',serif;font-weight:400;font-size:1.2rem;margin:2rem 0 0.9rem;color:var(--ink);}
.post-content ul,.post-content ol{margin:0 0 1.5rem 1.4rem;}
.post-content li{margin-bottom:0.5rem;line-height:1.75;}
.post-content a{color:var(--terracotta);text-decoration:underline;text-underline-offset:2px;}
.post-content a:hover{color:var(--teal);}
.post-content blockquote{border-left:2px solid var(--terracotta-soft);padding-left:1.25rem;margin:2rem 0;font-style:italic;color:var(--ink-soft);}
.post-content img{border-radius:var(--radius);max-width:100%;height:auto;margin:1.5rem 0;}
.post-content strong{color:var(--ink);}

.post-share-row{display:flex;align-items:center;gap:1rem;margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--line);font-size:0.8rem;color:var(--ink-soft);flex-wrap:wrap;}
.post-share-row a{color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:0.4rem 1rem;text-decoration:none;transition:background 0.2s,color 0.2s,border-color 0.2s;}
.post-share-row a:hover{background:var(--teal);border-color:var(--teal);color:var(--white);}

.link-more{color:var(--terracotta);font-size:0.85rem;font-weight:500;text-decoration:none;border-bottom:1px solid var(--terracotta-soft);padding-bottom:2px;}
.link-more:hover{color:var(--teal);border-color:var(--teal);}

.related-posts-section{background:var(--cream);}
.related-post-card{display:block;color:inherit;}
.related-post-media{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;background:var(--white);}
.related-post-media img{width:100%;height:100%;object-fit:cover;display:block;}
.related-post-title{font-family:'Marcellus',serif;font-weight:400;font-size:1.1rem;color:var(--ink);line-height:1.4;}


/* ============ Sitewide breadcrumb (Shop, Cart, Checkout, My Account, static pages) ============ */
.site-breadcrumb{font-size:0.8rem;color:var(--ink-soft);margin-bottom:1.5rem;}
.site-breadcrumb a{color:var(--ink-soft);}
.site-breadcrumb a:hover{color:var(--terracotta);}
.site-breadcrumb span{margin:0 0.4rem;}
.site-breadcrumb span:last-child{margin-right:0;}

/* ============ Checkout: brand the Place Order button (was default WooCommerce purple) ============ */
.woocommerce-checkout #place_order{
  background:var(--teal) !important;
  color:var(--white) !important;
  border:none !important;
  font-family:'Jost',sans-serif !important;
  letter-spacing:0.08em;
  text-transform:uppercase;
  transition:background .3s ease;
}
.woocommerce-checkout #place_order:hover,
.woocommerce-checkout #place_order:focus{
  background:var(--teal-light) !important;
}


/* ============ Blog listing page (home.php) ============ */
.blog-card{transition:opacity .25s ease;}
.blog-card:hover{opacity:0.82;}
.blog-card-media--placeholder{width:100%;height:100%;background:var(--cream);}
.blog-card-excerpt{color:var(--ink-soft);font-size:0.92rem;line-height:1.65;margin:0.6rem 0 0.75rem;}
.blog-card .related-post-title{margin-bottom:0.3rem;}

/* Default WordPress pagination output (the_posts_pagination), used on the blog listing */
.navigation.pagination .nav-links{display:flex;justify-content:center;align-items:center;gap:0.5rem;margin-top:1rem;flex-wrap:wrap;}
.navigation.pagination .page-numbers{display:flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 0.6rem;border:1px solid var(--line);border-radius:var(--radius);font-size:0.85rem;color:var(--ink-soft);text-decoration:none;transition:background .25s ease,color .25s ease,border-color .25s ease;}
.navigation.pagination .page-numbers:hover{background:var(--teal);color:var(--white);border-color:var(--teal);}
.navigation.pagination .page-numbers.current{background:var(--teal);color:var(--white);border-color:var(--teal);}
.navigation.pagination .page-numbers.dots{border:none;}

/* ============ Category/Collection archive content (SEO/AEO) ============ */
.shop-archive-content{
	border-top:1px solid var(--line);
	margin-top:4rem;
	padding-top:3rem;
}
.shop-archive-content__inner{
	max-width:760px;
	color:var(--ink-soft);
	font-size:1rem;
	line-height:1.8;
}
.shop-archive-content__inner h2,
.shop-archive-content__inner h3{
	color:var(--teal);
	margin-top:2rem;
	margin-bottom:0.75rem;
}
.shop-archive-content__inner h2:first-child,
.shop-archive-content__inner h3:first-child{
	margin-top:0;
}
.shop-archive-content__inner p{
	margin-bottom:1.25rem;
}
.shop-archive-content__inner strong{
	color:var(--ink);
}

/* ============ Bundle Scent Facts (side-by-side columns) ============ */
.bundle-facts-columns{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:2.5rem;
	margin-top:1rem;
}
@media(max-width:700px){
	.bundle-facts-columns{grid-template-columns:1fr;}
}
.bundle-facts-column h3{
	font-size:1.05rem;
	margin-bottom:0.75rem;
}
.bundle-facts-column h3 a{
	color:var(--teal);
	text-decoration:none;
	border-bottom:1px solid var(--terracotta-soft);
}
.bundle-facts-column h3 a:hover{
	color:var(--terracotta);
}
.bundle-facts-column .scent-facts-grid{
	grid-template-columns:repeat(2,1fr);
}

/* ============ Product Reviews ============ */
.product-reviews{
	border-top:1px solid var(--line);
	margin-top:3rem;
	padding-top:2.5rem;
}
.product-reviews h2{
	font-size:1.5rem;
	margin-bottom:1rem;
}
.product-reviews__summary{
	display:flex;
	align-items:center;
	gap:0.75rem;
	margin-bottom:2rem;
}
.product-reviews .star-rating{
	color:var(--terracotta);
	font-size:0.95rem;
}
.product-reviews__average{
	color:var(--ink-soft);
	font-size:0.9rem;
}
.woocommerce-Reviews-title{
	font-size:1.05rem;
	color:var(--ink-soft);
	font-weight:400;
	margin-bottom:1.25rem;
}
.commentlist{
	list-style:none;
	margin:0 0 2rem;
	padding:0;
}
.commentlist .review{
	background:var(--cream);
	border-radius:var(--radius);
	padding:1.25rem 1.5rem;
	margin-bottom:1rem;
}
.commentlist .comment_container{
	display:flex;
	gap:1rem;
	align-items:flex-start;
}
.commentlist .avatar{
	border-radius:50%;
	width:40px;
	height:40px;
	flex-shrink:0;
}
.commentlist .comment-text{
	flex:1;
}
.commentlist .meta{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:0.5rem;
	margin-bottom:0.5rem;
}
.commentlist .woocommerce-review__author{
	font-weight:600;
	color:var(--ink);
	font-size:0.95rem;
}
.commentlist .woocommerce-review__dash{
	display:none;
}
.commentlist .woocommerce-review__published-date{
	color:var(--ink-soft);
	font-size:0.8rem;
}
.commentlist .description p{
	margin:0;
	color:var(--ink);
}
#review_form_wrapper{
	margin-top:1rem;
}
#review_form_wrapper .comment-reply-title{
	font-size:1.15rem;
	margin-bottom:1rem;
	display:block;
}
.comment-form-rating{
	margin-bottom:1.25rem;
}
.comment-form-rating .stars a{
	color:var(--terracotta-soft);
	text-decoration:none;
}
.comment-form-comment label,
.comment-form-rating label{
	display:block;
	margin-bottom:0.4rem;
	font-size:0.85rem;
	color:var(--ink-soft);
}
.cr-review-form-textbox{
	width:100%;
	max-width:600px;
	border:1px solid var(--line);
	border-radius:var(--radius);
	padding:0.75rem 1rem;
	font-family:'Jost', sans-serif;
	box-sizing:border-box;
}
.form-submit .submit{
	background:var(--teal);
	color:var(--white);
	border:none;
	padding:0.75rem 1.75rem;
	border-radius:var(--radius);
	cursor:pointer;
	text-transform:uppercase;
	font-size:0.78rem;
	letter-spacing:0.08em;
	margin-top:1rem;
}

/* ============ Cart Upsell (gift wrap) ============ */
.mavaro-cart-upsell{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:0.75rem;
	background:var(--cream);
	border-radius:var(--radius);
	padding:1rem 1.25rem;
	margin-bottom:1.5rem;
}
.mavaro-cart-upsell__text{
	color:var(--ink);
	font-size:0.92rem;
}
.mavaro-cart-upsell__btn{
	background:var(--teal);
	color:var(--white);
	border:none;
	padding:0.55rem 1.25rem;
	border-radius:var(--radius);
	text-decoration:none;
	text-transform:uppercase;
	font-size:0.75rem;
	letter-spacing:0.08em;
	white-space:nowrap;
}
.mavaro-cart-upsell__btn:hover{
	background:var(--teal-light);
}
