/*
Theme Name: Devil's Hill Vineyard — Nocturne
Theme URI: https://devilshillvineyard.co.uk/
Author: Devil's Hill Vineyard / ChatGPT
Description: A dark editorial full-site-editing theme for Devil's Hill Vineyard. WooCommerce-ready and self-contained.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: devils-hill-vineyard
Tags: full-site-editing, block-patterns, e-commerce, custom-colors, custom-logo
*/
:root{--dhv-ink:#111415;--dhv-night:#101315;--dhv-wine:#511c2a;--dhv-ruby:#8c4150;--dhv-copper:#c5a77e;--dhv-paper:#f4eee5;--dhv-stone:#d5cec3;--dhv-muted:#928b82;--dhv-line:rgba(197,167,126,.32);--dhv-sans:Arial,Helvetica,sans-serif;--dhv-serif:Georgia,'Times New Roman',serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--dhv-paper);color:var(--dhv-ink);font-family:var(--dhv-sans);-webkit-font-smoothing:antialiased;margin:0}
a{color:inherit;text-underline-offset:3px}a:hover{color:var(--dhv-ruby)}
button,input,textarea,select{font:inherit}
img{max-width:100%;height:auto}
::selection{background:#8c4150;color:#fff}
.wp-site-blocks{overflow-x:clip}
.dhv-kicker{font-family:var(--dhv-sans);font-size:.67rem!important;font-weight:700!important;letter-spacing:.23em!important;line-height:1.5!important;text-transform:uppercase}
.dhv-announce{background:#401a26;color:#ead5c8;min-height:29px;display:flex;align-items:center;justify-content:center;padding:6px 16px!important}
.dhv-announce p{font-size:.59rem!important;text-transform:uppercase;letter-spacing:.24em!important;font-weight:600!important;margin:0!important}
.dhv-site-header{background:#101315;color:#f4eee5;position:relative;z-index:40;border-bottom:1px solid rgba(245,238,229,.13)}
.dhv-header-inner{padding:19px clamp(20px,5.5vw,108px);margin:0 auto!important;max-width:1600px!important;gap:20px;display:flex;align-items:center;justify-content:space-between}
.dhv-brand{display:flex!important;align-items:center;gap:12px!important;flex-shrink:0}
.dhv-brand-mark{display:block;width:34px;height:45px;background:url('assets/images/brand-mark.svg') center / contain no-repeat}
.dhv-brand .wp-block-site-title{margin:0!important;font-family:var(--dhv-serif);font-size:1.26rem;font-weight:400;letter-spacing:-.025em;line-height:1.1;max-width:196px}
.dhv-brand .wp-block-site-title a{color:#f6efe6;text-decoration:none}
.dhv-brand .wp-block-site-title a:hover{color:var(--dhv-copper)}
.dhv-nav{font-size:.69rem;letter-spacing:.11em;text-transform:uppercase;font-weight:700}
.dhv-nav .wp-block-navigation-item__content{color:#ebe4db!important;text-decoration:none!important}
.dhv-nav .wp-block-navigation-item__content:hover{color:var(--dhv-copper)!important}
.dhv-nav .wp-block-navigation__container{gap:clamp(12px,2vw,33px)}
.dhv-site-header .wp-block-navigation__responsive-container.is-menu-open{background:#101315;color:#f4eee5;padding:30px}
.dhv-header-shop{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none!important;border:1px solid rgba(197,167,126,.65);padding:12px 16px;color:#edddc8!important;white-space:nowrap;transition:background .2s ease}
.dhv-header-shop:hover{background:#512634;color:#fff!important}
/* front page */
.dhv-home{max-width:none!important;margin:0!important}
.dhv-hero{background:#101315;min-height:660px;color:var(--dhv-paper);margin:0!important;position:relative;isolation:isolate;display:grid;align-items:center;overflow:hidden}
.dhv-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101315 0%,rgba(16,19,21,.96) 27%,rgba(16,19,21,.74) 50%,rgba(16,19,21,.08) 100%),url('assets/images/vineyard-dusk.svg') 64% 52%/cover no-repeat;z-index:-2}
.dhv-hero:after{content:"";position:absolute;inset:auto 0 0;height:90px;background:linear-gradient(transparent,#101315);z-index:-1}
.dhv-hero-content{width:min(1350px,100%);padding:100px clamp(24px,7.8vw,130px) 110px!important;display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.dhv-hero-content>*{margin-top:0!important;margin-bottom:0!important}
.dhv-hero .dhv-kicker{color:#d6b78c}
.dhv-hero h1{font-family:var(--dhv-serif)!important;font-size:clamp(3.7rem,7vw,7.6rem)!important;letter-spacing:-.060em!important;line-height:.99!important;font-weight:400!important;max-width:900px;margin-top:6px!important}
.dhv-hero h1 em{font-style:italic;color:#dab48d}
.dhv-hero-lede{max-width:490px;font-size:1.03rem!important;line-height:1.8!important;color:#d7cfc6;margin-top:5px!important}
.dhv-hero .wp-block-buttons{display:flex;gap:12px;margin-top:18px!important}
.wp-block-button.dhv-btn .wp-block-button__link{border-radius:0!important;padding:16px 23px!important;font-size:.67rem!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important;text-decoration:none!important;border:1px solid #d4b085;background:#d4b085;color:#161414;transition:background .2s,color .2s}
.wp-block-button.dhv-btn .wp-block-button__link:hover{background:#f1ddbd;color:#171717}
.wp-block-button.dhv-btn-outline .wp-block-button__link{border-radius:0!important;padding:16px 23px!important;font-size:.67rem!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important;text-decoration:none!important;border:1px solid rgba(244,238,229,.65);background:transparent!important;color:#f4eee5!important}
.wp-block-button.dhv-btn-outline .wp-block-button__link:hover{background:rgba(244,238,229,.13)!important}
.dhv-caption-strip{background:#241921;color:#cbb49c;padding:14px 24px!important;display:flex;justify-content:center;text-align:center;gap:16px;border-top:1px solid var(--dhv-line)}
.dhv-caption-strip p{margin:0!important;font-size:.65rem!important;letter-spacing:.2em!important;text-transform:uppercase}
.dhv-section{padding:clamp(65px,8vw,126px) clamp(24px,7vw,112px)!important}
.dhv-container{width:100%;max-width:1320px;margin:0 auto!important}
.dhv-intro{background:var(--dhv-paper);color:#191919}
.dhv-intro .dhv-kicker{color:var(--dhv-ruby)}
.dhv-intro-headline{font-size:clamp(2.6rem,4.3vw,5.3rem)!important;font-family:var(--dhv-serif)!important;font-weight:400!important;letter-spacing:-.047em!important;line-height:1.08!important;max-width:1040px;margin:17px 0 28px!important}
.dhv-intro-copy{color:#5e5b56;font-size:1.02rem!important;line-height:1.85!important;max-width:735px}
.dhv-rule{border-top:1px solid #c9beb0;margin:38px 0 24px!important}
.dhv-values{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:0!important}
.dhv-values .wp-block-column{padding:10px 0}
.dhv-values strong{font-size:.68rem;text-transform:uppercase;letter-spacing:.16em}
.dhv-values p{margin:7px 0 0!important;color:#74706c;font-size:.89rem;line-height:1.6}
.dhv-story{background:#17191a;color:#f5eee4;padding:0!important}
.dhv-story-grid{display:grid!important;grid-template-columns:1fr 1fr;max-width:none!important;min-height:590px;gap:0!important}
.dhv-story-visual{min-height:500px;background:linear-gradient(0deg,rgba(25,21,24,.28),rgba(22,20,20,.02)),url('assets/images/vineyard-detail.svg') center/cover no-repeat;position:relative}
.dhv-story-visual:after{content:'OUR LAND · OUR STORY';position:absolute;left:34px;bottom:26px;font-size:.57rem;color:#e6d1b4;letter-spacing:.23em}
.dhv-story-content{padding:clamp(55px,8vw,115px) clamp(28px,7vw,112px)!important;align-self:center;max-width:710px}
.dhv-story-content .dhv-kicker{color:var(--dhv-copper)}
.dhv-story-content h2{font-size:clamp(2.7rem,4.1vw,4.9rem)!important;line-height:1.07!important;letter-spacing:-.05em!important;font-weight:400!important;font-family:var(--dhv-serif)!important;margin:21px 0!important}
.dhv-story-content p:not(.dhv-kicker){color:#c5c0b8;line-height:1.82;font-size:1rem}
.dhv-text-link{font-size:.71rem!important;font-weight:700!important;letter-spacing:.13em;text-transform:uppercase;text-underline-offset:8px;color:#e7c9a7!important;margin-top:24px!important}
.dhv-products{background:#f5f0e8}
.dhv-product-intro{display:flex!important;justify-content:space-between;gap:28px;align-items:end;margin-bottom:36px!important}
.dhv-products h2,.dhv-sustain h2{font-size:clamp(3rem,4.7vw,5rem)!important;line-height:1.02!important;font-weight:400!important;letter-spacing:-.052em!important;font-family:var(--dhv-serif)!important;margin:10px 0 0!important}
.dhv-products .dhv-kicker{color:var(--dhv-ruby)}
.dhv-product-intro .dhv-text-link{color:#5c2631!important}
.dhv-wine-empty{border:1px solid #d9cfc2;padding:65px 30px;background:linear-gradient(135deg,#f8f5ef,#eee5da);text-align:center;position:relative;overflow:hidden}
.dhv-wine-empty:before{content:'D';position:absolute;inset:auto 0 -120px;line-height:1;font-size:390px;font-family:Georgia,serif;color:rgba(111,67,60,.05);pointer-events:none}
.dhv-wine-empty .dhv-kicker{color:var(--dhv-ruby);position:relative}
.dhv-wine-empty h3{font:400 clamp(2rem,4vw,3.3rem)/1.13 Georgia,serif;letter-spacing:-.045em;margin:15px auto;position:relative}
.dhv-wine-empty p{position:relative;color:#756e66;font-size:.97rem;max-width:480px;margin:auto;line-height:1.7}
.dhv-sustain{background:#3d1723;color:var(--dhv-paper);text-align:center;position:relative;overflow:hidden}
.dhv-sustain:before{content:'';position:absolute;width:600px;height:600px;left:-290px;top:-260px;border:1px solid rgba(232,190,150,.18);border-radius:50%;box-shadow:0 0 0 80px rgba(232,190,150,.03),0 0 0 190px rgba(232,190,150,.02)}
.dhv-sustain .dhv-kicker{color:#e9bb8d}
.dhv-sustain h2{max-width:900px;margin:16px auto!important}
.dhv-sustain-copy{max-width:700px;margin:22px auto 30px!important;line-height:1.8!important;color:#e6cdd0}
.dhv-sustain .wp-block-buttons{justify-content:center}
.dhv-last-note{background:#17191a;color:#eadfce;text-align:center;padding:26px 24px!important}
.dhv-last-note p{font-size:.69rem!important;letter-spacing:.19em!important;text-transform:uppercase;margin:0!important}
/* internal pages */
.dhv-interior-head{background:#17191a;color:#f4eee5;padding:94px clamp(24px,7vw,112px) 75px!important}
.dhv-interior-head h1{font:400 clamp(3.5rem,7vw,6.7rem)/1.05 Georgia,serif!important;letter-spacing:-.056em!important;margin:12px 0 0!important}
.dhv-interior-head .dhv-kicker{color:var(--dhv-copper)}
.dhv-page-body{background:var(--dhv-paper);min-height:380px;padding:72px clamp(24px,7vw,112px) 100px!important}
.dhv-page-body > .wp-block-post-content{max-width:850px;margin-inline:auto}
.dhv-page-body p,.dhv-page-body li{line-height:1.8;color:#494641}
.dhv-page-body h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2rem,3vw,3rem);letter-spacing:-.03em}
.dhv-blog-list{margin:30px auto;max-width:1200px}
/* footer */
.dhv-footer{background:#101315;color:#e6dcd0;padding:75px clamp(24px,7vw,112px) 27px!important}
.dhv-footer-grid{display:grid!important;grid-template-columns:2fr 1fr 1fr;gap:clamp(25px,6vw,100px);max-width:1320px;margin:0 auto!important;padding-bottom:72px}
.dhv-footer-title{font-family:Georgia,serif!important;font-size:2rem!important;font-weight:400!important;letter-spacing:-.045em!important;margin:0 0 10px!important}
.dhv-footer p{line-height:1.8;color:#bdb3a8;font-size:.85rem}
.dhv-footer h3{font:700 .67rem/1.5 Arial,sans-serif!important;text-transform:uppercase;letter-spacing:.19em;color:#d8ad7f;margin:9px 0 20px!important}
.dhv-footer a{color:#e8ded2;text-decoration:none}
.dhv-footer a:hover{color:var(--dhv-copper)}
.dhv-footer-small{border-top:1px solid rgba(236,221,203,.17);padding-top:24px!important;max-width:1320px;margin:0 auto!important}
.dhv-footer-small p{color:#8e8881;font-size:.68rem!important;letter-spacing:.05em}
/* WooCommerce - leave commerce, payment and checkout behaviour to plugin */
.woocommerce ul.products li.product,.wc-block-grid__product,.wc-block-product{background:#fffaf3;padding:14px!important;border:1px solid #e4dcd1;transition:box-shadow .2s,transform .2s}
.woocommerce ul.products li.product:hover,.wc-block-grid__product:hover{box-shadow:0 12px 28px rgba(29,23,18,.08);transform:translateY(-2px)}
.woocommerce ul.products li.product .woocommerce-loop-product__title,.wc-block-grid__product-title,.wp-block-post-title{font-family:Georgia,serif;font-weight:400;font-size:1.28rem!important;line-height:1.2;color:#242020}
.woocommerce ul.products li.product .price,.wc-block-components-product-price,.woocommerce div.product p.price{color:#762f3c!important;font-weight:600}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-block-components-button,.wp-element-button:not(.dhv-btn .wp-block-button__link){border-radius:0!important;background:#582431!important;color:#fff!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.09em;font-size:.75rem!important;padding:14px 20px!important;border:1px solid #582431!important}
.woocommerce a.button:hover,.woocommerce button.button:hover,.wc-block-components-button:hover{background:#802e45!important;color:#fff!important}
.wc-block-components-text-input input,.woocommerce input.input-text,.woocommerce textarea{border-radius:0!important;min-height:40px}
.wc-block-components-checkout-step__heading,.woocommerce div.product .product_title{font-family:Georgia,serif}
.woocommerce .woocommerce-breadcrumb{color:#77716b;font-size:.75rem}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info{border-top-color:#8c4150}
/* accessible focus and reduced motion */
:focus-visible{outline:2px solid #d4a76c!important;outline-offset:3px!important}
@media(max-width:1040px){.dhv-header-shop{display:none}.dhv-nav{font-size:.64rem}.dhv-story-content{padding:60px 35px!important}}
@media(max-width:782px){.dhv-header-inner{padding:15px 22px}.dhv-brand .wp-block-site-title{font-size:1.14rem}.dhv-brand-mark{width:29px;height:37px}.dhv-hero{min-height:615px}.dhv-hero:before{background:linear-gradient(90deg,rgba(16,19,21,.91),rgba(16,19,21,.47)),url('assets/images/vineyard-dusk.svg') center/cover no-repeat}.dhv-hero-content{padding:100px 26px 80px!important}.dhv-hero h1{font-size:clamp(3.25rem,9vw,5.5rem)!important}.dhv-values{grid-template-columns:1fr!important;gap:9px}.dhv-story-grid{grid-template-columns:1fr!important}.dhv-story-visual{min-height:360px}.dhv-story-content{padding:70px 26px!important}.dhv-footer-grid{grid-template-columns:1fr 1fr!important;gap:34px}.dhv-footer-grid .wp-block-column:first-child{grid-column:1/-1}.dhv-product-intro{display:block!important}}
@media(max-width:480px){.dhv-hero h1{font-size:3.25rem!important}.dhv-hero .wp-block-buttons{flex-direction:column;align-items:stretch}.dhv-caption-strip p{font-size:.52rem!important}.dhv-footer-grid{grid-template-columns:1fr!important}.dhv-footer-grid .wp-block-column:first-child{grid-column:auto}.dhv-section{padding:65px 22px!important}.dhv-hero-lede{font-size:.96rem!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
