/** Shopify CDN: Minification failed

Line 918:0 Unexpected "}"
Line 2110:0 Unexpected "{"
Line 2110:1 Expected identifier but found "%"
Line 2111:2 Unexpected "="
Line 2114:1 Expected identifier but found "%"
Line 2115:0 Unexpected "<"
Line 2200:0 Unexpected "<"

**/
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--ivory);color:var(--ink);font-family:'Inter',sans-serif;font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased;}
img{display:block;width:100%;height:100%;object-fit:cover;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;}
ul{list-style:none;}
.skip-to-content{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--ivory);padding:12px 20px;z-index:999;}
.skip-to-content:focus{left:0;}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px;}
.wrap-narrow{max-width:900px;margin:0 auto;padding:0 32px;}
.eyebrow{font-size:12px;letter-spacing:0.18em;text-transform:uppercase;font-weight:600;color:var(--rosewood);}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:500;line-height:1.15;color:var(--ink);}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 30px;font-size:13px;letter-spacing:0.08em;text-transform:uppercase;font-weight:600;border-radius:2px;transition:all .25s ease;white-space:nowrap;cursor:pointer;border:none;}
.btn-primary{background:var(--ink);color:var(--ivory);}
.btn-primary:hover{background:var(--rosewood);}
.btn-outline{border:1px solid var(--ink);color:var(--ink);background:transparent;}
.btn-outline:hover{background:var(--ink);color:var(--ivory);}
.btn-block{width:100%;}
.section-head{max-width:560px;margin:0 auto 48px;text-align:center;}
.section-head h2{font-size:32px;margin-top:12px;}

/* announcement */
.announce{background:var(--ink);color:var(--ivory);text-align:center;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;padding:10px 20px;}

/* header */
header.site-header{background:var(--ivory);border-bottom:1px solid var(--sand-line, rgba(27,22,19,0.12));position:sticky;top:0;z-index:50;}
nav.main-nav{display:flex;align-items:center;justify-content:space-between;padding:22px 0;}
.logo img{height:40px;width:auto;}
.nav-links{display:flex;gap:36px;font-size:13px;}
.nav-item{position:relative;}
.nav-link-top{display:flex;align-items:center;gap:5px;position:relative;padding:8px 0 22px;margin-bottom:-22px;color:var(--ink);}
.nav-link-top::after{content:"";position:absolute;left:0;bottom:22px;width:0;height:1px;background:var(--rosewood);transition:width .25s ease;}
.nav-link-top:hover::after{width:100%;}
.chevron{width:11px;height:11px;transition:transform .2s ease;}
.has-dropdown:hover .chevron,.has-dropdown:focus-within .chevron{transform:rotate(180deg);}

.mega-panel{
  position:absolute;top:100%;left:50%;transform:translateX(-50%);
  background:var(--ivory);border:1px solid rgba(27,22,19,0.12);box-shadow:0 16px 40px rgba(27,22,19,0.15);
  min-width:520px;border-radius:2px;
  opacity:0;visibility:hidden;transition:opacity .18s ease;
  z-index:60;
}
.has-dropdown:hover .mega-panel,.has-dropdown:focus-within .mega-panel{opacity:1;visibility:visible;}
.mega-panel-inner{display:flex;gap:48px;padding:32px;}
.mega-col{min-width:160px;}
.mega-col-title{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--rosewood);font-weight:600;margin-bottom:14px;white-space:nowrap;}
.mega-col ul{display:flex;flex-direction:column;gap:10px;}
.mega-col a{font-size:14px;color:var(--ink);white-space:nowrap;}
.mega-col a:hover{color:var(--rosewood);}
.mega-col-title-link{font-size:11px !important;letter-spacing:0.1em;text-transform:uppercase;color:var(--rosewood) !important;font-weight:600;}

.nav-icons{display:flex;gap:20px;align-items:center;font-size:13px;}
.cart-count{background:var(--rosewood);color:var(--ivory);border-radius:50%;width:16px;height:16px;font-size:10px;display:inline-flex;align-items:center;justify-content:center;margin-left:4px;vertical-align:top;}
.menu-toggle{display:none;background:none;border:none;font-size:22px;cursor:pointer;color:var(--ink);}

/* header search */
.search-toggle{background:none;border:none;cursor:pointer;color:var(--ink);display:flex;align-items:center;padding:0;}
.search-toggle svg{width:18px;height:18px;}
.header-search-panel{display:none;background:var(--ivory);border-bottom:1px solid rgba(27,22,19,0.12);padding:18px 0;}
.header-search-panel.open{display:block;}
.header-search-form{display:flex;align-items:center;gap:8px;max-width:640px;margin:0 auto;border:1px solid var(--ink);border-radius:2px;padding:4px 4px 4px 16px;}
.header-search-form input[type="search"]{flex:1;border:none;background:transparent;font-size:16px;font-family:'Inter',sans-serif;color:var(--ink);padding:10px 0;}
.header-search-form input[type="search"]:focus{outline:none;}
.header-search-form button{background:none;border:none;cursor:pointer;color:var(--ink);display:flex;align-items:center;padding:8px;}
.header-search-form button:hover{color:var(--rosewood);}

/* predictive search dropdown */
.header-search-panel .wrap{
  position:relative;
}
.predictive-search-results{
  position:absolute;
  top:100%;
  left:32px;
  right:32px;
  max-width:640px;
  margin:6px auto 0;
  background:var(--ivory);
  border:1px solid rgba(27,22,19,0.12);
  border-radius:2px;
  box-shadow:0 16px 40px rgba(27,22,19,0.15);
  max-height:75vh;
  overflow-y:auto;
  z-index:70;
  padding:28px 32px 20px;
}
.predictive-search-loading{
  padding:24px 0;
  font-size:13px;
  color:rgba(27,22,19,0.5);
}
.predictive-search-empty{
  padding:24px 0;
  font-size:13.5px;
  color:rgba(27,22,19,0.55);
}
.predictive-search-list{
  padding:8px 0 0;
}
.predictive-search-item{
  display:flex;
  align-items:center;
  gap:24px;
  padding:18px 0;
  border-bottom:1px solid rgba(27,22,19,0.08);
  transition:opacity .15s ease;
}
.predictive-search-item:last-child{
  border-bottom:none;
}
.predictive-search-item:hover{
  opacity:0.7;
}
.predictive-search-item-image{
  width:100px;
  height:100px;
  flex-shrink:0;
  border-radius:2px;
  overflow:hidden;
  background:#fff;
}
.predictive-search-item-info{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.predictive-search-item-title{
  font-family:'Fraunces',serif;
  font-weight:400;
  font-size:19px;
  line-height:1.3;
  color:var(--ink);
}
.predictive-search-item-price{
  font-family:'Fraunces',serif;
  font-weight:400;
  font-size:17px;
  color:var(--ink);
}
.predictive-search-item-price .was{
  text-decoration:line-through;
  color:rgba(27,22,19,0.4);
  margin-right:8px;
}
.predictive-search-footer{
  border-top:1px solid rgba(27,22,19,0.1);
  padding:16px 0 4px;
  margin-top:4px;
}
.predictive-search-footer button{
  background:none;
  border:none;
  cursor:pointer;
  font-size:12.5px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--rosewood);
  padding:0;
}
.predictive-search-footer button:hover{
  text-decoration:underline;
}

@media(max-width:960px){
  .predictive-search-results{
    left:16px;
    right:16px;
    padding:22px 20px 16px;
  }
  .predictive-search-item{
    gap:16px;
    padding:14px 0;
  }
  .predictive-search-item-image{
    width:72px;
    height:72px;
  }
  .predictive-search-item-title{
    font-size:16px;
  }
  .predictive-search-item-price{
    font-size:15px;
  }
}

/* mobile nav drawer */
.mobile-drawer{display:none;position:fixed;inset:0;background:var(--ivory);z-index:100;padding:24px 32px;overflow-y:auto;}
.mobile-drawer.open{display:block;}
.mobile-drawer .drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;}
.mobile-drawer .drawer-close{background:none;border:none;font-size:26px;cursor:pointer;}
.mobile-drawer a{display:block;font-family:'Fraunces',serif;font-size:22px;padding:14px 0;border-bottom:1px solid rgba(27,22,19,0.1);}

.drawer-item{border-bottom:1px solid rgba(27,22,19,0.1);}
.drawer-link-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;font-family:'Fraunces',serif;font-size:22px;padding:14px 0;cursor:pointer;color:var(--ink);text-align:left;}
.drawer-link-toggle .plus{font-size:20px;color:var(--rosewood);transition:transform .2s ease;flex-shrink:0;}
.drawer-item.open .drawer-link-toggle .plus{transform:rotate(45deg);}
.drawer-submenu{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.drawer-item.open .drawer-submenu{max-height:1200px;}
.drawer-col-title{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--rosewood);font-weight:600;margin:16px 0 6px;}
.mobile-drawer a.drawer-sub-link{font-family:'Inter',sans-serif;font-size:15.5px;padding:9px 0;border-bottom:none;color:rgba(27,22,19,0.75);}

@media(max-width:960px){
  .mega-panel{display:none;}
}

