/* Thermical Contact Branches Pro — Front */
:root{
  --thcbp-blue:#1f4f86;
  --thcbp-blue2:#2f6fbf;
  --thcbp-ink:#0b1220;
  --thcbp-muted:rgba(11,18,32,.68);
  --thcbp-line:rgba(11,18,32,.10);
  --thcbp-soft:#f5f8ff;
  --thcbp-card:#ffffff;
  --thcbp-radius:22px;
  --thcbp-shadow:0 18px 45px rgba(16,24,40,.12);
  --thcbp-shadow2:0 10px 28px rgba(16,24,40,.10);
  --thcbp-green:#16a34a;
  --thcbp-greenbg:rgba(22,163,74,.12);
  --thcbp-red:#dc2626;
  --thcbp-redbg:rgba(220,38,38,.12);
  --thcbp-font:system-ui,-apple-system,"Segoe UI",Roboto,Inter,Arial,sans-serif;
}

.thcbp-wrap{ font-family:var(--thcbp-font); color:var(--thcbp-ink); width:100%; max-width:1180px; margin:0 auto; padding:clamp(18px,2.4vw,28px); }
.thcbp-shell{
  border:1px solid var(--thcbp-line);
  border-radius:calc(var(--thcbp-radius) + 6px);
  background:
    radial-gradient(900px 380px at 10% 0%, rgba(47,111,191,.14), transparent 60%),
    radial-gradient(820px 360px at 90% 10%, rgba(31,79,134,.14), transparent 55%),
    linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
  box-shadow:var(--thcbp-shadow);
  overflow:hidden;
}

.thcbp-tabs{
  display:flex; gap:8px; flex-wrap:wrap;
  padding:14px 16px;
  border-bottom:1px solid var(--thcbp-line);
  background:linear-gradient(90deg, rgba(31,79,134,.08), rgba(47,111,191,.05));
}
.thcbp-tab{
  appearance:none;
  border:1px solid rgba(31,79,134,.18);
  background:#fff;
  color:var(--thcbp-blue);
  font-weight:800;
  border-radius:999px;
  padding:8px 12px;
  cursor:pointer;
  transition:transform .15s ease, filter .15s ease, background .15s ease;
}
.thcbp-tab:hover{ transform:translateY(-1px); filter:brightness(1.02); }
.thcbp-tab.is-active{
  background:linear-gradient(180deg, var(--thcbp-blue2), var(--thcbp-blue));
  color:#fff;
  border-color:rgba(255,255,255,.25);
}

.thcbp-grid{ padding:clamp(18px,2.6vw,30px); padding-bottom:16px; }
.thcbp-panel{ display:none; }
.thcbp-panel.is-active{
  display:grid;
  grid-template-columns: 1.08fr .92fr;
  gap:clamp(14px,2vw,22px);
}
@media (max-width: 980px){
  .thcbp-panel.is-active{ grid-template-columns:1fr; }
}

.thcbp-card{
  background:var(--thcbp-card);
  border:1px solid var(--thcbp-line);
  border-radius:var(--thcbp-radius);
  box-shadow:var(--thcbp-shadow2);
  overflow:hidden;
}
.thcbp-cardPad{ padding:18px 18px 16px; }
.thcbp-cardHead{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.thcbp-cardTitle{ margin:0; font-size:18px; letter-spacing:-.01em; }

.thcbp-chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 10px; border-radius:999px;
  background:var(--thcbp-soft);
  border:1px solid rgba(31,79,134,.14);
  color:var(--thcbp-blue);
  font-size:12.5px; font-weight:800;
}

.thcbp-list{ display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.thcbp-item{
  display:flex; gap:12px; align-items:flex-start;
  padding:12px; border-radius:16px;
  background:linear-gradient(180deg, rgba(245,248,255,.90), rgba(245,248,255,.55));
  border:1px solid rgba(11,18,32,.08);
}
.thcbp-ico{
  width:38px; height:38px; border-radius:12px;
  display:grid; place-items:center;
  background:rgba(31,79,134,.12);
  color:var(--thcbp-blue);
  flex:0 0 auto;
}
.thcbp-item b{ display:block; font-size:13px; letter-spacing:.1px; margin-bottom:2px; }
.thcbp-item span{ display:block; color:var(--thcbp-muted); font-size:14px; line-height:1.35; }
.thcbp-link{ color:inherit; text-decoration:underline; text-decoration-color: rgba(31,79,134,.35); }

.thcbp-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }

