/* ============================================================
   Medequipworks — Figma canvas "medequipworks" (590:46), 1440px canvas.
   Desktop = exact Figma coordinates. 768–1439px = proportional zoom.
   ≤767px = mobile reflow with hamburger menu.
   ============================================================ */

/* ---------- 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:'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, latin + latin-ext) */
@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}

/* ---------- Base ---------- */
:root{
  --ink:#464646;                  /* page headings + nav */
  --dark:#202327;                 /* form section headings */
  --body:#17110f;                 /* body copy, labels, footer text */
  --pink:#ff4eba;                 /* buttons, card names, detail price */
  --price:#353535;               /* card prices */
  --cardbg:rgba(255,78,186,.03);  /* product panel */
  --badge:rgba(255,78,186,.15);   /* cart badge chip */
  --line:#d9d9d9;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{background:#fff}
body{font-family:'Inter Display','Inter',sans-serif;color:var(--body)}
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:3520px}
.pg-products .canvas{height:2677px}
.pg-cart     .canvas{height:1191px}
.pg-detail   .canvas{height:2100px}
.pg-checkout .canvas{height:3031px}
.pg-contact  .canvas{height:2250px}

.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)}
.h-80{font-size:80px;line-height:90px;letter-spacing:.8px}
.h-40-43{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}
.price-25{font-family:'Mona Sans',sans-serif;font-weight:500;font-size:25px;letter-spacing:.25px;color:var(--price);line-height:90px;white-space:nowrap}
.white{color:#fff}

/* ---------- Header (identical on every page) ---------- */
.site-hdr{position:static}
.hdr-logo{top:65px;left:135px;width:322px;height:36px;z-index:42}
.hdr-logo img{width:100%;height:100%;object-fit:contain}
.nav-link{top:64px;z-index:42}
.nav-all{left:793px}
.nav-contact{left:996px}
.nav-cart{left:1188px}
.hdr-cart{top:53px;left:1257px;width:54px;height:41px;z-index:42}
.hdr-cart img{width:100%;height:100%;object-fit:contain}
.hdr-line{top:145px;height:1px;background:var(--line)}
.hamburger{display:none}

/* ---------- Buttons (pink pill) ---------- */
.btn-pink{background:var(--pink);border-radius:35px;display:flex;align-items:center;justify-content:center}
.btn-pink .lbl{font-family:'Manrope',sans-serif;font-weight:700;font-size:22px;color:#fff;text-align:center;white-space:nowrap}

/* ---------- Product card ---------- */
.pc-bg{position:absolute;width:375px;height:376px;background:var(--cardbg);border-radius:4px}
.pc-img{position:absolute;width:268px;height:345px;object-fit:contain;top:18px;left:63px}
/* product-add-cart.svg IS the whole 54x41 chip (pink 15% pill + bag glyph) —
   don't paint --badge behind it or the alpha doubles. */
.pc-badge{position:absolute;width:54px;height:41px}
.pc-badge img{width:100%;height:100%;object-fit:contain}
/* Figma's name boxes are FIXED width (its reported h=39 is the box, not the ink) —
   cards 2, 3 and 4 genuinely wrap to two lines and are left-aligned, cards 1, 5
   and 6 are centred. Copy-paste jitter in the source file; reproduced as designed. */
.pc-name{position:absolute;font-family:'Manrope',sans-serif;font-weight:700;font-size:30px;color:var(--pink);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}

/* ---------- 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;font-family:'Inter',sans-serif;font-weight:400;font-size:45px;letter-spacing:.45px;color:var(--ink);line-height:49px;text-align:center}

/* ---------- Form fields ---------- */
.field{position:absolute;background:#fff;border:1px solid var(--ink);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(--pink)}
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(--ink);border-radius:4px;cursor:pointer}
.cbx:checked::after{content:'';position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid var(--pink);border-width:0 2px 2px 0;transform:rotate(45deg)}

/* ---------- Footer (page sets --ftr-top) ---------- */
.ftr{position:absolute;top:var(--ftr-top);left:0;width:1440px;padding:0 128px 48px;box-sizing:border-box}
.ftr-inner{position:relative;width:100%;max-width:none}
.ftr-top{display:flex;flex-direction:column;gap:20px;width:100%}
.ftr-contact{display:flex;flex-direction:column;gap:12px;width:100%}
.ftr-addr,.ftr-email,.ftr-phone,.ftr-disc,.ftr-copy{position:static;width:auto;max-width:none}
.ftr-email a{text-decoration:underline;text-underline-position:from-font}
.ftr-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;width:100%;row-gap:10px}
.ftr-item{display:inline-flex;align-items:center;white-space:nowrap}
.ftr-links a{position:static;white-space:nowrap}
.ftr-sep{margin:0 12px;font-family:'Inter',sans-serif;font-weight:400;font-size:18px;color:var(--ink);line-height:normal}
.ftr-disc{margin-top:22px;line-height:22px;width:100%}
.ftr-line{position:static;width:100%;height:1px;background:var(--line);margin:24px 0}
.ftr-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%}
.ftr-cards{position:static;width:163px;height:35px;object-fit:contain;flex-shrink:0}

