/*
Theme Name: El Gorgocil
Theme URI: https://elgorgocil.es/
Author: Casa Rural El Gorgocil
Description: Tema de bloques ligero y editable para Casa Rural El Gorgocil (Puente del Congosto, Salamanca). Sin maquetadores: todo se edita con el editor de WordPress. Paleta verde bosque, crema y cobre; tipografías alojadas localmente (sin Google Fonts).
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Version: 1.0.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: el-gorgocil
Tags: block-theme, full-site-editing, one-column, custom-colors, editor-style, accessibility-ready
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { height: auto; }
:where(h1, h2, h3) { text-wrap: balance; }
:where(p) { text-wrap: pretty; }

:focus-visible {
	outline: 3px solid var(--wp--preset--color--cobre);
	outline-offset: 3px;
	border-radius: 2px;
}
.has-bosque-background-color :focus-visible,
.has-bosque-medio-background-color :focus-visible,
.wp-block-cover :focus-visible { outline-color: var(--wp--preset--color--cobre-claro); }

/* ---------- Cabecera ---------- */
.gg-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 250, 241, 0.98);
	border-bottom: 1px solid rgba(24, 56, 44, 0.10);
}
.admin-bar .gg-header { top: var(--wp-admin--admin-bar--height, 0px); }
@media (max-width: 600px) { .admin-bar .gg-header { top: 0; } }

.gg-brand { gap: 0.75rem !important; }
.gg-brand .wp-block-image { margin: 0; flex-shrink: 0; }
.gg-brand .wp-block-image img { width: 52px; height: 52px; display: block; }
.gg-brand__text { line-height: 1.1; }
.gg-brand__name a { text-decoration: none; color: var(--wp--preset--color--bosque); }
.gg-brand__tag { letter-spacing: 0.14em; text-transform: uppercase; }

.gg-header .wp-block-navigation a:not(.wp-element-button) { text-decoration: none; }
.gg-header .wp-block-navigation .wp-block-navigation-item__content { padding: 0.4rem 0; position: relative; }
@media (min-width: 600px) {
	.gg-header .wp-block-navigation:not(.is-menu-open) .wp-block-navigation-item__content::after {
		content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
		background: var(--wp--preset--color--cobre); transform: scaleX(0); transform-origin: left;
		transition: transform .25s ease;
	}
	.gg-header .wp-block-navigation:not(.is-menu-open) .wp-block-navigation-item__content:hover::after,
	.gg-header .wp-block-navigation:not(.is-menu-open) .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
}
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base) !important;
	padding: 1.5rem clamp(1rem, 6vw, 2.5rem);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	gap: 1.1rem; padding-top: 3rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--serif); font-size: 1.75rem; font-weight: 600;
	color: var(--wp--preset--color--bosque);
}

@media (max-width: 781px) {
	.gg-header__cta { display: none !important; }
	.gg-brand .wp-block-image img { width: 44px; height: 44px; }
}

/* ---------- Utilidades ---------- */
.gg-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--x-small) !important;
}
.gg-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.6; }
.gg-card {
	background: var(--wp--preset--color--base);
	border: 1px solid rgba(24, 56, 44, 0.10);
	border-radius: 10px;
	box-shadow: var(--wp--preset--shadow--suave);
}
.gg-img-cover img { width: 100%; height: 100%; object-fit: cover; }
.gg-ratio-4-3 img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.gg-ratio-3-4 img { aspect-ratio: 3 / 4; object-fit: cover; width: 100%; }
.gg-ratio-16-10 img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }

/* Datos clave bajo la portada */
.gg-facts { border-top: 1px solid rgba(24,56,44,.12); border-bottom: 1px solid rgba(24,56,44,.12); }
.gg-facts .wp-block-column { text-align: center; }
.gg-fact__num { font-family: var(--wp--preset--font-family--serif); font-weight: 600; line-height: 1; }
@media (max-width: 781px) {
	.gg-facts .wp-block-columns { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 1.5rem 1rem !important; }
	.gg-facts .wp-block-column:last-child { grid-column: 1 / -1; }
}

/* Lista con iconos sencillos */
.gg-checklist { list-style: none; padding-left: 0 !important; }
.gg-checklist li { position: relative; padding-left: 1.75rem; margin-bottom: 0.55rem; }
.gg-checklist li::before {
	content: ""; position: absolute; left: 0; top: 0.55em; width: 0.7rem; height: 0.7rem;
	border-radius: 50%; background: var(--wp--preset--color--cobre); box-shadow: 0 0 0 4px rgba(158,90,53,.15);
}
.has-bosque-background-color .gg-checklist li::before { background: var(--wp--preset--color--cobre-claro); box-shadow: 0 0 0 4px rgba(223,156,114,.18); }