.thcbp-btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.30);
  background:linear-gradient(180deg, var(--thcbp-blue2), var(--thcbp-blue));
  color:#fff;
  font-weight:800;
  border-radius:14px;
  padding:11px 14px;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:10px;
  box-shadow:0 12px 30px rgba(31,79,134,.22);
  transition:transform .15s ease, filter .15s ease;
  white-space:nowrap;
}
.thcbp-btn:hover{ transform:translateY(-1px); filter:brightness(1.03); }

.thcbp-btn--ghost{
  background:#fff;
  color:var(--thcbp-blue);
  border:1px solid rgba(31,79,134,.18);
  box-shadow:var(--thcbp-shadow2);
}
.thcbp-btn--ghost:hover{ transform:translateY(-1px); }

.thcbp-btn--disabled{ opacity:.72; cursor:not-allowed; filter:saturate(.9); }

.thcbp-hoursRow{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.thcbp-badge{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12.5px; font-weight:900;
  padding:6px 10px; border-radius:999px;
  border:1px solid rgba(11,18,32,.10);
  background:#fff; white-space:nowrap;
}
.thcbp-badge i{ width:8px; height:8px; border-radius:50%; background:rgba(11,18,32,.28); display:inline-block; }
.thcbp-badge.is-open{ color:var(--thcbp-green); border-color:rgba(22,163,74,.25); background:var(--thcbp-greenbg); }
.thcbp-badge.is-open i{ background:var(--thcbp-green); }
.thcbp-badge.is-closed{ color:var(--thcbp-red); border-color:rgba(220,38,38,.25); background:var(--thcbp-redbg); }
.thcbp-badge.is-closed i{ background:var(--thcbp-red); }
.thcbp-hoursNote{ margin-top:6px; font-size:12.6px; color:rgba(11,18,32,.62); line-height:1.35; }

.thcbp-form{ padding:18px; }
.thcbp-formGrid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:520px){ .thcbp-formGrid{ grid-template-columns:1fr; } }
.thcbp-field{ display:flex; flex-direction:column; gap:6px; }
.thcbp-field label{ font-size:12.5px; font-weight:800; color:rgba(11,18,32,.78); letter-spacing:.15px; }
.thcbp-input,.thcbp-textarea{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(11,18,32,.12);
  background:#fff;
  outline:none;
  font-size:14px;
  transition: box-shadow .15s ease, border-color .15s ease;
}
.thcbp-textarea{ min-height:120px; resize:vertical; }
.thcbp-input:focus,.thcbp-textarea:focus{
  border-color: rgba(47,111,191,.45);
  box-shadow:0 0 0 4px rgba(47,111,191,.14);
}
.thcbp-submitRow{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; flex-wrap:wrap; }
.thcbp-lock{ display:inline-flex; align-items:center; gap:8px; color:rgba(11,18,32,.62); font-size:12.5px; font-weight:700; }
.thcbp-note{ margin:12px 0 0; color:var(--thcbp-muted); font-size:12.8px; line-height:1.4; }

.thcbp-mapWide{ grid-column:1 / -1; padding-top: 8px; }
.thcbp-mapWrap{
  border:1px solid var(--thcbp-line);
  border-radius:var(--thcbp-radius);
  box-shadow:var(--thcbp-shadow2);
  overflow:hidden;
  background:#fff;
}
.thcbp-map{ width:100%; border:0; display:block; aspect-ratio:24/9; min-height:340px; }
@media (max-width:980px){ .thcbp-map{ aspect-ratio:16/10; min-height:280px; } }