/* ============================================================
   LANDING
   ============================================================ */
.pg-landing{--ftr-top:2982px}
.ld-hero-h{top:236px;left:116px;width:593px}
.ld-hero-sub{top:546px;left:117px;width:522px;color:var(--ink)}
.ld-hero-btn{top:638px;left:118px;width:310px;height:73px}
.ld-hero-img{top:207px;left:759px;width:572px;height:554px;object-fit:contain}
.ld-line16{top:885px;height:1px;background:var(--line)}
/* row 1 */
.c1-bg{top:970px;left:81px}   .c1-nm{top:1412px;left:81px;width:166px}   .c1-pr{top:1392px;left:355px;width:95px}
.c2-bg{top:966px;left:519px}  .c2-img{top:21px;left:61px;width:269px}    .c2-nm{top:1410px;left:531px;width:219px}  .c2-pr{top:1388px;left:803px;width:95px}
.c3-bg{top:966px;left:959px}  .c3-img{top:21px;left:71px}                .c3-nm{top:1411px;left:971px;width:206px}  .c3-pr{top:1388px;left:1235px;width:95px}
/* row 2 */
.c4-bg{top:1596px;left:93px}  .c4-nm{top:2035px;left:114px;width:236px}  .c4-pr{top:2015px;left:370px;width:95px}
.c5-bg{top:1596px;left:542px} .c5-img{top:41px;left:71px;width:234px;height:300px} .c5-nm{top:2038px;left:542px;width:187px} .c5-pr{top:2015px;left:813px;width:95px}
.c6-bg{top:1596px;left:985px} .c6-nm{top:2038px;left:985px;width:166px}  .c6-pr{top:2015px;left:1245px;width:95px}
/* badges — card-relative */
.c1-bg .pc-badge{top:22px;left:300px}
.c2-bg .pc-badge{top:26px;left:302px}
.c3-bg .pc-badge{top:26px;left:300px}
.c4-bg .pc-badge{top:24px;left:288px}
.c5-bg .pc-badge{top:24px;left:279px}
.c6-bg .pc-badge{top:24px;left:274px}
/* purple 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;color:#fff}
.ld-bn-sub{top:2586px;left:430px;width:576px;text-align:center;color:#fff}
.ld-bn-btn{top:2642px;left:539px;width:310px;height:73px}

/* ============================================================
   PRODUCTS
   ============================================================ */
.pg-products{--ftr-top:2204px}
.pr-h{top:295px;left:128px;width:859px}
.pr-sub{top:505px;left:129px;width:576px;color:var(--ink)}
.pr-img{top:182px;left:835px;width:449px;height:477px;object-fit:contain}
.pr-line17{top:735px;height:1px;background:var(--line)}
.pr-line16{top:2106px;height:1px;background:var(--line)}
.p1-bg{top:831px;left:81px}   .p1-nm{top:1273px;left:81px;width:166px}   .p1-pr{top:1253px;left:355px;width:95px}
.p2-bg{top:827px;left:519px}  .p2-img{top:21px;left:61px;width:269px}    .p2-nm{top:1271px;left:531px;width:219px}  .p2-pr{top:1249px;left:803px;width:95px}
.p3-bg{top:827px;left:959px}  .p3-img{top:21px;left:71px}                .p3-nm{top:1272px;left:971px;width:206px}  .p3-pr{top:1249px;left:1235px;width:95px}
.p4-bg{top:1457px;left:93px}  .p4-nm{top:1896px;left:114px;width:236px}  .p4-pr{top:1876px;left:370px;width:95px}
.p5-bg{top:1457px;left:542px} .p5-img{top:41px;left:71px;width:234px;height:300px} .p5-nm{top:1899px;left:542px;width:187px} .p5-pr{top:1876px;left:813px;width:95px}
.p6-bg{top:1457px;left:985px} .p6-nm{top:1899px;left:985px;width:166px}  .p6-pr{top:1876px;left:1245px;width:95px}
.p1-bg .pc-badge{top:22px;left:300px}
.p2-bg .pc-badge{top:26px;left:302px}
.p3-bg .pc-badge{top:26px;left:300px}
.p4-bg .pc-badge{top:24px;left:288px}
.p5-bg .pc-badge{top:24px;left:279px}
.p6-bg .pc-badge{top:24px;left:274px}

