/* Shopping and Sahabat use the same quiet, warm TINTIN language. */
:root { --commerce-red:#e31e26;--commerce-ink:#470a0a;--commerce-muted:#86645c;--commerce-line:#e8dad3; }
.commerce-icon { display:inline-block;flex:none;width:21px;height:21px;background:currentColor;vertical-align:middle;mask:var(--commerce-icon,var(--icon)) center/contain no-repeat;-webkit-mask:var(--commerce-icon,var(--icon)) center/contain no-repeat;pointer-events:none; }
.commerce-main { max-width:1600px;margin:auto;padding:160px var(--gutter) 100px;color:var(--commerce-ink);min-height:75vh; }
.commerce-eyebrow { display:block;font:700 11px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px; }
.commerce-title { font-family:var(--tintin-display);font-weight:900;font-synthesis:none;text-transform:uppercase;font-size:clamp(40px,5.4vw,76px);line-height:1.08;letter-spacing:.015em; }
.commerce-main h2 { font-family:var(--tintin-display);font-weight:900;text-transform:uppercase;font-size:clamp(25px,2.7vw,38px);line-height:1.15;letter-spacing:.015em; }
.commerce-main h3 { font:700 20px/1.3 var(--sans);letter-spacing:0; }
.commerce-main p { line-height:1.65; }
.commerce-button,.commerce-secondary { display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:50px;padding:13px 24px;font:700 14px/1.4 var(--sans);text-align:center;transition:background .2s,color .2s;cursor:pointer; }
.commerce-button { background:var(--commerce-red);color:var(--cream);border:1px solid var(--commerce-red); }
.commerce-button:hover { background:#bd1920;border-color:#bd1920; }
.commerce-secondary { border:1px solid var(--commerce-ink);color:var(--commerce-ink);background:transparent; }
.commerce-secondary:hover { background:var(--cream); }
.commerce-button:disabled,.commerce-secondary:disabled { opacity:.45;cursor:not-allowed; }
.commerce-card { border:1px solid var(--commerce-line);border-radius:22px;padding:28px;background:white; }
.commerce-main label { font-size:13px;font-weight:700; }
.commerce-main input:not([type=checkbox]):not([type=radio]):not([type=number]),.commerce-main textarea,.commerce-main select { font:400 15px/1.4 var(--sans);color:var(--commerce-ink);width:100%;min-height:48px;border:1px solid #cdb8b0;border-radius:10px;padding:12px 14px;background:#fff; }
.commerce-main textarea { resize:vertical;min-height:95px; }
.commerce-main input[type=checkbox],.commerce-main input[type=radio] { accent-color:var(--commerce-red);width:18px;height:18px; }
.commerce-main :is(input,textarea,select):focus { outline:2px solid #e31e2640;border-color:var(--commerce-red);outline-offset:2px; }
.commerce-main [hidden] { display:none!important; }
.commerce-main .muted { color:var(--commerce-muted);font-size:14px; }
.commerce-dialog { border:0;border-radius:24px;padding:36px;color:var(--commerce-ink);background:#fff;width:min(680px,calc(100% - 32px));max-height:88svh;overflow:auto; }
.commerce-dialog::backdrop { background:#270b0bb3; }
.commerce-dialog h2 { font:900 34px/1.15 var(--tintin-display);letter-spacing:.015em;text-transform:uppercase; }
.header .main-nav { margin-left:auto; }
.header .header-commerce { display:flex;align-items:center;gap:10px;flex:none;margin-left:8px; }
.header .header-commerce a { position:relative;width:40px;height:40px;display:grid;place-items:center;border:1px solid transparent;border-radius:50%; }
.header .header-commerce a:hover,.header .header-commerce a[aria-current=page] { background:#e7e3cb;border-color:#ded5bb; }
.header .header-commerce .commerce-icon { width:23px;height:23px; }
.header-commerce-count { position:absolute;top:-1px;right:-3px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px;border-radius:20px;background:#e31e26;color:var(--cream);font:700 10px/1 var(--sans); }
.header-commerce-count[hidden] { display:none; }
.header.is-menu-open .header-commerce { visibility:hidden; }
.experience-menu .menu-commerce-links { display:flex;gap:22px;margin-top:20px; }
.experience-menu .menu-commerce-links a { display:inline-flex;align-items:center;gap:8px;font:700 14px/1.5 var(--sans);min-height:44px; }
.commerce-toast { position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(24px);max-width:calc(100% - 32px);width:max-content;z-index:120;display:flex;align-items:center;gap:20px;padding:15px 20px;border-radius:16px;background:#470a0a;color:var(--cream);box-shadow:0 8px 30px #310d0d26;opacity:0;pointer-events:none;transition:transform .2s,opacity .2s;font-size:14px; }
.commerce-toast.is-visible { opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto; }
.commerce-toast a { text-decoration:underline;text-underline-offset:4px;font-weight:700;white-space:nowrap; }
dialog[open] ~ .commerce-toast { z-index:999; }
.catalog-search { position:relative;max-width:480px;margin:0 0 36px; }
.catalog-search .commerce-icon { position:absolute;left:17px;top:16px;width:19px;height:19px;color:#86645c; }
.catalog-search input { width:100%;border:1px solid #d5c1b9;border-radius:50px;background:white;color:#470a0a;min-height:52px;padding:13px 20px 13px 46px;font:400 15px var(--sans); }
.catalog-empty { grid-column:1/-1;text-align:center;padding:70px 20px;background:var(--cream);border-radius:20px; }
.catalog-empty h3 { font:900 30px var(--tintin-display);letter-spacing:.015em;margin-bottom:12px; }
.catalog-empty button { text-decoration:underline;margin-top:20px; }
#catalog-grid article.shop-product { position:relative; }
#catalog-grid .shop-product-art { padding:0;border:0;background:transparent; }
#catalog-grid .shop-product-title { text-align:left;display:block;padding:0;font:inherit;line-height:inherit;letter-spacing:inherit; }
#catalog-grid .shop-product-title:hover { color:#b01b26; }
#catalog-grid .shop-product-actions { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:24px; }
#catalog-grid .shop-product-actions .shop-product-link { padding:0;margin:0; }
.product-cart-add,.product-save { width:40px;height:40px;border:1px solid #d8bdb4;border-radius:50%;display:grid;place-items:center;flex:none;color:#b01b26;background:#fff; }
.product-cart-add:hover { background:#e31e26;color:var(--cream);border-color:#e31e26; }
.product-save { position:absolute;right:16px;top:16px;z-index:2;width:34px;height:34px;border-color:transparent; }
.product-save:hover,.product-save[aria-pressed=true] { color:#e31e26;background:#f9e9e4; }
.shop-product:focus-within .product-hover-frame rect { stroke-dashoffset:0;opacity:1; }
.product-purchase { margin:24px 0;display:flex;flex-direction:column;gap:16px; }
.product-purchase-meta { font-size:13px;color:#86645c; }
.product-purchase-controls { display:flex;align-items:center;gap:12px;flex-wrap:wrap; }
.commerce-quantity { display:inline-flex;align-items:center;min-height:46px;border:1px solid #d8bdb4;border-radius:50px;overflow:hidden;background:#fff; }
.commerce-quantity button { width:36px;height:44px;display:grid;place-items:center; }
.commerce-quantity .commerce-icon { width:14px;height:14px; }
.commerce-quantity input { width:40px;min-height:0;height:44px;text-align:center;border:0;padding:0;appearance:textfield;-moz-appearance:textfield; }
.commerce-quantity input::-webkit-inner-spin-button { appearance:none; }
.product-purchase-feedback { min-height:20px;font-size:13px; }
.product-purchase-feedback a { font-weight:700;text-decoration:underline;text-underline-offset:4px; }
.product-purchase .commerce-save-detail { display:inline-flex;align-items:center;gap:8px;min-height:40px;width:fit-content;font-size:13px;text-decoration:underline;text-underline-offset:4px; }
.hub-account-link { margin-top:18px; }
@media(max-width:1050px) { .header { gap:16px; }.header .main-nav { gap:20px; }.header .header-commerce { gap:4px;margin-left:0; } }
@media(max-width:850px) { .header .header-commerce { margin-left:auto; }.header .menu-toggle { margin-left:0; }.commerce-main { padding-top:130px; }.commerce-title { font-size:clamp(36px,7vw,58px); } }
@media(max-width:560px) { .header { gap:8px; }.header .logo { width:120px; }.header .header-commerce { gap:0; }.header .header-commerce a { width:35px;height:38px; }.header .header-commerce .commerce-icon { width:21px;height:21px; }.commerce-main { padding:116px 20px 65px; }.commerce-card { padding:22px;border-radius:18px; }.commerce-main h2 { font-size:27px; }.commerce-toast { font-size:12px;gap:14px;bottom:14px;padding:13px 16px; }.catalog-search { margin-bottom:25px; }.product-save { right:7px;top:7px; }.product-cart-add { width:34px;height:34px; }.product-cart-add .commerce-icon { width:18px;height:18px; }#catalog-grid .shop-product-actions { gap:6px; }#catalog-grid .shop-product-link { font-size:11px; }#catalog-grid .shop-product-link .tintin-icon { display:none; }.product-purchase-controls .commerce-button { padding-inline:18px; }.commerce-dialog { padding:25px; } }
@media(prefers-reduced-motion:reduce) { .commerce-toast,.commerce-button,.commerce-secondary { transition:none; } }

/* The cart borrows the ivory panel, red scrim, and stock icons of the header. */
.cart-drawer {
  position:fixed;inset:14px 14px 14px auto;margin:0;border:0;padding:0;
  width:min(650px,calc(100% - 28px));max-width:none;height:calc(100svh - 28px);max-height:none;
  border-radius:14px;background:var(--cream);color:var(--maroon);overflow:hidden;
  box-shadow:0 18px 70px #470a0a26;
}
.cart-drawer[open] { display:flex;flex-direction:column;animation:cart-drawer-in .45s cubic-bezier(.22,1,.36,1) both; }
.cart-drawer::backdrop { background:linear-gradient(to bottom,rgba(227,30,38,.75),rgba(227,30,38,.20));animation:cart-scrim-in .3s ease both; }
.cart-drawer-top { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 34px 12px;flex:none; }
.cart-drawer-top>img { width:151px;height:auto; }
.cart-drawer-close { display:grid;place-items:center;width:44px;height:44px;padding:8px;border:0;background:none;border-radius:0;color:var(--maroon); }
.cart-drawer-close .commerce-icon { width:28px;height:28px; }
.cart-drawer-heading { padding:20px 34px 26px;flex:none; }
.cart-drawer-status { display:flex;align-items:center;gap:9px;min-height:22px;font-size:13px;line-height:1.5;margin-bottom:14px; }
.cart-drawer-status .commerce-icon { width:17px;height:17px; }
.cart-drawer h2 { font:400 clamp(35px,3.4vw,49px)/1.06 var(--serif);letter-spacing:-.045em;margin:0; }
.cart-drawer-count { margin-top:17px;font-size:13px;color:var(--commerce-muted); }
.cart-drawer-items { overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;padding:0 34px;scrollbar-width:thin; }
.cart-drawer-item { display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:20px;padding:25px 0;border-top:1px solid rgba(85,30,34,.18); }
.cart-drawer-pack { height:118px;display:flex;align-items:center;justify-content:center; }
.cart-drawer-pack img { width:100%;height:100%;object-fit:contain; }
.cart-drawer-brand { display:block;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:6px; }
.cart-drawer-copy { min-width:0; }
.cart-drawer-copy h3 { font:400 23px/1.18 var(--serif);letter-spacing:-.025em;overflow-wrap:anywhere; }
.cart-drawer-copy>p { font-size:12px;line-height:1.5;color:var(--commerce-muted);margin-top:7px; }
.cart-drawer-price { display:block;font-size:13px;font-weight:400;margin-top:7px; }
.cart-drawer-line-total { font-size:15px;white-space:nowrap;align-self:start; }
.cart-drawer-item-actions { display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:15px; }
.cart-drawer-quantity { display:inline-grid;grid-template-columns:36px 31px 36px;align-items:center;border:1px solid rgba(85,30,34,.3);border-radius:40px;min-height:40px; }
.cart-drawer-quantity button { display:grid;place-items:center;min-height:40px;padding:0; }
.cart-drawer-quantity button:disabled { opacity:.25;cursor:default; }
.cart-drawer-quantity .commerce-icon { width:13px;height:13px; }
.cart-drawer-quantity>span { text-align:center;font-size:14px; }
.cart-drawer-remove { display:flex;align-items:center;gap:5px;font-size:11px;min-height:40px;padding:0; }
.cart-drawer-remove .commerce-icon { width:15px;height:15px; }
.cart-drawer-footer { flex:none;padding:25px 34px 30px;border-top:1px solid rgba(85,30,34,.18);background:var(--cream); }
.cart-drawer-footer[hidden] { display:none; }
.cart-drawer-subtotal { display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:14px; }
.cart-drawer-subtotal strong { font-size:26px;letter-spacing:-.025em; }
.cart-drawer-price-note { font-size:11px;line-height:1.6;color:var(--commerce-muted);margin-top:8px; }
.cart-drawer-actions { display:grid;grid-template-columns:1fr 1.15fr;gap:12px;margin-top:22px; }
.cart-drawer-actions :is(a,button) { min-height:50px;padding:12px 16px;font-size:13px;white-space:nowrap; }
.cart-drawer-actions .commerce-icon { width:17px;height:17px; }
.cart-drawer-actions .commerce-secondary { border-color:rgba(85,30,34,.4); }
.cart-drawer-empty { padding:40px 0 70px;text-align:center; }
.cart-drawer-empty>.commerce-icon { width:46px;height:46px;margin-bottom:24px; }
.cart-drawer-empty h3 { font:400 34px/1.1 var(--serif);letter-spacing:-.035em; }
.cart-drawer-empty p { margin:17px auto 26px;font-size:14px;max-width:280px;color:var(--commerce-muted); }
@keyframes cart-drawer-in { from{transform:translateX(calc(100% + 28px));opacity:0}to{transform:translateX(0);opacity:1} }
@keyframes cart-scrim-in { from{opacity:0}to{opacity:1} }
@media(max-width:600px) {
  .cart-drawer { inset:8px 8px 8px auto;width:calc(100% - 16px);height:calc(100svh - 16px);border-radius:12px; }
  .cart-drawer-top { padding:19px 21px 0; }.cart-drawer-top>img { width:126px; }
  .cart-drawer-close { margin-right:-7px; }.cart-drawer-heading { padding:19px 21px 23px; }
  .cart-drawer h2 { font-size:38px; }.cart-drawer-status { font-size:12px;margin-bottom:12px; }
  .cart-drawer-count { margin-top:13px;font-size:12px; }.cart-drawer-items { padding-inline:21px; }
  .cart-drawer-item { grid-template-columns:65px minmax(0,1fr);gap:15px;padding-block:22px;position:relative; }
  .cart-drawer-pack { height:108px; }.cart-drawer-copy h3 { font-size:22px; }
  .cart-drawer-line-total { display:none; }.cart-drawer-item-actions { gap:17px; }
  .cart-drawer-footer { padding:21px 21px max(23px,env(safe-area-inset-bottom)); }
  .cart-drawer-subtotal strong { font-size:23px; }.cart-drawer-actions { gap:8px;margin-top:18px; }
  .cart-drawer-actions :is(a,button) { padding-inline:9px;font-size:12px;gap:7px;min-height:48px; }
  .cart-drawer-actions .commerce-icon { width:14px;height:14px; }
}
@media(max-height:640px) { .cart-drawer-heading { padding-top:8px;padding-bottom:16px; }.cart-drawer h2 { font-size:32px; }.cart-drawer-status { margin-bottom:8px; }.cart-drawer-footer { padding-top:15px;padding-bottom:16px; }.cart-drawer-actions { margin-top:12px; } }
@media(prefers-reduced-motion:reduce) { .cart-drawer[open],.cart-drawer::backdrop { animation:none; } }

/* Compact add-to-cart confirmation. */
.cart-drawer{width:min(760px,calc(100% - 28px))}
.cart-drawer-top{padding:22px 30px;gap:20px;border-bottom:1px solid #571b2226}
.cart-drawer-status{margin:0;font-size:14px;flex:1}
.cart-drawer-items{flex:0 1 auto;padding-inline:30px}
.cart-drawer-columns{display:grid;grid-template-columns:minmax(0,1fr) 110px 105px;gap:20px;padding:22px 30px 12px;font-size:11px;color:var(--commerce-muted)}
.cart-drawer-columns span:last-child{text-align:right}
.cart-drawer-item{grid-template-columns:65px minmax(0,1fr) 105px;gap:18px;padding:20px 0}
.cart-drawer-copy{display:grid;grid-template-columns:minmax(0,1fr) 110px;column-gap:20px;align-content:center}
.cart-drawer-copy h3{font:700 15px/1.35 var(--sans);letter-spacing:0}
.cart-drawer-copy>p{margin-top:4px;font-size:13px}
.cart-drawer-price{font-weight:700;margin-top:4px}
.cart-drawer-item-actions{grid-column:2;grid-row:1/4;margin:0;align-self:center}
.cart-drawer-remove{display:none}
.cart-drawer-pack{height:95px}
.cart-drawer-line-total{align-self:center;text-align:right;font-size:18px}
.cart-drawer-footer{padding:24px 30px;border:0}
.cart-drawer-actions{margin:0}
@media(max-width:600px){
.cart-drawer-top{padding:18px 20px}.cart-drawer-status{font-size:13px}
.cart-drawer-columns{display:none}.cart-drawer-items{padding-inline:20px}
.cart-drawer-item{grid-template-columns:53px minmax(0,1fr);gap:14px}
.cart-drawer-copy{display:block}.cart-drawer-copy h3{font-size:15px}
.cart-drawer-item-actions{margin-top:12px}.cart-drawer-line-total{display:block;grid-column:2;font-size:16px;margin-top:-8px;text-align:left}
.cart-drawer-footer{padding:18px 20px}.cart-drawer-actions{margin:0}
}
