/* =====================================================================
   CGBT - Contact page (/contact-us/, page #695)  2026-10-19
   Loaded after cgbt-applications.css (section shell, sub-page hero .cgbt-sub-hero,
   .cgbt-hero-copy, .cgbt-app-h1/h2, .cgbt-app-lead, breadcrumb .cgbt-app-bc, spec card,
   buttons, .cgbt-app-wa) and cgbt-products-archive.css (product cards of the Loop Grid).
   Body classes: .cgbt-app-page.cgbt-ct   Elementor class hooks: cgbt-ct-*
   ===================================================================== */

#contact-form,#wpforms-439{scroll-margin-top:112px}

/* ---------- Hero ---------- */
.cgbt-ct .cgbt-sub-hero .cgbt-sub-media__img img{object-position:50% 40%}
/* spec card on the right so it does not cover the people in the photo */
.cgbt-ct .cgbt-sub-hero .cgbt-specard-w{left:auto;right:-36px;width:min(330px,78%)}
@media (max-width:1200px){.cgbt-ct .cgbt-sub-hero .cgbt-specard-w{left:auto;right:-20px}}
@media (max-width:1024px){.cgbt-ct .cgbt-sub-hero .cgbt-specard-w{left:auto;right:20px}}
@media (max-width:767px){.cgbt-ct .cgbt-sub-hero .cgbt-specard-w{left:auto;right:auto;width:auto}}
.cgbt-ct .cgbt-sub-hero .cgbt-btn-row .elementor-shortcode{line-height:0}
.cgbt-ct .cgbt-sub-hero .cgbt-app-wa{border-color:var(--a-blue);color:var(--a-blue)}
.cgbt-ct .cgbt-sub-hero .cgbt-app-wa:hover,
.cgbt-ct .cgbt-sub-hero .cgbt-app-wa:focus-visible{background:var(--a-blue);border-color:var(--a-blue);color:#fff}
.cgbt-ct .cgbt-sub-hero .cgbt-app-wa:focus-visible{outline:2px solid rgba(0,67,149,.35);outline-offset:3px}

/* ---------- Contact: ways to reach us + form ---------- */
.cgbt-ct .cgbt-sec .e-con.cgbt-ct-grid{
  --display:grid;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:56px;row-gap:36px;align-items:start;
}
.cgbt-ct .cgbt-sec .e-con.cgbt-ct-side{--row-gap:24px;--gap:24px 24px;--flex-wrap:nowrap;flex-wrap:nowrap}
.cgbt-ct .cgbt-ct-ways-w,.cgbt-ct .cgbt-ct-tips-w{width:100%}
.cgbt-ct-ways{list-style:none;margin:0;padding:0;border-top:1px solid var(--a-line)}
.cgbt-ct-ways li{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:16px;align-items:start;padding:18px 0;border-bottom:1px solid var(--a-line)}
.cgbt-ct-ico{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--a-soft);color:var(--a-blue)}
.cgbt-ct-ico svg{width:21px;height:21px}
.cgbt-ct-ico--wa{background:rgba(37,211,102,.12);color:#25D366}
.cgbt-ct-ways strong{display:block;margin:1px 0 4px;font:600 11.5px/1.4 Poppins,"Poppins Fallback",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--a-muted)}
.cgbt-ct-ways .cgbt-ct-v{display:inline-block;font:600 17px/1.45 Poppins,"Poppins Fallback",sans-serif;color:var(--a-ink);text-decoration:none;word-break:break-word}
.cgbt-ct-ways a.cgbt-ct-v:hover,.cgbt-ct-ways a.cgbt-ct-v:focus-visible{color:var(--a-blue)}
.cgbt-ct-ways address.cgbt-ct-v{font-style:normal;font-size:15.5px;line-height:1.55}
.cgbt-ct-ways small{display:block;margin-top:4px;font:400 13.5px/1.55 Poppins,"Poppins Fallback",sans-serif;color:var(--a-body)}
.cgbt-ct-ways small a{color:var(--a-body);text-decoration:none;font-weight:500}
.cgbt-ct-ways small a:hover{color:var(--a-blue)}
.cgbt-ct-tips{padding:22px 24px;background:var(--a-bg);border:1px solid var(--a-line);border-radius:14px}
.cgbt-ct .cgbt-ct-tips h3{margin:0 0 12px;font:600 16px/1.35 Poppins,"Poppins Fallback",sans-serif;color:var(--a-ink);letter-spacing:0;text-transform:none}
.cgbt-ct-tips ul{list-style:none;margin:0;padding:0;display:grid;row-gap:9px}
.cgbt-ct-tips li{position:relative;padding-left:28px;font:400 14.5px/1.55 Poppins,"Poppins Fallback",sans-serif;color:var(--a-body)}
.cgbt-ct-tips li::before{content:"";position:absolute;left:0;top:.15em;width:18px;height:18px;border-radius:50%;background:var(--a-soft)}
.cgbt-ct-tips li::after{content:"";position:absolute;left:5.5px;top:calc(.15em + 5.5px);width:7px;height:4px;border-left:2px solid var(--a-blue);border-bottom:2px solid var(--a-blue);transform:rotate(-45deg)}

