/* Shared storefront / administration visual theme. */
:root { --bg:#fff; --paper:#fff; --card:#fff; --ink:#182635; --muted:#677788; --line:#e6edf2; --coral:#087bb5; --coral-dark:#086b9b; --coral-light:#eef8ff; --violet:var(--coral); --violet-dark:var(--coral-dark); --lavender:var(--coral-light); --green:var(--coral); --green-light:var(--coral-light); --orange:var(--coral); --danger:#b52d36; --shadow:0 12px 32px #20394a08; }
body { background:var(--bg); color:var(--ink); }
button:focus-visible,a:focus-visible { outline:3px solid #ffab9f; outline-offset:4px; }
.storefront .shell { width:min(1460px,calc(100% - 64px)); }
.storefront .top-note { background:#fff0ed; color:#8c514b; }
.storefront .top-note a { color:var(--coral); }
.storefront .live-dot { background:var(--coral); box-shadow:0 0 0 4px #fa685e15; }
.storefront .site-header { height:76px; background:#fff; backdrop-filter:none; }
.storefront .header-inner { gap:28px; }
.storefront .brand { color:var(--coral); font-size:25px; letter-spacing:0; }
.storefront .brand-mark { display:flex; align-items:center; justify-content:center; background:transparent; color:var(--ink); border-radius:0; font-size:26px; }
.storefront .brand-mark span { color:var(--coral); }
.storefront .desktop-nav { margin-left:auto; gap:8px; color:var(--coral); font-size:16px; }
.storefront .desktop-nav a { padding:9px 17px; border-radius:99px; }
.storefront .desktop-nav a:hover,.storefront .desktop-nav a[href="#home"] { background:var(--coral-light); }
.storefront .header-actions { margin-left:0; border-left:1px solid var(--line); padding-left:22px; }
.storefront .plain-button { color:var(--coral); font-size:15px; }
.storefront .primary-button,.storefront .outline-button,.storefront .light-button { border-radius:99px; box-shadow:none; }
.storefront .hero { position:relative; isolation:isolate; display:flex; align-items:center; min-height:540px; margin:48px 0 32px; padding:70px 10%; border-radius:32px; overflow:hidden; background:#23536c url('/hero-landscape.svg') center/cover no-repeat; color:#fff; }
.storefront .hero:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#101e2f60,transparent 85%); z-index:-1; }
.storefront .hero-copy { width:100%; max-width:850px; }
.storefront .hero .eyebrow { color:#d3eeee; font-size:12px; }
.storefront .hero h1 { font-size:clamp(36px,4.4vw,62px); line-height:1.17; letter-spacing:-.025em; max-width:900px; margin:22px 0 18px; }
.storefront .hero h1 em { color:#fff; }
.storefront .hero-copy>p { color:#edf5fa; font-size:18px; max-width:800px; margin-bottom:28px; }
.storefront .hero .primary-button { background:#fff; color:#263747; }
.storefront .hero .outline-button { background:#ffffff0b; border-color:#ffffff60; color:#fff; }
.storefront .hero-art { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; overflow:hidden; }
.store-benefits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:0 12px 30px; }
.store-benefits article { display:flex; align-items:center; gap:15px; background:#fff; border:1px solid var(--line); border-radius:26px; padding:17px 20px; }
.store-benefits article>span { display:grid; place-items:center; width:48px; height:48px; flex:none; background:var(--coral-light); color:var(--coral); font-size:27px; border-radius:12px; }
.store-benefits strong { font-size:16px; }
.store-benefits p { color:var(--muted); margin:2px 0 0; font-size:13px; }
.storefront .bulletin { border-radius:22px; box-shadow:none; }
.storefront .bulletin-icon { background:var(--coral-light); }
.storefront .section-block { padding-top:72px; scroll-margin-top:100px; }
.storefront .section-heading h2 { color:var(--coral); font-size:39px; margin:8px 0; letter-spacing:0; }
.storefront .eyebrow.ink { color:#ff7f23; letter-spacing:.06em; }
.featured-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.storefront .catalog-layout { display:flex; flex-direction:column; gap:18px; }
.storefront .category-panel { position:static; padding:0; border:0; box-shadow:none; background:none; width:100%; order:0; }
.storefront .category-panel .panel-heading,.storefront .side-help { display:none; }
.storefront .category-list { display:flex; flex-wrap:wrap; gap:10px; padding:0; }
.storefront .category-button { width:auto; padding:10px 20px; border:1px solid #333d50; border-radius:99px; color:var(--ink); font-size:15px; background:transparent; }
.storefront .category-button small { padding-left:8px; color:#8c929e; }
.storefront .category-button.active { background:var(--coral); color:#fff; border-color:var(--coral); }
.storefront .category-button.active small { color:#fff; }
.storefront .catalog-panel { display:contents; }
.storefront .catalog-toolbar { order:-1; border:0; padding:0 0 3px; }
.storefront .catalog-toolbar h3 { display:none; }
.storefront .catalog-toolbar>div { order:1; }
.storefront .search-box { min-width:0; width:min(525px,70%); border:1px solid #a3aab7; border-radius:99px; padding:5px 20px; background:transparent; }
.storefront .search-box input { background:transparent; height:49px; font-size:16px; }
.storefront .search-box:focus-within { border-color:var(--coral); box-shadow:0 0 0 3px var(--coral-light); }
.storefront .product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; padding:0; }
.storefront .product-card { background:#fff; padding:0; border:1px solid var(--line); border-radius:28px; overflow:hidden; min-width:0; box-shadow:none; }
.storefront .product-card:hover { border-color:#f8c5be; box-shadow:var(--shadow); transform:translateY(-3px); }
.storefront .card-top { display:flex; flex-direction:column; gap:18px; }
.product-artwork { position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; aspect-ratio:1; overflow:hidden; background:linear-gradient(135deg,#7494fc,#ad7be5 68%,#ce83d5); color:#fff; }
.product-artwork:before,.product-artwork:after { content:"✦"; position:absolute; color:#ffffff5e; font-size:25px; top:18%; right:15%; }
.product-artwork:after { font-size:17px; top:auto; bottom:22%; left:14%; right:auto; }
.storefront .product-symbol { width:auto; height:auto; background:none; color:#fff; font-size:clamp(64px,7vw,116px); font-weight:850; letter-spacing:-.075em; border-radius:0; text-shadow:0 6px 20px #6736a82b; }
.artwork-caption { color:#fff; font-size:12px; letter-spacing:.2em; margin-top:8px; }
.custom-product-image { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:12px; background:#fff; z-index:1; }
.hero-product-image,.detail-product-image { width:52px; height:52px; object-fit:contain; float:right; margin:0 0 8px 12px; background:#fff; border:1px solid var(--line); border-radius:12px; }
.storefront .pill { margin:0 20px; background:#ff831e; color:#fff; font-size:12px; padding:5px 12px; }
.storefront .product-card h4 { padding:0 20px; font-size:21px; margin:9px 0 12px; line-height:1.45; }
.storefront .product-card>p { padding:0 20px; font-size:14px; line-height:1.75; min-height:70px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.storefront .card-bottom { padding:22px 20px; align-items:center; }
.storefront .card-bottom strong { font-size:20px; }
.storefront .card-bottom button { border-radius:99px; background:var(--coral-light); color:var(--coral); }
.storefront .featured-card { position:relative; min-height:320px; display:grid; grid-template-columns:1fr 200px; gap:0 25px; padding:28px; background:linear-gradient(110deg,#cbbded,#eee6ee 65%,#e3c4e8); }
.storefront .featured-card .card-top { display:contents; }
.storefront .featured-card .product-artwork { grid-column:2; grid-row:1/5; border-radius:28px; width:100%; align-self:center; }
.storefront .featured-card .pill { margin:0; grid-row:2; background:#ffffff50; color:#42465a; }
.storefront .featured-card h4 { padding:0; font-size:26px; margin:0 0 12px; grid-row:1; }
.storefront .featured-card>p { padding:0; margin:16px 0; grid-row:3; min-height:0; }
.storefront .featured-card .card-bottom { padding:0; grid-row:4; }
.storefront .featured-card .card-bottom strong { display:block; background:var(--coral); color:#fff; padding:7px 14px; border-radius:99px; width:max-content; }
.storefront .featured-card .card-bottom small { color:#6b6480; margin-top:8px; }
.storefront .featured-card .card-bottom button { background:#ffffff80; color:#39304d; }
.storefront .guide-grid article { border-radius:25px; }
.storefront .guide-number { color:var(--coral); }
.storefront .about { background:#fff; color:var(--ink); border:1px solid var(--line); border-radius:28px; }
.storefront .about .eyebrow { color:var(--coral); }
.storefront .about p,.storefront .contact-item { color:var(--muted); }
.storefront .about-note { border-color:#f6d8d3; background:var(--coral-light); border-radius:22px; }
.storefront .about-note span { color:#98655d; }
.storefront .after-sales-link { color:var(--coral); }
.storefront footer { background:#f2695e; color:#fff; border:0; }
.storefront .footer-inner { padding:46px 0 30px; }
.storefront .footer-inner strong { font-size:25px; }
.storefront .footer-inner p,.storefront .footer-links,.storefront .footer-bottom { color:#fff; }
.storefront .footer-bottom { border-color:#ffffff30; }
.storefront .footer-links a:hover { color:#fff; text-decoration:underline; }
.storefront .floating-support { background:#00a3dc; box-shadow:0 10px 25px #0080af26; border-radius:99px; }
.storefront .detail-meta span,.storefront .notice-box,.storefront .receipt { background:var(--coral-light); border-color:#ffe0da; color:#8d544d; }
.storefront .site-dialog { border-radius:26px; }
/* Administration uses the same warm storefront identity and card language. */
.admin-theme .brand-tile { background:var(--coral); border-radius:14px; }
.admin-theme .login-screen { background:radial-gradient(ellipse at 80% 5%,#ffe1da,transparent 48%),var(--bg); }
.admin-theme .login-card { border-radius:28px; box-shadow:var(--shadow); }
.admin-theme .sidebar { border-radius:26px; box-shadow:none; }
.admin-theme .sidebar-brand { color:var(--coral); }
.admin-theme .sidebar-nav button { color:#697181; font-weight:550; border-radius:99px; }
.admin-theme .sidebar-nav button:hover { background:#fff7f4; }
.admin-theme .sidebar-nav button.active { background:var(--coral-light); color:var(--coral); }
.admin-theme .sidebar-nav button.active:before { display:none; }
.admin-theme .nav-count { background:#ffe2dc; color:var(--coral); border-radius:99px; }
.admin-theme .sidebar-bottom { border-color:var(--line); }
.admin-theme .connection-dot { background:#18a788; }
.admin-theme .page-header h1 { color:var(--coral); font-size:34px; letter-spacing:0; }
.admin-theme .primary { border-radius:99px; background:var(--coral); }
.admin-theme .primary:hover { background:var(--coral-dark); }
.admin-theme .secondary { border-radius:99px; background:#fff; }
.admin-theme .secondary:hover { background:var(--coral-light); border-color:#f6c7bd; }
.admin-theme .progress-card,.admin-theme .settings-card,.admin-theme .panel,.admin-theme .metric-card { border-radius:26px; box-shadow:none; }
.admin-theme .progress-card { background:linear-gradient(115deg,#fff0ed,#fff9f6); border-color:#ffe1da; }
.admin-theme .progress-item { border-radius:18px; background:#fff; border-color:#f2dbd5; }
.admin-theme .status-pill { border-radius:99px; color:#b64d44; background:#fff0ed; border-color:#f4c6be; }
.admin-theme .status-pill.pending { background:#fff6e9; color:#95712f; border-color:#f2dfba; }
.admin-theme .settings-tabs { background:#f7f8fb; border:0; border-radius:22px; }
.admin-theme .settings-tabs button { border-radius:18px; }
.admin-theme .settings-tabs button.active { background:var(--coral-light); color:var(--coral); box-shadow:none; }
.admin-theme .settings-tabs svg,.admin-theme .section-icon { border-radius:14px; }
.admin-theme .config-section { border-radius:22px; }
.admin-theme label { color:#697181; }
.admin-theme input,.admin-theme textarea,.admin-theme select { border-radius:14px; background:#fcfcfe; }
.admin-theme input:focus,.admin-theme textarea:focus,.admin-theme select:focus { border-color:var(--coral); box-shadow:0 0 0 3px var(--coral-light); }
.admin-theme .asset-preview { border-radius:19px; background:var(--coral-light); }
.admin-theme .switch-row input { border-radius:99px; background:#dddfe7; }
.admin-theme .switch-row input:checked { background:var(--coral); }
.admin-theme .seo-preview { background:#fff8f5; border-color:#f0cac2; border-radius:18px; }
.admin-theme .seo-preview strong { color:#aa5148; }
.admin-theme .seo-preview p { color:var(--muted); }
.admin-theme .link-row,.admin-theme .product-list button,.admin-theme .info-box,.admin-theme .integration-status,.admin-theme .empty,.admin-theme .link-empty { border-radius:18px; background:#f7f8fb; }
.admin-theme .product-list button.active { background:var(--coral-light); border-color:#ffc9bf; }
.admin-theme .row-actions button:hover { background:var(--coral-light); }
.admin-theme .info-box { color:var(--muted); }
.admin-theme .dashboard-note { background:linear-gradient(120deg,#fff0ed,#efe7fb); }
.admin-theme .dashboard-note>svg { color:#e5998b; }
.admin-theme .order-card { border-color:var(--line); }
@media(min-width:1600px) { .storefront .hero { min-height:620px; } }
@media(max-width:1150px) { .storefront .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; } .store-benefits { gap:12px; margin-inline:0; } .store-benefits article { padding:15px; gap:10px; } .store-benefits p { font-size:11px; } .storefront .featured-card { grid-template-columns:1fr 140px; padding:22px; gap:0 15px; } .storefront .featured-card h4 { font-size:21px; } .storefront .featured-card .product-symbol { font-size:68px; } .storefront .brand { font-size:20px; } }
@media(max-width:950px) { .store-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); } .storefront .hero { min-height:440px; padding:55px 7%; } .storefront .featured-grid { grid-template-columns:1fr; } .storefront .featured-card { grid-template-columns:1fr 210px; } }
@media(max-width:700px) { .storefront .shell { width:calc(100% - 28px); } .storefront .site-header { height:65px; } .storefront .brand { font-size:16px; } .storefront .header-inner { gap:8px; } .storefront .header-actions { border:0; padding:0; margin-left:auto; } .storefront .hero { margin-top:24px; min-height:390px; padding:38px 26px; border-radius:26px; background-position:60% center; } .storefront .hero h1 { font-size:38px; } .storefront .hero-copy>p { font-size:15px; } .storefront .hero .eyebrow { font-size:10px; } .store-benefits { gap:10px; } .store-benefits article { border-radius:19px; padding:12px; gap:8px; } .store-benefits article>span { width:33px; height:37px; font-size:20px; } .store-benefits strong { font-size:13px; } .store-benefits p { font-size:10px; } .storefront .section-block { padding-top:48px; } .storefront .section-heading h2 { font-size:30px; } .storefront .catalog-toolbar { display:flex; flex-direction:column; align-items:stretch; gap:10px; } .storefront .search-box { width:100%; margin:0; } .storefront .catalog-toolbar>div { order:0; } .storefront .category-panel { display:block; } .storefront .mobile-categories { display:none; } .storefront .category-list { flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px; } .storefront .category-button { flex:none; white-space:nowrap; padding:8px 14px; font-size:12px; } .storefront .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; } .storefront .product-card { border-radius:22px; } .storefront .product-card h4 { font-size:16px; padding-inline:13px; } .storefront .product-card>p { font-size:12px; padding-inline:13px; min-height:64px; } .storefront .pill { margin-inline:13px; font-size:10px; padding:4px 8px; } .storefront .card-bottom { padding:16px 13px; flex-wrap:wrap; gap:9px; } .storefront .card-bottom strong { font-size:18px; } .storefront .card-bottom button { font-size:11px; padding:7px 10px; } .storefront .product-symbol { font-size:67px; } .artwork-caption { font-size:9px; } .storefront .featured-card { grid-template-columns:1fr 110px; padding:20px; gap:0 12px; min-height:265px; } .storefront .featured-card h4 { padding:0; font-size:19px; } .storefront .featured-card>p { padding:0; min-height:0; font-size:12px; } .storefront .featured-card .pill { margin:0; } .storefront .featured-card .product-artwork { border-radius:20px; } .storefront .featured-card .product-symbol { font-size:54px; } .storefront .featured-card .card-bottom { padding:0; } .storefront .about { padding:25px; } .storefront .footer-links { gap:15px; } .storefront .floating-support { font-size:12px; padding:10px 14px; } .admin-theme .page-header h1 { font-size:28px; } .admin-theme .sidebar { border-radius:23px; } .admin-theme .sidebar-nav button { font-size:11px; } .admin-theme .progress-item { border-radius:14px; } .admin-theme .settings-tabs button { border-radius:14px; } .admin-theme .config-section { border-radius:19px; } }
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; transition:none!important; } }

/* Product-first presentation; works with both sparse and growing catalogues. */
.storefront .shell { max-width:1240px; }
.storefront .hero { display:grid; grid-template-columns:1fr minmax(320px,420px); gap:48px; min-height:360px; padding:42px 48px; margin-top:28px; }
.storefront .hero h1 { font-size:clamp(34px,3.4vw,48px); margin:18px 0; }
.storefront .hero-copy>p { font-size:16px; max-width:450px; }
.hero-service { background:#fffffff5; color:var(--ink); border:1px solid #ffffffa8; border-radius:24px; padding:26px; box-shadow:0 18px 45px #142a4426; }
.service-kicker { color:#8c514b; font-size:12px; letter-spacing:.06em; }
.hero-service h2 { font-size:23px; line-height:1.45; margin:12px 0; }
.hero-service-price { display:flex; align-items:baseline; gap:12px; margin:12px 0; }
.hero-service-price strong { color:#d9473d; font-size:38px; letter-spacing:-.035em; }
.hero-service-price>span { color:var(--muted); font-size:12px; }
.hero-service-facts { display:flex; flex-wrap:wrap; gap:7px; margin:14px 0 20px; }
.hero-service-facts span { background:#f4f5f8; border-radius:7px; padding:5px 8px; font-size:11px; color:#5e6471; }
.storefront .hero-service .primary-button { background:var(--coral); color:#fff; }
.service-caption { color:var(--muted); font-size:11px; line-height:1.6; margin:12px 0 0; }
.store-benefits { gap:14px; margin-inline:0; }
.store-benefits article { padding:14px; border-radius:18px; }
.store-benefits article>span { width:38px; height:38px; }
.storefront .section-block { padding-top:48px; }
.storefront .section-heading h2 { font-size:32px; }
.storefront .product-grid.single-product { grid-template-columns:1fr; }
.storefront .single-product .product-card { display:grid; grid-template-columns:240px 1fr; grid-template-rows:auto auto 1fr auto; column-gap:28px; padding:24px; }
.storefront .single-product .card-top { display:contents; }
.storefront .single-product .product-artwork { grid-column:1; grid-row:1/5; width:100%; height:100%; min-height:230px; border-radius:20px; aspect-ratio:auto; background:linear-gradient(140deg,#233d51,#43757e 60%,#7aa699); }
.storefront .single-product .product-symbol { font-size:57px; letter-spacing:-.06em; }
.storefront .single-product .pill { grid-column:2; margin:0; justify-self:start; }
.storefront .single-product h4 { grid-column:2; padding:0; font-size:24px; margin:12px 0; }
.storefront .single-product .product-card>p { grid-column:2; padding:0; min-height:0; margin:0; }
.storefront .single-product .card-bottom { grid-column:2; padding:20px 0 0; }
.storefront .single-product .card-bottom strong { font-size:28px; }
.storefront .single-product .card-bottom button { background:var(--coral); color:#fff; padding:12px 20px; }
.detail-support { display:block; text-align:center; color:#bd443b; padding:14px; }
.mobile-menu-button { display:none; }
.contact-text { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.9; }
.customer-entry { white-space:nowrap; }
@media(max-width:700px) { .storefront .customer-entry { font-size:11px; } .storefront .brand>span:last-child { max-width:100px; } }
.mobile-navigation { position:absolute; left:0; right:0; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 12px 22px #1d283b12; padding:12px 24px; }
.mobile-navigation a { display:block; padding:12px; border-radius:12px; color:#303747; }
.mobile-navigation a:hover { background:#fff0ee; }
.detail-tools,.receipt-actions { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0; }
.receipt-actions>* { flex:1 1 140px; }
.receipt-actions .detail-support { background:#fff0ee; border-radius:14px; }
.notice-box p { white-space:pre-wrap; }
.lookup-help { border-top:1px solid var(--line); margin-top:24px; padding-top:18px; font-size:13px; line-height:1.8; }
.form-feedback textarea { width:100%; padding:12px; margin-top:8px; border:1px solid var(--line); border-radius:12px; font:inherit; }
.site-dialog:focus-visible,.storefront button:focus-visible,.storefront a:focus-visible { outline:3px solid #357eae; outline-offset:3px; }
@media(max-width:950px) { .mobile-menu-button { display:inline-flex; padding:8px 12px; min-height:40px; } }
@media(max-width:700px) {
  .storefront .header-inner { gap:8px; }
  .storefront .header-actions { gap:8px; flex-shrink:0; }
  .storefront .brand { min-width:0; font-size:16px; }
  .storefront .brand>span:last-child { max-width:140px; }
  #productDialog .detail-actions { position:sticky; bottom:0; background:#fff; padding:12px 0 max(12px,env(safe-area-inset-bottom)); border-top:1px solid var(--line); margin-bottom:0; z-index:1; }
  #productDialog .detail-actions .detail-support { padding:10px; }
  .storefront .floating-support { max-width:calc(100vw - 32px); bottom:max(16px,env(safe-area-inset-bottom)); }
  .storefront .floating-support span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
.storefront .about { margin-top:48px; }
.storefront [id] { scroll-margin-top:90px; }
.storefront .compact-feedback:empty { display:none; }
.storefront .detail-tools { margin:14px 0; }
.storefront .detail-tools .outline-button { min-height:40px; padding:9px 14px; font-size:12px; }
.storefront .notice-box { white-space:normal; }
.storefront .notice-box p { margin:8px 0; line-height:1.8; }
.storefront .detail-actions { align-items:center; }
.storefront .detail-actions .detail-support { flex:1; min-width:100px; white-space:normal; line-height:1.5; }
.password-field { position:relative; }
.password-field input { padding-right:68px; }
.password-toggle { position:absolute; right:5px; top:26px; min-height:36px; min-width:52px; border:0; border-radius:8px; background:transparent; color:#b34339; font-size:12px; }
.password-toggle:hover { background:#fff0ee; }
#toggleCustomerAuth { display:block; width:100%; margin:10px 0 0; min-height:40px; border-radius:12px; background:#fff4f2; color:#b34339; }
#customerAccountPanel .status-card { border:1px solid var(--line); background:#fafbfe; border-radius:18px; margin:14px 0; padding:18px; overflow-wrap:anywhere; }
.account-empty { padding:28px 18px; text-align:center; border:1px dashed #dce2ec; border-radius:18px; margin:20px 0; }
.storefront .site-dialog { overscroll-behavior:contain; }
.storefront .site-dialog .field input[aria-invalid="true"] { border-color:#c34a34; }
@media(max-width:700px) {
  .storefront .header-actions { gap:6px; }
  .storefront .brand { flex:1; overflow:hidden; }
  .storefront .brand>span:last-child { max-width:90px; }
  .storefront .plain-button { min-height:42px; padding:4px; font-size:11px; }
  .storefront .mobile-menu-button { padding:8px 10px; min-height:42px; }
  .storefront .dialog-inner { padding:22px; max-height:85dvh; }
  .storefront .field input { font-size:16px; }
  .storefront .site-dialog h2 { font-size:23px; line-height:1.4; }
  .storefront #productDialog .detail-actions .primary-button { width:auto; flex:1.2; padding:12px; }
  .storefront .footer-bottom { padding-bottom:90px; }
}
@media(max-width:950px) { .storefront .hero { gap:25px; padding:32px; grid-template-columns:1fr minmax(290px,360px); } .storefront .hero h1 { font-size:36px; } }
@media(max-width:700px) {
  .storefront .hero { grid-template-columns:1fr; gap:24px; padding:26px 20px; margin-top:18px; min-height:0; }
  .storefront .hero h1 { font-size:32px; margin:12px 0; }
  .storefront .hero-copy>p { font-size:14px; margin-bottom:18px; }
  .storefront .hero-actions { flex-wrap:wrap; gap:10px; }
  .hero-service { padding:21px; border-radius:20px; }
  .hero-service h2 { font-size:20px; }
  .hero-service-price strong { font-size:34px; }
  .storefront .single-product .product-card { grid-template-columns:88px 1fr; gap:10px 16px; padding:18px; }
  .storefront .single-product .product-artwork { grid-row:1/3; min-height:108px; border-radius:14px; }
  .storefront .single-product .product-symbol { font-size:26px; }
  .storefront .single-product .artwork-caption { font-size:6px; letter-spacing:0; }
  .storefront .single-product h4 { font-size:17px; margin:0; }
  .storefront .single-product .product-card>p,.storefront .single-product .card-bottom { grid-column:1/-1; }
  .storefront .single-product .card-bottom { padding-top:8px; }
  .storefront .single-product .card-bottom strong { font-size:24px; }
  .storefront .single-product .card-bottom button { font-size:12px; padding:10px 15px; }
  .storefront .section-heading h2 { font-size:28px; }
}

/* Quiet white / sky-blue interface. Layout changes leave shop data untouched. */
body { font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible { outline:3px solid #1688c480; outline-offset:3px; }
.storefront .shell { width:min(1120px,calc(100% - 64px)); }
.storefront .top-note { display:none; }
.storefront .site-header { height:80px; border-bottom:1px solid var(--line); box-shadow:none; }
.storefront .brand { color:var(--ink); font-size:21px; font-weight:700; }
.storefront .desktop-nav { color:var(--muted); font-size:14px; gap:2px; }
.storefront .desktop-nav a { padding:9px 13px; border-radius:9px; }
.storefront .header-actions { padding-left:18px; gap:12px; }
.storefront .header-actions>a[href="#catalog"] { display:none; }
.storefront .primary-button,.storefront .light-button { background:var(--coral); color:#fff; border:1px solid var(--coral); border-radius:11px; padding:12px 20px; font-size:14px; }
.storefront .primary-button:hover,.storefront .light-button:hover { background:var(--coral-dark); }
.storefront .outline-button { border-radius:11px; border-color:var(--line); background:#fff; color:var(--ink); }
.storefront .plain-button { font-size:14px; color:var(--coral-dark); }
.storefront .bulletin { display:block; margin:28px 0 0; padding:0; border:1px solid var(--line); border-radius:12px; background:#fff; }
.storefront .bulletin summary { cursor:pointer; padding:15px 20px; font-size:13px; font-weight:600; color:var(--ink); }
.storefront .bulletin summary span { float:right; font-weight:400; color:var(--muted); }
.storefront .bulletin p { padding:0 20px 18px; font-size:13px; white-space:pre-wrap; }
.storefront .section-block { padding-top:32px; }
.storefront .section-heading { margin-bottom:22px; }
.storefront .section-heading h1 { font-size:28px; letter-spacing:-.03em; margin:0; line-height:1.3; }
.storefront .section-heading h2,.storefront .guide h2,.storefront .about h2 { color:var(--ink); font-size:18px; letter-spacing:0; margin:0 0 12px; }
.storefront .catalog-count { color:var(--muted); background:transparent; border:0; font-size:12px; }
.storefront .catalog-layout { gap:20px; }
.storefront .search-box { width:min(440px,75%); border-color:var(--line); background:#fafcfd; border-radius:11px; padding:0 14px; }
.storefront .search-box input { height:44px; font-size:14px; }
.storefront .catalog-toolbar { align-items:center; }
.storefront #resultCount { font-size:12px; }
.storefront .category-list { gap:8px; }
.storefront .category-button { border-color:var(--line); border-radius:9px; padding:9px 16px; font-size:13px; }
.storefront .category-button.active { background:var(--coral-light); color:var(--coral-dark); border-color:#c9e6f7; }
.storefront .category-button.active small { color:var(--coral-dark); }
.storefront .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.storefront .product-card { border-radius:16px; transition:border-color .2s,box-shadow .2s; }
.storefront .product-card:hover { border-color:#abd5ec; transform:none; box-shadow:var(--shadow); }
.storefront .product-artwork { background:#f0f8fc; color:var(--coral-dark); }
.storefront .product-artwork:before,.storefront .product-artwork:after { display:none; }
.storefront .product-symbol { color:var(--coral-dark); font-size:44px; text-shadow:none; letter-spacing:-.04em; }
.storefront .artwork-caption { color:#658fa7; font-size:9px; letter-spacing:.12em; }
.storefront .pill { background:#f3f6f8; color:var(--muted); border-radius:6px; font-size:11px; }
.storefront .product-card h4 { font-size:18px; }
.storefront .card-bottom strong { color:var(--ink); }
.storefront .card-bottom button,.storefront .single-product .card-bottom button { border:0; background:var(--coral); color:#fff; border-radius:10px; min-height:42px; padding:11px 18px; }
.storefront .single-product .product-card { grid-template-columns:160px 1fr; column-gap:28px; padding:24px; }
.storefront .single-product .product-artwork { background:#f0f8fc; min-height:176px; border-radius:12px; }
.storefront .single-product h4 { font-size:22px; margin:10px 0; }
.storefront .single-product .product-card>p { font-size:14px; }
.storefront .single-product .card-bottom strong { font-size:25px; }
.storefront .guide { margin-top:36px; padding:22px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.storefront .guide p { font-size:13px; color:var(--muted); line-height:1.9; margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.storefront .about { margin-top:0; padding:32px 0; gap:48px; border:0; border-radius:0; }
.storefront .about p { font-size:13px; line-height:1.9; margin:0 0 16px; }
.storefront .about-note { border:0; padding:0; background:#fff; border-radius:0; }
.storefront .about-note span { color:var(--muted); font-size:12px; }
.storefront .about .light-button { background:#fff; color:var(--coral-dark); border-color:var(--line); padding:9px 14px; font-size:13px; }
.storefront .after-sales-link { color:var(--coral-dark); font-size:13px; }
.storefront footer { background:#fff; color:var(--ink); border-top:1px solid var(--line); }
.storefront .footer-inner { padding:24px 0; gap:24px; }
.storefront .footer-inner strong { font-size:17px; }
.storefront .footer-inner p,.storefront .footer-links,.storefront .footer-bottom { color:var(--muted); font-size:12px; }
.storefront .footer-links a:hover { color:var(--coral-dark); }
.storefront .footer-bottom { border-color:var(--line); }
.storefront .floating-support { background:var(--coral); border-radius:12px; box-shadow:0 6px 20px #1688c41c; }
.storefront .site-dialog { border:1px solid var(--line); border-radius:18px; box-shadow:0 24px 80px #18334620; }
.storefront dialog::backdrop { background:#203b4b40; backdrop-filter:blur(3px); }
.storefront .dialog-inner { padding:30px; }
.storefront .site-dialog h2 { font-size:24px; line-height:1.5; letter-spacing:-.02em; }
.storefront .eyebrow.ink { color:var(--muted); font-size:10px; letter-spacing:.12em; }
.storefront .detail-price { color:var(--ink); font-size:30px; }
.storefront .detail-meta span { background:#f3f6f8; color:var(--muted); border-color:var(--line); border-radius:6px; }
.storefront .notice-box,.storefront .receipt { background:#f7fafc; color:var(--ink); border:1px solid var(--line); border-radius:12px; }
.storefront .detail-support { color:var(--coral-dark); }
.storefront .password-toggle,#toggleCustomerAuth { color:var(--coral-dark); }
.storefront .password-toggle:hover,#toggleCustomerAuth { background:var(--coral-light); }
.admin-theme .login-screen { background:#fff; }
.admin-theme .sidebar,.admin-theme .login-card,.admin-theme .settings-card,.admin-theme .panel,.admin-theme .metric-card,.admin-theme .config-section { border-radius:14px; }
.admin-theme .sidebar-brand,.admin-theme .page-header h1 { color:var(--ink); }
.admin-theme .page-header h1 { font-size:28px; }
.admin-theme .primary,.admin-theme .secondary { border-radius:10px; }
.admin-theme .sidebar-nav button { border-radius:9px; }
.admin-theme .sidebar-nav button:hover { background:#f5fafe; }
.admin-theme .nav-count,.admin-theme .status-pill { background:var(--coral-light); border-color:#cee8f7; color:var(--coral-dark); }
.admin-theme .progress-card,.admin-theme .dashboard-note { background:#f8fbfd; border-color:var(--line); }
.admin-theme .progress-item { border-color:var(--line); border-radius:10px; }
.admin-theme .settings-tabs { background:#f8fafc; border-radius:12px; }
.admin-theme .settings-tabs button { border-radius:9px; }
.admin-theme .seo-preview { background:#f8fbfd; border-color:var(--line); }
.admin-theme .seo-preview strong { color:var(--ink); }
.admin-theme .product-list button.active { background:var(--coral-light); border-color:#b8dff4; }
.admin-theme .secondary:hover { border-color:#b8dff4; }
@media(max-width:700px) {
  .storefront .shell { width:calc(100% - 36px); }
  .storefront .site-header { height:68px; }
  .storefront .brand { font-size:16px; }
  .storefront .brand>span:last-child { max-width:110px; }
  .storefront .plain-button { font-size:11px; }
  .storefront .header-actions { padding-left:0; gap:6px; }
  .storefront .bulletin { margin-top:18px; }
  .storefront .bulletin summary { padding:13px 15px; }
  .storefront .section-block { padding-top:25px; }
  .storefront .section-heading h1 { font-size:24px; }
  .storefront .catalog-toolbar>div { display:none; }
  .storefront .search-box { width:100%; }
  .storefront .product-grid { grid-template-columns:1fr; }
  .storefront .single-product .product-card { grid-template-columns:78px 1fr; gap:10px 16px; padding:18px; }
  .storefront .single-product .product-artwork { min-height:96px; grid-row:1/3; }
  .storefront .single-product .product-symbol { font-size:25px; }
  .storefront .single-product h4 { font-size:16px; margin:0; }
  .storefront .single-product .product-card>p { grid-column:1/-1; font-size:13px; }
  .storefront .single-product .card-bottom { grid-column:1/-1; padding-top:12px; }
  .storefront .single-product .card-bottom strong { font-size:23px; }
  .storefront .guide { margin-top:26px; padding:20px 0; }
  .storefront .about { padding:25px 0; gap:28px; }
  .storefront .footer-inner { align-items:flex-start; }
  .storefront .dialog-inner { padding:23px; }
  .storefront .site-dialog h2 { font-size:21px; }
  .storefront .floating-support { max-width:180px; font-size:12px; }
  .admin-theme .page-header h1 { font-size:24px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }
@media(max-width:360px) {
  .storefront .brand-logo,.storefront .brand-mark { display:none; }
  .storefront .brand>span:last-child { max-width:none; font-size:14px; }
}
.storefront .pill { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; line-height:1.6; }
.storefront .card-duration { color:var(--muted); font-weight:400; overflow-wrap:anywhere; }
.storefront #footerLookup,.storefront #footerQq,.storefront #aboutQq,.storefront #afterSalesContact { display:none; }