/* hero */
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:640px;}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:80px 60px 80px 32px;max-width:560px;margin:0 auto;}
.hero-copy h1{font-size:52px;margin:18px 0 22px;}
.hero-copy p{font-size:16px;color:rgba(27,22,19,0.75);margin-bottom:34px;max-width:440px;}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}
.hero-image{position:relative;overflow:hidden;}
.hero-image img{filter:saturate(0.92) contrast(1.02);}
.hero-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(27,22,19,0) 60%, rgba(27,22,19,0.25) 100%);}

/* pillars */
.pillars{background:var(--ink);color:var(--ivory);padding:52px 0;}
.pillars .pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.pillar{padding:0 40px;text-align:center;position:relative;}
.pillar + .pillar{border-left:1px solid rgba(246,241,232,0.15);}
.pillar .glyph{width:34px;height:34px;margin:0 auto 16px;color:var(--gold);}
.pillar h3{color:var(--ivory);font-size:17px;margin-bottom:8px;}
.pillar p{font-size:13px;color:rgba(246,241,232,0.65);}

/* feature split */
.feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;}
.feature-image{height:560px;overflow:hidden;}
.feature-copy{padding:60px 70px;max-width:520px;}
.feature-copy h2{font-size:38px;margin:16px 0 20px;}
.feature-copy .feature-price{font-family:'Fraunces',serif;font-size:30px;font-weight:600;color:var(--rosewood);margin:-6px 0 18px;}
.feature-copy p{color:rgba(27,22,19,0.75);margin-bottom:28px;font-size:15.5px;}

/* shop by concern */
.concerns{padding:96px 0 80px;text-align:center;}
.concern-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.concern-pill{border:1px solid rgba(27,22,19,0.12);padding:16px 28px;border-radius:40px;font-size:13.5px;font-weight:500;display:flex;align-items:center;gap:10px;transition:all .25s ease;background:#fff;}
.concern-pill:hover{border-color:var(--rosewood);background:var(--sand);}

/* routine ribbon */
.routine{background:var(--sand);padding:96px 0;}
.routine-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;align-items:start;position:relative;margin-top:60px;}
.routine-steps::before{content:"";position:absolute;top:110px;left:60px;right:60px;height:1px;background:repeating-linear-gradient(90deg, var(--gold) 0 8px, transparent 8px 16px);}
.step{padding:0 22px;text-align:center;position:relative;}
.step-num{width:32px;height:32px;border-radius:50%;background:var(--ivory);border:1px solid var(--gold);color:var(--rosewood);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:14px;margin:0 auto 24px;position:relative;z-index:2;}
.step-img{width:100%;aspect-ratio:1/1.1;overflow:hidden;margin-bottom:18px;border-radius:2px;background:#fff;}
.step h4{font-size:14.5px;font-weight:600;font-family:'Inter',sans-serif;margin-bottom:6px;}
.step p{font-size:12.5px;color:rgba(27,22,19,0.6);min-height:2.4em;line-height:1.3;}

/* treatments grid: price-forward cards */
.treatments{padding:96px 0;}
.treat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.treat-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--sand);border-radius:2px;overflow:hidden;cursor:pointer;transition:box-shadow .25s ease,transform .25s ease;}
.treat-card:hover,.treat-card:focus-visible{box-shadow:0 14px 32px rgba(27,22,19,0.12);transform:translateY(-3px);}
.treat-media{aspect-ratio:4/3;overflow:hidden;}
.treat-media img{transition:transform .5s ease;}
.treat-card:hover .treat-media img{transform:scale(1.06);}
.treat-body{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px;border-top:3px solid var(--rosewood);}
.treat-title{font-family:'Fraunces',serif;font-size:20px;font-weight:500;line-height:1.25;color:var(--ink);}
.treat-price{font-family:'Fraunces',serif;font-size:28px;font-weight:600;line-height:1.2;color:var(--ink);margin-top:10px;}
.treat-cta{margin-top:auto;padding-top:16px;font-size:13px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--rosewood);}
.treat-card:hover .treat-cta{text-decoration:underline;text-underline-offset:4px;}

/* testimonials */
.testimonials{background:var(--ink);color:var(--ivory);padding:110px 0;text-align:center;}
.testimonials .section-head h2{color:var(--ivory);}
.quote{max-width:680px;margin:0 auto;}
.quote blockquote{font-family:'Fraunces',serif;font-weight:400;font-style:italic;font-size:26px;line-height:1.5;margin-bottom:26px;}
.quote cite{font-style:normal;font-size:13px;letter-spacing:0.06em;text-transform:uppercase;color:var(--gold);}
.dots{display:flex;gap:8px;justify-content:center;margin-top:40px;}
.dot{width:6px;height:6px;border-radius:50%;background:rgba(246,241,232,0.3);cursor:pointer;transition:background .2s;border:none;padding:0;}
.dot.active{background:var(--gold);}

/* divider */
.divider{padding:50px 0;display:flex;justify-content:center;color:var(--rosewood);opacity:0.55;}

/* newsletter */
.newsletter{padding:90px 0;text-align:center;}
.newsletter h2{font-size:32px;margin:14px 0 30px;}
.nl-form{display:flex;max-width:440px;margin:0 auto;border:1px solid var(--ink);}
.nl-form input{flex:1;border:none;background:transparent;padding:16px 18px;font-size:14px;font-family:'Inter',sans-serif;color:var(--ink);}
.nl-form input:focus{outline:none;}
.nl-form button{border:none;background:var(--ink);color:var(--ivory);padding:0 26px;font-size:12.5px;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;}
.nl-form button:hover{background:var(--rosewood);}
.nl-success{font-size:14px;color:var(--rosewood);margin-top:14px;}

/* footer */
footer.site-footer{background:var(--ink);color:rgba(246,241,232,0.7);padding:70px 0 30px;font-size:13.5px;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;margin-bottom:50px;}
.foot-grid h5{color:var(--ivory);font-family:'Inter',sans-serif;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:18px;font-weight:600;}
.foot-grid li{margin-bottom:10px;}
.foot-grid li a:hover{color:var(--ivory);}
.foot-logo img{height:46px;width:auto;margin-bottom:14px;}
.foot-bottom{border-top:1px solid rgba(246,241,232,0.15);padding-top:26px;display:flex;justify-content:space-between;font-size:12px;color:rgba(246,241,232,0.45);flex-wrap:wrap;gap:10px;}
.social-icons{display:flex;gap:12px;margin-top:20px;}
.social-icons a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(246,241,232,0.25);display:flex;align-items:center;justify-content:center;color:var(--ivory);transition:all .2s ease;}
.social-icons a:hover{background:var(--gold);border-color:var(--gold);color:var(--ink);}
.social-icons svg{width:17px;height:17px;}

/* breadcrumb */
.breadcrumb{padding:22px 0 0;font-size:12.5px;color:rgba(27,22,19,0.55);}
.breadcrumb a:hover{color:var(--rosewood);}
.breadcrumb span{margin:0 8px;}

/* product page */
.product{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:34px 0 90px;}
.gallery-main{aspect-ratio:1/1;overflow:hidden;background:#fff;margin-bottom:14px;border-radius:2px;}
.gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
.thumb{aspect-ratio:1/1;overflow:hidden;border-radius:2px;border:1px solid rgba(27,22,19,0.12);cursor:pointer;background:#fff;}
.thumb.active{border-color:var(--rosewood);}
.product-info{padding-top:8px;}
.brand-line{font-size:12.5px;letter-spacing:0.1em;text-transform:uppercase;color:rgba(27,22,19,0.5);margin-bottom:10px;}
.product-info h1{font-size:32px;margin-bottom:14px;}
.rating{display:flex;align-items:center;gap:10px;margin-bottom:24px;}
.stars{color:var(--gold);font-size:14px;letter-spacing:2px;}
.price-row{display:flex;align-items:baseline;gap:12px;margin-bottom:26px;}
.price{font-family:'Fraunces',serif;font-size:26px;}
.price.on-sale{color:var(--rosewood);}
.price-compare{text-decoration:line-through;color:rgba(27,22,19,0.4);font-size:16px;}
.desc{font-size:15px;color:rgba(27,22,19,0.75);margin-bottom:30px;max-width:480px;}
.promo-banner{display:inline-block;background:var(--sand);border-left:3px solid var(--rosewood);color:var(--ink);font-size:13.5px;font-weight:500;padding:10px 16px;margin-bottom:20px;max-width:480px;}
.promo-banner p{margin:0;}
.concern-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px;}
.tag{font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;padding:6px 14px;border:1px solid rgba(27,22,19,0.12);border-radius:20px;color:rgba(27,22,19,0.65);}
.opt-select{margin-bottom:26px;}
.opt-select .label{font-size:12.5px;letter-spacing:0.06em;text-transform:uppercase;font-weight:600;margin-bottom:10px;color:rgba(27,22,19,0.7);}
.opt-options{display:flex;gap:10px;flex-wrap:wrap;}
.opt-swatch{padding:10px 18px;border:1px solid rgba(27,22,19,0.12);font-size:13px;cursor:pointer;border-radius:2px;background:#fff;}
.opt-swatch.active{border-color:var(--ink);background:var(--ink);color:var(--ivory);}
.opt-swatch.unavailable{opacity:0.35;text-decoration:line-through;cursor:not-allowed;}
.buy-row{display:flex;gap:14px;margin-bottom:20px;}
.qty{display:flex;align-items:center;border:1px solid var(--ink);}
.qty button{width:40px;height:52px;background:none;border:none;font-size:16px;cursor:pointer;color:var(--ink);}
.qty input{width:40px;text-align:center;font-size:14px;border:none;background:transparent;}
.buy-row .btn-primary{flex:1;height:52px;}
.buy-row .btn-primary:disabled{opacity:0.5;cursor:not-allowed;}
.fine-list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid rgba(27,22,19,0.12);font-size:13px;color:rgba(27,22,19,0.65);}
.fine-list li:first-child{border-top:none;}
.fine-list svg{width:15px;height:15px;color:var(--rosewood);flex-shrink:0;}
.add-note{font-size:13px;color:var(--rosewood);margin-top:10px;display:none;}
.add-note.show{display:block;}

/* details/accordion */
.details{padding:70px 0;border-top:1px solid rgba(27,22,19,0.12);}
.details-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;}
.acc-item{border-bottom:1px solid rgba(27,22,19,0.12);}
.acc-head{display:flex;justify-content:space-between;align-items:center;padding:20px 0;cursor:pointer;font-family:'Fraunces',serif;font-size:18px;background:none;border:none;width:100%;text-align:left;color:var(--ink);}
.acc-head .plus{font-size:20px;color:var(--rosewood);transition:transform .25s ease;}
.acc-item.open .plus{transform:rotate(45deg);}
.acc-body{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.acc-item.open .acc-body{max-height:600px;}
.acc-body-inner{padding-bottom:22px;font-size:14.5px;color:rgba(27,22,19,0.72);max-width:520px;}
.acc-body-inner ul{padding-left:18px;list-style:disc;}
.details-image{overflow:hidden;border-radius:2px;}

/* pairs */
.pairs{background:var(--sand);padding:80px 0;}
.pair-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.pair-card{background:var(--ivory);border-radius:2px;overflow:hidden;}
.pair-img{aspect-ratio:1/1;overflow:hidden;}
.pair-body{padding:18px 20px;}
.pair-body .step-tag{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--rosewood);margin-bottom:8px;display:block;}
.pair-body h4{font-size:15px;font-family:'Inter',sans-serif;font-weight:600;margin-bottom:6px;}
.pair-body .pprice{font-size:13.5px;color:rgba(27,22,19,0.6);}

