:root{--bg:#f6f0e8;--paper:#fffdf9;--sand:#eadcca;--sand2:#dfc5a5;--brown:#765036;--deep:#3b2a20;--ink:#302821;--muted:#887a6d;--line:#e7dacc;--shadow:0 14px 44px rgba(74,49,31,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Heebo",Arial,sans-serif;padding-bottom:92px}button,input{font:inherit}.shell{width:min(1180px,calc(100% - 32px));margin:auto}.hidden{display:none!important}
.topbar{position:sticky;top:0;z-index:40;background:rgba(246,240,232,.94);backdrop-filter:blur(13px);border-bottom:1px solid rgba(118,80,54,.08)}.topbar-inner{height:72px;display:flex;align-items:center;justify-content:space-between}.brand-logo{width:145px;max-height:44px;object-fit:contain}.partner{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:10px}.partner img{width:64px;max-height:30px;object-fit:contain}.icon-button{width:44px;height:44px;border:0;border-radius:16px;background:var(--paper);box-shadow:0 5px 15px rgba(80,52,35,.08);cursor:pointer;position:relative}.cart-glyph{font-size:27px;display:block;line-height:1;transform:rotate(180deg)}.cart-count{position:absolute;top:-5px;right:-5px;background:var(--brown);color:#fff;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;font-size:10px}
.hero{margin-top:22px;min-height:470px;background:linear-gradient(135deg,#eadbc8 0%,#f3e8da 58%,#dfc4a4 100%);border-radius:38px;display:grid;grid-template-columns:.78fr 1.22fr;gap:32px;padding:42px;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;inset:auto -80px -170px auto;width:340px;height:340px;border:1px solid rgba(117,80,54,.12);border-radius:50%}.hero-copy{align-self:center;z-index:3}.kicker{font:600 10px "Rubik",sans-serif;letter-spacing:2.1px;color:var(--brown)}.hero h1{font:600 clamp(37px,4.7vw,58px)/1.08 "Rubik",sans-serif;letter-spacing:-1.8px;color:var(--deep);margin:12px 0 15px}.hero p{font-size:14px;line-height:1.75;color:#705e50;margin:0 0 22px;max-width:380px}.pill-button{display:inline-flex;text-decoration:none;color:#fff;background:var(--brown);padding:11px 23px;border-radius:999px;font-size:12px;font-weight:600}.hero-products{height:390px;position:relative;direction:ltr}.hero-bag{position:absolute;overflow:hidden;border-radius:29px;background:#efe4d6;border:5px solid rgba(255,255,255,.42);box-shadow:0 18px 35px rgba(73,47,28,.18)}.hero-bag img{width:100%;height:100%;object-fit:contain;background:#f0e5d8}.bag-one{width:42%;height:78%;left:5%;top:9%;transform:rotate(-4deg);z-index:2}.bag-two{width:39%;height:68%;right:7%;top:4%;transform:rotate(5deg);z-index:1}.bag-three{width:40%;height:60%;right:22%;bottom:-2%;transform:rotate(-1deg);z-index:3}.spark{position:absolute;color:#986c4b;z-index:5}.s1{left:1%;top:2%;font-size:18px}.s2{right:4%;bottom:4%;font-size:27px}
.collection-nav{display:flex;gap:8px;overflow:auto;padding-top:17px;scrollbar-width:none}.collection-nav::-webkit-scrollbar{display:none}.collection-nav a{white-space:nowrap;text-decoration:none;color:var(--brown);background:#ecdfcf;border-radius:999px;padding:8px 12px;font:600 10px "Rubik",sans-serif;letter-spacing:.25px}
.catalog{padding:38px 0 20px}.catalog-note{display:flex;align-items:end;justify-content:space-between;padding:0 5px;margin-bottom:14px}.catalog-note b{font-size:18px;font-weight:600;color:var(--deep)}.catalog-note span{font-size:10px;color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.product-card{border:0;text-align:right;background:var(--paper);border-radius:25px;overflow:hidden;box-shadow:0 6px 23px rgba(78,52,35,.06);cursor:pointer;padding:0;transition:.18s;min-width:0}.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.card-media{aspect-ratio:1/1;background:#eee4d7;overflow:hidden;position:relative}.card-media img{width:100%;height:100%;object-fit:contain;padding:5px;display:block;transition:.25s}.product-card:hover .card-media img{transform:scale(1.035)}.zoom-chip{position:absolute;bottom:9px;left:9px;background:rgba(255,253,249,.92);width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-size:15px;box-shadow:0 3px 12px #0001}.card-body{padding:12px 13px 14px}.card-type{font-size:9px;color:var(--muted);letter-spacing:.7px}.card-body h3{font:600 13px/1.25 "Rubik",sans-serif;margin:3px 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-price{display:flex;gap:7px;align-items:baseline}.card-price del{font-size:10px;color:#ab9e92}.card-price strong{font:600 18px "Rubik",sans-serif;color:var(--brown)}.card-footer{min-height:27px;margin-top:9px;display:flex;align-items:center;justify-content:space-between}.mini-swatches{display:flex;gap:5px}.mini-swatch{width:15px;height:15px;border-radius:50%;border:1px solid rgba(55,40,30,.17);background:var(--sw)}.mini-patterns{display:flex;direction:ltr;padding-left:4px}.mini-pattern{width:19px;height:19px;border-radius:50%;overflow:hidden;background:#ddd;border:2px solid var(--paper);margin-left:-4px}.mini-pattern img{width:100%;height:100%;object-fit:cover}.card-more{font-size:9px;color:var(--muted)}
.pickup-teaser{padding:16px 0 46px}.pickup-teaser button{width:100%;border:0;border-radius:22px;background:#ecdfcf;padding:17px 19px;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;text-align:right;color:var(--ink);cursor:pointer}.pickup-teaser span{font-size:11px;color:var(--muted)}.pickup-teaser b{font-size:12px}.pickup-teaser i{font-style:normal;font-size:22px;color:var(--brown)}.footer{border-top:1px solid var(--line);padding:25px 0 34px;display:flex;align-items:center;justify-content:space-between}.footer img{width:120px}.footer small{color:var(--muted);font-size:10px}
.floating-cart{position:fixed;bottom:12px;right:50%;transform:translateX(50%);z-index:45;width:min(650px,calc(100% - 22px));border:0;border-radius:24px;background:var(--deep);color:#fff;padding:11px 17px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 14px 33px rgba(55,35,23,.3);cursor:pointer}.floating-cart span{text-align:right}.floating-cart b,.floating-cart small{display:block}.floating-cart b{font-size:13px}.floating-cart small{font-size:9px;opacity:.72}.floating-cart strong{font:600 16px "Rubik",sans-serif}
.backdrop{position:fixed;inset:0;background:rgba(41,30,23,.56);z-index:70;display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(3px)}.round-close{width:37px;height:37px;border:0;border-radius:50%;background:#f0e5d8;color:var(--deep);font-size:22px;display:grid;place-items:center;cursor:pointer;line-height:1}.product-modal{width:min(980px,100%);max-height:92vh;overflow:auto;background:var(--paper);border-radius:32px;padding:17px;position:relative}.product-modal>.round-close{position:sticky;float:left;top:0;z-index:5}.modal-layout{display:grid;grid-template-columns:1.18fr .82fr;gap:28px;clear:both;padding:5px}.modal-gallery{min-width:0}.main-image-wrap{aspect-ratio:1/1;background:#efe6da;border-radius:25px;overflow:hidden;position:relative;cursor:zoom-in}.main-image-wrap img{width:100%;height:100%;object-fit:contain;display:block;padding:6px}.zoom-label{position:absolute;left:13px;bottom:13px;background:rgba(255,253,249,.92);padding:7px 10px;border-radius:999px;font-size:10px;color:var(--brown)}.image-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,253,249,.92);cursor:pointer;font-size:22px}.image-arrow.prev{right:12px}.image-arrow.next{left:12px}.thumbs{display:flex;gap:7px;overflow:auto;margin-top:9px;padding-bottom:2px}.thumb{width:61px;height:61px;flex:0 0 61px;border:2px solid transparent;border-radius:14px;overflow:hidden;background:#eee4d7;padding:0}.thumb.active{border-color:var(--brown)}.thumb img{width:100%;height:100%;object-fit:contain}.modal-info{padding:12px 4px}.modal-type{font-size:9px;color:var(--muted);letter-spacing:1px}.modal-info h2{font:600 28px/1.1 "Rubik",sans-serif;margin:5px 0 10px;color:var(--deep)}.modal-price{display:flex;align-items:baseline;gap:9px;margin-bottom:19px}.modal-price del{color:#ad9e91;font-size:14px}.modal-price strong{font:600 27px "Rubik",sans-serif;color:var(--brown)}.option-title{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:10px}.option-title b{font-size:11px}.pattern-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.pattern-option{border:1px solid var(--line);background:#fff;border-radius:15px;padding:7px;cursor:pointer;min-width:0}.pattern-option.active{border-color:var(--brown);box-shadow:inset 0 0 0 1px var(--brown)}.pattern-option img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;background:#eee}.pattern-option span{display:block;font-size:9px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swatch-options{display:flex;gap:11px;flex-wrap:wrap}.swatch-option{width:31px;height:31px;border-radius:50%;border:1px solid rgba(50,35,25,.18);background:var(--sw);position:relative;cursor:pointer}.swatch-option.active:after{content:"";position:absolute;inset:-5px;border:1px solid var(--deep);border-radius:50%}.details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:21px 0 16px}.details summary{list-style:none;padding:13px 0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600}.details summary::-webkit-details-marker{display:none}.details summary i{font-style:normal;font-size:18px}.details[open] summary i{transform:rotate(45deg)}.specs{padding:0 0 10px}.specs p{display:grid;grid-template-columns:100px 1fr;gap:9px;font-size:10px;line-height:1.55;margin:7px 0}.specs b{font-weight:600}.specs span{color:var(--muted)}.modal-buy{display:grid;grid-template-columns:112px 1fr;gap:8px}.qty-control{height:44px;border:1px solid var(--line);border-radius:15px;display:flex;overflow:hidden}.qty-control button{width:35px;border:0;background:#fff;cursor:pointer}.qty-control span{flex:1;display:grid;place-items:center;font-size:12px}.add-button,.checkout-button{border:0;border-radius:15px;background:var(--brown);color:#fff;font-weight:600;cursor:pointer;min-height:44px}.added-note{font-size:9px;color:#668356;margin-top:7px;min-height:14px}.zoom-modal{width:min(920px,100%);height:min(92vh,920px);background:var(--paper);border-radius:30px;padding:15px;position:relative;display:grid;place-items:center}.zoom-modal>.round-close{position:absolute;left:15px;top:15px;z-index:2}.zoom-modal img{width:100%;height:100%;object-fit:contain;cursor:zoom-out}
.cart-drawer{position:absolute;left:0;top:0;height:100%;width:min(470px,100%);background:var(--paper);display:flex;flex-direction:column;padding:20px}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line)}.drawer-header h2{font:600 27px "Rubik",sans-serif;margin:4px 0}.cart-items{flex:1;overflow:auto;padding:4px 0}.empty-cart{text-align:center;color:var(--muted);padding:70px 10px;font-size:12px}.cart-row{display:grid;grid-template-columns:70px 1fr auto;gap:11px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.cart-thumb{width:70px;height:70px;border-radius:15px;overflow:hidden;background:#eee5d9}.cart-thumb img{width:100%;height:100%;object-fit:contain}.cart-row h3{font-size:12px;margin:0 0 2px}.cart-row small{display:block;color:var(--muted);font-size:9px;margin-bottom:8px}.cart-row-controls{display:flex;align-items:center;gap:6px}.cart-row-controls button{width:25px;height:25px;border:1px solid var(--line);background:#fff;border-radius:9px;cursor:pointer}.cart-row-controls span{font-size:11px;min-width:15px;text-align:center}.remove-item{border:0!important;background:transparent!important;color:#aa8f7c;font-size:10px;width:auto!important;padding:0 5px}.cart-line-price{font:600 13px "Rubik",sans-serif;color:var(--brown)}.drawer-footer{border-top:1px solid var(--line);padding-top:14px}.total-line{display:flex;justify-content:space-between;align-items:center;padding:9px 0 14px}.total-line span{font-size:12px}.total-line b{font:600 21px "Rubik",sans-serif}.drawer-footer .checkout-button{width:100%}.small-modal{width:min(520px,100%);background:var(--paper);border-radius:30px;padding:24px;position:relative}.small-modal>.round-close{position:absolute;left:18px;top:18px}.small-modal h2{font:600 26px "Rubik",sans-serif;margin:6px 0 17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.form-grid label{font-size:10px;color:var(--muted)}.form-grid label.full{grid-column:1/-1}.form-grid input{width:100%;border:1px solid var(--line);background:#fff;border-radius:13px;padding:11px;margin-top:5px;outline:none}.small-modal .checkout-button{width:100%}.test-note{display:block;text-align:center;color:var(--muted);font-size:9px;margin-top:7px}.pickup-options{display:grid;gap:8px}.pickup-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:13px;text-align:right;cursor:pointer}.pickup-card b,.pickup-card span,.pickup-card small{display:block}.pickup-card b{font-size:12px}.pickup-card span{font-size:10px;margin:3px 0;color:var(--brown)}.pickup-card small{font-size:9px;color:var(--muted)}.success{margin-top:12px;border-radius:15px;background:#edf4e9;padding:13px;font-size:11px;color:#4d6945}
@media(max-width:900px){.product-grid{grid-template-columns:repeat(3,1fr)}.hero{grid-template-columns:.9fr 1.1fr;padding:32px}.hero-products{height:340px}.modal-layout{grid-template-columns:1fr 1fr;gap:18px}.pattern-options{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){body{padding-bottom:82px}.shell{width:calc(100% - 22px)}.topbar-inner{height:62px}.brand-logo{width:118px}.partner span{display:none}.partner img{width:57px}.icon-button{width:39px;height:39px}.hero{margin-top:11px;border-radius:27px;grid-template-columns:1fr;padding:24px 20px 14px;gap:5px;min-height:0}.hero-copy{text-align:center}.hero h1{font-size:34px;letter-spacing:-1.2px}.hero p{font-size:12px;margin-inline:auto;max-width:320px}.pill-button{padding:10px 20px}.hero-products{height:270px;margin-top:3px}.hero-bag{border-radius:22px;border-width:4px}.bag-one{width:43%;height:78%;left:3%}.bag-two{width:40%;height:68%;right:3%}.bag-three{width:41%;height:60%;right:22%}.collection-nav{padding-top:11px}.collection-nav a{padding:7px 10px;font-size:9px}.catalog{padding-top:27px}.catalog-note b{font-size:15px}.catalog-note span{font-size:9px}.product-grid{grid-template-columns:repeat(2,1fr);gap:9px}.product-card{border-radius:19px}.card-body{padding:10px}.card-body h3{font-size:11px}.card-price strong{font-size:16px}.card-media{aspect-ratio:1/1}.zoom-chip{width:26px;height:26px;font-size:13px}.pickup-teaser{padding-bottom:34px}.floating-cart{bottom:8px;border-radius:21px;padding:10px 15px}.product-modal{max-height:95vh;border-radius:25px;padding:11px}.modal-layout{grid-template-columns:1fr;gap:10px;padding:2px}.main-image-wrap{aspect-ratio:1/1;border-radius:20px}.modal-info{padding:5px 3px 3px}.modal-info h2{font-size:23px}.pattern-options{grid-template-columns:repeat(3,1fr)}.pattern-option{padding:5px}.pattern-option span{font-size:8px}.modal-buy{grid-template-columns:100px 1fr}.cart-drawer{padding:15px}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.small-modal{padding:21px}.specs p{grid-template-columns:82px 1fr}.zoom-modal{height:90vh;border-radius:24px}}

body{background:#fff}.topbar{background:rgba(255,255,255,.94)}
.hero{min-height:315px;grid-template-columns:.88fr 1.12fr;padding:28px 34px;background:linear-gradient(135deg,#eadbc8,#f3e8da);border-radius:30px}
.hero h1{font-size:clamp(30px,4vw,46px);margin:9px 0 11px}.hero p{font-size:12px;line-height:1.65;margin-bottom:16px;max-width:430px}
.hero-single{height:260px;border-radius:24px;overflow:hidden;background:#e7d7c5}.hero-single img{width:100%;height:100%;object-fit:cover;object-position:center 53%;display:block}
.collection-nav a{background:#f2e8dc}.catalog{background:#fff}.product-card{background:#fff;border:1px solid #eee7df}.card-media{background:#f7f2ec}
.mini-swatches{gap:5px}.mini-swatch{width:16px;height:16px}
@media(max-width:760px){.hero{grid-template-columns:.86fr 1.14fr;min-height:210px;padding:18px;gap:14px;border-radius:25px;margin-top:12px}.hero-copy{text-align:right}.hero h1{font-size:23px;line-height:1.08;letter-spacing:-.7px;margin:7px 0 8px}.hero p{font-size:10px;line-height:1.55;margin:0 0 11px}.hero .kicker{font-size:8px}.pill-button{padding:8px 14px;font-size:10px}.hero-single{height:176px;border-radius:19px}}
@media(max-width:480px){.hero{grid-template-columns:1fr;min-height:0;padding:17px}.hero-copy{text-align:center}.hero h1{font-size:25px}.hero p{max-width:310px;margin:0 auto 11px}.hero-single{height:185px;margin-top:4px}}

/* v11 — compact storefront refinements */
.collection-nav{display:none!important}

/* Keep collection/product titles dark on every browser state */
.product-card,
.product-card:link,
.product-card:visited,
.product-card:hover,
.product-card:active,
.product-card h3,
.product-card h3:link,
.product-card h3:visited,
.card-title,
.card-title:visited{
  color:var(--deep)!important;
  -webkit-text-fill-color:var(--deep);
  text-decoration:none!important;
}

/* Collection names may wrap instead of being cropped */
.card-body h3{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  min-height:2.45em;
  line-height:1.22;
  overflow-wrap:anywhere;
}

/* Slightly denser cards */
.card-body{padding:11px 12px 12px}
.card-footer{margin-top:7px}
.view-more{display:none!important}

/* Compact hero: products appear much sooner */
.hero{
  min-height:240px!important;
  grid-template-columns:.92fr 1.08fr!important;
  padding:22px 26px!important;
  gap:24px!important;
}
.hero h1{
  font-size:clamp(27px,3.6vw,40px)!important;
  line-height:1.05!important;
  margin:7px 0 8px!important;
}
.hero p{
  font-size:11px!important;
  line-height:1.55!important;
  margin-bottom:12px!important;
}
.hero-single{
  height:210px!important;
  background:#e8d8c6;
}
.hero-single img{
  object-fit:cover!important;
  object-position:center 48%!important;
}
.catalog{padding-top:28px!important}
.section-minihead{margin-bottom:13px!important}

@media(max-width:760px){
  .topbar-inner{height:66px}
  .prime-logo{width:125px}
  .hero{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    min-height:170px!important;
    padding:14px!important;
    gap:11px!important;
    border-radius:23px!important;
    margin-top:10px!important;
    align-items:center!important;
  }
  .hero-copy{text-align:right!important}
  .hero .kicker{display:none!important}
  .hero h1{
    font-size:19px!important;
    line-height:1.08!important;
    letter-spacing:-.45px!important;
    margin:0 0 7px!important;
  }
  .hero p{
    font-size:9.5px!important;
    line-height:1.48!important;
    margin:0 0 9px!important;
  }
  .pill-button{
    padding:7px 12px!important;
    font-size:9px!important;
  }
  .hero-single{
    height:145px!important;
    border-radius:17px!important;
    margin:0!important;
  }
  .hero-single img{
    object-fit:cover!important;
    object-position:center 48%!important;
  }
  .catalog{padding-top:23px!important}
  .section-minihead h2{font-size:18px}
  .section-minihead span{font-size:10px}
  .card-body h3{
    font-size:12px!important;
    min-height:2.55em;
    letter-spacing:-.1px;
  }
  .card-price strong{font-size:17px}
  .card-media img{padding:4px}
}

/* On very narrow phones keep the hero short instead of stacking into a full screen */
@media(max-width:480px){
  .hero{
    grid-template-columns:1fr 1fr!important;
    min-height:160px!important;
    padding:12px!important;
  }
  .hero-copy{text-align:right!important}
  .hero h1{font-size:17px!important}
  .hero p{font-size:8.8px!important}
  .hero-single{
    height:136px!important;
    margin:0!important;
  }
  .product-grid{gap:10px}
  .card-body{padding:10px}
  .card-body h3{font-size:11.5px!important}
}

/* Remove any textual zoom prompt while retaining clickable image zoom */
.zoom-copy,.zoom-text,.zoom-label,.product-zoom-hint{display:none!important}

/* =========================================================
   v12 final polish
   ========================================================= */

/* Product cards: use a portrait ratio for TOTE photos so they feel
   naturally framed rather than floating inside a square. */
.bag-card .card-media{
  aspect-ratio:4/5!important;
  background:#f5efe7;
}
.bag-card .card-media img{
  object-fit:cover!important;
  object-position:center center!important;
  padding:0!important;
}
.standard-card .card-media{
  aspect-ratio:1/1!important;
}
.standard-card .card-media img{
  object-fit:contain!important;
  padding:6px!important;
}

/* Clean, compact product modal. */
.product-modal{
  overflow:hidden!important;
}
.modal-layout{
  max-height:calc(92dvh - 34px);
}
.modal-gallery,
.modal-info{
  min-height:0;
}
.modal-info{
  overflow:auto;
  scrollbar-width:thin;
}

/* The buying action appears BEFORE technical details. */
.modal-buy{
  margin-top:15px;
}
.details{
  margin-top:12px!important;
}

/* Bag pattern choices are a short horizontal carousel instead of
   a tall multi-row grid. This keeps Add to Cart above the fold. */
.pattern-options{
  display:flex!important;
  gap:7px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:3px 2px 6px!important;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}
.pattern-options::-webkit-scrollbar{display:none}
.pattern-option{
  flex:0 0 88px!important;
  width:88px!important;
  scroll-snap-align:start;
}
.pattern-option img{
  aspect-ratio:1/1!important;
}
.pattern-option span{
  font-size:8.5px!important;
}

/* Footer */
.benefit-footer{
  display:grid!important;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:center;
  padding:28px 0 112px!important;
  border-top:1px solid var(--line);
}
.benefit-footer .footer-brand img{
  width:105px;
}
.footer-copy{
  text-align:right;
}
.footer-copy p{
  margin:2px 0;
  font-size:9.5px;
  line-height:1.5;
  color:var(--muted);
}
.footer-copy b{
  color:var(--deep);
}
.footer-copy a{
  color:var(--brown);
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Mobile: fit the entire essential purchase flow in one viewport. */
@media(max-width:650px){
  .product-modal{
    width:calc(100% - 12px)!important;
    max-height:94dvh!important;
    height:auto;
    padding:9px!important;
    border-radius:24px!important;
  }
  .product-modal>.round-close{
    position:absolute!important;
    left:12px;
    top:12px;
  }
  .modal-layout{
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    max-height:calc(94dvh - 18px)!important;
    overflow:hidden!important;
    padding:1px!important;
  }
  .modal-gallery{
    flex:0 0 auto;
  }
  .main-image-wrap{
    height:26dvh!important;
    min-height:185px;
    max-height:230px;
    aspect-ratio:auto!important;
    border-radius:18px!important;
  }
  .main-image-wrap img{
    object-fit:contain!important;
    padding:3px!important;
  }
  .thumbs{
    margin-top:6px!important;
    gap:5px!important;
    padding-bottom:0!important;
  }
  .thumb{
    width:44px!important;
    height:44px!important;
    flex-basis:44px!important;
    border-radius:10px!important;
  }
  .modal-info{
    flex:1 1 auto;
    overflow:auto!important;
    padding:3px 3px 0!important;
  }
  .modal-type{
    font-size:8px!important;
  }
  .modal-info h2{
    font-size:19px!important;
    margin:2px 0 4px!important;
  }
  .modal-price{
    margin-bottom:8px!important;
  }
  .modal-price strong{
    font-size:23px!important;
  }
  .modal-price del{
    font-size:12px!important;
  }
  .option-title{
    margin-bottom:5px!important;
    font-size:10px!important;
  }
  .option-title b{
    font-size:10px!important;
  }
  .pattern-options{
    gap:5px!important;
    padding-bottom:4px!important;
  }
  .pattern-option{
    flex-basis:70px!important;
    width:70px!important;
    padding:4px!important;
    border-radius:12px!important;
  }
  .pattern-option img{
    border-radius:8px!important;
  }
  .pattern-option span{
    font-size:7.5px!important;
    margin-top:2px!important;
  }
  .swatch-options{
    padding:5px 3px 8px;
  }
  .modal-buy{
    margin-top:7px!important;
    grid-template-columns:92px 1fr!important;
    gap:7px!important;
  }
  .qty-control,
  .add-button{
    min-height:42px!important;
    height:42px!important;
  }
  .details{
    margin:8px 0 0!important;
  }
  .details summary{
    padding:9px 0!important;
    font-size:10px!important;
  }
  .added-note{
    margin-top:3px!important;
    min-height:8px!important;
  }

  .bag-card .card-media{
    aspect-ratio:4/5!important;
  }
  .bag-card .card-media img{
    object-fit:cover!important;
    object-position:center 50%!important;
  }

  .benefit-footer{
    grid-template-columns:1fr!important;
    gap:9px!important;
    text-align:center;
    padding:24px 0 108px!important;
  }
  .benefit-footer .footer-brand{
    display:flex;
    justify-content:center;
  }
  .benefit-footer .footer-brand img{
    width:92px!important;
  }
  .footer-copy{
    text-align:center!important;
  }
  .footer-copy p{
    font-size:9px!important;
  }
}

/* v13b — restore subtle zoom hint */
.zoom-copy{
  display:block!important;
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:8;
  background:rgba(255,255,255,.9);
  color:#6c4931;
  border:1px solid rgba(108,73,49,.12);
  border-radius:999px;
  padding:6px 9px;
  font-size:10px;
  font-weight:600;
  box-shadow:0 4px 14px rgba(63,45,34,.10);
  pointer-events:none;
}
@media(max-width:760px){
  .zoom-copy{
    left:10px;
    bottom:10px;
    font-size:9px;
    padding:5px 8px;
  }
}

/* v13c — zoom hint belongs to the main product image, not the bottom of the modal */
.modal-main,
.modal-main-image,
.product-main-image,
.gallery-main,
.main-image,
.gallery-stage{
  position:relative;
}
.zoom-copy{
  display:block!important;
  position:absolute!important;
  left:12px!important;
  bottom:12px!important;
  right:auto!important;
  top:auto!important;
  z-index:20!important;
  margin:0!important;
  width:auto!important;
  background:rgba(255,255,255,.92)!important;
  color:#6c4931!important;
  border:1px solid rgba(108,73,49,.12)!important;
  border-radius:999px!important;
  padding:6px 10px!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:600!important;
  box-shadow:0 4px 14px rgba(63,45,34,.10)!important;
  pointer-events:none!important;
}

/* v14 — larger product image + swipeable galleries */

/* Give the product image more visual weight on mobile */
@media(max-width:760px){
  #productModal .product-modal{
    width:min(94vw,760px);
    max-height:92dvh;
    overflow:auto;
  }

  #productModal .gallery-stage,
  #productModal .modal-main,
  #productModal .modal-main-image,
  #productModal .product-main-image,
  #productModal .main-image{
    min-height:340px!important;
    height:40dvh!important;
    max-height:410px!important;
    border-radius:24px!important;
    touch-action:pan-y;
  }

  #productModal .gallery-stage img,
  #productModal .modal-main img,
  #productModal .modal-main-image img,
  #productModal .product-main-image img,
  #productModal .main-image img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
  }

  /* Keep the rest of the modal tighter so add-to-cart stays nearby */
  #productModal .modal-thumbs,
  #productModal .gallery-thumbs,
  #productModal .thumbs{
    margin-top:8px!important;
  }

  #productModal .product-title,
  #productModal h2{
    margin-top:10px!important;
    margin-bottom:6px!important;
  }

  #productModal .variant-grid,
  #productModal .pattern-grid{
    margin-top:8px!important;
    margin-bottom:10px!important;
  }

  #productModal .buy-row{
    margin-top:10px!important;
  }
}

/* The zoom/lightbox itself is swipeable too */
.zoom-overlay,
.image-zoom-overlay,
.lightbox,
.zoom-modal,
[data-zoom-overlay]{
  touch-action:pan-y;
  overscroll-behavior:contain;
}

/* v14b — balanced product modal: larger image, but visible backdrop remains tappable */
@media(max-width:760px){
  #productModal{
    padding:18px 14px!important;
    align-items:center!important;
  }

  #productModal .product-modal{
    width:min(90vw,720px)!important;
    max-height:86dvh!important;
    border-radius:28px!important;
    overflow:auto!important;
  }

  #productModal .gallery-stage,
  #productModal .modal-main,
  #productModal .modal-main-image,
  #productModal .product-main-image,
  #productModal .main-image{
    min-height:0!important;
    height:35dvh!important;
    max-height:355px!important;
    border-radius:22px!important;
  }
}

@media(max-width:480px){
  #productModal{
    padding:24px 16px!important;
  }

  #productModal .product-modal{
    width:89vw!important;
    max-height:84dvh!important;
  }

  #productModal .gallery-stage,
  #productModal .modal-main,
  #productModal .modal-main-image,
  #productModal .product-main-image,
  #productModal .main-image{
    height:32dvh!important;
    max-height:325px!important;
  }
}

/* v14c — larger homepage product imagery + clean white image backgrounds */

/* All product image surfaces should feel clean and white */
.card-media,
.product-card .card-media,
#productModal .gallery-stage,
#productModal .modal-main,
#productModal .modal-main-image,
#productModal .product-main-image,
#productModal .main-image,
.modal-thumbs,
.gallery-thumbs,
.thumbs{
  background:#fff!important;
}

/* Homepage product images */
.card-media img{
  padding:0!important;
  background:#fff!important;
}

/* Lifestyle/product photography should use more of the card */
@media(max-width:760px){
  .product-grid{
    gap:12px!important;
  }

  .product-card .card-media{
    aspect-ratio:1 / 1.12!important;
    min-height:0!important;
    background:#fff!important;
  }

  .product-card .card-media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    transform:none!important;
  }

  /* Keep some breathing room for clean studio shots on white */
  .product-card:nth-last-child(-n+3) .card-media img{
    object-fit:contain!important;
    padding:4px!important;
  }

  /* Slightly reduce text area so the larger image doesn't make cards too tall */
  .card-body{
    padding:9px 10px 10px!important;
  }

  .card-body h3{
    margin-bottom:5px!important;
  }
}

@media(max-width:480px){
  .product-card .card-media{
    aspect-ratio:1 / 1.16!important;
  }

  .product-card .card-media img{
    object-fit:cover!important;
  }

  .product-card:nth-last-child(-n+3) .card-media img{
    object-fit:contain!important;
    padding:3px!important;
  }
}

/* Product modal gallery remains only moderately larger,
   but the image itself gets a white canvas */
#productModal .gallery-stage img,
#productModal .modal-main img,
#productModal .modal-main-image img,
#productModal .product-main-image img,
#productModal .main-image img{
  background:#fff!important;
}

/* v15 — final storefront polish */

/* Slightly larger crossed-out price, still clearly secondary */
.card-price .old-price,
.modal-price .old-price{
  font-size:0.78em!important;
  opacity:.78;
  margin-inline-start:3px;
}

/* Hero supporting copy: more readable */
.hero p{
  font-size:13px!important;
  line-height:1.65!important;
}
@media(max-width:760px){
  .hero p{font-size:10.5px!important;line-height:1.55!important}
}
@media(max-width:480px){
  .hero p{font-size:9.6px!important}
}

/* Slightly larger product names on cards */
.card-body h3{
  font-size:13px!important;
  line-height:1.25!important;
}
@media(max-width:650px){
  .card-body h3{font-size:12.4px!important}
}
@media(max-width:480px){
  .card-body h3{font-size:12px!important}
}

/* Home product images: full, centered, white canvas for all products */
.card-media{
  background:#fff!important;
}
.product-card .card-media img{
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
  padding:3px!important;
}

/* Give non-TOTE products the same visual presence as the bags */
.standard-card .card-media img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  padding:5px!important;
}

/* Product modal: image takes more room, while add-to-cart remains reachable */
@media(max-width:760px){
  #productBackdrop .product-modal{
    width:min(91vw,720px)!important;
    max-height:88dvh!important;
  }
  .modal-layout{
    gap:7px!important;
  }
  .modal-gallery{
    min-width:0;
  }
  .main-image-wrap{
    height:36dvh!important;
    max-height:360px!important;
    min-height:280px!important;
    aspect-ratio:auto!important;
    background:#fff!important;
  }
  .main-image-wrap img{
    object-fit:contain!important;
    background:#fff!important;
  }
  .thumbs{
    margin-top:5px!important;
  }
  .modal-info{
    padding-top:1px!important;
  }
  .modal-info h2{
    margin:3px 0 5px!important;
  }
  .option-title{
    margin-top:6px!important;
    margin-bottom:6px!important;
  }
  .swatch-options{
    margin-bottom:5px!important;
  }
}

