.gratia-store {
    --gr-green: #163e31;
    --gr-ink: #20362b;
    --gr-paper: #fbf9f5;
    --gr-line: #e2ded4;
    --gr-sage: #e5ede2;
    --gr-radius: 9px;
    --theme-link-initial-color: var(--gr-green);
    --theme-palette-color-1: var(--gr-green);
}
.gratia-store :is(h1,h2,h3,.gr-brand) { font-family: "Playfair Display", Georgia, serif; }
.gr-top { background: var(--gr-green); }
.gr-top a { color: inherit; text-decoration: none; }
.gr-top a:hover, .gr-top a:focus-visible { text-decoration: underline; }
.gr-mobile-nav { display: none; }
.gr-footer-social { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 22px; }
.gr-footer-social a { display: inline-flex; align-items: center; min-height: 44px; }
.gr-header { background: var(--gr-paper); }
.gr-store-hero {
    display: grid;
    grid-template-columns: minmax(0,.87fr) minmax(0,1.13fr);
    gap: clamp(22px,4vw,56px);
    margin-top: 30px;
    align-items: center;
}
.gr-store-hero-copy .gr-eyebrow { font-size: .72rem; letter-spacing: .1em; color: #476759; margin: 0 0 12px; }
.gr-store-hero-copy h1 { font-size: clamp(2.35rem,4.9vw,4.5rem); line-height: 1.05; margin: 0 0 12px; color: var(--gr-green); }
.gr-store-hero-copy p { max-width: 40ch; margin: 0 0 18px; }
.gr-hero-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.gr-hero-secondary { background: #efe4cd; color: #513b20; border-color: #dbc6a0; }
.gr-scene-hero { grid-template-columns: minmax(0,.74fr) minmax(0,1.26fr); gap: 0; border-radius: 12px; overflow: hidden; background: #f4eadb; }
.gr-scene-hero .gr-store-hero-copy { padding: clamp(18px,3.5vw,48px); }
.gr-hero-photo { align-self: stretch; min-width: 0; position: relative; min-height: 300px; }
.gr-hero-photo img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gr-hero-photo::after { content: ""; position: absolute; inset: 0 auto 0 0; width: 12%; background: linear-gradient(90deg,#f4eadb,transparent); pointer-events: none; }
.gr-paper-card { position: relative; min-height: 210px; overflow: hidden; isolation: isolate; }
.gr-store-collections .gr-paper-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 59% center; }
.gr-store-collections .gr-paper-card .gr-paper-copy { position: absolute; inset: 0 0 0 auto; width: 47%; padding: 12px; display: flex; flex-direction: column; align-items: flex-end; text-align: right; background: linear-gradient(90deg,transparent,#f7ecdf 76%); }
.gr-paper-card .gr-paper-copy h3 { font: 400 clamp(1.25rem,2.6vw,2.05rem)/1.05 Georgia,serif; margin: 10px 0 8px; }
.gr-paper-card .gr-paper-copy span { font: 600 .72rem/1.2 Arial,sans-serif; color: var(--gr-green); }
.gr-store-hero + .gr-section { margin-top: 30px; }
.gr-store-collections .gr-collection { background: #fffdf8; border: 1px solid var(--gr-line); }
.gr-store-collections .gr-collection img { object-position: center; }
.gr-featured-products ul.products { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; padding: 0; list-style: none; }
.gr-featured-products ul.products::before, .gr-featured-products ul.products::after { display: none; }
.gr-featured-products ul.products > li { width: auto !important; float: none !important; margin: 0 !important; }
.gr-featured-products img { aspect-ratio: 1; object-fit: contain; }
.gratia-store .products .product { background: #fffdf8; border-radius: var(--gr-radius); overflow: hidden; }
.gratia-store .products .product img { aspect-ratio: 1; background: #efede6; object-fit: contain; }
.gr-seasonal, .gr-local { display: flex; justify-content: space-between; align-items: center; gap: 22px; flex-wrap: wrap; padding: clamp(20px,4vw,32px); border: 1px solid var(--gr-line); background: #fffdf8; border-radius: var(--gr-radius); }
.gr-seasonal h2,.gr-local h2 { margin: 0 0 6px; font-size: clamp(1.4rem,3vw,2rem); color: var(--gr-green); }
.gr-seasonal p,.gr-local p { margin: 0; max-width: 62ch; }
.gr-chip-row { display: flex; flex-wrap: wrap; gap: 8px; }
.gr-chip { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px; border: 1px solid #bfcbbd; border-radius: 999px; background: #f6f7f0; color: var(--gr-green); text-decoration: none; }
.gr-chip:hover { background: var(--gr-sage); }
.gr-browse-types { margin-block: 16px 24px; }
.gr-browse-types summary { min-height: 44px; padding-block: 10px; color: var(--gr-green); cursor: pointer; }
.gr-type-directory { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.gr-type-directory > div { border: 1px solid var(--gr-line); border-radius: var(--gr-radius); padding: 16px; background: #fffdf8; }
.gr-type-directory h3 { margin: 0 0 10px; }
.gr-shop-filters { margin: 0 0 26px; }
.gr-personalize { background: var(--gr-green); color: #fffdf8; }
.gr-personalize h2 { color: inherit; }
.gr-personalize .gr-button { background: var(--gr-paper); color: var(--gr-green); }
.gr-product-personalize { margin-top: 24px; padding: 14px; background: var(--gr-sage); }
.gratia-store :is(.wc-block-components-sidebar,.woocommerce-cart .cart-collaterals,.woocommerce-checkout #order_review) {
    background: #fffdf8;
    border: 1px solid var(--gr-line);
    border-radius: var(--gr-radius);
    padding: clamp(14px,2.8vw,26px);
    min-width: 0;
}
.gratia-store :is(.wc-block-components-button,button.button,.checkout-button) { min-height: 44px; }
.gratia-store:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) .gr-page .entry-content { max-width: none; }
.gr-form .gr-logo-field textarea { min-height: 80px; }
.gr-quote-aside h2 { color: var(--gr-green); }
@media(max-width:900px) {
    .gr-featured-products ul.products { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media(max-width:640px) {
    .gratia-store:has(.gr-mobile-nav) { padding-bottom: calc(55px + env(safe-area-inset-bottom)); }
    .gratia-store:has(.gr-mobile-nav) .gr-account-actions .gr-action:not(.gr-menu-button) { display: none; }
    .gr-mobile-nav {
        display: grid; grid-template-columns: repeat(5,minmax(0,1fr));
        position: fixed; inset: auto 0 0; z-index: 20; padding: 0 4px env(safe-area-inset-bottom);
        border-top: 1px solid var(--gr-line); background: var(--gr-paper);
    }
    .gr-mobile-nav :is(a,button) {
        min-height: 52px; min-width: 0; padding: 5px 2px; display: grid; place-items: center;
        border: 0; background: transparent; color: var(--gr-green);
        text-align: center; text-decoration: none; font: 600 .76rem/1.1 Arial,sans-serif;
    }
    .gr-mobile-nav [aria-current="page"] { background: var(--gr-sage); box-shadow: inset 0 2px var(--gr-green); }
    .gr-store-hero { grid-template-columns: 1fr; gap: 16px; margin-top: 14px; }
    .gr-scene-hero { gap: 0; }
    .gr-scene-hero .gr-store-hero-copy { padding: 16px; }
    .gr-hero-photo { order: -1; min-height: 0; aspect-ratio: 1.56; }
    .gr-hero-photo::after { display: none; }
    .gr-store-hero-copy .gr-eyebrow { margin-bottom: 6px; font-size: .64rem; }
    .gr-store-hero-copy h1 { font-size: clamp(1.85rem,8vw,3.1rem); }
    .gr-store-hero-copy p { margin-bottom: 12px; font-size: .88rem; }
    .gr-hero-actions > .gr-button { flex: 1 1 auto; justify-content: center; padding: 7px 10px; font-size: .82rem; min-height: 44px; }
    .gr-store-hero + .gr-section { margin-top: 20px; }
    .gr-store-collections { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    .gr-store-collections .gr-collection { display: block; }
    .gr-store-collections .gr-collection img { width: 100%; height: auto; aspect-ratio: 1.15; }
    .gr-store-collections .gr-collection div { padding: 9px; }
    .gr-store-collections .gr-collection h3 { font: 600 .87rem/1.2 Arial,sans-serif; }
    .gr-store-collections .gr-collection p { display: none; }
    .gr-store-collections .gr-paper-card { grid-column: 1/-1; min-width: 0; width: 100%; min-height: 155px; height: clamp(155px,46vw,205px); }
    .gr-store-collections .gr-paper-card img { height: 100%; }
    .gr-paper-card .gr-paper-copy h3 { font-size: 1.5rem; }
    .gr-featured-products ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
    .gr-section-heading { flex-wrap: wrap; }
    .gr-type-directory { grid-template-columns: 1fr; }
    .gr-quote-aside { order: initial; }
}