/* reviews */
.reviews{padding:90px 0;}
.review-summary{display:flex;gap:60px;align-items:center;margin-bottom:56px;padding-bottom:40px;border-bottom:1px solid rgba(27,22,19,0.12);flex-wrap:wrap;}
.review-score{text-align:center;}
.review-score .num{font-family:'Fraunces',serif;font-size:52px;}
.review-score .stars{font-size:16px;margin:8px 0;}
.review-score .count{font-size:12.5px;color:rgba(27,22,19,0.55);}
.review-list{display:grid;grid-template-columns:1fr 1fr;gap:32px 48px;}
.review-item{border-top:1px solid rgba(27,22,19,0.12);padding-top:24px;}
.review-item .stars{font-size:13px;margin-bottom:10px;display:block;}
.review-item p{font-size:14.5px;color:rgba(27,22,19,0.75);margin-bottom:14px;}
.review-meta{display:flex;justify-content:space-between;font-size:12px;color:rgba(27,22,19,0.5);}
.review-app-note{font-size:13px;color:rgba(27,22,19,0.5);border:1px dashed rgba(27,22,19,0.25);padding:16px;border-radius:2px;}

/* related / recs */
.related{background:var(--ink);color:var(--ivory);padding:90px 0;}
.related .section-head h2{color:var(--ivory);}
.rel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.rel-card{background:rgba(246,241,232,0.04);border:1px solid rgba(246,241,232,0.12);border-radius:2px;overflow:hidden;}
.rel-img{aspect-ratio:1/1;overflow:hidden;background:var(--ivory);}
.rel-body{padding:16px 18px;}
.rel-body h4{font-size:14px;font-family:'Inter',sans-serif;font-weight:500;margin-bottom:8px;}
.rel-body .rprice{font-size:13px;color:rgba(246,241,232,0.6);}