/* Bags now use compact color dots in the product modal, just like homepage */
.bag-swatch-options{
  display:flex!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  padding:3px 4px 7px!important;
}
.bag-swatch{
  width:34px!important;
  height:34px!important;
}

/* Zoom: pinch zoom + swipe; clicking the image no longer closes it */
.zoom-modal{
  overflow:hidden!important;
}
.zoom-stage{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  touch-action:none;
}
.zoom-stage img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  cursor:zoom-in!important;
  transform-origin:center center;
  transition:transform .08s linear;
  user-select:none;
  -webkit-user-drag:none;
}
.zoom-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  box-shadow:0 5px 18px rgba(50,35,25,.15);
  font-size:25px;
  color:var(--brown);
}
.zoom-prev{right:13px}
.zoom-next{left:13px}
.zoom-help{
  position:absolute;
  bottom:12px;
  right:50%;
  transform:translateX(50%);
  z-index:7;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:var(--muted);
  font-size:9px;
  pointer-events:none;
}
@media(max-width:650px){
  .zoom-modal{
    width:92vw!important;
    height:84dvh!important;
    padding:12px!important;
  }
  .zoom-nav{
    width:40px;
    height:40px;
  }
}

/* Slightly larger benefit footer copy */
.benefit-footer .footer-copy p,
.footer-copy p{
  font-size:10.8px!important;
  line-height:1.6!important;
}
@media(max-width:650px){
  .benefit-footer .footer-copy p,
  .footer-copy p{
    font-size:10px!important;
  }
}