/* Etiquetas (chips) */
.gg-chips { gap: 0.5rem !important; }
.gg-chips p {
	margin: 0; padding: 0.35rem 0.9rem; border-radius: 999px;
	background: var(--wp--preset--color--crema); border: 1px solid var(--wp--preset--color--piedra);
	font-size: var(--wp--preset--font-size--small); font-weight: 500; color: var(--wp--preset--color--bosque);
}

/* Tarjetas de precio */
.gg-price { position: relative; overflow: hidden; }
.gg-price__amount { font-family: var(--wp--preset--font-family--serif); font-weight: 600; line-height: 1; }
.gg-price--alta { border-color: rgba(158,90,53,.45); }
.gg-price--alta::before {
	content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: var(--wp--preset--color--cobre);
}

/* Tablas */
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table th, .wp-block-table td { border: 0; border-bottom: 1px solid var(--wp--preset--color--piedra); padding: 0.75rem 0.5rem; text-align: left; }
.wp-block-table thead th { color: var(--wp--preset--color--bosque); border-bottom: 2px solid var(--wp--preset--color--bosque); }
.wp-block-table td:last-child, .wp-block-table th:last-child { text-align: right; white-space: nowrap; }

/* Galería: recorte uniforme */
.gg-gallery.wp-block-gallery .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; transition: transform .4s ease, filter .3s ease; }
.gg-gallery.wp-block-gallery .wp-block-image { overflow: hidden; border-radius: 6px; }
.gg-gallery.wp-block-gallery .wp-block-image:hover img { transform: scale(1.03); }

/* Portada */
.gg-hero { min-height: min(86vh, 760px) !important; }
.gg-hero .wp-block-cover__inner-container { max-width: 1240px; }
.gg-hero h1 { text-shadow: 0 2px 24px rgba(0,0,0,.25); }
.gg-stars { letter-spacing: 0.3em; color: var(--wp--preset--color--cobre-claro); }
.gg-btn-outline .wp-block-button__link {
	background: transparent !important; color: currentColor !important;
	border: 1.5px solid currentColor !important;
}
.gg-btn-outline .wp-block-button__link:hover { background: rgba(255,255,255,.12) !important; }
.gg-btn-outline-dark .wp-block-button__link { background: transparent !important; color: var(--wp--preset--color--bosque) !important; border: 1.5px solid var(--wp--preset--color--bosque) !important; }
.gg-btn-outline-dark .wp-block-button__link:hover { background: var(--wp--preset--color--bosque) !important; color: var(--wp--preset--color--base) !important; }

/* Pie */
.gg-footer a { color: var(--wp--preset--color--crema); text-decoration: none; }
.gg-footer a:hover { color: var(--wp--preset--color--cobre-claro); text-decoration: underline; }
.gg-footer .wp-block-social-links .wp-social-link { background: rgba(246,236,219,.10) !important; color: var(--wp--preset--color--crema) !important; }
.gg-footer .wp-block-social-links .wp-social-link:hover { background: var(--wp--preset--color--cobre) !important; }
.gg-footer__legal { border-top: 1px solid rgba(246,236,219,.16); }

/* Barra fija de contacto en móvil */
.gg-mobilebar { display: none; }
@media (max-width: 781px) {
	.wp-block-buttons.gg-mobilebar {
		display: flex !important; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
		margin: 0 !important; padding: 0.6rem 0.75rem calc(0.6rem + env(safe-area-inset-bottom));
		background: rgba(24,56,44,.97); box-shadow: 0 -6px 24px rgba(0,0,0,.18);
	}
	.gg-mobilebar .wp-block-button { flex: 1 1 0; }
	.gg-mobilebar .wp-block-button__link { width: 100%; padding: 0.75rem 0.5rem; }
	body { padding-bottom: 72px; }
}

/* Título de páginas interiores */
.gg-page-head .wp-block-post-title { margin-top: 0; }