/* collection page */
.coll-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding:34px 0 44px;border-bottom:1px solid rgba(27,22,19,0.12);flex-wrap:wrap;}
.coll-hero h1{font-size:40px;margin:12px 0 12px;}
.coll-hero p{max-width:480px;color:rgba(27,22,19,0.7);font-size:14.5px;}
.coll-count{font-size:13px;color:rgba(27,22,19,0.5);white-space:nowrap;padding-bottom:4px;}
.shop-layout{display:grid;grid-template-columns:240px 1fr;gap:48px;padding:44px 0 100px;align-items:start;}
.filter-group{margin-bottom:34px;}
.filter-group h4{font-size:12px;letter-spacing:0.1em;text-transform:uppercase;font-weight:600;margin-bottom:16px;color:rgba(27,22,19,0.8);}
.filter-option{display:flex;align-items:center;gap:10px;font-size:13.5px;padding:7px 0;color:rgba(27,22,19,0.7);cursor:pointer;}
.filter-option input{accent-color:var(--rosewood);width:14px;height:14px;}
.filter-option:hover{color:var(--ink);}
.filter-option .fc{margin-left:auto;color:rgba(27,22,19,0.4);font-size:12px;}
.price-range{display:flex;align-items:center;gap:10px;margin-top:6px;}
.price-range input[type=range]{flex:1;accent-color:var(--rosewood);}
.price-labels{display:flex;justify-content:space-between;font-size:12px;color:rgba(27,22,19,0.55);margin-top:6px;}
.clear-filters{font-size:12.5px;color:var(--rosewood);border-bottom:1px solid var(--rosewood);display:inline-block;margin-top:4px;}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;flex-wrap:wrap;gap:16px;}
.active-filters{display:flex;gap:8px;flex-wrap:wrap;}
.chip{display:flex;align-items:center;gap:8px;font-size:12px;padding:7px 12px;background:var(--sand);border-radius:20px;color:var(--ink);}
.chip button{background:none;border:none;color:var(--rosewood);cursor:pointer;font-size:13px;line-height:1;}
.sort-select{display:flex;align-items:center;gap:10px;font-size:13px;}
.sort-select select{border:1px solid rgba(27,22,19,0.12);background:#fff;padding:9px 14px;font-size:13px;font-family:'Inter',sans-serif;color:var(--ink);border-radius:2px;}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 26px;}
.card{position:relative;}
.card-img-wrap{position:relative;aspect-ratio:1/1.15;overflow:hidden;background:#fff;border-radius:2px;margin-bottom:16px;}
.card-media-link{display:block;width:100%;height:100%;}
.card-img-wrap img{transition:opacity .35s ease;}
.card-img-wrap .img-alt{position:absolute;inset:0;opacity:0;}
.card:hover .img-main{opacity:0;}
.card:hover .img-alt{opacity:1;}
.badge{position:absolute;top:12px;left:12px;font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;padding:5px 10px;border-radius:20px;z-index:2;font-weight:600;}
.badge.new{background:var(--ink);color:var(--ivory);}
.badge.sale{background:var(--rosewood);color:var(--ivory);}
.badge.sold{background:rgba(27,22,19,0.08);color:rgba(27,22,19,0.5);}
.quick-add{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;background:var(--ink);color:var(--ivory);border:none;padding:12px 0;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;font-weight:600;cursor:pointer;opacity:0;transform:translateY(6px);transition:all .25s ease;border-radius:2px;}
.card:hover .quick-add{opacity:1;transform:translateY(0);}
.card-brand{font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;color:rgba(27,22,19,0.5);margin-bottom:6px;}
.card-title{font-size:14.5px;font-weight:500;margin-bottom:6px;line-height:1.4;}
.card-stars{color:var(--gold);font-size:12px;margin-bottom:8px;}
.card-price{display:flex;align-items:center;gap:8px;font-size:14px;}
.card-price .was{text-decoration:line-through;color:rgba(27,22,19,0.4);font-size:12.5px;}
.card-price .now{color:var(--rosewood);font-weight:500;}
.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:60px;}
.page-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:13px;border:1px solid rgba(27,22,19,0.12);border-radius:2px;cursor:pointer;background:#fff;}
.page-btn.active{background:var(--ink);color:var(--ivory);border-color:var(--ink);}
.mobile-filter-bar{display:none;}

/* cart */
.cart-page{padding:44px 0 100px;}
.cart-layout{display:grid;grid-template-columns:1.8fr 1fr;gap:56px;align-items:start;}
.cart-line{display:grid;grid-template-columns:100px 1fr auto;gap:20px;padding:24px 0;border-bottom:1px solid rgba(27,22,19,0.12);align-items:center;}
.cart-line img{border-radius:2px;aspect-ratio:1/1;}
.cart-line-title{font-family:'Fraunces',serif;font-size:17px;margin-bottom:6px;}
.cart-line-variant{font-size:13px;color:rgba(27,22,19,0.55);margin-bottom:10px;}
.cart-line-remove{font-size:12.5px;color:var(--rosewood);border-bottom:1px solid var(--rosewood);}
.cart-summary{background:var(--sand);padding:32px;border-radius:2px;}
.cart-summary h3{font-size:20px;margin-bottom:20px;}
.cart-summary-row{display:flex;justify-content:space-between;font-size:14px;padding:8px 0;}
.cart-empty{text-align:center;padding:100px 0;}
.cart-empty h1{font-size:30px;margin:16px 0 24px;}

/* generic page */
.generic-page{padding:60px 0 100px;max-width:760px;margin:0 auto;}
.generic-page h1{font-size:36px;margin-bottom:24px;}
.generic-page .rte p{margin-bottom:16px;font-size:15px;color:rgba(27,22,19,0.75);}

@media(max-width:960px){
  .hero{grid-template-columns:1fr;}
  .hero-image{height:420px;order:-1;}
  .hero-copy{padding:56px 24px;max-width:100%;}
  .hero-copy h1{font-size:38px;}
  .nav-links,.nav-icons{display:none;}
  .menu-toggle{display:block;}
  .header-search-panel{padding:14px 0;}
  .header-search-form{padding:2px 2px 2px 12px;}
  .pillars .pillar-grid{grid-template-columns:1fr;gap:28px;}
  .pillar + .pillar{border-left:none;border-top:1px solid rgba(246,241,232,0.15);padding-top:28px;}
  .feature{grid-template-columns:1fr;}
  .feature-image{height:340px;}
  .feature-copy{padding:44px 24px;max-width:100%;}
  .routine-steps{grid-template-columns:1fr 1fr;gap:32px 16px;}
  .routine-steps::before{display:none;}
  .treat-grid{grid-template-columns:1fr 1fr;gap:14px;}
  .treat-body{padding:16px 14px 18px;}
  .treat-title{font-size:17px;}
  .treat-price{font-size:23px;}
  .quote blockquote{font-size:20px;}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px;}
  .product{grid-template-columns:1fr;gap:36px;padding:0 0 60px;}
  .details-grid{grid-template-columns:1fr;}
  .details-image{order:-1;height:260px;}
  .pair-grid{grid-template-columns:1fr 1fr;}
  .review-list{grid-template-columns:1fr;}
  .review-summary{flex-direction:column;gap:24px;align-items:flex-start;}
  .rel-grid{grid-template-columns:1fr 1fr;}
  .shop-layout{grid-template-columns:1fr;gap:0;padding-top:20px;}
  .sidebar{display:none;}
  .sidebar.mobile-open{display:block;margin-bottom:30px;}
  .mobile-filter-bar{display:flex;gap:10px;margin-bottom:24px;}
  .mobile-filter-bar button{flex:1;padding:12px 0;border:1px solid rgba(27,22,19,0.12);background:#fff;font-size:12.5px;letter-spacing:0.05em;text-transform:uppercase;border-radius:2px;cursor:pointer;color:var(--ink);}
  .grid{grid-template-columns:1fr 1fr;gap:22px 14px;}
  .coll-hero h1{font-size:30px;}
  .toolbar{flex-direction:column;align-items:flex-start;}
  .cart-layout{grid-template-columns:1fr;}
}

/* chatbot */
.bwb-chat{position:fixed;bottom:24px;right:24px;z-index:90;font-family:'Inter',sans-serif;}
.bwb-chat-toggle{width:56px;height:56px;border-radius:50%;background:var(--ink);color:var(--ivory);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(27,22,19,0.25);transition:background .2s ease;}
.bwb-chat-toggle:hover{background:var(--rosewood);}
.bwb-chat-toggle svg{width:24px;height:24px;}
.bwb-chat-icon-close{display:none;}
.bwb-chat.open .bwb-chat-icon-open{display:none;}
.bwb-chat.open .bwb-chat-icon-close{display:block;}
.bwb-chat-panel{
  position:fixed;
  right:24px;
  bottom:90px;
  width:360px;
  top:24px;
  background:var(--ivory);
  border:1px solid rgba(27,22,19,0.12);
  border-radius:8px;
  box-shadow:0 12px 40px rgba(27,22,19,0.2);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.bwb-chat-panel[hidden]{display:none;}
.bwb-chat-header{display:flex;align-items:center;gap:12px;padding:16px 18px;background:var(--ink);color:var(--ivory);}
.bwb-chat-avatar{width:36px;height:36px;border-radius:50%;background:var(--rosewood);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:13px;overflow:hidden;flex-shrink:0;}
.bwb-chat-avatar img{border-radius:50%;}
.bwb-chat-title{font-family:'Fraunces',serif;font-size:16px;}
.bwb-chat-subtitle{font-size:11.5px;color:rgba(246,241,232,0.6);}
.bwb-chat-close{margin-left:auto;background:none;border:none;color:var(--ivory);font-size:22px;cursor:pointer;line-height:1;}
.bwb-chat-messages{
  flex:1;
  overflow-y:auto;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:0;
}
.bwb-msg{max-width:85%;padding:10px 14px;border-radius:14px;font-size:13.5px;line-height:1.5;}
.bwb-msg-bot{background:var(--sand);color:var(--ink);align-self:flex-start;border-bottom-left-radius:2px;}
.bwb-msg-user{background:var(--ink);color:var(--ivory);align-self:flex-end;border-bottom-right-radius:2px;}
.bwb-product-row{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  gap:10px;
  width:100%;
  overflow:visible;
}
.bwb-product-card{
  width:100%;
  min-width:0;
  background:#fff;
  border:1px solid rgba(27,22,19,0.1);
  border-radius:6px;
  overflow:hidden;
  box-sizing:border-box;
}
.bwb-product-img{aspect-ratio:1/1;background:var(--sand);}
.bwb-product-title{font-size:11.5px;font-weight:500;padding:8px 8px 2px;line-height:1.3;}
.bwb-product-price{font-size:11.5px;color:var(--rosewood);padding:0 8px 8px;}
.bwb-booking-cta{display:inline-block;align-self:flex-start;font-size:12.5px;color:var(--rosewood);border-bottom:1px solid var(--rosewood);padding-bottom:1px;}
.bwb-chat-chips{display:flex;gap:8px;flex-wrap:wrap;padding:0 18px 14px;}
.bwb-chip{font-size:11.5px;padding:7px 12px;border:1px solid rgba(27,22,19,0.15);border-radius:20px;background:#fff;cursor:pointer;color:var(--ink);}
.bwb-chip:hover{border-color:var(--rosewood);background:var(--sand);}
.bwb-chat-input-row{display:flex;border-top:1px solid rgba(27,22,19,0.12);}
.bwb-chat-input-row input{flex:1;border:none;background:transparent;padding:14px 16px;font-size:13.5px;color:var(--ink);}
.bwb-chat-input-row input:focus{outline:none;}
.bwb-chat-input-row button{border:none;background:none;color:var(--rosewood);padding:0 16px;cursor:pointer;display:flex;align-items:center;}
.bwb-chat-input-row button svg{width:18px;height:18px;}

@media(max-width:600px){
  .bwb-chat{bottom:16px;right:16px;}
  .bwb-chat-panel{width:calc(100vw - 32px);right:-8px;max-height:75vh;}
}

/* services page */
.svc-hero{padding:64px 0 56px;text-align:center;border-bottom:1px solid rgba(27,22,19,0.12);}
.svc-hero h1{font-size:46px;max-width:680px;margin:16px auto 20px;}
.svc-hero p{max-width:520px;margin:0 auto 30px;color:rgba(27,22,19,0.72);font-size:15.5px;}
.svc-hero-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

.svc-flagship{padding:100px 0 0;}
.svc-service-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;margin-bottom:110px;}
.svc-service-row.reverse .svc-service-media{order:2;}
.svc-service-media{aspect-ratio:4/5;overflow:hidden;border-radius:2px;position:relative;}
.svc-price-tag{position:absolute;bottom:16px;left:16px;background:var(--ivory);padding:10px 16px;border-radius:2px;font-family:'Fraunces',serif;font-size:15px;}
.svc-duration{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:rgba(27,22,19,0.55);margin-bottom:14px;}
.svc-duration svg{width:14px;height:14px;color:var(--rosewood);}
.svc-service-copy h2{font-size:32px;margin-bottom:16px;}
.svc-service-copy p{color:rgba(27,22,19,0.72);font-size:15px;margin-bottom:20px;max-width:460px;}
.svc-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px;}
.svc-tags span{font-size:11px;letter-spacing:0.05em;text-transform:uppercase;padding:6px 13px;border:1px solid rgba(27,22,19,0.12);border-radius:20px;color:rgba(27,22,19,0.6);}
.svc-service-ctas{display:flex;gap:14px;flex-wrap:wrap;}

.svc-menu-section{background:var(--sand);padding:100px 0;}
.svc-menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.svc-menu-category-title{grid-column:1 / -1;font-family:'Fraunces',serif;font-size:22px;margin:36px 0 4px;padding-bottom:10px;border-bottom:1px solid rgba(27,22,19,0.15);}
.svc-menu-category-title:first-child{margin-top:0;}
.svc-menu-card{background:var(--ivory);border-radius:2px;padding:26px 28px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;transition:box-shadow .2s ease;}
.svc-menu-card:hover{box-shadow:0 8px 24px rgba(27,22,19,0.08);}
.svc-menu-card-title{font-family:'Fraunces',serif;font-size:19px;margin-bottom:6px;}
.svc-menu-card-desc{font-size:13.5px;color:rgba(27,22,19,0.65);margin-bottom:12px;max-width:340px;}
.svc-menu-card-meta{display:flex;gap:16px;font-size:12px;color:rgba(27,22,19,0.5);}
.svc-menu-card-price{text-align:right;white-space:nowrap;}
.svc-amount{font-family:'Fraunces',serif;font-size:20px;color:var(--rosewood);display:block;margin-bottom:4px;}
.svc-amount-sub{display:block;font-size:11.5px;color:rgba(27,22,19,0.55);margin-bottom:10px;}
.svc-menu-card-price a{font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:2px;}

.svc-how-it-works{padding:100px 0;}
.svc-steps-row{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:56px;position:relative;}
.svc-steps-row::before{content:"";position:absolute;top:26px;left:16%;right:16%;height:1px;background:repeating-linear-gradient(90deg, var(--gold) 0 8px, transparent 8px 16px);}
.svc-step-item{text-align:center;position:relative;}
.svc-step-num{width:52px;height:52px;border-radius:50%;background:var(--ivory);border:1px solid var(--gold);color:var(--rosewood);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:20px;margin:0 auto 22px;position:relative;z-index:2;}
.svc-step-item h4{font-size:17px;margin-bottom:8px;}
.svc-step-item p{font-size:13.5px;color:rgba(27,22,19,0.65);max-width:240px;margin:0 auto;}

.svc-faq{background:var(--ink);padding:100px 0;}
.svc-faq .section-head h2{color:var(--ivory);}
.svc-faq .eyebrow{color:var(--gold);}
.faq-dark .acc-item{border-bottom-color:rgba(246,241,232,0.15);}
.faq-dark .acc-head{color:var(--ivory);}
.faq-dark .acc-head .plus{color:var(--gold);}
.faq-dark .acc-body-inner p{color:rgba(246,241,232,0.65);}

.svc-cta-banner{padding:100px 0;text-align:center;}
.svc-cta-banner h2{font-size:36px;max-width:520px;margin:14px auto 30px;}

@media(max-width:900px){
  .svc-service-row, .svc-service-row.reverse{grid-template-columns:1fr;gap:28px;margin-bottom:70px;}
  .svc-service-row.reverse .svc-service-media{order:0;}
  .svc-service-copy h2{font-size:26px;}
  .svc-menu-grid{grid-template-columns:1fr;}
  .svc-steps-row{grid-template-columns:1fr;gap:36px;}
  .svc-steps-row::before{display:none;}
  .svc-hero h1{font-size:32px;}
}

/* featured / highlighted services-menu card */
.svc-menu-card{position:relative;}
.svc-menu-card--featured{outline:1px solid var(--rosewood);}
.svc-menu-card-badge{position:absolute;top:-10px;left:20px;background:var(--rosewood);color:var(--ivory);font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;padding:4px 10px;border-radius:20px;}

/* Aerolase Laser Center: treated-concern checklist */
.svc-laser .feature-copy{max-width:560px;}
.svc-concern-grid{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin:20px 0 28px;padding:0;}
.svc-concern-grid li{position:relative;padding-left:22px;font-size:14px;color:rgba(27,22,19,0.75);}
.svc-concern-grid li::before{content:"\2713";position:absolute;left:0;color:var(--rosewood);font-weight:700;}

/* ============================================
   HydraFacial tier comparison table (desktop)
   ============================================ */
.svc-hf-compare{background:var(--sand);padding:100px 0;}
.svc-hf-table-wrap{overflow-x:auto;margin-top:20px;}
.svc-hf-table{width:100%;border-collapse:collapse;min-width:560px;background:var(--ivory);}
.svc-hf-table th,.svc-hf-table td{border:1px solid rgba(27,22,19,0.12);padding:18px 20px;text-align:center;}
.svc-hf-row-label{text-align:left !important;font-weight:600;background:var(--ivory);}
.svc-hf-tier-head{display:flex;flex-direction:column;align-items:center;gap:4px;}
.svc-hf-tier-title{font-family:'Fraunces',serif;font-size:17px;}
.svc-hf-tier-duration{font-size:12px;color:rgba(27,22,19,0.55);}
.svc-hf-tier-price{color:var(--rosewood);font-family:'Fraunces',serif;font-size:19px;}
.svc-hf-tier-btn{margin-top:6px;padding:8px 20px;font-size:11px;}
.svc-hf-check{color:var(--rosewood);font-weight:700;font-size:16px;}

/* Responsive toggle: table shows on tablet/desktop, cards show
   on mobile. This pairing MUST stay together - .svc-hf-desktop-only
   and .svc-hf-mobile-only are referenced directly in
   sections/hydrafacial-compare.liquid as wrapper divs around the
   two alternate layouts. */
.svc-hf-desktop-only{ display:block; }
.svc-hf-mobile-only{ display:none; }

/* ============================================
   HydraFacial mobile stacked cards (one card per
   tier, full feature list with check/dash per row)
   ============================================ */
.svc-hf-mcard{
  background:var(--ivory);
  border:1px solid rgba(27,22,19,0.12);
  border-radius:4px;
  margin-bottom:20px;
  overflow:hidden;
}
.svc-hf-mcard:last-child{
  margin-bottom:0;
}
.svc-hf-mcard-head{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 14px;
  padding:20px;
  background:var(--sand);
  border-bottom:1px solid rgba(27,22,19,0.12);
}
.svc-hf-mcard-head .svc-hf-tier-title{
  font-size:19px;
  flex:1 1 auto;
  min-width:100px;
}
.svc-hf-mcard-head .svc-hf-tier-duration{
  flex:0 0 auto;
}
.svc-hf-mcard-head .svc-hf-tier-price{
  font-size:20px;
  flex:0 0 auto;
  width:100%;
  order:3;
}
.svc-hf-mcard-head .svc-hf-tier-btn{
  order:4;
  width:100%;
  margin-top:4px;
}
.svc-hf-mcard-features{
  padding:6px 20px 4px;
}
.svc-hf-mcard-features li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid rgba(27,22,19,0.08);
  font-size:14.5px;
}
.svc-hf-mcard-features li:last-child{
  border-bottom:none;
}
.svc-hf-mcard-mark{
  flex-shrink:0;
  width:20px;
  text-align:center;
  font-weight:700;
}
.svc-hf-mcard-yes{
  color:var(--ink);
}
.svc-hf-mcard-yes .svc-hf-mcard-mark{
  color:var(--rosewood);
}
.svc-hf-mcard-no{
  color:rgba(27,22,19,0.35);
}
.svc-hf-mcard-no .svc-hf-mcard-mark{
  color:rgba(27,22,19,0.25);
}