/* ============================================================
   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-img{top:196px;left:851px;width:264px;height:400px;object-fit:contain}
.ce-line16{top:672px;height:1px;background:var(--line)}

/* ============================================================
   PRODUCT DETAIL
   ============================================================ */
.pg-detail{--ftr-top:1660px}
.pd-imgbg{position:absolute;top:240px;left:217px;width:375px;height:510px;background:var(--cardbg);border-radius:4px}
.pd-img{position:absolute;top:78px;left:61px;width:268px;height:345px;object-fit:contain}
.pd-title{top:260px;left:690px;width:447px}
.pd-price{position:absolute;top:346px;left:697px;width:95px;font-family:'Mona Sans',sans-serif;font-weight:500;font-size:25px;letter-spacing:.25px;color:var(--pink);line-height:90px;white-space:nowrap}
.pd-desc{top:423px;left:696px;width:483px}
.pd-minus{top:571px;left:700px}
.pd-num{top:571px;left:768px;width:48px}
.pd-plus{top:571px;left:829px}
.pd-cart{top:661px;left:697px;width:257px;height:73px}
.pd-line16{top:875px;height:1px;background:var(--line)}
.pd-rec-h{top:1065px;left:126px;width:859px}
.pd-rec-sub{top:1275px;left:129px;width:576px;color:var(--ink)}
.pd-rec-img{top:952px;left:835px;width:449px;height:477px;object-fit:contain}
.pd-rec-btn{top:1340px;left:129px;width:310px;height:73px}
.pd-line17{top:1562px;height:1px;background:var(--line)}

/* ============================================================
   CHECKOUT
   ============================================================ */
.pg-checkout{--ftr-top:2580px}
.ck-imgbg{position:absolute;top:250px;left:217px;width:375px;height:510px;background:var(--cardbg);border-radius:4px}
.ck-title{top:270px;left:690px;width:447px}
.ck-price{position:absolute;top:356px;left:697px;width:95px;font-family:'Mona Sans',sans-serif;font-weight:500;font-size:25px;letter-spacing:.25px;color:var(--pink);line-height:90px;white-space:nowrap}
.ck-desc{top:433px;left:696px;width:483px}
.ck-minus{top:581px;left:700px}
.ck-num{top:581px;left:768px;width:48px}
.ck-plus{top:581px;left:829px}
.ck-remove{top:665px;left:681px;width:257px;height:73px}
.ck-line16{top:875px;height:1px;background:var(--line)}

.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}
.ck-plus-h{position:absolute;top:2077px;left:638px;width:16px;height:1.5px;background:var(--body)}
.ck-plus-v{position:absolute;top:2070px;left:645px;width:1.5px;height:16px;background:var(--body)}
.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:var(--pink)}
.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}
.ck-line19{position:absolute;top:2452px;left:63px;width:1318px;height:1px;background:var(--line)}

/* ============================================================
   CONTACT
   ============================================================ */
.pg-contact{--ftr-top:1716px}
.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}

