.shop-page{--shop-blue:#263fce}.shop-page main{max-width:1340px;margin:auto;padding:124px 4vw 90px}.shop-page .site-header{height:96px}.shop-page .site-header nav{gap:1.5rem;font-size:.8rem}.shop-page button,.shop-page input,.shop-page select,.shop-page textarea{font:inherit}.shop-page button{cursor:pointer}.shop-page button:disabled{cursor:wait;opacity:.55}.shop-page input,.shop-page select,.shop-page textarea{width:100%;min-width:0;background:#fff;border:1px solid #c9c8bf;padding:.85rem;color:var(--ink);border-radius:0}.shop-page textarea{resize:vertical;line-height:1.6}.shop-page input:focus-visible,.shop-page select:focus-visible,.shop-page textarea:focus-visible,.shop-page button:focus-visible,.shop-page a:focus-visible,.shop-page summary:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.shop-cart-button{display:flex;gap:1.2rem;align-items:center;background:var(--ink);color:#fff;border:0;padding:.8rem 1.1rem;border-radius:999px;font-weight:700}.shop-cart-button span{display:grid;place-items:center;min-width:24px;min-height:24px;background:var(--lime);color:var(--ink);border-radius:50%}.shop-skip{position:absolute;top:-100px;left:1rem;z-index:2000;background:var(--lime);padding:1rem}.shop-skip:focus{top:1rem}.shop-preview-note{padding:.8rem 1rem;background:#e7ebce;border:1px solid #c2cc91;font-size:.76rem;line-height:1.6}.shop-progress{display:flex;justify-content:flex-start;gap:2rem;margin:1.6rem 0 2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.shop-progress button{border:0;background:none;padding:0;color:var(--muted);font-size:.76rem;font-weight:600;text-align:left;display:flex;gap:.6rem;align-items:center}.shop-progress span{border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;width:30px;height:30px;font-size:.64rem;flex-shrink:0}.shop-progress button[aria-current]{color:var(--ink)}.shop-progress button[aria-current] span{background:var(--ink);color:var(--lime)}.shop-status{font-size:.8rem;color:var(--shop-blue);min-height:0;margin:0}.shop-status:not(:empty){margin:0 0 1.2rem}.shop-product{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);gap:5vw}.shop-gallery{align-self:start;position:sticky;top:120px}.shop-page .eyebrow{font-size:.67rem;color:#657510;letter-spacing:.14em;font-weight:700}.shop-product-photo{background:#e9e6dd;aspect-ratio:1;overflow:hidden;border:1px solid var(--line)}.shop-product-photo img{display:block;width:100%;height:100%;object-fit:contain}.shop-image-caption{font-size:.7rem;color:var(--muted);line-height:1.6;margin:.8rem 0 1.3rem}.shop-inclusions{display:flex;flex-wrap:wrap;gap:.5rem}.shop-inclusions span{padding:.5rem .7rem;border:1px solid var(--line);font-size:.68rem;font-weight:600;border-radius:999px}.shop-details{border-top:1px solid var(--line);padding:1.2rem 0;margin-top:1.6rem;font-size:.8rem;line-height:1.65}.shop-details summary{cursor:pointer;font-weight:700}.shop-details p{color:var(--muted)}.shop-page h1{font:600 clamp(2.8rem,5vw,5rem)/.98 "Space Grotesk",sans-serif;letter-spacing:-.065em;margin:1rem 0 1.4rem}.shop-page h1 em{font-style:normal;color:var(--shop-blue)}.shop-product-name{font-weight:700;font-size:1.15rem;margin:0 0 .6rem}.shop-intro{max-width:660px;color:var(--muted);font-size:.95rem;line-height:1.7;margin:0 0 2rem}.shop-fieldset{min-width:0;border:0;border-top:1px solid var(--line);padding:1.5rem 0 0;margin:1.8rem 0}.shop-fieldset legend{padding:0 .8rem 0 0;font:600 1.1rem "Space Grotesk",sans-serif;letter-spacing:-.025em}.shop-fieldset legend b{color:var(--shop-blue);font:700 .66rem "DM Sans",sans-serif;margin-right:.6rem}.shop-package{display:grid;grid-template-columns:16px 1fr;gap:.8rem;align-items:start;padding:1rem;border:1px solid var(--line);background:#fff;margin:0 0 .6rem;cursor:pointer}.shop-package input{width:16px;margin:.25rem 0;accent-color:var(--shop-blue)}.shop-package>span{display:grid;gap:.35rem}.shop-package strong{font-size:.87rem}.shop-package small{font-size:.73rem;color:var(--muted);line-height:1.5}.shop-package em{font-style:normal;color:var(--shop-blue);font-weight:700;font-size:.81rem}.shop-package:has(input:checked){border-color:var(--shop-blue);box-shadow:inset 3px 0 var(--shop-blue);background:#f4f5ff}.shop-quantity{display:grid;grid-template-columns:1fr 96px;align-items:center;font-size:.82rem;font-weight:700;margin:1rem 0}.shop-quantity input{text-align:center}.shop-field{display:grid;gap:.5rem;font-size:.8rem;font-weight:600;margin:0 0 1.1rem}.shop-optional{font-weight:400;color:var(--muted);font-size:.7rem}.shop-help{font-size:.72rem;color:var(--muted);line-height:1.6;margin:.7rem 0 1rem}.shop-upload{display:grid;gap:.8rem;padding:1.1rem;border:1px dashed var(--shop-blue);background:#eef0fc;font-size:.8rem;font-weight:600}.shop-upload input{padding:.5rem;background:#fff;font-size:.75rem}.shop-upload>span{font-size:.67rem;color:var(--muted);font-weight:400}.shop-file-list{list-style:none;margin:.6rem 0;padding:0}.shop-file-list li{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.73rem;overflow-wrap:anywhere}.shop-file-list button{border:0;background:none;text-decoration:underline;color:var(--shop-blue);font-size:.7rem}.shop-product-total{border-top:1px solid var(--line);padding-top:1.3rem}.shop-product-total>div{display:flex;justify-content:space-between;gap:1rem;align-items:center}.shop-product-total span{font-size:.8rem}.shop-product-total strong{font:600 1.65rem "Space Grotesk",sans-serif;letter-spacing:-.04em}.shop-product-total>p{font-size:.72rem;line-height:1.6;color:var(--muted);max-width:390px}.shop-primary{width:100%;display:flex;align-items:center;justify-content:space-between;gap:2rem;text-align:left;border:1px solid var(--ink);background:var(--lime);color:var(--ink);padding:1rem 1.1rem;font-size:.84rem;font-weight:700;min-height:52px}.shop-primary:hover{background:#cbe64a}.shop-primary:disabled{background:#e0dfd7}.shop-link{display:inline-block;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--shop-blue);font-size:.78rem;font-weight:600;padding:.5rem 0}.shop-stage-head{display:flex;justify-content:space-between;gap:2rem;align-items:center;margin:1.7rem 0}.shop-stage-head h1{margin-bottom:0}.shop-checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:3.5rem;align-items:start}.shop-summary{position:sticky;top:120px;background:var(--ink);color:#fff;padding:1.6rem}.shop-summary h2{font:500 1.5rem "Space Grotesk",sans-serif;letter-spacing:-.04em;margin:0 0 1.5rem}.shop-summary dl{margin:0}.shop-summary dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;font-size:.78rem;line-height:1.6}.shop-summary dt{color:#c1c0b9}.shop-summary dd{margin:0;text-align:right}.shop-summary .shop-summary-total{display:block;border-top:1px solid #565654;margin-top:.7rem;padding-top:1rem}.shop-summary-total dd{text-align:left;font:600 1.8rem "Space Grotesk",sans-serif;letter-spacing:-.04em;margin-top:.3rem;color:var(--lime)}.shop-summary .shop-help{color:#bbb9b2}.shop-summary .shop-primary{margin-top:1.3rem}.shop-cart-item{display:grid;grid-template-columns:100px 1fr;gap:1.3rem;border-top:1px solid var(--line);padding:1.5rem 0}.shop-cart-item>img{width:100%;aspect-ratio:1;object-fit:contain;background:#e9e6dd}.shop-cart-item h2{font:600 1.25rem "Space Grotesk",sans-serif;margin:0 0 .5rem;letter-spacing:-.035em}.shop-cart-item p{font-size:.8rem;line-height:1.6;margin:.3rem 0;overflow-wrap:anywhere}.shop-cart-item .shop-cart-brief{color:var(--muted);white-space:pre-line}.shop-cart-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;margin:.8rem 0}.shop-cart-actions label{display:flex;align-items:center;gap:.7rem;font-size:.75rem}.shop-cart-actions input{width:76px;padding:.5rem}.shop-cart-price{font-weight:700;color:var(--shop-blue)}.shop-empty{padding:3rem 0}.shop-empty h2{font:500 2rem "Space Grotesk",sans-serif}.shop-error{color:#9c2424;background:#fff1ed;border:1px solid #d19a8b;padding:.85rem;font-size:.8rem;line-height:1.6}.shop-reattach{color:#9c2424!important;font-weight:600}.shop-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.shop-consent{display:flex;align-items:start;gap:.7rem;font-size:.75rem;line-height:1.65;margin:1.2rem 0}.shop-consent input{width:18px;flex:0 0 18px;margin:.25rem 0;accent-color:var(--shop-blue)}.shop-consent a{text-decoration:underline}.shop-review-line{padding:.9rem 0;border-bottom:1px solid var(--line);font-size:.8rem;line-height:1.6}.shop-review-line strong{display:block}.shop-review-line p{margin:.3rem 0;color:var(--muted);overflow-wrap:anywhere}.shop-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.shop-success{max-width:850px;margin:4rem auto}.shop-success-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--lime);font-size:2rem;margin-bottom:2rem}.shop-reference{font-size:.74rem;font-family:monospace;overflow-wrap:anywhere;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem 0}.shop-next{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding:0;margin:2.5rem 0}.shop-next li{border-top:2px solid var(--lime);padding-top:.8rem;display:grid;gap:.6rem}.shop-next b{font:600 1.1rem "Space Grotesk",sans-serif}.shop-next span{font-size:.78rem;line-height:1.6;color:var(--muted)}.shop-page footer{gap:2rem}.shop-page footer>a:not(.footer-logo){font-size:.75rem;color:#ddd}
@media(max-width:950px){.shop-checkout-grid{grid-template-columns:minmax(0,1fr) 285px;gap:2rem}.shop-product{gap:3vw}.shop-page main{padding-left:5vw;padding-right:5vw}.shop-product-copy h1{font-size:3.3rem}}
@media(max-width:740px){.shop-page main{padding-top:104px}.shop-page .site-header{height:82px}.shop-page .site-header nav{display:flex;position:static;background:none;padding:0;gap:.8rem;color:var(--ink)}.shop-page .site-header nav>a{font-size:.68rem}.shop-cart-button{padding:.5rem .7rem;gap:.7rem}.shop-page .wordmark img{height:64px}.shop-progress{gap:.8rem;justify-content:space-between;margin:1.2rem 0}.shop-progress button{display:grid;font-size:.67rem;gap:.4rem;max-width:100px}.shop-product{grid-template-columns:1fr}.shop-gallery{position:static}.shop-product-photo{aspect-ratio:1.2}.shop-gallery .shop-details{display:none}.shop-product-copy{margin-top:1.5rem}.shop-product-copy h1{font-size:3.6rem}.shop-checkout-grid{grid-template-columns:1fr;gap:1.5rem}.shop-summary{position:static}.shop-stage-head{align-items:flex-start;gap:1rem}.shop-stage-head>.shop-link{max-width:140px;line-height:1.6}.shop-cart-item{grid-template-columns:76px 1fr;gap:1rem}.shop-form-grid{grid-template-columns:1fr}.shop-success{margin:2rem 0}.shop-next{grid-template-columns:1fr;gap:1.2rem}.shop-page h1{font-size:3rem}.shop-page footer{display:flex;gap:1.5rem}}
.shop-product-picker{grid-column:1/-1;min-width:0;border:0;padding:0;margin:0 0 .5rem}.shop-product-picker legend{font-size:.8rem;font-weight:700;margin-bottom:.8rem}.shop-range-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.shop-range{display:flex;gap:.75rem;align-items:center;border:1px solid var(--line);background:#fff;padding:1rem;cursor:pointer;min-width:0}.shop-range input{width:16px;flex:0 0 16px;accent-color:var(--shop-blue);margin:0}.shop-range span{display:grid;gap:.4rem;min-width:0}.shop-range strong{font:600 1rem "Space Grotesk",sans-serif}.shop-range small{font-size:.7rem;color:var(--muted)}.shop-range:has(input:checked){background:#f4f5ff;border-color:var(--shop-blue);box-shadow:inset 3px 0 var(--shop-blue)}.shop-product-picker:disabled .shop-range{opacity:.65;cursor:default}@media(max-width:540px){.shop-range-options{gap:.4rem}.shop-range{display:grid;padding:.8rem .6rem;gap:.6rem}.shop-range strong{font-size:.85rem}.shop-range small{font-size:.64rem;line-height:1.4}}
.shop-page [hidden]{display:none!important}.shop-stage-head>div:last-child{display:flex;flex-wrap:wrap;gap:1rem}.shop-cart-item p{overflow-wrap:anywhere}#catalogue-edit-options{display:inline-block;margin-bottom:1rem}.shop-cart-item input[readonly]{background:#eeece5}@media(max-width:740px){.shop-stage-head>div:last-child{gap:.7rem;justify-content:flex-end}.shop-stage-head>div:last-child .shop-link{max-width:150px;line-height:1.5}}
/* The cart uses a link and a button; give both actions the same type and hit area. */
.shop-page .shop-stage-head>.shop-cart-add-actions{align-items:center;gap:1rem}
.shop-page .shop-stage-head .shop-cart-add-actions .shop-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:none;margin:0;padding:.6rem 0;font:600 .78rem/1.5 "DM Sans",sans-serif;white-space:nowrap}
@media(max-width:740px){.shop-page #cart-view .shop-stage-head{flex-direction:column;align-items:stretch}.shop-page .shop-stage-head>.shop-cart-add-actions{justify-content:flex-start}}
