/*
Theme Name: OCNM Premium Classic v6
Theme URI: https://ovencleanersnearme.co.uk
Author: OCNM
Description: Premium lead generation classic theme with consistent luxury domestic styling.
Version: 6.2
*/

:root{
  --sage:#2f5d50;
  --sage-dark:#25493f;
  --sage-soft:#dfe7df;
  --cream:#f6f3ee;
  --mist:#eef2f1;
  --paper:#fbfaf8;
  --stone:#ede8e1;
  --ink:#1f2323;
  --muted:#5a6462;
  --border:#d9d3cc;
  --line:#ece5de;
  --shadow:0 16px 36px rgba(22,28,25,.08);
  --radius:16px;
  --container:1120px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  font-size:16px;
  line-height:1.65;
  color:var(--ink);
  background:#fff;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--sage-dark);text-decoration:none;}
a:hover{color:var(--sage);}
p{margin:0 0 16px;}
ul,ol{margin:0 0 16px 22px;}

h1,h2,h3,h4,h5,h6,
.brand,
.ocnm-section-title,
.ocnm-page-title,
.ocnm-hero-title,
.site-footer-cta h2,
.site-footer-title{
  font-family:Georgia, "Times New Roman", serif;
  font-weight:400;
  letter-spacing:-.02em;
  color:var(--ink);
}

.container,
.ocnm-container,
.ocnm-wrap{
  width:min(var(--container), calc(100% - 40px));
  margin:0 auto;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:12px 22px;
  border-radius:999px;
  border:1px solid var(--sage);
  background:var(--sage);
  color:#fff;
  font-weight:700;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  box-shadow:0 12px 24px rgba(47,93,80,.18);
}
.btn:hover{color:#fff;background:var(--sage-dark);transform:translateY(-1px);}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55);box-shadow:none;}
.btn--ghost:hover{background:rgba(255,255,255,.12);}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(217,211,204,.8);
}
.site-header .inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:82px;
}
.brand a{
  display:inline-flex;
  align-items:center;
  font-size:28px;
  color:var(--ink);
}
.brand img{max-height:58px;width:auto;}
.nav{margin-left:auto;}
.primary-menu,
.footer-menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap;
}
.primary-menu a,
.footer-menu a{
  color:var(--ink);
  font-weight:600;
}
.primary-menu a:hover,
.footer-menu a:hover{color:var(--sage);}

.ocnm-home{background:var(--paper);}
.ocnm-section{padding:72px 0;}
.ocnm-section--stone{background:var(--stone);}
.ocnm-section--paper{background:var(--paper);}
.ocnm-section-heading{text-align:center;margin-bottom:28px;}
.ocnm-section-title{margin:0 0 10px;font-size:clamp(28px, 3vw, 42px);}
.ocnm-section-intro{max-width:760px;margin:0 auto;color:var(--muted);font-size:18px;}

.ocnm-hero{
  position:relative;
  min-height:460px;
  display:flex;
  align-items:center;
  text-align:center;
  background-image:linear-gradient(rgba(32,30,27,.34), rgba(32,30,27,.34)), var(--ocnm-hero-image, url('assets/hero.webp'));
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.ocnm-hero-inner{width:min(980px, calc(100% - 40px));margin:0 auto;padding:96px 0 108px;}
.ocnm-hero-kicker,
.ocnm-page-kicker{
  margin:0 0 10px;
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#f7f2ea;
}
.ocnm-page-kicker{color:var(--muted);}
.ocnm-hero-title{margin:0 0 14px;font-size:clamp(2.5rem, 4vw, 4.5rem);line-height:1.05;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.18);}
.ocnm-hero-text{max-width:760px;margin:0 auto 28px;color:rgba(255,255,255,.95);font-size:clamp(1.05rem,1.5vw,1.35rem);}
.ocnm-hero-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}

