.elementor-3002 .elementor-element.elementor-element-d28e404{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3002 .elementor-element.elementor-element-f294261{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3002 .elementor-element.elementor-element-0d47d97{--display:flex;}.elementor-3002 .elementor-element.elementor-element-fac02aa{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-3002 .elementor-element.elementor-element-0d47d97{--content-width:1400px;}.elementor-3002 .elementor-element.elementor-element-fac02aa{--content-width:1400px;}}/* Start custom CSS for html, class: .elementor-element-c3a5d63 */.gcf-contactpro{
  --gcfcp-bg:#f5f7fb;
  --gcfcp-surface:#ffffff;
  --gcfcp-surface-soft:#f7f8fc;
  --gcfcp-primary:#16163F;
  --gcfcp-primary-strong:#0f1035;
  --gcfcp-accent:#D3B574;
  --gcfcp-text:#1f2937;
  --gcfcp-text-soft:#667085;
  --gcfcp-line:rgba(22,22,63,.10);
  --gcfcp-line-strong:rgba(22,22,63,.16);
  --gcfcp-shadow:0 18px 48px rgba(15,23,42,.06);
  --gcfcp-shadow-soft:0 10px 28px rgba(15,23,42,.04);
  padding:0;
  background:transparent;
  color:var(--gcfcp-text);
  font-family:inherit;
}

.gcf-contactpro *,
.gcf-contactpro *::before,
.gcf-contactpro *::after{
  box-sizing:border-box;
}

.gcf-contactpro a{
  color:inherit;
  text-decoration:none;
}

.gcf-contactpro img,
.gcf-contactpro svg,
.gcf-contactpro iframe{
  display:block;
  max-width:100%;
}

.gcf-contactpro__container{
  width:min(100%,1360px);
  margin:0 auto;
}

.gcf-contactpro__hero,
.gcf-contactpro__info,
.gcf-contactpro__mapfaq,
.gcf-contactpro__cta{
  margin:0 0 28px;
}

.gcf-contactpro__hero{
  padding:34px;
  border:1px solid var(--gcfcp-line);
  border-radius:34px;
  background:var(--gcfcp-surface);
  box-shadow:var(--gcfcp-shadow);
}

.gcf-contactpro__hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(320px,.72fr);
  gap:24px;
  align-items:stretch;
}

.gcf-contactpro__hero-content{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.gcf-contactpro__title{
  margin:0 0 16px;
  color:var(--gcfcp-primary);
  font-size:clamp(2rem,4vw,3.9rem);
  line-height:1.05;
  letter-spacing:-.03em;
  text-wrap:balance;
}

.gcf-contactpro__lead{
  max-width:760px;
  margin:0;
  color:var(--gcfcp-text-soft);
  font-size:1.05rem;
  line-height:1.84;
}

.gcf-contactpro__hero-actions,
.gcf-contactpro__cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:26px;
}

.gcf-contactpro__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:0 24px;
  border-radius:16px;
  border:1px solid transparent;
  font-size:.96rem;
  font-weight:800;
  letter-spacing:.01em;
  line-height:1.2;
  text-align:center;
  cursor:pointer;
  transition:
    transform .22s ease,
    background-color .22s ease,
    border-color .22s ease,
    color .22s ease,
    box-shadow .22s ease;
}

.gcf-contactpro__btn--primary{
  background:var(--gcfcp-primary) !important;
  border-color:var(--gcfcp-primary) !important;
  color:#ffffff !important;
  box-shadow:0 14px 28px rgba(22,22,63,.16);
}

.gcf-contactpro__btn--primary:hover{
  transform:translateY(-2px);
  background:var(--gcfcp-primary-strong) !important;
  border-color:var(--gcfcp-primary-strong) !important;
  color:#ffffff !important;
}

.gcf-contactpro__btn--ghost{
  background:#ffffff !important;
  border-color:var(--gcfcp-line-strong) !important;
  color:var(--gcfcp-primary) !important;
}

.gcf-contactpro__btn--ghost:hover{
  transform:translateY(-2px);
  background:#fafbfe !important;
  border-color:var(--gcfcp-primary) !important;
  color:var(--gcfcp-primary) !important;
}

