/* ==========================================================================
   Bless — drinkbless.com
   Mission Protein Co., Ltd.
   ========================================================================== */

:root{
  --blue:#3162ad;
  --blue-ink:#24487f;
  --blue-deep:#152340;
  --blue-card:#223458;
  --red:#e12b38;
  --red-dark:#b81e29;
  --yellow:#ffc20e;
  --cream:#fff8ec;
  --white:#ffffff;
  --ink:#152340;
  --muted:#5a6079;
  --line:#e5e2da;
  --shadow:0 2px 8px rgba(19,26,51,.06);

  --wrap:1280px;
  --gutter:20px;
  --radius:20px;
  --radius-sm:12px;

  --font:"Outfit","Noto Sans Thai",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

@media (min-width:768px){ :root{ --gutter:40px; } }
@media (min-width:1100px){ :root{ --gutter:64px; } }

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--font);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; height:auto; display:block; }
a{ color:var(--blue-ink); text-decoration:none; }
a:hover{ color:var(--red); }
h1,h2,h3{ margin:0; letter-spacing:-.04em; line-height:1.05; font-weight:800; }
p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }

:focus-visible{ outline:3px solid var(--red); outline-offset:3px; border-radius:4px; }

.skip{
  position:absolute; left:-9999px; top:0; z-index:100;
  background:var(--ink); color:#fff; padding:12px 20px; border-radius:0 0 8px 0;
}
.skip:focus{ left:0; color:#fff; }

.wrap{ max-width:var(--wrap); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter); }

