/* Shared cart controls and catalogue. All motion uses transforms and opacity. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cart-button{border:1px solid rgba(171,230,255,.35);cursor:pointer;gap:10px!important}
.cart-button b{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;background:rgba(255,255,255,.19);border:1px solid rgba(255,255,255,.25);border-radius:50%;font-size:10px;font-weight:600}
.site-header .header-actions{display:flex}
.mobile-products-button{display:none}
.catalog-page{color:#eff8ff;background:#063157;overflow-x:hidden}
.catalog-page main{background:transparent}
.catalog-main{position:relative;padding:160px max(5vw,24px) 86px;min-height:calc(100svh - 240px);isolation:isolate}
.catalog-atmosphere{position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 95% 0,rgba(26,160,208,.2),transparent 45%),radial-gradient(ellipse at 0 45%,rgba(6,104,181,.15),transparent 50%)}
.catalog-intro,.catalog-listing{width:min(1360px,100%);margin:0 auto}
.catalog-intro{display:flex;justify-content:space-between;align-items:end;gap:70px;padding:36px 0 55px;border-bottom:1px solid rgba(163,216,245,.22)}
.catalog-intro .eyebrow{color:#9cdbf2;font-size:10px}
.catalog-intro h1{font:500 clamp(56px,7vw,105px)/.92 Manrope,sans-serif;letter-spacing:-.065em;margin:0;color:#fff}
.catalog-intro h1 em{font-style:normal;color:#8cdbf0}
.catalog-intro-copy{max-width:385px;padding-bottom:3px}
.catalog-intro-copy>p:first-child{font:500 20px/1.5 Manrope,sans-serif;color:#f0f9ff;letter-spacing:-.025em}
.catalog-intro-copy p{font-size:14px;line-height:1.7;color:#bad2e4;margin:0 0 15px}
.catalog-intro-copy>span{display:flex;align-items:center;gap:9px;color:#9cdbf2;font-size:11px;line-height:1.5}
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:32px 0 26px}
.catalog-index{font:600 10px Manrope,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#d9edfa;margin:0 0 8px}
#catalog-results{color:#a7c5db;font-size:12px;margin:0}
.catalog-sort{display:flex;align-items:center;gap:10px;color:#b7e6f6;background:rgba(9,58,94,.7);border:1px solid rgba(173,223,249,.25);border-radius:12px;padding:0 14px;flex-shrink:0}
.catalog-sort select{appearance:auto;border:0;background:transparent;color:#eef9ff;padding:14px 4px;cursor:pointer;font:500 12px Manrope,sans-serif;outline-offset:5px;color-scheme:dark}
.catalog-sort option{background:#08304f;color:#eef9ff}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.product-card{position:relative;min-width:0;overflow:hidden;border:1px solid rgba(159,211,242,.22);border-radius:18px;background:linear-gradient(145deg,rgba(16,73,113,.82),rgba(3,33,59,.9));box-shadow:0 10px 26px rgba(0,16,34,.12);transition:transform .25s,border-color .25s}
.product-card:hover{transform:translateY(-4px);border-color:rgba(127,223,248,.65)}
.product-card-button{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}
.product-card-button:focus-visible{outline:3px solid #8ee7fa;outline-offset:-4px;border-radius:18px}
.product-art{position:relative;aspect-ratio:3/2;overflow:hidden;background:#e7f5ff}
.product-art img{display:block;width:100%;height:100%;object-fit:contain}
.product-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:radial-gradient(ellipse at 50% 20%,#1a658c,#052e50);color:#d4f3ff}
.product-placeholder img{width:90px;height:60px;object-fit:contain}
.product-placeholder strong{font:600 25px Manrope,sans-serif;letter-spacing:-.04em}
.product-placeholder span{font-size:11px;color:#a6cce1}
.product-card-copy{padding:21px 22px 22px}
.product-card .product-format{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 12px;color:#a7d5ec;font:500 9px Manrope,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.product-card h2{min-height:2.5em;margin:0 0 18px;font:500 clamp(19px,1.8vw,25px)/1.22 Manrope,sans-serif;letter-spacing:-.035em;color:#f1f9ff;overflow-wrap:anywhere}
.product-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid rgba(168,219,247,.16);padding-top:16px}
.product-price{font:600 23px Manrope,sans-serif;letter-spacing:-.04em;color:#c4f1ff}
.product-price small{font:500 9px Manrope,sans-serif;letter-spacing:.07em;margin-left:4px;color:#a7c5db}
.product-price.is-unpriced{font-size:14px;letter-spacing:0}
.product-card-link{display:flex;align-items:center;gap:9px;font:500 10px Manrope,sans-serif;color:#c5e4f4}
.product-card-link i{display:grid;place-items:center;width:29px;height:29px;border:1px solid rgba(177,225,249,.3);border-radius:50%;font-size:10px}
.catalog-pagination{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;margin-top:42px}
.catalog-pagination button{display:grid;place-items:center;min-width:40px;height:40px;padding:0 13px;border:1px solid rgba(172,218,247,.3);border-radius:11px;background:rgba(9,60,97,.5);color:#d3eafa;cursor:pointer;font:500 12px Manrope,sans-serif}
.catalog-pagination button[aria-current=page]{background:#b9effc;color:#063157;border-color:#b9effc}
.catalog-pagination button:disabled{opacity:.35;cursor:default}
.catalog-pagination button:not(:disabled):hover{border-color:#b9effc}
.catalog-empty{padding:50px 0;color:#c4dcec;text-align:center}
.catalog-page .site-footer{left:auto;right:auto;bottom:auto}
.catalog-page .site-header{transition:none;will-change:auto}
.shop-dialog{position:fixed;margin:auto;padding:0;border:1px solid rgba(145,222,249,.4);border-radius:24px;background:#062b49;color:#edf8ff;width:min(1000px,calc(100vw - 40px));max-height:calc(100svh - 48px);overflow:auto;box-shadow:0 35px 120px rgba(0,9,25,.65);color-scheme:dark}
.shop-dialog[open]{animation:shopDialogEnter .28s cubic-bezier(.16,1,.3,1) both}
.shop-dialog::backdrop{background:rgba(0,14,31,.8)}
.shop-dialog.is-closing{animation:shopDialogLeave .2s ease both}
.shop-dialog[open]::backdrop{animation:shopBackdropEnter .28s ease both}
.shop-dialog.is-closing::backdrop{animation:shopBackdropLeave .2s ease both}
.dialog-close{position:absolute;z-index:3;top:15px;right:15px;width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(169,222,249,.45);border-radius:50%;background:rgba(4,32,56,.9);color:#e9f8ff;cursor:pointer;font-size:16px}
.dialog-close:hover{background:#12618b}
.product-dialog-layout{display:grid;grid-template-columns:1fr 1fr;min-height:460px}
.product-dialog-visual{display:flex;flex-direction:column;justify-content:center;min-width:0;background:radial-gradient(ellipse at 50% 30%,#174b70,#062b49);padding:28px}
.product-dialog-visual>img{display:block;width:100%;height:auto;border-radius:13px}
.product-dialog-visual .product-placeholder{min-height:240px;border-radius:13px}
.product-image-note{color:#b4d2e6;font-size:11px;line-height:1.55;margin:14px 0 0}
.product-dialog-copy{position:relative;padding:65px 35px 36px;background:linear-gradient(135deg,rgba(13,69,103,.55),rgba(3,27,49,.6))}
.dialog-kicker{font:600 9px Manrope,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#85d4ee;margin:0 0 18px}
.product-dialog-copy h2{font:500 clamp(29px,3.3vw,44px)/1.05 Manrope,sans-serif;letter-spacing:-.05em;overflow-wrap:anywhere;margin:0 0 20px}
.product-dialog-description{font-size:14px;line-height:1.75;color:#bdd4e5}
.product-specs{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:28px 0;border-top:1px solid rgba(152,216,246,.2);border-bottom:1px solid rgba(152,216,246,.2);padding:17px 0}
.product-specs dt{font-size:10px;color:#8bbbd8;margin-bottom:7px;text-transform:uppercase;letter-spacing:.1em}
.product-specs dd{margin:0;color:#e0f3ff;font:500 13px Manrope,sans-serif}
.dialog-purchase{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px}
.dialog-add{padding:14px 20px;border:1px solid rgba(150,235,255,.4);border-radius:12px;background:linear-gradient(120deg,#087ba9,#0752a1);color:white;font:600 12px Manrope,sans-serif;cursor:pointer;min-width:150px}
.dialog-add:disabled{opacity:.55;cursor:default}
.dialog-add:not(:disabled):hover{background:#08779b}
.cart-dialog{width:min(500px,calc(100vw - 24px));margin:12px 12px 12px auto;max-height:calc(100svh - 24px);height:calc(100svh - 24px);padding:34px 27px;display:none;flex-direction:column}
.cart-dialog[open]{display:flex;animation:shopCartEnter .3s cubic-bezier(.16,1,.3,1) both}
.cart-dialog.is-closing{animation:shopCartLeave .2s ease both}
.cart-dialog h2{font:500 32px Manrope,sans-serif;letter-spacing:-.05em;margin:10px 0 25px}
.cart-lines{flex:1;min-height:0;overflow:auto;margin:0 -5px;padding:0 5px}
.cart-line{display:grid;grid-template-columns:82px 1fr;gap:17px;padding:20px 0;border-bottom:1px solid rgba(168,219,247,.18)}
.cart-line-art{width:82px;height:70px;border-radius:8px;overflow:hidden;background:#e9f6ff;display:grid;place-items:center;color:#063157;font-weight:600}
.cart-line-art img{width:100%;height:100%;object-fit:contain}
.cart-line h3{font:500 14px/1.4 Manrope,sans-serif;color:#edf8ff;margin:0 0 5px}
.cart-line p{font-size:11px;color:#a7c5db;line-height:1.5;margin:0 0 12px}
.cart-line-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.cart-quantity{display:flex;align-items:center;gap:10px}
.cart-quantity button{width:27px;height:27px;border-radius:7px;border:1px solid #487b9d;background:#0b3b5d;color:#e8f8ff;cursor:pointer}
.cart-quantity span{font-size:12px;min-width:16px;text-align:center}
.cart-line-price{font:600 14px Manrope,sans-serif;color:#bef1ff}
.cart-remove{background:none;border:0;color:#a9cde3;text-decoration:underline;text-underline-offset:3px;font-size:10px;cursor:pointer;padding:7px 0}
.cart-summary{padding-top:24px;border-top:1px solid rgba(168,219,247,.25);margin-top:18px}
.cart-total{display:flex;justify-content:space-between;align-items:center;font:500 20px Manrope,sans-serif;color:#eaf9ff}
.cart-summary p{font-size:11px;color:#a7c5db;line-height:1.6;margin:13px 0 0}
.cart-empty{text-align:center;padding:60px 10px;color:#bdd9ea;line-height:1.6}
.cart-empty i{display:block;font-size:34px;color:#81cde8;margin-bottom:20px}
.cart-empty a{display:inline-block;border-bottom:1px solid #82d2ed;margin-top:12px;color:#b5edff}
.shop-toast{position:fixed;z-index:10020;left:50%;bottom:30px;transform:translate(-50%,12px);padding:14px 20px;border:1px solid rgba(140,223,246,.4);border-radius:13px;background:#073b5d;color:#eefaff;box-shadow:0 12px 35px rgba(0,10,25,.25);font:500 12px Manrope,sans-serif;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100vw - 30px);text-align:center}
.shop-toast.is-visible{opacity:1;transform:translate(-50%,0)}
body.shop-dialog-open{overflow:hidden}
@keyframes shopDialogEnter{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
@keyframes shopDialogLeave{to{opacity:0;transform:translateY(15px) scale(.98)}}
@keyframes shopCartEnter{from{opacity:0;transform:translateX(35px)}to{opacity:1;transform:none}}
@keyframes shopCartLeave{to{opacity:0;transform:translateX(30px)}}
@keyframes shopBackdropEnter{from{opacity:0}to{opacity:1}}
@keyframes shopBackdropLeave{to{opacity:0}}
@media(min-width:1600px){.product-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.product-card-copy{padding:18px}.product-card h2{font-size:20px}}
@media(min-width:901px) and (max-width:1100px){.site-header .nav-tab{padding-left:10px;padding-right:10px}.site-header .nav-tabs{gap:3px}}
@media(max-width:900px){
 .site-header .header-actions{order:2;margin-left:auto;margin-right:10px}.site-header .mobile-nav-toggle{order:3;margin-left:0}.site-header .nav-tabs .nav-tab{display:flex}
 .site-header .cart-button{padding:9px 12px;font-size:10px;gap:7px!important}.site-header .cart-button b{min-width:18px;height:18px;font-size:9px}
 .catalog-main{padding:115px 24px 65px}.catalog-intro{gap:30px;padding:25px 0 35px}.catalog-intro h1{font-size:66px}.catalog-intro-copy{max-width:290px}.catalog-intro-copy>p:first-child{font-size:17px}.catalog-intro-copy p{font-size:12px}.catalog-intro-copy>span{font-size:10px}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.product-card h2{font-size:22px}.product-card-copy{padding:18px}
}
@media(max-width:600px){
 .catalog-main{padding:100px 17px 50px}.catalog-intro{display:block;padding-bottom:30px}.catalog-intro h1{font-size:60px}.catalog-intro .eyebrow{font-size:9px;margin-bottom:18px}.catalog-intro-copy{max-width:100%;margin-top:25px}.catalog-intro-copy>p:first-child{margin-bottom:8px}.catalog-intro-copy p{max-width:340px}.catalog-intro-copy>span{font-size:9px}
 .catalog-toolbar{gap:14px;align-items:start;margin:25px 0 20px}.catalog-index{font-size:8px;letter-spacing:.09em}#catalog-results{font-size:10px}.catalog-sort{padding:0 8px;gap:5px}.catalog-sort i{font-size:10px}.catalog-sort select{font-size:10px;padding:11px 0;max-width:140px}
 .product-grid{gap:12px}.product-card{border-radius:13px}.product-card-copy{padding:13px 11px}.product-card h2{font-size:17px;min-height:3.65em;margin-bottom:12px}.product-card .product-format{font-size:7px;letter-spacing:.03em;display:block;line-height:1.6;min-height:23px}.product-card .product-format span+span{display:block}.product-price{font-size:19px}.product-price small{font-size:7px;margin-left:2px}.product-price.is-unpriced{font-size:11px}.product-card-link{font-size:0;gap:0}.product-card-link i{width:24px;height:24px;font-size:9px}.product-card-bottom{padding-top:12px}.product-placeholder img{width:65px;height:42px}.product-placeholder strong{font-size:19px}.product-placeholder span{font-size:8px}
 .product-dialog-layout{grid-template-columns:1fr;min-height:0}.shop-dialog{width:calc(100vw - 24px);max-height:calc(100svh - 24px);border-radius:19px}.product-dialog-visual{padding:20px 20px 0}.product-dialog-copy{padding:26px 24px 30px}.product-dialog-copy h2{font-size:32px}.product-dialog-description{font-size:13px}.product-specs{margin:22px 0}.dialog-kicker{margin-bottom:12px}.dialog-close{top:12px;right:12px}.dialog-purchase{gap:10px}.dialog-add{min-width:135px;padding:13px 15px}.product-dialog-visual .product-placeholder{min-height:190px}
 .cart-dialog{padding:30px 20px;margin:6px;width:calc(100vw - 12px);height:calc(100svh - 12px);max-height:calc(100svh - 12px)}
}
@media(prefers-reduced-motion:reduce){.product-card,.shop-toast{transition:none}.shop-dialog[open],.shop-dialog.is-closing,.shop-dialog[open]::backdrop,.shop-dialog.is-closing::backdrop{animation:none}}

/* Give the complete product artwork priority on phone screens. */
@media(max-width:600px){
 .product-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .product-card-copy{padding:12px 15px 14px}
 .product-card .product-format{display:flex;min-height:0;margin-bottom:6px;font-size:9px;gap:12px}
 .product-card .product-format span+span{display:inline}
 .product-card h2{min-height:0;margin-bottom:10px;font-size:20px;line-height:1.25}
 .product-card-bottom{padding-top:9px}
 .product-card-link{font-size:11px;gap:8px}
 .product-price.is-unpriced{font-size:13px}
}
@media(max-width:900px){
 .hero .hero-bottom{flex-wrap:wrap;gap:20px}
 .hero .hero-bottom>p{flex-basis:100%}
 .hero .hero-bottom>.round-link{display:none}
 .mobile-products-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:14px 24px;border:1px solid #b9effc;border-radius:12px;background:#b9effc;color:#063157;font:600 14px Manrope,sans-serif;pointer-events:auto}
 .mobile-products-button:hover{background:#e0f8ff}
 .mobile-products-button:focus-visible{outline:3px solid #fff;outline-offset:4px}
}
