/* Training Girona Est — estilos del tema (front y editor) */
:root {
	--tge-radius: 6px;
	--tge-header-h: 72px;
	--tge-green: #25d366;
	--tge-gutter: 1.25rem;
}
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { height: auto; max-width: 100%; }
:focus-visible { outline: 2px solid var(--wp--preset--color--blue); outline-offset: 3px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Cabecera ---------- */
header.wp-block-template-part {
	position: sticky; top: 0; z-index: 50;
	background: rgba(11, 13, 16, .92);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
body.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { body.admin-bar header.wp-block-template-part { top: 46px; } }
.tge-header { padding-inline: var(--tge-gutter); }
.tge-header__inner { min-height: var(--tge-header-h); align-items: center; flex-wrap: nowrap !important; gap: 1rem; }
.tge-header__actions { gap: .75rem; align-items: center; flex-wrap: nowrap !important; }
.tge-brand {
	display: inline-flex; align-items: center; gap: .65rem; color: #fff; text-decoration: none;
	font-family: var(--wp--preset--font-family--display); font-weight: 700; text-transform: uppercase;
	letter-spacing: .04em; font-size: 1.35rem; line-height: 1; white-space: nowrap;
}
.tge-brand:hover { color: #fff; }
.tge-brand img { width: 40px; height: 40px; object-fit: contain; }
@media (max-width: 420px) { .tge-brand__name { display: none; } }

.tge-menu__list { display: flex; gap: 1.25rem; list-style: none; margin: 0; padding: 0; }
.tge-menu__list a {
	color: var(--wp--preset--color--mist); text-decoration: none; position: relative; padding-block: .35rem;
	font-family: var(--wp--preset--font-family--display); font-weight: 600; text-transform: uppercase;
	letter-spacing: .06em; font-size: 1.1rem; white-space: nowrap;
}
.tge-menu__list a:hover,
.tge-menu__list .current-menu-item > a,
.tge-menu__list a[aria-current="page"] { color: #fff; }
.tge-menu__list .current-menu-item > a::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--wp--preset--color--blue);
}
.tge-nav__toggle { display: none; background: none; border: 1px solid var(--wp--preset--color--line); border-radius: 4px; width: 44px; height: 44px; cursor: pointer; align-items: center; justify-content: center; }
.tge-nav__bars, .tge-nav__bars::before, .tge-nav__bars::after { display: block; width: 20px; height: 2px; background: #fff; content: ""; }
.tge-nav__bars { position: relative; }
.tge-nav__bars::before { position: absolute; top: -7px; }
.tge-nav__bars::after { position: absolute; top: 7px; }
.tge-nav { margin-left: auto; }

.tge-lang { display: flex; gap: .15rem; list-style: none; margin: 0; padding: 0; }
.tge-lang a {
	display: block; padding: .25rem .5rem; border-radius: 3px; text-decoration: none; color: var(--wp--preset--color--mist);
	font-family: var(--wp--preset--font-family--display); font-weight: 700; letter-spacing: .08em; font-size: 1rem;
}
.tge-lang a[aria-current] { color: var(--wp--preset--color--ink); background: var(--wp--preset--color--blue); }

@media (max-width: 1179px) {
	.tge-nav__toggle { display: inline-flex; }
	.tge-menu--primary {
		position: fixed; left: 0; right: 0; top: var(--tge-header-h); background: var(--wp--preset--color--ink);
		border-bottom: 1px solid var(--wp--preset--color--line); padding: 1rem var(--tge-gutter) 1.5rem; display: none;
		max-height: calc(100vh - var(--tge-header-h)); overflow-y: auto;
	}
	body.admin-bar .tge-menu--primary { top: calc(var(--tge-header-h) + 32px); }
	html.js .tge-menu--primary.is-open { display: block; }
	html:not(.js) .tge-menu--primary { position: static; display: block; }
	.tge-menu--primary .tge-menu__list { flex-direction: column; gap: 0; }
	.tge-menu--primary .tge-menu__list a { display: block; padding: .85rem 0; border-bottom: 1px solid var(--wp--preset--color--line); font-size: 1.3rem; }
}

/* ---------- WhatsApp ---------- */
.tge-wa .wp-block-button__link {
	display: inline-flex; align-items: center; gap: .55rem; background: var(--tge-green); color: var(--wp--preset--color--ink);
}
.tge-wa .wp-block-button__link:hover { background: #4be08a; color: var(--wp--preset--color--ink); }
.tge-wa.is-style-outline .wp-block-button__link { background: transparent; color: #fff; border: 2px solid var(--wp--preset--color--line); }
.tge-wa.is-style-outline .wp-block-button__link:hover { border-color: var(--tge-green); color: #fff; }
.tge-wa--compact .wp-block-button__link { padding: .55em 1.05em; font-size: 1rem; }
@media (max-width: 560px) { .tge-wa--compact .wp-block-button__link span { display: none; } .tge-wa--compact .wp-block-button__link { padding: .6em; } }
.tge-wa-float {
	position: fixed; right: 1rem; bottom: 1rem; z-index: 60; width: 56px; height: 56px; border-radius: 50%;
	background: var(--tge-green); color: #fff; display: grid; place-items: center; box-shadow: 0 6px 22px rgba(0, 0, 0, .45);
	transition: transform .2s;
}
.tge-wa-float:hover { transform: scale(1.06); color: #fff; }
.tge-wa-float svg { width: 30px; height: 30px; }
.tge-actions { gap: .75rem; margin-top: 1.75rem; align-items: center; }

/* ---------- Secciones ---------- */
.tge-section { padding: var(--wp--preset--spacing--60) var(--tge-gutter); }
.tge-section--alt { background: var(--wp--preset--color--graphite); }
.tge-section > h2, .tge-section > .tge-eyebrow + h2 { margin-top: 0; }
.tge-eyebrow {
	font-family: var(--wp--preset--font-family--display); text-transform: uppercase; letter-spacing: .18em;
	color: var(--wp--preset--color--blue); font-weight: 700; font-size: 1rem; margin-block: 0 .5rem;
}
.tge-lead { font-size: var(--wp--preset--font-size--medium); color: var(--wp--preset--color--mist); max-width: var(--wp--style--global--content-size, 72rem); padding-right: clamp(0px, 25vw, 22rem); }
.tge-hero .wp-block-cover__inner-container { padding-block: clamp(3rem, 10vw, 7rem); }
.tge-hero h1 { max-width: var(--wp--style--global--content-size, 72rem); padding-right: clamp(0px, 30vw, 26rem); margin-block: 0 1rem; text-wrap: balance; }
.tge-hero--plain {
	padding: clamp(4rem, 9vw, 7rem) var(--tge-gutter);
	background: radial-gradient(60% 90% at 85% 0%, rgba(89, 158, 218, .2), transparent 62%), var(--wp--preset--color--graphite);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.tge-hero--plain h1 { max-width: var(--wp--style--global--content-size, 72rem); padding-right: clamp(0px, 25vw, 22rem); margin-block: 0 1rem; text-wrap: balance; }

.tge-facts { gap: 1rem; padding-block: 1.75rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.tge-fact p { margin: 0; }
.tge-fact__n { font-family: var(--wp--preset--font-family--display); font-weight: 700; text-transform: uppercase; font-size: 1.6rem; color: #fff; line-height: 1.1; }
.tge-fact__t { color: var(--wp--preset--color--mist); font-size: .95rem; }

.tge-cards { gap: 1.25rem; margin-top: 2rem; }
.tge-card {
	background: var(--wp--preset--color--graphite); border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--tge-radius); padding: 1.75rem; transition: border-color .2s, transform .2s;
}
.tge-card:hover { border-color: var(--wp--preset--color--blue); transform: translateY(-2px); }
.tge-section--alt .tge-card { background: var(--wp--preset--color--steel); }
.tge-card h3 { margin: 0 0 .5rem; }
.tge-card p { color: var(--wp--preset--color--mist); margin: 0 0 .75rem; }
.tge-card p:last-child { margin-bottom: 0; }
.tge-card a { font-weight: 600; }
.tge-price__amount { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 2.25rem; color: var(--wp--preset--color--blue) !important; line-height: 1; margin: 0 0 .75rem !important; }

.tge-split { gap: clamp(2rem, 5vw, 4rem); margin-top: 0; }
.tge-split .wp-block-image { margin: 0; }
.wp-block-image img { border-radius: var(--tge-radius); }
.tge-checks { list-style: none; padding: 0; margin: 1.25rem 0 0; }
.tge-checks li { position: relative; padding-left: 1.75rem; margin-bottom: .6rem; }
.tge-checks li::before { content: "✓"; position: absolute; left: 0; color: var(--wp--preset--color--blue); font-weight: 700; }
.tge-person h3 { margin: 1rem 0 .15rem; }
.tge-person .tge-eyebrow { margin-block: 0 .75rem; }
.tge-person p { color: var(--wp--preset--color--mist); }

/* ---------- Tablas ---------- */
.wp-block-table { overflow-x: auto; margin-top: 1.5rem; }
.wp-block-table table { border-collapse: collapse; width: 100%; min-width: 0; }
.wp-block-table th, .wp-block-table td { border: 1px solid var(--wp--preset--color--line); padding: .65rem .85rem; text-align: left; font-size: .95rem; vertical-align: top; }
.wp-block-table thead { border-bottom: 0; }
.wp-block-table th {
	background: var(--wp--preset--color--steel); color: #fff; font-family: var(--wp--preset--font-family--display);
	text-transform: uppercase; letter-spacing: .06em; font-size: 1.05rem;
}
.wp-block-table tbody tr:nth-child(even) { background: rgba(255, 255, 255, .025); }
.tge-schedule table { min-width: 0; }
html:not(.js) .tge-schedule table { min-width: 780px; }
.tge-schedule td:first-child { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.1rem; white-space: nowrap; color: #fff; text-align: center; vertical-align: middle; }
.tge-note { color: var(--wp--preset--color--mist); font-size: .9rem; }

/* ---------- FAQ ---------- */
.wp-block-details { border-bottom: 1px solid var(--wp--preset--color--line); padding: .15rem 0; }
.wp-block-details summary {
	cursor: pointer; font-weight: 600; padding: .95rem 2rem .95rem 0; list-style: none; position: relative;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: .25rem; top: .75rem; font-size: 1.5rem; color: var(--wp--preset--color--blue); }
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details > p { color: var(--wp--preset--color--mist); margin: 0 0 1rem; }

/* ---------- Contacto, reseñas ---------- */
.tge-contact { font-style: normal; display: grid; gap: 1rem; }
.tge-contact__row { margin: 0; display: grid; gap: .1rem; }
.tge-contact__row strong { font-size: .8rem; text-transform: uppercase; letter-spacing: .12em; color: var(--wp--preset--color--mist); font-weight: 600; }
.tge-contact a { font-size: 1.1rem; }
.tge-map iframe { width: 100%; min-height: 380px; border: 0; border-radius: var(--tge-radius); filter: grayscale(.3) contrast(1.05); }
.tge-reviews { margin-top: 1.5rem; }

/* ---------- Pie ---------- */
.tge-footer { background: var(--wp--preset--color--graphite); border-top: 1px solid var(--wp--preset--color--line); padding: 3.5rem var(--tge-gutter) 2rem; }
.tge-footer .tge-brand { margin-bottom: 1rem; }
.tge-footer p { color: var(--wp--preset--color--mist); }
.tge-footer__cols { gap: 2.5rem; }
.tge-footer h2 { font-size: 1.1rem !important; letter-spacing: .12em; color: var(--wp--preset--color--mist); margin: 0 0 1rem; }
.tge-menu--footer .tge-menu__list { flex-direction: column; gap: .55rem; }
.tge-menu--footer .tge-menu__list a { font-family: var(--wp--preset--font-family--body); text-transform: none; letter-spacing: 0; font-size: 1rem; font-weight: 400; white-space: normal; }
.tge-footer__legal { margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid var(--wp--preset--color--line); font-size: .875rem; }

/* ---------- Páginas legales, blog, 404 ---------- */
.tge-legal, .tge-blog, .tge-404 { padding: clamp(2.5rem, 6vw, 5rem) var(--tge-gutter); }
.tge-blog .wp-block-post-title a { color: #fff; text-decoration: none; }
.tge-blog .wp-block-post-title a:hover { color: var(--wp--preset--color--blue); }
.tge-404 { text-align: center; min-height: 55vh; display: grid; place-content: center; }

/* ---------- Ajustes finales ---------- */
.tge-section--tight { padding-block: 0; }
.tge-section--tight .tge-facts { margin-block: 0; }
.tge-brand__tagline { margin: 0 0 1.25rem; max-width: 28rem; }
.tge-price .tge-price__amount + p { font-size: .9rem; }

/* ---------- v1.1: hero con logo, coaches, rejilla 3x2, desplegable, animaciones ---------- */
.tge-hero { min-height: min(78vh, 780px) !important; }
.tge-hero .wp-block-cover__inner-container { position: relative; }
.tge-hero__logo {
	position: absolute; right: max(1rem, 3vw); top: 50%; transform: translateY(-50%);
	width: min(46vw, 580px); margin: 0 !important; max-width: none !important; pointer-events: none; z-index: 0;
}
.tge-hero__logo::before {
	content: ""; position: absolute; inset: -12%; border-radius: 50%;
	background: radial-gradient(closest-side, rgba(89, 158, 218, .28), transparent 72%);
}
.tge-hero__logo img {
	position: relative; width: 100%; height: auto; display: block; opacity: .27; filter: blur(2px);
	-webkit-mask-image: radial-gradient(closest-side, #000 62%, transparent 100%); mask-image: radial-gradient(closest-side, #000 62%, transparent 100%);
	animation: tge-float 14s ease-in-out infinite;
}
@keyframes tge-float { 0%, 100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-14px) scale(1.03); } }
.tge-hero .wp-block-cover__inner-container > *:not(.tge-hero__logo) { position: relative; z-index: 1; }
@media (max-width: 781px) {
	.tge-hero__logo { width: 78vw; right: -14vw; top: 34%; }
	.tge-hero__logo img { opacity: .14; }
}
.tge-lead a { color: var(--wp--preset--color--blue-light); text-decoration: underline; text-underline-offset: 3px; }

.tge-facts .tge-fact { text-align: center; }

.tge-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 900px) { .tge-cards--3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 600px) { .tge-cards--3 { grid-template-columns: 1fr !important; } }

/* Coaches compactos */
.tge-coaches { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(21rem, 100%), 1fr)); gap: 1.25rem; margin-top: 2rem; }
.tge-coach {
	display: flex; align-items: center; gap: 1.25rem; padding: 1.25rem; background: var(--wp--preset--color--steel);
	border: 1px solid var(--wp--preset--color--line); border-radius: 12px; transition: border-color .25s, transform .25s, box-shadow .25s;
}
.tge-coach:hover, html.js .tge-coach.is-in:hover { border-color: var(--wp--preset--color--blue); transform: translateY(-3px); box-shadow: 0 10px 28px rgba(0, 0, 0, .35); }
.tge-coach__photo { margin: 0 !important; flex: 0 0 auto; width: 112px; height: 112px; position: relative; }
.tge-coach__photo a { display: block; width: 100%; height: 100%; border-radius: 50%; overflow: hidden; }
.tge-coach__photo img { width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; object-position: 50% 18%; filter: grayscale(.35); transition: transform .5s ease, filter .4s; }
.tge-coach__photo::after {
	content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid var(--wp--preset--color--blue);
	opacity: 0; transform: scale(.88); transition: opacity .3s, transform .4s; pointer-events: none;
}
.tge-coach:hover .tge-coach__photo img { transform: scale(1.14); filter: none; }
.tge-coach:hover .tge-coach__photo::after { opacity: 1; transform: scale(1); }
.tge-coach__body > * { margin-block: 0; }
.tge-coach__body > * + * { margin-top: .4rem; }
.tge-coach h3 { font-size: 1.7rem; }
.tge-coach p { color: var(--wp--preset--color--mist); font-size: .98rem; line-height: 1.5; }
.tge-coach__more a { font-weight: 600; display: inline-block; transition: transform .25s; }
.tge-coach:hover .tge-coach__more a { transform: translateX(4px); }
@media (max-width: 480px) { .tge-coach { flex-direction: column; text-align: center; } }

/* Aparición al hacer scroll (solo con JS) */
html.js .tge-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
html.js .tge-reveal.is-in { opacity: 1; transform: none; }
html.js .tge-reveal:nth-child(2) { transition-delay: .1s; }
html.js .tge-reveal:nth-child(3) { transition-delay: .2s; }
@media (prefers-reduced-motion: reduce) {
	html.js .tge-reveal { opacity: 1; transform: none; transition: none; }
	.tge-hero__logo img { animation: none; }
}

/* Menú con desplegable "Clases" */
.tge-menu__list .menu-item-has-children > a {
	padding-right: 1.15rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%23aeb8c2' stroke-width='1.6'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E") no-repeat right .35rem top 52%;
}
.tge-menu__list .sub-menu { list-style: none; margin: 0; padding: 0; }
@media (min-width: 1180px) {
	.tge-menu__list .menu-item-has-children { position: relative; }
	.tge-menu__list .sub-menu {
		display: none; position: absolute; top: 100%; left: -.9rem; min-width: 15rem; padding: .5rem; z-index: 70;
		background: var(--wp--preset--color--ink); border: 1px solid var(--wp--preset--color--line); border-radius: 8px; box-shadow: 0 14px 32px rgba(0, 0, 0, .5);
	}
	.tge-menu__list .menu-item-has-children:hover > .sub-menu,
	.tge-menu__list .menu-item-has-children:focus-within > .sub-menu { display: block; }
	.tge-menu__list .sub-menu a { display: block; padding: .6rem .8rem; border-radius: 4px; }
	.tge-menu__list .sub-menu a:hover { background: var(--wp--preset--color--steel); color: #fff; }
}
@media (max-width: 1179px) {
	.tge-menu--primary .sub-menu { padding-left: 1rem; }
	.tge-menu--primary .sub-menu a { font-size: 1.1rem; }
	.tge-menu--primary .menu-item-has-children > a { background-position: right .2rem top 50%; }
}

/* ---------- Formulario de contacto ---------- */
.tge-form-wrap { max-width: 44rem; margin-left: 0 !important; }
.tge-form p { margin: 0 0 1rem; }
.tge-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
@media (max-width: 640px) { .tge-form__grid { grid-template-columns: 1fr; } }
.tge-form label { display: block; margin-bottom: .35rem; font-size: .9rem; color: var(--wp--preset--color--mist); font-weight: 600; letter-spacing: .02em; }
.tge-form input[type="text"], .tge-form input[type="email"], .tge-form input[type="tel"], .tge-form select, .tge-form textarea {
	width: 100%; padding: .8rem 1rem; font: inherit; color: #fff; background: var(--wp--preset--color--graphite);
	border: 1px solid var(--wp--preset--color--line); border-radius: 6px; transition: border-color .2s, box-shadow .2s;
}
.tge-section--alt .tge-form input[type="text"], .tge-section--alt .tge-form input[type="email"], .tge-section--alt .tge-form input[type="tel"],
.tge-section--alt .tge-form select, .tge-section--alt .tge-form textarea { background: var(--wp--preset--color--ink); }
.tge-form textarea { resize: vertical; min-height: 9rem; }
.tge-form input:focus, .tge-form select:focus, .tge-form textarea:focus {
	outline: none; border-color: var(--wp--preset--color--blue); box-shadow: 0 0 0 3px rgba(89, 158, 218, .25);
}
.tge-form input:user-invalid, .tge-form textarea:user-invalid { border-color: #e5484d; }
.tge-form__consent label { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; font-size: .95rem; margin: 0; }
.tge-form__consent input { margin-top: .3rem; accent-color: var(--wp--preset--color--blue); flex: 0 0 auto; }
.tge-form__legal { font-size: .85rem; color: var(--wp--preset--color--mist); }
.tge-form button[type="submit"] { cursor: pointer; border: 0; }
.tge-form button[disabled] { opacity: .6; cursor: progress; }
/* Honeypot: fuera de pantalla, no display:none (algunos bots lo detectan) */
.tge-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tge-form__note { padding: .9rem 1.1rem; border-radius: 6px; margin-bottom: 1.25rem; border: 1px solid var(--wp--preset--color--line); }
.tge-form__note.is-ok { border-color: #2ecc71; background: rgba(46, 204, 113, .1); }
.tge-form__note.is-error { border-color: #e5484d; background: rgba(229, 72, 77, .1); }
.tge-form__captcha { margin-bottom: 1rem; }

/* v1.2 responsive */
.tge-schedule { background: linear-gradient(to right, var(--wp--preset--color--ink) 30%, transparent), linear-gradient(to left, var(--wp--preset--color--ink) 30%, transparent) 100% 0, radial-gradient(farthest-side at 0 50%, rgba(0,0,0,.55), transparent) 0 0, radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.55), transparent) 100% 0; background-repeat: no-repeat; background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%; background-attachment: local, local, scroll, scroll; -webkit-overflow-scrolling: touch; }
@media (max-width: 781px) {
  .tge-lead, .tge-hero h1, .tge-hero--plain h1 { padding-right: 0 !important; }
  .tge-hero h1, .tge-hero--plain h1 { font-size: clamp(1.85rem, 8.4vw, 2.5rem) !important; line-height: 1.05; }
}

/* v1.3 horario con colores */
.tge-schedule, .tge-day { --c-hyrox: #ffff00; --c-wod: #5b9bd5; --c-hybrid: #d618b6; --c-funcional: #ff0000; --c-core: #00b050; }
.tge-schedule th { text-align: center; }
.tge-schedule td { padding: 3px; vertical-align: middle; border-color: var(--wp--preset--color--ink); }
.tge-schedule tbody tr:nth-child(even) { background: none; }
.tge-cls { display: block; padding: .5rem .35rem; border-radius: 3px; text-align: center; text-transform: uppercase; font-weight: 700; font-size: .78rem; letter-spacing: .02em; line-height: 1.15; color: #000; background: #efefef; }
.tge-cls + .tge-cls { margin-top: 3px; }
.tge-cls--hyrox { background: var(--c-hyrox); }
.tge-cls--wod { background: var(--c-wod); }
.tge-cls--hybrid { background: var(--c-hybrid); }
.tge-cls--funcional { background: var(--c-funcional); }
.tge-cls--core { background: var(--c-core); }
.tge-cls--open { background: var(--wp--preset--color--steel); color: var(--wp--preset--color--mist); font-weight: 500; }
/* vista por día (móvil y tablet) */
.tge-day { display: none; margin-top: 1.5rem; }
.tge-day__tabs { display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; }
.tge-day__tabs button { font: inherit; font-family: var(--wp--preset--font-family--display); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: .7rem 0; min-height: 44px; border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--steel); color: var(--wp--preset--color--mist); border-radius: 4px; cursor: pointer; }
.tge-day__tabs button[aria-selected="true"] { background: var(--wp--preset--color--blue); border-color: var(--wp--preset--color--blue); color: #000; }
.tge-day__panel h3 { margin: 1.25rem 0 .75rem; font-size: 1.5rem; text-transform: uppercase; }
.tge-day__row { display: grid; grid-template-columns: 4.5rem 1fr; gap: .75rem; align-items: center; padding: 4px 0; }
.tge-day__time { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.15rem; color: #fff; }
.tge-day .tge-cls { font-size: .9rem; padding: .7rem .5rem; text-align: left; padding-left: .9rem; }
@media (max-width: 900px) {
  .tge-schedule--js { display: none; }
  .tge-schedule--js + .tge-day { display: block; }
}

/* v1.3 entrada del blog */
.tge-post-date { color: var(--wp--preset--color--mist); font-size: .9rem; margin-block: .25rem 1.5rem; }
.tge-post-cta { margin-top: 3rem; padding: 2rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius, 6px); background: var(--wp--preset--color--graphite); }
.tge-post-cta h2 { margin-top: 0; }
.tge-post-cta a:not(.wp-block-button__link) { color: var(--wp--preset--color--blue-light); }

/* ---------- v1.4: hero animado y títulos más contenidos ---------- */
@keyframes tge-rise { from { opacity: 0; transform: translateY(26px); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes tge-kenburns { from { transform: scale(1.02) translate(0, 0); } to { transform: scale(1.14) translate(-1.5%, -1.5%); } }
@keyframes tge-sweep { 0% { transform: translateX(-60%) skewX(-18deg); opacity: 0; } 20% { opacity: 1; } 60%, 100% { transform: translateX(160%) skewX(-18deg); opacity: 0; } }
@keyframes tge-shine { 0%, 55% { background-position: 120% 0; } 100% { background-position: -40% 0; } }
@keyframes tge-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes tge-glow { 0%, 100% { opacity: .55; transform: scale(1); } 50% { opacity: 1; transform: scale(1.08); } }
@keyframes tge-drift { from { background-position: 85% 0%, 0 0; } to { background-position: 60% 30%, 120px 0; } }
@keyframes tge-cue { 0% { transform: translateY(-100%); } 60%, 100% { transform: translateY(100%); } }

/* Tamaños: un poco más pequeños */
.tge-hero h1 { font-size: clamp(2.25rem, 4.4vw, 4rem) !important; line-height: 1.02; letter-spacing: .005em; }
.tge-hero--plain h1 { font-size: clamp(2rem, 3.6vw, 3.25rem) !important; line-height: 1.05; }
.tge-hero .tge-lead, .tge-hero--plain .tge-lead { font-size: clamp(1rem, 1.25vw, 1.15rem); }
.tge-hero .tge-eyebrow, .tge-hero--plain .tge-eyebrow { font-size: .9rem; }

/* Entrada escalonada (portada y resto de páginas) */
.tge-hero .tge-eyebrow, .tge-hero h1, .tge-hero .tge-lead, .tge-hero .wp-block-buttons,
.tge-hero--plain .tge-eyebrow, .tge-hero--plain h1, .tge-hero--plain .tge-lead, .tge-hero--plain .wp-block-buttons {
	animation: tge-rise .9s cubic-bezier(.2, .7, .2, 1) both;
}
.tge-hero h1, .tge-hero--plain h1 { animation-delay: .15s; }
.tge-hero .tge-lead, .tge-hero--plain .tge-lead { animation-delay: .35s; }
.tge-hero .wp-block-buttons, .tge-hero--plain .wp-block-buttons { animation-delay: .5s; }

/* Eyebrow con línea que crece */
.tge-hero .tge-eyebrow, .tge-hero--plain .tge-eyebrow { display: flex; align-items: center; gap: .75rem; }
.tge-hero .tge-eyebrow::before, .tge-hero--plain .tge-eyebrow::before {
	content: ""; width: 2.5rem; height: 2px; background: var(--wp--preset--color--blue); flex: none;
	transform-origin: left; animation: tge-line .8s .1s cubic-bezier(.2, .7, .2, 1) both;
}

/* Brillo que recorre el título */
.tge-hero h1, .tge-hero--plain h1 {
	background: linear-gradient(100deg, #fff 42%, var(--wp--preset--color--blue-light) 50%, #fff 58%) 120% 0 / 250% 100% no-repeat;
	-webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: #fff;
}
.tge-hero h1 { animation: tge-rise .9s .15s cubic-bezier(.2, .7, .2, 1) both, tge-shine 7s 1.4s ease-in-out infinite; }
.tge-hero--plain h1 { animation: tge-rise .9s .15s cubic-bezier(.2, .7, .2, 1) both, tge-shine 8s 1.6s ease-in-out infinite; }

/* Portada: zoom lento de la foto, haz de luz y logo con halo */
.tge-hero { overflow: hidden; isolation: isolate; }
.tge-hero .wp-block-cover__image-background { animation: tge-kenburns 24s ease-in-out infinite alternate; will-change: transform; }
.tge-hero::after {
	content: ""; position: absolute; inset: -20% auto -20% 0; width: 35%; z-index: 1; pointer-events: none;
	background: linear-gradient(90deg, transparent, rgba(140, 189, 240, .14), transparent);
	animation: tge-sweep 9s 1s ease-in-out infinite;
}
.tge-hero .wp-block-cover__inner-container { z-index: 2; }
.tge-hero__logo::before { animation: tge-glow 6s ease-in-out infinite; }
.tge-hero .wp-block-cover__inner-container::after {
	content: ""; position: absolute; left: 50%; bottom: -2.5rem; width: 2px; height: 3rem; margin-left: -1px; overflow: hidden;
	background: linear-gradient(var(--wp--preset--color--blue), transparent);
	-webkit-mask-image: linear-gradient(#000, #000); animation: tge-cue 2.2s ease-in-out infinite;
}

/* Resto de páginas: fondo con luz que se mueve, rejilla diagonal y línea inferior */
.tge-hero--plain { position: relative; overflow: hidden; isolation: isolate; border-bottom: 0;
	background: radial-gradient(55% 90% at 85% 0%, rgba(89, 158, 218, .28), transparent 62%), repeating-linear-gradient(135deg, rgba(255, 255, 255, .025) 0 1px, transparent 1px 22px), var(--wp--preset--color--graphite);
	background-size: 140% 140%, auto, auto; animation: tge-drift 16s ease-in-out infinite alternate;
}
.tge-hero--plain::before {
	content: ""; position: absolute; width: 38rem; height: 38rem; right: -10rem; top: -14rem; border-radius: 50%; z-index: -1; pointer-events: none;
	background: radial-gradient(closest-side, rgba(89, 158, 218, .22), transparent 70%); animation: tge-glow 7s ease-in-out infinite;
}
.tge-hero--plain::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; transform-origin: left;
	background: linear-gradient(90deg, var(--wp--preset--color--blue), rgba(89, 158, 218, .15) 70%, transparent);
	animation: tge-line 1.2s .4s cubic-bezier(.2, .7, .2, 1) both;
}

@media (max-width: 781px) {
	.tge-hero h1, .tge-hero--plain h1 { font-size: clamp(1.7rem, 7.6vw, 2.25rem) !important; }
	.tge-hero .wp-block-cover__inner-container::after { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.tge-hero *, .tge-hero::after, .tge-hero--plain, .tge-hero--plain *, .tge-hero--plain::before, .tge-hero--plain::after,
	.tge-hero .wp-block-cover__inner-container::after { animation: none !important; }
}

/* ---------- v1.4: más aire entre bloques ---------- */
.tge-section { padding: clamp(4rem, 9vw, 8rem) var(--tge-gutter); }
.tge-section--tight { padding-block: clamp(2rem, 4vw, 3rem); }
.tge-hero--plain { padding: clamp(5rem, 10vw, 8.5rem) var(--tge-gutter); }
.tge-hero .wp-block-cover__inner-container { padding-block: clamp(4rem, 11vw, 8rem); }
.tge-section h2 { margin-bottom: 1.25rem; }
.tge-section .tge-lead { margin-bottom: .5rem; line-height: 1.65; }
.tge-section p { line-height: 1.7; }
.tge-actions { gap: 1rem; margin-top: 2.25rem; }
.tge-facts { gap: 2rem; padding-block: 2.5rem; }
.tge-cards { gap: clamp(1.25rem, 2.2vw, 2rem); margin-top: 3rem; }
.tge-card { padding: clamp(1.75rem, 2.6vw, 2.5rem); }
.tge-card h3 { margin: 0 0 .85rem; }
.tge-card p { margin: 0 0 1.1rem; }
.tge-split { gap: clamp(2.5rem, 6vw, 6rem); }
.tge-checks { margin-top: 1.75rem; }
.tge-checks li { margin-bottom: .9rem; }
.tge-coaches { gap: clamp(1.25rem, 2.2vw, 2rem); margin-top: 3rem; }
.tge-coach { padding: 1.5rem; gap: 1.5rem; }
.wp-block-table { margin-top: 2.25rem; }
.wp-block-table:not(.tge-schedule) th, .wp-block-table:not(.tge-schedule) td { padding: .85rem 1.1rem; }
.wp-block-details summary { padding: 1.2rem 2.25rem 1.2rem 0; }
.wp-block-details > :not(summary) { padding-bottom: 1rem; }
.tge-footer { padding: clamp(3.5rem, 7vw, 5.5rem) var(--tge-gutter) 2.5rem; }
.tge-footer__cols { gap: 3.5rem; }
.tge-form-wrap { margin-top: 2.25rem; }
.tge-day__row { padding: 6px 0; }
@media (max-width: 781px) {
	.tge-split { gap: 2.5rem; }
	.tge-facts { gap: 1.5rem; }
}

/* ---------- v1.4.1: alineación (el hero y los textos con sangría derecha) ---------- */
.tge-lead, .tge-hero h1, .tge-hero--plain h1 { box-sizing: border-box; }
.tge-hero.wp-block-cover { padding-left: 0 !important; padding-right: 0 !important; }
.tge-hero .wp-block-cover__inner-container {
	box-sizing: border-box; width: 100%; margin-inline: auto; padding-inline: var(--tge-gutter);
	max-width: calc(var(--wp--style--global--content-size, 72rem) + 2 * var(--tge-gutter));
}
.tge-hero .wp-block-cover__inner-container > *:not(.tge-hero__logo) { max-width: var(--wp--style--global--content-size, 72rem); margin-left: 0 !important; margin-right: 0 !important; }

/* ---------- v1.5: portada con H1 pequeño + titular grande; clúster de clases ---------- */
.tge-hero h1.tge-hero__kicker {
	font-family: var(--wp--preset--font-family--display); font-weight: 700; text-transform: uppercase;
	font-size: clamp(.95rem, 1.15vw, 1.1rem) !important; letter-spacing: .16em; line-height: 1.35;
	color: var(--wp--preset--color--blue-light); background: none; -webkit-text-fill-color: currentColor;
	padding-right: 0; margin-block: 0 .9rem; display: flex; align-items: center; gap: .75rem;
	animation: tge-rise .9s cubic-bezier(.2, .7, .2, 1) both;
}
.tge-hero h1.tge-hero__kicker::before {
	content: ""; width: 2.5rem; height: 2px; background: var(--wp--preset--color--blue); flex: none;
	transform-origin: left; animation: tge-line .8s .1s cubic-bezier(.2, .7, .2, 1) both;
}
.tge-hero .tge-hero__title {
	box-sizing: border-box; max-width: var(--wp--style--global--content-size, 72rem); padding-right: clamp(0px, 30vw, 26rem);
	margin-block: 0 1.25rem; font-family: var(--wp--preset--font-family--display); font-weight: 700; text-transform: uppercase;
	font-size: clamp(2.25rem, 4.4vw, 4rem); line-height: 1.02; letter-spacing: .005em; text-wrap: balance; color: #fff;
	background: linear-gradient(100deg, #fff 42%, var(--wp--preset--color--blue-light) 50%, #fff 58%) 120% 0 / 250% 100% no-repeat;
	-webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
	animation: tge-rise .9s .15s cubic-bezier(.2, .7, .2, 1) both, tge-shine 7s 1.4s ease-in-out infinite;
}
.tge-hero .tge-actions, .tge-hero--plain .tge-actions { animation: tge-rise .9s .5s cubic-bezier(.2, .7, .2, 1) both; }
.tge-hero .tge-actions .wp-block-buttons, .tge-hero--plain .tge-actions .wp-block-buttons { animation: none; }
@media (max-width: 781px) {
	.tge-hero .tge-hero__title { font-size: clamp(1.7rem, 7.6vw, 2.25rem); padding-right: 0; }
}
.tge-classes { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; align-items: start; }
.tge-class h3 { font-size: clamp(1.5rem, 2vw, 1.9rem); margin-bottom: 1rem; }
.tge-class p { color: var(--wp--preset--color--mist); }
.tge-class p strong { color: #fff; }
.tge-class .tge-card__more { margin-top: 1.25rem; }
@media (max-width: 860px) { .tge-classes { grid-template-columns: 1fr !important; } }
@media (prefers-reduced-motion: reduce) { .tge-hero h1.tge-hero__kicker, .tge-hero h1.tge-hero__kicker::before, .tge-hero .tge-hero__title, .tge-hero .tge-actions { animation: none !important; } }

/* ---------- v1.6: página Clases (clúster animado + fichas) ---------- */
@keyframes tge-tile-in { from { opacity: 0; transform: translateY(22px) scale(.96); } to { opacity: 1; transform: none; } }
.tge-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(12.5rem, 100%), 1fr)); gap: .75rem; margin-top: 2.75rem !important; }
.tge-tiles__item { margin: 0 !important; animation: tge-tile-in .7s cubic-bezier(.2, .7, .2, 1) both; }
.tge-tiles__item:nth-child(1) { animation-delay: .55s; } .tge-tiles__item:nth-child(2) { animation-delay: .62s; }
.tge-tiles__item:nth-child(3) { animation-delay: .69s; } .tge-tiles__item:nth-child(4) { animation-delay: .76s; }
.tge-tiles__item:nth-child(5) { animation-delay: .83s; } .tge-tiles__item:nth-child(6) { animation-delay: .9s; }
.tge-tiles__item:nth-child(7) { animation-delay: .97s; } .tge-tiles__item:nth-child(8) { animation-delay: 1.04s; }
.tge-tiles__item:nth-child(9) { animation-delay: 1.11s; }
.tge-tile {
	position: relative; display: flex; align-items: center; gap: .85rem; padding: 1.1rem 1.25rem; overflow: hidden;
	background: rgba(18, 22, 27, .72); border: 1px solid var(--wp--preset--color--line); border-radius: var(--tge-radius, 6px);
	color: #fff !important; text-decoration: none !important; backdrop-filter: blur(4px);
	transition: border-color .25s, transform .25s, background .25s;
}
.tge-tile::before {
	content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 30%, rgba(89, 158, 218, .22) 50%, transparent 70%);
	transform: translateX(-120%); transition: transform .6s ease;
}
.tge-tile:hover, .tge-tile:focus-visible { border-color: var(--wp--preset--color--blue); transform: translateY(-3px); background: rgba(27, 33, 40, .9); }
.tge-tile:hover::before { transform: translateX(120%); }
.tge-tile__num { font-family: var(--wp--preset--font-family--display); font-weight: 700; color: var(--wp--preset--color--blue); font-size: .95rem; letter-spacing: .08em; }
.tge-tile__name { font-family: var(--wp--preset--font-family--display); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: 1.2rem; flex: 1; }
.tge-tile__go { color: var(--wp--preset--color--mist); transition: transform .25s, color .25s; }
.tge-tile:hover .tge-tile__go { color: var(--wp--preset--color--blue); transform: translateY(3px); }
.tge-hero--plain .tge-tiles { max-width: var(--wp--style--global--content-size, 72rem); }

.tge-class-detail { scroll-margin-top: calc(var(--tge-header-h, 72px) + 1.5rem); border-top: 1px solid var(--wp--preset--color--line); padding-block: clamp(2.5rem, 5vw, 4rem); }
.tge-class-detail:first-child { border-top: 0; padding-top: 0; }
.tge-class-detail__body { display: grid; grid-template-columns: minmax(12rem, 1fr) 2.4fr; column-gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.tge-class-detail__body > h2 { grid-column: 1; grid-row: 1 / span 20; margin: 0 !important; position: sticky; top: calc(var(--tge-header-h, 72px) + 1.5rem); font-size: clamp(1.8rem, 3vw, 2.6rem); }
.tge-class-detail__body > :not(h2) { grid-column: 2; margin-top: 0 !important; margin-bottom: 1.1rem; max-width: 46rem; }
.tge-class-detail__body > p { color: var(--wp--preset--color--mist); }
.tge-class-detail__body strong { color: #fff; }
.tge-promo h2 { margin-top: 0; }
@media (max-width: 781px) {
	.tge-class-detail__body { display: block; }
	.tge-class-detail__body > h2 { position: static; margin-bottom: 1rem !important; }
	.tge-tile__name { font-size: 1.05rem; }
}
@media (prefers-reduced-motion: reduce) { .tge-tiles__item { animation: none; } .tge-tile, .tge-tile::before { transition: none; } }

/* ---------- v1.4.2: rejillas que ocupan todo el ancho (cifras y tarjetas) ---------- */
.tge-facts { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 900px) { .tge-facts { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 480px) { .tge-facts { grid-template-columns: 1fr !important; } }
.tge-cards:not(.tge-cards--3):not(.tge-classes) { grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr)) !important; }

/* ---------- v1.5: cabecera transparente ---------- */
header.wp-block-template-part {
	position: fixed; left: 0; right: 0; top: 0; background: transparent; border-bottom-color: transparent;
	-webkit-backdrop-filter: none; backdrop-filter: none; transition: background .35s, border-color .35s, backdrop-filter .35s;
}
html.tge-scrolled header.wp-block-template-part, html.tge-nav-open header.wp-block-template-part {
	background: rgba(11, 13, 16, .92); border-bottom-color: var(--wp--preset--color--line);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
main.tge-main:not(:has(.tge-hero)) { margin-top: var(--tge-header-h, 72px); }

/* ---------- v1.5: hero con foto (imagen destacada) y texto legible ---------- */
.tge-hero .wp-block-cover__inner-container { padding-top: calc(var(--tge-header-h, 72px) + clamp(3rem, 8vw, 6rem)) !important; }
.tge-hero::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 220px; z-index: 1; pointer-events: none; background: linear-gradient(rgba(11, 13, 16, .85), transparent); }
.tge-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(11, 13, 16, .95) 0%, rgba(11, 13, 16, .7) 55%, rgba(11, 13, 16, .4) 100%) !important; opacity: 1 !important; }
.tge-hero .tge-lead { text-shadow: 0 1px 14px rgba(0, 0, 0, .55); color: #d6dde4; }
.tge-hero--page { background: radial-gradient(55% 90% at 85% 0%, rgba(89, 158, 218, .3), transparent 62%), repeating-linear-gradient(135deg, rgba(255, 255, 255, .025) 0 1px, transparent 1px 22px), var(--wp--preset--color--graphite); }
.tge-hero--page:not(:has(.wp-block-cover__image-background)) .wp-block-cover__background { opacity: .35 !important; }
.tge-hero--page h1 { font-size: clamp(2rem, 3.6vw, 3.25rem) !important; line-height: 1.05; }
@media (max-width: 781px) {
	.tge-hero .wp-block-cover__background { background: rgba(11, 13, 16, .72) !important; }
	.tge-hero--page h1 { font-size: clamp(1.7rem, 7.6vw, 2.25rem) !important; }
}

/* ---------- v1.5: clúster de clases con foto ---------- */
.tge-section--tiles { padding-block: clamp(2.5rem, 5vw, 4rem); }
.tge-tiles { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-block: 0 !important; margin-inline: auto !important; max-width: var(--wp--style--global--content-size, 72rem); width: 100%; }
.tge-tile-card.wp-block-cover { min-height: 240px !important; margin: 0 !important; padding: 0 !important; border-radius: 10px; overflow: hidden; align-items: flex-end; }
.tge-tile-card .wp-block-cover__image-background { transition: transform .9s cubic-bezier(.2, .7, .2, 1); }
.tge-tile-card:hover .wp-block-cover__image-background { transform: scale(1.08); }
.tge-tile-card .wp-block-cover__background { background: linear-gradient(180deg, rgba(11, 13, 16, .05) 25%, rgba(11, 13, 16, .92)) !important; opacity: 1 !important; }
.tge-tile-card .wp-block-cover__inner-container { position: static; width: 100%; padding: 1.1rem 1.25rem; }
.tge-tile-card .tge-tiles__item { position: relative; z-index: 2; animation: none; margin: 0 !important; }
.tge-tile-card .tge-tile { position: static; background: none; border: 0; padding: 0; backdrop-filter: none; }
.tge-tile-card .tge-tile::before { display: none; }
.tge-tile-card .tge-tile::after { content: ""; position: absolute; inset: 0; z-index: 3; }
.tge-tile-card .tge-tile__name { font-size: clamp(1.1rem, 1.6vw, 1.45rem); }
.tge-tile-card { box-shadow: 0 0 0 1px var(--wp--preset--color--line); transition: box-shadow .3s, transform .3s; }
.tge-tile-card:hover { box-shadow: 0 0 0 2px var(--wp--preset--color--blue), 0 18px 40px -18px rgba(89, 158, 218, .55); transform: translateY(-4px); }
html.js .tge-tiles > .tge-reveal:nth-child(2) { transition-delay: .06s; } html.js .tge-tiles > .tge-reveal:nth-child(3) { transition-delay: .12s; }
html.js .tge-tiles > .tge-reveal:nth-child(4) { transition-delay: .18s; } html.js .tge-tiles > .tge-reveal:nth-child(5) { transition-delay: .24s; }
html.js .tge-tiles > .tge-reveal:nth-child(6) { transition-delay: .3s; } html.js .tge-tiles > .tge-reveal:nth-child(7) { transition-delay: .36s; }
html.js .tge-tiles > .tge-reveal:nth-child(8) { transition-delay: .42s; } html.js .tge-tiles > .tge-reveal:nth-child(9) { transition-delay: .48s; }
@media (max-width: 900px) { .tge-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tge-tile-card.wp-block-cover { min-height: 190px !important; } }
@media (max-width: 480px) { .tge-tiles { gap: .6rem; } .tge-tile-card.wp-block-cover { min-height: 150px !important; } .tge-tile-card .wp-block-cover__inner-container { padding: .8rem .9rem; } .tge-tile-card .tge-tile__name { font-size: 1rem; } .tge-tile-card .tge-tile__go { display: none; } }

/* botón «Saber más» de cada clase */
.tge-class-detail .tge-actions { margin-top: 1.75rem; }
.tge-class-detail .wp-block-button__link { font-size: 1.1rem; padding: 1rem 1.7rem; box-shadow: 0 12px 30px -12px rgba(89, 158, 218, .75); transition: transform .25s, background .25s, box-shadow .25s; }
.tge-class-detail .wp-block-button__link::after { content: "→"; display: inline-block; margin-left: .65rem; transition: transform .25s; }
.tge-class-detail .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 16px 36px -12px rgba(89, 158, 218, .9); }
.tge-class-detail .wp-block-button__link:hover::after { transform: translateX(5px); }

/* ---------- v1.5: galería de la comunidad ---------- */
.tge-gallery.wp-block-gallery { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: clamp(10rem, 17vw, 15rem); gap: .75rem !important; margin-top: 2.25rem; }
.tge-gallery.wp-block-gallery figure.wp-block-image { width: auto !important; height: 100%; margin: 0 !important; overflow: hidden; border-radius: 10px; }
.tge-gallery.wp-block-gallery figure.wp-block-image img { width: 100%; height: 100% !important; object-fit: cover; border-radius: 0 !important; transition: transform .9s cubic-bezier(.2, .7, .2, 1); }
.tge-gallery.wp-block-gallery figure.wp-block-image:hover img { transform: scale(1.06); }
.tge-gallery.wp-block-gallery figure.wp-block-image:first-child { grid-column: span 2; grid-row: span 2; }
@media (max-width: 700px) { .tge-gallery.wp-block-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 9rem; } }
@media (prefers-reduced-motion: reduce) { .tge-tile-card, .tge-tile-card .wp-block-cover__image-background, .tge-gallery img { transition: none !important; } }

@media (max-width: 900px) { .tge-tiles > :last-child:nth-child(odd) { grid-column: span 2; } }
@media (max-width: 781px) { .tge-hero--page.wp-block-cover { min-height: 0 !important; } .tge-hero--page .wp-block-cover__inner-container { padding-bottom: 3.5rem !important; } .tge-hero--page .wp-block-cover__inner-container::after { display: none; } }