.gcf-contactpro__hero-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  width:100%;
  margin:28px 0 0;
  padding:0;
  list-style:none;
}

.gcf-contactpro__hero-point{
  position:relative;
  min-height:100%;
  padding:16px 18px 16px 42px;
  border:1px solid var(--gcfcp-line);
  border-radius:18px;
  background:var(--gcfcp-surface-soft);
  color:var(--gcfcp-primary);
  font-size:.94rem;
  font-weight:700;
  line-height:1.55;
}

.gcf-contactpro__hero-point::before{
  content:"";
  position:absolute;
  left:18px;
  top:20px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--gcfcp-accent);
}

.gcf-contactpro__hero-card{
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:28px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  background:var(--gcfcp-primary);
  color:#ffffff;
  box-shadow:0 20px 42px rgba(22,22,63,.18);
}

.gcf-contactpro__hero-card-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 14px;
  border:1px solid rgba(211,181,116,.28);
  border-radius:999px;
  background:rgba(211,181,116,.12);
  color:#ffffff;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.gcf-contactpro__hero-card-title{
  display:block;
  margin-top:14px;
  color:#ffffff;
  font-size:1.7rem;
  line-height:1.2;
  text-wrap:balance;
}

.gcf-contactpro__hero-card-list{
  display:grid;
  gap:14px;
}

.gcf-contactpro__hero-card-item{
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(255,255,255,.08);
}

.gcf-contactpro__hero-card-kicker{
  display:block;
  margin-bottom:7px;
  color:rgba(255,255,255,.72);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.gcf-contactpro__hero-card-link,
.gcf-contactpro__hero-card-text{
  margin:0;
  color:#ffffff;
  font-size:1rem;
  line-height:1.65;
  word-break:break-word;
}

.gcf-contactpro__hero-card-link:hover{
  color:#ffffff;
  text-decoration:underline;
}

.gcf-contactpro__info-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

.gcf-contactpro__info-card{
  min-height:100%;
  padding:26px 24px;
  border:1px solid var(--gcfcp-line);
  border-radius:24px;
  background:var(--gcfcp-surface);
  box-shadow:var(--gcfcp-shadow-soft);
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.gcf-contactpro__info-card:hover{
  transform:translateY(-4px);
  border-color:rgba(211,181,116,.42);
  box-shadow:0 18px 36px rgba(15,23,42,.07);
}

.gcf-contactpro__info-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  margin-bottom:18px;
  border-radius:18px;
  background:#f2eee6;
  color:var(--gcfcp-primary);
}

.gcf-contactpro__info-icon svg{
  width:26px;
  height:26px;
}

.gcf-contactpro__info-title,
.gcf-contactpro__block-title,
.gcf-contactpro__cta-title{
  margin:0 0 10px;
  color:var(--gcfcp-primary);
  line-height:1.2;
}

.gcf-contactpro__info-title{
  font-size:1.18rem;
}

.gcf-contactpro__info-text,
.gcf-contactpro__block-text,
.gcf-contactpro__cta-text,
.gcf-contactpro__faq-answer p,
.gcf-contactpro__info-static{
  margin:0;
  color:var(--gcfcp-text-soft);
  line-height:1.8;
}

.gcf-contactpro__info-link,
.gcf-contactpro__info-static{
  display:inline-block;
  margin-top:14px;
  color:var(--gcfcp-primary);
  font-weight:800;
  word-break:break-word;
}

.gcf-contactpro__info-link:hover{
  color:var(--gcfcp-primary-strong);
}

.gcf-contactpro__mapfaq-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.94fr);
  gap:22px;
  align-items:start;
}

.gcf-contactpro__map-card,
.gcf-contactpro__faq-card,
.gcf-contactpro__cta-inner{
  border:1px solid var(--gcfcp-line);
  border-radius:28px;
  background:var(--gcfcp-surface);
  box-shadow:var(--gcfcp-shadow-soft);
}

.gcf-contactpro__map-card,
.gcf-contactpro__faq-card{
  padding:28px;
}

.gcf-contactpro__block-heading{
  margin-bottom:24px;
}

