/*
Theme Name: Soffritto Native
Description: A lightweight, accessible theme for Soffritto London, with native WordPress content and no paid builder dependency.
Version: 1.1.0
Author: Soffritto London
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: soffritto
*/
:root{--ink:#183d32;--cream:#faf8f2;--muted:#55635b;--line:#d8ded6;--accent:#a63c2d;--radius:14px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;line-height:1.12;margin:0 0 24px}h1{font-size:clamp(42px,5.1vw,78px)}h2{font-size:clamp(32px,3.3vw,48px)}h3{font-size:28px}p{margin:0 0 22px}img{max-width:100%;height:auto;display:block}figure{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}.wrap{max-width:1180px;margin-inline:auto;padding-inline:32px}.site-header{background:var(--cream);border-bottom:1px solid var(--line)}.header-inner{max-width:1380px;margin:auto;min-height:100px;padding:18px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:175px;height:50px;object-fit:contain}.site-nav ul{list-style:none;display:flex;align-items:center;gap:26px;padding:0;margin:0}.site-nav a{text-decoration:none;font-size:14px;font-weight:600;display:inline-flex;align-items:center;min-height:44px}.site-nav .current-menu-item>a,.site-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}.site-nav li:last-child a{background:var(--ink);color:white;border-radius:5px;padding:8px 20px}.menu-toggle{display:none;min-width:70px;min-height:44px;background:none;border:1px solid var(--ink);border-radius:5px;color:var(--ink);padding:7px 12px}.skip-link{position:absolute;left:16px;top:-100px;background:white;z-index:99999;padding:12px}.skip-link:focus{top:16px}.hero{display:grid;grid-template-columns:1fr 1fr;max-width:1600px;margin:auto;border-bottom:1px solid var(--line)}.hero-copy{padding:76px max(32px,calc((100vw - 1116px)/2)) 76px max(32px,calc((100vw - 1116px)/2));padding-right:50px;display:flex;flex-direction:column;justify-content:center;min-height:590px}.hero-image{height:100%;min-height:590px}.hero-image img{width:100%;height:100%;object-fit:cover;aspect-ratio:1.1}.hero-text{display:block}.hero-text .hero-copy{max-width:1000px;min-height:0}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--accent);text-transform:uppercase;margin-bottom:22px}.lead{font-size:20px;line-height:1.6;max-width:560px}.wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.wp-block-button__link,.submit-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 24px;background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:5px;text-decoration:none;font-size:15px;font-weight:600;line-height:1.4;cursor:pointer}.wp-block-button__link:hover,.submit-button:hover{background:#295a49;color:white;border-color:#295a49}.is-style-outline .wp-block-button__link{background:transparent;color:var(--ink)}.is-style-outline .wp-block-button__link:hover{background:#e9eee5}.section{padding-top:84px;padding-bottom:24px}.section>p:not(.eyebrow),.intro{max-width:780px}.intro{font-size:21px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:36px 0 24px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:32px;display:flex;flex-direction:column}.card h3{font-size:29px}.card p{font-size:16px}.card p:last-child{margin-top:auto;margin-bottom:0;padding-top:12px}.card a{font-weight:600}.story{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center;margin-top:80px}.story-image img{aspect-ratio:4/5;object-fit:cover;max-height:580px;width:100%;border-radius:var(--radius)}.story-copy{padding-block:30px}.cta{background:#e9eee5;border-radius:var(--radius);text-align:center;margin-top:88px;margin-bottom:88px;padding-top:58px;padding-bottom:58px}.cta p{max-width:620px;margin-inline:auto}.cta .wp-block-buttons{justify-content:center}.small{font-size:14px;color:var(--muted)}.page-intro{padding-top:75px;padding-bottom:44px}.contact-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:75px;padding-bottom:90px}.contact-aside{border-left:1px solid var(--line);padding-left:40px}.contact-aside h2{font-size:30px}.contact-aside a{overflow-wrap:anywhere}.enquiry-form{margin-top:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:20px}.field label{display:block;font-size:15px;font-weight:600;margin-bottom:7px}.field input,.field textarea,.field select{width:100%;min-height:48px;border:1px solid #85998b;border-radius:5px;padding:12px;background:white;color:var(--ink)}.field textarea{resize:vertical;min-height:160px}.field small{display:block;color:var(--muted)}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-note{font-size:14px;color:var(--muted)}.notice{border:1px solid var(--ink);padding:20px;background:#e9eee5;margin-bottom:24px}.site-footer{background:var(--ink);color:var(--cream);padding:56px 0 24px}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-name{font-family:Georgia,serif;font-size:36px;margin-bottom:12px}.footer-label{font-weight:700;font-size:14px}.site-footer a:hover{color:#f3d8af}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin-bottom:9px}.footer-bottom{margin-top:40px;border-top:1px solid #527164;padding-top:22px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font-size:13px}.footer-bottom p{margin:0}.entry-generic{max-width:850px;padding-top:60px;padding-bottom:80px}.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}.wp-block-image img{vertical-align:middle}
@media(min-width:1600px){.hero-copy{padding-left:100px}}
@media(max-width:1100px){.header-inner{padding-inline:24px}.site-nav ul{gap:17px}.site-nav a{font-size:13px}.hero-copy{padding:60px 32px}.hero-image,.hero-copy{min-height:540px}.card{padding:24px}.story{gap:36px}}
@media(max-width:850px){.header-inner{flex-wrap:wrap;min-height:88px}.brand img{width:154px;height:44px}.menu-toggle{display:block}.site-nav{width:100%}.js .site-nav{display:none}.js .site-nav.is-open{display:block}.site-nav ul{flex-direction:column;align-items:stretch;gap:0;padding:8px 0}.site-nav a{display:block;padding:10px 8px;font-size:16px}.site-nav li:last-child a{display:inline-block;margin-top:8px}.hero-copy{min-height:480px}.hero-image{min-height:480px}.card-grid{grid-template-columns:1fr 1fr}.contact-layout{gap:32px}.contact-aside{padding-left:24px}}
@media(max-width:600px){body{font-size:16px}.wrap{padding-inline:22px}.header-inner{padding:14px 22px}.hero{grid-template-columns:1fr}.hero-copy{padding:46px 22px;min-height:0}.hero-image{height:300px;min-height:0}.hero-image img{height:300px;aspect-ratio:auto}.lead{font-size:18px}h1{font-size:46px}h2{font-size:34px}.section{padding-top:56px;padding-bottom:0}.intro{font-size:19px}.card-grid{grid-template-columns:1fr;gap:16px;margin-top:28px}.card{padding:27px}.story{grid-template-columns:1fr;gap:18px;margin-top:55px}.story-image img{max-height:420px}.story-copy{padding-block:18px}.cta{margin:48px 16px;padding:40px 24px}.cta h2{font-size:34px}.contact-layout{grid-template-columns:1fr;gap:35px;padding-bottom:55px}.contact-aside{padding:28px 0 0;border-left:0;border-top:1px solid var(--line)}.form-grid{grid-template-columns:1fr;gap:0}.page-intro{padding-top:48px;padding-bottom:30px}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{gap:14px}.site-footer{padding-top:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

.brand img{width:84px;height:84px}.header-inner{padding-block:10px}.hero-image{position:relative;min-height:590px}.hero-image img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}.hero-copy{min-height:590px}
@media(max-width:1100px){.hero-copy,.hero-image{min-height:520px}}@media(max-width:600px){.brand img{width:66px;height:66px}.header-inner{padding-block:8px}.hero-copy{min-height:0}.hero-image{min-height:300px}}

.hero-image{overflow:hidden}.hero-image img{transform:scale(1.14)}.wp-block-heading{margin-bottom:24px}.hero-copy>.wp-block-heading{margin-bottom:24px}.wp-block-group p{margin-bottom:22px}.card p:last-child{margin-bottom:0}.eyebrow{margin-bottom:22px!important}

/* Mobile navigation overlays the viewport without moving page content. */
@media(max-width:850px){
 .menu-toggle{display:none}.js .menu-toggle{display:flex;justify-content:center;align-items:center;width:48px;min-width:48px;height:48px;padding:0;border:0;border-radius:0;z-index:1002}
 .menu-icon{position:relative;display:block;width:22px;height:18px}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0;width:22px;height:2px;background:var(--ink);transition:transform .18s ease,top .18s ease;top:5px}.menu-icon:after{top:12px}
 .menu-toggle[aria-expanded=true] .menu-icon:before{top:8px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon:after{top:8px;transform:rotate(-45deg)}
 .js .site-nav{display:none;position:fixed;inset:0;z-index:1000;background:var(--cream);width:100%;height:100dvh;padding:120px 32px 40px;overflow:auto;overscroll-behavior:contain}
 .js .site-nav.is-open{display:flex;align-items:center;justify-content:center}.site-nav ul{width:min(100%,600px);padding:0}.site-nav li{border-bottom:1px solid var(--line)}.site-nav a{font-family:Georgia,serif;font-size:clamp(27px,4.5vw,40px);font-weight:400;padding:15px 0;line-height:1.2}
 .site-nav li:last-child{border:0}.site-nav li:last-child a{display:flex;justify-content:center;padding:16px 22px;margin-top:24px;font-family:Arial,Helvetica,sans-serif;font-weight:600;font-size:17px;border-radius:5px}
 .menu-open,.menu-open body{overflow:hidden}.menu-open .menu-toggle{position:fixed;top:22px;right:24px}.menu-open .brand{position:fixed;top:10px;left:24px;z-index:1001}.menu-open .site-header{position:relative;z-index:1000}.header-inner{min-height:104px}
}
@media(max-width:600px){.header-inner{min-height:88px}.js .site-nav{padding:106px 26px 30px}.menu-open .menu-toggle{top:17px;right:22px}.menu-open .brand{top:8px;left:22px}.site-nav a{padding:14px 0}}


@font-face{font-family:'Honey Candy';src:url('https://www.soffrittoldn.co.uk/wp-content/uploads/2024/06/Honey-Candy.ttf.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}h1,h2,.footer-name{font-family:'Honey Candy',Georgia,serif;letter-spacing:0}.entry-generic h2{font-family:Georgia,serif;letter-spacing:-.02em;font-size:30px;margin-top:40px}
/* Match consent controls to the site, keeping accept and reject equally prominent. */
.cmplz-cookiebanner{font-family:Arial,Helvetica,sans-serif!important;--cmplz_banner_background_color:#faf8f2;--cmplz_text_color:#183d32;--cmplz_border_color:#d8ded6;--cmplz_link_color:#183d32}.cmplz-cookiebanner .cmplz-btn.cmplz-accept,.cmplz-cookiebanner .cmplz-btn.cmplz-deny{background:#183d32!important;color:#fff!important;border:1px solid #183d32!important}.cmplz-cookiebanner .cmplz-btn{min-height:44px}.menu-open .cmplz-cookiebanner,.menu-open #cmplz-manage-consent{visibility:hidden}
	