.fv-editorial {
    --fv-ink: #241e1a;
    --fv-muted: #6c5b50;
    --fv-paper: #f6f1eb;
    --fv-line: #e6ded6;
    color: var(--fv-ink);
    margin-block: 0;
}
.fv-editorial :where(h1, h2, h3) {
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 400;
    line-height: 1.06;
    letter-spacing: -.035em;
    margin: 0;
}
.fv-editorial :where(h1) { font-size: clamp(42px, 6vw, 94px); }
.fv-editorial :where(h2) { font-size: clamp(33px, 4vw, 58px); }
.fv-editorial :where(h3) { font-size: clamp(22px, 2vw, 30px); }
.fv-editorial :where(p) { line-height: 1.65; color: var(--fv-muted); }
.fv-editorial :where(.wp-block-image) { margin: 0; }
.fv-editorial :where(.wp-block-image img) { display: block; width: 100%; object-fit: cover; }
.fv-editorial :where(.wp-block-buttons) { margin-top: 24px; gap: 12px; }
.fv-editorial :where(.wp-block-button__link) {
    background: var(--fv-ink);
    color: #fff;
    border: 1px solid var(--fv-ink);
    border-radius: 0;
    font: 500 13px/1.2 Arial, sans-serif;
    padding: 13px 18px;
    text-decoration: none;
}
.fv-editorial :where(.is-style-outline > .wp-block-button__link) { color: var(--fv-ink); background: transparent; }
.fv-editorial :where(.wp-block-button__link:hover) { background: #5a4538; border-color: #5a4538; color: #fff; }
.fv-section, .fv-feature, .fv-hero { width: min(100% - 64px, 1360px); margin-inline: auto; }
.fv-section { padding-block: clamp(34px, 5vw, 76px); }
.fv-hero, .fv-feature { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.fv-hero { background: var(--fv-paper); min-height: 520px; }
.fv-hero-copy, .fv-feature-copy { align-content: center; padding: clamp(30px, 5vw, 80px); }
.fv-hero-copy h1 { font-size: clamp(42px, 4.7vw, 76px); text-wrap: balance; }
.fv-hero-copy p, .fv-feature-copy p { font-size: 16px; max-width: 34ch; }
.fv-hero > .wp-block-image, .fv-feature > .wp-block-image { min-height: 100%; }
.fv-hero > .wp-block-image img { height: 100%; object-position: 65% center; }
.fv-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
.fv-category-card { background: #f8f5f0; padding: 0 0 20px; }
.fv-category-card .wp-block-image img { aspect-ratio: 5/4; background: var(--fv-paper); }
.fv-category-card h3 { margin: 19px 20px 0; }
.fv-category-card .wp-block-buttons { margin: 12px 20px 0; }
.fv-category-card .wp-block-button__link { border: 0; border-bottom: 1px solid; padding: 4px 0; }
.fv-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 26px; }
.fv-section-heading .wp-block-buttons { margin: 0; }
.fv-products { border-top: 1px solid var(--fv-line); }
.fv-products :where(.wc-block-product) { min-width: 0; }
.fv-products :where(.wc-block-components-product-image) { background: var(--fv-paper); }
.fv-products :where(.wc-block-components-product-image img) { aspect-ratio: 4/5; width: 100%; object-fit: contain; }
.fv-products :where(.wp-block-post-title, .wc-block-components-product-price) { margin-block: 8px 0; }
.fv-products :where(.wp-block-post-title) { font: 500 14px/1.45 Arial, sans-serif; letter-spacing: 0; }
.fv-feature { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); background: #e8ddd1; }
.fv-feature > .wp-block-image img { height: 100%; min-height: 340px; }
.fv-journal, .fv-care, .fv-blog-heading { border-top: 1px solid var(--fv-line); }
.fv-journal-list .wp-block-post-template { gap: clamp(18px, 3vw, 36px); }
.fv-journal-list .wp-block-post-featured-image { margin: 0 0 18px; }
.fv-journal-list .wp-block-post-featured-image img { width: 100%; }
.fv-journal-list .wp-block-post-excerpt__more-link { text-decoration: underline; text-underline-offset: .3em; }
.fv-journal-list .wp-block-query-pagination { margin-top: 42px; }
.fv-blog-heading, .fv-care { text-align: center; }
.fv-care .wp-block-buttons { justify-content: center; }
.fv-blog .fv-blog-heading { background: var(--fv-paper); padding-inline: 24px; }
.fv-list-page h1 { margin-bottom: 28px; font-size: clamp(37px, 5vw, 72px); }

.fv-campaign { position: relative; isolation: isolate; min-height: clamp(480px, 48vw, 790px); display: grid; place-items: center; color: #fff; background: #302922; }
.fv-campaign > .wp-block-image { position: absolute; inset: 0; z-index: -2; }
.fv-campaign > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; object-position: 62% 44%; }
.fv-campaign::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, #1a110d55, #1a110d12), radial-gradient(ellipse at center, #1a110d55, transparent 62%); pointer-events: none; }
.fv-campaign-copy { text-align: center; color: #fff; padding: 44px 20px; text-shadow: 0 2px 14px #160e08b0; }
.fv-campaign-copy h1 { font-size: clamp(48px, 7.4vw, 114px); text-wrap: balance; }
.fv-campaign-copy .wp-block-buttons { justify-content: center; }
.fv-campaign-copy .wp-block-button__link { background: #f7f0e7; border-color: #f7f0e7; color: #211a16; text-shadow: none; }
.fv-campaign-copy .wp-block-button__link:hover { background: #fff; color: #211a16; }
.fv-campaign-home > .fv-section + .fv-section { border-top: 1px solid var(--fv-line); }
.fv-dark-feature { background: #29211e; color: #fdf8f3; }
.fv-dark-feature p { color: #e4d5ca; }
.fv-dark-feature .wp-block-button__link { color: #241e1a; background: #f7f0e7; border-color: #f7f0e7; }
.fv-story-grid { display: grid; grid-template-columns: 1.15fr .85fr; align-items: start; gap: clamp(18px, 5vw, 72px); margin-top: 32px; }
.fv-story-card .wp-block-image img { aspect-ratio: 5/4; }
.fv-story-card:nth-child(2) { margin-top: clamp(16px, 5vw, 74px); }
.fv-story-card h3 { margin-top: 18px; }
.fv-story-card .wp-block-buttons { margin-top: 12px; }
.fv-designers { text-align: center; background: var(--fv-paper); padding-inline: 28px; }
.fv-designers .wp-block-buttons { justify-content: center; }

.fv-blog .fv-blog-heading { width: min(calc(100% - 64px), 1120px); background: none; text-align: left; padding: 46px 0 23px; }
.fv-blog-heading h1 { font-size: clamp(37px, 5vw, 65px); }
.fv-blog-stories { width: min(calc(100% - 64px), 1120px); padding-block: 0 64px; }
.fv-blog .fv-journal-list .wp-block-post-template > li { display: grid; grid-template-columns: minmax(190px, .38fr) minmax(0, 1fr); column-gap: clamp(20px, 4vw, 54px); row-gap: 10px; align-items: start; align-content: start; margin: 0; padding: 24px 0; border-top: 1px solid var(--fv-line); }
.fv-blog .wp-block-post-featured-image { grid-column: 1; grid-row: 1 / span 3; margin: 0; }
.fv-blog .wp-block-post-title, .fv-blog .wp-block-post-excerpt { grid-column: 2; margin: 0; }
.fv-blog .wp-block-post-title a { text-decoration: none; }
.fv-blog .wp-block-post-title a:hover { text-decoration: underline; text-underline-offset: .2em; }
.fv-blog .wp-block-post-excerpt__more-text { margin: 10px 0 0; }

.wp-block-columns.finevioco-catalog-columns { width: min(calc(100% - 48px), 1560px); margin-inline: auto; padding-block: 26px 54px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(218px, 23%); gap: clamp(22px, 3vw, 54px); }
.finevioco-catalog-filters { min-width: 0; border-inline-start: 1px solid #e6ded6; padding-inline-start: clamp(15px, 2vw, 32px); }
.finevioco-catalog-filters .wc-block-catalog-sorting { margin-block: 0 22px; }
.finevioco-catalog-filters .woocommerce-ordering { float: none; }
.finevioco-catalog-filters .woocommerce-ordering select { max-width: 100%; }
.finevioco-catalog-filters :where(input, .wc-block-product-filter-price-slider) { max-width: 100%; }
.finevioco-catalog-filters:has(.wc-block-product-filters):not(:has(select, input, .wp-block-woocommerce-product-filter-checkbox-list)) { display: none; }
.finevioco-catalog-columns:has(.fv-empty-collection) { grid-template-columns: minmax(0, 1fr); }
.finevioco-catalog-columns:has(.fv-empty-collection) .finevioco-catalog-filters { display: none; }
.fv-collection-landing > h1 { margin-bottom: 28px; }
.fv-empty-collection { padding: clamp(38px, 7vw, 100px) 25px; background: #f6f1eb; color: #241e1a; text-align: center; }
.fv-empty-collection h2 { margin: 0 0 12px; font: 400 clamp(32px, 5vw, 60px)/1.08 Georgia, serif; }
.fv-empty-collection p { margin: 0 0 22px; color: #6c5b50; }
.fv-empty-link { display: inline-block; padding: 12px 18px; border: 1px solid #241e1a; color: #241e1a; }
.fv-no-matches { padding: 32px 0; }
.fv-no-matches a { text-decoration: underline; text-underline-offset: .2em; }

@media (min-width: 781px) {
    .shop-layout.left:has(> .shop-sidebar .widget) { grid-template-columns: minmax(0, 1fr) minmax(200px, 23%); }
    .shop-layout.left:has(> .shop-sidebar .widget) > .shop-sidebar { grid-column: 2; grid-row: 1; }
    .shop-layout.left:has(> .shop-sidebar .widget) > :not(.shop-sidebar) { grid-column: 1; grid-row: 1; }
}

@media (max-width: 840px) {
    .fv-section, .fv-feature, .fv-hero { width: calc(100% - 36px); }
    .fv-hero { min-height: 400px; }
    .fv-hero h1 { font-size: clamp(34px, 6.5vw, 62px); }
    .fv-category-grid { gap: 14px; }
}
@media (max-width: 780px) {
    .site-header.modora-native-header { height: auto; }
    .site-header.modora-native-header .header-inner { height: auto; min-height: 64px; gap: 12px; }
    .site-header.modora-native-header .primary-nav { position: static; padding: 0; box-shadow: none; }
    .wp-block-columns.finevioco-catalog-columns { grid-template-columns: minmax(0, 1fr); width: calc(100% - 36px); }
    .finevioco-catalog-filters { grid-row: 1; border: 0; border-bottom: 1px solid #e6ded6; padding: 0 0 16px; }
}
@media (max-width: 620px) {
    .fv-hero, .fv-feature { grid-template-columns: minmax(0, 1fr); }
    .fv-hero { min-height: 0; }
    .fv-hero > .wp-block-image img { aspect-ratio: 3/2; }
    .fv-feature > .wp-block-image img { min-height: 0; aspect-ratio: 4/3; }
    .fv-category-grid { grid-template-columns: minmax(0, 1fr); }
    .fv-category-card .wp-block-image img { aspect-ratio: 3/2; }
    .fv-section-heading { display: block; }
    .fv-section-heading .wp-block-buttons { margin-top: 12px; }
    .fv-journal-list .wp-block-post-template { grid-template-columns: 1fr; }
    .fv-campaign { min-height: min(560px, 75vh); }
    .fv-campaign > .wp-block-image img { object-position: 86% 50%; }
    .fv-campaign::after { background: #23170f60; }
    .fv-story-grid { grid-template-columns: minmax(0, 1fr); }
    .fv-story-card:nth-child(2) { margin-top: 0; }
    .fv-blog .fv-blog-heading, .fv-blog-stories { width: calc(100% - 36px); }
    .fv-blog .fv-journal-list .wp-block-post-template > li { grid-template-columns: minmax(0, 1fr); row-gap: 12px; }
    .fv-blog .wp-block-post-featured-image, .fv-blog .wp-block-post-title, .fv-blog .wp-block-post-excerpt { grid-column: 1; grid-row: auto; }
}