.gcf-contactpro__block-title{
  font-size:clamp(1.5rem,2vw,2.2rem);
  text-wrap:balance;
}

.gcf-contactpro__map-embed{
  overflow:hidden;
  border:1px solid var(--gcfcp-line);
  border-radius:22px;
  background:#eef2f7;
  min-height:380px;
}

.gcf-contactpro__map-embed iframe{
  width:100%;
  height:100%;
  min-height:380px;
  border:0;
}

.gcf-contactpro__faq-list{
  display:grid;
  gap:14px;
}

.gcf-contactpro__faq-item{
  background:var(--gcfcp-surface-soft);
  border:1px solid rgba(22,22,63,.08);
  border-radius:18px;
  overflow:hidden;
}

.gcf-contactpro__faq-question{
  position:relative;
  list-style:none;
  padding:19px 52px 19px 18px;
  color:var(--gcfcp-primary);
  font-size:1rem;
  font-weight:800;
  line-height:1.5;
  cursor:pointer;
}

.gcf-contactpro__faq-question::-webkit-details-marker{
  display:none;
}

.gcf-contactpro__faq-question::before,
.gcf-contactpro__faq-question::after{
  content:"";
  position:absolute;
  right:20px;
  top:50%;
  width:12px;
  height:2px;
  border-radius:999px;
  background:var(--gcfcp-primary);
  transform:translateY(-50%);
  transition:transform .2s ease, opacity .2s ease;
}

.gcf-contactpro__faq-question::after{
  transform:translateY(-50%) rotate(90deg);
}

.gcf-contactpro__faq-item[open] .gcf-contactpro__faq-question::after{
  opacity:0;
  transform:translateY(-50%) rotate(90deg) scaleX(.2);
}

.gcf-contactpro__faq-answer{
  padding:0 18px 18px;
}

.gcf-contactpro__cta{
  margin-bottom:0;
}

.gcf-contactpro__cta-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  padding:30px;
  background:var(--gcfcp-primary);
  border-color:var(--gcfcp-primary);
  overflow:hidden;
}

.gcf-contactpro__cta-title,
.gcf-contactpro__cta-text{
  color:#ffffff;
}

.gcf-contactpro__cta-content{
  max-width:760px;
}

.gcf-contactpro__cta .gcf-contactpro__btn--ghost{
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.22) !important;
  color:#ffffff !important;
}

.gcf-contactpro__cta .gcf-contactpro__btn--ghost:hover{
  background:rgba(255,255,255,.16) !important;
  border-color:rgba(255,255,255,.34) !important;
  color:#ffffff !important;
}

.gcf-contactpro__btn:focus-visible,
.gcf-contactpro__faq-question:focus-visible,
.gcf-contactpro__info-link:focus-visible,
.gcf-contactpro__hero-card-link:focus-visible{
  outline:3px solid rgba(211,181,116,.42);
  outline-offset:3px;
}
.gcf-contactpro__trust{
  margin-top:28px;
  padding:18px 22px;
  border:1px solid rgba(22,22,63,.10);
  border-radius:20px;
  background:#fbfbfb;
  text-align:center;
}

.gcf-contactpro__trust-text{
  margin:0;
  font-size:15px;
  line-height:1.8;
  color:#5f6785;
  font-weight:500;
}
@media (max-width:1180px){
  .gcf-contactpro__hero-grid,
  .gcf-contactpro__mapfaq-grid,
  .gcf-contactpro__cta-inner{
    grid-template-columns:1fr;
  }
}

@media (max-width:1024px){
  .gcf-contactpro__info-grid,
  .gcf-contactpro__hero-points{
    grid-template-columns:1fr;
  }
}

@media (max-width:767px){
  .gcf-contactpro__hero,
  .gcf-contactpro__map-card,
  .gcf-contactpro__faq-card,
  .gcf-contactpro__cta-inner{
    padding:22px;
    border-radius:22px;
  }

  .gcf-contactpro__hero-card{
    padding:22px;
    border-radius:22px;
  }

  .gcf-contactpro__hero-actions,
  .gcf-contactpro__cta-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .gcf-contactpro__btn{
    width:100%;
  }

  .gcf-contactpro__title{
    font-size:clamp(1.9rem,8vw,2.8rem);
  }

  .gcf-contactpro__lead{
    font-size:1rem;
    line-height:1.76;
  }

  .gcf-contactpro__map-embed,
  .gcf-contactpro__map-embed iframe{
    min-height:300px;
  }
}

