/* Koupe Media native Koupe Forms integration — v2.54.1
   Compact layout: fixes the final site-wide override that was re-expanding forms. */
.koupe-form-missing{padding:14px 16px;border:1px solid #f0b7b7;border-radius:12px;background:#fff3f3;color:#821b1b;font-size:.9rem}

:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form-shell{
  width:100%;max-width:100%;container-type:inline-size;
}
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form{
  display:grid!important;grid-template-columns:minmax(0,1fr);gap:8px!important;width:100%;max-width:100%;
}
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form__field{
  margin:0!important;display:grid!important;gap:4px!important;min-width:0;
}
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form label{
  display:flex!important;flex-direction:row!important;align-items:baseline!important;flex-wrap:wrap;gap:4px!important;margin:0!important;color:var(--km-purple);font-size:.78rem!important;font-weight:750;line-height:1.2!important;
}
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form label span{
  display:inline!important;width:auto!important;margin:0!important;line-height:inherit!important;
}
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form__optional{
  font-size:.88em!important;font-weight:500!important;opacity:.62;
}
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form input:not([type=submit]),
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form textarea,
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form select{
  box-sizing:border-box;width:100%;min-height:42px;margin:0!important;padding:9px 11px!important;border:1px solid #dedbe8;border-radius:10px;background:#f8f7fb;color:#181722;outline:none;font:inherit;
}
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form textarea{
  height:84px!important;min-height:84px!important;max-height:220px;resize:vertical;
}
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form input:focus,
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form textarea:focus,
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form select:focus{
  border-color:#5747e4;box-shadow:0 0 0 3px rgba(87,71,228,.11);
}
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form__privacy{
  margin:1px 0 0!important;font-size:.69rem!important;line-height:1.4!important;
}
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form__actions{
  margin:0!important;display:flex;align-items:center;gap:8px;
}
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form__submit{
  width:100%;min-height:46px!important;padding:11px 15px!important;border:0;border-radius:11px;background:#f47514;color:#fff;font:inherit;font-weight:850;cursor:pointer;box-shadow:0 10px 22px rgba(244,117,20,.2);
}
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form__feedback{
  margin:0!important;padding:9px 11px!important;border-radius:9px;font-size:.72rem!important;line-height:1.4!important;
}
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form__turnstile{
  margin:0!important;
}
.km-contact-form-wrap .koupe-form-shell{padding:0;background:transparent}
.km-contact-panel .km-form-card{align-self:start;height:auto!important;min-height:0!important}

/* On desktop-width form cards, pair the four short fields into two rows.
   Container queries keep narrow/mobile cards as one column. */
@container (min-width:350px){
  :is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  :is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) :is(.koupe-form__field--message,.koupe-form__privacy,.koupe-form__turnstile,.koupe-form__actions,.koupe-form__feedback){
    grid-column:1/-1;
  }
}

@media(max-width:700px){
  :is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form{gap:8px!important}
  :is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form label{font-size:.8rem!important}
  :is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form textarea{height:88px!important;min-height:88px!important}
  :is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form__privacy{font-size:.72rem!important;line-height:1.4!important}
}

/* v2.54.1: visible field labels move into placeholders. Keep semantic labels screen-reader-only. */
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form .koupe-form__label--sr{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;display:block!important;
}
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form input::placeholder,
:is(.km-form-card,.km-contact-form-wrap,.km-health-form-wrap,.km-seo-check-form__wrap,.km-ppc-check-form__wrap,.km-social-check-form__wrap,.km-price-review__form-wrap,.km-about-final__form-wrap) .koupe-form textarea::placeholder{color:#777184;opacity:.88}

.koupe-form-missing--visitor{border-color:#e5e5e5;background:#f7f7f9;color:#3b3663}.koupe-form-missing--visitor a{color:#5747e4!important;font-weight:800;text-decoration:underline;text-underline-offset:2px}

/* v2.56.0: reusable commercial-page enquiry section. Desktop design remains
   aligned with the existing purple/orange Koupe system; mobile collapses to a
   single readable column without changing the established page typography. */
.km-enquiry-section{position:relative;overflow:hidden;background:#f7f7f9}
.km-enquiry-section__panel{position:relative;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(24px,4vw,54px);align-items:start;padding:clamp(28px,4vw,54px);border-radius:26px;background:linear-gradient(135deg,#3b3663 0%,#312d58 100%);box-shadow:0 22px 58px rgba(59,54,99,.16)}
.km-enquiry-section__panel:before{content:"";position:absolute;right:-90px;top:-120px;width:290px;height:290px;border-radius:50%;background:rgba(87,71,228,.2);pointer-events:none}
.km-enquiry-section__copy{position:relative;z-index:1;padding-top:8px;color:#fff}
.km-enquiry-section__copy h2{margin:10px 0 14px;color:#fff;max-width:700px}
.km-enquiry-section__copy>p{margin:0;max-width:650px;color:rgba(255,255,255,.84);font-size:1rem;line-height:1.72}
.km-enquiry-section__trust{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none}
.km-enquiry-section__trust li{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:.75rem;font-weight:750;line-height:1.2}
.km-enquiry-section__alternative{margin-top:20px!important;color:rgba(255,255,255,.78)!important;font-size:.83rem!important}
.km-enquiry-section__alternative a{color:#fff!important;font-weight:800;text-decoration:underline;text-decoration-color:#f47514;text-decoration-thickness:2px;text-underline-offset:4px}
.km-enquiry-section__form{position:relative;z-index:1;margin:0!important;padding:clamp(18px,2.4vw,28px)!important;border:1px solid rgba(255,255,255,.18);border-radius:20px!important;background:#fff!important;box-shadow:0 20px 50px rgba(16,12,43,.18)}
.km-enquiry-section__form .km-form-card__label{display:block;margin:0 0 12px;color:#3b3663;font-size:.78rem;font-weight:850;letter-spacing:.01em}
@media(max-width:820px){
  .km-enquiry-section__panel{grid-template-columns:minmax(0,1fr);gap:22px;padding:24px;border-radius:20px}
  .km-enquiry-section__copy{padding-top:0}
}
@media(max-width:520px){
  .km-enquiry-section__panel{padding:18px 14px;border-radius:16px}
  .km-enquiry-section__form{padding:16px 12px!important;border-radius:14px!important}
  .km-enquiry-section__trust{display:grid;grid-template-columns:1fr;gap:6px}
  .km-enquiry-section__trust li{width:fit-content}
}