/* ============================================================
   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-inner,.ftr-top,.ftr-contact,.ftr-links,.ftr-item,.ftr-sep,.ftr-addr,.ftr-email,.ftr-phone,.ftr-disc,.ftr-line,.ftr-bottom,.ftr-cards,.ftr-copy,
  .pd-imgbg,.pd-img,.pd-price,
  .ck-imgbg,.ck-price,.ck-plus-h,.ck-plus-v,.ck-line19{
    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-43{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}
  .label-17{font-size:14px}
  .nav-b,.link-sb{font-size:14px}
  .price-25{font-size:17px;line-height:26px}
  .btn-pink{height:54px!important;border-radius:30px}
  .btn-pink .lbl{font-size:15px}

  /* ---------- Header ---------- */
  .site-hdr{position:relative;display:flex;flex-direction:column;z-index:50}
  .hdr-logo{width:186px;height:auto;margin:20px 0 0 20px}
  .hdr-logo img{width:100%;height:auto}
  .hdr-cart{position:absolute!important;top:22px;right:74px;width:32px;height:auto}
  .hdr-cart img{width:100%;height:auto}
  .hdr-line{width:100%;height:1px;background:var(--line);margin-top:20px}

  .hamburger{position:absolute!important;top:12px;right:16px;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(70,70,70,.14)}
  .hdr-nav .nav-link:last-child{border-bottom:none}

  /* ---------- Section shells ---------- */
  .ld-hero,.pr-intro,.ce,.ct-intro,.ct-form,.pd-hero,.pd-rec,.ck-hero,.ck-ship,.ck-pay{
    display:flex;flex-direction:column;padding:34px 20px 0}

  /* hairline rules between sections */
  .ld-line16,.pr-line16,.pr-line17,.ce-line16,
  .pd-line16,.pd-line17,.ck-line16{
    width:100%!important;height:1px!important;background:var(--line);margin:30px 0 0}

  /* full-width imagery */
  .ld-hero-img,.pr-img,.ce-img,.ct-img,.pd-rec-img{
    width:100%!important;height:auto!important;margin:26px auto 0;object-fit:contain}
  .ld-hero-img,.pr-img,.pd-rec-img{max-width:330px}
  .ce-img,.ct-img{max-width:260px}

  /* pill buttons */
  .ld-hero-btn,.ce-btn,.pd-cart,.pd-rec-btn,.ck-remove{
    width:100%!important;max-width:300px;margin-top:24px}
  /* these two sit under centre-aligned section headings */
  .ck-co-btn,.ct-send{width:100%!important;max-width:300px;margin:24px auto 0}
  .ld-bn-btn{width:100%!important;max-width:300px;margin:24px auto 0}

  /* ---------- Landing ---------- */
  .ld-hero-sub{margin-top:14px}
  .ld-bn{position:relative;display:flex;flex-direction:column;align-items:center;
         padding:44px 22px 48px;margin-top:34px;overflow:hidden}
  .ld-bn .ld-banner{position:absolute!important;top:0;left:0;
                    width:100%!important;height:100%!important;transform:none;z-index:0}
  .ld-bn .ld-banner img{width:100%;height:100%;object-fit:cover}
  .ld-bn-h,.ld-bn-sub{position:relative;z-index:1;width:auto!important}
  .ld-bn-btn{position:relative;z-index:1}
  .ld-bn-sub{margin-top:14px}

  /* ---------- Product grid ---------- */
  .pgrid{display:flex;flex-direction:column;gap:26px;padding:32px 20px 0}
  .pcard{position:relative;display:flex;flex-direction:column}
  .pc-bg{position:relative!important;top:auto!important;left:auto!important;
         width:100%!important;height:auto!important;aspect-ratio:375/376;border-radius:8px}
  .pc-img{position:absolute!important;top:4.79%;left:16.8%;
          width:71.47%!important;height:91.76%!important;object-fit:contain}
  .pc-badge{position:absolute!important;top:14px!important;left:auto!important;right:14px;
            width:47px!important;height:36px!important}
  .pc-badge img{width:100%;height:100%}
  .pc-badge.added{transform:scale(.9);transition:transform .15s ease}
  .pc-name{position:static!important;width:auto!important;font-size:17px;
           margin-top:14px;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-btn img{width:100%;height:100%}
  .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-imgbg,.ck-imgbg{position:relative!important;top:auto!important;left:auto!important;
    width:100%!important;height:auto!important;max-width:330px;aspect-ratio:375/510;
    margin:0 auto;border-radius:8px}
  .pd-img{position:absolute!important;top:15.29%;left:16.27%;
          width:71.47%!important;height:67.65%!important;object-fit:contain}
  .pd-title,.ck-title{margin-top:24px}
  .pd-price,.ck-price{position:static!important;width:auto!important;
                      font-size:18px;line-height:28px;margin-top:8px}
  .pd-desc,.ck-desc{margin-top:12px}
  .pd-rec-sub{margin-top:14px}

  /* ---------- Forms (contact + checkout) ---------- */
  .ct-form,.ck-ship,.ck-pay{flex-direction:row;flex-wrap:wrap;column-gap:12px;align-items:flex-start}
  .ct-form>*,.ck-ship>*,.ck-pay>*{width:100%}
  .ct-form-h,.ck-ship-h,.ck-pay-h{width:100%!important;text-align:center}
  .ct-form-sub,.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}
  textarea.field{height:150px!important;padding-top:16px}
  .ct-name,.ct-email,.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}
  .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 0}
  .ck-line19{width:100%!important;height:1px!important;margin:26px 0 0}

  /* ---------- Footer ---------- */
  .ftr{display:flex;flex-direction:column;width:100%!important;
       padding:36px 20px 34px;margin-top:34px;border-top:1px solid var(--line)}
  .ftr p{width:auto!important;font-size:14px;line-height:22px}
  .ftr-top{display:flex;flex-direction:column;gap:18px}
  .ftr-links{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;row-gap:8px}
  .ftr-links a{position:static!important;width:auto!important;font-size:14px}
  .ftr-sep{margin:0 8px;font-size:14px}
  .ftr-contact{gap:10px}
  .ftr-disc{margin-top:16px;width:auto!important;line-height:22px}
  .ftr-line{width:100%!important;height:1px!important;background:var(--line);margin:24px 0}
  .ftr-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
  .ftr-cards{width:150px!important;height:auto!important;object-fit:contain}
  .ftr-copy{width:auto!important}

  /* the last hairline of a page would double up with the footer's border */
  .pr-line16,.pd-line17,.ck-line19{display:none}
}

