/*
Theme Name: AI Consultation
Theme URI: https://aiconsultation.co.uk
Description: Child theme for aiconsultation.co.uk. Adds the homepage pattern, page title bands, service cards and Forminator styling on top of GeneratePress.
Author: Pixus
Author URI: https://pixus.uk
Template: generatepress
Version: 1.2.2
Text Domain: aiconsultation
*/

/* ---------- Tokens ---------- */
:root{
  --aic-petrol:#0E3B4E;
  --aic-petrol-deep:#092A38;
  --aic-amber:#E8A33D;
  --aic-amber-deep:#C9861F;
  --aic-mist:#E6EEF1;
  --aic-paper:#F7F4EE;
  --aic-white:#FFFFFF;
  --aic-ink:#0E3B4E;
  --aic-ink-soft:#3D5561;
  --aic-muted:#6B7C85;
  --aic-line:#E4DFD4;
  --aic-radius:10px;
  --aic-font:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --aic-max:1120px;
}

/* ---------- Base ---------- */
body{
  font-family:var(--aic-font);
  background:var(--aic-paper);
  color:var(--aic-ink);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--aic-font);color:var(--aic-ink);font-weight:600;line-height:1.15;letter-spacing:-0.01em;margin-top:0}
h1{font-size:clamp(2rem,4.5vw,3.2rem)}
h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:.6em}
h3{font-size:1.25rem}
p{margin:0 0 1.2em;max-width:70ch}
a{color:var(--aic-petrol);text-decoration:underline;text-decoration-color:var(--aic-amber);text-underline-offset:3px}
a:hover{color:var(--aic-petrol-deep)}
:focus-visible{outline:3px solid var(--aic-amber);outline-offset:2px}

.site-content,.inside-article,.entry-content{max-width:none}
.grid-container,.inside-header,.inside-site-info{max-width:var(--aic-max)}
.site-main{margin:0}
.separate-containers .inside-article,.one-container .site-content{background:transparent;padding:0}
.inside-article{padding:0}

/* ---------- Header ---------- */
.site-header{background:var(--aic-paper);border-bottom:1px solid var(--aic-line)}
.inside-header{padding:18px 20px}
.main-title a,.site-logo img{color:var(--aic-ink)}
.main-title{font-weight:600;font-size:1.15rem;letter-spacing:-0.01em}
.main-navigation{background:transparent}
.main-navigation .main-nav ul li a{color:var(--aic-ink-soft);font-weight:500;font-size:.95rem;text-decoration:none;padding:0 14px;line-height:52px}
.main-navigation .main-nav ul li a:hover,.main-navigation .main-nav ul li.current-menu-item > a{color:var(--aic-petrol)}
.main-navigation ul ul{background:var(--aic-white);border:1px solid var(--aic-line);border-radius:var(--aic-radius);box-shadow:0 8px 24px rgba(14,59,78,.08)}
.main-navigation ul ul li a{line-height:1.4;padding:10px 16px;color:var(--aic-ink-soft)}
.main-navigation .menu-toggle,.main-navigation .menu-bar-item a{color:var(--aic-ink)}
.main-navigation.toggled .main-nav > ul{background:var(--aic-white);border-top:1px solid var(--aic-line)}