/* form card */
.cgbt-ct .cgbt-sec .e-con.cgbt-ct-form-card{
  background:#fff;border:1px solid var(--a-line);border-radius:16px;
  --padding-top:38px;--padding-right:40px;--padding-bottom:34px;--padding-left:40px;
  --row-gap:12px;--gap:12px 12px;--flex-wrap:nowrap;flex-wrap:nowrap;
}
.cgbt-ct .cgbt-ct-form-card .cgbt-app-h2 .elementor-heading-title{font-size:28px}
.cgbt-ct .cgbt-ct-form-card .cgbt-app-body p{font-size:15px;line-height:1.65}
.cgbt-ct .cgbt-ct-form-card .elementor-widget-wpforms{width:100%;margin-top:8px}
.cgbt-ct .cgbt-ct-form-card .wpforms-container{
  margin:0;--wpforms-field-border-radius:5px;--wpforms-field-border-color:#D5DDEA;--wpforms-field-border-size:1px;
  --wpforms-field-background-color:#fff;--wpforms-field-text-color:#0F1B2D;--wpforms-label-color:#0F1B2D;
  --wpforms-button-background-color:#004395;--wpforms-button-border-radius:5px;--wpforms-button-text-color:#fff;
  --wpforms-button-size-height:54px;--wpforms-button-size-font-size:16px;--wpforms-field-size-input-height:50px;--wpforms-field-size-font-size:15px;
}
.cgbt-ct .cgbt-ct-form-card .wpforms-container .wpforms-field{padding:0 0 14px}
.cgbt-ct .cgbt-ct-form-card .wpforms-container .wpforms-field-row{max-width:none}
.cgbt-ct .cgbt-ct-form-card .wpforms-container .wpforms-field input:not([type=checkbox]):not([type=radio]),
.cgbt-ct .cgbt-ct-form-card .wpforms-container .wpforms-field textarea{
  width:100%;max-width:none;height:50px;padding:0 14px;border:1px solid #D5DDEA;border-radius:5px;background:#fff;
  font:400 15px/1.4 Poppins,"Poppins Fallback",sans-serif;color:var(--a-ink);box-shadow:none;
}
.cgbt-ct .cgbt-ct-form-card .wpforms-container .wpforms-field textarea{height:150px;padding:12px 14px;resize:vertical}
.cgbt-ct .cgbt-ct-form-card .wpforms-container .wpforms-field input::placeholder,
.cgbt-ct .cgbt-ct-form-card .wpforms-container .wpforms-field textarea::placeholder{color:#6B7685;opacity:1}
.cgbt-ct .cgbt-ct-form-card .wpforms-container .wpforms-field input:focus,
.cgbt-ct .cgbt-ct-form-card .wpforms-container .wpforms-field textarea:focus{border-color:var(--a-blue);outline:0;box-shadow:0 0 0 3px rgba(0,67,149,.14)}
.cgbt-ct .cgbt-ct-form-card .wpforms-container .wpforms-submit-container{padding-top:6px;margin:0}
.cgbt-ct .cgbt-ct-form-card .wpforms-container button.wpforms-submit{
  width:100%;height:54px;padding:0 26px;border:0;border-radius:5px;background:var(--a-blue);color:#fff;
  font:600 16px/1 Poppins,"Poppins Fallback",sans-serif;letter-spacing:0;text-transform:none;box-shadow:none;transition:background-color .18s ease;
}
.cgbt-ct .cgbt-ct-form-card .wpforms-container button.wpforms-submit:hover,
.cgbt-ct .cgbt-ct-form-card .wpforms-container button.wpforms-submit:focus,
.cgbt-ct .cgbt-ct-form-card .wpforms-container button.wpforms-submit:focus-visible{background:var(--a-blue-d);color:#fff}
.cgbt-ct .cgbt-ct-form-card .wpforms-container button.wpforms-submit:focus-visible{outline:2px solid rgba(0,67,149,.35);outline-offset:3px}
.cgbt-ct .cgbt-ct-form-card .wpforms-confirmation-container-full{
  margin:0;padding:18px 20px;border:1px solid rgba(97,206,112,.45);border-radius:10px;background:rgba(97,206,112,.1);
  font:500 15px/1.6 Poppins,"Poppins Fallback",sans-serif;color:var(--a-ink);
}
.cgbt-ct .cgbt-ct-form-card .wpforms-confirmation-container-full p{margin:0}
.cgbt-ct .cgbt-ct-form-card .wpforms-container label.wpforms-error,
.cgbt-ct .cgbt-ct-form-card .wpforms-container em.wpforms-error{font:500 13px/1.4 Poppins,"Poppins Fallback",sans-serif}
.cgbt-ct .cgbt-ct-privacy p{margin:0;font:400 12.5px/1.6 Poppins,"Poppins Fallback",sans-serif;color:var(--a-muted)}

/* ---------- Visit: map + offices ---------- */
.cgbt-ct .cgbt-sec .e-con.cgbt-ct-visit-grid{
  --display:grid;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:56px;row-gap:32px;align-items:center;
}
.cgbt-ct .cgbt-ct-map{width:100%;border-radius:16px;overflow:hidden;border:1px solid var(--a-line);background:var(--a-line2)}
.cgbt-ct .cgbt-ct-map .elementor-custom-embed{line-height:0}
.cgbt-ct .cgbt-ct-map iframe{display:block;width:100%;height:440px;border:0}
.cgbt-ct .cgbt-sec .e-con.cgbt-ct-visit-copy{--row-gap:18px;--gap:18px 18px;--flex-wrap:nowrap;flex-wrap:nowrap}
.cgbt-ct .cgbt-ct-addr-w,.cgbt-ct .cgbt-ct-offices-w{width:100%}
.cgbt-ct-addr{margin:0;padding:0;list-style:none;display:grid;row-gap:12px}
.cgbt-ct-addr li{display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:12px;font:400 15px/1.6 Poppins,"Poppins Fallback",sans-serif;color:var(--a-body)}
.cgbt-ct-addr li svg{width:20px;height:20px;margin-top:2px;color:var(--a-blue)}
.cgbt-ct-addr li b{font-weight:600;color:var(--a-ink)}
.cgbt-ct-addr a{color:var(--a-blue);font-weight:600;text-decoration:none}
.cgbt-ct-addr a:hover{text-decoration:underline}
.cgbt-ct-offices{list-style:none;margin:6px 0 0;padding:0;border-top:1px solid var(--a-line)}
.cgbt-ct-offices li{display:grid;grid-template-columns:140px minmax(0,1fr);column-gap:16px;padding:13px 0;border-bottom:1px solid var(--a-line)}
.cgbt-ct-offices strong{font:600 14.5px/1.5 Poppins,"Poppins Fallback",sans-serif;color:var(--a-ink)}
.cgbt-ct-offices span{font:400 14.5px/1.5 Poppins,"Poppins Fallback",sans-serif;color:var(--a-body)}
.cgbt-ct .cgbt-ct-offices-k p{margin:6px 0 0;font:600 11.5px/1.4 Poppins,"Poppins Fallback",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--a-muted)}

/* ---------- Popular products ---------- */
.cgbt-ct .cgbt-sec .e-con.cgbt-sec-head--row > .e-con.cgbt-sec-head{flex:1 1 520px;max-width:760px}
.cgbt-ct .cgbt-sec .cgbt-sec-head--row > .elementor-widget-text-editor p{margin:0}
.cgbt-ct .cgbt-ct-products .cgbt-product-grid{width:100%}
.cgbt-ct .cgbt-ct-products .cgbt-product-grid .elementor-loop-container{grid-template-columns:repeat(4,minmax(0,1fr))}
/* the loop item's top container is an Elementor "parent" container: the Kit's phone rule would pad it 16px */
.cgbt-ct .cgbt-ct-products .cgbt-product-grid .e-con.e-parent.cgbt-pc{padding:0 !important}

/* ---------- Column containers never wrap (Elementor phone default is wrap) ---------- */
.cgbt-ct .cgbt-sec .e-con.cgbt-sec-head{--flex-wrap:nowrap;flex-wrap:nowrap}

/* ---------- Laptop ---------- */
@media (max-width:1200px){
  .cgbt-ct .cgbt-sec .e-con.cgbt-ct-grid{column-gap:40px}
  .cgbt-ct .cgbt-sec .e-con.cgbt-ct-form-card{--padding-right:32px;--padding-left:32px}
  .cgbt-ct .cgbt-sec .e-con.cgbt-ct-visit-grid{column-gap:44px}
}

/* ---------- Tablet ---------- */
@media (max-width:1024px){
  .cgbt-ct .cgbt-sec .e-con.cgbt-ct-grid{column-gap:32px}
  .cgbt-ct .cgbt-sec .e-con.cgbt-ct-form-card{--padding-top:32px;--padding-right:28px;--padding-bottom:30px;--padding-left:28px}
  .cgbt-ct .cgbt-sec .e-con.cgbt-ct-visit-grid{grid-template-columns:1fr}
  .cgbt-ct .cgbt-sec .e-con.cgbt-ct-visit-copy{order:-1;max-width:720px}
  .cgbt-ct .cgbt-ct-map iframe{height:380px}
  .cgbt-ct .cgbt-ct-products .cgbt-product-grid .elementor-loop-container{--grid-column-gap:14px;--grid-row-gap:14px}
}
@media (min-width:768px) and (max-width:1024px){
  .cgbt-ct .cgbt-sub-hero .e-con.cgbt-sub-media{max-width:640px}
  .cgbt-ct .cgbt-sub-hero .cgbt-sub-media__img img{aspect-ratio:16 / 10}
}
@media (max-width:900px){
  .cgbt-ct .cgbt-sec .e-con.cgbt-ct-grid{grid-template-columns:1fr}
}

/* ---------- Phone ---------- */
@media (max-width:767px){
  #contact-form,#wpforms-439{scroll-margin-top:88px}
  .cgbt-ct-ways li{grid-template-columns:40px minmax(0,1fr);column-gap:14px;padding:15px 0}
  .cgbt-ct-ico{width:40px;height:40px;border-radius:10px}
  .cgbt-ct-ico svg{width:19px;height:19px}
  .cgbt-ct-ways .cgbt-ct-v{font-size:16px}
  .cgbt-ct-ways address.cgbt-ct-v{font-size:14.5px}
  .cgbt-ct-ways small{font-size:13px}
  .cgbt-ct-tips{padding:18px}
  .cgbt-ct-tips li{font-size:14px}
  .cgbt-ct .cgbt-sec .e-con.cgbt-ct-form-card{--padding-top:24px;--padding-right:18px;--padding-bottom:22px;--padding-left:18px;border-radius:14px}
  .cgbt-ct .cgbt-ct-form-card .cgbt-app-h2 .elementor-heading-title{font-size:23px}
  .cgbt-ct .cgbt-ct-form-card .cgbt-app-body p{font-size:14.5px}
  .cgbt-ct .cgbt-ct-form-card .wpforms-container .wpforms-field textarea{height:130px}
  .cgbt-ct .cgbt-ct-map iframe{height:300px}
  .cgbt-ct .cgbt-ct-products .cgbt-product-grid .elementor-loop-container{grid-template-columns:repeat(2,minmax(0,1fr));--grid-column-gap:12px;--grid-row-gap:12px}
  .cgbt-ct .cgbt-ct-map{border-radius:12px}
  .cgbt-ct-addr li{font-size:14.5px}
  .cgbt-ct-offices li{grid-template-columns:118px minmax(0,1fr);column-gap:12px;padding:12px 0}
  .cgbt-ct-offices strong,.cgbt-ct-offices span{font-size:13.5px}
}
