/* ===========================================================================
   CGI landing pages — styling for pages built with the cgi-* widget convention.
   Self-scoped entirely by unique .cgi-* classes (+ the hero's #cgi-hero id), so it
   cannot affect the rest of the site and any future landing page inherits it for free.
   Lives in the child theme (version-controlled, deploys with the theme) — NOT in
   Customizer → Additional CSS, so DB pulls/pushes and theme edits can't wipe it.
   Fonts (Oswald + Montserrat) are enqueued separately in functions.php.
   =========================================================================== */

/* ---- buttons ----
   The Kit locks button bg/border, and the theme forces .elementor-button:hover
   { padding:10px 20px; font:Insignia 15px !important }. Re-assert Oswald + rest
   geometry on hover for every cgi button; per-type rules below (listed AFTER, so
   equal-specificity ties resolve in their favor) override padding/colors. */
.cgi-btn .elementor-button:hover{padding:16px 30px!important}
.cgi-btn .elementor-button:hover .elementor-button-text{font-size:inherit!important}

.cgi-ghost .elementor-button{background-color:rgba(255,255,255,.08)!important;border:2px solid rgba(255,255,255,.55)!important;color:#fff!important;fill:#fff!important;padding-bottom: 14px !important;padding-top: 14px !important;}
.cgi-ghost .elementor-button:hover{background-color:#fff!important;border-color:#fff!important;color:#000 !important;fill:#2b2b2b!important;padding-bottom: 14px !important;padding-top: 14px !important;border:2px solid #000 !important;}
.cgi-white .elementor-button{background-color:#fff!important;color:#2b2b2b!important;fill:#2b2b2b!important}
.cgi-white .elementor-button:hover{background-color:#2b2b2b!important;color:#fff!important;fill:#fff!important}
.cgi-navphone .elementor-button{background-color:transparent!important;color:#2b2b2b!important;padding:0!important;box-shadow:none!important}
.cgi-navphone .elementor-button:hover{color:#f78f1e!important;padding:0!important;background:transparent!important}
.cgi-navphone .elementor-button:hover .elementor-button-text{color:#f78f1e!important}
.cgi-navphone .elementor-button-icon,.cgi-navphone .elementor-button-icon svg,.cgi-navphone .elementor-button-icon i{color:#f78f1e!important;fill:#f78f1e!important}
.cgi-svclink .elementor-button{background-color:transparent!important;color:#f78f1e!important;fill:#f78f1e!important;padding:0!important;box-shadow:none!important}
.cgi-svclink .elementor-button:hover{color:#2b2b2b!important;padding:0!important;background:transparent!important}
.cgi-svclink .elementor-button:hover .elementor-button-text{color:#2b2b2b!important}

/* area pills: static, non-interactive labels (NOT buttons) */
.cgi-areatag{display:inline-block;margin:5px 5px;padding:9px 20px;border:1px solid rgba(255,255,255,.28);border-radius:40px;background:rgba(255,255,255,.06);color:#fff;font-size:14px;font-weight:500;letter-spacing:.4px;line-height:1;white-space:nowrap}

/* service badge: overlays the card image top-left via negative bottom margin */
.cgi-badge{position:relative;top:14px;z-index:3;margin:0 0 -38px 14px;align-self:flex-start}
.cgi-badge .elementor-button{box-shadow:none!important}
.cgi-badge .elementor-button:hover{padding:6px 11px!important;background:#f78f1e!important}

/* icon lists (Font Awesome). Pin icon + text appearance regardless of Elementor's
   FA render mode (<i> vs inline <svg>). */
.cgi-bullets .elementor-icon-list-icon i,.cgi-herofacts .elementor-icon-list-icon i{color:#f78f1e!important}
.cgi-bullets .elementor-icon-list-icon svg,.cgi-herofacts .elementor-icon-list-icon svg{fill:#f78f1e!important}
.cgi-bullets .elementor-icon-list-text{color:#3a3a3a;font-family:"Montserrat",sans-serif;font-size:14px}
.cgi-herofacts .elementor-icon-list-text{color:#fff;font-family:"Montserrat",sans-serif;font-weight:600;font-size:14px;letter-spacing:.3px}

/* review stars: this build renders the star-rating as empty-glyph <i> boxes. Force a solid star. */
.cgi-stars .elementor-star-rating i:before,.cgi-stars .elementor-star-rating .elementor-star-full:before{content:"\2605"!important;font-family:Arial,"Helvetica Neue",sans-serif!important;font-style:normal!important;font-weight:400!important}

/* hero: second directional gradient overlay (only one overlay is native) */
#cgi-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,20,20,.55) 0%,rgba(20,20,20,0) 70%);z-index:1;pointer-events:none}
#cgi-hero>.elementor-container{position:relative;z-index:2}

/* ---- mobile pass ---- */
.cgi-mcbtn{display:none!important}
.cgi-mspacer{display:none!important}
@media(max-width:767px){
  .cgi-tbleft{display:none!important}
  .cgi-navphone .elementor-button-text{display:none!important}
  .cgi-navphone .elementor-button-icon svg,.cgi-navphone .elementor-button-icon i{width:26px!important;height:26px!important;font-size:26px!important}
  .cgi-mspacer{display:block!important;height:56px}
  .cgi-mcbtn{display:block!important;position:fixed;bottom:0;left:0;right:0;z-index:80;background:#f78f1e;padding:13px 15px;box-shadow:0 -4px 20px rgba(0,0,0,.25)}
  .cgi-mcbtn .elementor-button{background:transparent!important;color:#fff!important;width:100%;justify-content:center;letter-spacing:1.5px}
}


.cgi-ghost .elementor-button:hover{ color:#000 !important; }

.page-id-1498 form label, .page-id-1498 .gform-theme--framework .field_description_below .gfield_description:where(:not(.gfield_creditcard_warning_message):not(.field_validation_above .gfield_validation_message):not(.ginput_counter_tinymce):not(.gfield_choice_limit_message)),
.page-id-1512 form label, .page-id-1512 .gform-theme--framework .field_description_below .gfield_description:where(:not(.gfield_creditcard_warning_message):not(.field_validation_above .gfield_validation_message):not(.ginput_counter_tinymce):not(.gfield_choice_limit_message)),
.page-id-1513 form label, .page-id-1513 .gform-theme--framework .field_description_below .gfield_description:where(:not(.gfield_creditcard_warning_message):not(.field_validation_above .gfield_validation_message):not(.ginput_counter_tinymce):not(.gfield_choice_limit_message)) {
	color: black !important;
}
.page-id-1498 .gform_fields,
.page-id-1512 .gform_fields,
.page-id-1513 .gform_fields {
	row-gap: 16px !important;
}
.page-id-1498 form input[type="submit"],
.page-id-1512 form input[type="submit"],
.page-id-1513 form input[type="submit"] {
	width: 100% !important;
	border-radius: 4px !important;
}