.elementor-kit-10{--e-global-color-primary:#7D957F;--e-global-color-secondary:#F2C4A7;--e-global-color-text:#252520;--e-global-color-accent:#C9DDEB;--e-global-color-73f13cb:#7D957F;--e-global-color-43ad931:#A8B8A0;--e-global-color-92bdadd:#F2C4A7;--e-global-color-69c3ea2:#F2C4A7;--e-global-color-41374f3:#C7D8B8;--e-global-color-103cf36:#F7F3EC;--e-global-color-1d2ecf3:#FFFFFF;--e-global-color-9e27d16:#252520;--e-global-color-2fe34bb:#888880;--e-global-color-e5e8539:#E6E1D6;--e-global-typography-primary-font-family:"Nunito";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Nunito";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Nunito";--e-global-typography-text-font-size:15px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Nunito";--e-global-typography-accent-font-weight:400;}.elementor-kit-10 e-page-transition{background-color:#FFBC7D;}.elementor-kit-10 a{color:var( --e-global-color-primary );}.elementor-kit-10 a:hover{color:var( --e-global-color-secondary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1500px;}.e-con{--container-max-width:1500px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//*
 ╔══════════════════════════════════════════════════════════╗
 ║  HAWTHORN TREE CCC — Global Styles                       ║
 ║  Elementor → Site Settings → Custom CSS                  ║
 ╚══════════════════════════════════════════════════════════╝
*/


/* ═══════════════════════════════════════════════════════════
   GOOGLE FONTS
═══════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,600;1,400;1,600&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;0,900;1,400&family=Caveat:wght@500;600;700&display=swap');


/* ═══════════════════════════════════════════════════════════
   BRAND TOKENS
═══════════════════════════════════════════════════════════ */
:root {
  --htccc-forest:    #2a4820;
  --htccc-forest-dk: #1a3014;
  --htccc-sage:      #5e8848;
  --htccc-berry:     #902038;
  --htccc-berry-dk:  #6e1828;
  --htccc-gold:      #c89038;
  --htccc-lichen:    #788870;
  --htccc-chalk:     #fdf9f2;
  --htccc-white:     #ffffff;
  --htccc-ink:       #2a2818;
  --htccc-ink-m:     #4a4830;
  --htccc-ink-l:     #7a7860;
  --htccc-rule:      #ece8dc;
}


/* ═══════════════════════════════════════════════════════════
   BASE RESETS
═══════════════════════════════════════════════════════════ */
body {
  font-family: 'Nunito', sans-serif;
  color: var(--htccc-ink);
  background: var(--htccc-chalk);
  -webkit-font-smoothing: antialiased;
}
em { font-style: italic; }
strong { font-weight: 800; }
a { color: var(--htccc-forest); transition: color .15s; }
a:hover { color: var(--htccc-berry); }


/* ═══════════════════════════════════════════════════════════
   SVG ICON FILL FIX
   Elementor applies fill:currentColor to all SVG children.
   This resets stroked icons correctly.
═══════════════════════════════════════════════════════════ */
.elementor-icon svg path,
.elementor-icon svg circle,
.elementor-icon svg line,
.elementor-icon svg polyline,
.elementor-icon svg polygon,
.elementor-icon svg rect,
.elementor-icon svg ellipse {
  fill: none !important;
}
.elementor-icon svg [fill="currentColor"],
.elementor-icon svg circle[fill="currentColor"] {
  fill: currentColor !important;
}
.elementor-icon-box-icon svg path,
.elementor-icon-box-icon svg circle,
.elementor-icon-box-icon svg line,
.elementor-icon-box-icon svg polyline,
.elementor-icon-box-icon svg polygon,
.elementor-icon-box-icon svg rect,
.elementor-icon-box-icon svg ellipse {
  fill: none !important;
}
.elementor-icon-box-icon svg [fill="currentColor"],
.elementor-icon-box-icon svg circle[fill="currentColor"] {
  fill: currentColor !important;
}


/* ═══════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════ */
.htccc-footer-rainbow-divider .elementor-divider-separator {
  background: linear-gradient(
    to right,
    #902038, #c89038, #5e8848, #2a4820,
    #788870, #c89038, #902038, #2a4820
  ) !important;
  border: none !important;
  height: 3px !important;
}
.htccc-footer-rainbow-divider .elementor-divider {
  padding: 0 !important;
  margin-bottom: 48px !important;
}
.htccc-footer-contact a {
  color: rgba(255,255,255,0.45);
  text-decoration: none;
}
.htccc-footer-contact a:hover { color: rgba(255,255,255,0.75); }
.htccc-footer-legal-links ul.elementor-icon-list-items {
  display: flex !important;
  flex-direction: row !important;
  gap: 16px !important;
  flex-wrap: wrap;
}
.htccc-footer-legal-links .elementor-icon-list-icon { display: none !important; }


/* ═══════════════════════════════════════════════════════════
   HEADER
═══════════════════════════════════════════════════════════ */
#htccc-header .htccc-nav-cta .elementor-button {
  background: var(--htccc-berry) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-weight: 900 !important;
}
#htccc-header .htccc-nav-cta .elementor-button:hover {
  background: var(--htccc-berry-dk) !important;
}
#htccc-header.elementor-sticky--active {
  box-shadow: 0 2px 16px rgba(0,0,0,0.18) !important;
}


