/* ===================================================================
   GUMITIDE — theme layer over Bootstrap 5.3
   Bootstrap supplies the grid, navbar collapse, accordion and cards.
   This file re-skins those components rather than replacing them.

   Palette: cherry #a8202e | gold #e8b04b | cream #fff8f0
            cocoa #2b1d1b | stone #6d6360 | rule #ecdfd2
   Display: 'Syne'   Body: 'Hanken Grotesk'
   Signature: seven-segment formula ring
=================================================================== */

:root{
  --gt-cherry:#a8202e;
  --gt-cherry-dk:#87101d;
  --gt-gold:#e8b04b;
  --gt-cream:#fff8f0;
  --gt-shell:#f7ece0;
  --gt-cocoa:#2b1d1b;
  --gt-stone:#6d6360;
  --gt-rule:#ecdfd2;

  /* Bootstrap overrides */
  --bs-body-bg:#fff8f0;
  --bs-body-color:#2b1d1b;
  --bs-body-font-family:'Hanken Grotesk',system-ui,sans-serif;
  --bs-body-font-size:1.0625rem;
  --bs-body-line-height:1.7;
  --bs-border-color:#ecdfd2;
  --bs-link-color:#a8202e;
  --bs-link-hover-color:#87101d;
}

h1,h2,h3,h4,h5{font-family:'Syne',sans-serif;font-weight:700;letter-spacing:-.02em;color:var(--gt-cocoa);}
h1{line-height:1.14;}

.gm-eyebrow{
  font-family:'Hanken Grotesk',sans-serif;text-transform:uppercase;
  letter-spacing:2.6px;font-weight:700;font-size:.72rem;color:var(--gt-cherry);
}

