/* Structural styles only. Fonts, colors and block spacing remain editable in Styles. */
:root {
    --casamar-body-font: var(--wp--preset--font-family--body, Yrsa, Georgia, serif);
    --casamar-heading-font: var(--wp--preset--font-family--heading, Cormorant, Georgia, serif);
    --casamar-subheading-font: var(--wp--preset--font-family--subheading, Garamond, Georgia, serif);
    --casamar-accent-font: var(--wp--preset--font-family--accent, "EB Garamond", Georgia, serif);
    /* Compatibility with palette names stored in existing Casamar page blocks. */
    --wp--preset--color--ast-global-color-0: var(--wp--preset--color--wine, #811321);
    --wp--preset--color--ast-global-color-1: var(--wp--preset--color--wine-hover, #971627);
    --wp--preset--color--ast-global-color-2: var(--wp--preset--color--text, #811321);
    --wp--preset--color--ast-global-color-3: var(--wp--preset--color--muted, #333333);
    --wp--preset--color--ast-global-color-4: var(--wp--preset--color--cream, #fffbf3);
    --wp--preset--color--ast-global-color-5: var(--wp--preset--color--white, #fff);
    --wp--preset--color--ast-global-color-6: var(--wp--preset--color--border, #dfdfdf);
    --wp--preset--color--ast-global-color-7: var(--wp--preset--color--sold-out, #eef1ea);
    --wp--preset--color--ast-global-color-8: var(--wp--preset--color--black, #000);
}
body { margin: 0; }
:where(.has-ast-global-color-0-color) { color: var(--wp--preset--color--ast-global-color-0) !important; }
:where(.has-ast-global-color-0-background-color) { background-color: var(--wp--preset--color--ast-global-color-0) !important; }
:where(.has-ast-global-color-0-border-color) { border-color: var(--wp--preset--color--ast-global-color-0) !important; }
:where(.has-ast-global-color-1-color) { color: var(--wp--preset--color--ast-global-color-1) !important; }
:where(.has-ast-global-color-1-background-color) { background-color: var(--wp--preset--color--ast-global-color-1) !important; }
:where(.has-ast-global-color-1-border-color) { border-color: var(--wp--preset--color--ast-global-color-1) !important; }
:where(.has-ast-global-color-2-color) { color: var(--wp--preset--color--ast-global-color-2) !important; }
:where(.has-ast-global-color-2-background-color) { background-color: var(--wp--preset--color--ast-global-color-2) !important; }
:where(.has-ast-global-color-2-border-color) { border-color: var(--wp--preset--color--ast-global-color-2) !important; }
:where(.has-ast-global-color-3-color) { color: var(--wp--preset--color--ast-global-color-3) !important; }
:where(.has-ast-global-color-3-background-color) { background-color: var(--wp--preset--color--ast-global-color-3) !important; }
:where(.has-ast-global-color-3-border-color) { border-color: var(--wp--preset--color--ast-global-color-3) !important; }
:where(.has-ast-global-color-4-color) { color: var(--wp--preset--color--ast-global-color-4) !important; }
:where(.has-ast-global-color-4-background-color) { background-color: var(--wp--preset--color--ast-global-color-4) !important; }
:where(.has-ast-global-color-4-border-color) { border-color: var(--wp--preset--color--ast-global-color-4) !important; }
:where(.has-ast-global-color-5-color) { color: var(--wp--preset--color--ast-global-color-5) !important; }
:where(.has-ast-global-color-5-background-color) { background-color: var(--wp--preset--color--ast-global-color-5) !important; }
:where(.has-ast-global-color-5-border-color) { border-color: var(--wp--preset--color--ast-global-color-5) !important; }
:where(.has-ast-global-color-6-color) { color: var(--wp--preset--color--ast-global-color-6) !important; }
:where(.has-ast-global-color-6-background-color) { background-color: var(--wp--preset--color--ast-global-color-6) !important; }
:where(.has-ast-global-color-6-border-color) { border-color: var(--wp--preset--color--ast-global-color-6) !important; }
:where(.has-ast-global-color-7-color) { color: var(--wp--preset--color--ast-global-color-7) !important; }
:where(.has-ast-global-color-7-background-color) { background-color: var(--wp--preset--color--ast-global-color-7) !important; }
:where(.has-ast-global-color-7-border-color) { border-color: var(--wp--preset--color--ast-global-color-7) !important; }
:where(.has-ast-global-color-8-color) { color: var(--wp--preset--color--ast-global-color-8) !important; }
:where(.has-ast-global-color-8-background-color) { background-color: var(--wp--preset--color--ast-global-color-8) !important; }
:where(.has-ast-global-color-8-border-color) { border-color: var(--wp--preset--color--ast-global-color-8) !important; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; overflow-wrap: normal !important; }
.screen-reader-text:focus { clip: auto !important; clip-path: none; height: auto; width: auto; padding: 12px; z-index: 100000; background: var(--wp--preset--color--cream); color: var(--wp--preset--color--wine); }
.wp-site-blocks { min-height: 100svh; }
:where(.casamar-header, .casamar-footer) { box-sizing: border-box; }
.casamar-header :where(.wp-block-site-logo img) { max-height: 55px; width: auto; }
.casamar-main { min-width: 0; }
.casamar-main > .wp-block-post-content { margin-block-start: 0; }
.casamar-footer :where(.wp-block-navigation__container) { align-items: flex-start; }
.casamar-footer :where(.wp-block-navigation-item__content) { opacity: .8; }
.casamar-footer :where(.wp-block-navigation-item__content:hover) { opacity: 1; }
.casamar-footer :where(.wp-block-columns) { align-items: start; }
.casamar-footer :where(.wp-block-column) { min-width: 0; }
.casamar-legacy-menu { color: inherit; }
.casamar-legacy-menu :where(.wp-block-navigation) { font: inherit; color: inherit; }
.casamar-catalog-columns > .wp-block-column { min-width: 0; }
.casamar-product-card-stack { display: flex; flex-direction: column; }
.casamar-product-card-stack > * { min-width: 0; }
.casamar-product-card-stack :where(.wc-block-components-product-image, .wc-block-components-product-image a) { width: 100%; }
.casamar-product-card-stack :where(img) { max-width: 100%; }
/* Neutralize the default content gap when a banner is the first page block. */
.casamar-main :where(.wp-block-post-content > .cb-banner:first-child) { margin-block-start: 0; }
.casamar-header + .casamar-main { margin-block-start: 0; }
.casamar-main .cb-banner.alignfull.cb-width-full-width { width: auto; }
@media (max-width: 781px) {
    .casamar-header :where(.wp-block-site-logo img) { max-height: 40px; }
    .casamar-catalog-columns > .casamar-filter-column { order: 1; flex-basis: 100% !important; }
    .casamar-footer :where(.wp-block-column) { flex-basis: 100% !important; }
}
@media (prefers-reduced-motion: reduce) {
    .casamar-footer a { transition: none; }
}
