:root {
    /* SAIBAAN glass theme tokens with readable light text on dark surfaces. */
    --ink: #f8fafc;
    --muted: #cbd5e1;
    --cream: #172436;
    --paper: #0b1220;
    --sage: #123a40;
    --green: #14b8a6;
    --line: rgba(226, 232, 240, .2);
    --accent: #fbbf24;
    --surface: rgba(255, 255, 255, .09);
    --shadow-light: rgba(255, 255, 255, .2);
    --shadow-dark: rgba(0, 0, 0, .34);
    --shadow-flat: 0 18px 48px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .14);
    --shadow-raised: 0 24px 60px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .2);
    --shadow-inset: inset 0 2px 10px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(255, 255, 255, .1);
    --radius-sm: 12px;
    --radius-md: 18px;
    --radius-lg: 26px;
    --radius-pill: 999px;
    --serif: Georgia, 'Times New Roman', serif;
    --sans: 'DM Sans', Arial, sans-serif;
    --display: 'Manrope', 'DM Sans', sans-serif
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    background: var(--surface);
    color: var(--ink);
    font: 15px/1.55 var(--sans);
    -webkit-font-smoothing: antialiased
}

a {
    color: inherit;
    text-decoration: none
}

button,
input,
select,
textarea {
    font: inherit
}

button {
    cursor: pointer
}

img {
    display: block;
    max-width: 100%;
    object-fit: cover
}

.announcement {
    background: var(--green);
    color: #f7f6ef;
    text-align: center;
    padding: 8px 16px;
    font-size: 10px;
    letter-spacing: .1em
}

.announcement span {
    padding: 0 12px;
    color: #b3c2aa
}

.site-header {
    height: 82px;
    padding: 0 6.1%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--surface);
    position: sticky;
    top: 10px;
    z-index: 20;
    width: min(1180px, calc(100% - 8%));
    height: 72px;
    margin: 12px auto;
    border: 1px solid #f8faf8;
    border-radius: var(--radius-pill);
    box-shadow: var(--shadow-flat)
}

.wordmark {
    font: 800 25px/1 var(--display);
    letter-spacing: .13em
}

.wordmark span,
.invoice-head strong span {
    color: var(--accent)
}

.main-nav {
    display: flex;
    gap: 36px;
    margin-left: 35px
}

.main-nav a {
    font-size: 12px;
    color: #46524c;
    padding: 10px 13px;
    border-radius: var(--radius-pill)
}

.main-nav a:hover { background: var(--surface); box-shadow: var(--shadow-inset); color: var(--green) }

.main-nav a:hover,
.text-link:hover {
    color: var(--accent)
}

.header-actions {
    display: flex;
    gap: 22px;
    align-items: center
}

.search-wrap {
    position: relative
}

.search-wrap form {
    height: 40px;
    border: 1px solid #d4dcd7;
    border-radius: var(--radius-pill);
    box-shadow: var(--shadow-inset);
    padding: 0 8px 0 13px;
    display: flex;
    align-items: center
}

.search-wrap input {
    border: 0;
    outline: 0;
    background: transparent;
    width: 148px;
    min-width: 0;
    flex: 1;
    color: var(--ink);
    font-size: 12px;
}

.search-wrap button {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 0;
    background: none;
    font-size: 23px;
    color: #697067
}

.bag-link {
    font-size: 12px
}

.bag-link span {
    display: inline-grid;
    place-items: center;
    background: var(--surface);
    box-shadow: var(--shadow-inset);
    border-radius: 50%;
    width: 22px;
    height: 22px;
    margin-left: 6px;
    font-size: 10px
}

.suggestions {
    position: absolute;
    display: none;
    top: calc(100% + 8px);
    right: 0;
    background: var(--surface);
    width: min(360px, calc(100vw - 32px));
    max-height: min(60vh, 440px);
    overflow-y: auto;
    box-shadow: var(--shadow-raised);
    border: 1px solid #f8faf8;
    border-radius: var(--radius-md);
    overflow: hidden;
    z-index: 30
}

.suggestions.visible {
    display: block
}

.suggestions a {
    padding: 12px 15px;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid var(--line);
    font-size: 12px
}

.suggestions a:hover {
    background: var(--cream)
}

.suggestions small {
    color: var(--muted)
}

.suggestions p {
    padding: 12px;
    font-size: 12px;
    color: var(--muted)
}

.menu-toggle {
    display: none
}

.hero {
    min-height: 590px;
    background: var(--surface);
    display: grid;
    grid-template-columns: 48% 52%;
    position: relative;
    overflow: hidden
}

.hero-content {
    padding: 115px 0 65px 14%;
    position: relative;
    z-index: 1
}

.eyebrow {
    font-size: 9px;
    letter-spacing: .17em;
    color: #828980;
    font-weight: 700
}

.hero .eyebrow {
    display: flex;
    align-items: center;
    gap: 10px
}

.hero .eyebrow span {
    width: 22px;
    height: 1px;
    background: var(--accent)
}

h1,
h2,
h3,
p {
    margin-top: 0
}

.hero h1,
.page-intro h1,
.confirmation h1,
.empty-state h1 {
    font: 500 clamp(48px, 6vw, 82px)/.98 var(--display);
    letter-spacing: -.065em;
    margin: 28px 0 20px
}

.hero h1 em,
.section-heading h2 em,
.manifesto h2 em,
.page-intro h1 em,
.pdp h1 em,
.confirmation h1 em,
.empty-state h1 em {
    font-family: var(--serif);
    font-weight: 400;
    letter-spacing: -.045em
}

.hero-content>p {
    max-width: 340px;
    font-size: 13px;
    color: #697067;
    line-height: 1.85;
    margin-bottom: 29px
}

.button {
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    gap: 27px;
    border: 1px solid #f8faf8;
    padding: 15px 19px;
    min-height: 48px;
    border-radius: var(--radius-pill);
    box-shadow: var(--shadow-flat);
    font-weight: 600;
    font-size: 11px;
    letter-spacing: .035em;
    transition: .2s
}

.button span {
    font-size: 16px
}

.button-dark {
    background: #334b40;
    color: white
}

.button-dark:hover {
    background: #253d32;
    transform: translateY(-2px);
    box-shadow: var(--shadow-raised)
}

.button:active { transform: translateY(1px); box-shadow: var(--shadow-inset) }

.button-outline {
    background: var(--surface);
    border: 1px solid #cbd3ce;
    color: var(--ink)
}

.button-outline:hover {
    border-color: var(--green)
}

button:disabled {
    opacity: .45;
    cursor: not-allowed;
    transform: none
}

.hero-note {
    display: flex;
    gap: 18px;
    position: absolute;
    bottom: 38px;
    font-size: 9px;
    color: #8c928a;
    letter-spacing: .08em
}

.hero-note strong {
    color: var(--green)
}

.hero-image {
    height: 590px;
    position: relative;
    overflow: hidden;
    background: #e3d8c8
    ;margin: 22px 22px 22px 0;border-radius: var(--radius-lg);box-shadow: var(--shadow-raised)
}

.hero-image:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #ecefe7 0%, transparent 24%)
}

.hero-image img {
    width: 100%;
    height: 100%;
    object-position: center 39%;
    filter: saturate(.74)
}

.hero-stamp {
    position: absolute;
    z-index: 1;
    right: 8%;
    top: 11%;
    background: #f5f3eddf;
    padding: 16px 18px;
    font: 700 9px/1.6 var(--display);
    letter-spacing: .15em
}

.hero-stamp span {
    display: block;
    color: var(--accent);
    font-size: 22px
}

.hero-rail {
    position: absolute;
    right: 15px;
    top: 42%;
    writing-mode: vertical-rl;
    letter-spacing: .22em;
    font-size: 8px;
    color: #777e74
}

.section-pad {
    padding: 105px 8%
}

.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 36px
}

.section-heading h2,
.manifesto h2 {
    font: 500 47px/1.02 var(--display);
    letter-spacing: -.055em;
    margin: 14px 0 0
}

.text-link {
    font-size: 11px;
    border-bottom: 1px solid #aeb2a9;
    padding-bottom: 7px;
    transition: .2s
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
}

.category-card {
    height: 360px;
    position: relative;
    overflow: hidden;
    background: var(--surface);
    color: white
    ;border-radius: var(--radius-md);box-shadow: var(--shadow-flat)
}

.category-card:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, #0b140cb0, transparent 60%)
}

.category-card img {
    height: 100%;
    width: 100%;
    transition: transform .6s;
    filter: saturate(.75)
}

.category-card:hover img,
.product-card:hover img {
    transform: scale(1.045)
}

.category-card>div {
    position: absolute;
    z-index: 1;
    bottom: 27px;
    left: 25px
}

.category-card>div span {
    font-size: 8px;
    letter-spacing: .13em
}

.category-card h3 {
    font: 500 29px var(--display);
    margin: 9px 0 0
}

.category-card>b {
    position: absolute;
    right: 25px;
    bottom: 31px;
    z-index: 2;
    font-weight: 400;
    font-size: 19px
}

.featured-section {
    padding-top: 65px;
    background: #e7ece8
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px 15px
}

.product-image {
    height: 320px;
    position: relative;
    background: #dfe5e1;
    overflow: hidden
    ;border-radius: var(--radius-md);box-shadow: var(--shadow-flat)
}

.product-image img {
    height: 100%;
    width: 100%;
    transition: transform .5s;
    filter: saturate(.82)
}

.product-tag {
    position: absolute;
    left: 11px;
    top: 11px;
    background: #edf1eef2;
    color: #28342e;
    border-radius: var(--radius-pill);
    padding: 6px 8px;
    font-size: 8px;
    letter-spacing: .1em
}

.quick-arrow {
    position: absolute;
    right: 11px;
    bottom: 11px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--surface);
    box-shadow: var(--shadow-flat);
    display: grid;
    place-items: center;
    opacity: 0;
    transition: .2s
}

.product-card:hover .quick-arrow {
    opacity: 1
}

.product-card:hover .product-image { transform: translateY(-3px); box-shadow: var(--shadow-raised) }
.product-image { transition: transform .25s, box-shadow .25s }

.product-meta {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 5px;
    padding: 12px 2px
}

.product-meta>span {
    grid-column: 1/-1;
    font-size: 8px;
    letter-spacing: .12em;
    color: #969b92
}

.product-meta strong {
    font-size: 12px;
    font-weight: 600
}

.product-meta b {
    font-size: 11px
}

.manifesto {
    background: #e3e9e5;
    padding: 90px 12%;
    display: grid;
    grid-template-columns: .6fr 1fr 1fr;
    gap: 40px;
    align-items: center
}

.manifesto-mark {
    font: 500 115px var(--serif);
    color: #c2ccbd
}

.manifesto h2 {
    font-size: 51px;
    margin: 16px 0
}

.manifesto p {
    max-width: 330px;
    font-size: 12px;
    line-height: 1.9;
    color: #697267;
    margin-bottom: 23px
}

.manifesto-image {
    height: 345px;
    overflow: hidden
}

.manifesto-image img {
    height: 100%;
    width: 100%;
    object-position: center 38%
}

.site-footer {
    background: #26362c;
    color: #eef0e9;
    padding: 48px 8% 18px
}

.footer-main {
    display: grid;
    grid-template-columns: 1fr 1.5fr 1fr;
    align-items: start;
    padding-bottom: 55px
}

.inverse {
    color: #f2f3ed
}

.footer-main p {
    font: italic 17px/1.55 var(--serif);
    color: #c5cec3
}

.footer-links {
    display: flex;
    justify-content: flex-end;
    gap: 25px;
    font-size: 11px;
    color: #d0d8cd
}

.footer-bottom {
    border-top: 1px solid #ffffff26;
    padding-top: 14px;
    display: flex;
    justify-content: space-between;
    font-size: 9px;
    letter-spacing: .08em;
    color: #b8c1b7
}

.flash {
    max-width: 900px;
    margin: 14px auto 0;
    padding: 11px 16px;
    font-size: 12px
}

.flash.success {
    background: #e6eee2;
    color: #344c39
}

.flash.error {
    background: #f8e8e2;
    color: #8c4431
}

.page-intro {
    text-align: center;
    padding: 70px 20px 48px;
    background: #e6ebe7
}

.page-intro h1 {
    font-size: 55px;
    margin: 15px 0 8px
}

.page-intro p {
    color: var(--muted);
    font-size: 13px
}

.page-intro.compact {
    padding: 48px 20px 30px
}

.page-intro.compact h1 {
    font-size: 47px
}

.catalog-layout {
    padding: 45px 7% 100px;
    display: grid;
    grid-template-columns: 210px 1fr;
    gap: 44px
}

.filters h3 {
    font: 600 15px var(--display);
    margin: 0 0 24px
}

.filters form,
.editor-form {
    display: grid;
    gap: 18px
}

.filters label,
.editor-form>label,
.editor-form .editor-two label,
.checkout-fields label,
.admin-login-form label {
    display: grid;
    gap: 7px;
    font-size: 10px;
    font-weight: 600;
    color: #535951
}

.filters input:not([type=checkbox]),
.filters select,
.editor-form input,
.editor-form select,
.editor-form textarea,
.checkout-fields input,
.checkout-fields textarea,
.admin-login-form input {
    width: 100%;
    padding: 11px;
    border: 1px solid #d5ddd8;
    background: var(--surface);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-inset);
    outline: none;
    font-size: 12px;
    color: var(--ink)
}

input:focus,
select:focus,
textarea:focus {
    border-color: #728575 !important
}

.range-fields {
    display: flex;
    gap: 7px
}

.range-fields input {
    min-width: 0
}

.check-label {
    display: flex !important;
    align-items: center;
    gap: 9px !important;
    color: #646b62 !important;
    font-weight: 400 !important
}

.check-label input {
    accent-color: var(--green)
}

.full-width {
    width: 100%
}

.clear-filters {
    font-size: 10px;
    text-align: center;
    color: var(--muted)
}

.results-head {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid var(--line);
    padding: 0 0 13px;
    margin-bottom: 20px;
    font-size: 10px;
    color: var(--muted)
}

.results-head span:last-child {
    letter-spacing: .13em;
    font-size: 8px
}

.catalog-results .product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 15px
}

.catalog-results .product-image {
    height: 310px
}

.breadcrumbs {
    padding: 23px 7%;
    font-size: 10px;
    color: #92988e
}

.breadcrumbs a {
    color: #4d584e
}

.pdp {
    padding: 12px 9% 100px;
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 8%;
    align-items: start
}

.gallery-main {
    height: 600px;
    background: #e3e9e5;
    border-radius: var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-flat)
}

.gallery-main img {
    height: 100%;
    width: 100%
}

.gallery-thumbs {
    display: flex;
    gap: 10px;
    margin-top: 12px
}

.thumb {
    width: 65px;
    height: 75px;
    padding: 0;
    border: 1px solid transparent;
    background: var(--surface);
    border-radius: var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-flat)
}

.thumb.active {
    border-color: var(--green)
}

.thumb img {
    width: 100%;
    height: 100%
}

.pdp-info {
    padding-top: 37px
}

.pdp-info .eyebrow span {
    color: var(--accent);
    padding: 0 4px
}

.pdp h1 {
    font: 600 42px/1.1 var(--display);
    letter-spacing: -.05em;
    margin: 14px 0
}

.pdp-price {
    display: flex;
    align-items: center;
    gap: 13px;
    font-size: 17px;
    margin-bottom: 19px
}

.pdp-price del {
    font-size: 13px;
    color: #9b9e97
}

.pdp-description {
    color: #737970;
    font-size: 12px;
    line-height: 1.9;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--line)
}

.field-label {
    display: block;
    font-size: 10px;
    font-weight: 700;
    margin: 20px 0 10px
}

.size-options {
    display: flex;
    gap: 8px;
    flex-wrap: wrap
}

.size-choice input {
    position: absolute;
    opacity: 0
}

.size-choice span {
    display: grid;
    place-items: center;
    min-width: 43px;
    height: 40px;
    padding: 0 9px;
    border: 1px solid #d0d8d3;
    border-radius: var(--radius-pill);
    box-shadow: var(--shadow-flat);
    font-size: 10px
}

.size-choice input:checked+span {
    background: var(--green);
    border-color: var(--green);
    color: white;
    box-shadow: var(--shadow-inset)
}

.size-choice input:disabled+span {
    opacity: .38;
    text-decoration: line-through
}

.color-options {
    display: flex;
    gap: 7px;
    flex-wrap: wrap
}

.color-chip {
    border: 1px solid #d0d8d3;
    background: var(--surface);
    padding: 7px 10px;
    font-size: 10px;border-radius:var(--radius-pill);box-shadow:var(--shadow-flat)
}

.color-chip.selected {
    border-color: var(--green);
    background: var(--surface);box-shadow:var(--shadow-inset)
}

.stock-note,
.form-hint {
    font-size: 10px;
    color: #6d7c6c;
    margin: 13px 0
}

.stock-note.out-of-stock {
    color: #b15b43
}

.pdp-actions {
    display: flex;
    gap: 10px
}

.pdp-actions>* {
    flex: 1
}

.product-promise {
    border-top: 1px solid var(--line);
    margin-top: 25px;
    padding-top: 13px
}

.product-promise>div {
    display: flex;
    align-items: center;
    gap: 12px
}

.product-promise>div>span {
    font-size: 18px;
    color: #768371;
    width: 22px
}

.product-promise p {
    display: grid;
    margin: 5px 0;
    font-size: 10px
}

.product-promise small {
    color: #888e85
}

.cart-page {
    max-width: 1050px;
    padding: 25px 30px 100px;
    margin: auto;
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 55px
}

.cart-line {
    display: grid;
    grid-template-columns: 90px 1fr 115px 100px;
    align-items: center;
    gap: 18px;
    padding: 18px 0;
    border-bottom: 1px solid var(--line)
}

.cart-line>img {
    width: 90px;
    height: 105px;
    background: var(--cream);border-radius:var(--radius-sm);box-shadow:var(--shadow-flat)
}

.cart-line-info>span,
.cart-line-info small {
    font-size: 9px;
    color: var(--muted)
}

.cart-line-info h3 {
    font-size: 13px;
    margin: 5px 0
}

.quantity-form {
    display: flex;
    align-items: center;
    gap: 7px
}

.quantity-form input {
    width: 49px;
    padding: 8px;
    border: 1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-inset)
    font-size: 11px
}

.quantity-form button {
    border: 0;
    background: transparent;
    text-decoration: underline;
    font-size: 9px;
    color: var(--muted)
}

.cart-line>strong {
    font-size: 12px;
    text-align: right
}

.cart-summary {
    background: var(--surface);
    padding: 22px;
    height: max-content;border-radius:var(--radius-md);box-shadow:var(--shadow-flat)
}

.cart-summary>div {
    display: flex;
    justify-content: space-between;
    font-size: 13px
}

.cart-summary p {
    font-size: 10px;
    color: var(--muted);
    line-height: 1.7;
    margin: 13px 0 20px
}

.cart-summary .text-link {
    display: block;
    width: max-content;
    margin: 15px auto 0
}

.empty-state {
    text-align: center;
    padding: 70px 20px
}

.empty-state>span {
    font: 30px var(--serif)
}

.empty-state p {
    color: var(--muted);
    font-size: 12px;
    margin: 8px 0 23px
}

.checkout-layout {
    max-width: 1050px;
    padding: 35px 30px 100px;
    margin: auto;
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 60px
}

.checkout-form {
    display: grid;
    gap: 28px
}

.checkout-step {
    border-bottom: 1px solid var(--line);
    padding-bottom: 24px
}

.checkout-step>div:first-child {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 18px
}

.checkout-step>div:first-child>span {
    font: italic 18px var(--serif);
    color: var(--accent)
}

.checkout-step h2 {
    font: 600 16px var(--display);
    margin: 0
}

.checkout-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px
}

.checkout-fields label {
    font-size: 10px
}

.checkout-fields small {
    font-weight: 400;
    color: #999
}

.checkout-fields .wide {
    grid-column: 1/-1
}

.payment-choice {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid #abb6a6;
    padding: 16px;border-radius:var(--radius-sm);box-shadow:var(--shadow-inset)
}

.payment-choice input {
    accent-color: var(--green)
}

.payment-choice span {
    display: grid;
    gap: 3px;
    font-size: 11px
}

.payment-choice small {
    font-size: 10px;
    color: var(--muted)
}

.payment-choice b {
    margin-left: auto;
    color: var(--green);
    font-size: 10px
}

.payment-choice-disabled {
    opacity: .72;
    cursor: not-allowed;
}

.payment-choice-disabled b {
    font-size: 9px;
    letter-spacing: .06em;
    white-space: nowrap;
}

.checkout-submit {
    width: 100%
}

.checkout-note {
    font-size: 9px;
    color: var(--muted);
    text-align: center;
    margin-top: -19px
}

.order-summary {
    background: var(--surface);
    padding: 22px;
    height: max-content;
    position: sticky;
    top: 105px;border-radius:var(--radius-md);box-shadow:var(--shadow-flat)
}

.order-summary h3 {
    display: flex;
    justify-content: space-between;
    font: 600 15px var(--display);
    padding-bottom: 14px;
    border-bottom: 1px solid #dedfd8
}

.order-summary h3 span {
    font: 10px var(--sans);
    color: var(--muted)
}

.summary-line {
    display: grid;
    grid-template-columns: 55px 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 11px 0;
    border-bottom: 1px solid #e3e3dc
}

.summary-line img {
    width: 55px;
    height: 62px;border-radius:var(--radius-sm)
}

.summary-line div {
    display: grid;
    gap: 4px
}

.summary-line strong,
.summary-line>span {
    font-size: 10px
}

.summary-line small {
    font-size: 9px;
    color: var(--muted)
}

.summary-totals {
    display: grid;
    gap: 12px;
    padding-top: 18px;
    font-size: 10px
}

.summary-totals>div {
    display: flex;
    justify-content: space-between
}

.grand-total {
    border-top: 1px solid #d6d8d0;
    padding-top: 13px;
    font-size: 14px !important
}

.confirmation {
    max-width: 630px;
    margin: 0 auto;
    padding: 70px 20px 100px;
    text-align: center
}

.confirm-icon {
    width: 48px;
    height: 48px;
    border: 1px solid #b3c2ad;
    border-radius: 50%;box-shadow:var(--shadow-flat);
    display: grid;
    place-items: center;
    color: var(--green);
    margin: 0 auto 18px;
    font-size: 21px
}

.confirmation h1 {
    font-size: 58px;
    margin: 15px 0
}

.confirmation>p {
    font-size: 12px;
    color: var(--muted);
    margin-bottom: 28px
}

.invoice-card {
    text-align: left;
    padding: 23px 26px;
    border: 1px solid #f8faf8;
    background: var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-flat)
}

.invoice-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 17px;
    border-bottom: 1px solid var(--line)
}

.invoice-head strong {
    font: 800 18px var(--display);
    letter-spacing: .12em
}

.invoice-head div {
    display: grid;
    text-align: right
}

.invoice-head small {
    font-size: 8px;
    color: var(--muted);
    letter-spacing: .13em
}

.invoice-head b {
    font-size: 11px
}

.invoice-items {
    padding: 13px 0
}

.invoice-items>div {
    display: flex;
    justify-content: space-between;
    padding: 7px 0;
    font-size: 11px
}

.invoice-items small {
    display: block;
    color: var(--muted);
    font-size: 9px
}

.invoice-total {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid var(--line);
    padding-top: 13px;
    font-size: 12px
}

.invoice-address {
    font-size: 10px;
    line-height: 1.8;
    color: var(--muted);
    margin: 17px 0 0
}

