/* Estilo de selección de texto personalizado */
::selection { background: #E8870C !important; color: #ffffff; }
::-moz-selection { background: #E8870C !important; color: #ffffff; }

/* Estilo menú móvil - sticky */
.raven-nav-menu li.menu-item > a.raven-link-item .sub-arrow {
  color: var(--e-global-color-primary) !important;
  fill: var(--e-global-color-primary) !important;
  margin-left: 10% !important;
}

.wpml-ls-item ul.sub-menu {
  width: 4em !important;
  margin-left: 0 !important;
  min-width: 0 !important;
  max-width: 4em !important;
}

@media (min-width: 1025px) {
  .raven-nav-menu-horizontal > .raven-nav-menu ul.sub-menu li.menu-item a.raven-link-item,
  .raven-nav-menu-horizontal > .raven-nav-menu ul.submenu li.menu-item a.raven-link-item {
    background: #fff;
    font-size: 14px;
    width: auto !important;
  }
}

.elementor-contact-form-7 p {
  background: #fff;
  padding-left: 10px;
  padding-right: 10px;
}

.wpcf7-form-control-wrap > input::placeholder { 
  font-size: 21px !important; font-weight: 300; 
}

.wpcf7-form-control-wrap > textarea::placeholder { 
  font-size: 21px !important; font-weight: 300; 
}

/* OJO: el selector del bloque siguiente era ".wpcflabel7" en tu SCSS; si era un typo y querías .wpcf7, cámbialo */
.wpcflabel7 h2,
.wpcflabel7 h5 {
  font-family: var(--e-global-typography-text-font-family, inherit) !important;
  font-size: var(--e-global-typography-text-font-size, 1rem) !important;
  line-height: 1.3em;
}
.wpcflabel7 .contact-tittle {
  font-family: var(--e-global-typography-text-font-family, inherit) !important;
  font-size: var(--e-global-typography-text-font-size, 1rem) !important;
  line-height: 1.3em !important;
  color: var(--e-global-color-secondary) !important;
  font-weight: 700 !important;
}

/* --- SOLO ESTO --- */

/* etiqueta encima */
.wpcf7 .contact-tittle{
  display:block;
  margin:0 0 .5rem;
}

/* 2 columnas (dos bloques por fila) */
.wpcf7 .dt-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 1rem 2rem;            /* fila / columna */
  align-items:start;
}
@media (max-width: 900px){
  .wpcf7 .dt-grid{ grid-template-columns: 1fr; }
}

/* etiqueta arriba */
.wpcf7 .dt-field .contact-tittle{
  display:block;
  margin:0 0 .5rem;
}

/* fila interna: fecha y hora en línea */
.wpcf7 .dt-row{
  display:flex;
  align-items:center;
  gap:.75rem;
  flex-wrap:wrap;            /* por si en móvil debe saltar */
  margin:0;                  /* evita márgenes heredados de <p> */
}

/* Si CF7 mete <p> por medio, que no rompa la fila */
.wpcf7 .dt-row p{ 
  display:inline-flex; 
  align-items:center; 
  margin:0; 
}

/* Los contenedores de cada campo no deben estirarse */
.wpcf7 .dt-row .dt-box{ 
  flex:0 0 auto; 
}

/* Variante 4 columnas para este bloque */
.wpcf7 .dt-grid--4{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 1rem 2rem;              /* filas / columnas */
  align-items:start;
}

/* Adreça ocupa columna 3 y 4 en desktop */
.wpcf7 .dt-grid--4 .addr-field{
  grid-column: 3 / span 2;
}

/* Quita márgenes si CF7 mete <p> dentro de .addr-field */
.wpcf7 .addr-field p{ margin:0; }

/* Móvil: todo apilado como ahora */
@media (max-width: 900px){
  .wpcf7 .dt-grid--4{ grid-template-columns: 1fr; }
  .wpcf7 .dt-grid--4 .addr-field{ grid-column: 1 / -1; }
}


/* cada “cajita” con el mismo look que tus inputs normales */
.wpcf7 .dt-box{
  display:flex;
  align-items:center;
  background:#fff;
  /*border:1px solid #ccc;      mismo gris del resto */
  border-radius:6px;         /* mismo radio */
  padding:.35rem .5rem;
}

/* Naranja solo cuando alguno de los inputs dentro tiene foco */
.wpcf7 .dt-box:focus-within{
  /*border:2px solid #E8870C;*/
  /*box-shadow:0 0 0 1px #fcb94533;*/
}


/* inputs dentro de la caja: en línea y sin ancho 100% */
.wpcf7 .dt-box input[type="date"],
.wpcf7 .dt-box input[type="time"]{
  width:auto !important;               /* mantiene date+time en la misma fila */
  background:transparent;              /* opcional */
  outline: none;                       /* opcional */
  font: inherit; color: inherit;       /* opcional */
  padding:.25rem .35rem;
  min-width:9ch;
  margin:0;
}

/* si CF7 mete <br> dentro, lo ocultamos */
.wpcf7 .dt-box br{ 
  display:none !important; 
}


.info { 
  padding-top: .5rem; 
  font-size: .8rem; 
  color: rgba(255, 255, 255, .5); 
}

/* Campos CF7 */
.wpcf7 input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.wpcf7 select,
.wpcf7 textarea {
  padding: 0.75rem;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 1rem;
  font-family: inherit;
  width: 100%;
  box-sizing: border-box;
}
.wpcf7 textarea { resize: vertical; min-height: 120px; }
.wpcf7 .form-group.full-width { width: 100%; }

/* Focus en campos (texto cuando se escribe) */
.wpcf7 input:not([type="checkbox"]):not([type="radio"]):focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  outline: none;
  color: #094A7F; /* color de texto al foco */
  border: 2px solid #E8870C !important; /* borde personalizado */
  box-shadow: 0 0 0 1px #fcb94533; /* brillo leve */
  background-color: #ffffff; /* fondo al foco */
}

