/*
Theme Name:   Danny's Garage (hijo de GeneratePress)
Theme URI:    https://dannysgarage.es
Description:  Tema hijo de Danny's Garage, taller de furgonetas en Elche. Colores y fuentes en theme.json; datos del negocio en inc/config.php.
Author:       Danny's Garage
Template:     generatepress
Version:      1.0.0
Text Domain:  dannys-garage
License:      GPL-2.0-or-later
*/

/* Los colores y las fuentes se definen UNA sola vez en theme.json.
   Aquí solo se usan como variables: var(--wp--preset--color--grafito), etc. */

:root {
	--dg-radio: 10px;
	--dg-sombra: 0 1px 2px rgba(17, 24, 39, .08), 0 6px 20px rgba(17, 24, 39, .06);
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body {
	background: var(--wp--preset--color--blanco-calido);
	color: var(--wp--preset--color--texto);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1.0625rem; /* 17 px móvil */
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
@media (min-width: 769px) { body { font-size: 1.125rem; padding-bottom: 0; } }

h1, h2, h3, h4, .main-title, .dg-titulo {
	font-family: var(--wp--preset--font-family--barlow);
	font-weight: 700;
	line-height: 1.12;
	color: var(--wp--preset--color--grafito);
	letter-spacing: -.005em;
}
h1 { font-size: clamp(2.1rem, 6vw, 3.4rem); }
h2 { font-size: clamp(1.7rem, 4.2vw, 2.4rem); }
h3 { font-size: clamp(1.3rem, 3vw, 1.6rem); }
.has-grafito-background-color :is(h1, h2, h3, h4),
.dg-oscuro :is(h1, h2, h3, h4) { color: var(--wp--preset--color--texto-claro); }

p, li { color: var(--wp--preset--color--texto); }
.dg-secundario, .entry-meta, .has-texto-secundario-color { color: var(--wp--preset--color--texto-secundario); }
.has-grafito-background-color, .dg-oscuro { color: var(--wp--preset--color--texto-claro-secundario); }
.has-grafito-background-color p, .dg-oscuro p { color: var(--wp--preset--color--texto-claro-secundario); }

a { color: var(--wp--preset--color--azul); text-underline-offset: .15em; }
a:hover, a:focus { color: var(--wp--preset--color--grafito); }
.has-grafito-background-color a:not(.wp-block-button__link):not(.dg-btn),
.dg-oscuro a:not(.wp-block-button__link):not(.dg-btn) { color: var(--wp--preset--color--naranja-acento); }
:focus-visible { outline: 3px solid var(--wp--preset--color--naranja-acento); outline-offset: 3px; }

img { height: auto; border-radius: var(--dg-radio); }
.site-logo img, .dg-logo img { border-radius: 0; }

/* ---------- Un solo estilo de botón principal ---------- */
.wp-block-button__link, .dg-btn, button[type="submit"], input[type="submit"], .button,
.woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit,
.wpcf7 input[type="submit"] {
	background: var(--wp--preset--color--naranja);
	color: #fff;
	border: 0;
	border-radius: var(--dg-radio);
	padding: .85em 1.5em;
	font-family: var(--wp--preset--font-family--barlow);
	font-weight: 700;
	font-size: 1.15rem;
	line-height: 1.2;
	text-decoration: none;
	display: inline-block;
	cursor: pointer;
	transition: background-color .15s;
}
.wp-block-button__link:hover, .dg-btn:hover, button[type="submit"]:hover, input[type="submit"]:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .wpcf7 input[type="submit"]:hover {
	background: #9A3412;
	color: #fff;
}
.woocommerce a.button.alt, .woocommerce button.button.alt { background: var(--wp--preset--color--naranja); color: #fff; }

/* ---------- Sello verde (etiqueta) ---------- */
.dg-sello {
	display: inline-block;
	background: var(--wp--preset--color--verde);
	color: #fff;
	font-family: var(--wp--preset--font-family--barlow);
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
	font-size: .95rem;
	padding: .35em .9em;
	border-radius: 999px;
}

/* ---------- Cabecera oscura ---------- */
.site-header { background: var(--wp--preset--color--grafito); }
.site-header .main-title a, .site-header .main-title a:hover { color: var(--wp--preset--color--texto-claro); }
.main-navigation, .main-navigation ul ul { background: var(--wp--preset--color--grafito); }
.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle,
.main-navigation .menu-bar-items { color: var(--wp--preset--color--texto-claro); font-weight: 600; }
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current-menu-ancestor > a { color: var(--wp--preset--color--naranja-acento); background: transparent; }
.site-logo img { max-height: 56px; width: auto; }
.inside-header { padding-top: 12px; padding-bottom: 12px; }

/* Botón "Pedir cita" dentro del menú */
.main-navigation .main-nav ul li.dg-menu-cita > a {
	background: var(--wp--preset--color--naranja); color: #fff; border-radius: var(--dg-radio); padding: 0 18px; margin-left: 8px;
}

/* ---------- Migas de pan (Rank Math) ---------- */
.rank-math-breadcrumb { font-size: .92rem; color: var(--wp--preset--color--texto-secundario); margin: 0 0 1rem; }
.rank-math-breadcrumb a { color: var(--wp--preset--color--azul); }

/* ---------- Contenido ---------- */
.separate-containers .inside-article, .one-container .site-content { background: transparent; }
.inside-article { padding-left: 0; padding-right: 0; }
.entry-content > .alignfull { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; width: 100vw; }
.wp-block-group.is-style-tarjeta, .dg-tarjeta {
	background: #fff; border-radius: var(--dg-radio); box-shadow: var(--dg-sombra); padding: 1.5rem;
}

/* ---------- Caja de autor ---------- */
.dg-autor {
	display: flex; gap: 1.25rem; align-items: flex-start;
	background: #fff; border-left: 6px solid var(--wp--preset--color--naranja);
	border-radius: var(--dg-radio); box-shadow: var(--dg-sombra);
	padding: 1.5rem; margin: 3rem 0 1rem;
}
.dg-autor__foto { flex: 0 0 96px; width: 96px; height: 96px; border-radius: 50%; object-fit: cover; }
.dg-autor__nombre { font-family: var(--wp--preset--font-family--barlow); font-weight: 700; font-size: 1.4rem; color: var(--wp--preset--color--grafito); margin: 0; }
.dg-autor__cargo { margin: 0 0 .5rem; color: var(--wp--preset--color--texto-secundario); font-size: .95rem; }
.dg-autor__texto { margin: 0 0 .5rem; }
.dg-autor__creds { margin: 0 0 .5rem 1.1rem; padding: 0; font-size: .95rem; }
@media (max-width: 600px) { .dg-autor { flex-direction: column; } }

/* ---------- Pie de página con NAP ---------- */
.site-footer, .site-info { background: var(--wp--preset--color--grafito); color: var(--wp--preset--color--texto-claro-secundario); }
.dg-pie { background: var(--wp--preset--color--grafito); color: var(--wp--preset--color--texto-claro-secundario); padding: 3rem 1.25rem 1rem; }
.dg-pie__rejilla { max-width: 1200px; margin: 0 auto; display: grid; gap: 2rem; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.dg-pie h2 { font-size: 1.2rem; color: var(--wp--preset--color--texto-claro); margin: 0 0 .75rem; }
.dg-pie a { color: var(--wp--preset--color--texto-claro); }
.dg-pie a:hover { color: var(--wp--preset--color--naranja-acento); }
.dg-pie ul { list-style: none; margin: 0; padding: 0; }
.dg-pie li { margin: 0 0 .4rem; color: var(--wp--preset--color--texto-claro-secundario); }
.dg-pie address { font-style: normal; }
.dg-pie p { color: var(--wp--preset--color--texto-claro-secundario); }
.dg-pie__legal { max-width: 1200px; margin: 2rem auto 0; padding-top: 1rem; border-top: 1px solid #374151; font-size: .92rem; }
.site-info { padding: 0 1.25rem 1.5rem; text-align: center; font-size: .9rem; }
.site-info a { color: var(--wp--preset--color--texto-claro); }

/* ---------- Botón flotante de WhatsApp ---------- */
.dg-whatsapp {
	position: fixed; right: 18px; bottom: calc(18px + env(safe-area-inset-bottom)); z-index: 9999;
	width: 62px; height: 62px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
	background: #25D366; box-shadow: 0 8px 24px rgba(0, 0, 0, .35), 0 0 0 0 rgba(37, 211, 102, .6);
	text-decoration: none; animation: dg-wa-pulso 2.6s infinite; transition: transform .15s ease;
}
.dg-whatsapp:hover { transform: scale(1.08); background: #1EBE5A; }
.dg-whatsapp svg { display: block; }
@keyframes dg-wa-pulso { 70% { box-shadow: 0 8px 24px rgba(0, 0, 0, .35), 0 0 0 16px rgba(37, 211, 102, 0); } 100% { box-shadow: 0 8px 24px rgba(0, 0, 0, .35), 0 0 0 0 rgba(37, 211, 102, 0); } }
@media (prefers-reduced-motion: reduce) { .dg-whatsapp { animation: none; } }

/* ---------- 404 ---------- */
.dg-404 { text-align: center; padding: 3rem 1rem; }
.dg-404 ul { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; }

/* ---------- Formularios ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="search"], textarea, select {
	border: 1px solid #9CA3AF; border-radius: var(--dg-radio); padding: .7em .9em; background: #fff; color: var(--wp--preset--color--texto);
	width: 100%; max-width: 100%;
}

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

/* ---------- Vídeos de fondo ---------- */
.dg-video { position: relative; overflow: hidden; border-radius: var(--dg-radio); }
.dg-video video { width: 100%; height: auto; display: block; }

/* ---------- Fase 2: secciones, tarjetas y bloques de contenido ---------- */
.dg-seccion { padding: clamp(2.5rem, 6vw, 4.5rem) 1.25rem; }
.dg-seccion.has-grafito-background-color { color: var(--wp--preset--color--texto-claro-secundario); }
.dg-fondo-blanco { background: #fff; }
.dg-hero .wp-block-columns { gap: 2rem; }
.dg-hero h1 { margin-top: .5rem; }
.dg-img-principal { margin: 0; }
.dg-img-principal img { width: 100%; height: auto; }
.dg-rejilla { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); margin: 1.5rem 0; }
.dg-tarjeta h3 { margin-top: 0; }
.dg-tarjeta p:last-child { margin-bottom: 0; }
.dg-botones { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.25rem 0; }
.dg-video--vertical { max-width: 340px; margin-inline: auto; }
.dg-mapa iframe { width: 100%; border-radius: var(--dg-radio); }
.wp-block-quote { background: #fff; border-left: 5px solid var(--wp--preset--color--naranja); border-radius: var(--dg-radio); box-shadow: var(--dg-sombra); padding: 1.1rem 1.4rem; margin: 1rem 0; }
.wp-block-quote cite { display: block; margin-top: .5rem; font-style: normal; font-weight: 600; color: var(--wp--preset--color--texto-secundario); font-size: .95rem; }
.dg-horario { list-style: none; padding: 0; margin: 0 0 1rem; }
.rank-math-faq-item { background: #fff; border-radius: var(--dg-radio); box-shadow: var(--dg-sombra); padding: 1rem 1.25rem; margin: 0 0 .9rem; }
.rank-math-question { font-size: 1.15rem; margin: 0 0 .35rem; }
.rank-math-answer p:last-child { margin-bottom: 0; }
.wpcf7 label { display: block; font-weight: 600; margin-bottom: 1rem; }
.wpcf7 .wpcf7-acceptance label { font-weight: 400; }
.entry-header .entry-title { margin-bottom: .5rem; }

/* Ajustes tras la primera revisión: sin franja vacía en la portada y sin desbordamiento lateral */
html, body { overflow-x: clip; }
.home .entry-header, .home .page-header { display: none; }
.home .inside-article { padding-top: 0; }
.home .site-main { margin-top: 0; }
.home .site-content { padding-top: 0; }