/* ═══════════════════════════════════════════════════════════
   EYEBROW DOT
   Heading widget with class htccc-eyebrow gets a dot before it
═══════════════════════════════════════════════════════════ */
.htccc-eyebrow .elementor-heading-title {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
}
.htccc-eyebrow .elementor-heading-title::before {
  content: '';
  display: inline-block;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}


/* ═══════════════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════════════ */
.htccc-hero-right { position: relative; overflow: hidden; }
.htccc-hero-tag {
  position: absolute; bottom: 32px; left: 0;
  background: var(--htccc-forest); color: #fff;
  font-family: 'Caveat', cursive; font-size: 1.2rem; font-weight: 700;
  padding: 9px 22px; border-radius: 0 8px 8px 0;
  box-shadow: 0 4px 16px rgba(0,0,0,.2);
}
.htccc-hero-badge {
  position: absolute; top: 28px; right: 24px;
  background: var(--htccc-berry); color: #fff;
  font-family: 'Caveat', cursive; font-size: 1.5rem; font-weight: 700;
  padding: 12px 18px; border-radius: 8px; transform: rotate(4deg);
  box-shadow: 0 4px 14px rgba(0,0,0,.22); border: 3px solid #fff;
  text-align: center; line-height: 1.15;
}
.htccc-badge-sm { font-size: .8rem; display: block; opacity: .88; }
.htccc-hero-breadcrumb {
  font-size: .72rem;
  color: var(--htccc-ink-l);
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 24px;
}
.htccc-hero-breadcrumb a {
  color: var(--htccc-forest); font-weight: 700; text-decoration: none;
}
.htccc-hero-breadcrumb span { opacity: .55; }
.htccc-trust-row {
  display: flex; gap: 8px; flex-wrap: wrap;
  padding-top: 28px;
  border-top: 1px solid var(--htccc-rule);
}
.htccc-tpill {
  display: inline-flex; align-items: center; gap: 6px;
  border-radius: 6px; padding: 7px 12px;
  font-family: 'Nunito', sans-serif; font-size: .68rem; font-weight: 800;
  color: #fff;
}


/* ═══════════════════════════════════════════════════════════
   HOMEPAGE — STATS BAR
═══════════════════════════════════════════════════════════ */
.htccc-stats-bar-inner {
  display: flex !important;
  flex-direction: row !important;
  width: 100%;
}
.htccc-stat-cell {
  flex: 1;
  border-right: 1px solid var(--htccc-rule);
}
.htccc-stat-cell:last-child { border-right: none !important; }
@media (max-width: 768px) {
  .htccc-stat-cell {
    border-right: none !important;
    border-bottom: 1px solid var(--htccc-rule);
  }
  .htccc-stat-cell:last-child { border-bottom: none !important; }
}