/* ---------- Buttons ---------- */
.btn-cherry{
  background:var(--gt-cherry);color:#fff;font-weight:700;
  border:none;border-radius:.6rem;padding:.85rem 1.7rem;
}
.btn-cherry:hover,.btn-cherry:focus{background:var(--gt-cherry-dk);color:#fff;}
.btn-outline-cocoa{
  border:2px solid var(--gt-cocoa);color:var(--gt-cocoa);font-weight:700;
  border-radius:.6rem;padding:.75rem 1.5rem;background:transparent;
}
.btn-outline-cocoa:hover{background:var(--gt-cocoa);color:var(--gt-cream);}

/* ---------- Top strip + navbar ---------- */
.gm-strip{background:var(--gt-cocoa);color:#c3b4ac;font-size:.73rem;}
.gm-nav{background:var(--gt-cream);border-bottom:2px solid var(--gt-cocoa);}
.gm-brand{font-family:'Syne',sans-serif;font-weight:800;font-size:1.4rem;color:var(--gt-cocoa);}
.gm-brand span{color:var(--gt-cherry);}
.navbar-nav .nav-link{font-weight:600;font-size:.93rem;color:var(--gt-cocoa);}
.navbar-nav .nav-link:hover{color:var(--gt-cherry);}
.navbar-toggler{border-color:var(--gt-cocoa);}
.navbar-toggler:focus{box-shadow:none;}

/* ---------- Hero ---------- */
.gm-hero{background:var(--gt-shell);border-bottom:1px solid var(--gt-rule);}
.gm-hero h1{font-size:clamp(2rem,4.4vw,3rem);}
.gm-hero h1 em{font-style:normal;color:var(--gt-cherry);}
.gm-hero-img img{max-width:min(300px,100%);margin-inline:auto;}
.gm-chip{
  display:inline-block;background:#fff;border:1px solid var(--gt-rule);
  border-radius:2rem;padding:.3rem .85rem;font-size:.78rem;font-weight:600;color:var(--gt-cocoa);
}

/* signature ring */
.gm-ring svg{width:190px;height:190px;}
.gm-ring-seg{fill:none;stroke-width:14;stroke-linecap:butt;}
.gm-ring-hole{fill:var(--gt-shell);}
.gm-ring-num{font-family:'Syne',sans-serif;font-weight:800;font-size:38px;fill:var(--gt-cocoa);}
.gm-ring-cap{font-family:'Hanken Grotesk',sans-serif;font-size:10px;font-weight:700;letter-spacing:1.6px;fill:var(--gt-stone);}

/* ---------- Sections ---------- */
.gm-sec{padding:4.5rem 0;}
.gm-shell{background:var(--gt-shell);}
.gm-dark{background:var(--gt-cocoa);color:#cbbcb4;}
.gm-dark h2,.gm-dark h3,.gm-dark h4{color:#fff;}
.gm-lead{color:var(--gt-stone);}
.gm-dark .gm-lead{color:#b3a49c;}

/* ---------- Cards ---------- */
.gm-card{background:#fff;border:1px solid var(--gt-rule);border-radius:.9rem;height:100%;}
.gm-card .card-body{padding:1.5rem;}
.gm-card h4{font-size:1.02rem;}
.gm-card p{color:var(--gt-stone);font-size:.92rem;margin-bottom:0;}
.gm-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.1rem;height:2.1rem;border-radius:.5rem;background:var(--gt-cherry);color:#fff;
  font-family:'Syne',sans-serif;font-weight:800;font-size:.85rem;margin-bottom:.75rem;
}
.gm-num.gold{background:var(--gt-gold);color:var(--gt-cocoa);}

/* quality marks */
.gm-q{background:#fff;border:1px solid var(--gt-rule);border-radius:.75rem;padding:1.25rem .75rem;text-align:center;height:100%;}
.gm-q img{max-width:min(120px,100%);margin:0 auto .6rem;}
.gm-q p{margin:0;font-weight:700;font-size:.86rem;}

/* ---------- Ingredient rows ---------- */
.gm-ing{background:#fff;border:1px solid var(--gt-rule);border-left:5px solid var(--gt-gold);border-radius:.6rem;padding:1.15rem 1.3rem;height:100%;}
.gm-ing h4{font-size:1rem;margin-bottom:.35rem;}
.gm-ing p{color:var(--gt-stone);font-size:.89rem;margin:0;}

/* ---------- Gallery ---------- */
.gm-shot{border-radius:.9rem;overflow:hidden;border:1px solid var(--gt-rule);}
.gm-shot img{width:100%;}

/* ---------- Quotes ---------- */
.gm-quote{background:#fff;border:1px solid var(--gt-rule);border-radius:.9rem;padding:1.6rem;height:100%;}
.gm-quote .stars{color:var(--gt-gold);letter-spacing:2px;}
.gm-quote p{color:var(--gt-stone);font-size:.93rem;}
.gm-quote .who{font-weight:700;font-size:.9rem;color:var(--gt-cocoa);}
.gm-quote .where{font-size:.79rem;color:var(--gt-stone);}

/* ---------- Pricing ---------- */
.gm-price{background:#fff;border:2px solid var(--gt-rule);border-radius:1rem;padding:1.75rem 1.25rem;text-align:center;height:100%;position:relative;display:flex;flex-direction:column;}
.gm-price.hot{border-color:var(--gt-cherry);}
.gm-flag{
  position:absolute;top:-.85rem;left:50%;transform:translateX(-50%);
  background:var(--gt-cherry);color:#fff;font-size:.7rem;font-weight:700;
  letter-spacing:1px;text-transform:uppercase;padding:.3rem 1rem;border-radius:2rem;white-space:nowrap;
}
.gm-flag.gold{background:var(--gt-gold);color:var(--gt-cocoa);}
.gm-price img{max-width:min(150px,100%);margin:.25rem auto 1rem;}
.gm-price .per{font-family:'Syne',sans-serif;font-weight:800;font-size:2.1rem;line-height:1;}
.gm-price .per small{font-family:'Hanken Grotesk',sans-serif;font-size:.82rem;font-weight:400;color:var(--gt-stone);}
.gm-price .tot{font-weight:700;margin:.6rem 0 .15rem;font-size:.95rem;}
.gm-price .shp{font-size:.82rem;color:var(--gt-stone);margin-bottom:.9rem;}
.gm-price .shp.free{color:var(--gt-cherry);font-weight:700;}
.gm-price .btn-cherry{margin-top:auto;width:100%;}

/* ---------- Alert boxes ---------- */
.gm-warn{background:#fff5e6;border:2px solid var(--gt-gold);border-radius:.9rem;padding:1.6rem 1.75rem;}
.gm-warn h4{color:#7c5a12;font-size:1.02rem;}
.gm-warn p,.gm-warn li{color:#5a4526;font-size:.91rem;}
.gm-warn ul{margin-bottom:0;padding-left:1.15rem;}
.gm-warn li{margin-bottom:.4rem;}

.gm-note{background:#fff;border:1px solid var(--gt-cocoa);border-left:6px solid var(--gt-cherry);border-radius:.6rem;padding:1.6rem 1.75rem;}
.gm-note h4{font-size:1.05rem;}
.gm-note p{color:var(--gt-stone);font-size:.93rem;margin-bottom:.6rem;}
.gm-note p:last-child{margin-bottom:0;}

/* ---------- Accordion re-skin ---------- */
.accordion-item{background:transparent;border:none;border-top:1px solid var(--gt-rule);}
.accordion-item:last-of-type{border-bottom:1px solid var(--gt-rule);}
.accordion-button{
  background:transparent;font-family:'Syne',sans-serif;font-weight:700;
  font-size:1.02rem;color:var(--gt-cocoa);padding:1.15rem .25rem;box-shadow:none;
}
.accordion-button:not(.collapsed){background:transparent;color:var(--gt-cherry);box-shadow:none;}
.accordion-button:focus{box-shadow:none;}
.accordion-body{padding:0 .25rem 1.15rem;color:var(--gt-stone);font-size:.93rem;}

/* ---------- Guarantee ---------- */
.gm-refund{background:#fff;border:1px solid var(--gt-rule);border-radius:1rem;padding:2.25rem;}
.gm-refund img{max-width:min(170px,100%);margin-inline:auto;}

/* ---------- Footer ---------- */
.gm-foot{background:var(--gt-cocoa);color:#9b8d86;font-size:.85rem;padding:2.75rem 0 1.75rem;}
.gm-foot a{color:#cbbcb4;text-decoration:none;}
.gm-foot a:hover{color:var(--gt-gold);}
.gm-foot hr{border-color:rgba(255,255,255,.14);}

/* ---------- Sticky bar ---------- */
.gm-sticky{
  position:fixed;inset:auto 0 0 0;z-index:1040;background:var(--gt-cocoa);
  padding:.55rem 1rem;display:none;align-items:center;justify-content:space-between;gap:.75rem;
  border-top:3px solid var(--gt-gold);
}
.gm-sticky b{font-family:'Syne',sans-serif;color:var(--gt-gold);font-size:1.05rem;}
.gm-sticky small{display:block;color:#9b8d86;font-size:.7rem;}
@media(max-width:991.98px){.gm-sticky{display:flex;}body{padding-bottom:66px;}}

/* guard rails */
img{max-width:100%;height:auto;}