/* ---------- Buttons ---------- */
.button,.wp-block-button__link,.aic-btn,
.forminator-ui.forminator-custom-form .forminator-button-submit,
.forminator-button.forminator-button-submit{
  display:inline-block;
  background:var(--aic-amber);
  color:#2B1A02 !important;
  font-family:var(--aic-font);
  font-weight:600;
  font-size:1rem;
  padding:13px 22px;
  border-radius:8px;
  border:0;
  text-decoration:none;
  line-height:1.2;
  cursor:pointer;
  transition:background .15s ease;
}
.button:hover,.wp-block-button__link:hover,.aic-btn:hover,
.forminator-ui.forminator-custom-form .forminator-button-submit:hover,
.forminator-button.forminator-button-submit:hover{background:var(--aic-amber-deep);color:#2B1A02 !important}
.wp-block-button.is-style-outline .wp-block-button__link,.aic-btn--ghost{
  background:transparent;
  border:1.5px solid currentColor;
  color:inherit !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,.aic-btn--ghost:hover{background:rgba(255,255,255,.08)}

/* ---------- Page title band (all pages except home) ---------- */
.aic-band{background:var(--aic-petrol);color:var(--aic-paper);padding:clamp(40px,7vw,80px) 20px}
.aic-band__inner{max-width:var(--aic-max);margin:0 auto}
.aic-band .aic-crumbs{font-size:.85rem;color:#9FC3D0;margin:0 0 14px}
.aic-band .aic-crumbs a{color:#9FC3D0;text-decoration:none}
.aic-band .aic-crumbs a:hover{color:var(--aic-paper)}
.aic-band .aic-crumbs span{margin:0 8px;opacity:.6}
.aic-band h1{color:var(--aic-paper);margin:0;max-width:20ch}
.aic-band p{color:#C9D9E0;margin:14px 0 0;font-size:1.1rem;max-width:56ch}
.page .site-content,.single .site-content{padding:0}
.page:not(.home) .entry-content,.single .entry-content{max-width:var(--aic-max);margin:0 auto;padding:clamp(36px,5vw,64px) 20px}
.page:not(.home) .entry-content > :where(p,ul,ol,h2,h3,h4,blockquote){max-width:70ch}

/* ---------- Sections ---------- */
.aic-section{padding:clamp(48px,7vw,96px) 20px}
.aic-section__inner{max-width:var(--aic-max);margin:0 auto}
.aic-section--petrol{background:var(--aic-petrol);color:var(--aic-paper)}
.aic-section--petrol h1,.aic-section--petrol h2,.aic-section--petrol h3{color:var(--aic-paper)}
.aic-section--petrol p{color:#C9D9E0}
.aic-section--petrol a{color:var(--aic-paper)}
.aic-section--white{background:var(--aic-white)}
.aic-section--mist{background:var(--aic-mist)}
.aic-lead{font-size:1.2rem;color:var(--aic-ink-soft)}
.aic-kicker{color:var(--aic-muted);font-size:.95rem;margin-bottom:8px}

/* Hero (home) */
.aic-hero{background:var(--aic-petrol);color:var(--aic-paper);padding:clamp(64px,10vw,140px) 20px}
.aic-hero__inner{max-width:var(--aic-max);margin:0 auto}
.aic-hero h1{color:var(--aic-paper);max-width:16ch;margin-bottom:.4em}
.aic-hero p{color:#C9D9E0;font-size:1.2rem;max-width:52ch}
.aic-hero .wp-block-buttons{margin-top:28px;gap:12px}
.aic-hero .wp-block-buttons .wp-block-button__link{border-radius:8px}

/* Trust strip */
.aic-trust{background:var(--aic-paper);border-bottom:1px solid var(--aic-line);padding:22px 20px;text-align:center;color:var(--aic-muted);font-size:.95rem}
.aic-trust p{margin:0 auto}

/* Service cards */
.aic-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}
.aic-card{background:var(--aic-white);border:1px solid var(--aic-line);border-radius:var(--aic-radius);padding:28px 26px;display:flex;flex-direction:column}
.aic-card__icon{width:40px;height:40px;border-radius:8px;background:var(--aic-mist);color:var(--aic-amber-deep);display:grid;place-items:center;margin-bottom:18px}
.aic-card__icon svg{width:22px;height:22px}
.aic-card h3{margin:0 0 8px}
.aic-card p{color:var(--aic-ink-soft);font-size:1rem;flex:1}
.aic-card__price{font-weight:600;color:var(--aic-ink);margin:0 0 14px !important}
.aic-card__price small{font-weight:500;color:var(--aic-muted)}
.aic-card a.aic-card__link{text-decoration:none;font-weight:600}
.aic-card a.aic-card__link::after{content:" \203A"}

/* Sectors */
.aic-sectors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0}
.aic-sectors li a{display:block;background:var(--aic-white);border:1px solid var(--aic-line);border-radius:var(--aic-radius);padding:20px 22px;text-decoration:none;font-weight:600;color:var(--aic-ink)}
.aic-sectors li a:hover{border-color:var(--aic-petrol)}

/* Proof */
.aic-quote{background:var(--aic-mist);border-radius:var(--aic-radius);padding:32px;max-width:760px}
.aic-quote blockquote{margin:0;border:0;padding:0;font-size:1.3rem;line-height:1.5;color:var(--aic-ink);font-style:normal}
.aic-quote cite{display:block;margin-top:16px;font-style:normal;color:var(--aic-muted);font-size:.95rem}

/* Process */
.aic-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;list-style:none;margin:0;padding:0;counter-reset:step}
.aic-steps li{counter-increment:step;padding-top:14px;border-top:2px solid var(--aic-amber)}
.aic-steps li::before{content:counter(step);display:block;font-weight:600;color:var(--aic-amber-deep);margin-bottom:6px}
.aic-steps h3{font-size:1.05rem;margin-bottom:6px}
.aic-steps p{font-size:.95rem;color:var(--aic-ink-soft);margin:0}

/* Contact block (home + pages) */
.aic-contact{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start}
.aic-contact__form{background:var(--aic-white);border:1px solid var(--aic-line);border-radius:var(--aic-radius);padding:28px}
.aic-contact__meta p{margin-bottom:.6em}

/* Page CTA block (used on location/service/sector pages) */
.aic-page-cta{background:var(--aic-white);border-top:1px solid var(--aic-line);padding:clamp(48px,7vw,80px) 20px}
.aic-page-cta__inner{max-width:var(--aic-max);margin:0 auto}
.aic-page-cta .aic-cards{margin-bottom:48px}
.aic-page-cta .aic-card{padding:22px}

/* Homepage content sections */
.aic-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.aic-intro img{width:100%;height:auto;border-radius:var(--aic-radius);display:block}
.aic-benefits{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px}
.aic-benefits li{padding-left:30px;position:relative;font-size:1rem;color:var(--aic-ink-soft)}
.aic-benefits li strong{color:var(--aic-ink);display:block}
.aic-benefits li::before{content:"";position:absolute;left:0;top:7px;width:16px;height:16px;border-radius:50%;background:var(--aic-amber)}
.aic-list{list-style:none;margin:0 0 24px;padding:0;max-width:760px}
.aic-list li{padding:18px 0;border-bottom:1px solid var(--aic-line);color:var(--aic-ink-soft)}
.aic-list li:first-child{border-top:1px solid var(--aic-line)}
.aic-list li strong{color:var(--aic-ink);display:block;margin-bottom:4px}
.aic-list li a{text-decoration:none;font-weight:600}
.aic-industries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;list-style:none;margin:0;padding:0}
.aic-industries li{background:var(--aic-white);border:1px solid var(--aic-line);border-radius:var(--aic-radius);padding:26px}
.aic-industries h3{margin-bottom:8px;font-size:1.1rem}
.aic-industries p{margin:0;font-size:.95rem;color:var(--aic-ink-soft)}
.aic-steps--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.aic-note{color:var(--aic-muted);font-size:.95rem;margin-top:20px}
@media (max-width:900px){.aic-intro,.aic-industries,.aic-steps--5{grid-template-columns:1fr 1fr}.aic-intro{grid-template-columns:1fr}}
@media (max-width:600px){.aic-benefits,.aic-industries,.aic-steps--5{grid-template-columns:1fr}}
/* Classic editor stray paragraphs */
.entry-content > p:empty,.aic-section__inner > p:empty,.aic-hero__inner > p:empty{display:none}
.aic-hero__inner > br,.aic-section__inner > br{display:none}

/* ---------- Forminator ---------- */
.forminator-ui.forminator-custom-form{font-family:var(--aic-font) !important}
.forminator-ui.forminator-custom-form .forminator-label{color:var(--aic-ink) !important;font-weight:600 !important;font-size:.95rem !important;font-family:var(--aic-font) !important}
.forminator-ui.forminator-custom-form .forminator-input,
.forminator-ui.forminator-custom-form .forminator-textarea,
.forminator-ui.forminator-custom-form .forminator-select2 .selection .select2-selection{
  background:var(--aic-paper) !important;
  border:1px solid var(--aic-line) !important;
  border-radius:8px !important;
  box-shadow:none !important;
  color:var(--aic-ink) !important;
  font-family:var(--aic-font) !important;
  font-size:1rem !important;
  padding:12px 14px !important;
}
.forminator-ui.forminator-custom-form .forminator-input:focus,
.forminator-ui.forminator-custom-form .forminator-textarea:focus{border-color:var(--aic-petrol) !important;outline:2px solid var(--aic-amber) !important;outline-offset:1px}
.forminator-ui.forminator-custom-form .forminator-input-with-icon .forminator-icon-calendar{color:var(--aic-muted) !important}
.forminator-ui.forminator-custom-form .forminator-button-submit{width:100%;border-radius:8px !important}
.forminator-ui.forminator-custom-form .forminator-response-message.forminator-success{background:var(--aic-mist) !important;color:var(--aic-ink) !important;border-radius:8px}
.forminator-ui.forminator-custom-form .forminator-error-message{color:#A03A1F !important}

/* ---------- Footer ---------- */
.site-footer{background:var(--aic-petrol-deep);color:#C9D9E0}
.site-info{background:transparent;color:#9FC3D0;font-size:.9rem;padding:28px 20px}
.site-info a{color:#C9D9E0;text-decoration:none}
.footer-widgets{background:var(--aic-petrol-deep);color:#C9D9E0;padding:56px 20px 24px}
.footer-widgets .widget-title{color:var(--aic-paper);font-size:1rem}
.footer-widgets a{color:#C9D9E0;text-decoration:none}
.footer-widgets a:hover{color:var(--aic-paper)}
.footer-bar{color:#9FC3D0}

/* ---------- Blog / archives keep it tidy ---------- */
.archive .site-content,.blog .site-content{max-width:var(--aic-max);margin:0 auto;padding:48px 20px}
.entry-title a{color:var(--aic-ink);text-decoration:none}
.entry-meta{color:var(--aic-muted);font-size:.9rem}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .aic-cards,.aic-sectors{grid-template-columns:1fr 1fr}
  .aic-steps{grid-template-columns:1fr 1fr}
  .aic-contact{grid-template-columns:1fr;gap:28px}
}
@media (max-width:600px){
  .aic-cards,.aic-sectors,.aic-steps{grid-template-columns:1fr}
  body{font-size:16px}
  .aic-hero p,.aic-band p{font-size:1.05rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important}}

/* Front page template */
.aic-front{width:100%;padding:0;margin:0}
.home .site-content{padding:0;max-width:none}

/* Built-in form */
.aic-form label{display:block;font-weight:600;font-size:.95rem;margin-bottom:14px;color:var(--aic-ink)}
.aic-form input,.aic-form textarea{display:block;width:100%;margin-top:6px;background:var(--aic-paper);border:1px solid var(--aic-line);border-radius:8px;padding:12px 14px;font:inherit;font-weight:500;color:var(--aic-ink);font-size:1rem}
.aic-form input:focus,.aic-form textarea:focus{border-color:var(--aic-petrol);outline:2px solid var(--aic-amber);outline-offset:1px}
.aic-form button{width:100%;margin-top:6px}
.aic-form__hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.aic-form__ok{background:var(--aic-mist);border-radius:8px;padding:20px;color:var(--aic-ink)}
.aic-form__err{background:#FBEDE7;border-radius:8px;padding:14px;color:#A03A1F;margin-bottom:16px}

/* Logo sizing */
.site-logo img,.site-header .header-image,.navigation-logo img{max-height:44px;width:auto;height:auto}
.site-logo{display:flex;align-items:center}
@media (max-width:768px){.site-logo img{max-height:36px}}

/* Hard overrides (customiser and GP inline CSS) */
.site-header .site-logo img,#site-logo img,.site-header .header-image,.navigation-logo img{max-height:44px !important;height:44px !important;width:auto !important;max-width:none !important}
.inside-header{padding-top:14px !important;padding-bottom:14px !important}
.main-navigation .main-nav ul li a{line-height:44px !important;padding:0 12px !important;font-size:.92rem !important}
.home .site-content.grid-container,.home #content{max-width:none !important;padding:0 !important;margin:0 !important}
.home .site-main,.home .content-area{margin:0 !important;padding:0 !important}
.home .aic-front{width:100%}
@media (max-width:768px){.site-header .site-logo img,#site-logo img{max-height:36px !important;height:36px !important}}