/* v16 — homepage readability + full-bleed product images */

/* Hero description: intentionally larger than v15 */
.hero p{
  font-size:15px!important;
  line-height:1.6!important;
}
@media(max-width:760px){
  .hero p{
    font-size:12.4px!important;
    line-height:1.52!important;
  }
}
@media(max-width:480px){
  .hero p{
    font-size:11.4px!important;
    line-height:1.5!important;
  }
}

/* Product names: same visual weight/scale as collection titles */
.card-body h3{
  font-size:14px!important;
  line-height:1.24!important;
  font-weight:600!important;
  min-height:2.45em;
}
@media(max-width:650px){
  .card-body h3{
    font-size:13.3px!important;
  }
}
@media(max-width:480px){
  .card-body h3{
    font-size:12.8px!important;
  }
}

/* All homepage product imagery fills the entire media area.
   This restores the fuller look of the previous version. */
.card-media,
.product-card .card-media{
  background:#fff!important;
  overflow:hidden!important;
}

.card-media img,
.product-card .card-media img,
.standard-card .card-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  padding:0!important;
  margin:0!important;
  background:#fff!important;
  transform:none!important;
}

/* Keep the visible card media area generous and consistent */
@media(max-width:760px){
  .product-card .card-media{
    aspect-ratio:1 / 1.12!important;
  }
}
@media(max-width:480px){
  .product-card .card-media{
    aspect-ratio:1 / 1.14!important;
  }
}