.thcbp-mapFoot{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:12px 16px;
  border-top:1px solid var(--thcbp-line);
  background:linear-gradient(180deg, #fff, #fbfcff);
}
.thcbp-mapFoot small{ color:var(--thcbp-muted); }
.thcbp-mapBtns{ display:flex; gap:10px; flex-wrap:wrap; }

.thcbp-empty{
  padding:14px 16px;
  border:1px dashed rgba(11,18,32,.22);
  border-radius:16px;
  color:rgba(11,18,32,.72);
}

/* THCBP — Achicar alto de "Tu consulta" (textarea) */

/* Placeholder (si no hay CF7) */
.thcbp-textarea{
  min-height: 120px !important;   /* probá 90–140 */
  height: 120px !important;
  resize: vertical;               /* permite que el usuario lo agrande si quiere */
}

/* Contact Form 7 (si hay CF7) */
.thcbp-cf7 textarea,
.thcbp-cf7 textarea.wpcf7-textarea{
  min-height: 120px !important;   /* probá 90–140 */
  height: 140px !important;
  resize: vertical;
}

/* === THCBP: alinear submit CF7 a la izquierda === */

/* 1) Que el contenedor no lo centre */
.thcbp-wrap .thcbp-cf7,
.thcbp-wrap .thcbp-cf7 form{
  text-align: left !important;
}

/* 2) El submit: sin auto-margins / sin transform */
.thcbp-wrap .thcbp-cf7 input.wpcf7-submit.thcbp-btn{
  display: inline-flex !important;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  transform: none !important;
  float: none !important;
}

/* 3) Si el submit está dentro de <p> centrado: lo forzamos a block */
.thcbp-wrap .thcbp-cf7 p{
  text-align: left !important;
}

/* 4) Si alguien lo está centrando con flex en el padre, lo anulamos */
.thcbp-wrap .thcbp-cf7 p,
.thcbp-wrap .thcbp-cf7 .wpcf7-form-control-wrap{
  justify-content: flex-start !important;
  align-items: flex-start !important;
}

/* === THCBP: Plan B sin :has() === */

/* El submit en CF7 casi siempre está dentro de .wpcf7-form-control */
.thcbp-wrap .thcbp-cf7 .wpcf7-form-control.wpcf7-submit{
  display:inline-flex !important;
  margin:0 !important;
}

/* Forzamos el contenedor típico a no centrar */
.thcbp-wrap .thcbp-cf7 .wpcf7-form p{
  text-align:left !important;
}

/* Si el theme centra con flex, anulamos SOLO el párrafo que contiene submit */
.thcbp-wrap .thcbp-cf7 .wpcf7-form p:last-of-type{
  display:block !important;
  width:100% !important;
  text-align:left !important;
}

/* THCBP — Botón CF7 “Enviar Consulta” mismo tamaño que “Cómo llegar” */
.thcbp-wrap .thcbp-cf7 input.wpcf7-submit.thcbp-btn{
  width: 160px !important;        /* 👈 mismo ancho (ajustable) */
  justify-content: center !important;
  padding: 11px 14px !important;
  border-radius: 14px !important;
  min-height: 44px !important;
  line-height: 1 !important;
}

/* Mobile: que no quede gigante ni corte */
@media (max-width: 520px){
  .thcbp-wrap .thcbp-cf7 input.wpcf7-submit.thcbp-btn{
    width: 100% !important;
  }
}


/* =========================================================
   THCBP — BOTONES PREMIUM (icono + texto + micro-animación)
   Pegá este bloque AL FINAL del contact.css
========================================================= */

:root{
  --thcbp-btn-h: 44px;
  --thcbp-btn-r: 14px;
  --thcbp-btn-px: 16px;

  --thcbp-btn-bg: #1f4f86;          /* principal */
  --thcbp-btn-bg-hover: #1b4576;
  --thcbp-btn-ink: #ffffff;

  --thcbp-btn-ghost-bg: #ffffff;    /* ghost */
  --thcbp-btn-ghost-ink: #1f4f86;
  --thcbp-btn-ghost-bd: rgba(31,79,134,.22);

  --thcbp-btn-shadow: 0 10px 22px rgba(16,24,40,.14);
  --thcbp-btn-shadow-hover: 0 14px 30px rgba(16,24,40,.18);
  --thcbp-btn-ring: 0 0 0 4px rgba(47,111,191,.18);

  --thcbp-btn-minw: 160px;          /* mismo ancho que Llamar/Cómo llegar */
}

/* Base (incluye CF7 submit con .thcbp-btn) */
.thcbp-btn,
.thcbp-wrap .thcbp-cf7 input.wpcf7-submit.thcbp-btn{
  appearance:none;
  -webkit-appearance:none;

  position:relative;
  overflow:hidden;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height: var(--thcbp-btn-h);
  padding: 0 var(--thcbp-btn-px);
  border-radius: var(--thcbp-btn-r);

  border:1px solid rgba(15,23,42,.10);
  background: var(--thcbp-btn-bg) !important;
  color: var(--thcbp-btn-ink) !important;

  font-weight: 850;
  letter-spacing:.2px;
  text-decoration:none;
  white-space:nowrap;

  box-shadow: var(--thcbp-btn-shadow);
  transform: translateZ(0);
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, filter .16s ease;
}

/* Igualar ancho con los otros botones */
.thcbp-actions .thcbp-btn,
.thcbp-wrap .thcbp-cf7 input.wpcf7-submit.thcbp-btn{
  min-width: var(--thcbp-btn-minw);
}

/* Iconos: consistencia y micro “nudge” */
.thcbp-btn svg{
  width:18px; height:18px;
  transition: transform .18s ease, opacity .18s ease;
}
.thcbp-btn:hover svg{ transform: translateX(1px); }

/* Shine sutil (premium) */
.thcbp-btn::before{
  content:"";
  position:absolute;
  top:-60%;
  left:-35%;
  width:42%;
  height:220%;
  background: linear-gradient(
    115deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.18) 45%,
    rgba(255,255,255,0) 70%
  );
  transform: rotate(12deg) translateX(-120%);
  opacity:.0;
  transition: transform .55s ease, opacity .55s ease;
  pointer-events:none;
}
.thcbp-btn:hover::before{
  transform: rotate(12deg) translateX(260%);
  opacity:1;
}

