/*
Theme Name: Covers Hello (tema hijo)
Theme URI: https://coversmodels.es
Description: Tema hijo de Hello Elementor con la cabecera, el menú y los colores de Covers Models Management. Sustituye al tema Scent.
Template: hello-elementor
Version: 1.0.0
Text Domain: covers-hello-child
*/

:root {
  --covers-negro: #1a1a1a;
  --covers-texto: #333333;
  --covers-acento: #9c5b52; /* rosa oscuro para texto */
  --covers-fondo-suave: #faf8f6;
  --covers-linea: #e5e0dc;
  --covers-menu: #1a1a1a;
  --covers-cabecera: #f3e6e3; /* rosa muy claro (la academia usa #e6ccc8); más claro = #f8efed, más fuerte = #e6ccc8 */
  --covers-cabecera-hover: #e6ccc8;
}

body {
  color: var(--covers-texto);
  font-family: Montserrat, "Segoe UI", system-ui, -apple-system, sans-serif;
}

/* Enlaces y títulos: sin el rojo de fábrica de Hello */
a { color: var(--covers-negro); text-decoration: none; }
a:hover, a:focus { color: var(--covers-acento); }
h1, h2, h3, h4, h5, h6 { color: var(--covers-negro); font-weight: 500; letter-spacing: .02em; }
.entry-content a:not(.cmcpt-tarjeta):not(.cmcpt-galeria__item):not(.elementor-button) { text-decoration: underline; text-underline-offset: 3px; }

/* Cabecera: logo a la izquierda, menú en mayúsculas a la derecha, línea fina debajo */
/* Franja gris a todo el ancho de la pantalla; el logo y el menú siguen alineados con el contenido */
#site-header.site-header {
  max-width: none; width: 100%; margin-inline: 0;
  padding: 18px max(24px, calc((100% - 1140px) / 2));
  border-bottom: 1px solid var(--covers-linea); background: var(--covers-cabecera);
}
#site-header .site-branding { display: flex; align-items: center; }
#site-header .custom-logo-link img.custom-logo { width: auto; max-height: 64px; display: block; }
#site-header .site-navigation ul.menu { gap: 4px; }
#site-header .site-navigation ul.menu li a {
  color: var(--covers-menu);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 8px 14px;
}
#site-header .site-navigation ul.menu li a:hover,
#site-header .site-navigation ul.menu li.current-menu-item > a { color: var(--covers-acento); }
#site-header .site-navigation ul.menu ul.sub-menu { background: var(--covers-cabecera); border: 1px solid var(--covers-linea); }

/* Pie sencillo */
#site-footer { border-top: 1px solid var(--covers-linea); color: var(--covers-texto); }

/* Texto de página: sin la sangría de cita antigua */
.page-content blockquote, .entry-content blockquote { border: 0; margin: 0 0 1em; padding: 0; font-style: normal; }

/* Formularios (Contact Form 7) */
.covers-form { max-width: 640px; }
.covers-form label { display: block; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--covers-negro); }
.covers-form input[type="text"], .covers-form input[type="email"], .covers-form input[type="tel"], .covers-form textarea {
  width: 100%; margin-top: 6px; padding: 12px 14px; border: 1px solid var(--covers-linea); background: #fff; border-radius: 2px; font: inherit; color: var(--covers-texto);
}
.covers-form input:focus, .covers-form textarea:focus { outline: 2px solid var(--covers-cabecera); border-color: var(--covers-acento); }
.covers-form__acepto, .covers-form__acepto label, .covers-form__acepto .wpcf7-list-item-label { font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.covers-form__acepto input { width: auto; margin-right: 6px; }
.covers-form input[type="submit"], .wpcf7-submit {
  background: var(--covers-cabecera); color: var(--covers-negro); border: 1px solid var(--covers-cabecera); padding: 12px 32px; cursor: pointer;
  font-weight: 700; letter-spacing: .12em; text-transform: uppercase; border-radius: 2px;
}
.covers-form input[type="submit"]:hover, .wpcf7-submit:hover { background: var(--covers-cabecera-hover); border-color: var(--covers-cabecera-hover); }
.covers-contacto { list-style: none; padding: 0; margin: 0 0 28px; }
.covers-contacto li { padding: 4px 0; }

/* Portada */
body.home .page-header { display: none; }
body.home .page-content { max-width: none; padding: 0; }
.covers-hero {
  position: relative; width: 100vw; margin-left: calc(50% - 50vw);
  height: 82vh; min-height: 480px; overflow: hidden; display: flex; align-items: center; justify-content: center; text-align: center;
}
.covers-hero__slides, .covers-hero__slide, .covers-hero__velo { position: absolute; inset: 0; }
.covers-hero__slide { background-size: cover; background-position: center 30%; opacity: 0; transition: opacity 1s ease; }
.covers-hero__slide.is-activa { opacity: 1; }
.covers-hero__velo { background: linear-gradient(rgba(0,0,0,.18), rgba(0,0,0,.38)); }
.covers-hero__centro { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 28px; padding: 0 24px; }
.covers-hero__logo { width: min(440px, 72vw); height: auto; filter: brightness(0) invert(1); }
.covers-hero__boton {
  background: var(--covers-cabecera); color: var(--covers-negro); padding: 14px 34px; border-radius: 2px;
  font-weight: 700; letter-spacing: .14em; text-transform: uppercase; font-size: 13px; text-decoration: none;
}
.covers-hero__boton:hover { background: var(--covers-cabecera-hover); color: var(--covers-negro); }
.covers-portada { max-width: 1140px; margin: 0 auto; padding: 48px 24px; }
.covers-portada h2 { text-align: center; margin: 0 0 8px; }
.covers-portada__sub { text-align: center; margin: 0 0 32px; color: var(--covers-texto); }
.covers-portada__mas { text-align: center; margin-top: 28px; }

/* Cabecera en una fila: logo a la izquierda y menú centrado en la pantalla */
@media (min-width: 768px) {
  #site-header.site-header {
    display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
    padding: 12px 32px;
  }
  #site-header .site-branding { grid-column: 1; grid-row: 1; justify-self: start; }
  #site-header .site-navigation { grid-column: 2; grid-row: 1; justify-self: center; }
  #site-header .custom-logo-link img.custom-logo { max-height: 56px; }
}

/* ¿Quieres ser modelo? y formularios en dos columnas */
.covers-banner { width: 100%; height: auto; display: block; margin-bottom: 24px; }
.covers-texto-centrado { max-width: 760px; margin: 0 auto 36px; text-align: center; }
.covers-aviso { background: var(--covers-fondo-suave); border-left: 3px solid var(--covers-cabecera-hover); padding: 12px 16px; text-align: left; }
.covers-form--dos { max-width: 760px; margin: 0 auto; }
.covers-form--dos h3 { margin: 28px 0 8px; font-size: 18px; letter-spacing: .06em; text-transform: uppercase; border-bottom: 1px solid var(--covers-linea); padding-bottom: 6px; }
.covers-form__fila { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.covers-form__fila--tres { grid-template-columns: repeat(3, 1fr); }
.covers-form input[type="tel"], .covers-form input[type="number"], .covers-form select {
  width: 100%; margin-top: 6px; padding: 12px 14px; border: 1px solid var(--covers-linea); background: #fff; border-radius: 2px; font: inherit; color: var(--covers-texto);
}
.covers-form input[type="file"] { margin-top: 8px; font-size: 14px; }
@media (max-width: 600px) { .covers-form__fila, .covers-form__fila--tres { grid-template-columns: 1fr; } }