@media (max-width:480px){
  .gcf-contactpro__hero,
  .gcf-contactpro__map-card,
  .gcf-contactpro__faq-card,
  .gcf-contactpro__cta-inner{
    padding:18px;
  }

  .gcf-contactpro__title{
    font-size:clamp(1.8rem,9vw,2.5rem);
  }

  .gcf-contactpro__hero-point{
    padding:14px 14px 14px 38px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-6d59956 */.gcf-contact-clean{
  --gcf-navy:#16163F;
  --gcf-gold:#D3B574;
  --gcf-bg:#FBFBFB;

  --gcf-text:#1D2433;
  --gcf-muted:rgba(29,36,51,.68);

  --gcf-line:rgba(22,22,63,.10);
  --gcf-line-strong:rgba(22,22,63,.18);

  --gcf-radius-xl:26px;
  --gcf-radius-lg:18px;
  --gcf-radius-md:12px;

  --gcf-shadow-lg:0 20px 50px rgba(15,20,40,.08);
  --gcf-shadow-md:0 12px 30px rgba(15,20,40,.06);
  --gcf-shadow-sm:0 6px 14px rgba(15,20,40,.05);

  --gcf-focus:0 0 0 3px rgba(22,22,63,.10);

  padding: clamp(20px, 3vw, 40px);
  background: var(--gcf-bg);
}

.gcf-contact-clean *{
  box-sizing:border-box;
}

/* =========================
   Container
   ========================= */

.gcf-contact-clean__container{
  max-width:1400px;
  margin:0 auto;
}

/* =========================
   Header
   ========================= */

.gcf-contact-clean__header{
  text-align:center;
  margin-bottom:32px;
}

.gcf-contact-clean__badge{
  display:inline-block;
  font-size:13px;
  font-weight:700;
  color:var(--gcf-navy);
  border:1px solid var(--gcf-line);
  padding:6px 14px;
  border-radius:999px;
  margin-bottom:14px;
  background:rgba(22,22,63,.03);
}

.gcf-contact-clean__title{
  margin:0 0 8px;
  font-size:clamp(28px,3vw,40px);
  font-weight:800;
  color:var(--gcf-navy);
  line-height:1.08;
  letter-spacing:-.02em;
}

.gcf-contact-clean__subtitle{
  margin:0;
  font-size:16px;
  color:var(--gcf-muted);
  line-height:1.65;
}

/* =========================
   Grid
   ========================= */

.gcf-contact-clean__grid{
  display:grid;
  grid-template-columns:1.4fr .8fr;
  gap:28px;
  align-items:stretch;
}

/* =========================
   Form Card
   ========================= */

.gcf-contact-clean__form-card{
  position:relative;
  background:
    linear-gradient(rgba(255,255,255,.94), rgba(255,255,255,.97)),
    url("/wp-content/uploads/contact-texture.webp");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  border:1px solid var(--gcf-line);
  border-radius:var(--gcf-radius-xl);
  padding:28px;
  box-shadow:var(--gcf-shadow-md);
  overflow:hidden;
}

/* línea superior sutil */
.gcf-contact-clean__form-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(22,22,63,.20) 50%,
    transparent 100%
  );
  pointer-events:none;
}

/* textura cuadriculada muy sutil */
.gcf-contact-clean__form-card::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(22,22,63,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22,22,63,.018) 1px, transparent 1px);
  background-size:36px 36px;
  opacity:.35;
  pointer-events:none;
}

/* =========================
   Form
   ========================= */

.gcf-contact-clean__form{
  position:relative;
  z-index:1;
}

.gcf-contact-clean__row{
  margin-bottom:18px;
}

