.storefront-modern { --shop-surface:#fff; --shop-page:#f7f7fa; --shop-hero:#f0f2f5; --shop-ink:#303039; --shop-muted:#626270; --shop-border:#e5e5ed; --shop-accent-ink:color-mix(in srgb,var(--store-brand) 35%,#25252e); color:var(--shop-ink); background:var(--shop-page); font-family:"Noto Sans TC",system-ui,sans-serif; }
.storefront-modern.store-theme-market { --shop-page:#f7f7fa; --shop-hero:#fff0f6; }
.storefront-modern.store-theme-bistro { --shop-page:#fcf8f2; --shop-hero:#faecd9; --shop-border:#e9dfd2; }
.storefront-modern.store-theme-atelier { --shop-page:#faf7f9; --shop-hero:#f3e7ee; --shop-border:#e9dfe5; }
.storefront-modern.store-theme-digital { --shop-page:#f7f7ff; --shop-hero:#eeebff; --shop-border:#e3e1f0; }
.storefront-modern .store-nav { background:var(--shop-surface); border-color:var(--shop-border); gap:1rem; }
.storefront-modern .store-logo { color:var(--shop-ink); min-width:0; }
.storefront-modern .store-logo b { font-family:inherit; letter-spacing:0; overflow-wrap:anywhere; }
.storefront-modern .store-logo small,.storefront-modern .store-kicker { color:var(--shop-accent-ink); }
.storefront-modern .brand-mark { background:var(--store-brand); color:var(--store-brand-contrast); font-family:inherit; flex-shrink:0; }
.storefront-modern .store-nav nav a { color:var(--shop-muted); font-weight:600; }
.storefront-modern .store-hero.store-shop-hero:not(.has-store-banner) { background:linear-gradient(115deg,var(--shop-hero),color-mix(in srgb,var(--store-brand) 9%,#fff)); color:var(--shop-ink); }
.storefront-modern .store-shop-hero { margin:1.5rem; border-radius:1.3rem; min-height:320px; padding:clamp(2rem,5vw,4rem); }
.storefront-modern .store-hero h1,.storefront-modern .store-hero h2 { font-family:inherit; font-weight:800; font-size:clamp(2rem,4vw,3.5rem); line-height:1.4; letter-spacing:-.035em; overflow-wrap:anywhere; }
.storefront-modern .store-hero p { color:var(--shop-muted); }
.storefront-modern .store-hero .store-kicker { color:var(--shop-accent-ink); }
.storefront-modern .store-shop-hero.has-store-banner { background:var(--store-brand); color:#fff; }
.storefront-modern .store-shop-hero.has-store-banner:after { background:linear-gradient(90deg,#000b,#0005); }
.storefront-modern .store-shop-hero.has-store-banner h1,.storefront-modern .store-shop-hero.has-store-banner p,.storefront-modern .store-shop-hero.has-store-banner .shop-order-link { color:#fff; }
.storefront-modern .shop-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.3rem; margin-top:1.5rem; }
.storefront-modern .shop-order-link { color:var(--shop-accent-ink); font-weight:700; font-size:.85rem; text-underline-offset:.3em; }
.storefront-modern .store-button { background:var(--store-brand); color:var(--store-brand-contrast); gap:.7rem; border-radius:.6rem; font-size:.9rem; font-weight:700; }
.storefront-modern .store-section { max-width:1240px; margin:auto; padding:2.5rem 1.5rem; scroll-margin-top:1rem; }
.storefront-modern .store-section h1,.storefront-modern .store-section h2 { font-family:inherit; font-weight:800; color:var(--shop-ink); }
.storefront-modern .store-section-title { gap:1rem; }.storefront-modern .store-section-title>span { color:var(--shop-accent-ink); border-radius:99px; background:var(--shop-surface); padding:.5rem .9rem; font-size:.8rem; }
.storefront-modern .store-product,.storefront-modern .store-card { border-radius:1rem; background:var(--shop-surface); border-color:var(--shop-border); color:var(--shop-ink); }
.storefront-modern .store-product h3 { font-family:inherit; font-weight:700; font-size:1.15rem; line-height:1.5; }
.storefront-modern .store-product p { color:var(--shop-accent-ink); font-weight:700; margin:.5rem 0 1rem; }
.storefront-modern .store-product img { object-fit:contain; background:var(--shop-hero); }
.storefront-modern .store-card-art { background:linear-gradient(135deg,var(--shop-hero),color-mix(in srgb,var(--store-brand) 14%,#fff)); }
.storefront-modern .store-product a,.storefront-modern .store-product button { background:var(--shop-page); color:var(--shop-accent-ink); border-radius:.45rem; text-decoration:none; padding:.55rem .75rem; font-weight:600; }
.storefront-modern .store-footer { background:var(--shop-surface); border-top:1px solid var(--shop-border); color:var(--shop-muted); }
.storefront-modern .store-empty,.storefront-modern .checkout-form { background:var(--shop-surface); border-color:var(--shop-border); border-radius:1rem; }
.storefront-modern .checkout,.storefront-modern .order-complete { max-width:760px; }.storefront-modern .store-back { color:var(--shop-muted); }.storefront-modern a:focus-visible,.theme-choice:focus-within { outline:3px solid var(--store-brand,#b71360); outline-offset:3px; }
.theme-choice { padding:0; overflow:hidden; border:2px solid #e5e5ed; border-radius:.8rem; }
.theme-choice:has(input:checked) { border-color:#b71360; box-shadow:0 0 0 2px #b7136012; }
.theme-choice-description { display:block; padding:1rem; }.theme-choice-description input { accent-color:#b71360; }
.theme-choice-description input:checked { background-color:#b71360; border-color:#b71360; }
.theme-choice-mini { --mini-accent:#b71360; --mini-bg:#f1f3f5; display:block; padding:1rem; background:#fafafd; border-bottom:1px solid #e5e5ed; }
.theme-choice[data-theme="market"] .theme-choice-mini { --mini-bg:#fff0f6; }.theme-choice[data-theme="bistro"] .theme-choice-mini { --mini-accent:#8e4227; --mini-bg:#faecd9; }.theme-choice[data-theme="atelier"] .theme-choice-mini { --mini-accent:#8e4164; --mini-bg:#f3e7ee; }.theme-choice[data-theme="digital"] .theme-choice-mini { --mini-accent:#5a43a8; --mini-bg:#eeebff; }
.theme-mini-nav { display:block; height:9px; width:35%; border-radius:3px; background:var(--mini-accent); margin-bottom:.6rem; }.theme-mini-hero { display:block; height:48px; border-radius:8px; background:var(--mini-bg); border-left:5px solid var(--mini-accent); }.theme-mini-products { display:flex; gap:.4rem; margin-top:.5rem; }.theme-mini-products>span { width:33%; height:30px; border-radius:5px; background:#fff; border:1px solid #e5e5ed; }
.theme-preview-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:1rem 0; }.theme-live-preview { border:1px solid var(--shop-border); border-radius:1rem; overflow:hidden; }.theme-live-preview .store-nav { min-height:0; padding:1rem; font-size:.8rem; }.theme-live-preview .store-nav span { color:var(--shop-muted); font-size:.7rem; }.theme-live-preview .store-shop-hero { margin:1rem; min-height:190px; padding:1.8rem; }.theme-live-preview .store-hero h2 { font-size:1.8rem; }.theme-live-preview .store-hero p { font-size:.8rem; }.theme-preview-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; padding:0 1rem 1rem; }.theme-preview-image { height:70px; background:var(--shop-hero); padding:0!important; }.theme-preview-products .store-product>div:last-child { padding:.75rem; }.theme-preview-products strong { font-size:.8rem; }.theme-preview-products p { font-size:.65rem; font-weight:400; margin:.3rem 0 0; }
@media(min-width:1280px) { .storefront-modern .store-shop-hero { max-width:1180px; margin:2rem auto 1rem; } }
@media(max-width:700px) { .storefront-modern .store-nav { flex-wrap:wrap; }.storefront-modern .store-shop-hero { margin:1rem; min-height:270px; padding:1.75rem; }.storefront-modern .store-hero h1 { font-size:2rem; }.storefront-modern .store-section { padding:2rem 1rem; }.storefront-modern .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }.storefront-modern .store-product img,.storefront-modern .store-card-art { height:155px; }.storefront-modern .store-product>div { padding:.9rem; }.storefront-modern .store-product h3 { font-size:1rem; }.storefront-modern .store-product .d-flex { flex-wrap:wrap; }.theme-preview-heading { align-items:flex-start; flex-direction:column; }.theme-live-preview .store-nav { flex-wrap:wrap; }.theme-live-preview .store-shop-hero { min-height:190px; }.theme-preview-products { gap:.5rem; }.theme-preview-products .store-product>div:last-child { padding:.5rem; } }
@media(max-width:575px) { .theme-preview-products { grid-template-columns:repeat(2,minmax(0,1fr)); } }
