/*
 * Castillos Hinchables Gran Canaria — v4 (cabecera, pie, portada y reserva online).
 * Mismo aire de parque infantil que Guadalajara (nubes, banderines, pegatinas,
 * polaroids) con los colores de la isla: verde mar, sol, coral y cielo.
 * Se carga después de main.css; todo lo nuevo va con el prefijo gc-.
 */

:root {
	--gc-teal:#2FA597;
	--gc-teal-strong:#1B8577;
	--gc-teal-deep:#0F6B60;
	--gc-navy:#092348;
	--gc-ink:#2E3B55;
	--gc-ink-soft:#4F5D75;
	--gc-ink-mut:#7D889B;
	--gc-sun:#FFC93C;
	--gc-sun-ink:#5A4200;
	--gc-coral:#FF7A59;
	--gc-coral-ink:#6B1D0A;
	--gc-sky:#7FD6E8;
	--gc-sky-ink:#0B4A5A;
	--gc-mint:#7DDBC2;
	--gc-mint-ink:#0E5B47;
	--gc-wa:#25D366;
	--gc-wa-ink:#0B3D22;
	--gc-sea:#EEF8F7;
	--gc-sand:#FFF7E6;
	--gc-cloud:#DDF3F0;
	--gc-line:#DCECE9;
	--gc-grad:linear-gradient(120deg,#1B8577 0%,#3CC3B0 100%);
	--gc-radius:24px;
	--gc-pill:999px;
	--gc-shadow-sm:0 2px 10px rgba(9,35,72,.06),0 1px 3px rgba(9,35,72,.05);
	--gc-shadow:0 12px 32px rgba(9,35,72,.10),0 3px 10px rgba(9,35,72,.06);
	--gc-shadow-lg:0 26px 60px rgba(9,35,72,.16),0 8px 20px rgba(9,35,72,.09);
	--gc-shadow-cta:0 10px 26px rgba(27,133,119,.30);
	--gc-head:"Space Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
	--gc-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
	--gc-ease:cubic-bezier(.22,1,.36,1);
}

[hidden] { display:none !important; }
.gc-wrap { width:100%; max-width:1180px; margin:0 auto; padding:0 16px; }
@media (min-width:640px) { .gc-wrap { padding:0 24px; } }
.gc-wrap--text { max-width:820px; }
.gc-skip { position:absolute; left:-999px; top:8px; z-index:200; background:var(--gc-navy); color:#fff; padding:8px 14px; border-radius:8px; }
.gc-skip:focus { left:8px; color:#fff; }
.gc-center { text-align:center; margin:26px 0 0; }
.gc-kicker {
	display:inline-flex; align-items:center; gap:.45em; margin:0 0 .9em;
	font:600 .8rem/1 var(--gc-head); letter-spacing:.08em; text-transform:uppercase;
	color:var(--gc-teal-deep); background:var(--gc-cloud); padding:.55em .95em; border-radius:var(--gc-pill);
}
.gc-kicker .pbf-ic { width:1.1em; height:1.1em; }
.gc-hl { position:relative; isolation:isolate; white-space:nowrap; color:var(--gc-teal-strong); }
.gc-hl::after {
	content:""; position:absolute; left:-2%; right:-2%; bottom:.04em; height:.3em; z-index:-1;
	background:var(--gc-sun); border-radius:var(--gc-pill); transform:rotate(-1.5deg);
}

/* ------------------------------------------------------------------ botones */
.gc-btn {
	display:inline-flex; align-items:center; justify-content:center; gap:.5em;
	min-height:48px; padding:.75em 1.5em; border:0; border-radius:var(--gc-pill); cursor:pointer;
	background:var(--gc-teal-strong); color:#fff; font:700 1rem/1.1 var(--gc-head); letter-spacing:-.005em;
	text-decoration:none; box-shadow:var(--gc-shadow-cta); text-align:center;
	transition:transform .2s var(--gc-ease),box-shadow .2s var(--gc-ease),background .2s;
}
.gc-btn:hover { color:#fff; background:var(--gc-teal-deep); transform:translateY(-2px); box-shadow:0 14px 30px rgba(27,133,119,.36); }
.gc-btn:active { transform:translateY(0); }
.gc-btn--sm { min-height:42px; padding:.55em 1.1em; font-size:.95rem; }
.gc-btn--lg { min-height:56px; padding:.9em 1.8em; font-size:1.08rem; }
.gc-btn--block { display:flex; width:100%; }
.gc-btn--ghost { background:#fff; color:var(--gc-teal-deep); box-shadow:inset 0 0 0 2px var(--gc-cloud),var(--gc-shadow-sm); }
.gc-btn--ghost:hover { background:var(--gc-sea); color:var(--gc-teal-deep); box-shadow:inset 0 0 0 2px var(--gc-teal),var(--gc-shadow-sm); }
.gc-btn--light { background:#fff; color:var(--gc-navy); box-shadow:0 10px 26px rgba(4,20,40,.25); }
.gc-btn--light:hover { background:var(--gc-sun); color:var(--gc-navy); }
.gc-btn--wa { background:var(--gc-wa); color:var(--gc-wa-ink); box-shadow:0 10px 24px rgba(37,211,102,.28); }
.gc-btn--wa:hover { background:#1FBE5B; color:var(--gc-wa-ink); }
.gc-btn[disabled] { opacity:.6; cursor:wait; transform:none; }
.gc-btn.is-loading span::after { content:"…"; }
.gc-btn .pbf-ic { width:1.15em; height:1.15em; }
.gc-actions { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 1.2em; }
.gc-link { display:inline-flex; align-items:center; gap:.4em; font:700 1rem var(--gc-head); color:var(--gc-teal-deep); }

/* ------------------------------------------------------------------ cabecera */
.gc-header {
	position:sticky; top:0; z-index:90; background:rgba(255,255,255,.93);
	-webkit-backdrop-filter:saturate(1.4) blur(12px); backdrop-filter:saturate(1.4) blur(12px);
	border-bottom:1px solid transparent; transition:box-shadow .25s,border-color .25s;
}
.admin-bar .gc-header { top:32px; }
@media (max-width:782px) { .admin-bar .gc-header { top:46px; } }
.gc-header.is-scrolled { border-color:var(--gc-line); box-shadow:0 6px 24px rgba(9,35,72,.07); }
.gc-header__bar { display:flex; align-items:center; gap:14px; min-height:70px; }
.gc-logo { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--gc-navy); margin-right:auto; }
.gc-logo:hover { color:var(--gc-navy); }
.gc-logo__mark { width:44px; height:44px; flex:none; }
.gc-logo__txt { display:flex; flex-direction:column; font:600 .78rem/1.1 var(--gc-head); letter-spacing:.02em; color:var(--gc-ink-soft); }
.gc-logo__txt b { font-size:1.28rem; color:var(--gc-navy); letter-spacing:-.02em; font-weight:700; }
.gc-nav { display:none; gap:2px; }
.gc-nav a { padding:.55em .85em; border-radius:var(--gc-pill); color:var(--gc-navy); text-decoration:none; font:600 .96rem var(--gc-head); }
.gc-nav a:hover { background:var(--gc-sea); color:var(--gc-teal-deep); }
.gc-header__phone { display:none; align-items:center; gap:.4em; color:var(--gc-navy); text-decoration:none; font:700 1rem var(--gc-head); }
.gc-header__phone .pbf-ic { color:var(--gc-teal); }
.gc-header__cta .pbf-ic { display:none; }
.gc-burger { position:relative; }
.gc-burger summary {
	list-style:none; cursor:pointer; width:46px; height:46px; border-radius:14px; background:var(--gc-sea);
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
}
.gc-burger summary::-webkit-details-marker { display:none; }
.gc-burger summary span { width:20px; height:2.5px; border-radius:2px; background:var(--gc-navy); transition:transform .25s var(--gc-ease),opacity .2s; }
.gc-burger[open] summary span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.gc-burger[open] summary span:nth-child(2) { opacity:0; }
.gc-burger[open] summary span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
.gc-burger__panel {
	position:absolute; right:0; top:calc(100% + 10px); width:min(300px,calc(100vw - 32px));
	background:#fff; border-radius:var(--gc-radius); box-shadow:var(--gc-shadow-lg); padding:10px;
	display:flex; flex-direction:column; animation:gcPop .25s var(--gc-ease);
}
.gc-burger__panel a { padding:.8em 1em; border-radius:12px; color:var(--gc-navy); text-decoration:none; font:600 1rem var(--gc-head); }
.gc-burger__panel a:hover { background:var(--gc-sea); }
.gc-burger__wa { display:flex; align-items:center; gap:.5em; margin-top:6px; background:var(--gc-wa); color:var(--gc-wa-ink) !important; justify-content:center; }
@keyframes gcPop { from { opacity:0; transform:translateY(-6px) scale(.98); } to { opacity:1; transform:none; } }
@media (min-width:560px) { .gc-header__phone { display:inline-flex; } .gc-header__cta .pbf-ic { display:inline-block; } }
@media (min-width:1080px) {
	.gc-nav { display:flex; margin-right:auto; }
	.gc-burger { display:none; }
	.gc-logo { margin-right:12px; }
}
@media (max-width:480px) {
	.gc-header__bar { gap:8px; min-height:64px; }
	.gc-logo { gap:7px; }
	.gc-logo__mark { width:36px; height:36px; }
	.gc-logo__txt { font-size:.64rem; }
	.gc-logo__txt b { font-size:1.02rem; }
	.gc-header__cta { padding:.5em .95em; font-size:.9rem; min-height:40px; }
	.gc-burger summary { width:42px; height:42px; }
}

/* ------------------------------------------------------------------ hero */
.gc-hero { position:relative; overflow:hidden; background:linear-gradient(180deg,#D9F2F6 0%,#EEF9F8 55%,#fff 100%); padding:36px 0 74px; }
.gc-hero__sky { position:absolute; inset:0; pointer-events:none; }
.gc-sun {
	position:absolute; right:6%; top:26px; width:120px; height:120px; border-radius:50%;
	background:radial-gradient(circle,#FFE08A 0%,#FFC93C 60%,rgba(255,201,60,0) 72%);
	box-shadow:0 0 80px 30px rgba(255,201,60,.25); animation:gcGlow 6s ease-in-out infinite;
}
@keyframes gcGlow { 0%,100% { transform:scale(1); } 50% { transform:scale(1.06); } }
.gc-cloud { position:absolute; background:#fff; border-radius:var(--gc-pill); box-shadow:0 8px 24px rgba(47,165,151,.08); opacity:.95; }
.gc-cloud::before,.gc-cloud::after { content:""; position:absolute; background:#fff; border-radius:50%; }
.gc-cloud--a { width:140px; height:40px; top:40px; left:-30px; animation:gcDrift 38s linear infinite; }
.gc-cloud--a::before { width:60px; height:60px; top:-30px; left:28px; }
.gc-cloud--a::after { width:44px; height:44px; top:-18px; left:74px; }
.gc-cloud--b { width:110px; height:32px; top:140px; right:14%; animation:gcDrift 46s linear infinite reverse; }
.gc-cloud--b::before { width:46px; height:46px; top:-22px; left:20px; }
.gc-cloud--b::after { width:36px; height:36px; top:-14px; left:56px; }
.gc-cloud--c { width:90px; height:26px; bottom:120px; left:42%; opacity:.7; animation:gcDrift 52s linear infinite; }
.gc-cloud--c::before { width:38px; height:38px; top:-18px; left:16px; }
.gc-cloud--c::after { width:30px; height:30px; top:-12px; left:44px; }
@keyframes gcDrift { 0%,100% { transform:translateX(0); } 50% { transform:translateX(40px); } }
.gc-hero__grid { position:relative; display:grid; gap:36px; align-items:center; }
.gc-hero__copy h1 { font:700 clamp(2rem,5.4vw,3.5rem)/1.08 var(--gc-head); letter-spacing:-.025em; color:var(--gc-navy); margin:0 0 .35em; }
.gc-hero__lead { font-size:1.12rem; color:var(--gc-ink-soft); max-width:34em; }
.gc-hero__lead strong { color:var(--gc-navy); }
.gc-hero__chips { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px 16px; font-size:.92rem; color:var(--gc-ink-soft); }
.gc-hero__chips li { display:flex; align-items:center; gap:.4em; }
.gc-hero__chips .pbf-ic { color:var(--gc-teal); }
.gc-hero__art { position:relative; min-height:300px; }
.gc-polaroid { margin:0; position:absolute; background:#fff; padding:10px 10px 34px; border-radius:18px; box-shadow:var(--gc-shadow-lg); }
.gc-polaroid img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:12px; background:var(--gc-cloud); }
.gc-polaroid--a { width:74%; right:0; top:0; transform:rotate(3deg); z-index:2; }
.gc-polaroid--b { width:56%; left:0; bottom:0; transform:rotate(-5deg); z-index:1; }
.gc-sticker {
	position:absolute; z-index:3; display:grid; place-items:center; align-content:center; text-align:center;
	width:96px; height:96px; border-radius:50%; font:600 .76rem/1.05 var(--gc-head); text-transform:uppercase; letter-spacing:.04em;
	box-shadow:var(--gc-shadow); animation:gcBob 5s ease-in-out infinite;
}
.gc-sticker b { display:block; font-size:1.5rem; letter-spacing:-.02em; text-transform:none; }
.gc-sticker--price { background:var(--gc-sun); color:var(--gc-sun-ink); left:44%; top:-10px; transform:rotate(-8deg); }
.gc-sticker--senal { background:var(--gc-coral); color:#fff; right:-4px; bottom:18px; width:88px; height:88px; animation-delay:-2.5s; transform:rotate(6deg); }
.gc-sticker--senal b { font-size:1.3rem; }
@keyframes gcBob { 0%,100% { translate:0 0; } 50% { translate:0 -8px; } }
.gc-hero__bunting { position:absolute; left:0; right:0; bottom:0; color:var(--gc-sky); }
.gc-bunting { display:block; width:100%; height:44px; }
@media (min-width:900px) {
	.gc-hero { padding:64px 0 100px; }
	.gc-hero__grid { grid-template-columns:1.05fr .95fr; gap:48px; }
	.gc-hero__art { min-height:440px; }
	.gc-sticker { width:110px; height:110px; }
}
@media (max-width:899px) { .gc-hero__art { min-height:0; aspect-ratio:1/0.82; } .gc-sun { width:80px; height:80px; right:4%; top:14px; } }
@media (prefers-reduced-motion:reduce) { .gc-cloud,.gc-sticker,.gc-sun { animation:none !important; } }

/* ------------------------------------------------------------------ sellos */
.gc-seals { position:relative; z-index:2; margin-top:-28px; }
.gc-seals__grid {
	display:grid; grid-template-columns:repeat(2,1fr); gap:10px; background:#fff; border-radius:var(--gc-radius);
	box-shadow:var(--gc-shadow); padding:14px;
}
.gc-seals__grid > div { display:flex; gap:10px; align-items:flex-start; padding:8px; }
.gc-seals__grid .pbf-ic { width:40px; height:40px; padding:9px; border-radius:12px; background:var(--gc-cloud); color:var(--gc-teal-deep); flex:none; }
.gc-seals__grid > div:nth-child(2) .pbf-ic { background:#FFF1CC; color:var(--gc-sun-ink); }
.gc-seals__grid > div:nth-child(3) .pbf-ic { background:#DDF4FA; color:var(--gc-sky-ink); }
.gc-seals__grid > div:nth-child(4) .pbf-ic { background:#FFE5DC; color:var(--gc-coral-ink); }
.gc-seals p { margin:0; font-size:.86rem; line-height:1.35; color:var(--gc-ink-soft); }
.gc-seals b { display:block; color:var(--gc-navy); font:700 .95rem/1.25 var(--gc-head); }
@media (min-width:900px) { .gc-seals__grid { grid-template-columns:repeat(4,1fr); padding:18px 22px; } }

/* ------------------------------------------------------------------ secciones */
.gc-section { padding:64px 0; }
.gc-section--sea { background:var(--gc-sea); }
.gc-section--sand { background:var(--gc-sand); }
.gc-section--app { padding:28px 0 64px; background:var(--gc-sea); }
.gc-section--seo { padding-top:24px; }
.gc-section h2,.gc-head h2 { font:700 clamp(1.6rem,3.6vw,2.5rem)/1.12 var(--gc-head); letter-spacing:-.02em; color:var(--gc-navy); margin:0 0 .5em; }
.gc-head { text-align:center; max-width:720px; margin:0 auto 34px; }
.gc-head p:last-child { color:var(--gc-ink-soft); font-size:1.06rem; margin-bottom:0; }
@media (min-width:900px) { .gc-section { padding:88px 0; } }
.gc-note { display:flex; gap:.5em; align-items:flex-start; justify-content:center; text-align:left; margin:22px 0 0; color:var(--gc-ink-soft); font-size:.95rem; }
.gc-note .pbf-ic { color:var(--gc-teal); margin-top:.2em; flex:none; }
.gc-tag { display:inline-block; font:700 .72rem/1 var(--gc-head); letter-spacing:.06em; text-transform:uppercase; padding:.45em .8em; border-radius:var(--gc-pill); background:var(--gc-cloud); color:var(--gc-teal-deep); margin-bottom:10px; }

/* modalidades (portada) */
.gc-ways { display:grid; gap:18px; }
@media (min-width:900px) { .gc-ways { grid-template-columns:repeat(3,1fr); gap:22px; } }
.gc-way {
	position:relative; overflow:hidden; display:flex; flex-direction:column; padding:28px 24px; border-radius:var(--gc-radius); background:#fff;
	text-decoration:none; color:var(--gc-ink); box-shadow:var(--gc-shadow-sm); border:1px solid var(--gc-line);
	transition:transform .3s var(--gc-ease),box-shadow .3s var(--gc-ease);
}
.gc-way:hover { color:var(--gc-ink); transform:translateY(-4px); box-shadow:var(--gc-shadow); }
.gc-way::after { content:""; position:absolute; right:-40px; bottom:-40px; width:140px; height:140px; border-radius:50%; background:var(--gc-cloud); opacity:.7; }
.gc-way--star { border:2px solid var(--gc-teal); }
.gc-way--star::after { background:#FFF1CC; }
.gc-way--star .gc-tag { background:var(--gc-sun); color:var(--gc-sun-ink); }
.gc-way > * { position:relative; z-index:1; }
.gc-way h3 { font:700 1.35rem/1.2 var(--gc-head); color:var(--gc-navy); margin:0 0 .4em; }
.gc-way p { color:var(--gc-ink-soft); margin:0 0 12px; }
.gc-way__price { margin-top:auto !important; font:600 1rem var(--gc-head); color:var(--gc-ink-mut) !important; }
.gc-way__price b { font-size:1.8rem; color:var(--gc-navy); letter-spacing:-.02em; }
.gc-way__ic { display:grid; place-items:center; width:56px; height:56px; border-radius:18px; background:var(--gc-grad); color:#fff; margin-bottom:14px; flex:none; }
.gc-way__ic .pbf-ic { width:28px; height:28px; }

/* tarjetas de hinchables */
.gc-cards { display:grid; gap:14px; grid-template-columns:repeat(2,1fr); }
@media (min-width:760px) { .gc-cards { grid-template-columns:repeat(3,1fr); gap:18px; } }
@media (min-width:1080px) { .gc-cards { grid-template-columns:repeat(4,1fr); gap:22px; } }
.gc-card {
	display:flex; flex-direction:column; background:#fff; border-radius:20px; overflow:hidden;
	box-shadow:var(--gc-shadow-sm); border:1px solid var(--gc-line); transition:transform .3s var(--gc-ease),box-shadow .3s var(--gc-ease);
}
.gc-card:hover { transform:translateY(-4px); box-shadow:var(--gc-shadow); }
.gc-card__img { position:relative; display:block; background:var(--gc-cloud); overflow:hidden; }
.gc-card__img img { width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .5s var(--gc-ease); }
.gc-card:hover .gc-card__img img { transform:scale(1.04); }
.gc-card__body { display:flex; flex-direction:column; gap:10px; padding:14px 14px 16px; flex:1; }
.gc-card__body h3 { margin:0; font:700 1.02rem/1.25 var(--gc-head); }
.gc-card__body h3 a { color:var(--gc-navy); text-decoration:none; }
.gc-card__price { margin-top:auto; }
.gc-price { font:700 1.45rem/1 var(--gc-head); color:var(--gc-navy); letter-spacing:-.02em; }
.gc-price small { display:block; font:500 .74rem/1.4 var(--gc-body); color:var(--gc-ink-mut); letter-spacing:0; margin-top:2px; }
@media (min-width:640px) { .gc-card__body { padding:18px 18px 20px; } .gc-card__body h3 { font-size:1.12rem; } }
.gc-badge {
	position:absolute; left:10px; top:10px; padding:.4em .75em; border-radius:var(--gc-pill);
	font:700 .68rem/1 var(--gc-head); letter-spacing:.06em; text-transform:uppercase; background:#fff; color:var(--gc-navy); box-shadow:var(--gc-shadow-sm);
}
.gc-badge--medianos { background:var(--gc-mint); color:var(--gc-mint-ink); }
.gc-badge--grandes { background:var(--gc-sun); color:var(--gc-sun-ink); }
.gc-badge--acuaticos { background:var(--gc-sky); color:var(--gc-sky-ink); }
.gc-badge--servicios { background:var(--gc-coral); color:#fff; }

/* catálogo PDF */
.gc-catdl { display:grid; gap:20px; align-items:center; margin-top:34px; padding:22px; border-radius:var(--gc-radius); background:#fff; box-shadow:var(--gc-shadow-sm); }
.gc-catdl__cover img { width:120px; border-radius:10px; box-shadow:var(--gc-shadow); transform:rotate(-3deg); }
.gc-catdl h3 { font:700 1.3rem var(--gc-head); color:var(--gc-navy); margin:0 0 .3em; }
.gc-catdl p { color:var(--gc-ink-soft); }
@media (min-width:700px) { .gc-catdl { grid-template-columns:auto 1fr; padding:26px 30px; } }

/* pasos */
.gc-steps { list-style:none; margin:0; padding:0; display:grid; gap:16px; }
@media (min-width:640px) { .gc-steps { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px) { .gc-steps { grid-template-columns:repeat(4,1fr); gap:22px; } }
.gc-steps li { position:relative; background:#fff; border-radius:var(--gc-radius); padding:26px 22px 22px; box-shadow:var(--gc-shadow-sm); border:1px solid var(--gc-line); }
.gc-steps__n { display:grid; place-items:center; width:46px; height:46px; border-radius:16px; font:700 1.3rem var(--gc-head); margin-bottom:14px; transform:rotate(-6deg); }
.gc-steps li:nth-child(1) .gc-steps__n { background:var(--gc-teal-strong); color:#fff; }
.gc-steps li:nth-child(2) .gc-steps__n { background:var(--gc-sun); color:var(--gc-sun-ink); }
.gc-steps li:nth-child(3) .gc-steps__n { background:var(--gc-sky); color:var(--gc-sky-ink); }
.gc-steps li:nth-child(4) .gc-steps__n { background:var(--gc-coral); color:#fff; }
.gc-steps h3 { font:700 1.15rem/1.25 var(--gc-head); color:var(--gc-navy); margin:0 0 .35em; }
.gc-steps p { margin:0; color:var(--gc-ink-soft); font-size:.95rem; }

/* pago */
.gc-pay__grid { display:grid; gap:30px; align-items:center; }
@media (min-width:900px) { .gc-pay__grid { grid-template-columns:1.1fr .9fr; gap:56px; } }
.gc-pay h2 { text-align:left; }
.gc-ticks { list-style:none; margin:0 0 1.2em; padding:0; display:grid; gap:10px; }
.gc-ticks li { display:flex; gap:.6em; align-items:flex-start; }
.gc-ticks .pbf-ic { color:var(--gc-teal); margin-top:.22em; flex:none; }
.gc-paylogos { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.gc-paylogo {
	display:flex; align-items:center; justify-content:center; gap:.4em; min-height:74px; padding:10px; border-radius:18px; background:#fff; text-align:center;
	border:1px solid var(--gc-line); box-shadow:var(--gc-shadow-sm); font:700 1.05rem var(--gc-head); color:var(--gc-navy);
}
.gc-paylogo--bizum { color:#05A0A5; font-size:1.3rem; }
.gc-paylogo--dark { background:var(--gc-navy); color:#fff; border-color:var(--gc-navy); }
.gc-paylogo--cash { grid-column:1 / -1; background:var(--gc-mint); color:var(--gc-mint-ink); border-color:var(--gc-mint); }
.gc-paylogo--cash .pbf-ic { width:1.4em; height:1.4em; }

/* eventos */
.gc-events { display:grid; gap:12px; grid-template-columns:1fr; }
@media (min-width:640px) { .gc-events { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px) { .gc-events { grid-template-columns:repeat(4,1fr); } }
.gc-events a {
	display:flex; flex-direction:column; gap:4px; padding:18px 18px 18px 22px; border-radius:18px; background:#fff; text-decoration:none;
	border:1px solid var(--gc-line); border-left:6px solid var(--gc-teal); box-shadow:var(--gc-shadow-sm); transition:transform .2s var(--gc-ease),box-shadow .2s;
}
.gc-events a:nth-child(4n+2) { border-left-color:var(--gc-sun); }
.gc-events a:nth-child(4n+3) { border-left-color:var(--gc-sky); }
.gc-events a:nth-child(4n+4) { border-left-color:var(--gc-coral); }
.gc-events a:hover { transform:translateY(-3px); box-shadow:var(--gc-shadow); }
.gc-events b { font:700 1rem/1.3 var(--gc-head); color:var(--gc-navy); }
.gc-events span { font-size:.88rem; color:var(--gc-ink-soft); }

/* hoteles */
.gc-hotel {
	display:grid; gap:16px; align-items:center; padding:28px; border-radius:28px; text-decoration:none; color:var(--gc-ink);
	background:linear-gradient(120deg,#E3F6F3 0%,#FFF4DA 100%); border:1px solid var(--gc-line); box-shadow:var(--gc-shadow-sm);
	transition:transform .3s var(--gc-ease),box-shadow .3s;
}
.gc-hotel:hover { color:var(--gc-ink); transform:translateY(-3px); box-shadow:var(--gc-shadow); }
.gc-hotel h2 { font-size:clamp(1.4rem,3vw,1.9rem); margin:0 0 .3em; }
.gc-hotel p { margin:0; color:var(--gc-ink-soft); }
@media (min-width:900px) { .gc-hotel { grid-template-columns:auto 1fr auto; padding:32px 40px; gap:28px; } }

/* FAQ */
.gc-faq { display:grid; gap:10px; }
.gc-faq details { background:#fff; border:1px solid var(--gc-line); border-radius:18px; transition:box-shadow .25s; }
.gc-faq details[open] { box-shadow:var(--gc-shadow-sm); border-color:var(--gc-cloud); }
.gc-faq summary { list-style:none; cursor:pointer; padding:18px 54px 18px 20px; position:relative; font:700 1.05rem/1.35 var(--gc-head); color:var(--gc-navy); }
.gc-faq summary::-webkit-details-marker { display:none; }
.gc-faq summary::after {
	content:"+"; position:absolute; right:16px; top:50%; translate:0 -50%; width:28px; height:28px; border-radius:50%;
	display:grid; place-items:center; background:var(--gc-cloud); color:var(--gc-teal-deep); font-size:1.2rem; transition:rotate .25s var(--gc-ease);
}
.gc-faq details[open] summary::after { rotate:45deg; }
.gc-faq details p { padding:0 20px 18px; margin:0; color:var(--gc-ink-soft); }

/* CTA final */
.gc-cta { padding:40px 0 80px; }
.gc-cta__in {
	position:relative; overflow:hidden; display:grid; gap:20px; align-items:center;
	background:var(--gc-navy); color:#D3E3EE; border-radius:32px; padding:36px 26px;
	background-image:radial-gradient(circle at 90% 10%,rgba(47,165,151,.6),transparent 45%),radial-gradient(circle at 5% 100%,rgba(255,201,60,.2),transparent 40%);
}
.gc-cta__in h2 { color:#fff; }
.gc-cta__in p { margin:0; }
.gc-cta .gc-actions { margin:0; }
@media (min-width:900px) { .gc-cta__in { grid-template-columns:1fr auto; padding:48px 52px; } }

/* ------------------------------------------------------------------ pie */
.gc-footer { position:relative; color:#C8D6E4; font-size:.95rem; }
.gc-footer__wave { color:var(--gc-navy); line-height:0; }
.gc-footer__wave svg { width:100%; height:40px; display:block; }
.gc-footer__in { background:var(--gc-navy); padding:30px 0 90px; }
.gc-footer__grid { display:grid; gap:30px; }
@media (min-width:700px) { .gc-footer__grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1080px) { .gc-footer__grid { grid-template-columns:1.3fr .9fr 1.1fr 1.2fr; gap:36px; } .gc-footer__in { padding-bottom:30px; } }
.gc-footer a { color:#fff; text-decoration:none; }
.gc-footer a:hover { color:var(--gc-sun); }
.gc-footer ul { list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.gc-footer li { display:flex; gap:.5em; align-items:flex-start; }
.gc-footer li .pbf-ic { color:var(--gc-sky); margin-top:.25em; flex:none; }
.gc-footer__brand { font:600 1.05rem var(--gc-head); color:#fff; }
.gc-footer__brand b { color:var(--gc-sun); }
.gc-footer__h { font:700 .8rem var(--gc-head); text-transform:uppercase; letter-spacing:.1em; color:var(--gc-sky); margin:0 0 12px; }
.gc-footer__pay { display:flex; flex-wrap:wrap; gap:6px; }
.gc-footer__pay span { font:600 .76rem var(--gc-head); padding:.45em .8em; border-radius:var(--gc-pill); background:rgba(255,255,255,.1); color:#fff; }
.gc-footer__zonas { margin-top:30px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); }
.gc-footer__zonas ul { display:flex; flex-wrap:wrap; gap:6px 8px; }
.gc-footer__zonas a { display:inline-block; font-size:.85rem; padding:.35em .75em; border-radius:var(--gc-pill); background:rgba(255,255,255,.07); }
.gc-footer__legal { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:26px; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); font-size:.85rem; }
.gc-footer__legal > span { margin-right:auto; }
.gc-wa-float {
	position:fixed; right:16px; bottom:16px; z-index:80; width:58px; height:58px; border-radius:50%;
	display:grid; place-items:center; background:var(--gc-wa); color:#fff; box-shadow:0 10px 26px rgba(37,211,102,.4);
	transition:transform .2s var(--gc-ease);
}
.gc-wa-float:hover { transform:scale(1.06); color:#fff; }
.gc-wa-float .pbf-ic { width:28px; height:28px; }
.gc-app-page .gc-wa-float { bottom:92px; }
@media (min-width:1024px) { .gc-app-page .gc-wa-float { bottom:16px; } }
/* Restos del tema anterior que ya no se usan. */
.pbf-wafab,.pbf-wz { display:none !important; }

/* ------------------------------------------------------------------ reserva online */
.gc-apphead { position:relative; overflow:hidden; background:linear-gradient(180deg,#D9F2F6 0%,var(--gc-sea) 100%); padding:34px 0 26px; }
.gc-apphead h1 { font:700 clamp(1.8rem,4.4vw,2.8rem)/1.1 var(--gc-head); letter-spacing:-.02em; color:var(--gc-navy); max-width:18em; margin:0 0 .4em; }
.gc-apphead p:not(.gc-kicker) { color:var(--gc-ink-soft); max-width:44em; font-size:1.05rem; margin:0; }
.gc-apphead::after { content:""; position:absolute; right:-60px; top:-60px; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle,rgba(255,201,60,.5),transparent 70%); }

.gc-app { display:grid; gap:22px; align-items:start; }
@media (min-width:1024px) { .gc-app { grid-template-columns:minmax(0,1fr) 320px; gap:30px; } .gc-aside { position:sticky; top:96px; } }
.gc-form { display:grid; gap:16px; min-width:0; counter-reset:gcstep; }
.gc-step { margin:0; min-width:0; border:0; background:#fff; border-radius:var(--gc-radius); padding:20px 16px 22px; box-shadow:var(--gc-shadow-sm); }
@media (min-width:640px) { .gc-step { padding:26px 26px 28px; } }
.gc-step legend { float:left; width:100%; display:flex; align-items:center; gap:12px; margin:0 0 16px; padding:0; font:700 1.25rem/1.2 var(--gc-head); color:var(--gc-navy); }
.gc-step legend + * { clear:both; }
.gc-step__n { display:grid; place-items:center; flex:none; width:36px; height:36px; border-radius:12px; background:var(--gc-grad); color:#fff; font-size:1.05rem; }
fieldset.gc-step { counter-increment:gcstep; }
.gc-step__n::before { content:counter(gcstep); }
.gc-step.is-flash { animation:gcFlash 1.2s var(--gc-ease); }
@keyframes gcFlash { 0%,100% { box-shadow:var(--gc-shadow-sm); } 30% { box-shadow:0 0 0 4px var(--gc-sun),var(--gc-shadow); } }
.gc-step--note { padding:16px 18px; background:var(--gc-sand); border:2px dashed #F2D48A; }
.gc-step--note p { display:flex; gap:10px; margin:0; color:var(--gc-sun-ink); font-size:.95rem; }
.gc-step--note .pbf-ic { flex:none; width:22px; height:22px; margin-top:1px; }
.gc-hint { display:block; font-size:.9rem; color:var(--gc-ink-soft); margin:12px 0 0; }
.gc-loading { color:var(--gc-ink-mut); padding:20px 0; margin:0; }

.gc-aside__card { background:#fff; border-radius:var(--gc-radius); padding:24px; box-shadow:var(--gc-shadow-sm); }
.gc-aside__card h2 { font:700 1.2rem var(--gc-head); color:var(--gc-navy); margin:0 0 .7em; }
.gc-aside__card .gc-ticks { font-size:.94rem; color:var(--gc-ink-soft); }
.gc-aside__more { margin:0; padding-top:14px; border-top:1px dashed var(--gc-line); font-size:.93rem; }

/* modalidad */
.gc-modes { display:grid; gap:10px; }
@media (min-width:700px) { .gc-modes { grid-template-columns:repeat(3,1fr); } }
.gc-mode { position:relative; cursor:pointer; display:flex; }
.gc-mode input { position:absolute; opacity:0; pointer-events:none; }
.gc-mode__box {
	flex:1; display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto auto; column-gap:12px; align-items:start;
	padding:14px 16px; border-radius:18px; border:2px solid var(--gc-line); background:#fff; transition:all .2s;
}
.gc-mode__ic { grid-row:1 / 4; display:grid; place-items:center; width:42px; height:42px; border-radius:14px; background:var(--gc-cloud); color:var(--gc-teal-deep); }
.gc-mode__ic .pbf-ic { width:22px; height:22px; }
.gc-mode__box b { font:700 1rem/1.25 var(--gc-head); color:var(--gc-navy); }
.gc-mode__box small { font-size:.84rem; line-height:1.35; color:var(--gc-ink-soft); margin-top:2px; }
.gc-mode__from { font:700 .9rem var(--gc-head); color:var(--gc-teal-strong); margin-top:6px; }
.gc-mode:hover .gc-mode__box { border-color:var(--gc-sky); }
.gc-mode input:checked + .gc-mode__box { border-color:var(--gc-teal); background:var(--gc-sea); box-shadow:0 0 0 4px rgba(47,165,151,.16); }
.gc-mode input:checked + .gc-mode__box .gc-mode__ic { background:var(--gc-grad); color:#fff; }
.gc-mode input:focus-visible + .gc-mode__box { outline:3px solid var(--gc-sun); outline-offset:2px; }

/* filtros + rejilla */
.gc-filters { display:flex; gap:8px; overflow-x:auto; padding:2px 2px 12px; margin:0 -2px; scrollbar-width:none; }
.gc-filters::-webkit-scrollbar { display:none; }
.gc-filters button { flex:none; border:0; cursor:pointer; min-height:40px; padding:.5em 1em; border-radius:var(--gc-pill); background:var(--gc-sea); color:var(--gc-navy); font:600 .9rem var(--gc-head); transition:background .2s,color .2s; }
.gc-filters button.is-on { background:var(--gc-navy); color:#fff; }
.gc-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
@media (min-width:760px) { .gc-grid { grid-template-columns:repeat(3,1fr); gap:12px; } }
.gc-item { position:relative; cursor:pointer; display:flex; flex-direction:column; }
.gc-item input { position:absolute; opacity:0; pointer-events:none; }
.gc-item__box { position:relative; display:flex; flex-direction:column; flex:1; border-radius:18px; overflow:hidden; background:#fff; border:2px solid var(--gc-line); transition:border-color .2s,box-shadow .2s,transform .2s var(--gc-ease); }
.gc-item__img { position:relative; display:block; background:var(--gc-cloud); }
.gc-item__img img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.gc-item__img .gc-badge { left:8px; top:8px; font-size:.6rem; }
.gc-item__txt { display:flex; flex-direction:column; gap:4px; padding:10px 12px 12px; }
.gc-item__txt b { font:700 .95rem/1.2 var(--gc-head); color:var(--gc-navy); }
.gc-item__price { font:700 1.05rem var(--gc-head); color:var(--gc-teal-strong); }
.gc-item__price small { font:500 .74rem var(--gc-body); color:var(--gc-ink-mut); }
.gc-item__tick { position:absolute; top:8px; right:8px; width:28px; height:28px; border-radius:50%; background:rgba(255,255,255,.92); border:2px solid var(--gc-line); transition:all .2s; }
.gc-item:hover .gc-item__box { border-color:var(--gc-sky); }
.gc-item input:checked + .gc-item__box { border-color:var(--gc-teal); box-shadow:0 0 0 4px rgba(47,165,151,.18); }
.gc-item input:checked + .gc-item__box .gc-item__tick { background:var(--gc-teal-strong); border-color:var(--gc-teal-strong); }
.gc-item input:checked + .gc-item__box .gc-item__tick::after { content:"✓"; display:grid; place-items:center; height:100%; color:#fff; font:700 .9rem/1 var(--gc-body); }
.gc-item input:focus-visible + .gc-item__box { outline:3px solid var(--gc-sun); outline-offset:2px; }
.gc-item.is-disabled { cursor:not-allowed; }
.gc-item.is-disabled .gc-item__box { opacity:.45; filter:grayscale(.7); }
.gc-item.is-disabled .gc-item__price { color:var(--gc-ink-mut); font-size:.82rem; }

/* calendario */
.gc-cal { max-width:460px; }
.gc-cal__head { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.gc-cal__head b { font:700 1.1rem var(--gc-head); color:var(--gc-navy); text-transform:capitalize; }
.gc-cal__head button { width:42px; height:42px; border:0; border-radius:12px; background:var(--gc-sea); color:var(--gc-teal-deep); font-size:1.5rem; line-height:1; cursor:pointer; }
.gc-cal__head button:disabled { opacity:.35; cursor:default; }
.gc-cal__grid { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; }
.gc-cal__dn { text-align:center; font:700 .75rem var(--gc-head); color:var(--gc-ink-mut); padding:4px 0; }
.gc-cal__grid button { aspect-ratio:1; min-height:40px; padding:0; border:0; border-radius:12px; cursor:pointer; font:600 .98rem var(--gc-head); background:#EAF8F4; color:var(--gc-mint-ink); transition:transform .15s,background .15s; }
.gc-cal__grid button.is-we { background:#D6F3EB; }
.gc-cal__grid button:hover:not(:disabled) { transform:scale(1.07); background:var(--gc-mint); }
.gc-cal__grid button.is-busy { background:#FDECEC; color:#B9A3A3; text-decoration:line-through; cursor:not-allowed; }
.gc-cal__grid button.is-off { background:transparent; color:#C5CDD6; cursor:default; }
.gc-cal__grid button.is-sel { background:var(--gc-teal-strong) !important; color:#fff !important; box-shadow:0 6px 16px rgba(27,133,119,.4); transform:scale(1.06); }
.gc-cal__tip { margin:12px 0 0; font-size:.92rem; color:var(--gc-ink-soft); }
.gc-cal__tip.is-ok { color:var(--gc-mint-ink); }
.gc-cal__legend { display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; margin:12px 0 0; font-size:.82rem; color:var(--gc-ink-mut); }
.gc-cal__legend span { display:inline-block; width:14px; height:14px; border-radius:4px; vertical-align:-2px; margin-right:-8px; }
.gc-cal__legend .is-free { background:#D6F3EB; }
.gc-cal__legend .is-busy { background:#FDECEC; }
.gc-cal__legend .is-sel { background:var(--gc-teal-strong); }

.gc-toggle,.gc-check { display:flex; gap:12px; align-items:flex-start; cursor:pointer; }
.gc-toggle { margin-top:16px; padding:14px 16px; border-radius:16px; background:var(--gc-sand); border:2px dashed #F2D48A; }
.gc-step > .gc-toggle:first-of-type { margin-top:0; }
.gc-toggle--party { background:#FFF0EA; border-color:#FFC3AE; }
.gc-toggle input,.gc-check input { width:22px; height:22px; flex:none; margin:1px 0 0; accent-color:var(--gc-teal-strong); }
.gc-check { margin:18px 0 6px; font-size:.95rem; }

/* monitor */
.gc-monitor { display:grid; gap:14px; margin-top:18px; padding-top:18px; border-top:1px dashed var(--gc-line); }
@media (min-width:640px) { .gc-monitor { grid-template-columns:1fr 1fr; } }
.gc-stepper { display:inline-flex; align-items:center; gap:4px; background:var(--gc-sea); border-radius:var(--gc-pill); padding:5px; width:max-content; }
.gc-stepper button { width:44px; height:44px; border:0; border-radius:50%; background:#fff; color:var(--gc-teal-deep); font-size:1.5rem; line-height:1; cursor:pointer; box-shadow:var(--gc-shadow-sm); }
.gc-stepper output { min-width:96px; text-align:center; font:700 1.05rem var(--gc-head); color:var(--gc-navy); }

/* campos */
.gc-fields { display:grid; gap:14px; }
@media (min-width:640px) { .gc-fields { grid-template-columns:1fr 1fr; } .gc-field--wide { grid-column:1 / -1; } }
.gc-field { display:grid; gap:6px; margin:0; }
.gc-field > span { font:600 .9rem var(--gc-head); color:var(--gc-navy); }
.gc-field > span small { font-weight:400; color:var(--gc-ink-mut); font-family:var(--gc-body); }
.gc-field input,.gc-field select,.gc-field textarea {
	width:100%; min-height:52px; padding:12px 14px; border:2px solid var(--gc-line); border-radius:14px; background:#fff;
	font:400 16px/1.4 var(--gc-body); color:var(--gc-ink); transition:border-color .2s,box-shadow .2s; -webkit-appearance:none; appearance:none;
}
.gc-field textarea { min-height:0; resize:vertical; }
.gc-field select {
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B8577' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat; background-position:right 12px center; background-size:18px; padding-right:40px;
}
.gc-field input:focus,.gc-field select:focus,.gc-field textarea:focus { outline:0; border-color:var(--gc-teal); box-shadow:0 0 0 4px rgba(47,165,151,.15); }
.gc-hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.gc-kmout { margin:0; padding:12px 14px; border-radius:14px; font-size:.93rem; line-height:1.45; }
.gc-kmout.is-ok { background:#EAF8F4; color:var(--gc-mint-ink); }
.gc-kmout.is-warn { background:var(--gc-sand); color:var(--gc-sun-ink); }

/* resumen */
.gc-summary { border-radius:18px; background:var(--gc-sea); padding:16px 18px; margin-bottom:16px; transition:opacity .2s; }
.gc-summary.is-loading { opacity:.55; }
.gc-summary__empty { margin:0; color:var(--gc-ink-mut); font-size:.95rem; }
.gc-summary__date { display:flex; gap:.4em; align-items:center; margin:0 0 10px; font:700 1rem var(--gc-head); color:var(--gc-navy); }
.gc-summary__date::first-letter { text-transform:uppercase; }
.gc-summary__lines { list-style:none; margin:0 0 10px; padding:0; display:grid; gap:8px; }
.gc-summary__lines li,.gc-summary__total,.gc-summary__row { display:flex; justify-content:space-between; gap:14px; font-size:.93rem; }
.gc-summary__lines li span { color:var(--gc-ink-soft); }
.gc-summary__lines li b { white-space:nowrap; color:var(--gc-navy); }
.gc-summary__total { margin:0; padding-top:10px; border-top:2px dashed var(--gc-line); font:700 1.25rem var(--gc-head); color:var(--gc-navy); }
.gc-summary__row { margin:6px 0 0; color:var(--gc-ink-soft); }
.gc-summary__row b { white-space:nowrap; }
.gc-summary__row--senal { margin-top:10px; padding:10px 12px; border-radius:12px; background:#fff; color:var(--gc-navy); font-weight:600; }
.gc-summary__row--senal b { color:var(--gc-teal-strong); font:700 1.1rem var(--gc-head); }
.gc-summary--static { background:#fff; box-shadow:var(--gc-shadow-sm); text-align:left; margin:24px 0; }

/* formas de pago */
.gc-methods { display:grid; gap:10px; }
.gc-method { position:relative; cursor:pointer; }
.gc-method input { position:absolute; left:18px; top:20px; width:20px; height:20px; accent-color:var(--gc-teal-strong); }
.gc-method__box { display:flex; flex-direction:column; gap:3px; padding:16px 16px 16px 50px; border-radius:18px; border:2px solid var(--gc-line); transition:border-color .2s,box-shadow .2s,background .2s; }
.gc-method input:checked + .gc-method__box { border-color:var(--gc-teal); background:#F5FCFB; box-shadow:0 0 0 4px rgba(47,165,151,.14); }
.gc-method__t { font:700 1.02rem var(--gc-head); color:var(--gc-navy); }
.gc-method__d { font-size:.88rem; color:var(--gc-ink-soft); }
.gc-method__logos { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.gc-method__logos i { font:700 .72rem var(--gc-head); font-style:normal; padding:.35em .65em; border-radius:8px; background:var(--gc-navy); color:#fff; }
.gc-method__logos i:nth-child(n+3) { background:#fff; color:var(--gc-navy); border:1px solid var(--gc-line); }
.gc-cash { display:flex; gap:10px; align-items:center; margin:12px 0 0; padding:12px 14px; border-radius:14px; background:#EAF8F4; color:var(--gc-mint-ink); font-weight:600; font-size:.94rem; }
.gc-cash .pbf-ic { width:24px; height:24px; flex:none; }
.gc-error { margin:12px 0; padding:12px 14px; border-radius:14px; background:#FDECEC; color:#8E1F24; font-weight:600; font-size:.94rem; }
.gc-secure { display:flex; gap:.4em; align-items:center; justify-content:center; margin:12px 0 0; font-size:.82rem; color:var(--gc-ink-mut); }

/* barra inferior fija (móvil) */
.gc-bar {
	position:fixed; left:0; right:0; bottom:0; z-index:85; display:flex; align-items:center; gap:12px; justify-content:space-between;
	padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:#fff; box-shadow:0 -8px 30px rgba(9,35,72,.14);
	border-radius:22px 22px 0 0; animation:gcUp .3s var(--gc-ease);
}
.gc-bar__txt { display:flex; flex-direction:column; line-height:1.2; }
.gc-bar__txt span { font:700 1.3rem var(--gc-head); color:var(--gc-navy); }
.gc-bar__txt small { font-size:.8rem; color:var(--gc-ink-soft); }
@keyframes gcUp { from { transform:translateY(100%); } to { transform:none; } }
@media (min-width:1024px) { .gc-bar { display:none !important; } }

/* página de la reserva */
.gc-page { padding:48px 0 72px; min-height:50vh; }
.gc-page h1 { font:700 clamp(1.8rem,4.4vw,2.6rem)/1.15 var(--gc-head); color:var(--gc-navy); }
.gc-done { text-align:center; background:linear-gradient(180deg,var(--gc-sea) 0%,#fff 60%); }
.gc-done__icon { display:grid; place-items:center; width:84px; height:84px; margin:0 auto 18px; border-radius:28px; background:var(--gc-mint); color:var(--gc-mint-ink); transform:rotate(-6deg); }
.gc-done__icon .pbf-ic { width:42px; height:42px; }
.gc-done--wait .gc-done__icon { background:var(--gc-sun); color:var(--gc-sun-ink); }
.gc-done--ko .gc-done__icon { background:#FDECEC; color:#8E1F24; }
.gc-done__lead { font-size:1.1rem; color:var(--gc-ink-soft); }
.gc-done .gc-actions,.gc-done .gc-note { justify-content:center; }
.gc-bizum { max-width:420px; margin:24px auto; padding:24px; border-radius:var(--gc-radius); background:#fff; box-shadow:var(--gc-shadow); border:2px solid #CFEFF0; }
.gc-bizum p { margin:0 0 8px; }
.gc-bizum__num { font:700 2.1rem/1.2 var(--gc-head) !important; color:#05A0A5; letter-spacing:.02em; margin:6px 0 12px !important; }
.gc-bizum .gc-btn { margin-top:12px; }

/* ------------------------------------------------------------------ aparición suave */
.gc-reveal { opacity:0; transform:translateY(18px); transition:opacity .6s var(--gc-ease),transform .6s var(--gc-ease); }
.gc-reveal.is-in { opacity:1; transform:none; }
.gc-card.gc-reveal.is-in:hover,.gc-way.gc-reveal.is-in:hover { transform:translateY(-4px); }

/* ------------------------------------------------------------------ ficha de producto: precios por modalidad */
.gc-pp { margin:18px 0 20px; padding:16px; border-radius:20px; background:var(--gc-sea); border:1px solid var(--gc-line); }
.gc-pp__h { margin:0 0 10px; font:700 .8rem var(--gc-head); text-transform:uppercase; letter-spacing:.08em; color:var(--gc-teal-deep); }
.gc-pp ul { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.gc-pp a { display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:14px; background:#fff; border:2px solid transparent; text-decoration:none; color:var(--gc-ink); transition:border-color .2s; }
.gc-pp a:hover { border-color:var(--gc-teal); color:var(--gc-ink); }
.gc-pp a > .pbf-ic { width:36px; height:36px; padding:8px; border-radius:12px; background:var(--gc-cloud); color:var(--gc-teal-deep); flex:none; }
.gc-pp span { display:flex; flex-direction:column; line-height:1.3; flex:1; min-width:0; }
.gc-pp b { font:700 .98rem var(--gc-head); color:var(--gc-navy); }
.gc-pp small { font-size:.8rem; color:var(--gc-ink-soft); }
.gc-pp em { font:700 1.3rem var(--gc-head); font-style:normal; color:var(--gc-navy); white-space:nowrap; }
.gc-pp__note { display:flex; gap:8px; align-items:flex-start; margin:12px 0 0; font-size:.88rem; color:var(--gc-mint-ink); }
.gc-pp__note .pbf-ic { width:20px; height:20px; flex:none; margin-top:1px; }
