/*
Theme Name: D’oria
Description: An editorial, Elementor-friendly WooCommerce storefront.
Version: 0.2.3
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: doria
Domain Path: /languages
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: e-commerce, custom-logo, translation-ready, full-width-template
*/

:root { --doria-ink:#243b47; --doria-paper:#faf8f3; --doria-accent:#945e45; --doria-muted:#626961; --doria-border:#dcded4; --doria-tint:#eeeee5; --doria-serif:Georgia,'Times New Roman',serif; --doria-sans:'Segoe UI',Arial,sans-serif; --doria-gutter:clamp(1.25rem,4vw,4.5rem); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:2rem; }
body { margin:0; background:var(--doria-paper); color:var(--doria-ink); font-family:var(--doria-sans); font-size:15px; line-height:1.65; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-underline-offset:.25em; }
img { display:block; max-width:100%; height:auto; }
button,input,textarea,select { font:inherit; }
button,summary { cursor:pointer; }
input,textarea,select { max-width:100%; }
button:disabled { cursor:not-allowed; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:2px solid var(--doria-accent); outline-offset:5px; }
::selection { background:#e3d8c5; color:#243b47; }
.doria-container { width:calc(100% - var(--doria-gutter)*2); max-width:1392px; margin-inline:auto; }
.doria-icon { flex-shrink:0; vertical-align:middle; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.skip-link:focus { position:fixed; inset-block-start:1rem; inset-inline-start:1rem; width:auto; height:auto; padding:1rem; margin:0; clip-path:none; background:white; z-index:9999; }
[hidden] { display:none!important; }
.announcement { background:var(--doria-ink); color:#fff; font-size:11px; letter-spacing:.04em; }
.announcement__inner { min-height:37px; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.locale-tools { display:flex; align-items:center; gap:1.5rem; flex-shrink:0; }
.locale-tools summary { display:flex; align-items:center; gap:.5rem; min-height:37px; }
.locale-tools .doria-icon { width:14px; height:14px; }
.doria-popover { position:relative; }
.doria-popover summary { list-style:none; }
.doria-popover summary::-webkit-details-marker { display:none; }
.popover-panel { position:absolute; z-index:100; inset-inline-end:0; inset-block-start:calc(100% + 12px); width:280px; max-width:calc(100vw - 2.5rem); padding:1.5rem; background:var(--doria-paper); color:var(--doria-ink); border:1px solid var(--doria-border); box-shadow:0 12px 35px #243b4717; font-size:13px; letter-spacing:0; }
.masthead { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:2rem; min-height:106px; }
.site-header .site-branding { justify-self:start; }
.brand-caption { font-size:11px; color:var(--doria-muted); letter-spacing:.08em; }
.wordmark { display:inline-block; font-family:var(--doria-serif); font-size:55px; letter-spacing:-4px; line-height:1.15; text-decoration:none; }
.wordmark-dot { color:var(--doria-accent); }
.custom-logo { width:auto; max-width:220px; max-height:75px; }
.header-actions { display:flex; align-items:center; justify-content:flex-end; gap:.65rem; }
.icon-button { display:inline-flex; min-width:40px; min-height:44px; align-items:center; justify-content:center; border:0; padding:5px; background:transparent; color:inherit; text-decoration:none; transition:color .2s,background .2s; }
.icon-button:hover { color:var(--doria-accent); background:#243b4708; }
.navigation-row { min-width:0; }
.primary-nav > .menu { display:flex; justify-content:center; flex-wrap:wrap; gap:clamp(1rem,3vw,3rem); padding:0; margin:0; list-style:none; }
.primary-nav a { display:block; padding-block:16px; font-size:12px; text-decoration:none; }
.primary-nav a:hover,.primary-nav .current-menu-item > a { color:var(--doria-accent); text-decoration:underline; }
.primary-nav li { position:relative; }
.primary-nav .menu-item-has-children > a { display:inline-block; }
.submenu-toggle { display:inline-flex; align-items:center; justify-content:center; min-width:30px; min-height:44px; padding:0; border:0; background:transparent; color:inherit; vertical-align:middle; }
.submenu-toggle::before { content:""; width:6px; height:6px; border-inline-end:1px solid currentColor; border-block-end:1px solid currentColor; transform:rotate(45deg); margin-block-start:-4px; }
.submenu-toggle[aria-expanded="true"]::before { transform:rotate(225deg); margin-block-start:3px; }
.primary-nav .menu-item-has-children:not(.is-enhanced) > a::after { content:" ▾"; }
.primary-nav .is-enhanced > .sub-menu:not([hidden]) { display:block; }
.primary-nav .sub-menu { display:none; position:absolute; z-index:90; min-width:230px; inset-inline-start:0; inset-block-start:100%; background:var(--doria-paper); border:1px solid var(--doria-border); list-style:none; padding:.5rem 1.25rem; }
.primary-nav .sub-menu a { padding-block:.55rem; }
.primary-nav li:hover > .sub-menu,.primary-nav li:focus-within > .sub-menu { display:block; }
.primary-nav .sub-menu .sub-menu { position:static; border:0; padding-inline-start:1rem; }
.menu-toggle { border:0; background:none; color:inherit; padding:12px 0; align-items:center; gap:.6rem; }
.site-header { border-block-end:1px solid var(--doria-border); }
.doria-search label { display:block; margin-block-end:.8rem; font-family:var(--doria-serif); font-size:20px; }
.doria-search > div { display:flex; border-block-end:1px solid var(--doria-ink); }
.doria-search input { width:100%; min-width:0; border:0; background:transparent; padding-block:.75rem; color:inherit; }
.hero { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); margin-block:32px 48px; background:#f1eee5; align-items:stretch; }
.hero-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; min-width:0; padding:clamp(30px,4vw,64px); }
.eyebrow { margin:0 0 1.5rem; font-size:10px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.hero-copy .eyebrow { display:flex; align-items:center; gap:12px; margin-block-end:24px; font-size:10px; letter-spacing:.15em; }
.hero .small-rule { width:24px; height:1px; background:var(--doria-accent); flex-shrink:0; }
.hero h1 { max-width:560px; margin:0; font-family:var(--doria-serif); font-weight:400; font-size:clamp(46px,4.5vw,68px); line-height:1.08; letter-spacing:-.04em; text-wrap:balance; overflow-wrap:break-word; }
.hero-intro { max-width:385px; margin:24px 0 32px; color:var(--doria-muted); font-size:14px; line-height:1.8; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px 26px; }
.hero .doria-button { min-height:52px; padding:14px 23px; gap:24px; }
.hero-story-link { font-size:12px; text-decoration:none; border-block-end:1px solid #a2a8a2; padding-block:5px; transition:color .2s,border-color .2s; }
.hero-story-link:hover { color:var(--doria-accent); border-color:currentColor; }
.doria-button { display:inline-flex; justify-content:center; align-items:center; gap:2rem; min-height:51px; padding:13px 25px; background:var(--doria-ink); border:1px solid var(--doria-ink); color:white; font-size:12px; text-decoration:none; transition:background .2s,transform .2s; }
.doria-button:hover { background:var(--doria-accent); border-color:var(--doria-accent); transform:translateY(-2px); }
.doria-button .doria-icon { width:19px; }

.hero-visual { position:relative; display:flex; flex-direction:column; min-width:0; margin:0; background:#e6dfd0; overflow:hidden; }
.hero-image-wrap { position:relative; flex:1; min-height:470px; overflow:hidden; }
.hero-image-wrap > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 52%; }

.hero-caption { display:grid; grid-template-columns:1fr auto; align-items:center; gap:5px 16px; background:#e5e0d3; padding:20px 26px; border-block-start:1px solid #d7d0bf; }
.hero-caption > span:first-child { font-size:9px; letter-spacing:.17em; text-transform:uppercase; }
.hero-caption > span:nth-child(2) { font-family:var(--doria-serif); font-size:21px; grid-row:2; line-height:1.3; }
.hero-preview-label { grid-column:2; grid-row:1/3; max-width:85px; font-size:9px; line-height:1.6; color:#60635b; text-align:end; }
.manifesto-strip { background:var(--doria-tint); border-block:1px solid var(--doria-border); }
.manifesto-strip > div { display:flex; justify-content:center; align-items:center; gap:clamp(1.5rem,5vw,5rem); padding-block:20px; }
.manifesto-strip span { font-size:11px; letter-spacing:.08em; }
.manifesto-strip [aria-hidden] { color:var(--doria-accent); font-size:21px; }
.section-space { padding-block:clamp(55px,6.2vw,100px); }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-block-end:34px; }
.section-heading .eyebrow { margin-block-end:13px; }
.doria-home h2 { font-family:var(--doria-serif); font-weight:400; font-size:clamp(30px,3.1vw,46px); letter-spacing:-.035em; line-height:1.16; margin:0; }
.text-link { display:inline-flex; align-items:center; gap:1.2rem; font-size:12px; text-decoration:none; padding-block:8px; border-block-end:1px solid currentColor; }
.text-link .doria-icon { width:18px; transition:transform .2s; }
.text-link:hover .doria-icon { transform:translateX(4px); }
.section-heading > .text-link { flex-shrink:0; }
.doria-category-section { --category-gap:22px; }
.doria-category-section .category-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-block-end:30px; }
.doria-category-section .category-section-heading h2 { font-size:clamp(28px,2.6vw,38px); line-height:1.2; letter-spacing:-.025em; }
.doria-category-section .category-section-heading p { margin:12px 0 0; color:var(--doria-muted); font-size:13px; line-height:1.7; }
.doria-category-section .category-section-heading .text-link { flex-shrink:0; }
.doria-category-section .doria-category-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:var(--category-gap); margin:0; padding:0; list-style:none; }
.doria-category-section .category-card { min-width:0; }
.doria-category-section .category-card > a { display:block; height:100%; text-decoration:none; }
.doria-category-section .category-image { position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--doria-tint); }
.doria-category-section .category-image img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.doria-category-section .category-image-note { position:absolute; inset-block-start:12px; inset-inline-start:12px; background:#faf8f3e8; color:#53584e; padding:3px 7px; font-size:9px; line-height:1.5; letter-spacing:.03em; }
.doria-category-section .category-card-details { display:grid; grid-template-columns:minmax(0,1fr) 24px; gap:10px; align-items:start; padding-block:18px 15px; border-block-end:1px solid var(--doria-border); }
.doria-category-section .category-card h3 { min-height:2.6em; margin:0; font-family:var(--doria-serif); font-size:clamp(19px,1.65vw,23px); font-weight:400; line-height:1.3; overflow-wrap:break-word; }
.doria-category-section .category-arrow { display:flex; align-items:center; justify-content:center; height:27px; color:var(--doria-ink); transition:transform .2s ease,color .2s ease; }
.doria-category-section .category-arrow .doria-icon { width:18px; height:18px; }
.doria-category-section .category-neutral-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; width:100%; height:100%; background:linear-gradient(145deg,#f0eee5,#e4e1d5); color:var(--doria-muted); }
.doria-category-section .category-neutral-placeholder .doria-icon { width:36px; height:36px; color:var(--doria-accent); }
.doria-category-section .category-neutral-placeholder span { font-size:11px; }
@media(hover:hover) { .doria-category-section .category-card a:hover img { transform:scale(1.025); } .doria-category-section .category-card a:hover .category-arrow { transform:translateX(3px); color:var(--doria-accent); } }
.micro-label { font-size:10px; color:var(--doria-muted); }
.featured-section { background:#f0eee7; }
.section-aside { max-width:230px; color:var(--doria-muted); font-size:12px; margin:0 0 5px; }
.preview-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:25px; }
.preview-image { position:relative; overflow:hidden; }
.preview-image img { width:100%; aspect-ratio:1/1.08; object-fit:cover; }
.preview-badge { position:absolute; inset-block-start:12px; inset-inline-start:12px; padding:5px 9px; background:var(--doria-paper); font-size:9px; }
.preview-meta { display:flex; justify-content:space-between; flex-wrap:wrap; gap:5px; font-size:9px; margin-block:15px 7px; color:var(--doria-muted); }
.preview-card h3 { margin:0; font-family:var(--doria-serif); font-size:21px; font-weight:400; }
.placeholder-note { margin:30px 0 0; color:var(--doria-muted); font-size:11px; }
.story-section { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(3rem,8vw,8rem); }
.story-visual { position:relative; }
.story-visual > img { width:100%; aspect-ratio:1.1; object-fit:cover; }
.story-stamp { position:absolute; inset-inline-end:-24px; inset-block-end:30px; display:flex; flex-direction:column; justify-content:center; align-items:center; border-radius:50%; width:95px; height:95px; background:var(--doria-paper); border:1px solid #c7ba9c; font-family:var(--doria-serif); font-size:34px; line-height:1.2; transform:rotate(-12deg); }
.story-stamp small { font-family:var(--doria-sans); font-size:7px; letter-spacing:.2em; }
.story-copy { max-width:430px; }
.story-copy p:not(.eyebrow) { font-size:13px; line-height:1.9; color:var(--doria-muted); margin-block:23px; }
.partnerships { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.partnership-card { padding:clamp(28px,4vw,60px); position:relative; overflow:hidden; }
.wholesale-card { background:var(--doria-ink); color:var(--doria-paper); }
.seller-card { background:#e8e4d8; }
.partnership-card h2 { max-width:350px; font-size:clamp(28px,3vw,43px); }
.partnership-card p:not(.eyebrow) { max-width:340px; margin-block:22px; font-size:12px; opacity:.85; }
.availability-label { display:inline-block; font-size:10px; letter-spacing:.06em; border-block-end:1px solid currentColor; padding-block:6px; }
.partnership-mark { position:absolute; inset-inline-end:25px; inset-block-end:0; font-size:100px; line-height:1; opacity:.1; pointer-events:none; }
.benefits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2rem; text-align:center; }
.benefits > div + div { border-inline-start:1px solid var(--doria-border); padding-inline-start:2rem; }
.benefits .doria-icon { width:28px; height:28px; margin-block-end:12px; }
.benefits h3 { margin:0 0 8px; font-family:var(--doria-serif); font-weight:400; font-size:19px; }
.benefits p { font-size:11px; margin:0 auto; max-width:200px; color:var(--doria-muted); }
.newsletter { background:var(--doria-tint); padding-block:65px; }
.newsletter-inner { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:5rem; }
.newsletter h2 { max-width:440px; font-size:36px; }
.newsletter p:not(.eyebrow) { color:var(--doria-muted); font-size:12px; }
.newsletter .eyebrow { margin-block-end:14px; }
.newsletter-coming { display:flex; justify-content:space-between; padding-block:16px; border-block-end:1px solid var(--doria-ink); font-family:var(--doria-serif); font-size:22px; }
.site-footer { background:var(--doria-paper); }
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:3rem; padding-block:70px 55px; }
.footer-brand .wordmark { font-size:52px; }
.footer-grid h2 { font-size:11px; font-weight:600; letter-spacing:.04em; margin:8px 0 20px; }
.footer-grid p { color:var(--doria-muted); font-size:12px; line-height:1.9; max-width:245px; }
.footer-brand .eyebrow { display:block; font-size:8px; margin-block-start:25px; }
.footer-links { padding:0; margin:0; list-style:none; }
.footer-links a { display:inline-block; padding-block:5px; font-size:11px; text-decoration:none; color:var(--doria-muted); }
.footer-links a:hover { text-decoration:underline; color:var(--doria-ink); }
.footer-bottom { border-block-start:1px solid var(--doria-border); padding-block:22px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; font-size:9px; color:var(--doria-muted); }
.footer-bottom small { font-size:inherit; }
.footer-bottom .menu { display:flex; flex-wrap:wrap; list-style:none; padding:0; margin:0; gap:1rem; }
.site-main { min-height:50vh; padding-block:clamp(40px,5vw,75px); }
.page-content .entry-title,.site-main h1 { font-family:var(--doria-serif); font-size:clamp(36px,4vw,58px); font-weight:400; line-height:1.15; letter-spacing:-.035em; margin:0 0 32px; }
.reading-content { max-width:800px; }
.entry-content { overflow-wrap:break-word; }
.entry-content::after { content:''; display:table; clear:both; }
.entry-content > :first-child { margin-block-start:0; }
.entry-content > :last-child { margin-block-end:0; }
.home-editor-content:empty { display:none; }
.journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.journal-card h2 { font-family:var(--doria-serif); font-weight:400; }
.journal-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.alignwide { width:100%; }
.aligncenter { margin-inline:auto; }
.alignleft { float:inline-start; margin-inline-end:1.5rem; }
.alignright { float:inline-end; margin-inline-start:1.5rem; }
.wp-caption { max-width:100%; }
.wp-caption-text,.gallery-caption { font-size:.85em; }
.bypostauthor { font-weight:inherit; }
@media(min-width:1100px) { .hero-visual { animation:doria-arrive .8s ease-out both; } .hero-copy { animation:doria-arrive .65s ease-out both; } }
@keyframes doria-arrive { from { opacity:.2; transform:translateY(12px); } to { opacity:1; transform:none; } }
@media(max-width:1024px) {
    .masthead { min-height:90px; gap:1.25rem; } .primary-nav > .menu { gap:1rem; }
    .hero-copy { padding:32px 26px; } .hero h1 { font-size:clamp(40px,5vw,52px); } .hero-copy .eyebrow { font-size:9px; } .hero-image-wrap { min-height:460px; } .hero-caption { padding:18px; } .hero-caption > span:nth-child(2) { font-size:20px; } .hero-preview-label { grid-column:1/-1; grid-row:3; max-width:none; text-align:start; margin-block-start:4px; }
    .doria-category-section { --category-gap:24px; }
    .doria-category-section .doria-category-list { grid-template-columns:repeat(6,minmax(0,1fr)); }
    .doria-category-section .category-card { grid-column:span 2; }
    .doria-category-section .category-card:nth-child(4):nth-last-child(2) { grid-column:2/span 2; }
    .doria-category-section .category-card h3 { font-size:22px; }
    .preview-grid { gap:18px; } .preview-card h3 { font-size:19px; } .story-section { gap:3rem; }
    .footer-grid { gap:2rem; grid-template-columns:1.2fr 1fr 1fr; } .footer-grid > div:last-child { grid-column:1/-1; } .footer-grid > div:last-child p { max-width:none; }
    .newsletter-inner { gap:3rem; } .benefits { gap:1rem; } .benefits > div + div { padding-inline-start:1rem; }
}
@media(max-width:767px) {
    .announcement__inner { display:block; text-align:center; padding-block:8px; } .announcement__inner > span { display:block; font-size:10px; }
    .locale-tools { justify-content:center; gap:1.2rem; } .locale-tools summary { min-height:30px; font-size:10px; } .locale-tools .popover-panel { position:fixed; top:80px; inset-inline:1.25rem; width:auto; text-align:start; }
    .masthead { min-height:78px; grid-template-columns:minmax(0,1fr) auto; gap:0; } .site-header .site-branding { grid-column:1; grid-row:1; padding-block:14px; } .header-actions { grid-column:2; grid-row:1; } .site-header .custom-logo { max-width:150px; max-height:56px; } .navigation-row { grid-column:1/-1; grid-row:2; border-block-start:1px solid var(--doria-border); } .wordmark { font-size:45px; } .header-actions { gap:0; } .header-actions .icon-button { min-width:35px; } .header-actions .doria-icon { width:20px; }
    .search-popover .popover-panel { position:fixed; top:160px; inset-inline:1.25rem; width:auto; }
    .menu-toggle:not([hidden]) { display:flex; } .primary-nav > .menu { display:block; padding-block:0 12px; } .primary-nav a { padding-block:10px; }
    .primary-nav .sub-menu { position:static; display:block; min-width:0; border:0; padding:.25rem 0 .25rem 1rem; }
    .primary-nav .submenu-toggle { min-width:44px; }
    .hero { grid-template-columns:1fr; margin-block:20px 32px; } .hero-copy { padding:32px 24px; } .hero h1 { max-width:540px; font-size:clamp(38px,9.2vw,60px); } .hero-copy .eyebrow { margin-block-end:24px; font-size:9px; }
    .hero-intro { max-width:440px; margin-block:20px 26px; font-size:13px; } .hero-actions { gap:16px 22px; } .hero-image-wrap { min-height:0; aspect-ratio:1.1; } .hero-caption { grid-template-columns:1fr auto; padding:18px 24px; } .hero-caption > span:nth-child(2) { font-size:20px; } .hero-preview-label { grid-column:1/-1; grid-row:3; max-width:none; text-align:start; margin-block-start:4px; }
    .manifesto-strip > div { justify-content:space-between; gap:10px; padding-block:17px; } .manifesto-strip span { font-size:8px; letter-spacing:.01em; } .manifesto-strip [aria-hidden] { font-size:14px; }
    .section-heading { gap:1.5rem; align-items:flex-start; flex-direction:column; margin-block-end:26px; } .section-heading .text-link { padding-block:2px 8px; }
    .doria-category-section { --category-gap:16px; }
    .doria-category-section .category-section-heading { flex-direction:column; align-items:flex-start; gap:16px; margin-block-end:26px; }
    .doria-category-section .category-section-heading p { font-size:12px; }
    .doria-category-section .doria-category-list { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:26px; }
    .doria-category-section .category-card,.doria-category-section .category-card:nth-child(4):nth-last-child(2) { grid-column:auto; }
    .doria-category-section .category-card:last-child:nth-child(odd) { grid-column:1/-1; width:calc((100% - var(--category-gap))/2); justify-self:center; }
    .doria-category-section .category-card-details { grid-template-columns:minmax(0,1fr) 18px; gap:6px; padding-block:14px 12px; }
    .doria-category-section .category-card h3 { min-height:3.9em; font-size:19px; }
    .doria-category-section .category-image-note { inset-block-start:8px; inset-inline-start:8px; font-size:8px; padding:3px 6px; }
    .preview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 15px; } .preview-badge { font-size:8px; padding:3px 6px; inset-block-start:8px; inset-inline-start:8px; }
    .story-section { grid-template-columns:1fr; gap:38px; } .story-stamp { inset-inline-end:15px; inset-block-end:-20px; width:78px; height:78px; } .story-copy { max-width:none; }
    .partnerships { grid-template-columns:1fr; gap:20px; } .partnership-card { padding:35px 28px; } .partnership-card h2 { max-width:360px; }
    .benefits { grid-template-columns:1fr 1fr; gap:30px 20px; } .benefits > div + div { border:0; padding:0; }
    .newsletter { padding-block:45px; } .newsletter-inner { grid-template-columns:1fr; gap:20px; } .newsletter h2 { font-size:33px; }
    .footer-grid { grid-template-columns:1fr 1fr; gap:32px 20px; padding-block:50px 35px; } .footer-brand { grid-column:1/-1; } .footer-grid h2 { margin-block-end:12px; } .footer-bottom { align-items:flex-start; flex-direction:column; }
    .journal-grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }

/* Homepage completion: scoped to the catalog edit, story, benefits and closing CTA. */
.home-products { background:#f2f1eb; }
.home-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; }
.home-product-card { min-width:0; }
.home-product-card > a { display:block; text-decoration:none; }
.home-product-image { position:relative; overflow:hidden; background:#e8e7df; aspect-ratio:4/5; }
.home-product-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.home-product-card a:hover img { transform:scale(1.025); }
.home-product-card h3 { font:400 22px/1.35 var(--doria-serif); margin:18px 0 8px; overflow-wrap:anywhere; }
.home-product-price { font-size:14px; color:var(--doria-ink); }
.home-product-price del { color:var(--doria-muted); margin-inline-end:6px; }
.home-product-price ins { text-decoration:none; }
.home-sale-label { position:absolute; inset-block-start:14px; inset-inline-start:14px; background:var(--doria-paper); padding:5px 10px; font-size:11px; }
.home-products-empty { border:1px solid var(--doria-border); text-align:center; padding:clamp(35px,5vw,72px) 24px; }
.home-products-empty > .doria-icon { width:30px; height:30px; }
.home-products-empty h3 { font:400 clamp(25px,3vw,34px)/1.2 var(--doria-serif); margin:18px 0; }
.home-products-empty p { max-width:480px; margin:0 auto 24px; color:var(--doria-muted); font-size:14px; }
.doria-home .story-copy p:not(.eyebrow) { font-size:15px; line-height:1.85; }
.home-benefits { border-block-start:1px solid var(--doria-border); }
.home-benefits-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.home-benefits-grid > div { padding-inline-end:30px; }
.home-benefits-grid > div + div { border-inline-start:1px solid var(--doria-border); padding-inline-start:35px; }
.home-benefits-grid .doria-icon { width:25px; height:25px; margin-block-end:18px; }
.home-benefits h3 { font:400 24px/1.3 var(--doria-serif); margin:0 0 12px; }
.home-benefits p { color:var(--doria-muted); max-width:290px; font-size:14px; margin:0; }
.home-closing { padding-block:clamp(45px,6vw,80px); background:var(--doria-tint); }
.home-closing-inner { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.home-closing p:not(.eyebrow) { font-size:14px; color:var(--doria-muted); margin-block:20px 0; }
.home-closing-actions { display:flex; flex-direction:column; align-items:flex-start; gap:20px; flex-shrink:0; }
.doria-footer .footer-grid { grid-template-columns:1.5fr 1fr 1fr 1.2fr; }
.doria-footer .footer-links a { font-size:13px; padding-block:8px; }
.doria-footer .footer-grid h2 { font-size:12px; }
.doria-footer .custom-logo { max-width:180px; max-height:90px; width:auto; }
.footer-pending { display:block; padding-block:8px; font-size:13px; color:var(--doria-muted); }
.footer-pending small { display:block; font-size:10px; margin-block-start:2px; }
.doria-footer .footer-bottom { font-size:11px; }
@media(max-width:1024px) {
    .home-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 22px; }
    .home-benefits-grid { gap:22px; }
    .home-benefits-grid > div { padding-inline-end:0; }
    .home-benefits-grid > div + div { padding-inline-start:22px; }
    .doria-footer .footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .doria-footer .footer-brand { grid-column:1/-1; }
}
@media(max-width:767px) {
    .home-product-grid { gap:28px 16px; }
    .home-product-card h3 { font-size:20px; }
    .home-benefits-grid { grid-template-columns:1fr; gap:25px; }
    .home-benefits-grid > div + div { border-inline-start:0; border-block-start:1px solid var(--doria-border); padding:25px 0 0; }
    .home-benefits p { max-width:440px; }
    .home-closing-inner { flex-direction:column; align-items:flex-start; gap:28px; }
    .doria-footer .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .doria-footer .footer-grid > nav:last-child { grid-column:1/-1; }
}
@media(max-width:359px) { .home-product-grid { grid-template-columns:1fr; } }

/* Full-bleed Home hero. All rules are confined to this hero variant. */
.hero.hero-background { position:relative; isolation:isolate; display:block; width:100%; max-width:none; margin:0; overflow:hidden; background:#e8decd; }
.hero-background-media { position:absolute; inset:0; z-index:-2; }
.hero-background-media > img { width:100%; height:100%; object-fit:cover; object-position:center 60%; }
.hero.hero-background::before { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,rgba(250,248,243,.8) 0%,rgba(250,248,243,.6) 33%,rgba(250,248,243,.12) 55%,transparent 72%); }
.hero-background-inner { display:flex; align-items:center; min-height:clamp(580px,47vw,760px); padding-block:70px; }
.hero-background .hero-copy { width:50%; max-width:610px; padding:0; animation:none; }
.hero-background .hero-intro { color:#414d4b; }
.hero-background .hero-story-link { color:var(--doria-ink); border-color:currentColor; min-height:44px; display:inline-flex; align-items:center; }
@media(max-width:1024px) {
    .hero-background-inner { min-height:630px; padding-block:65px; }
    .hero-background .hero-copy { width:62%; max-width:480px; }
    .hero-background-media > img { object-position:60% center; }
    .hero.hero-background::before { background:linear-gradient(90deg,rgba(250,248,243,.9),rgba(250,248,243,.72) 40%,rgba(250,248,243,.12) 73%,transparent); }
}
@media(max-width:767px) {
    .hero-background-inner { min-height:760px; align-items:flex-start; padding-block:48px 280px; }
    .hero-background .hero-copy { width:100%; max-width:460px; padding:0; }
    .hero-background .hero-copy .eyebrow { margin-block-end:24px; }
    .hero-background .hero-intro { max-width:390px; }
    .hero-background-media > img { object-position:80% center; }
    .hero.hero-background::before { background:linear-gradient(180deg,rgba(250,248,243,.97) 0%,rgba(250,248,243,.92) 36%,rgba(250,248,243,.76) 52%,rgba(250,248,243,.08) 76%,transparent 90%); }
}

/* Prevent the enhanced mobile menu flashing expanded before its handlers load. */
@media(max-width:767px) {
    .doria-js .site-header .primary-nav:not([data-ready]) { display:none; }
    .doria-js .site-header .navigation-row { min-height:calc(1.65em + 25px); }
}