.confirm-actions {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 18px
}

.not-found {
    padding: 120px 20px
}

/* Admin */
.admin-body {
    background: #f6f7f3;
    min-height: 100vh
}

.admin-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: 225px;
    background: #27372d;
    color: #eff1eb;
    padding: 28px 21px;
    display: flex;
    flex-direction: column;
    z-index: 10
}

.admin-sidebar>.wordmark {
    margin: 0 0 40px 10px
}

.admin-sidebar>small {
    font-size: 8px;
    letter-spacing: .16em;
    color: #9fa99d;
    padding: 0 11px 12px
}

.admin-sidebar nav {
    display: grid;
    gap: 5px
}

.admin-sidebar nav a {
    padding: 12px 11px;
    color: #c5cec3;
    font-size: 11px
}

.admin-sidebar nav a:hover {
    background: #ffffff12;
    color: white
}

.admin-user {
    margin-top: auto;
    border-top: 1px solid #ffffff26;
    padding: 18px 2px 0;
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 10px
}

.admin-user>span:nth-child(2) {
    flex: 1
}

.admin-user small {
    display: block;
    color: #aab5a8;
    font-size: 8px;
    margin-top: 3px
}

.avatar {
    width: 29px;
    height: 29px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #677b68;
    color: white
}

.admin-user button {
    border: 0;
    background: none;
    color: #d7dfd4
}

.admin-main {
    margin-left: 225px;
    min-height: 100vh
}

.admin-top {
    height: 56px;
    background: white;
    border-bottom: 1px solid #e8eae4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4%;
    font-size: 8px;
    letter-spacing: .12em;
    color: #858c83
}

.admin-content {
    padding: 35px 4.2% 65px;
    max-width: 1600px;
    margin: auto
}

.admin-page-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 26px
}

.admin-page-heading h1 {
    font: 600 27px var(--display);
    letter-spacing: -.04em;
    margin: 8px 0 0
}

.count-badge {
    display: inline-grid;
    place-items: center;
    background: #e3e9df;
    color: var(--green);
    font: 10px var(--sans);
    vertical-align: middle;
    width: 25px;
    height: 25px;
    border-radius: 50%
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px
}

.metric-card {
    background: white;
    border: 1px solid #eaebe6;
    padding: 18px;
    position: relative
}

.metric-card>span {
    display: block;
    font-size: 8px;
    letter-spacing: .13em;
    color: #858c83
}

.metric-card>strong {
    display: block;
    font: 600 25px var(--display);
    margin: 12px 0 5px
}

.metric-card small {
    font-size: 9px;
    color: #9a9f97
}

.metric-card i {
    position: absolute;
    right: 17px;
    top: 16px;
    color: #8f9e8a;
    font-size: 15px;
    font-style: normal
}

.admin-panel {
    background: white;
    border: 1px solid #e8eae4;
    margin-top: 23px
}

.panel-heading {
    padding: 20px 22px 13px;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.panel-heading h2 {
    font: 600 17px var(--display);
    margin: 5px 0
}

.panel-heading .eyebrow {
    font-size: 8px
}

.table-wrap {
    overflow-x: auto
}

table {
    border-collapse: collapse;
    width: 100%;
    min-width: 680px;
    text-align: left
}

th {
    font-size: 8px;
    letter-spacing: .1em;
    font-weight: 600;
    color: #92978f;
    background: #fafbf8;
    padding: 12px 15px;
    border-top: 1px solid #eef0eb;
    border-bottom: 1px solid #eef0eb
}

td {
    padding: 14px 15px;
    border-bottom: 1px solid #f0f1ed;
    font-size: 10px;
    color: #596057
}

td strong {
    color: #343d35;
    font-weight: 600
}

td small {
    display: block;
    color: #9b9f98;
    font-size: 9px;
    margin-top: 4px
}

.status-pill {
    display: inline-block;
    padding: 5px 8px;
    border-radius: 20px;
    background: #eeefe9;
    color: #727970;
    font-size: 8px
}

.status-pill.pending {
    background: #f7efda;
    color: #92783a
}

.status-pill.processing {
    background: #e5edf5;
    color: #516f8c
}

.status-pill.shipped {
    background: #e5edf5;
    color: #516f8c
}

.status-pill.delivered,
.status-pill.active {
    background: #e3eee1;
    color: #54744e
}

.status-pill.cancelled,
.status-pill.draft {
    background: #f6e8e3;
    color: #a36451
}

.table-empty {
    text-align: center;
    padding: 32px;
    color: #92978f
}

.admin-product-layout {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 18px;
    align-items: start
}

.admin-product-layout .admin-panel {
    margin: 0
}

.product-editor {
    padding-bottom: 20px
}

.product-editor .panel-heading {
    padding-bottom: 16px
}

.editor-form {
    padding: 0 19px;
    gap: 13px
}

.editor-form>label,
.editor-form .editor-two label {
    font-size: 9px
}

.editor-form input,
.editor-form select,
.editor-form textarea {
    padding: 9px;
    font-size: 10px
}

.editor-form small {
    font-size: 8px;
    color: #969b93;
    font-weight: 400
}

.editor-two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px
}

.variant-editor {
    background: #f6f7f3;
    padding: 13px;
    display: grid;
    gap: 10px
}

.variant-editor>strong {
    font-size: 10px
}

.inventory-panel td {
    white-space: nowrap
}

.row-actions {
    display: flex;
    align-items: center;
    gap: 10px
}

.row-actions a,
.row-actions button {
    border: 0;
    background: none;
    padding: 0;
    font-size: 9px;
    color: #506d55;
    text-decoration: underline
}

.row-actions button {
    color: #a05c4b
}

.row-actions form {
    display: inline
}

.status-form {
    display: flex;
    gap: 4px
}

.status-form select {
    border: 1px solid #e1e3dc;
    background: white;
    padding: 6px;
    font-size: 9px
}

.status-form button {
    border: 0;
    background: #e7ece3;
    color: var(--green)
}

.login-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 25px
}

.login-shell {
    width: min(100%, 375px);
    background: #fff;
    padding: 39px;
    box-shadow: var(--shadow-raised);border-radius:var(--radius-lg);background:var(--surface)
}

.login-shell>.wordmark {
    display: block;
    margin-bottom: 44px
}

.login-shell h1 {
    font: 500 47px/.97 var(--display);
    letter-spacing: -.06em;
    margin: 13px 0
}

.login-shell h1 em {
    font: italic 400 1em var(--serif)
}

.login-shell>p {
    font-size: 11px;
    color: var(--muted);
    margin-bottom: 21px
}

.admin-login-form {
    display: grid;
    gap: 15px
}

.back-store {
    display: block;
    text-align: center;
    font-size: 10px;
    color: #7f877c;
    margin-top: 17px
}

.cancel-edit {
    font-size: 10px;
    text-align: center;
    color: var(--muted)
}

@media(max-width:1050px) {
    .hero-content {
        padding-left: 10%
    }

    .section-pad {
        padding-left: 6%;
        padding-right: 6%
    }

    .product-image {
        height: 260px
    }

    .pdp {
        padding-left: 6%;
        padding-right: 6%
    }

    .admin-product-layout {
        grid-template-columns: 300px 1fr
    }

    .admin-sidebar {
        width: 190px
    }

    .admin-main {
        margin-left: 190px
    }

    .admin-content {
        padding-left: 3%;
        padding-right: 3%
    }
}

@media(max-width:760px) {
    .announcement {
        font-size: 8px
    }

    .site-header {
        height: 60px;
        padding: 0 5%
    }

    .wordmark {
        font-size: 22px
    }

    .menu-toggle {
        display: block;
        margin-left: auto;
        border: 0;
        background: none;
        font-size: 19px
    }

    .main-nav {
        display: none;
        position: absolute;
        top: 65px;
        left: 0;
        right: 0;
        margin: 0;
        background: var(--surface);
        padding: 14px 6%;
        box-shadow: var(--shadow-raised);
        gap: 0;
        flex-direction: column
    }

    .main-nav.open {
        display: flex
    }

    .main-nav a {
        padding: 11px 0;
        border-bottom: 1px solid var(--line)
    }

    .header-actions {
        gap: 10px;
        margin-left: 14px
    }

    .search-wrap input {
        width: clamp(52px, 16vw, 90px)
    }

    .search-wrap form {
        height: 32px
    }

    .bag-link {
        font-size: 10px
    }

    .hero {
        min-height: 650px;
        grid-template-columns: 1fr;
        grid-template-rows: auto 310px
    }

    .hero-content {
        padding: 62px 8% 50px
    }

    .hero h1 {
        font-size: 61px;
        margin: 20px 0 12px
    }

    .hero-content>p {
        font-size: 11px;
        max-width: 290px
    }

    .hero-note {
        display: none
    }

    .hero-image {
        height: 310px
    }

    .hero-image:after {
        background: linear-gradient(180deg, #ecefe7 0%, transparent 22%)
    }

    .hero-rail {
        display: none
    }

    .hero-stamp {
        top: 13%;
        font-size: 8px
    }

    .section-pad {
        padding: 66px 5%
    }

    .section-heading {
        margin-bottom: 23px
    }

    .section-heading h2,
    .manifesto h2 {
        font-size: 36px
    }

    .section-heading .text-link {
        font-size: 9px
    }

    .category-grid {
        grid-template-columns: 1fr 1fr;
        gap: 9px
    }

    .category-card {
        height: 230px
    }

    .category-card:last-child {
        grid-column: 1/-1;
        height: 220px
    }

    .category-card>div {
        left: 14px;
        bottom: 17px
    }

    .category-card h3 {
        font-size: 21px
    }

    .category-card>div span {
        font-size: 7px
    }

    .category-card>b {
        right: 14px;
        bottom: 20px
    }

    .product-grid,
    .catalog-results .product-grid {
        grid-template-columns: 1fr 1fr;
        gap: 18px 10px
    }

    .product-image,
    .catalog-results .product-image {
        height: 245px
    }

    .product-meta strong {
        font-size: 10px
    }

    .product-meta b {
        font-size: 10px
    }

    .product-tag {
        font-size: 7px
    }

    .manifesto {
        padding: 60px 8%;
        grid-template-columns: 1fr 1fr;
        gap: 20px
    }

    .manifesto-mark {
        font-size: 74px
    }

    .manifesto>div:nth-child(2) {
        grid-column: 2;
        grid-row: 1/3
    }

    .manifesto h2 {
        font-size: 40px
    }

    .manifesto p {
        font-size: 10px
    }

    .manifesto-image {
        grid-column: 1;
        grid-row: 2;
        height: 190px
    }

    .site-footer {
        padding: 36px 6% 15px
    }

    .footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 18px;
        padding-bottom: 35px
    }

    .footer-main>p {
        font-size: 13px
    }

    .footer-links {
        grid-column: 1/-1;
        justify-content: flex-start
    }

    .footer-bottom {
        font-size: 8px
    }

    .page-intro {
        padding: 52px 15px 36px
    }

    .page-intro h1 {
        font-size: 41px
    }

    .catalog-layout {
        padding: 24px 5% 65px;
        grid-template-columns: 1fr;
        gap: 22px
    }

    .filters h3 {
        margin-bottom: 13px
    }

    .filters form {
        grid-template-columns: 1fr 1fr;
        gap: 11px
    }

    .filters form>.button,
    .filters form>.clear-filters {
        grid-column: 1/-1
    }

    .filters label {
        font-size: 9px
    }

    .results-head {
        font-size: 9px
    }

    .pdp {
        grid-template-columns: 1fr;
        padding: 0 5% 65px;
        gap: 20px
    }

    .breadcrumbs {
        padding: 16px 5%
    }

    .gallery-main {
        height: 430px
    }

    .pdp-info {
        padding-top: 0
    }

    .pdp h1 {
        font-size: 34px
    }

    .pdp-description {
        font-size: 11px
    }

    .cart-page {
        padding: 15px 5% 60px;
        grid-template-columns: 1fr;
        gap: 20px
    }

    .cart-line {
        grid-template-columns: 65px 1fr 70px;
        gap: 10px
    }

    .cart-line>img {
        width: 65px;
        height: 78px
    }

    .cart-line-info h3 {
        font-size: 11px
    }

    .quantity-form {
        grid-column: 2;
        grid-row: 2
    }

    .cart-line>strong {
        grid-column: 3;
        grid-row: 1;
        font-size: 10px
    }

    .checkout-layout {
        padding: 18px 5% 65px;
        grid-template-columns: 1fr;
        gap: 28px
    }

    .order-summary {
        position: static;
        grid-row: 1
    }

    .checkout-fields {
        gap: 10px
    }

    .confirmation {
        padding-top: 50px
    }

    .confirmation h1 {
        font-size: 47px
    }

    .confirm-actions {
        flex-direction: column
    }

    .invoice-card {
        padding: 18px
    }

    .admin-sidebar {
        position: static;
        width: auto;
        height: auto;
        padding: 13px 18px;
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 15px
    }

    .admin-sidebar>.wordmark {
        margin: 0;
        font-size: 19px
    }

    .admin-sidebar>small {
        display: none
    }

    .admin-sidebar nav {
        display: flex;
        gap: 0;
        margin-left: auto
    }

    .admin-sidebar nav a {
        font-size: 10px;
        padding: 8px 9px;
        white-space: nowrap;
        border-radius: 8px;
    }

    .admin-user {
        margin: 0;
        border: 0;
        padding: 0
    }

    .admin-user>span:nth-child(2),
    .admin-user form {
        display: none
    }

    .admin-main {
        margin: 0
    }

    .admin-top {
        height: 38px
    }

    .admin-content {
        padding: 24px 4% 45px
    }

    .admin-page-heading h1 {
        font-size: 22px
    }

    .admin-page-heading .button {
        font-size: 9px;
        padding: 11px
    }

    .metric-grid {
        grid-template-columns: 1fr 1fr;
        gap: 8px
    }

    .metric-card {
        padding: 13px
    }

    .metric-card>strong {
        font-size: 20px
    }

    .metric-card>span {
        font-size: 7px
    }

    .admin-product-layout {
        grid-template-columns: 1fr
    }

    .inventory-panel {
        grid-row: 1
    }

    .product-editor {
        grid-row: 2
    }

    .orders-panel table {
        min-width: 850px
    }

    .login-page {
        padding: 15px
    }

    .login-shell {
        padding: 29px
    }

    .login-shell>.wordmark {
        margin-bottom: 34px
    }
}

@media print {

    .announcement,
    .site-header,
    .site-footer,
    .confirm-actions,
    .flash {
        display: none !important
    }

    .confirmation {
        padding: 0;
        max-width: 100%
    }

    .confirmation>.confirm-icon,
    .confirmation>.eyebrow,
    .confirmation>h1,
    .confirmation>p {
        display: none
    }

    .invoice-card {
        border: 0
    }

    .admin-sidebar,
    .admin-top {
        display: none
    }

    .admin-main {
        margin: 0
    }
}

.variant-list {
    display: grid;
    gap: 6px;
    border: 1px solid #e8eae4;
    padding: 10px
}

.variant-list strong {
    font-size: 9px
}

.variant-list a {
    font-size: 9px;
    color: #546951
}

.variant-list a:hover {
    text-decoration: underline
}