@media(max-width:900px){
  .svc-concern-grid{grid-template-columns:1fr;}

  .svc-hf-desktop-only{ display:none; }
  .svc-hf-mobile-only{ display:block; }
}

/* mobile cart icon (collapsed mobile header, next to hamburger) */
.mobile-cart-icon{
  display:none;
  position:relative;
  align-items:center;
  color:var(--ink);
  margin-right:16px;
}
.mobile-cart-icon:hover{
  color:var(--rosewood);
}
.mobile-cart-count{
  position:absolute;
  top:-6px;
  right:-8px;
}

@media(max-width:960px){
  .mobile-cart-icon{
    display:flex;
  }

  nav.main-nav{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding-left:16px;
    padding-right:16px;
  }

  nav.main-nav > a.logo{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%, -50%);
    z-index:0;
    margin:0;
  }

  nav.main-nav .menu-toggle{
    order:1;
    position:relative;
    z-index:2;
  }
  nav.main-nav .search-toggle{
    order:2;
    margin-left:auto;
    position:relative;
    z-index:2;
  }
  nav.main-nav .mobile-cart-icon{
    order:3;
    margin-left:14px;
    margin-right:0;
    position:relative;
    z-index:2;
  }
}

@media(max-width:600px){
  .svc-menu-card{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }

  .svc-menu-card-price{
    width:100%;
    text-align:left;
    display:flex;
    align-items:center;
    justify-content:space-between;
  }

  .svc-amount{
    margin-bottom:0;
  }
}

@media(max-width:700px){
  .foot-grid{
    grid-template-columns:1fr;
    gap:36px;
    margin-bottom:36px;
  }

  .foot-logo img{
    margin-bottom:10px;
  }

  footer.site-footer form{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    width:100%;
  }
  footer.site-footer form input{
    flex:1 1 100%;
    min-width:0;
    width:100%;
    box-sizing:border-box;
  }
  footer.site-footer form button{
    flex:1 1 100%;
    width:100%;
  }

  .social-icons{
    margin-top:16px;
  }

  .foot-bottom{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    text-align:left;
  }
}
/* ============================================================
   ADD TO THE END OF assets/theme.css
   Clean, typography-first styles for the main-product.liquid
   enhancements. No colored boxes, no icon badges, no borders
   around content blocks — just spacing, thin divider lines,
   and type hierarchy, matching a luxury/minimal aesthetic.
   ============================================================ */

/* ---------- SECTION 2: Best For / Skin Types ---------- */
.best-for-plain{
  margin-top:28px;
}
.best-for-divider{
  border:none;
  border-top:1px solid rgba(27,22,19,0.15);
  margin:20px 0;
}
.best-for-plain-label{
  font-size:11px;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:rgba(27,22,19,0.5);
  margin-bottom:6px;
}
.best-for-plain-label:not(:first-of-type){
  margin-top:14px;
}
.best-for-plain-list{
  font-family:'Fraunces',serif;
  font-size:15px;
  color:var(--ink);
  margin:0;
}


}
.routine-add-btn{
  padding:14px 40px;
  font-size:13px;
}
.routine-add-note{
  margin-top:12px;
  font-size:13px;
  color:rgba(27,22,19,0.55);
  min-height:18px;
}