.ocnm-grid{display:grid;gap:22px;}
.ocnm-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.ocnm-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.ocnm-card,
.ocnm-page-content,
.ocnm-contact-card,
.ocnm-about-card,
.ocnm-location-card{
  background:#fff;
  border:1px solid rgba(217,211,204,.9);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.ocnm-card-body{padding:24px;}
.ocnm-feature-card{display:flex;align-items:flex-start;gap:14px;padding:20px;min-height:112px;}
.ocnm-feature-icon{width:46px;height:46px;border-radius:50%;border:1px solid #cdd4cc;display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 46px;background:#f7faf7;}
.ocnm-feature-title{margin:0 0 4px;font-size:19px;}
.ocnm-feature-desc{margin:0;color:var(--muted);font-size:14px;}
.ocnm-step-card{text-align:left;overflow:hidden;}
.ocnm-step-icon-wrap{padding:18px;border-bottom:1px solid var(--line);background:#f6f2ed;text-align:center;}
.ocnm-step-icon{font-size:38px;line-height:1;color:var(--sage-dark);}
.ocnm-step-card h3{margin:0 0 8px;font-size:20px;}
.ocnm-step-card p{margin:0;color:var(--muted);}
.ocnm-article-card img{width:100%;aspect-ratio:16/10;object-fit:cover;}
.ocnm-article-card h3{margin:0 0 8px;font-size:20px;line-height:1.3;}
.ocnm-article-meta{margin:0;color:var(--muted);font-size:14px;}
.ocnm-center-cta{text-align:center;}
.ocnm-center-cta p{max-width:760px;margin:0 auto 24px;color:var(--muted);font-size:18px;}
.ocnm-articles-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;}
.ocnm-articles-head h2{margin:0;font-size:34px;}

.ocnm-page-shell{background:var(--paper);padding:0 0 72px;}
.ocnm-page-hero{
  background:linear-gradient(180deg, #f4f0eb 0%, #f8f6f3 100%);
  padding:58px 0 44px;
  border-bottom:1px solid rgba(217,211,204,.7);
  margin-bottom:28px;
}
.ocnm-page-hero--image{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  padding:86px 0 72px;
}
.ocnm-page-title{margin:0;font-size:clamp(32px,4vw,50px);line-height:1.08;text-align:center;}
.ocnm-page-intro,
.ocnm-page-hero p{
  max-width:780px;
  margin:14px auto 0;
  text-align:center;
  color:var(--muted);
  font-size:18px;
}
.ocnm-page-hero--image .ocnm-page-title,
.ocnm-page-hero--image .ocnm-page-intro,
.ocnm-page-hero--image .ocnm-page-intro p,
.ocnm-page-hero--image .ocnm-page-kicker{
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.18);
}
.ocnm-page-content{padding:34px;}
.ocnm-page-content > *:first-child{margin-top:0;}
.ocnm-page-content h2{font-size:30px;margin:0 0 14px;}
.ocnm-page-content h3{font-size:22px;margin:24px 0 10px;}

.ocnm-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.ocnm-contact-card{padding:26px;}
.ocnm-contact-card h2{margin:0 0 12px;font-size:24px;}
.ocnm-contact-card p{color:var(--muted);}
.ocnm-contact-editor-wrap{margin-bottom:22px;}
.ocnm-contact-editor{background:#f6f2ed;}

.ocnm-about-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:22px;}
.ocnm-about-card{grid-column:span 6;padding:28px;}
.ocnm-about-card--wide{grid-column:span 12;}
.ocnm-about-card h2{margin:0 0 12px;font-size:26px;}
.ocnm-steps{display:grid;gap:18px;}
.ocnm-step{display:flex;gap:14px;align-items:flex-start;padding-top:16px;border-top:1px solid var(--line);}
.ocnm-step:first-child{border-top:none;padding-top:0;}
.ocnm-step-number{width:40px;height:40px;border-radius:50%;background:var(--sage);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex:0 0 40px;}
.ocnm-about-cta{margin-top:40px;background:linear-gradient(rgba(24,49,42,.68), rgba(24,49,42,.68)), url('assets/hero.webp');background-size:cover;background-position:center;color:#fff;border-radius:16px;overflow:hidden;}
.ocnm-about-cta-inner{padding:54px 34px;text-align:center;}
.ocnm-about-cta h2,.ocnm-about-cta p,.ocnm-cta-label{color:#fff;}
.ocnm-cta-label{font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 8px;opacity:.9;}

.ocnm-location-main{padding-top:6px;}
.ocnm-location-lead-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:24px;align-items:stretch;}
.ocnm-location-lead-grid--single{grid-template-columns:1fr;}
.ocnm-location-lead-copy,
.ocnm-location-lead-media,
.ocnm-location-card{
  background:#fff;
  border:1px solid rgba(217,211,204,.9);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.ocnm-location-lead-copy{padding:32px;}
.ocnm-location-kicker{margin:0 0 10px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--sage-dark);}
.ocnm-location-lead-copy h2{margin:0 0 12px;font-size:30px;}
.ocnm-location-meta{color:var(--muted);}
.ocnm-location-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px;align-items:center;}
.ocnm-location-link{font-weight:700;}
.ocnm-location-lead-media{overflow:hidden;min-height:100%;}
.ocnm-location-lead-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;}
.ocnm-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:22px;}
.ocnm-location-card{padding:28px;}
.ocnm-location-card h2{margin:0 0 12px;font-size:26px;}
.ocnm-location-editor{margin-top:22px;}