/* Botón */
/* Centrar el botón (párrafo que lo contiene) */
.wpcf7 p:has(> input.wpcf7-submit){ 
  text-align:center; 
}

/* Botón de envío */
.wpcf7 input.wpcf7-submit{
  appearance:none;
  display:inline-block;
  width:auto;                       /* nada de 20% */
  padding:.75rem 1.25rem;           /* ~0.75rem */
  border:2px solid #e8870c;         /* mismo en normal y hover */
  background:#e8870c;               /* naranja */
  color:#fff;                       /* texto blanco */
  border-radius:12px;               /* radio 12px */
  font:inherit;                     /* tipografía del tema */
  line-height:1;
  cursor:pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}

/* Hover */
.wpcf7 input.wpcf7-submit:hover{
  background:#fff;
  color:#e8870c;
  border-color:#e8870c;             /* mismo grosor → sin “saltos” */
}

/* (Opcional) micro-feedback al hacer click */
.wpcf7 input.wpcf7-submit:active{ 
  transform: translateY(1px); 
}

/* Fondo en foco para date/select */
.wpcf7 input[type="date"]:focus,
.wpcf7 select:focus {
  background-color: #ffffff; /* amarillo suave (ajusta si quieres) */
  border-color: #E8870C !important;
  color: #094A7F;
  outline: none;
}

