/* ==========================================================
   ClubHouse27 · Colores de marca
   ========================================================== */
:root {
	--ch27-marron: #622B00;
	--ch27-marron-hover: #4A2000;
	--ch27-turquesa: #3FD0D4;
	--ch27-turquesa-osc: #54BDC1;
	--ch27-texto: #505050;
	--ch27-oscuro: #212121;
	--ch27-claro: #F4F4F4;
	--ch27-blanco: #FFFFFF;
	--moove-gdpr-primary-colour: #622B00;
	--moove-gdpr-button-bg: #622B00;
	--moove-gdpr-button-hover-bg: #4A2000;
	--moove-gdpr-button-font: #FFFFFF;
}

/* ==========================================================
   GDPR Cookie Compliance (Moove) · Banner
   ========================================================== */
#moove_gdpr_cookie_info_bar,
#moove_gdpr_cookie_info_bar.moove-gdpr-dark-scheme,
#moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme {
	background-color: var(--ch27-blanco) !important;
	border-top: 3px solid var(--ch27-marron) !important;
	box-shadow: 0 -4px 20px rgba(0, 0, 0, .08);
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p a {
	color: var(--ch27-texto) !important;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p a { text-decoration: underline; }
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton {
	border: 2px solid var(--ch27-marron) !important;
	border-radius: 4px !important;
	font-weight: 600;
	letter-spacing: .02em;
	opacity: 1 !important;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
/* Aceptar y Rechazar: mismo peso visual (criterio AEPD) */
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-allow-all,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-reject-btn {
	background-color: var(--ch27-marron) !important;
	color: var(--ch27-blanco) !important;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-allow-all:hover,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-reject-btn:hover {
	background-color: var(--ch27-marron-hover) !important;
	border-color: var(--ch27-marron-hover) !important;
}
/* Configurar: contorno */
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-settings-btn {
	background-color: transparent !important;
	color: var(--ch27-marron) !important;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-settings-btn:hover {
	background-color: var(--ch27-marron) !important;
	color: var(--ch27-blanco) !important;
}
#moove_gdpr_cookie_info_bar button.mgbutton:focus-visible,
#moove_gdpr_cookie_modal button:focus-visible {
	outline: 2px solid var(--ch27-turquesa) !important;
	outline-offset: 2px;
}

/* ==========================================================
   GDPR Cookie Compliance (Moove) · Modal de configuración
   ========================================================== */
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-tab-main .tab-title,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-tab-main-content h1,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-tab-main-content h2,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-tab-main-content h3 {
	color: var(--ch27-marron) !important;
}
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li.menu-item-selected button,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li.menu-item-selected a,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li button:hover {
	background-color: var(--ch27-marron) !important;
	border-color: var(--ch27-marron) !important;
	color: var(--ch27-blanco) !important;
}
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li button,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li a { color: var(--ch27-texto); }
#moove_gdpr_cookie_modal .moove-gdpr-tab-main .moove-gdpr-status-bar input:checked + .cookie-switch .cookie-slider,
#moove_gdpr_cookie_modal .gdpr-cc-form-fieldset input:checked + .cookie-switch .cookie-slider,
#moove_gdpr_cookie_modal .moove-gdpr-status-bar input:checked + .cookie-slider,
#moove_gdpr_cookie_modal .cookie-switch input:checked + .cookie-slider {
	background-color: var(--ch27-marron) !important;
}
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.mgbutton,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder a.mgbutton {
	background-color: var(--ch27-marron) !important;
	border: 2px solid var(--ch27-marron) !important;
	color: var(--ch27-blanco) !important;
	border-radius: 4px !important;
	font-weight: 600;
}
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.mgbutton:hover,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder a.mgbutton:hover {
	background-color: var(--ch27-marron-hover) !important;
	border-color: var(--ch27-marron-hover) !important;
}
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-close:hover span.gdpr-icon {
	background-color: var(--ch27-marron) !important;
	border-color: var(--ch27-marron) !important;
}
#moove_gdpr_cookie_modal .moove-gdpr-tab-main-content a { color: var(--ch27-marron); }
.gdpr_lightbox-hide,
#moove_gdpr_save_popup_settings_button {
	background-color: var(--ch27-marron) !important;
	color: var(--ch27-blanco) !important;
}

/* ==========================================================
   Base
   ========================================================== */
body.ch27 {
	background: #F6F0E7;
	color: #4A4440;
	font-family: 'Montserrat', sans-serif;
	-webkit-font-smoothing: antialiased;
}
body.ch27 .site-main,
body.ch27 .page-content,
body.ch27 main#content { padding-top: 0; }
body.ch27:not(.ch27-hero-header) #ch27-main { height: 104px; }
.ch27-skip { position: absolute; left: -9999px; top: 0; z-index: 10000; background: #622B00; color: #fff; padding: .8rem 1.2rem; }
.ch27-skip:focus { left: 1rem; top: 1rem; }
.ch27-reveal { opacity: 0; transform: translateY(28px); transition: opacity 1s cubic-bezier(.2,.65,.3,1), transform 1s cubic-bezier(.2,.65,.3,1); }
.ch27-reveal.is-in { opacity: 1; transform: none; }
body.elementor-editor-active .ch27-reveal { opacity: 1; transform: none; }

/* ==========================================================
   Cabecera
   ========================================================== */
.ch27-header {
	position: fixed; top: 0; left: 0; right: 0; z-index: 900;
	background: rgba(255, 255, 255, .96);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(98, 43, 0, .08);
	transition: background-color .4s ease, border-color .4s ease, box-shadow .4s ease;
}
body.admin-bar .ch27-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .ch27-header { top: 46px; } }
.ch27-header__inner {
	max-width: 1600px; margin: 0 auto; height: 104px; padding: 0 2.2rem;
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem;
	transition: height .4s ease;
}
.ch27-header.is-scrolled .ch27-header__inner { height: 80px; }
.ch27-header__logo { display: inline-flex; align-items: center; position: relative; justify-self: start; }
.ch27-logo { height: 82px; width: auto; display: block; transition: opacity .4s ease, height .4s ease; }
.ch27-header.is-scrolled .ch27-logo { height: 62px; }
.ch27-logo--light { position: absolute; left: 0; top: 0; opacity: 0; }
.ch27-nav__list { list-style: none; margin: 0; padding: 0; display: flex; gap: 2.6rem; }
.ch27-nav a, .ch27-aux-link, .ch27-lang {
	font-family: 'Montserrat', sans-serif; font-size: .72rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase;
	color: #3E1B00; text-decoration: none; position: relative; padding: .4rem 0; transition: color .3s ease;
}
.ch27-nav a::after, .ch27-aux-link::after {
	content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor;
	transform: scaleX(0); transform-origin: right; transition: transform .45s cubic-bezier(.2,.65,.3,1);
}
.ch27-nav a:hover::after, .ch27-nav a[aria-current]::after,
.ch27-aux-link:hover::after, .ch27-aux-link[aria-current]::after { transform: scaleX(1); transform-origin: left; }
.ch27-header__aux { justify-self: end; display: flex; align-items: center; gap: 1.8rem; }
.ch27-langs { display: inline-flex; gap: .7rem; padding-left: 1.6rem; border-left: 1px solid rgba(98,43,0,.25); }
.ch27-lang { opacity: .5; }
.ch27-lang.is-current { opacity: 1; }
.ch27-lang.is-soon { cursor: default; }
body.ch27-hero-header .ch27-header:not(.is-scrolled) { background: transparent; border-color: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
body.ch27-hero-header .ch27-header:not(.is-scrolled) .ch27-logo--dark { opacity: 0; }
body.ch27-hero-header .ch27-header:not(.is-scrolled) .ch27-logo--light { opacity: 1; }
body.ch27-hero-header .ch27-header:not(.is-scrolled) .ch27-nav a,
body.ch27-hero-header .ch27-header:not(.is-scrolled) .ch27-aux-link,
body.ch27-hero-header .ch27-header:not(.is-scrolled) .ch27-lang { color: #fff; }
body.ch27-hero-header .ch27-header:not(.is-scrolled) .ch27-langs { border-color: rgba(255,255,255,.4); }
body.ch27-hero-header .ch27-header:not(.is-scrolled) .ch27-burger span { background: #fff; }
body.ch27-hero-header .ch27-header:not(.is-scrolled)::before {
	content: ''; position: absolute; inset: 0 0 -40px 0; z-index: -1; pointer-events: none;
	background: linear-gradient(to bottom, rgba(0,0,0,.35), rgba(0,0,0,0));
}
.ch27-burger { display: none; justify-self: end; width: 44px; height: 44px; background: none; border: 0; padding: 10px; cursor: pointer; position: relative; z-index: 1001; }
.ch27-burger span { display: block; height: 1.5px; background: #3E1B00; margin: 7px 0; transition: transform .4s ease, background-color .3s ease; }
.ch27-burger:hover, .ch27-burger:focus { background: none; }
body.ch27-menu-open .ch27-burger span { background: #fff !important; }
body.ch27-menu-open .ch27-burger span:first-child { transform: translateY(4.25px) rotate(45deg); }
body.ch27-menu-open .ch27-burger span:last-child { transform: translateY(-4.25px) rotate(-45deg); }
.ch27-drawer {
	position: fixed; inset: 0; z-index: 899; background: #3E1B00; color: #fff;
	display: flex; flex-direction: column; justify-content: center; padding: 6rem 2rem 3rem;
	opacity: 0; visibility: hidden; transition: opacity .45s ease, visibility .45s ease;
}
.ch27-drawer[aria-hidden="false"] { opacity: 1; visibility: visible; }
.ch27-drawer__nav { display: flex; flex-direction: column; gap: 1.1rem; }
.ch27-drawer__nav a { font-family: 'Cormorant Garamond', serif; font-size: 2.6rem; line-height: 1.1; color: #F6F0E7; text-decoration: none; }
.ch27-drawer__nav a[aria-current] { font-style: italic; color: #3FD0D4; }
.ch27-drawer__foot { margin-top: 3rem; display: flex; flex-direction: column; gap: 1rem; }
.ch27-drawer__foot a, .ch27-drawer .ch27-lang { color: #F6F0E7; font-size: .8rem; text-decoration: none; }
.ch27-drawer .ch27-langs { border: 0; padding: 0; }
body.ch27-menu-open { overflow: hidden; }
body.ch27-menu-open .ch27-header { background: transparent; border-color: transparent; backdrop-filter: none; }
body.ch27-menu-open .ch27-logo--dark { opacity: 0; }
body.ch27-menu-open .ch27-logo--light { opacity: 1; }
@media (max-width: 1100px) {
	.ch27-header__inner { grid-template-columns: 1fr auto; height: 76px; padding: 0 1.4rem; }
	.ch27-nav, .ch27-header__aux { display: none; }
	.ch27-burger { display: block; }
	.ch27-logo { height: 58px; }
	body.ch27:not(.ch27-hero-header) #ch27-main { height: 76px; }
}

/* ==========================================================
   Pie
   ========================================================== */
.ch27-footer { background: #F4F4F4; color: #505050; font-family: 'Montserrat', sans-serif; font-size: .85rem; border-top: 1px solid #E6E6E6; }
.ch27-footer a { color: #3E1B00; text-decoration: none; transition: color .3s ease; }
.ch27-footer a:hover { color: #54BDC1; }
.ch27-footer__main { max-width: 64rem; margin: 0 auto; padding: 5.5rem 2rem 4rem; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 1.6rem; }
.ch27-footer__logo { height: 130px; width: auto; display: block; }
.ch27-footer__logo-txt { font-family: 'Cormorant Garamond', serif; font-size: 2rem; color: #622B00; }
.ch27-footer__claim { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.35rem; color: #622B00; margin: 0; }
.ch27-footer__nav { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 2.2rem; margin-top: 1.6rem; padding: 1.6rem 0; border-top: 1px solid #E2E2E2; border-bottom: 1px solid #E2E2E2; width: 100%; }
.ch27-footer__nav a { font-size: .7rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.ch27-footer__contact { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 1rem; color: #7A7A7A; }
.ch27-footer__contact a { color: #505050; }
.ch27-footer__social { display: flex; flex-wrap: wrap; justify-content: center; gap: .8rem; }
.ch27-footer__social a { font-size: .72rem; letter-spacing: .08em; padding: .55rem 1.1rem; border: 1px solid #D6D6D6; border-radius: 999px; color: #505050; }
.ch27-footer__social a:hover { border-color: #54BDC1; color: #54BDC1; }
.ch27-footer__bottom { max-width: 1600px; margin: 0 auto; padding: 1.4rem 2.2rem; border-top: 1px solid #E2E2E2; display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: .74rem; color: #8A8A8A; }
.ch27-footer__bottom p { margin: 0; }
.ch27-footer__legal { display: flex; gap: 1.6rem; flex-wrap: wrap; }
.ch27-footer__bottom a { color: #8A8A8A; }
.ch27-footer__bottom a:hover { color: #54BDC1; }
@media (max-width: 640px) {
	.ch27-footer__main { padding: 4rem 1.4rem 3rem; }
	.ch27-footer__contact span[aria-hidden] { display: none; }
	.ch27-footer__contact { flex-direction: column; }
	.ch27-footer__bottom { flex-direction: column; align-items: center; text-align: center; }
}
.ch27-whatsapp {
	position: fixed; right: 1.4rem; bottom: 1.4rem; z-index: 800; width: 56px; height: 56px; border-radius: 50%;
	background: #622B00; color: #fff; display: flex; align-items: center; justify-content: center;
	box-shadow: 0 10px 30px rgba(62,27,0,.3); transition: transform .3s ease, background-color .3s ease;
}
.ch27-whatsapp:hover { transform: translateY(-3px); background: #3E1B00; color: #fff; }
body.ch27 .page-header { display: none; }
body.ch27.elementor-page .site-main { max-width: none; padding: 0; }

/* Formularios */
body.ch27 form input[type="checkbox"] { border: 1px solid #622B00 !important; background-color: #FFFFFF; border-radius: 2px; cursor: pointer; }
body.ch27 form input[type="checkbox"]:checked { background-color: #622B00; }
body.ch27 form input::placeholder, body.ch27 form textarea::placeholder { color: #A9A9A9; }

/* ODS: efecto al pasar el ratón */
body.ch27 img[src*="/ods-"] { transition: transform .45s cubic-bezier(.2,.65,.3,1), box-shadow .45s ease, filter .45s ease; will-change: transform; }
body.ch27 img[src*="/ods-"]:hover { transform: translateY(-8px) scale(1.04); box-shadow: 0 22px 45px rgba(0,0,0,.2); filter: saturate(1.15); }

/* Páginas legales */
.ch27-legal { max-width: 820px; margin: 0 auto; padding: 4rem 1.6rem 7rem; font-family: 'Montserrat', sans-serif; color: #4A4440; font-size: 1rem; line-height: 1.8; }
.ch27-legal-eyebrow { font-size: .72rem; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: #622B00; margin: 0 0 1rem; }
.ch27-legal h1 { font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: 3.6rem; line-height: 1.05; color: #3E1B00; margin: 0 0 .6rem; }
.ch27-legal h2 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 1.7rem; color: #3E1B00; margin: 3rem 0 .8rem; padding-top: 1.6rem; border-top: 1px solid #ECE6DF; }
.ch27-legal-updated { font-size: .85rem; color: #8A8480; margin-bottom: 2rem; }
.ch27-legal a { color: #622B00; text-decoration: underline; text-underline-offset: 3px; }
.ch27-legal a:hover { color: #54BDC1; }
.ch27-legal ul { padding-left: 1.2rem; }
.ch27-legal li { margin-bottom: .4rem; }
.ch27-legal mark { background: #FFF2C4; color: #622B00; padding: 0 .3rem; }
.ch27-legal table { width: 100%; border-collapse: collapse; font-size: .88rem; margin: 1rem 0 1.4rem; }
.ch27-legal th, .ch27-legal td { text-align: left; padding: .8rem .9rem; border-bottom: 1px solid #ECE6DF; vertical-align: top; }
.ch27-legal th { font-size: .7rem; letter-spacing: .15em; text-transform: uppercase; color: #622B00; background: #FAF7F3; }
@media (max-width: 640px) { .ch27-legal h1 { font-size: 2.5rem; } .ch27-legal table { display: block; overflow-x: auto; } }
body.ch27 .site-main:has(.ch27-legal), body.ch27 .page-content:has(.ch27-legal) { max-width: none; padding: 0; }

html, body.ch27, body.ch27 .site-main, body.ch27 #content { background-color: #FFFFFF !important; }

/* Contactar: encuadre de la foto de cabecera para que se vea el sol */
body.page-id-62 img[src*="amar-img_3425"] { object-position: center 22%; }

/* Menú móvil en blanco */
.ch27-drawer { background: #FFFFFF; color: #3E1B00; }
.ch27-drawer__nav { gap: .2rem; }
.ch27-drawer__nav a { color: #3E1B00; padding: .7rem 0; border-bottom: 1px solid #EFEAE4; }
.ch27-drawer__nav a[aria-current] { color: #622B00; font-style: italic; }
.ch27-drawer__foot a, .ch27-drawer .ch27-lang { color: #622B00; }
body.ch27-menu-open .ch27-burger span { background: #3E1B00 !important; }
body.ch27-menu-open .ch27-header { background: #FFFFFF !important; border-color: #EFEAE4 !important; }
body.ch27-menu-open .ch27-logo--dark { opacity: 1 !important; }
body.ch27-menu-open .ch27-logo--light { opacity: 0 !important; }
body.ch27-menu-open .ch27-header::before { display: none; }

/* Menú móvil: que nunca quede debajo de la cabecera ni de la barra de admin */
.ch27-drawer { justify-content: flex-start; padding-top: calc(76px + 2.5rem); overflow-y: auto; }
body.admin-bar .ch27-drawer { padding-top: calc(76px + 46px + 2.5rem); }
@media (min-width: 783px) { body.admin-bar .ch27-drawer { padding-top: calc(76px + 32px + 2.5rem); } }

/* WhatsApp flotante */
.ch27-whatsapp { width: auto; height: 58px; padding: 0 1.1rem 0 .9rem; gap: .6rem; border-radius: 999px; background: #25D366; color: #FFFFFF; box-shadow: 0 12px 30px rgba(0,0,0,.18); right: 1.4rem; bottom: 1.4rem; }
.ch27-whatsapp:hover { background: #1EBE5B; color: #FFFFFF; transform: translateY(-3px); }
.ch27-whatsapp svg { flex: 0 0 auto; }
.ch27-whatsapp__label { font-family: 'Montserrat', sans-serif; font-size: .78rem; font-weight: 600; letter-spacing: .04em; white-space: nowrap; max-width: 0; overflow: hidden; opacity: 0; transition: max-width .4s ease, opacity .3s ease; }
.ch27-whatsapp:hover .ch27-whatsapp__label { max-width: 8rem; opacity: 1; }
@media (max-width: 640px) { .ch27-whatsapp { height: 54px; padding: 0 .75rem; right: 1rem; bottom: 1rem; } }

/* Blog: listado */
body.ch27.blog .site-main, body.ch27.archive .site-main { max-width: 1600px; margin: 0 auto; padding: 4rem 2.2rem 7rem; }
body.ch27.blog .page-header, body.ch27.archive .page-header { display: block; margin-bottom: 3rem; }

body.ch27.blog .page-header .entry-title { display: none; }
body.ch27.blog .page-content, body.ch27.archive .page-content { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem 2rem; }
body.ch27.blog article.post, body.ch27.archive article.post { display: flex; flex-direction: column; gap: 1rem; margin: 0; }
body.ch27.blog article.post > a, body.ch27.archive article.post > a { order: -1; display: block; overflow: hidden; }
body.ch27.blog article.post img, body.ch27.archive article.post img { width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; transition: transform .8s cubic-bezier(.2,.65,.3,1); }
body.ch27.blog article.post:hover img, body.ch27.archive article.post:hover img { transform: scale(1.04); }
body.ch27.blog .entry-title, body.ch27.archive .entry-title { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 1.8rem; line-height: 1.2; margin: 0; }
body.ch27.blog .entry-title a, body.ch27.archive .entry-title a { color: #3E1B00; text-decoration: none; }
body.ch27.blog .entry-title a:hover, body.ch27.archive .entry-title a:hover { color: #622B00; }
body.ch27.blog article.post p, body.ch27.archive article.post p { font-size: .95rem; line-height: 1.7; color: #4A4440; margin: 0; }
@media (max-width: 1024px) { body.ch27.blog .page-content, body.ch27.archive .page-content { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { body.ch27.blog .page-content, body.ch27.archive .page-content { grid-template-columns: 1fr; } body.ch27.blog .site-main { padding: 3rem 1.4rem 5rem; } body.ch27.blog .page-header::before { font-size: 3rem; } }

/* Blog: entrada */
body.ch27.single-post .site-main { max-width: 780px; margin: 0 auto; padding: 4.5rem 1.6rem 6rem; }
body.ch27.single-post .page-header { display: block; order: -1; }
body.ch27.single-post .site-main { display: flex; flex-direction: column; }
body.ch27.single-post .entry-title { font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: 3.6rem; line-height: 1.05; color: #3E1B00; margin: 0 0 1rem; }
.ch27-post-meta { font-family: 'Montserrat', sans-serif; font-size: .72rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: #54BDC1; margin: 0 0 2rem; }
.ch27-post-hero { margin: 0 0 2.6rem; }
.ch27-post-hero img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
body.ch27.single-post .page-content { font-family: 'Montserrat', sans-serif; font-size: 1.05rem; line-height: 1.85; color: #4A4440; }
body.ch27.single-post .page-content h2 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 2.2rem; line-height: 1.15; color: #3E1B00; margin: 3rem 0 1rem; }
body.ch27.single-post .page-content a { color: #622B00; text-decoration: underline; text-underline-offset: 3px; }
body.ch27.single-post .page-content blockquote { margin: 2.4rem 0; padding: 0 0 0 1.6rem; border-left: 2px solid #54BDC1; }
body.ch27.single-post .page-content blockquote p { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.8rem; line-height: 1.35; color: #622B00; }
body.ch27.single-post .page-content figure.wp-block-image { margin: 2.4rem 0; }
body.ch27.single-post .page-content figure img { width: 100%; height: auto; }
body.ch27.single-post .page-content figcaption { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1rem; color: #8A8480; text-align: left; margin-top: .6rem; }
body.ch27.single-post .wp-block-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; margin: 2.4rem 0; }
body.ch27.single-post .wp-block-gallery figure { margin: 0; }
body.ch27.single-post .wp-block-gallery img { aspect-ratio: 3 / 4; object-fit: cover; }
body.ch27.single-post .page-content ul { padding-left: 1.2rem; }
body.ch27.single-post .page-content li { margin-bottom: .5rem; }
.ch27-post-back { margin-top: 3.5rem; padding-top: 2rem; border-top: 1px solid #ECE6DF; }
.ch27-post-back a { font-size: .75rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; text-decoration: none !important; }
body.ch27.single-post .post-tags, body.ch27.single-post #comments, body.ch27.single-post .comments-area { display: none; }
@media (max-width: 640px) { body.ch27.single-post .entry-title { font-size: 2.5rem; } body.ch27.single-post .wp-block-gallery { grid-template-columns: 1fr 1fr; } }

.ch27-blog-head { grid-column: 1 / -1; margin-bottom: 1.5rem; max-width: 46rem; }
.ch27-blog-eyebrow { font-size: .72rem; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: #622B00; margin: 0 0 1rem; }
.ch27-blog-head h1 { font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: 4.5rem; line-height: 1; color: #3E1B00; margin: 0 0 1rem; }
.ch27-blog-intro { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.4rem; color: #622B00; margin: 0; }
@media (max-width: 640px) { .ch27-blog-head h1 { font-size: 3rem; } }
.ch27-post-title { font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: 3.6rem; line-height: 1.05; color: #3E1B00; margin: 0 0 2rem; }
@media (max-width: 640px) { .ch27-post-title { font-size: 2.5rem; } }
body.ch27.single-post .page-content figure.wp-block-image:not(.ch27-post-hero) img { max-height: 85vh; width: auto; max-width: 100%; display: block; margin: 0 auto; }
body.ch27.single-post .page-content figure.wp-block-image figcaption { text-align: center; }

/* Moove: botón X de cerrar visible */
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-close span.gdpr-icon { background-color: #622B00 !important; border: 1px solid #622B00 !important; color: #FFFFFF !important; border-radius: 50%; box-shadow: 0 6px 18px rgba(0,0,0,.25); }
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-close:hover span.gdpr-icon { background-color: #FFFFFF !important; color: #622B00 !important; }
@media (max-width: 767px) { #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-close { top: 8px !important; right: 8px !important; } }

/* WhatsApp: círculo perfecto */
.ch27-whatsapp { width: 60px !important; height: 60px !important; padding: 0 !important; gap: 0 !important; border-radius: 50% !important; display: flex; align-items: center; justify-content: center; line-height: 0; }
.ch27-whatsapp svg { width: 32px; height: 32px; display: block; }
.ch27-whatsapp__label { display: none !important; }
@media (max-width: 640px) { .ch27-whatsapp { width: 54px !important; height: 54px !important; } .ch27-whatsapp svg { width: 28px; height: 28px; } }

/* WhatsApp en marrón de marca */
.ch27-whatsapp { background: #622B00 !important; color: #FFFFFF !important; }
.ch27-whatsapp:hover { background: #3E1B00 !important; color: #FFFFFF !important; }

/* Blog v2: cabecera con foto a todo lo ancho */
body.ch27.blog .site-main, body.ch27.archive .site-main { padding-top: 0; }
.ch27-blog-head { grid-column: 1 / -1; max-width: none; width: 100vw; margin: 0 0 3rem calc(50% - 50vw); min-height: 62vh; display: flex; align-items: flex-end; background-size: cover; background-position: center 35%; position: relative; }
.ch27-blog-head::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,10,0,.15) 0%, rgba(20,10,0,.55) 100%); }
.ch27-blog-head__in { position: relative; width: 100%; max-width: 1600px; margin: 0 auto; padding: 0 2.2rem 4rem; }
.ch27-blog-head .ch27-blog-eyebrow { color: #FFFFFF; }
.ch27-blog-head h1 { color: #FFFFFF; font-size: 5.5rem; }
.ch27-blog-head .ch27-blog-intro { color: #F6F0E7; max-width: 38rem; }
@media (max-width: 640px) { .ch27-blog-head { min-height: 52vh; } .ch27-blog-head__in { padding: 0 1.4rem 2.6rem; } .ch27-blog-head h1 { font-size: 3.2rem; } }
/* Primera entrada destacada en grande */
body.ch27.blog article.post:first-of-type { grid-column: 1 / -1; display: grid; grid-template-columns: 1.5fr 1fr; grid-template-rows: auto auto; column-gap: 3.5rem; row-gap: 1.2rem; align-items: end; }
body.ch27.blog article.post:first-of-type > a { grid-column: 1; grid-row: 1 / span 2; }
body.ch27.blog article.post:first-of-type img { aspect-ratio: 16 / 10; }
body.ch27.blog article.post:first-of-type .entry-title { grid-column: 2; grid-row: 1; font-size: 2.8rem; align-self: end; }
body.ch27.blog article.post:first-of-type p { grid-column: 2; grid-row: 2; align-self: start; font-size: 1.05rem; }
body.ch27.blog article.post:first-of-type .entry-title::before { content: 'Última entrada'; display: block; font-family: 'Montserrat', sans-serif; font-size: .7rem; font-weight: 600; letter-spacing: .25em; text-transform: uppercase; color: #54BDC1; margin-bottom: 1rem; }
body.ch27.blog article.post img { aspect-ratio: 3 / 2; }
@media (max-width: 900px) { body.ch27.blog article.post:first-of-type { grid-template-columns: 1fr; } body.ch27.blog article.post:first-of-type > a, body.ch27.blog article.post:first-of-type .entry-title, body.ch27.blog article.post:first-of-type p { grid-column: 1; grid-row: auto; } body.ch27.blog article.post:first-of-type .entry-title { font-size: 2rem; } }
/* Entrada: imagen principal más ancha que el texto y fotos mejor encajadas */
.ch27-post-hero { width: min(1200px, 100vw - 2.4rem); margin-left: 50%; transform: translateX(-50%); }
.ch27-post-hero img { aspect-ratio: 21 / 10; }
body.ch27.single-post .page-content figure.wp-block-image:not(.ch27-post-hero) img { max-height: 75vh; box-shadow: 0 20px 50px rgba(0,0,0,.12); }
body.ch27.single-post .wp-block-gallery { width: min(1100px, 100vw - 2.4rem); margin-left: 50%; transform: translateX(-50%); gap: 1rem; }
body.ch27.single-post .wp-block-gallery img { aspect-ratio: 4 / 5; width: 100%; height: 100%; object-fit: cover; }

/* Entrada v2: cabecera con foto a todo lo ancho y título encima */
body.ch27.single-post .site-main { padding-top: 0; }
.ch27-post-head { width: 100vw; margin: 0 0 3.5rem calc(50% - 50vw); min-height: 72vh; display: flex; align-items: flex-end; background-size: cover; background-position: center; background-color: #2A3B40; position: relative; }
.ch27-post-head::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,10,0,.1) 0%, rgba(20,10,0,.6) 100%); }
.ch27-post-head__in { position: relative; width: 100%; max-width: 1100px; margin: 0 auto; padding: 0 2rem 4rem; }
.ch27-post-head .ch27-post-meta { color: #FFFFFF; margin-bottom: 1.2rem; }
.ch27-post-head .ch27-post-title { color: #FFFFFF; font-size: 4.6rem; max-width: 18ch; margin: 0; }
@media (max-width: 640px) { .ch27-post-head { min-height: 60vh; } .ch27-post-head__in { padding: 0 1.4rem 2.6rem; } .ch27-post-head .ch27-post-title { font-size: 2.6rem; } }
/* Galería de la entrada a tamaño completo */
body.ch27.single-post .wp-block-gallery.has-nested-images figure.wp-block-image { width: 100% !important; max-width: none !important; margin: 0 !important; }
body.ch27.single-post .wp-block-gallery.has-nested-images figure.wp-block-image img { width: 100% !important; height: 100% !important; max-height: none !important; aspect-ratio: 4 / 5; object-fit: cover; box-shadow: none; margin: 0; }

.ch27-blog-head { background-position: center 62%; }

/* ===== 2026-11-11 · Cambios Aleks: tonos arena ===== */
/* WhatsApp en arena, más suave */
.ch27-whatsapp, body .ch27-whatsapp { background: #D8C3A0 !important; color: #FDFDFD !important; box-shadow: 0 10px 26px rgba(62,27,0,.16) !important; }
.ch27-whatsapp:hover, body .ch27-whatsapp:hover { background: #C9AF86 !important; color: #FDFDFD !important; }
.ch27-whatsapp svg, .ch27-whatsapp svg path { fill: currentColor !important; }

/* Botones de formulario en arena */
body.ch27 form button[type="submit"], body.ch27 form input[type="submit"] { background-color: #D8C3A0 !important; color: #3E1B00 !important; border-color: #D8C3A0 !important; }
body.ch27 form button[type="submit"]:hover, body.ch27 form input[type="submit"]:hover { background-color: #F6F0E7 !important; color: #3E1B00 !important; border-color: #D8C3A0 !important; }

/* Pilares de la home: slider en móvil */
@media (max-width: 767px) {
	body .elementor-element-35513ae2 { flex-direction: column !important; align-items: stretch !important; }
	body .elementor-element-c497b34 { padding-bottom: 0 !important; border-bottom: 0 !important; align-items: flex-start !important; width: 100% !important; max-width: 100% !important; display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; gap: 1rem !important; }
	body .elementor-element-c497b34::-webkit-scrollbar { display: none; }
	body .elementor-element-c497b34 > .e-con { flex: 0 0 84% !important; width: 84% !important; max-width: 84% !important; scroll-snap-align: start; border: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; padding-left: 0 !important; padding-right: 0 !important; margin: 0 !important; }
	.ch27-slider-bar { position: relative; height: 2px; background: #EBE1D2; margin: 1.5rem auto 0; width: calc(100% - 3rem); max-width: 320px; border-radius: 2px; overflow: hidden; }
	.ch27-slider-bar span { position: absolute; top: 0; left: 0; height: 100%; background: #622B00; border-radius: 2px; transition: transform .15s linear; will-change: transform; }
}
@media (min-width: 768px) { .ch27-slider-bar { display: none; } }

/* Selector de idioma en la cabecera del móvil y sin selector de WPML en el pie */
.wpml-ls-statics-footer { display: none !important; }
.ch27-header__mob { display: none; }
@media (max-width: 1100px) {
	.ch27-header__mob { display: flex; align-items: center; gap: .9rem; justify-self: end; position: relative; z-index: 1001; }
	.ch27-langs--mobile { border-left: 0; padding-left: 0; gap: .6rem; }
	.ch27-langs--mobile .ch27-lang { font-size: .72rem; padding: .5rem .15rem; }
	body.ch27-menu-open .ch27-langs--mobile { visibility: hidden; }
}
