/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* ================= HEADER ================= */

#site-header img.custom-logo {
    height: 55px;
    width: auto;
}

#site-header .header-inner {
    padding: 0 28px;
}

header#site-header {
    padding-top: 8px;
    padding-bottom: 8px;
}

/* ================= VARIABLES GLOBALES ================= */

:root{
    --gold-grad: linear-gradient(120deg, #B68A3E 0%, #E3C988 50%, #A87C30 100%);
    --sans: -apple-system, BlinkMacSystemFont, "Inter", Arial, sans-serif;
    --serif: Georgia, "Times New Roman", serif;
}

/* Textos de oro */

.gold-cst {
    background: var(--gold-grad);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.italic{
    font-style: italic;
}

span.gold-cst.italic {
    font-weight: 400;
    font-family: var(--serif);
}

.texto-slider{
  color: rgba(255, 255, 255, .74);
  max-width: 520px;
  line-height: 1.55;
  font-family: var(--sans);
}

/* =========================================================
   FORMULARIO PREMIUM · AGOST ABOGADOS
   Contact Form 7 - #formulario-caso
   CSS LIMPIO Y CORREGIDO
   ========================================================= */

#formulario-caso{
  --black:#0E0E10;
  --soft-black:#1D1D1F;
  --gold:#B68A3E;
  --gold-light:#E3C988;
  --line:#DDD8CE;
  --gray:#6E6E73;
  --error:#C94747;
  --error-text:#B42318;

  max-width:760px;
  margin:0 auto;
  padding:0;
  font-family:-apple-system,BlinkMacSystemFont,"Inter","Helvetica Neue",Arial,sans-serif;
  color:var(--black);
}

/* Limpieza CF7 */
#formulario-caso br{
  display:none !important;
}

#formulario-caso p{
  margin:0 !important;
}

/* =========================================================
   ESTRUCTURA
   ========================================================= */

#formulario-caso .dos-columnas-cst-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  align-items:start;
  margin:0;
}

#formulario-caso .campo-cst-form{
  position:relative;
  width:100%;
  padding-bottom:28px; /* espacio reservado para errores */
}

#formulario-caso .campo-cst-form-full{
  width:100%;
}

/* Ocultar labels de campos con placeholder */
#formulario-caso .label-hidden-cst{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  white-space:nowrap !important;
}

/* Labels visibles */
#formulario-caso .campo-cst-form > label:not(.label-hidden-cst){
  display:block;
  margin:0 0 10px;
  font-size:15px;
  font-weight:700;
  line-height:1.35;
  color:var(--black);
}

/* Wrap CF7 */
#formulario-caso .wpcf7-form-control-wrap{
  display:block;
  width:100%;
  position:relative;
}

/* =========================================================
   CAMPOS
   ========================================================= */

#formulario-caso input.wpcf7-text,
#formulario-caso input.wpcf7-tel,
#formulario-caso input.wpcf7-email,
#formulario-caso select.wpcf7-select,
#formulario-caso textarea.wpcf7-textarea{
  display:block;
  width:100%;
  min-height:54px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:var(--black);
  font-size:16px;
  font-weight:400;
  line-height:1.4;
  padding:0 18px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.75),
    0 12px 28px rgba(0,0,0,.035);
  transition:
    border-color .25s ease,
    box-shadow .25s ease,
    background .25s ease;
}

#formulario-caso input::placeholder,
#formulario-caso textarea::placeholder{
  color:#7E7E83;
  opacity:1;
}

#formulario-caso input:focus,
#formulario-caso select:focus,
#formulario-caso textarea:focus{
  outline:none;
  border-color:var(--gold);
  background:#fff;
  box-shadow:
    0 0 0 4px rgba(182,138,62,.13),
    0 16px 34px rgba(0,0,0,.06);
}

/* =========================================================
   SELECTS CON FLECHA
   ========================================================= */

#formulario-caso select.wpcf7-select{
  appearance:none !important;
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  cursor:pointer;
  padding:0 48px 0 18px !important;
  background-color:#fff !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #111 50%),
    linear-gradient(135deg, #111 50%, transparent 50%) !important;
  background-position:
    calc(100% - 24px) 50%,
    calc(100% - 17px) 50% !important;
  background-size:7px 7px,7px 7px !important;
  background-repeat:no-repeat !important;
}

#formulario-caso select.wpcf7-select::-ms-expand{
  display:none;
}

/* =========================================================
   TEXTAREA
   ========================================================= */

#formulario-caso textarea.wpcf7-textarea{
  min-height:250px;
  padding:17px 18px !important;
  resize:vertical;
  line-height:1.55;
}