.ocnm-town-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.ocnm-town-links li{margin:0;}
.ocnm-town-links a{
  display:block;
  background:#fff;
  border:1px solid rgba(217,211,204,.9);
  border-radius:12px;
  box-shadow:var(--shadow);
  padding:16px 18px;
  color:var(--ink);
  font-weight:600;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ocnm-town-links a:hover{
  transform:translateY(-2px);
  border-color:var(--sage-soft);
  box-shadow:0 10px 24px rgba(0,0,0,.08);
  color:var(--sage-dark);
}
.ocnm-county-lead,.ocnm-county-locations,.ocnm-county-services,.ocnm-county-cta{padding-bottom:28px;}

.wpforms-container{max-width:none!important;margin:0!important;}
.wpforms-container .wpforms-field-label{font-weight:700!important;color:var(--ink)!important;}
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="number"],
.wpforms-container textarea,
.wpforms-container select{
  width:100%!important;
  padding:14px!important;
  border:1px solid #d8d2ca!important;
  border-radius:10px!important;
  background:#fff!important;
  font-size:16px!important;
  color:var(--ink)!important;
}
.wpforms-container textarea{min-height:150px!important;}

.site-footer-cta{
  background:linear-gradient(rgba(26,54,48,.82), rgba(26,54,48,.82)), var(--ocnm-footer-image, none);
  background-color:var(--sage-dark);
  background-size:cover;
  background-position:center;
  text-align:center;
  padding:66px 20px;
}
.site-footer-kicker{margin:0 0 8px;color:rgba(255,255,255,.84);font-size:13px;text-transform:uppercase;letter-spacing:.12em;}
.site-footer-cta h2{margin:0 0 12px;font-size:36px;color:#fff;}
.site-footer-cta-text{max-width:720px;margin:0 auto 22px;color:rgba(255,255,255,.92);}
.site-footer-main{background:linear-gradient(180deg,#22252d 0%,#11131a 100%);color:#ddd8d0;padding:38px 0 42px;}
.site-footer-divider{height:1px;background:rgba(255,255,255,.12);margin-bottom:18px;}
.site-footer-row{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap;}
.site-footer-branding{max-width:420px;}
.site-footer-title{margin:0 0 8px;font-size:30px;color:#fff;}
.site-footer-copy{margin:0;color:#cfcac2;}
.site-footer-nav .footer-menu{gap:18px 24px;justify-content:flex-end;}
.site-footer-nav a,.site-footer-legal a{color:#ddd8d0;}
.site-footer-nav a:hover,.site-footer-legal a:hover{color:#fff;}
.site-footer-meta{margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:14px;color:#cfcac2;}
.site-footer-legal{display:flex;gap:20px;flex-wrap:wrap;}

@media (max-width: 980px){
  .ocnm-grid--4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ocnm-grid--3,
  .ocnm-location-grid,
  .ocnm-contact-grid,
  .ocnm-town-links{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ocnm-location-lead-grid{grid-template-columns:1fr;}
  .ocnm-about-card{grid-column:span 12;}
}

@media (max-width: 760px){
  .site-header .inner{min-height:auto;padding:16px 0;flex-direction:column;align-items:flex-start;}
  .nav{margin-left:0;width:100%;}
  .primary-menu{gap:14px 18px;}
  .ocnm-hero{min-height:400px;}
  .ocnm-hero-inner{padding:82px 0 90px;}
  .ocnm-section,.ocnm-page-shell{padding-bottom:56px;}
  .ocnm-section{padding-top:56px;}
  .ocnm-page-hero{padding:44px 0 32px;}
  .ocnm-page-hero--image{padding:66px 0 54px;}
  .ocnm-page-content,
  .ocnm-contact-card,
  .ocnm-about-card,
  .ocnm-location-card,
  .ocnm-location-lead-copy{padding:24px;}
  .ocnm-articles-head,
  .site-footer-row,
  .site-footer-meta{flex-direction:column;align-items:flex-start;}
  .site-footer-nav .footer-menu{justify-content:flex-start;}
}

@media (max-width: 580px){
  .container,.ocnm-container,.ocnm-wrap{width:min(var(--container), calc(100% - 28px));}
  .ocnm-grid--4,
  .ocnm-grid--3,
  .ocnm-location-grid,
  .ocnm-contact-grid,
  .ocnm-town-links{grid-template-columns:1fr;}
  .ocnm-hero-actions,
  .ocnm-location-actions{flex-direction:column;align-items:stretch;}
  .btn,.btn--ghost{width:100%;}
}

/* ------------------------------------------------
FAQ BLOCK
------------------------------------------------ */



/* FAQ SYSTEM */
.ocnm-faq{padding:56px 0;background:var(--mist);border-top:1px solid var(--border,#dde5e2)}
.ocnm-section-heading{max-width:760px;margin:0 0 24px}
.ocnm-section-heading h2{margin:0 0 10px;font-size:clamp(1.8rem,3vw,2.4rem)}
.ocnm-section-heading p{margin:0;color:var(--muted)}
.ocnm-faq-list{display:grid;gap:14px}
.ocnm-faq-item{background:#fff;border:1px solid var(--border,#dde5e2);border-radius:14px;box-shadow:0 10px 24px rgba(15,23,42,.05);overflow:hidden}
.ocnm-faq-item summary{cursor:pointer;list-style:none;padding:18px 22px;font-weight:700;font-size:1.05rem;position:relative}
.ocnm-faq-item summary::-webkit-details-marker{display:none}
.ocnm-faq-item summary::after{content:'+';position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:1.4rem;line-height:1;color:var(--sage-dark)}
.ocnm-faq-item[open] summary::after{content:'–'}
.ocnm-faq-answer{padding:0 22px 22px;color:var(--ink)}
.ocnm-faq-answer p:last-child{margin-bottom:0}

/* WhatsApp button */
.ocnm-wa-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:12px 22px;
  border-radius:999px;
  border:1px solid #25d366;
  background:#25d366;
  color:#fff;
  font-weight:700;
  font-size:1rem;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  box-shadow:0 12px 24px rgba(37,211,102,.25);
  width:100%;
  margin-bottom:12px;
}
.ocnm-wa-btn::before{
  content:'';
  display:inline-block;
  width:22px;
  height:22px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z'/%3E%3Cpath d='M12 0C5.373 0 0 5.373 0 12c0 2.126.555 4.126 1.526 5.862L.057 23.522a.5.5 0 00.608.65l5.88-1.54A11.945 11.945 0 0012 24c6.627 0 12-5.373 12-12S18.627 0 12 0zm0 22c-1.907 0-3.7-.504-5.25-1.385l-.378-.219-3.913 1.027 1.003-3.786-.245-.395A9.956 9.956 0 012 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-size:contain;
}
.ocnm-wa-btn:hover{color:#fff;background:#1ebe5d;transform:translateY(-1px);}

/* Hide HubSpot free branding banner */
.hs-form-iframe-banner,
.hbspt-form .hs-form-branding,
[data-reactroot] .legal-consent-container ~ .hs-form-branding,
.leadin-local-widget-wrapper > div:first-child:not(.hs-form-frame),
#viral-link-form,
.ViralLink_StyledViralLink,
.hs-form-frame + div,
[class*="ViralLink"]{
  display:none !important;
}