:root {
    --ink: #1b2822;
    --ink-soft: #39483f;
    --paper: #f7f5ef;
    --white: #fff;
    --mist: #e9ece6;
    --line: #dce2db;
    --muted: #737d76;
    --accent: #e66b49;
    --accent-dark: #b64b31;
    --accent-pale: #f9e9e1;
    --purchase-cta: #ed896c;
    --purchase-cta-hover: #e27b5f;
    --purchase-cta-ink: #35251e;
    --warm: #f0c75c;
    --shadow: 0 20px 56px rgba(24, 42, 33, .11);
    --radius: 20px;
}

body { background: var(--paper); color: var(--ink); }
.announcement { min-height: 28px; height: auto; padding: 4px 12px; background: var(--warm); color: #26352c; font-size: var(--announcement-font-size, 9px); font-weight: 700; line-height: 1.25; letter-spacing: .025em; text-align: center; text-transform: none; }
.site-header { position: sticky; top: 0; background: rgba(255,255,255,.94); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(220,226,219,.8); }
.header-main { height: 62px; min-height: 62px; gap: 18px; }
.brand { gap: 9px; font-size: 15px; letter-spacing: .06em; }
.brand-mark { width: 30px; height: 30px; background: var(--accent); color: #fff; border-radius: 10px 10px 10px 3px; box-shadow: 0 7px 15px rgba(182,75,49,.18); font-size: 18px; }
.header-search { display: grid; flex: 1; grid-template-columns: minmax(0, 1fr) minmax(130px, .45fr) auto; align-items: center; gap: 6px; width: auto; max-width: 760px; min-width: 0; height: 42px; margin-left: auto; padding: 4px; border-radius: 12px; background: #f5f5f0; }
.header-search input { width: 100%; height: 100%; padding: 0 12px; font-size: 12px; }
.header-search select { width: 100%; min-width: 0; height: 100%; padding: 0 10px; border: 0; border-left: 1px solid #e1e6df; border-radius: 0; background: transparent; color: var(--ink-soft); font-size: 11px; text-transform: none; }
.header-search .header-search-submit { width: auto; min-height: 34px; height: 34px; padding: 0 13px; border-radius: 9px; background: var(--accent); color: #fff; font-size: 10px; white-space: nowrap; }
.header-search:focus-within { border-color: #c6d1c8; box-shadow: 0 0 0 3px rgba(82,117,95,.09); }
.header-search-mobile, .mobile-search-row { display: none; }
.cart-link { min-height: 36px; padding: 0 10px; border: 1px solid var(--line); border-radius: 11px; font-weight: 700; }
.cart-count { color: var(--accent-dark); }
.site-nav { border-top: 1px solid #f0f1ec; }
.nav-inner { min-height: 38px; justify-content: flex-start; gap: 22px; overflow-x: auto; white-space: nowrap; scrollbar-width: thin; }
.nav-inner a { font-weight: 650; }
.nav-inner > a { flex: 0 0 auto; }
.nav-inner a:hover { color: var(--accent-dark); }

.hero {
    min-height: 370px;
    margin-top: 18px;
    border-radius: 24px;
    padding: 42px 7.5%;
    background: radial-gradient(circle at 79% 26%, rgba(240,199,92,.2), transparent 23%), linear-gradient(125deg, #17291f 0%, #274937 62%, #386349 100%);
    box-shadow: 0 28px 70px rgba(24,42,33,.15);
}
.hero:before { content: ""; position: absolute; width: 340px; height: 340px; right: -100px; top: -140px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 32px rgba(255,255,255,.025), 0 0 0 74px rgba(255,255,255,.02); }
.hero:after { background: radial-gradient(ellipse at 75% 80%, rgba(230,107,73,.15), transparent 34%), linear-gradient(120deg, transparent 45%, rgba(255,255,255,.025)); }
.hero h1 { max-width: 560px; margin: 12px 0; font-size: clamp(40px, 4.5vw, 60px); }
.hero h1 em { color: #f0c75c; }
.hero-copy>p:not(.eyebrow) { max-width: 475px; font-size: 15px; line-height: 1.55; }
.hero-actions { gap: 14px; margin-top: 18px; }
.hero .button-light { min-height: 44px; padding-inline: 20px; border-radius: 12px; font-weight: 750; }
.hero-note { display: inline-flex; align-items: center; gap: 9px; }
.hero-note:before { content: ""; width: 7px; height: 7px; background: var(--warm); border-radius: 50%; box-shadow: 0 0 0 5px rgba(240,199,92,.12); }
.hero-art { height: 250px; transform: scale(.78); filter: drop-shadow(0 20px 30px rgba(0,0,0,.18)); }
.art-orbit { border-color: rgba(240,199,92,.4); box-shadow: 0 0 0 18px rgba(240,199,92,.045), 0 0 0 56px rgba(255,255,255,.035); }
.art-sheet { border-radius: 12px; }
.art-sheet-front { background: linear-gradient(145deg, #fffdf7, #f4dfc8); box-shadow: 0 24px 55px rgba(5,17,11,.28); }
.art-sheet-back { background: linear-gradient(145deg, #efc95d, #df8b56); }
.art-mark { color: var(--accent); }
.art-stamp { color: #3f5b49; }
.art-caption { color: #c6d5c8; }
.hero-index { bottom: 16px; left: 7.5%; color: #dbe4dc; }
.hero-index span:first-child { color: var(--warm); }

.trust-strip { background: #fff; border-block: 1px solid #e8ebe4; }
.trust-grid { min-height: 76px; }
.trust-grid span { font-size: 12px; font-weight: 600; }
.trust-grid b { display: inline-grid; place-items: center; width: 25px; height: 25px; margin-right: 8px; border-radius: 9px; background: var(--accent-pale); color: var(--accent-dark); }
.section { padding-block: 94px; }
.section-soft { background: #efefe9; }
.section-heading { margin-bottom: 36px; }
.section-heading h1, .section-heading h2 { font-size: clamp(34px, 3.2vw, 48px); }
.text-link { border-color: #e3a58e; }
.category-grid { gap: 18px; }
.category-tile { min-height: 230px; padding: 24px; border: 1px solid rgba(46,69,54,.08); border-radius: 18px; box-shadow: 0 8px 22px rgba(36,51,41,.04); }
.category-tile:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.category-tone-1 { background: linear-gradient(145deg, #e8efe8, #d7e3da); }
.category-tone-2 { background: linear-gradient(145deg, #f6e9de, #eed7c7); }
.category-tone-3 { background: linear-gradient(145deg, #e7e8f0, #d8dce9); }
.category-symbol { color: rgba(35,65,47,.28); font-size: 75px; }
.tile-arrow { border-radius: 10px; background: rgba(255,255,255,.48); }

.product-grid { gap: 23px; }
.product-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid #cbd7cd; border-radius: 18px; background: #fff; box-shadow: 0 8px 25px rgba(31,45,36,.055); transition: transform .24s, box-shadow .24s, border-color .24s; }
.product-card:hover { transform: translateY(-6px); border-color: #91aa98; box-shadow: 0 22px 48px rgba(31,45,36,.12); }
.product-card-image { position: relative; display: block; overflow: hidden; aspect-ratio: 1.24; background: linear-gradient(145deg, #edf0e9, #e1e8df); }
.product-card-image img { transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.product-card:hover .product-card-image img { transform: scale(1.045); }
.image-label { top: 15px; left: 15px; border-radius: 8px; background: #fff8; color: #394c3f; backdrop-filter: blur(8px); }
.product-card-body { display: flex; flex: 1; flex-direction: column; padding: 21px 21px 19px; }
.card-category { color: var(--accent-dark); }
.product-card h3 { display: -webkit-box; min-height: 2.3em; overflow: hidden; font-size: 23px; line-height: 1.15; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.product-card-body>p { display: -webkit-box; min-height: 3.5em; max-height: 3.5em; overflow: hidden; line-height: 1.7; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.product-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 4px; }
.product-card-bottom .price, .product-card-bottom .text-link { flex: 0 0 auto; white-space: nowrap; }
.product-card-bottom .text-link { font-size: 10px; }
.price { color: #23382c; font-size: 16px; }
.card-cart-form.button, .card-cart-form .button { min-height: 43px; border-radius: 12px; font-weight: 700; }
.card-cart-form.button { display: flex; width: 100%; align-items: center; justify-content: center; text-align: center; }
.card-cart-form.button, .card-cart-form .button, .product-purchase-row > .button { border-color: transparent; background: var(--purchase-cta); color: var(--purchase-cta-ink); }
.card-cart-form.button:hover, .card-cart-form .button:hover, .product-purchase-row > .button:hover,
.card-cart-form.button:focus-visible, .card-cart-form .button:focus-visible, .product-purchase-row > .button:focus-visible { border-color: var(--purchase-cta-hover); background: var(--purchase-cta-hover); color: var(--purchase-cta-ink); }
.about-band { position: relative; overflow: hidden; background: linear-gradient(115deg, #182c22, #294c37); }
.about-band:after { content: ""; position: absolute; width: 390px; height: 390px; right: -90px; top: -170px; border: 1px solid rgba(240,199,92,.3); border-radius: 50%; box-shadow: 0 0 0 32px rgba(240,199,92,.045), 0 0 0 82px rgba(255,255,255,.025); }
.about-grid { position: relative; z-index: 1; }
.about-number { color: var(--warm); }
.button-primary { background: var(--accent); color: #fff; }
.button-primary:hover { background: var(--accent-dark); }
.button-dark { background: #203b2b; color: #fff; }
.button-dark:hover { background: #14291c; }
.button-quiet { border-color: #d8e2d8; border-radius: 12px; color: #385744; }

.page-hero { background: radial-gradient(circle at 88% 20%, rgba(240,199,92,.15), transparent 24%), linear-gradient(120deg, #182b21, #31543e); }
.page-hero h1 em { color: var(--warm); }
.page-hero-small.country-tag-hero, .page-hero-small.category-page-hero { padding: 28px 0 30px; }
.country-tag-hero .breadcrumbs, .category-page-hero .breadcrumbs { margin-bottom: 16px; font-size: 13px; }
.country-tag-hero .taxonomy-page-title, .category-page-hero .taxonomy-page-title { margin: 0; color: #f6f5f1; font-size: clamp(24px, 2.2vw, 30px); font-weight: 650; line-height: 1.25; letter-spacing: -.02em; }
.category-page-description { max-width: 800px; margin: 0 0 20px; color: #68756d; font-size: 14px; line-height: 1.7; }
@media (max-width: 720px) {
    .page-hero-small.country-tag-hero, .page-hero-small.category-page-hero { padding: 22px 0 24px; }
    .country-tag-hero .breadcrumbs, .category-page-hero .breadcrumbs { margin-bottom: 12px; font-size: 12px; }
    .country-tag-hero .taxonomy-page-title, .category-page-hero .taxonomy-page-title { font-size: 23px; }
}
.shop-filters, .order-summary, .blog-sidebar, .specification-panel { border-radius: 18px; box-shadow: 0 8px 28px rgba(31,45,36,.06); }
.shop-filters { gap: 15px; padding: 22px; }
.shop-filters input, .shop-filters select, .form-stack input, .checkout-form input, .checkout-form textarea { border-radius: 10px; }
.product-detail-section { padding-top: 44px; }
.page-hero-small.breadcrumb-hero { padding-block: 15px; background: linear-gradient(120deg, #182b21, #31543e); }
.breadcrumb-hero .breadcrumbs { margin: 0; color: #b8c6b9; font-size: 12px; }
.breadcrumb-hero .breadcrumbs a:hover { color: #fff; }
.breadcrumb-hero .breadcrumbs > span:not(:last-child) { color: rgba(236, 243, 236, .56); }
.breadcrumb-hero .breadcrumbs > span:last-child { color: #f6f5f1; font-weight: 650; }
.product-main-image { border-radius: 24px; background: linear-gradient(145deg, #e6eee6, #f0e2d5); box-shadow: 0 18px 45px rgba(31,45,36,.08); }
.product-detail-copy { padding: 25px 29px 30px; border: 1px solid #e5e7df; border-radius: 22px; background: #fff; box-shadow: 0 14px 36px rgba(31,45,36,.06); }
.detail-price { display: inline-flex; padding: 8px 14px; border-radius: 12px; background: var(--accent-pale); color: var(--accent-dark); }
.product-purchase-row { display: flex; flex: 1 0 100%; align-items: center; flex-wrap: nowrap; gap: 8px; min-width: 0; }
.product-purchase-row .detail-price { flex: 0 0 auto; margin: 0; padding: 7px 12px; font-size: 17px; white-space: nowrap; }
.detail-file-format { display: grid; flex: 0 1 auto; align-content: center; gap: 2px; min-width: 0; max-width: 150px; padding: 7px 10px; border-radius: 12px; background: var(--accent-pale); color: var(--accent-dark); }
.detail-file-format small { overflow: hidden; margin: 0; font-size: 7px; line-height: 1.1; letter-spacing: .08em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.detail-file-format strong { overflow: hidden; font-size: 11px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.product-purchase-row > .button { flex: 0 1 auto; min-width: 0; margin-left: auto; padding-inline: 13px; white-space: nowrap; }
.add-to-cart-form .button { border-radius: 13px; }
.delivery-note { border-radius: 13px; background: #eff4ed; }
.product-information { padding-top: 88px; }
.prose { font-size: 15px; }
.rich-content { overflow-wrap: anywhere; }
.rich-content > :first-child { margin-top: 0; }
.rich-content img { display: block; max-width: 100%; height: auto; border-radius: 12px; }
.rich-content figure { max-width: 100%; margin: 1.5rem 0; }
.rich-content figcaption { margin-top: 8px; color: var(--muted); font-size: .88em; }
.rich-content table { width: 100%; border-collapse: collapse; margin-block: 1.25rem; }
.rich-content th, .rich-content td { border: 1px solid var(--line); padding: .65rem .8rem; text-align: left; }
.rich-content blockquote { margin: 1.5rem 0; padding: .2rem 0 .2rem 1.2rem; border-left: 4px solid var(--accent); color: #52645a; }
.rich-content hr { border: 0; border-top: 1px solid var(--line); margin: 2rem 0; }
.site-footer { background: #17271f; }

.admin-page { background: #f2f4ef; }
.admin-sidebar { width: 258px; padding: 12px 14px 9px; background: linear-gradient(180deg, #1d3428, #182a21); box-shadow: 10px 0 30px rgba(19,35,26,.08); }
.admin-brand { padding-bottom: 8px; }
.admin-brand .brand-mark { border-radius: 10px 10px 10px 3px; background: var(--warm); color: #28372d; }
.admin-nav-label { margin: 8px 0 3px; padding-inline: 8px; }
.admin-nav { gap: 1px; }
.admin-nav a { min-height: 31px; gap: 7px; padding: 2px 9px; border-radius: 7px; font-size: 10px; line-height: 1.1; }
.admin-nav a.active { background: rgba(255,255,255,.13); box-shadow: inset 3px 0 var(--warm); }
.admin-nav a:hover { background: rgba(255,255,255,.09); }
.nav-icon { width: 18px; color: #efc75d; font-size: 13px; }
.admin-sidebar-bottom { gap: 6px; padding: 9px 8px 0; }
.admin-main { margin-left: 258px; }
.admin-topbar { position: sticky; top: 0; z-index: 25; height: 72px; background: rgba(255,255,255,.94); backdrop-filter: blur(14px); }
.admin-breadcrumb strong { color: #24382b; font-size: 12px; }
.admin-avatar { background: #f6e3d9; color: #a8462f; font-weight: 750; }
.admin-content { padding: 34px clamp(22px, 3vw, 48px) 42px; }
.admin-page-heading { align-items: center; margin-bottom: 28px; }
.admin-page-heading h1 { font: 500 clamp(31px, 3vw, 42px)/1.1 var(--sans); letter-spacing: -.045em; color: #1c2b22; }
.admin-page-heading>div>p:not(.eyebrow) { color: #7a857d; font-size: 13px; }
.admin-page-heading .eyebrow { color: var(--accent-dark); }
.button { min-height: 44px; border-radius: 12px; font-size: 12px; }
.admin-page .button-primary { box-shadow: 0 9px 18px rgba(182,75,49,.16); }
.admin-page .button-primary:hover { box-shadow: 0 12px 24px rgba(182,75,49,.22); }
.stat-grid { gap: 15px; }
.stat-card { position: relative; overflow: hidden; min-height: 124px; padding: 22px; border: 1px solid #e3e8e1; border-radius: 17px; background: linear-gradient(145deg,#fff,#fbfcf8); box-shadow: 0 8px 23px rgba(28,43,33,.045); }
.stat-card:after { content: ""; position: absolute; width: 74px; height: 74px; right: -22px; bottom: -27px; border: 12px solid #edf2e9; border-radius: 50%; }
.stat-card strong { color: #253e2e; font-size: 31px; }
.stat-card i { color: var(--accent); }
.admin-panel, .admin-list-panel { border: 1px solid #e3e8e1; border-radius: 17px; background: #fff; box-shadow: 0 9px 25px rgba(28,43,33,.045); }
.admin-panel { padding: 23px; }
.panel-heading h2 { font-size: 23px; }
.admin-table th { background: #f7f8f4; color: #7b877e; font-size: 9px; letter-spacing: .09em; }
.admin-table td { border-bottom-color: #edf0eb; }
.admin-table tbody tr:hover { background: #fbfcf9; }
.admin-toolbar { margin-bottom: 19px; }
.admin-filter { padding: 16px; border: 1px solid #e3e8e1; border-radius: 15px; background: #fff; box-shadow: 0 6px 18px rgba(28,43,33,.035); }
.admin-filter label { font-size: 9px; font-weight: 700; letter-spacing: .08em; }
.admin-filter input, .admin-filter select, .admin-form input, .admin-form textarea, .admin-form select { border-radius: 10px; background: #fff; }
.admin-filter input:focus, .admin-filter select:focus, .admin-form input:focus, .admin-form textarea:focus, .admin-form select:focus { border-color: #aabdaf; box-shadow: 0 0 0 3px rgba(63,111,78,.1); }
.admin-action { border-radius: 8px; font-size: 10px; }
.admin-visibility { border-radius: 20px; padding: 5px 9px; font-weight: 700; }
.admin-visibility.is-active { background: #e4f0e4; color: #416c49; }
.admin-visibility.is-draft { background: #f8efdc; color: #84662f; }
.admin-product-cell img { width: 48px; height: 48px; border-radius: 10px; object-fit: contain; background: #edf1eb; }
.admin-footer { color: #8a958d; }

.add-product-button, .admin-create-product { display: inline-flex; align-items: center; gap: 11px; min-height: 52px; padding: 0 18px 0 12px; border-radius: 15px; }
.add-product-button .button-plus, .admin-create-product .button-plus { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; background: rgba(255,255,255,.19); font-size: 23px; font-weight: 400; line-height: 1; }
.add-product-button .button-copy, .admin-create-product .button-copy { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.2; }
.add-product-button strong, .admin-create-product strong { font-size: 12px; }
.add-product-button small, .admin-create-product small { margin-top: 3px; color: rgba(255,255,255,.76); font-size: 9px; font-weight: 500; }

.product-page-heading { align-items: flex-start; }
.product-heading-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.product-view-storefront { min-height: 36px; gap: 7px; padding-inline: 12px; border-radius: 10px; font-size: 9px; font-weight: 750; }
.product-view-storefront svg { width: 15px; height: 15px; }
.product-editor-form { display: block; }
.product-mobile-save { display: none; }
.product-editor-layout { display: grid; grid-template-columns: minmax(0,1fr) 325px; gap: 22px; align-items: start; }
.product-editor-main, .product-editor-aside { display: grid; gap: 18px; min-width: 0; }
.product-editor-aside { position: sticky; top: 92px; }
.product-editor-card { min-width: 0; padding: 23px; border: 1px solid #e2e8e1; border-radius: 17px; background: #fff; box-shadow: 0 8px 22px rgba(29,45,34,.045); }
.product-editor-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.product-editor-card-head h2 { margin: 0; color: #203429; font-size: 18px; letter-spacing: -.02em; }
.product-editor-card-head p { margin: 4px 0 0; color: #879188; font-size: 11px; }
.editor-step { display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border-radius: 11px; background: #f7e9df; color: #a94831; font-size: 10px; font-weight: 800; }
.product-editor-form label { color: #536158; font-size: 10px; font-weight: 700; letter-spacing: .045em; }
.product-editor-form input, .product-editor-form textarea, .product-editor-form select { min-height: 45px; padding: 11px 13px; font-size: 13px; }
.product-editor-form textarea { min-height: 90px; }
.product-field-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(180px,.62fr); gap: 15px; }
.field-with-count { position: relative; }
.field-with-count textarea { padding-bottom: 26px; }
.field-with-count small { position: absolute; right: 12px; bottom: 9px; margin: 0; color: #9aa39b; font-size: 9px; }
.product-slug-field input { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; }
.product-editor-aside .product-editor-card { padding: 20px; }
.product-publish-status { display: inline-flex; align-items: center; gap: 8px; padding: 7px 10px; border-radius: 20px; background: #f1f4ef; color: #647168; font-size: 10px; font-weight: 700; }
.product-publish-status:before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #9da89f; }
.product-publish-status.is-published { background: #e7f2e7; color: #426e4a; }
.product-publish-status.is-published:before { background: #5c9a64; }
.product-publish-status.is-draft { background: #f8efdc; color: #84662f; }
.product-publish-status.is-draft:before { background: #bd9345; }
.product-editor-aside .button-full { width: 100%; }
.product-editor-aside .form-actions { display: grid; gap: 9px; margin-top: 14px; }
.product-editor-aside .form-actions .button { width: 100%; }
.editor-switch-row { display: flex; align-items: center; gap: 10px; padding: 13px 0; border-top: 1px solid #edf0eb; }
.editor-switch-row input[type=checkbox] { width: 18px; min-height: 18px; accent-color: var(--accent-dark); }
.editor-switch-row span { display: flex; flex-direction: column; gap: 2px; }
.editor-switch-row strong { color: #34463a; font-size: 11px; }
.editor-switch-row small { margin: 0; font-size: 9px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.product-image-drop { position: relative; display: grid; justify-items: center; gap: 7px; min-height: 143px; padding: 19px; border: 1px dashed #b8c8b8; border-radius: 13px; background: #f8faf6; text-align: center; cursor: pointer; }
.product-image-drop:hover { border-color: #79937e; background: #f1f6ee; }
.product-image-drop .upload-mark { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 13px; background: #eaf1e7; color: #436e4b; font-size: 21px; }
.product-image-drop strong { color: #35463a; font-size: 11px; }
.product-image-drop small { margin: 0; font-size: 9px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.product-image-drop input[type=file] { min-height: 0; padding: 0; border: 0; background: none; font-size: 10px; }
.gallery-admin { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.gallery-admin-item { position: relative; display: grid; gap: 5px; padding: 6px; border: 1px solid #e6ebe3; border-radius: 11px; }
.gallery-admin-item img { border-radius: 7px; }
.gallery-admin-item > label { display: flex; flex-direction: row; align-items: center; gap: 5px; margin: 0; font-size: 9px; letter-spacing: 0; line-height: 1.25; text-transform: none; }
.gallery-admin-item > label input[type=checkbox], .gallery-admin-item > label input[type=radio] { flex: 0 0 15px; width: 15px; min-height: 15px; height: 15px; margin: 0; padding: 0; }
.product-image-remove { position: absolute; z-index: 2; top: 10px; right: 10px; display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 1px solid rgba(35,50,40,.16); border-radius: 50%; background: rgba(255,255,255,.96); color: #68483e; box-shadow: 0 2px 8px rgba(20,30,22,.16); font-size: 20px; font-weight: 500; line-height: 1; cursor: pointer; }
.product-image-remove:hover { border-color: #d3a79b; background: #fff3ef; color: #a34432; }
.product-image-remove:focus-visible { outline: 3px solid rgba(63,111,78,.32); outline-offset: 2px; }
.product-image-remove:disabled { opacity: .55; cursor: wait; }
.product-upload-preview-remove { top: 5px; right: 5px; }
.product-image-removal-status { margin: 9px 0 0; color: #47734c; font-size: 10px; }
.product-image-removal-status[data-state=error] { color: #a34432; }
.seo-details { margin-top: 20px; padding: 0; border-top: 1px solid #edf0eb; }
.seo-details-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; }
.seo-details-heading strong { color: #2c4032; font-size: 13px; font-weight: 750; }
.seo-details-heading .muted { font-size: 10px; }
.variants-summary:focus-visible { outline: 3px solid rgba(63,111,78,.28); outline-offset: 3px; border-radius: 6px; }
.seo-details .seo-fields { grid-template-columns: 1fr; padding-top: 7px; }
.seo-guidance { grid-column: 1 / -1; margin: 0 0 5px; color: #748077; font-size: 10px; line-height: 1.6; }
.seo-count-field small { margin: 0; color: #7d887f; font-size: 9px; font-weight: 500; letter-spacing: 0; line-height: 1.5; text-transform: none; }
.rich-editor-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.rich-editor-head label { margin: 0; }
.rich-editor-head > label { display: flex; flex-direction: row; align-items: center; gap: 7px; }
.rich-editor-head > label::after { content: "Required"; padding: 3px 7px; border-radius: 20px; background: #f7f0e7; color: #8d6b38; font-size: 9px; font-weight: 650; }
.rich-editor-tools { display: flex; align-items: center; gap: 12px; }
.editor-save-status { color: #718077; font-size: 10px; font-weight: 650; }
.editor-save-status[data-state=unsaved] { color: #a45b31; }
.editor-save-status[data-state=saving] { color: #796a34; }
.editor-save-status[data-state=error] { color: #aa4737; }
.editor-autosave-toggle { display: inline-flex; align-items: center; gap: 6px; color: #68756c; font-size: 9px; font-weight: 600; }
.editor-autosave-toggle input { width: 15px; min-height: 15px; accent-color: var(--accent-dark); }
.editor-validation-error { margin: 8px 0 0; padding: 9px 11px; border: 1px solid #f0d3c9; border-radius: 9px; background: #fff3ef; color: #9d3f2e; font-size: 11px; }
.editor-validation-error[hidden] { display: none; }
.editor-recovery { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 10px 0; padding: 11px 13px; border: 1px solid #f0d4a3; border-radius: 10px; background: #fff8e9; color: #76571e; font-size: 11px; }
.editor-recovery[hidden] { display: none; }
.editor-recovery-actions { display: flex; gap: 7px; }
.editor-recovery button { padding: 6px 9px; border: 1px solid #e6d1a6; border-radius: 7px; background: #fff; color: #5b4b2d; font-size: 10px; }
.editor-hint { margin: 9px 0 0; color: #88938a; font-size: 10px; }
.tox.tox-tinymce { overflow: hidden; border: 1px solid #dce3dc !important; border-radius: 12px !important; box-shadow: 0 2px 5px rgba(31,45,36,.025) !important; }
.tox .tox-editor-header, .tox .tox-toolbar-overlord, .tox .tox-toolbar__primary, .tox .tox-toolbar__overflow { background: #f4f6f2 !important; }
.tox .tox-statusbar { background: #fafbf8 !important; border-top-color: #edf0eb !important; }
.tox .tox-tbtn { border-radius: 7px !important; }
.tox .tox-tbtn:hover { background: #e7eee6 !important; }
.editor-fallback-note { margin-top: 8px; color: #a45b31; font-size: 11px; }
.editor-sanitizer-warning { margin: 8px 0 0; padding: 10px 12px; border-radius: 9px; background: #fff7e4; color: #785b21; font-size: 10px; }
.media-picker-modal[hidden] { display: none; }
.media-picker-open { overflow: hidden; }
.media-picker-modal { position: fixed; inset: 0; z-index: 1400; display: grid; place-items: center; padding: 20px; }
.media-picker-backdrop { position: absolute; inset: 0; background: rgba(16,28,21,.55); backdrop-filter: blur(4px); }
.media-picker-dialog { position: relative; display: flex; flex-direction: column; width: min(800px,100%); max-height: min(720px,calc(100vh - 40px)); overflow: hidden; border: 1px solid #e5eae3; border-radius: 18px; background: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.28); }
.media-picker-header, .media-picker-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 17px 21px; border-bottom: 1px solid #edf0eb; }
.media-picker-header h2 { margin: 0; color: #23372a; font-size: 17px; }
.media-picker-close { width: 34px; height: 34px; border: 0; border-radius: 10px; background: #f2f4ef; color: #53645a; font-size: 20px; }
.media-picker-tabs { display: flex; gap: 5px; padding: 11px 20px 0; border-bottom: 1px solid #edf0eb; }
.media-picker-tabs button { padding: 10px 13px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #77837a; font-size: 11px; font-weight: 700; }
.media-picker-tabs button[aria-selected=true] { border-bottom-color: var(--accent); color: #26392d; }
.media-picker-body { min-height: 220px; overflow: auto; padding: 19px 21px; }
.media-picker-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(125px,1fr)); gap: 12px; }
.media-picker-item { overflow: hidden; padding: 7px; border: 1px solid #e4e9e1; border-radius: 11px; background: #fff; color: #536157; text-align: left; }
.media-picker-item:hover, .media-picker-item:focus { border-color: #8da38e; box-shadow: 0 0 0 3px rgba(82,117,95,.1); }
.media-picker-item img { width: 100%; aspect-ratio: 1.2; border-radius: 7px; object-fit: contain; background: #edf0eb; }
.media-picker-item span { display: block; overflow: hidden; margin-top: 7px; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.media-picker-upload { display: grid; justify-items: center; gap: 12px; padding: 32px 15px; border: 1px dashed #c6d2c6; border-radius: 13px; background: #f8faf6; text-align: center; }
.media-picker-upload label { display: grid; justify-items: center; gap: 10px; width: min(100%,560px); padding: 15px; border: 1px solid #e3e9e1; border-radius: 10px; background: #fff; color: #314537; font-size: 12px; font-weight: 700; }
.media-picker-upload input[type=file] { max-width: 100%; color: #78847b; font-size: 11px; }
.media-picker-upload p { margin: 0; color: #768278; font-size: 12px; }
.media-picker-error { margin: 0; color: #b24335; font-size: 11px; }
.media-picker-footer { justify-content: flex-end; border-top: 1px solid #edf0eb; border-bottom: 0; }

@media (max-width: 1000px) {
    .hero { min-height: 350px; padding: 34px 6%; }
    .hero h1 { font-size: clamp(38px, 5.2vw, 54px); }
    .hero-art { height: 230px; transform: scale(.72); }
    .admin-sidebar { width: 230px; }
    .admin-main { margin-left: 230px; }
    .product-editor-layout { grid-template-columns: minmax(0,1fr) 285px; gap: 15px; }
    .product-editor-card { padding: 19px; }
}
@media (max-width: 720px) {
    .announcement { min-height: 25px; padding: 4px 10px; font-size: var(--announcement-mobile-font-size, 10px); }
    .header-main { height: auto; min-height: 45px; flex-wrap: nowrap; gap: 10px; padding-block: 7px; }
    .brand { order: 1; }
    .brand { gap: 7px; font-size: 13px; }
    .brand-mark { width: 27px; height: 27px; font-size: 16px; }
    .header-search-desktop { display: none; }
    .mobile-search-row { display: block; padding-block: 8px; background: var(--paper); }
    .mobile-search-row-compact { padding-bottom: 0; }
    .header-search-mobile { display: grid; grid-template-columns: minmax(0, 1fr) minmax(82px, .65fr) 78px; grid-template-rows: 38px; gap: 4px; width: 100%; max-width: none; height: 42px; margin: 0; padding: 3px; }
    .header-search-mobile input { grid-column: 1; grid-row: 1; min-width: 0; padding-inline: 8px; font-size: 10px; }
    .header-search-mobile select { grid-column: 2; grid-row: 1; min-width: 0; padding-inline: 5px; font-size: 9px; }
    .header-search-mobile .header-search-submit { grid-column: 3; grid-row: 1; min-width: 0; min-height: 32px; height: 32px; padding-inline: 6px; font-size: 8px; }
    .header-actions { order: 2; margin-left: auto; gap: 6px; }
    .cart-link { min-height: 33px; padding-inline: 7px; }
    .menu-toggle { display: none; }
    .site-header { position: sticky; top: 0; z-index: 40; }
    .site-nav { display: block; }
    .nav-inner { height: 39px; min-height: 39px; align-items: center; flex-direction: row; gap: 18px; overflow-x: auto; overflow-y: hidden; padding-block: 0; white-space: nowrap; scrollbar-width: none; }
    .nav-inner::-webkit-scrollbar { display: none; }
    .nav-inner > a { display: block; flex: 0 0 auto; padding: 0; border: 0; font-size: 11px; }
    .nav-mobile-cart { display: none; }
    .hero { width: 100%; min-height: 0; margin: 0; border-radius: 0 0 20px 20px; padding: 34px 24px 38px; }
    .hero-copy { width: 100%; max-width: 100%; }
    .hero h1 { max-width: 100%; margin: 14px 0; font-size: clamp(36px, 10vw, 44px); line-height: 1; }
    .hero-copy>p:not(.eyebrow) { font-size: 14px; line-height: 1.5; }
    .hero-actions { gap: 12px; margin-top: 18px; }
    .hero-art, .hero-index { display: none; }
    .section { padding-block: 62px; }
    .category-tile { min-height: 175px; }
    .product-card { border-radius: 15px; }
    .product-card-body { padding: 16px; }
    .product-card-bottom { align-items: center; flex-direction: row; gap: 7px; }
    .product-card-bottom .text-link { gap: 5px; font-size: 9px; }
    .product-card h3 { font-size: 19px; }
    .product-detail-copy { padding: 20px; }
    .product-information { padding-top: 56px; }
    .rich-editor-head { align-items: flex-start; flex-direction: column; }
    .rich-editor-tools { width: 100%; justify-content: space-between; }
    .editor-recovery { align-items: flex-start; flex-direction: column; }
    .media-picker-modal { padding: 10px; }
    .media-picker-dialog { max-height: calc(100vh - 20px); border-radius: 14px; }
    .media-picker-body { padding: 14px; }
    .admin-sidebar { transform: translateX(-100%); }
    .admin-main { margin-left: 0; }
    .admin-content { padding: 22px 15px 32px; }
    .admin-page-heading { align-items: flex-start; flex-direction: column; }
    .admin-page-heading h1 { font-size: 32px; }
    .product-heading-actions { width: 100%; justify-content: space-between; }
    .product-editor-layout { grid-template-columns: 1fr; }
    .product-editor-aside { position: static; }
    .product-editor-form { padding-bottom: 84px; }
    .product-mobile-save { position: fixed; inset: auto 0 0; z-index: 24; display: flex; align-items: center; gap: 8px; padding: 10px 15px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid #e3e8e1; background: rgba(255,255,255,.94); backdrop-filter: blur(12px); }
    .product-mobile-save .button { flex: 1; min-width: 0; min-height: 40px; padding-inline: 9px; font-size: 10px; }
    .product-editor-card { padding: 18px 15px; }
    .product-field-grid { grid-template-columns: 1fr; }
    .product-editor-aside .form-actions { grid-template-columns: 1fr 1fr; }
    .product-editor-aside .form-actions .button-save-draft { grid-column: 1 / -1; }
    .gallery-admin { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tox.tox-tinymce { min-height: 450px; }
    .tox .tox-toolbar__primary { flex-wrap: wrap !important; }
}
@media (prefers-reduced-motion: reduce) {
    .product-card, .category-tile, .button { transition: none !important; }
}

/* Product image selection and viewer */
.product-gallery-stage { position: relative; overflow: hidden; border-radius: 24px; background: #e6eee6; box-shadow: 0 18px 45px rgba(31,45,36,.08); }
.product-main-image { display: block; position: relative; width: 100%; padding: 0; border: 0; background: transparent; text-align: left; cursor: zoom-in; }
.product-main-image:focus-visible, .gallery-nav:focus-visible, .product-thumbnail:focus-visible, .lightbox-nav:focus-visible, .lightbox-close:focus-visible { outline: 3px solid #8da99a; outline-offset: 3px; }
.product-main-image img { width: 100%; height: 100%; object-fit: contain; }
.gallery-nav, .lightbox-nav, .lightbox-close { display: grid; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.68); background: rgba(255,255,255,.9); color: #25342c; box-shadow: 0 4px 18px rgba(19,30,23,.14); font-family: Georgia,serif; font-size: 31px; line-height: 1; }
.gallery-nav { position: absolute; top: 50%; z-index: 2; width: 44px; height: 44px; border-radius: 50%; transform: translateY(-50%); }
.gallery-nav-prev { left: 15px; }
.gallery-nav-next { right: 15px; }
.gallery-count { position: absolute; right: 15px; bottom: 14px; padding: 5px 9px; border-radius: 30px; background: rgba(32,38,35,.72); color: #fff; font-size: 9px; letter-spacing: .12em; }
.product-thumbnails { overflow-x: auto; padding: 2px 1px 5px; scrollbar-width: thin; }
.product-thumbnails.product-version-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; overflow: visible; }
.product-version-grid .product-thumbnail { width: 100%; height: auto; min-width: 0; aspect-ratio: 1.32; }
.product-version-grid .product-thumbnail img { object-fit: contain; }
.product-version-grid .product-thumbnail-version { padding-inline: 2px; font-size: 7px; text-align: center; }
.product-thumbnail { position: relative; flex: 0 0 82px; width: 82px; height: 62px; padding: 0; border: 2px solid transparent; border-radius: 8px; background: #e5e8e4; overflow: hidden; cursor: pointer; }
.product-thumbnail[aria-pressed="true"] { border-color: #4f695d; box-shadow: 0 0 0 1px #4f695d; }
.product-thumbnail img { width: 100%; height: 100%; object-fit: contain; }
.product-thumbnail-version { position: absolute; right: 2px; bottom: 2px; left: 2px; overflow: hidden; padding: 3px 4px; border-radius: 4px; background: rgba(28,43,34,.82); color: #fff; font-size: 7px; font-weight: 700; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.product-lightbox { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; overflow: hidden; padding: 20px; }
.product-lightbox[hidden] { display: none; }
.product-lightbox-backdrop { position: absolute; inset: 0; background: rgba(13,19,16,.9); backdrop-filter: blur(5px); }
.product-lightbox-panel { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr); place-items: center; width: min(1260px,100%); height: min(calc(100vh - 40px),920px); height: min(calc(100dvh - 40px),920px); max-height: calc(100dvh - 40px); }
.product-lightbox-panel > img { display: block; min-width: 0; min-height: 0; width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; }
.lightbox-close { position: absolute; top: 12px; right: 12px; z-index: 2; width: 44px; height: 44px; border-radius: 50%; font-family: var(--sans); font-size: 27px; }
.lightbox-nav { position: absolute; top: 50%; z-index: 2; width: 48px; height: 48px; border-radius: 50%; transform: translateY(-50%); }
.lightbox-nav-prev { left: 12px; }
.lightbox-nav-next { right: 12px; }
.lightbox-count { position: absolute; bottom: 9px; left: 50%; transform: translateX(-50%); padding: 6px 11px; border-radius: 30px; background: rgba(20,27,23,.72); color: #fff; font-size: 10px; letter-spacing: .12em; }
.product-lightbox-open { overflow: hidden; }
.product-contact-links { margin-top: 15px; padding: 14px 15px; border: 1px solid #dfe6e0; border-radius: 14px; background: #f8faf7; }
.product-contact-links > p { margin: 0 0 10px; color: #647168; font-size: 10px; font-weight: 650; }
.product-contact-actions { display: flex; gap: 9px; flex-wrap: wrap; }
.product-contact-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 39px; padding: 0 14px; border-radius: 9px; color: #fff; font-size: 10px; font-weight: 750; transition: transform .2s,filter .2s; }
.product-contact-button:hover { transform: translateY(-2px); filter: brightness(.96); }
.product-contact-button svg { width: 17px; height: 17px; flex: none; }
.contact-telegram { background: #229ed9; }
.contact-whatsapp { background: #25d366; }

/* Separate featured and gallery uploads in the product editor */
.product-artwork-fields { display: grid; gap: 15px; }
.featured-image-current { margin-top: 11px; }
.featured-image-current.is-empty { display: none; }
.featured-image-current .gallery-admin-item { max-width: none; }
.product-upload-preview { display: grid; grid-template-columns: repeat(auto-fill,minmax(105px,1fr)); gap: 8px; margin-top: 10px; }
.product-upload-preview[hidden] { display: none; }
.product-upload-preview-item { position: relative; min-width: 0; margin: 0; border: 1px solid #e6ebe3; border-radius: 10px; background: #f8faf6; overflow: hidden; }
.product-upload-preview-item img { width: 100%; aspect-ratio: 1.35; object-fit: contain; }
.product-upload-preview-item figcaption { overflow: hidden; padding: 6px 7px; color: #637067; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 720px) {
    .gallery-nav { width: 40px; height: 40px; }
    .gallery-nav-prev { left: 10px; }
    .gallery-nav-next { right: 10px; }
    .product-lightbox { padding: 12px; }
    .product-lightbox-panel { height: min(78svh,820px); }
    .lightbox-nav { width: 42px; height: 42px; }
    .lightbox-nav-prev { left: 4px; }
    .lightbox-nav-next { right: 4px; }
    .lightbox-close { top: 5px; right: 5px; }
}

.variants-editor-note { margin: -9px 0 16px; color: #748077; font-size: 11px; line-height: 1.6; }
.variants-summary { align-items: center; margin-bottom: 0; cursor: pointer; list-style: none; }
.variants-summary::-webkit-details-marker { display: none; }
.variants-summary-copy { display: flex; flex: 1 1 auto; flex-direction: column; gap: 4px; min-width: 0; }
.variants-summary-title { color: #203429; font-size: 18px; font-weight: 750; letter-spacing: -.02em; }
.variants-summary-caption { color: #879188; font-size: 11px; font-weight: 400; line-height: 1.5; }
.variants-summary:after { content: "+"; color: var(--accent-dark); font-size: 21px; }
.variants-editor[open] > .variants-summary { margin-bottom: 20px; }
.variants-editor[open] > .variants-summary:after { content: "−"; }
.variant-admin-list { display: grid; gap: 13px; }
.variant-admin-card { min-width: 0; margin: 0; padding: 16px; border: 1px solid #e2e8e1; border-radius: 13px; background: #fbfcfa; }
.variant-admin-card:nth-child(6n+1) { border-color: #dce8da; background: #f2f7f1; }
.variant-admin-card:nth-child(6n+2) { border-color: #f0dfd3; background: #fbf4ef; }
.variant-admin-card:nth-child(6n+3) { border-color: #dbe3ee; background: #f2f5fa; }
.variant-admin-card:nth-child(6n+4) { border-color: #e6ddef; background: #f7f3fa; }
.variant-admin-card:nth-child(6n+5) { border-color: #eee6c9; background: #fbf8ed; }
.variant-admin-card:nth-child(6n) { border-color: #d8e7e4; background: #f0f7f6; }
.variant-admin-card legend { padding: 0 7px; color: #304336; font-size: 11px; font-weight: 800; }

.brand-mark { background: var(--brand-mark-background, var(--accent)); color: var(--brand-mark-ink, #fff); }
.brand-footer .brand-mark, .admin-brand .brand-mark { background: var(--brand-mark-background, var(--accent)); color: var(--brand-mark-ink, #fff); }
.admin-form input[type="color"] { min-height: 42px; padding: 3px; cursor: pointer; }
.page-hero-small.shop-page-hero { padding: 28px 0 30px; }
.shop-page-hero .breadcrumbs { margin-bottom: 16px; font-size: 13px; }
.shop-page-hero h1 { margin: 0; color: #f6f5f1; font-size: clamp(24px, 2.2vw, 30px); font-weight: 650; line-height: 1.25; letter-spacing: -.02em; }
.shop-section { padding-top: 32px; }
.shop-filters { margin-bottom: 12px; }
.results-line { margin-bottom: 12px; }
@media (max-width: 720px) {
    .page-hero-small.shop-page-hero { padding: 22px 0 24px; }
    .shop-page-hero .breadcrumbs { margin-bottom: 12px; font-size: 12px; }
    .shop-page-hero h1 { font-size: 23px; }
    .shop-section { padding-top: 22px; }
    .shop-filters { gap: 9px; padding: 14px; margin-bottom: 10px; }
    .results-line { margin-bottom: 10px; }
}
.variant-admin-card.is-removed { border-color: #ead8d3; background: #fbf7f6; }
.variant-admin-card.is-removed > :not(legend):not(.variant-admin-footer) { opacity: .38; pointer-events: none; }
.variant-admin-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.6fr); gap: 9px; }
.variant-admin-fields label { display: flex; min-width: 0; flex-direction: column; gap: 5px; font-size: 9px; }
.variant-admin-fields input { min-height: 40px; padding: 9px 10px; font-size: 11px; }
.variant-admin-card input:not([type=checkbox]):not([type=radio]), .variant-admin-card textarea { width: 100%; }
.variant-admin-card input[type=checkbox], .variant-admin-card input[type=radio] { width: 17px; min-height: 17px; padding: 0; accent-color: var(--accent-dark); }
.variant-admin-controls { display: flex; align-items: center; margin-top: 11px; }
.variant-admin-controls .editor-switch-row { align-self: stretch; margin: 0; padding: 0 0 8px; border: 0; }
.variant-admin-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; padding-top: 10px; border-top: 1px solid #e7ece6; color: #89938b; font-size: 9px; }
.variant-remove-control { display: inline-flex !important; flex-direction: row !important; align-items: center; gap: 7px !important; color: #95655b !important; cursor: pointer; }
.variant-add-button { margin-top: 13px; }
.variant-add-button:disabled { opacity: .48; cursor: not-allowed; }
.gallery-nav[hidden], .lightbox-nav[hidden], .gallery-count[hidden], .lightbox-count[hidden] { display: none; }
.variant-choice-label { display: grid; gap: 8px; margin: 17px 0 10px; color: #526158; font-size: 11px; font-weight: 700; }
.add-to-cart-form { flex-wrap: wrap; }
.add-to-cart-form .variant-choice-label, .variant-unavailable { flex: 1 0 100%; }
.variant-choice-label select { width: 100%; min-height: 48px; padding: 10px 13px; border: 1px solid #dce4dc; border-radius: 10px; background: #fff; color: #28392e; font: inherit; }
.variant-unavailable { margin: 20px 0; padding: 13px 15px; border: 1px solid #e5ded5; border-radius: 10px; background: #faf7f2; color: #756d62; font-size: 11px; line-height: 1.6; }
.add-to-cart-form button:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.cart-variant-title, .checkout-variant-title, .order-item-variant { display: block; color: #4b6757 !important; font-size: 10px; font-weight: 700; }
@media (max-width: 720px) {
    .variant-admin-card { padding: 13px; }
    .variant-admin-fields { grid-template-columns: minmax(0,1fr) minmax(0,.72fr); gap: 8px; }
}

/* Keep uploaded artwork fully visible in storefront and admin image frames. */
.product-card-image img,
.article-image img,
.cart-row-image img,
.checkout-item img,
.media-picker-item img,
.gallery-admin-item img,
.product-upload-preview-item img,
.admin-product-cell img {
    object-fit: contain;
}
.product-card-image img,
.article-image img {
    transition: none;
}
.product-card:hover .product-card-image img,
.article-card:hover .article-image img {
    transform: none;
}
.product-main-image {
    aspect-ratio: auto;
    min-height: 280px;
    padding: 16px;
    display: grid;
    place-items: center;
}
.product-main-image img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: min(var(--product-gallery-image-max-height, 72vh), 900px);
    object-fit: contain;
}
.product-thumbnail img { object-fit: contain; }
.article-feature-image {
    aspect-ratio: auto;
    display: grid;
    place-items: center;
}
.article-feature-image img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 85vh;
    object-fit: contain;
}
.gallery-admin-item img {
    display: block;
    width: 100%;
    height: 170px;
    background: #f5f7f3;
}
.media-picker-item img,
.product-upload-preview-item img {
    background: #f5f7f3;
}
.admin-product-cell img { object-fit: contain; }
.current-image-row img,
.admin-form .image-preview {
    max-width: min(100%, 360px);
    max-height: 280px;
    object-fit: contain;
    background: #f5f7f3;
}
.cart-row-image img,
.checkout-item img { background: #f5f7f3; }

.variant-product-image-import {
    margin: 15px 0 0;
    padding: 12px;
    border: 1px solid #e4e9e1;
    border-radius: 11px;
    background: #fff;
}
.variant-product-image-import legend {
    padding: 0 6px;
    color: #425548;
    font-size: 10px;
    font-weight: 750;
}
.variant-product-image-import > p,
.variant-product-image-empty {
    margin: 0 0 10px;
    color: #7b877e;
    font-size: 9px;
    line-height: 1.5;
}
.variant-product-image-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 8px;
}
.variant-product-image-choice {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    grid-template-rows: 82px auto;
    align-items: start;
    gap: 6px;
    padding: 7px;
    border: 1px solid #e6ebe3;
    border-radius: 9px;
    background: #fbfcfa;
}
.variant-product-image-choice input {
    grid-column: 1;
    grid-row: 1;
    width: 15px !important;
    min-height: 15px !important;
    height: 15px;
    margin: 3px 0 0;
}
.variant-product-image-choice img {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 82px;
    object-fit: contain;
    background: #f2f5f0;
}
.variant-product-image-choice span {
    grid-column: 1 / -1;
    overflow-wrap: anywhere;
    color: #69766d;
    font-size: 8px;
    font-weight: 500;
    letter-spacing: 0;
}
.variant-product-image-empty { margin-top: 13px; }
@media (max-width: 720px) {
    .product-main-image { min-height: 230px; }
    .variant-product-image-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.product-card-image-link { position: absolute; inset: 0; display: block; }
.product-card-image-link img { width: 100%; height: 100%; object-fit: contain; }
.card-gallery-nav { position: absolute; z-index: 2; top: 50%; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; transform: translateY(-50%); border: 1px solid rgba(35,55,42,.12); border-radius: 50%; background: rgba(255,255,255,.9); color: #24382b; font: 400 25px/1 var(--sans); box-shadow: 0 4px 14px rgba(27,40,34,.12); }
.card-gallery-nav:hover { background: #fff; color: var(--accent-dark); }
.card-gallery-prev { left: 12px; }
.card-gallery-next { right: 12px; }
.card-gallery-count { position: absolute; z-index: 2; right: 12px; bottom: 12px; padding: 4px 8px; border-radius: 20px; background: rgba(255,255,255,.88); color: #45554a; font-size: 9px; font-weight: 700; letter-spacing: .04em; }
.product-card-body .card-cart-form { width: 100%; margin-top: 16px; }
.card-cart-form .button { width: 100%; }

.coupon-entry { margin: 16px 0 5px; padding: 15px 0; border-block: 1px solid #edf0ed; }
.coupon-entry label { display: block; margin-bottom: 6px; color: #68746c; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.coupon-entry > div { display: flex; gap: 7px; }
.coupon-entry input { min-width: 0; width: 100%; height: 39px; padding: 0 10px; border: 1px solid #dfe5df; border-radius: 9px; background: #fbfcfa; font-size: 11px; text-transform: uppercase; }
.coupon-entry .button { min-height: 39px; padding-inline: 12px; font-size: 10px; }
.summary-line.summary-discount > span,
.summary-line.summary-discount > strong { color: #39714b; }
.summary-line.summary-discount > span { font-weight: 650; }
.coupon-feedback { margin: 8px 0; color: #52725b; font-size: 9px; line-height: 1.55; }
.coupon-feedback-error { color: #a34b3d; }
.coupon-feedback a { text-decoration: underline; text-underline-offset: 2px; }
.coupon-remove { margin: 0 0 12px; padding: 0; border: 0; background: none; font-size: 10px; cursor: pointer; }
.free-order-note { margin-top: 19px; padding: 17px; border: 1px solid #dce8dc; border-radius: 12px; background: #f4f8f2; }
.free-order-note h2 { margin: 0 0 6px; font: 500 20px var(--sans); }
.free-order-note p:last-child { margin: 0; color: #64756a; font-size: 11px; line-height: 1.65; }
.admin-free-order-note { margin-bottom: 18px; }
.admin-free-order-note p { margin-bottom: 0; }
.order-discount-confirmation { display: flex; justify-content: center; padding-top: 0; }
.order-discount-confirmation .order-summary { position: static; width: min(650px, 100%); }
.order-discount-panel { margin-bottom: 20px; }
.order-discount-panel > div:first-of-type { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; color: #59685e; font-size: 11px; }
.order-discount-panel > div:first-of-type strong { color: #293e30; font-size: 14px; }
.order-discount-totals { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 15px; padding-top: 13px; border-top: 1px solid #e9eee8; color: #738077; font-size: 10px; }
.order-discount-totals span { display: flex; gap: 7px; }
.order-discount-totals strong { color: #2b3d31; }
.promotion-form { max-width: none; margin-bottom: 26px; }
.promotion-form > .form-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.promotion-form-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.promotion-form-heading h2 { margin: 0; color: #26382c; font: 500 22px var(--sans); }
.promotion-form-heading .eyebrow { margin-bottom: 5px; }
.promotion-rule-fields[hidden] { display: none; }
.promotion-rule-fields label { max-width: 480px; }
.promotion-form .checkbox-label { display: flex; flex-direction: row; align-items: center; gap: 8px; }
.promotion-form .checkbox-label input { width: 16px; min-height: 16px; height: 16px; margin: 0; }
.promotion-list { margin-top: 24px; }
.promotion-list .panel-heading { padding: 17px 20px; }
.promotion-list .panel-heading h2 { margin: 0; font-size: 19px; }
.promotion-list .panel-heading > span { color: #829087; font-size: 10px; }
.promotion-code-cell { margin-top: 3px; color: #52705b; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 9px; font-weight: 700; }
@media (max-width: 700px) {
    .order-discount-totals { display: grid; gap: 8px; }
    .promotion-form-heading { align-items: flex-start; flex-direction: column; }
    .promotion-form > .form-row { grid-template-columns: 1fr; }
    .promotion-list .panel-heading { padding: 13px; }
}

.cart-link { gap: 9px; }
.cart-icon { display: block; flex: 0 0 18px; width: 18px; height: 18px; color: var(--accent-dark); }
.cart-count { display: inline-grid; min-width: 25px; height: 25px; place-items: center; padding-inline: 6px; border-radius: 99px; background: var(--accent-pale); color: var(--accent-dark); font-size: 11px; font-weight: 750; line-height: 1; }
.cart-link:hover .cart-icon { color: var(--accent); }

.product-detail-copy { padding: 19px 24px 22px; }
.product-detail-copy > .eyebrow { margin-bottom: 6px; }
.product-detail-copy h1 { font-size: clamp(31px, 3.5vw, 43px); line-height: 1.08; margin: 5px 0 9px; }
.product-country-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 12px; }
.product-country-tags a { padding: 5px 9px; border: 1px solid #dbe4dc; border-radius: 999px; background: #f4f7f3; color: #52665a; font-size: 9px; font-weight: 700; text-decoration: none; transition: background .2s, border-color .2s, color .2s; }
.product-country-tags a:hover, .product-country-tags a:focus-visible { border-color: #b8c9bc; background: #eaf1e9; color: #293d30; }
.product-detail-copy .detail-lead { margin: 0 0 7px; font-size: 13px; line-height: 1.6; }
.add-to-cart-form { gap: 8px 12px; padding-bottom: 15px; }
.add-to-cart-form .variant-choice-label { gap: 6px; margin: 7px 0 1px; }
.add-to-cart-form .detail-price { margin: 0; padding: 6px 10px; font-size: 16px; }
.product-purchase-row { gap: 6px; }
.product-purchase-row > .button { padding-inline: 10px; font-size: 10px; }
.detail-file-format { max-width: 125px; padding: 6px 8px; }
.detail-file-format strong { font-size: 10px; }
.product-detail-copy .delivery-note { margin-top: 14px; padding: 13px 15px; }
@media (max-width: 720px) {
    .product-detail-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .product-gallery, .product-detail-copy { width: 100%; min-width: 0; }
    .product-thumbnails { width: 100%; min-width: 0; }
    .product-detail-copy { padding: 17px; }
    .product-detail-copy h1 { font-size: clamp(30px, 8vw, 37px); }
    .cart-link { gap: 7px; padding-inline: 10px; }
    .cart-link > span:first-of-type { display: none; }
    .cart-icon { width: 17px; height: 17px; flex-basis: 17px; }
}

.product-information { grid-template-columns: minmax(0, 1fr); gap: 20px; width: 100%; max-width: none; padding-top: 76px; }
.resource-content-panel { position: relative; min-width: 0; overflow: hidden; padding: clamp(24px, 4vw, 52px); border: 1px solid #e1e8e1; border-radius: 22px; background: linear-gradient(135deg, #fff 0%, #fff 68%, #f4f7f2 100%); box-shadow: 0 16px 42px rgba(31, 45, 36, .07); }
.resource-content-panel::before { position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(180deg, var(--accent), var(--warm)); content: ""; }
.resource-content-header { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; padding-bottom: 21px; border-bottom: 1px solid #e9eee8; }
.resource-content-header .eyebrow { margin-bottom: 7px; }
.resource-content-header h2 { margin: 0; color: #203429; font: 400 clamp(32px, 3.5vw, 46px)/1.12 var(--serif); letter-spacing: -.035em; }
.resource-content-tag { flex: 0 0 auto; padding: 7px 11px; border: 1px solid #e5ebe4; border-radius: 30px; background: #f7f9f5; color: #68766c; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.resource-rich-content { max-width: none; columns: 1; color: #5e6c62; font-size: 15px; line-height: 1.9; }
.resource-rich-content > * { break-inside: avoid-column; }
.resource-rich-content h2, .resource-rich-content h3, .resource-rich-content h4 { color: #293d30; break-after: avoid; }
.resource-rich-content p { margin-block: 0 1.1em; }
.resource-rich-content a { color: var(--accent-dark); text-decoration: underline; text-decoration-color: #b8c9bc; text-underline-offset: 3px; }
.resource-rich-content blockquote { margin: 1.25em 0; padding: 12px 16px; border-left: 3px solid var(--accent); border-radius: 0 10px 10px 0; background: #f2f6f1; color: #40584a; }
.resource-rich-content img { max-width: 100%; border-radius: 12px; }
.product-information .specification-panel { width: 100%; border: 1px solid #e4e9e1; border-radius: 17px; box-shadow: 0 8px 24px rgba(31, 45, 36, .05); }
.product-neighbor-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.product-neighbor { display: grid; gap: 12px; min-width: 0; min-height: 118px; padding: 17px 19px; border: 1px solid #e2e8e1; border-radius: 15px; background: #fff; box-shadow: 0 7px 22px rgba(31, 45, 36, .045); transition: border-color .2s, transform .2s, box-shadow .2s; }
.product-neighbor:hover { transform: translateY(-3px); border-color: #bdcdbf; box-shadow: 0 13px 30px rgba(31, 45, 36, .09); }
.product-neighbor-next { grid-column: 2; text-align: right; }
.product-neighbor-direction { display: flex; align-items: center; gap: 7px; color: #627268; font-size: 9px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.product-neighbor-next .product-neighbor-direction { justify-content: flex-end; }
.product-neighbor-direction > span { color: var(--accent-dark); font-size: 16px; line-height: 1; }
.product-neighbor-card-body { display: flex; align-items: center; gap: 12px; min-width: 0; }
.product-neighbor-next .product-neighbor-card-body { flex-direction: row-reverse; }
.product-neighbor-card-body > img { flex: 0 0 72px; width: 72px; height: 54px; border-radius: 8px; background: #f1f4ef; object-fit: contain; }
.product-neighbor-card-body > span { display: grid; gap: 3px; min-width: 0; }
.product-neighbor-card-body .eyebrow { margin: 0; color: #849087; font-size: 8px; }
.product-neighbor-card-body strong { display: -webkit-box; overflow: hidden; color: #293d30; font: 400 16px/1.25 var(--serif); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
@media (max-width: 900px) {
    .resource-rich-content { columns: 1; column-rule: 0; }
}
@media (max-width: 720px) {
    .product-information { gap: 14px; padding-top: 48px; }
    .resource-content-panel { padding: 24px 20px; border-radius: 16px; }
    .resource-content-header { align-items: flex-start; flex-direction: column; gap: 12px; margin-bottom: 18px; padding-bottom: 16px; }
    .resource-content-header h2 { font-size: 34px; }
    .seo-details-heading { align-items: flex-start; flex-direction: column; justify-content: center; gap: 2px; padding-block: 11px; }
    .resource-rich-content { font-size: 14px; }
    .product-neighbor-nav { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .product-neighbor, .product-neighbor-next { grid-column: 1; }
    .product-neighbor { min-height: 104px; padding: 14px; }
}
@media (max-width: 390px) {
    .header-search-mobile { grid-template-columns: minmax(0, 1fr) 84px 68px; gap: 3px; }
    .header-search-mobile select { padding-inline: 4px; font-size: 8px; }
    .header-search-mobile .header-search-submit { min-width: 68px; padding-inline: 5px; font-size: 8px; }
    .hero { padding-inline: 20px; }
    .hero h1 { font-size: 36px; }
}

.footer-grid { grid-template-columns: minmax(220px, 1.1fr) repeat(3, minmax(0, .82fr)); gap: clamp(22px, 3.5vw, 52px); align-items: start; }
.footer-extra-links { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 18px; }
.footer-extra-links a { color: #aab4ad; font-size: 11px; }
.footer-extra-links a:hover { color: #fff; }
.footer-group { min-width: 0; }
.footer-group > a { margin-block: 4px !important; }
.footer-group > a:hover { color: #fff; }
.footer-contact-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; margin: 7px 0 12px; }
.footer-contact-actions .product-contact-button { min-height: 33px; padding-inline: 10px; font-size: 9px; }
.footer-contact-actions .product-contact-button svg { width: 15px; height: 15px; }

.content-page-section { padding-top: 36px; }
.content-page-heading { max-width: 840px; margin: 12px auto 36px; text-align: center; }
.content-page-heading h1 { margin: 10px 0 16px; color: #203429; font: 400 clamp(44px, 6vw, 72px)/1.02 var(--serif); letter-spacing: -.05em; }
.content-page-intro { max-width: 700px; margin: 0 auto; color: #6a776e; font-size: 16px; line-height: 1.75; }
.content-page-body { max-width: 920px; margin: 0 auto; }
.content-page-body .resource-rich-content { max-width: 760px; margin-inline: auto; }
.contact-page-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(270px, .75fr); gap: 22px; max-width: 1120px; margin: 0 auto; align-items: start; }
.contact-page-layout .content-page-body { width: 100%; max-width: none; }
.contact-page-card { position: relative; overflow: hidden; padding: 30px; border: 1px solid #284333; border-radius: 22px; background: radial-gradient(circle at 100% 0%, rgba(240, 199, 92, .18), transparent 38%), linear-gradient(145deg, #172b20, #294b36); color: #f6f5ed; box-shadow: 0 16px 42px rgba(31, 45, 36, .12); }
.contact-page-card .eyebrow { margin: 0 0 10px; color: #f0c75c; }
.contact-page-card h2 { margin: 0 0 12px; color: #fff; font: 400 clamp(30px, 3vw, 39px)/1.12 var(--serif); letter-spacing: -.03em; }
.contact-page-card > p:not(.eyebrow) { margin: 0; color: #c4d0c5; font-size: 12px; line-height: 1.75; }
.contact-page-actions { display: grid; gap: 9px; margin-top: 22px; }
.contact-page-actions .product-contact-button { justify-content: flex-start; min-height: 46px; padding-inline: 15px; border-radius: 12px; font-size: 11px; }
.contact-page-actions .product-contact-button svg { width: 19px; height: 19px; }
.contact-page-card .contact-page-unavailable { margin-top: 18px; padding: 11px 13px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 11px; background: rgba(255, 255, 255, .06); color: #d5dfd5; font-size: 10px; }
.contact-page-note { display: grid; gap: 4px; margin-top: 23px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .18); color: #c4d0c5; font-size: 10px; line-height: 1.6; }
.contact-page-note strong { color: #f1d87d; font-size: 10px; }

@media (max-width: 1000px) {
    .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 44px; }
    .footer-brand { grid-column: 1 / -1; }
    .contact-page-layout { grid-template-columns: minmax(0, 1fr); }
    .contact-page-card { position: static; }
}
@media (max-width: 560px) {
    .footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 12px; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-grid > div:last-child { grid-column: auto; }
    .footer-group { padding-top: 1px; }
    .footer-group > a { overflow-wrap: anywhere; }
    .footer-contact-actions { gap: 5px; }
    .footer-contact-actions .product-contact-button { gap: 5px; padding-inline: 6px; font-size: 8px; }
    .footer-contact-actions .product-contact-button svg { width: 13px; height: 13px; }
    .content-page-section { padding-top: 24px; }
    .content-page-heading { margin: 7px auto 25px; text-align: left; }
    .content-page-heading h1 { font-size: clamp(42px, 12vw, 56px); }
    .content-page-intro { margin: 0; font-size: 14px; }
    .content-page-body.resource-content-panel { padding: 25px 21px; border-radius: 17px; }
    .contact-page-card { padding: 24px; border-radius: 17px; }
}

.home-category-heading { margin-bottom: 24px; }
.home-category-heading .eyebrow { margin: 0; }
.home-category-grid { grid-template-columns: repeat(var(--category-count), minmax(0, 1fr)); gap: 14px; }
.home-category-tile { min-height: 108px; justify-content: flex-end; padding: 15px 16px; border-radius: 14px; }
.home-category-tile .category-tile-copy { gap: 3px; }
.home-category-tile .category-tile-copy strong { font-size: 18px; line-height: 1.2; overflow-wrap: anywhere; }
.home-category-tile .category-tile-copy span { font-size: 9px; }
.home-products-action { display: flex; justify-content: center; margin-top: 38px; }
.home-view-all { min-width: 230px; min-height: 54px; justify-content: space-between; padding-inline: 19px 12px; border-radius: 13px; box-shadow: 0 10px 24px rgba(34, 54, 42, .16); }
.home-view-all-arrow { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 10px; background: rgba(255, 255, 255, .16); font-size: 17px; }

.admin-product-edit-link { display: inline-flex; align-items: center; gap: 6px; width: fit-content; min-height: 30px; padding: 6px 9px; border: 1px solid #ecd9ae; border-radius: 9px; background: #fff9eb; color: #705827; font-size: 9px; font-weight: 750; line-height: 1.2; transition: border-color .18s, background .18s, color .18s; }
.admin-product-edit-link:hover { border-color: #d6b96f; background: #fff2d3; color: #493714; }
.admin-product-edit-link svg { width: 13px; height: 13px; flex: 0 0 auto; }
.product-card-edit-link { margin: 3px 0 2px; }
.storefront-admin-toolbar { display: flex; justify-content: flex-end; margin: -10px 0 18px; }

@media (max-width: 560px) {
    .storefront-admin-toolbar { margin: -7px 0 14px; }
    .home-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .home-category-tile { min-height: 92px; padding: 11px 10px; border-radius: 12px; }
    .home-category-tile .category-tile-copy strong { font-size: 14px; }
    .home-products-action { margin-top: 28px; }
}
@media (max-width: 1000px) {
    .home-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 390px) {
    .home-category-tile { min-height: 84px; padding: 9px 8px; }
    .home-category-tile .category-tile-copy strong { font-size: 12px; }
    .home-view-all { min-width: 210px; }
}

.description-gallery-picker { margin-top: 14px; border: 1px solid #e1e8e1; border-radius: 13px; background: #fafcf9; }
.description-gallery-picker > summary { padding: 13px 15px; color: #304538; font-size: 11px; font-weight: 750; cursor: pointer; }
.description-gallery-picker[open] > summary { border-bottom: 1px solid #e8eee7; }
.description-gallery-picker > p { margin: 11px 14px; color: #78847b; font-size: 10px; line-height: 1.55; }
.description-gallery-group { margin: 12px; padding: 12px; border: 1px solid #e7ece5; border-radius: 10px; }
.description-gallery-group legend { padding-inline: 6px; color: #405849; font-size: 10px; font-weight: 750; }
.description-gallery-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(180px,1fr)); gap: 10px; padding: 10px 12px 12px; }
.description-gallery-group .description-gallery-grid { padding: 0; }
.description-gallery-item { display: grid; align-content: start; gap: 8px; min-width: 0; padding: 9px; border: 1px solid #e5ebe4; border-radius: 10px; background: #fff; }
.description-gallery-item > img { width: 100%; aspect-ratio: 1.35; border-radius: 7px; background: #f0f3ef; object-fit: contain; }
.description-gallery-item > label { display: grid; gap: 5px; color: #657369; font-size: 9px; }
.description-gallery-item input { min-width: 0; min-height: 38px !important; padding: 8px 9px !important; font-size: 11px !important; letter-spacing: 0; text-transform: none; }
.description-gallery-item [data-description-image-caption] { text-align: center; }
.description-gallery-item .button { width: 100%; min-height: 36px; padding-inline: 8px; font-size: 9px; }
.description-gallery-empty { padding: 12px 14px; }
.rich-content .product-version-caption { display: grid; gap: 3px; margin: 20px 0 12px; padding: 14px 18px; border: 1px solid #f0d6bb; border-left: 5px solid #e06b4b; border-radius: 10px; background: #fff2df; color: #604535; }
.rich-content .product-version-caption > span { color: #ae5e43; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.rich-content .product-version-caption > strong { font-size: 1.08em; }
.rich-content .product-image-caption { margin: 0; padding: 12px 15px; border: 1px solid #e4d0b8; border-bottom: 0; border-left: 5px solid #dc7553; border-radius: 11px 11px 0 0; background: #fff1dc; color: #553f32; font-family: var(--sans); font-size: 14px; font-weight: 700; line-height: 1.5; text-align: center; overflow-wrap: anywhere; }
.rich-content figure:has(> .product-image-caption + img) { width: fit-content; max-width: 100%; }
.rich-content figure:has(> .product-image-caption + img) > .product-image-caption { box-sizing: border-box; width: 100%; }
.rich-content figure:has(> .product-image-caption + img) > img { height: auto; max-width: 100%; }
.rich-content .product-image-caption + img { border-radius: 0 0 11px 11px; }
.product-video-editor { display: grid; gap: 14px; }
.product-video-editor .product-editor-card-head { margin-bottom: 0; }
.product-video-editor > label { display: grid; gap: 6px; }
.product-video-editor > label small { color: #7f8a81; font-size: 9px; font-weight: 450; letter-spacing: 0; line-height: 1.55; text-transform: none; }
.product-video-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.product-video-fields label { display: grid; align-content: start; gap: 6px; }
.product-video-fields textarea { min-height: 94px; }
.product-video-note { margin: 0; padding: 10px 12px; border-radius: 9px; background: #f6f7f2; color: #758178; font-size: 9px; line-height: 1.6; }
.video-watch-section { padding-top: 38px; }
.video-watch-card { width: min(920px,100%); margin-inline: auto; padding: clamp(22px,4vw,48px); border: 1px solid #e1e8e1; border-radius: 22px; background: #fff; box-shadow: 0 16px 42px rgba(31,45,36,.07); }
.video-watch-card > .eyebrow { margin-bottom: 9px; }
.video-watch-card h1 { margin: 0 0 22px; color: #1e3025; font: 400 clamp(32px,4vw,48px)/1.12 var(--serif); letter-spacing: -.035em; }
.video-watch-player { overflow: hidden; aspect-ratio: 16/9; border-radius: 15px; background: #1d2c23; }
.video-watch-player iframe { display: block; width: 100%; height: 100%; border: 0; }
.product-inline-video { width: min(824px,100%); margin: 20px auto 0; }
.video-watch-description { max-width: 720px; margin: 20px 0 12px; color: #5e6c62; font-size: 14px; line-height: 1.8; }
.video-watch-meta { display: flex; justify-content: space-between; gap: 15px; margin: 14px 0 20px; padding-top: 13px; border-top: 1px solid #e9eee8; color: #7e8980; font-size: 10px; }
.video-watch-product { min-height: 42px; }
@media (max-width: 720px) {
    .product-video-fields { grid-template-columns: 1fr; }
    .video-watch-section { padding-top: 24px; }
    .video-watch-card { padding: 20px 16px; border-radius: 16px; }
    .video-watch-card h1 { margin-bottom: 16px; }
    .video-watch-player { border-radius: 10px; }
    .video-watch-description { font-size: 13px; }
}

.watermark-admin-form { gap: 18px; }
.watermark-admin-form fieldset { min-width: 0; margin: 0; padding: 17px; border: 1px solid #e4e9e2; border-radius: 12px; }
.watermark-admin-form fieldset legend { padding: 0 7px; color: #3b5143; font-size: 11px; font-weight: 750; }
.watermark-enable { display: flex !important; align-items: flex-start; gap: 11px !important; padding: 14px 15px; border: 1px solid #dce6db; border-radius: 11px; background: #f6f9f5; }
.watermark-enable input { flex: 0 0 auto; width: 16px !important; height: 16px; min-height: 0 !important; margin: 2px 0 0; }
.watermark-enable span { display: grid; gap: 4px; }
.watermark-enable strong { color: #2c4133; font-size: 12px; }
.watermark-enable small, .watermark-asset-copy small, .watermark-controls-grid small { color: #78847a; font-size: 10px; font-weight: 450; line-height: 1.55; }
.watermark-asset-layout { display: grid; grid-template-columns: minmax(180px,240px) minmax(0,1fr); align-items: center; gap: 19px; }
.watermark-preview { display: grid; min-height: 145px; place-items: center; overflow: hidden; border: 1px solid #e1e6df; border-radius: 10px; background-color: #f8f8f7; background-image: linear-gradient(45deg,#e9ebe8 25%,transparent 25%,transparent 75%,#e9ebe8 75%),linear-gradient(45deg,#e9ebe8 25%,transparent 25%,transparent 75%,#e9ebe8 75%); background-position: 0 0,9px 9px; background-size: 18px 18px; }
.watermark-preview img { max-width: 82%; max-height: 120px; object-fit: contain; }
.watermark-preview-empty { padding: 15px; color: #879188; font-size: 10px; text-align: center; }
.watermark-asset-copy { display: grid; gap: 9px; }
.watermark-asset-copy label { display: grid; gap: 7px; }
.watermark-asset-copy input[type=file] { max-width: 100%; font-size: 10px; }
.watermark-controls-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.watermark-controls-grid label { display: grid; align-content: start; gap: 6px; }
.watermark-angle-options { display: flex; align-items: center; gap: 15px; flex-wrap: wrap; margin-top: 16px; padding-top: 13px; border-top: 1px solid #edf0eb; color: #536258; font-size: 10px; }
.watermark-angle-options > span { margin-right: 3px; color: #374b3e; font-weight: 700; }
.watermark-angle-options label { display: inline-flex !important; align-items: center; gap: 6px !important; }
.watermark-angle-options input { width: 14px !important; height: 14px; min-height: 0 !important; margin: 0; }
.watermark-admin-form > .form-help { margin: 0; color: #78847a; font-size: 10px; line-height: 1.65; }
.watermark-admin-form > .form-help code { padding: 2px 4px; border-radius: 3px; background: #f1f4ef; color: #495a4d; }
@media (max-width: 720px) {
    .watermark-asset-layout { grid-template-columns: 1fr; }
    .watermark-preview { min-height: 120px; }
    .watermark-controls-grid { grid-template-columns: 1fr; }
    .watermark-admin-form fieldset { padding: 14px 11px; }
}
.taxonomy-seo-copy { max-width: 800px; margin: 32px auto 0; color: #68756d; font-size: 14px; line-height: 1.8; white-space: normal; }
.seo-settings-panel { margin-bottom: 18px; }
.seo-settings-panel h2 { margin: 0; font-size: 18px; font-weight: 600; }
.seo-settings-panel>p { color: #78847c; font-size: 11px; line-height: 1.6; }
.seo-resource-links { display: flex; flex-wrap: wrap; gap: 18px; margin: 20px 0 8px; font-size: 11px; }
.country-tags-list .admin-table td { vertical-align: middle; }
.country-tags-list .admin-table td:first-child { min-width: 190px; }
.country-tag-slug { display: block; margin-top: 4px; color: #879188; font-size: 9px; }
.country-tag-url-preview { margin: -5px 0 0; color: #78847a; font-size: 11px; }
.country-tag-url-preview code { padding: 3px 6px; border-radius: 3px; background: #f1f4ef; color: #495a4d; }

body.order-confirmation-page .confirmation-section { min-height: 0; padding-block: 28px; }
body.order-confirmation-page .confirmation-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "primary details" "action action"; align-items: center; gap: 20px 44px; width: min(1000px, 100%); max-width: none; padding: 32px 38px; text-align: left; }
.confirmation-primary { grid-area: primary; min-width: 0; }
.confirmation-kicker { display: flex; align-items: center; gap: 11px; margin-bottom: 10px; }
.confirmation-primary .confirmation-mark { flex: 0 0 auto; width: 42px; height: 42px; margin: 0; font-size: 18px; }
.confirmation-primary .eyebrow { margin: 0; }
.confirmation-card h1 { margin: 0 0 11px; font-size: clamp(32px, 3.4vw, 41px); }
.confirmation-card .confirmation-lead { max-width: none; margin: 0; font-size: 12px; line-height: 1.65; }
.confirmation-card .confirmation-number { margin: 16px 0 0; padding: 11px 14px; overflow-wrap: anywhere; }
.confirmation-details { display: grid; align-content: center; gap: 11px; min-width: 0; grid-area: details; }
.confirmation-card .confirmation-summary { grid-template-columns: minmax(0, 1fr) auto; gap: 9px 14px; margin: 0; align-items: center; }
.confirmation-card .confirmation-summary strong { overflow-wrap: anywhere; }
.confirmation-card .confirmation-summary .status-chip { text-align: center; }
.confirmation-pricing { padding: 10px 13px; background: #f6f7f4; }
.confirmation-price-line { display: flex; justify-content: space-between; gap: 14px; padding: 7px 0; color: #68746b; font-size: 10px; }
.confirmation-price-line strong { color: #293d30; text-align: right; }
.confirmation-price-total { border-top: 1px solid #e3e8e2; font-size: 11px; }
.confirmation-price-line.summary-discount,
.confirmation-price-line.summary-discount strong { color: #39714b; }
.confirmation-details .support-box { margin: 0; padding: 13px 15px; }
.confirmation-details .support-box > strong { font-size: 12px; }
.confirmation-details .support-box > p { font-size: 10px; line-height: 1.6; }
.confirmation-details .support-actions { gap: 7px; margin-top: 9px; }
.confirmation-details .support-button { min-height: 33px; padding-inline: 12px; font-size: 9px; }
.confirmation-details .manual-payment-note { align-items: flex-start; gap: 10px; margin: 0; padding: 11px 13px; }
.confirmation-details .manual-payment-note strong { flex: 0 0 auto; }
.confirmation-details .manual-payment-note p { font-size: 10px; line-height: 1.55; }
.confirmation-action { grid-area: action; justify-self: start; min-height: 42px; padding-inline: 19px; }
body.order-confirmation-page .site-footer { padding: 18px 0 12px; }
body.order-confirmation-page .footer-grid { display: grid; grid-template-columns: minmax(180px, 1.1fr) repeat(3, minmax(0, .82fr)); gap: 12px 24px; padding-bottom: 0; }
body.order-confirmation-page .footer-brand > p { margin-top: 8px; }
body.order-confirmation-page .footer-grid h2 { margin-bottom: 7px; }
@media (max-width: 1000px) and (min-width: 721px) {
    body.order-confirmation-page .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 32px; }
    body.order-confirmation-page .footer-brand { grid-column: 1 / -1; }
}

.crypto-amount .crypto-fiat-total { display: block; margin-top: 8px; color: #68756d; font-size: 12px; font-weight: 650; line-height: 1.35; }
.crypto-payment-info .crypto-amount .crypto-fiat-total strong { display: inline-block; margin-inline-start: 4px; color: var(--ink); font-size: 25px; font-weight: 800; letter-spacing: -.035em; line-height: 1.1; }
.crypto-payment-back-top { grid-area: back-top; justify-self: start; }
@media (max-width: 720px) {
    .crypto-amount .crypto-fiat-total { font-size: 11px; }
    .crypto-payment-info .crypto-amount .crypto-fiat-total strong { font-size: 22px; }
}

body.crypto-payment-page .crypto-payment-section { display: flex; justify-content: center; padding-block: 14px; }
body.crypto-payment-page .crypto-payment-card { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(185px, .62fr) minmax(0, 1fr); grid-template-areas: "back-top back-top back-top" "intro intro intro" "details qr submit" "back back back"; align-items: start; gap: 12px 18px; width: min(1200px, 100%); max-width: none; margin: 0 auto; padding: 20px 24px; box-sizing: border-box; }
.crypto-payment-intro { display: grid; grid-area: intro; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); grid-template-areas: "eyebrow eyebrow" "title lead"; align-items: center; gap: 0 24px; padding-bottom: 12px; border-bottom: 1px solid #e8ece8; }
.crypto-payment-intro > .eyebrow { grid-area: eyebrow; margin: 0 0 4px; }
.crypto-payment-title { grid-area: title; margin: 0 !important; font-size: clamp(30px, 3.1vw, 39px) !important; line-height: 1.05 !important; }
.crypto-payment-intro .crypto-payment-lead { grid-area: lead; max-width: none; margin: 0; font-size: 11px; line-height: 1.55; }
.crypto-payment-intro > .notice { grid-column: 1 / -1; margin: 10px 0 0; }
.crypto-payment-page .crypto-payment-grid { display: contents; }
.crypto-payment-info { display: grid; grid-area: details; grid-template-columns: minmax(0, 1.15fr) minmax(95px, .85fr); align-content: start; gap: 0 13px; min-width: 0; }
.crypto-payment-info .crypto-amount { grid-column: 1; padding: 9px 0; }
.crypto-payment-info .crypto-network { grid-column: 2; padding: 9px 0; }
.crypto-payment-info .crypto-wallet,
.crypto-payment-info .crypto-warning { grid-column: 1 / -1; }
.crypto-payment-info .crypto-wallet { padding: 9px 0; }
.crypto-payment-info .crypto-warning { margin-top: 7px; padding: 9px 11px; }
.crypto-payment-info .crypto-warning p { line-height: 1.45; }
.crypto-payment-info .crypto-amount strong { font-size: 21px; overflow-wrap: anywhere; }
.crypto-payment-info .crypto-network strong { overflow-wrap: anywhere; }
.crypto-payment-info .wallet-row { gap: 6px; margin-top: 5px; }
.crypto-payment-info .wallet-row code { min-width: 0; padding: 8px 9px; font-size: 8px; line-height: 1.4; }
.crypto-payment-info .wallet-row .button { flex: 0 0 auto; min-height: 36px; padding-inline: 10px; font-size: 9px; }
.crypto-qr-panel { grid-area: qr; align-self: center; justify-self: center; width: fit-content; max-width: 100%; padding: 11px; gap: 7px; }
.crypto-qr-panel #crypto-qr { padding: 5px; line-height: 0; }
.crypto-qr-panel #crypto-qr canvas,
.crypto-qr-panel #crypto-qr img { width: 160px !important; height: 160px !important; }
.crypto-submit-box { grid-area: submit; min-width: 0; margin: 0; padding: 14px; border: 1px solid #e2e9e2; border-radius: 14px; background: #f8f9f7; }
.crypto-submit-box h2 { font-size: 21px; line-height: 1.2; }
.crypto-submit-box > p:not(.eyebrow) { margin: 5px 0 9px; font-size: 9px; line-height: 1.5; }
.crypto-submit-box form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; align-items: stretch; }
.crypto-submit-box label { min-width: 0; font-size: 9px; }
.crypto-submit-box input { height: 39px; min-height: 39px; margin-top: 5px; padding-inline: 10px; font-size: 10px; }
.crypto-submit-box .button { width: 100%; min-height: 40px; padding-inline: 10px; font-size: 9px; }
.crypto-payment-back { grid-area: back; justify-self: start; margin-top: 1px; }
body.crypto-payment-page .site-footer { padding: 16px 0 12px; }
body.crypto-payment-page .footer-grid { display: grid; grid-template-columns: minmax(180px, 1.1fr) repeat(3, minmax(0, .82fr)); gap: 12px 20px; padding-bottom: 0; }
body.crypto-payment-page .footer-brand > p { margin-top: 8px; }
body.crypto-payment-page .footer-grid h2 { margin-bottom: 7px; }
@media (max-width: 1000px) and (min-width: 721px) {
    body.crypto-payment-page .crypto-payment-card { grid-template-columns: minmax(0, 1.1fr) minmax(150px, .55fr) minmax(0, 1fr); grid-template-areas: "back-top back-top back-top" "intro intro intro" "details qr submit" "back back back"; gap: 10px 12px; }
    .crypto-payment-info .crypto-amount strong { font-size: 17px; }
    body.crypto-payment-page .footer-grid { grid-template-columns: minmax(150px, 1fr) repeat(3, minmax(0, .82fr)); gap: 14px 12px; padding-bottom: 0; }
    body.crypto-payment-page .footer-brand { grid-column: auto; }
}
@media (max-width: 850px) and (min-width: 721px) {
    .crypto-payment-info .crypto-amount strong { font-size: 15px; }
}
@media (max-width: 720px) {
    body.crypto-payment-page .mobile-search-row { display: none; }
    body.crypto-payment-page .crypto-payment-section { padding-block: 12px; }
    body.crypto-payment-page .crypto-payment-card { grid-template-columns: minmax(0, 1fr); grid-template-areas: "back-top" "intro" "details" "qr" "submit" "back"; gap: 10px; padding: 17px 15px; }
    .crypto-payment-intro { grid-template-columns: minmax(0, 1fr); grid-template-areas: "eyebrow" "title" "lead"; gap: 4px; padding-bottom: 10px; }
    .crypto-payment-title { font-size: 32px !important; }
    .crypto-payment-intro .crypto-payment-lead { font-size: 10px; }
    .crypto-payment-info { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 0 10px; }
    .crypto-payment-info .crypto-amount strong { font-size: 18px; }
    .crypto-payment-info .crypto-network strong { font-size: 11px; }
    .crypto-payment-info .crypto-wallet { padding-block: 8px; }
    .crypto-payment-info .crypto-warning { margin-top: 6px; padding: 8px 10px; }
    .crypto-payment-info .wallet-row code { font-size: 7px; }
    .crypto-qr-panel { padding: 9px; }
    .crypto-qr-panel #crypto-qr canvas,
    .crypto-qr-panel #crypto-qr img { width: 150px !important; height: 150px !important; }
    .crypto-submit-box { padding: 12px; }
    .crypto-submit-box h2 { font-size: 19px; }
    .crypto-submit-box form { display: grid; }
    .crypto-payment-back { margin-top: 0; }
    body.crypto-payment-page .site-footer { padding: 14px 0 12px; }
    body.crypto-payment-page .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; padding-bottom: 0; }
    body.crypto-payment-page .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
    body.crypto-payment-page .footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 9px; }
    body.crypto-payment-page .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
    body.order-confirmation-page .mobile-search-row { display: none; }
    body.order-confirmation-page .confirmation-section { padding-block: 12px; }
    body.order-confirmation-page .confirmation-card { grid-template-columns: minmax(0, 1fr); grid-template-areas: "primary" "details" "action"; gap: 10px; padding: 20px 18px; }
    .confirmation-kicker { gap: 9px; margin-bottom: 7px; }
    .confirmation-primary .confirmation-mark { width: 36px; height: 36px; margin: 0; font-size: 16px; }
    .confirmation-card h1 { font-size: clamp(29px, 8vw, 36px); }
    .confirmation-card .confirmation-number { margin-top: 12px; padding: 10px 12px; }
    .confirmation-details { gap: 7px; }
    .confirmation-card .confirmation-summary { gap: 6px 10px; }
    .confirmation-pricing { padding: 6px 10px; }
    .confirmation-price-line { padding-block: 3px; }
    .confirmation-details .support-box { padding: 10px 12px; }
    .confirmation-details .manual-payment-note { gap: 8px; padding: 9px 11px; }
    .confirmation-action { width: 100%; justify-self: stretch; }
    body.order-confirmation-page .site-footer { padding: 16px 0 12px; }
    body.order-confirmation-page .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; padding-bottom: 0; }
    body.order-confirmation-page .footer-brand { grid-column: 1 / -1; }
}

.site-footer { padding: 24px 0 16px; }
.footer-grid { gap: clamp(18px, 2.8vw, 38px); padding-bottom: 0; }
.footer-brand > p { margin-top: 8px; font-size: 10px; line-height: 1.5; }
.footer-extra-links { gap: 12px; margin-top: 10px; }
.footer-grid h2 { margin-bottom: 7px; }
.footer-grid > div > a:not(.brand) { margin-block: 2px !important; line-height: 1.4; }
.footer-contact-actions { gap: 5px; margin: 5px 0 0; }
@media (max-width: 1000px) {
    .footer-grid { row-gap: 18px; }
}
@media (max-width: 720px) {
    .site-footer { padding: 18px 0 12px; }
}
@media (max-width: 560px) {
    .site-footer { padding: 16px 0 12px; }
    .footer-grid { row-gap: 14px; }
    .footer-brand > p { margin-top: 6px; }
    .footer-extra-links { margin-top: 8px; }
}

@media (min-width: 1001px) {
    .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.shop-filters { grid-template-columns: minmax(0, 2fr) minmax(190px, 1fr) auto; }
.product-listing-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 14px 22px; margin-bottom: 16px; }
.product-listing-head .results-line { min-height: 42px; margin: 0; }
.product-listing-controls { display: grid; grid-template-columns: repeat(3, minmax(125px, 1fr)) auto; align-items: end; gap: 9px; }
.product-listing-controls label { display: flex; min-width: 0; flex-direction: column; gap: 4px; color: #68756d; font-size: 9px; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }
.product-listing-controls select { width: 100%; min-height: 42px; padding: 8px 28px 8px 10px; border: 1px solid #dfe3de; border-radius: 10px; background: #fff; color: var(--ink); font-size: 12px; letter-spacing: 0; text-transform: none; }
.product-listing-apply { min-height: 42px; padding-inline: 15px; }
.product-grid-list { grid-template-columns: minmax(0, 1fr) !important; }
.product-grid-list .product-card { display: grid; grid-template-columns: minmax(190px, .38fr) minmax(0, 1fr); }
.product-grid-list .product-card-image { height: 100%; min-height: 210px; aspect-ratio: auto; }
.product-grid-list .product-card-body { min-width: 0; padding: 24px; }
.product-grid-list .product-card h3 { min-height: 0; }
@media (max-width: 1000px) {
    .product-listing-head { grid-template-columns: 1fr; align-items: stretch; gap: 10px; }
    .product-listing-controls { grid-template-columns: repeat(3, minmax(0, 1fr)) auto; }
}
@media (max-width: 720px) {
    .shop-filters { grid-template-columns: minmax(0, 1fr) minmax(120px, .8fr) auto; }
    .product-listing-head { gap: 8px; }
    .product-listing-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .product-listing-controls label { font-size: 8px; }
    .product-listing-controls select { min-height: 40px; }
    .product-listing-apply { grid-column: 1 / -1; width: 100%; min-height: 40px; }
    .product-grid-list .product-card { grid-template-columns: 1fr; }
    .product-grid-list .product-card-image { min-height: 0; aspect-ratio: 1.5; }
    .product-grid-list .product-card-body { padding: 16px; }
}
@media (max-width: 420px) {
    .shop-filters { grid-template-columns: 1fr 1fr; }
    .shop-filters .filter-search { grid-column: 1 / -1; }
    .shop-filters .button { width: 100%; }
}
.category-page-content, .country-tag-section { padding-top: 32px; }
@media (max-width: 720px) {
    .category-page-content, .country-tag-section { padding-top: 22px; }
    .product-listing-controls { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .product-listing-controls label { grid-column: span 2; }
    .product-listing-apply { grid-column: span 2; width: 100%; min-height: 40px; }
    .product-grid-list .product-card { grid-template-columns: minmax(96px, .42fr) minmax(0, 1fr); }
    .product-grid-list .product-card-image { height: 100%; min-height: 155px; aspect-ratio: auto; }
    .product-grid-list .product-card-body { padding: 12px; }
    .product-grid-list .product-card h3 { font-size: 16px; }
    .product-grid-list .product-card-bottom { align-items: flex-start; flex-direction: column; gap: 4px; }
    .product-grid-list .product-card-body .card-cart-form { margin-top: 8px; }
}
