.shop-page{max-width:1400px;margin:auto;padding:56px 6% 80px;min-height:65vh}
.shop-page h1{font-size:clamp(40px,5vw,68px);margin:16px 0 22px}
.shop-page h2{font-size:28px;letter-spacing:-.025em}
.shop-note{font-size:15px;color:var(--muted);line-height:1.6;margin:20px 0 32px}
.checkout-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:start}
.shop-panel{border:1px solid var(--line);padding:30px}
.shop-panel h2{margin-bottom:20px}.shop-panel p{margin-bottom:16px}
.shop-panel .button{width:100%;justify-content:center;margin:24px 0 18px}
.payment-preparation{margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}
.payment-preparation .eyebrow{margin-bottom:12px}.payment-preparation h2{margin-bottom:18px}
.payment-options{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.payment-option{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:var(--paper);border:1px solid var(--line)}
.payment-option strong{display:block;font-size:17px}.payment-option div>span{display:block;font-size:13px;color:var(--muted);margin-top:3px}
.payment-status{font-size:12px;white-space:nowrap;padding:5px 8px;background:var(--sawdust);color:var(--forest)}
.payment-preparation .shop-note{margin:18px 0 0}
.management-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;margin-top:28px;align-items:start}
.management-form{display:grid;gap:16px}.management-form label,.inline-form label{display:grid;gap:8px;font-size:16px}
.management-form input:not([type=checkbox]),.management-form textarea,.management-form select,.inline-form input,.inline-form select{width:100%;padding:12px;border:1px solid var(--line);background:white;font:inherit;min-width:0}
.management-form textarea{resize:vertical}.management-form .button{margin:0}.checkbox-line{display:flex!important;align-items:center;gap:10px!important}
.inline-form{display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin:24px 0}.inline-form .button{width:auto;margin:0}.inline-form label{flex:1;min-width:160px}
.product-edit-row{display:block;width:100%;text-align:left;padding:16px;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer}.product-edit-row:hover{background:var(--sawdust)}.product-edit-row strong,.product-edit-row span{display:block}.product-edit-row span{font-size:14px;margin-top:6px;color:var(--muted)}
#admin-product-list{max-height:70vh;overflow-y:auto}
.mail-preview{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;padding:16px;background:var(--paper)}
#commerce-admin-detail{margin-top:24px}.managed-hero{width:100%;max-height:550px;object-fit:contain}.managed-gallery{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.managed-gallery img{width:120px;height:120px;object-fit:contain}
@media(max-width:800px){.management-grid{grid-template-columns:1fr}.inline-form{align-items:stretch}.inline-form .button{width:100%}}
.shop-item{display:grid;grid-template-columns:70px 1fr auto;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.shop-item img{width:70px;height:70px;object-fit:contain;background:var(--sawdust)}
.shop-item p{font-size:14px;color:var(--muted);margin:4px 0}.shop-item strong{font-size:16px}
.cart-controls{display:flex;align-items:center;gap:14px;margin-top:12px}.cart-controls button{border:1px solid var(--line);background:var(--paper);min-width:36px;min-height:36px}.cart-controls .cart-remove{border:0}
.shop-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:28px}
.shop-subtitle{margin:42px 0 24px}
.orders-wrap{overflow-x:auto;margin:24px 0 32px}.orders-table{width:100%;border-collapse:collapse;text-align:left;font-size:16px}
.orders-table th,.orders-table td{padding:18px 16px;border-bottom:1px solid var(--line);vertical-align:top}.orders-table th{font-size:14px;color:var(--muted)}.orders-table a{text-decoration:underline;color:var(--forest);font-weight:900}
.test-status{display:inline-block;font-size:13px;padding:5px 10px;background:var(--sawdust);color:var(--forest);white-space:nowrap}
.shop-error{margin:16px 4%;padding:16px 20px;background:#f6e7df;border-left:4px solid var(--ember);font-size:16px}
.shop-empty{padding:28px;border:1px solid var(--line);color:var(--muted)}
.library-grid>.shop-empty{grid-column:1/-1}
.button:disabled{opacity:.5;cursor:wait;transform:none}.checkout-link{margin-top:20px;justify-content:center}
.shop-page .library-card-actions .button{opacity:1;cursor:pointer}
.shop-page .library-card-actions .button:disabled{opacity:.5;cursor:wait}
.download-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.download-links a{font-size:15px;text-decoration:underline;font-weight:900}
#orders-refresh{display:inline-flex;margin-top:24px}
@media(max-width:700px){.shop-page{padding:32px 6% 56px}.checkout-grid{grid-template-columns:1fr}.shop-panel{padding:22px}.shop-item{grid-template-columns:54px 1fr;gap:12px}.shop-item img{width:54px;height:54px}.shop-item>strong{grid-column:2}.shop-actions .button{width:100%;justify-content:center}.orders-table th,.orders-table td{padding:14px 10px;font-size:14px}.shop-page h2{font-size:25px}}
/* Full source catalog uses the existing brand, without invented product facts. */
.catalog-thumbnails{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.catalog-thumbnails button{width:68px;height:68px;padding:3px;flex:0 0 68px;border:1px solid var(--line);background:transparent}
.catalog-thumbnails button.selected{border:2px solid var(--forest)}
.catalog-thumbnails img{width:100%;height:100%;object-fit:contain}
.gallery-main #product-image{object-fit:contain}
.catalog-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.catalog-facts div{min-width:0}.catalog-facts strong{overflow-wrap:anywhere}
.catalog-description{max-width:1100px}.catalog-description h2{margin-bottom:30px}
.product-description{line-height:1.7;overflow-wrap:anywhere}
.product-description p,.product-description ul,.product-description ol{margin:0 0 22px}
.product-description h1,.product-description h2,.product-description h3,.product-description h4{font-size:28px;margin:28px 0 18px}
@media(max-width:640px){.catalog-thumbnails button{width:58px;height:58px;flex-basis:58px}.catalog-description h2{font-size:36px}.product-summary h1{font-size:clamp(34px,9vw,54px)!important}}
.groups-layout{grid-template-columns:minmax(240px,0.65fr) minmax(0,1.35fr)}
.group-members{border:1px solid #d7d7cf;padding:18px;margin:0;min-width:0}
.group-members legend{font-weight:700;padding:0 8px}
.group-product-options{max-height:390px;overflow-y:auto;border-top:1px solid #d7d7cf}
.group-product-choice{display:flex!important;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #e5e5dc;cursor:pointer}
.group-product-choice[hidden]{display:none!important}
.group-product-choice input{width:20px!important;height:20px;flex-shrink:0;margin-top:4px}
.group-product-choice input,#group-editor input,#group-editor textarea{scroll-margin-top:210px}
.group-product-choice strong,.group-product-choice small{display:block}
.group-product-choice small{font-size:14px;color:#62645d;margin-top:4px}
#product-group-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(max-width:760px){.groups-layout{grid-template-columns:1fr}#product-group-options{grid-template-columns:1fr}}