/* =========================================================
   ERRORES CORREGIDOS
   ========================================================= */

/* Campo con error */
#formulario-caso .wpcf7-not-valid{
  border-color:var(--error) !important;
  background:#fff !important;
  box-shadow:
    0 0 0 3px rgba(201,71,71,.10),
    0 12px 28px rgba(0,0,0,.035) !important;
}

/* Mensaje de error: SIEMPRE DEBAJO DEL CAMPO */
#formulario-caso .wpcf7-not-valid-tip{
  position:absolute !important;
  left:0;
  top:calc(100% + 6px);
  bottom:auto !important;
  margin:0 !important;
  padding:0 0 0 2px;
  font-size:12px;
  line-height:1.2;
  font-weight:500;
  color:var(--error-text);
  white-space:normal;
}

/* Focus cuando hay error */
#formulario-caso .wpcf7-not-valid:focus{
  border-color:var(--error) !important;
  box-shadow:
    0 0 0 4px rgba(201,71,71,.13),
    0 16px 34px rgba(0,0,0,.06) !important;
}

/* =========================================================
   PRIVACIDAD
   ========================================================= */

#formulario-caso .campo-cst-legal{
  margin-bottom:14px;
  padding-bottom:12px;
}

#formulario-caso .wpcf7-acceptance{
  display:block;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  min-height:auto !important;
}

#formulario-caso .wpcf7-list-item{
  margin:0 !important;
}

#formulario-caso .wpcf7-list-item label{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:15px;
  font-weight:400;
  line-height:1.45;
  color:var(--soft-black);
}

#formulario-caso input[type="checkbox"]{
  width:15px;
  height:15px;
  margin:0;
  flex:0 0 auto;
  accent-color:var(--gold);
}

#formulario-caso .wpcf7-list-item-label a{
  color:var(--black);
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Error privacidad */
#formulario-caso .campo-cst-legal .wpcf7-not-valid-tip{
  position:static !important;
  display:block;
  margin-top:7px !important;
}

/* =========================================================
   BOTÓN
   ========================================================= */

#formulario-caso .campo-cst-submit{
  margin-bottom:0;
  padding-bottom:0;
}

#formulario-caso .wpcf7-submit{
  width:100%;
  min-height:58px;
  border:0;
  border-radius:999px;
  background:linear-gradient(120deg,#B68A3E 0%,#E3C988 50%,#A87C30 100%);
  color:#111;
  font-size:15px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:
    0 18px 36px rgba(182,138,62,.22),
    inset 0 1px 0 rgba(255,255,255,.35);
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    filter .25s ease;
}

#formulario-caso .wpcf7-submit:hover{
  transform:translateY(-2px);
  filter:brightness(1.03);
  box-shadow:
    0 24px 46px rgba(182,138,62,.30),
    inset 0 1px 0 rgba(255,255,255,.4);
}

#formulario-caso .wpcf7-submit:disabled{
  opacity:.65;
  cursor:not-allowed;
  transform:none;
  filter:grayscale(.15);
}

#formulario-caso .wpcf7-spinner{
  display:block;
  margin:12px auto 0;
}

/* =========================================================
   MENSAJE GENERAL
   ========================================================= */

#formulario-caso .wpcf7-response-output{
  border:0 !important;
  margin:22px 0 0 !important;
  padding:14px 18px !important;
  border-radius:14px;
  background:rgba(201,71,71,.07);
  color:#8F1D18;
  font-size:14px;
  font-weight:500;
  line-height:1.45;
}

#formulario-caso.sent .wpcf7-response-output{
  background:rgba(44,130,89,.09);
  color:#1F7A4D;
}

#formulario-caso.submitting .wpcf7-response-output{
  background:rgba(182,138,62,.10);
  color:#7A5A1F;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width:699px){
  #formulario-caso{
    max-width:100%;
  }

  #formulario-caso .dos-columnas-cst-form{
    grid-template-columns:1fr;
    gap:0;
  }

  #formulario-caso .campo-cst-form{
    margin-bottom:16px;
    padding-bottom:28px;
  }

  #formulario-caso input.wpcf7-text,
  #formulario-caso input.wpcf7-tel,
  #formulario-caso input.wpcf7-email,
  #formulario-caso select.wpcf7-select,
  #formulario-caso textarea.wpcf7-textarea{
    min-height:52px;
    font-size:15px;
    border-radius:12px;
  }

  #formulario-caso textarea.wpcf7-textarea{
    min-height:190px;
  }

  #formulario-caso .wpcf7-submit{
    min-height:54px;
    font-size:13px;
  }

  #formulario-caso .wpcf7-list-item label{
    align-items:flex-start;
    font-size:14px;
  }
}