/* ═══════════════════════════════════════════════════════════
   HOMEPAGE — APPROACH CARDS hover
═══════════════════════════════════════════════════════════ */
.htccc-icard { transition: transform .2s, box-shadow .2s; }
.htccc-icard:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 48px rgba(0,0,0,.09) !important;
}
.htccc-icard .elementor-icon-box-icon {
  border-radius: 50% !important;
  overflow: hidden;
}


/* ═══════════════════════════════════════════════════════════
   HOMEPAGE — STATEMENT section
═══════════════════════════════════════════════════════════ */
.htccc-stmt-left { overflow: hidden; min-height: 480px; }
.htccc-stmt-img-inner img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; display: block;
}


/* ═══════════════════════════════════════════════════════════
   HOMEPAGE — ROOM CARDS
═══════════════════════════════════════════════════════════ */
.htccc-rcard { transition: transform .25s, box-shadow .25s; }
.htccc-rcard:hover { transform: translateY(-6px) !important; }
.htccc-rcard-tag {
  position: absolute; bottom: 12px; left: 12px;
  color: #fff; padding: 7px 13px; border-radius: 7px;
  font-family: 'Nunito', sans-serif; font-weight: 800; font-size: .8rem;
  box-shadow: 0 3px 10px rgba(0,0,0,.25);
}
.htccc-rcard-stripe { height: 6px; width: 100%; }
.htccc-rcard-mid { margin-top: 28px !important; }
.htccc-rcard-link .elementor-button {
  background: transparent !important;
  padding-left: 0 !important;
  font-weight: 900 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* ═══════════════════════════════════════════════════════════
   HOMEPAGE — PHOTO STACK
═══════════════════════════════════════════════════════════ */
.htccc-photo-stack { position: relative; padding-bottom: 52px; }
.htccc-ps-main {
  border-radius: 16px; overflow: hidden;
  box-shadow: 0 24px 64px rgba(0,0,0,.12);
}
.htccc-ps-main img { width: 100%; height: 360px; object-fit: cover; display: block; }
.htccc-ps-float {
  position: absolute; bottom: 0; right: -16px; width: 52%;
  border-radius: 12px; overflow: hidden;
  border: 4px solid #fff; box-shadow: 0 12px 36px rgba(0,0,0,.14);
}
.htccc-ps-float img { width: 100%; height: 180px; object-fit: cover; display: block; }
.htccc-ps-label {
  background: var(--htccc-berry);
  font-family: 'Caveat', cursive; font-size: 1rem; font-weight: 700;
  color: #fff; padding: 8px 12px; text-align: center;
}
#htccc-why .elementor-icon-box-wrapper { gap: 14px; }
#htccc-why .elementor-icon-box-icon { flex-shrink: 0; }
#htccc-why .elementor-widget-icon-box {
  border-bottom: 1px solid var(--htccc-rule) !important;
  padding-bottom: 20px !important;
}
#htccc-why .elementor-widget-icon-box:last-child { border-bottom: none !important; }


/* ═══════════════════════════════════════════════════════════
   HOMEPAGE — FEES CARDS
═══════════════════════════════════════════════════════════ */
.htccc-fcard { transition: transform .2s, box-shadow .2s; }
.htccc-fcard:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 36px rgba(0,0,0,.08) !important;
}


/* ═══════════════════════════════════════════════════════════
   HOMEPAGE — APPLY SECTION
═══════════════════════════════════════════════════════════ */
#htccc-apply .elementor-icon-box-icon .elementor-icon {
  background: #fff !important;
  border-radius: 50% !important;
  padding: 14px !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.15) !important;
}
#htccc-apply .elementor-icon-box-title {
  font-family: 'Caveat', cursive !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,.85) !important;
}


/* ═══════════════════════════════════════════════════════════
   HOMEPAGE — TESTIMONIALS
═══════════════════════════════════════════════════════════ */
.htccc-qcard { transition: transform .2s, box-shadow .2s; }
.htccc-qcard:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 36px rgba(0,0,0,.08) !important;
}
.htccc-scard { transition: box-shadow .2s; }
.htccc-scard:hover { box-shadow: 0 8px 24px rgba(0,0,0,.07) !important; }