/* --- buttons ------------------------------------------------------------ */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:52px; padding:0 26px;
  background:transparent;
  border:2px solid transparent; border-radius:14px;
  font-family:var(--font); font-size:16px; font-weight:700; line-height:1.2;
  cursor:pointer; text-align:center; transition:transform .12s ease, opacity .12s ease;
}
.btn:active{ transform:translateY(1px); }
.btn--red{ background:var(--red); color:#fff; }
.btn--red:hover{ background:var(--red-dark); color:#fff; }
.btn--yellow{ background:var(--yellow); color:var(--ink); }
.btn--yellow:hover{ background:#eeb200; color:var(--ink); }
.btn--dark{ background:var(--ink); color:#fff; }
.btn--dark:hover{ background:#000; color:#fff; }
.btn--white{ background:#fff; color:var(--blue-ink); }
.btn--white:hover{ background:#f2f2f2; color:var(--blue-ink); }
.btn--ghost{ border-color:var(--ink); color:var(--ink); }
.btn--ghost:hover{ background:var(--ink); color:#fff; }
.btn--block{ width:100%; }

/* --- header ------------------------------------------------------------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:var(--white);
  border-bottom:1px solid var(--line);
}
.site-header__inner{
  display:flex; align-items:center; gap:20px;
  min-height:68px;
}
.logo{ display:block; flex-shrink:0; line-height:0; }
.logo img{ height:19px; width:auto; }
@media (min-width:1024px){ .logo img{ height:22px; } }
.site-footer .logo img{ height:21px; }

.nav{ display:none; }
@media (min-width:1024px){
  .site-header__inner{ min-height:84px; }
  .nav{ display:flex; gap:28px; flex-grow:1; }
  .nav a{ color:var(--ink); font-size:15px; font-weight:600; }
  .nav a:hover{ color:var(--red); }
}

.header-end{ display:flex; align-items:center; gap:12px; margin-left:auto; }
.lang{ display:flex; align-items:center; gap:6px; font-size:14px; font-weight:700; }
.lang a{ color:var(--muted); }
.lang a[aria-current="true"]{ color:var(--ink); }
.lang span{ color:#b9bccb; }

.header-cta{ display:none; }
@media (min-width:1024px){ .header-cta{ display:inline-flex; min-height:46px; padding:0 20px; font-size:15px; } }

.burger{
  width:46px; height:46px; padding:0;
  border:0; border-radius:var(--radius-sm); background:#fff3d4;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
}
@media (min-width:1024px){ .burger{ display:none; } }

.mobile-nav{
  display:none;
  border-top:1px solid var(--line);
  background:var(--white);
  padding:12px var(--gutter) 24px;
}
.mobile-nav.is-open{ display:block; }
.mobile-nav a{
  display:block; padding:14px 0; font-size:17px; font-weight:600; color:var(--ink);
  border-bottom:1px solid var(--line);
}
.mobile-nav .btn{ margin-top:18px; }
@media (min-width:1024px){ .mobile-nav{ display:none !important; } }

/* --- hero --------------------------------------------------------------- */
.hero{ background:var(--blue); color:#fff; padding:40px 0 48px; }
.hero__grid{ display:flex; flex-direction:column; gap:26px; }
.eyebrow{
  display:inline-flex; align-self:flex-start; align-items:center;
  min-height:32px; padding:4px 14px; border-radius:9px;
  background:var(--yellow); color:var(--ink);
  font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
}
.hero h1{ font-size:clamp(46px,10.5vw,94px); letter-spacing:-.055em; line-height:.94; }
.hero h1 em{ font-style:normal; color:var(--yellow); display:block; }
.hero__lead{ font-size:clamp(17px,2.2vw,21px); line-height:1.55; color:#e3eaf9; max-width:34em; }
.hero__media{ border-radius:24px; overflow:hidden; background:#fff; }
.hero__media img{ width:100%; height:300px; object-fit:cover; }
.hero__actions{ display:flex; flex-direction:column; gap:12px; }

@media (min-width:768px){
  .hero__actions{ flex-direction:row; }
  .hero__actions .btn{ min-height:58px; padding:0 32px; font-size:17px; }
  .hero__media img{ height:420px; }
}
@media (min-width:1024px){
  .hero{ padding:0; }
  .hero__grid{
    flex-direction:row; align-items:center; gap:56px;
    min-height:640px; padding:56px 0;
  }
  .hero__text{ width:52%; display:flex; flex-direction:column; gap:24px; }
  .hero__media{ width:48%; }
  .hero__media img{ height:560px; }
}

/* --- ticker ------------------------------------------------------------- */
.ticker{
  background:var(--yellow); color:var(--ink);
  padding:14px 0;
  font-size:12px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
}
.ticker ul{ display:flex; flex-wrap:wrap; gap:8px 16px; align-items:center; }
.ticker li::after{ content:"✦"; margin-left:16px; color:#a8811a; }
.ticker li:last-child::after{ content:none; }
@media (min-width:1024px){
  .ticker{ font-size:15px; padding:22px 0; }
  .ticker ul{ justify-content:space-between; flex-wrap:nowrap; }
}

/* --- generic section ---------------------------------------------------- */
.section{ padding:52px 0; }
@media (min-width:1024px){ .section{ padding:76px 0; } }
.section--white{ background:var(--white); }
.section--dark{ background:var(--blue-deep); color:#fff; }
.section--yellow{ background:var(--yellow); color:var(--ink); }

.section__head{ display:flex; flex-direction:column; gap:10px; margin-bottom:28px; }
.section__head h2{ font-size:clamp(32px,5.5vw,50px); }
.section__head p{ font-size:17px; color:var(--muted); }
.section--dark .section__head p{ color:#b6bcd4; }
@media (min-width:900px){
  .section__head{ flex-direction:row; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:36px; }
  .section__head p{ max-width:34em; }
  .section__head--stack{ flex-direction:column; align-items:flex-start; }
}

/* --- product cards ------------------------------------------------------ */
.shots{ display:grid; gap:20px; }
@media (min-width:900px){ .shots{ grid-template-columns:1fr 1fr; gap:24px; } }

.shot{
  border-radius:24px; padding:24px; color:#fff;
  display:flex; flex-direction:column; gap:14px;
}
.shot--red{ background:var(--red); }
.shot--blue{ background:var(--blue); }
.shot img{ width:100%; height:200px; object-fit:contain; background:#fff; border-radius:14px; }
.shot__kicker{ font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.shot--red .shot__kicker{ color:#ffd4d7; }
.shot--blue .shot__kicker{ color:#e4ebf9; }
.shot h3{ font-size:clamp(30px,4.5vw,44px); }
.shot p{ font-size:16px; line-height:1.5; }
.shot--red p{ color:#ffe2e4; }
.shot--blue p{ color:#e5ebfa; }
.chips{ display:flex; flex-wrap:wrap; gap:8px; }
.shot .chips{ margin-bottom:12px; }
.chip{
  display:inline-flex; align-items:center; min-height:30px; padding:4px 13px;
  border-radius:999px; background:#fff; font-size:13px; font-weight:700;
}
.shot--red .chip{ color:var(--red-dark); }
.shot--blue .chip{ color:var(--blue-ink); }
.shot .btn{ margin-top:auto; }

@media (min-width:1100px){
  .shot{ flex-direction:row; align-items:center; gap:24px; padding:34px; }
  .shot__body{ width:52%; display:flex; flex-direction:column; gap:14px; }
  .shot img{ width:48%; height:300px; }
  .shot .btn{ align-self:flex-start; }
}

/* --- bottles banner ----------------------------------------------------- */
.bottles{
  margin-top:20px; background:#fff; border:2px solid var(--yellow);
  border-radius:24px; padding:24px;
  display:flex; flex-direction:column; gap:14px;
}
.bottles__imgs{ display:flex; gap:12px; justify-content:center; }
.bottles__imgs img{ width:92px; height:124px; object-fit:contain; }
.bottles h3{ font-size:clamp(24px,3.6vw,32px); }
.bottles p{ color:var(--muted); font-size:16px; }
@media (min-width:900px){
  .bottles{ flex-direction:row; align-items:center; gap:32px; padding:28px 34px; }
  .bottles__imgs img{ width:104px; height:142px; }
  .bottles__body{ flex-grow:1; display:flex; flex-direction:column; gap:8px; }
  .bottles .btn{ flex-shrink:0; }
}

/* --- numbered cards ----------------------------------------------------- */
.steps{ display:grid; gap:16px; }
@media (min-width:900px){ .steps{ grid-template-columns:repeat(3,1fr); gap:22px; } }
.step{
  border-radius:18px; padding:24px; display:flex; flex-direction:column; gap:8px;
  background:#fff; box-shadow:var(--shadow);
}
.section--dark .step{ background:var(--blue-card); box-shadow:none; }
.step__n{ font-size:26px; font-weight:800; letter-spacing:-.04em; }
.section--dark .step__n{ color:var(--yellow); }
.step__n--red{ color:var(--red); }
.step h3{ font-size:21px; font-weight:700; letter-spacing:-.02em; }
.step p{ font-size:15px; line-height:1.55; color:var(--muted); }
.section--dark .step p{ color:#b6bcd4; }

/* --- story -------------------------------------------------------------- */
.story{ display:flex; flex-direction:column; gap:24px; }
.story__media{ border-radius:24px; overflow:hidden; background:#f1ebe1; }
.story__media img{ width:100%; height:260px; object-fit:cover; }
.story__body{ display:flex; flex-direction:column; gap:16px; }
.story__kicker{ font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--red); }
.story h2{ font-size:clamp(30px,5vw,46px); }
.story p{ font-size:17px; line-height:1.7; color:var(--muted); }
.story .btn{ align-self:flex-start; }
@media (min-width:1000px){
  .story{ flex-direction:row; align-items:center; gap:56px; }
  .story__media{ width:44%; flex-shrink:0; }
  .story__media img{ height:360px; }
}

/* --- where to buy ------------------------------------------------------- */
.channels{ display:grid; gap:16px; }
@media (min-width:768px){ .channels{ grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; } }
.channel{
  border-radius:20px; padding:22px 24px; min-height:110px;
  display:flex; flex-direction:column; justify-content:center; gap:4px;
  color:var(--ink); border:2px solid var(--line); background:#fff;
}
.channel:hover{ color:var(--ink); border-color:var(--ink); }
.channel--line{ background:var(--yellow); border-color:var(--yellow); }
.channel--line:hover{ border-color:var(--ink); }
.channel strong{ font-size:23px; font-weight:800; letter-spacing:-.03em; }
.channel span{ font-size:15px; color:var(--muted); }
.channel--line span{ color:#4a4330; }

.stockists{
  margin-top:20px; background:var(--cream); border-radius:20px; padding:22px 24px;
  display:flex; flex-direction:column; gap:14px;
}
.section--white .stockists{ background:var(--cream); }
.stockists__label{ font-size:14px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.stockists__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
@media (min-width:900px){
  .stockists{ flex-direction:row; align-items:center; gap:32px; }
  .stockists__label{ width:160px; flex-shrink:0; }
  .stockists__grid{ grid-template-columns:repeat(4,1fr); flex-grow:1; gap:16px; }
}
.stockists__grid div{
  min-height:54px; border-radius:var(--radius-sm); border:2px dashed #d8d3c6;
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:600; color:#8b8676; text-align:center; padding:6px;
}

/* --- trade -------------------------------------------------------------- */
.trade{ display:flex; flex-direction:column; gap:22px; }
.trade__kicker{ font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#8a6a00; }
.trade h2{ font-size:clamp(30px,5vw,46px); }
.trade p{ font-size:17px; line-height:1.55; color:#3d3a2a; max-width:40em; }
.trade__actions{ display:flex; flex-direction:column; gap:12px; }
@media (min-width:1000px){
  .trade{ flex-direction:row; align-items:center; gap:56px; }
  .trade__body{ flex-grow:1; display:flex; flex-direction:column; gap:14px; }
  .trade__actions{ width:300px; flex-shrink:0; }
}

/* --- faq ---------------------------------------------------------------- */
.faq{ display:grid; gap:20px; }
@media (min-width:900px){ .faq{ grid-template-columns:1fr 1fr; gap:20px 48px; } }
.faq__item{ border-top:2px solid var(--line); padding-top:14px; display:flex; flex-direction:column; gap:6px; }
.faq__item h3{ font-size:19px; font-weight:700; letter-spacing:-.02em; }
.faq__item p{ font-size:15px; line-height:1.55; color:var(--muted); }

/* --- footer ------------------------------------------------------------- */
.site-footer{ background:#fff; border-top:1px solid var(--line); padding:40px 0 32px; }
.site-footer__grid{ display:flex; flex-direction:column; gap:26px; }
.site-footer .logo{ margin-bottom:10px; }
.site-footer address{ font-style:normal; font-size:13px; line-height:1.7; color:var(--muted); }
.footer-links{ display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; }
.footer-links a{ color:var(--ink); font-size:14px; font-weight:500; }
.footer-links a:hover{ color:var(--red); }
.legal{ font-size:12px; line-height:1.7; color:#6f7590; }
@media (min-width:900px){
  .site-footer{ padding:48px 0 40px; }
  .site-footer__grid{ flex-direction:row; gap:48px; }
  .site-footer__brand{ width:320px; flex-shrink:0; }
  .footer-links{ flex-grow:1; grid-template-columns:repeat(3,1fr); }
  .legal{ width:240px; flex-shrink:0; }
}

/* --- legal page --------------------------------------------------------- */
.doc{ background:#fff; padding:48px 0 64px; }
.doc__inner{ max-width:760px; }
.doc h1{ font-size:clamp(32px,6vw,48px); margin-bottom:8px; }
.doc .doc__date{ color:var(--muted); font-size:15px; margin-bottom:32px; }
.doc h2{ font-size:24px; margin:32px 0 10px; }
.doc p, .doc li{ font-size:16px; line-height:1.75; color:#3c4257; }
.doc ul{ list-style:disc; padding-left:22px; margin:10px 0; }
.doc li{ margin-bottom:6px; }

/* --- enquiry form ------------------------------------------------------- */
.form-card{
  background:#fff; border-radius:24px; padding:26px;
  display:flex; flex-direction:column; gap:16px;
}
@media (min-width:768px){ .form-card{ padding:34px; } }
.form-card h3{ font-size:clamp(24px,3.4vw,30px); }
.form-card > p{ font-size:15px; color:var(--muted); }
.field{ display:flex; flex-direction:column; gap:6px; }
.field label{ font-size:14px; font-weight:700; }
.field .hint{ font-size:13px; font-weight:400; color:var(--muted); }
.field input,
.field select,
.field textarea{
  font-family:var(--font); font-size:16px; color:var(--ink);
  background:var(--cream); border:2px solid var(--line); border-radius:var(--radius-sm);
  padding:13px 14px; min-height:52px; width:100%;
}
.field textarea{ min-height:120px; resize:vertical; }
.field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--blue); outline:none; }
.field-row{ display:grid; gap:16px; }
@media (min-width:700px){ .field-row{ grid-template-columns:1fr 1fr; } }
.check{
  display:flex; align-items:flex-start; gap:12px;
  background:var(--cream); border:2px solid var(--line); border-radius:var(--radius-sm);
  padding:14px; cursor:pointer;
}
.check input{ width:22px; height:22px; margin:0; flex-shrink:0; accent-color:var(--blue); }
.check span{ font-size:15px; font-weight:600; line-height:1.4; }
.check small{ display:block; font-weight:400; color:var(--muted); font-size:13px; margin-top:2px; }
.form-note{ font-size:13px; line-height:1.6; color:var(--muted); }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }



/* --- cookie banner ------------------------------------------------------ */
.cookie{
  position:fixed; left:12px; right:12px; bottom:12px; z-index:80;
  background:var(--blue-deep); color:#fff;
  border-radius:18px; padding:20px;
  display:none; flex-direction:column; gap:14px;
  box-shadow:0 10px 40px rgba(0,0,0,.3);
}
.cookie.is-open{ display:flex; }
.cookie p{ font-size:14px; line-height:1.6; color:#c6cbdd; }
.cookie a{ color:var(--yellow); text-decoration:underline; }
.cookie a:hover{ color:#fff; }
.cookie__actions{ display:flex; flex-direction:column; gap:10px; }
.cookie .btn{ min-height:48px; font-size:15px; }
.cookie .btn--ghost{ border-color:#4a5170; color:#fff; }
.cookie .btn--ghost:hover{ background:#2a3350; color:#fff; }
@media (min-width:768px){
  .cookie{ left:auto; right:24px; bottom:24px; max-width:460px; padding:24px; }
  .cookie__actions{ flex-direction:row; }
  .cookie__actions .btn{ flex-grow:1; }
}

/* --- product page ------------------------------------------------------- */
.pdp{ padding:32px 0 8px; }
.pdp__grid{ display:flex; flex-direction:column; gap:26px; }
.pdp__media{ background:#fff; border-radius:24px; padding:20px; }
.pdp__media img{ width:100%; height:300px; object-fit:contain; }
.pdp__body{ display:flex; flex-direction:column; gap:16px; }
.pdp__kicker{ font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.pdp h1{ font-size:clamp(38px,8vw,64px); }
.pdp__lead{ font-size:18px; line-height:1.6; color:var(--muted); }
.price{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.price strong{ font-size:34px; font-weight:800; letter-spacing:-.04em; }
.price span{ font-size:15px; color:var(--muted); }
.pdp__actions{ display:flex; flex-direction:column; gap:12px; }
@media (min-width:600px){ .pdp__actions{ flex-direction:row; } }
@media (min-width:1000px){
  .pdp{ padding:56px 0 16px; }
  .pdp__grid{ flex-direction:row; align-items:center; gap:64px; }
  .pdp__media{ width:46%; flex-shrink:0; padding:32px; }
  .pdp__media img{ height:440px; }
}

.spec{ width:100%; border-collapse:collapse; background:#fff; border-radius:18px; overflow:hidden; }
.spec caption{ text-align:left; font-size:21px; font-weight:700; letter-spacing:-.02em; padding:0 0 12px; }
.spec th, .spec td{ text-align:left; padding:14px 18px; font-size:15px; border-bottom:1px solid var(--line); }
.spec th{ font-weight:600; color:var(--muted); width:52%; }
.spec td{ font-weight:700; }
.spec tr:last-child th, .spec tr:last-child td{ border-bottom:0; }
.two-col{ display:grid; gap:28px; }
@media (min-width:900px){ .two-col{ grid-template-columns:1fr 1fr; gap:32px; } }

.crumbs{ font-size:14px; color:var(--muted); padding:16px 0 0; }
.crumbs a{ color:var(--muted); }
.crumbs a:hover{ color:var(--red); }

/* --- article / story ---------------------------------------------------- */
.article{ background:#fff; }
.article__hero{ padding:40px 0 0; }
.article__hero h1{ font-size:clamp(36px,7vw,62px); max-width:16em; }
.article__hero p{ font-size:19px; line-height:1.6; color:var(--muted); max-width:38em; margin-top:16px; }
.article__figure{ margin:32px 0 0; border-radius:24px; overflow:hidden; }
.article__figure img{ width:100%; height:260px; object-fit:cover; }
@media (min-width:900px){ .article__figure img{ height:420px; } }
.prose{ max-width:720px; padding:40px 0 8px; }
.prose h2{ font-size:clamp(26px,4vw,36px); margin:36px 0 12px; }
.prose h2:first-child{ margin-top:0; }
.prose p{ font-size:17px; line-height:1.8; color:#3c4257; margin-bottom:16px; }
.pull{
  border-left:4px solid var(--yellow); padding:4px 0 4px 20px; margin:28px 0;
  font-size:21px; line-height:1.5; font-weight:600; color:var(--ink);
}
.factbox{
  background:var(--cream); border-radius:18px; padding:24px; margin:28px 0;
  display:flex; flex-direction:column; gap:10px;
}
.factbox h3{ font-size:19px; font-weight:700; }
.factbox p{ font-size:15px; line-height:1.65; color:var(--muted); margin:0; }

/* cross-sell cards on product pages */
.two-col .bottles{ align-items:center; }
.two-col .bottles__imgs img{ width:120px; height:150px; }
@media (min-width:900px){ .two-col .bottles__imgs img{ width:132px; height:168px; } }

/* --- enquiry call-to-action --------------------------------------------- */
.form-cta{
  background:#fff; border-radius:24px; padding:26px;
  display:flex; flex-direction:column; gap:16px;
}
.form-cta h3{ font-size:clamp(24px,3.4vw,30px); }
.form-cta > p{ font-size:16px; line-height:1.6; color:var(--muted); }
.form-cta__list{ display:flex; flex-direction:column; gap:10px; }
.form-cta__list li{
  display:flex; gap:10px; align-items:flex-start;
  font-size:15px; line-height:1.55; color:#3c4257;
}
.form-cta__list svg{ flex-shrink:0; margin-top:3px; }
.form-cta__actions{ display:flex; flex-direction:column; gap:12px; }
.form-cta .btn{ min-height:58px; font-size:17px; }
.form-cta__note{ font-size:13px; line-height:1.6; color:var(--muted); }
@media (min-width:768px){ .form-cta{ padding:34px; } }
@media (min-width:1000px){
  .trade--form{ align-items:center; }
  .trade--form .form-cta{ width:460px; flex-shrink:0; }
}

/* --- label blocks ------------------------------------------------------- */
.warning{
  border:2px solid var(--red); border-radius:18px; padding:20px 22px;
  background:#fff; display:flex; flex-direction:column; gap:8px;
}
.warning h3{ font-size:18px; font-weight:800; color:var(--red); letter-spacing:-.01em; }
.warning p, .warning li{ font-size:15px; line-height:1.6; color:#3c4257; }
.warning ul{ list-style:disc; padding-left:20px; display:flex; flex-direction:column; gap:4px; }

.marks{ display:flex; flex-wrap:wrap; gap:10px; }
.mark{
  display:inline-flex; align-items:center; min-height:34px; padding:6px 14px;
  border-radius:999px; background:var(--cream); border:2px solid var(--line);
  font-size:13px; font-weight:700; color:#4a4330;
}
.ingredients{
  background:#fff; border-radius:18px; padding:24px;
  display:flex; flex-direction:column; gap:10px;
}
.ingredients h3{ font-size:21px; font-weight:700; letter-spacing:-.02em; }
.ingredients p{ font-size:15px; line-height:1.7; color:#3c4257; }
.ingredients dt{ font-size:13px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; margin-top:8px; }
.ingredients dd{ margin:4px 0 0; font-size:15px; line-height:1.7; color:#3c4257; }
.spec tfoot td{ font-size:13px; color:var(--muted); font-weight:400; padding-top:12px; }

/* --- footer social row -------------------------------------------------- */
.social{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px;
  margin-top:14px; font-size:14px;
}
.social span{ font-weight:700; color:var(--muted); }
.social a{ color:var(--ink); font-weight:600; border-bottom:2px solid var(--line); }
.social a:hover{ color:var(--red); border-bottom-color:var(--red); }

/* September update: product clarity and accessible controls */
.product-note,.delivery-note{font-size:15px;line-height:1.7;margin:20px 0;color:var(--muted)}
.shot__body>.btn{margin-top:8px;white-space:normal;text-align:center}
.cookie-settings{padding-top:16px;padding-bottom:20px}
.cookie-settings__button{background:none;border:0;padding:8px 0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
.bottle-pair{display:flex;align-items:center;justify-content:center;gap:8px}
.bottle-pair img{width:48%;object-fit:contain}
.pdp__body{min-width:0}.pdp__actions{flex-wrap:wrap}
.bottles__body a{text-decoration:underline;text-underline-offset:4px}
.cookie{max-height:85vh;overflow:auto}
:focus-visible{outline:3px solid #e12b38;outline-offset:4px}
@media(max-width:599px){.pdp__actions .btn{width:100%}.spec th,.spec td{overflow-wrap:anywhere}.hero__media img{object-fit:contain;background:#fff}.bottle-pair img{height:240px}}