.gcf-contact-clean__row--two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.gcf-contact-clean__label{
  display:block;
  font-size:13px;
  font-weight:700;
  color:var(--gcf-navy);
  margin-bottom:6px;
}

/* Inputs */

.gcf-contact-clean__input,
.gcf-contact-clean__textarea{
  width:100%;
  border:1px solid var(--gcf-line-strong);
  border-radius:var(--gcf-radius-md);
  background:rgba(255,255,255,.96);
  padding:12px 14px;
  font-size:15px;
  color:var(--gcf-text);
  outline:none;
  transition:border .2s ease, box-shadow .2s ease, background .2s ease, transform .2s ease;
  box-shadow:var(--gcf-shadow-sm);
}

.gcf-contact-clean__textarea{
  min-height:120px;
  resize:none;
}

/* Placeholder */

.gcf-contact-clean__input::placeholder,
.gcf-contact-clean__textarea::placeholder{
  color:rgba(29,36,51,.45);
}

/* Focus */

.gcf-contact-clean__input:focus,
.gcf-contact-clean__textarea:focus{
  border-color:rgba(22,22,63,.24);
  box-shadow:var(--gcf-focus), 0 8px 18px rgba(15,20,40,.06);
  background:#fff;
  transform:translateY(-1px);
}

/* Hover */

.gcf-contact-clean__input:hover,
.gcf-contact-clean__textarea:hover{
  border-color:rgba(22,22,63,.22);
}

/* Select */
.gcf-contact-clean__select{
  appearance:none;
  -webkit-appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, #16163F 50%),
    linear-gradient(135deg, #16163F 50%, transparent 50%);
  background-position:
    calc(100% - 20px) calc(50% - 3px),
    calc(100% - 14px) calc(50% - 3px);
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
  padding-right:42px;
}

/* =========================
   Bottom area
   ========================= */

.gcf-contact-clean__bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}

/* Consent */

.gcf-contact-clean__consent{
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-size:13px;
  color:var(--gcf-muted);
  line-height:1.5;
}

.gcf-contact-clean__checkbox{
  margin-top:3px;
  accent-color:var(--gcf-navy);
}

/* Button */