/* ---------- SECTION 5: Review summary ---------- */
.review-summary{
  max-width:560px;
  margin:0 auto 40px;
  padding-bottom:36px;
  text-align:center;
  border-bottom:1px solid rgba(27,22,19,0.12);
}
.review-summary-rating{
  font-family:'Fraunces',serif;
  font-size:24px;
  color:var(--ink);
}
.review-summary-count{
  font-size:12px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:rgba(27,22,19,0.5);
  margin-top:4px;
}
.review-summary-quote{
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:17px;
  line-height:1.5;
  color:var(--ink);
  margin-top:18px;
}

/* ---------- SECTION 6: Recommended by Your Esthetician ---------- */
.pair-card--current{
  cursor:default;
  opacity:0.85;
}
.pair-card--current:hover{
  transform:none;
}
.current-check{
  color:var(--rosewood);
  font-weight:700;
  margin-left:4px;
}
.current-label{
  font-style:italic;
  color:rgba(27,22,19,0.5);
}

/* ---------- SECTION 7: Why We Love It ---------- */
.why-we-love-plain{
  max-width:560px;
  margin:56px auto;
  padding:0 24px;
  text-align:center;
}
.why-we-love-plain-label{
  display:block;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:rgba(27,22,19,0.5);
  margin-bottom:16px;
}
.why-we-love-plain-quote{
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:19px;
  line-height:1.55;
  color:var(--ink);
  margin-bottom:14px;
}
.why-we-love-plain-sign{
  font-size:13px;
  color:rgba(27,22,19,0.55);
}
/* ============================================================
   ADD TO THE END OF assets/theme.css
   Fixes the "What to expect" accordion tab formatting — removes
   the plain bullet-point look and gives each week range its own
   bold, colored label with a thin divider between rows.
   ============================================================ */

.expect-timeline{
  list-style:none;
  margin:0;
  padding:0;
}
.expect-timeline li{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:14px 0;
  border-bottom:1px solid rgba(27,22,19,0.1);
}
.expect-timeline li:last-child{
  border-bottom:none;
}
.expect-label{
  font-weight:700;
  font-size:12px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--rosewood);
}

@media(min-width:600px){
  .expect-timeline li{
    flex-direction:row;
    align-items:baseline;
    gap:20px;
  }
  .expect-label{
    flex-shrink:0;
    width:90px;
  }
}
/* ============================================================
   ADD TO THE VERY END OF assets/theme.css
   (after product-page-spacing-tightened.css)

   Round 2 spacing pass based on screenshot review. The biggest
   remaining gap was between the "Add Routine to Cart" button
   and the review quote/Customer Reviews heading below it — the
   .reviews section is part of the original theme (not something
   I added), so its default top padding is unknown to me. The
   !important below guarantees this override actually applies
   regardless of the original rule's specificity.
   ============================================================ */

/* Tighten details section bottom space before the routine block */
.details{
  padding-bottom:20px;
}

/* ============================================
   COMPLETE, FINAL, CONSOLIDATED VERSION
   of every .routine-plain-* rule.

   This single block REPLACES ALL 24 matches
   found when searching ".routine-plain" in
   assets/theme.css. Delete every existing rule
   for these class names first, then paste this
   entire block in as their one replacement.

   Covers every class referenced by
   sections/routine-with-pricing.liquid:
   .routine-plain, .routine-plain-divider,
   .routine-plain-heading, .routine-plain-tagline,
   .routine-plain-list, .routine-plain-list-item,
   .routine-plain-list-img, .routine-plain-list-name,
   .routine-plain-list-price, .routine-plain-total,
   .routine-plain-total-was, .routine-plain-total-price,
   .routine-plain-save
   ============================================ */

.routine-plain{
  max-width:640px;
  margin:0 auto;
  padding:56px 24px 64px;
  text-align:center;
}

.routine-plain-divider{
  border:none;
  border-top:1px solid rgba(27,22,19,0.12);
  margin:0 0 32px;
}

.routine-plain-heading{
  font-family:'Fraunces',serif;
  font-size:28px;
  color:var(--ink);
  margin-bottom:8px;
}

.routine-plain-tagline{
  font-size:14px;
  color:rgba(27,22,19,0.55);
  margin-bottom:32px;
}

.routine-plain-list{
  list-style:none;
  margin:0 auto 24px;
  padding:0;
  max-width:480px;
  display:block;
}

.routine-plain-list-item{
  display:flex;
  align-items:center;
  gap:16px;
  padding:14px 0;
  border-bottom:1px solid rgba(27,22,19,0.08);
  text-align:left;
}
.routine-plain-list-item:last-child{
  border-bottom:none;
}

.routine-plain-list-img{
  width:64px;
  height:64px;
  flex-shrink:0;
  border-radius:2px;
  overflow:hidden;
  background:#fff;
  padding:6px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
}
.routine-plain-list-img img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.routine-plain-list-name{
  font-family:'Fraunces',serif;
  font-size:16px;
  color:var(--ink);
  flex:1;
  min-width:0;
}

.routine-plain-list-price{
  font-family:'Fraunces',serif;
  font-size:15px;
  color:var(--ink);
  flex-shrink:0;
  white-space:nowrap;
}

.routine-plain-total{
  margin:8px 0 4px;
}

.routine-plain-total-was{
  font-family:'Fraunces',serif;
  font-size:18px;
  text-decoration:line-through;
  opacity:0.55;
  margin-right:8px;
}

.routine-plain-total-price{
  font-family:'Fraunces',serif;
  font-size:20px;
  color:var(--ink);
}

.routine-plain-save{
  font-size:12px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--rosewood);
  margin-bottom:24px;
}

@media(max-width:600px){
  .routine-plain{
    padding:44px 16px 48px;
  }
  .routine-plain-list{
    max-width:100%;
    padding:0;
  }
  .routine-plain-heading{
    font-size:24px;
  }
  .routine-plain-list-name{
    font-size:15px;
  }
}

/* Force the reviews section's top padding down — this closes the
   large gap between the routine button and the review quote */
.reviews,
#reviews{
  padding-top:20px !important;
}

.review-summary{
  margin:0 auto 20px;
  padding-bottom:16px;
}
/* ============================================================
   ADD TO THE VERY END OF assets/theme.css
   (after product-page-spacing-round2.css)

   Found via DevTools inspection: the base theme's .product
   section (theme.css:305) has padding:34px 0 90px — that 90px
   bottom padding is the real source of the large gap after the
   hero section, not the .reviews section as originally assumed.
   This overrides just the padding, leaving the grid/columns/gap
   layout rules from the original theme untouched.
   ============================================================ */

.product{
  padding:34px 0 30px !important;
}

@media(max-width:960px){
  .product{
    padding:0 0 24px !important;
  }
}
/* ============================================================
   ADD TO THE END OF assets/theme.css
   Styles for the Hyperpigmentation collection page sections:
   collection-banner, routine-steps, featured-collection-grid,
   esthetician-picks, shop-the-routine. Uses existing
   --ink/--ivory/--rosewood/--gold/--sand variables and the
   Fraunces serif heading font.
   ============================================================ */

/* ---------- Collection Banner ---------- */
.coll-banner{
  position:relative;
  min-height:420px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
  background:var(--ink);
}
.coll-banner-bg{
  position:absolute;
  inset:0;
}
.coll-banner-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0.55;
}
.coll-banner-inner{
  position:relative;
  z-index:1;
  max-width:560px;
  padding:60px 24px;
  color:var(--ivory);
}
.coll-banner-heading{
  font-family:'Fraunces',serif;
  font-size:38px;
  line-height:1.15;
  margin-bottom:14px;
}
.coll-banner-subheading{
  font-size:15px;
  opacity:0.85;
  margin-bottom:18px;
}
.coll-banner-checklist{
  list-style:none;
  margin:0 0 28px;
  padding:0;
  display:inline-flex;
  flex-direction:column;
  gap:8px;
  text-align:left;
}
.coll-banner-checklist li{
  position:relative;
  padding-left:24px;
  font-size:15px;
}
.coll-banner-checklist li::before{
  content:"\2713";
  position:absolute;
  left:0;
  color:var(--gold);
  font-weight:700;
}
.coll-banner-btn{
  display:inline-block;
  padding:14px 36px;
  font-size:13px;
}

@media(max-width:700px){
  .coll-banner{ min-height:340px; }
  .coll-banner-heading{ font-size:28px; }
}

/* ---------- Routine Steps ---------- */
.routine-steps-section{
  padding:64px 0;
  background:var(--sand);
}
.routine-steps-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
  margin-top:32px;
}
@media(max-width:700px){
  .routine-steps-grid{ grid-template-columns:1fr 1fr; }
}
.routine-step{
  background:var(--ivory);
  border-radius:6px;
  padding:24px 18px;
  text-align:center;
}
.routine-step-number{
  font-size:11px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--rosewood);
  margin-bottom:6px;
}
.routine-step-action{
  font-family:'Fraunces',serif;
  font-size:19px;
  margin-bottom:10px;
}
.routine-step-product{
  display:block;
  font-size:13px;
  color:var(--ink);
  text-decoration:none;
  border-bottom:1px solid transparent;
}
a.routine-step-product:hover{
  border-bottom-color:var(--rosewood);
}
.routine-step-product--plain{
  color:rgba(27,22,19,0.7);
}
/* ============================================
   ADD TO assets/theme.css, right after the
   existing .routine-step-product{...} and
   .routine-step-product--plain{...} rules.
   Adds a product thumbnail image above each
   step's product name/label.
   ============================================ */
