/* ================================
   Studio Signature public shell
   ================================ */
.site-body {
    --site-page: #f5f5f0;
    --site-surface: #fff;
    --site-ink: #20271e;
    --site-muted: #66705f;
    --site-line: #dce1d6;
    --site-soft: #edf0e9;
    --site-accent: #334b20;
    --site-accent-hover: #263b1c;
    margin: 0;
    background: var(--site-page);
    color: var(--site-ink);
}

.site-body.menu-open { overflow: hidden; }
.site-body a { color: inherit; }
.site-body button,
.site-body input,
.site-body select,
.site-body textarea { font: inherit; }
.site-body :focus-visible { outline: 3px solid #708c4e; outline-offset: 3px; }
.site-body .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;
}

.site-header {
    position: sticky; top: 0; z-index: 50;
    background: rgba(255,255,255,.94); border-bottom: 1px solid var(--site-line);
    backdrop-filter: blur(16px);
}
.site-header-inner {
    max-width: 1320px; min-height: 76px; margin: 0 auto; padding: 12px 28px;
    display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.site-brand { display: inline-flex; align-items: center; gap: 10px; min-width: 0; font-size: 19px; font-weight: 750; letter-spacing: -.6px; }
.site-brand > span:last-child { overflow: hidden; text-overflow: ellipsis; }
.site-brand-logo { display: block; width: auto; max-width: 180px; max-height: 44px; object-fit: contain; }
.site-brand-symbol { display: block; width: 36px; height: 36px; flex: 0 0 auto; object-fit: contain; }
.site-brand-symbol-footer { width: 40px; height: 40px; }
.site-brand-mark { width: 34px; height: 34px; display: inline-grid; place-items: center; flex: 0 0 auto; background: var(--site-ink); border-radius: 8px; color: white; }
.site-nav { display: flex; align-items: center; gap: 4px; }
.site-nav a { min-height: 42px; display: inline-flex; align-items: center; gap: 7px; padding: 0 10px; border-radius: 7px; color: var(--site-ink); font-size: 14px; font-weight: 600; }
.site-nav a:hover, .site-nav a:focus-visible { background: #edf1e7; color: var(--site-accent); }
.site-nav a:focus-visible { outline: 2px solid #82966e; outline-offset: 2px; }
.site-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.site-search { min-width: 190px; max-width: 240px; height: 42px; display: flex; align-items: center; gap: 9px; padding: 0 12px; border: 1px solid var(--site-line); border-radius: 8px; background: var(--site-page); color: var(--site-muted); }
.site-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--site-ink); font-size: 13px; }
.site-search input:focus-visible { outline: 0; }
.site-search input::placeholder { color: #798371; }
.site-cart { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; white-space: nowrap; font-size: 13px; font-weight: 600; }
.site-cart .cart-count { display: inline-grid; min-width: 20px; height: 20px; place-items: center; padding: 0 5px; border-radius: 20px; background: var(--site-soft); color: var(--site-accent); font-size: 11px; }
.site-account-menu { position: relative; }
.site-account-menu > button { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 0 4px; border: 0; background: transparent; color: var(--site-ink); cursor: pointer; font-size: 13px; }
.site-account-dropdown { position: absolute; top: calc(100% + 8px); right: 0; z-index: 52; min-width: 205px; padding: 7px; border: 1px solid var(--site-line); border-radius: 10px; background: #fff; box-shadow: 0 14px 35px rgba(31,39,28,.12); opacity: 0; visibility: hidden; transform: translateY(-4px); transition: .16s ease; }
.site-account-menu.is-open .site-account-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
@media (hover: none) {
    .site-account-menu:not(.is-open):hover .site-account-dropdown { opacity: 0; visibility: hidden; transform: translateY(-4px); pointer-events: none; }
}
.site-account-dropdown a { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 8px 10px; border-radius: 6px; color: var(--site-muted); font-size: 13px; }
.site-account-dropdown a:hover, .site-account-dropdown a:focus-visible { background: var(--site-soft); color: var(--site-accent); }
.site-account-dropdown .site-signout { margin-top: 5px; border-top: 1px solid var(--site-line); border-radius: 0 0 6px 6px; color: #9c3c34; }
.site-login { min-height: 44px; display: inline-flex; align-items: center; white-space: nowrap; color: var(--site-muted)!important; font-size: 13px; }
.site-register { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 0 14px; border-radius: 7px; background: var(--site-accent); color: #fff!important; white-space: nowrap; font-size: 13px; font-weight: 650; }
.site-register:hover { background: var(--site-accent-hover); }
.site-menu-toggle { display: none; width: 44px; height: 44px; place-items: center; border: 1px solid var(--site-line); border-radius: 8px; background: #fff; color: var(--site-ink); cursor: pointer; }
.site-mobile-menu[hidden] { display: none!important; }
.site-mobile-menu.is-open { display: block; border-top: 1px solid var(--site-line); background: var(--site-surface); }
.site-mobile-inner { max-width: 1320px; margin: 0 auto; padding: 16px 28px 22px; }
.site-mobile-inner form { position: relative; display: flex; margin-bottom: 12px; }
.site-mobile-inner input { width: 100%; min-height: 46px; padding: 0 52px 0 14px; border: 1px solid var(--site-line); border-radius: 8px; background: var(--site-page); color: var(--site-ink); }
.site-mobile-inner form button { position: absolute; right: 4px; top: 4px; width: 38px; height: 38px; border: 0; border-radius: 6px; background: var(--site-accent); color: #fff; }
.site-mobile-inner nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px 12px; }
.site-mobile-inner nav a { min-height: 44px; display: flex; align-items: center; padding: 8px 10px; border-radius: 6px; color: var(--site-muted); }
.site-mobile-inner nav a:hover, .site-mobile-inner nav a:focus-visible { background: var(--site-soft); color: var(--site-accent); }

.site-main { max-width: 1320px; min-height: 50vh; margin: 0 auto; padding: 30px 28px 54px; color: var(--site-ink); }
.site-main :where(.text-white) { color: var(--site-ink)!important; }
.site-main :where(.text-gray-300,.text-gray-400,.text-slate-300,.text-slate-400) { color: var(--site-muted)!important; }
.site-main :where(.bg-slate-800,.bg-slate-900) { background-color: var(--site-surface)!important; }
.site-main :where(.bg-slate-700) { background-color: var(--site-soft)!important; }
.site-main :where(.bg-slate-700\/30,.bg-slate-700\/50) { background-color: var(--site-soft)!important; }
.site-main :where(.bg-slate-800\/40,.bg-slate-800\/50,.bg-slate-800\/60,.bg-slate-800\/70,.bg-slate-800\/80,.bg-slate-900\/40) { background-color: var(--site-surface)!important; }
.site-main [class~="bg-slate-800"],.site-main [class~="bg-slate-900"] { background-color: var(--site-surface)!important; }
.site-main [class~="bg-slate-700"] { background-color: var(--site-soft)!important; }
.site-main [class~="bg-slate-700/30"],.site-main [class~="bg-slate-700/50"] { background-color: var(--site-soft)!important; }
.site-main [class~="bg-slate-800/40"],.site-main [class~="bg-slate-800/50"],.site-main [class~="bg-slate-800/60"],.site-main [class~="bg-slate-800/70"],.site-main [class~="bg-slate-800/80"],.site-main [class~="bg-slate-900/40"] { background-color: var(--site-surface)!important; }
.site-main [class~="bg-gray-700"][class~="text-gray-400"],.site-main [class~="bg-gray-600"][class~="text-gray-400"] { background-color: var(--site-soft)!important; color: var(--site-muted)!important; }
.site-main :where(.border-slate-700,.border-slate-800,.border-slate-600) { border-color: var(--site-line)!important; }
.site-main :where(.border-slate-700\/40,.border-slate-700\/50,.border-slate-700\/60,.border-slate-600\/50) { border-color: var(--site-line)!important; }
.site-main [class~="border-slate-700/40"],.site-main [class~="border-slate-700/50"],.site-main [class~="border-slate-700/60"],.site-main [class~="border-slate-600/50"] { border-color: var(--site-line)!important; }
.site-main :where(.text-primary,.text-indigo-400) { color: var(--site-accent)!important; }
.site-main :where(.bg-primary,.bg-indigo-500,.bg-indigo-600) { background-color: var(--site-accent)!important; }
.site-main :where(.bg-primary:hover,.bg-indigo-500:hover,.bg-indigo-600:hover) { background-color: var(--site-accent-hover)!important; }
.site-main :where(.bg-primary.text-white,.bg-indigo-500.text-white,.bg-indigo-600.text-white,.bg-red-500.text-white,.bg-green-500.text-white,.bg-blue-500.text-white,.bg-blue-600\/90.text-white,.bg-red-600\/90.text-white,.bg-gray-600.text-white,.bg-yellow-500.text-white,.bg-pink-500.text-white,.bg-accent.text-white),
.site-main :where(.bg-primary,.bg-indigo-500,.bg-indigo-600,.bg-red-500,.bg-green-500,.bg-blue-500,.bg-blue-600\/90,.bg-red-600\/90,.bg-gray-600,.bg-yellow-500,.bg-pink-500,.bg-accent) :where(.text-white),
.site-main :where([class*="bg-gradient-to-"].text-white) { color: #fff!important; }
.site-main :is(.text-gray-100,.text-gray-200,.text-slate-200) { color: var(--site-ink)!important; }
.site-main [class*="bg-gradient-to-"][class~="text-white"] { color: #fff!important; }
.site-main .studio-featured-article-badge { color: #fff!important; }
.site-main [class~="bg-primary"][class~="text-white"],.site-main [class~="bg-indigo-500"][class~="text-white"],.site-main [class~="bg-indigo-600"][class~="text-white"],.site-main [class~="bg-red-500"][class~="text-white"],.site-main [class~="bg-green-500"][class~="text-white"],.site-main [class~="bg-blue-500"][class~="text-white"],.site-main [class~="bg-blue-600/90"][class~="text-white"],.site-main [class~="bg-red-600/90"][class~="text-white"],.site-main [class~="bg-yellow-500"][class~="text-white"],.site-main [class~="bg-pink-500"][class~="text-white"],.site-main [class~="bg-accent"][class~="text-white"] { color: #fff!important; }
.site-main .prose-invert {
    --tw-prose-body: var(--site-ink);
    --tw-prose-headings: var(--site-ink);
    --tw-prose-lead: var(--site-muted);
    --tw-prose-links: var(--site-accent);
    --tw-prose-bold: var(--site-ink);
    --tw-prose-counters: var(--site-muted);
    --tw-prose-bullets: #a8b29b;
    --tw-prose-hr: var(--site-line);
    --tw-prose-quotes: var(--site-ink);
    --tw-prose-quote-borders: var(--site-line);
    --tw-prose-captions: var(--site-muted);
    --tw-prose-code: var(--site-ink);
    --tw-prose-pre-code: #e2e8f0;
    --tw-prose-pre-bg: #1e293b;
    --tw-prose-th-borders: var(--site-line);
    --tw-prose-td-borders: var(--site-line);
}
.site-main .article-prompt-panel { background: #1e293b!important; border-color: #475569!important; color: #e2e8f0; }
.site-main .article-prompt-panel__header { background: #273449!important; border-color: #475569!important; }
.site-main .article-prompt-panel__header .text-slate-400 { color: #cbd5e1!important; }
.site-main .article-prompt-panel__copy { background: #475569!important; color: #fff!important; }
.site-main .article-prompt-panel__copy:hover { background: var(--site-accent)!important; color: #fff!important; }
.site-main .article-prompt-panel :is(.text-gray-200,.text-gray-300,.text-gray-400,.text-slate-200,.text-slate-300,.text-slate-400) { color: #cbd5e1!important; }
.site-main .article-prompt-panel pre,.site-main .article-prompt-panel code { color: #e2e8f0!important; }
.site-main :where(input:not([type=checkbox]):not([type=radio]),select,textarea) { color: var(--site-ink); border-color: var(--site-line); }
.site-main :where(input:not([type=checkbox]):not([type=radio]),select,textarea)::placeholder { color: #818a7b; }
.site-main :where(button,a) { transition: color .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease; }
.site-layout { display: grid; grid-template-columns: minmax(190px,230px) minmax(0,1fr); gap: 32px; align-items: start; }
.site-sidebar { min-width: 0; }
.site-content { min-width: 0; }
.site-main-home .site-layout { display: block; }
.site-main-home .site-sidebar { display: none; }
.site-main-home .site-content { width: 100%; }

.site-sidebar .store-sidebar { padding: 16px!important; border: 1px solid var(--site-line)!important; border-radius: 10px!important; background: #fff!important; box-shadow: 0 2px 8px rgba(32,39,30,.035); }
.store-sidebar-section { margin-bottom: 22px; }
.store-sidebar-section:last-child { margin-bottom: 0; }
.store-sidebar-heading { display: flex; align-items: center; margin: 0 0 10px; padding: 0 2px 10px; border-bottom: 1px solid var(--site-line); color: var(--site-ink)!important; font-size: 14px; font-weight: 700; line-height: 1.4; }
.store-sidebar-heading i { color: var(--site-accent)!important; font-size: 14px; }
.store-sidebar-category-list { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.store-sidebar-category-link { display: flex; min-height: 40px; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 9px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: var(--site-ink)!important; font-size: 14px; font-weight: 500; line-height: 1.35; transition: background-color .16s ease,border-color .16s ease,color .16s ease; }
.store-sidebar-category-label { display: flex; min-width: 0; align-items: flex-start; gap: 7px; }
.store-sidebar-category-label > span { min-width: 0; overflow-wrap: anywhere; }
.store-sidebar-category-icon { width: 12px; flex: 0 0 12px; margin-top: 3px; color: #899381; font-size: 12px; transition: color .16s ease,transform .16s ease; }
.store-sidebar-category-count { display: inline-flex; min-width: 22px; height: 22px; flex: 0 0 auto; align-items: center; justify-content: center; padding: 0 5px; border-radius: 999px; background: #f0f2ec; color: var(--site-muted); font-size: 11px; font-weight: 650; }
.store-sidebar-category-link:hover,.store-sidebar-category-link:focus-visible { border-color: #e2e8db; background: #f1f4ec!important; color: var(--site-accent)!important; }
.store-sidebar-category-link:hover .store-sidebar-category-icon,.store-sidebar-category-link:focus-visible .store-sidebar-category-icon { color: var(--site-accent); transform: translateX(1px); }
.store-sidebar-category-link:hover .store-sidebar-category-count,.store-sidebar-category-link:focus-visible .store-sidebar-category-count { background: var(--site-accent); color: #fff; }
.store-sidebar-category-link[aria-current="page"] { border-color: #dfe6d7; background: #edf1e7!important; color: var(--site-accent)!important; font-weight: 650; }
.store-sidebar-category-link[aria-current="page"] .store-sidebar-category-icon { color: var(--site-accent); }
.store-sidebar-category-link[aria-current="page"] .store-sidebar-category-count { background: var(--site-accent); color: #fff; }
.store-sidebar-category-link:focus-visible { outline: 2px solid #82966e; outline-offset: 2px; }
.store-sidebar-promo { display: flex; min-height: 46px; align-items: center; justify-content: center; gap: 9px; padding: 10px 12px; border-radius: 7px; background: var(--site-accent); color: #fff!important; font-size: 14px; font-weight: 650; line-height: 1.35; text-align: center; transition: background-color .16s ease,transform .16s ease; }
.store-sidebar-promo:hover,.store-sidebar-promo:focus-visible { background: var(--site-accent-hover); color: #fff!important; }
.store-sidebar-promo:focus-visible { outline: 2px solid #82966e; outline-offset: 2px; }
.store-sidebar-article h4 { color: var(--site-ink)!important; }
.store-sidebar-article:hover h4,.store-sidebar-article:focus-visible h4 { color: var(--site-accent)!important; }
.store-sidebar-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.store-sidebar-tag { display: inline-flex; align-items: center; padding: 5px 10px; border: 1px solid var(--site-line); border-radius: 999px; background: #f3f4ef; color: var(--site-muted)!important; font-size: 12px; line-height: 1.35; transition: background-color .16s ease,border-color .16s ease,color .16s ease; }
.store-sidebar-tag:hover,.store-sidebar-tag:focus-visible { border-color: #dfe6d7; background: #edf1e7; color: var(--site-accent)!important; }
.store-sidebar-tag:focus-visible { outline: 2px solid #82966e; outline-offset: 2px; }
.store-sidebar-tags-count { display: inline-flex; min-width: 22px; height: 22px; align-items: center; justify-content: center; margin-left: auto; padding: 0 6px; border-radius: 999px; background: #f0f2ec; color: var(--site-muted); font-size: 11px; font-weight: 650; }
.store-sidebar-tags-details { margin-top: 10px; }
.store-sidebar-tags-toggle { display: inline-flex; max-width: 100%; align-items: center; gap: 8px; padding: 6px 9px; border: 1px solid var(--site-line); border-radius: 7px; background: #fff; color: var(--site-accent)!important; font-size: 12px; font-weight: 650; line-height: 1.35; cursor: pointer; list-style: none; }
.store-sidebar-tags-toggle::-webkit-details-marker { display: none; }
.store-sidebar-tags-toggle:focus-visible { outline: 2px solid #82966e; outline-offset: 2px; }
.store-sidebar-tags-toggle .fa-chevron-down { font-size: 10px; transition: transform .16s ease; }
.store-sidebar-tags-details[open] .store-sidebar-tags-toggle .fa-chevron-down { transform: rotate(180deg); }
.store-sidebar-tags-less-label { display: none; }
.store-sidebar-tags-details[open] .store-sidebar-tags-more-label { display: none; }
.store-sidebar-tags-details[open] .store-sidebar-tags-less-label { display: inline; }
.store-sidebar-tags-overflow { margin-top: 8px; }

.site-footer { margin-top: 20px; border-top: 1px solid var(--site-line); background: #f0f2eb; color: var(--site-ink); }
.site-footer-inner { max-width: 1320px; margin: 0 auto; padding: 48px 28px 22px; }
.site-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.1fr; gap: 32px; }
.site-footer-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; font-size: 18px; font-weight: 700; }
.site-footer-grid p { max-width: 320px; color: var(--site-muted); font-size: 13px; line-height: 1.7; }
.site-footer-grid h2 { margin: 3px 0 14px; font-size: 14px; font-weight: 700; }
.site-footer-grid ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; color: var(--site-muted); font-size: 13px; }
.site-footer-grid a:hover { color: var(--site-accent); }
.site-social-links { display: flex; gap: 14px; margin-top: 15px; color: var(--site-muted); font-size: 18px; }
.site-footer hr { height: 1px; margin: 28px 0 18px; border: 0; background: var(--site-line); }
.site-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--site-muted); font-size: 12px; }
.site-footer-bottom > div { display: flex; gap: 16px; }
.site-footer-bottom a:hover { color: var(--site-accent); }

@media (max-width: 1050px) {
    .site-header-inner { gap: 14px; padding-inline: 20px; }
    .site-nav { gap: 2px; }
    .site-nav a { padding-inline: 7px; font-size: 13px; }
    .site-search { min-width: 150px; }
    .site-main { padding-inline: 20px; }
    .site-layout { grid-template-columns: minmax(170px,205px) minmax(0,1fr); gap: 22px; }
}
@media (max-width: 820px) {
    .site-nav, .site-search, .site-login, .site-actions > .site-register { display: none; }
    .site-header-inner { min-height: 68px; }
    .site-menu-toggle { display: inline-grid; }
    .site-mobile-menu.is-open { display: block; }
    .site-main { padding-top: 22px; }
    .site-layout { display: flex; flex-direction: column; gap: 24px; }
    .site-content { width: 100%; order: 1; }
    .site-sidebar { width: 100%; order: 2; }
    .site-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 20px; }
}
@media (max-width: 520px) {
    .site-header-inner { min-height: 64px; padding: 9px 16px; gap: 8px; }
    .site-brand { font-size: 16px; gap: 8px; }
    .site-brand-mark { width: 31px; height: 31px; }
    .site-brand-symbol { width: 31px; height: 31px; }
    .site-brand-symbol-footer { width: 40px; height: 40px; }
    .site-brand-logo { max-width: 130px; max-height: 38px; }
    .site-actions { gap: 9px; }
    .site-cart { width: 42px; justify-content: center; font-size: 17px; }
    .site-cart span { display: none; }
    .site-cart .cart-count { position: absolute; top: -1px; right: -5px; min-width: 17px; height: 17px; font-size: 10px; }
    .site-account-menu > button { width: 42px; justify-content: center; }
    .site-account-menu > button span, .site-account-menu > button .fa-chevron-down { display: none; }
    .site-account-dropdown { position: fixed; top: 58px; right: 72px; }
    .site-mobile-inner { padding: 14px 16px 18px; }
    .site-mobile-inner nav { grid-template-columns: 1fr; }
    .site-main { padding: 18px 16px 40px; }
    .site-layout { gap: 18px; }
    .site-footer-inner { padding: 36px 16px 18px; }
    .site-footer-grid { gap: 24px 16px; }
    .site-footer-grid > :first-child { grid-column: 1/-1; }
    .site-footer-bottom { align-items: flex-start; flex-direction: column; gap: 12px; }
}

/* Studio Signature storefront and catalogue */
.studio-home { display: grid; gap: 52px; }
.studio-home-hero {
    position: relative; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center;
    gap: 30px; min-height: 400px; padding: clamp(28px,5vw,64px); overflow: hidden;
    border: 1px solid var(--site-line); border-radius: 14px; background: var(--site-surface);
}
.studio-home-copy { position: relative; z-index: 1; max-width: 560px; }
.studio-home-eyebrow { margin: 0 0 16px; color: var(--site-muted); font-size: 10px; font-weight: 700; letter-spacing: 1.3px; }
.studio-home-eyebrow:before { content: ''; display: inline-block; width: 20px; height: 2px; margin: 0 9px 3px 0; background: #708c4e; }
.studio-home-copy h1 { max-width: 590px; margin: 0; color: var(--site-ink); font-size: clamp(36px,5.1vw,62px); font-weight: 650; letter-spacing: -2.6px; line-height: 1.02; }
.studio-home-copy h1 em { display: block; margin-top: 8px; color: var(--site-accent); font-family: Georgia,serif; font-size: 1.02em; font-weight: 450; letter-spacing: -2.3px; }
.studio-home-description { max-width: 470px; margin: 20px 0 24px; color: var(--site-muted); font-size: 15px; line-height: 1.75; }
.studio-home-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.studio-home-primary, .studio-home-secondary { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 17px; border-radius: 7px; font-size: 13px; font-weight: 650; }
.studio-home-primary { background: var(--site-accent); color: #fff!important; }
.studio-home-primary:hover { background: var(--site-accent-hover); }
.studio-home-secondary { border: 1px solid var(--site-line); background: #fff; color: var(--site-ink)!important; }
.studio-home-secondary:hover { background: var(--site-soft); }
.studio-home-art { position: relative; display: grid; min-height: 300px; place-items: center; isolation: isolate; }
.studio-home-orbit { position: absolute; width: min(78%,300px); aspect-ratio: 1; right: 5%; top: 0; border-radius: 50%; background: #e6ecdd; }
.studio-home-orbit:before, .studio-home-orbit:after { content: ''; position: absolute; inset: 12%; border: 1px solid rgba(51,75,32,.14); border-radius: 50%; }
.studio-home-orbit:after { inset: 25%; }
.studio-home-poster { position: absolute; top: 28px; left: 22%; width: 168px; height: 240px; display: flex; flex-direction: column; justify-content: space-between; padding: 17px; transform: rotate(-7deg); border-radius: 8px; background: #293e2d; color: #edf4e5; box-shadow: 10px 12px 0 #cdd7c2; }
.studio-home-poster-brand { display: flex; align-items: center; gap: 8px; min-width: 0; }
.studio-home-poster-logo { display: block; width: 30px; height: 30px; flex: 0 0 auto; padding: 3px; border-radius: 6px; background: #f5f5f0; object-fit: contain; }
.studio-home-poster-brand span, .studio-home-poster small { font-size: 7px; font-weight: 700; letter-spacing: .75px; line-height: 1.4; }
.studio-home-poster strong { font-size: 32px; font-weight: 650; letter-spacing: -1.3px; line-height: .98; }
.studio-home-note { position: absolute; right: 0; bottom: 48px; display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--site-line); border-radius: 8px; background: #fff; color: var(--site-muted); font-size: 11px; box-shadow: 0 5px 18px rgba(32,39,30,.08); }
.studio-home-note i { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: var(--site-soft); color: var(--site-accent); }
.studio-home-note b { color: var(--site-ink); }
@media (max-width: 840px) { .studio-home-note { display: none; } }
.studio-home-art-caption { position: absolute; right: 8px; bottom: 8px; color: var(--site-muted); font-size: 8px; letter-spacing: 1.1px; }
.studio-home-stats { grid-column: 1/-1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; padding-top: 22px; border-top: 1px solid var(--site-line); }
.studio-home-stats div { display: flex; align-items: baseline; gap: 10px; }
.studio-home-stats b { color: var(--site-ink); font-size: 21px; font-weight: 700; letter-spacing: -.5px; }
.studio-home-stats span { color: var(--site-muted); font-size: 12px; }
.studio-home > section:not(.studio-home-hero) { margin: 0!important; }
.studio-home h2 { color: var(--site-ink); }
.studio-home .product-card { display: flex; flex-direction: column; border: 1px solid var(--site-line)!important; border-radius: 10px!important; background: #fff!important; box-shadow: none!important; }
.studio-home .product-card > div:last-child { display: flex; flex: 1; flex-direction: column; align-items: stretch; }
.studio-home .product-card img { aspect-ratio: 16/10; object-fit: cover; }
.studio-home .product-card .text-primary { color: var(--site-accent)!important; }
.studio-home .product-card a.block { margin-top: auto; border-radius: 6px; background: var(--site-accent)!important; }
.studio-home .product-card a.block:hover { background: var(--site-accent-hover)!important; }
.studio-featured-article-card { border: 1px solid var(--site-line)!important; border-radius: 10px!important; background: #fff!important; box-shadow: 0 3px 12px rgba(32,39,30,.04); }
.studio-featured-article-card:hover { border-color: #aab79b!important; }
.studio-featured-article-title, .studio-featured-article-title a { color: var(--site-ink)!important; }
.studio-featured-article-title a:hover { color: var(--site-accent)!important; }
.studio-featured-article-excerpt, .studio-featured-article-meta { color: var(--site-muted)!important; }
.studio-featured-article-meta { border-color: var(--site-line)!important; }
.studio-featured-article-badge { min-height: 26px; display: inline-flex; align-items: center; gap: 5px; padding: 0 10px; border-radius: 999px; color: #fff!important; font-size: 10px; font-weight: 700; letter-spacing: .04em; box-shadow: 0 2px 8px rgba(20,28,18,.2); }
.studio-featured-article-badge--featured { background: linear-gradient(90deg,#d97706,#c2410c)!important; }
.studio-featured-article-badge--trending { background: #30452d!important; }
.studio-home .bg-slate-800\/50 { border: 1px solid var(--site-line); border-radius: 12px; background: #fff!important; }

.store-catalog { display: grid; gap: 22px; }
.store-page-heading { margin: 0; }
.store-page-heading h1 { margin: 0 0 7px; color: var(--site-ink); font-size: clamp(28px,3vw,38px); font-weight: 650; letter-spacing: -1.3px; }
.store-page-heading p { margin: 0; color: var(--site-muted); font-size: 14px; }
.store-category-hero { position: relative; padding: 27px 30px; border: 1px solid var(--site-line); border-radius: 12px; background: #fff; }
.store-category-hero h1 { margin: 0 0 8px; color: var(--site-ink); font-size: clamp(27px,3vw,36px); font-weight: 650; letter-spacing: -1.2px; }
.store-category-hero p { max-width: 680px; margin: 0; color: var(--site-muted); }
.store-filter { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; padding: 16px; border: 1px solid var(--site-line); border-radius: 10px; background: #fff; }
.store-filter .store-filter-field { display: grid; gap: 6px; min-width: min(100%,190px); flex: 1; color: var(--site-muted); font-size: 11px; font-weight: 650; }
.store-filter select { width: 100%; min-height: 42px; padding: 0 12px; border: 1px solid var(--site-line); border-radius: 6px; background: var(--site-page); color: var(--site-ink); font-size: 13px; }
.store-filter-field input { width: 100%; min-height: 42px; padding: 0 12px; border: 1px solid var(--site-line); border-radius: 6px; background: var(--site-page); color: var(--site-ink); font-size: 13px; }
.store-result-summary { margin: 12px 0 0!important; font-size: 12px; }
.store-search-again { margin-top: 20px; }
.store-filter label { min-height: 42px; display: inline-flex; align-items: center; gap: 8px; padding: 0 10px; color: var(--site-muted); font-size: 13px; }
.store-filter input[type=checkbox] { width: 17px; height: 17px; accent-color: var(--site-accent); }
.store-filter button { min-height: 42px; padding: 0 16px; border: 0; border-radius: 6px; background: var(--site-accent)!important; color: #fff!important; font-size: 13px; font-weight: 650; cursor: pointer; }
.store-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
.store-product-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--site-line)!important; border-radius: 10px!important; background: #fff!important; transition: border-color .18s ease, transform .18s ease; }
.store-product-card:hover { transform: translateY(-2px); border-color: #aab79b!important; }
.store-product-card > div:last-child { display: flex; flex: 1; flex-direction: column; align-items: stretch; }
.store-product-card img { aspect-ratio: 16/10; object-fit: cover; }
.store-product-card h3 { min-height: 44px; color: var(--site-ink)!important; font-size: 14px; line-height: 1.5; }
.store-product-card h3 a:hover { color: var(--site-accent)!important; }
.store-product-card a.block { margin-top: auto; border-radius: 6px; background: var(--site-accent)!important; color: #fff!important; }
.store-product-card a.block:hover { background: var(--site-accent-hover)!important; }
.store-product-card .text-primary { color: var(--site-accent)!important; }
.store-product-grid + nav, .store-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; }
.store-empty { padding: 48px 20px; border: 1px solid var(--site-line); border-radius: 10px; background: #fff; color: var(--site-muted); text-align: center; }
.store-empty h2 { margin: 9px 0 5px; color: var(--site-ink); font-size: 19px; }

.product-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; color: var(--site-muted)!important; }
.product-breadcrumb > span:last-child { color: var(--site-ink)!important; font-weight: 550; }
.product-detail-layout { align-items: start; gap: clamp(24px,4vw,48px)!important; }
.product-detail-layout #mainImage { width: 100%; height: min(58vw,560px); object-fit: contain; padding: 12px; border: 1px solid var(--site-line)!important; border-radius: 12px!important; background: #edf0e9; cursor: zoom-in; }
.product-detail-layout .gallery-thumb { border-color: var(--site-line)!important; border-radius: 7px!important; }
.product-detail-layout .gallery-thumb:hover { border-color: #83966c!important; }
.product-detail-layout > div:nth-child(2) { padding: clamp(20px,3vw,34px); border: 1px solid var(--site-line); border-radius: 12px; background: #fff; }
.product-detail-layout h1 { margin-bottom: 10px; color: var(--site-ink); font-size: clamp(27px,3vw,36px); font-weight: 650; letter-spacing: -1.2px; line-height: 1.2; }
.product-detail-layout .text-gray-300 { color: var(--site-muted)!important; }
.product-detail-layout .text-3xl.font-bold { letter-spacing: -.7px; }
.product-detail-layout form button, .product-detail-layout a[class*=bg-] { min-height: 46px; border-radius: 7px; font-weight: 650; }
.studio-product-detail #lightbox { background: rgba(21,27,19,.94)!important; }
.studio-product-detail #lightbox button { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 8px; background: rgba(255,255,255,.1); }
.studio-product-detail #lightbox button[hidden] { display: none!important; }
.studio-product-detail #lightbox button, .studio-product-detail #lightbox .text-white { color: #fff!important; }
.studio-product-detail #lightboxImage { border-radius: 8px; }

.account-workspace { width: 100%; max-width: 1160px; margin: 0 auto; padding: 8px 0 18px; }
.account-workspace > .mb-8:first-child { margin-bottom: 24px!important; padding: 26px 28px; border: 1px solid var(--site-line); border-radius: 12px; background: #fff; }
.account-workspace > .mb-8:first-child h1 { margin: 0; color: var(--site-ink); font-size: clamp(27px,3vw,36px); font-weight: 650; letter-spacing: -1px; }
.account-workspace > .mb-8:first-child p { margin-top: 6px; color: var(--site-muted)!important; }
.account-workspace .bg-slate-800 { border-color: var(--site-line)!important; border-radius: 11px!important; box-shadow: 0 3px 12px rgba(32,39,30,.025); }
.account-workspace .bg-slate-700\/50, .account-workspace .bg-slate-700\/30 { background: #f4f5f0!important; }
.account-workspace input:focus, .account-workspace select:focus, .account-workspace textarea:focus { border-color: #82986a!important; box-shadow: 0 0 0 3px rgba(112,140,78,.13); }
.account-workspace .bg-indigo-500\/20 { background: #edf1e7!important; }
.account-workspace .bg-indigo-500, .account-workspace .bg-indigo-600 { background: var(--site-accent)!important; }
.account-workspace .bg-indigo-500:hover, .account-workspace .bg-indigo-600:hover { background: var(--site-accent-hover)!important; }
.account-workspace .bg-gradient-to-br { background: linear-gradient(135deg,#30452d,#71845c)!important; }
.account-workspace .text-indigo-400 { color: var(--site-accent)!important; }
.account-workspace nav a { min-height: 44px; }
.account-workspace button, .account-workspace a { outline-offset: 3px; }
.account-workspace .sticky { top: 92px; }
.account-workspace nav[aria-label="Điều hướng tài khoản"] a { border-radius: 7px; color: var(--site-muted)!important; }
.account-workspace nav[aria-label="Điều hướng tài khoản"] a[aria-current="page"] { background: #edf1e7!important; color: var(--site-accent)!important; font-weight: 650; }
.workspace-library-card { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 15px; margin-bottom: 20px; padding: 18px; border: 1px solid #d9e0d0; border-radius: 10px; background: #f1f4ec; }
.workspace-library-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 8px; background: #e0e8d7; color: var(--site-accent); }
.workspace-library-card h2 { margin: 0 0 4px; color: var(--site-ink); font-size: 14px; font-weight: 700; }
.workspace-library-card p { margin: 0; color: var(--site-muted); font-size: 12px; line-height: 1.55; }
.workspace-library-card > a { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 12px; border-radius: 6px; background: var(--site-accent); color: #fff!important; white-space: nowrap; font-size: 12px; font-weight: 650; }
.workspace-library-card > a:hover { background: var(--site-accent-hover); }
.account-workspace .bg-green-500\/20 { background: #eaf3e7!important; }
.account-workspace .bg-yellow-500\/20 { background: #f7f0dd!important; }
.account-workspace .bg-red-500\/20 { background: #f8e9e6!important; }
.account-workspace .text-red-400 { color: #9c3c34!important; }
.account-workspace .text-green-400 { color: #346340!important; }
.account-workspace .text-yellow-400 { color: #795c14!important; }
.account-workspace .order-items-preview { min-width: 0; }

@media (max-width: 960px) {
    .studio-home-hero { gap: 12px; padding: 34px; }
    .studio-home-art { min-height: 320px; }
    .studio-home-poster { left: 8%; width: 156px; transform: rotate(-5deg); }
    .studio-home-note { gap: 8px; padding: 10px; font-size: 10px; }
    .store-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .product-detail-layout #mainImage { height: min(72vw,500px); }
}
@media (max-width: 620px) {
    .studio-home { gap: 34px; }
    .studio-home-hero { grid-template-columns: 1fr; gap: 12px; padding: 25px 20px 18px; }
    .studio-home-copy h1 { font-size: clamp(35px,10vw,48px); letter-spacing: -1.8px; }
    .studio-home-copy h1 em { letter-spacing: -1.5px; }
    .studio-home-description { margin: 15px 0 19px; font-size: 14px; }
    .studio-home-art { min-height: 260px; margin: 0 -3px; }
    .studio-home-orbit { width: 220px; right: 8%; }
    .studio-home-poster { top: 17px; left: 22%; width: 140px; height: 200px; padding: 13px; }
    .studio-home-poster-logo { width: 26px; height: 26px; }
    .studio-home-poster-brand { gap: 6px; }
    .studio-home-poster-brand span, .studio-home-poster small { font-size: 7px; letter-spacing: .35px; }
    .studio-home-poster strong { font-size: 26px; letter-spacing: -1px; }
    .studio-home-note { right: -2px; bottom: 31px; padding: 9px; }
    .studio-home-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 8px; padding-top: 16px; }
    .studio-home-stats b { font-size: 18px; }
    .studio-home-stats span { font-size: 11px; }
    .store-catalog { gap: 16px; }
    .store-category-hero { padding: 21px 18px; }
    .store-filter { gap: 8px; padding: 12px; }
    .store-filter .store-filter-field { min-width: 100%; }
    .store-filter label { flex: 1; }
    .store-product-grid { gap: 11px; }
    .store-product-card > div:last-child { padding: 11px!important; }
    .store-product-card h3 { min-height: 52px; font-size: 13px; }
    .store-product-card a.block { font-size: 12px; }
    .account-workspace { padding-top: 0; }
    .account-workspace > .mb-8:first-child { padding: 21px 18px; }
    .account-workspace .grid-cols-2 { grid-template-columns: 1fr; }
    .workspace-library-card { grid-template-columns: auto minmax(0,1fr); gap: 11px; padding: 14px; }
    .workspace-library-card > a { grid-column: 1/-1; width: 100%; }
    .product-detail-layout { grid-template-columns: 1fr; }
    .product-detail-layout #mainImage { height: min(100vw,420px); }
    .product-detail-layout > div:nth-child(2) { padding: 20px 16px; }
}

/* ================================
   Dropdown
   ================================ */

/* Studio Signature cart and checkout */
.store-cart,
.store-checkout { --store-card: var(--site-surface); --store-border: var(--site-line); --store-muted: var(--site-muted); --store-ink: var(--site-ink); --store-accent: var(--site-accent); color: var(--store-ink); }
.store-cart__heading,
.store-checkout__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.store-cart__heading h1,
.store-checkout__heading h1 { margin: 0; font-size: clamp(30px,4vw,42px); line-height: 1.1; letter-spacing: -1.5px; }
.store-cart__heading > div > p:last-child,
.store-checkout__heading > div > p:last-child { margin: 9px 0 0; color: var(--store-muted); font-size: 14px; line-height: 1.6; }
.store-cart__eyebrow,
.store-checkout__eyebrow { margin: 0 0 9px; color: var(--store-muted); font-size: 10px; font-weight: 750; letter-spacing: 1.15px; }
.store-cart__continue,
.store-checkout__back { min-height: 44px; display: inline-flex; align-items: center; gap: 9px; color: var(--store-muted); font-size: 13px; font-weight: 650; white-space: nowrap; }
.store-cart__continue:hover,
.store-checkout__back:hover { color: var(--store-accent); }
.store-cart__layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; align-items: start; gap: 22px; }
.store-cart__items { display: grid; gap: 13px; min-width: 0; }
.store-cart__item { display: grid; grid-template-columns: 104px minmax(0,1fr) auto; align-items: start; gap: 18px; padding: 17px; border: 1px solid var(--store-border); border-radius: 12px; background: var(--store-card); }
.store-cart__image { width: 104px; aspect-ratio: 1; overflow: hidden; border-radius: 8px; background: var(--site-soft); }
.store-cart__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.store-cart__details { min-width: 0; }
.store-cart__details h2 { margin: 2px 0 7px; font-size: 16px; font-weight: 700; line-height: 1.4; }
.store-cart__variant { margin: 0 0 7px; color: var(--store-muted); font-size: 12px; }
.store-cart__unit-price { margin: 0; color: var(--store-accent); font-size: 13px; font-weight: 700; }
.store-cart__unit-price span { margin-right: 5px; color: var(--store-muted); font-size: 11px; font-weight: 500; }
.store-cart__controls { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 15px; }
.store-cart__quantity { display: inline-flex; align-items: center; overflow: hidden; border: 1px solid var(--store-border); border-radius: 7px; }
.store-cart__quantity button { width: 44px; min-height: 44px; border: 0; background: var(--site-page); color: var(--store-ink); cursor: pointer; font-size: 18px; }
.store-cart__quantity button:hover { background: var(--site-soft); }
.store-cart__quantity span { min-width: 38px; text-align: center; font-size: 13px; font-weight: 650; }
.store-cart__remove button { min-height: 44px; display: inline-flex; align-items: center; gap: 7px; padding: 0 7px; border: 0; background: transparent; color: #9c3c34; cursor: pointer; font-size: 12px; }
.store-cart__remove button:hover { color: #772d27; }
.store-cart__line-total { margin: 3px 0 0; font-size: 14px; font-weight: 750; white-space: nowrap; }
.store-cart__summary,
.store-checkout__form-card,
.store-checkout__summary { border: 1px solid var(--store-border); border-radius: 12px; background: var(--store-card); }
.store-cart__summary { position: sticky; top: 98px; padding: 23px; }
.store-cart__summary h2,
.store-checkout__summary h2 { margin: 0; font-size: 19px; letter-spacing: -.35px; }
.store-cart__totals,
.store-checkout__totals { display: grid; gap: 13px; margin: 20px 0; color: var(--store-muted); font-size: 13px; }
.store-cart__totals > div,
.store-checkout__totals > div { display: flex; justify-content: space-between; gap: 16px; }
.store-cart__discount { color: #346340; }
.store-cart__totals .store-cart__grand-total,
.store-checkout__totals .store-checkout__grand-total { margin-top: 4px; padding-top: 16px; border-top: 1px solid var(--store-border); color: var(--store-ink); font-size: 15px; }
.store-cart__grand-total strong:last-child,
.store-checkout__grand-total strong:last-child { color: var(--store-accent); font-size: 17px; }
.store-cart__button,
.store-checkout__submit { min-height: 49px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 17px; border: 0; border-radius: 7px; background: var(--store-accent); color: #fff; cursor: pointer; font-size: 13px; font-weight: 700; text-align: center; }
.site-body a.store-cart__button { color: #fff; }
.store-cart__button:hover,
.store-checkout__submit:hover { background: var(--site-accent-hover); color: #fff; }
.store-cart__button--full { width: 100%; }
.store-cart__secure,
.store-checkout__secure { display: flex; align-items: flex-start; justify-content: center; gap: 8px; margin: 15px 0 0; color: var(--store-muted); font-size: 11px; line-height: 1.5; text-align: center; }
.store-cart__secure i,
.store-checkout__secure i { margin-top: 2px; color: var(--store-accent); }
.store-cart__empty { display: flex; min-height: 360px; flex-direction: column; align-items: center; justify-content: center; padding: 42px 20px; border: 1px solid var(--store-border); border-radius: 13px; background: var(--store-card); text-align: center; }
.store-cart__empty-icon { width: 62px; height: 62px; display: grid; place-items: center; margin-bottom: 21px; border-radius: 50%; background: var(--site-soft); color: var(--store-accent); font-size: 24px; }
.store-cart__empty .store-cart__eyebrow { margin-bottom: 8px; }
.store-cart__empty h2 { margin: 0; font-size: 23px; letter-spacing: -.5px; }
.store-cart__empty > p:not(.store-cart__eyebrow) { max-width: 430px; margin: 10px 0 22px; color: var(--store-muted); font-size: 13px; line-height: 1.7; }

.store-checkout__layout { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr); align-items: start; gap: 22px; }
.store-checkout__form-card,
.store-checkout__summary { min-width: 0; padding: clamp(19px,3vw,28px); }
.store-checkout__card-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 22px; }
.store-checkout__step { width: 40px; height: 40px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--site-soft); color: var(--store-accent); font-size: 12px; font-weight: 750; }
.store-checkout__card-heading h2 { margin: 0; font-size: 19px; }
.store-checkout__card-heading p { margin: 5px 0 0; color: var(--store-muted); font-size: 12px; }
.store-checkout__form { display: grid; gap: 22px; }
.store-checkout__fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.store-checkout__field { display: grid; gap: 7px; min-width: 0; }
.store-checkout__field:nth-child(4) { grid-column: 1/-1; }
.store-checkout__field label,
.store-checkout__payments legend { color: var(--store-ink); font-size: 12px; font-weight: 650; }
.store-checkout__field label span,
.store-checkout__payments legend span { color: #9c3c34; }
.store-checkout__field .store-checkout__optional { margin-left: 5px; color: var(--store-muted); font-size: 11px; font-weight: 450; }
.store-checkout__field input,
.store-checkout__field textarea { width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid var(--store-border); border-radius: 7px; background: #fff; color: var(--store-ink); font-size: 13px; }
.store-checkout__field textarea { min-height: 92px; resize: vertical; }
.store-checkout__field input:focus,
.store-checkout__field textarea:focus { border-color: #708c4e; outline: 2px solid rgba(112,140,78,.2); }
.store-checkout__payments { min-width: 0; margin: 0; padding: 0; border: 0; }
.store-checkout__payments legend { margin-bottom: 11px; }
.store-checkout__payment-options { display: grid; gap: 9px; }
.store-checkout__payment-option { min-height: 60px; display: grid; grid-template-columns: 19px 42px minmax(0,1fr) 18px; align-items: center; gap: 12px; padding: 10px 13px; border: 1px solid var(--store-border); border-radius: 8px; background: #fff; cursor: pointer; font-size: 13px; }
.store-checkout__payment-option:hover { border-color: #b6c4a7; background: #fbfcf9; }
.store-checkout__payment-option input { width: 17px; height: 17px; margin: 0; accent-color: var(--store-accent); }
.store-checkout__payment-option img { width: 40px; max-height: 30px; object-fit: contain; }
.store-checkout__payment-option > i:last-child { color: var(--store-accent); opacity: 0; }
.store-checkout__payment-option:focus-within { outline: 3px solid rgba(112,140,78,.35); outline-offset: 2px; }
.store-checkout__payment-option:has(input:checked) { border-color: #91a77a; background: #f7f9f4; }
.store-checkout__payment-option:has(input:checked) > i:last-child { opacity: 1; }
.store-checkout__payment-option .store-checkout__bank-icon { justify-self: center; color: var(--store-accent); font-size: 22px; }
.store-checkout__unavailable { padding: 13px; border: 1px solid #e5b9b2; border-radius: 7px; background: #fbefed; color: #8d352d; font-size: 12px; line-height: 1.55; }
.store-checkout__submit { width: 100%; min-height: 52px; }
.store-checkout__submit:disabled { opacity: .58; cursor: not-allowed; }
.store-checkout__secure { margin-top: -11px; }
.store-checkout__summary { position: sticky; top: 98px; }
.store-checkout__summary > .store-checkout__eyebrow { margin-bottom: 8px; }
.store-checkout__items { display: grid; gap: 0; margin-top: 17px; }
.store-checkout__item { display: grid; grid-template-columns: 62px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--store-border); }
.store-checkout__item > img { width: 62px; height: 62px; border-radius: 7px; background: var(--site-soft); object-fit: cover; }
.store-checkout__item-details { min-width: 0; }
.store-checkout__item h3 { display: -webkit-box; overflow: hidden; margin: 0 0 4px; font-size: 12px; font-weight: 650; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.store-checkout__item-details p,
.store-checkout__item-details span { display: block; margin: 3px 0 0; color: var(--store-muted); font-size: 10px; line-height: 1.4; }
.store-checkout__item > strong { font-size: 11px; white-space: nowrap; }
.store-checkout__totals { margin-bottom: 0; }

@media (max-width: 900px) {
    .store-cart__layout,
    .store-checkout__layout { grid-template-columns: minmax(0,1fr); }
    .store-cart__summary,
    .store-checkout__summary { position: static; }
}
@media (max-width: 620px) {
    .store-cart__heading,
    .store-checkout__heading { align-items: flex-start; flex-direction: column; gap: 12px; margin-bottom: 20px; }
    .store-cart__heading h1,
    .store-checkout__heading h1 { font-size: 34px; }
    .store-cart__item { grid-template-columns: 72px minmax(0,1fr); gap: 12px; padding: 13px; }
    .store-cart__image { width: 72px; }
    .store-cart__details h2 { font-size: 14px; }
    .store-cart__line-total { grid-column: 2; margin-top: -3px; font-size: 13px; }
    .store-cart__controls { gap: 8px; margin-top: 12px; }
    .store-cart__quantity button { width: 44px; min-height: 44px; }
    .store-cart__remove button { padding-inline: 3px; }
    .store-cart__summary,
    .store-checkout__form-card,
    .store-checkout__summary { padding: 18px; }
    .store-cart__empty { min-height: 310px; }
    .store-checkout__fields { grid-template-columns: minmax(0,1fr); }
    .store-checkout__field:nth-child(4) { grid-column: auto; }
    .store-checkout__payment-option { grid-template-columns: 18px 38px minmax(0,1fr) 16px; gap: 9px; padding-inline: 10px; }
    .store-checkout__item { grid-template-columns: 54px minmax(0,1fr); gap: 10px; }
    .store-checkout__item > img { width: 54px; height: 54px; }
    .store-checkout__item > strong { grid-column: 2; margin-top: -5px; }
}
