/* ============================================================
   Medtooldirect — Figma canvas "Medtooldirect" (606:94), 1440px canvas.
   Desktop = exact Figma coordinates. 768–1439px = proportional zoom.
   ≤767px = mobile reflow with hamburger menu.
   Frames: Landing 607:1444 [3427] · Products 606:1071 [2590]
           Empty-cart 606:1124 [1191] · Product-details 606:1171 [2633]
           Checkout 606:1210 [2550]
   ============================================================ */

/* ---------- Fonts ---------- */
@font-face{font-family:'Mona Sans';src:url('../fonts/Mona-Sans-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Mona Sans';src:url('../fonts/Mona-Sans-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'Mona Sans';src:url('../fonts/Mona-Sans-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'Mona Sans';src:url('../fonts/Mona-Sans-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Manrope';src:url('../fonts/Manrope-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Manrope';src:url('../fonts/Manrope-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'Manrope';src:url('../fonts/Manrope-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'Manrope';src:url('../fonts/Manrope-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Manrope';src:url('../fonts/Manrope-ExtraBold.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:'Inter Display';src:url('../fonts/InterDisplay-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Inter Display';src:url('../fonts/InterDisplay-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
/* Inter — Google Fonts (variable; the whole weight range is one file per subset) */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('../fonts/Inter-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('../fonts/Inter-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Design tokens (read from the Figma nodes) ---------- */
:root{
  --accent:#ffa74d;                  /* every button fill */
  --ink:#464646;                     /* headings, nav, card names, detail price, qty numeral */
  --body:#17110f;                    /* descriptions, footer address block, field labels */
  --dark:#202327;                    /* "Shipping Information" / "Payment" */
  --price:#353535;                   /* product-card prices */
  --panel:rgba(255,167,77,.05);      /* the six product-card panels */
  --panel-lg:rgba(255,167,77,.15);   /* detail + checkout product panel */
  --chip:rgba(255,167,77,.15);       /* card add-to-cart chip */
  --chip-hdr:#eceae6;                /* header cart chip */
  --rule:#eceae6;                    /* header + section hairlines */
  --rule-ftr:rgba(0,0,0,.13);        /* the footer hairline is a DIFFERENT colour */
  --field-line:#464646;
}

/* ---------- Base ---------- */
*{margin:0;padding:0;box-sizing:border-box}
html,body{background:#fff}
body{font-family:'Inter Display','Inter',sans-serif}
img{display:block}
a{text-decoration:none;color:inherit}
p{margin:0}
button{border:none;background:none;cursor:pointer;font:inherit;padding:0}

.canvas{width:1440px;margin:0 auto;position:relative}
.pg-landing  .canvas{height:3427px}
.pg-products .canvas{height:2590px}
.pg-cart     .canvas{height:1191px}
.pg-detail   .canvas{height:2633px}
.pg-checkout .canvas{height:2550px}

.el{position:absolute}
.wrap{position:static}
.band{position:absolute;left:50%;transform:translateX(-50%);width:max(1440px,100vw)}

/* ---------- Type ---------- */
.mona{font-family:'Mona Sans',sans-serif;font-weight:700;color:var(--ink)}
/* the hero headline alone is 70/80 — every other 80px heading is 80/90 */
.h-70{font-size:70px;line-height:80px;letter-spacing:.7px}
.h-80{font-size:80px;line-height:90px;letter-spacing:.8px}
.h-40{font-size:40px;line-height:43px;letter-spacing:.4px}
.h-40-90{font-size:40px;line-height:90px;letter-spacing:.4px;color:var(--dark)}
.body-18{font-family:'Inter Display','Inter',sans-serif;font-weight:400;font-size:18px;letter-spacing:.18px;color:var(--body);line-height:normal}
.body-16{font-family:'Inter Display','Inter',sans-serif;font-weight:400;font-size:16px;letter-spacing:.16px;color:var(--body);line-height:22px}
.label-17{font-family:'Inter Display','Inter',sans-serif;font-weight:400;font-size:17px;letter-spacing:.17px;color:var(--body);line-height:normal}
.nav-b{font-family:'Inter',sans-serif;font-weight:700;font-size:18px;letter-spacing:.18px;color:var(--ink);line-height:normal;white-space:nowrap}
.link-sb{font-family:'Inter',sans-serif;font-weight:600;font-size:18px;letter-spacing:.18px;color:var(--ink);line-height:normal;white-space:nowrap}
/* prices are two leading-90 lines in Figma; the reported 74px box is a fixed box */
.price{font-family:'Mona Sans',sans-serif;font-weight:500;font-size:25px;letter-spacing:.25px;color:var(--price);line-height:90px;white-space:nowrap}
.price-lg{font-family:'Mona Sans',sans-serif;font-weight:500;font-size:25px;letter-spacing:.25px;color:var(--ink);line-height:90px;white-space:nowrap}

/* ---------- Buttons ---------- */
/* Figma gives these no corner radius at all — square, not pill */
.btn-acc{background:var(--accent);display:flex;align-items:center;justify-content:center}
.btn-acc .lbl{font-family:'Manrope',sans-serif;font-weight:700;font-size:22px;color:#fff;text-align:center;white-space:nowrap}

/* ---------- Form fields ---------- */
.field{position:absolute;background:#fff;border:1px solid var(--field-line);border-radius:5px;
       font-family:'Inter Display','Inter',sans-serif;font-size:17px;letter-spacing:.17px;color:var(--body);padding:0 28px}
.field::placeholder{color:var(--body);opacity:1}
.field:focus{outline:none;border-color:var(--accent)}
select.field{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23464646' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 22px center;cursor:pointer}
textarea.field{padding-top:24px;resize:none;line-height:1.5}
.cbx{position:absolute;width:20px;height:20px;appearance:none;-webkit-appearance:none;background:#fff;
     border:1px solid var(--field-line);border-radius:5px;cursor:pointer;flex:0 0 20px}
.cbx:checked::after{content:'';position:absolute;left:6px;top:2px;width:5px;height:10px;
     border:solid var(--accent);border-width:0 2px 2px 0;transform:rotate(45deg)}
.cbx:checked{border-color:var(--accent)}

/* banner copy sits on the photographic band */
.ld-bn-h,.pr-h,.ld-bn-sub,.pr-sub{color:#fff}

/* hairlines — the footer's is a different colour from the rest */
.hdr-line,.ld-line19,.ce-line16,.pd-line16,.pd-line19,.ck-line16{background:var(--rule)}
.ftr-line{background:var(--rule-ftr)}

/* ---------- Header (consolidated to the 4-of-5 majority geometry) ---------- */
.site-hdr{position:static}
/* Figma crops this image fill inside the 300x76 box — these are its exact
   transform values, so the wordmark lands where Figma draws it. */
.hdr-logo{top:40px;left:120px;width:300px;height:76px;overflow:hidden;z-index:42}
.hdr-logo img{position:absolute;width:186.99%;height:404.21%;left:-43.03%;top:-150%;max-width:none}
.nav-link{top:71px;z-index:42}
.nav-all{left:793px}
.nav-contact{left:996px}
.nav-cart{left:1188px}
.hdr-cart{top:60px;left:1257px;width:54px;height:41px;background:var(--chip-hdr);border-radius:80px;z-index:42}
.hdr-cart img{position:absolute;top:10px;left:17px;width:27px;height:20.155px}
.hdr-line{top:145px;height:1px}
.hamburger{display:none}

/* ---------- Product card ---------- */
.pc-bg{position:absolute;width:375px;height:376px;background:var(--panel)}
/* chip drawn here + Figma's glyph-only export (the folder's composite SVG is
   the previous build's and still fills its chip #FF4EBA pink) */
.pc-badge{position:absolute;width:54px;height:41px;background:var(--chip);border-radius:80px}
.pc-badge img{position:absolute;top:10px;left:17px;width:18px;height:20.155px}
.pc-img{position:absolute;width:268px;height:345px;object-fit:contain;top:18px;left:63px}
/* Figma's name boxes are fixed width (the reported h=39 is the box, not the
   ink) so 2, 3 and 4 genuinely wrap to two lines; 1/5/6 are centred and
   2/3/4 are left-aligned, identically on both grids. Never add nowrap. */
.pc-name{position:absolute;font-family:'Manrope',sans-serif;font-weight:700;font-size:30px;color:var(--ink);text-align:center;line-height:normal}
.c2-nm,.c3-nm,.c4-nm,.p2-nm,.p3-nm,.p4-nm{text-align:left}
.pc-price{position:absolute}
/* card-relative image + badge offsets, identical on Landing and Products */
.c2-bg .pc-img,.p2-bg .pc-img{top:21px;left:61px;width:269px}
.c3-bg .pc-img,.p3-bg .pc-img{top:15px;left:66px}
.c5-bg .pc-img,.p5-bg .pc-img{top:41px;left:71px;width:234px;height:300px}
.c1-bg .pc-badge,.p1-bg .pc-badge{top:22px;left:300px}
.c2-bg .pc-badge,.p2-bg .pc-badge{top:26px;left:302px}
.c3-bg .pc-badge,.p3-bg .pc-badge{top:26px;left:281px}
.c4-bg .pc-badge,.p4-bg .pc-badge{top:24px;left:288px}
.c5-bg .pc-badge,.p5-bg .pc-badge{top:24px;left:279px}
.c6-bg .pc-badge,.p6-bg .pc-badge{top:24px;left:274px}

/* ---------- Qty stepper ----------
   reduce.svg / increase.svg already draw the ring AND the +/- stroke */
.qty-btn{position:absolute;width:49px;height:49px;background:none;border:none}
.qty-btn img{width:100%;height:100%;object-fit:contain}
.qty-num{position:absolute;text-align:center;font-family:'Inter',sans-serif;font-weight:400;font-size:45px;letter-spacing:.45px;color:var(--ink);line-height:normal}

/* ---------- Footer (page sets --ftr-top) ---------- */
.ftr{position:absolute;top:var(--ftr-top);left:0;width:1440px}
.ftr-terms{position:absolute;top:0;left:731px}
.ftr-privacy{position:absolute;top:0;left:983px}
.ftr-contact-l{position:absolute;top:0;left:1207px}
.ftr-clearance{position:absolute;top:70px;left:737px}
.ftr-links{
  position:absolute;top:0;left:700px;right:80px;
  display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 22px;z-index:2
}
.ftr-links a{position:static;white-space:nowrap}
.ftr-addr{position:absolute;top:4px;left:128px;width:473px}
.ftr-email{position:absolute;top:69px;left:124px;width:473px}
/* Figma underlines only the local part of the address */
.ftr-email a{text-decoration:none}
.ftr-email .u{text-decoration:underline;text-underline-position:from-font}
.ftr-phone{position:absolute;top:135px;left:128px;width:473px}
.ftr-line{position:absolute;top:230px;left:119px;width:1223px;height:1px}
.ftr-cards{position:absolute;top:314px;left:1125px;width:163px;height:35px;object-fit:contain}
.ftr-copy{position:absolute;top:315px;left:134px;width:358px}

/* ============================================================
   LANDING
   ============================================================ */
.pg-landing{--ftr-top:2982px}
.ld-hero-img{top:145px;left:727px;width:712px;height:628px;object-fit:cover}
.ld-hero-h{top:236px;left:116px;width:593px}
.ld-hero-sub{top:518px;left:117px;width:522px;color:var(--ink)}
.ld-hero-btn{top:608px;left:116px;width:310px;height:73px}
.ld-line19{top:775px;height:1px}
/* row 1 */
.c1-bg{top:920px;left:81px}   .c1-nm{top:1362px;left:81px;width:166px}   .c1-pr{top:1342px;left:355px;width:95px}
.c2-bg{top:916px;left:519px}  .c2-nm{top:1360px;left:531px;width:219px}  .c2-pr{top:1338px;left:803px;width:95px}
.c3-bg{top:916px;left:968px}  .c3-nm{top:1361px;left:971px;width:206px}  .c3-pr{top:1338px;left:1235px;width:95px}
/* row 2 */
.c4-bg{top:1546px;left:93px}  .c4-nm{top:1985px;left:114px;width:236px}  .c4-pr{top:1965px;left:370px;width:95px}
.c5-bg{top:1546px;left:542px} .c5-nm{top:1988px;left:542px;width:187px}  .c5-pr{top:1965px;left:813px;width:95px}
.c6-bg{top:1546px;left:985px} .c6-nm{top:1988px;left:985px;width:166px}  .c6-pr{top:1965px;left:1245px;width:95px}
/* banner */
.ld-banner{top:2230px;height:648px}
.ld-banner img{width:100%;height:100%;object-fit:cover}
.ld-bn-h{top:2389px;left:294px;width:859px;text-align:center}
.ld-bn-sub{top:2586px;left:430px;width:576px;text-align:center}
.ld-bn-btn{top:2642px;left:539px;width:310px;height:73px}

/* ============================================================
   PRODUCTS
   ============================================================ */
.pg-products{--ftr-top:2114px}
/* Figma has this band at y135 flush to a y135 header rule; both move to 145
   with the consolidated header so the band still meets the rule. */
.pr-banner{top:145px;height:547px}
.pr-banner img{width:100%;height:100%;object-fit:cover}
.pr-h{top:294px;left:294px;width:859px;text-align:center}
.pr-sub{top:491px;left:430px;width:576px;text-align:center}
.p1-bg{top:800px;left:81px}   .p1-nm{top:1242px;left:81px;width:166px}   .p1-pr{top:1222px;left:355px;width:95px}
.p2-bg{top:796px;left:519px}  .p2-nm{top:1240px;left:531px;width:219px}  .p2-pr{top:1218px;left:803px;width:95px}
.p3-bg{top:796px;left:968px}  .p3-nm{top:1241px;left:971px;width:206px}  .p3-pr{top:1218px;left:1235px;width:95px}
.p4-bg{top:1426px;left:93px}  .p4-nm{top:1865px;left:114px;width:236px}  .p4-pr{top:1845px;left:370px;width:95px}
.p5-bg{top:1426px;left:542px} .p5-nm{top:1868px;left:542px;width:187px}  .p5-pr{top:1845px;left:813px;width:95px}
.p6-bg{top:1426px;left:985px} .p6-nm{top:1868px;left:985px;width:166px}  .p6-pr{top:1845px;left:1245px;width:95px}

/* ============================================================
   CART (empty)
   ============================================================ */
.pg-cart{--ftr-top:770px}
.ce-h{top:236px;left:137px;width:332px}
.ce-sub{top:349px;left:138px;width:438px}
.ce-btn{top:411px;left:137px;width:310px;height:73px}
.ce-line16{top:672px;height:1px}
.pg-thanks .ce-h{width:720px;white-space:nowrap}
.pg-thanks .ce-sub{width:640px;line-height:28px}
.pg-thanks .ce-btn{top:500px}

/* ============================================================
   PRODUCT DETAIL
   ============================================================ */
.pg-detail{--ftr-top:2160px}
.pd-panel{position:absolute;top:240px;left:214px;width:375px;height:510px;background:var(--panel-lg);border-radius:4px;overflow:hidden}
.pd-img{position:absolute;top:92px;left:66px;width:268px;height:345px;object-fit:contain}
.pd-title{top:280px;left:687px;width:447px}
.pd-price{position:absolute;top:380px;left:694px;width:95px}
/* the 18x21 glyph Figma places here is filled white — invisible on the white
   page, but reproduced so the DOM matches the frame */
.pd-vec{top:816px;left:737px;width:18px;height:21.287px}
.pd-desc{top:477px;left:693px;width:483px}
.pd-minus{top:643px;left:697px}
.pd-num{top:643px;left:777px;width:24px}
.pd-plus{top:643px;left:826px}
.pd-cart{top:633px;left:912px;width:257px;height:73px}
.pd-line16{top:855px;height:1px}
.pd-about-h{top:1078px;left:235px;width:447px}
.pd-about-b{top:1157px;left:234px;width:442px}
.pd-about-img{top:965px;left:739px;width:513px;height:461px;object-fit:cover}
.pd-about-img2{top:1500px;left:207px;width:1045px;height:461px;object-fit:cover}
.pd-line19{top:2062px;height:1px}

/* ============================================================
   CHECKOUT  (this frame has no footer group in Figma)
   ============================================================ */
.ck-panel{position:absolute;top:240px;left:214px;width:375px;height:510px;background:var(--panel-lg);border-radius:4px;overflow:hidden}
.ck-title{top:280px;left:687px;width:447px}
.ck-price{position:absolute;top:380px;left:694px;width:95px}
.ck-desc{top:477px;left:693px;width:483px}
.ck-minus{top:643px;left:697px}
.ck-num{top:643px;left:777px;width:24px}
.ck-plus{top:643px;left:826px}
.ck-remove{top:633px;left:912px;width:257px;height:73px}
.ck-line16{top:875px;height:1px}

.ck-ship-h{top:936px;left:51px;width:462px;text-align:center}
.ck-ship-s{top:1030px;left:75px;width:483px}
.ck-f1{top:1156px;left:65px;width:634px;height:83px}
.ck-f2{top:1156px;left:743px;width:634px;height:83px}
.ck-f3{top:1266px;left:65px;width:634px;height:83px}
.ck-f4{top:1266px;left:743px;width:634px;height:83px}
.ck-f5{top:1376px;left:61px;width:1318px;height:83px}
.ck-f6{top:1488px;left:61px;width:423px;height:83px}
.ck-f7{top:1488px;left:511px;width:418px;height:83px}
.ck-f8{top:1488px;left:956px;width:423px;height:83px}
.ck-cb1{top:1606px;left:65px;width:19px}
.ck-cb1-l{top:1606px;left:96px;width:858px}
.ck-f9{top:1658px;left:61px;width:1318px;height:83px}
.ck-f10{top:1770px;left:61px;width:423px;height:83px}
.ck-f11{top:1770px;left:511px;width:418px;height:83px}
.ck-f12{top:1770px;left:956px;width:423px;height:83px}

.ck-pay-h{top:1921px;left:38px;width:253px;text-align:center}
.ck-f13{top:2036px;left:74px;width:592px;height:83px}
/* the "+" at the end of "Select a card" is two separate 3px black strokes in
   Figma, and their centrelines genuinely don't intersect — reproduced as drawn:
   horizontal centreline y2077 spanning x638-654, vertical centreline x632
   spanning y2087-2104 */
.ck-plus-h{position:absolute;top:2075.5px;left:638px;width:16px;height:3px;background:#000}
.ck-plus-v{position:absolute;top:2087px;left:630.5px;width:3px;height:17px;background:#000}
.ck-f14{top:2154px;left:74px;width:592px;height:83px}
.ck-f15{top:2268px;left:74px;width:190px;height:83px}
.ck-f16{top:2268px;left:276px;width:188px;height:83px}
.ck-f17{top:2268px;left:476px;width:190px;height:83px}
.ck-f17::placeholder{color:#dd528b}
.ck-whatis{top:2373px;left:481px;width:106px}
.ck-cb2{top:1984px;left:732px;width:20px}
.ck-agree{top:1984px;left:766px;width:396px}
.ck-agree a{text-decoration:underline;text-underline-position:from-font}
.ck-co-btn{top:2048px;left:722px;width:257px;height:73px}
.ck-terms{top:2162px;left:731px;width:643px}
.ck-secure{top:2331px;left:735px;width:265px;height:36px;object-fit:contain}

/* ============================================================
   TABLET 768–1439px
   The exact 1440 desktop layout, proportionally scaled.
   js/main.js sets .canvas zoom = clientWidth / 1440, driven by the same
   matchMedia query as this block so the two can never disagree.
   ============================================================ */
@media (min-width:768px) and (max-width:1439.98px){
  html,body{overflow-x:hidden}
  .canvas{width:1440px;margin:0 auto}
}

/* ============================================================
   MOBILE ≤767px — hand-built single-column reflow + hamburger
   ============================================================ */
@media (max-width:767.98px){
  html,body{overflow-x:hidden}
  body{-webkit-text-size-adjust:100%}

  /* --- the canvas returns to normal flow --- */
  .canvas{width:100%!important;height:auto!important;zoom:1!important;
          display:flex;flex-direction:column;overflow:hidden}

  /* --- every element positioned by its own class goes back into flow.
         Clearing top/left alone is not enough: while they stay
         position:absolute they are out of flow and their section collapses. --- */
  .el,.band,.wrap,
  .pc-bg,.pc-img,.pc-badge,.pc-name,.pc-price,
  .qty-btn,.qty-num,.field,.cbx,
  .ftr,.ftr-terms,.ftr-privacy,.ftr-contact-l,.ftr-clearance,.ftr-refund,.ftr-shipping,.ftr-faq,.ftr-dispute,
  .ftr-addr,.ftr-email,.ftr-phone,.ftr-line,.ftr-cards,.ftr-copy,
  .pd-panel,.pd-img,.pd-price,
  .ck-panel,.ck-price,.ck-plus-h,.ck-plus-v{
    position:static;top:auto;left:auto;right:auto;bottom:auto;
    transform:none;width:auto;height:auto}

  /* --- restrained type scale (compact, not shrunken) --- */
  .h-80{font-size:30px;line-height:38px;letter-spacing:0}
  .h-40{font-size:22px;line-height:28px;letter-spacing:0}
  .h-40-90{font-size:22px;line-height:30px;letter-spacing:0}
  .body-18{font-size:15px;line-height:23px}
  .body-16{font-size:14px;line-height:22px}
  .nav-b,.link-sb{font-size:14px}
  .price{font-size:17px;line-height:26px}
  .price-lg{font-size:18px;line-height:28px}
  .h-70{font-size:30px;line-height:38px;letter-spacing:0}
  .label-17{font-size:14px}
  .btn-acc{height:54px!important}
  .btn-acc .lbl{font-size:15px;width:auto!important}

  /* ---------- Header ---------- */
  .site-hdr{position:relative;display:flex;flex-direction:column;z-index:50}
  .hdr-logo{position:relative;width:170px;height:43px;margin:18px 0 0 20px;overflow:hidden}
  .hdr-logo img{position:absolute;width:186.99%;height:404.21%;left:-43.03%;top:-150%;max-width:none}
  .hdr-cart{position:absolute!important;top:23px;right:68px;width:40px!important;height:30px!important}
  .hdr-cart img{top:7px;left:13px;width:20px;height:14.9px}
  .hdr-line{width:100%;height:1px;margin-top:22px}

  .hamburger{position:absolute!important;top:16px;right:14px;width:44px;height:44px;
             display:flex;flex-direction:column;align-items:center;justify-content:center;
             gap:5px;z-index:60}
  .hamburger span{display:block;width:24px;height:2px;border-radius:2px;background:var(--ink);
                  transition:transform .28s ease,opacity .18s ease}
  body.menu-open .hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.menu-open .hamburger span:nth-child(2){opacity:0}
  body.menu-open .hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .hdr-nav{position:absolute;top:100%;left:0;width:100%;z-index:55;
           display:flex;flex-direction:column;padding:0 20px;background:#fff;
           box-shadow:0 20px 44px rgba(0,0,0,.10);
           max-height:0;opacity:0;overflow:hidden;pointer-events:none;
           transition:max-height .34s ease,opacity .22s ease,padding .34s ease}
  body.menu-open .hdr-nav{max-height:260px;opacity:1;pointer-events:auto;padding:4px 20px 14px}
  .hdr-nav .nav-link{position:static!important;width:auto!important;
                     padding:16px 2px;border-bottom:1px solid rgba(0,0,0,.10)}
  .hdr-nav .nav-link:last-child{border-bottom:none}

  /* ---------- Section shells ---------- */
  .ld-hero,.ce,.pd-hero,.pd-about,.ck-hero,.ck-ship,.ck-pay,.ct-intro,.ct-form,.legal-page{
    display:flex;flex-direction:column;padding:32px 20px 0}
  /* heading first on mobile, art after the call to action */
  .ld-hero-h{order:1}
  .ld-hero-sub{order:2;margin-top:14px}
  .ld-hero-btn{order:3}
  .ld-hero-img{order:4}

  /* hairline rules between sections */
  .hdr-line,.ld-line19,.ce-line16,.pd-line16,.pd-line19,.ck-line16{
    width:100%!important;height:1px!important}
  .ld-line19,.ce-line16,.pd-line16,.pd-line19,.ck-line16{margin:30px 0 0}
  /* breathing room between the logo and the rule under it */
  .hdr-line{margin:22px 0 0!important}

  /* full-width imagery */
  .pd-about-img,.pd-about-img2{
    width:100%!important;height:auto!important;margin:26px auto 0}
  .ld-hero-img{width:100%!important;height:auto!important;max-width:none;
               margin:26px 0 0;aspect-ratio:712/628;object-fit:cover}
  .pd-about-img{aspect-ratio:513/461;object-fit:cover}
  .pd-about-img2{aspect-ratio:1045/461;object-fit:cover}

  /* pill buttons */
  .ce-btn,.pd-cart,.ck-remove{
    width:100%!important;max-width:300px;margin-top:24px}
  /* flush with the hero image below it, both edges */
  .ld-hero-btn{width:100%!important;max-width:none;margin:24px 0 0}
  .ld-bn-btn,.ck-co-btn{width:100%!important;max-width:300px;margin:24px auto 0}

  /* ---------- Landing / Products banners ---------- */
  .ld-bn,.pr-bn{position:relative;display:flex;flex-direction:column;align-items:center;
                padding:44px 22px 48px;overflow:hidden}
  .ld-bn{margin-top:34px}
  .ld-bn .ld-banner,.pr-bn .pr-banner{position:absolute!important;top:0;left:0;
      width:100%!important;height:100%!important;transform:none;z-index:0}
  .ld-bn .ld-banner img,.pr-bn .pr-banner img{width:100%;height:100%;object-fit:cover}
  .ld-bn-h,.ld-bn-sub,.pr-h,.pr-sub{position:relative;z-index:1;width:auto!important}
  .ld-bn-btn{position:relative;z-index:1}
  .ld-bn-sub,.pr-sub{margin-top:14px}

  /* ---------- Product grid ---------- */
  .pgrid{display:flex;flex-direction:column;gap:20px;padding:26px 20px 0}
  .pcard{position:relative;display:flex;flex-direction:column}
  /* an image sized height:100% as a flex child of an auto-height parent resolves
     to auto and stretches the panel past its aspect-ratio — position the art
     absolutely in percentages of Figma's own numbers instead */
  /* compact: the panel no longer runs the full width, and the art sits closer
     to its edges so there is less dead space around each product */
  .pc-bg{position:relative!important;top:auto!important;left:auto!important;
         width:100%!important;max-width:268px;height:auto!important;
         aspect-ratio:375/376;margin:0 auto}
  .pc-img{position:absolute!important;top:4%!important;left:9%!important;
          width:82%!important;height:92%!important;object-fit:contain}
  .pc-badge{position:absolute!important;top:11px!important;left:auto!important;right:11px;
            width:42px!important;height:32px!important}
  .pc-badge img{top:7px;left:13px;width:15px;height:16.8px}
  .pc-badge.added{transform:scale(.9);transition:transform .15s ease}
  .pc-name{position:static!important;width:auto!important;font-size:17px;
           margin-top:11px;text-align:center}
  .pc-price{position:static!important;width:auto!important;text-align:center}

  /* ---------- Quantity stepper ---------- */
  [data-qty-wrap]{display:flex;align-items:center;gap:16px;margin-top:22px}
  .qty-btn{position:static!important;width:40px!important;height:40px!important;flex:0 0 40px}
  .qty-num{position:static!important;width:auto!important;min-width:28px;
           font-size:26px;line-height:40px;text-align:center}

  /* ---------- Product detail / checkout item ---------- */
  .pd-vec{display:none}
  .pd-panel,.ck-panel{position:relative!important;top:auto!important;left:auto!important;
    width:100%!important;height:auto!important;max-width:286px;aspect-ratio:375/510;
    margin:0 auto}
  .pd-img{position:absolute!important;top:15%;left:9%;
          width:82%!important;height:74%!important;object-fit:contain}
  .pd-title,.ck-title{margin-top:24px}
  .pd-price,.ck-price{position:static!important;width:auto!important;margin-top:8px}
  .pd-desc,.ck-desc{margin-top:12px}
  .pd-about-h{margin-top:4px}
  .pd-about-b{margin-top:12px}

  /* ---------- Checkout form ---------- */
  .ck-ship,.ck-pay{flex-direction:row;flex-wrap:wrap;column-gap:12px;align-items:flex-start}
  .ck-ship>*,.ck-pay>*{width:100%}
  .ck-ship-h,.ck-pay-h{width:100%!important;text-align:center}
  .ck-ship-s{width:100%!important;margin-top:12px;text-align:center}
  .field{width:100%!important;height:52px!important;font-size:14px;padding:0 16px;margin-top:14px}
  .ck-f1,.ck-f2,.ck-f15,.ck-f16{width:calc(50% - 6px)!important}
  .ck-plus-h,.ck-plus-v{display:none}
  .ck-check-row,.ck-agree-row{display:flex;align-items:flex-start;gap:10px;margin-top:22px}
  .ck-descriptor{width:100%!important;margin-top:18px;font-weight:600}
  .cbx{position:static!important;top:auto!important;left:auto!important;
       width:18px!important;height:18px!important;flex:0 0 18px;margin-top:2px}
  .ck-cb1-l,.ck-agree{position:static!important;width:auto!important}
  .ck-whatis{margin-top:14px;text-decoration:underline}
  .ck-terms{margin-top:22px}
  .ck-secure{width:220px!important;height:auto!important;margin:22px auto 34px}

  /* ---------- Footer ---------- */
  .ftr{display:flex;flex-direction:column;width:100%!important;
       padding:36px 20px 34px;margin-top:34px}
  .ftr p{width:auto!important;font-size:14px;line-height:22px}
  .ftr-links{display:flex;flex-wrap:wrap;gap:12px 18px;position:static;left:auto;right:auto;width:100%}
  .ftr-links a{position:static!important;width:auto!important}
  .ftr-addr{margin-top:22px}
  .ftr-email,.ftr-phone{margin-top:10px}
  .ftr-line{width:100%!important;height:1px!important;margin:24px 0 0}
  .ftr-cards{width:150px!important;height:auto!important;margin:22px 0 0;object-fit:contain}
  .ftr-copy{margin-top:16px}

  /* the page's last hairline would double up with the footer's own top rule */
  .pd-line19{display:none}
}

/* ---------- Small phones ---------- */
@media (max-width:389.98px){
  .h-80,.h-70{font-size:27px;line-height:34px}
  .hdr-logo{width:152px;height:39px}
  .ck-f1,.ck-f2,.ck-f15,.ck-f16{width:100%!important}
  .pg-thanks .ce-h{white-space:normal;width:auto}
}

/* ============================================================
   PHP catalog / checkout / legal / contact (dynamic content)
   ============================================================ */
.pg-products .canvas,
.pg-legal .canvas,
.pg-checkout .canvas,
.pg-detail .canvas{height:auto;min-height:100vh}
.pg-products .ftr,
.pg-legal .ftr,
.pg-checkout .ftr,
.pg-detail .ftr{position:relative;top:auto;margin-top:60px}
.pg-contact .canvas{height:2154px}
.pg-contact{--ftr-top:1716px}

.cartqty{font-weight:700}

.ct-h{top:276px;left:138px;width:859px}
.ct-sub{top:385px;left:145px;width:478px;color:var(--ink)}
.ct-img{top:200px;left:863px;width:264px;height:400px;object-fit:contain}
.ct-form-h{top:782px;left:293px;width:462px;text-align:center}
.ct-form-sub{top:876px;left:330px;width:483px}
.ct-name{top:1002px;left:318px;width:385px;height:83px}
.ct-email{top:1002px;left:730px;width:385px;height:83px}
.ct-tel{top:1112px;left:318px;width:797px;height:83px}
.ct-msg{top:1222px;left:312px;width:803px;height:210px}
.ct-send{top:1483px;left:798px;width:310px;height:73px}
.ct-form form{display:contents}
.ct-note{top:940px;left:330px;width:780px;color:var(--accent)}

.pg-products .pgrid.dyn-grid{
  display:grid;grid-template-columns:repeat(3,375px);column-gap:63px;row-gap:96px;
  position:relative;padding:720px 81px 80px;justify-content:center
}
.dyn-grid .pcard{position:relative;display:flex;flex-direction:column}
.dyn-grid .pc-bg{position:relative;top:auto;left:auto;width:375px;height:376px}
.dyn-grid .pc-img{position:absolute}
.dyn-grid .pc-badge{top:22px;right:20px;left:auto}
.dyn-grid .pc-name,.dyn-grid .pc-price{position:relative;top:auto!important;left:auto!important;width:auto!important;text-align:left}
.dyn-grid .pc-name{margin-top:16px;min-height:64px;font-size:22px;line-height:28px}
.dyn-grid .pc-price{line-height:32px}

.pd-flow{
  display:grid;grid-template-columns:375px 1fr;gap:56px 80px;align-items:start;
  padding:220px 160px 70px;position:relative
}
.pd-flow .pd-panel,.pd-flow .pd-imgbg{position:relative;top:auto;left:auto;width:375px;height:510px}
.pd-flow .pd-img{position:absolute;top:78px;left:54px;width:268px;height:345px;object-fit:contain}
.pd-info{min-width:0}
.pd-flow .pd-title{position:relative;top:auto;left:auto;width:auto;margin:0 0 6px;overflow-wrap:anywhere}
.pd-flow .pd-price{position:relative;top:auto;left:auto;width:auto;line-height:1.2;margin:0 0 18px;white-space:nowrap}
.pd-flow .pd-desc{position:relative;top:auto;left:auto;width:auto;max-width:560px;line-height:24px}
.pd-desc .pd-subh, .pd-desc strong.pd-subh{display:block;margin:14px 0 4px;color:var(--accent);font-weight:700}
.pd-points{position:relative;top:auto;left:auto;width:auto;max-width:560px;list-style:disc;padding-left:20px;margin:16px 0 0;font-size:15px;line-height:24px;color:var(--body)}
.pd-points span{font-weight:700;color:var(--accent)}
.pd-qty{display:flex;align-items:center;gap:16px;margin-top:28px;position:relative}
.pd-flow .qty-btn{position:relative;top:auto;left:auto}
.pd-flow .qty-num{position:relative;top:auto;left:auto;width:48px}
.pd-flow .pd-cart{position:relative;top:auto;left:auto;width:257px;height:73px;margin-top:24px}
.pd-flow .pd-vec{display:none}
.pg-detail .pd-line16{position:relative;left:auto;transform:none;width:100%;margin:0}
.pg-detail .pd-about .pd-about-h,.pg-detail .pd-about .pd-about-b{position:relative;top:auto;left:auto;width:auto;max-width:560px}
.pg-detail .pd-about{padding:70px 160px 40px;display:grid;grid-template-columns:1fr 513px;gap:28px 40px;align-items:start}
.pg-detail .pd-about-img,.pg-detail .pd-about-img2{position:relative;top:auto;left:auto;width:100%;height:auto;max-width:1045px}
.pg-detail .pd-about-img2{grid-column:1/-1}

.pg-checkout #frmOrder{display:block}
.pg-checkout #cartBox{position:relative;padding:180px 128px 10px}
.ck-items{display:flex;flex-direction:column;gap:20px}
.ck-item{
  display:grid;grid-template-columns:140px 1fr;gap:28px;align-items:center;
  padding:18px 0;border-bottom:1px solid var(--rule);min-height:0
}
.ck-thumb{width:140px;height:160px;background:var(--panel);border-radius:4px;position:relative}
.ck-thumb img{width:100%;height:100%;object-fit:contain;padding:12px}
.ck-meta{min-width:0}
.ck-item .ck-title{position:relative;top:auto;left:auto;width:auto;font-size:28px;line-height:34px;margin:0 0 6px;overflow-wrap:anywhere}
.ck-item .ck-price{position:relative;top:auto;left:auto;width:auto;line-height:1.2;margin:0 0 14px;font-size:22px}
.ck-qty{display:flex;align-items:center;gap:14px}
.ck-item .qty-btn{position:relative;top:auto;left:auto;width:40px;height:40px}
.ck-item .qty-num{position:relative;top:auto;left:auto;width:36px;font-size:28px;line-height:40px}
.ck-item .ck-remove{position:relative;top:auto;left:auto;width:220px;height:56px;margin-top:16px}
.ck-summary{width:auto;max-width:1184px;margin:12px auto 28px;padding:8px 0 0;font-size:18px;line-height:32px;color:var(--body)}
.ck-summary-actions{display:flex;gap:18px;margin-top:18px;flex-wrap:wrap}
.ck-summary-actions .btn-acc{position:relative;width:260px;height:56px}
.cart-prd-opt{width:auto;max-width:1184px;margin:0 auto 40px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ck-upsell-h{grid-column:1/-1;font-family:'Mona Sans',sans-serif;font-size:24px;font-weight:700;color:var(--ink)}
.offerBox{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid var(--rule);border-radius:8px;background:var(--panel)}
.offerBox img{width:72px;height:72px;object-fit:contain;flex:0 0 72px}
.upsel-pack{display:flex;flex-direction:column;gap:4px;cursor:pointer}
.sec1-shopnow{color:var(--accent);font-weight:700}
.remove-from-cart{color:var(--ink);text-decoration:underline;font-size:14px}
.offerBox .cbx{position:relative;top:auto;left:auto;margin-top:4px}

.pg-checkout .ck-ship,
.pg-checkout .ck-pay{
  position:relative;top:auto;width:auto;max-width:1318px;margin:0 auto;
  padding:30px 61px 20px;display:grid;grid-template-columns:1fr 1fr;gap:18px 44px
}
.pg-checkout .ck-pay{grid-template-columns:minmax(240px,592px) 1fr;align-items:start}
.pg-checkout .ck-ship-h,
.pg-checkout .ck-ship-s,
.pg-checkout .ck-f5,
.pg-checkout .ck-check-row,
.pg-checkout .ck-bill,
.pg-checkout .ck-pay-h{
  grid-column:1/-1;position:relative;top:auto;left:auto;width:auto;text-align:left
}
.pg-checkout .ck-ship-h,
.pg-checkout .ck-pay-h{line-height:1.2;padding:8px 0}
.pg-checkout .field,
.pg-checkout .ck-whatis,
.pg-checkout .ck-co-btn,
.pg-checkout .ck-terms,
.pg-checkout .ck-secure,
.pg-checkout .ck-plus-h,
.pg-checkout .ck-plus-v,
.pg-checkout .ck-cb1-l,
.pg-checkout .ck-agree{
  position:relative;top:auto;left:auto
}
.pg-checkout .field{width:100%;height:83px}
.pg-checkout .ck-exp-row{grid-column:1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:center}
.pg-checkout .ck-whatis{grid-column:1/-1;margin:0;text-decoration:underline}
.pg-checkout .ck-plus-h,.pg-checkout .ck-plus-v{display:none}
.pg-checkout .ck-check-row,
.pg-checkout .ck-agree-row{
  display:flex;align-items:flex-start;gap:12px;width:100%
}
.pg-checkout .ck-descriptor{
  grid-column:1/-1;position:relative;top:auto;left:auto;width:auto;
  margin:8px 0 0;font-weight:600;line-height:22px
}
.pg-checkout .ck-agree-row{margin-top:10px}
.pg-checkout .ck-cb1,
.pg-checkout .ck-cb2{position:relative;top:auto;left:auto;width:20px;height:20px}
.pg-checkout .ck-cb1-l,
.pg-checkout .ck-agree{width:auto;max-width:none;line-height:22px;cursor:pointer}
.ck-agree-row.formError,.ck-check-row.formError{outline:1px solid orange;padding:8px;border-radius:6px}
.pg-checkout .ck-co-btn{width:257px;height:73px;margin-top:8px}
.pg-checkout .ck-co-btn.is-disabled,
.pg-checkout .ck-co-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none;filter:grayscale(.15)}
.pg-checkout .ck-terms{grid-column:1/-1;width:auto;max-width:920px;font-size:14px;line-height:22px;opacity:.85}
.pg-checkout .ck-secure{width:265px;height:auto}
.ck-bill{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px 44px}
.ck-bill .ck-f9{grid-column:1/-1}
.pg-checkout .field.formError,select.formError{border-color:orange!important}
.cbx.formError,
input[type=checkbox].cbx.formError{
  width:20px!important;height:20px!important;border:1px solid orange!important;
  display:inline-block!important;background:#fff!important
}

.legal-page{padding:220px 128px 80px}
.legal-h{position:relative;top:auto;left:auto;width:auto;margin-bottom:28px}
.legal-inner{font-size:16px;line-height:1.7;color:var(--body);max-width:1180px}
.legal-inner .page-title{display:none}
.legal-inner h3{margin:28px 0 10px;font-family:'Mona Sans',sans-serif;font-size:22px;color:var(--ink)}
.legal-inner p,.legal-inner li{margin:10px 0}
.legal-inner a{text-decoration:underline}

#pop_overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:2000}
#pop_content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:28px;max-width:90vw}
#pop_content img{max-width:100%;height:auto}
#pop_content .cross{position:absolute;top:8px;right:8px;width:22px;cursor:pointer}
.popup-loading-wrapper{position:fixed;inset:0;background:rgba(255,255,255,.86);z-index:3000;display:flex;align-items:center;justify-content:center;text-align:center}
.popup-loading-wrapper .popup{padding:40px}
.popup-loading-wrapper h3{font-family:'Mona Sans',sans-serif;font-size:28px;margin:12px 0}

@media (max-width:767.98px){
  .pg-contact .canvas{height:auto!important}
  .pg-contact .ftr{position:relative;top:auto}
  .pd-flow{display:flex;flex-direction:column;padding:34px 20px 0;gap:0}
  .pd-flow .pd-panel,.pd-flow .pd-imgbg{width:100%;max-width:286px;height:auto;aspect-ratio:375/510;margin:0 auto}
  .pd-flow .pd-img{top:15%;left:9%;width:82%;height:74%}
  .pd-flow .pd-title{margin-top:24px;font-size:22px;line-height:28px}
  .pd-flow .pd-cart{width:100%;max-width:300px}
  .pg-detail .pd-about{display:flex;flex-direction:column;padding:32px 20px 0}
  .dyn-grid,.pg-products .pgrid.dyn-grid{display:flex;flex-direction:column;padding:32px 20px 0;gap:26px}
  .dyn-grid .pc-bg{width:100%;height:auto;aspect-ratio:375/376;max-width:268px}
  .dyn-grid .pc-name{min-height:0;font-size:17px;text-align:center}
  .pg-products .ftr,.pg-legal .ftr,.pg-checkout .ftr,.pg-detail .ftr,.pg-contact .ftr{margin-top:0}
  .pg-checkout #cartBox{padding:24px 20px 0}
  .ck-item{grid-template-columns:1fr;gap:12px}
  .ck-thumb{width:100%;max-width:220px;height:200px;margin:0 auto}
  .ck-item .ck-title{font-size:22px;line-height:28px}
  .ck-item .ck-remove{width:100%;max-width:300px}
  .ck-summary,.cart-prd-opt,.legal-page{width:auto;max-width:none;padding:24px 20px}
  .cart-prd-opt{grid-template-columns:1fr}
  .pg-checkout .ck-ship,.pg-checkout .ck-pay,.ck-bill,.pg-checkout .ck-exp-row{
    display:flex;flex-direction:column;width:100%;max-width:none;padding:34px 20px 0;gap:0
  }
  .pg-checkout .field{height:52px!important;margin-top:14px}
  .pg-checkout .ck-f1,.pg-checkout .ck-f2,.pg-checkout .ck-f3,.pg-checkout .ck-f4{width:100%!important}
  .pg-checkout .ck-co-btn{width:100%;max-width:300px;margin:24px auto 0}
  .pg-checkout .ck-check-row,.pg-checkout .ck-agree-row{margin-top:18px}
  .offerBox img{width:70px;height:70px;flex-basis:70px}
  .ct-intro,.ct-form{padding:32px 20px 0}
  .ct-img{width:100%!important;max-width:220px;height:auto!important;margin:20px auto 0}
  .ct-name,.ct-email,.ct-tel,.ct-msg,.ct-send{width:100%!important}
  .ct-send{height:54px!important;max-width:300px;margin:24px 0 34px}
  .ct-form form{display:flex;flex-direction:column}
  textarea.field{height:150px!important;padding-top:16px}
  .legal-h{font-size:30px;line-height:38px}
}
