/* Product-led storefront; checkout authority remains in the existing registry. */
.shop-page{max-width:1280px;padding:20px 28px 48px;font-size:15px}
.shop-page [hidden]{display:none!important}
body:has(.shop-page)>header{padding:16px max(24px,calc((100vw - 1224px)/2));gap:20px}
body:has(.shop-page)>header .brand-name{font-size:25px}
body:has(.shop-page)>header nav{font-size:14px;gap:24px}
.shop-page h1,.shop-page h2,.shop-page h3,.shop-page p{margin:0}
.shop-page a:focus-visible,.shop-page button:focus-visible,.shop-page input:focus-visible,.shop-page select:focus-visible,.shop-page summary:focus-visible{outline:3px solid #b06443;outline-offset:4px}
.shop-kicker{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#52685b}
.shop-catalog{scroll-margin-top:20px}
.shop-catalog-heading h1{font-size:clamp(31px,3.5vw,43px);letter-spacing:-.03em;line-height:1.1;margin:5px 0 8px}
.shop-catalog-heading>p:last-child{max-width:76ch;color:#53685c;font-size:14px;line-height:1.45}
.shop-toolbar{display:flex;align-items:center;gap:18px;margin:17px 0 16px}
.shop-type-nav{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:6px}
.shop-type-nav button{min-height:40px;padding:7px 11px;border:1px solid #c5d2c0;border-radius:24px;background:#fffdf7;color:#315044;font:600 12px system-ui;cursor:pointer}
.shop-type-nav button span{margin-left:4px;font-size:11px;opacity:.72}
.shop-type-nav button[aria-pressed="true"]{background:#294a3b;color:#fffdf7;border-color:#294a3b}
body .shop-type-nav button:hover{text-decoration:none}
.shop-filters{display:grid;flex:1 1 auto;grid-template-columns:minmax(140px,1.4fr) minmax(120px,.9fr) auto;align-items:center;gap:8px;min-width:0}
.shop-filters>div{min-width:0}.shop-filters label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.shop-filters input,.shop-filters select{width:100%;min-width:0;min-height:40px;padding:7px 9px;border:1px solid #bec9b8;border-radius:6px;background:#fffdf7;color:#233c32;font:13px system-ui}
.shop-filters button{min-height:40px;padding:7px;border:0;background:transparent;color:#40584a;text-decoration:underline;font:12px system-ui;cursor:pointer}
.shop-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.shop-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px}
.shop-product{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #d5dccd;border-radius:10px;background:#fffdf7}
.shop-product-visual{display:flex;justify-content:center;align-items:center;height:222px;overflow:hidden;background:#e4ecdf}
.shop-product-visual.shop-art-identification{background:#deebe8}
.shop-product-visual img{max-width:78%;width:auto;height:190px;object-fit:contain;transform:rotate(-4deg);box-shadow:8px 12px 20px #17352a25}
.shop-study-cover{display:grid;align-content:space-between;gap:7px;width:160px;height:188px;padding:17px 13px;border:1px solid #ccd8cc;background:#fffef6;box-shadow:8px 12px 20px #17352a25;transform:rotate(3deg);text-align:center;color:#233f36}
.shop-study-cover>small{padding-bottom:9px;border-bottom:1px solid #d1d9c9;font:9px Georgia,serif;letter-spacing:.1em}
.shop-study-cover>strong{font:24px/1.04 Georgia,serif}
.shop-study-cover>span{font-size:8px;letter-spacing:.1em}
.shop-study-cover>b{padding-top:9px;border-top:1px solid #d1d9c9;font:27px Georgia,serif}
.shop-study-cover>b small{display:block;font:10px system-ui}
.shop-product-copy{display:flex;flex:1;flex-direction:column;align-items:start;gap:8px;padding:16px 18px 18px}
.shop-product-label{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;color:#52685b;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.shop-status{padding:4px 8px;border:1px solid #d0c6ad;border-radius:20px;background:#fff9eb;color:#755133;font:11px system-ui;letter-spacing:0;text-transform:none;white-space:nowrap}
.shop-status-live{border-color:#aec7a6;background:#e3eddf;color:#2e5b39}
.shop-product h2{font:26px/1.1 Georgia,serif;color:#263b31}
.shop-product h2 a{color:inherit;text-decoration:none}.shop-product h2 a:hover{text-decoration:underline}
.shop-preview-link{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.shop-details{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#264a3c;font-size:13px;font-weight:650}
.shop-product-visual .shop-sheet-preview{transform:rotate(-2deg);max-width:90%}
.shop-product-description{font-size:13px;line-height:1.45;color:#526258}
.shop-product-meta{font-size:12px;color:#617065}
.shop-guide{display:inline-block;margin-top:auto;padding-top:11px;color:#315946;font-size:13px}
.shop-options{width:100%;margin:6px 0 2px;border-top:1px solid #dbe0d2}
.shop-options-label{margin-top:9px!important;color:#40584a;font-size:12px;font-weight:700}
.shop-options-note{margin-top:8px!important;color:#52685b;font-size:12px}
.shop-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 0;border-top:1px solid #dbe0d2;font-size:12px}
.shop-option>span:first-child{min-width:0}.shop-option strong{display:block;margin-top:3px;font-size:15px}
.shop-buy{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;min-height:40px;padding:8px 10px;border-radius:6px;background:#264a3c;color:#fffdf6;text-decoration:none;font-size:12px}
.shop-empty{padding:28px;border:1px dashed #aab8a4;border-radius:8px}.shop-empty h2{font-size:25px;margin-bottom:8px}
.shop-planned{margin-top:27px;padding:17px 20px;border:1px solid #d5dccb;border-radius:10px;background:#e9eee4}
.shop-planned h2{font:24px Georgia,serif;margin-bottom:5px}.shop-planned p{color:#53675c;font-size:13px;line-height:1.5}
.shop-help{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:28px;padding-top:22px;border-top:1px solid #ced7c6}
.shop-help h2{font-size:23px;margin-bottom:8px}.shop-help p{color:#53675c;font-size:13px;line-height:1.5}.shop-help a{display:inline-block;margin-top:10px;font-size:12px}
.shop-test{margin-top:14px;padding:10px 14px;border:1px dashed #b7ad87;border-radius:8px;background:#f4efdd;font-size:12px}
.shop-test summary{min-height:26px;cursor:pointer;font-weight:600}.shop-test summary span{margin-left:12px;font-weight:400}.shop-test>p{margin:10px 0}.shop-test .identification-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-test h3{font-size:17px}.shop-test .button{font-size:12px;margin:8px 0 0;padding:9px 12px}.shop-test .store-product-copy p{font-size:11px}
@media(max-width:1100px){.shop-toolbar{display:block}.shop-type-nav{margin-bottom:8px}.shop-filters{grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr) auto}}
@media(max-width:950px){.shop-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
 .shop-page{padding:12px 16px 32px}
 .shop-catalog-heading h1{font-size:31px}
 .shop-toolbar{margin:13px 0}
 .shop-type-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 .shop-type-nav button{min-height:44px;padding:7px 4px;font-size:12px;line-height:1.2}
 .shop-type-nav button span{display:none}
 .shop-filters{grid-template-columns:minmax(0,1fr) 122px 44px;gap:6px}
 .shop-filters input,.shop-filters select{min-height:44px;font-size:16px}
 .shop-filters input::placeholder{font-size:13px}
 .shop-filters button{min-height:44px;padding:3px;font-size:12px}
 /* Keep the cover and essential copy together; actions can use the full row. */
 .shop-products{grid-template-columns:1fr;gap:10px}
 .shop-product{display:grid;grid-template-columns:100px minmax(0,1fr);column-gap:14px;row-gap:5px;padding:12px;border-radius:8px}
 .shop-product-visual{grid-column:1;grid-row:1 / span 4;align-self:start;height:138px;border-radius:5px}
 .shop-product-visual img{max-width:84%;height:117px;transform:none;box-shadow:3px 5px 9px #17352a20}
 .shop-product-visual .shop-sheet-preview{max-width:84%;transform:none}
 .shop-study-cover{width:83px;height:115px;padding:7px 5px;gap:3px;transform:none;box-shadow:3px 5px 9px #17352a20}
 .shop-study-cover>small{padding-bottom:4px;font-size:5px}
 .shop-study-cover>strong{font-size:13px}
 .shop-study-cover>span{font-size:5px;letter-spacing:0}
 .shop-study-cover>b{padding-top:4px;font-size:18px}
 .shop-study-cover>b small{font-size:6px}
 .shop-product-copy{display:contents}
 .shop-product-copy>*{grid-column:2;min-width:0}
 .shop-product-label{flex-wrap:wrap;justify-content:start;gap:4px 8px;font-size:10px;letter-spacing:.05em}
 .shop-status{padding:0;border:0;border-radius:0;background:transparent;font-size:11px}
 .shop-product h2{font-size:23px;line-height:1.12;overflow-wrap:anywhere}
 .shop-product-description{font-size:13px;line-height:1.4}
 .shop-product-meta{font-size:12px;line-height:1.4}
 .shop-guide,.shop-details{display:flex;align-items:center;min-height:44px;margin:0;padding:4px 0;font-size:13px;line-height:1.3}
 .shop-product-copy>.shop-details,.shop-product-copy>.shop-options,.shop-product-copy>.shop-option{grid-column:1 / -1}
 .shop-product-copy>.shop-details{margin-top:3px;border-top:1px solid #dbe0d2}
 .shop-product-copy:has(.shop-details)>.shop-guide,.shop-product-copy:has(.shop-options)>.shop-guide,.shop-product-copy:has(.shop-option)>.shop-guide{grid-column:1 / -1}
 .shop-options{margin:0}
 .shop-buy{min-height:44px}
 .shop-help{grid-template-columns:1fr;gap:20px}
 .shop-test .identification-grid{grid-template-columns:1fr}
 body:has(.shop-page)>header{padding:14px 18px;gap:10px}
 body:has(.shop-page)>header .brand-name{font-size:22px}
 body:has(.shop-page)>header nav{font-size:13px;gap:18px}
}
@media(max-width:390px){
 .shop-product{grid-template-columns:84px minmax(0,1fr);column-gap:12px;padding:10px}
 .shop-product-visual{height:120px}
 .shop-product-visual img{height:101px}
 .shop-study-cover{width:70px;height:100px;padding:5px}
 .shop-study-cover>strong{font-size:11px}
 .shop-study-cover>b{font-size:16px}
 .shop-filters{grid-template-columns:minmax(0,1fr) 116px 44px}
 body:has(.shop-page)>header nav{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:6px;width:100%;font-size:11px}
}
@media(max-width:360px){
 .shop-filters{grid-template-columns:minmax(0,1fr) 44px}
 .shop-filters>div:first-child{grid-column:1 / -1}
}

/* Native disclosures keep every nested edition list compact and keyboard usable. */
.shop-options-disclosure{width:100%;margin:6px 0 2px;border-top:1px solid #dbe0d2}
.shop-options-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:9px 0;cursor:pointer;list-style:none;color:#264a3c;font-size:13px;font-weight:700}
.shop-options-toggle::-webkit-details-marker{display:none}
.shop-options-toggle::marker{content:""}
.shop-options-toggle:hover{text-decoration:underline}
.shop-options-toggle:focus-visible{outline:3px solid #b8773f;outline-offset:3px;border-radius:3px}
.shop-options-label-open{display:none}
.shop-options-disclosure[open] .shop-options-label-closed{display:none}
.shop-options-disclosure[open] .shop-options-label-open{display:inline}
.shop-options-chevron{margin-left:auto;font-size:20px;line-height:1;transition:transform .18s ease}
.shop-options-disclosure[open] .shop-options-chevron{transform:rotate(180deg)}
.shop-options-disclosure .shop-options{margin:0;border-top:0}
@media(max-width:650px){.shop-product-copy>.shop-options-disclosure{grid-column:1 / -1;margin:0}}
@media(prefers-reduced-motion:reduce){.shop-options-chevron{transition:none}}

/* Compact collection cards. Native details work with keyboard and without JS. */
.shop-products{align-items:start}
.shop-product:has(>.shop-card-disclosure){display:block;padding:0}
.shop-card-disclosure{width:100%;min-width:0}
.shop-card-summary{display:grid;grid-template-columns:78px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:14px;cursor:pointer;list-style:none;min-height:142px}
.shop-card-summary::-webkit-details-marker{display:none}
.shop-card-summary::marker{content:""}
.shop-card-summary:hover{background:#f3f4e9}
.shop-card-summary .shop-product-visual{width:78px;height:108px;grid-area:auto;margin:0;border-radius:4px;background:#e7eadf}
.shop-card-summary .shop-product-visual img,.shop-card-summary .shop-product-visual .shop-sheet-preview{width:100%;height:100%;max-width:100%;object-fit:contain;transform:none;box-shadow:none}
.shop-card-summary .shop-study-cover{width:72px;height:100px;padding:6px;gap:3px;transform:none;box-shadow:none}
.shop-card-summary .shop-study-cover>small{font-size:4px;padding-bottom:3px}
.shop-card-summary .shop-study-cover>strong{font-size:12px}
.shop-card-summary .shop-study-cover>span{font-size:5px;letter-spacing:0}
.shop-card-summary .shop-study-cover>b{font-size:14px;padding-top:3px}
.shop-card-summary .shop-study-cover>b small{font-size:6px}
.shop-card-key{display:flex;flex-direction:column;align-items:start;gap:7px;min-width:0}
.shop-card-key h2{font:22px/1.1 Georgia,serif;overflow-wrap:anywhere}
.shop-card-key .shop-product-label{display:flex;flex-wrap:wrap;justify-content:start;gap:5px;letter-spacing:0}
.shop-card-key .product-type-badge{padding:4px 7px;font-size:11px;white-space:normal}
.shop-card-key .product-type-icon{width:17px;height:17px;flex:none}
.shop-card-key .shop-status{display:none}
.shop-card-price{font:12px/1.35 system-ui;color:#53685c}
.shop-card-toggle{font-size:22px;line-height:1;color:#264a3c;transition:transform .15s}
.shop-card-disclosure[open]>.shop-card-summary .shop-card-toggle{transform:rotate(180deg)}
.shop-card-disclosure>.shop-product-copy{display:flex;flex-direction:column;align-items:start;gap:9px;padding:14px 16px 16px;border-top:1px solid #dbe0d2}
.shop-card-disclosure .shop-options-disclosure{border:0;margin:0}
.shop-card-disclosure .shop-options-disclosure>summary{display:none}
.shop-card-disclosure .shop-options{margin:0;width:100%}
.shop-card-disclosure .shop-guide{margin:0}
@media(max-width:650px){.shop-card-summary{min-height:124px;grid-template-columns:68px minmax(0,1fr) 20px;padding:12px;gap:12px}.shop-card-summary .shop-product-visual{width:68px;height:94px}.shop-card-key h2{font-size:22px}.shop-card-disclosure>.shop-product-copy>*{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.shop-card-toggle{transition:none}}

/* Collection-first shop: native volume and product disclosures. */
.shop-volumes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px}
.shop-volume{min-width:0;border:1px solid #bccbb9;border-radius:9px;background:#fffdf7;overflow:hidden}
.shop-volume-summary{display:block;list-style:none;cursor:pointer}
.shop-volume-summary::-webkit-details-marker,.volume-type-summary::-webkit-details-marker{display:none}
.shop-volume-summary::marker,.volume-type-summary::marker{content:""}
.volume-header{display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px;align-items:center;padding:16px;min-height:160px}
.volume-header .shop-product-visual{display:flex;width:86px;height:118px;max-width:100%;border-radius:4px;margin:0;background:#e8ecdf;overflow:hidden}
.volume-header .shop-product-visual img{width:100%;height:100%;max-width:100%;object-fit:contain;transform:none;box-shadow:none}
.volume-header h2{font:25px/1.08 Georgia,serif;letter-spacing:-.025em;overflow-wrap:anywhere;color:#264a3c}
.volume-heading-copy{display:flex;flex-direction:column;gap:7px;min-width:0}
.volume-number{font:16px Georgia,serif;color:#365345}
.volume-facts,.volume-format{font:12px/1.4 system-ui;color:#53685c}
.volume-format{font-size:11px}
.volume-disclosure-label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid #d7dfd0;font:16px Georgia,serif;color:#264a3c;background:#f3f2e7}
.volume-chevron{font:20px/1 system-ui;transition:transform .15s;flex:none}
.shop-volume-details[open]>.shop-volume-summary .volume-chevron,.volume-product-type[open]>.volume-type-summary .volume-chevron{transform:rotate(180deg)}
.shop-volume-summary:hover .volume-disclosure-label{background:#e7eddf}
.volume-types{padding:0 14px 8px}
.volume-product-type{border-bottom:1px solid #d7dfd0}
.volume-product-type:last-child{border-bottom:0}
.volume-type-summary{display:flex;align-items:center;gap:8px;min-height:58px;list-style:none;cursor:pointer;color:#264a3c}
.volume-type-summary .product-type-badge{border:0;background:transparent;padding:0;border-radius:0;font:15px Georgia,serif;letter-spacing:0;white-space:normal}
.volume-type-summary .product-type-icon{width:23px;height:23px;flex:none}
.volume-type-summary .volume-type-price{margin-left:auto;font:11px/1.3 system-ui;color:#53685c;text-align:right;max-width:105px}
.volume-type-content{padding:0 0 14px;font:13px/1.5 system-ui;color:#53685c}
.volume-type-content p{margin:0 0 10px}
.volume-purchase-controls label{display:block;font:12px system-ui;margin:10px 0 6px;color:#40594c}
.volume-edition{display:block;width:100%;min-height:42px;padding:9px 10px;background:#fffdf7;border:1px solid #b9c9b6;border-radius:5px;color:#264a3c;font:13px system-ui}
.volume-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.volume-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:9px 12px;border:1px solid #264a3c;border-radius:5px;text-decoration:none;font:12px system-ui;flex:1}
.volume-actions .volume-preview{color:#264a3c;background:#fffdf7}
.volume-actions .volume-buy{color:#fffdf7;background:#264a3c}
.volume-actions a:hover{text-decoration:underline}
.volume-type-content .volume-delivery{margin:9px 0 0;font-size:11px;text-align:center}
.volume-legacy-options .shop-options-disclosure>summary{display:none}
.volume-legacy-options .shop-options-disclosure{border:0}
.volume-legacy-options .shop-guide{margin:0}
.shop-volume a:focus-visible,.shop-volume summary:focus-visible,.shop-volume select:focus-visible{outline:3px solid #b8773f;outline-offset:3px}
.shop-volume [hidden]{display:none!important}
@media(max-width:1050px){.shop-volumes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.shop-volumes{grid-template-columns:1fr;gap:12px}.volume-header{min-height:142px;padding:14px;grid-template-columns:76px minmax(0,1fr)}.volume-header .shop-product-visual{width:76px;height:106px}.volume-header h2{font-size:25px}.volume-edition{font-size:16px}.volume-actions a{font-size:13px;min-height:44px}.volume-type-summary{min-height:58px}}
@media(prefers-reduced-motion:reduce){.volume-chevron{transition:none}}
