/* ==========================================================================
   IWE – modern Contact & Request-A-Quote pages
   Colours: brand blue #0088cc, accent yellow #ffd600 (template), dark #1d2733
   ========================================================================== */
.iwe-forms-page, #tz-content-wrapper.iwe-forms-page, #tz-main-body-wrapper.iwe-forms-page { background: #f4f7fa !important; padding: 70px 0 80px !important; margin: 0 !important; }
.iwe-forms-page *, .iwe-forms-page *::before, .iwe-forms-page *::after { box-sizing: border-box; }

/* section heading */
.iwe-eyebrow { display: inline-block; font: 700 12px/1 Montserrat, Arial, sans-serif; letter-spacing: 2px; text-transform: uppercase;
  color: #0088cc; margin-bottom: 12px; }
.iwe-eyebrow::before { content: ""; display: inline-block; width: 28px; height: 3px; background: #ffd600; vertical-align: middle; margin-right: 10px; border-radius: 2px; }
.iwe-heading { font: 700 30px/1.25 Montserrat, Arial, sans-serif; color: #1d2733; margin: 0 0 12px; text-transform: none; }
.iwe-lead { font-size: 16px; line-height: 1.7; color: #5b6673; max-width: 760px; margin: 0 0 40px; }

/* quick contact cards */
.iwe-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-bottom: 50px; }
.iwe-card { background: #fff; border-radius: 14px; padding: 26px 24px; box-shadow: 0 6px 24px rgba(16, 38, 64, .07);
  border-top: 4px solid #0088cc; transition: transform .2s ease, box-shadow .2s ease; }
.iwe-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(16, 38, 64, .12); }
.iwe-card__icon { width: 52px; height: 52px; border-radius: 50%; background: rgba(0, 136, 204, .1); color: #0088cc;
  display: flex; align-items: center; justify-content: center; font-size: 22px; margin-bottom: 16px; }
.iwe-card--whatsapp { border-top-color: #25d366; } .iwe-card--whatsapp .iwe-card__icon { background: rgba(37, 211, 102, .12); color: #1fb855; }
.iwe-card--mail { border-top-color: #ffd600; } .iwe-card--mail .iwe-card__icon { background: rgba(255, 214, 0, .18); color: #b38f00; }
.iwe-card h4 { font: 700 15px/1.3 Montserrat, Arial, sans-serif; color: #1d2733; margin: 0 0 10px; text-transform: uppercase; letter-spacing: .5px; }
.iwe-card p { margin: 0 0 4px; color: #5b6673; font-size: 14.5px; line-height: 1.6; }
.iwe-card a { color: #1d2733; font-weight: 600; text-decoration: none; }
.iwe-card a:hover { color: #0088cc; }
.iwe-card .iwe-link { display: inline-block; margin-top: 8px; color: #0088cc; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .5px; }

/* buttons inside the contact cards */
.iwe-card { display: flex; flex-direction: column; }
.iwe-card__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 16px; }
.iwe-forms-page a.iwe-btn { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 12px; border-radius: 10px;
  font: 700 11.5px/1 Montserrat, Arial, sans-serif; letter-spacing: .3px; text-transform: uppercase; text-decoration: none;
  border: 1.5px solid transparent; transition: background .2s, border-color .2s, color .2s, transform .2s; white-space: nowrap; }
.iwe-forms-page a.iwe-btn:hover { transform: translateY(-2px); text-decoration: none; }
.iwe-forms-page a.iwe-btn i { font-size: 14px; }
.iwe-forms-page a.iwe-btn img { width: 20px; height: 20px; object-fit: contain; }
.iwe-forms-page a.iwe-btn--blue { background: #0088cc; color: #fff; }
.iwe-forms-page a.iwe-btn--blue:hover { background: #0072ab; color: #fff; }
.iwe-forms-page a.iwe-btn--waze { background: #fff; color: #1d2733; border-color: #33ccff; }
.iwe-forms-page a.iwe-btn--waze:hover { background: #33ccff; color: #fff; }
.iwe-forms-page a.iwe-btn--green { background: #25d366; color: #fff; }
.iwe-forms-page a.iwe-btn--green:hover { background: #1fb855; color: #fff; }

/* same fonts as the rest of the website: Catamaran for text, Montserrat for headings/buttons */
.iwe-forms-page, #tz-content-wrapper.iwe-forms-page, #tz-main-body-wrapper.iwe-forms-page,
.iwe-forms-page p, .iwe-forms-page li, .iwe-forms-page span, .iwe-forms-page label,
.iwe-forms-page input, .iwe-forms-page textarea, .iwe-forms-page select {
  font-family: Catamaran, "Open sans", sans-serif; font-weight: 400; }
.iwe-forms-page strong, .iwe-forms-page b { font-weight: 700; }
.iwe-forms-page .iwe-lead, #tz-main-body-wrapper .iwe-forms-page .iwe-lead { font-size: 16px; }
.iwe-forms-page .iwe-eyebrow, .iwe-forms-page .iwe-heading, .iwe-forms-page .iwe-panel__title, .iwe-forms-page .iwe-card h4,
.iwe-forms-page .iwe-company__name, .iwe-forms-page a.iwe-btn, .iwe-forms-page a.iwe-btn-outline, .iwe-forms-page button {
  font-family: Montserrat, Arial, sans-serif; }
.iwe-form #userForm .formControlLabel { font-family: Catamaran, "Open sans", sans-serif !important; font-size: 15px !important; font-weight: 700 !important; }
.iwe-forms-page .iwe-card a, .iwe-forms-page .iwe-company__list a { font-weight: 700; }
.iwe-forms-page p.iwe-company__name { font-family: Montserrat, Arial, sans-serif; font-weight: 700; font-size: 18px; }
.iwe-forms-page .iwe-why__contact a.iwe-why__row span { font-weight: 700; }

/* two-column area */
.iwe-split { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 30px; align-items: start; }
.iwe-panel { background: #fff; border-radius: 16px; box-shadow: 0 6px 24px rgba(16, 38, 64, .07); padding: 38px 40px; }
.iwe-panel__title { font: 700 22px/1.3 Montserrat, Arial, sans-serif; color: #1d2733; margin: 0 0 6px; }
.iwe-panel__sub { color: #5b6673; margin: 0 0 26px; font-size: 15px; line-height: 1.6; }

/* company / map card */
.iwe-company { padding: 0; overflow: hidden; }
.iwe-company__head { padding: 30px 32px 22px; }
.iwe-company__name { font: 700 18px/1.35 Montserrat, Arial, sans-serif; color: #1d2733; margin: 0; }
.iwe-company__reg { color: #8a94a0; font-size: 13px; margin: 4px 0 18px; }
.iwe-company__list { list-style: none; padding: 0; margin: 0; }
.iwe-company__list li { display: flex; gap: 12px; padding: 7px 0; color: #5b6673; font-size: 14.5px; line-height: 1.55; }
.iwe-company__list i { color: #0088cc; width: 18px; text-align: center; margin-top: 3px; }
.iwe-company__list a { color: #1d2733; text-decoration: none; font-weight: 600; }
.iwe-company__list a:hover { color: #0088cc; }
.iwe-map { display: block; width: 100%; height: 320px; border: 0; border-top: 1px solid #eef1f4; }
.iwe-nav-buttons { display: flex; gap: 12px; padding: 18px 32px 26px; flex-wrap: wrap; }
.iwe-btn-outline { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1.5px solid #d7dee6; border-radius: 10px;
  color: #1d2733 !important; font-weight: 700; font-size: 13px; text-decoration: none !important; transition: all .2s; }
.iwe-btn-outline img { width: 22px; height: 22px; object-fit: contain; }
.iwe-btn-outline:hover { border-color: #0088cc; color: #0088cc !important; background: rgba(0, 136, 204, .05); }

/* "why IWE" panel (quote pages) – IDs used to beat the template's #tz-main-body-wrapper rules */
.iwe-why, #tz-main-body-wrapper .iwe-why { background: linear-gradient(160deg, #0b2a44 0%, #0d3b5f 55%, #0a6aa3 120%); color: #dbe7f1; }
#tz-main-body-wrapper .iwe-why .iwe-panel__title { color: #fff; margin: 0 0 10px; }
#tz-main-body-wrapper .iwe-why .iwe-panel__sub { color: #b9cbdb; margin: 0 0 22px; font-size: 15px; line-height: 1.6; }
#tz-main-body-wrapper .iwe-why ul.iwe-why__list { list-style: none; margin: 0 0 30px; padding: 0; border-top: 1px solid rgba(255, 255, 255, .10); }
#tz-main-body-wrapper .iwe-why ul.iwe-why__list li {
  display: grid; grid-template-columns: 36px 1fr; column-gap: 16px; align-items: center;
  margin: 0; padding: 15px 0; border-bottom: 1px solid rgba(255, 255, 255, .10);
  font-size: 15px; line-height: 1.55; color: #dbe7f1; list-style: none; }
#tz-main-body-wrapper .iwe-why ul.iwe-why__list li::before, #tz-main-body-wrapper .iwe-why ul.iwe-why__list li::marker { content: none; display: none; }
#tz-main-body-wrapper .iwe-why ul.iwe-why__list li > i {
  width: 36px; height: 36px; border-radius: 50%; background: #ffd600; color: #0b2a44;
  display: flex; align-items: center; justify-content: center; font-size: 15px; line-height: 1; margin: 0; }
#tz-main-body-wrapper .iwe-why ul.iwe-why__list li > span { color: #dbe7f1; margin: 0; }
#tz-main-body-wrapper .iwe-why ul.iwe-why__list li strong { color: #fff; font-weight: 700; }

/* "Prefer to talk to us directly?" box */
#tz-main-body-wrapper .iwe-why .iwe-why__contact { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .10); border-radius: 14px; padding: 22px 24px; }
#tz-main-body-wrapper .iwe-why .iwe-why__contact .iwe-why__contact-title { color: #b9cbdb; font-size: 14px; letter-spacing: .3px; margin: 0 0 14px; }
#tz-main-body-wrapper .iwe-why .iwe-why__contact a.iwe-why__row {
  display: flex; align-items: center; gap: 14px; padding: 7px 0; color: #fff; font-weight: 700; font-size: 16px; line-height: 1.3; text-decoration: none; }
#tz-main-body-wrapper .iwe-why .iwe-why__contact a.iwe-why__row i {
  flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; background: rgba(255, 214, 0, .16); color: #ffd600;
  display: flex; align-items: center; justify-content: center; font-size: 15px; line-height: 1; transition: background .2s, color .2s; }
#tz-main-body-wrapper .iwe-why .iwe-why__contact a.iwe-why__row:hover { color: #ffd600; }
#tz-main-body-wrapper .iwe-why .iwe-why__contact a.iwe-why__row:hover i { background: #ffd600; color: #0b2a44; }

/* ---------------- the form (RSForm markup restyled) ---------------- */
.iwe-form #userForm .contact-miscinfo { display: none; }                 /* intro text is shown in the card header instead */
.iwe-form form#userForm { margin: 0; }
.iwe-form #userForm fieldset.formContainer { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 22px; border: 0; padding: 0; margin: 0; min-width: 0; }
.iwe-form #userForm .rsform-block { margin: 0 !important; padding: 0 !important; min-width: 0; }
.iwe-form #userForm .rsform-block-subject, .iwe-form #userForm .rsform-block-heard, .iwe-form #userForm .rsform-block-enquiry,
.iwe-form #userForm .rsform-block-recaptcha, .iwe-form #userForm .rsform-block-submit { grid-column: 1 / -1; }
.iwe-form #userForm .formResponsive .formControlLabel, .iwe-form #userForm .formControlLabel {
  float: none !important; width: auto !important; text-align: left !important; padding: 0 !important; margin: 0 0 7px !important;
  font: 600 13.5px/1.3 Montserrat, Arial, sans-serif; color: #1d2733; }
.iwe-form #userForm .formRequired { color: #e53935; font-weight: 700; margin-left: 3px; }
.iwe-form #userForm .formResponsive .formControls, .iwe-form #userForm .formControls { margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; }
.iwe-form #userForm .formDescription { display: none; }
.iwe-form #userForm input.rsform-input-box, .iwe-form #userForm textarea.rsform-text-box {
  margin: 0 !important; display: block; box-sizing: border-box !important; line-height: 1.4;
  width: 100% !important; max-width: none !important; height: 48px; padding: 12px 15px; font-size: 15px; color: #1d2733;
  background: #f6f8fb; border: 1.5px solid #e1e7ee; border-radius: 10px; box-shadow: none; transition: border-color .2s, box-shadow .2s, background .2s; }
.iwe-form #userForm textarea.rsform-text-box { height: 140px; resize: vertical; line-height: 1.6; }
.iwe-form #userForm input.rsform-input-box:focus, .iwe-form #userForm textarea.rsform-text-box:focus {
  outline: 0; background: #fff; border-color: #0088cc; box-shadow: 0 0 0 4px rgba(0, 136, 204, .12); }
/* "Where did you hear about us?" as chips */
.iwe-form #userForm .rsform-block-heard .formBody { display: flex; flex-wrap: wrap; gap: 10px; }
.iwe-form #userForm .rsform-block-heard .rsformVerticalClear { margin: 0; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px;
  background: #f6f8fb; border: 1.5px solid #e1e7ee; border-radius: 30px; cursor: pointer; transition: all .2s; }
.iwe-form #userForm .rsform-block-heard .rsformVerticalClear:has(input:checked) { border-color: #0088cc; background: rgba(0, 136, 204, .08); color: #0088cc; }
.iwe-form #userForm .rsform-block-heard label { margin: 0; font-weight: 500; font-size: 14px; cursor: pointer; }
.iwe-form #userForm input[type=checkbox] { accent-color: #0088cc; width: 16px; height: 16px; margin: 0; }
.iwe-form #userForm .rsform-block-heard .formValidation { flex-basis: 100%; }
/* validation */
.iwe-form #userForm .formValidation { display: block !important; line-height: 0; margin: 0; }
.iwe-form #userForm .formNoError { display: none; }
.iwe-form #userForm .formError { display: block; color: #e53935; font-size: 13px; line-height: 1.4; margin-top: 6px; font-weight: 500; }
.iwe-form #userForm .rsform-block:has(.formError) input.rsform-input-box,
.iwe-form #userForm .rsform-block:has(.formError) textarea.rsform-text-box { border-color: #e53935; background: #fff7f7; }
.iwe-form p.formRed, .iwe-form .alert.formRed { background: #fdecea; color: #b71c1c; border: 0; border-left: 4px solid #e53935; border-radius: 10px;
  padding: 14px 18px; font-weight: 600; margin: 0 0 22px; }
/* submit */
.iwe-form #userForm .rsform-block-submit .formControlLabel { display: none; }
.iwe-form #userForm button.rsform-submit-button {
  display: inline-flex !important; width: auto !important; margin: 4px 0 0 !important; align-items: center; justify-content: center; gap: 10px; min-width: 220px; height: 52px; padding: 0 30px;
  background: #0088cc; color: #fff; border: 0; border-radius: 10px; font: 700 14px/1 Montserrat, Arial, sans-serif; letter-spacing: 1px;
  text-transform: uppercase; box-shadow: 0 8px 20px rgba(0, 136, 204, .28); transition: background .2s, transform .2s, box-shadow .2s; cursor: pointer; }
.iwe-form #userForm button.rsform-submit-button::before { content: "\f1d8"; font-family: FontAwesome; font-size: 16px; margin-right: 2px; }
.iwe-form #userForm button.rsform-submit-button:hover { background: #0072ab; transform: translateY(-2px); box-shadow: 0 12px 26px rgba(0, 136, 204, .35); }
.iwe-form #userForm .iwe-privacy { grid-column: 1 / -1; font-size: 12.5px; color: #8a94a0; margin: -4px 0 0; }
/* thank-you message */
.iwe-form .rsform-thankyou { text-align: center; padding: 40px 20px; }
.iwe-form .rsform-thankyou::before { content: "\f00c"; font-family: FontAwesome; display: flex; align-items: center; justify-content: center;
  width: 70px; height: 70px; margin: 0 auto 18px; border-radius: 50%; background: #e8f7ee; color: #1fb855; font-size: 30px; }
.iwe-form .rsform-thankyou p { font-size: 17px; color: #1d2733; line-height: 1.7; }


/* ---- compact contact cards (icon left, text right) ---- */
.iwe-contact-page .iwe-lead { margin-bottom: 26px; }
.iwe-contact-page .iwe-cards { gap: 18px; margin-bottom: 36px; }
@media (min-width: 1200px) { .iwe-contact-page .iwe-cards { grid-template-columns: 1.45fr 1fr 1fr 1fr; } }
.iwe-contact-page .iwe-card { display: grid; grid-template-columns: 42px 1fr; column-gap: 14px; align-items: start;
  padding: 18px 18px 18px 16px; border-top-width: 3px; border-radius: 12px; }
.iwe-contact-page .iwe-card__icon { width: 42px; height: 42px; font-size: 18px; margin: 0; }
.iwe-contact-page .iwe-card__body { min-width: 0; }
.iwe-contact-page .iwe-card h4 { font-size: 13px; margin: 2px 0 6px; letter-spacing: .6px; }
.iwe-contact-page .iwe-card p { font-size: 14px; line-height: 1.5; margin: 0 0 2px; }
.iwe-contact-page .iwe-card__actions { margin-top: 10px; padding-top: 0; gap: 6px; }
.iwe-contact-page .iwe-card a.iwe-btn { height: 32px; padding: 0 10px; font-size: 11px; border-radius: 8px; gap: 6px; }
.iwe-contact-page .iwe-card a.iwe-btn img { width: 17px; height: 17px; }
.iwe-contact-page .iwe-card a.iwe-btn i { font-size: 12px; }
@media (min-width: 1200px) { #tz-content-wrapper.iwe-contact-page { padding-top: 54px !important; } }


/* ---- contact: map card same height as the form card ---- */
.iwe-contact-page .iwe-split { align-items: stretch; }
.iwe-contact-page .iwe-company { display: flex; flex-direction: column; }
.iwe-contact-page .iwe-company__head { flex: 0 0 auto; }
.iwe-contact-page .iwe-company .iwe-map { flex: 1 1 auto; height: auto; min-height: 320px; }
.iwe-contact-page .iwe-nav-buttons { flex: 0 0 auto; }
@media (max-width: 991px) { .iwe-contact-page .iwe-company .iwe-map { flex: 0 0 auto; height: 340px; } }

/* responsive */
@media (max-width: 1199px) { .iwe-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 991px)  { .iwe-split { grid-template-columns: 1fr; } .iwe-panel { padding: 30px 26px; } }
@media (max-width: 600px)  { .iwe-forms-page, #tz-content-wrapper.iwe-forms-page, #tz-main-body-wrapper.iwe-forms-page { padding: 44px 0 56px !important; } .iwe-heading { font-size: 24px; }
  .iwe-cards { grid-template-columns: 1fr; gap: 16px; }
  .iwe-form #userForm fieldset.formContainer { grid-template-columns: 1fr; }
  .iwe-form #userForm button.rsform-submit-button { width: 100%; } .iwe-panel { padding: 26px 20px; } .iwe-nav-buttons, .iwe-company__head { padding-left: 20px; padding-right: 20px; } }
