:root{--bg:#f6f0e8;--paper:#fffdf9;--sand:#eadcca;--sand2:#dfc5a5;--brown:#765036;--deep:#3b2a20;--ink:#302821;--muted:#887a6d;--line:#e7dacc;--white:#fff;--shadow:0 14px 44px color-mix(in srgb, var(--deep) 10.0%, transparent)}
*{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:color-mix(in srgb, var(--bg) 94.0%, transparent);backdrop-filter:blur(13px);border-bottom:1px solid color-mix(in srgb, var(--brown) 8.0%, transparent)}.topbar-inner{height:72px;display:flex;align-items:center;justify-content:space-between}.brand-logo{width:var(--pp-logo-w,145px);max-height:var(--pp-logo-h,44px);object-fit:contain}.partner{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:10px}.partner img{width:auto;max-width:var(--partner-logo-w,82px);max-height:var(--partner-logo-h,36px);object-fit:contain}.icon-button{width:44px;height:44px;border:0;border-radius:16px;background:var(--paper);box-shadow:0 5px 15px color-mix(in srgb, var(--deep) 8.0%, transparent);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,color-mix(in srgb, var(--sand) 95%, var(--sand2)) 0%,color-mix(in srgb, var(--sand2) 40%, var(--white)) 58%,var(--sand2) 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 color-mix(in srgb, var(--brown) 12.0%, transparent);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:color-mix(in srgb, var(--sand) 30%, var(--deep));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:color-mix(in srgb, var(--paper) 25%, var(--sand));border:5px solid rgba(255,255,255,.42);box-shadow:0 18px 35px color-mix(in srgb, var(--deep) 18.0%, transparent)}.hero-bag img{width:100%;height:100%;object-fit:contain;background:color-mix(in srgb, var(--paper) 30%, var(--sand))}.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:color-mix(in srgb, var(--sand2) 25%, var(--brown));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:color-mix(in srgb, var(--paper) 10%, var(--sand));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 color-mix(in srgb, var(--deep) 6.0%, transparent);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:color-mix(in srgb, var(--paper) 25%, var(--sand));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:color-mix(in srgb, var(--bg) 30%, var(--muted))}.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:color-mix(in srgb, var(--paper) 10%, var(--sand));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 color-mix(in srgb, var(--deep) 30.0%, transparent);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:color-mix(in srgb, var(--paper) 30%, var(--sand));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:color-mix(in srgb, var(--bg) 50%, var(--sand));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:color-mix(in srgb, var(--paper) 25%, var(--sand));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:color-mix(in srgb, var(--line) 40%, var(--muted));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:color-mix(in srgb, var(--paper) 30%, var(--line))}.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:color-mix(in srgb, var(--bg) 40%, var(--brown));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:var(--pp-logo-w-sm,118px)}.partner span{display:none}.partner img{width:var(--partner-logo-w-sm,57px);max-height:var(--partner-logo-h-sm,36px)}.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,color-mix(in srgb, var(--sand) 95%, var(--sand2)),color-mix(in srgb, var(--sand2) 40%, var(--white)));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{width:100%;align-self:center;height:210px;border-radius:24px;overflow:hidden;background:color-mix(in srgb, var(--sand2) 15%, var(--line))}.hero-single picture{display:block;width:100%;height:100%}.hero-single img{width:100%;height:100%;object-fit:cover;object-position:center 50%;display:block}
.collection-nav a{background:color-mix(in srgb, var(--paper) 40%, var(--sand))}.catalog{background:#fff}.product-card{background:#fff;border:1px solid color-mix(in srgb, var(--bg) 95%, var(--deep))}.card-media{background:color-mix(in srgb, var(--paper) 15%, var(--bg))}
.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{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{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{
  background:color-mix(in srgb, var(--bg) 50%, var(--sand2));
}
.hero-single img{
  object-fit:cover!important;
  object-position:center 50%!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:color-mix(in srgb, var(--paper) 60%, var(--line));
}
.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:color-mix(in srgb, var(--brown) 80%, var(--deep));
  border:1px solid color-mix(in srgb, var(--brown) 12.0%, transparent);
  border-radius:999px;
  padding:6px 9px;
  font-size:10px;
  font-weight:600;
  box-shadow:0 4px 14px color-mix(in srgb, var(--deep) 10.0%, transparent);
  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:color-mix(in srgb, var(--brown) 80%, var(--deep))!important;
  border:1px solid color-mix(in srgb, var(--brown) 12.0%, transparent)!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 color-mix(in srgb, var(--deep) 10.0%, transparent)!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:var(--bg);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:color-mix(in srgb, var(--paper) 65%, var(--bg))}
.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:color-mix(in srgb, var(--brown) 35%, var(--white));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. The chip sits directly under the price, which is already
   --brown, so filling it with --brown too made the two bleed into each other.
   It takes the sand tone instead and gets its legibility from dark text on a
   light ground - small Hebrew reversed out of a mid tone smears whatever the
   contrast ratio says. The brown stays, as a dot, to keep it on-brand. */
.card-bundle,.bundle-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--sand);color:var(--deep);
  border:1px solid var(--line);
  border-color:color-mix(in oklab, var(--brown) 26%, transparent);
  border-radius:999px;
  font:700 12px/1 "Rubik",sans-serif;
  padding:6px 11px;margin-top:8px;
}
.card-bundle::before,.bundle-badge::before{
  content:"";width:5px;height:5px;border-radius:50%;
  background:var(--brown);flex:none;
}
.bundle-badge{font-size:13px;padding:8px 14px;margin:0 0 18px}
@media(max-width:650px){.card-bundle{font-size:11.5px;padding:5px 10px}}
.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 color-mix(in srgb, var(--deep) 34.0%, transparent);
  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}}

/* The hours slot was sized for "11:30-14:00". It also carries sentences now,
   like a promise to announce the times later, so give it room to be read. */
.pickup-card span{font-size:11.5px;line-height:1.45}

/* Partner name in type, for a company whose logo we do not have yet. */
.partner-name{font:600 15px "Rubik",sans-serif;color:var(--deep);letter-spacing:.2px}

/* A printed bag cannot be summed up by one hex, so its swatch is a crop of the
   fabric itself. Plain goods keep --sw, where the colour really is the product. */
.mini-swatch.print{width:19px;height:19px;background-size:210%;background-position:center;border-color:color-mix(in srgb, var(--deep) 22%, transparent)}
@media(max-width:650px){.mini-swatch.print{width:20px;height:20px}}
.swatch-option.bag-swatch{background-size:150%;background-position:center}
.swatch-option.bag-swatch{background-color:transparent}
/* Stacked partner block - for a mark that needs a caption under it, in a bar grown to
   hold the pair. The bar becomes a real three-column grid in this mode: a space-between
   row only lands its middle item on the page centre when the two items flanking it are
   the same width, and the Prime Port logo and the cart button never are. */
.topbar-inner.stacked{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--topbar-h,72px)}
.topbar-inner.stacked>:first-child{justify-self:start}
.topbar-inner.stacked>:last-child{justify-self:end}
.topbar-inner.stacked .partner{flex-direction:column;gap:var(--partner-gap,5px);text-align:center}
.topbar-inner.stacked .partner>span{display:none}
.partner-caption{font:700 var(--partner-cap,17px)/1.15 "Rubik",sans-serif;color:var(--deep);letter-spacing:.3px;white-space:nowrap}
@media(max-width:650px){.topbar-inner.stacked{height:var(--topbar-h-sm,62px)}.topbar-inner.stacked .partner{gap:var(--partner-gap-sm,4px)}.partner-caption{font-size:var(--partner-cap-sm,14px)}}
