:root {
    color-scheme: light;
    font-family: "Noto Serif TC", "Source Han Serif TC", "Songti TC", "PMingLiU", "MingLiU", "Microsoft JhengHei", serif;
    --ink: #1f2a37;
    --muted: #6b7a8e;
    --line: #dce7f1;
    --brand: #2f80c1;
    --brand-dark: #12324d;
    --sign-red: #b8202a;
    --sign-yellow: #f6c33b;
    --sky-soft: #eaf7ff;
    --gold: #c79b62;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: #fff; padding-bottom: 70px; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }

.mobile-nav-toggle { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; pointer-events: none; }
.site-topbar { min-height: 64px; display: grid; grid-template-columns: minmax(220px, 1fr) auto minmax(180px, 1fr); align-items: center; gap: 12px; padding: 10px 16px; background: #fff; border-top: 1px solid #111; }
.mobile-menu-button { display: none; }
.site-logo { position: relative; justify-self: center; display: inline-flex; align-items: baseline; gap: 7px; padding: 2px 18px 8px; color: #a9151f; font-family: "Noto Serif TC", "Source Han Serif TC", "Songti TC", "PMingLiU", "MingLiU", "Microsoft JhengHei", serif; font-size: 27px; line-height: 1; font-weight: 900; letter-spacing: .04em; white-space: nowrap; text-decoration: none; text-shadow: 0 1px 0 #ffe6a5, 0 2px 0 rgba(116, 43, 18, .18), 0 5px 12px rgba(168, 43, 23, .12); }
.site-logo .brand-kicker { position: relative; top: -1px; color: #9d6a1f; font-size: .56em; font-weight: 900; letter-spacing: .14em; text-shadow: 0 1px 0 #fff0bd; }
.site-logo .brand-kicker::after { content: ""; display: inline-block; width: 14px; height: 1px; margin-left: 8px; vertical-align: middle; background: linear-gradient(90deg, #c58a2d, transparent); }
.site-logo .brand-main { color: #b01822; font-size: 1em; font-weight: 900; text-shadow: 0 1px 0 #ffdf89, 0 2px 0 #8b2e16, 0 5px 12px rgba(112, 32, 16, .16); }
.site-logo::before, .site-logo::after { content: ""; position: absolute; left: 9px; right: 9px; pointer-events: none; }
.site-logo::before { bottom: 2px; height: 1px; background: linear-gradient(90deg, transparent, #d8a84b 18%, #b01822 50%, #d8a84b 82%, transparent); }
.site-logo::after { bottom: -2px; height: 5px; border-bottom: 2px solid #d39a36; border-radius: 0 0 60% 60%; opacity: .9; }
.top-actions { display: flex; align-items: center; gap: 12px; color: #334155; font-size: 13px; font-weight: 800; }
.top-left-tools { min-width: 0; justify-self: start; display: flex; align-items: center; gap: 14px; }
.top-social-links { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; }
.top-social-link, .social-link { width: 32px; height: 32px; display: inline-grid; place-items: center; border: 0; border-radius: 0; background: transparent; color: #111827; box-shadow: none; transition: opacity .18s ease, transform .18s ease; }
.top-social-link:hover, .social-link:hover { opacity: .72; transform: translateY(-1px); }
.desktop-search { flex: 0 0 42px; }
.icon-actions { justify-self: end; margin-right: 18px; }
.member-auth-links { display: flex; align-items: center; }
.search-icon-link { width: 42px; height: 42px; display: grid; place-items: center; border: 0; background: transparent; color: #111827; }
.search-icon-link:hover { color: var(--brand); }
.search-icon-link svg { width: 27px; height: 27px; display: block; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.mobile-header-search { display: none; }
.top-search { width: min(100%, 340px); min-height: 44px; display: flex; align-items: center; gap: 8px; border: 1px solid #c9d6e2; border-radius: 999px; background: #fff; color: #12324d; box-shadow: 0 10px 24px rgba(18, 50, 77, .08); transition: border-color .18s ease, box-shadow .18s ease; }
.top-search:focus-within { border-color: #2f80c1; box-shadow: 0 0 0 4px rgba(47, 128, 193, .12), 0 12px 26px rgba(18, 50, 77, .1); }
.top-search input { flex: 1; min-width: 0; height: 42px; border: 0; background: transparent; padding: 0 0 0 18px; color: #111827; font-size: 15px; outline: 0; }
.top-search input::placeholder { color: #77879a; }
.top-search button { width: 40px; height: 40px; margin-right: 2px; display: grid; place-items: center; border: 0; border-radius: 999px; background: transparent; color: #111827; cursor: pointer; }
.top-search button:hover { background: #eef7ff; color: #2f80c1; }
.top-search svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mobile-search { display: none; }
.visually-hidden { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; clip-path: inset(50%); }
.nav-icon-link { position: relative; width: 42px; height: 42px; display: inline-grid; place-items: center; color: #111827; }
.nav-icon-link svg { width: 27px; height: 27px; display: block; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.nav-icon-link .member-icon { width: 34px; height: 34px; color: currentColor; stroke-width: 3.4; }
.nav-icon-label { display: none; }
.cart-link .bag-icon { width: 30px; height: 30px; stroke-width: 1.7; }
.cart-count { position: absolute; right: 0; top: 3px; min-width: 15px; height: 15px; display: grid; place-items: center; border-radius: 999px; background: var(--sign-red); color: #fff; font-size: 10px; line-height: 1; font-weight: 900; }
.member-account { max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--brand-dark); }
.logout-inline { margin: 0; }
.logout-inline button { width: 34px; height: 34px; display: grid; place-items: center; border: 0; padding: 0; background: transparent; color: #111827; cursor: pointer; }
.logout-inline button:hover { color: var(--brand); }
.logout-inline button svg { width: 22px; height: 22px; display: block; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.main-nav { min-height: 52px; display: flex; align-items: center; justify-content: flex-start; gap: 26px; padding: 0 16px; border: 0; box-shadow: none; background: #fff; position: sticky; top: 0; z-index: 20; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
.main-nav::-webkit-scrollbar { display: none; }
.main-nav-links { display: contents; }
.sticky-nav-search, .sticky-nav-actions { display: none; }
.main-nav a { flex: 0 0 auto; color: #334155; font-size: 14px; font-weight: 800; }
.main-nav a:hover { color: var(--brand); }
.nav-products-menu { position: relative; flex: 0 0 auto; }
.nav-products-trigger { display: inline-flex; align-items: center; gap: 6px; min-height: 52px; }
.nav-products-trigger > span { display: inline-block; color: #64748b; font-size: 20px; line-height: 1; transform: rotate(90deg); transform-origin: center; transition: transform .18s ease, color .18s ease; }
.nav-products-menu:hover .nav-products-trigger > span, .nav-products-menu:focus-within .nav-products-trigger > span { color: var(--brand); transform: rotate(-90deg); }
.products-mega { position: absolute; top: calc(100% + 1px); left: 50%; z-index: 70; width: min(760px, calc(100vw - 36px)); min-height: 336px; display: none; grid-template-columns: 260px minmax(0, 1fr); overflow: hidden; border: 1px solid #d8e3ee; border-radius: 6px; background: #fff; box-shadow: 0 22px 44px rgba(15, 23, 42, .14); transform: translateX(-36%); }
.nav-products-menu:hover .products-mega, .nav-products-menu:focus-within .products-mega { display: grid; }
.products-mega-list { grid-column: 1 / -1; position: relative; min-height: 336px; max-height: 390px; overflow-y: auto; padding: 8px 0; background: #fff; scrollbar-width: thin; }
.products-mega-list::after { content: ""; position: absolute; top: 0; bottom: 0; left: 260px; width: 1px; background: var(--line); }
.products-mega-item { min-width: 0; }
.products-mega-category { width: 260px; min-height: 41px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0 18px 0 16px; border: 0; background: transparent; color: #334155; font: inherit; font-size: 14px; font-weight: 800; line-height: 1.45; text-align: left; white-space: normal; cursor: default; }
.products-mega-category > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.products-mega-category > span:last-child { color: #6b7280; font-size: 24px; line-height: 1; }
.products-mega-item:hover .products-mega-category, .products-mega-item:focus-within .products-mega-category, .products-mega-item.is-open .products-mega-category { background: #f4f8fb; color: var(--brand-dark); }
.products-mega-products { position: absolute; top: 0; right: 0; bottom: 0; left: 260px; z-index: 1; display: none; align-content: start; gap: 0; padding: 12px 18px; overflow-y: auto; background: #fff; white-space: normal; }
.products-mega-products a { min-height: 36px; display: flex; align-items: center; padding: 6px 0; color: #4b5563; font-size: 14px; font-weight: 700; line-height: 1.45; white-space: normal; }
.products-mega-products a:hover { color: var(--brand); }
.products-mega-item.is-default .products-mega-products { display: grid; }
.products-mega-list:hover .products-mega-item.is-default .products-mega-products { display: none; }
.products-mega-item:hover .products-mega-products, .products-mega-item:focus-within .products-mega-products, .products-mega-item.is-open .products-mega-products { display: grid; }

.hero-slider { position: relative; overflow: hidden; background: #fff; border-top: 1px solid #f5f8fb; }
.slider-track { display: flex; width: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; cursor: grab; touch-action: pan-y; user-select: none; }
.slider-track::-webkit-scrollbar { display: none; }
.slider-track.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.slide { flex: 0 0 100%; min-height: 0; display: grid; scroll-snap-align: start; padding: 0 0 42px; }
.slide.is-clone { pointer-events: none; }
.slide-card { position: relative; width: 100%; height: 700px; min-height: 0; justify-self: stretch; display: block; overflow: hidden; color: #12324d; }
.slide-card img { width: 100%; height: 100%; min-height: 0; max-height: none; object-fit: cover; object-position: center; display: block; pointer-events: none; }
.slide-copy { position: absolute; left: max(18px, 6vw); bottom: 56px; width: min(520px, calc(100% - 36px)); padding: 22px 26px; border: 1px solid rgba(255,255,255,.72); background: rgba(255,255,255,.76); box-shadow: 0 18px 46px rgba(18,50,77,.14); backdrop-filter: blur(8px); text-align: left; }
.slide-copy span { display: block; margin-bottom: 8px; color: #a46f2b; font-size: 15px; font-weight: 900; letter-spacing: .08em; }
.slide-copy h1 { margin: 0 0 10px; color: #12324d; font-size: 31px; line-height: 1.28; letter-spacing: .04em; }
.slide-copy strong { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 0 18px; border-radius: 999px; background: #12324d; color: #fff; font-size: 15px; font-weight: 900; }
.slider-dots { position: absolute; left: 0; right: 0; bottom: 18px; display: flex; justify-content: center; align-items: center; gap: 9px; }
.slider-dot { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 999px; background: #c9d2dd; cursor: pointer; transition: background-color .2s ease, transform .2s ease; }
.slider-dot.is-active { width: 9px; background: #050505; transform: translateY(-1px); }
.slider-arrow { position: absolute; right: 24px; bottom: 18px; z-index: 5; width: 46px; height: 46px; display: none; align-items: center; justify-content: center; padding: 0 0 4px; border: 0; border-radius: 999px; background: rgba(17,24,39,.72); color: #fff; font-size: 38px; font-family: Arial, sans-serif; font-weight: 300; line-height: 1; text-align: center; cursor: pointer; box-shadow: 0 10px 22px rgba(17,24,39,.18); }
.slider-prev { left: auto; right: 82px; }
.slider-next { right: 24px; }
.slider-arrow:hover { background: rgba(17,24,39,.9); color: #fff; }

main { max-width: 1220px; margin: 0 auto; padding: 0 0 26px; }
.shop-status { max-width: 1220px; margin: 14px auto 0; padding: 12px 16px; border: 1px solid #cce8da; border-radius: 8px; background: #f0fbf6; color: #166534; font-weight: 900; line-height: 1.6; }
.cart-ajax-status { position: fixed; right: 18px; bottom: 76px; z-index: 140; max-width: min(320px, calc(100vw - 32px)); padding: 12px 16px; border: 1px solid #cce8da; border-radius: 8px; background: #f0fbf6; color: #166534; font-size: 14px; font-weight: 900; line-height: 1.5; box-shadow: 0 18px 34px rgba(15, 23, 42, .16); opacity: 0; pointer-events: none; transform: translateY(10px); transition: opacity .18s ease, transform .18s ease; }
.cart-ajax-status.is-visible { opacity: 1; transform: translateY(0); }
.cart-ajax-status.is-error { border-color: #fecaca; background: #fff1f2; color: #b91c1c; }
.section { padding-top: 36px; }
.section-title { margin: 0 0 42px; display: flex; align-items: center; justify-content: center; gap: 36px; color: #3f4650; }
.section-title::before, .section-title::after { content: ""; width: min(90px, 20vw); height: 1px; background: #3f4650; opacity: .78; }
.section-title h2 { margin: 0; font-size: 24px; line-height: 1.25; letter-spacing: .02em; font-weight: 900; }
.empty-products { margin: 0 auto 28px; max-width: 560px; padding: 18px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdff; color: var(--muted); text-align: center; font-weight: 800; line-height: 1.7; }
.product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
.product-card { position: relative; min-width: 0; padding: 14px 14px 16px; border: 1px solid #eef1f4; border-radius: 8px; background: #f4f5f6; text-align: left; box-shadow: 0 16px 32px rgba(15, 23, 42, .08), inset 0 1px 0 rgba(255,255,255,.82); transition: transform .18s ease, box-shadow .18s ease; }
.product-card:hover { transform: translateY(-3px); box-shadow: 0 22px 42px rgba(15, 23, 42, .12), inset 0 1px 0 rgba(255,255,255,.9); }
.product-card-link { display: block; }
.product-image { width: 100%; aspect-ratio: 1 / 1; display: grid; place-items: center; overflow: hidden; border-radius: 7px; background: #fff; box-shadow: 0 1px 0 rgba(255,255,255,.9), 0 10px 22px rgba(15,23,42,.08); cursor: zoom-in; }
.product-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.product-card.is-sold-out .product-image img { opacity: .86; }
.product-card h3 { min-height: 40px; margin: 14px 0 6px; color: #050505; font-size: 13px; line-height: 1.45; font-weight: 900; letter-spacing: 0; }
.product-card form { margin: 0; }
.price { margin-bottom: 14px; color: #050505; font-size: 13px; font-weight: 900; }
.sold-button, .buy-button { width: 100%; min-height: 34px; padding: 5px 8px; border-radius: 999px; font-size: 13px; line-height: 1.18; font-weight: 900; text-align: center; }
.sold-button { border: 1px solid #c8ccd1; background: linear-gradient(#eeeeee, #dedede); color: #969ca3; }
.product-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.buy-button { border: 0; background: #050505; color: #fff; cursor: pointer; }
.buy-button.is-cart { border: 1px solid #c8ccd1; background: #fff; color: #12324d; }
.buy-button.is-direct { border: 1px solid #050505; background: #050505; color: #fff; }
.home-topic-section { padding: 52px 0 0; }
.home-topic-head { display: grid; justify-items: center; gap: 6px; margin-bottom: 24px; color: #111827; text-align: center; }
.home-topic-head span, .yilan-local-copy > span { color: #c79b62; font-family: Georgia, "Times New Roman", serif; font-size: 16px; line-height: 1; letter-spacing: .08em; }
.home-topic-head h2, .yilan-local-copy h2 { margin: 0; color: #111827; font-size: 26px; line-height: 1.3; font-weight: 900; letter-spacing: .05em; }
.home-topic-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.home-topic-card { position: relative; min-height: 168px; display: grid; align-content: end; gap: 6px; overflow: hidden; padding: 18px; border-radius: 8px; background: #eef2f6; color: #fff; isolation: isolate; }
.home-topic-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(5,10,18,.04), rgba(5,10,18,.66)); }
.home-topic-card img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .34s ease; }
.home-topic-card:hover img { transform: scale(1.04); }
.home-topic-card.is-active { outline: 3px solid #c79b62; outline-offset: 3px; }
.home-topic-card span { color: rgba(255,255,255,.88); font-size: 13px; line-height: 1.5; font-weight: 800; }
.home-topic-card strong { color: #fff; font-size: 22px; line-height: 1.25; font-weight: 900; letter-spacing: .04em; text-shadow: 0 2px 10px rgba(0,0,0,.22); }
.home-topic-card em { width: fit-content; display: inline-flex; align-items: center; min-height: 24px; padding: 0 9px; border-radius: 999px; background: rgba(255,255,255,.86); color: #12324d; font-style: normal; font-size: 12px; font-weight: 900; }
.yilan-local-section { margin-top: 68px; padding: 44px 0 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr); gap: 34px; align-items: start; }
.yilan-local-copy { display: grid; gap: 10px; }
.yilan-local-copy p { max-width: 620px; margin: 6px 0 0; color: #526174; font-size: 16px; line-height: 1.9; font-weight: 700; }
.yilan-local-points { display: grid; gap: 12px; }
.yilan-local-points div { padding: 16px 18px; border-left: 3px solid #c79b62; background: #f7fafc; }
.yilan-local-points strong { display: block; margin-bottom: 6px; color: #12324d; font-size: 16px; line-height: 1.35; font-weight: 900; }
.yilan-local-points span { display: block; color: #5d6b7b; font-size: 14px; line-height: 1.7; font-weight: 700; }
.hot-showcase-section { max-width: 1180px; margin: 0 auto; padding: 44px 14px 0; }
.showcase-title { position: relative; display: flex; align-items: flex-end; justify-content: center; gap: 18px; margin: 0 0 24px; color: #111827; text-align: center; }
.showcase-title::before, .showcase-title::after { display: none; }
.showcase-title-text { display: grid; justify-items: center; gap: 5px; }
.showcase-title span { color: #c79b62; font-family: Georgia, "Times New Roman", serif; font-size: 16px; line-height: 1; letter-spacing: .08em; }
.showcase-title h2 { margin: 0; font-family: "Noto Serif TC", "Source Han Serif TC", "Songti TC", "PMingLiU", "MingLiU", "Microsoft JhengHei", serif; font-size: 24px; font-weight: 900; letter-spacing: .04em; }
.showcase-view-all { position: absolute; right: 0; bottom: 2px; color: #12324d; font-size: 14px; line-height: 1.4; font-weight: 900; text-decoration: underline; text-underline-offset: 3px; }
.product-showcase-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.showcase-product-card { min-width: 0; padding: 10px 10px 14px; border: 0; border-radius: 8px; background: #f5f5f3; box-shadow: none; overflow: hidden; }
.showcase-product-card:hover { transform: none; box-shadow: none; }
.showcase-product-card .product-image { aspect-ratio: 1 / 1; border-radius: 6px; box-shadow: none; background: #fff; }
.showcase-product-card .product-image img { transition: transform .32s ease, opacity .2s ease; }
.showcase-product-card:hover .product-image img { transform: scale(1.025); }
.showcase-product-meta { display: none; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 16px; color: #c79b62; font-size: 14px; line-height: 1.45; font-weight: 800; }
.showcase-product-meta span + span::before { content: ""; display: inline-block; width: 1px; height: 12px; margin-right: 10px; vertical-align: -1px; background: #d9b88e; }
.showcase-product-card h3 { min-height: 42px; margin: 12px 0 5px; color: #050505; font-family: "Noto Serif TC", "Source Han Serif TC", "Songti TC", "PMingLiU", "MingLiU", "Microsoft JhengHei", serif; font-size: 15px; line-height: 1.4; font-weight: 900; letter-spacing: 0; }
.showcase-product-card p { display: none; }
.showcase-product-card .price { margin: 0; color: #050505; font-family: "Noto Serif TC", "Source Han Serif TC", "Songti TC", "PMingLiU", "MingLiU", "Microsoft JhengHei", serif; font-size: 16px; line-height: 1.25; font-weight: 900; letter-spacing: 0; }
.site-footer { position: relative; margin-top: 48px; border-top: 1px solid var(--line); background: #fbfdff; }
.footer-anchor { position: absolute; top: -72px; width: 1px; height: 1px; overflow: hidden; }
.footer-inner { max-width: 1220px; margin: 0 auto; padding: 28px 12px 34px; display: grid; gap: 22px; }
.footer-social h2, .footer-contact h2 { margin: 0 0 12px; color: #12324d; font-size: 16px; line-height: 1.35; }
.social-links { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.social-link { font-size: 0; font-weight: 900; }
.instagram-link, .threads-link { background: #fff; }
.social-icon-image { width: 24px; height: 24px; display: block; object-fit: contain; filter: grayscale(1) brightness(0); }
.instagram-icon-image { width: 23px; height: 23px; }
.threads-icon-image { width: 24px; height: 24px; }
.footer-contact { display: grid; gap: 10px; color: #415569; }
.footer-store-list { display: grid; gap: 12px; }
.footer-store-card { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px; min-height: 134px; padding: 16px 18px 16px 22px; border: 1px solid #ead7a1; border-radius: 8px; background: linear-gradient(112deg, rgba(255, 213, 64, .2) 0%, rgba(255, 246, 207, .14) 34%, #fff 72%); box-shadow: 0 8px 18px rgba(145, 89, 18, .05); }
.footer-store-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: linear-gradient(#ffd540, #e9b923); }
.footer-store-main { min-width: 0; display: grid; gap: 7px; }
.footer-store-main strong { color: #c93629; font-size: 16px; font-weight: 900; line-height: 1.35; }
.footer-contact p { display: grid; grid-template-columns: 66px minmax(0, 1fr); column-gap: 8px; margin: 0; color: #415569; font-size: 14px; line-height: 1.65; }
.footer-contact p > span { margin: 0; color: #12324d; font-weight: 900; white-space: nowrap; }
.footer-store-main a { color: #415569; font-weight: 800; white-space: nowrap; }
.footer-contact p > .footer-store-address { min-width: 0; color: #12324d; font-weight: 800; white-space: normal; overflow-wrap: break-word; }
.footer-map-link { min-width: 64px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 12px; border: 1px solid rgba(201, 54, 41, .14); border-radius: 999px; background: #fff5ca; color: #a92e25; font-size: 13px; font-weight: 900; white-space: nowrap; }
.footer-map-pin { position: relative; width: 12px; height: 12px; display: inline-block; border: 2px solid currentColor; border-radius: 999px 999px 999px 0; transform: rotate(-45deg); }
.footer-map-pin::after { content: ""; position: absolute; inset: 3px; border-radius: 999px; background: currentColor; }
.footer-map-link span:not(.footer-map-pin) { color: inherit; font-weight: 900; }
.footer-line { display: none; }
.line-add-button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 16px; border: 0; border-radius: 4px; background: #04b900; color: #fff; font-size: 14px; font-weight: 900; }
.line-icon-image { width: 20px; height: 20px; display: block; object-fit: contain; }
.line-add-button .line-icon-image { filter: none; }
.footer-links { display: grid; gap: 12px; color: #415569; }
.footer-links nav { display: flex; align-items: center; gap: 0; flex-wrap: wrap; row-gap: 10px; }
.footer-links nav a { color: #12324d; font-size: 14px; font-weight: 900; }
.footer-links nav a + a::before { content: "|"; margin: 0 10px; color: #9aa9b8; font-weight: 700; }
.footer-copyright-section { padding-top: 16px; border-top: 1px solid var(--line); }
.footer-copyright { margin: 0; color: #1f2937; font-family: "Noto Serif TC", "Source Han Serif TC", "Songti TC", "PMingLiU", "MingLiU", "Microsoft JhengHei", serif; font-size: 13px; line-height: 1.8; font-weight: 800; letter-spacing: .01em; }
.footer-copyright span + span { margin-left: 4px; }
.bottom-nav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; height: 58px; display: grid; grid-template-columns: repeat(4, 1fr); background: linear-gradient(#f5f6f8, #c9cdd3); border-top: 1px solid #b8bec7; box-shadow: 0 -6px 18px rgba(15, 23, 42, .14); }
.bottom-nav a { position: relative; display: grid; place-items: center; align-content: center; gap: 0; color: #222a40; font-size: 10px; font-weight: 800; }
.nav-mark { font-size: 22px; line-height: 1; }
.nav-home-mark { display: grid; place-items: center; }
.nav-home-icon { width: 24px; height: 24px; display: block; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.nav-bag-mark { display: grid; place-items: center; }
.nav-bag-icon { width: 29px; height: 29px; display: block; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.nav-member-mark { display: grid; place-items: center; }
.nav-member-icon { width: 31px; height: 31px; display: block; fill: none; stroke: currentColor; stroke-width: 3.7; stroke-linecap: round; stroke-linejoin: round; }
.cart-dot { position: absolute; top: 8px; right: calc(50% - 18px); min-width: 16px; height: 16px; display: grid; place-items: center; border-radius: 999px; background: #27365c; color: #fff; font-size: 10px; }
.search-page { padding-top: 36px; }
.search-hero { width: min(980px, calc(100vw - 32px)); margin: 0 auto 28px; padding: 28px; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: 0 18px 34px rgba(15, 23, 42, .07); }
.search-hero > span { display: block; color: var(--gold); font-size: 13px; font-weight: 900; text-transform: uppercase; }
.search-hero h1 { margin: 8px 0 22px; color: var(--brand-dark); font-size: 30px; line-height: 1.2; }
.search-page-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 240px) auto; align-items: end; gap: 14px; }
.search-field { min-width: 0; display: grid; gap: 8px; color: #111827; font-weight: 900; }
.search-field span { font-size: 14px; }
.search-field input, .search-field select { width: 100%; min-height: 46px; border: 1px solid #cfd8e3; border-radius: 6px; background: #fff; color: #111827; padding: 0 14px; outline: 0; }
.search-field input:focus, .search-field select:focus { border-color: var(--brand); box-shadow: 0 0 0 4px rgba(47, 128, 193, .12); }
.search-submit-button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid #111; border-radius: 6px; background: #111; color: #fff; padding: 0 22px; font-weight: 900; cursor: pointer; }
.search-submit-button svg { width: 20px; height: 20px; display: block; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.search-results-section .section-title p { margin: 10px 0 0; color: var(--muted); font-size: 15px; font-weight: 800; }
.search-results-section .section-title p span { margin-left: 14px; }
.lightbox-open { overflow: hidden; }
.image-lightbox { position: fixed; inset: 0; z-index: 200; display: none; place-items: center; padding: 22px; background: rgba(4, 8, 14, .72); backdrop-filter: blur(5px); }
.image-lightbox.is-open { display: grid; }
.image-lightbox-panel { position: relative; width: min(92vw, 920px); max-height: 90vh; display: grid; place-items: center; padding: 18px; border-radius: 10px; background: #fff; box-shadow: 0 28px 70px rgba(0,0,0,.32); }
.image-lightbox img { max-width: 100%; max-height: calc(90vh - 36px); display: block; object-fit: contain; border-radius: 6px; }
.image-lightbox-close { position: absolute; top: -14px; right: -14px; width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 999px; background: #050505; color: #fff; font-size: 24px; line-height: 1; cursor: pointer; }
.line-qr-modal { position: fixed; inset: 0; z-index: 210; display: grid; place-items: center; padding: 22px; background: rgba(4, 8, 14, .66); backdrop-filter: blur(5px); }
.line-qr-modal[hidden] { display: none !important; }
.line-qr-panel { position: relative; width: min(88vw, 360px); display: grid; justify-items: center; gap: 14px; padding: 28px 24px 24px; border-radius: 10px; background: #fff; box-shadow: 0 28px 70px rgba(0,0,0,.32); text-align: center; }
.line-qr-panel h2 { margin: 0; color: #111827; font-size: 20px; letter-spacing: 0; }
.line-qr-panel img { width: min(240px, 70vw); aspect-ratio: 1 / 1; display: block; object-fit: contain; border: 1px solid var(--line); border-radius: 8px; }
.line-qr-close { position: absolute; top: -14px; right: -14px; width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 999px; background: #050505; color: #fff; font-size: 24px; line-height: 1; cursor: pointer; }
.line-qr-link { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 0 16px; border-radius: 999px; background: #04b900; color: #fff; font-size: 14px; font-weight: 900; }
.floating-line-widget { position: fixed; right: 24px; bottom: 24px; z-index: 120; display: grid; justify-items: end; gap: 10px; }
.floating-line-button { display: inline-flex; align-items: center; gap: 8px; border: 0; background: transparent; padding: 0; cursor: pointer; filter: drop-shadow(0 12px 20px rgba(15,23,42,.18)); }
.floating-line-label { min-height: 36px; display: inline-flex; align-items: center; padding: 0 13px; border-radius: 4px; background: #fff; color: #172026; font-size: 14px; font-weight: 800; border: 1px solid rgba(15,23,42,.08); white-space: nowrap; }
.floating-line-bubble { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 999px; background: transparent; border: 3px solid #fff; box-shadow: 0 12px 22px rgba(4,185,0,.28); overflow: hidden; }
.floating-line-bubble img { width: 100%; height: 100%; display: block; object-fit: cover; }
.floating-line-card { width: min(310px, calc(100vw - 28px)); overflow: hidden; border-radius: 8px; background: #fff; box-shadow: 0 18px 44px rgba(15,23,42,.24); border: 1px solid rgba(15,23,42,.08); }
.floating-line-card[hidden] { display: none !important; }
.floating-line-card-head { min-height: 50px; display: grid; grid-template-columns: 28px minmax(0, 1fr) 34px; align-items: center; gap: 8px; padding: 0 12px; background: #04b900; color: #fff; }
.floating-line-head-icon { width: 24px; height: 24px; display: grid; place-items: center; }
.floating-line-head-icon img { width: 22px; height: 22px; display: block; object-fit: contain; }
.floating-line-card-head strong { color: #fff; font-size: 15px; font-weight: 900; }
.floating-line-close { width: 34px; height: 34px; display: grid; place-items: center; border: 0; background: transparent; color: #fff; font-size: 30px; line-height: 1; cursor: pointer; }
.floating-line-card-body { display: grid; justify-items: center; gap: 12px; padding: 22px 20px 24px; text-align: center; }
.floating-line-qr { width: min(230px, 72vw); aspect-ratio: 1 / 1; display: block; object-fit: contain; }
.floating-line-url { max-width: 100%; color: #c98b43; font-size: 14px; overflow-wrap: anywhere; }
.floating-line-empty { margin: 0; color: #64748b; font-weight: 800; }

@media (min-width: 720px) {
    body { padding-bottom: 0; }
    .site-topbar { min-height: 118px; grid-template-columns: minmax(260px, 1fr) auto minmax(260px, 1fr); padding: 26px 46px 18px; }
    .site-logo { align-self: center; font-size: 30px; }
    .site-topbar .top-social-links { display: none; }
    .top-left-tools { width: 100%; }
    .desktop-search { flex: 0 0 46px; width: 46px; }
    .search-icon-link { width: 46px; height: 46px; }
    .search-icon-link svg { width: 30px; height: 30px; }
    .top-search { min-height: 44px; border-color: #111; box-shadow: none; }
    .top-search input { height: 42px; padding-left: 20px; font-size: 15px; }
    .top-search input::placeholder { color: #59616a; }
    .top-search button:hover { background: transparent; color: #111827; }
    .top-actions { gap: 24px; font-size: 15px; }
    .icon-actions { align-self: center; margin-right: 0; }
    .nav-icon-link { width: 46px; min-width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center; color: #050505; font-weight: 900; }
    .nav-icon-link svg { width: 30px; height: 30px; stroke-width: 2; }
    .nav-icon-link .member-icon { width: 36px; height: 36px; stroke-width: 3.2; }
    .member-link::after, .member-account-icon::after, .cart-link::after { content: none; }
    .cart-link .bag-icon { width: 31px; height: 31px; }
    .cart-count { right: 0; left: auto; top: 0; }
    .member-account { max-width: 180px; }
    .main-nav { min-height: 60px; justify-content: center; gap: 0; padding: 0 28px; overflow: visible; }
    .main-nav-links { display: flex; align-items: center; justify-content: center; gap: 34px; min-width: 0; }
    .main-nav a { color: #050505; font-size: 15px; font-weight: 900; }
    .nav-products-trigger { min-height: 60px; }
    .hero-slider { min-height: 0; }
    .slide { min-height: 0; padding: 0 0 46px; }
    .slide-card { width: 100%; height: min(720px, calc(100svh - 36px)); min-height: 600px; }
    .slide-card img { max-height: none; }
    .slide-copy { left: max(42px, 7vw); bottom: 58px; }
    .slide-copy h1 { font-size: 34px; }
    .slider-arrow { display: grid; }
    main { padding: 0 28px 54px; }
    .section { padding-top: 54px; }
    .section-title { margin-bottom: 62px; }
    .section-title h2 { font-size: 28px; }
    .home-topic-section { padding-top: 70px; }
    .home-topic-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
    .home-topic-card { min-height: 240px; padding: 22px; }
    .home-topic-card strong { font-size: 25px; }
    .product-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 42px 30px; }
    .product-card { grid-column: span 3; }
    .product-grid.remainder-3 .product-card:nth-last-child(-n+3) { grid-column: span 4; }
    .hot-showcase-section { padding: 60px 28px 0; }
    .showcase-title { margin-bottom: 30px; }
    .showcase-title h2 { font-size: 26px; }
    .product-showcase-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
    .product-showcase-grid .product-card,
    .product-showcase-grid.remainder-3 .product-card:nth-last-child(-n+3) { grid-column: auto; }
    .product-card h3 { font-size: 15px; min-height: 44px; }
    .showcase-product-card h3 { min-height: 42px; font-size: 16px; }
    .price { font-size: 15px; }
    .showcase-product-card .price { font-size: 16px; }
    .sold-button, .buy-button { min-height: 34px; }
    .site-footer { margin-top: 64px; }
    .footer-inner { padding: 32px 28px 28px; grid-template-columns: minmax(130px, .5fr) minmax(640px, 1.4fr) auto; align-items: start; column-gap: 36px; }
    .footer-inner.no-social { grid-template-columns: minmax(720px, 820px) auto; justify-content: center; column-gap: 76px; }
    .footer-social .social-links { margin-left: -6px; }
    .footer-contact { grid-column: 2; justify-self: stretch; margin-left: 0; }
    .footer-inner.no-social .footer-contact { grid-column: 1; }
    .footer-store-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-links { grid-column: 3; grid-row: 1; align-self: start; justify-self: end; justify-items: end; width: max-content; padding-top: 44px; border-top: 0; text-align: right; }
    .footer-inner.no-social .footer-links { grid-column: 2; padding-top: 58px; }
    .footer-links nav { display: flex; align-items: center; justify-content: flex-end; flex-wrap: nowrap; row-gap: 0; white-space: nowrap; }
    .footer-links nav a.is-shipping { grid-column: auto; justify-self: auto; }
    .footer-links nav a.is-shipping::before { content: "|"; margin: 0 10px; color: #9aa9b8; font-weight: 700; }
    .footer-copyright-section { grid-column: 1 / -1; min-height: 52px; display: grid; place-items: center; margin-top: 6px; padding: 16px 0 0; border-top: 1px solid var(--line); text-align: center; }
    .bottom-nav { display: none; }
}

@media (min-width: 1100px) {
    body.has-sticky-tools .main-nav { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); column-gap: 18px; padding: 0 46px; box-shadow: 0 8px 22px rgba(15, 23, 42, .08); }
    body.has-sticky-tools .main-nav-links { grid-column: 2; gap: 34px; justify-self: center; }
    body.has-sticky-tools .sticky-nav-search { grid-column: 1; width: 46px; height: 46px; display: grid; align-self: center; justify-self: start; }
    body.has-sticky-tools .sticky-nav-actions { grid-column: 3; display: flex; align-items: center; justify-content: flex-end; justify-self: end; gap: 4px; }
}

@media (max-width: 640px) {
    .site-topbar { min-height: 58px; grid-template-columns: 44px 1fr 44px; padding: 8px 12px; position: sticky; top: 0; z-index: 60; box-shadow: none; }
    .mobile-menu-button { grid-column: 1; width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 6px; cursor: pointer; }
    .mobile-menu-button span { width: 22px; height: 2px; border-radius: 999px; background: #1f2a37; display: block; }
    .top-left-tools { display: none; }
    .desktop-search { display: none; }
    .site-logo { grid-column: 2; gap: 4px; padding: 2px 8px 7px; font-size: 20px; letter-spacing: .01em; }
    .site-logo .brand-kicker { letter-spacing: .06em; }
    .site-logo .brand-kicker::after { width: 8px; margin-left: 5px; }
    .icon-actions { grid-column: 3; gap: 0; justify-content: end; margin-right: 0; font-size: 0; }
    .icon-actions .member-account, .icon-actions form, .icon-actions .member-auth-links, .icon-actions .member-link, .icon-actions .cart-link { display: none; }
    .mobile-header-search { width: 42px; height: 42px; display: grid; }
    .mobile-header-search svg { width: 23px; height: 23px; }
    .search-link { width: 42px; height: 42px; display: grid; place-items: center; }
    .search-link svg { width: 20px; height: 20px; }
    .mobile-search { display: none; }
    .mobile-search input { height: 44px; font-size: 16px; }
    .mobile-search button { width: 42px; height: 42px; }
    .search-page { padding-top: 18px; }
    .search-hero { width: auto; margin: 0 12px 18px; padding: 20px 16px; }
    .search-hero h1 { font-size: 26px; }
    .search-page-form { grid-template-columns: 1fr; gap: 12px; }
    .search-submit-button { width: 100%; }
    .search-results-section .section-title p span { display: block; margin: 6px 0 0; }
    .main-nav { display: none; position: fixed; top: 58px; left: 0; right: 0; z-index: 55; min-height: 0; padding: 12px; border-top: 1px solid var(--line); background: rgba(255,255,255,.98); box-shadow: 0 18px 30px rgba(15,23,42,.12); }
    .main-nav-links { display: grid; gap: 8px; }
    .sticky-nav-search, .sticky-nav-actions { display: none !important; }
    .mobile-nav-toggle:checked + .site-topbar + .main-nav { display: grid; gap: 8px; }
    .main-nav a { min-height: 42px; display: flex; align-items: center; padding: 0 13px; border-radius: 8px; background: #f4f8fb; }
    .hero-slider { height: auto; }
    .slide { min-height: 0; padding: 0; }
    .slide-card { width: 100%; height: clamp(315px, calc(100svh - 90px), 420px); min-height: 0; }
    .slide-card img { max-height: none; }
    .site-footer { margin-bottom: 0; }
    .footer-inner { padding: 34px 48px 28px; gap: 28px; }
    .footer-social h2, .footer-contact h2 { margin-bottom: 18px; color: #000; font-size: 18px; font-weight: 900; }
    .social-links { gap: 14px; }
    .social-link { width: 32px; height: 32px; box-shadow: none; }
    .social-link:hover { transform: none; }
    .social-icon-image { width: 24px; height: 24px; }
    .footer-contact { gap: 10px; padding-top: 8px; border-top: 0; }
    .footer-store-card { grid-template-columns: 1fr; align-items: start; padding: 13px 14px; }
    .footer-contact p { display: block; }
    .footer-contact p { color: #111827; font-size: 14px; line-height: 1.8; }
    .footer-contact p > span { display: block; margin: 0 0 4px; color: #000; }
    .footer-map-link { justify-self: start; }
    .line-add-button { min-width: 116px; min-height: 36px; padding: 0 12px; border-radius: 3px; font-size: 13px; }
    .line-icon-image { width: 19px; height: 19px; }
    .floating-line-widget { right: 14px; bottom: 72px; }
    .floating-line-label { min-height: 34px; max-width: 172px; padding: 0 11px; font-size: 13px; }
    .floating-line-bubble { width: 50px; height: 50px; border-width: 3px; }
    .floating-line-card { width: min(300px, calc(100vw - 24px)); }
    .floating-line-card-body { padding: 18px 18px 20px; }
    .footer-links { padding-top: 18px; border-top: 1px solid var(--line); }
    .footer-links { padding-top: 54px; }
    .footer-links nav { justify-content: center; row-gap: 10px; }
    .footer-links nav a { font-size: 13px; }
    .footer-links nav a + a::before { margin: 0 8px; }
    .footer-copyright-section { min-height: 56px; margin-top: 0; padding: 18px 0 0; text-align: center; }
    .footer-copyright span { display: block; }
    .footer-copyright span + span { margin-left: 0; }
    .slider-dots { bottom: 16px; }
    .slider-dot { width: 8px; height: 8px; background: rgba(255,255,255,.68); }
    .slider-dot.is-active { width: 8px; background: #050505; }
    .slider-arrow { bottom: 8px; width: 42px; height: 42px; display: grid; padding-bottom: 4px; background: rgba(17,24,39,.72); color: #fff; font-size: 34px; }
    .slider-prev { right: 64px; }
    .slider-next { right: 14px; }
    .slide-copy { left: 14px; right: 14px; bottom: 74px; width: auto; padding: 16px 18px; }
    .slide-copy h1 { font-size: 24px; }
    .home-topic-section { padding: 42px 12px 0; }
    .home-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .home-topic-card { min-height: 156px; padding: 14px; border-radius: 7px; }
    .home-topic-card span { font-size: 12px; }
    .home-topic-card strong { font-size: 19px; }
    .yilan-local-section { margin-top: 46px; padding: 36px 12px 0; grid-template-columns: 1fr; gap: 22px; }
    .yilan-local-copy { justify-items: center; text-align: center; }
    .yilan-local-copy p { font-size: 15px; line-height: 1.8; }
    .hot-showcase-section { padding: 40px 12px 0; }
    .product-showcase-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .showcase-title { margin-bottom: 22px; }
    .showcase-title h2 { font-size: 24px; }
    .showcase-product-card .product-image { aspect-ratio: 1 / 1; }
    .showcase-product-card h3 { min-height: 40px; font-size: 14px; }
    .showcase-product-card .price { font-size: 15px; }
}
.mobile-drawer-backdrop, .mobile-drawer { display: none; }
@media (max-width: 640px) {
    .mobile-drawer-backdrop {
        position: fixed;
        inset: 0;
        z-index: 80;
        display: block;
        background: rgba(17, 24, 39, .32);
        opacity: 0;
        pointer-events: none;
        transition: opacity .28s ease;
    }
    .mobile-drawer {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 90;
        width: min(82vw, 340px);
        display: flex;
        flex-direction: column;
        background: #fff;
        color: #111;
        transform: translateX(-104%);
        transition: transform .34s cubic-bezier(.2, .82, .2, 1);
        box-shadow: 18px 0 34px rgba(17, 24, 39, .18);
        will-change: transform;
    }
    .mobile-nav-toggle:checked ~ .mobile-drawer-backdrop { opacity: 1; pointer-events: none; }
    .mobile-nav-toggle:checked ~ .mobile-drawer { transform: translateX(0); }
    .drawer-topbar {
        min-height: 56px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        padding: 0 18px;
        background: #fff;
    }
    .drawer-logo { display: inline-flex; align-items: baseline; gap: 5px; color: #a9151f; font-family: "Noto Serif TC", "Source Han Serif TC", "Songti TC", "PMingLiU", "MingLiU", "Microsoft JhengHei", serif; font-size: 18px; font-weight: 900; letter-spacing: .03em; text-decoration: none; text-shadow: 0 1px 0 #ffe6a5, 0 2px 0 rgba(116, 43, 18, .16); }
    .drawer-logo .brand-kicker { color: #9d6a1f; font-size: .56em; letter-spacing: .07em; }
    .drawer-logo .brand-main { color: #b01822; font-size: 1em; }
    .drawer-actions { display: flex; align-items: center; gap: 16px; }
    .drawer-close { width: 36px; height: 36px; display: grid; place-items: center; color: #111; font-size: 34px; line-height: 1; cursor: pointer; }
    .drawer-search { width: 32px; height: 32px; font-size: 0; position: relative; display: block; }
    .drawer-search::before { content: ""; width: 18px; height: 18px; border: 2px solid #111; border-radius: 999px; position: absolute; left: 3px; top: 3px; }
    .drawer-search::after { content: ""; width: 9px; height: 2px; border-radius: 999px; background: #111; position: absolute; right: 3px; bottom: 7px; transform: rotate(45deg); }
    .drawer-content { flex: 1; overflow-y: auto; padding: 0 18px 30px; scrollbar-width: thin; }
    .drawer-title { padding: 12px 0 10px; border-bottom: 1px solid #d9dde3; color: #111; font-size: 14px; }
    .drawer-link, .drawer-group > summary, .drawer-subgroup > summary, .drawer-group a, .drawer-subgroup a { color: #111; font-size: 15px; line-height: 1.45; }
    .drawer-link { display: block; padding: 12px 0; }
    .drawer-group, .drawer-subgroup { display: grid; }
    .drawer-group > summary, .drawer-subgroup > summary {
        min-height: 38px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        cursor: pointer;
        list-style: none;
    }
    .drawer-group > summary::-webkit-details-marker, .drawer-subgroup > summary::-webkit-details-marker { display: none; }
    .drawer-group > summary::after, .drawer-subgroup > summary::after {
        content: "⌄";
        color: #111;
        font-size: 24px;
        line-height: 1;
        transition: transform .24s ease;
    }
    .drawer-group[open] > summary::after, .drawer-subgroup[open] > summary::after { transform: rotate(180deg); }
    .drawer-group > a { display: block; padding: 5px 0 9px 16px; color: #222; }
    .drawer-subgroup { margin-left: 16px; padding-left: 14px; border-left: 1px solid #d9dde3; }
    .drawer-subgroup > summary { min-height: 36px; color: #222; }
    .drawer-subgroup a { display: block; padding: 8px 0 10px; color: #222; }
    .drawer-group[open] > *:not(summary), .drawer-subgroup[open] > *:not(summary) { animation: drawerFade .22s ease both; }
    .drawer-account { margin-top: 10px; padding-top: 2px; }
    .drawer-account form { margin: 0; }
    .drawer-social {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 14px;
        margin-top: 20px;
        padding-top: 18px;
        border-top: 1px solid #d9dde3;
    }
    .drawer-social .social-link {
        width: 38px;
        height: 38px;
        box-shadow: none;
    }
    .drawer-primary, .drawer-secondary {
        min-height: 38px;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 14px;
        border-radius: 4px;
        font-size: 15px;
        font-weight: 900;
    }
    .drawer-primary { border: 1px solid #111; background: #111; color: #fff; }
    .drawer-secondary { border: 1px solid #cfd4dc; background: #fff; color: #111; }
    @keyframes drawerFade {
        from { opacity: 0; transform: translateY(-4px); }
        to { opacity: 1; transform: translateY(0); }
    }
    .mobile-nav-toggle:checked + .site-topbar + .main-nav { display: none; }
}