/* Slight tuning per non-bag category so the product remains nicely framed
   while still filling the whole card. */
[data-product="sunbed"] .card-media img{
  object-position:center 48%!important;
}
[data-product="fan"] .card-media img{
  object-position:center!important;
}
[data-product="visor"] .card-media img{
  object-position:center 46%!important;
}

/* v17 — square full-bleed homepage imagery + clearer standard product names */

/* Homepage media is a true square for every product */
.product-card .card-media,
.bag-card .card-media,
.standard-card .card-media{
  aspect-ratio:1 / 1!important;
  width:100%!important;
  overflow:hidden!important;
  background:#fff!important;
}

/* Every homepage image fills its square edge-to-edge */
.product-card .card-media img,
.bag-card .card-media img,
.standard-card .card-media img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  padding:0!important;
  margin:0!important;
  border-radius:0!important;
}

/* Keep the original complete sunbed artwork visible as much as possible,
   including its headline, while still filling the square. */
[data-product="sunbed"] .card-media img{
  object-fit:cover!important;
  object-position:center center!important;
}

/* Fan and visor get a tiny visual zoom so the photographed product
   occupies more of the square rather than feeling small. */
[data-product="fan"] .card-media img{
  object-fit:cover!important;
  transform:scale(1.045)!important;
  transform-origin:center!important;
}

