/* Shop Bad Decisions — Sloth's native merch layer. */
.merch-page{background:var(--bg);padding-top:70px}
.merch-hero{max-width:1240px;margin:0 auto;padding:54px 24px 28px}
.merch-hero-card{position:relative;overflow:hidden;min-height:520px;border:1px solid var(--line);border-radius:34px;background:#111;color:#fff;box-shadow:var(--shadow-lg);display:grid;grid-template-columns:.86fr 1.14fr}
.merch-hero-copy{position:relative;z-index:2;padding:clamp(34px,5vw,72px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.merch-hero-copy .eyebrow{color:#d7cfc5}
.merch-hero-copy h1{max-width:760px;margin:12px 0 18px;font-size:clamp(58px,8.5vw,124px);line-height:.78;letter-spacing:-.075em;text-transform:uppercase}
.merch-hero-copy h1 span{color:var(--peach)}
.merch-hero-copy p{max-width:500px;margin:0;color:#c7c1bb;font-size:clamp(16px,1.6vw,20px);line-height:1.5}
.merch-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.merch-hero-actions .cta{background:#fff;color:#111}
.merch-hero-actions .ghost{background:transparent;border-color:#4b4946;color:#fff}
.merch-hero-art{position:relative;min-height:520px;background:linear-gradient(145deg,#f5d4c2,#d96b8e)}
.merch-hero-art::before{content:"OFFICIAL SLOTH MERCH";position:absolute;z-index:2;right:20px;top:22px;border:2px solid #111;border-radius:4px;padding:8px 11px;color:#111;font-weight:1000;letter-spacing:.13em;font-size:11px;transform:rotate(5deg)}
.merch-hero-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.merch-ticker{max-width:1192px;margin:0 auto 16px;padding:0 24px}
.merch-ticker-inner{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.merch-ticker span,.merch-stamp{display:inline-flex;border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 12px;font-size:10px;font-weight:1000;letter-spacing:.11em;text-transform:uppercase}
.merch-section{max-width:1240px;margin:auto;padding:70px 24px}
.merch-section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}
.merch-section-head h2{font-size:clamp(44px,6vw,76px);line-height:.88;text-transform:uppercase;margin:8px 0 0}
.merch-section-head p{max-width:420px;color:var(--muted);line-height:1.6}
.merch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.merch-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:#fff;box-shadow:var(--shadow);transition:.25s ease}
.merch-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.merch-card-media{position:relative;aspect-ratio:1/1;overflow:hidden;background:#f4efe9}
.merch-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.merch-card:hover .merch-card-media img{transform:scale(1.025)}
.merch-card-badge{position:absolute;top:14px;left:14px;background:#111;color:#fff;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:1000;letter-spacing:.12em;text-transform:uppercase}
.merch-card-body{padding:20px 21px 22px;display:flex;flex-direction:column;flex:1}
.merch-card-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.merch-card h3{font-size:clamp(28px,2.6vw,40px);line-height:.92;text-transform:uppercase;margin:10px 0 8px}
.merch-card p{font-size:14px;color:var(--muted);line-height:1.5;margin:0}
.merch-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:18px}
.merch-card-price{font-size:20px;font-weight:1000}
.merch-drop-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.merch-drop-grid .merch-card h3{font-size:clamp(24px,2vw,34px)}
.merch-drop-grid .merch-card-body{min-height:300px}
.merch-drop-art{display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(145deg,#f2c7ad,#e97951);color:#111;text-align:center}
.merch-drop-art span{font-size:clamp(24px,4vw,54px);font-weight:1000;letter-spacing:.08em}
.merch-drop-art strong{font-size:clamp(58px,8vw,118px);line-height:.8;letter-spacing:-.07em}
.merch-drop-art small{margin-top:28px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.merch-catalog-loading,.merch-catalog-error{grid-column:1/-1;min-height:240px;border:1px dashed var(--line);border-radius:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted)}
.merch-catalog-error strong{color:#111;font-size:24px;text-transform:uppercase}
.merch-quality{max-width:1192px;margin:0 auto 76px;border:1px solid var(--line);border-radius:30px;background:#fff;padding:clamp(28px,4vw,52px);display:grid;grid-template-columns:.7fr 1.3fr;gap:36px;box-shadow:var(--shadow)}
.merch-quality-label{font-size:11px;font-weight:1000;letter-spacing:.15em;text-transform:uppercase;color:var(--cherry)}
.merch-quality h2{font-size:clamp(38px,4.4vw,60px);line-height:.94;text-transform:uppercase;margin:9px 0 0}
.merch-quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.merch-quality-item{border:1px solid var(--line);border-radius:18px;background:var(--paper-soft);padding:18px}
.merch-quality-item b{display:block;font-size:12px;text-transform:uppercase;margin-bottom:8px}
.merch-quality-item span{font-size:13px;color:var(--muted);line-height:1.5}

/* Product detail */
.merch-pdp{max-width:1240px;margin:0 auto;padding:46px 24px 90px;display:grid;grid-template-columns:1.08fr .92fr;gap:28px;align-items:start}
.merch-gallery{position:sticky;top:94px;display:block}
.merch-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;margin-top:10px}
.merch-thumb{padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;aspect-ratio:1;cursor:pointer}
.merch-thumb.active{border-color:#111;box-shadow:0 0 0 1px #111}
.merch-thumb img{width:100%;height:100%;object-fit:cover}
.merch-thumb.is-detail img{object-fit:contain;padding:8px}
.merch-thumb.is-artwork,.merch-thumb.is-artwork img{background:#111}
.merch-main-image{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:30px;background:#f4efe9;aspect-ratio:1}
.merch-main-image img{display:block;width:100%;height:100%;object-fit:cover}
.merch-main-image.is-detail img{object-fit:contain;background:#fff}
.merch-main-image.is-artwork,.merch-main-image.is-artwork img{background:#111}
.merch-main-image.is-artwork img{padding:clamp(24px,6vw,72px)}
.merch-main-image .merch-stamp{position:absolute;right:18px;bottom:18px;border-color:#111;transform:rotate(-4deg)}
.merch-buy-panel{border:1px solid var(--line);border-radius:30px;background:#fff;box-shadow:var(--shadow);padding:clamp(25px,3vw,38px)}
.merch-breadcrumb{display:flex;gap:8px;align-items:center;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.merch-breadcrumb a{color:var(--ink)}
.merch-buy-panel h1{font-size:clamp(50px,5.6vw,78px);line-height:.82;text-transform:uppercase;margin:9px 0 16px}
.merch-dek{color:var(--muted);font-size:16px;line-height:1.6;margin:0 0 21px}
.merch-price-line{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-bottom:20px}
.merch-price-line strong{font-size:30px}
.merch-price-line span{font-size:11px;color:var(--muted);font-weight:900;text-transform:uppercase}
.merch-option{margin-top:20px}
.merch-option-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}
.merch-option-head strong{font-size:11px;letter-spacing:.11em;text-transform:uppercase}
.size-guide-btn{border:0;background:none;text-decoration:underline;color:var(--muted);font-size:11px;cursor:pointer}
.merch-swatches,.merch-sizes{display:flex;gap:8px;flex-wrap:wrap}
.merch-swatch{display:flex;align-items:center;gap:8px;border:1px solid #111;border-radius:999px;background:#fff;padding:9px 12px;font-weight:900;font-size:12px}
.merch-swatch::before{content:"";width:15px;height:15px;border-radius:50%;background:#111;box-shadow:0 0 0 1px #aaa}
.merch-size{min-width:48px;height:46px;border:1px solid var(--line);border-radius:13px;background:#fff;font-weight:1000;cursor:pointer}
.merch-size:hover:not(:disabled),.merch-size.selected{border-color:#111;background:#111;color:#fff}
.merch-size:disabled{opacity:.38;cursor:not-allowed;text-decoration:line-through}
.merch-purchase-row{display:grid;grid-template-columns:100px 1fr;gap:10px;margin-top:24px}
.merch-quantity{display:grid;grid-template-columns:30px 1fr 30px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:0 7px}
.merch-quantity button{border:0;background:none;font-size:19px;cursor:pointer}
.merch-quantity span{text-align:center;font-weight:1000}
.merch-buy-panel .buy-btn{min-height:50px}
.merch-buy-panel .buy-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.merch-availability{min-height:18px;margin:10px 2px 0;color:var(--muted);font-size:12px;line-height:1.45}
.merch-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:18px}
.merch-trust div{border:1px solid var(--line);border-radius:15px;background:var(--paper-soft);padding:12px}
.merch-trust strong{display:block;font-size:10px;text-transform:uppercase;margin-bottom:4px}
.merch-trust span{display:block;font-size:10px;color:var(--muted);line-height:1.4}
.merch-details{margin-top:25px;border-top:1px solid var(--line)}
.merch-details h2{margin:18px 0 2px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.merch-detail{border-bottom:1px solid var(--line)}
.merch-detail summary{list-style:none;display:flex;justify-content:space-between;cursor:pointer;padding:16px 0;font-size:12px;font-weight:1000;letter-spacing:.08em;text-transform:uppercase}
.merch-detail summary::-webkit-details-marker{display:none}
.merch-detail summary::after{content:"+"}
.merch-detail[open] summary::after{content:"−"}
.merch-detail p,.merch-detail ul{margin:0 0 17px;color:var(--muted);font-size:13px;line-height:1.6}
.merch-detail ul{padding-left:18px}
.merch-size-table-wrap{margin:0 0 12px;overflow-x:auto;border:1px solid var(--line);border-radius:14px}
.merch-size-table{width:100%;min-width:520px;border-collapse:collapse;background:#fff;font-size:12px}
.merch-size-table th,.merch-size-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}
.merch-size-table th:first-child{text-align:left}
.merch-size-table thead th{background:var(--paper-soft);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.merch-size-table tbody tr:last-child th,.merch-size-table tbody tr:last-child td{border-bottom:0}
.merch-measure-note{font-size:11px!important}
.merch-mobile-buy{display:none}

/* Restock signup panels */
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
.launch-form{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:28px}
.launch-form label{display:grid;gap:6px;text-align:left}
.launch-form label span{font-size:10px;font-weight:1000;letter-spacing:.12em;text-transform:uppercase}
.launch-form input{width:100%;min-width:0;border:1px solid var(--line);border-radius:14px;background:#fff;color:#111;padding:14px 15px;font:inherit;outline:none}
.launch-form input:focus{border-color:#111;box-shadow:0 0 0 3px rgba(255,255,255,.15)}
.launch-form .cta,.launch-form .ghost,.launch-form .form-status{grid-column:1/-1}
.launch-form .cta{min-height:50px;border:0;cursor:pointer}
.launch-form .ghost{min-height:46px;cursor:pointer}
.checkout-merch-only{margin-top:18px;border:0;cursor:pointer}
.merch-launch-form{width:min(570px,100%)}
.merch-launch-form label span{color:#d7cfc5}
.merch-launch-form .form-status{color:#d7cfc5}
.merch-coming-hero .merch-hero-art::before{content:"SLOTH APPAREL"}
.merch-coming-art{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(36px,6vw,76px);color:#111;text-transform:uppercase}
.merch-coming-art::after{content:"";position:absolute;width:280px;height:280px;right:-80px;bottom:-90px;border:55px solid rgba(255,255,255,.23);border-radius:50%}
.merch-coming-art span,.merch-coming-art strong,.merch-coming-art em{position:relative;z-index:1;display:block;font-style:normal;font-weight:1000;line-height:.78;letter-spacing:-.07em}
.merch-coming-art span{font-size:clamp(48px,7vw,96px)}
.merch-coming-art strong{font-size:clamp(62px,9vw,126px);color:#fff;text-shadow:3px 3px 0 #111,-1px -1px 0 #111,1px -1px 0 #111,-1px 1px 0 #111}
.merch-coming-art em{font-size:clamp(76px,11vw,152px)}
.merch-coming-art small{position:relative;z-index:1;margin-top:30px;max-width:300px;border-top:2px solid #111;padding-top:12px;font-size:10px;font-weight:1000;letter-spacing:.14em;line-height:1.5}
.sold-out-page{display:grid;align-items:center;padding:124px 24px 70px}
.sold-out-card{width:min(1120px,100%);margin:auto;overflow:hidden;border:1px solid var(--line);border-radius:34px;background:#111;color:#fff;box-shadow:var(--shadow-lg);display:grid;grid-template-columns:1.08fr .92fr}
.sold-out-copy{padding:clamp(34px,6vw,76px)}
.sold-out-copy .eyebrow{color:#d7cfc5}
.sold-out-copy h1{margin:11px 0 22px;font-size:clamp(58px,8vw,108px);line-height:.8;letter-spacing:-.065em;text-transform:uppercase}
.sold-out-copy h1 span{color:var(--peach)}
.sold-out-copy p{max-width:620px;color:#c9c2ba;line-height:1.6}
.sold-out-copy .sold-out-lead{color:#fff;font-size:clamp(17px,2vw,22px);font-weight:800}
.sold-out-art{position:relative;min-height:620px;display:grid;place-items:center;background:linear-gradient(145deg,var(--peach),#d96b8e);overflow:hidden}
.sold-out-art::after{content:"JOIN THE SLOW LIST";position:absolute;inset:auto -50px 54px;transform:rotate(-8deg);background:#111;color:#fff;padding:13px;text-align:center;font-size:12px;font-weight:1000;letter-spacing:.15em}
.sold-out-art img{position:relative;z-index:1;max-height:500px;max-width:72%;filter:drop-shadow(0 24px 20px rgba(0,0,0,.28));transform:rotate(4deg)}
.sold-out-stamp{position:absolute;z-index:2;top:24px;right:24px;border:2px solid #111;border-radius:5px;padding:9px 12px;color:#111;font-size:11px;font-weight:1000;letter-spacing:.12em;text-align:center;text-transform:uppercase;transform:rotate(5deg)}

/* Checkout */
.checkout-availability-gate[hidden],
[data-merch-checkout][hidden],
[data-continue-merch-only][hidden],
[data-launch-waitlist][hidden]{display:none!important}
.checkout-page{background:var(--bg);padding-top:70px;min-height:100vh}
.checkout-shell{max-width:1120px;margin:auto;padding:54px 24px 90px}
.checkout-head{margin-bottom:28px}
.checkout-head h1{font-size:clamp(52px,7vw,88px);line-height:.86;text-transform:uppercase;margin:8px 0 14px}
.checkout-head p{color:var(--muted);font-size:16px}
.checkout-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:22px;align-items:start}
.checkout-card{border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow);padding:clamp(22px,3vw,34px)}
.checkout-card h2{font-size:28px;text-transform:uppercase;margin:0 0 7px}
.checkout-card-dek{color:var(--muted);font-size:13px;line-height:1.55;margin:0 0 22px}
.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.checkout-field{display:grid;gap:6px}
.checkout-field.full{grid-column:1/-1}
.checkout-field label{font-size:10px;font-weight:1000;letter-spacing:.1em;text-transform:uppercase}
.checkout-field input,.checkout-field select{width:100%;min-width:0;border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px 14px;font:inherit;outline:none}
.checkout-field input:focus,.checkout-field select:focus{border-color:#111;box-shadow:0 0 0 2px rgba(17,17,17,.06)}
.checkout-next{width:100%;margin-top:18px;min-height:50px}
.checkout-next:disabled{opacity:.55;cursor:wait}
.shipping-rates{display:grid;gap:9px;margin-top:20px}
.shipping-rate{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:13px;cursor:pointer}
.shipping-rate:has(input:checked){border-color:#111;background:var(--paper-soft);box-shadow:0 0 0 1px #111}
.shipping-rate strong{display:block;font-size:13px}
.shipping-rate span{font-size:11px;color:var(--muted)}
.shipping-rate b{font-size:14px}
.checkout-error{min-height:20px;margin:0 0 12px;color:#9a3042;font-size:13px;font-weight:750;line-height:1.45}
#payment-step[hidden],#address-step[hidden]{display:none}
#payment-element{min-height:160px;margin:20px 0}
.checkout-pay{width:100%;min-height:52px}
.checkout-summary{position:sticky;top:94px}
.checkout-summary-lines{display:grid;gap:12px;margin:20px 0}
.checkout-summary-item{display:grid;grid-template-columns:66px 1fr auto;gap:11px;align-items:center}
.checkout-summary-item img{width:66px;height:72px;object-fit:cover;border:1px solid var(--line);border-radius:12px}
.checkout-summary-item strong{display:block;font-size:12px;text-transform:uppercase;line-height:1.15}
.checkout-summary-item span{font-size:11px;color:var(--muted)}
.checkout-summary-totals{border-top:1px solid var(--line);padding-top:14px;display:grid;gap:9px}
.checkout-total-row{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}
.checkout-total-row.total{border-top:1px solid var(--line);padding-top:12px;color:#111;font-weight:1000;font-size:19px}
.checkout-split-note{margin-top:18px;border-radius:16px;background:#111;color:#fff;padding:14px;font-size:12px;line-height:1.5}

/* Confirmation */
.order-page{background:var(--bg);padding-top:70px;min-height:100vh}
.order-shell{max-width:860px;margin:auto;padding:64px 24px 100px}
.order-hero{border:1px solid var(--line);border-radius:32px;background:#111;color:#fff;padding:clamp(34px,6vw,68px);box-shadow:var(--shadow-lg)}
.order-hero .eyebrow{color:#c9c2ba}
.order-hero h1{font-size:clamp(56px,8vw,94px);line-height:.82;text-transform:uppercase;margin:12px 0 18px}
.order-hero p{max-width:600px;color:#c9c2ba;font-size:17px;line-height:1.6}
.order-status-card{margin-top:18px;border:1px solid var(--line);border-radius:28px;background:#fff;padding:clamp(24px,4vw,40px);box-shadow:var(--shadow)}
.order-status-head{display:flex;justify-content:space-between;gap:18px;align-items:start}
.order-status-head h2{font-size:29px;text-transform:uppercase;margin:5px 0}
.order-pill{border-radius:999px;background:#f3e9dd;padding:8px 11px;font-size:10px;font-weight:1000;text-transform:uppercase}
.order-items{display:grid;gap:10px;margin:22px 0}
.order-item{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:12px}
.order-item strong{display:block;font-size:13px;text-transform:uppercase}
.order-item span{font-size:12px;color:var(--muted)}
.tracking-link{margin-top:16px}

.cart-line-type{display:inline-flex!important;width:max-content;margin-top:6px;border-radius:999px;background:#eee5db;padding:4px 7px;font-style:normal;font-size:8px!important;font-weight:1000;text-transform:uppercase;color:#5b554e!important}

@media(max-width:960px){
  .merch-hero-card,.merch-pdp,.checkout-layout,.merch-quality,.sold-out-card{grid-template-columns:1fr}
  .merch-hero-art{min-height:440px;order:-1}
  .merch-grid{grid-template-columns:1fr 1fr}
  .merch-quality-grid{grid-template-columns:1fr 1fr}
  .merch-gallery,.checkout-summary{position:relative;top:auto}
}
@media(max-width:680px){
  .merch-page,.checkout-page,.order-page{padding-top:66px}
  .merch-hero{padding:20px 14px 12px}
  .merch-hero-card{border-radius:24px}
  .merch-hero-art{min-height:330px}
  .merch-hero-copy{padding:29px 23px 34px}
  .merch-hero-copy h1{font-size:58px}
  .merch-section{padding:56px 16px}
  .merch-section-head{display:block}
  .merch-grid{grid-template-columns:1fr}
  .merch-quality{margin:0 16px 60px;padding:24px}
  .merch-quality-grid{grid-template-columns:1fr}
  .merch-pdp{padding:18px 14px 106px;display:block}
  .merch-gallery{display:block}
  .merch-thumbs{gap:8px;margin-top:8px}
  .merch-main-image{border-radius:22px}
  .merch-buy-panel{margin-top:12px;border-radius:22px;padding:23px 20px}
  .merch-buy-panel h1{font-size:53px}
  .merch-trust{grid-template-columns:1fr}
  .merch-purchase-row{display:none}
  .merch-mobile-buy{position:fixed;z-index:150;left:0;right:0;bottom:0;display:grid;grid-template-columns:.8fr 1.2fr;gap:9px;padding:10px 12px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line)}
  .merch-mobile-buy strong,.merch-mobile-buy span{display:block}
  .merch-mobile-buy span{font-size:10px;color:var(--muted)}
  .checkout-shell{padding:36px 14px 76px}
  .checkout-fields{grid-template-columns:1fr}
  .checkout-field.full{grid-column:auto}
  .checkout-card{border-radius:22px;padding:22px 18px}
  .order-shell{padding:38px 14px 78px}
  .order-hero,.order-status-card{border-radius:23px}
  .order-status-head{display:block}
  .launch-form{grid-template-columns:1fr}
  .launch-form .cta,.launch-form .ghost,.launch-form .form-status{grid-column:auto}
  .sold-out-page{padding:86px 14px 40px}
  .sold-out-card{border-radius:24px}
  .sold-out-copy{padding:34px 23px}
  .sold-out-art{min-height:430px}
}
