/* Local catalog and cart. Scoped styles preserve the approved header and page layout. */
body.ih-has-cart .c-header { padding-right:0; }
.ih-cart-header-button { align-items:center; background:transparent; border:0; border-radius:0; color:#fff; mix-blend-mode:normal; display:inline-flex; gap:7px; justify-content:center; min-height:44px; min-width:44px; padding:8px; position:fixed; right:18px; top:9px; z-index:201; }
.ih-cart-header-button svg { height:22px; width:22px; }
.ih-cart-header-label { display:none; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.ih-cart-count { align-items:center; background:transparent; border:1px solid currentColor; border-radius:999px; color:#fff; display:inline-flex; font-size:9px; height:18px; justify-content:center; line-height:1; min-width:18px; padding:0 4px; }
body.ih-has-cart .c-header_navigation { right:104px; }
.ih-cart-dialog { position:fixed; inset:0; z-index:1000; margin:0; padding:0; border:0; color:var(--k-ink, #1B1815); background:rgba(27,24,21,0); transition:background-color 320ms ease; overflow:hidden; }
.ih-cart-dialog[hidden] { display:none; }
.ih-cart-dialog.is-open { background:rgba(27,24,21,.42); }
.ih-cart-dialog:focus { outline:none; }
html.ih-cart-locked, html.ih-cart-locked body { overflow:hidden; }
.ih-cart-drawer { position:absolute; top:0; right:0; bottom:0; width:min(100%, 460px); background:var(--k-paper, #F5F0E4); border-left:1px solid rgba(27,24,21,.28); display:flex; flex-direction:column; padding:22px; overflow-y:auto; overscroll-behavior:contain; }
.ih-cart-drawer-head { align-items:center; border-bottom:1px solid rgba(27,24,21,.28); display:flex; justify-content:space-between; padding-bottom:17px; }
.ih-cart-drawer h2,.ih-cart-drawer h3,.ih-checkout-review h2,.ih-checkout-review h3 { font-family:inherit; font-weight:400; margin:0; }
.ih-cart-drawer h2,.ih-checkout-review h2 { font-size:clamp(28px,4vw,42px); letter-spacing:-.04em; }
.ih-cart-close,.ih-cart-remove { background:transparent; border:1px solid currentColor; border-radius:0; color:inherit; font:inherit; font-size:14px; min-height:48px; padding:12px 18px; align-self:flex-start; }
.ih-cart-drawer-body { display:grid; gap:24px; padding:25px 0; }
.ih-cart-empty { font-size:17px; margin:0; }
.ih-cart-item,.ih-checkout-item { display:grid; gap:16px; grid-template-columns:120px minmax(0,1fr); }
.ih-cart-item img,.ih-checkout-item img { background:#eee8dc; height:120px; object-fit:contain; width:120px; }
.ih-cart-item-details { display:flex; flex-direction:column; gap:8px; min-width:0; }
.ih-cart-item h3,.ih-checkout-item h3 { font-size:18px; letter-spacing:-.02em; }
.ih-cart-variant,.ih-cart-price,.ih-checkout-item p,.ih-cart-note,.ih-checkout-status { font-size:12px; line-height:1.45; margin:0; }
.ih-cart-variant,.ih-cart-note,.ih-checkout-status { color:rgba(27,24,21,.62); }
.ih-cart-quantity { align-items:center; display:flex; gap:0; margin-top:2px; }
.ih-cart-quantity input,.ih-cart-step { background:transparent; border:1px solid rgba(27,24,21,.28); color:inherit; font:inherit; height:44px; text-align:center; width:44px; }
.ih-cart-quantity input { border-left:0; border-right:0; -moz-appearance:textfield; }
.ih-cart-quantity input::-webkit-inner-spin-button,.ih-cart-quantity input::-webkit-outer-spin-button { appearance:none; margin:0; }
.ih-cart-summary { border-bottom:1px solid rgba(27,24,21,.28); border-top:1px solid rgba(27,24,21,.28); margin:0; padding:8px 0; }
.ih-cart-summary-row { display:flex; font-size:12px; justify-content:space-between; padding:9px 0; }
.ih-cart-summary dt,.ih-cart-summary dd { margin:0; }
.ih-cart-checkout-link,.ih-cart-outline { align-items:center; background:var(--k-ink, #1B1815); border:1px solid var(--k-ink, #1B1815); color:var(--k-paper, #F5F0E4); display:inline-flex; border-radius:0; font:inherit; font-size:14px; line-height:1.4; justify-content:center; min-height:48px; padding:12px 18px; text-align:center; text-decoration:none; }
.ih-cart-outline { background:transparent; color:var(--k-ink, #1B1815); }
.ih-cart-checkout-link[disabled] { cursor:not-allowed; opacity:.52; }
.ih-checkout-review { background:var(--k-light, #EDE5D3); border:0; color:var(--k-ink, #1B1815); display:grid; gap:22px; margin:clamp(30px,5vw,70px) auto; max-width:760px; padding:clamp(22px,4vw,50px); width:100%; }
.ih-checkout-review .ih-cart-checkout-link { width:100%; }
@media (max-width:699px) { body.ih-has-cart .c-header_navigation { right:auto; } body.ih-has-cart .c-header_toggler { right:100px; } .ih-cart-header-button { right:18px; } .ih-cart-drawer { padding:18px; } }


.ih-content .ih-checkout-review .ih-cart-checkout-link { color:var(--k-paper, #F5F0E4); }
.ih-cart-header-button:focus-visible,.ih-cart-dialog :focus-visible { outline:2px solid currentColor; outline-offset:3px; }

.ih-cart-close:hover,.ih-cart-remove:hover,.ih-cart-outline:hover { background:rgba(128,128,128,.1); }
.ih-cart-checkout-link:not([disabled]):hover { background:transparent; color:var(--k-ink, #1B1815); }
.ih-content .ih-checkout-review .ih-cart-checkout-link:not([disabled]):hover { color:var(--k-ink, #1B1815); }

/* The checkout review is the lit object on a dark page: everything inside it reads in ink. */
.ih-content .ih-checkout-review, .ih-content .ih-checkout-review p, .ih-content .ih-checkout-review h2, .ih-content .ih-checkout-review h3, .ih-content .ih-checkout-review dt, .ih-content .ih-checkout-review dd { color:var(--k-ink, #1B1815); }
.ih-content .ih-checkout-review .ih-cart-variant, .ih-content .ih-checkout-review .ih-cart-note, .ih-content .ih-checkout-review .ih-checkout-status { color:var(--k-muted); }
.ih-content .ih-checkout-review .ih-cart-checkout-link { color:var(--k-paper, #F5F0E4); }
.ih-content .ih-checkout-review .ih-cart-checkout-link:not([disabled]):hover { color:var(--k-ink, #1B1815); }

/* ------------------------------------------------ catalog (merch page) */
.ih-content .ih-catalog { display:grid; gap:clamp(72px,9vw,128px); }
.ih-content .ih-catalog > .ih-product + .ih-product { padding-top:clamp(72px,9vw,128px); border-top:1px solid var(--k-rule); }
.ih-content .ih-product-specs dd .ih-select { appearance:none; min-width:150px; min-height:40px; padding:8px 34px 8px 12px; border:1px solid var(--k-rule-strong); border-radius:0; background-color:transparent; background-image:linear-gradient(45deg,transparent 50%,var(--k-ink) 50%),linear-gradient(135deg,var(--k-ink) 50%,transparent 50%); background-position:calc(100% - 18px) 55%,calc(100% - 12px) 55%; background-size:6px 6px; background-repeat:no-repeat; color:var(--k-ink); font:inherit; font-size:15px; cursor:pointer; }
.ih-content .ih-product-specs dd .ih-select:hover { border-color:var(--k-ink); }
.ih-content .ih-product-specs dd .ih-select:focus-visible { outline:2px solid var(--k-ink); outline-offset:2px; }

/* ------------------------------------------ merch slideshow (homepage) */
.ih-content .ih-merch-slideshow { position:relative; aspect-ratio:1; }
.ih-content .ih-merch-slideshow .ih-merch-slide { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; opacity:0; transition:opacity 900ms ease; }
.ih-content .ih-merch-slideshow .ih-merch-slide.is-active { opacity:1; }
@media (prefers-reduced-motion: reduce) { .ih-content .ih-merch-slideshow .ih-merch-slide { transition:none; } }
.ih-content .ih-product-notice { margin:-6px 0 20px; padding:10px 14px; border:1px solid var(--k-rule-strong); font-size:14px; line-height:1.45; color:var(--k-ink); text-align:center; }

/* ------------------------------------------------ checkout: order + pay */
.ih-content .ih-checkout-form { display:grid; gap:16px; }
.ih-content .ih-checkout-field { display:grid; gap:6px; font-size:13px; color:var(--k-muted); }
.ih-content .ih-checkout-field input,.ih-content .ih-checkout-field textarea { width:100%; min-height:46px; padding:11px 12px; border:1px solid var(--k-rule-strong); border-radius:0; background:var(--k-paper); color:var(--k-ink); font:inherit; font-size:16px; }
.ih-content .ih-checkout-field input:focus,.ih-content .ih-checkout-field textarea:focus { outline:2px solid var(--k-ink); outline-offset:0; }
.ih-content .ih-checkout-delivery { display:flex; flex-wrap:wrap; gap:8px 20px; margin:0; padding:0; border:0; }
.ih-content .ih-checkout-delivery legend { width:100%; margin-bottom:6px; font-size:13px; color:var(--k-muted); }
.ih-content .ih-checkout-radio { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:15px; color:var(--k-ink); cursor:pointer; }
.ih-content .ih-checkout-radio input { width:18px; height:18px; accent-color:#1B1815; }
.ih-content .ih-checkout-form .ih-cart-checkout-link[disabled] { opacity:.6; cursor:progress; }
.ih-content .ih-order-number { font-size:clamp(22px,3vw,30px); letter-spacing:-.02em; }
.ih-content .ih-pay-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ih-content .ih-pay-option { display:flex; flex-direction:column; align-items:center; gap:6px; padding:16px; background:var(--k-paper); border:1px solid var(--k-rule); color:var(--k-ink); text-align:center; text-decoration:none; }
.ih-content .ih-pay-option img { width:100%; max-width:240px; height:auto; }
.ih-content .ih-pay-option strong { font-weight:400; font-size:18px; }
.ih-content .ih-pay-option span { font-size:14px; color:var(--k-muted); }
.ih-content .ih-pay-option:hover { border-color:var(--k-ink); }
@media (max-width:480px) { .ih-content .ih-pay-options { grid-template-columns:1fr; } }
.ih-content .ih-checkout-review h2 { text-transform:none; font-size:clamp(28px,3vw,38px); letter-spacing:-.025em; }
/* delivery choice as two option buttons; the vendor reset draws bare radios invisible */
.ih-content .ih-checkout-radio { position:relative; flex:1 1 180px; justify-content:center; min-height:52px; padding:12px 18px; border:1px solid var(--k-rule-strong); background:var(--k-paper); transition:background-color 160ms,color 160ms,border-color 160ms; }
.ih-content .ih-checkout-radio:hover { border-color:var(--k-ink); }
.ih-content .ih-checkout-radio input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.ih-content .ih-checkout-radio:has(input:checked) { background:#1B1815; border-color:#1B1815; color:#F5F0E4; }
.ih-content .ih-checkout-radio:has(input:checked) span::before { content:"✓ "; }
.ih-content .ih-checkout-radio:has(input:focus-visible) { outline:2px solid #1B1815; outline-offset:3px; }
.ih-content .ih-product-notice { margin:-8px 0 20px; padding:0; border:0; font-size:14px; color:var(--k-muted); }

/* cart drawer: slid by shop.js; resting positions only */
.ih-cart-dialog .ih-cart-drawer { transform:translateX(100%); }
.ih-cart-dialog.is-open .ih-cart-drawer { transform:none; }
@media (prefers-reduced-motion: reduce) { .ih-cart-dialog { transition:none; } }

/* shipping address fields */
.ih-content .ih-checkout-address { display:grid; gap:14px; margin:0; padding:0; border:0; min-width:0; }
.ih-content .ih-checkout-address legend { margin-bottom:6px; font-size:13px; color:var(--k-muted); }
.ih-content .ih-checkout-row { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.2fr); gap:12px; }
.ih-content .ih-checkout-field select { width:100%; min-height:46px; padding:11px 12px; border:1px solid var(--k-rule-strong); border-radius:0; background:var(--k-paper); color:var(--k-ink); font:inherit; font-size:16px; }
@media (max-width:520px) { .ih-content .ih-checkout-row { grid-template-columns:1fr 1fr; } .ih-content .ih-checkout-row > :first-child { grid-column:1 / -1; } }