/* Transiciones */
.wpcf7 input[type="date"],
.wpcf7 select {
  background-color: #fff;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

/* Placeholder dentro del widget CF7 de Elementor */
.elementor-widget-contact-form-7 ::placeholder {
  font-family: var(--e-global-typography-text-font-family, inherit) !important;
  font-size: var(--e-global-typography-text-font-size, 1rem) !important;
  font-weight: var(--e-global-typography-text-font-weight, 400) !important;
  line-height: var(--e-global-typography-text-line-height, 1.6) !important;
}

/* Ajustes del widget CF7 (esta regla sobrescribe la de arriba si va después) */
.elementor-contact-form-7 p {
  background: #fff; 
  padding-left: 0; 
  padding-right: 0; 
  border-radius: 8px
}

.contact-tittle { 
  color: var(--e-global-color-secondary); font-weight: 700; 
}

/* Grid general formulario */
.form-serveis-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

/* Grupo de servicios */
.form-serveis-group {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.form-serveis-group h5 { 
  color: var(--e-global-color-secondary); 
}

/* Alineación checkbox + texto */
.form-serveis-group label {
  display: flex;
  align-items: flex-start;
  gap: 0.5em;
  line-height: 1.4;
  cursor: pointer;
}
.form-serveis-group input[type="checkbox"] { 
  margin-top: 0.2em; 
}

/* Opciones checkbox en lista vertical */
.form-serveis-options { 
  display: flex; 
  flex-direction: column; 
  gap: 0.5em; }

.form-serveis-group .wpcf7-list-item { display: block; width: 100%; }
.form-serveis-group .wpcf7-list-item label {
  display: flex;
  flex-direction: row; /* asegura fila */
  align-items: center; /* centra verticalmente el checkbox */
  gap: 0.5em;
  width: 100%;
  line-height: 1.4;
  cursor: pointer;
}
.form-serveis-group .wpcf7-list-item input[type="checkbox"] {
  flex-shrink: 0;
  margin: 0;
  float: none;
  display: inline-block;
}

/* Tabs de servicios */
.jet-tabs__control-wrapper { 
  display: ruby !important; 
}
.tab-grid .jet-tabs__control-inner h3 { 
  text-align: center !important; 
}

/* Estilos para JS del contact form al seleccionar el servicio */
/* Oculta todos los titulares de servicios */

.form-serveis-wrapper.one-col { 
  display: grid; 
  gap: 10px; 
}

.form-serveis-wrapper.one-col .wpcf7-list-item { 
  display:block !important; 
  width:auto !important; 
  float:none !important; 
  margin:2px 0; 
}

.form-serveis-group h5 { 
  margin: 6px 0 4px; 
  font-weight: 700; 
  color: #094A7F; 
}

.srv-instruccions { 
  margin: 8px 0 12px; 
  font-size: 1rem; 
  color: #333030; 
  font-weight: 600; 
}

.form-serveis-wrapper.one-col .form-serveis-options { 
  display:block !important; 
}


.is-hidden { 
  display: none !important; 
}

.srv-select { 
  margin-top: 16px; 
}

.srv-select .contact-tittle { 
  display:inline-block; 
  margin-bottom:6px; 
}

/* Oculta SIEMPRE títulos y checkboxes de servicios por defecto */
.form-serveis-wrapper.one-col .form-serveis-group h5,
.form-serveis-wrapper.one-col .form-serveis-options {
  display: none !important;
}

/* Cuando el JS decida mostrar un bloque concreto */
.form-serveis-wrapper.one-col .form-serveis-group h5.is-visible,
.form-serveis-wrapper.one-col .form-serveis-options.is-visible {
  display: block !important;
}


/* Flecha nativa del sistema en el select (si el theme la oculta) */
.srv-select select,
.srv-select .wpcf7-form-control.wpcf7-select {
  appearance:auto; -webkit-appearance:auto; -moz-appearance:auto;
  background-image:none !important; background:none !important;
  padding-right:.9rem; cursor:pointer;
}

/* ///////////////////////////// */

/* Móvil (<768px) */
@media (max-width: 767px) {
  .form-serveis input[type="checkbox"] { margin-top: 0.2em; }
  .form-serveis-wrapper { grid-template-columns: 1fr; }
  .privacy-check { font-size: 1rem; line-height: 1.4; }
}

@media (max-width: 640px){
  .wpcf7 .dt-row{ 
    flex-wrap:wrap; }
}