.routine-step-img{
  display:block;
  width:84px;
  height:84px;
  margin:0 auto 14px;
  border-radius:2px;
  overflow:hidden;
  background:#fff;
}
.routine-step-img img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:6px;
  box-sizing:border-box;
}

/* ---------- Featured Collection Grid ---------- */
.featured-coll-section{
  padding:64px 0;
}
.featured-coll-card{
  display:block;
  text-decoration:none;
  color:var(--ink);
}
.featured-coll-img{
  border-radius:6px;
  overflow:hidden;
  margin-bottom:12px;
  aspect-ratio:1/1;
}
.featured-coll-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.featured-coll-body h4{
  font-family:'Fraunces',serif;
  font-size:15px;
  margin-bottom:4px;
}
.featured-coll-price{
  font-size:13px;
  color:var(--rosewood);
}

/* ---------- Esthetician Picks Statement ---------- */
.esthetician-picks{
  padding:56px 0;
}
.esthetician-picks-inner{
  max-width:560px;
  margin:0 auto;
  padding:0 24px;
  text-align:center;
}
.esthetician-picks-inner h2{
  font-family:'Fraunces',serif;
  font-size:26px;
  margin-bottom:14px;
}
.esthetician-picks-inner p{
  font-size:15px;
  color:rgba(27,22,19,0.7);
  line-height:1.6;
}

/* ---------- Shop the Routine (bundle-style Add to Cart) ---------- */
.shop-routine-section{
  padding:64px 0;
  background:var(--ink);
  color:var(--ivory);
}
.shop-routine-inner{
  max-width:560px;
  margin:0 auto;
  padding:0 24px;
  text-align:center;
}
.shop-routine-copy .eyebrow{
  color:var(--gold);
}
.shop-routine-copy h2{
  font-family:'Fraunces',serif;
  font-size:30px;
  margin:10px 0 12px;
}
.shop-routine-copy p{
  font-size:14px;
  opacity:0.8;
  margin-bottom:28px;
}
.shop-routine-list{
  list-style:none;
  margin:0 0 20px;
  padding:0;
  text-align:left;
  background:rgba(255,255,255,0.06);
  border-radius:6px;
  overflow:hidden;
}
.shop-routine-list li{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 20px;
  border-bottom:1px solid rgba(255,255,255,0.1);
}
.shop-routine-list li:last-child{
  border-bottom:none;
}
.shop-routine-list a{
  color:var(--ivory);
  text-decoration:none;
  font-size:14px;
}
.shop-routine-list a:hover{
  text-decoration:underline;
}
.shop-routine-list span:last-child{
  font-size:13px;
  opacity:0.75;
}
.shop-routine-total{
  display:flex;
  justify-content:center;
  gap:12px;
  font-size:18px;
  margin-bottom:24px;
}
/* ============================================
   ADD TO assets/theme.css, right after the
   existing .shop-routine-total{...} rule.
   Adds strikethrough original price + "Save X%"
   badge to the Shop the Routine bundle section.
   ============================================ */
.shop-routine-total-was{
  text-decoration:line-through;
  opacity:0.55;
  font-size:15px;
  margin-right:4px;
}
.shop-routine-save{
  font-size:12px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:20px;
}

.shop-routine-total-price{
  color:var(--gold);
  font-family:'Fraunces',serif;
  font-weight:700;
}
.shop-routine-btn{
  width:100%;
  padding:16px 0;
  font-size:14px;
}
.shop-routine-note{
  margin-top:12px;
  font-size:13px;
  opacity:0.75;
  min-height:18px;
}
/* Hyperpigmentation Banner Fix */

.coll-banner-heading {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;

  font-family: 'Fraunces', serif !important;
  font-size: 72px !important;
  line-height: 1.05 !important;
  font-weight: 500 !important;

  color: #ffffff !important;

  margin-bottom: 20px !important;
  text-align: center !important;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width:768px) {
  .coll-banner-heading {
    font-size: 42px !important;
    line-height: 1.1 !important;
  }
}/* ============================================
   ADD TO assets/theme.css.
   Rebuilt to match your actual site design system:
   - 'Fraunces' serif for headings/prices/titles
   - 'Inter' sans-serif for body/meta text
   - var(--ink)/var(--ivory)/var(--rosewood)/
     var(--gold)/var(--sand) only - no green,
     no off-palette colors
   - 2px border-radius everywhere (matches every
     card/button/image on your site - nothing
     else uses 4px or 8px except the chat panel)
   - Soft rgba(27,22,19,...) shadows/borders,
     matching your mega-panel and chat panel
   - Text-link style remove button (like your
     existing .cart-line-remove), not an icon
   ============================================ */

.cart-popup-overlay{
  position:fixed;
  inset:0;
  background:rgba(27,22,19,0.5);
  z-index:200;
}
.cart-popup-overlay[hidden]{
  display:none;
}

.cart-popup{
  position:fixed;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  background:var(--ivory);
  width:min(960px, 92vw);
  max-height:85vh;
  overflow-y:auto;
  border-radius:2px;
  box-shadow:0 16px 40px rgba(27,22,19,0.2);
  z-index:201;
  padding:40px;
}
.cart-popup[hidden]{
  display:none;
}

.cart-popup-close{
  position:absolute;
  top:20px;
  right:24px;
  background:none;
  border:none;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  color:var(--ink);
}
.cart-popup-close:hover{
  color:var(--rosewood);
}

.cart-popup-grid{
  display:grid;
  grid-template-columns:1fr 1.3fr 1fr;
  gap:40px;
}

/* Column 1: newly added item */
.cart-popup-added{
  text-align:center;
}
.cart-popup-added-badge{
  display:inline-block;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--rosewood);
  border-bottom:1px solid var(--rosewood);
  padding-bottom:4px;
  margin-bottom:24px;
}
.cart-popup-added-image{
  width:100%;
  aspect-ratio:1/1;
  background:#fff;
  border-radius:2px;
  overflow:hidden;
  margin-bottom:18px;
}
.cart-popup-added-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:10px;
  box-sizing:border-box;
}
.cart-popup-added-title{
  font-family:'Fraunces',serif;
  font-size:19px;
  color:var(--ink);
  margin-bottom:6px;
}
.cart-popup-added-qty{
  font-family:'Inter',sans-serif;
  font-size:13px;
  color:rgba(27,22,19,0.55);
  margin-bottom:20px;
}
.cart-popup-shipping-note{
  font-family:'Inter',sans-serif;
  background:var(--sand);
  color:var(--ink);
  font-size:12.5px;
  font-weight:600;
  letter-spacing:0.02em;
  padding:12px;
  border-radius:2px;
}
.cart-popup-shipping-note:empty{
  display:none;
}

/* Column 2: full cart list */
.cart-popup-list-wrap{
  max-height:420px;
  overflow-y:auto;
  border-right:1px solid rgba(27,22,19,0.12);
  border-left:1px solid rgba(27,22,19,0.12);
  padding:0 28px;
}
.cart-popup-list{
  list-style:none;
  margin:0;
  padding:0;
}
.cart-popup-list-item{
  display:grid;
  grid-template-columns:56px 1fr auto;
  gap:14px;
  align-items:center;
  padding:18px 0;
  border-bottom:1px solid rgba(27,22,19,0.1);
}
.cart-popup-list-item:first-child{
  padding-top:0;
}
.cart-popup-list-item:last-child{
  border-bottom:none;
}
.cart-popup-list-img{
  width:56px;
  height:56px;
  border-radius:2px;
  overflow:hidden;
  background:#fff;
}
.cart-popup-list-img img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:4px;
  box-sizing:border-box;
}
.cart-popup-list-info{
  min-width:0;
}
.cart-popup-list-title{
  font-family:'Fraunces',serif;
  font-size:15px;
  color:var(--ink);
  margin-bottom:4px;
  line-height:1.3;
}
.cart-popup-list-meta{
  font-family:'Inter',sans-serif;
  font-size:12.5px;
  color:rgba(27,22,19,0.55);
}
.cart-popup-list-meta strong{
  color:var(--ink);
  font-weight:600;
}
.cart-popup-list-remove{
  font-family:'Inter',sans-serif;
  background:none;
  border:none;
  cursor:pointer;
  font-size:12px;
  color:var(--rosewood);
  border-bottom:1px solid var(--rosewood);
  padding:0;
  white-space:nowrap;
  align-self:start;
}
.cart-popup-list-remove:hover{
  opacity:0.7;
}

