.elementor-61375 .elementor-element.elementor-element-5ba7bfd{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-61375 .elementor-element.elementor-element-5994a40 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group{padding-right:calc( 18px/2 );padding-left:calc( 18px/2 );margin-bottom:0px;}.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-form-fields-wrapper{margin-left:calc( -18px/2 );margin-right:calc( -18px/2 );margin-bottom:-0px;}.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group > label, .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-subgroup label{color:var( --e-global-color-e20ad91 );}.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-type-html{padding-bottom:0px;color:var( --e-global-color-e20ad91 );}.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group .elementor-field{color:var( --e-global-color-e20ad91 );}.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group .elementor-field, .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-subgroup label{font-family:"Poppins", Sans-serif;font-size:15px;font-weight:300;}.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group:not(.elementor-field-type-upload) .elementor-field:not(.elementor-select-wrapper){background-color:var( --e-global-color-e396ffc );border-color:var( --e-global-color-f4db75d );border-width:1px 1px 1px 1px;border-radius:14px 14px 14px 14px;}.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group .elementor-select-wrapper select{background-color:var( --e-global-color-e396ffc );border-color:var( --e-global-color-f4db75d );border-width:1px 1px 1px 1px;border-radius:14px 14px 14px 14px;}.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group .elementor-select-wrapper::before{color:var( --e-global-color-f4db75d );}.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-button{font-family:"Poppins", Sans-serif;font-size:15px;font-weight:700;text-transform:uppercase;line-height:1.6em;letter-spacing:1px;border-style:solid;border-width:1px 1px 1px 1px;border-radius:14px 14px 14px 14px;padding:18px 28px 18px 28px;}.elementor-61375 .elementor-element.elementor-element-5994a40 .e-form__buttons__wrapper__button-next{background-color:#c8a45d;color:#ffffff;border-color:#c8a45d;}.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-button[type="submit"]{background-color:#c8a45d;color:#ffffff;border-color:#c8a45d;}.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-61375 .elementor-element.elementor-element-5994a40 .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-f4745f5 );color:#ffffff;border-color:var( --e-global-color-f4745f5 );}.elementor-61375 .elementor-element.elementor-element-5994a40 .e-form__buttons__wrapper__button-next:hover{background-color:#dec17f;color:#0d0d0e;border-color:#dec17f;}.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-button[type="submit"]:hover{background-color:#dec17f;color:#0d0d0e;border-color:#dec17f;}.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-button[type="submit"]:hover svg *{fill:#0d0d0e;}.elementor-61375 .elementor-element.elementor-element-5994a40 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-61375 .elementor-element.elementor-element-5994a40{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}@media(min-width:769px){.elementor-61375 .elementor-element.elementor-element-5ba7bfd{--width:100%;}}@media(max-width:1024px){.elementor-61375 .elementor-element.elementor-element-5ba7bfd{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-61375 .elementor-element.elementor-element-5994a40 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group .elementor-field, .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-subgroup label{font-size:15px;}}@media(max-width:768px){.elementor-61375 .elementor-element.elementor-element-5ba7bfd{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-61375 .elementor-element.elementor-element-5994a40 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group .elementor-field, .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-subgroup label{font-size:15px;}}/* Start custom CSS for form, class: .elementor-element-5994a40 *//* =============================================================
   GLOBUS GATES / ALUGLOBUS — PREMIUM DARK QUOTE FORM
   QA build: full-width, responsive, accessible interaction states
   ============================================================= */

.elementor-61375 .elementor-element.elementor-element-5994a40 {
  --ggq-bg:#0d0d0e;
  --ggq-bg-2:#111112;
  --ggq-panel:#171718;
  --ggq-panel-hover:#1d1d1f;
  --ggq-input:#141415;
  --ggq-border:#313134;
  --ggq-border-soft:#242426;
  --ggq-gold:#c8a45d;
  --ggq-gold-bright:#dfc27e;
  --ggq-gold-wash:rgba(200,164,93,.10);
  --ggq-text:#f2f0eb;
  --ggq-muted:#aaa69d;
  --ggq-faint:#8b877f;
  --ggq-error:#ff817b;
  --ggq-success:#79d39d;
  --ggq-radius:14px;
  --ggq-radius-lg:22px;
  --ggq-gutter:clamp(18px,3.6vw,64px);
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

/* Edge-to-edge shell */
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-form {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 0 clamp(44px,6vw,82px) !important;
  overflow:hidden;
  color:var(--ggq-text);
  background:
    radial-gradient(circle at 12% 22%,rgba(200,164,93,.055),transparent 28%),
    linear-gradient(180deg,#0b0b0c 0%,var(--ggq-bg) 42%,#0a0a0b 100%);
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-form-fields-wrapper {
  width:100%;
  max-width:none;
  margin:0 !important;
  padding:0 var(--ggq-gutter) !important;
  row-gap:0 !important;
  align-items:flex-start;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group {
  min-width:0;
  margin-bottom:18px !important;
}

/* Hero: intentionally escapes the inner gutter so the form is visually full screen */
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-quote_intro {
  width:calc(100% + (var(--ggq-gutter) * 2)) !important;
  max-width:none !important;
  margin-left:calc(var(--ggq-gutter) * -1) !important;
  margin-right:calc(var(--ggq-gutter) * -1) !important;
  margin-bottom:0 !important;
  padding:0 !important;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-quote_intro .elementor-field,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-contact_heading .elementor-field,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-project_heading .elementor-field,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-details_heading .elementor-field,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-quote_logic .elementor-field {
  padding:0 !important;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-hero {
  position:relative;
  min-height:clamp(460px,48vw,650px);
  overflow:hidden;
  background:#080809;
  border-bottom:1px solid rgba(200,164,93,.30);
  isolation:isolate;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-hero-image {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
  filter:saturate(.82) contrast(1.04) brightness(.78);
  transform:scale(1.01);
  z-index:-3;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-hero-overlay {
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(6,6,7,.96) 0%,rgba(6,6,7,.88) 32%,rgba(6,6,7,.48) 58%,rgba(6,6,7,.17) 78%,rgba(6,6,7,.30) 100%),
    linear-gradient(0deg,rgba(7,7,8,.92) 0%,rgba(7,7,8,.22) 42%,rgba(7,7,8,.12) 100%);
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-hero:after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(120deg,rgba(200,164,93,.10),transparent 26%);
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-hero-copy {
  width:min(760px,62vw);
  padding:clamp(74px,8vw,118px) var(--ggq-gutter) 150px;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:17px;
  color:var(--ggq-gold-bright);
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:2.4px;
  text-transform:uppercase;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-eyebrow:before {
  content:"";
  width:34px;
  height:1px;
  background:var(--ggq-gold);
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-hero h2 {
  max-width:720px;
  margin:0 0 18px !important;
  color:#fff !important;
  font-size:clamp(42px,6.4vw,86px) !important;
  line-height:.98 !important;
  letter-spacing:clamp(-2.2px,-.2vw,-1px);
  font-weight:700 !important;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-hero p {
  max-width:660px;
  margin:0 !important;
  color:rgba(255,255,255,.80) !important;
  font-size:clamp(15px,1.25vw,18px) !important;
  line-height:1.72 !important;
  font-weight:300;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-trust {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:25px;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-trust span {
  display:inline-flex;
  min-height:36px;
  align-items:center;
  padding:8px 13px;
  color:#e8e3d9;
  font-size:12px;
  line-height:1.2;
  font-weight:500;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(12,12,13,.48);
  backdrop-filter:blur(8px);
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-stepbar {
  position:absolute;
  left:var(--ggq-gutter);
  right:var(--ggq-gutter);
  bottom:28px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:760px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:14px;
  background:rgba(12,12,13,.60);
  backdrop-filter:blur(12px);
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-stepbar span {
  min-height:53px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:12px 15px;
  color:#c7c3bb;
  font-size:12px;
  font-weight:500;
  border-right:1px solid rgba(255,255,255,.10);
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-stepbar span:last-child { border-right:0; }
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-stepbar b { color:var(--ggq-gold-bright); font-size:11px; letter-spacing:.8px; }

/* Section headers */
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-contact_heading { margin-top:clamp(46px,6vw,76px) !important; }
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-project_heading,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-details_heading { margin-top:clamp(52px,7vw,92px) !important; }
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-section-head {
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:18px;
  align-items:start;
  padding:0 0 24px;
  border-bottom:1px solid var(--ggq-border-soft);
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-section-head:after {
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:92px;
  height:1px;
  background:var(--ggq-gold);
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-section-no {
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--ggq-gold-bright);
  font-size:13px;
  font-weight:700;
  letter-spacing:.6px;
  border:1px solid rgba(200,164,93,.42);
  border-radius:50%;
  background:rgba(200,164,93,.07);
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-section-copy > span {
  display:block;
  margin:2px 0 7px;
  color:var(--ggq-gold);
  font-size:10.5px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:2px;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-section-copy h3 {
  margin:0 0 6px !important;
  color:var(--ggq-text) !important;
  font-size:clamp(24px,2.3vw,34px) !important;
  line-height:1.15 !important;
  letter-spacing:-.5px;
  font-weight:650 !important;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-section-copy p {
  max-width:780px;
  margin:0 !important;
  color:var(--ggq-muted) !important;
  font-size:13.5px !important;
  line-height:1.6 !important;
}

/* Choice cards */
.elementor-61375 .elementor-element.elementor-element-5994a40 :is(.ggq-choice-grid,.elementor-field-group-customer_type,.elementor-field-group-project_type,.elementor-field-group-installation_need,.elementor-field-group-design_style,.elementor-field-group-preferred_color,.elementor-field-group-demo_needed,.elementor-field-group-gate_automation) .elementor-field-subgroup {
  width:100%;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-project_type .elementor-field-subgroup { grid-template-columns:repeat(4,minmax(0,1fr)); }
.elementor-61375 .elementor-element.elementor-element-5994a40 :is(.elementor-field-group-installation_need,.elementor-field-group-demo_needed,.elementor-field-group-gate_automation) .elementor-field-subgroup { grid-template-columns:repeat(3,minmax(0,1fr)); }
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-design_style .elementor-field-subgroup,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-preferred_color .elementor-field-subgroup { grid-template-columns:repeat(3,minmax(0,1fr)); }
.elementor-61375 .elementor-element.elementor-element-5994a40 :is(.ggq-choice-grid,.elementor-field-group-customer_type,.elementor-field-group-project_type,.elementor-field-group-installation_need,.elementor-field-group-design_style,.elementor-field-group-preferred_color,.elementor-field-group-demo_needed,.elementor-field-group-gate_automation) .elementor-field-option {
  position:relative;
  width:100%;
  margin:0 !important;
  padding:0 !important;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 :is(.ggq-choice-grid,.elementor-field-group-customer_type,.elementor-field-group-project_type,.elementor-field-group-installation_need,.elementor-field-group-design_style,.elementor-field-group-preferred_color,.elementor-field-group-demo_needed,.elementor-field-group-gate_automation) .elementor-field-option > input[type="checkbox"],
.elementor-61375 .elementor-element.elementor-element-5994a40 :is(.ggq-choice-grid,.elementor-field-group-customer_type,.elementor-field-group-project_type,.elementor-field-group-installation_need,.elementor-field-group-design_style,.elementor-field-group-preferred_color,.elementor-field-group-demo_needed,.elementor-field-group-gate_automation) .elementor-field-option > input[type="radio"] {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  margin:0 !important;
  padding:0 !important;
  opacity:0 !important;
  clip-path:inset(50%);
  overflow:hidden;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 :is(.ggq-choice-grid,.elementor-field-group-customer_type,.elementor-field-group-project_type,.elementor-field-group-installation_need,.elementor-field-group-design_style,.elementor-field-group-preferred_color,.elementor-field-group-demo_needed,.elementor-field-group-gate_automation) .elementor-field-option > label {
  position:relative;
  width:100%;
  min-height:56px;
  display:flex !important;
  align-items:center;
  padding:13px 42px 13px 15px !important;
  margin:0 !important;
  cursor:pointer;
  user-select:none;
  color:#d8d5ce !important;
  font-size:13.5px !important;
  line-height:1.35;
  font-weight:500 !important;
  border:1px solid var(--ggq-border) !important;
  border-radius:13px !important;
  background:var(--ggq-panel) !important;
  box-shadow:none !important;
  transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 :is(.ggq-choice-grid,.elementor-field-group-customer_type,.elementor-field-group-project_type,.elementor-field-group-installation_need,.elementor-field-group-design_style,.elementor-field-group-preferred_color,.elementor-field-group-demo_needed,.elementor-field-group-gate_automation) .elementor-field-option > label:after {
  content:"";
  position:absolute;
  right:15px;
  top:50%;
  width:17px;
  height:17px;
  transform:translateY(-50%);
  border:1.5px solid #65615a;
  border-radius:5px;
  background:transparent;
  box-sizing:border-box;
  transition:all .18s ease;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 :is(.ggq-choice-grid,.elementor-field-group-customer_type,.elementor-field-group-project_type,.elementor-field-group-installation_need,.elementor-field-group-design_style,.elementor-field-group-preferred_color,.elementor-field-group-demo_needed,.elementor-field-group-gate_automation) input[type="radio"] + label:after { border-radius:50%; }
.elementor-61375 .elementor-element.elementor-element-5994a40 :is(.ggq-choice-grid,.elementor-field-group-customer_type,.elementor-field-group-project_type,.elementor-field-group-installation_need,.elementor-field-group-design_style,.elementor-field-group-preferred_color,.elementor-field-group-demo_needed,.elementor-field-group-gate_automation) .elementor-field-option > label:hover {
  color:#f0eee9 !important;
  border-color:#4b4843 !important;
  background:var(--ggq-panel-hover) !important;
  transform:translateY(-1px);
}
.elementor-61375 .elementor-element.elementor-element-5994a40 :is(.ggq-choice-grid,.elementor-field-group-customer_type,.elementor-field-group-project_type,.elementor-field-group-installation_need,.elementor-field-group-design_style,.elementor-field-group-preferred_color,.elementor-field-group-demo_needed,.elementor-field-group-gate_automation) .elementor-field-option.ggq-selected > label,
.elementor-61375 .elementor-element.elementor-element-5994a40 :is(.ggq-choice-grid,.elementor-field-group-customer_type,.elementor-field-group-project_type,.elementor-field-group-installation_need,.elementor-field-group-design_style,.elementor-field-group-preferred_color,.elementor-field-group-demo_needed,.elementor-field-group-gate_automation) .elementor-field-option > input:checked + label {
  color:#fff !important;
  border-color:rgba(200,164,93,.82) !important;
  background:linear-gradient(180deg,rgba(200,164,93,.13),rgba(200,164,93,.075)) !important;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 :is(.ggq-choice-grid,.elementor-field-group-customer_type,.elementor-field-group-project_type,.elementor-field-group-installation_need,.elementor-field-group-design_style,.elementor-field-group-preferred_color,.elementor-field-group-demo_needed,.elementor-field-group-gate_automation) .elementor-field-option.ggq-selected > label:after,
.elementor-61375 .elementor-element.elementor-element-5994a40 :is(.ggq-choice-grid,.elementor-field-group-customer_type,.elementor-field-group-project_type,.elementor-field-group-installation_need,.elementor-field-group-design_style,.elementor-field-group-preferred_color,.elementor-field-group-demo_needed,.elementor-field-group-gate_automation) .elementor-field-option > input:checked + label:after {
  border-color:var(--ggq-gold-bright);
  background:var(--ggq-gold);
  box-shadow:inset 0 0 0 4px #171718;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 :is(.ggq-choice-grid,.elementor-field-group-customer_type,.elementor-field-group-project_type,.elementor-field-group-installation_need,.elementor-field-group-design_style,.elementor-field-group-preferred_color,.elementor-field-group-demo_needed,.elementor-field-group-gate_automation) .elementor-field-option > input:focus-visible + label {
  border-color:var(--ggq-gold-bright) !important;
  box-shadow:0 0 0 3px rgba(200,164,93,.18) !important;
}

/* Color cards add subtle swatches without relying on color alone */
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-preferred_color .elementor-field-option > label { padding-left:47px !important; }
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-preferred_color .elementor-field-option > label:before {
  content:"";
  position:absolute;
  left:15px;
  top:50%;
  width:20px;
  height:20px;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.26);
  border-radius:50%;
  background:#111;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-preferred_color .elementor-field-option:nth-child(1) > label:before { background:#080808; }
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-preferred_color .elementor-field-option:nth-child(2) > label:before { background:#f2f1ec; }
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-preferred_color .elementor-field-option:nth-child(3) > label:before { background:#6f5540; }
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-preferred_color .elementor-field-option:nth-child(4) > label:before { background:#777b7c; }
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-preferred_color .elementor-field-option:nth-child(5) > label:before { background:linear-gradient(135deg,#5f3c23,#c69758); }
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-preferred_color .elementor-field-option:nth-child(6) > label:before { background:linear-gradient(135deg,#252525,#c8a45d); }

/* Conditional groups: wrapper level, so label + control always appear/disappear together */
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-company_name,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-gate_automation,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-patio_style,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-fence_style,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-pedestrian_diy_style,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-pedestrian_hd_style,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-double_swing_diy_style,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-double_swing_hd_style,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-wall_cladding_style,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-other_project_details { display:none !important; }

.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-company_name.ggq-is-visible,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-gate_automation.ggq-is-visible,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-patio_style.ggq-is-visible,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-fence_style.ggq-is-visible,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-pedestrian_diy_style.ggq-is-visible,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-pedestrian_hd_style.ggq-is-visible,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-double_swing_diy_style.ggq-is-visible,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-double_swing_hd_style.ggq-is-visible,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-wall_cladding_style.ggq-is-visible,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-other_project_details.ggq-is-visible {
  display:flex !important;
  flex-wrap:wrap;
  animation:ggqReveal .24s ease both;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-is-hidden { display:none !important; }
@keyframes ggqReveal { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:none; } }
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-logic-field { display:none !important; }

/* Level 2 conditional visual product choices — compact thumbnail cards */
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-subcategory {
  width:100% !important;
  max-width:100% !important;
  margin-top:8px !important;
  margin-bottom:24px !important;
  padding:18px !important;
  border:1px solid var(--ggq-border-soft);
  border-radius:18px;
  background:#101011 !important;
}

/* Keep all form labels readable on the dark background */
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group > .elementor-field-label,
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-subcategory > .elementor-field-label,
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-name,
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-gallery label,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-other_project_details > .elementor-field-label {
  color:#fff !important;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-option > label {
  color:#fff !important;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 input.elementor-field:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.elementor-61375 .elementor-element.elementor-element-5994a40 textarea.elementor-field,
.elementor-61375 .elementor-element.elementor-element-5994a40 select.elementor-field {
  color:#fff !important;
  background:#141415 !important;
  border-color:#343438 !important;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 input.elementor-field::placeholder,
.elementor-61375 .elementor-element.elementor-element-5994a40 textarea.elementor-field::placeholder {
  color:#c5c1b9 !important;
  opacity:.72;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 select.elementor-field option {
  color:#fff !important;
  background:#141415 !important;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-subcategory > .elementor-field-label {
  width:100%;
  margin:0 0 4px !important;
  font-size:16px !important;
  line-height:1.35 !important;
  font-weight:650 !important;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-subcategory-helper {
  width:100%;
  margin:0 0 14px;
  color:#f0eee8 !important;
  font-size:12px;
  line-height:1.5;
  opacity:.82;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-gallery .elementor-field-subgroup {
  width:100%;
  max-width:1180px;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-gallery .elementor-field-option {
  position:relative;
  width:100%;
  min-width:0;
  margin:0 !important;
  padding:0 !important;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-gallery .elementor-field-option > input[type="checkbox"] {
  position:absolute !important;
  left:10px;
  top:10px;
  width:1px !important;
  height:1px !important;
  margin:0 !important;
  padding:0 !important;
  opacity:0 !important;
  clip-path:inset(50%);
  overflow:hidden;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-gallery .elementor-field-option > label.ggq-product-card {
  position:relative;
  width:100%;
  min-width:0;
  height:100%;
  display:flex !important;
  flex-direction:column;
  align-items:stretch;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden;
  cursor:pointer;
  user-select:none;
  color:#fff !important;
  border:1px solid #343438 !important;
  border-radius:13px !important;
  background:#171718 !important;
  box-shadow:0 5px 16px rgba(0,0,0,.16) !important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-gallery .elementor-field-option > label.ggq-product-card:hover {
  transform:translateY(-2px);
  border-color:#5c574f !important;
  background:#1b1b1d !important;
  box-shadow:0 9px 22px rgba(0,0,0,.22) !important;
}

/* Compact thumbnail window. The complete render remains visible with contain. */
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-image-area {
  position:relative;
  width:100%;
  height:138px;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:8px;
  background:#f7f7f7;
  border-bottom:1px solid #303034;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-image-area img {
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  display:block;
  object-fit:contain !important;
  object-position:center !important;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-name {
  width:100%;
  min-height:58px;
  display:flex;
  align-items:center;
  padding:10px 38px 10px 11px;
  color:#fff !important;
  font-size:11.5px;
  line-height:1.35;
  font-weight:550;
  overflow-wrap:anywhere;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-card.ggq-has-description .ggq-product-name {
  min-height:0;
  padding-bottom:4px;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-description {
  width:100%;
  display:block;
  padding:0 38px 11px 11px;
  color:#fff !important;
  font-size:10px;
  line-height:1.4;
  font-weight:400;
  opacity:.72;
  overflow-wrap:anywhere;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-check {
  position:absolute;
  right:9px;
  bottom:17px;
  width:22px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:.55;
  color:#e5e1d9;
  font-size:12px;
  line-height:1;
  font-weight:800;
  border:1px solid #68635b;
  border-radius:50%;
  background:#101011;
  transition:all .16s ease;
}

/* Magnifier sits above the image and does not toggle the checkbox. */
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-zoom {
  position:absolute;
  top:8px;
  right:8px;
  z-index:4;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.34) !important;
  border-radius:10px !important;
  background:rgba(12,12,13,.82) !important;
  box-shadow:0 4px 14px rgba(0,0,0,.24) !important;
  cursor:zoom-in;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-zoom:hover {
  transform:scale(1.05);
  border-color:var(--ggq-gold-bright) !important;
  background:#141415 !important;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-zoom:focus-visible {
  outline:3px solid rgba(223,194,126,.42) !important;
  outline-offset:2px;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-zoom svg {
  width:17px;
  height:17px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-gallery .elementor-field-option.ggq-selected > label.ggq-product-card,
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-gallery .elementor-field-option > input[type="checkbox"]:checked + label.ggq-product-card {
  border-color:var(--ggq-gold-bright) !important;
  background:linear-gradient(180deg,rgba(200,164,93,.14),rgba(200,164,93,.06)) !important;
  box-shadow:0 0 0 1px rgba(200,164,93,.26),0 9px 24px rgba(0,0,0,.24) !important;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-gallery .elementor-field-option.ggq-selected .ggq-product-check,
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-gallery .elementor-field-option > input[type="checkbox"]:checked + label .ggq-product-check {
  opacity:1;
  color:#0e0e0f;
  border-color:var(--ggq-gold-bright);
  background:var(--ggq-gold-bright);
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-gallery .elementor-field-option > input[type="checkbox"]:focus-visible + label.ggq-product-card {
  border-color:var(--ggq-gold-bright) !important;
  box-shadow:0 0 0 3px rgba(200,164,93,.24) !important;
  outline:none !important;
}

/* Scoped image lightbox */
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-lightbox[hidden] { display:none !important; }
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-lightbox {
  position:fixed;
  inset:0;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.88);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-lightbox-dialog {
  position:relative;
  width:min(980px,94vw);
  max-height:90vh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  background:#111112;
  box-shadow:0 26px 80px rgba(0,0,0,.55);
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-lightbox-image-wrap {
  width:100%;
  min-height:220px;
  max-height:72vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  overflow:hidden;
  background:#f7f7f7;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-lightbox-image {
  width:100%;
  height:100%;
  max-width:100%;
  max-height:68vh;
  display:block;
  object-fit:contain !important;
  object-position:center !important;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-lightbox-caption {
  margin:0;
  padding:13px 54px 14px 16px;
  color:#fff !important;
  font-size:13px;
  line-height:1.4;
  font-weight:600;
  background:#151516;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-lightbox-close {
  position:absolute;
  top:10px;
  right:10px;
  z-index:3;
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 !important;
  color:#fff !important;
  font-size:24px !important;
  line-height:1 !important;
  border:1px solid rgba(255,255,255,.32) !important;
  border-radius:11px !important;
  background:rgba(12,12,13,.88) !important;
  cursor:pointer;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-lightbox-close:hover,
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-lightbox-close:focus-visible {
  border-color:var(--ggq-gold-bright) !important;
  outline:none !important;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-other_project_details {
  width:100% !important;
  margin-top:4px !important;
  padding:18px !important;
  border:1px solid var(--ggq-border-soft);
  border-radius:16px;
  background:rgba(255,255,255,.015);
}

/* Upload */
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-existing_area_photos { margin-top:2px !important; }
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-existing_area_photos .elementor-field-type-upload,
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-upload { width:100%; }
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-existing_area_photos input[type="file"] {
  width:100% !important;
  min-height:88px;
  padding:18px !important;
  color:#aaa69d !important;
  font-size:13px !important;
  line-height:1.4;
  border:1px dashed #4a4741 !important;
  border-radius:16px !important;
  background:#131314 !important;
  cursor:pointer;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-existing_area_photos input[type="file"]::file-.elementor-61375 .elementor-element.elementor-element-5994a40-button {
  min-height:42px;
  margin-right:14px;
  padding:10px 15px;
  color:#111 !important;
  font-weight:700;
  border:1px solid var(--ggq-gold) !important;
  border-radius:10px;
  background:var(--ggq-gold) !important;
  cursor:pointer;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-existing_area_photos input[type="file"]:hover { border-color:var(--ggq-gold) !important; background:#171718 !important; }
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-existing_area_photos:after {
  content:"Up to 10 files • JPG, PNG, WEBP or PDF • 10 MB per file";
  display:block;
  width:100%;
  margin-top:7px;
  color:var(--ggq-faint);
  font-size:11px;
  line-height:1.4;
}

/* Validation */
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-group-error .elementor-field-label { color:#ffd0cd !important; }
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-group-error .elementor-field-subgroup { padding:7px; border:1px solid rgba(255,129,123,.5); border-radius:16px; background:rgba(255,129,123,.045); }
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-inline-error,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-message.elementor-message-danger {
  width:100%;
  margin-top:8px;
  color:var(--ggq-error) !important;
  font-size:12px !important;
  line-height:1.45;
  font-weight:500;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-error input.elementor-field,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-error textarea.elementor-field,
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-error select.elementor-field {
  border-color:var(--ggq-error) !important;
  box-shadow:0 0 0 3px rgba(255,129,123,.10) !important;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-message.elementor-message-success {
  width:100%;
  margin-top:14px;
  padding:14px 16px;
  color:#dff7e8 !important;
  font-size:13px;
  line-height:1.45;
  border:1px solid rgba(121,211,157,.35);
  border-radius:12px;
  background:rgba(121,211,157,.08);
}

/* reCAPTCHA + submit */
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-type-recaptcha { margin-top:6px !important; }
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-type-recaptcha > div { max-width:100%; }
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-type-submit {
  position:relative;
  width:100% !important;
  max-width:100% !important;
  margin-top:16px !important;
  padding-top:22px !important;
  border-top:1px solid var(--ggq-border-soft);
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-button[type="submit"] {
  width:100%;
  min-height:62px;
  padding:17px 28px !important;
  color:#0e0e0f !important;
  font-size:14px !important;
  line-height:1.2;
  letter-spacing:.75px;
  font-weight:800 !important;
  text-transform:uppercase;
  border:1px solid var(--ggq-gold) !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,var(--ggq-gold-bright),var(--ggq-gold)) !important;
  box-shadow:0 10px 26px rgba(200,164,93,.14) !important;
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-button[type="submit"]:hover {
  transform:translateY(-1px);
  filter:brightness(1.04);
  box-shadow:0 16px 34px rgba(200,164,93,.19) !important;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-button[type="submit"]:focus-visible {
  outline:3px solid rgba(223,194,126,.34) !important;
  outline-offset:3px;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-type-submit:after {
  content:"Your project details are sent directly to our quote team.";
  display:block;
  width:100%;
  margin-top:9px;
  color:var(--ggq-faint);
  font-size:11px;
  line-height:1.4;
  text-align:center;
}

/* Tablet */
@media (max-width:1024px) {
  .elementor-61375 .elementor-element.elementor-element-5994a40 { --ggq-gutter:clamp(18px,3.2vw,34px); }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-hero { min-height:520px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-hero-copy { width:min(700px,76vw); padding-top:82px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-hero-overlay {
    background:linear-gradient(90deg,rgba(6,6,7,.96) 0%,rgba(6,6,7,.82) 48%,rgba(6,6,7,.30) 82%),linear-gradient(0deg,rgba(7,7,8,.92) 0%,transparent 50%);
  }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-project_type .elementor-field-subgroup { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-design_style .elementor-field-subgroup,
  .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-preferred_color .elementor-field-subgroup { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-gallery .elementor-field-subgroup { grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-image-area { height:128px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-subcategory { padding:16px !important; }
}

/* Mobile */
@media (max-width:767px) {
  .elementor-61375 .elementor-element.elementor-element-5994a40 { --ggq-gutter:16px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-form { padding-bottom:42px !important; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-form-fields-wrapper { padding:0 var(--ggq-gutter) !important; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group {
    width:100% !important;
    max-width:100% !important;
    flex-basis:100% !important;
    margin-bottom:15px !important;
  }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-quote_intro {
    width:calc(100% + 32px) !important;
    max-width:none !important;
    margin-left:-16px !important;
    margin-right:-16px !important;
  }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-hero { min-height:560px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-hero-image { object-position:62% center; filter:saturate(.76) brightness(.65); }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-hero-overlay {
    background:linear-gradient(180deg,rgba(7,7,8,.46) 0%,rgba(7,7,8,.58) 30%,rgba(7,7,8,.94) 76%,rgba(7,7,8,.99) 100%);
  }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-hero-copy {
    position:absolute;
    left:0;
    right:0;
    bottom:108px;
    width:100%;
    padding:26px 18px;
  }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-eyebrow { margin-bottom:12px; font-size:10px; letter-spacing:1.8px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-eyebrow:before { width:24px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-hero h2 { margin-bottom:12px !important; font-size:clamp(38px,12vw,54px) !important; letter-spacing:-1.2px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-hero p { font-size:14px !important; line-height:1.6 !important; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-trust { gap:6px; margin-top:16px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-trust span { min-height:31px; padding:6px 9px; font-size:10px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-stepbar {
    left:16px;
    right:16px;
    bottom:18px;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-radius:12px;
  }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-stepbar span {
    min-height:47px;
    justify-content:center;
    gap:5px;
    padding:8px 5px;
    font-size:10px;
    text-align:center;
  }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-section-head { grid-template-columns:46px minmax(0,1fr); gap:13px; padding-bottom:19px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-section-no { width:42px; height:42px; font-size:11px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-section-copy > span { margin-top:1px; font-size:9px; letter-spacing:1.6px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-section-copy h3 { font-size:24px !important; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-section-copy p { font-size:12.5px !important; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-contact_heading { margin-top:38px !important; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-project_heading,
  .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-details_heading { margin-top:50px !important; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 :is(.ggq-choice-grid,.elementor-field-group-customer_type,.elementor-field-group-project_type,.elementor-field-group-installation_need,.elementor-field-group-design_style,.elementor-field-group-preferred_color,.elementor-field-group-demo_needed,.elementor-field-group-gate_automation) .elementor-field-subgroup,
  .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-project_type .elementor-field-subgroup,
  .elementor-61375 .elementor-element.elementor-element-5994a40 :is(.elementor-field-group-installation_need,.elementor-field-group-demo_needed,.elementor-field-group-gate_automation) .elementor-field-subgroup,
  .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-design_style .elementor-field-subgroup,
  .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-preferred_color .elementor-field-subgroup { grid-template-columns:1fr; gap:8px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 :is(.ggq-choice-grid,.elementor-field-group-customer_type,.elementor-field-group-project_type,.elementor-field-group-installation_need,.elementor-field-group-design_style,.elementor-field-group-preferred_color,.elementor-field-group-demo_needed,.elementor-field-group-gate_automation) .elementor-field-option > label { min-height:52px; font-size:13px !important; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-gallery .elementor-field-subgroup { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-subcategory { padding:12px !important; margin-bottom:18px !important; border-radius:15px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-subcategory > .elementor-field-label { font-size:15px !important; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-subcategory-helper { font-size:11.5px; margin-bottom:11px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-image-area { height:112px; padding:6px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-name { min-height:56px; padding:9px 34px 9px 9px; font-size:10.5px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-check { right:8px; bottom:17px; width:20px; height:20px; font-size:11px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-zoom { top:6px; right:6px; width:30px; height:30px; border-radius:9px !important; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-zoom svg { width:15px; height:15px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-lightbox { padding:12px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-lightbox-dialog { width:96vw; border-radius:14px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-lightbox-image-wrap { min-height:180px; padding:10px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-other_project_details { padding:14px !important; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 input.elementor-field:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  .elementor-61375 .elementor-element.elementor-element-5994a40 textarea.elementor-field,
  .elementor-61375 .elementor-element.elementor-element-5994a40 select.elementor-field { min-height:54px; font-size:16px !important; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-existing_area_photos input[type="file"] { min-height:96px; padding:14px !important; font-size:12px !important; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-group-existing_area_photos input[type="file"]::file-.elementor-61375 .elementor-element.elementor-element-5994a40-button { display:block; width:100%; margin:0 0 10px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-field-type-submit { margin-top:12px !important; padding-top:18px !important; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .elementor-button[type="submit"] { min-height:60px; }
}

@media (max-width:390px) {
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-gallery .elementor-field-subgroup { grid-template-columns:1fr !important; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-image-area { height:136px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-name { min-height:54px; font-size:11px; }
}

@media (max-width:340px) {
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-subcategory { padding:10px !important; }
}

@media (max-width:390px) {
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-stepbar span { font-size:9px; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-trust span { font-size:9.5px; }
}

@media (prefers-reduced-motion:reduce) {
  .elementor-61375 .elementor-element.elementor-element-5994a40 *, .elementor-61375 .elementor-element.elementor-element-5994a40 *:before, .elementor-61375 .elementor-element.elementor-element-5994a40 *:after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

/* =============================================================
   GGQ RESPONSIVE PRODUCT GRID V3
   Wide desktop = one row; progressively wraps as space decreases.
   Product renders always remain fully visible with object-fit:contain.
   ============================================================= */

/* The JS applies this class directly to Elementor's checkbox subgroup,
   avoiding Elementor's default vertical checkbox stacking. */
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-grid {
  width:100% !important;
  max-width:none !important;
  display:grid !important;
  align-items:stretch !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-grid > .elementor-field-option {
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  flex:initial !important;
  flex-basis:auto !important;
  margin:0 !important;
  padding:0 !important;
}

/* Cleaner dark product block. */
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-subcategory {
  width:100% !important;
  max-width:100% !important;
  margin-top:8px !important;
  margin-bottom:22px !important;
  padding:15px !important;
  border:1px solid #29292c !important;
  border-radius:18px !important;
  background:#101011 !important;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-subcategory > .elementor-field-label {
  color:#fff !important;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-subcategory-helper {
  color:#d8d5cf !important;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-gallery .elementor-field-option > label.ggq-product-card {
  min-width:0 !important;
  border-color:#303034 !important;
  background:#151516 !important;
  box-shadow:0 4px 14px rgba(0,0,0,.16) !important;
}

/* No white letterbox/background. The whole supplied render is still visible. */
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-image-area {
  width:100% !important;
  height:auto !important;
  aspect-ratio:16 / 10;
  min-height:0 !important;
  padding:7px !important;
  background:#0c0c0d !important;
  border-bottom:1px solid #2a2a2d !important;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-image-area img {
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
}

.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-name {
  min-height:52px !important;
  padding:9px 34px 9px 10px !important;
  color:#fff !important;
  font-size:10.5px !important;
  line-height:1.3 !important;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-check {
  right:8px !important;
  bottom:15px !important;
  width:20px !important;
  height:20px !important;
  font-size:11px !important;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-zoom {
  top:7px !important;
  right:7px !important;
  width:31px !important;
  height:31px !important;
  border-radius:9px !important;
}
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-zoom svg {
  width:15px !important;
  height:15px !important;
}

/* Dark lightbox stage to match the form rather than a white canvas. */
.elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-lightbox-image-wrap {
  background:#0c0c0d !important;
}

/* Large desktop: every option in a given group stays on one row.
   The largest supplied group contains 8 items. */
@media (min-width:1180px) {
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-grid {
    grid-template-columns:none !important;
    grid-template-rows:1fr !important;
    grid-auto-flow:column !important;
    grid-auto-columns:minmax(120px,1fr) !important;
  }
}

/* Smaller desktop / landscape tablet. */
@media (min-width:900px) and (max-width:1179px) {
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-grid {
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    grid-auto-flow:row !important;
    grid-auto-columns:auto !important;
  }
}

/* Tablet. */
@media (min-width:600px) and (max-width:899px) {
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-grid {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    grid-auto-flow:row !important;
    grid-auto-columns:auto !important;
  }
}

/* Phones: two useful columns without squeezing the image or text. */
@media (min-width:360px) and (max-width:599px) {
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-auto-flow:row !important;
    grid-auto-columns:auto !important;
    gap:9px !important;
  }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-subcategory { padding:10px !important; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-name {
    min-height:56px !important;
    font-size:10px !important;
    padding:8px 31px 8px 8px !important;
  }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-image-area { padding:5px !important; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-zoom {
    top:5px !important;
    right:5px !important;
    width:29px !important;
    height:29px !important;
  }
}

/* Very narrow phones stay readable and never overflow. */
@media (max-width:359px) {
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-grid {
    grid-template-columns:1fr !important;
    grid-auto-flow:row !important;
    grid-auto-columns:auto !important;
  }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-subcategory { padding:10px !important; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-image-area { aspect-ratio:16 / 9; }
  .elementor-61375 .elementor-element.elementor-element-5994a40 .ggq-product-name { font-size:11px !important; }
}/* End custom CSS */