[data-product="visor"] .card-media img{
  object-fit:cover!important;
  transform:scale(1.06)!important;
  transform-origin:center!important;
}

/* Standard product titles should read at least as strongly as COLLECTION titles */
.standard-card .card-body h3{
  font-size:15px!important;
  line-height:1.22!important;
  font-weight:600!important;
}

@media(max-width:650px){
  .standard-card .card-body h3{
    font-size:14.2px!important;
  }
}

@media(max-width:480px){
  .standard-card .card-body h3{
    font-size:13.8px!important;
  }

  .product-card .card-media,
  .bag-card .card-media,
  .standard-card .card-media{
    aspect-ratio:1 / 1!important;
  }
}

/* ---------- platform additions: demo, notice, validation, pay, thank-you ---------- */
.demo-ribbon{background:#fff3cd;color:#7a5b00;text-align:center;font-size:11px;font-weight:600;padding:6px 12px}
.notice{margin:14px auto 0;background:#f7f1e8;border:1px solid var(--line);border-radius:18px;padding:13px 18px;font-size:11px;color:var(--ink)}
.form-grid label{position:relative;display:block}
.form-grid input.bad{border-color:#a8372b}
.ferr{display:block;font-style:normal;font-size:9px;color:#a8372b;margin-top:4px;min-height:11px}
.pickup-card.selected{border-color:var(--brown);box-shadow:inset 0 0 0 1px var(--brown);background:#fdf8f2}
.pickup-card.closed{opacity:.5;cursor:not-allowed}
.pickup-card small i{font-style:normal}
.pickup-card small i.urgent{color:var(--brown);font-weight:600}
.swatch-option.sold-out{opacity:.35}
.pay-now{width:100%;margin-top:14px}
.pay-now:disabled{background:#cfc4b8;cursor:default}
.success.error{background:#fbeceb;color:#8c3227}

body.thanks-mode{padding-bottom:0}
body.thanks-mode .topbar,body.thanks-mode main,body.thanks-mode .footer,
body.thanks-mode .floating-cart,body.thanks-mode .backdrop{display:none!important}
.thanks{width:min(560px,calc(100% - 32px));margin:60px auto;text-align:center}
.thanks-check{width:78px;height:78px;border-radius:50%;background:#edf4e9;color:#4d6945;
  font-size:36px;display:grid;place-items:center;margin:0 auto 18px}
.thanks h1{font:600 30px "Rubik",sans-serif;color:var(--deep);margin:0 0 6px}
.thanks-cobrand{font-size:12px;color:var(--muted);margin:0 0 26px}
.thanks-cobrand .pp{color:var(--brown)}
.thanks-order{background:var(--paper);border:2px dashed var(--brown);border-radius:22px;
  padding:18px;max-width:330px;margin:0 auto 16px}
.thanks-order small{display:block;font-size:10px;color:var(--muted)}
.thanks-order strong{font:600 27px "Rubik",sans-serif;color:var(--brown);direction:ltr;letter-spacing:1px}
.thanks-pickup{font-size:13px;color:var(--ink);margin:0 0 14px;line-height:1.7}
.thanks-mail{font-size:12px;color:var(--muted);max-width:36ch;margin:0 auto}
.thanks-redir{margin-top:26px;font-size:12px;color:var(--muted)}
.thanks-redir b{font:600 18px "Rubik",sans-serif;color:var(--brown)}

/* ---------- MAX feedback round ---------- */
.cart-icon{width:22px;height:22px;display:block;margin:auto;color:var(--deep)}

/* add-to-cart on the right, quantity on the left */
.modal-buy{grid-template-columns:1fr 112px}
@media(max-width:650px){.modal-buy{grid-template-columns:1fr 100px}}

/* the spec panel renders above its own summary, so it grows upward */
.details{display:flex;flex-direction:column-reverse}

/* bundle offer */
.card-bundle,.bundle-badge{
  display:inline-block;background:var(--brown);color:#fff;border-radius:999px;
  font:600 10px "Rubik",sans-serif;padding:3px 10px;margin-top:6px;
}
.bundle-badge{font-size:12px;padding:5px 13px;margin:0 0 18px}
.cart-saving{
  background:#edf4e9;color:#4d6945;border-radius:12px;padding:8px 12px;
  font-size:11px;font-weight:600;margin-bottom:10px;text-align:center;
}

/* the confirmation you actually notice */
.cart-toast{
  position:fixed;left:50%;transform:translate(-50%,-140%);top:14px;z-index:80;
  width:min(420px,calc(100% - 24px));
  background:var(--deep);color:#fff;border-radius:18px;
  padding:11px 14px;display:flex;align-items:center;gap:11px;cursor:pointer;
  box-shadow:0 16px 38px rgba(40,26,16,.34);
  opacity:0;transition:transform .32s cubic-bezier(.25,1,.5,1),opacity .32s;
}
.cart-toast.show{transform:translate(-50%,0);opacity:1}
.cart-toast img{width:42px;height:42px;border-radius:11px;object-fit:contain;background:#fffdf9;flex-shrink:0}
.cart-toast div{flex:1;min-width:0}
.cart-toast b{display:block;font-size:12px}
.cart-toast small{display:block;font-size:10px;opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cart-toast .toast-go{font-size:11px;font-weight:600;opacity:.9;flex-shrink:0}
@media(prefers-reduced-motion:reduce){.cart-toast{transition:opacity .2s}}

/* the thank-you page no longer pushes anyone out, it just offers the door */
.thanks-home{
  display:inline-flex;align-items:center;gap:8px;margin-top:30px;
  background:var(--brown);color:#fff;text-decoration:none;
  border-radius:999px;padding:13px 26px;
  font:600 13px "Rubik",sans-serif;
  transition:transform .18s ease,background .18s ease;
}
.thanks-home:hover{background:var(--deep);transform:translateY(-1px)}
.thanks-home i{font-style:normal;font-size:16px;line-height:1}
@media(prefers-reduced-motion:reduce){.thanks-home{transition:background .18s ease}}