/* ---------- Small phones ---------- */
@media (max-width:389.98px){
  .h-80{font-size:27px;line-height:34px}
  .hdr-logo{width:164px}
  .ct-name,.ct-email,.ck-f1,.ck-f2,.ck-f15,.ck-f16{width:100%!important}
}

/* ============================================================
   PHP shop — product detail, catalog grid, checkout, legal
   ============================================================ */
.pc-bg{display:block;z-index:2}
.pc-name,.pc-price{display:block;z-index:3}
.pc-badge{pointer-events:none}
.cartqty{font-weight:700;margin-left:4px}
.cartqty:empty{display:none}
.ct-form form{display:contents}
.ct-note{top:940px;left:330px;width:780px;color:var(--pink)}
select.field{-webkit-appearance:none;appearance:none;background:#fff;cursor:pointer}

/* custom checkboxes — never let validation CSS reshape them */
.cbx{
  appearance:none;-webkit-appearance:none;print-color-adjust:exact;
  width:20px!important;height:20px!important;min-width:20px;min-height:20px;
  margin:0;padding:0;flex:0 0 20px;
  background:#fff!important;border:1px solid var(--ink)!important;border-radius:4px;
  cursor:pointer;position:relative!important;display:inline-block!important;
  background-image:none!important;top:auto;left:auto;
}
.cbx:checked::after{
  content:'';position:absolute;left:6px;top:2px;width:5px;height:10px;
  border:solid var(--pink);border-width:0 2px 2px 0;transform:rotate(45deg)
}
.cbx.formError,
input[type=checkbox].formError,
.trm.formError,
.ck-agree-row.formError,
.ck-check-row.formError{
  background-image:none!important;height:auto!important;display:flex!important;
  width:auto!important;border:none!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
}

.pg-checkout .field.formError,select.formError{border-color:orange!important}

/* ---- catalog grid ---- */
.pg-products .canvas,
.pg-legal .canvas,
.pg-checkout .canvas,
.pg-detail .canvas,
.pg-thanks .canvas{height:auto;min-height:100vh}
.pg-products .ftr,
.pg-legal .ftr,
.pg-checkout .ftr,
.pg-detail .ftr,
.pg-thanks .ftr{position:relative;top:auto;margin-top:60px;height:auto;width:1440px;left:0}

/* ---- thank you / order confirmation ---- */
.ty{
  display:grid;
  grid-template-columns:minmax(0,1fr) 264px;
  gap:40px 80px;
  align-items:center;
  padding:220px 137px 80px;
  position:relative;
  width:1440px;
  box-sizing:border-box;
}
.ty-copy{min-width:0}
.ty-h{position:relative;top:auto;left:auto;width:auto;margin:0}
.ty-sub{position:relative;margin:20px 0 32px;max-width:560px;line-height:28px}
.ty-btn{position:relative;width:310px;height:73px}
.ty-img{width:264px;height:auto;max-width:100%;object-fit:contain;justify-self:end}
.med-disc{max-width:1184px;margin:24px auto 0;padding:0 128px;font-size:14px;line-height:22px;color:var(--body)}
.pd-flow .med-disc{padding:0;margin:28px 0 0;max-width:560px}
.pg-products .pr-line16,
.pg-detail .pd-line17{display:none}

.dyn-grid{display:grid;grid-template-columns:repeat(3,375px);column-gap:63px;row-gap:96px;
          position:relative;padding:780px 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}

/* ---- product detail ---- */
.pd-flow{
  display:grid;grid-template-columns:375px 1fr;gap:56px 80px;align-items:start;
  padding:220px 160px 70px;position:relative
}
.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-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(--pink);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}
.pd-points span{font-weight:700;color:var(--pink)}
.pd-qty{display:flex;align-items:center;gap:16px;margin-top:28px}
.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-rec-flow{
  display:grid;grid-template-columns:1fr 449px;gap:24px 40px;align-items:center;
  padding:70px 128px 80px
}
.pd-rec-flow .pd-rec-h,.pd-rec-flow .pd-rec-sub,.pd-rec-flow .pd-rec-btn,.pd-rec-flow .pd-rec-img{
  position:relative;top:auto;left:auto;width:auto
}
.pd-rec-flow .pd-rec-h{width:auto;max-width:720px}
.pd-rec-flow .pd-rec-sub{margin:12px 0 28px;max-width:520px;color:var(--ink)}
.pd-rec-flow .pd-rec-btn{width:310px;height:73px}
.pd-rec-flow .pd-rec-img{width:449px;height:auto;max-width:100%;object-fit:contain}
.pg-detail .pd-line16{position:relative;left:auto;transform:none;width:100%;margin:0}

