/*
 Theme Name:   Divi Child Barbanza
 Template:     Divi
 Description:  Tema hijo de Divi para Barbanza Golf. Sistema visual propio (ligero, tipografía local).
 Version:      1.0.0
 Text Domain:  divi-child-barbanza
*/

/* ============ 1. Tokens ============ */
:root {
	--glc-green: #3f7a05;
	--glc-green-d: #2f5e04;
	--glc-lime: #b9e27a;
	--glc-dark: #0f1411;
	--glc-ink: #1b211c;
	--glc-muted: #5b655d;
	--glc-soft: #f5f7f2;
	--glc-line: #e6e9e2;
	--glc-r: 16px;
	--glc-shadow: 0 14px 34px rgba(15, 20, 17, .10);
}

/* ============ 2. Base ============ */
html { scroll-behavior: smooth; }
body, .et_pb_text, .et_pb_module p, .et_pb_module li { font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--glc-ink); }
body { font-size: 16.5px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6, .et_pb_module h1, .et_pb_module h2, .et_pb_module h3, .et_pb_module h4 { font-family: Poppins, system-ui, sans-serif; font-weight: 600; color: var(--glc-ink); line-height: 1.2; letter-spacing: -.01em; }
a { color: var(--glc-green); }
a:hover { color: var(--glc-green-d); }
.et_pb_row { width: 90%; max-width: 1180px; padding: 0; }
img { height: auto; }
::selection { background: var(--glc-lime); color: var(--glc-dark); }
:focus-visible { outline: 3px solid var(--glc-lime); outline-offset: 2px; }

/* ============ 3. Cabecera fija: transparente sobre el hero, verde oscuro sólido al hacer scroll ============ */
:root { --glc-hdr: #12291a; --glc-hdr-h: 76px; }
html { scroll-padding-top: calc(var(--glc-hdr-h) + 16px); }
[id] { scroll-margin-top: calc(var(--glc-hdr-h) + 16px); }
.et-l--header { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; transition: background-color .25s, box-shadow .25s; }
body.admin-bar .et-l--header { top: 32px; }
/* Degradado superior: el menú blanco se lee también sobre fotos claras */
.et-l--header::before { content: ""; position: absolute; inset: 0 0 -40px; background: linear-gradient(180deg, rgba(15, 20, 17, .72) 0%, rgba(15, 20, 17, 0) 100%); pointer-events: none; transition: opacity .25s; }
.glc-header, .glc-header .et_pb_row { background: transparent !important; position: relative; }
.glc-header.et_pb_section { padding: 0 !important; }
/* Una sola fila de altura fija: logo | menú | Reservar */
.glc-header .et_pb_row { width: min(96%, 1180px); max-width: none; height: var(--glc-hdr-h); display: flex; align-items: center; gap: 24px; }
.glc-header .et_pb_column { margin: 0 !important; width: auto !important; float: none; }
.glc-header .et_pb_column:nth-child(1), .glc-header .et_pb_column:nth-child(3) { flex: 0 0 auto; }
.glc-header .et_pb_column:nth-child(1) { display: flex; align-items: center; align-self: center; height: auto !important; }
.glc-header .et_pb_column:nth-child(1) .et_pb_module { margin: 0 !important; }
.glc-header .et_pb_column:nth-child(2) { flex: 1 1 auto; min-width: 0; }
.glc-header .et_pb_image { margin: 0; }
.glc-header .glc-logo img { width: auto; max-width: 170px; max-height: 58px; margin: 0; display: block; }
/* El logo claro se usa siempre: sobre transparente (con degradado) y sobre verde oscuro se lee igual */
.glc-header .glc-logo-dark { display: none !important; }
.glc-header .et_pb_menu, .glc-header .et_pb_menu__wrap, .glc-header .et_pb_menu_inner_container, .glc-header .et_pb_menu__menu, .glc-header .et-menu-nav { background: transparent !important; }
.glc-header .et_pb_menu .et_pb_menu__wrap { justify-content: center; }
.glc-header .et_pb_menu__menu > nav > ul { flex-wrap: nowrap; align-items: center; }
.glc-header .et_pb_menu__menu > nav > ul > li { margin: 0 0 0 clamp(10px, 1.3vw, 22px); white-space: nowrap; position: relative; }
.glc-header .et_pb_menu__menu > nav > ul > li > a { display: block; color: #fff; font: 600 clamp(11.5px, .95vw, 13px)/var(--glc-hdr-h) Poppins, sans-serif; text-transform: uppercase; letter-spacing: .05em; padding: 0 !important; position: relative; }
.glc-header .et_pb_menu__menu > nav > ul > li.menu-item-has-children > a { padding-right: 17px !important; }
/* Flecha: a la derecha del texto y centrada en vertical, sin pisar la última letra */
.glc-header .et_pb_menu__menu > nav > ul > li.menu-item-has-children > a:after { right: 0; top: 50%; margin-top: -9px; color: inherit; line-height: 1; }
.glc-header .et_pb_menu__menu > nav > ul > li > a::before { content: ""; position: absolute; left: 0; right: 100%; bottom: 22px; height: 2px; background: var(--glc-lime); transition: right .25s; }
.glc-header .et_pb_menu__menu > nav > ul > li > a:hover::before,
.glc-header .et_pb_menu__menu > nav > ul > li.current-menu-item > a::before,
.glc-header .et_pb_menu__menu > nav > ul > li.current-menu-ancestor > a::before { right: 0; }
/* Desplegables: tarjeta blanca vertical bajo su entrada (el nav de Divi es .et-menu-nav, no .nav) */
.glc-header .et_pb_menu .et-menu-nav li ul.sub-menu { background-color: #fff !important; display: block; left: 0; top: 100%; width: 250px; padding: 8px 0; background: #fff; border: 0; border-radius: 12px; box-shadow: var(--glc-shadow); }
.glc-header .et-menu-nav li ul.sub-menu li { display: block; float: none; width: 100%; margin: 0; padding: 0; }
.glc-header .et-menu-nav li ul.sub-menu a { display: block; width: 100%; box-sizing: border-box; padding: 10px 18px; color: var(--glc-ink); font: 500 14px/1.35 Inter, sans-serif; text-transform: none; letter-spacing: 0; white-space: normal; }
.glc-header .et-menu-nav li ul.sub-menu a:hover { background: var(--glc-soft); color: var(--glc-green); opacity: 1; }
.glc-header .glc-head-cta { text-align: right; }
.glc-header .glc-head-cta p { margin: 0; padding: 0; }

body.glc-scrolled .et-l--header { background: var(--glc-hdr); box-shadow: 0 6px 20px rgba(15, 20, 17, .22); }
body.glc-scrolled .et-l--header::before { opacity: 0; }

/* Entre 981 y 1180 px (Divi cambia a móvil en 980): se compacta sin tocar el breakpoint */
@media (min-width: 981px) and (max-width: 1180px) {
	.glc-header .et_pb_row { gap: 14px; width: 96%; }
	.glc-header .glc-logo img { max-width: 112px; max-height: 46px; }
	.glc-header .et_pb_menu__menu > nav > ul > li { margin-left: 9px; }
	.glc-header .et_pb_menu__menu > nav > ul > li > a { font-size: 11px; letter-spacing: .02em; }
	.glc-header .glc-head-cta .glc-b { padding: 9px 14px; font-size: 13px; }
}


/* ============ 4. Cabecera de página (título sobre imagen) ============ */
.glc-hero { position: relative; min-height: 0 !important; }
.glc-hero .glc-hero-title { position: relative; min-height: 0; padding: clamp(150px, 24vh, 250px) 0 clamp(48px, 7vh, 84px) !important; background: var(--glc-dark) center / cover no-repeat; }
.glc-hero .glc-hero-title::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15, 20, 17, .62) 0%, rgba(15, 20, 17, .28) 45%, rgba(15, 20, 17, .72) 100%); z-index: 1; pointer-events: none; }
.glc-hero .et_pb_title_container { position: relative; z-index: 2; width: 90%; max-width: 1180px; margin: 0 auto; text-align: left; }
.glc-hero .entry-title { color: #fff !important; font: 700 clamp(34px, 5vw, 64px)/1.08 Poppins, sans-serif; letter-spacing: -.02em; text-align: left; }
.glc-hero-plain .glc-hero-title::before { display: none; }
.glc-hero-plain .glc-hero-title { padding: clamp(120px, 17vh, 180px) 0 clamp(36px, 5vh, 60px) !important; }
.glc-hero-plain .entry-title { font-size: clamp(28px, 3.6vw, 48px); max-width: 980px; }

/* ============ 5. Contenido migrado ============ */
.glc-content .et_pb_section { padding: 22px 0; }
.glc-content .et_pb_section.glc-s { padding: 84px 0; }
.glc-content .et_pb_section.glc-vh-100,
.glc-content .et_pb_section[class*="glc-ov-"] { padding: 0; }
.glc-single { padding-top: 44px !important; }
.glc-single .et_pb_post_content { font-size: 17.5px; line-height: 1.75; }
.glc-single .et_pb_post_content img { border-radius: 12px; }
.glc-heading { font-family: Poppins, sans-serif; font-weight: 600; margin: 0 0 .4em; }
hr.glc-sep { border: 0; height: 3px; width: 56px; background: var(--glc-green); border-radius: 3px; margin: 14px auto 20px; opacity: 1; }
.glc-sub { font-size: 1.08em; color: var(--glc-muted); }
.glc-space { padding: 0 !important; }
.glc-space .et_pb_divider_internal { display: none; }
.ocultar, .ocultar-fila, .ocultar-columna { display: none !important; }
.margin-top_10px { margin-top: 10px !important; }

/* Botones migrados (clase glc-btn en módulos Botón de Divi) */
.glc-btn .et_pb_button, .et_pb_button.glc-btn { background: var(--glc-green); border: 2px solid var(--glc-green); color: #fff !important; font: 600 14px Poppins, sans-serif; letter-spacing: .02em; border-radius: 12px; padding: .75em 1.6em; transition: transform .15s, background-color .2s, box-shadow .2s; box-shadow: 0 8px 20px rgba(81, 152, 7, .22); }
.glc-btn .et_pb_button:hover { background: var(--glc-green-d); border-color: var(--glc-green-d); transform: translateY(-2px); }
.glc-btn-outline .et_pb_button { background: transparent; color: var(--glc-green) !important; box-shadow: none; }
.glc-btn-outline .et_pb_button:hover { background: var(--glc-green); color: #fff !important; }
.glc-btn-wide .et_pb_button { display: block; text-align: center; }
.et_pb_button:after { display: none !important; }
.et_pb_button { padding-left: 1.6em !important; padding-right: 1.6em !important; }

/* Pestañas */
.et_pb_tabs { border: 0; background: transparent; }
.et_pb_tabs_controls { background: transparent; border-bottom: 1px solid var(--glc-line); }
.et_pb_tabs_controls li { border: 0; background: transparent; }
.et_pb_tabs_controls li a { font: 600 12px Poppins, sans-serif; letter-spacing: .12em; text-transform: uppercase; padding: 14px 22px; color: var(--glc-muted); }
.et_pb_tabs_controls li.et_pb_tab_active { box-shadow: inset 0 -3px 0 var(--glc-green); }
.et_pb_tabs_controls li.et_pb_tab_active a { color: var(--glc-green); }
.et_pb_all_tabs { background: transparent; }

/* Tablas */
.et_pb_text table { width: 100%; border-collapse: collapse; border: 1px solid var(--glc-line); border-radius: 12px; overflow: hidden; }
.et_pb_text table td, .et_pb_text table th { padding: 12px 16px; border-bottom: 1px solid var(--glc-line); vertical-align: top; }
.et_pb_text table tr:nth-child(even) td { background: #fafbf8; }
.et_pb_text table td:first-child { font-weight: 600; text-transform: uppercase; font-size: .86em; letter-spacing: .04em; }

/* Imágenes y galerías */
.et_pb_image img, .et_pb_gallery_image img, .et_pb_text img { border-radius: 12px; }
.et_pb_gallery_image img { width: 100%; height: auto; filter: none; }

/* Formularios (Contact Form 7) */
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 input[type="date"], .wpcf7 select, .wpcf7 textarea { width: 100%; max-width: 620px; padding: 13px 15px; margin: 4px 0 16px; border: 1px solid #d5dacd; border-radius: 10px; background: #fff; font: inherit; transition: border-color .2s, box-shadow .2s; }
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus { border-color: var(--glc-green); box-shadow: 0 0 0 3px rgba(81, 152, 7, .15); outline: 0; }
.wpcf7 input[type="submit"] { background: var(--glc-green); color: #fff; border: 0; padding: 14px 30px; border-radius: 12px; font: 600 14px Poppins, sans-serif; cursor: pointer; transition: background-color .2s, transform .15s; }
.wpcf7 input[type="submit"]:hover { background: var(--glc-green-d); transform: translateY(-2px); }
.wpcf7 input[type="submit"]:disabled { opacity: .5; transform: none; }

/* Tarjetas de contacto */
.glc-icon-item { padding: 22px; border: 1px solid var(--glc-line); border-radius: var(--glc-r); background: #fff; height: 100%; }
.glc-icon-item h5 { margin: 0 0 6px; font: 600 17px Poppins, sans-serif; }
.glc-icon-item p { margin: 0 0 8px; padding: 0; color: var(--glc-muted); }
.glc-icon-link { font: 600 12px Poppins, sans-serif; letter-spacing: .08em; text-transform: uppercase; }

/* Redes */
.glc-social { display: inline-block; width: 40px; height: 40px; margin-right: 8px; border-radius: 50%; background: var(--glc-green) center / 20px no-repeat; transition: transform .15s, background-color .15s; }
.glc-social:hover { transform: translateY(-2px); background-color: var(--glc-green-d); }
.glc-social-facebook { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M13.5 22v-8.2h2.8l.5-3.4h-3.3V8.3c0-1 .3-1.6 1.7-1.6H17V3.7c-.3 0-1.3-.2-2.5-.2-2.5 0-4.2 1.5-4.2 4.3v2.200H7.500v3.400h2.800V22z'/%3E%3C/svg%3E"); }
.glc-social-instagram { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.500' cy='6.500' r='1' fill='%23fff'/%3E%3C/svg%3E"); }

/* ============ 6. Pie ============ */
.glc-footer { background: var(--glc-dark) !important; color: #cfd6cc; }
.glc-footer a { color: #fff; text-decoration: none; }
.glc-footer a:hover { color: var(--glc-lime); }
.glc-footer p, .glc-footer h1, .glc-footer h2, .glc-footer h3, .glc-footer h4, .glc-footer h5 { color: #cfd6cc; }
.glc-footer strong, .glc-footer p strong { color: #fff; }
/* Banda de financiadores: rótulo + carteles enteros a la misma altura + logos de entidades */
.glc-funders-band { background: #f4f6f1; border-top: 1px solid var(--glc-line); padding: 44px 0 40px !important; }
.glc-funders-title { margin: 0 0 18px; padding: 0; font: 600 12px/1 Poppins, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #5b655d; text-align: center; }
.glc-funders-row { display: grid; gap: 14px; justify-content: center; align-items: stretch; }
.glc-funders-posters { grid-template-columns: repeat(auto-fit, minmax(150px, 190px)); margin-bottom: 18px; }
.glc-funders-logos { grid-template-columns: repeat(auto-fit, minmax(120px, 170px)); }
.glc-fund { display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--glc-line); border-radius: 12px; padding: 10px; transition: box-shadow .2s, transform .2s; }
.glc-fund:hover { box-shadow: var(--glc-shadow); transform: translateY(-2px); }
.glc-funders-posters .glc-fund { height: 132px; }
.glc-funders-logos .glc-fund { height: 74px; padding: 12px 16px; }
.glc-fund img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; margin: 0; }
.glc-funders-band .et_pb_text { margin: 0; }
/* Columnas del pie */
.glc-footer.et_pb_section { padding: 56px 0 40px !important; }
.glc-footer .et_pb_row { width: 90%; max-width: 1180px; }
.glc-foot-name { font: 700 22px/1.2 Poppins, sans-serif; color: #fff !important; margin: 0 0 10px; padding: 0; letter-spacing: -.01em; }
.glc-foot-name span { color: var(--glc-lime); font-weight: 600; }
.glc-foot-brand p { max-width: 420px; line-height: 1.65; color: #d5dcd2; padding: 0; }
.glc-footer h4 { font: 600 12px/1 Poppins, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--glc-lime) !important; margin: 0 0 16px; padding: 0; }
.glc-foot-links { list-style: none; margin: 0; padding: 0; }
.glc-foot-links li { margin: 0 0 9px; padding: 0; }
.glc-footer address { font-style: normal; line-height: 1.9; color: #d5dcd2; }
.glc-footer a { text-decoration: none; }
.glc-footer a:hover { color: var(--glc-lime); text-decoration: underline; }
@media (max-width: 980px) { .glc-footer .et_pb_column { margin-bottom: 28px !important; } .glc-funders-posters { grid-template-columns: repeat(2, 1fr); } .glc-funders-logos { grid-template-columns: repeat(2, 1fr); } .glc-funders-posters .glc-fund { height: 120px; } }
.glc-legal { border-top: 1px solid rgba(255, 255, 255, .1); padding: 16px 0 !important; }
.glc-legal .glc-legal-text p { margin: 0; padding: 0; font-size: 13px; text-align: center; opacity: .85; }
.glc-legal .glc-legal-text a { text-decoration: underline; }

/* ============ 7. Alturas y velos heredados de WPBakery ============ */
.glc-vh-100 { min-height: 100vh; }
.glc-vh-75 { min-height: 75vh; }
.glc-vh-50 { min-height: 50vh; }
[class*="glc-ov-"] { position: relative; }
[class*="glc-ov-"]::before { content: ""; position: absolute; inset: 0; background: #000; pointer-events: none; }
[class*="glc-ov-"] > * { position: relative; z-index: 1; }
.glc-ov-5::before{opacity:.05}.glc-ov-10::before{opacity:.1}.glc-ov-15::before{opacity:.15}.glc-ov-20::before{opacity:.2}.glc-ov-25::before{opacity:.25}.glc-ov-30::before{opacity:.3}.glc-ov-35::before{opacity:.35}.glc-ov-40::before{opacity:.4}.glc-ov-45::before{opacity:.45}.glc-ov-50::before{opacity:.5}.glc-ov-55::before{opacity:.55}.glc-ov-60::before{opacity:.6}.glc-ov-65::before{opacity:.65}.glc-ov-70::before{opacity:.7}.glc-ov-75::before{opacity:.75}.glc-ov-80::before{opacity:.8}.glc-ov-85::before{opacity:.85}.glc-ov-90::before{opacity:.9}.glc-ov-95::before{opacity:.95}.glc-ov-100::before{opacity:1}

/* ============ 8. Componentes de la portada ============ */
.glc-hero-home { position: relative; display: flex; align-items: center; min-height: 92vh; color: #fff; overflow: hidden; background: var(--glc-dark); }
.glc-hero-home::before { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(15, 20, 17, .78) 0%, rgba(15, 20, 17, .38) 55%, rgba(15, 20, 17, .15) 100%); z-index: 1; pointer-events: none; }
.glc-hero-home > .et_pb_row { position: relative; z-index: 2; width: 90%; max-width: 1180px; margin: 0 auto; }
.glc-hero-home { padding: 0 !important; }
.glc-hero-box { max-width: 720px; padding: 140px 0 90px; }
.glc-eyebrow { display: inline-block; font: 600 12px/1 Poppins, sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--glc-lime); margin-bottom: 18px; }
.glc-hero-home h1, .glc-hero-home .glc-hero-h1 { font: 700 clamp(40px, 6.4vw, 78px)/1.04 Poppins, sans-serif; color: #fff; margin: 0 0 20px; letter-spacing: -.025em; }
.glc-hero-home p.glc-lead { font-size: clamp(17px, 1.6vw, 21px); line-height: 1.6; color: rgba(255, 255, 255, .88); max-width: 560px; margin: 0 0 32px; padding: 0; }
.glc-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.glc-hero-meta { display: flex; gap: 28px; margin-top: 44px; font-size: 14px; color: rgba(255, 255, 255, .8); flex-wrap: wrap; }
.glc-hero-meta b { display: block; font: 700 22px Poppins, sans-serif; color: #fff; }

.glc-section-title { text-align: left; margin: 0 0 8px; font: 700 clamp(28px, 3.4vw, 42px)/1.15 Poppins, sans-serif; }
.glc-section-lead { color: var(--glc-muted); max-width: 640px; margin: 0 0 36px; padding: 0; font-size: 17px; }
.glc-center { text-align: center; }
.glc-center .glc-section-title { text-align: center; }
.glc-center .glc-section-lead { margin-left: auto; margin-right: auto; }
.glc-s--soft { background: var(--glc-soft); }
.glc-s--dark { background: var(--glc-dark); color: #fff; }
.glc-s--dark .glc-section-title { color: #fff; }
.glc-s--dark .glc-section-lead { color: rgba(255,255,255,.78); }

.glc-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: -64px; position: relative; z-index: 5; }
.glc-card { display: flex; flex-direction: column; gap: 8px; padding: 26px 24px 24px; background: #fff; border: 1px solid var(--glc-line); border-radius: var(--glc-r); box-shadow: var(--glc-shadow); text-decoration: none !important; color: var(--glc-ink) !important; transition: transform .25s, box-shadow .25s, border-color .25s; }
.glc-card:hover { transform: translateY(-5px); border-color: var(--glc-green); box-shadow: 0 22px 44px rgba(15, 20, 17, .14); }
.glc-card .ico { width: 48px; height: 48px; border-radius: 14px; background: #eef6e3; display: grid; place-items: center; margin-bottom: 8px; }
.glc-card .ico svg { width: 24px; height: 24px; stroke: var(--glc-green); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.glc-card h3 { margin: 0; padding: 0; font: 600 18px Poppins, sans-serif; }
.glc-card p { margin: 0; padding: 0; font-size: 14.5px; line-height: 1.55; color: var(--glc-muted); }
.glc-card .go { margin-top: auto; padding-top: 10px; font: 600 13px Poppins, sans-serif; color: var(--glc-green); }

.glc-feature { display: grid; grid-template-columns: 1fr 1.05fr; gap: 56px; align-items: center; }
.glc-feature img { width: 100%; border-radius: 20px; box-shadow: var(--glc-shadow); display: block; }
.glc-feature h2 { font: 700 clamp(26px, 3vw, 38px)/1.15 Poppins, sans-serif; margin: 0 0 16px; }
.glc-feature p { color: var(--glc-muted); margin: 0 0 14px; padding: 0; }
.glc-ticks { list-style: none; margin: 18px 0 26px; padding: 0; display: grid; gap: 10px; }
.glc-ticks li { position: relative; padding-left: 30px; font-weight: 500; }
.glc-ticks li:before { content: ""; position: absolute; left: 0; top: 4px; width: 20px; height: 20px; border-radius: 50%; background: var(--glc-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.500' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.500l4.500 4.500L19 7.500'/%3E%3C/svg%3E") center / 12px no-repeat; }

.glc-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 34px; }
.glc-stat { padding: 20px; border-radius: var(--glc-r); background: #fff; border: 1px solid var(--glc-line); text-align: center; }
.glc-stat b { display: block; font: 700 32px/1.1 Poppins, sans-serif; color: var(--glc-green); }
.glc-stat span { font-size: 13.5px; color: var(--glc-muted); }

.glc-duo { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.glc-duo .glc-pane { padding: 34px; border-radius: 20px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); }
.glc-duo .glc-pane h3 { color: #fff; margin: 0 0 12px; font: 600 22px Poppins, sans-serif; }
.glc-duo .glc-pane p { color: rgba(255, 255, 255, .78); margin: 0; padding: 0; }

.glc-cta { text-align: center; padding: 70px 24px; border-radius: 28px; background: linear-gradient(135deg, #2d6104 0%, #519807 100%); color: #fff; }
.glc-cta h2 { color: #fff; font: 700 clamp(28px, 3.6vw, 44px)/1.15 Poppins, sans-serif; margin: 0 0 12px; }
.glc-cta p { color: rgba(255, 255, 255, .88); max-width: 560px; margin: 0 auto 28px; padding: 0; }
.glc-cta .glc-hero-actions { justify-content: center; }

.glc-gal { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.glc-gal a { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 14px; }
.glc-gal img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; display: block; border-radius: 0; }
.glc-gal a:hover img { transform: scale(1.06); }
.glc-gal a:first-child { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; }

/* ============ 9. Responsive ============ */
@media (max-width: 980px) {
	.glc-cards { grid-template-columns: repeat(2, 1fr); margin-top: -40px; }
	.glc-feature { grid-template-columns: 1fr; gap: 28px; }
	.glc-stats { grid-template-columns: repeat(2, 1fr); }
	.glc-duo { grid-template-columns: 1fr; }
	.glc-gal { grid-template-columns: repeat(3, 1fr); }
	.glc-content .et_pb_section.glc-s { padding: 60px 0; }
	.et-l--header { background: rgba(15, 20, 17, .55); backdrop-filter: blur(8px); }
	.glc-header .glc-head-cta { display: none; }
	.glc-header .glc-logo img { max-height: 48px; }
}
@media (max-width: 600px) {
	.glc-cards { grid-template-columns: 1fr; }
	.glc-gal { grid-template-columns: repeat(2, 1fr); }
	.glc-gal a:first-child { grid-column: span 2; grid-row: auto; aspect-ratio: 4 / 3; }
	.glc-hero-box { padding: 120px 0 70px; }
	.glc-hero-actions .glc-b { flex: 1 1 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---------- Ajustes tras revisión (cabecera y pestañas) ---------- */
.et_pb_tabs_controls, .et_pb_tabs_controls li { background: transparent !important; }

/* Menos aire entre módulos de la portada y de las páginas interiores */
.glc-content .et_pb_section.glc-s { padding: 60px 0; }
.glc-content .et_pb_section.glc-s-cards { padding: 0 0 8px; }
.glc-section-lead { margin-bottom: 26px; }
.glc-content .et_pb_code, .glc-content .et_pb_text { margin-bottom: 0; }
.glc-content .et_pb_module { margin-bottom: 18px; }
.glc-content .et_pb_column > .et_pb_module:last-child { margin-bottom: 0; }
@media (max-width: 980px) { .glc-content .et_pb_section.glc-s { padding: 42px 0; } }

/* Cabecera de texto (404, búsqueda): sección oscura sin imagen */
.glc-hero-text { background: var(--glc-dark); padding: clamp(120px, 17vh, 180px) 0 clamp(36px, 5vh, 60px) !important; }
.glc-hero-text .et_pb_row { width: 90%; max-width: 1180px; }
.glc-hero-text h1 { color: #fff !important; font: 700 clamp(28px, 3.6vw, 48px)/1.1 Poppins, sans-serif; letter-spacing: -.02em; margin: 0; padding: 0; }
.glc-search { display: flex; gap: 10px; flex-wrap: wrap; margin: 18px 0; }
.glc-search input[type="search"] { flex: 1 1 240px; min-width: 0; padding: 12px 16px; border: 1px solid #d9ded6; border-radius: 999px; font: inherit; }

/* Pie: contraste del texto de marca, lista sin viñetas y carteles en una sola fila */
.glc-footer .glc-foot-brand p, .glc-footer .glc-foot-brand .et_pb_text_inner p { color: #d5dcd2 !important; }
.glc-footer .glc-foot-links, .glc-footer .glc-foot-links li { list-style: none !important; padding-left: 0 !important; }
.glc-footer .glc-foot-links li::before { display: none !important; content: none !important; }
.glc-footer .glc-foot-col a { color: #fff; }
.glc-funders-posters { grid-template-columns: repeat(6, minmax(0, 1fr)); max-width: 1180px; margin: 0 auto 18px; }
.glc-funders-logos { max-width: 760px; margin: 0 auto; grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 980px) { .glc-funders-posters { grid-template-columns: repeat(3, minmax(0, 1fr)); } .glc-funders-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .glc-funders-posters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.glc-footer .et_pb_text_inner { color: #d5dcd2; }

/* ============ Menú móvil: panel a ancho completo, con scroll y contraste ============ */
@media (max-width: 980px) {
	:root { --glc-hdr-h: 68px; }
	.glc-header .et_pb_row { gap: 12px; }
	.glc-header .et_pb_menu .et_pb_menu__wrap { justify-content: flex-end; }
	.glc-header .et_pb_menu .et_mobile_nav_menu { float: none; margin: 0; display: flex; align-items: center; }
	.glc-header .mobile_nav { display: flex; align-items: center; }
	.glc-header .mobile_menu_bar { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin: 0; padding: 0; }
	.glc-header .mobile_menu_bar:before { position: static; font-size: 34px; line-height: 1; color: #fff; top: auto; }
	.glc-header .mobile_nav.opened .mobile_menu_bar:before { color: var(--glc-lime); }
	.glc-header .et_mobile_menu { position: fixed; top: var(--glc-hdr-h); left: 0; right: 0; width: 100%; max-height: calc(100dvh - var(--glc-hdr-h)); overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; box-sizing: border-box; margin: 0; padding: 6px 6vw 28px; border: 0; background: var(--glc-hdr) !important; box-shadow: 0 18px 30px rgba(15, 20, 17, .35); }
	.glc-header .et_mobile_menu li { display: block; background: transparent !important; }
	.glc-header .et_mobile_menu li a { display: block; padding: 15px 0; color: #fff !important; background: transparent !important; font: 600 15px/1.2 Poppins, sans-serif; letter-spacing: .04em; text-transform: uppercase; border-bottom: 1px solid rgba(255, 255, 255, .12); }
	.glc-header .et_mobile_menu li li { padding-left: 0; }
	.glc-header .et_mobile_menu li li a { padding: 12px 0 12px 16px; color: #cfd6cc !important; font: 500 15px/1.3 Inter, sans-serif; text-transform: none; letter-spacing: 0; }
	.glc-header .et_mobile_menu li a:hover, .glc-header .et_mobile_menu li.current-menu-item > a { color: var(--glc-lime) !important; }
	.glc-header .glc-logo img { max-height: 46px; }
}
/* Con el menú móvil abierto la cabecera es sólida aunque estemos arriba del todo */
.et-l--header:has(.mobile_nav.opened) { background: var(--glc-hdr); }
.et-l--header:has(.mobile_nav.opened)::before { opacity: 0; }

/* Páginas legales: ancho de lectura y jerarquía sobria */
.glc-legal-page .et_pb_row { max-width: 820px; }
.glc-legal-page { padding: 56px 0 72px !important; }
.glc-legal-page h2 { font: 600 24px/1.25 Poppins, sans-serif; margin: 36px 0 12px; padding: 0; }
.glc-legal-page h3 { font: 600 18px/1.3 Poppins, sans-serif; margin: 28px 0 10px; padding: 0; }
.glc-legal-page p, .glc-legal-page li { font-size: 16px; line-height: 1.75; padding-bottom: 12px; }
.glc-legal-page .glc-legal-dato { padding-bottom: 4px; }
.glc-legal-page mark { background: #fff3a3; padding: 0 4px; border-radius: 3px; }

/* ============ Lote de pulido (23/10) ============ */
/* Teclado: los submenús se abren con Tab (focus-within) y el foco se ve */
.glc-header .et-menu-nav li:focus-within > ul.sub-menu { opacity: 1; visibility: visible; }
.glc-header a:focus-visible, .glc-header .mobile_menu_bar:focus-visible, .glc-header .glc-sub-toggle:focus-visible { outline: 3px solid var(--glc-lime); outline-offset: 3px; border-radius: 4px; }
.glc-header .et-menu-nav li ul.sub-menu a { display: flex; align-items: center; min-height: 44px; padding-top: 6px; padding-bottom: 6px; }
.glc-header .et-menu-nav li ul.sub-menu a:focus-visible { outline-offset: -3px; background: var(--glc-soft); }
.glc-foot-links a { display: inline-block; padding: 7px 0; }
.glc-footer address a { display: inline-block; padding: 4px 0; }

/* Búsqueda y 404: el botón va junto al campo */
.glc-search .glc-b { flex: 0 0 auto; }
.glc-search input[type="search"] { flex: 1 1 200px; }

/* Vídeo de fondo: nunca más ancho que la pantalla */
.et_pb_section_video, .glc-hero-home { overflow: hidden; }
.et_pb_section_video_bg, .et_pb_section_video_bg .mejs-container, .et_pb_section_video_bg video { max-width: 100% !important; }

/* Noticias: ancho de lectura de 60-65 caracteres y párrafos con aire */
.glc-single .et_pb_post_content p, .glc-single .et_pb_post_content ul, .glc-single .et_pb_post_content ol,
.glc-single .et_pb_post_content h2, .glc-single .et_pb_post_content h3, .glc-single .et_pb_post_content h4 { max-width: 54ch; margin-left: auto; margin-right: auto; }
.glc-single .et_pb_post_content p { font-size: 17px; line-height: 1.75; padding-bottom: 0; margin-bottom: 1.1em; }

/* Tarifas y pestañas: en móvil se desplazan en horizontal en vez de apilarse; zebra en toda la fila */
.et_pb_tabs_controls { display: flex; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.et_pb_tabs_controls::-webkit-scrollbar { display: none; }
.et_pb_tabs_controls::after { display: none; }
.et_pb_tabs_controls li { flex: 0 0 auto; float: none; white-space: nowrap; }
.et_pb_text table tr:nth-child(even) td, .et_pb_text table tr:nth-child(even) th { background: #fafbf8 !important; }

/* Pie: rótulos por subgrupo, ampliación de carteles y barra legal compacta */
.glc-funders-sub { margin: 0 0 12px; padding: 0; font: 600 12px/1 Poppins, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #6b756d; text-align: center; }
.glc-funders-logos-wrap { margin-top: 26px; }
.glc-footer.glc-legal.et_pb_section { padding: 10px 0 !important; }
.glc-legal .et_pb_row { padding: 0 !important; }
.glc-legal .glc-legal-text p { padding: 0; line-height: 1.5; }
.glc-lightbox { border: 0; padding: 0; background: transparent; max-width: 94vw; max-height: 92vh; }
.glc-lightbox::backdrop { background: rgba(15, 20, 17, .82); }
.glc-lightbox img { display: block; max-width: 94vw; max-height: 88vh; width: auto; height: auto; border-radius: 12px; background: #fff; }
.glc-lightbox button { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #fff; color: #12291a; font-size: 24px; line-height: 1; cursor: zoom-out; }

/* Barra de Reservar fija (solo móvil) */
.glc-fixbar { display: none; }
@media (max-width: 980px) {
	.glc-fixbar { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 998; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(18, 41, 26, .97); box-shadow: 0 -6px 20px rgba(15, 20, 17, .25); }
	.glc-fixbar .glc-b { display: flex; justify-content: center; width: 100%; min-height: 48px; align-items: center; }
	body.glc-has-fixbar { padding-bottom: 70px; }
}

/* Menú móvil: submenús en acordeón, Reservar e idiomas al final */
@media (max-width: 980px) {
	.glc-header .et_mobile_menu li.menu-item-has-children { position: relative; }
	.glc-header .et_mobile_menu li.menu-item-has-children > ul { display: none; }
	.glc-header .et_mobile_menu li.menu-item-has-children.glc-open > ul { display: block; }
	.glc-header .et_mobile_menu li.menu-item-has-children > a { padding-right: 56px; }
	.glc-header .glc-sub-toggle { position: absolute; top: 4px; right: 0; width: 48px; height: 48px; border: 0; background: transparent; color: #fff; cursor: pointer; }
	.glc-header .glc-sub-toggle::before { content: ""; display: block; width: 10px; height: 10px; margin: 0 auto; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translate(-2px, -2px); transition: transform .2s; }
	.glc-header li.glc-open > .glc-sub-toggle::before { transform: rotate(-135deg) translate(-2px, -2px); }
	.glc-header .et_mobile_menu li.glc-mm-cta { padding: 18px 0 6px; }
	.glc-header .et_mobile_menu li.glc-mm-cta a { display: flex; justify-content: center; align-items: center; min-height: 48px; border: 0; border-radius: 10px; background: var(--glc-green) !important; color: #fff !important; text-transform: none; font: 600 16px Poppins, sans-serif; }
	.glc-header .et_mobile_menu li.lang-item { display: inline-block; width: auto; }
	.glc-header .et_mobile_menu li.lang-item a { display: inline-flex; align-items: center; min-height: 44px; margin: 12px 8px 0 0; padding: 0 18px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 999px; font: 600 13px Poppins, sans-serif; }
	.glc-header .et_mobile_menu li.lang-item.current-lang a { background: var(--glc-lime); color: #12291a !important; border-color: var(--glc-lime); }
	/* Selector de idioma: en móvil se vuelve a ver como chips (sin acordeón) */
	.glc-header .et_mobile_menu li.pll-parent-menu-item > a, .glc-header .et_mobile_menu li.pll-parent-menu-item > .glc-sub-toggle { display: none !important; }
	.glc-header .et_mobile_menu li.pll-parent-menu-item > ul.sub-menu { display: block !important; visibility: visible !important; opacity: 1 !important; position: static !important; width: auto !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; }
}
/* Hero de portada en móvil: velo más ligero para que se vea el campo */
@media (max-width: 980px) { .glc-hero-home::before { background: linear-gradient(180deg, rgba(15, 20, 17, .45) 0%, rgba(15, 20, 17, .28) 45%, rgba(15, 20, 17, .6) 100%); } }
.glc-fixbar-wrap, .glc-fixbar-wrap .et_pb_row, .glc-fixbar-wrap .et_pb_column, .glc-fixbar-wrap .et_pb_text { padding: 0 !important; margin: 0 !important; min-height: 0 !important; }
@media (max-width: 980px) {
	.glc-header .et_mobile_menu li.menu-item-has-children:not(.glc-open) > ul { display: none !important; }
	.glc-header .et_mobile_menu li.menu-item-has-children.glc-open > ul { display: block !important; visibility: visible !important; opacity: 1 !important; }
}
@media (max-width: 980px) {
	.glc-header .et_mobile_menu li.lang-item.current-lang a { background: var(--glc-lime) !important; color: #12291a !important; border-color: var(--glc-lime) !important; }
	body:has(.mobile_nav.opened) .glc-fixbar { display: none; }
	.glc-header .mobile_nav.opened .mobile_menu_bar:before { content: "\4d"; color: var(--glc-lime); }
}
.glc-foot-links li { margin: 0 0 2px; }
@media (max-width: 980px) { .glc-header .mobile_menu_bar:before { color: #fff !important; } .glc-header .mobile_nav.opened .mobile_menu_bar:before { color: var(--glc-lime) !important; } }

/* ============ Páginas con secciones (El campo, Documentos, El club, Academia) ============ */
.glc-subnav { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 4px 0 8px; }
.glc-subnav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; border: 1px solid var(--glc-line); border-radius: 999px; background: #fff; color: var(--glc-ink); font: 600 13px Poppins, sans-serif; letter-spacing: .04em; text-decoration: none; transition: background .2s, color .2s, border-color .2s; }
.glc-subnav a:hover, .glc-subnav a:focus-visible { background: var(--glc-green); border-color: var(--glc-green); color: #fff; }
.glc-subnav-wrap { margin: 0 !important; }
.glc-part { padding: 36px 0 0 !important; }
.glc-part + .et_pb_section.glc-part { border-top: 0; }
.glc-part-title h2 { font: 700 clamp(26px, 3vw, 36px)/1.15 Poppins, sans-serif; letter-spacing: -.01em; margin: 0; padding: 0; position: relative; }
.glc-part-title h2::after { content: ""; display: block; width: 56px; height: 4px; margin-top: 14px; border-radius: 4px; background: var(--glc-green); }
.glc-part .et_pb_text { margin-bottom: 0; }

/* ============ Documentos: circulares, orden de mérito, comité ============ */
.glc-part-lead { margin: 0 0 22px; padding: 0; color: var(--glc-muted); font-size: 17px; max-width: 62ch; }
.glc-docs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.glc-doc { display: flex; flex-direction: column; gap: 16px; padding: 22px; border: 1px solid var(--glc-line); border-radius: 16px; background: #fff; box-shadow: var(--glc-shadow-sm, 0 1px 2px rgba(15, 20, 17, .04)); }
.glc-doc-head { display: flex; align-items: center; gap: 16px; }
.glc-doc-ico { flex: 0 0 auto; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 12px; background: #f1f6ea; color: var(--glc-green); font: 700 13px Poppins, sans-serif; letter-spacing: .06em; }
.glc-doc h3 { margin: 0; padding: 0; font: 600 19px/1.25 Poppins, sans-serif; }
.glc-doc-head p { margin: 4px 0 0; padding: 0; font-size: 14px; color: var(--glc-muted); }
.glc-doc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.glc-doc-view { flex: 1 1 100%; }
.glc-doc-view summary { display: inline-flex; align-items: center; min-height: 44px; cursor: pointer; font: 600 14px Poppins, sans-serif; color: var(--glc-green); list-style: none; }
.glc-doc-view summary::-webkit-details-marker { display: none; }
.glc-doc-view summary::after { content: ""; width: 8px; height: 8px; margin-left: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .2s; }
.glc-doc-view[open] summary::after { transform: rotate(-135deg); }
.glc-doc-view iframe { display: block; width: 100%; height: 560px; margin-top: 8px; border: 1px solid var(--glc-line); border-radius: 10px; background: #f6f7f4; }
.glc-om-current { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 32px; align-items: center; margin: 0 0 40px; padding: 22px; border: 1px solid var(--glc-line); border-radius: 20px; background: #f7faf3; text-decoration: none; color: inherit; }
.glc-om-img { display: block; overflow: hidden; border-radius: 12px; background: #fff; aspect-ratio: 4 / 3; }
.glc-om-img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform .35s; }
.glc-om-current:hover .glc-om-img img, .glc-om-card:hover .glc-om-img img { transform: scale(1.03); }
.glc-om-info { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.glc-om-info strong { font: 700 clamp(24px, 2.6vw, 34px)/1.15 Poppins, sans-serif; letter-spacing: -.01em; }
.glc-om-sub { margin: 0 0 16px; padding: 0; font: 600 14px/1 Poppins, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--glc-muted); }
.glc-om-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.glc-om-card { display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: inherit; }
.glc-om-card .glc-om-img { aspect-ratio: 1 / 1; box-shadow: 0 1px 2px rgba(15, 20, 17, .08); }
.glc-om-year { font: 700 20px Poppins, sans-serif; }
.glc-om-see { font-size: 13px; color: var(--glc-green); font-weight: 600; }
.glc-om-card:focus-visible, .glc-om-current:focus-visible { outline: 3px solid var(--glc-lime); outline-offset: 4px; border-radius: 12px; }
@media (max-width: 980px) {
	.glc-om-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.glc-om-current { grid-template-columns: 1fr; gap: 18px; }
}
@media (max-width: 640px) {
	.glc-docs { grid-template-columns: 1fr; }
	.glc-om-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.glc-doc-view iframe { height: 420px; }
}
.glc-om-card .glc-om-img { aspect-ratio: 4 / 3; }
.glc-om-info .glc-eyebrow { color: var(--glc-green); }

/* Contraste AA en el formulario de reservas (el color viene de los ajustes del plugin) */
.glc-buscador__toggle { color: var(--glc-green) !important; }
.glc-btn--submit { background: var(--glc-green) !important; }
.glc-btn--submit:hover { background: var(--glc-green-d) !important; }

/* Galería: fotos adicionales plegadas bajo "Ver más fotos" */
.glc-gal-more { margin-top: 12px; }
.glc-gal-more summary { display: inline-flex; align-items: center; min-height: 44px; padding: 0 22px; border: 2px solid var(--glc-green); border-radius: 999px; color: var(--glc-green); font: 600 14px Poppins, sans-serif; cursor: pointer; list-style: none; }
.glc-gal-more summary::-webkit-details-marker { display: none; }
.glc-gal-more summary:hover { background: var(--glc-green); color: #fff; }
.glc-gal-more[open] summary { margin-bottom: 12px; }
.glc-gal--plain a:first-child { grid-column: auto; grid-row: auto; aspect-ratio: 4 / 3; }

/* Selector de idioma en escritorio: desplegable estrecho para no pisar el botón Reservar */
.glc-header .et_pb_menu .et-menu-nav li.pll-parent-menu-item > ul.sub-menu { width: 120px; }

/* Tarjetas claras (variante de .glc-duo para fondo blanco) */
.glc-duo--light .glc-pane { background: #fff; border: 1px solid var(--glc-line); box-shadow: var(--glc-shadow); }
.glc-duo--light .glc-pane h3 { color: var(--glc-ink); }
.glc-duo--light .glc-pane p { color: var(--glc-muted); }
.glc-duo--light .glc-pane p + p { margin-top: 12px; }
.glc-poster { text-align: center; }
.glc-poster img { max-width: 460px; width: 100%; border-radius: 16px; box-shadow: var(--glc-shadow); }
.glc-poster figcaption { margin-top: 10px; color: var(--glc-muted); font-size: 14px; }
.glc-note { margin-top: 18px; padding: 14px 18px; border-left: 4px solid var(--glc-green); background: var(--glc-soft); border-radius: 0 12px 12px 0; }

/* Tablas dentro de módulos de código (mismo estilo que las de texto) */
.glc-tabla table { width: 100%; border-collapse: collapse; border: 1px solid var(--glc-line); }
.glc-tabla table td, .glc-tabla table th { padding: 12px 16px; border-bottom: 1px solid var(--glc-line); vertical-align: top; text-align: left; }
.glc-tabla table th { background: var(--glc-soft); font: 600 13px Poppins, sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--glc-green-d); }
.glc-tabla table tr:nth-child(even) td { background: #fafbf8; }
.glc-tabla table td:first-child { font-weight: 600; text-transform: uppercase; font-size: .86em; letter-spacing: .04em; width: 34%; }
.glc-feature--top { align-items: start; }
.glc-feature p.glc-note { padding: 14px 18px; }
.glc-s--tight { padding-top: 40px !important; padding-bottom: 40px !important; }
.glc-tabla table td { line-height: 1.5; }
.glc-feature--top > a img { max-width: 340px !important; }

/* Cabecera de noticia: fecha y categoría bajo el título */
.glc-hero-title .et_pb_title_meta_container, .glc-hero-title .et_pb_title_meta_container span, .glc-hero-title .et_pb_title_meta_container a { color: var(--glc-lime) !important; }
.glc-hero-title .et_pb_title_meta_container { display: block; margin-top: 16px; color: var(--glc-lime); font: 600 13px Poppins, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.glc-hero-title .et_pb_title_meta_container a { color: inherit; }
.glc-hero-title .et_pb_title_meta_container .published { color: inherit; }

/* Formularios CF7: centrados, placeholder legible */
.wpcf7 { max-width: 680px; margin-left: auto; margin-right: auto; }
.wpcf7 ::placeholder { color: #5b655d; opacity: 1; }
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus { box-shadow: 0 0 0 3px rgba(63, 122, 5, .22); }
.wpcf7 textarea { height: 120px; min-height: 120px; }
.wpcf7 textarea[name*="mensaje"], .wpcf7 textarea[name*="message"] { height: 160px; }

/* Páginas fusionadas: menos aire entre cada título de parte y su contenido; texto con ancho de lectura */
.glc-content .et_pb_section.glc-part .et_pb_row { padding-bottom: 0; }
.glc-content .et_pb_section.glc-part + .et_pb_section { padding-top: 0; }
.glc-content .et_pb_section.glc-part + .et_pb_section > .et_pb_row:first-child { padding-top: 18px; }
.glc-content .et_pb_section.glc-part + .et_pb_section .et_pb_text_inner > p { max-width: 72ch; font-size: 16.5px; line-height: 1.7; color: var(--glc-muted); }
.glc-content .et_pb_section.glc-part + .et_pb_section .et_pb_text_inner { font-size: 16.5px; line-height: 1.7; color: var(--glc-muted); }
.glc-content .et_pb_section.glc-part + .et_pb_section .et_pb_text_inner > br { display: none; }
.glc-content .et_pb_section.glc-part + .et_pb_section .et_pb_text_inner > ul, .glc-content .et_pb_section.glc-part + .et_pb_section .et_pb_text_inner > ol { max-width: 80ch; padding-bottom: 14px; }
.glc-content .et_pb_section.glc-part + .et_pb_section .et_pb_text_inner li { line-height: 1.65; padding-bottom: 6px; }
.glc-content .et_pb_section.glc-part + .et_pb_section .et_pb_text_inner h3 { margin-top: 24px; font: 600 22px Poppins, sans-serif; }

/* Galerías de Divi: miniaturas del mismo tamaño */
.et_pb_gallery_grid .et_pb_gallery_item { margin-bottom: 20px !important; }
.et_pb_gallery_grid .et_pb_gallery_image { aspect-ratio: 4 / 3; overflow: hidden; border-radius: 14px; }
.et_pb_gallery_grid .et_pb_gallery_image img { width: 100% !important; height: 100% !important; object-fit: cover; position: static !important; transform: none !important; }
.glc-content .et_pb_section.glc-part + .et_pb_section .et_pb_text_inner li { color: var(--glc-muted); }
.glc-content .et_pb_section.glc-part + .et_pb_section .et_pb_text_inner li strong, .glc-content .et_pb_section.glc-part + .et_pb_section .et_pb_text_inner p strong { color: var(--glc-ink); }

/* Campo de fecha en línea (Inscripciones) y captcha de imagen */
.wpcf7 .wpcf7-inline-field .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.wpcf7 input[type="date"] { width: 100%; box-sizing: border-box; }
.wpcf7 .kc_captcha .captcha-image { display: block; border: 1px solid var(--glc-line); border-radius: 12px; padding: 16px 20px; background: #fff; }
.wpcf7 .kc_captcha .cf7ic_instructions { display: block; margin-bottom: 12px; font: 500 14px/1.5 Inter, system-ui, sans-serif; color: var(--glc-ink); }
.wpcf7 .kc_captcha .cf7ic_instructions span { font-weight: 700; }
.wpcf7 .kc_captcha label { display: inline-flex; margin: 0 18px 0 0; cursor: pointer; }
.wpcf7 .kc_captcha label svg { width: 30px; height: 30px; color: var(--glc-green-d); }
.wpcf7 .kc_captcha label:hover svg { color: var(--glc-green); }
.wpcf7 .kc_captcha .captcha-image { box-sizing: border-box; width: 100%; text-align: left; }
.wpcf7 .kc_captcha label svg { width: 32px !important; height: 32px !important; max-width: none; }
.wpcf7 .kc_captcha input[type="radio"] { position: absolute; opacity: 0; width: 1px; height: 1px; }
.wpcf7 .kc_captcha input[type="radio"]:focus-visible + svg, .wpcf7 .kc_captcha input[type="radio"]:checked + svg { outline: 3px solid var(--glc-green); outline-offset: 4px; border-radius: 6px; }
.wpcf7 .kc_captcha .captcha-image { max-width: 620px; }
.wpcf7 .kc_captcha label svg { width: 44px !important; height: 44px !important; }

/* Restos de la web antigua: separadores y párrafos vacíos */
.glc-content .glc-space { display: none !important; }
.glc-content .et_pb_text_inner p:empty, .glc-content .et_pb_text_inner > div:empty { display: none; }

@media (max-width: 767px) {
	.et_pb_gallery_grid .et_pb_gallery_items { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; }
	.et_pb_gallery_grid .et_pb_gallery_item { width: auto !important; float: none !important; margin: 0 !important; clear: none !important; }
	.et_pb_gallery_grid .et_pb_gallery_items::before, .et_pb_gallery_grid .et_pb_gallery_items::after { display: none; }
}

/* Portada, tarjetas de servicios en móvil: icono a la izquierda y menos altura */
@media (max-width: 560px) {
	.glc-cards { gap: 12px; margin-top: -28px; }
	.glc-card { display: grid; grid-template-columns: 44px 1fr; column-gap: 14px; row-gap: 4px; padding: 16px 16px 14px; }
	.glc-card .ico { grid-row: 1 / span 3; width: 44px; height: 44px; margin: 0; }
	.glc-card h3 { font-size: 17px; }
	.glc-card p { font-size: 14px; }
	.glc-card .go { padding-top: 4px; }
	.glc-card:hover { transform: none; }
}

/* Galerías de WordPress dentro de las noticias */
.glc-single .gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 28px 0; }
.glc-single .gallery br { display: none; }
.glc-single .gallery .gallery-item { width: auto !important; margin: 0 !important; float: none !important; }
.glc-single .gallery .gallery-icon a { display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 14px; }
.glc-single .gallery .gallery-icon img { width: 100%; height: 100%; object-fit: cover; border: 0 !important; transition: transform .4s; }
.glc-single .gallery .gallery-icon a:hover img { transform: scale(1.05); }
@media (max-width: 767px) { .glc-single .gallery { grid-template-columns: repeat(2, 1fr); } }

/* Formularios en dos columnas: los pares (fecha/hora, licencia/hándicap, email/teléfono) van lado a lado */
.wpcf7 { max-width: 760px; }
.wpcf7 form p { margin: 0 0 16px; padding: 0; }
.wpcf7 form br { display: none; }
.wpcf7 .wpcf7-inline-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.wpcf7 .wpcf7-inline-wrapper > p { margin: 0 0 16px; min-width: 0; }
.wpcf7 .wpcf7-inline-wrapper > p .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 input[type="date"], .wpcf7 select, .wpcf7 textarea { max-width: 100%; box-sizing: border-box; margin: 0; }
.wpcf7 .wpcf7-form-control-wrap { display: block; }
.wpcf7 .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.wpcf7 .wpcf7-response-output { margin: 18px 0 0; border-radius: 12px; }
@media (max-width: 640px) { .wpcf7 .wpcf7-inline-wrapper { grid-template-columns: 1fr; } }
.wpcf7 .kc_captcha .captcha-image { max-width: none; }
.wpcf7 .wpcf7-acceptance label { display: flex; align-items: flex-start; gap: 10px; font-size: 14.5px; line-height: 1.5; }
.wpcf7 .wpcf7-acceptance input[type="checkbox"] { flex: 0 0 auto; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--glc-green); }
.wpcf7 form > p:has(> br:only-child), .wpcf7 form > p:empty { display: none; }

/* Observaciones de tarifas y listas de notas: tarjetas con marca */
.glc-notes { margin-top: 36px; }
.glc-notes h2 { font: 700 clamp(24px, 2.6vw, 30px)/1.2 Poppins, sans-serif; margin: 0 0 18px; }
.glc-notes ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.glc-notes li { position: relative; margin: 0; padding: 18px 20px 18px 56px; background: #fff; border: 1px solid var(--glc-line); border-radius: 14px; color: var(--glc-muted); line-height: 1.55; }
.glc-notes li::before { content: ""; position: absolute; left: 20px; top: 19px; width: 22px; height: 22px; border-radius: 50%; background: #eef6e3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f7a05' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat; }
.glc-notes li strong { color: var(--glc-ink); }
.glc-dl { margin: 0 0 8px; }
@media (max-width: 767px) { .glc-notes ul { grid-template-columns: 1fr; } }

/* El club: texto de presentación, cifras, instalaciones, tarjetas de pitch & putt */
.glc-feature p.glc-lead { font-size: 18px; line-height: 1.7; color: var(--glc-ink); }
.glc-stats--3 { grid-template-columns: repeat(3, 1fr); max-width: 760px; }
.glc-chips { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.glc-chips li { display: flex; align-items: center; gap: 10px; margin: 0; padding: 14px 16px; background: #fff; border: 1px solid var(--glc-line); border-radius: 14px; font: 500 15px/1.3 Inter, sans-serif; color: var(--glc-ink); }
.glc-chips li::before { content: ""; flex: 0 0 auto; width: 9px; height: 9px; border-radius: 50%; background: var(--glc-green); }
.glc-cards3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; align-items: start; margin-top: 28px; }
.glc-cards3 > div { padding: 28px; background: #fff; border: 1px solid var(--glc-line); border-radius: 20px; box-shadow: var(--glc-shadow); }
.glc-cards3 .n { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 14px; border-radius: 12px; background: #eef6e3; color: var(--glc-green-d); font: 700 17px Poppins, sans-serif; }
.glc-cards3 h4 { margin: 0 0 10px; font: 600 20px/1.25 Poppins, sans-serif; }
.glc-cards3 p { margin: 0 0 10px; padding: 0; color: var(--glc-muted); font-size: 15.5px; line-height: 1.65; }
.glc-cards3 p strong { color: var(--glc-ink); }
.glc-pp-intro { max-width: 78ch; }
.glc-pp-intro h3 { margin: 0 0 14px; font: 700 clamp(24px, 2.6vw, 30px)/1.2 Poppins, sans-serif; }
.glc-pp-intro p { color: var(--glc-muted); font-size: 16.5px; line-height: 1.7; }
.glc-b--borde { background: transparent; border: 2px solid var(--glc-green); color: var(--glc-green-d) !important; }
.glc-b--borde:hover { background: var(--glc-green); color: #fff !important; }
.glc-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.glc-subhead { margin: 38px 0 16px; font: 600 22px Poppins, sans-serif; }
@media (max-width: 1100px) { .glc-chips { grid-template-columns: repeat(3, 1fr); } .glc-cards3 { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .glc-chips { grid-template-columns: 1fr 1fr; } .glc-stats--3 .glc-stat { padding: 14px 8px; } .glc-stats--3 .glc-stat b { font-size: 26px; } }

/* Galerías Divi: rejilla uniforme también en escritorio (3 columnas con .glc-gal3) */
.et_pb_gallery_grid .et_pb_gallery_items { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.et_pb_gallery_grid .et_pb_gallery_item { width: auto !important; float: none !important; margin: 0 !important; clear: none !important; }
.et_pb_gallery_grid .et_pb_gallery_items::before, .et_pb_gallery_grid .et_pb_gallery_items::after { display: none; }
.glc-gal3.et_pb_gallery_grid .et_pb_gallery_items { grid-template-columns: repeat(3, 1fr); }
.glc-chips, .glc-notes ul { padding: 0 !important; }
@media (max-width: 767px) { .et_pb_gallery_grid .et_pb_gallery_items, .glc-gal3.et_pb_gallery_grid .et_pb_gallery_items { grid-template-columns: 1fr 1fr; gap: 10px; } }
.glc-cards3 { grid-template-columns: 1fr 1.45fr 1fr; }
@media (max-width: 1100px) { .glc-cards3 { grid-template-columns: 1fr; } }
.glc-single .gallery { width: 100%; box-sizing: border-box; padding: 0; }

/* Logos de patrocinadores: imágenes cuadradas completas, sin recorte */
.glc-gal-logos.et_pb_gallery_grid .et_pb_gallery_items { grid-template-columns: repeat(5, 1fr); gap: 16px; }
.glc-gal-logos.et_pb_gallery_grid .et_pb_gallery_image { aspect-ratio: 16 / 9; border-radius: 12px; border: 1px solid var(--glc-line); }
.glc-gal-logos.et_pb_gallery_grid .et_pb_gallery_image img { object-fit: contain; background: #fff; }
@media (max-width: 767px) { .glc-gal-logos.et_pb_gallery_grid .et_pb_gallery_items { grid-template-columns: 1fr 1fr; } }
/* Casilla legal + texto en la misma línea (el texto va fuera de la etiqueta de CF7) */
.wpcf7 form p:has(.wpcf7-acceptance) { display: flex; align-items: flex-start; gap: 10px; flex-wrap: wrap; }
.wpcf7 form p:has(.wpcf7-acceptance) .wpcf7-form-control-wrap { flex: 0 0 auto; display: inline-block; margin-top: 2px; }
.wpcf7 .wpcf7-acceptance .wpcf7-list-item { display: inline-block; margin: 0; }
.wpcf7 form p:has(.wpcf7-acceptance) { display: block; overflow: hidden; line-height: 1.55; }
.wpcf7 form p:has(.wpcf7-acceptance) .wpcf7-form-control-wrap { float: left; margin: 3px 10px 0 0; }

/* Pie, financiadores: carteles grandes y legibles (antes cajas de 132 px de alto) */
.glc-funders-posters { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1000px; gap: 18px; }
.glc-funders-posters .glc-fund { height: auto; padding: 14px; }
.glc-funders-posters .glc-fund img { width: 100%; height: auto; max-height: none; }
.glc-funders-logos { max-width: 900px; }
.glc-funders-logos .glc-fund { height: auto; min-height: 86px; }
.glc-funders-logos .glc-fund img { max-height: 110px; }
@media (max-width: 980px) { .glc-funders-posters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