/* Mapa (enlace con imagen) */
.gg-map-card a { text-decoration: none; }
.gg-plain-list { list-style: none; padding-left: 0 !important; line-height: 2; }
.gg-mobilebar .gg-btn-outline .wp-block-button__link { color: var(--wp--preset--color--crema) !important; }
.has-bosque-background-color .wp-element-caption,
.wp-block-cover .wp-element-caption { color: rgba(246,236,219,.78); }
.gg-calendar { padding: clamp(.5rem, 2vw, 1.25rem) !important; overflow: hidden; }
.gg-calendar iframe { display: block; }

/* ---------- Ajustes de maquetación ---------- */
/* Secciones a ancho completo pegadas entre sí */
.wp-block-post-content > .alignfull { margin-block-start: 0; margin-block-end: 0; }
/* Portada: contenido alineado con la rejilla de 1240px */
.gg-hero .wp-block-cover__inner-container { width: 100% !important; max-width: 1240px !important; margin-inline: auto !important; }
/* Imágenes que llenan su contenedor */
.gg-ratio-4-3, .gg-ratio-3-4, .gg-ratio-16-10 { width: 100%; }
.gg-ratio-4-3 img, .gg-ratio-3-4 img, .gg-ratio-16-10 img { width: 100% !important; height: auto; display: block; }
.is-style-gg-tarjeta > .wp-block-image:first-child { margin: 0; }
/* Tablas dentro de tarjetas */
.gg-price .wp-block-table { margin: 0; }
/* Barra móvil oculta en escritorio */
.wp-block-buttons.gg-mobilebar { display: none; }
@media (max-width: 781px) { .wp-block-buttons.gg-mobilebar { display: flex !important; } }
/* Sin huecos entre cabecera, contenido y pie */
.wp-site-blocks > * + * { margin-block-start: 0; }
@media (max-width: 781px) {
	.gg-hero .wp-block-cover__background {
		background: linear-gradient(180deg, rgba(14,33,26,.62) 0%, rgba(14,33,26,.78) 55%, rgba(14,33,26,.9) 100%) !important;
	}
	.gg-hero { min-height: 0 !important; }
}
@media (max-width: 480px) { .gg-brand__tag { display: none; } }
.gg-header__cta .wp-block-button__link { white-space: nowrap; }
@media (max-width: 1100px) {
	.gg-header__cta { display: none !important; }
	.gg-header .wp-block-navigation { gap: 1.1rem; --navigation-layout-justification-setting: flex-end; }
	.gg-header .wp-block-navigation .wp-block-navigation__container { gap: 1.1rem !important; }
}
@media (min-width: 782px) and (max-width: 1024px) {
	.gg-hero .wp-block-cover__background {
		background: linear-gradient(100deg, rgba(14,33,26,.9) 0%, rgba(14,33,26,.75) 55%, rgba(14,33,26,.35) 100%) !important;
	}
}
/* Menú hamburguesa también en tablet (hasta 1023px) */
@media (max-width: 1023px) {
	.gg-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.gg-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
}
.gg-brand__tag { white-space: nowrap; }
.wp-block-navigation__responsive-container-open svg, .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }
.gg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.gg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; }
/* Contenido de páginas interiores: aire arriba/abajo solo si el bloque no es una sección completa */
.gg-page-content > :first-child:not(.alignfull) { margin-block-start: var(--wp--preset--spacing--50); }
.gg-page-content > :last-child:not(.alignfull) { margin-block-end: var(--wp--preset--spacing--60); }

/* 1.0.2 — SEO: H1 de portada con ubicación (segunda línea más pequeña). */
.gg-hero h1 .gg-h1-lugar {
	display: block;
	margin-top: 0.35em;
	font-size: 0.42em;
	line-height: 1.2;
	font-style: italic;
	color: var(--wp--preset--color--crema);
	background: none;
}
/* Nombre en el pie: antes H2, ahora párrafo con el mismo aspecto. */
.gg-footer-marca {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 600;
	line-height: 1.15;
	margin-block: 0.5rem 0;
}
/* Preguntas frecuentes (bloques Detalles dentro de .gg-faq). */
.gg-faq .wp-block-details {
	border-bottom: 1px solid rgba(24, 56, 44, .14);
	padding-block: 0.9rem;
}
.gg-faq .wp-block-details summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--wp--preset--color--bosque);
}
.gg-faq .wp-block-details summary:focus-visible {
	outline: 2px solid var(--wp--preset--color--cobre);
	outline-offset: 3px;
}
.gg-faq .wp-block-details > :not(summary) { margin-top: 0.6rem; }