/* ---- checkout cart rows (compact, no description) ---- */
.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(--line);min-height:0
}
.ck-thumb{width:140px;height:160px;background:var(--cardbg);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}
.ck-summary-actions{display:flex;gap:18px;margin-top:18px;flex-wrap:wrap}
.ck-summary-actions .btn-pink{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(--line);border-radius:8px;background:var(--cardbg)}
.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(--pink);font-weight:700}
.remove-from-cart{color:var(--ink);text-decoration:underline;font-size:14px}

/* ---- checkout form ---- */
.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,
.pg-checkout .ck-line19{
  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-cb1-l,
.pg-checkout .ck-agree{width:auto;max-width:none;line-height:22px}
.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}

.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){
  .pd-flow,.pd-rec-flow{display:flex;flex-direction:column;padding:34px 20px 0;gap:0}
  .pd-flow .pd-imgbg{width:100%;max-width:330px;height:auto;aspect-ratio:375/510;margin:0 auto}
  .pd-flow .pd-img{top:15%;left:16%;width:71%;height:68%}
  .pd-flow .pd-title{margin-top:24px;font-size:22px;line-height:28px}
  .pd-flow .pd-cart,.pd-rec-flow .pd-rec-btn{width:100%;max-width:300px}
  .pd-rec-flow .pd-rec-img{width:100%;max-width:330px;margin:26px auto 0}
  .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}
  .dyn-grid .pc-name{min-height:0;font-size:17px}
  .pg-products .ftr,.pg-legal .ftr,.pg-checkout .ftr,.pg-detail .ftr,.pg-thanks .ftr{margin-top:0;height:auto;width:100%!important}
  .ty{display:flex;flex-direction:column;width:100%!important;padding:34px 20px 0;gap:0}
  .ty-h{font-size:30px;line-height:38px}
  .ty-sub{margin:14px 0 0;max-width:none}
  .ty-btn{width:100%;max-width:300px;margin-top:24px}
  .ty-img{width:100%;max-width:260px;margin:26px auto 0;justify-self:auto}
  .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}
  .med-disc{padding:0 20px;margin:20px 0 0;max-width:none}
  .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}
}