/* ═══════════════════════════════════════════════════════════
   BUTTONS — outline variants
   Class applied to the button widget wrapper
═══════════════════════════════════════════════════════════ */
.htccc-btn-outline-small .elementor-button {
  background: transparent !important;
  border: 2px solid var(--htccc-forest) !important;
  color: var(--htccc-forest) !important;
}
.htccc-btn-outline-small .elementor-button:hover {
  background: var(--htccc-forest) !important;
  color: #fff !important;
}
.htccc-btn-outline-white .elementor-button {
  background: transparent !important;
  border: 2.5px solid rgba(255,255,255,.6) !important;
  color: #fff !important;
}
.htccc-btn-outline-white .elementor-button:hover {
  background: rgba(255,255,255,.12) !important;
}


/* ═══════════════════════════════════════════════════════════
   ABOUT — HighScope PDR steps (still HTML widget)
═══════════════════════════════════════════════════════════ */
.htccc-pdr-step { position: relative; overflow: hidden; }
.htccc-pdr-steps > .htccc-pdr-step:last-child { border-right: none !important; }
.htccc-pdr-badge {
  display: inline-block;
  font-family: 'Nunito', sans-serif;
  font-size: .62rem; font-weight: 900;
  text-transform: uppercase; letter-spacing: .12em;
  color: white; padding: 4px 10px;
  border-radius: 4px; margin-bottom: 14px;
}


/* ═══════════════════════════════════════════════════════════
   ABOUT — Loose parts photo collage (still HTML widget)
═══════════════════════════════════════════════════════════ */
.htccc-loose-photos { display: flex; flex-direction: column; gap: 14px; }
.htccc-loose-main { border-radius: 14px; overflow: hidden; }
.htccc-loose-main img { width: 100%; height: 280px; object-fit: cover; display: block; }
.htccc-loose-sm-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.htccc-loose-sm { border-radius: 10px; overflow: hidden; }
.htccc-loose-sm img { width: 100%; height: 160px; object-fit: cover; display: block; }


