:root { --ink:#1f3028; --moss:#506957; --cream:#f5f1e8; --paper:#fffdf8; --line:#d8d6ca; --clay:#c56042; --mono:'DM Mono',monospace; --sans:'DM Sans',sans-serif; --serif:'Playfair Display',serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:var(--sans); }
.site-header { height:76px; border-bottom:1px solid var(--line); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 5.5vw; }
.site-header { position:sticky; top:0; z-index:10; background:rgba(245,241,232,.96); backdrop-filter:blur(10px); }
.brand { color:var(--ink); font-family:var(--serif); font-size:20px; letter-spacing:.04em; text-decoration:none; } .brand i { font-weight:400; }
.header-note,.eyebrow,.item-count,.drag-hint { font:11px/1.4 var(--mono); letter-spacing:.08em; text-transform:uppercase; }.header-note { margin:0; color:var(--moss); }
.admin-link { justify-self:end; color:var(--ink); font-size:14px; text-decoration:none; border-bottom:1px solid var(--ink); padding-bottom:2px; }.admin-link span { margin-left:4px; }
.hero { min-height:520px; padding:105px 12vw 90px; background:linear-gradient(105deg, #e3e0d1 0%, #e6e4da 54%, #d4d9ca 100%); position:relative; overflow:hidden; }.hero:after { content:''; position:absolute; width:52vw; height:52vw; max-width:650px; max-height:650px; border:1px solid #b9c0af; border-radius:50%; right:-10vw; top:-15vw; }
.eyebrow { margin:0 0 19px; color:var(--moss); }.hero h1,.admin-title-row h1 { position:relative; z-index:1; font:500 clamp(48px,7vw,94px)/.98 var(--serif); letter-spacing:-.045em; margin:0; }.hero h1 em { font-weight:500; }.hero-copy { width:min(390px,100%); font-size:17px; line-height:1.55; margin:30px 0; position:relative; z-index:1; }.text-link,.buy-link { color:var(--ink); text-decoration:none; font-size:14px; font-weight:600; border-bottom:1px solid var(--ink); padding-bottom:3px; position:relative; z-index:1; }.text-link span,.buy-link span { margin-left:12px; }
.collection { padding:90px 5.5vw 105px; }.section-heading { display:flex; justify-content:space-between; border-bottom:1px solid var(--ink); margin-bottom:38px; }.section-heading .eyebrow,.item-count { margin-bottom:12px; }.item-count { color:var(--moss); }
.product-grid { display:grid; grid-template-columns:1fr; gap:20px; max-width:980px; }.product-card { display:grid; grid-template-columns:190px 1fr; gap:23px; padding:20px; background:var(--paper); border:1px solid var(--line); }.product-image { height:190px; background:#efede5; overflow:hidden; }.product-image img { width:100%; height:100%; object-fit:contain; transition:opacity .25s ease; }.product-card:hover img { opacity:.92; }.no-image { display:grid; place-items:center; color:var(--moss); font:12px var(--mono); }.product-details { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }.product-name-price { width:100%; display:flex; align-items:baseline; justify-content:space-between; gap:15px; }.product-name-price h2 { font:500 25px/1.1 var(--serif); margin:0; }.product-name-price span { white-space:nowrap; font:13px var(--mono); }.product-details p { max-width:560px; min-height:0; margin:12px 0 17px; color:#536057; font-size:14px; line-height:1.5; }.unavailable { border-color:#9a9d91; color:#777d74; }
.storefront .product-card { scroll-margin-top:96px; }
footer { border-top:1px solid var(--line); display:flex; justify-content:space-between; padding:23px 5.5vw; color:var(--moss); font:11px var(--mono); letter-spacing:.03em; }.empty-store,.admin-empty { text-align:center; padding:45px; border:1px dashed var(--line); }.button { background:var(--ink); color:#fff; border:0; padding:13px 19px; font:500 13px var(--sans); cursor:pointer; }.button:hover { background:var(--moss); }
.admin-main { max-width:1080px; padding:0 5.5vw 105px; margin:auto; }.admin-title-row { position:sticky; top:76px; z-index:9; display:flex; align-items:end; justify-content:space-between; gap:24px; padding:28px 0 24px; background:rgba(245,241,232,.96); backdrop-filter:blur(10px); }.admin-title-row h1 { font-size:clamp(40px,5vw,62px); }.admin-intro { max-width:560px; color:var(--moss); line-height:1.55; margin:25px 0 18px; }.notice { margin:25px 0 36px; padding:13px 16px; background:#e5ebdf; font-size:13px; line-height:1.45; color:#3e5846; }.admin-products { display:grid; gap:20px; }.product-editor { padding:20px; background:var(--paper); border:1px solid var(--line); }.editor-topline { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }.drag-hint { color:var(--moss); }.editor-actions { display:flex; gap:7px; }.icon-button,.remove-button { background:none; border:1px solid var(--line); font:12px var(--sans); padding:6px 9px; color:var(--ink); cursor:pointer; }.icon-button:disabled { opacity:.35; cursor:not-allowed; }.remove-button { color:#9b3d2a; border-color:#d8b7ae; }.editor-body { display:grid; grid-template-columns:190px 1fr; gap:23px; }.image-upload { position:relative; display:grid; place-items:center; aspect-ratio:1; background:#e8e5da; cursor:pointer; overflow:hidden; }.image-upload img { width:100%; height:100%; object-fit:cover; }.image-upload input { position:absolute; inset:0; opacity:0; cursor:pointer; }.upload-placeholder { display:grid; place-items:center; color:var(--moss); font:30px var(--serif); }.upload-placeholder small { font:11px var(--mono); margin-top:3px; }.fields { display:grid; gap:13px; }.fields label { display:grid; gap:6px; color:var(--moss); font:11px var(--mono); letter-spacing:.04em; text-transform:uppercase; }.fields input,.fields textarea { width:100%; padding:10px 11px; color:var(--ink); background:#fff; border:1px solid var(--line); font:14px var(--sans); outline-color:var(--moss); }.fields textarea { min-height:70px; resize:vertical; }.split-fields { display:grid; grid-template-columns:150px 1fr; gap:13px; }
@media (max-width:650px) { .site-header { height:64px; padding:0 6vw; }.header-note { display:none; }.site-header { grid-template-columns:1fr auto; }.hero { padding:78px 8vw 72px; min-height:470px; }.collection { padding:65px 6vw 75px; }.product-grid { grid-template-columns:1fr; gap:18px; }.product-card { grid-template-columns:1fr; gap:17px; padding:16px; }.product-image { height:200px; }.admin-main { padding:0 6vw 70px; }.admin-title-row { top:64px; align-items:start; flex-direction:column; padding:22px 0 18px; }.editor-body { grid-template-columns:1fr; }.image-upload { max-width:250px; }.split-fields { grid-template-columns:1fr; } footer { padding:20px 6vw; } }
.login-main{max-width:470px;margin:0 auto;padding:95px 6vw}.login-main h1{font:500 58px/1 var(--serif);letter-spacing:-.04em;margin:0 0 28px}.login-card{display:grid;gap:17px;padding:25px;background:var(--paper);border:1px solid var(--line)}.login-card label{display:grid;gap:7px;color:var(--moss);font:11px var(--mono);text-transform:uppercase}.login-card input{padding:12px;border:1px solid var(--line);font:16px var(--sans)}.form-error,.upload-status{margin:0;color:#9b3d2a;font-size:13px}.product-editor{display:block}.product-editor .button{width:max-content}.button{display:inline-block;text-decoration:none}.image-upload img{object-fit:contain;background:#efede5}.image-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.image-upload{position:relative}.upload-status{min-height:16px;color:var(--moss)}

/* Storefront hero remains visible beneath the fixed site header. */
.storefront .hero { position:sticky; top:76px; z-index:1; }
.storefront .collection { position:relative; z-index:2; background:var(--cream); }

/* The admin page retains its normal title layout. */
.admin-main { padding:72px 5.5vw 105px; }
.admin-title-row { position:static; display:flex; align-items:end; justify-content:space-between; gap:24px; padding:0; background:transparent; backdrop-filter:none; }

@media (max-width:650px) {
  .storefront .hero { top:64px; }
  .admin-main { padding:48px 6vw 70px; }
  .admin-title-row { align-items:start; flex-direction:column; }
}

.brand { max-width:330px; font:600 15px/1.1 var(--sans); letter-spacing:.025em; }

@media (max-width:650px) {
  .brand { max-width:245px; font-size:12px; }
}

.storefront .hero { min-height:0; padding:26px 12vw 24px; }
.storefront .hero .eyebrow { margin-bottom:10px; }
.storefront .hero .hero-copy { margin:12px 0 15px; }

@media (max-width:650px) {
  .storefront .hero { min-height:0; padding:24px 8vw 22px; }
}

/* Novak RC Social Club primary palette. */
:root { --ink:#0737c7; --moss:#ef233c; --cream:#ffd400; --paper:#fffdf5; --line:#0737c7; --clay:#ef233c; }
body { color:var(--ink); }
.site-header { background:rgba(255,212,0,.96); border-color:var(--ink); }
.brand,.admin-link,.text-link,.buy-link { color:var(--ink); border-color:var(--ink); }
.header-note,.eyebrow,.item-count,.drag-hint { color:var(--ink); }
.hero { background:linear-gradient(105deg,#ffd400 0%,#ffe66d 54%,#2860e8 100%); }
.hero:after { border-color:#ef233c; }
.collection { background:#ffd400; }
.product-card,.product-editor,.login-card { border-color:var(--ink); }
.product-image,.image-upload,.image-upload img { background:#fff3ad; }
.product-details p,.admin-intro { color:#17328c; }
.button { background:#0737c7; }
.button:hover { background:#ef233c; }
.notice { background:#d9e4ff; color:#0737c7; }
.fields input,.fields textarea,.login-card input { border-color:#0737c7; }
.remove-button { color:#ef233c; border-color:#ef233c; }
footer { border-color:var(--ink); color:var(--ink); }

/* Softer pale-yellow foundation. */
:root { --cream:#ffe780; }
.site-header { background:rgba(255,231,128,.96); }
.hero { background:linear-gradient(105deg,#ffdf62 0%,#ffefad 54%,#2860e8 100%); }
.collection { background:#ffe780; }
.product-image,.image-upload,.image-upload img { background:#fff; }
.product-image,.image-upload { border:1px solid var(--ink); }

/* Cart */
.header-actions { justify-self:end; display:flex; align-items:center; gap:18px; }
.cart-button { color:var(--ink); background:transparent; border:1px solid var(--ink); padding:7px 10px; font:500 12px var(--sans); cursor:pointer; }
.cart-button span { display:inline-grid; place-items:center; min-width:18px; height:18px; margin-left:5px; border-radius:50%; color:#fff; background:var(--moss); font:10px var(--mono); }
.add-to-cart { background:transparent; border:0; cursor:pointer; font-family:var(--sans); }
.cart-drawer { position:fixed; z-index:30; top:0; right:0; display:flex; flex-direction:column; width:min(410px,100%); height:100dvh; padding:25px; color:var(--ink); background:var(--paper); box-shadow:-8px 0 28px rgba(7,55,199,.18); transform:translateX(105%); transition:transform .28s ease; }
.cart-drawer.is-open { transform:translateX(0); }
.cart-overlay { position:fixed; z-index:20; inset:0; background:rgba(7,55,199,.28); opacity:0; pointer-events:none; transition:opacity .28s ease; }
.cart-overlay.is-open { opacity:1; pointer-events:auto; }
.cart-top { display:flex; align-items:start; justify-content:space-between; padding-bottom:17px; border-bottom:1px solid var(--ink); }
.cart-top .eyebrow { margin:0; }.cart-close { color:var(--ink); background:transparent; border:0; font:32px/1 var(--sans); cursor:pointer; }
.cart-items { flex:1; overflow:auto; padding:12px 0; }.cart-empty { color:#17328c; font-size:14px; }
.cart-item { display:flex; align-items:start; justify-content:space-between; gap:14px; padding:15px 0; border-bottom:1px solid #b7c5f3; }.cart-item strong,.cart-item span { display:block; }.cart-item strong { font:600 15px var(--sans); }.cart-item div:first-child span { margin-top:4px; font:12px var(--mono); }.cart-quantity { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; }.cart-quantity button { color:var(--ink); background:transparent; border:1px solid var(--ink); min-width:25px; height:25px; cursor:pointer; }.cart-quantity .cart-remove { width:100%; border:0; height:auto; padding:3px 0; color:var(--moss); font-size:11px; text-decoration:underline; }.cart-bottom { padding-top:18px; border-top:2px solid var(--ink); }.cart-total { display:flex; justify-content:space-between; font:600 17px var(--sans); }.cart-message { min-height:18px; margin:12px 0; color:var(--moss); font-size:13px; }.cart-checkout { width:100%; }

@media (max-width:650px) { .header-actions { gap:10px; }.cart-button { padding:5px 7px; font-size:11px; }.cart-button span { min-width:16px; height:16px; }.header-actions .admin-link { font-size:12px; } }

.product-name-price { justify-content:flex-start; gap:10px; }
.product-name-price span { color:var(--moss); font:500 16px var(--mono); }

/* Match storefront product typography to the admin editor. */
.storefront .product-name-price h2 { font:600 18px/1.2 var(--sans); letter-spacing:0; }
.storefront .product-name-price span { font:700 32px/1 var(--sans); letter-spacing:-.035em; }
.storefront footer { font-family:var(--sans); letter-spacing:0; }

/* Storefront fields follow the admin editor's single left-aligned column. */
.storefront .product-name-price { flex-direction:column; align-items:flex-start; justify-content:center; gap:5px; }
.storefront .product-details { align-items:flex-start; text-align:left; }
.storefront .product-details p { margin:12px 0 17px; }
.storefront .product-name-price { display:block; }
.storefront .product-actions { display:flex; align-items:center; gap:22px; }
.storefront .product-price { color:var(--moss); font:700 32px/1 var(--sans); letter-spacing:-.035em; }

@media (max-width:650px) {
  .storefront .product-actions { gap:18px; }
}

/* Enlarged product-image viewer. */
.storefront .product-image img { cursor:zoom-in; }
.storefront .product-image img:focus { outline:3px solid var(--moss); outline-offset:-3px; }
.modal-open { overflow:hidden; }
.image-modal { position:fixed; z-index:50; inset:0; display:grid; place-items:center; padding:32px; background:rgba(7,55,199,.88); }
.image-modal[hidden] { display:none; }
.image-modal img { display:block; max-width:min(100%,1000px); max-height:calc(100dvh - 100px); object-fit:contain; background:#fff3c3; box-shadow:0 14px 45px rgba(0,0,0,.35); }
.image-modal-close { position:fixed; top:18px; right:24px; color:#fff; background:transparent; border:0; font:42px/1 var(--sans); cursor:pointer; }
.image-modal p { position:fixed; bottom:13px; margin:0; color:#fff; font:13px var(--sans); }
@media (max-width:650px) { .image-modal { padding:18px; }.image-modal-close { top:12px; right:15px; }.image-modal p { bottom:12px; } }

/* Categories */
.store-category { max-width:980px; margin:0 0 48px; }
.collection-controls { display:flex; align-items:center; gap:10px; }.collection-controls label { color:var(--ink); font:11px var(--mono); text-transform:uppercase; }.collection-controls select { min-width:145px; padding:6px 27px 6px 8px; color:var(--ink); background:#fff3c3; border:1px solid var(--ink); font:12px var(--sans); }.collection-controls .item-count { margin:0 0 0 5px; }
.category-title { margin:0 0 16px; padding-bottom:10px; border-bottom:1px solid var(--ink); font:600 20px/1.2 var(--sans); }
.category-products { display:grid; gap:20px; }
.category-manager { display:flex; align-items:end; justify-content:space-between; gap:24px; margin:24px 0 35px; padding:18px; border:1px solid var(--ink); background:var(--paper); }
.category-manager .eyebrow { margin-bottom:9px; }
.category-pills { display:flex; flex-wrap:wrap; gap:7px; }.category-pill { display:flex; align-items:center; gap:4px; padding:4px; color:var(--ink); border:1px solid var(--ink); font:12px var(--sans); }.category-pills form { margin:0; }.category-rename { display:flex; align-items:center; gap:4px; }.category-rename input { width:118px; padding:4px 5px; color:var(--ink); background:transparent; border:0; font:12px var(--sans); }.category-pills button { padding:0; color:var(--moss); background:transparent; border:0; font:12px var(--sans); cursor:pointer; }.category-rename button { color:var(--ink); text-decoration:underline; }
.category-add { display:flex; gap:8px; }.category-add input,.fields select { padding:10px 11px; color:var(--ink); background:#fff; border:1px solid #0737c7; font:14px var(--sans); }.category-add .button { white-space:nowrap; }
.category-fields { grid-template-columns:minmax(150px,1fr) minmax(78px,105px) minmax(210px,1.45fr); }
.category-fields > label { min-width:0; }
.category-fields input,.category-fields select { box-sizing:border-box; width:100%; min-width:0; }
.editor-actions .icon-button { display:inline-grid; place-items:center; min-width:31px; color:var(--ink); text-decoration:none; }
.admin-category { margin:0 0 38px; }.admin-category > h2 { margin:0 0 14px; padding-bottom:10px; border-bottom:1px solid var(--ink); font:600 20px/1.2 var(--sans); }
.admin-filter { display:flex; align-items:center; justify-content:flex-end; gap:9px; margin:-16px 0 25px; }.admin-filter label { font:11px var(--mono); text-transform:uppercase; }.admin-filter select { min-width:160px; padding:7px 26px 7px 9px; color:var(--ink); background:#fff; border:1px solid var(--ink); font:13px var(--sans); }
.admin-header-actions { justify-self:end; display:flex; align-items:center; gap:18px; }.admin-header-actions .admin-filter { margin:0; }.admin-header-actions .admin-filter label { display:none; }.admin-header-actions .admin-filter select { min-width:145px; padding:6px 24px 6px 8px; background:#fff; font-size:12px; }.admin-header-actions .admin-link { justify-self:auto; }
.stripe-sync-link { color:var(--ink); font:12px var(--sans); text-decoration:none; border-bottom:1px solid var(--ink); }
.cart-item.cart-calculated { padding-top:9px; padding-bottom:9px; color:#17328c; border-top:1px solid #d9e4ff; }.cart-item.cart-calculated > div { width:100%; display:flex; justify-content:space-between; gap:12px; }.cart-item.cart-calculated strong { font-weight:500; }
@media (max-width:650px) { .admin-header-actions { gap:8px; }.admin-header-actions .admin-filter select { min-width:105px; max-width:120px; }.admin-header-actions .admin-link { font-size:12px; } }

/* Paid-order tracking. */
.orders-list { display:grid; gap:16px; }.order-card { padding:20px; border:1px solid var(--ink); background:var(--paper); }.order-heading { display:flex; align-items:start; justify-content:space-between; gap:18px; padding-bottom:14px; border-bottom:1px solid var(--ink); }.order-heading .eyebrow { margin:0 0 5px; }.order-heading h2 { margin:0; font:600 18px/1.2 var(--sans); }.order-heading p { margin:5px 0 0; font:13px var(--sans); }.order-heading strong { color:var(--moss); font:700 24px/1 var(--sans); }.order-card dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 24px; margin:16px 0; }.order-card dl div { min-width:0; }.order-card dt { margin-bottom:3px; color:#17328c; font:10px var(--mono); text-transform:uppercase; }.order-card dd { margin:0; overflow-wrap:anywhere; font:13px var(--sans); }.order-actions { display:flex; align-items:center; gap:10px; }.order-actions input { flex:1; min-width:160px; padding:10px 11px; color:var(--ink); background:#fff; border:1px solid var(--ink); font:14px var(--sans); }.order-actions button { padding:10px 13px; color:var(--ink); background:transparent; border:1px solid var(--ink); font:13px var(--sans); cursor:pointer; }.order-actions .button { color:#fff; background:var(--ink); }
.order-filters { display:flex; gap:12px; margin:18px 0 25px; }.order-filters fieldset { display:flex; align-items:center; gap:12px; margin:0; padding:9px 12px; border:1px solid var(--ink); }.order-filters legend { padding:0 4px; color:var(--ink); font:10px var(--mono); text-transform:uppercase; }.order-filters label { display:flex; align-items:center; gap:5px; font:13px var(--sans); }
.order-item-line { display:block; margin:0 0 5px; }
.orders-list { max-width:none; }.order-items-table { width:100%; table-layout:fixed; border-collapse:collapse; font:13px var(--sans); }.order-items-table th { padding:0 0 5px; color:#17328c; border-bottom:1px solid #b7c5f3; font:10px var(--mono); text-align:left; text-transform:uppercase; }.order-items-table th:nth-child(1) { width:auto; }.order-items-table th:nth-child(2) { width:52px; }.order-items-table th:nth-child(3),.order-items-table th:nth-child(4) { width:92px; }.order-items-table td { padding:7px 0; border-bottom:1px solid #d9e4ff; }.order-items-table td:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.order-items-table td:not(:first-child),.order-items-table th:not(:first-child) { text-align:right; } @media (max-width:650px) { .order-items-table { font-size:11px; }.order-items-table th { font-size:8px; }.order-items-table th:nth-child(2) { width:35px; }.order-items-table th:nth-child(3),.order-items-table th:nth-child(4) { width:70px; } }
.order-items-table td:nth-child(2),.order-items-table th:nth-child(2) { text-align:center; }.order-items-table td:nth-child(3),.order-items-table th:nth-child(3),.order-items-table td:nth-child(4),.order-items-table th:nth-child(4) { text-align:right; }
.order-items-table .item-name { text-align:left !important; }.order-items-table .order-qty { text-align:center !important; }.order-items-table .order-money { text-align:right !important; }
.admin-page:has(.orders-list) .admin-main { max-width:1320px; }.order-items-table th:nth-child(2) { width:78px; }.order-items-table th:nth-child(3),.order-items-table th:nth-child(4) { width:125px; } @media (max-width:650px) { .order-items-table th:nth-child(2) { width:46px; }.order-items-table th:nth-child(3),.order-items-table th:nth-child(4) { width:82px; } }
.order-items-table th:nth-child(1) { width:70px; text-align:left; }
.order-items-table th:nth-child(2) { width:auto; text-align:left; }
.order-items-table th:nth-child(3) { width:48px; text-align:center; }
.order-items-table th:nth-child(4), .order-items-table th:nth-child(5) { width:76px; text-align:right; }
.order-items-table td:nth-child(1) { text-align:left; }
.order-items-table td:nth-child(2) { text-align:left !important; }
.order-items-table td:nth-child(3) { text-align:center !important; }
.order-items-table td:nth-child(4), .order-items-table td:nth-child(5) { text-align:right !important; }
@media (max-width:650px) { .order-items-table th:nth-child(1) { width:54px; }.order-items-table th:nth-child(3) { width:38px; }.order-items-table th:nth-child(4),.order-items-table th:nth-child(5) { width:60px; } }
.order-items-table th:nth-child(1) { width:26px !important; text-align:left !important; }
.order-items-table th:nth-child(2) { width:66px !important; text-align:left !important; }
.order-items-table th:nth-child(3) { width:auto !important; text-align:left !important; }
.order-items-table td:nth-child(3) { text-align:left !important; }
.order-items-table th:nth-child(4) { width:42px !important; text-align:center !important; }
.order-items-table th:nth-child(5), .order-items-table th:nth-child(6) { width:72px !important; text-align:right !important; }
@media (max-width:650px) { .order-items-table th:nth-child(1) { width:22px !important; }.order-items-table th:nth-child(2) { width:52px !important; }.order-items-table th:nth-child(4) { width:32px !important; }.order-items-table th:nth-child(5),.order-items-table th:nth-child(6) { width:58px !important; } }
.order-card dl .order-items, .order-card dl .order-address, .order-card dl .order-notes { grid-column:1 / -1; }
.order-card dl .order-notes dd { padding:10px 12px; background:#f7f4eb; border-left:3px solid var(--ink); white-space:pre-wrap; line-height:1.45; }
.order-card .order-address dd { line-height:1.45; }
.order-heading .order-heading-address { margin:7px 0 2px; line-height:1.4; }
.tax-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:24px; }.tax-summary-grid section { padding:18px; border:1px solid var(--ink); background:var(--paper); }.tax-summary-grid h2 { margin:0 0 14px; font:600 17px/1.2 var(--sans); }.tax-summary-grid table { width:100%; border-collapse:collapse; font:14px var(--sans); }.tax-summary-grid th { padding:0 0 8px; color:#17328c; border-bottom:1px solid #b7c5f3; font:10px var(--mono); text-align:left; text-transform:uppercase; }.tax-summary-grid th:last-child,.tax-summary-grid td:last-child { text-align:right; }.tax-summary-grid td { padding:9px 0; border-bottom:1px solid #d9e4ff; }.tax-summary-grid tr:last-child td { border-bottom:0; } @media (max-width:760px) { .tax-summary-grid { grid-template-columns:1fr; } }
@media (max-width:650px) { .order-card dl { grid-template-columns:1fr; }.order-actions { align-items:stretch; flex-direction:column; }.order-actions input { flex:auto; } }

.header-actions .header-category-filter { min-width:145px; padding:6px 24px 6px 8px; color:var(--ink); background:#fff; border:1px solid var(--ink); font:12px var(--sans); }
.collection-controls label[hidden] { display:none; }
@media (max-width:650px) { .header-actions .header-category-filter { min-width:105px; max-width:120px; }.header-actions { gap:8px; } }
@media (max-width:650px) { .collection-controls { flex-wrap:wrap; justify-content:flex-end; }.collection-controls .item-count { width:100%; text-align:right; }.store-category { margin-bottom:35px; }.category-manager { align-items:stretch; flex-direction:column; }.category-add { flex-direction:column; }.category-fields { grid-template-columns:1fr; } }
.order-summary-wrap { overflow-x:auto; border:1px solid var(--ink); background:var(--paper); }.order-summary { width:100%; min-width:830px; border-collapse:collapse; font:14px var(--sans); }.order-summary th { padding:11px 14px; color:#17328c; border-bottom:1px solid var(--ink); font:10px var(--mono); text-align:left; text-transform:uppercase; white-space:nowrap; }.order-summary td { padding:13px 14px; border-bottom:1px solid #d9e4ff; white-space:nowrap; }.order-summary tr:last-child td { border-bottom:0; }.order-summary td:nth-child(4),.order-summary th:nth-child(4),.order-summary td:nth-child(5),.order-summary th:nth-child(5),.order-summary td:nth-child(6),.order-summary th:nth-child(6) { text-align:right; }.order-summary a { color:var(--ink); font-weight:600; text-decoration:underline; text-underline-offset:3px; }

/* Keep the Physical product checkbox and its label on one aligned line. */
.fields label.physical-product-field { display:flex; align-items:center; gap:8px; min-height:38px; }
.fields label.physical-product-field input[type="hidden"] { display:none; }
.fields label.physical-product-field input[type="checkbox"] { width:16px; height:16px; margin:0; padding:0; flex:0 0 auto; accent-color:#0737c7; }

/* Global product-color choices. */
.product-color-options { margin:4px 0 8px; padding:16px; border:1px solid #0737c7; }
.product-color-options legend { padding:0 7px; color:var(--ink); font:600 14px var(--sans); }
.product-color-options > p { margin:0 0 12px; color:var(--moss); font:12px/1.4 var(--sans); }
.product-color-grid { display:grid; gap:9px; overflow-x:auto; padding-bottom:2px; }
.product-color-decade { min-width:540px; }
.product-color-decade-grid { display:grid; grid-template-columns:repeat(5,minmax(95px,1fr)); gap:9px 13px; }
.product-color-decade-grid label { display:flex; align-items:center; min-width:0; gap:4px; color:var(--ink); font:13px var(--sans); text-transform:none; }
.product-color-decade-grid input { flex:0 0 auto; width:16px; height:16px; margin:0; accent-color:#0737c7; }
.product-color-decade-grid b { display:inline-block; width:1.75em; font:600 11px var(--mono); }
.product-color-placeholder { min-height:16px; visibility:hidden; }
.product-editor { scroll-margin-top:110px; }

/* Wide-screen product editing: primary fields left, color choices right. */
.admin-page:has(.product-editor) .admin-main { width:100%; max-width:1655px; padding-left:32px; padding-right:32px; }
.admin-manager-page .admin-main { padding-top:18px; }
.admin-primary-actions { display:flex; justify-content:flex-end; margin:0 0 10px; }
.product-details-page .admin-main { padding-top:12px; }
.product-details-header-labels { display:flex; align-items:center; justify-content:center; gap:18px; color:var(--moss); font:11px/1.4 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.product-details-header-labels span + span { padding-left:18px; border-left:1px solid var(--line); }
.admin-page .product-editor { display:grid; grid-template-columns:700px minmax(600px,1fr); align-items:stretch; gap:24px; padding:0; background:transparent; border:0; }
.product-editor-main,.product-color-panel { min-width:0; padding:20px; background:var(--paper); border:1px solid var(--ink); }
.product-editor-main .editor-topline { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:14px; }
.product-editor-main .editor-topline .drag-hint { grid-column:1; justify-self:start; }
.product-editor-main .editor-topline .save-changes-top { grid-column:2; justify-self:center; }
.product-editor-main .editor-topline .editor-actions,
.product-editor-main .editor-topline > .remove-button { grid-column:3; justify-self:end; }
.product-color-panel .product-color-options { height:100%; margin:0; padding:0; border:0; }
.admin-page:has(.product-editor) .multi-image-editor { width:100%; }
@media (max-width:1420px) {
  .admin-page .product-editor { grid-template-columns:1fr; }
}
.storefront-color-label { display:grid; gap:5px; margin:15px 0 2px; color:var(--ink); font:600 11px var(--mono); letter-spacing:.04em; text-transform:uppercase; }
.product-type-badge { display:inline-flex; align-items:center; width:max-content; max-width:100%; margin-top:10px; padding:6px 10px; border:1px solid currentColor; border-radius:999px; font:700 10px/1.3 var(--mono); letter-spacing:.05em; text-transform:none; white-space:normal; }
.product-type-badge.is-physical { color:#8b321f; background:#fff0e8; }
.product-type-badge.is-virtual { color:#075f49; background:#e8f6ef; }
.product-view-details .product-type-badge { margin:0 0 3px; }
.product-view-details .storefront-color-label { width:min(100%,280px); margin-top:20px; }
.product-view-add { margin-top:14px; color:#071c25; background:#ffd84d; border:2px solid #071c25; box-shadow:3px 3px 0 #071c25; font-weight:700; }
.product-view-add:hover { color:#fff; background:#0737c7; border-color:#071c25; transform:translate(-1px,-1px); box-shadow:4px 4px 0 #071c25; }
.product-view-add:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.product-view-details .unavailable { display:inline-block; margin-top:14px; padding:9px 12px; }
.storefront-color-label select { width:min(100%,260px); padding:9px 30px 9px 10px; color:var(--ink); border:1px solid var(--ink); background:#fff; font:14px var(--sans); text-transform:none; }
.product-color-select[aria-invalid="true"] { border:2px solid #a52f1d; outline:2px solid #ffd5cc; }
.product-details p.product-color-error,.product-view-details p.product-color-error { min-height:0; margin:7px 0 2px; color:#a52f1d; font:700 12px/1.35 var(--sans); }
.cart-item small { display:block; margin-top:4px; color:var(--moss); font:11px/1.3 var(--sans); }
.shopper-notes-label { display:flex; justify-content:space-between; gap:12px; margin:0 0 6px; color:var(--ink); font:700 11px var(--mono); letter-spacing:.04em; text-transform:uppercase; }
.shopper-notes-label span { color:var(--moss); font-weight:400; }
.shopper-notes { box-sizing:border-box; width:100%; min-height:82px; margin:0 0 15px; padding:10px; color:var(--ink); background:#fff; border:1px solid var(--ink); resize:vertical; font:13px/1.4 var(--sans); }
.shopper-notes:focus { outline:3px solid var(--yellow); outline-offset:1px; }
@media (max-width:760px) { .product-color-options { padding:13px; } }

/* Compact inventory summary. */
.product-summary-filter { display:flex; align-items:center; justify-content:flex-end; gap:9px; margin:0 0 25px; }.product-summary-filter label { font:11px var(--mono); text-transform:uppercase; }.product-summary-filter select { min-width:170px; padding:7px 26px 7px 9px; color:var(--ink); background:#fff; border:1px solid var(--ink); font:13px var(--sans); }.product-summary-wrap { overflow-x:auto; border:1px solid var(--ink); background:var(--paper); }.product-summary { width:100%; min-width:760px; border-collapse:collapse; font:14px var(--sans); }.product-summary th { padding:11px 14px; color:#17328c; border-bottom:1px solid var(--ink); font:10px var(--mono); text-align:left; text-transform:uppercase; white-space:nowrap; }.product-summary td { padding:13px 14px; border-bottom:1px solid #d9e4ff; white-space:nowrap; }.product-summary tr:last-child td { border-bottom:0; }.product-summary th:nth-child(4),.product-summary td:nth-child(4) { text-align:right; }.product-summary a { color:var(--ink); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.product-summary-page .admin-main { width:100%; max-width:1440px; padding-left:32px; padding-right:32px; }
.product-summary-page .product-summary { min-width:680px; table-layout:fixed; }
.product-summary-page .product-summary th:nth-child(1) { width:140px; }
.product-summary-page .product-summary th:nth-child(2) { width:auto; }
.product-summary-page .product-summary th:nth-child(3) { width:400px; }
.product-summary-page .product-summary th:nth-child(4) { width:90px; }
.product-summary-page .product-summary th:nth-child(5) { width:85px; }
.product-summary-page .product-summary th:nth-child(6) { width:100px; }
.product-summary-page .product-summary th:nth-child(7) { width:50px; }
.product-summary-page .product-summary th:nth-child(n+3),
.product-summary-page .product-summary td:nth-child(n+3) { text-align:right; }
.product-summary-page .product-summary th:nth-child(3) { padding-left:8px; padding-right:14px; text-align:left; }
.product-summary-page .product-summary td:nth-child(3) { padding-left:8px; padding-right:14px; text-align:left; }
.product-summary-page .product-summary th:nth-child(6),
.product-summary-page .product-summary td:nth-child(6) { padding-left:5px; padding-right:5px; }
.product-summary-page .product-summary td:nth-child(6) { overflow:visible; text-overflow:clip; }
.product-summary-page .product-summary td { overflow:hidden; text-overflow:ellipsis; }
@media (max-width:760px) { .product-summary-page .admin-main { padding-left:16px; padding-right:16px; }.product-summary-page .product-summary { min-width:650px; } }

/* Keep the Orders summary within its available page width. */
.order-summary { min-width:0; table-layout:fixed; }.order-summary th,.order-summary td { overflow:hidden; text-overflow:ellipsis; }.order-summary th:nth-child(1) { width:16%; }.order-summary th:nth-child(2) { width:21%; }.order-summary th:nth-child(3) { width:25%; }.order-summary th:nth-child(4) { width:11%; }.order-summary th:nth-child(5) { width:9%; }.order-summary th:nth-child(6) { width:12%; }.order-summary th:nth-child(7) { width:6%; }.order-summary th:last-child,.order-summary td:last-child { min-width:0; padding-left:8px; padding-right:8px; text-align:left; }

/* Named administrator and reviewer account management. */
.login-help { margin:0; color:var(--moss); font-size:12px; line-height:1.45; }.user-manager { margin:25px 0; padding:20px; border:1px solid var(--ink); background:var(--paper); }.user-manager h2 { margin:0 0 16px; font:600 19px/1.2 var(--sans); }.user-add-form,.user-row { display:grid; grid-template-columns:minmax(130px,1fr) minmax(170px,1.35fr) minmax(150px,1fr) auto; align-items:end; gap:12px; }.user-add-form label,.user-row label { display:grid; gap:6px; color:var(--moss); font:11px var(--mono); letter-spacing:.04em; text-transform:uppercase; }.user-add-form input,.user-add-form select,.user-row input,.user-row select { min-width:0; padding:10px 11px; color:var(--ink); background:#fff; border:1px solid #0737c7; font:14px var(--sans); }.user-list { display:grid; gap:12px; }.user-row { padding:15px 0 0; border-top:1px solid #d9e4ff; }.user-row:first-child { padding-top:0; border-top:0; } @media (max-width:760px) { .user-add-form,.user-row { grid-template-columns:1fr; align-items:stretch; }.user-add-form .button,.user-row .button,.user-row .remove-button { width:max-content; } }

/* Multi-store landing page. */
.store-landing { min-height:100vh; color:var(--ink); background:var(--paper); }.landing-main { width:min(920px,calc(100% - 40px)); margin:0 auto; padding:80px 0; }.landing-main h1 { margin:4px 0 10px; font:600 clamp(42px,8vw,78px)/.98 var(--serif); }.landing-copy { max-width:480px; margin:0 0 34px; color:var(--moss); font:18px/1.5 var(--sans); }.store-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:14px; }.store-button { display:grid; gap:10px; min-height:175px; padding:23px; color:var(--ink); border:2px solid var(--ink); background:var(--yellow); text-decoration:none; transition:transform .15s ease,box-shadow .15s ease; }.store-button:hover { transform:translate(-4px,-4px); box-shadow:5px 5px 0 var(--blue); }.store-button > span { font:600 24px/1.1 var(--sans); }.store-button small { min-height:42px; color:var(--moss); font:14px/1.4 var(--sans); }.store-button b { margin-top:auto; color:var(--red); font:12px var(--mono); text-transform:uppercase; letter-spacing:.05em; }.store-button b span { margin-left:5px; font-size:18px; } @media (max-width:600px) { .landing-main { width:min(100% - 30px,920px); padding:54px 0; }.store-button { min-height:150px; } }

/* Application-style store selector. */
.store-landing { background:#f5f7f5; }.landing-main { width:calc(100% - 40px); max-width:none; margin:0; padding:25px 19px 48px; }.landing-main .eyebrow { color:#617073; font:700 16px/1.2 var(--mono); letter-spacing:.11em; }.landing-main h1 { margin:18px 0 24px; font:600 43px/1.05 var(--sans); letter-spacing:-.025em; }.landing-copy { max-width:none; margin:0 0 86px; color:#617073; font:18px/1.45 var(--sans); }.store-list { grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }.store-button { min-height:214px; gap:0; padding:34px 30px 29px; color:#071c25; border:1px solid #d8dfdb; border-radius:21px; background:#fff; box-shadow:0 14px 28px rgba(21,42,39,.035); transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease; }.store-button:hover { transform:translateY(-3px); border-color:#b9cbc1; box-shadow:0 16px 30px rgba(21,42,39,.11); }.store-button > span { font:600 25px/1.42 var(--sans); letter-spacing:-.015em; }.store-button small { min-height:0; margin-top:25px; color:#62747b; font:15px/1.35 var(--sans); }.store-button b { margin-top:auto; color:#00674e; font:700 15px/1.2 var(--mono); letter-spacing:.08em; text-transform:uppercase; }.store-button b::after { content:'  →'; } @media (max-width:1100px) { .store-list { grid-template-columns:repeat(3,minmax(0,1fr)); } } @media (max-width:760px) { .landing-main { width:calc(100% - 32px); padding:24px 16px 38px; }.landing-main h1 { font-size:36px; }.landing-copy { margin-bottom:42px; }.store-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }.store-button { min-height:185px; padding:25px; border-radius:17px; } } @media (max-width:460px) { .store-list { grid-template-columns:1fr; }.store-button { min-height:155px; } }

/* Three-image product editor and public gallery. */
.multi-image-editor { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:18px; }.image-slot { min-width:0; }.image-slot .image-upload { width:100%; }.image-slot-controls { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:7px; font:11px var(--mono); color:var(--ink); }.image-slot-controls label { display:flex; align-items:center; gap:5px; }.image-slot-controls button { padding:4px 6px; color:var(--moss); border:1px solid var(--moss); background:#fff; cursor:pointer; font:11px var(--sans); }.image-slot-controls button:disabled { opacity:.35; cursor:not-allowed; }.product-view { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr); gap:42px; width:min(1080px,calc(100% - 40px)); margin:0 auto; padding:62px 0 90px; }.product-gallery { position:relative; display:grid; place-items:center; min-height:420px; padding:22px; border:1px solid var(--ink); background:#fff; outline:none; }.gallery-image { width:100%; max-height:560px; object-fit:contain; }.product-gallery-empty { color:var(--moss); font:13px var(--mono); }.gallery-nav { position:absolute; top:calc(50% - 18px); width:36px; height:36px; border:1px solid var(--ink); background:#fff; color:var(--ink); font-size:21px; cursor:pointer; }.gallery-prev { left:10px; }.gallery-next { right:10px; }.gallery-thumbnails { display:flex; gap:8px; width:100%; margin-top:14px; }.gallery-thumb { width:58px; height:58px; padding:2px; border:1px solid var(--line); background:#fff; cursor:pointer; }.gallery-thumb[aria-selected="true"] { border:2px solid var(--ink); }.gallery-thumb img { width:100%; height:100%; object-fit:contain; }.product-view-details { align-self:center; }.product-view-details h1 { margin:5px 0 17px; font:600 clamp(35px,5vw,60px)/1.02 var(--serif); }.product-view-details p:not(.eyebrow) { color:#17328c; font-size:16px; line-height:1.55; }.product-view-details strong { display:block; margin-top:24px; font:600 25px var(--sans); } @media (max-width:760px) { .multi-image-editor { gap:8px; }.image-slot-controls { flex-direction:column; align-items:flex-start; }.product-view { grid-template-columns:1fr; width:calc(100% - 32px); padding:38px 0 60px; }.product-gallery { min-height:300px; padding:14px; } }

/* Full three-slot image manager on compact Admin cards. */
.editor-body .multi-image-editor,.editor-body .multi-image-editor + .fields { grid-column:1 / -1; }.editor-body .multi-image-editor { margin-bottom:0; }.editor-body .multi-image-editor + .fields { margin-top:2px; }

/* Keep the Physical and Virtual order-summary columns balanced and readable. */
.order-summary th:nth-child(5),.order-summary td:nth-child(5),.order-summary th:nth-child(6),.order-summary td:nth-child(6) { width:92px; min-width:92px; text-align:center; }

/* Stack the order-type counts closely without changing the surrounding grid. */
.order-card dl .order-count-line { grid-column:1 / -1; }.order-card dl .order-count-physical { margin-bottom:-7px; }

/* Longer product descriptions retain the existing editor height and scroll internally. */
.product-editor textarea[name="description"] { overflow-y:auto; resize:none; }
.description-character-count { display:block; margin-top:4px; color:var(--moss); font:11px var(--mono); text-align:right; }

/* Preserve the administrator's simple paragraph formatting on storefront descriptions. */
.storefront .product-details p:not(.product-color-error),.storefront .product-view-details p:not(.eyebrow):not(.product-color-error) { white-space:pre-wrap; overflow-wrap:anywhere; }
.storefront .product-details p.product-description-preview { width:100%; max-width:none; margin:6px 0 8px; }
.description-preview-text { display:-webkit-box; max-height:4.35em; overflow:hidden; line-height:1.45; white-space:pre-wrap; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3; }
.description-see-more { display:block; width:max-content; margin:2px 0 0; color:var(--clay); font-weight:700; line-height:1.35; white-space:nowrap; text-decoration:underline; text-underline-offset:3px; }
.description-see-more[hidden] { display:none; }
.description-see-more:hover { color:var(--ink); }
.storefront .product-name-price { display:grid; grid-template-columns:minmax(0,1fr) max-content; align-items:start; justify-content:stretch; gap:12px; width:100%; }
.storefront .product-name-price h2 { min-width:0; margin:0; }
.storefront .product-name-price .product-type-badge { display:inline-flex; align-items:center; justify-content:center; align-self:start; width:max-content; max-width:180px; margin:0; padding:5px 9px; font:700 10px/1.3 var(--mono); letter-spacing:.05em; text-align:center; white-space:normal; }

/* Keep the full product gallery at the top instead of stretching with long descriptions. */
.product-view { align-items:start; }
.product-view .product-gallery { align-self:start; height:auto; }
.product-view .product-view-details { align-self:start; }

/* Full product view: keep purchasing controls fixed and scroll only the description. */
@media (min-width:761px) {
  .product-view { height:calc(100vh - 64px); min-height:0; padding:24px 0; overflow:hidden; }
  .product-purchase-column { display:flex; flex-direction:column; align-self:stretch; min-width:0; min-height:0; height:100%; max-height:100%; }
  .product-purchase-column .product-gallery { flex:1 1 auto; grid-template-rows:minmax(0,1fr) auto; min-height:0; height:auto; overflow:hidden; }
  .product-purchase-column .gallery-image { min-height:0; height:100%; max-height:100%; }
  .product-purchase-column .gallery-thumbnails { flex:none; min-height:62px; margin-top:8px; }
  .product-purchase-controls { flex:0 0 auto; padding-top:14px; }
  .product-purchase-controls>strong { display:block; font:600 25px var(--sans); }
  .product-view .product-purchase-controls .storefront-option-grid { margin:12px 0 2px; }
  .product-view-details { display:flex; flex-direction:column; align-self:stretch; min-width:0; min-height:0; height:100%; }
  .product-view-details>p:not(.eyebrow) { flex:1 1 auto; min-height:0; margin-bottom:0; padding-right:12px; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
}

@media (max-width:760px) {
  .product-purchase-column { min-width:0; }
  .product-view-details>p:not(.eyebrow) { overflow:visible; }
}

/* Compact product identity fields and use the recovered room for description text. */
.product-editor .fields { position:relative; gap:8px; }
.product-editor .fields .item-name-field,
.product-editor .fields label:has(input[name="sku"]) { gap:3px; }
.product-editor .fields .item-name-field input,
.product-editor .fields label:has(input[name="sku"]) input[name="sku"] { padding-top:7px; padding-bottom:7px; }
.product-editor .fields label.physical-product-field,
.product-editor .fields label.active-product-field { position:absolute; z-index:1; top:-2px; min-height:0; white-space:nowrap; }
.product-editor .fields label.physical-product-field { right:0; }
.product-editor .fields label.active-product-field { right:172px; display:flex; align-items:center; gap:8px; }
.product-editor .fields label.active-product-field input[type="hidden"] { display:none; }
.product-editor .fields label.active-product-field input[type="checkbox"] { width:16px; height:16px; margin:0; padding:0; flex:0 0 auto; accent-color:#0737c7; }
.product-editor .save-changes-top { padding:6px 9px; border:1px solid var(--ink); font:12px var(--sans); line-height:normal; }
.product-editor textarea[name="description"] { height:140px; min-height:140px; max-height:140px; }

/* Eight compact image slots: four columns by two rows without a tall editor. */
.multi-image-editor { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px 14px; }
.multi-image-editor .image-upload { aspect-ratio:4/3; }
.gallery-thumbnails { overflow-x:auto; padding-bottom:4px; }
.gallery-thumb { flex:0 0 58px; }
@media (max-width:760px) {
  .multi-image-editor { grid-template-columns:repeat(4,minmax(115px,1fr)); overflow-x:auto; padding-bottom:6px; }
}

/* Product Summary is the lightweight management home. */
.summary-admin-nav { position:sticky; top:76px; z-index:10; display:flex; align-items:center; gap:8px; overflow-x:auto; padding:10px 0; margin-bottom:14px; background:rgba(245,241,232,.97); white-space:nowrap; }
.summary-admin-nav a { padding:7px 10px; color:var(--ink); border:1px solid var(--line); background:var(--paper); font:12px var(--sans); text-decoration:none; }
.summary-admin-nav a:hover { border-color:var(--ink); }
.product-summary-page .admin-title-row { position:static; }

/* Dense Product Summary workspace with compact category grouping and controls. */
.product-summary-page .admin-main { padding-top:0; }
.product-summary-page .summary-admin-nav { padding:6px 0; margin-bottom:2px; }
.product-summary-page .admin-title-row { align-items:center; padding:7px 0 9px; }
.product-summary-page .admin-title-row>div:first-child { display:flex; align-items:baseline; gap:9px; }
.product-summary-page .admin-title-row .eyebrow { margin:0; }
.product-summary-page .admin-title-row h1 { font-size:30px; line-height:1; }
.summary-create-actions,.summary-category-add { display:flex; align-items:center; gap:7px; }
.summary-category-add input { width:175px; padding:7px 9px; border:1px solid var(--line); background:#fff; font:13px var(--sans); }
.summary-create-actions .button { padding:8px 11px; font-size:12px; white-space:nowrap; }
.product-summary-page .product-summary-filter { margin-bottom:8px; }
.product-summary-page .product-summary th { padding:7px 11px; }
.product-summary-page .product-summary td { padding:8px 11px; }
.product-summary .product-category-break th { padding:4px 11px; color:var(--ink); background:#e9eee9; border-top:1px solid var(--ink); border-bottom:1px solid #cbd7d0; font:700 11px var(--mono); letter-spacing:.05em; text-align:left; }
.product-move-actions { white-space:nowrap; }
.product-move-actions a,.product-move-actions .product-move-disabled { display:inline-grid; place-items:center; width:25px; height:24px; border:1px solid var(--line); text-decoration:none; }
.product-move-actions a+a,.product-move-actions a+.product-move-disabled,.product-move-actions .product-move-disabled+a,.product-move-actions .product-move-disabled+.product-move-disabled { margin-left:5px; }
.product-move-actions a:hover { border-color:var(--ink); }
.product-move-actions .product-move-disabled { color:#a8aaa6; background:#eeeee9; border-color:#dadbd5; cursor:not-allowed; }
.product-summary .product-row { cursor:pointer; }
.product-summary .product-row.is-selected td { background:#fff2ad; box-shadow:inset 0 1px 0 #bd7e00,inset 0 -1px 0 #bd7e00; }
.product-summary .product-row.is-selected td:first-child { box-shadow:inset 4px 0 0 #bd7e00,inset 0 1px 0 #bd7e00,inset 0 -1px 0 #bd7e00; }
@media (max-width:760px) {
  .product-summary-page .admin-title-row { align-items:stretch; }
  .summary-create-actions { width:100%; justify-content:space-between; }
  .summary-category-add { min-width:0; }
  .summary-category-add input { width:min(175px,42vw); }
}
@media (max-width:650px) {
  .product-editor .fields label.physical-product-field,
  .product-editor .fields label.active-product-field { position:static; order:-1; justify-self:end; }
}

/* Category management stays compact and contains no product editor/list. */
.category-admin-page .admin-main { max-width:1180px; padding-top:10px; padding-bottom:55px; }
.category-only-manager { margin-top:24px; }
.category-only-manager > div { min-width:0; flex:1; }
.category-only-manager .category-pills { margin-top:8px; }

/* Summary-style category list. */
.category-title-row { align-items:center; padding:4px 0 6px; }
.category-title-row > div:first-child { display:flex; align-items:baseline; gap:8px; }
.category-title-row .eyebrow { margin:0; }
.category-title-row h1 { font-size:30px; line-height:1; }
.category-title-row .category-add { align-items:center; }
.category-title-row .category-add input { padding:7px 9px; }
.category-list-section { margin-top:7px; }
.category-list-section h2 { margin:0 0 4px; color:var(--moss); font:11px var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.category-summary-wrap { overflow-x:auto; border:1px solid var(--ink); background:var(--paper); }
.category-summary { width:100%; border-collapse:collapse; table-layout:fixed; font:14px var(--sans); }
.category-summary th { padding:5px 10px; color:#17328c; border-bottom:1px solid var(--ink); font:10px var(--mono); text-align:left; text-transform:uppercase; }
.category-summary th:last-child { width:375px; }
.category-summary td { padding:4px 10px; border-bottom:1px solid #d9e4ff; }
.category-summary tr:last-child td { border-bottom:0; }
.category-summary .category-summary-row { cursor:pointer; }
.category-summary .category-summary-row.is-selected td { background:#fff2ad; box-shadow:inset 0 1px 0 #bd7e00,inset 0 -1px 0 #bd7e00; }
.category-summary .category-summary-row.is-selected td:first-child { box-shadow:inset 4px 0 0 #bd7e00,inset 0 1px 0 #bd7e00,inset 0 -1px 0 #bd7e00; }
.category-summary td > form { margin:0; }
.category-summary td:first-child input[name="category"] { width:min(100%,560px); padding:5px 8px; color:var(--ink); background:#fff; border:1px solid var(--line); font:14px var(--sans); }
.category-summary td:first-child input[name="category"][readonly] { color:#5e6864; background:#eef0ef; cursor:not-allowed; }
.category-row-actions { white-space:nowrap; }
.category-row-actions form { display:inline-block; margin:0 0 0 7px; vertical-align:middle; }
.category-row-actions > button { vertical-align:middle; }
.category-row-actions .icon-button,.category-row-actions .remove-button { min-width:70px; }
.category-row-actions .category-move-form { margin-left:3px; }
.category-row-actions .category-move-button { min-width:32px; width:32px; padding:4px 0; }
.category-row-actions .category-move-button:disabled { color:#9aa3a0; background:#e7e9e8; border-color:#d4d8d6; cursor:not-allowed; opacity:.72; }
.category-row-actions .category-auto-arrange-form { margin-left:3px; }
.category-row-actions .category-auto-arrange { min-width:98px; }

/* Consistent friendly corners for every clickable button control. */
button,.button,.icon-button,.remove-button,input[type="button"],input[type="submit"],input[type="reset"],.option-move-actions a,.option-move-disabled { border-radius:8px; }
.order-product-layout strong { display:block; }
.order-product-layout small { display:block; margin-top:3px; font:12px/1.3 var(--sans); font-weight:400; }
@media (max-width:650px) { .category-title-row .category-add { width:100%; }.category-title-row .category-add input { width:100%; }.category-summary { min-width:520px; } }

/* Keep anchored storefront products below the fixed header and sticky search panel. */
.storefront .product-card { scroll-margin-top:174px; }
@media (max-width:650px) { .storefront .product-card { scroll-margin-top:210px; } }
