/* One theme covers the storefront and its dialogs. The staff workspace stays independent. */
.shop-shell,.store-dialog{--text:var(--store-ink);--bg:var(--store-paper);--white:var(--store-surface);--line:var(--store-line);--muted:var(--store-muted);--accent:var(--store-accent);--store-olive:var(--store-accent);color:var(--store-ink);background:var(--store-paper)}
.shop-shell h1,.shop-shell h2,.shop-shell h3,.store-dialog h2{font-family:var(--store-heading-font);overflow-wrap:anywhere}
.shop-shell p,.shop-shell dd,.shop-shell label,.shop-shell .small,.shop-shell .price{overflow-wrap:anywhere}
.shop-shell .card,.store-dialog .card{background:var(--store-surface);border-color:var(--store-line);border-radius:var(--store-radius)}
.shop-shell .primary,.store-dialog .primary{background:var(--store-accent);border-color:var(--store-accent);color:var(--store-on-accent)}
.shop-shell .primary:hover,.store-dialog .primary:hover{background:var(--store-accent);border-color:var(--store-accent);filter:brightness(.92)}
.shop-shell button,.shop-shell .btn,.store-dialog button,.store-dialog .btn{border-radius:var(--store-radius);white-space:normal;overflow-wrap:anywhere;max-width:100%}
.shop-shell input,.shop-shell select,.shop-shell textarea,.store-dialog input,.store-dialog select,.store-dialog textarea{background:var(--store-surface);color:var(--store-ink);border-color:var(--store-line);min-width:0;max-width:100%;accent-color:var(--store-accent)}
.shop-shell input::placeholder,.shop-shell textarea::placeholder,.store-dialog input::placeholder{color:var(--store-muted);opacity:1}
.shop-shell input:focus,.shop-shell select:focus,.shop-shell textarea:focus{border-color:var(--store-accent);box-shadow:0 0 0 2px var(--store-line)}
.shop-shell a:focus-visible,.shop-shell button:focus-visible,.shop-shell summary:focus-visible{outline-color:var(--store-accent)}
.shop-shell .shop-top{background:var(--store-soft);color:var(--store-muted)}
.shop-shell .shop-header nav a:hover{color:var(--store-accent)}
.shop-shell .cart-count,.shop-shell .cart-link{background:var(--store-soft);color:var(--store-ink)}
.shop-shell .store-hero{background:var(--store-soft);border-radius:var(--store-radius)}
.shop-shell .hero-footnote,.shop-shell .hero-footnote span{color:var(--store-muted)}
.shop-shell .hero-secondary{border-color:var(--store-line)}
.shop-shell .store-hero-copy .eyebrow span{background:var(--store-accent)}
.shop-shell .category-tile{background:var(--store-soft);border:1px solid var(--store-line);border-radius:var(--store-radius)}
.shop-shell .category-number,.shop-shell .catalog-count,.shop-shell .breadcrumbs,.shop-shell .filter-actions a,.shop-shell .service-steps article>span{color:var(--store-muted)}
.shop-shell .product-card{background:transparent;border:0;border-radius:0}
.shop-shell .product-card .photo,.shop-shell .product-zoom{background:var(--store-soft);border-radius:var(--store-radius)}
.shop-shell .product-card .buyrow .btn{color:var(--store-ink);border-color:var(--store-line)}
.shop-shell .product-card .badge span{background:var(--store-surface);color:var(--store-ink);border:1px solid var(--store-line)}
.shop-shell .filterbar,.shop-shell .order-summary{background:var(--store-soft)}
.shop-shell .filterbar input,.shop-shell .filterbar select,.shop-shell .filter-advanced{border-color:var(--store-line)}
.shop-shell .tag{color:var(--store-ink);background:var(--store-soft);border:1px solid var(--store-line)}
.shop-shell .notice,.store-dialog .notice{background:var(--store-soft);color:var(--store-ink);border:1px solid var(--store-line)}
.shop-shell .nav-submenu>div{background:var(--store-surface);color:var(--store-ink);border-color:var(--store-line)}
.shop-shell .mobile-contacts{background:var(--store-paper);color:var(--store-ink)}
.shop-shell .mobile-contacts a{color:var(--store-ink)}
.shop-shell .shop-footer{background:var(--store-footer);color:var(--store-footer-text)}
.shop-shell .shop-footer a,.shop-shell .shop-footer p,.shop-shell .shop-footer h3,.shop-shell .shop-footer .store-logo,.shop-shell .shop-footer .store-logo em,.shop-shell .shop-footer .store-logo small,.shop-shell .footer-bottom{color:var(--store-footer-text)}
.shop-shell .footer-bottom{border-color:var(--store-line)}
.shop-shell .product-detail>*,.shop-shell .grid>*,.shop-shell .form-grid>*,.shop-shell .order-layout>*{min-width:0}
.shop-shell .product-purchase-actions,.store-dialog .form-actions{gap:12px;flex-wrap:wrap}
.shop-shell .product-purchase-actions>.btn:not(.primary),.store-dialog .product-purchase-actions>.btn:not(.primary){background:#fff;color:#1e293b;-webkit-text-fill-color:#1e293b;border:1px solid #94a3b8;opacity:1;font-weight:700;color-scheme:light;text-shadow:none;filter:none}
.shop-shell .product-purchase-actions>.btn:not(.primary):hover,.store-dialog .product-purchase-actions>.btn:not(.primary):hover{border-color:var(--store-accent)}
.shop-shell .contact-map{max-width:100%}
.store-dialog{border:1px solid var(--store-line)}
.store-dialog .dialog-header{border-color:var(--store-line)}
.store-dialog .kit-line,.store-dialog .kit-total{background:var(--store-soft);border-color:var(--store-line)}
.shop-shell[data-store-theme=copper] .store-hero-photo:after,.shop-shell[data-store-theme=graphite] .store-hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#17171780,transparent);pointer-events:none}
.shop-shell[data-store-theme=copper] .store-hero-copy h1{letter-spacing:-.035em}
.shop-shell[data-store-theme=copper] .store-hero-photo>img{filter:brightness(.7) saturate(.75)}
.shop-shell[data-store-theme=copper] .category-illustration,.shop-shell[data-store-theme=graphite] .category-illustration{opacity:.3}
.shop-shell[data-store-theme=graphite] .store-hero{border:1px solid var(--store-line)}
.shop-shell[data-store-theme=graphite] .store-hero-photo>img{filter:brightness(.8) saturate(.35)}
.shop-shell[data-store-theme=fresh] .product-card .photo{box-shadow:0 12px 28px #233d2010}
.shop-shell[data-store-theme=fresh] .store-hero{background:linear-gradient(120deg,#f3f7ef,#e2eddb)}
.shop-shell[data-store-theme=blue] .store-hero{border-top:4px solid var(--store-accent)}
@media(min-width:900px){.shop-shell[data-store-theme=blue] .store-hero-photo{grid-column:1;grid-row:1}.shop-shell[data-store-theme=blue] .store-hero-copy{grid-column:2;grid-row:1}.shop-shell[data-store-theme=blue] .store-hero{grid-template-columns:1.12fr 1fr}.shop-shell[data-store-theme=graphite] .store-hero{grid-template-columns:1.1fr 1fr}.shop-shell[data-store-theme=copper] .category-tiles{gap:24px}}
@media(max-width:540px){.shop-shell .hero-links{align-items:stretch}.shop-shell .hero-links .btn{justify-content:center}.shop-shell .store-hero-copy h1{font-size:clamp(32px,10vw,43px)}.shop-shell .filterbar,.shop-shell .filter-advanced>div{grid-template-columns:minmax(0,1fr)}.shop-shell .filter-actions{flex-wrap:wrap}.shop-shell .product-purchase-actions>*{flex:1 1 100%;width:100%}.shop-shell .product-card .price{font-size:clamp(16px,5vw,20px)}.shop-shell .product-card .buyrow .btn{font-size:10px;gap:8px}.shop-shell .shop-top span{white-space:normal}.shop-shell .form-actions{gap:12px;flex-wrap:wrap}}
@media(max-width:360px){.shop-shell .shop-header{gap:12px}.shop-shell .store-logo{font-size:17px}.shop-shell .brand-symbol{width:21px}.shop-shell .cart-link{padding:8px}.shop-shell .cart-link>svg{display:none}.shop-shell .hero-links>*{width:100%}}
.theme-preview-banner{padding:10px 18px;border-bottom:1px solid var(--store-line);font-size:12px;text-align:center;background:var(--store-soft);color:var(--store-ink);overflow-wrap:anywhere}

/* The editor uses the CRM palette; each thumbnail carries only its preset. */
.theme-editor{margin-bottom:28px;min-width:0}
.theme-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:22px;flex-wrap:wrap}
.theme-heading h2{margin-bottom:8px}.theme-heading p{margin:0;max-width:720px}
.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:20px;margin-bottom:20px}
.theme-choice{border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0;display:flex;flex-direction:column}
.theme-choice.is-current{outline:2px solid var(--accent);outline-offset:2px}
.theme-sample{background:var(--store-paper);color:var(--store-ink);padding:14px;font-family:Arial,sans-serif;pointer-events:none}
.theme-sample-nav{display:flex;align-items:center;gap:9px;margin-bottom:14px;font-size:9px}.theme-sample-nav span{margin-right:auto;font-weight:700}.theme-sample-nav i{width:21px;height:2px;background:var(--store-muted)}
.theme-sample-hero{display:grid;grid-template-columns:1fr 1fr;background:var(--store-soft);min-height:132px;border-radius:var(--store-radius);overflow:hidden}
.theme-sample-hero>div{padding:17px 10px;display:flex;align-items:start;flex-direction:column;gap:12px}.theme-sample-hero strong{font:17px/1.15 var(--store-heading-font)}.theme-sample-hero b{width:80%;height:2px;background:var(--store-muted)}
.theme-sample-button{display:block;width:62px;height:17px;background:var(--store-accent);border-radius:3px}.theme-sample-hero img{width:100%;height:100%;min-height:132px;object-fit:cover}
.theme-sample[data-store-theme=copper] img{filter:brightness(.7) saturate(.75)}.theme-sample[data-store-theme=graphite] img{filter:brightness(.8) saturate(.35)}
.theme-sample-tiles{display:flex;gap:7px;margin-top:10px}.theme-sample-tiles i{display:block;flex:1;height:25px;border-radius:var(--store-radius);background:var(--store-soft);border:1px solid var(--store-line)}
.theme-choice-body{padding:18px;display:flex;flex-direction:column;flex:1}.theme-choice h3{font-size:17px;line-height:1.3}.theme-choice p{margin:8px 0 18px}.theme-choice-actions{display:flex;flex-direction:column;gap:9px;margin-top:auto}.theme-choice-actions button{width:100%;min-height:44px;white-space:normal}
.theme-preview-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.theme-devices{display:flex;gap:8px;flex-wrap:wrap}.theme-devices button{padding:10px 13px;font-size:13px}.theme-devices [aria-pressed=true]{background:var(--nav);color:#fff}
.theme-preview-stage{width:100%;position:relative;overflow:hidden;background:#e8ebee;border:1px solid var(--line);margin-top:18px;border-radius:8px}.theme-preview-stage iframe{display:block;border:0;transform-origin:top left;margin:0;max-width:none;background:#fff}
@media(max-width:600px){.theme-editor{padding:18px}.theme-heading{gap:12px}.theme-preview-tools>button{width:100%}.theme-devices{width:100%;gap:6px}.theme-devices button{flex:1;padding:9px 5px;font-size:12px}}

/* Human-readable audit trail, including before/after values on narrow screens. */
.audit-list{display:grid;gap:16px;min-width:0}
.audit-card{min-width:0;padding:22px;overflow-wrap:anywhere}
.audit-card>header{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:16px}
.audit-card h2{font-size:19px;line-height:1.35;margin:0 0 7px}.audit-card header p{margin:0;font-size:14px}
.audit-actor{display:grid;gap:4px;text-align:right;flex-shrink:0;font-size:13px}.audit-actor time{color:var(--muted)}
.audit-summary{margin:0 0 14px;line-height:1.6}.audit-card summary{cursor:pointer;font-size:14px;padding:5px 0;color:var(--muted)}
.audit-diff{display:grid;gap:16px;margin-top:18px}.audit-diff section{border-top:1px solid var(--line);padding-top:16px;min-width:0}.audit-diff h3{font-size:15px;margin-bottom:10px}.audit-diff dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0}.audit-diff dl>div{min-width:0;padding:14px;background:var(--bg);border-radius:8px}.audit-diff dt{font-size:12px;color:var(--muted);margin-bottom:8px}.audit-diff dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;max-height:360px;overflow:auto}.audit-diff section>p{margin:10px 0 0}
@media(max-width:650px){.audit-card{padding:18px}.audit-card>header{display:block}.audit-actor{display:flex;flex-wrap:wrap;text-align:left;gap:6px 14px;margin-top:12px}.audit-diff dl{grid-template-columns:1fr;gap:8px}.audit-card h2{font-size:18px}}

:is(.shop-shell,.store-dialog):is([data-store-theme="copper"],[data-store-theme="graphite"]) .positive{color:#a8d8b3}
:is(.shop-shell,.store-dialog):is([data-store-theme="copper"],[data-store-theme="graphite"]) :is(.negative,.error-text){color:#ffb3af}

/* Dialog controls use the same contrast tokens as the storefront. */
.store-dialog .dialog-header button[data-action="close"] { color:var(--store-ink,var(--text)); background:var(--store-surface,var(--white)); border:1px solid var(--line); opacity:1; min-width:44px; min-height:44px; font-size:24px; }
#door-configurator .size-choices {display:flex;flex-wrap:wrap;gap:8px}
#door-configurator .size-choices button {min-height:44px;color:var(--store-ink,var(--text));background:var(--store-surface,var(--white));border:1px solid var(--line);padding:10px 16px}
#door-configurator .size-choices button[aria-pressed="true"] {outline:2px solid currentColor;outline-offset:1px}
#door-configurator .size-help {font-size:14px;line-height:1.6;margin:8px 0}
#door-configurator .dimension-source {max-width:100%;overflow-wrap:anywhere}
#door-configurator input:read-only {opacity:1}

/* Shared public search and compact catalog controls. No staff selectors. */
.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}
.shop-shell .shop-header{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;gap:14px 30px}
.shop-shell .shop-header>.store-logo{grid-column:1;grid-row:1}
.shop-shell .shop-header>.shop-actions{grid-column:3;grid-row:1}
.shop-shell .shop-header>nav{grid-column:1/-1;grid-row:2;justify-content:center;padding-top:8px;max-width:100%;overflow-x:auto}
.shop-shell .store-search{grid-column:2;grid-row:1;position:relative;min-width:0;z-index:20}
.shop-shell .store-search form{display:flex;align-items:center;gap:10px;border:1px solid var(--store-line);border-radius:12px;background:var(--store-surface);padding:5px 5px 5px 15px}
.shop-shell .store-search input{flex:1;width:0;min-width:0;min-height:40px;border:0;box-shadow:none;font-size:15px;padding:6px 0;background:transparent;color:var(--store-ink)}
.shop-shell .store-search button{flex-shrink:0;min-height:42px;font-size:13px;padding:9px 17px;border-radius:8px}
.shop-shell .store-search-hint{font-size:11px;line-height:1.4;color:var(--store-muted);margin:7px 0 0;padding-left:2px}
.shop-shell .store-search-hint a{text-decoration:underline;text-underline-offset:3px}
.shop-shell .store-search-results{position:absolute;top:58px;left:0;right:0;min-width:0;border:1px solid var(--store-line);border-radius:12px;background:var(--store-surface);box-shadow:0 15px 40px #0003;overflow:hidden;max-height:65vh;overflow-y:auto}
.store-search-results[hidden]{display:none}
.shop-shell .store-suggestion{display:flex;align-items:center;gap:12px;padding:12px;color:var(--store-ink);text-decoration:none;border-bottom:1px solid var(--store-line);font-size:14px}
.shop-shell .store-suggestion:hover,.shop-shell .store-suggestion:focus{background:var(--store-soft)}
.shop-shell .store-suggestion img{object-fit:contain;background:var(--store-soft);border-radius:5px;flex-shrink:0}
.shop-shell .store-suggestion>span{flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.4}
.shop-shell .store-suggestion small{display:block;color:var(--store-muted);font-size:11px;margin-top:4px}
.shop-shell .store-suggestion b{white-space:nowrap;font-size:13px}
.shop-shell .store-search-all{display:block;padding:16px;font-weight:600;font-size:13px;background:var(--store-soft)}
.shop-shell .search-empty{padding:15px;font-size:14px;line-height:1.5;margin:0}
.shop-shell .catalog-tools{margin:18px 0 28px}
.shop-shell .catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:16px}
.shop-shell .catalog-count{margin:0;font-size:14px}.catalog-query{display:block;margin-top:5px;font-size:13px}
.shop-shell .catalog-sort{display:flex;gap:10px;align-items:center}
.shop-shell .catalog-sort label{display:flex;align-items:center;gap:10px;font-size:12px;white-space:nowrap}
.shop-shell .catalog-sort select{min-height:42px;font-size:13px;width:auto;max-width:210px;border-radius:9px}
.shop-shell .catalog-quick,.shop-shell .selected-filters{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.shop-shell .filter-chip,.shop-shell .selected-filter{display:inline-flex;align-items:center;gap:8px;min-height:42px;border:1px solid var(--store-line);border-radius:24px;background:var(--store-surface);color:var(--store-ink);padding:9px 15px;font-size:13px;line-height:1.35;text-decoration:none}
.shop-shell .filter-chip>span{font-size:11px;color:var(--store-muted)}
.shop-shell .filter-chip.is-active{background:var(--store-accent);border-color:var(--store-accent);color:var(--store-on-accent)}
.shop-shell .filter-chip.is-active>span{color:var(--store-on-accent)}
.shop-shell .selected-filter{border-radius:8px;background:var(--store-soft);font-size:12px;min-height:36px}
.shop-shell .catalog-filter-panel{border:1px solid var(--store-line);border-radius:12px;background:var(--store-surface);margin-top:15px}
.shop-shell .catalog-filter-panel>summary{padding:17px 20px;cursor:pointer;font-size:14px;font-weight:600;list-style-position:inside;min-height:50px}
.shop-shell .catalog-filter-panel>summary>span{font-weight:400;color:var(--store-muted);font-size:12px;margin-left:12px}
.shop-shell .catalog-filter-panel>form{padding:8px 20px 22px}
.shop-shell .catalog-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.shop-shell .catalog-filter-grid label{font-size:13px;min-width:0}
.shop-shell .catalog-filter-grid input,.shop-shell .catalog-filter-grid select{font-size:16px;min-height:46px;border-radius:8px}
.shop-shell .feature-options{border:0;padding:0;margin:20px 0;display:flex;flex-wrap:wrap;gap:15px}
.shop-shell .feature-options legend{font-size:13px;margin-bottom:12px}
.shop-shell .feature-options label{display:flex;align-items:center;gap:9px;font-size:13px;min-height:40px}
.shop-shell .feature-options input{width:19px;height:19px;margin:0}
.shop-shell .feature-explanation{font-size:12px;line-height:1.5;color:var(--store-muted);max-width:750px;margin-top:12px}
.product-seo-fields{padding:20px;border:1px solid var(--line);border-radius:12px;display:grid;gap:14px}.product-seo-fields input:read-only,.product-seo-fields textarea:read-only{background:var(--bg);color:var(--text);opacity:1}.seo-product-preview{padding:18px;background:var(--bg);border-radius:10px;overflow-wrap:anywhere}.seo-product-preview p{margin:8px 0;line-height:1.5}.seo-product-preview .seo-preview-title{font-size:18px;color:#365bb7}
@media(max-width:1100px){.shop-shell .shop-header{grid-template-columns:auto minmax(230px,1fr) auto;gap:14px 20px}.shop-shell .shop-header .phone{display:none}}
@media(max-width:800px){.shop-shell .shop-header{grid-template-columns:1fr auto;gap:16px}.shop-shell .shop-header>.shop-actions{grid-column:2}.shop-shell .store-search{grid-row:2;grid-column:1/-1}.shop-shell .shop-header>nav{grid-row:3;justify-content:flex-start}.shop-shell .catalog-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.shop-shell .store-search input{font-size:16px}.shop-shell .catalog-filter-panel>summary>span{display:none}.shop-shell .catalog-filter-grid{grid-template-columns:1fr}.shop-shell .catalog-sort{width:100%}.shop-shell .catalog-sort label{justify-content:space-between;width:100%}.shop-shell .filter-chip{font-size:12px;padding:9px 12px}.shop-shell .store-search form{padding-left:10px;gap:8px}.shop-shell .store-suggestion{gap:8px;font-size:13px}.shop-shell .store-suggestion b{font-size:12px}.shop-shell .catalog-filter-panel>form{padding:5px 16px 20px}}

.shop-shell .catalog-sort button[hidden]{display:none!important}

/* One focus boundary for the complete search control; no nested input ring. */
.shop-shell .store-search input,.shop-shell .store-search input:focus,.shop-shell .store-search input:focus-visible{outline:none!important;box-shadow:none!important;border:0!important;appearance:none;-webkit-appearance:none}
.shop-shell .store-search form:focus-within{border-color:var(--store-accent)}
.shop-shell .btn:not(.primary){color:var(--store-ink);background:var(--store-surface);border-color:var(--store-line);-webkit-text-fill-color:currentColor;opacity:1}

#home-products-editor [hidden]{display:none!important}