/* Column 3: summary + checkout */
.cart-popup-summary h3{
  font-family:'Fraunces',serif;
  font-size:22px;
  font-weight:500;
  margin-bottom:16px;
  text-align:center;
  color:var(--ink);
}
.cart-popup-summary-count{
  font-family:'Inter',sans-serif;
  font-size:13px;
  color:rgba(27,22,19,0.6);
  text-align:center;
  margin-bottom:16px;
}
.cart-popup-summary-total{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-family:'Inter',sans-serif;
  font-weight:600;
  font-size:14px;
  color:var(--ink);
  border-top:1px solid rgba(27,22,19,0.12);
  padding-top:18px;
  margin-bottom:22px;
}
.cart-popup-summary-total span:last-child{
  font-family:'Fraunces',serif;
  font-size:20px;
  font-weight:400;
}
.cart-popup-view-cart{
  display:block;
  text-align:center;
  font-family:'Inter',sans-serif;
  font-size:12px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--ink);
  border-bottom:1px solid var(--ink);
  padding-bottom:2px;
  width:fit-content;
  margin:0 auto 16px;
}
.cart-popup-view-cart:hover{
  color:var(--rosewood);
  border-color:var(--rosewood);
}
.cart-popup-checkout{
  display:block;
  width:100%;
  text-align:center;
  margin-bottom:24px;
}
.cart-popup-promo-image{
  border-radius:2px;
  overflow:hidden;
}
.cart-popup-promo-image img{
  width:100%;
  display:block;
}

@media(max-width:800px){
  .cart-popup{
    padding:28px 20px;
    max-height:90vh;
  }
  .cart-popup-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .cart-popup-list-wrap{
    border-left:none;
    border-right:none;
    border-top:1px solid rgba(27,22,19,0.12);
    border-bottom:1px solid rgba(27,22,19,0.12);
    padding:18px 0;
    max-height:280px;
  }
  .cart-popup-added-image{
    max-width:180px;
    margin-left:auto;
    margin-right:auto;
  }
}
.whats-included{
  margin:0 0 26px;
  padding:18px 0;
  border-top:1px solid rgba(27,22,19,.12);
  border-bottom:1px solid rgba(27,22,19,.12);
}

.whats-included h4{
  font-family:'Fraunces',serif;
  font-size:20px;
  font-weight:400;
  color:var(--ink);
  margin-bottom:12px;
}

.whats-included ul{
  margin:0;
  padding-left:20px;
}

.whats-included li{
  margin-bottom:8px;
  color:rgba(27,22,19,.75);
  line-height:1.6;
}

.whats-included-content{
  color:rgba(27,22,19,.75);
  line-height:1.6;
}

.whats-included-content ul{
  padding-left:20px;
}
.whats-included-luxury{
  margin:0 0 32px;
  padding:24px 0;
  border-top:1px solid rgba(27,22,19,.12);
  border-bottom:1px solid rgba(27,22,19,.12);
}

.whats-included-eyebrow{
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--rosewood);
  margin-bottom:8px;
}

.whats-included-luxury h4{
  font-family:'Fraunces',serif;
  font-size:24px;
  font-weight:400;
  color:var(--ink);
  margin-bottom:18px;
}

.whats-included-items{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.included-item{
  display:flex;
  align-items:center;
  gap:12px;
}

.included-check{
  color:var(--gold);
  font-size:15px;
  font-weight:700;
  flex-shrink:0;
}

.included-name{
  color:var(--ink);
  font-size:15px;
  line-height:1.5;
}

.whats-included-note{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(27,22,19,.08);
  font-size:14px;
  color:rgba(27,22,19,.60);
  line-height:1.7;
  font-style:italic;
}
.whats-included-luxury{
  margin:0 0 32px;
  padding:24px 0;
  border-top:1px solid rgba(27,22,19,.12);
  border-bottom:1px solid rgba(27,22,19,.12);
}

.whats-included-eyebrow{
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--rosewood);
  margin-bottom:8px;
}

.whats-included-luxury h4{
  font-family:'Fraunces',serif;
  font-size:24px;
  font-weight:400;
  color:var(--ink);
  margin-bottom:18px;
}

.whats-included-content{
  color:var(--ink);
}

.whats-included-content ul{
  list-style:none;
  padding:0;
  margin:0;
}

.whats-included-content li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid rgba(27,22,19,.06);
  line-height:1.6;
}

.whats-included-content li:last-child{
  border-bottom:none;
}

.whats-included-content li::before{
  content:"✓";
  color:var(--gold);
  font-weight:700;
  font-size:15px;
  flex-shrink:0;
  margin-top:1px;
}

.whats-included-note{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(27,22,19,.08);
  font-size:14px;
  color:rgba(27,22,19,.60);
  line-height:1.7;
  font-style:italic;
}
.jdgm-rev__author,
.jdgm-rev__buyer-badge {
  font-family: 'Inter', sans-serif !important;
}

.jdgm-widget-title,
.jdgm-rev__title,
.jdgm-all-reviews__title {
  font-family: 'Fraunces', serif !important;
}

.jdgm-star {
  color: #A9863E !important;
}
.whats-included-content{
  margin-bottom:0 !important;
}

.whats-included-content ul{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

.whats-included-content li:last-child{
  margin-bottom:0 !important;
}

.whats-included-note{
  margin-top:20px !important;
  padding-top:20px !important;
}
.whats-included-luxury{
  margin:20px 0 24px;
  padding:20px 0;
  border-top:1px solid rgba(27,22,19,.10);
  border-bottom:1px solid rgba(27,22,19,.10);
}

.whats-included-eyebrow{
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:600;
  color:#8B4F44;
  margin-bottom:10px;
}

.whats-included-luxury h4{
  font-family:'Fraunces',serif;
  font-size:24px;
  font-weight:400;
  color:#1B1613;
  margin-bottom:20px;
}

.whats-included-content{
  margin-bottom:0;
}

.whats-included-content ul{
  list-style:none;
  margin:0;
  padding:0;
}

.whats-included-content li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid rgba(27,22,19,.06);
  line-height:1.6;
}

.whats-included-content li:last-child{
  border-bottom:none;
}

.whats-included-content li::before{
  content:"✓";
  color:#A9863E;
  font-weight:700;
  flex-shrink:0;
}

.whats-included-note{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(27,22,19,.08);
  font-size:14px;
  line-height:1.7;
  color:rgba(27,22,19,.65);
  font-style:italic;
}
.logo img{
  width:150px !important;
  max-width:none !important;
  height:auto !important;
}
{% comment %}
  ============================================================
  CSS — add to the bottom of assets/theme.css
  ============================================================
{% endcomment %}
<style>
.product-badges{
  display:flex;
  gap:8px;
  margin-bottom:14px;
  flex-wrap:wrap;
}

.badge-pill{
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:6px 14px;
  border-radius:20px;
  line-height:1;
}

.badge-sale{
  background:rgba(139,79,68,.10);
  color:#8B4F44;
  border:1px solid rgba(139,79,68,.25);
}

.badge-tag{
  background:var(--ink);
  color:var(--ivory);
}

.price-row{
  display:flex;
  align-items:baseline;
  gap:12px;
  margin-bottom:26px;
  flex-wrap:wrap;
}

.price.on-sale{
  color:var(--ink);
}

.price-compare{
  text-decoration:line-through;
  color:rgba(27,22,19,0.4);
  font-size:16px;
}

.price-off-label{
  font-size:14px;
  font-weight:600;
  color:#8B4F44;
}

/* Gift box product page */
.gift-checkout-price{margin:-12px 0 18px;font-size:15px;color:var(--ink);}
.gift-checkout-price strong{font-family:'Fraunces',serif;font-size:22px;font-weight:600;color:var(--rosewood);}
.gift-checkout-price span{color:rgba(27,22,19,0.7);font-size:13.5px;}
.gift-intro{font-size:15.5px;line-height:1.7;color:rgba(27,22,19,0.8);margin:0 0 22px;max-width:480px;}
.gift-message-wrap{margin:0 0 16px;}
.gift-message-label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.gift-message-label span{font-weight:400;color:rgba(27,22,19,0.6);}
.gift-message-input{width:100%;font-family:'Inter',sans-serif;font-size:14px;color:var(--ink);background:#fff;border:1px solid rgba(27,22,19,0.25);border-radius:2px;padding:10px 12px;resize:vertical;}
.gift-message-input:focus{outline:2px solid var(--rosewood);outline-offset:1px;}
.gift-quote{margin:22px 0 0;padding:16px 18px;border-left:3px solid var(--rosewood);background:var(--sand);}
.gift-quote p{font-family:'Fraunces',serif;font-size:17px;line-height:1.5;color:var(--ink);margin:0 0 6px;}
.gift-quote cite{font-size:12.5px;font-style:normal;color:rgba(27,22,19,0.7);letter-spacing:0.04em;}

/* Gift box: collapse stray blank lines from rich-text fields */
.whats-included-content p{margin:0;}
.whats-included-content p:empty,
.whats-included-content p:has(> br:only-child){display:none;}
.whats-included-content > *:last-child{margin-bottom:0;padding-bottom:0;}
.whats-included-content li:empty{display:none;}
.whats-included-content li:empty::before{content:none;}

.gift-check{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--ink);margin:0 0 14px;cursor:pointer;}
.gift-check input{width:18px;height:18px;accent-color:var(--rosewood);flex-shrink:0;}
.gift-check em{font-weight:400;font-style:normal;color:rgba(27,22,19,0.65);font-size:13px;}

/* Gift box: show wide product photos in full instead of cropping the sides */
.gallery-main--fit img{object-fit:contain;}
.details-image--fit{align-self:start;background:#fff;}
.details-image--fit img{height:auto;object-fit:contain;}
@media(max-width:900px){.details-image--fit{height:auto;}}

</style>