/* ═══════════════════════════════════════════════════════════
   ABOUT — Environment gallery (still HTML widget)
═══════════════════════════════════════════════════════════ */
.htccc-env-gallery {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 16px;
}
.htccc-env-large { border-radius: 14px; overflow: hidden; grid-row: 1 / 3; }
.htccc-env-large img {
  width: 100%; height: 100%; min-height: 380px;
  object-fit: cover; display: block;
}
.htccc-env-sm-group { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.htccc-env-sm { border-radius: 10px; overflow: hidden; }
.htccc-env-sm img { width: 100%; height: 150px; object-fit: cover; display: block; }
.htccc-env-label {
  font-family: 'Caveat', cursive;
  font-size: .95rem; font-weight: 700;
  color: var(--htccc-ink-l); text-align: center; margin-top: 8px;
}
@media (max-width: 1060px) {
  .htccc-env-gallery { grid-template-columns: 1fr 1fr; }
  .htccc-env-large { grid-row: auto; }
}


/* ═══════════════════════════════════════════════════════════
   ABOUT — Team cards (stripe + initial placeholder still HTML)
═══════════════════════════════════════════════════════════ */
.htccc-team-card {
  background: white; border-radius: 14px; overflow: hidden;
  border: 1.5px solid var(--htccc-rule);
  transition: box-shadow .2s, transform .2s;
}
.htccc-team-card:hover {
  box-shadow: 0 12px 36px rgba(0,0,0,.09);
  transform: translateY(-4px);
}
.htccc-team-stripe { height: 5px; width: 100%; }
.htccc-team-placeholder {
  aspect-ratio: 4/3;
  background: linear-gradient(135deg, var(--htccc-chalk), var(--htccc-rule));
  display: flex; align-items: center; justify-content: center;
}
.htccc-team-note {
  font-family: 'Nunito', sans-serif;
  font-size: .82rem; color: var(--htccc-ink-m); line-height: 1.7;
  background: var(--htccc-chalk); border-radius: 10px;
  padding: 18px 24px; border: 1.5px solid var(--htccc-rule); text-align: center;
}


/* ═══════════════════════════════════════════════════════════
   ABOUT — Ofsted badge (still HTML widget)
═══════════════════════════════════════════════════════════ */
.htccc-ofsted-badge-wrap {
  display: flex; flex-direction: column;
  align-items: center; text-align: center;
}
.htccc-ofsted-badge {
  width: 220px; height: 220px; border-radius: 50%;
  background: var(--htccc-forest);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  border: 6px solid white;
  box-shadow: 0 0 0 2px var(--htccc-forest), 0 20px 56px rgba(42,72,32,.3);
  padding: 20px;
}
.htccc-ob-label {
  font-family: 'Nunito', sans-serif; font-size: .68rem; font-weight: 900;
  text-transform: uppercase; letter-spacing: .12em;
  color: rgba(255,255,255,.6); margin-bottom: 4px;
}
.htccc-ob-main {
  font-family: 'Lora', serif; font-size: 2.2rem; font-weight: 400;
  color: white; line-height: 1.1; text-align: center;
}
.htccc-ob-sub {
  font-family: 'Caveat', cursive; font-size: 1.15rem; font-weight: 700;
  color: rgba(255,255,255,.7); margin-top: 6px;
}
.htccc-ob-number {
  font-family: 'Nunito', sans-serif; font-size: .75rem;
  color: var(--htccc-ink-l); margin-top: 8px;
}


/* ═══════════════════════════════════════════════════════════
   ROOM PAGES — Daily rhythm cards (still HTML widget)
═══════════════════════════════════════════════════════════ */
.htccc-rhythm-card {
  background: white; border-radius: 14px; overflow: hidden;
  border: 1.5px solid var(--htccc-rule);
  transition: box-shadow .2s, transform .2s;
}
.htccc-rhythm-card:hover {
  box-shadow: 0 10px 32px rgba(0,0,0,.08);
  transform: translateY(-4px);
}
.htccc-rhythm-accent { height: 3px; }
.htccc-rhythm-top {
  padding: 20px 22px 0;
  display: flex; align-items: flex-start; gap: 12px;
}
.htccc-rhythm-time {
  font-family: 'Nunito', sans-serif;
  font-size: .68rem; font-weight: 900;
  text-transform: uppercase; letter-spacing: .1em;
  padding: 4px 10px; border-radius: 4px;
  white-space: nowrap; flex-shrink: 0; margin-top: 2px;
}
.htccc-rhythm-title {
  font-family: 'Lora', serif; font-size: 1.05rem;
  font-weight: 600; color: var(--htccc-ink); line-height: 1.3;
}
.htccc-rhythm-body {
  padding: 10px 22px 22px;
  font-family: 'Nunito', sans-serif;
  font-size: .82rem; color: var(--htccc-ink-l); line-height: 1.72;
}


/* ═══════════════════════════════════════════════════════════
   RESPONSIVE OVERRIDES
═══════════════════════════════════════════════════════════ */
@media (max-width: 1060px) {
  .htccc-ps-float { display: none !important; }
  .htccc-photo-stack { padding-bottom: 0 !important; }
  .htccc-rcard-mid { margin-top: 0 !important; }
}
@media (max-width: 768px) {
  .htccc-hero-right { height: 320px !important; min-height: unset !important; }
}
@media (max-width: 480px) {
  .htccc-trust-row { gap: 6px; }
  .htccc-tpill { font-size: .62rem; padding: 6px 10px; }
  #htccc-apply .elementor-icon-box-wrapper { flex-direction: column; align-items: center; }
}

/* ═══════════════════════════════════════════════════════════════
   HTCCC — WPForms Styling
   Add to: Elementor → Site Settings → Custom CSS
   Uses .wpforms-container as prefix — works with any shortcode
   ═══════════════════════════════════════════════════════════════ */

/* ── Field labels ── */
.wpforms-container .wpforms-field-label {
  font-family: 'Nunito', sans-serif !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: #4a4830 !important;
  margin-bottom: 7px !important;
}

/* ── Required asterisk ── */
.wpforms-container .wpforms-required-label {
  color: #902038 !important;
}

/* ── All inputs, selects, textarea ── */
.wpforms-container .wpforms-field input[type="text"],
.wpforms-container .wpforms-field input[type="email"],
.wpforms-container .wpforms-field input[type="tel"],
.wpforms-container .wpforms-field select,
.wpforms-container .wpforms-field textarea {
  font-family: 'Nunito', sans-serif !important;
  font-size: .9rem !important;
  color: #2a2818 !important;
  background: #fdf9f2 !important;
  border: 1.5px solid #ece8dc !important;
  border-radius: 8px !important;
  padding: 12px 15px !important;
  width: 100% !important;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color .15s, box-shadow .15s !important;
  -webkit-appearance: none !important;
}

/* ── Focus state ── */
.wpforms-container .wpforms-field input:focus,
.wpforms-container .wpforms-field select:focus,
.wpforms-container .wpforms-field textarea:focus {
  border-color: #2a4820 !important;
  box-shadow: 0 0 0 3px rgba(42,72,32,.1) !important;
  background: #ffffff !important;
}

/* ── Placeholder ── */
.wpforms-container .wpforms-field input::placeholder,
.wpforms-container .wpforms-field textarea::placeholder {
  color: #7a7860 !important;
  opacity: 1 !important;
}

/* ── Textarea ── */
.wpforms-container .wpforms-field textarea {
  min-height: 130px !important;
  resize: vertical !important;
  line-height: 1.6 !important;
}

/* ── Field spacing ── */
.wpforms-container .wpforms-field {
  margin-bottom: 20px !important;
  padding: 0 !important;
}

/* ── Select arrow ── */
.wpforms-container .wpforms-field select {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237a7860' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 12px !important;
  padding-right: 38px !important;
}

/* ── GDPR / checkbox ── */
.wpforms-container .wpforms-field-checkbox input[type="checkbox"],
.wpforms-container .wpforms-field-gdpr-checkbox input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: #2a4820 !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
}

