/* Shared customer-facing design system. Staff Studio uses a different base. */
body.world-storefront { --ink:#173a58; --muted:#536577; --line:#dbe6e4; --pink:#bf245f; --pink-dark:#a81c50; --radius:22px; background:#fffdf8; color:var(--ink); }
.world-storefront h1,.world-storefront h2,.world-storefront h3 { font-family:'Trebuchet MS','Avenir Next',sans-serif; letter-spacing:-.035em; }
.world-storefront .announcement { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:5px 10px; background:#173a58; color:#fff9e8; font-size:12px; padding:9px 16px; letter-spacing:.02em; }
.world-storefront .announcement a { color:#fff0a8; text-underline-offset:3px; }
.world-storefront .site-header { background:#fffdf8f5; border-bottom:1px solid #e2e9df; }
.world-storefront .nav-shell { gap:24px; min-height:88px; }
.world-storefront .site-nav { gap:3px; }
.world-storefront .site-nav a { border-radius:16px; padding:10px 12px; font-weight:750; }
.world-storefront .site-nav a:hover,.world-storefront .site-nav a[aria-current=page] { background:#e4f2ed; color:#175456; }
.world-storefront .nav-actions .text-link { font-size:12px; }
.world-storefront .menu-toggle { border-radius:16px; border:1px solid #ccded8; background:#edf6f0; color:#173a58; min-height:44px; }
.world-storefront .button { border-radius:28px; font-weight:800; min-height:46px; }
.world-storefront .button-primary { background:#bf245f; color:#fff; border-color:#bf245f; box-shadow:0 4px 0 #8b1744; }
.world-storefront .button-primary:hover { background:#a81c50; }
.world-storefront .button-secondary { background:#edf6f0; border-color:#b5cfc3; color:#194f44; }
.world-storefront :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #236a76; outline-offset:3px; }
.world-storefront :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=file]) { border-radius:12px; border-color:#b9ccca; background:#fff; color:#173a58; }
.world-storefront :is(input[type=checkbox],input[type=radio],progress) { accent-color:#257263; }
.world-storefront .eyebrow { color:#236a76; font-size:11px; font-weight:850; letter-spacing:.13em; }
.world-storefront .page-intro { position:relative; isolation:isolate; border:0; width:min(1250px,calc(100% - 48px)); margin:30px auto 0; padding:44px 300px 44px 42px; background:#e9f4f5; border-radius:32px 32px 65px 32px; overflow:hidden; }
.world-storefront .page-intro::after { content:''; position:absolute; z-index:-1; right:0; top:0; bottom:0; width:275px; background:linear-gradient(90deg,#e9f4f5,transparent 40%),url('/static/storefront/images/sockworld/hero-desktop.webp') 90% 60%/auto 310px; border-radius:50% 0 0 0; opacity:.9; }
.world-storefront .page-intro h1 { font-size:clamp(32px,4vw,52px); line-height:1.08; }
.world-storefront .page-intro>p:last-child { color:#475f6c; font-size:16px; line-height:1.65; }
.world-shop-shortcuts { display:flex; flex-wrap:wrap; gap:10px; width:min(1250px,calc(100% - 48px)); margin:25px auto 0; }
.world-shop-shortcuts a { border:1px solid #d9e4d9; background:#fff5d5; border-radius:25px; padding:10px 17px; font-size:13px; font-weight:750; }
.world-shop-shortcuts a:nth-child(2) { background:#e1f2e8; }.world-shop-shortcuts a:nth-child(3) { background:#ffe5de; }.world-shop-shortcuts a:last-child { background:#eee6fa; }
.world-checkout-trail { display:flex; align-items:center; justify-content:center; gap:12px; width:min(760px,calc(100% - 36px)); margin:25px auto 0; font-size:12px; font-weight:750; color:#526776; }
.world-checkout-trail>a,.world-checkout-trail>span { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.world-checkout-trail>a>span,.world-checkout-trail>span>span { display:grid; place-items:center; width:28px; height:28px; border-radius:10px; background:#ecf0e9; }
.world-checkout-trail [aria-current=step] { color:#9f2252; }.world-checkout-trail [aria-current=step]>span { background:#ffe1ec; box-shadow:0 3px 0 #e6bad0; }
.world-checkout-trail i { flex:1; max-width:55px; border-top:2px dashed #c9d9d2; }
.world-storefront .shop-search { padding:20px; background:#fff4d8; border-radius:22px; border:0; }
.world-storefront .shop-search input { min-height:48px; }
.world-storefront .shop-search button { border-radius:14px; background:#205a62; }
.world-storefront .product-card { border:1px solid #e2e8df; background:#fff; border-radius:24px; overflow:hidden; box-shadow:0 5px 0 #173a5808; transition:box-shadow .15s; }
.world-storefront .product-card:hover { box-shadow:0 8px 22px #173a5814; }
.world-storefront .product-card .product-image { border-radius:0; background:#f8f8ef; }
.world-storefront .product-card .product-details { padding:20px; }
.world-storefront .product-details h3 { font-size:19px; }
.world-storefront .product-details strong { color:#a31e52; }
.world-storefront .sale-badge { border-radius:20px; background:#fff0a8; color:#59451c; }
.world-storefront .breadcrumbs { font-size:12px; padding-top:25px; padding-bottom:24px; }
.world-storefront .product-view { gap:38px; }
.world-storefront .product-gallery-main { border-radius:30px; border:1px solid #e1e7df; box-shadow:0 8px 0 #eef2e8; }
.world-storefront .product-thumbnails button { border-radius:15px; overflow:hidden; }
.world-storefront .product-buy h1 { font-size:clamp(30px,3vw,44px); }
.world-storefront .proof-note { border:1px dashed #a4c4b0; border-radius:18px; background:#eef8ef; color:#244d40; padding:16px 20px; }
.world-storefront .product-step-nav { border:0; gap:8px; }
.world-storefront .product-step-nav button { border-radius:17px; border:1px solid #d1e3dc; background:#f0f5ed; color:#304f4b; }
.world-storefront .product-step-nav button.is-active { background:#ffe5ee; border-color:#d990ad; color:#92274f; }
.world-storefront .product-step-nav button.is-active span { background:#a52858; color:white; }
.world-storefront .product-step { border:1px solid #e1e8dd; border-radius:24px; padding:24px; background:#fff; }
.world-storefront .product-step-heading>span { color:#246052; }
.world-storefront .upload-dropzone { border-radius:22px; background:#edf8f4; border-color:#89b6a3; }
.world-storefront .upload-file-card { border-radius:17px; overflow:hidden; }
.world-storefront .colour-swatch { border-radius:12px; }
.world-storefront .product-description { border-radius:28px; background:#fff3db; padding:30px; }
.world-storefront .cart-summary,.world-storefront .checkout-summary { background:#fff4d7; border:1px solid #e9dfbb; border-radius:25px; box-shadow:0 6px 0 #efe7cc; }
.world-storefront .cart-item { border:1px solid #e1e8dd; background:white; border-radius:22px; }
.world-storefront .empty-cart { background:#eaf5ef; border-radius:26px; padding:40px 24px; }
.world-storefront .checkout-form>section { border-radius:23px; background:#fff; border:1px solid #e0e7df; padding:26px; margin-bottom:20px; }
.world-storefront .express-checkout { border-radius:24px; background:#edf7f6; border:1px solid #bdd7d1; }
.world-storefront .shipping-choice { border-radius:14px; border-color:#c9d9d1; }
.world-storefront .shipping-choice:has(input:checked) { background:#ebf7ee; border-color:#398264; }
.world-storefront .payment-safety-note { color:#4f6371; }
.world-storefront .customer-account .account-header { border:0; border-radius:30px 30px 55px 30px; background:linear-gradient(120deg,#e4f2f4,#e9f5e6 70%,#fff1cc); padding:32px; }
.world-storefront .customer-account .order-card { border-radius:21px; border-color:#d5e3db; box-shadow:0 4px 0 #eaf0e8; }
.world-storefront .customer-account .order-card>summary { background:#fff; border-radius:21px; padding:22px; }
.world-storefront .customer-account :is(button,.account-link) { background:#23675f; border-radius:22px; }
.world-storefront .customer-account .portal-nav a.account-link { background:#ae245c; border-radius:22px; }
.world-storefront .customer-account button.signout { background:#fff; color:#173a58; border:1px solid #c6d8d0; }
.world-storefront .customer-account :is(.login-panel,.account-login,.edit-details) { border-radius:21px; background:#f3f8f0; }
.world-storefront .gallery-tile { padding:9px; border-radius:22px; background:white; border:1px solid #e2e8dd; box-shadow:0 5px 0 #edf1e7; }
.world-storefront .gallery-tile img { border-radius:15px; }
.world-storefront .faq-list details { border-radius:20px; border:1px solid #cfded4; background:#fff; }
.world-storefront .faq-list details[open] { background:#edf7f1; }
.world-storefront .faq-list summary { padding:21px 45px 21px 23px; color:#173a58; }
.world-storefront .content-page,.world-storefront .contact-form-panel { border-radius:28px; }
.world-storefront .contact-form-panel { border:1px solid #d6e2da; background:#fff; }
.world-storefront .contact-details { border-radius:28px; background:#fff0cf; padding:28px; }
.world-storefront .reviews-summary { background:#edf6f1; border:1px solid #d4e6da; border-radius:28px; }
.world-storefront .review-card { border-radius:22px; background:white; border-color:#dfe7de; }
.world-storefront .site-footer { position:relative; background:#e5f0e8; border-top:0; color:#25463d; border-radius:50% 50% 0 0 / 28px 28px 0 0; margin-top:40px; }
.world-storefront .footer-shell { padding-top:55px; }
.world-storefront .footer-lower { border-top:1px dashed #acc6b7; }
.world-storefront .footer-shell h2 { color:#25463d; }
.world-storefront .site-footer :is(a,p,address),.world-storefront .footer-lower { color:#365a50; }
.world-storefront .customer-account .account-tool { display:grid; grid-template-columns:minmax(0,1fr); max-width:480px; width:100%; box-sizing:border-box; padding:24px; gap:14px; }
.world-storefront .customer-account .account-tool :is(input,button) { width:100%; min-width:0; box-sizing:border-box; }
/* Private proof pages preserve the actual artwork colours and decision controls. */
.customer-proof-body { background:#fffdf8; color:#173a58; }
.customer-proof-body .customer-proof-header { background:#edf6ef; border-bottom:1px solid #cfdfd3; }
.customer-proof-body .proof-heading { border-radius:26px; padding:26px; background:#eaf4f7; }
.customer-proof-body h1,.customer-proof-body h2 { font-family:'Trebuchet MS',sans-serif; letter-spacing:-.03em; }
.customer-proof-body :is(.proof-panel,.proof-image-card,.proof-notice) { border-radius:21px; }
.customer-proof-body .proof-approve { background:#226b52; border-radius:24px; }
.customer-proof-body .proof-request { border-radius:24px; }
@media(max-width:1150px) { .world-storefront .nav-shell { gap:14px; } .world-storefront .site-nav a { padding:10px 7px; } }
@media(max-width:850px) { .world-storefront .page-intro { padding:32px 220px 32px 28px; } .world-storefront .page-intro::after { width:210px; } }
@media(max-width:700px) {
 .world-storefront .announcement { font-size:10px; } .world-storefront .announcement a { white-space:nowrap; }
 .world-storefront .nav-shell { min-height:76px; gap:12px; }
 .world-storefront .site-nav { border-radius:0 0 24px 24px; background:#fffdf8; }
 .world-storefront .page-intro { width:calc(100% - 32px); padding:27px 24px; margin-top:22px; border-radius:25px 25px 40px 25px; }
 .world-storefront .page-intro::after { display:none; }
 .world-storefront .page-intro h1 { font-size:34px; }
 .world-storefront .page-intro>p:last-child { font-size:14px; }
 .world-shop-shortcuts { width:calc(100% - 32px); gap:8px; }
 .world-shop-shortcuts a { padding:9px 12px; font-size:11px; }
 .world-checkout-trail { gap:6px; font-size:10px; }
 .world-checkout-trail>a,.world-checkout-trail>span { flex-direction:column; gap:5px; }
 .world-checkout-trail i { max-width:32px; margin-bottom:17px; }
 .world-storefront .product-card .product-details { padding:13px; }
 .world-storefront .product-details h3 { font-size:16px; }
 .world-storefront .product-step { padding:18px 15px; }
 .world-storefront .product-step-nav { gap:5px; }
 .world-storefront .checkout-form>section { padding:21px 18px; }
 .world-storefront .customer-account .account-header { padding:23px; }
 .world-storefront .customer-account .order-card>summary { padding:18px; }
}
@media(prefers-reduced-motion:reduce) { .world-storefront .product-card { transition:none; } }