/* Reusable soft UI surfaces */
.neumorphic-flat { background: var(--surface); border: 1px solid #f8faf8; border-radius: var(--radius-md); box-shadow: var(--shadow-flat) }
.neumorphic-pressed { background: var(--surface); border: 1px solid #d5ddd8; border-radius: var(--radius-md); box-shadow: var(--shadow-inset) }
.neumorphic-inset { background: var(--surface); border: 1px solid #d5ddd8; border-radius: var(--radius-sm); box-shadow: var(--shadow-inset) }
:where(a, button, input, select, textarea):focus-visible { outline: 3px solid #8a4a38; outline-offset: 3px }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important }
}

/* SAIBAAN high-contrast glass system */
:root {
  color-scheme: dark;
  --glass: rgba(255,255,255,.09);
  --glass-strong: rgba(255,255,255,.14);
  --glass-border: rgba(255,255,255,.22);
  --glass-muted: #cbd5e1;
  --night: #0b1220;
  --deep: #111c2d;
  --teal: #18c9b3;
}
html { background: var(--night); }
body, .admin-body {
  color: #f8fafc;
  background: radial-gradient(ellipse at 12% 5%, rgba(20,184,166,.16), transparent 34rem), radial-gradient(ellipse at 92% 18%, rgba(59,130,246,.16), transparent 38rem), linear-gradient(145deg,#0b1220,#101a2b 58%,#0b1422);
  background-attachment: fixed;
}
body { min-height: 100vh; }
.site-header, .admin-top {
  color: #f8fafc; background: rgba(13,24,39,.72); border: 1px solid var(--glass-border);
  box-shadow: 0 18px 55px rgba(0,0,0,.3), inset 0 1px rgba(255,255,255,.13);
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
}
.site-header { position: sticky; }
.wordmark { color: #fff; letter-spacing: .15em; }
.wordmark span, .invoice-head strong span { color: var(--teal); }
.main-nav a, .bag-link, .search-wrap input, .search-wrap button { color: #f1f5f9; }
.main-nav a:hover { background: rgba(255,255,255,.1); box-shadow: inset 0 0 0 1px var(--glass-border); color: #fff; }
.search-wrap form { background: rgba(3,10,20,.52); border: 1px solid var(--glass-border); box-shadow: var(--shadow-inset); }
.search-wrap input::placeholder { color: #cbd5e1; opacity: 1; }
.bag-link span { color: #fff; background: rgba(20,184,166,.25); box-shadow: inset 0 0 0 1px rgba(45,212,191,.45); }
.suggestions, .main-nav.open { color: #f8fafc; background: rgba(15,27,43,.96); border: 1px solid var(--glass-border); box-shadow: var(--shadow-raised); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.suggestions a { border-color: rgba(255,255,255,.12); }
.suggestions a:hover { background: rgba(255,255,255,.1); }
.suggestions small, .suggestions p { color: #cbd5e1; }
.announcement { color: #e2e8f0; background: rgba(7,14,25,.86); border-bottom: 1px solid rgba(255,255,255,.1); }
.hero, .page-intro, .featured-section, .manifesto { color: #f8fafc; background: transparent; }
.hero { min-height: 560px; }
.hero-content>p, .page-intro p, .manifesto p { color: #cbd5e1; }
.eyebrow, .hero-rail { color: #cbd5e1; }
h1,h2,h3,p,strong,b, label { color: inherit; }
.hero h1, .page-intro h1, .section-heading h2, .manifesto h2 { text-shadow: 0 2px 22px rgba(255,255,255,.12); }
.hero-image { margin: 18px 18px 18px 0; border: 1px solid var(--glass-border); box-shadow: var(--shadow-raised); }
.hero-image:after { background: linear-gradient(90deg,#0d1725 0%,transparent 28%); }
.hero-stamp, .product-tag { color: #fff; background: rgba(8,18,30,.78); border: 1px solid var(--glass-border); border-radius: 12px; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.hero-stamp span { color: var(--accent); }
.button { min-height: 48px; border: 1px solid rgba(255,255,255,.23); border-radius: 13px; box-shadow: 0 12px 28px rgba(0,0,0,.25), inset 0 1px rgba(255,255,255,.18); }
.button-dark { color: #061b19; background: #2dd4bf; border-color: #5eead4; font-weight: 800; }
.button-dark:hover { color: #041311; background: #5eead4; box-shadow: 0 15px 36px rgba(20,184,166,.28); }
.button-outline { color: #f8fafc; background: rgba(255,255,255,.08); border-color: var(--glass-border); }
.button-outline:hover { color: #fff; background: rgba(255,255,255,.14); border-color: #fff; }
.button:active { box-shadow: inset 0 2px 10px rgba(0,0,0,.32); }
.text-link { color: #e2e8f0; border-color: rgba(226,232,240,.5); }
.category-card, .product-image, .gallery-main, .manifesto-image { border: 1px solid var(--glass-border); box-shadow: var(--shadow-flat); }
.category-card { border-radius: 20px; }
.category-card:after { background: linear-gradient(0deg,rgba(3,10,20,.9),rgba(3,10,20,.08) 72%); }
.product-card { color: #f8fafc; border-radius: 20px; }
.product-image { background: rgba(255,255,255,.08); }
.product-meta>span { color: #cbd5e1; }
.product-meta strong { color: #fff; }
.product-meta b { color: #99f6e4; }
.quick-arrow { color: #fff; background: rgba(8,18,30,.8); border: 1px solid var(--glass-border); }
.manifesto { border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); }
.manifesto-mark { color: rgba(153,246,228,.42); }
.site-footer { color: #f8fafc; background: rgba(5,11,20,.86); border-top: 1px solid var(--glass-border); }
.footer-main p, .footer-links, .footer-bottom { color: #cbd5e1; }
.page-intro { border-bottom: 1px solid rgba(255,255,255,.1); }
.catalog-layout, .cart-page, .checkout-layout, .pdp { color: #f8fafc; }
.filters, .cart-summary, .order-summary, .invoice-card, .admin-panel, .metric-card, .login-shell, .cart-line, .checkout-step, .variant-editor, .payment-choice {
  color: #f8fafc; background: var(--glass); border: 1px solid var(--glass-border); border-radius: 18px;
  box-shadow: 0 20px 50px rgba(0,0,0,.2), inset 0 1px rgba(255,255,255,.11);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
}
.filters { padding: 20px; height: max-content; }
.filters h3, .filters label, .editor-form label, .checkout-fields label { color: #f1f5f9; }
.filters input:not([type=checkbox]), .filters select, .editor-form input, .editor-form select, .editor-form textarea, .checkout-fields input, .checkout-fields textarea, .admin-login-form input, .quantity-form input, .status-form select {
  color: #f8fafc; background: rgba(3,10,20,.57); border: 1px solid rgba(226,232,240,.25); border-radius: 10px; box-shadow: inset 0 2px 9px rgba(0,0,0,.28); min-height: 44px;
}
input::placeholder, textarea::placeholder, select { color: #dbe5ef; }
input:focus, select:focus, textarea:focus { border-color: #5eead4 !important; }
input[type=checkbox], input[type=radio] { accent-color: #2dd4bf; }
.check-label, .filters .check-label { color: #e2e8f0 !important; }
.results-head, .breadcrumbs { color: #cbd5e1; border-color: rgba(255,255,255,.16); }
.breadcrumbs a { color: #99f6e4; }
.gallery-main { background: rgba(255,255,255,.06); }
.thumb { background: var(--glass); border: 1px solid var(--glass-border); border-radius: 10px; }
.thumb.active { border-color: #5eead4; box-shadow: 0 0 0 2px rgba(45,212,191,.3); }
.pdp-description, .product-promise small, .stock-note, .form-hint { color: #cbd5e1; }
.field-label { color: #f8fafc; }
.size-choice span, .color-chip { color: #f8fafc; background: rgba(255,255,255,.08); border: 1px solid var(--glass-border); border-radius: 11px; min-height: 44px; }
.size-choice input:checked+span, .color-chip.selected { color: #041b18; background: #5eead4; border-color: #99f6e4; }
.stock-note.out-of-stock { color: #fca5a5; }
.cart-page { align-items: start; }
.cart-line { padding: 16px; margin-bottom: 12px; border-bottom: 1px solid var(--glass-border); }
.cart-line-info>span, .cart-line-info small, .cart-summary p, .empty-state p, .checkout-note, .payment-choice small, .summary-line small { color: #cbd5e1; }
.cart-line>img, .summary-line img { border-radius: 10px; border: 1px solid var(--glass-border); }
.cart-summary .text-link { color: #f8fafc; }
.checkout-step { padding: 20px; }
.checkout-step h2 { color: #fff; }
.checkout-step>div:first-child>span { color: #5eead4; }
.order-summary { position: sticky; }
.order-summary h3, .summary-totals, .summary-line { border-color: rgba(255,255,255,.16); }
.summary-line { border-bottom: 1px solid rgba(255,255,255,.15); }
.summary-line strong, .summary-line>span { color: #fff; }
.grand-total { border-color: rgba(255,255,255,.28); }
.confirmation>p, .invoice-address { color: #cbd5e1; }
.confirm-icon { color: #99f6e4; border-color: #5eead4; }
.invoice-head, .invoice-items>div, .invoice-total { border-color: rgba(255,255,255,.17); }
.invoice-head small, .invoice-items small { color: #cbd5e1; }
.flash { color: #fff; background: rgba(15,27,43,.92); border: 1px solid var(--glass-border); border-radius: 12px; }
.flash.success { color: #d1fae5; background: rgba(6,78,59,.75); }
.flash.error { color: #fee2e2; background: rgba(127,29,29,.76); }
.admin-body { min-height: 100vh; }
.admin-sidebar { color: #f8fafc; background: rgba(7,14,25,.88); border-right: 1px solid var(--glass-border); box-shadow: 14px 0 45px rgba(0,0,0,.18); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.admin-sidebar>small, .admin-sidebar nav a, .admin-user small { color: #cbd5e1; }
.admin-sidebar nav a { border-radius: 10px; }
.admin-sidebar nav a:hover { color: #fff; background: rgba(255,255,255,.1); }
.admin-main, .admin-content { color: #f8fafc; }
.admin-top { color: #e2e8f0; }
.metric-grid { grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); }
.metric-card { min-height: 130px; }
.metric-card>span, .metric-card small { color: #cbd5e1; }
.metric-card>strong { color: #fff; }
.admin-panel { margin-top: 23px; overflow: hidden; }
.panel-heading { color: #fff; }
.admin-content .admin-page-heading h1 { color: #fff; }
.admin-content .count-badge { color: #99f6e4; background: rgba(45,212,191,.15); }
table { color: #f8fafc; }
th { color: #dbe5ef; background: rgba(3,10,20,.5); border-color: rgba(255,255,255,.14); }
td { color: #e2e8f0; border-color: rgba(255,255,255,.12); }
td strong { color: #fff; }
td small, .table-empty { color: #cbd5e1; }
.status-pill { color: #e2e8f0; background: rgba(148,163,184,.2); }
.status-pill.pending, .status-pill.processing, .status-pill.shipped, .status-pill.delivered, .status-pill.active, .status-pill.cancelled, .status-pill.draft { color: #f8fafc; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.17); }
.status-pill.active, .status-pill.delivered { color: #99f6e4; background: rgba(20,184,166,.16); }
.status-pill.cancelled, .status-pill.draft { color: #fecaca; background: rgba(239,68,68,.15); }
.editor-form small, .editor-form .editor-two label, .variant-editor>strong { color: #e2e8f0; }
.variant-list { color: #f8fafc; background: rgba(3,10,20,.36); border: 1px solid var(--glass-border); border-radius: 12px; }
.variant-list a, .row-actions a { color: #99f6e4; }
.row-actions button { color: #fca5a5; }
.status-form button { min-height: 34px; color: #061b19; background: #2dd4bf; border-radius: 8px; }
.login-shell { color: #f8fafc; }
.login-shell>p { color: #cbd5e1; }
.back-store, .cancel-edit { color: #cbd5e1; }
.admin-user button { color: #fff; }
.inventory-product { display: flex; align-items: center; gap: 10px; min-width: 180px; }
.inventory-product img { flex: 0 0 44px; width: 44px; height: 52px; object-fit: cover; border-radius: 8px; border: 1px solid var(--glass-border); background: var(--glass); }
.inventory-product img[hidden] { display: none; }
:where(a,button,input,select,textarea):focus-visible { outline: 3px solid #fbbf24; outline-offset: 3px; }
@media(max-width:760px) {
 .site-header { top: 4px; width: calc(100% - 20px); margin: 8px auto; }
 .main-nav { top: 60px; }
 .hero-image { margin: 0 12px 12px; }
 .hero-image:after { background: linear-gradient(180deg,#0d1725 0%,transparent 30%); }
 .filters { padding: 15px; }
 .order-summary { position: static; }
 .admin-sidebar { background: rgba(7,14,25,.96); }
 .admin-panel { overflow: hidden; }
}
@media(prefers-reduced-transparency: reduce) {
 .site-header,.admin-top,.suggestions,.main-nav.open,.filters,.cart-summary,.order-summary,.invoice-card,.admin-panel,.metric-card,.login-shell,.checkout-step,.variant-editor { background: #172436; -webkit-backdrop-filter: none; backdrop-filter: none; }
}

/* Simpler size/color stock matrix in the product editor */
.inventory-builder { gap:16px; padding:18px; border:1px solid #e4e5dc; border-radius:14px; background:#f8f9f5; }
.inventory-builder-heading { display:flex; flex-direction:column; gap:5px; }
.inventory-builder-heading strong { font-size:15px; color:#302f29; }
.inventory-builder-heading>span { color:#716e64; font-size:12px; }
.inventory-option-group { display:grid; gap:8px; }
.inventory-option-title { color:#47463e; font-size:12px; font-weight:700; }
.inventory-option-list { display:flex; flex-wrap:wrap; gap:7px; }
.inventory-option { min-height:36px; padding:7px 12px; color:#47463e; background:#fff; border:1px solid #dcded4; border-radius:999px; font-size:12px; font-weight:650; cursor:pointer; transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease; }
.inventory-option:hover { border-color:#84917b; transform:translateY(-1px); }
.inventory-option.selected { color:#fff; background:#53634d; border-color:#53634d; }
.inventory-custom-option { display:flex; gap:8px; max-width:410px; }
.inventory-custom-option input { min-width:0; flex:1; min-height:38px!important; }
.inventory-custom-option button { padding:7px 12px; color:#53634d; background:#e8eee4; border:1px solid #d2dfca; border-radius:9px; font-size:11px; font-weight:700; cursor:pointer; }
.inventory-stock-area { display:grid; gap:9px; padding-top:5px; }
.inventory-stock-heading { display:flex; flex-direction:column; gap:3px; }
.inventory-stock-heading strong { color:#302f29; font-size:13px; }
.inventory-stock-heading small,.inventory-help { color:#716e64; font-size:11px; }
.inventory-table-wrap { max-width:100%; overflow:auto; border:1px solid #e1e2d9; border-radius:10px; background:#fff; }
.inventory-stock-table { width:100%; min-width:max-content; border-collapse:collapse; }
.inventory-stock-table th,.inventory-stock-table td { padding:8px; text-align:center; border-bottom:1px solid #ecece6; }
.inventory-stock-table thead th { position:sticky; top:0; color:#53634d; background:#f2f4ee; font-size:11px; }
.inventory-stock-table tbody th { position:sticky; left:0; color:#302f29; background:#f8f9f5; text-align:left; font-size:12px; }
.inventory-cell input { width:84px; min-height:38px!important; margin:0; padding:7px!important; text-align:center; }
.inventory-empty { margin:0; padding:18px; color:#716e64; background:#fff; border:1px dashed #d7d8cf; border-radius:10px; font-size:12px; text-align:center; }
.inventory-stock-table .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; }
@media(max-width:700px) { .inventory-builder { padding:13px; } .inventory-stock-table th,.inventory-stock-table td { padding:6px; } .inventory-cell input { width:70px; } }
.restock-panel-heading { align-items:flex-start; }
.restock-panel-heading p { margin:5px 0 0; color:#716e64; font-size:12px; }
.restock-all-form { display:flex; align-items:flex-end; gap:12px; margin:0 22px 14px; padding:14px; background:#f2f4ee; border:1px solid #e2e6dc; border-radius:11px; }
.restock-all-form label { flex:1; display:grid; gap:6px; color:#47463e; font-size:11px; font-weight:700; }
.restock-all-form label small { color:#716e64; font-size:10px; font-weight:400; }
.restock-all-form input { max-width:180px; min-height:40px!important; }
.restock-all-form .button { min-height:40px; white-space:nowrap; }
.restock-form { display:grid; gap:14px; padding:0 22px 22px; }
.restock-instructions { margin:0; padding:12px 14px; color:#53634d; background:#edf1e9; border-radius:10px; font-size:12px; line-height:1.55; }
.restock-table-wrap { max-height:440px; overflow:auto; border:1px solid #e5dfd3; border-radius:10px; }
.restock-table { width:100%; min-width:440px; border-collapse:collapse; }
.restock-table th,.restock-table td { padding:10px 12px; border-bottom:1px solid #ece8df; text-align:left; font-size:12px; }
.restock-table thead th { position:sticky; top:0; z-index:1; color:#53634d; background:#f2f4ee; font-size:10px; letter-spacing:.06em; }
.restock-table tbody tr:last-child td { border-bottom:0; }
.restock-table td:nth-child(3) { color:#53634d; }
.restock-table td input { width:100px; min-height:40px!important; margin:0; text-align:center; }
.restock-form .button { width:100%; }
.row-actions { flex-wrap:wrap; gap:8px; }
.row-actions .restock-link { color:#53634d; font-weight:700; }
.admin-product-layout.restocking { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
@media(max-width:700px) { .admin-product-layout.restocking { grid-template-columns:minmax(0,1fr); } .restock-all-form { align-items:stretch; flex-direction:column; margin:0 15px 12px; } .restock-all-form input { max-width:none; } .restock-form { padding:0 15px 18px; } .restock-table th,.restock-table td { padding:9px; } }
.product-options, .stock-indicator { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px 12px; color: #dbe5ef; font-size: 10px; line-height: 1.5; }
.stock-indicator { display: block; color: #99f6e4; letter-spacing: .02em; }
.stock-indicator.sold-out { color: #fecaca; }
.quantity-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 18px 0 6px; color: #e2e8f0; font-size: 12px; }
.quantity-row label { font-weight: 700; }
.quantity-row input { width: 76px; min-height: 44px; padding: 8px 10px; color: #fff; background: rgba(3,10,20,.57); border: 1px solid var(--glass-border); border-radius: 10px; }
.quantity-row>span { margin-left: auto; color: #cbd5e1; }
.quantity-row strong { color: #99f6e4; }
.drawer-scrim { position: fixed; inset: 0; z-index: 39; background: rgba(2,6,15,.68); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.cart-drawer { position: fixed; inset: 0 0 0 auto; z-index: 40; display: flex; flex-direction: column; width: min(440px,100%); padding: 25px; color: #f8fafc; background: rgba(12,23,38,.96); border-left: 1px solid var(--glass-border); box-shadow: -24px 0 70px rgba(0,0,0,.48); -webkit-backdrop-filter: blur(22px); backdrop-filter: blur(22px); transform: translateX(105%); transition: transform .28s ease; }
.cart-drawer.open { transform: translateX(0); }
.drawer-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 20px; border-bottom: 1px solid var(--glass-border); }
.drawer-head h2 { margin: 6px 0 0; font: 600 25px var(--display); }
.drawer-head button { width: 44px; height: 44px; color: #fff; font-size: 26px; background: var(--glass); border: 1px solid var(--glass-border); border-radius: 50%; }
.drawer-lines { overflow: auto; flex: 1; padding: 10px 0; }
.drawer-lines>p { color: #cbd5e1; padding: 20px 0; }
.drawer-line { display: grid; grid-template-columns: 72px 1fr; gap: 13px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.drawer-line>img { width: 72px; height: 86px; object-fit: cover; background: var(--glass); border-radius: 10px; border: 1px solid var(--glass-border); }
.drawer-item-info { display: grid; align-content: start; gap: 5px; }
.drawer-item-info>a { color: #fff; font-size: 13px; font-weight: 700; }
.drawer-item-info>small { color: #cbd5e1; font-size: 11px; }
.drawer-item-info>strong { color: #99f6e4; font-size: 12px; }
.drawer-quantity { display: flex; align-items: center; gap: 9px; margin-top: 4px; color: #fff; }
.drawer-quantity button { min-width: 34px; min-height: 34px; color: #fff; background: rgba(255,255,255,.09); border: 1px solid var(--glass-border); border-radius: 8px; }
.drawer-quantity .drawer-remove { margin-left: auto; border-color: transparent; background: transparent; color: #fecaca; text-decoration: underline; }
.drawer-foot { display: grid; gap: 17px; border-top: 1px solid var(--glass-border); padding-top: 18px; }
.drawer-foot>div { display: flex; justify-content: space-between; color: #e2e8f0; }
.drawer-foot strong { color: #99f6e4; }
body.cart-open { overflow: hidden; }
@media(prefers-reduced-motion: reduce) { .cart-drawer { transition: none; } }
.product-card-action { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; min-height: 42px; padding: 0 13px; color: #061b19; background: #2dd4bf; border: 1px solid #5eead4; border-radius: 11px; font-size: 11px; font-weight: 800; }
.product-card:hover .product-card-action { background: #5eead4; }
.product-card-action span { font-size: 15px; }
.cart-drawer[hidden], .drawer-scrim[hidden] { display: none !important; }
.account-page { width: min(900px, calc(100% - 32px)); margin: 44px auto 90px; display: grid; grid-template-columns: 1fr; gap: 22px; }
.glass-panel { color: #f8fafc; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.22); border-radius: 22px; box-shadow: 0 22px 58px rgba(0,0,0,.26), inset 0 1px rgba(255,255,255,.14); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.account-card { width: min(100%, 520px); margin: 0 auto; padding: clamp(24px,5vw,46px); }
.account-card h1 { margin: 16px 0 10px; color: #fff; font: 600 clamp(34px,5vw,48px)/1.03 var(--display); letter-spacing: -.05em; }
.account-card>p { color: #cbd5e1; font-size: 13px; line-height: 1.7; }
.account-card .account-email { color: #99f6e4; }
.account-wordmark { display: inline-block; margin-bottom: 34px; }
.account-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 5px; margin: 22px 0; background: rgba(3,10,20,.45); border: 1px solid rgba(255,255,255,.16); border-radius: 13px; }
.account-tabs a { display: grid; place-items: center; min-height: 44px; padding: 8px; border-radius: 9px; color: #dbe5ef; font-size: 12px; font-weight: 700; }
.account-tabs a.active { color: #061b19; background: #5eead4; }
.account-form { display: grid; gap: 15px; }
.account-form label { display: grid; gap: 7px; color: #f1f5f9; font-size: 11px; font-weight: 700; }
.account-form input { width: 100%; min-height: 48px; padding: 12px 14px; color: #f8fafc; background: rgba(3,10,20,.57); border: 1px solid rgba(226,232,240,.25); border-radius: 10px; box-shadow: inset 0 2px 9px rgba(0,0,0,.28); }
.account-form input::placeholder { color: #aebdcb; opacity: 1; }
.account-form .button { margin-top: 4px; }
.account-help { margin: 18px 0 0 !important; text-align: center; font-size: 11px !important; }
.account-help a { color: #99f6e4; text-decoration: underline; text-underline-offset: 3px; }
.account-card .back-store { margin-top: 20px; }
.account-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.account-actions form { display: contents; }
.account-orders { padding: 22px; }
.account-section-head h2 { margin: 8px 0 14px; }
.account-orders .table-wrap { border-radius: 12px; }
.account-empty { margin: 0; padding: 16px 0; color: #cbd5e1; font-size: 12px; }
.admin-content .admin-panel form .button { min-height: 40px; padding: 9px 13px; }
@media(max-width:760px) { .account-page { margin: 26px auto 60px; } .account-card { padding: 25px 20px; } .account-actions { flex-direction: column; } .account-actions>* { width: 100%; } .account-orders { padding: 16px; } }

/* Warm, low-contrast account experience */
.account-page {
  width: min(960px, calc(100% - 32px));
  margin: 34px auto 72px;
  padding: clamp(16px, 3vw, 30px);
  color: #302f29;
  background: linear-gradient(145deg, #f8f5ed, #eee8dc);
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 28px;
  box-shadow: 0 28px 70px rgba(0,0,0,.2);
}
.account-page .glass-panel {
  color: #302f29;
  background: rgba(255,255,255,.78);
  border: 1px solid #e5dfd3;
  box-shadow: 0 12px 35px rgba(64,52,34,.08);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.account-card h1 { color: #302f29; }
.account-card>p, .account-empty { color: #716e64; }
.account-card .account-email { color: #53634d; }
.account-card .wordmark { color: #302f29; }
.account-card .wordmark span { color: #a45b42; }
.account-card .eyebrow, .account-section-head .eyebrow { color: #79745f; }
.account-tabs { background: #f0ece3; border-color: #e3ddd1; }
.account-tabs a { color: #656257; }
.account-tabs a.active { color: #fff; background: #53634d; }
.account-form label { color: #47463e; }
.account-form input {
  color: #302f29;
  background: #fff;
  border-color: #dcd6ca;
  box-shadow: inset 0 1px 2px rgba(55,46,33,.04);
}
.account-form input::placeholder { color: #9b978d; }
.account-form input:focus { border-color: #a45b42 !important; box-shadow: 0 0 0 3px rgba(164,91,66,.13); }
.account-form .button-dark, .account-actions .button-dark {
  color: #fff;
  background: #53634d;
  border-color: #53634d;
  box-shadow: 0 8px 18px rgba(53,71,49,.17);
}
.account-form .button-dark:hover, .account-actions .button-dark:hover { color: #fff; background: #414f3c; }
.account-page .button-outline { color: #47463e; background: #fff; border-color: #dcd6ca; }
.account-page .button-outline:hover { color: #302f29; background: #f4f0e8; border-color: #bdb5a5; }
.account-help { color: #716e64 !important; }
.account-help a { color: #99513d; }
.account-card .back-store { color: #716e64; }
.account-page .account-orders { padding: clamp(18px, 3vw, 28px); }
.account-page table { color: #302f29; }
.account-page th { color: #69665c; background: #f3efe7; border-color: #e7e1d6; }
.account-page td { color: #47463e; border-color: #e7e1d6; }
.account-page td strong { color: #302f29; }
.account-page .status-pill { color: #53634d; background: #e8eee4; border-color: #d6e0d0; }
.account-page :where(a,button,input,select,textarea):focus-visible { outline-color: #a45b42; }
@media(max-width:760px) {
  .account-page { width: calc(100% - 20px); margin: 18px auto 48px; padding: 12px; border-radius: 22px; }
  .account-page .account-card { padding: 25px 20px; }
}

.password-field { position: relative; display: block; width: 100%; }
.password-field input { padding-right: 54px !important; }
.password-toggle {
  position: absolute;
  top: 50%;
  right: 7px;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  padding: 0;
  color: #6f7567;
  background: transparent;
  border: 0;
  border-radius: 9px;
  transform: translateY(-50%);
  cursor: pointer;
}
.password-toggle:hover { color: #414f3c; background: rgba(83,99,77,.08); }
.password-toggle svg { display: block; width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.password-toggle [hidden] { display: none !important; }
.password-toggle:focus-visible { outline: 2px solid #a45b42; outline-offset: 1px; }

/* SAIBAAN site-wide palette: parchment, olive, and warm clay */
:root {
  color-scheme: light;
  --ink: #302f29;
  --muted: #716e64;
  --cream: #f8f5ed;
  --paper: #f2eee5;
  --sage: #53634d;
  --green: #53634d;
  --teal: #53634d;
  --accent: #a45b42;
  --line: #e3ddd1;
  --surface: #fffdf8;
  --shadow-light: rgba(255,255,255,.8);
  --shadow-dark: rgba(58,47,31,.12);
  --shadow-flat: 0 10px 28px rgba(58,47,31,.09);
  --shadow-raised: 0 18px 42px rgba(58,47,31,.15);
  --shadow-inset: inset 0 1px 3px rgba(58,47,31,.08);
}
html { color-scheme: light; background: #f5f1e8; }
body, .admin-body {
  color: #302f29;
  background: #f5f1e8;
  background-image: radial-gradient(ellipse at 12% 0%, rgba(164,91,66,.06), transparent 34rem), linear-gradient(180deg,#f8f5ed,#f1ede4 65%,#f5f1e8);
  background-attachment: fixed;
}
.announcement { color: #f8f5ed; background: #53634d; }
.announcement span { color: #d9c6a5; }
.site-header, .admin-top {
  color: #302f29;
  background: rgba(255,253,248,.94);
  border: 1px solid #e5dfd3;
  box-shadow: 0 10px 30px rgba(58,47,31,.09);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
.wordmark, .site-header .wordmark, .account-card .wordmark { color: #302f29; }
.wordmark span, .invoice-head strong span, .account-card .wordmark span { color: #a45b42; }
.main-nav a, .bag-link, .search-wrap input, .search-wrap button { color: #47463e; }
.main-nav a:hover { color: #53634d; background: #f0ece3; box-shadow: none; }
.search-wrap form { background: #fff; border-color: #e0d9cc; box-shadow: none; }
.search-wrap input::placeholder { color: #8d897f; opacity: 1; }
.bag-link span { color: #fff; background: #53634d; box-shadow: none; }
.suggestions, .main-nav.open { color: #302f29; background: #fffdf8; border-color: #e5dfd3; box-shadow: 0 16px 38px rgba(58,47,31,.14); }
.suggestions a { border-color: #eee9df; }
.suggestions a:hover { background: #f5f1e8; }
.suggestions small, .suggestions p { color: #716e64; }
.menu-toggle { color: #302f29; background: #f5f1e8; border-color: #e5dfd3; }
.hero, .featured-section, .page-intro, .catalog-layout, .cart-page, .checkout-layout, .pdp, .confirmation, .empty-state, .not-found {
  color: #302f29;
  background: transparent;
}
.hero-content>p, .hero-note, .page-intro p, .hero-rail { color: #716e64; }
.hero h1, .page-intro h1, .section-heading h2, .pdp h1, .confirmation h1, .empty-state h1 { color: #302f29; text-shadow: none; }
.eyebrow { color: #777365; }
.hero .eyebrow span { background: #a45b42; }
.hero-note strong, .hero-stamp span { color: #a45b42; }
.hero-image:after { background: linear-gradient(90deg,rgba(248,245,237,.18),transparent 28%); }
.hero-stamp, .product-tag { color: #47463e; background: rgba(255,253,248,.9); border-color: rgba(255,255,255,.8); }
.hero-rail { border-color: #d9d2c5; }
.button { border-color: transparent; box-shadow: 0 7px 18px rgba(58,47,31,.12); }
.button-dark, .account-form .button-dark, .account-actions .button-dark { color: #fff; background: #53634d; border-color: #53634d; }
.button-dark:hover, .account-form .button-dark:hover, .account-actions .button-dark:hover { color: #fff; background: #414f3c; box-shadow: 0 10px 22px rgba(53,71,49,.2); }
.button-outline, .account-page .button-outline { color: #47463e; background: #fffdf8; border-color: #dcd6ca; }
.button-outline:hover, .account-page .button-outline:hover { color: #302f29; background: #f0ece3; border-color: #bdb5a5; }
.text-link, .breadcrumbs a { color: #8f4b38; border-color: #cbb9a8; }
.category-card, .product-card, .product-image, .gallery-main, .manifesto-image { border-color: #e4ddd1; box-shadow: 0 10px 26px rgba(58,47,31,.1); }
.category-card { background: #e9e1d3; }
.product-card { color: #302f29; background: #fffdf8; border: 1px solid #e9e3d8; box-shadow: 0 8px 24px rgba(58,47,31,.07); }
.product-image, .gallery-main { background: #f0ece3; }
.product-meta>span, .stock-note, .form-hint, .pdp-description, .product-promise small { color: #716e64; }
.product-meta strong, .pdp h1 { color: #302f29; }
.product-meta b, .pdp-price, .stock-indicator { color: #53634d; }
.quick-arrow { color: #fff; background: #53634d; border-color: #53634d; }
.manifesto { color: #302f29; background: #ebe8dd; border-color: #dfdacd; }
.manifesto p { color: #716e64; }
.manifesto-mark { color: rgba(83,99,77,.3); }
.site-footer { color: #f8f5ed; background: #354333; border-top: 1px solid #495744; }
.site-footer .wordmark { color: #fffdf8; }
.footer-main p, .footer-links, .footer-bottom { color: #dedfd4; }
.flash { color: #302f29; background: #fffdf8; border-color: #e2dacd; box-shadow: 0 12px 30px rgba(58,47,31,.12); }
.flash.success { color: #35523c; background: #e8eee4; border-color: #d2dfca; }
.flash.error { color: #823f32; background: #f6e9e4; border-color: #ecd0c4; }
.page-intro { border-color: #e2dccf; }
.filters, .cart-summary, .order-summary, .invoice-card, .admin-panel, .metric-card, .login-shell, .cart-line, .checkout-step, .variant-editor, .payment-choice, .account-page .glass-panel {
  color: #302f29;
  background: rgba(255,253,248,.94);
  border-color: #e5dfd3;
  box-shadow: 0 12px 32px rgba(58,47,31,.07);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.filters h3, .filters label, .editor-form label, .checkout-fields label, .field-label, .account-form label { color: #47463e; }
.filters input:not([type=checkbox]), .filters select, .editor-form input, .editor-form select, .editor-form textarea, .checkout-fields input, .checkout-fields textarea, .admin-login-form input, .quantity-form input, .status-form select, .account-form input {
  color: #302f29;
  background: #fff;
  border-color: #dcd6ca;
  box-shadow: inset 0 1px 2px rgba(55,46,33,.04);
}
input::placeholder, textarea::placeholder, .search-wrap input::placeholder, .account-form input::placeholder { color: #9b978d; opacity: 1; }
select { color: #302f29; }
input:focus, select:focus, textarea:focus { border-color: #a45b42 !important; }
input[type=checkbox], input[type=radio] { accent-color: #53634d; }
.check-label, .filters .check-label { color: #47463e !important; }
.results-head, .breadcrumbs { color: #716e64; border-color: #e2dccf; }
.gallery-main { border-color: #e2dccf; }
.thumb { background: #fffdf8; border-color: #e2dccf; }
.thumb.active { border-color: #53634d; box-shadow: 0 0 0 2px rgba(83,99,77,.18); }
.size-choice span, .color-chip { color: #47463e; background: #fffdf8; border-color: #dcd6ca; }
.size-choice input:checked+span, .color-chip.selected { color: #fff; background: #53634d; border-color: #53634d; }
.stock-note.out-of-stock { color: #a34b3b; }
.cart-line, .checkout-step { border-bottom-color: #e5dfd3; }
.cart-line-info>span, .cart-line-info small, .cart-summary p, .empty-state p, .checkout-note, .payment-choice small, .summary-line small, .confirmation>p, .invoice-address { color: #716e64; }
.cart-line>img, .summary-line img { border-color: #e5dfd3; }
.cart-summary .text-link { color: #8f4b38; }
.checkout-step h2, .order-summary h3, .summary-line strong, .summary-line>span, .invoice-head strong { color: #302f29; }
.checkout-step>div:first-child>span, .confirm-icon { color: #53634d; }
.order-summary h3, .summary-totals, .summary-line, .grand-total, .invoice-head, .invoice-items>div, .invoice-total { border-color: #e5dfd3; }
.confirm-icon { border-color: #b7c5ad; background: #edf1e9; }
.invoice-head small, .invoice-items small { color: #716e64; }
.payment-choice input { accent-color: #53634d; }
.table-wrap { border-color: #e5dfd3; }
table { color: #302f29; }
th { color: #69665c; background: #f3efe7; border-color: #e7e1d6; }
td { color: #47463e; border-color: #e7e1d6; }
td strong { color: #302f29; }
td small, .table-empty { color: #716e64; }
.status-pill { color: #5c5a50; background: #efede6; }
.status-pill.pending, .status-pill.processing, .status-pill.shipped, .status-pill.delivered, .status-pill.active, .status-pill.cancelled, .status-pill.draft { color: #5c5a50; background: #efede6; border: 1px solid #e2dccf; }
.status-pill.active, .status-pill.delivered { color: #3f5b3d; background: #e8eee4; border-color: #d2dfca; }
.status-pill.cancelled, .status-pill.draft { color: #823f32; background: #f6e9e4; border-color: #ecd0c4; }
.drawer-scrim { background: rgba(43,39,31,.38); }
.cart-drawer { color: #302f29; background: rgba(255,253,248,.98); border-color: #e5dfd3; box-shadow: -20px 0 55px rgba(58,47,31,.2); }
.drawer-head, .drawer-line, .drawer-foot { border-color: #e5dfd3; }
.drawer-head button, .drawer-quantity button { color: #47463e; background: #f2eee5; border-color: #e2dccf; }
.drawer-lines>p, .drawer-item-info>small, .drawer-foot>div { color: #716e64; }
.drawer-item-info>a { color: #302f29; }
.drawer-item-info>strong, .drawer-foot strong { color: #53634d; }
.drawer-quantity { color: #302f29; }
.drawer-quantity .drawer-remove { color: #8f4b38; }
.admin-sidebar { color: #f8f5ed; background: #354333; border-color: #495744; box-shadow: 10px 0 34px rgba(58,47,31,.12); }
.admin-sidebar>.wordmark { color: #fffdf8; }
.admin-sidebar>small, .admin-sidebar nav a, .admin-user small { color: #dedfd4; }
.admin-sidebar nav a:hover { color: #fff; background: rgba(255,255,255,.12); }
.admin-user { border-color: rgba(255,255,255,.2); }
.admin-user button { color: #f8f5ed; }
.admin-main, .admin-content { color: #302f29; }
.admin-top { color: #716e64; }
.metric-card>span, .metric-card small { color: #716e64; }
.metric-card>strong, .panel-heading, .admin-content .admin-page-heading h1 { color: #302f29; }
.admin-content .count-badge { color: #53634d; background: #e8eee4; }
.editor-form small, .editor-form .editor-two label, .variant-editor>strong { color: #47463e; }
.variant-list { color: #302f29; background: #f5f1e8; border-color: #e5dfd3; }
.variant-list a, .row-actions a { color: #53634d; }
.row-actions button { color: #a34b3b; }
.status-form button, .product-card-action { color: #fff; background: #53634d; border-color: #53634d; }
.product-card:hover .product-card-action { background: #414f3c; }
.back-store, .cancel-edit { color: #716e64; }
.admin-user button { color: #f8f5ed; }
.inventory-product img { border-color: #e5dfd3; background: #f5f1e8; }
.role-form { display: flex; align-items: center; gap: 8px; min-width: 210px; }
.role-form select { flex: 1; min-width: 105px; min-height: 40px; padding: 7px 9px; color: #302f29; background: #fff; border: 1px solid #dcd6ca; border-radius: 9px; }
.role-form .button { min-height: 40px; padding: 9px 12px; white-space: nowrap; }
.focus-visible, :where(a,button,input,select,textarea):focus-visible { outline-color: #a45b42; }
@media(prefers-reduced-transparency: reduce) {
  .site-header, .admin-top, .suggestions, .main-nav.open, .filters, .cart-summary, .order-summary, .invoice-card, .admin-panel, .metric-card, .login-shell, .checkout-step, .variant-editor, .account-page .glass-panel { background: #fffdf8; -webkit-backdrop-filter: none; backdrop-filter: none; }
}

/* Admin media previews and pagination */
.gallery-preview-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(92px,1fr)); gap: 10px; margin: 0 0 14px; }
.gallery-preview { display: grid; gap: 6px; min-width: 0; padding: 6px; color: #47463e; background: #f3efe7; border: 1px solid #e2dccf; border-radius: 10px; }
.gallery-preview img { display: block; width: 100%; height: 76px; object-fit: cover; color: #716e64; background: #e9e4da; border-radius: 6px; font-size: 10px; }
.gallery-preview button, .gallery-preview>span { justify-self: stretch; display: flex; align-items: center; justify-content: center; gap: 5px; min-height: 30px; padding: 4px 6px; color: #823f32; background: #fffdf8; border: 1px solid #e2dacd; border-radius: 7px; font: inherit; font-size: 11px; cursor: pointer; }
.gallery-preview>span input { accent-color: #a45b42; }
.gallery-preview.preview-error img { outline: 1px dashed #a45b42; }
.existing-gallery:has(input:checked) { opacity: .48; outline: 2px solid #a45b42; }
.admin-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin: 18px 0; color: #716e64; }
.admin-pagination .button { min-height: 38px; padding: 8px 12px; }
/* Keep text readable where older component rules used light text on pale surfaces. */
.admin-content, .admin-content :is(h1,h2,h3,h4,p,label,strong,td,th,small):not(.button):not(.status-pill) { color: #302f29; }
.admin-content .eyebrow, .admin-content .editor-form small, .admin-content td small { color: #716e64; }
.admin-content .button-dark, .admin-content .button-dark *, .admin-content .status-form button { color: #fff; }
.account-page .glass-panel, .account-page .glass-panel :is(h1,h2,h3,p,label,strong,small) { color: #302f29; }
.account-page .account-tabs a.active, .account-page .button-dark, .account-page .button-dark * { color: #fff; }
.catalog-layout, .cart-page, .checkout-layout, .confirmation, .empty-state, .not-found, .pdp { color: #302f29; }
.catalog-layout :is(h1,h2,h3,h4,p,label,strong), .cart-page :is(h1,h2,h3,h4,p,label,strong), .checkout-layout :is(h1,h2,h3,h4,p,label,strong), .pdp :is(h1,h2,h3,h4,p,label,strong) { color: #302f29; }

/* Home product carousel and card typography */
.featured-section { color: #302f29; background: #f0ece3; }
.featured-section .product-carousel { display: grid; gap: 12px; }
.featured-section .carousel-controls { display: flex; justify-content: flex-end; gap: 8px; }
.featured-section .carousel-controls button { width: 42px; height: 42px; color: #302f29; background: #fffdf8; border: 1px solid #dcd6ca; border-radius: 50%; font-size: 19px; cursor: pointer; }
.featured-section .carousel-controls button:hover { color: #fff; background: #53634d; border-color: #53634d; }
.featured-section .carousel-controls button:disabled { opacity: .45; cursor: default; }
.featured-section .product-carousel-track { display: flex; gap: 18px; overflow-x: auto; padding: 2px 2px 14px; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: thin; scrollbar-color: #a9ad9e transparent; }
.featured-section .product-card { flex: 0 0 calc((100% - 54px) / 4); min-width: 230px; overflow: hidden; color: #302f29; background: #fffdf8; border: 1px solid #e4ddd1; border-radius: 18px; scroll-snap-align: start; }
.featured-section .product-image { height: clamp(245px, 27vw, 340px); border: 0; border-radius: 0; box-shadow: none; }
.featured-section .product-meta { grid-template-columns: minmax(0,1fr) auto; gap: 8px 10px; padding: 15px 16px 16px; }
.featured-section .product-meta>span { color: #716e64; }
.featured-section .product-meta strong { min-width: 0; color: #302f29; font-size: 13px; line-height: 1.45; }
.featured-section .product-meta b { color: #3f563b; white-space: nowrap; }
.featured-section .product-options { grid-column: 1/-1; display: flex; flex-wrap: wrap; gap: 5px 10px; color: #625f55; font-size: 10px; line-height: 1.5; }
.featured-section .stock-indicator { grid-column: 1/-1; color: #3f653e; font-size: 10px; }
.featured-section .stock-indicator.sold-out { color: #823f32; }
.featured-section .product-card-action { grid-column: 1/-1; min-height: 42px; margin-top: 2px; padding: 0 13px; color: #fff; background: #53634d; border: 1px solid #53634d; border-radius: 10px; font-size: 11px; }
.featured-section .product-card-action span { color: inherit; }
.featured-section .product-card:hover .product-card-action { color: #fff; background: #414f3c; }
@media(max-width:900px) { .featured-section .product-card { flex-basis: calc((100% - 36px) / 3); } }
@media(max-width:650px) { .featured-section .product-card { flex-basis: min(82vw,330px); min-width: 0; } .featured-section .carousel-controls button { width: 38px; height: 38px; } }

/* Consistent, touch-friendly controls throughout the storefront and admin. */
:where(button,.button,input,select,textarea) { font: inherit; }
:where(button,.button) { transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
:where(input:not([type=checkbox]):not([type=radio]),select,textarea) { min-height: 46px; border-radius: 12px; }
:where(input,select,textarea,button,a):focus-visible { outline: 3px solid rgba(164,91,66,.3); outline-offset: 2px; }
.quantity-row { display: grid; grid-template-columns: minmax(120px,1fr) auto minmax(115px,auto); align-items: center; gap: 16px; margin: 20px 0 12px; padding: 14px 16px; color: #302f29; background: #fffdf8; border: 1px solid #e5dfd3; border-radius: 16px; box-shadow: 0 8px 20px rgba(58,47,31,.05); }
.quantity-label { display: grid; gap: 4px; }
.quantity-label label { color: #302f29; font-size: 13px; font-weight: 700; }
.quantity-label small { color: #716e64; font-size: 10px; }
.quantity-stepper { display: inline-flex; align-items: center; gap: 2px; min-height: 44px; padding: 4px; background: #f2eee5; border: 1px solid #e2dccf; border-radius: 12px; }
.quantity-stepper button { display: grid; width: 36px; height: 34px; place-items: center; padding: 0; color: #3f563b; background: #fffdf8; border: 1px solid #e5dfd3; border-radius: 9px; font-size: 19px; line-height: 1; cursor: pointer; }
.quantity-stepper button:hover:not(:disabled) { color: #fff; background: #53634d; border-color: #53634d; }
.quantity-stepper button:disabled { color: #aaa69b; background: #f3f0e9; cursor: not-allowed; opacity: .6; }
.quantity-stepper input[type=number] { width: 44px; min-height: 34px; padding: 0 2px; color: #302f29; background: transparent; border: 0; border-radius: 6px; box-shadow: none; text-align: center; font-size: 14px; font-weight: 700; appearance: textfield; }
.quantity-stepper input[type=number]::-webkit-inner-spin-button, .quantity-stepper input[type=number]::-webkit-outer-spin-button { margin: 0; appearance: none; }
.quantity-line-total { display: grid; justify-items: end; gap: 4px; }
.quantity-line-total span { color: #716e64; font-size: 10px; }
.quantity-line-total strong { color: #3f563b; font-size: 15px; font-variant-numeric: tabular-nums; }
.quantity-form { gap: 8px; }
.cart-quantity-stepper { min-height: 38px; }
.cart-quantity-stepper button { width: 30px; height: 28px; font-size: 16px; }
.quantity-form .cart-quantity-stepper input[type=number] { width: 34px; min-height: 28px; padding: 0; border: 0; border-radius: 5px; box-shadow: none; text-align: center; }
.quantity-form .quantity-update { min-height: 36px; padding: 0 11px; color: #3f563b; background: #e8eee4; border: 1px solid #d2dfca; border-radius: 9px; font-size: 10px; font-weight: 700; text-decoration: none; cursor: pointer; }
.quantity-form .quantity-update:hover { color: #fff; background: #53634d; }
.pdp-actions .button { min-height: 52px; }
.product-options { color: #625f55; }
.product-card .product-card-action { color: #fff; background: #53634d; border-color: #53634d; }
.product-card .product-card-action:hover { background: #414f3c; }
@media(max-width:560px) {
  .quantity-row { grid-template-columns: 1fr auto; gap: 12px; padding: 12px; }
  .quantity-line-total { grid-column: 1/-1; display: flex; justify-content: space-between; width: 100%; padding-top: 10px; border-top: 1px solid #eee8dd; }
  .quantity-form { flex-wrap: wrap; }
}

/* Order lookup and financial records */
.order-search-form { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; padding: 0 20px 18px; }
.order-search-form label { flex: 1 1 260px; display: grid; gap: 6px; color: #47463e; font-size: 11px; font-weight: 700; }
.order-search-form input { min-height: 42px; padding: 9px 12px; color: #302f29; background: #fff; border: 1px solid #dcd6ca; border-radius: 10px; }
.records-filter { display: grid; gap: 12px; padding: 18px; }
.record-periods { display: flex; flex-wrap: wrap; gap: 8px; }
.record-periods .button, .record-date-form .button { min-height: 40px; padding: 9px 13px; }
.report-quick-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 12px; background: #f6f4ef; border: 1px solid #e9e5db; border-radius: 12px; }
.report-quick-actions>span { margin: 0 5px 0 2px; color: #858174; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.report-quick-actions a { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 7px 11px; color: #384735; background: #fff; border: 1px solid #e2dfd5; border-radius: 8px; font-size: 11px; font-weight: 700; text-decoration: none; }
.report-quick-actions a:hover { background: #edf1e9; border-color: #cbd5c2; }
.report-quick-actions a span { color: #85947c; }
.record-date-form { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; }
.record-date-form label { display: grid; gap: 6px; color: #625f55; font-size: 10px; font-weight: 700; }
.record-date-form input { min-height: 40px; padding: 7px 10px; color: #302f29; background: #fff; border: 1px solid #dcd6ca; border-radius: 9px; }
.record-range { margin: 0; color: #716e64; font-size: 11px; }
.custom-report-link { color: #53634d; font-weight: 700; text-decoration: none; }
.custom-report-link:hover { text-decoration: underline; }
.records-metrics .metric-card { min-width: 0; }
.records-metrics .metric-card>strong { font-size: clamp(17px,2vw,24px); }
.records-metrics .loss-card>strong { color: #823f32; }
.records-notice { margin: 16px 0; padding: 14px 16px; }
.records-lower-grid { display: grid; grid-template-columns: minmax(260px,.8fr) minmax(360px,1.2fr); gap: 18px; }
.records-lower-grid .admin-panel { min-width: 0; }
.expense-form { padding: 0 20px 20px; }
.cost-editor>p { margin: 0; color: #716e64; font-size: 11px; line-height: 1.6; }
.admin-content .loss-cell { color: #823f32; font-weight: 700; }
.admin-content .profit-cell { color: #35523c; font-weight: 700; }
.auto-price-toggle { display: flex !important; align-items: center; align-self: end; gap: 8px !important; }
.auto-price-toggle input { min-height: auto !important; }
.tracking-page { width: min(920px,calc(100% - 32px)); margin: 0 auto 70px; display: grid; gap: 18px; }
.tracking-form { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 12px; padding: 20px; }
.tracking-form label { display: grid; gap: 6px; color: #47463e; font-size: 11px; font-weight: 700; }
.tracking-form input { padding: 10px 12px; color: #302f29; background: #fff; border: 1px solid #dcd6ca; border-radius: 10px; }
.tracking-form .button { min-height: 46px; padding: 10px 14px; }
.tracking-result { padding: 22px; }
.tracking-result-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tracking-result-head h2 { margin: 7px 0; color: #302f29; }
.tracking-result>p { color: #716e64; font-size: 12px; }
.tracking-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin: 20px 0; }
.tracking-steps span { padding: 10px 8px; color: #716e64; background: #f1eee7; border: 1px solid #e2dccf; border-radius: 9px; text-align: center; font-size: 10px; }
.tracking-steps span.done { color: #35523c; background: #e8eee4; border-color: #d2dfca; }
.tracking-cancelled { color: #823f32 !important; }
.tracking-total { display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; max-width: 360px; margin: 16px 0 0 auto; color: #625f55; font-size: 12px; }
.tracking-total strong { color: #302f29; text-align: right; }
.invoice-totals { display: grid; gap: 8px; padding: 16px 0; border-bottom: 1px solid #e5dfd3; }
.invoice-totals>div { display: flex; justify-content: space-between; gap: 12px; color: #716e64; font-size: 12px; }
.invoice-totals strong { color: #302f29; }
.dashboard-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.report-receipt-page { width: min(850px,100%); margin: 0 auto 36px; }
.report-receipt-actions { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.report-receipt { padding: clamp(22px,5vw,48px); color: #302f29; background: #fff; border: 1px solid #e8e4db; border-radius: 18px; box-shadow: 0 16px 48px rgba(43,42,35,.08); }
.report-receipt-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 22px; padding-bottom: 25px; border-bottom: 1px solid #e8e4db; }
.report-receipt-header .wordmark { display: inline-block; color: #303d2e; font-family: Manrope,sans-serif; font-size: 24px; font-weight: 800; letter-spacing: -.07em; text-decoration: none; }
.report-receipt-header .wordmark span { color: #a7a889; }
.report-receipt-header .eyebrow { margin: 14px 0 0; color: #898678; font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.report-receipt-stamp { display: grid; gap: 6px; text-align: right; }
.report-receipt-stamp>span,.report-receipt-summary>div>span,.report-receipt-profit>span { color: #7b796f; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.report-receipt-stamp strong { color: #303d2e; font-family: Manrope,sans-serif; font-size: clamp(13px,2vw,16px); }
.report-receipt-stamp strong span { color: #a7a397; }
.report-receipt-stamp small,.report-receipt-summary small,.report-receipt-profit small { color: #898678; font-size: 10px; }
.report-receipt-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 22px 0 27px; }
.report-receipt-summary>div { display: grid; gap: 7px; padding: 17px; background: #f5f5f0; border: 1px solid #e9e9e1; border-radius: 12px; }
.report-receipt-summary>div strong { color: #344531; font-family: Manrope,sans-serif; font-size: clamp(20px,4vw,30px); letter-spacing: -.04em; }
.report-receipt-summary>div strong.receipt-loss { color: #823f32; }
.report-receipt-section { margin-top: 24px; }
.report-receipt-section-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; }
.report-receipt-section-heading>span { color: #9b9a88; font-size: 9px; font-weight: 800; }
.report-receipt-section-heading h2 { margin: 0; color: #393a32; font-family: Manrope,sans-serif; font-size: 14px; }
.report-receipt-section dl { margin: 0; border-top: 1px solid #ece9e2; }
.report-receipt-section dl>div { display: flex; justify-content: space-between; gap: 16px; padding: 9px 2px; border-bottom: 1px solid #efede8; font-size: 11px; }
.report-receipt-section dt { color: #6c6a61; }
.report-receipt-section dd { margin: 0; color: #35362f; font-weight: 700; text-align: right; }
.report-receipt-section .receipt-total { padding-top: 12px; border-top: 1px solid #d9d6cc; font-weight: 800; }
.report-receipt-section .receipt-total dt,.report-receipt-section .receipt-total dd { color: #303d2e; }
.report-receipt-profit { display: grid; justify-items: center; gap: 6px; margin-top: 24px; padding: 18px; color: #35523c; background: #edf2e9; border: 1px solid #dae4d3; border-radius: 12px; text-align: center; }
.report-receipt-profit.is-loss { color: #823f32; background: #f7eeea; border-color: #ecd9d2; }
.report-receipt-profit>span { color: inherit; }
.report-receipt-profit strong { font-family: Manrope,sans-serif; font-size: 25px; }
.report-receipt-profit small { color: inherit; opacity: .75; }
.report-receipt-note { margin: 22px 0 0; padding: 12px 14px; color: #665434; background: #f8f3e8; border: 1px solid #eee2c7; border-radius: 10px; font-size: 11px; line-height: 1.6; }
.report-receipt-footer { display: flex; justify-content: space-between; gap: 12px; margin-top: 30px; padding-top: 12px; color: #969286; border-top: 1px solid #e8e4db; font-size: 8px; font-weight: 700; letter-spacing: .08em; }
.catalog-layout { position: relative; display: block; padding: 16px 7% 100px; }
.catalog-results { min-width: 0; }
.catalog-toolbar { display: grid; grid-template-columns: auto minmax(180px,1fr) auto; align-items: center; gap: 12px; margin-bottom: 20px; }
.filter-open { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 43px; padding: 0 15px; color: #394536; background: #fff; border: 1px solid #dedbd1; border-radius: 10px; box-shadow: 0 3px 12px rgba(44,43,36,.04); font: 700 11px var(--sans); cursor: pointer; transition: background .2s,border-color .2s,transform .2s; }
.filter-open:hover { background: #f4f5f0; border-color: #bcc8b7; transform: translateY(-1px); }
.filter-open b { display: grid; place-items: center; width: 20px; height: 20px; color: #fff; background: #53634d; border-radius: 50%; font-size: 9px; }
.filter-open-icon { font-size: 17px; line-height: 1; }
.catalog-search { display: flex; align-items: center; min-width: 0; height: 46px; padding: 0 6px 0 14px; overflow: hidden; background: #fffdf8; border: 1px solid #e1dbcf; border-radius: 999px; box-shadow: 0 5px 18px rgba(58,47,31,.045); transition: border-color .2s,box-shadow .2s,background .2s; }
.catalog-search:focus-within { background: #fff; border-color: #aeb8a4; box-shadow: 0 0 0 3px rgba(83,99,77,.09),0 6px 20px rgba(58,47,31,.05); }
.catalog-search input { flex: 1; min-width: 0; width: 100%; height: 100%; min-height: 0; padding: 0 8px 0 0; color: #35362f; background: transparent; border: 0 !important; border-radius: 0; box-shadow: none !important; outline: 0; appearance: none; font: 400 12px var(--sans); }
.catalog-search input::-webkit-search-cancel-button { cursor: pointer; }
.catalog-search input::placeholder { color: #969184; opacity: 1; }
.catalog-search button { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; padding: 0; color: #fff; background: #53634d; border: 0; border-radius: 50%; cursor: pointer; transition: background .18s,transform .18s; }
.catalog-search button:hover { background: #414f3c; transform: scale(1.04); }
.catalog-search button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.catalog-sort { display: flex; align-items: center; gap: 8px; color: #77756a; font-size: 10px; white-space: nowrap; }
.catalog-sort select { min-height: 43px; max-width: 190px; padding: 0 30px 0 11px; color: #384235; background: #fff; border: 1px solid #dedbd1; border-radius: 10px; font: 600 10px var(--sans); }
.filter-scrim { position: fixed; inset: 0; z-index: 59; display: block; width: 100%; height: 100%; padding: 0; background: rgba(30,31,25,.36); border: 0; opacity: 0; transition: opacity .22s; cursor: pointer; }
.filter-scrim[hidden],.filters[hidden] { display: none !important; }
.catalog-layout.filters-open .filter-scrim { opacity: 1; }
.filters { position: fixed; z-index: 60; inset: 0 auto 0 0; display: flex; flex-direction: column; gap: 19px; width: min(420px,100%); height: 100dvh; max-height: 100dvh; overflow: auto; padding: 28px; color: #383a32; background: #fffdf8; border: 0; border-right: 1px solid #e7e2d7; border-radius: 0; box-shadow: 20px 0 60px rgba(35,34,28,.16); transform: translateX(-105%); transition: transform .25s ease; }
.catalog-layout.filters-open .filters { transform: translateX(0); }
.filter-drawer-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid #e9e5db; }
.filter-drawer-heading .eyebrow { color: #8c8a7d; font-size: 8px; font-weight: 800; letter-spacing: .15em; }
.filter-drawer-heading h2 { margin: 5px 0 0; color: #343b31; font: 700 21px var(--display); }
.filter-close { display: grid; place-items: center; width: 38px; height: 38px; color: #46483f; background: #f3f2ed; border: 1px solid #e5e2d9; border-radius: 50%; font-size: 22px; cursor: pointer; }
.filters>label { display: grid; gap: 7px; color: #55584e; font-size: 10px; font-weight: 700; }
.filters input:not([type=checkbox]),.filters select { min-height: 43px; padding: 10px 12px; background: #fff; border: 1px solid #dedbd1; border-radius: 9px; box-shadow: none; font: 400 11px var(--sans); }
.filters .range-fields input { width: 50%; }
.filters .check-label { display: flex !important; align-items: center; gap: 9px !important; padding: 11px 12px; background: #f5f5ef; border: 1px solid #e7e7dd; border-radius: 9px; color: #4e5648 !important; }
.filters .check-label input { accent-color: #53634d; }
.filter-drawer-actions { display: grid; gap: 12px; margin-top: auto; padding-top: 15px; border-top: 1px solid #e9e5db; }
.filter-drawer-actions .clear-filters { padding: 4px; color: #77756a; }
body.filters-drawer-open { overflow: hidden; }
.site-header .header-actions { justify-content: flex-end; gap: 10px; }
.header-icon-button,.bag-link { position: relative; display: inline-grid; flex: 0 0 42px; width: 42px; height: 42px; place-items: center; padding: 0; color: #41483d; background: #fffdf8; border: 1px solid #e6e0d5; border-radius: 50%; box-shadow: 0 4px 14px rgba(58,47,31,.055); cursor: pointer; transition: color .18s,background .18s,border-color .18s,transform .18s; }
.header-icon-button:hover,.bag-link:hover { color: #fff; background: #53634d; border-color: #53634d; transform: translateY(-1px); }
.header-icon-button svg,.bag-link svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.site-header .bag-link span { position: absolute; top: -4px; right: -4px; display: grid; width: 18px; height: 18px; place-items: center; margin: 0; color: #fff; background: #a45b42; border: 2px solid #fffdf8; border-radius: 50%; box-shadow: none; font-size: 8px; font-weight: 700; }
.search-overlay[hidden] { display: none !important; }
.search-overlay { position: fixed; z-index: 100; inset: 0; display: grid; align-items: start; justify-items: center; padding: 13vh 20px 30px; }
.search-overlay-scrim { position: absolute; inset: 0; width: 100%; height: 100%; background: rgba(45,43,36,.44); border: 0; cursor: pointer; animation: search-fade-in .18s ease both; }
.search-dialog { position: relative; z-index: 1; width: min(640px,100%); padding: clamp(25px,5vw,42px); color: #302f29; background: #fffdf8; border: 1px solid #e8e1d5; border-radius: 22px; box-shadow: 0 26px 90px rgba(38,35,28,.22); animation: search-dialog-in .22s ease both; }
.search-dialog-close { position: absolute; top: 18px; right: 18px; display: grid; width: 36px; height: 36px; place-items: center; padding: 0; color: #625f55; background: #f1eee7; border: 1px solid #e5dfd3; border-radius: 50%; font-size: 22px; cursor: pointer; }
.search-dialog>.eyebrow { color: #8d897d; font-size: 8px; font-weight: 800; letter-spacing: .16em; }
.search-dialog h2 { max-width: calc(100% - 30px); margin: 10px 0 22px; color: #302f29; font: 600 clamp(22px,5vw,32px)/1.15 var(--display); letter-spacing: -.045em; }
.search-dialog-form { display: flex; align-items: center; gap: 11px; min-height: 58px; padding: 6px 7px 6px 15px; background: #fff; border: 1px solid #dcd6ca; border-radius: 13px; box-shadow: inset 0 1px 2px rgba(55,46,33,.035); }
.search-dialog-form:focus-within { border-color: #aeb8a4; box-shadow: 0 0 0 3px rgba(83,99,77,.09); }
.search-dialog-form>svg { flex: 0 0 19px; width: 19px; height: 19px; fill: none; stroke: #777d6e; stroke-width: 1.7; stroke-linecap: round; }
.search-dialog-form input { flex: 1; min-width: 0; min-height: 42px; height: 42px; padding: 0; color: #302f29; background: transparent; border: 0 !important; border-radius: 0; box-shadow: none !important; outline: 0; font: 400 12px var(--sans); }
.search-dialog-form input::placeholder { color: #9b978d; opacity: 1; }
.search-dialog-form button { min-height: 42px; padding: 0 15px; color: #fff; background: #53634d; border: 0; border-radius: 9px; font: 700 10px var(--sans); cursor: pointer; }
.search-dialog-form button:hover { background: #414f3c; }
.search-dialog-form button span { margin-left: 8px; }
.search-dialog .suggestions { position: static; display: none; width: 100%; max-height: min(42vh,350px); margin-top: 12px; color: #302f29; background: #fff; border: 1px solid #e9e4da; border-radius: 12px; box-shadow: none; }
.search-dialog .suggestions.visible { display: block; }
.search-dialog .suggestions a { min-height: 45px; align-items: center; padding: 10px 13px; color: #3d4037; border-color: #efede8; font-size: 11px; }
.search-dialog .suggestions a:hover { background: #f6f4ee; }
.search-dialog .suggestions small,.search-dialog .suggestions p { color: #77756a; }
.search-dialog-hint { margin: 13px 0 0; color: #8e8a7e; font-size: 10px; }
body.search-overlay-open { overflow: hidden; }
@keyframes search-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes search-dialog-in { from { opacity: 0; transform: translateY(-9px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media(max-width:760px) {
  .header-actions { gap: 7px; }
  .header-icon-button,.bag-link { flex-basis: 38px; width: 38px; height: 38px; }
  .search-overlay { padding: 11vh 13px 20px; }
  .search-dialog { padding: 26px 19px 21px; border-radius: 18px; }
  .search-dialog-close { top: 13px; right: 13px; }
  .search-dialog-form { gap: 8px; padding-left: 11px; }
  .search-dialog-form input { font-size: 11px; }
  .search-dialog-form button { padding: 0 11px; }
  .search-dialog-form button span { display: none; }
  .catalog-layout { padding: 10px 5% 65px; }
  .catalog-toolbar { grid-template-columns: auto minmax(0,1fr); gap: 8px; }
  .catalog-search { grid-column: 1 / -1; grid-row: 1; }
  .filter-open { grid-column: 1; grid-row: 2; padding: 0 12px; }
  .catalog-sort { grid-column: 2; grid-row: 2; justify-content: flex-end; gap: 5px; }
  .catalog-sort select { max-width: min(58vw,210px); min-height: 40px; padding-left: 8px; font-size: 9px; }
  .results-head { margin-bottom: 14px; }
}
@media(max-width:760px) {
  .records-lower-grid { grid-template-columns: 1fr; }
  .tracking-form { grid-template-columns: 1fr; }
  .tracking-steps { gap: 5px; }
  .tracking-steps span { padding: 8px 4px; font-size: 9px; }
  .report-receipt-header { flex-direction: column; }
  .report-receipt-stamp { text-align: left; }
}

@media print {
  @page { size: A4; margin: 14mm; }
  body.admin-body { background: #fff !important; }
  .admin-sidebar,.admin-top,.report-receipt-actions,.admin-content>.flash { display: none !important; }
  .admin-main { margin: 0 !important; }
  .admin-content { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  .report-receipt-page { width: 100%; margin: 0; }
  .report-receipt { padding: 0; border: 0; border-radius: 0; box-shadow: none; }
  .report-receipt-header,.report-receipt-summary,.report-receipt-section,.report-receipt-profit,.report-receipt-note { break-inside: avoid; }
  .report-receipt-summary>div,.report-receipt-profit { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

/* Coupon management and checkout */
.coupon-apply-form { display: grid; gap: 7px; margin: 14px 0; padding: 14px; background: #f5f1e8; border: 1px solid #e5dfd3; border-radius: 12px; }
.coupon-apply-form>label { color: #47463e; font-size: 11px; font-weight: 700; }
.coupon-apply-form>div { display: flex; gap: 7px; }
.coupon-apply-form input { flex: 1; min-width: 0; min-height: 42px; padding: 8px 10px; color: #302f29; background: #fff; border: 1px solid #dcd6ca; border-radius: 9px; text-transform: uppercase; }
.coupon-apply-form .button { min-height: 42px; padding: 8px 12px; }
.coupon-applied { color: #35523c; font-size: 11px; }
.coupon-discount span { color: #35523c; }
.coupon-create-form { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: start; gap: 14px; padding: 0 20px 20px; }
.coupon-create-form>label { display: grid; gap: 6px; color: #47463e; font-size: 11px; font-weight: 700; }
.coupon-create-form input,.coupon-create-form select { width: 100%; min-height: 42px; padding: 8px 10px; color: #302f29; background: #fff; border: 1px solid #dcd6ca; border-radius: 9px; }
.coupon-create-form .coupon-target-list { grid-column: span 2; }
.coupon-create-form .coupon-target-list select { height: 150px; }
.coupon-create-form small { color: #716e64; font-size: 10px; }
.coupon-create-submit { justify-self: start; align-self: end; }
.coupon-remove { min-height: 34px; padding: 6px 10px; }
@media(max-width:850px) { .coupon-create-form { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:540px) { .coupon-create-form { grid-template-columns: 1fr; } .coupon-create-form .coupon-target-list { grid-column: auto; } }

/* Final responsive polish for the shared storefront and operations UI. */
.search-wrap form:focus-within { border-color: #8b9a7e; box-shadow: 0 0 0 3px rgba(83,99,77,.12); }
.suggestions a:focus-visible { position: relative; z-index: 1; outline: 2px solid #53634d; outline-offset: -2px; }
.suggestions a span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.suggestions a small { flex: 0 0 auto; margin-left: 12px; }
.records-notice { color: #4f5c43; background: #f0f4ec; border-color: #d5dfcc; }

@media (min-width: 761px) and (max-width: 1050px) {
    .site-header { width: calc(100% - 32px); padding: 0 22px; gap: 10px; }
    .main-nav { gap: clamp(2px, 1vw, 10px); margin-left: 0; }
    .main-nav a { padding: 8px 7px; font-size: 11px; white-space: nowrap; }
    .header-actions { gap: 12px; margin-left: 4px; }
    .search-wrap form { width: clamp(142px, 19vw, 190px); }
    .search-wrap input { width: 100%; }
}

@media (max-width: 760px) {
    .site-header {
        display: grid;
        grid-template-columns: auto 36px minmax(0, 1fr);
        gap: 8px;
        width: calc(100% - 20px);
        padding: 0 12px;
    }
    .site-header > .wordmark { grid-column: 1; white-space: nowrap; font-size: clamp(17px, 5vw, 21px); }
    .menu-toggle { grid-column: 2; width: 36px; height: 36px; margin: 0; padding: 0; border: 1px solid #e5dfd3; border-radius: 50%; }
    .main-nav { top: calc(100% + 8px); left: 0; right: 0; max-height: min(70vh, 420px); overflow-y: auto; border: 1px solid #e5dfd3; border-radius: 18px; }
    .header-actions { grid-column: 3; min-width: 0; width: 100%; gap: 8px; margin: 0; }
    .search-wrap { flex: 1 1 auto; min-width: 0; }
    .search-wrap form { width: 100%; min-width: 0; height: 36px; padding-left: 10px; }
    .search-wrap input { width: 100%; min-width: 0; font-size: 12px; }
    .search-wrap button { flex-basis: 30px; width: 30px; height: 30px; }
    .suggestions { position: fixed; top: 88px; right: 10px; width: min(380px, calc(100vw - 20px)); max-height: min(65vh, 440px); }
    .bag-link { flex: 0 0 auto; white-space: nowrap; font-size: 11px; }
    .bag-link span { margin-left: 3px; }
    .hero h1 { font-size: clamp(44px, 12vw, 61px); }
    .gallery-main { height: clamp(280px, 105vw, 430px); }
    .confirmation, .tracking-page { width: calc(100% - 24px); }
    .confirm-actions { align-items: stretch; }
    .confirm-actions > * { width: 100%; }
    .tracking-result, .invoice-card { min-width: 0; }
    .tracking-result-head { align-items: flex-start; flex-wrap: wrap; }
    .admin-sidebar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 9px 12px;
        width: 100%;
        padding: 12px 14px 8px;
    }
    .admin-sidebar nav {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        min-width: 0;
        margin: 0;
        padding-bottom: 2px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scrollbar-width: thin;
    }
    .admin-sidebar nav a { flex: 0 0 auto; padding: 8px 10px; border-radius: 999px; font-size: 10px; white-space: nowrap; }
    .admin-sidebar nav a:first-letter { font-size: inherit; }
    .admin-user { grid-column: 2; grid-row: 1; }
    .admin-user form { display: block; }
    .admin-user button { width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; }
    .admin-content { min-width: 0; }
    .admin-page-heading { align-items: flex-start; gap: 12px; flex-wrap: wrap; }
    .admin-page-heading .button { white-space: nowrap; }
    .panel-heading { gap: 10px; flex-wrap: wrap; }
}

@media (max-width: 420px) {
    .announcement { padding: 7px 10px; font-size: 8px; letter-spacing: .04em; }
    .announcement span { padding: 0 4px; }
    .site-header { grid-template-columns: auto 32px minmax(0, 1fr); gap: 6px; padding: 0 9px; }
    .menu-toggle { width: 32px; height: 32px; font-size: 17px; }
    .header-actions { gap: 5px; }
    .search-wrap form { padding-right: 3px; padding-left: 8px; }
    .search-wrap input { font-size: 11px; }
    .bag-link { font-size: 10px; }
    .category-grid, .product-grid, .catalog-results .product-grid { gap: 12px 8px; }
    .product-image, .catalog-results .product-image { height: clamp(155px, 54vw, 225px); }
    .product-meta { gap: 5px 4px; padding: 10px 8px; }
    .product-meta strong, .product-meta b { font-size: 10px; }
    .product-options { font-size: 9px; }
    .editor-two, .checkout-fields { grid-template-columns: 1fr; }
    .checkout-fields .wide { grid-column: auto; }
    .filters form { grid-template-columns: 1fr; }
    .filters form > * { grid-column: 1 / -1; }
    .quantity-row { grid-template-columns: 1fr; }
    .quantity-stepper { justify-self: start; }
    .quantity-line-total { grid-column: 1; }
    .tracking-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-content { padding-right: 12px; padding-left: 12px; }
    .admin-content .records-filter, .tracking-result { padding: 14px; }
    .record-periods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .record-periods .button { min-width: 0; padding-right: 6px; padding-left: 6px; font-size: 10px; }
}

@media (hover: none) {
    .product-card .quick-arrow { opacity: 1; }
}

:where(button, .button, .product-card, .category-card) { -webkit-tap-highlight-color: transparent; }
:where(button, .button):disabled { cursor: not-allowed; opacity: .58; transform: none; }
:where(button, .button):active:not(:disabled) { transform: translateY(1px); }

/* Refined product cards and product detail merchandising. */
.product-card { display: block; min-width: 0; overflow: hidden; color: #302f29; background: #fffdf8; border: 1px solid #e7e1d6; border-radius: 15px; box-shadow: 0 7px 22px rgba(58,47,31,.055); text-decoration: none; transition: transform .2s,box-shadow .2s,border-color .2s; }
.product-card:hover { transform: translateY(-3px); border-color: #d5cbbb; box-shadow: 0 15px 32px rgba(58,47,31,.12); }
.product-card .product-image { height: clamp(220px,27vw,330px); margin: 0; border: 0; border-radius: 0; box-shadow: none; transform: none; }
.product-card:hover .product-image { transform: none; box-shadow: none; }
.product-card .product-image img { display: block; object-fit: cover; }
.product-card .product-tag { top: auto; bottom: 11px; left: 11px; max-width: calc(100% - 58px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #4e5548; background: rgba(255,253,248,.93); border: 1px solid rgba(255,255,255,.85); letter-spacing: .07em; }
.product-sale-badge { position: absolute; z-index: 1; top: 11px; right: 11px; padding: 6px 8px; color: #fff; background: #9b5847; border-radius: 999px; font-size: 9px; font-weight: 800; letter-spacing: .03em; }
.product-card .quick-arrow { right: 11px; bottom: 11px; width: 31px; height: 31px; color: #fff; background: #53634d; border: 1px solid rgba(255,255,255,.55); opacity: 1; }
.product-card .product-meta { min-height: 150px; grid-template-columns: minmax(0,1fr) auto; align-content: start; gap: 7px 10px; padding: 13px 14px 14px; border-radius: 0; box-shadow: none; }
.product-card .product-meta>span { grid-column: 1/-1; color: #898678; font-size: 8px; font-weight: 700; letter-spacing: .11em; }
.product-card .product-meta>strong { min-width: 0; overflow: hidden; color: #302f29; font-size: 12px; line-height: 1.45; text-overflow: ellipsis; }
.product-card-price { display: flex; align-items: baseline; justify-content: flex-end; flex-wrap: wrap; gap: 4px 7px; white-space: nowrap; }
.product-card-price b { color: #465a40; font-size: 12px; font-weight: 800; }
.product-card-price del { color: #a19c90; font-size: 9px; }
.product-card-swatches { display: flex; grid-column: 1/-1; align-items: center; gap: 5px; min-height: 15px; }
.product-card-swatches>span { width: 12px; height: 12px; background: var(--swatch-color); border: 1px solid rgba(50,48,40,.2); border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); }
.product-card-swatches small { color: #878477; font-size: 8px; }
.product-card-sizes { grid-column: 1/-1; overflow: hidden; color: #817e72; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.product-card .product-card-action { display: flex; grid-column: 1/-1; align-items: center; justify-content: space-between; min-height: 34px; margin-top: 2px; padding: 0 10px; color: #43523d; background: #f1f2ec; border: 1px solid #e7e9e0; border-radius: 8px; font-size: 9px; font-weight: 700; }
.product-card .product-card-action span { color: #65745e; }
.product-card:hover .product-card-action { color: #fff; background: #53634d; border-color: #53634d; }
.product-card:hover .product-card-action span { color: #fff; }
.pdp { grid-template-columns: minmax(0,1.1fr) minmax(340px,.9fr); gap: clamp(34px,6vw,90px); padding-top: 20px; }
.gallery { min-width: 0; }
.gallery-main { position: relative; min-height: 500px; height: min(62vw,700px); background: #eeeae1; border-radius: 17px; box-shadow: 0 12px 30px rgba(58,47,31,.09); }
.gallery-main img { object-fit: cover; }
.gallery-main img[data-gallery-main] { transition: transform .12s ease-out; will-change: transform; }
.gallery-main.is-zoom-ready { cursor: none; }
.gallery-main.is-zoom-ready img[data-gallery-main] { transform: scale(2); }
.product-zoom-cursor { display: none; position: absolute; z-index: 3; width: 54px; height: 54px; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.88); border-radius: 50%; color: #fff; background: rgba(48,47,41,.42); box-shadow: 0 4px 18px rgba(24,24,20,.24), inset 0 0 0 5px rgba(255,255,255,.12); font: 300 36px/1 'DM Sans',sans-serif; pointer-events: none; transform: translate(-50%,-50%); backdrop-filter: blur(5px); }
.gallery-main.is-zoom-ready .product-zoom-cursor { display: flex; }
.pdp-sale-badge { position: absolute; z-index: 2; top: 15px; left: 15px; padding: 8px 11px; color: #fff; background: #9b5847; border-radius: 999px; font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.gallery-thumbs { gap: 9px; overflow-x: auto; padding: 2px 2px 7px; }
.thumb { flex: 0 0 68px; width: 68px; height: 78px; background: #f2eee5; border: 1px solid #e2dccf; border-radius: 9px; box-shadow: none; cursor: pointer; }
.thumb.active { border-color: #53634d; box-shadow: 0 0 0 2px rgba(83,99,77,.15); }
.thumb img { object-fit: cover; }
.pdp-info { position: sticky; top: 24px; padding-top: 12px; }
.pdp-info .eyebrow { color: #79786c; font-size: 8px; }
.pdp h1 { margin: 12px 0 5px; color: #302f29; font-size: clamp(30px,3.2vw,43px); }
.pdp-sku { margin: 0 0 15px; color: #969184; font-size: 8px; font-weight: 700; letter-spacing: .11em; }
.pdp-price { flex-wrap: wrap; gap: 9px; margin: 0 0 14px; color: #465a40; }
.pdp-price strong { color: #3f563b; font-family: var(--display); font-size: 22px; }
.pdp-price del { color: #9b978d; font-size: 12px; }
.pdp-savings { padding: 5px 8px; color: #8f4e3e; background: #f5ebe5; border-radius: 999px; font-size: 9px; font-weight: 700; }
.pdp-description { margin-bottom: 5px; padding: 0 0 13px; color: #716e64; font-size: 11px; line-height: 1.75; }
.pdp form .field-label { margin-top: 17px; color: #3c4037; font-size: 10px; }
.pdp .size-choice span { min-width: 44px; height: 40px; color: #3c4037; background: #fffdf8; border-color: #ded8cb; box-shadow: none; font-weight: 600; }
.pdp .size-choice input:checked+span { color: #fff; background: #53634d; border-color: #53634d; }
.pdp .size-choice input:disabled+span { color: #a6a195; background: #f0eee8; }
.pdp .size-choice input:disabled+span { opacity:1; text-decoration:none; border-style:dashed; }
.pdp .size-choice input:disabled+span small { color:#a34b3b; font-size:7px; font-weight:700; line-height:1; }
.pdp .color-chip { display:inline-flex; flex-direction:column; align-items:center; gap:2px; color: #4b4d43; background: #fffdf8; border-color: #ded8cb; box-shadow: none; cursor: pointer; }
.pdp .color-chip.selected { color: #fff; background: #53634d; border-color: #53634d; }
.pdp .color-chip small { color:#a34b3b; font-size:7px; font-weight:700; line-height:1; }
.pdp .color-chip:disabled,.pdp .color-chip.sold-out { color:#a6a195; background:#f0eee8; border-style:dashed; opacity:1; cursor:not-allowed; }
.pdp .stock-note { min-height: 15px; color: #77786c; }
.pdp .quantity-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px 14px; margin: 14px 0; padding: 12px 13px; background: #f5f2eb; border-color: #e6dfd2; border-radius: 12px; box-shadow: none; }
.pdp .quantity-label { grid-column: 1; }
.pdp .quantity-label label { font-size: 11px; }
.pdp .quantity-label small { font-size: 9px; }
.pdp .quantity-stepper { grid-column: 2; grid-row: 1 / span 2; align-self: center; min-height: 38px; background: #fffdf8; border-color: #e4ded2; border-radius: 10px; }
.pdp .quantity-stepper button { width: 29px; height: 28px; color: #485b42; background: #f6f4ee; border-color: #e9e4d9; border-radius: 7px; font-size: 16px; }
.pdp .quantity-stepper input[type=number] { width: 30px; min-height: 28px; font-size: 12px; }
.pdp .quantity-line-total { display: flex; grid-column: 1; justify-items: start; gap: 8px; align-items: baseline; }
.pdp .quantity-line-total span { font-size: 9px; }
.pdp .quantity-line-total strong { font-size: 11px; }
.pdp-actions .button { min-height: 46px; justify-content: center; padding: 0 12px; border-radius: 10px; font-size: 10px; }
.pdp-actions .button-dark { gap: 10px; }
.pdp-actions .button-outline { color: #46523f; background: #fffdf8; border: 1px solid #dcd6ca; box-shadow: none; }
.product-service-note { display: flex; align-items: flex-start; gap: 11px; margin-top: 16px; padding: 12px; color: #4c5846; background: #f1f2eb; border: 1px solid #e1e6d9; border-radius: 11px; }
.product-service-note>span { color: #8d9b80; font-size: 17px; }
.product-service-note>div { display: grid; gap: 3px; }
.product-service-note strong { color: #475341; font-size: 10px; }
.product-service-note small { color: #77776b; font-size: 9px; line-height: 1.5; }
.product-promise { margin-top: 16px; padding-top: 8px; }
.product-promise>div { gap: 9px; }
.product-promise>div>span { font-size: 15px; }
.product-promise p { font-size: 9px; }
.product-promise small { font-size: 8px; }
.pdp-details { width: min(760px,82%); margin: 0 auto 54px; border-top: 1px solid #e3ddd1; }
.pdp-detail-panel { border-bottom: 1px solid #e3ddd1; }
.pdp-detail-panel summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 2px; color: #383c33; font: 700 12px var(--display); list-style: none; cursor: pointer; }
.pdp-detail-panel summary::-webkit-details-marker { display: none; }
.pdp-detail-panel summary span { color: #77796c; font-size: 16px; }
.pdp-detail-panel:not([open]) summary span { transform: rotate(45deg); }
.pdp-detail-panel>div { padding: 0 2px 16px; color: #716e64; font-size: 11px; line-height: 1.8; }
.pdp-detail-panel>div a { color: #53634d; font-weight: 700; }
.related-products { background: #f0ece3; }
.related-products .product-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
@media(max-width:760px) {
  .product-card .product-image { height: clamp(190px,55vw,280px); }
  .product-card .product-meta { min-height: 137px; padding: 11px 10px 12px; }
  .product-card .product-meta>strong,.product-card-price b { font-size: 10px; }
  .product-card-price del { font-size: 8px; }
  .pdp { grid-template-columns: 1fr; gap: 15px; padding-top: 4px; }
  .gallery-main { min-height: 0; height: min(115vw,580px); border-radius: 13px; }
  .pdp-info { position: static; padding-top: 4px; }
  .pdp h1 { font-size: clamp(29px,8vw,38px); }
  .pdp-details { width: 90%; margin-top: 5px; }
  .related-products .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Admin usability refinements */
@media (min-width: 761px) {
  .admin-product-layout { grid-template-columns: minmax(0,1fr); }
}
.admin-product-layout { align-items: stretch; }
.product-editor .editor-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding: 0 22px 22px; }
.product-editor .editor-form > label,
.product-editor .editor-form > .editor-two,
.product-editor .editor-form > .product-extra-section,
.product-editor .editor-form > .variant-editor,
.product-editor .editor-form > .full-width,
.product-editor .editor-form > .cancel-edit { grid-column: 1 / -1; }
.product-editor .editor-form > label { font-size: 12px; }
.product-editor .editor-form input,
.product-editor .editor-form select,
.product-editor .editor-form textarea { min-height: 44px; padding: 10px 12px; font-size: 13px; }
.product-editor .editor-form textarea { min-height: 100px; }
.product-editor .editor-form small { font-size: 11px; line-height: 1.5; }
.product-editor .featured-toggle { display: flex; align-items: center; gap: 9px; align-self: end; min-height: 44px; padding: 9px 12px; background: #f6f4ef; border-radius: 10px; }
.product-editor .featured-toggle input { width: 17px; min-height: 17px; margin: 0; }
.product-extra-section { overflow: hidden; border: 1px solid #e7e2d7; border-radius: 12px; background: #faf9f5; }
.product-extra-section > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 17px; color: #34372f; font-size: 13px; font-weight: 700; cursor: pointer; list-style: none; }
.product-extra-section > summary::-webkit-details-marker { display: none; }
.product-extra-section > summary::after { content: "+"; color: #53634d; font-size: 20px; line-height: 1; }
.product-extra-section[open] > summary::after { content: "−"; }
.product-extra-section > summary small { margin-left: auto; color: #77756a; font-size: 11px; font-weight: 400; }
.product-extra-fields { display: grid; gap: 15px; padding: 0 17px 17px; }
.product-extra-fields .variant-editor { margin: 0; }
.inventory-panel { min-width: 0; }
.records-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); margin: 16px 0; }
.order-search-form { padding-top: 14px; }
.order-search-form label { font-size: 12px; }
.order-search-form input { font-size: 14px; }
.order-search-form .button { min-height: 42px; }
.orders-panel table td small { display: block; margin-top: 3px; }
.status-form button { min-width: 52px; padding: 8px 9px; font-size: 11px; font-weight: 700; }
@media (max-width: 760px) {
  .admin-sidebar nav { flex: 1 1 auto; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
  .admin-sidebar nav a { flex: 0 0 auto; }
  .records-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-editor .editor-form { padding: 0 15px 18px; }
}
@media (max-width: 560px) {
  .product-editor .editor-form { grid-template-columns: minmax(0,1fr); }
  .product-editor .editor-form > .editor-two { grid-template-columns: minmax(0,1fr); }
  .product-extra-section > summary { flex-wrap: wrap; }
  .product-extra-section > summary small { width: calc(100% - 28px); margin-left: 0; }
}
.admin-sidebar nav a.active { color: #fffdf8; background: rgba(255,255,255,.14); font-weight: 700; box-shadow: inset 3px 0 #c3ceb8; }
.admin-sidebar nav a:focus-visible, .product-extra-section > summary:focus-visible { outline: 2px solid #b8c5ad; outline-offset: 2px; }
@media (max-width: 560px) {
  .records-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .records-metrics .metric-card { padding: 12px; }
  .records-metrics .metric-card>strong { font-size: clamp(15px,4.5vw,20px); }
}

/* Verified customer reviews and order email controls */
.product-rating,.pdp-rating { display:flex; align-items:center; gap:7px; }
.product-rating>span,.pdp-rating>span,.review-summary>span,.review-card-top>span { color:#b28b46; letter-spacing:.08em; white-space:nowrap; }
.product-rating>span { font-size:12px; }
.product-rating>small,.pdp-rating>small { color:#77756a; font-size:10px; }
.pdp-rating { width:max-content; margin:8px 0 16px; text-decoration:none; }
.pdp-rating>span { font-size:15px; }
.product-reviews { padding-top:52px; padding-bottom:58px; background:#f5f2eb; }
.product-reviews .section-heading { align-items:center; }
.review-summary { display:grid; grid-template-columns:auto auto; align-items:center; gap:2px 9px; text-align:right; }
.review-summary>span { grid-column:1/-1; font-size:16px; }
.review-summary>strong { color:#34372f; font-size:19px; }
.review-summary>small { color:#77756a; font-size:10px; }
.review-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.review-card { padding:18px; background:#fffdf8; border:1px solid #e7e2d7; border-radius:13px; }
.review-card-top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
.review-card-top>span { font-size:13px; }
.review-card-top>small { color:#77756a; font-size:9px; }
.review-card>p { margin:14px 0; color:#504f47; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.review-card>strong { color:#34372f; font-size:11px; }
.review-empty { margin:0; padding:18px; color:#77756a; background:#fffdf8; border-radius:12px; font-size:12px; }
.review-page { width:min(700px,calc(100% - 32px)); margin:56px auto 76px; }
.review-form-card,.review-thanks { padding:clamp(22px,5vw,44px); background:#fffdf8; border:1px solid #e7e2d7; border-radius:18px; box-shadow:0 18px 50px rgba(45,43,35,.07); }
.review-form-card h1,.review-thanks h1 { margin:8px 0 20px; color:#302f29; font:600 clamp(28px,5vw,40px) var(--display); letter-spacing:-.04em; }
.review-product { display:flex; align-items:center; gap:14px; margin-bottom:24px; padding:12px; background:#f5f2eb; border-radius:12px; }
.review-product img { width:66px; height:78px; object-fit:cover; background:#ebe6dc; border-radius:8px; }
.review-product strong,.review-product small { display:block; }
.review-product strong { color:#302f29; font-size:13px; }
.review-product small { margin-top:5px; color:#77756a; font-size:10px; }
.customer-review-form { display:grid; gap:9px; }
.customer-review-form label { margin-top:7px; color:#44443d; font-size:12px; font-weight:700; }
.customer-review-form select,.customer-review-form textarea { width:100%; padding:12px; color:#302f29; background:#fff; border:1px solid #dcd6ca; border-radius:10px; font:inherit; font-size:13px; }
.customer-review-form select { min-height:46px; }
.customer-review-form textarea { resize:vertical; line-height:1.6; }
.customer-review-form>small { color:#77756a; font-size:10px; }
.customer-review-form>.button { margin-top:10px; }
.review-thanks>p { margin:0 0 22px; color:#716e64; line-height:1.7; }
@media(max-width:760px) { .review-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px) { .review-list { grid-template-columns:1fr; } .review-summary { margin-left:auto; } }
.order-email-form { display:grid; grid-template-columns:minmax(150px,1fr) auto; gap:5px; margin-top:7px; }
.order-email-form select { min-width:0; min-height:34px; padding:6px 8px; color:#47463e; background:#fffdf8; border:1px solid #ded8cd; border-radius:7px; font-size:10px; }
.order-email-form button { min-height:34px; padding:6px 10px; color:#fff; background:#53634d; border:0; border-radius:7px; font-size:10px; font-weight:700; cursor:pointer; }
.email-action-hint { display:block; margin-top:5px; color:#77756a; font-size:9px; line-height:1.4; }
.cancel-reason-field { grid-column:1/-1; min-width:0; padding:10px; background:#faf4f1; border:1px solid #ead7d0; border-radius:8px; }
.status-form { flex-wrap:wrap; align-items:flex-start; }
.cancel-reason-field { flex:1 0 100%; }
.cancel-reason-field[hidden] { display:none !important; }
.cancel-reason-field label { display:grid; gap:5px; color:#754437; font-size:10px; font-weight:700; }
.cancel-reason-field textarea { width:100%; min-height:58px; padding:8px; color:#302f29; background:#fffdf8; border:1px solid #dfc8bf; border-radius:7px; font:inherit; font-size:11px; resize:vertical; }
.cancel-reason-field small { display:block; margin-top:5px; color:#77756a; font-size:9px; }

.order-detail-top { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:22px; border-bottom:1px solid #e8e2d7; }
.order-detail-top p { margin:10px 0 0; color:#716f64; }
.order-detail-total { font-size:26px; }
.order-detail-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:20px; padding:22px; }
.order-detail-grid section { padding:16px; border-radius:14px; background:#f7f5ef; }
.order-detail-grid h2 { margin:8px 0; font-size:17px; }
.order-detail-grid p { line-height:1.7; overflow-wrap:anywhere; }
.order-detail-items { padding:0 22px 18px; }
.order-detail-summary { display:grid; grid-template-columns:1fr auto; gap:10px 24px; max-width:380px; margin:0 22px 24px auto; padding-top:18px; border-top:1px solid #e8e2d7; }
.category-table-image { width:64px; height:54px; object-fit:cover; border-radius:8px; }
.category-image-preview { width:100%; max-height:220px; object-fit:cover; border-radius:12px; }
@media(max-width:700px){.order-detail-top{align-items:flex-start;}}

/* Storefront category sidebar */
.store-content-layout { display:grid; grid-template-columns:230px minmax(0,1fr); align-items:start; gap:24px; width:min(1500px,100%); margin:0 auto; padding:4px 22px 0; }
.store-content-layout > main { min-width:0; }
.category-sidebar { position:sticky; top:100px; z-index:12; display:flex; flex-direction:column; max-height:calc(100vh - 120px); overflow:auto; padding:18px 14px 14px; color:#302f29; background:rgba(255,253,248,.96); border:1px solid #e8e1d5; border-radius:20px; box-shadow:0 12px 34px rgba(58,47,31,.09); }
.sidebar-shop-all,.sidebar-bottom>a { display:flex; justify-content:space-between; align-items:center; color:#53634d; font-weight:700; }
.sidebar-shop-all { padding:12px 13px; background:#f1f3ec; border-radius:12px; }
.sidebar-label { margin:21px 12px 8px; color:#918a7d; font-size:9px; font-weight:700; letter-spacing:.16em; }
.sidebar-category { display:grid; grid-template-columns:minmax(0,1fr) 28px; align-items:center; min-height:43px; padding:2px 7px 2px 12px; border-radius:11px; }
.sidebar-category>a { color:#393a32; font-size:13px; font-weight:650; }
.sidebar-category:hover,.sidebar-category.is-active { background:#f5f2ea; }
.sidebar-category.is-active>a { color:#53634d; }
.sidebar-category details { display:contents; }
.sidebar-category summary { display:grid; place-items:center; width:28px; height:28px; cursor:pointer; list-style:none; border-radius:50%; }
.sidebar-category summary::-webkit-details-marker { display:none; }
.sidebar-category summary::before { content:'⌄'; color:#777669; font-size:18px; transition:transform .2s ease; }
.sidebar-category details[open] summary::before { transform:rotate(180deg); }
.sidebar-subcategories { grid-column:1/-1; display:grid; gap:2px; padding:2px 0 8px 12px; }
.sidebar-subcategories a { padding:7px 10px; color:#716f64; font-size:12px; border-left:1px solid #ded8cb; }
.sidebar-subcategories a:hover,.sidebar-subcategories a.active { color:#53634d; border-left:2px solid #53634d; }
.sidebar-bottom { display:grid; gap:10px; margin-top:auto; padding:18px 12px 4px; border-top:1px solid #ece6da; }
.sidebar-bottom>a { font-size:12px; }
.sidebar-bottom small { color:#999285; font-size:10px; }
.sidebar-mobile-head,.sidebar-scrim { display:none; }
.category-actions { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.category-actions .button { min-height:34px; padding:7px 10px; font-size:11px; }
.category-actions form { margin:0; }
.category-delete-button { padding:7px 9px; color:#823f32; background:#f6e9e4; border:1px solid #ecd0c4; border-radius:9px; cursor:pointer; }
.category-parent-label { color:#918a7d; font-size:11px; }
@media(max-width:960px) and (min-width:761px) { .store-content-layout { grid-template-columns:205px minmax(0,1fr); gap:14px; padding-right:14px; padding-left:14px; } .category-sidebar { padding:14px 10px; } }
@media(max-width:760px) {
  .store-content-layout { display:block; padding:0; }
  .store-content-layout > main { width:100%; }
  .menu-toggle { display:block; width:36px; height:36px; margin-left:auto; color:#53634d; background:#f5f1e8; border:1px solid #e5dfd3; border-radius:50%; cursor:pointer; }
  .header-actions { margin-left:14px; }
  .category-sidebar { position:fixed; z-index:61; top:0; bottom:0; left:0; width:min(310px,86vw); max-height:none; padding:18px 15px 16px; border-radius:0 22px 22px 0; transform:translateX(-105%); transition:transform .28s cubic-bezier(.2,.8,.2,1); box-shadow:12px 0 45px rgba(34,35,27,.2); }
  .category-sidebar.open { transform:translateX(0); }
  .sidebar-mobile-head { display:flex; justify-content:space-between; align-items:center; margin:2px 4px 18px; }
  .sidebar-mobile-head button { width:34px; height:34px; color:#53634d; background:#f1f3ec; border:0; border-radius:50%; font-size:22px; cursor:pointer; }
  .sidebar-scrim:not([hidden]) { display:block; position:fixed; z-index:60; inset:0; width:100%; height:100%; background:rgba(24,29,24,.42); border:0; }
  body.category-sidebar-open { overflow:hidden; }
  .category-actions { min-width:190px; }
}
.sidebar-category-label { display:flex; align-items:center; min-width:0; gap:9px; }
.sidebar-category-label img { flex:none; width:25px; height:25px; object-fit:cover; border-radius:8px; }
.sidebar-subcategories a { display:flex; align-items:center; gap:8px; }
.sidebar-subcategories img { width:21px; height:21px; object-fit:cover; border-radius:6px; }
.category-actions form { display:inline-flex; }

/* Keep category navigation tucked away until the shopper asks for it. */
@media(min-width:761px) {
  .store-content-layout { grid-template-columns:minmax(0,1fr); }
  .category-sidebar { display:none; }
  .category-sidebar.open { display:flex; }
  body.category-sidebar-open .store-content-layout { grid-template-columns:230px minmax(0,1fr); }
  .site-header .menu-toggle { display:block; flex:none; width:38px; height:38px; margin-left:auto; color:#53634d; background:#f5f1e8; border:1px solid #e5dfd3; border-radius:50%; cursor:pointer; }
  .site-header .header-actions { margin-left:14px; }
}
@media(max-width:760px) {
  .category-sidebar { display:flex; }
}

/* Left-edge category control and account shortcut stay outside the drawer. */
.header-account { display:inline-flex; align-items:center; min-height:38px; padding:0 12px; color:#53634d; font-size:12px; font-weight:650; white-space:nowrap; border:1px solid #e6dfd2; border-radius:999px; }
.header-account:hover { background:#f1f3ec; }
.menu-toggle { position:fixed; z-index:62; top:50%; left:0; display:flex; align-items:center; justify-content:center; gap:9px; width:122px; height:48px; margin:0; padding:0 14px 0 12px; color:#fffdf8; background:#53634d; border:1px solid rgba(255,255,255,.25); border-left:0; border-radius:0 15px 15px 0; box-shadow:0 8px 22px rgba(45,56,41,.2); cursor:pointer; transform:translateY(-50%); transition:left .32s cubic-bezier(.2,.8,.2,1),background .2s ease,box-shadow .2s ease; }
.menu-toggle:hover { background:#42533e; box-shadow:0 12px 28px rgba(45,56,41,.25); }
.menu-toggle span { font-size:17px; line-height:1; }
.menu-toggle b { font-size:11px; letter-spacing:.02em; }
body.category-sidebar-open .menu-toggle { left:max(252px,calc((100vw - 1500px)/2 + 252px)); }
@media(min-width:761px) and (max-width:960px) { body.category-sidebar-open .menu-toggle { left:219px; } }
@media(max-width:760px) {
  .menu-toggle { top:132px; left:8px; width:44px; height:44px; padding:0; border:1px solid rgba(255,255,255,.25); border-radius:50%; }
  .menu-toggle b { display:none; }
  body.category-sidebar-open .menu-toggle { display:none; }
  .header-account { min-height:32px; padding:0 8px; font-size:10px; }
  .site-header .header-actions { gap:6px; margin-left:0; }
}
@media(min-width:761px) {
  .store-content-layout { grid-template-columns:0px minmax(0,1fr); transition:grid-template-columns .32s cubic-bezier(.2,.8,.2,1); }
  .category-sidebar { display:flex; width:0; min-width:0; padding:0; border-width:0; opacity:0; overflow:hidden; transform:translateX(-14px); transition:width .32s cubic-bezier(.2,.8,.2,1),padding .32s ease,border-width .32s ease,opacity .2s ease,transform .32s cubic-bezier(.2,.8,.2,1); }
  .category-sidebar.open { display:flex; width:230px; padding:18px 14px 14px; border-width:1px; opacity:1; transform:translateX(0); }
  body.category-sidebar-open .store-content-layout { grid-template-columns:230px minmax(0,1fr); }
}
@media(min-width:761px) and (max-width:960px) {
  .category-sidebar.open { width:205px; padding:14px 10px; }
  body.category-sidebar-open .store-content-layout { grid-template-columns:205px minmax(0,1fr); }
}

/* Admin category tree: keep each collection and its children together. */
.category-groups-panel { overflow:visible; }
.category-groups-panel > .panel-heading { padding:22px 24px 8px; }
.category-groups-panel > .panel-heading p { margin:7px 0 0; color:#807b6f; font-size:12px; }
.category-tools { display:grid; grid-template-columns:minmax(220px,320px) 1fr; align-items:end; gap:14px; padding:12px 24px 18px; }
.category-tools label { display:grid; gap:6px; color:#625f55; font-size:11px; font-weight:700; }
.category-tools input { height:40px; padding:0 12px; color:#302f29; background:#fff; border:1px solid #ded8cc; border-radius:10px; }
.category-jump-links { display:flex; flex-wrap:wrap; gap:7px; }
.category-jump-links a { padding:8px 12px; color:#53634d; background:#f1f3ec; border:1px solid #e0e6da; border-radius:999px; font-size:11px; font-weight:700; }
.category-jump-links a:hover { background:#e7ecdf; }
.category-groups { display:grid; gap:12px; padding:0 18px 20px; }
.category-group { min-width:0; overflow:hidden; background:#fffefa; border:1px solid #e8e2d7; border-radius:16px; scroll-margin-top:24px; transition:border-color .2s ease,box-shadow .2s ease; }
.category-group:target { border-color:#aebba2; box-shadow:0 0 0 3px rgba(83,99,77,.1); }
.category-group[hidden],.subcategory-row[hidden] { display:none; }
.category-group-heading { display:flex; align-items:center; gap:14px; padding:16px; }
.category-group-image,.category-group-monogram { flex:none; width:52px; height:52px; object-fit:cover; border-radius:13px; }
.category-group-monogram { display:grid; place-items:center; color:#53634d; background:#edf0e8; font:700 21px var(--display); }
.category-group-title { min-width:150px; flex:1; }
.category-group-title .eyebrow { color:#8b867a; font-size:9px; }
.category-group-title h3 { margin:2px 0; color:#302f29; font:700 19px var(--display); }
.category-group-title small,.subcategory-title small { display:block; color:#827d72; font-size:10px; }
.category-group-actions { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.category-group-actions form { display:inline-flex; margin:0; }
.category-group-actions .button { min-height:34px; padding:7px 10px; font-size:10px; }
.subcategory-list { padding:0 16px 12px; }
.subcategory-list-label { padding:10px 0 6px 60px; color:#928d81; border-top:1px solid #eee9df; font-size:9px; font-weight:700; letter-spacing:.14em; }
.subcategory-row { display:flex; align-items:center; gap:10px; min-height:48px; padding:6px 0 6px 20px; border-top:1px solid #f2eee6; }
.subcategory-branch { color:#9a9b8d; font-size:17px; }
.subcategory-image { flex:none; width:32px; height:32px; object-fit:cover; border-radius:9px; }
.subcategory-title { min-width:130px; flex:1; }
.subcategory-title strong { color:#393a32; font-size:12px; }
.category-empty-child { margin:0 16px 16px 76px; padding:12px 14px; color:#898477; background:#f8f6f0; border-radius:10px; font-size:11px; }
.category-empty-child a { margin-left:5px; color:#53634d; font-weight:700; }
.category-editor-panel { scroll-margin-top:24px; }
@media(max-width:780px) {
  .category-tools { grid-template-columns:1fr; padding:10px 15px 14px; }
  .category-groups { padding:0 10px 14px; }
  .category-group-heading { flex-wrap:wrap; gap:10px; padding:13px; }
  .category-group-title { min-width:calc(100% - 66px); }
  .category-group-actions { width:100%; padding-left:62px; }
  .subcategory-list { padding:0 12px 10px; }
  .subcategory-list-label { padding-left:48px; }
  .subcategory-row { flex-wrap:wrap; padding-left:8px; }
  .subcategory-title { min-width:calc(100% - 65px); }
  .subcategory-row .category-group-actions { width:auto; margin-left:42px; padding:0; }
  .category-empty-child { margin-left:48px; }
}
.header-account { flex:0 0 38px; width:38px; height:38px; min-height:38px; padding:0; justify-content:center; }
.header-account svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
@media(max-width:760px) { .header-account { flex-basis:34px; width:34px; height:34px; min-height:34px; padding:0; } }

/* Keep the category hamburger in the header, immediately before the logo. */
.site-header .menu-toggle { position:relative; top:auto; left:auto; flex:0 0 38px; display:grid; place-items:center; width:38px; height:38px; margin:0; padding:0; color:#53634d; background:#f5f1e8; border:1px solid #e5dfd3; border-radius:50%; box-shadow:none; transform:none; transition:background .2s ease,border-color .2s ease; }
.site-header .menu-toggle:hover { background:#eaf0e5; border-color:#cfd9c6; box-shadow:none; }
.site-header .menu-toggle svg { width:19px; height:19px; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.site-header .menu-toggle .menu-line { transform-origin:12px 12px; transition:transform .22s ease,opacity .15s ease; }
.site-header .menu-toggle[aria-expanded="true"] .menu-line:first-child { transform:translateY(6px) rotate(45deg); }
.site-header .menu-toggle[aria-expanded="true"] .menu-line:nth-child(2) { opacity:0; }
.site-header .menu-toggle[aria-expanded="true"] .menu-line:last-child { transform:translateY(-6px) rotate(-45deg); }
.site-header .header-actions { margin-left:auto; }
@media(max-width:760px) {
  .site-header { grid-template-columns:36px auto minmax(0,1fr); }
  .site-header .menu-toggle { grid-column:1; grid-row:1; width:34px; height:34px; }
  .site-header > .wordmark { grid-column:2; grid-row:1; }
  .site-header .header-actions { grid-column:3; grid-row:1; margin-left:0; }
  body.category-sidebar-open .site-header { z-index:63; }
}

/* Keep the hamburger fixed beside the wordmark in both drawer states. */
.site-header { gap:14px; }
.site-header .menu-toggle { position:relative; inset:auto; transform:none; flex:0 0 38px; margin:0; }
.site-header .menu-toggle .menu-line,
.site-header .menu-toggle[aria-expanded="true"] .menu-line:first-child,
.site-header .menu-toggle[aria-expanded="true"] .menu-line:nth-child(2),
.site-header .menu-toggle[aria-expanded="true"] .menu-line:last-child { transform:none; opacity:1; }
@media(max-width:760px) {
  .site-header { column-gap:12px; }
  .site-header .menu-toggle { grid-column:1; margin:0; }
  .site-header > .wordmark { grid-column:2; }
}

/* Anchor the hamburger and wordmark as one header group in open and closed states. */
.site-header { justify-content:space-between; }
.site-header .brand-group { display:flex; flex:0 0 auto; align-items:center; gap:14px; }
.site-header .brand-group { position:relative; justify-content:flex-start; }
.site-header .brand-group .menu-toggle { flex:0 0 38px; }
.site-header .brand-group > .menu-toggle { position:static; inset:auto; left:auto; right:auto; order:0; margin:0; transform:none; }
.site-header .brand-group > .wordmark { order:1; }
.site-header .header-actions { flex:0 0 auto; margin-left:auto; }
@media(max-width:760px) {
  .site-header { grid-template-columns:minmax(0,1fr) auto; column-gap:10px; }
  .site-header .brand-group { grid-column:1; grid-row:1; gap:10px; }
  .site-header .brand-group .menu-toggle { position:static; inset:auto; grid-column:auto; grid-row:auto; flex:0 0 34px; width:34px; height:34px; margin:0; }
  .site-header > .brand-group > .wordmark { grid-column:auto; grid-row:auto; }
  .site-header .header-actions { grid-column:2; grid-row:1; margin-left:0; }
}
.category-expander { flex:none; display:grid; place-items:center; width:34px; height:34px; color:#53634d; background:#f1f3ec; border:1px solid #e0e6da; border-radius:50%; cursor:pointer; transition:background .18s ease,transform .2s ease; }
.category-expander:hover { background:#e5ebdf; }
.category-expander span { font-size:20px; line-height:1; transition:transform .2s ease; }
.category-expander[aria-expanded="true"] span { transform:rotate(180deg); }
.category-children:not([hidden]) { animation:categoryChildrenIn .18s ease both; }
@keyframes categoryChildrenIn { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:translateY(0); } }
.metric-card-link { display:block; color:inherit; text-decoration:none; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.metric-card-link:hover { transform:translateY(-2px); border-color:#cbd6c4; box-shadow:0 8px 20px rgba(58,70,51,.08); }
.metric-card-link:focus-visible,.dashboard-more-stats > summary:focus-visible { outline:2px solid #53634d; outline-offset:3px; }
.dashboard-more-stats { margin:14px 0 22px; }
.dashboard-more-stats > summary { display:inline-flex; align-items:center; gap:8px; padding:9px 2px; color:#53634d; font-size:12px; font-weight:700; cursor:pointer; list-style:none; }
.dashboard-more-stats > summary::-webkit-details-marker { display:none; }
.dashboard-more-stats > summary::after { content:"+"; font-size:18px; }
.dashboard-more-stats[open] > summary::after { content:"−"; }
.dashboard-secondary-grid { margin-top:8px; }
.order-row-details { display:block; margin-top:6px; color:#53634d; font-size:10px; font-weight:700; text-decoration:none; }
.order-row-details:hover { text-decoration:underline; }
.orders-panel table { min-width:660px; }
.orders-panel tbody tr.order-row { cursor:pointer; transition:background .18s ease, box-shadow .18s ease; }
.orders-panel tbody tr.order-row:hover { background:#f1f4ed; box-shadow:inset 3px 0 #7d8b70, inset 0 1px #e1e7da, inset 0 -1px #e1e7da; }
.orders-panel tbody tr.order-row:focus-visible { outline:2px solid #53634d; outline-offset:-2px; }
.accounts-panel tbody tr.account-row { cursor:pointer; transition:background .18s ease, box-shadow .18s ease; }
.accounts-panel tbody tr.account-row:hover { background:#f1f4ed; box-shadow:inset 3px 0 #7d8b70, inset 0 1px #e1e7da, inset 0 -1px #e1e7da; }
.accounts-panel tbody tr.account-row:focus-visible { outline:2px solid #53634d; outline-offset:-2px; }
.account-detail-link { display:inline-flex; align-items:center; gap:6px; color:#354331; text-decoration:none; transition:color .18s ease, transform .18s ease; }
.account-detail-link span { color:#78856e; opacity:.65; transition:opacity .18s ease, transform .18s ease; }
.accounts-panel tbody tr.account-row:hover .account-detail-link { color:#354f35; transform:translateX(2px); }
.accounts-panel tbody tr.account-row:hover .account-detail-link span { opacity:1; transform:translate(1px,-1px); }
.account-detail-heading { margin-bottom:16px; }
.account-profile-card { display:flex; align-items:flex-start; gap:18px; padding:22px; background:#fbfaf6; border:1px solid #e7e2d7; border-radius:16px; box-shadow:0 8px 22px rgba(58,47,31,.06); }
.account-profile-avatar { display:grid; place-items:center; flex:0 0 52px; width:52px; height:52px; color:#fff; background:#53634d; border-radius:15px; font:700 22px/1 'Manrope',sans-serif; }
.account-profile-main { min-width:0; flex:1; }
.account-profile-title { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.account-profile-title>div { display:grid; gap:4px; min-width:0; }
.account-profile-title>div strong { color:#302f29; font:700 17px/1.3 'Manrope',sans-serif; }
.account-profile-title>div span { overflow-wrap:anywhere; color:#77746a; font-size:12px; }
.account-profile-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:20px; padding-top:16px; border-top:1px solid #e9e5dc; }
.account-profile-facts>span,.customer-order-meta>span { min-width:0; color:#48483f; font-size:12px; line-height:1.55; overflow-wrap:anywhere; }
.account-profile-facts small,.customer-order-meta small { display:block; margin-bottom:4px; color:#858174; font-size:9px; font-weight:800; letter-spacing:.09em; }
.account-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:14px; }
.account-summary-grid article { display:grid; gap:5px; min-width:0; padding:16px 17px; background:#f6f5ef; border:1px solid #e8e4d9; border-radius:13px; }
.account-summary-grid article>span { color:#77746a; font-size:11px; font-weight:700; }
.account-summary-grid article>strong { color:#353b30; font:700 clamp(19px,2vw,24px)/1.2 'Manrope',sans-serif; overflow-wrap:anywhere; }
.account-summary-grid article>small { color:#858174; font-size:9px; line-height:1.4; }
.customer-history-panel { padding-bottom:8px; }
.customer-history-panel>.panel-heading { margin-bottom:0; }
.customer-history-panel>.panel-heading>small { color:#858174; font-size:10px; }
.customer-order-list { display:grid; gap:11px; padding:0 20px 18px; }
.customer-order-card { overflow:hidden; background:#fffefa; border:1px solid #e9e5dc; border-radius:13px; }
.customer-order-head { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 16px; background:#f8f7f2; border-bottom:1px solid #eeeae1; }
.customer-order-head>div:first-child { display:grid; gap:4px; }
.customer-order-number { display:inline-flex; align-items:center; gap:5px; width:max-content; max-width:100%; color:#354331; font-size:12px; font-weight:800; text-decoration:none; transition:color .16s ease, transform .16s ease; }
.customer-order-number span { color:#78856e; transition:transform .16s ease; }
.customer-order-number:hover { color:#70815f; transform:translateX(2px); }
.customer-order-number:hover span { transform:translate(1px,-1px); }
.customer-order-head>div:first-child small { color:#858174; font-size:10px; }
.customer-order-total { display:flex; align-items:center; gap:12px; }
.customer-order-total>strong { color:#302f29; font-size:13px; white-space:nowrap; }
.customer-order-items { padding:2px 16px; }
.customer-order-item { display:grid; grid-template-columns:minmax(0,1fr) 44px auto; align-items:center; gap:12px; min-height:52px; padding:9px 0; border-bottom:1px solid #f0ede6; }
.customer-order-item:last-child { border-bottom:0; }
.customer-order-item>div { display:grid; gap:3px; min-width:0; }
.customer-order-item>div strong { color:#393930; font-size:11px; }
.customer-order-item>div small { color:#858174; font-size:9px; }
.customer-order-item>span { color:#727064; font-size:10px; text-align:center; }
.customer-order-item>strong { color:#45443b; font-size:10px; white-space:nowrap; }
.customer-order-no-items { margin:10px 0; color:#858174; font-size:11px; }
.customer-order-more { padding:0 16px; background:#fcfbf8; border-top:1px solid #f0ede6; }
.customer-order-more summary { width:max-content; padding:10px 0; color:#59674f; font-size:10px; font-weight:700; cursor:pointer; }
.customer-order-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:2px 0 14px; }
.customer-order-meta .customer-order-address { grid-column:1/-1; }
.customer-history-empty { display:grid; justify-items:center; gap:6px; padding:34px 20px; color:#77746a; text-align:center; }
.customer-history-empty>span { display:grid; place-items:center; width:42px; height:42px; color:#53634d; background:#edf0e8; border-radius:13px; font-size:19px; }
.customer-history-empty strong { color:#3b3c33; font-size:13px; }
.customer-history-empty p { margin:0; font-size:11px; }
.order-management-panel { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr); gap:16px; margin:0 22px 22px; padding:17px; background:#f8f7f2; border:1px solid #e8e4d9; border-radius:14px; }
.order-detail-status-form,.order-detail-email-form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:10px; }
.order-management-panel label { display:grid; gap:6px; color:#625f55; font-size:11px; font-weight:700; }
.order-management-panel select,.order-management-panel textarea { width:100%; min-height:42px; padding:9px 11px; color:#302f29; background:#fff; border:1px solid #dcd6ca; border-radius:9px; }
.order-management-panel textarea { min-height:72px; resize:vertical; }
.detail-cancel-reason { grid-column:1/-1; }
.detail-cancel-reason small { display:block; margin-top:5px; color:#716e64; font-size:10px; }
.order-management-panel button { min-height:42px; white-space:nowrap; }
.coupon-selection { display:grid; gap:9px; grid-column:span 2; }
.coupon-selection > label { display:grid; gap:6px; }
.coupon-selection > label input { min-height:40px; }
.coupon-check-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 8px; max-height:190px; overflow:auto; padding:8px; background:#fff; border:1px solid #e5dfd3; border-radius:10px; }
.coupon-check-option { display:flex !important; align-items:center; gap:8px !important; min-width:0; padding:7px 8px; border-radius:7px; cursor:pointer; }
.coupon-check-option:hover { background:#f5f4ee; }
.coupon-check-option input { flex:0 0 16px; width:16px; min-height:16px; height:16px; margin:0; padding:0; accent-color:#53634d; }
.coupon-check-option span { overflow:hidden; color:#47463e; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.coupon-selection [data-selection-hint] { color:#716e64; font-size:10px; }
@media(max-width:760px) {
  .account-profile-card { gap:12px; padding:16px; }
  .account-profile-avatar { flex-basis:42px; width:42px; height:42px; border-radius:12px; font-size:18px; }
  .account-profile-title { flex-direction:column; align-items:flex-start; gap:9px; }
  .account-profile-title>div strong { font-size:15px; }
  .account-profile-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px; padding-top:13px; }
  .account-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .account-summary-grid article { padding:13px; }
  .customer-order-list { gap:9px; padding:0 12px 14px; }
  .customer-order-head { align-items:flex-start; padding:12px; }
  .customer-order-total { flex-direction:column-reverse; align-items:flex-end; gap:6px; }
  .customer-order-items { padding:2px 12px; }
  .customer-order-more { padding:0 12px; }
  .customer-order-meta { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-product-layout > .product-editor#product-form { grid-row:1; }
  .admin-product-layout > .inventory-panel { grid-row:2; }
  .admin-sidebar .admin-user form { display:block; margin:0; }
  .admin-sidebar .admin-user form button { display:grid; place-items:center; width:36px; height:36px; color:#fffdf8; border:1px solid rgba(255,255,255,.25); border-radius:50%; font-size:18px; }
  .admin-sidebar .admin-user { flex:0 0 auto; margin-left:0; }
  .order-management-panel { grid-template-columns:1fr; margin:0 14px 16px; padding:13px; }
  .coupon-check-list { grid-template-columns:1fr; max-height:230px; }
}
@media(max-width:760px) {
  body.category-sidebar-open .site-header { z-index:59; }
}
.admin-content .admin-page-heading > div > p { max-width:540px; margin:8px 0 0; color:#77756a; font-size:12px; line-height:1.55; }
.category-editor-panel > .panel-heading p { max-width:320px; margin:7px 0 0; color:#77756a; font-size:11px; line-height:1.55; }
.product-editor .product-main-image-field { padding:0; background:transparent; border:0; border-radius:0; }
.product-editor .editor-form > .product-extra-section { margin-top:2px; }
.category-editor-panel .category-image-preview { max-width:240px; justify-self:start; }
.product-editor .editor-form > .file-upload-field,
.product-editor .editor-form > .product-main-image-field { grid-column:1/-1; }
.file-upload-field,.gallery-upload-field { display:grid; gap:8px; min-width:0; }
.file-upload-title { color:#47463e; font-size:12px; font-weight:700; }
.file-upload-control { position:relative; display:grid; gap:9px; min-width:0; }
.product-editor .editor-form .file-upload-input { position:absolute !important; width:1px !important; height:1px !important; min-height:1px !important; margin:-1px !important; padding:0 !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; clip-path:inset(50%) !important; white-space:nowrap !important; border:0 !important; }
.file-dropzone { display:flex; align-items:center; gap:12px; min-width:0; min-height:74px; padding:12px 14px; color:#47463e; background:linear-gradient(135deg,#fbfaf6,#f4f5ef); border:1px dashed #bdc8b5; border-radius:14px; cursor:pointer; transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease; }
.file-dropzone:hover,.file-upload-control.is-dragging .file-dropzone { background:#f0f4ec; border-color:#71866a; box-shadow:0 5px 16px rgba(83,99,77,.09); }
.file-upload-control:focus-within .file-dropzone { outline:3px solid rgba(83,99,77,.2); outline-offset:2px; border-color:#53634d; }
.file-upload-icon { flex:0 0 40px; display:grid; place-items:center; width:40px; height:40px; color:#53634d; background:#e8eee4; border-radius:12px; font-size:22px; font-weight:700; }
.file-upload-copy { display:grid; gap:3px; min-width:0; }
.file-upload-copy strong { color:#393a32; font-size:12px; }
.file-upload-copy small,.file-upload-field > small,.gallery-upload-field > small { color:#77756a; font-size:10px; line-height:1.45; }
.file-upload-name { min-width:0; margin-left:auto; overflow:hidden; color:#716e64; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.file-upload-control.has-files .file-upload-name { color:#53634d; font-weight:700; }
.file-upload-browse { flex:0 0 auto; padding:8px 11px; color:#fffdf8; background:#53634d; border-radius:9px; font-size:10px; font-weight:700; }
.file-image-preview,.file-current-image { display:flex; align-items:center; gap:11px; max-width:370px; padding:8px; background:#fff; border:1px solid #e7e2d7; border-radius:12px; }
.file-image-preview[hidden] { display:none; }
.file-image-preview img,.file-current-image img { flex:0 0 54px; width:54px; height:54px; object-fit:cover; background:#f5f3ed; border-radius:8px; }
.file-image-preview span,.file-current-image span { display:grid; gap:4px; min-width:0; overflow-wrap:anywhere; color:#53634d; font-size:10px; font-weight:700; }
.file-current-image small { color:#77756a; font-size:9px; font-weight:400; }
.image-url-preview { display:flex; align-items:center; gap:10px; margin-top:7px; padding:7px; background:#f8f7f2; border:1px solid #e8e4d9; border-radius:11px; }
.image-url-preview[hidden] { display:none; }
.image-url-preview img { flex:0 0 50px; width:50px; height:50px; object-fit:cover; background:#efede6; border-radius:7px; }
.image-url-preview span { color:#53634d; font-size:10px; font-weight:600; line-height:1.4; }
.image-url-preview.preview-error { border-color:#e8c9bd; background:#fff8f5; }
.image-url-preview.preview-error span { color:#8f4b38; }
.account-divider { display:flex; align-items:center; gap:12px; margin:18px 0 12px; color:#818176; font-size:11px; }
.account-divider::before,.account-divider::after { content:""; height:1px; flex:1; background:#e7e3da; }
.google-signin-button { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:44px; padding:9px 14px; color:#35352f; background:#fff; border:1px solid #dedbd3; border-radius:10px; font-size:12px; font-weight:700; text-decoration:none; transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.google-signin-button:hover { background:#fbfaf7; border-color:#c8c4ba; box-shadow:0 5px 15px rgba(52,48,39,.08); transform:translateY(-1px); }

/* Mobile account, product-card and home carousel refinements */
.account-page, .account-page * { min-width: 0; }
.account-page .table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
.account-page table { min-width: 540px; }
.product-card .product-meta>strong { display: -webkit-box; min-height: 2.9em; overflow: hidden; white-space: normal; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.hero .eyebrow span:first-child { flex: 0 0 22px; }
.hero .eyebrow [data-hero-eyebrow] { width: auto; height: auto; background: none; }
.hero-image img[data-hero-image] { transition: opacity .28s ease, transform .7s ease; }
.hero-image img[data-hero-image].is-changing { opacity: .25; transform: scale(1.025); }
.hero-carousel-controls { display: flex; align-items: center; gap: 8px; margin-top: 23px; }
.hero-carousel-controls>button { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; color: #53634d; background: #fffdf8; border: 1px solid #ded8ca; border-radius: 50%; cursor: pointer; }
.hero-carousel-controls [data-hero-dots] { display: flex; align-items: center; gap: 6px; }
.hero-carousel-controls [data-hero-dots] button { width: 7px; height: 7px; padding: 0; background: #c8c6b9; border: 0; border-radius: 50%; cursor: pointer; transition: width .18s ease,background .18s ease; }
.hero-carousel-controls [data-hero-dots] button.active { width: 20px; background: #53634d; border-radius: 8px; }
.variant-choice-suggestions { display: flex; flex-wrap: wrap; gap: 6px; margin: 3px 0; }
.variant-choice-suggestions button { min-height: 30px; padding: 5px 10px; color: #55584d; background: #f7f6f1; border: 1px solid #dedbd1; border-radius: 999px; font-size: 10px; font-weight: 650; cursor: pointer; transition: background .16s ease,border-color .16s ease,color .16s ease; }
.variant-choice-suggestions button:hover { border-color: #9aa78e; }
.variant-choice-suggestions button[aria-pressed="true"] { color: #fff; background: #53634d; border-color: #53634d; }

/* Bootstrap Icons treatment for navigation and disclosure controls */
.header-account i,.header-icon-button i,.bag-link i { font-size: 18px; line-height: 1; }
.header-account i { font-size: 19px; }
.search-dialog-form>i { flex: 0 0 19px; color: #777d6e; font-size: 17px; }
.search-dialog-form button i { margin-left: 7px; }
.search-dialog-close i,.drawer-head [data-cart-close] i,.sidebar-mobile-head [data-sidebar-close] i { font-size: 14px; line-height: 1; }
.sidebar-category summary::before { content: none; }
.sidebar-category summary::after { content: none; }
.sidebar-category summary i { color: #74776c; font-size: 12px; transition: transform .2s ease,color .2s ease; }
.sidebar-category details[open] summary i { color: #53634d; transform: rotate(180deg); }
.pdp-detail-panel .detail-toggle-icons,.summary-toggle-icons { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 0; color: #68745f; font-size: 14px; line-height: 1; }
.pdp-detail-panel .detail-toggle-icons i:last-child { display: none; }
.pdp-detail-panel[open] .detail-toggle-icons i:first-child { display: none; }
.pdp-detail-panel[open] .detail-toggle-icons i:last-child { display: inline-block; }
.pdp-detail-panel summary .detail-toggle-icons { color: #68745f; font-size: 13px; }
.pdp-detail-panel:not([open]) summary .detail-toggle-icons { transform: none; }
.product-extra-section > summary::after,.dashboard-more-stats > summary::after { content: none !important; }
.summary-toggle-icons { margin-left: auto; }
.product-extra-section > summary .summary-toggle-icons { color: #53634d; font-size: 13px; }
.summary-toggle-icons .bi-dash-lg { display: none; }
.product-extra-section[open] > summary .bi-plus-lg,.dashboard-more-stats[open] > summary .bi-plus-lg { display: none; }
.product-extra-section[open] > summary .bi-dash-lg,.dashboard-more-stats[open] > summary .bi-dash-lg { display: inline-block; }
.dashboard-more-stats > summary .summary-toggle-icons { transition: transform .2s ease; }
.dashboard-more-stats[open] > summary .summary-toggle-icons { transform: rotate(180deg); }
.customer-order-more summary { display: flex; align-items: center; gap: 9px; }
.customer-order-more[open] summary .summary-toggle-icons { transform: rotate(180deg); }
.admin-sidebar nav a { display: flex; align-items: center; gap: 10px; }
.admin-sidebar nav a .bi { flex: 0 0 17px; width: 17px; font-size: 15px; text-align: center; }
.admin-user form button .bi { font-size: 17px; }
.button .bi,.text-link .bi,.sidebar-shop-all .bi,.category-actions .bi { font-size: 1em; vertical-align: -.08em; }
.product-card .quick-arrow .bi,.product-card-action .bi { font-size: 1em; }
.file-upload-icon .bi { font-size: 20px; }
.metric-card .bi { font-style: normal; }
.category-expander .bi { font-size: 13px; transition: transform .2s ease; }
.category-expander[aria-expanded="true"] .bi { transform: rotate(180deg); }
.admin-user form button .bi { display: block; }

/* A small signature motion for the SAIBAAN wordmark */
a.wordmark { position: relative; display: inline-block; text-decoration: none; transform-origin: left center; animation: wordmark-arrive .55s cubic-bezier(.2,.75,.25,1) both; transition: transform .24s ease,letter-spacing .24s ease; }
a.wordmark::after { position: absolute; right: 0; bottom: -6px; left: 0; height: 2px; content: ""; background: linear-gradient(90deg,#53634d 0%,#a45b42 75%,transparent 100%); border-radius: 2px; transform: scaleX(0); transform-origin: left center; transition: transform .3s cubic-bezier(.2,.75,.25,1); }
a.wordmark:hover,a.wordmark:focus-visible { transform: translateY(-2px); letter-spacing: .17em; }
a.wordmark:hover::after,a.wordmark:focus-visible::after { transform: scaleX(1); }
a.wordmark span { display: inline-block; transform-origin: 50% 75%; transition: transform .32s cubic-bezier(.2,.75,.25,1),color .25s ease,text-shadow .25s ease; }
a.wordmark:hover span,a.wordmark:focus-visible span { color: #a45b42; text-shadow: 0 3px 12px rgba(164,91,66,.25); transform: translateY(-2px) rotate(18deg) scale(1.3); }
a.wordmark:active { transform: translateY(0) scale(.98); }
@keyframes wordmark-arrive { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@media(prefers-reduced-motion:reduce) { a.wordmark,a.wordmark::after,a.wordmark span { animation: none; transition: none; } }

.footer-main { grid-template-columns: 1fr 1.25fr 1fr 1fr; gap: 24px; }
.footer-contact { display: grid; justify-items: start; gap: 10px; color: #dedfd4; font-size: 11px; }
.footer-contact>span { margin-bottom: 2px; color: #b8c1b7; font-size: 9px; font-weight: 800; letter-spacing: .15em; }
.footer-contact a { display: inline-flex; align-items: center; gap: 9px; transition: color .18s ease,transform .18s ease; }
.footer-contact a:hover { color: #fff; transform: translateX(2px); }
.footer-contact .bi { color: #c5cda9; font-size: 15px; }
.footer-main { grid-template-columns:minmax(190px,.85fr) minmax(360px,1.5fr) minmax(180px,.75fr); align-items:start; gap:clamp(24px,5vw,72px); padding-bottom:42px; }
.footer-brand .wordmark { font-size:26px; }
.footer-brand p { max-width:250px; margin:17px 0 0; }
.footer-nav { display:grid; gap:15px; }
.footer-section-label { color:#b8c1b7; font-size:9px; font-weight:800; letter-spacing:.16em; }
.footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); justify-content:stretch; gap:8px; color:#eef0e9; font-size:inherit; }
.footer-links a { display:grid; grid-template-columns:23px minmax(0,1fr) 12px; align-items:center; gap:10px; min-width:0; min-height:43px; padding:0 12px; color:#e5e9df; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.085); border-radius:10px; font-size:11px; font-weight:550; line-height:1.25; text-decoration:none; white-space:nowrap; transition:background .18s ease,border-color .18s ease,transform .18s ease,color .18s ease; }
.footer-links a:hover,.footer-links a:focus-visible { color:#fff; background:rgba(255,255,255,.105); border-color:rgba(255,255,255,.2); transform:translateY(-1px); }
.footer-links a>.bi:first-child { display:grid; width:23px; height:23px; flex:0 0 23px; place-items:center; color:#d0d8bd; background:rgba(198,208,173,.1); border-radius:7px; font-size:12px; }
.footer-links a>span { min-width:0; white-space:nowrap; }
.footer-links .footer-link-arrow { color:#aeb7a9; font-size:11px; opacity:.55; transition:opacity .18s ease,transform .18s ease; }
.footer-links a:hover .footer-link-arrow,.footer-links a:focus-visible .footer-link-arrow { opacity:1; transform:translate(0,0); }
.whatsapp-float { position: fixed; z-index: 48; right: max(22px,env(safe-area-inset-right)); bottom: max(22px,env(safe-area-inset-bottom)); display: inline-flex; align-items: center; gap: 9px; min-height: 48px; padding: 0 17px; color: #fff; background: #526b50; border: 1px solid rgba(255,255,255,.5); border-radius: 999px; box-shadow: 0 9px 26px rgba(39,56,38,.28); font-size: 11px; font-weight: 700; transition: background .18s ease,transform .18s ease,box-shadow .18s ease; }
.whatsapp-float:hover { color: #fff; background: #40573f; box-shadow: 0 13px 30px rgba(39,56,38,.34); transform: translateY(-3px); }
.whatsapp-float .bi { font-size: 19px; }
@media(max-width:920px) {
  .footer-main { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px 20px; }
  .footer-brand { grid-column:1/-1; }
  .footer-nav { grid-column:1/-1; }
  .footer-contact { grid-column:1/-1; }
  .footer-links { gap:7px; }
  .footer-links a { min-height:42px; padding:0 10px; }
  .whatsapp-float { right: max(15px,env(safe-area-inset-right)); bottom: max(15px,env(safe-area-inset-bottom)); min-height: 46px; padding: 0 15px; }
}
@media(prefers-reduced-motion:reduce) { .footer-contact a,.whatsapp-float { transition: none; } }
.rating-stars { display: inline-flex; align-items: center; gap: 2px; letter-spacing: 0 !important; }
.rating-stars i { font-size: .92em; }
.sidebar-category summary,.pdp-detail-panel summary,.product-extra-section > summary,.dashboard-more-stats > summary,.customer-order-more summary { list-style: none; }
.sidebar-category summary::-webkit-details-marker,.pdp-detail-panel summary::-webkit-details-marker,.product-extra-section > summary::-webkit-details-marker,.dashboard-more-stats > summary::-webkit-details-marker,.customer-order-more summary::-webkit-details-marker { display: none; }
@media(max-width:760px) {
  .account-page { width: calc(100% - 16px); margin: 12px auto 36px; padding: 9px; border-radius: 18px; }
  .account-page .account-card { padding: clamp(18px,6vw,25px) clamp(14px,5vw,20px); }
  .account-page .account-card h1 { font-size: clamp(30px,9vw,40px); overflow-wrap: anywhere; }
  .account-page .account-actions { gap: 8px; }
  .account-page .account-actions .button { justify-content: center; }
  .account-page .account-orders { padding: 15px 12px; }
  .hero-carousel-controls { margin-top: 16px; }
  .product-card .product-meta { grid-template-columns: minmax(0,1fr); }
  .product-card .product-meta>strong,.product-card .product-rating,.product-card .product-card-price { grid-column: 1; justify-self: start; }
  .product-card .product-card-price { justify-content: flex-start; white-space: normal; }
  .product-card .product-meta>strong { min-height: 2.9em; font-size: 11px; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-image img[data-hero-image],.hero-carousel-controls [data-hero-dots] button { transition: none; }
}
.google-signin-button svg { display:block; width:15px; height:15px; flex:0 0 15px; }
@media(max-width:560px) {
  .file-dropzone { gap:9px; min-height:68px; padding:10px; }
  .file-upload-icon { flex-basis:34px; width:34px; height:34px; }
  .file-upload-copy strong { font-size:11px; }
  .file-upload-name { display:none; }
  .file-upload-browse { margin-left:auto; }
}

/* Temporarily unavailable products stay visible, with a clear non-interactive state. */
.product-card-unavailable { cursor:not-allowed; }
.product-card-unavailable:hover { transform:none; box-shadow:var(--shadow-card, 0 12px 28px rgba(0,0,0,.08)); }
.product-card-unavailable .product-image img { filter:saturate(.62); opacity:.78; }
.product-card-unavailable .quick-arrow { display:none; }
.product-unavailable-badge { position:absolute; z-index:2; top:46px; left:12px; max-width:calc(100% - 24px); padding:8px 11px; color:#fff; background:rgba(39,45,38,.9); border:1px solid rgba(255,255,255,.22); border-radius:999px; font-size:9px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.product-card-unavailable .product-card-action { color:#77776f; background:#eeece6; cursor:not-allowed; }
.admin-unavailable-label { display:inline-flex; width:max-content; margin-top:6px; padding:4px 8px; color:#765b28; background:#f6efd9; border-radius:999px; font-size:10px; font-weight:700; }
.suggestions .suggestion-unavailable { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border-bottom:1px solid rgba(0,0,0,.07); color:#76766e; font-size:12px; }
.suggestion-unavailable>span { display:grid; gap:3px; }
.suggestion-unavailable small { color:#8a806b; font-size:10px; }
.search-dialog .suggestions .suggestion-unavailable { min-height:45px; padding:10px 13px; color:#77756a; border-color:#efede8; font-size:11px; }
@media(prefers-reduced-motion:reduce) { .product-card-unavailable:hover { transform:none; } }

/* Admin product editing and the inventory list are separate, focused pages. */
.admin-product-layout { grid-template-columns:minmax(0, 900px); }
.admin-product-layout.restocking { grid-template-columns:minmax(0, 900px); }
.admin-heading-actions { display:flex; align-items:center; gap:10px; }
.admin-heading-actions .button { display:inline-flex; align-items:center; gap:8px; }
.product-list-panel { overflow:hidden; }
.product-list-search .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; }
.product-list-search { display:flex; align-items:center; gap:10px; padding:16px 20px; border-bottom:1px solid #eee9df; }
.product-list-search>i { color:#77776f; }
.product-list-search input { flex:1; min-width:0; min-height:42px; margin:0; padding:0 12px; border:1px solid #e5dfd3; border-radius:10px; background:#fff; }
.product-list-search button,.product-list-search>a { min-height:40px; display:inline-flex; align-items:center; justify-content:center; padding:0 14px; border:1px solid #dcd7cb; border-radius:10px; color:#4c5c47; background:#f7f6f1; font-size:11px; font-weight:700; text-decoration:none; cursor:pointer; }
.admin-product-table { min-width:980px; }
.admin-product-table th { white-space:nowrap; }
.admin-product-table td { vertical-align:middle; }
.admin-product-table .inventory-product { min-width:210px; }
.product-stock-count { display:inline-grid; min-width:36px; height:30px; place-items:center; color:#465743; background:#edf1e9; border-radius:9px; font-weight:750; }
.product-list-status { display:grid; justify-items:start; gap:5px; }
.product-list-status .admin-unavailable-label { margin:0; }
.product-row-actions { display:flex; align-items:center; gap:6px; white-space:nowrap; }
.product-row-actions form { margin:0; }
.product-row-action { display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:0 9px; color:#4d5b49; background:#f5f5ef; border:1px solid #e8e7dd; border-radius:9px; font:650 10px/1 'DM Sans',sans-serif; text-decoration:none; cursor:pointer; transition:background .16s ease,border-color .16s ease,transform .16s ease; }
.product-row-action:hover { background:#e9eee4; border-color:#d1dcc9; transform:translateY(-1px); }
.product-row-action i { font-size:13px; }
.product-row-action.product-row-delete { color:#925248; background:#fbf5f2; border-color:#efe1db; }
.product-row-action.product-row-delete:hover { background:#f5e8e3; border-color:#e8d0c6; }
.product-row-action.product-row-availability { color:#58624c; background:#f2f4ec; border-color:#e0e5d7; }
.product-row-action.product-row-availability:hover { background:#e7eddc; border-color:#d2ddc3; }
.product-row-action.product-row-availability.is-paused { color:#765b28; background:#faf4e5; border-color:#eee2c2; }
.product-row-action.product-row-availability.is-paused:hover { background:#f4ebd2; border-color:#e7d6ac; }
.drawer-empty-state { display:grid; justify-items:center; gap:12px; padding:28px 12px; text-align:center; }
.drawer-empty-state>i { color:#75846d; font-size:32px; }
.drawer-empty-state p { margin:0; color:#716e64; font-size:13px; }
.drawer-empty-state .button { min-height:38px; padding-inline:16px; }
.drawer-foot[hidden] { display:none !important; }
.product-unavailable-badge.sold-out-badge { color:#514b3f; background:rgba(255,253,248,.94); border-color:rgba(80,70,54,.12); }
.product-card-sold-out .product-image img { filter:saturate(.58); }
.product-card-sold-out .product-card-action { color:#56564f; background:#eeece6; border-color:#e3dfd6; }
.product-card-sold-out .product-card-action:hover { color:#fff; background:#53634d; border-color:#53634d; }

/* Customer policy pages keep practical order details easy to scan. */
.policy-hero { max-width:900px; margin:0 auto; padding:76px 28px 38px; text-align:center; }
.policy-hero h1 { margin:14px 0; color:#34372f; font:500 clamp(38px,6vw,66px)/1.05 var(--display); letter-spacing:-.045em; }
.policy-hero h1 em { font-family:Georgia,serif; font-weight:400; }
.policy-hero>p { max-width:590px; margin:0 auto; color:#69685f; font-size:14px; line-height:1.8; }
.policy-page { display:grid; gap:16px; width:min(900px,calc(100% - 40px)); margin:0 auto 86px; }
.policy-card { display:grid; grid-template-columns:48px minmax(0,1fr); gap:20px; padding:28px 30px; background:#fffdf8; border:1px solid #e8e2d7; border-radius:18px; box-shadow:0 12px 34px rgba(56,50,38,.045); }
.policy-highlight { background:#f1f2eb; border-color:#e3e6dc; }
.policy-icon { display:grid; width:44px; height:44px; place-items:center; color:#fff; background:#53634d; border-radius:14px; font-size:18px; }
.policy-card h2,.policy-contact h2 { margin:6px 0 12px; color:#34372f; font:650 23px/1.25 var(--display); letter-spacing:-.025em; }
.policy-card p,.policy-contact p { margin:0 0 10px; color:#64645b; font-size:13px; line-height:1.8; }
.policy-card p:last-child { margin-bottom:0; }
.policy-card strong { color:#424b3c; }
.policy-card a { color:#465c40; font-weight:700; }
.policy-contact { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:27px 30px; background:#e9e6dc; border-radius:18px; }
.policy-contact h2 { margin-bottom:5px; }
.policy-contact-actions { display:grid; justify-items:start; gap:12px; }
.policy-contact-actions .button { display:inline-flex; align-items:center; gap:9px; }
.policy-contact-actions .text-link { color:#4f5d47; font-size:12px; }
.policy-legal-note { margin:0; color:#77756b; font-size:11px; line-height:1.7; text-align:center; }
.privacy-updated { justify-self:end; margin:0 2px 2px; color:#77756b; font-size:11px; }
.privacy-page ul { margin:0 0 12px; padding-left:19px; color:#64645b; font-size:13px; line-height:1.8; }
.privacy-page li { margin:5px 0; }
.story-hero { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); align-items:center; gap:clamp(32px,7vw,100px); width:min(1260px,calc(100% - 48px)); margin:46px auto 88px; }
.story-hero-copy { max-width:490px; padding-left:clamp(0px,4vw,60px); }
.story-hero-copy h1 { margin:18px 0 22px; color:#34372f; font:500 clamp(48px,7vw,86px)/.99 var(--display); letter-spacing:-.055em; }
.story-hero-copy h1 em,.story-content h2 em,.story-end h2 em { font-family:Georgia,serif; font-weight:400; }
.story-hero-copy>p { max-width:390px; margin:0 0 27px; color:#69685f; font-size:15px; line-height:1.8; }
.story-hero-copy .button { display:inline-flex; align-items:center; gap:20px; }
.story-hero-image { position:relative; min-height:500px; overflow:hidden; border-radius:3px 100px 3px 3px; background:#e8e4d9; }
.story-hero-image:after { position:absolute; inset:0; content:""; border:1px solid rgba(255,255,255,.32); border-radius:inherit; pointer-events:none; }
.story-hero-image img { display:block; width:100%; height:100%; min-height:500px; object-fit:cover; }
.story-content { display:grid; grid-template-columns:.75fr 1.25fr; gap:24px 9%; width:min(940px,calc(100% - 48px)); margin:0 auto 94px; padding:58px 0; border-top:1px solid #e2ddd2; border-bottom:1px solid #e2ddd2; }
.story-content>.eyebrow { grid-column:1/-1; }
.story-content h2 { margin:0; color:#34372f; font:500 clamp(39px,5vw,59px)/1.04 var(--display); letter-spacing:-.045em; }
.story-copy { max-width:560px; }
.story-copy p { margin:0 0 17px; color:#626158; font-size:14px; line-height:1.9; }
.story-copy .text-link { display:inline-flex; gap:8px; margin-top:4px; color:#53634d; }
.story-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; width:min(1100px,calc(100% - 48px)); margin:0 auto 96px; }
.story-values article { position:relative; min-height:220px; padding:26px 24px; background:#f1eee7; border-radius:14px; }
.story-values article>span { position:absolute; top:22px; right:23px; color:#9a978b; font-size:10px; letter-spacing:.12em; }
.story-values article>i { color:#65745e; font-size:21px; }
.story-values h3 { margin:27px 0 8px; color:#383a33; font:650 17px/1.35 var(--display); }
.story-values p { max-width:270px; margin:0; color:#6c6a60; font-size:12px; line-height:1.75; }
.story-end { display:grid; justify-items:center; gap:19px; padding:70px 20px 82px; background:#eae7dd; text-align:center; }
.story-end h2 { max-width:620px; margin:0; color:#34372f; font:500 clamp(34px,5vw,56px)/1.12 var(--display); letter-spacing:-.04em; }
.story-end .button { display:inline-flex; align-items:center; gap:18px; margin-top:4px; }
.size-guide-copy ul { padding-left:20px; }
.size-guide-copy li { margin:4px 0; }
.checkout-note a { color:#53634d; font-weight:700; }
@media(max-width:640px) {
 .policy-hero { padding:52px 20px 28px; }
 .policy-hero>p { font-size:13px; }
 .policy-page { width:calc(100% - 28px); margin-bottom:58px; gap:12px; }
 .policy-card { grid-template-columns:36px minmax(0,1fr); gap:14px; padding:20px 17px; border-radius:14px; }
 .policy-icon { width:36px; height:36px; border-radius:11px; font-size:16px; }
 .policy-card h2,.policy-contact h2 { font-size:20px; }
 .policy-card p,.policy-contact p { font-size:12px; }
 .policy-contact { align-items:flex-start; flex-direction:column; padding:22px 20px; }
 .privacy-page ul { font-size:12px; }
 .privacy-updated { justify-self:start; }
 .story-hero { grid-template-columns:1fr; gap:28px; width:calc(100% - 32px); margin:30px auto 62px; }
 .story-hero-copy { padding:12px 6px 0; }
 .story-hero-copy h1 { font-size:clamp(50px,14vw,72px); }
 .story-hero-copy>p { font-size:13px; }
 .story-hero-image,.story-hero-image img { min-height:350px; }
 .story-hero-image { border-top-right-radius:62px; }
 .story-content { grid-template-columns:1fr; gap:20px; width:calc(100% - 40px); margin-bottom:62px; padding:36px 0; }
 .story-content>.eyebrow { grid-column:auto; }
 .story-content h2 { font-size:44px; }
 .story-copy p { font-size:13px; }
 .story-values { grid-template-columns:1fr; gap:10px; width:calc(100% - 32px); margin-bottom:62px; }
 .story-values article { min-height:170px; padding:23px; }
 .story-values h3 { margin-top:17px; }
 .story-end { padding:54px 18px 62px; }
}
@media(max-width:700px) {
 .admin-heading-actions { align-items:stretch; flex-direction:column; }
 .admin-heading-actions .button { justify-content:center; }
 .product-list-search { gap:7px; padding:12px; }
 .product-list-search button,.product-list-search>a { padding:0 10px; }
 .product-row-action { width:35px; padding:0; justify-content:center; }
 .product-row-action span { display:none; }
}