.gcf-contact-clean__button{
  background:linear-gradient(180deg, #1b1b55 0%, #16163F 100%);
  color:#fff;
  border:none;
  border-radius:999px;
  padding:12px 26px;
  font-weight:700;
  font-size:15px;
  cursor:pointer;
  transition:all .2s ease;
  box-shadow:0 10px 20px rgba(22,22,63,.14);
}

.gcf-contact-clean__button:hover{
  background:linear-gradient(180deg, #202064 0%, #16163F 100%);
  transform:translateY(-1px);
  box-shadow:0 14px 24px rgba(22,22,63,.18);
}

.gcf-contact-clean__button:active{
  transform:translateY(0);
}

/* =========================
   Info column
   ========================= */

.gcf-contact-clean__info{
  display:flex;
  flex-direction:column;
  gap:16px;
  height:100%;
}

.gcf-contact-clean__info-card{
  display:flex;
  align-items:flex-start;
  gap:14px;
  background:#fff;
  border:1px solid var(--gcf-line);
  border-radius:var(--gcf-radius-lg);
  padding:18px;
  box-shadow:var(--gcf-shadow-sm);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.gcf-contact-clean__info-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(15,20,40,.08);
  border-color:rgba(22,22,63,.16);
}

.gcf-contact-clean__info-icon{
  width:42px;
  height:42px;
  min-width:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  border-radius:12px;
  background:#F3F4F8;
  color:var(--gcf-navy);
}
.gcf-contact-clean__info-icon i{
  font-size:20px;
  color:var(--gcf-navy);
}
.gcf-contact-clean__image-card{
  border-radius: var(--gcf-radius-lg);
  overflow: hidden;
  border: 1px solid var(--gcf-line);
  box-shadow: var(--gcf-shadow-sm);
  background: #fff;
  margin-top:auto;
}

.gcf-contact-clean__image{
  display: block;
  width: 100%;
  height: 220px;
  object-fit: cover;
}
.gcf-contact-clean__info-title{
  margin:0;
  font-size:15px;
  font-weight:700;
  color:var(--gcf-navy);
}

.gcf-contact-clean__info-text{
  margin:4px 0 0;
  font-size:14px;
  color:var(--gcf-muted);
  line-height:1.6;
}

.gcf-contact-clean__info-text a{
  color:inherit;
}
/* =========================
   Override*/

.gcf-contact-clean input[type="text"].gcf-contact-clean__input,
.gcf-contact-clean input[type="email"].gcf-contact-clean__input,
.gcf-contact-clean input[type="tel"].gcf-contact-clean__input,
.gcf-contact-clean select.gcf-contact-clean__input.gcf-contact-clean__select,
.gcf-contact-clean textarea.gcf-contact-clean__textarea {
  border: 1px solid var(--gcf-line-strong) !important;
  border-radius: var(--gcf-radius-lg) !important;
  background: rgba(255,255,255,.96) !important;
  padding: 12px 14px !important;
  color: var(--gcf-text) !important;
  box-shadow: var(--gcf-shadow-sm) !important;
  transition: border .2s ease, box-shadow .2s ease, background .2s ease, transform .2s ease !important;
}

.gcf-contact-clean input[type="text"].gcf-contact-clean__input.is-invalid,
.gcf-contact-clean input[type="email"].gcf-contact-clean__input.is-invalid,
.gcf-contact-clean input[type="tel"].gcf-contact-clean__input.is-invalid,
.gcf-contact-clean select.gcf-contact-clean__input.gcf-contact-clean__select.is-invalid,
.gcf-contact-clean textarea.gcf-contact-clean__textarea.is-invalid {
  border-color: #c62828 !important;
  border-radius: var(--gcf-radius-lg) !important;
  box-shadow: 0 0 0 3px rgba(198, 40, 40, 0.08) !important;
}

/* =========================
   Tablet
   ========================= */

@media (max-width:1024px){

  .gcf-contact-clean__container{
    max-width:900px;
  }

  .gcf-contact-clean__grid{
    grid-template-columns:1fr;
    gap:22px;
  }

  .gcf-contact-clean__form-card{
    padding:24px;
  }

  .gcf-contact-clean__info{
    gap:14px;
  }

  .gcf-contact-clean__image{
    height:200px;
  }

  .gcf-contact-clean__subtitle{
    max-width:760px;
    margin-left:auto;
    margin-right:auto;
  }

}

/* =========================
   Mobile
   ========================= */

@media (max-width:640px){

  .gcf-contact-clean{
    padding:20px 16px;
  }

  .gcf-contact-clean__container{
    max-width:100%;
  }

  .gcf-contact-clean__header{
    margin-bottom:24px;
  }

  .gcf-contact-clean__title{
    font-size:clamp(30px, 8vw, 40px);
    line-height:1.12;
  }

  .gcf-contact-clean__subtitle{
    font-size:15px;
    line-height:1.6;
    max-width:100%;
  }

  .gcf-contact-clean__grid{
    gap:18px;
  }

  .gcf-contact-clean__form-card{
    padding:22px;
    background-position:center;
  }

  .gcf-contact-clean__row{
    margin-bottom:16px;
  }

  .gcf-contact-clean__row--two{
    grid-template-columns:1fr;
    gap:14px;
  }

  .gcf-contact-clean__input,
  .gcf-contact-clean__select{
    min-height:52px;
    font-size:16px; /* evita zoom en iOS */
  }

  .gcf-contact-clean__textarea{
    min-height:130px;
    font-size:16px; /* evita zoom en iOS */
  }

  .gcf-contact-clean__bottom{
    flex-direction:column;
    align-items:stretch;
  }

  .gcf-contact-clean__button{
    width:100%;
    min-height:52px;
  }

  .gcf-contact-clean__info{
    gap:14px;
  }

  .gcf-contact-clean__info-card{
    padding:16px;
  }

  .gcf-contact-clean__info-icon{
    width:40px;
    height:40px;
    min-width:40px;
  }

  .gcf-contact-clean__info-icon i{
    font-size:18px;
  }

  .gcf-contact-clean__image{
    height:180px;
  }

}/* End custom CSS */