/* Hover / Active */
.thcbp-btn:hover,
.thcbp-wrap .thcbp-cf7 input.wpcf7-submit.thcbp-btn:hover{
  background: var(--thcbp-btn-bg-hover) !important;
  transform: translateY(-1px);
  box-shadow: var(--thcbp-btn-shadow-hover);
}
.thcbp-btn:active,
.thcbp-wrap .thcbp-cf7 input.wpcf7-submit.thcbp-btn:active{
  transform: translateY(0);
  box-shadow: var(--thcbp-btn-shadow);
}

/* Focus accesible */
.thcbp-btn:focus-visible,
.thcbp-wrap .thcbp-cf7 input.wpcf7-submit.thcbp-btn:focus-visible{
  outline:none;
  box-shadow: var(--thcbp-btn-shadow), var(--thcbp-btn-ring);
}

/* Ghost (Llamar / botones secundarios) */
.thcbp-btn--ghost{
  background: var(--thcbp-btn-ghost-bg) !important;
  color: var(--thcbp-btn-ghost-ink) !important;
  border:1px solid var(--thcbp-btn-ghost-bd) !important;
  box-shadow: 0 10px 22px rgba(16,24,40,.10) !important;
}
.thcbp-btn--ghost::before{
  background: linear-gradient(
    115deg,
    rgba(31,79,134,0) 0%,
    rgba(31,79,134,.10) 45%,
    rgba(31,79,134,0) 70%
  );
}
.thcbp-btn--ghost:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(16,24,40,.14) !important;
}

/* Disabled */
.thcbp-btn--disabled,
.thcbp-wrap .thcbp-cf7 input.wpcf7-submit.thcbp-btn:disabled{
  opacity:.60;
  cursor:not-allowed;
  transform:none !important;
  box-shadow:none !important;
}
.thcbp-btn--disabled::before{ display:none; }

/* Mantener submit CF7 a la izquierda */
.thcbp-wrap .thcbp-cf7 form,
.thcbp-wrap .thcbp-cf7 p{
  text-align:left !important;
}
.thcbp-wrap .thcbp-cf7 input.wpcf7-submit.thcbp-btn{
  margin:0 !important;
}

/* Mobile: botones full width */
@media (max-width:520px){
  .thcbp-actions .thcbp-btn,
  .thcbp-wrap .thcbp-cf7 input.wpcf7-submit.thcbp-btn{
    width:100% !important;
    min-width:0;
  }
}

/* =========================================================
   FIX: Botones GHOST (fondo blanco) — hover/active/focus
========================================================= */

.thcbp-btn--ghost{
  background:#fff !important;
  color: var(--thcbp-blue) !important;
  border:1px solid rgba(31,79,134,.22) !important;
  box-shadow: 0 10px 22px rgba(16,24,40,.10) !important;
}

.thcbp-btn--ghost:hover{
  background: rgba(31,79,134,.06) !important; /* leve tinte azul */
  color: var(--thcbp-blue) !important;
  border-color: rgba(31,79,134,.28) !important;
  filter:none !important;
}

.thcbp-btn--ghost:active{
  background: rgba(31,79,134,.10) !important;
  color: var(--thcbp-blue) !important;
  transform: translateY(0) !important;
  filter:none !important;
}

.thcbp-btn--ghost:focus,
.thcbp-btn--ghost:focus-visible{
  outline:none !important;
  background:#fff !important;
  color: var(--thcbp-blue) !important;
  box-shadow: 0 10px 22px rgba(16,24,40,.10), 0 0 0 4px rgba(47,111,191,.18) !important;
}

/* Por si algún CSS externo (tema/elementor) mete "opacity" o "color" raro */
.thcbp-btn--ghost *,
.thcbp-btn--ghost svg{
  color: inherit !important;
  fill: currentColor !important;
}