.wpforms-container .wpforms-field-checkbox .wpforms-field-label-inline,
.wpforms-container .wpforms-field-gdpr-checkbox .wpforms-field-label-inline {
  font-family: 'Nunito', sans-serif !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  color: #4a4830 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.5 !important;
}

/* ── Validation errors ── */
.wpforms-container .wpforms-error {
  font-family: 'Nunito', sans-serif !important;
  font-size: .75rem !important;
  color: #902038 !important;
  margin-top: 5px !important;
  font-weight: 700 !important;
}

.wpforms-container .wpforms-field input.wpforms-error,
.wpforms-container .wpforms-field select.wpforms-error,
.wpforms-container .wpforms-field textarea.wpforms-error {
  border-color: #902038 !important;
  background: #fff8f8 !important;
}

/* ── Submit button ── */
.wpforms-container .wpforms-submit-container {
  margin-top: 8px !important;
}

.wpforms-container .wpforms-submit {
  font-family: 'Nunito', sans-serif !important;
  font-size: .92rem !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  background: #2a4820 !important;
  border: 3px solid #2a4820 !important;
  border-radius: 8px !important;
  padding: 14px 32px !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: background .15s !important;
  -webkit-appearance: none !important;
}

.wpforms-container .wpforms-submit:hover {
  background: #1a3014 !important;
  border-color: #1a3014 !important;
}

/* ── Success message ── */
.wpforms-container .wpforms-confirmation-container-full,
.wpforms-container .wpforms-confirmation-container {
  font-family: 'Nunito', sans-serif !important;
  font-size: .95rem !important;
  color: #2a2818 !important;
  background: #fdf9f2 !important;
  border: 1.5px solid #ece8dc !important;
  border-left: 5px solid #2a4820 !important;
  border-radius: 0 8px 8px 0 !important;
  padding: 20px 24px !important;
  line-height: 1.7 !important;
}

/* ── Hide WPForms form title/description if shown ── */
.wpforms-container .wpforms-title,
.wpforms-container .wpforms-description {
  display: none !important;
}

/* ── Remove default outer padding ── */
.wpforms-container {
  padding: 0 !important;
  margin: 0 !important;
}/* End custom CSS */