/* SEO-6 (20/10/2026): páginas «Planes con niños en [Ciudad]» y listado de ciudades. Móvil primero.
   Prefijo pc- (no depende de Tailwind ni de styles.css).
   DIS-PC (20/10/2026): nuevo diseño, propuesta D «Agenda con colores de la home» (maqueta en Claude outputs/DISENO-PLANES/).
   Hero claro con degradado, calendario decorativo (solo ordenador), planes tipo ticket, guía con índice y recuadro de registro
   fijo (ordenador), barra fija de registro (móvil) y cierre con degradado azul-verde. Sin imágenes: todo es CSS e iconos SVG en línea.
   Los degradados con texto blanco usan #0369A1 -> #047857 (contraste >= 5,4:1); los de la home (#0EA5E9) no llegan a 4,5:1. */
:root{--pc-ink:#1E293B;--pc-text:#334155;--pc-muted:#5B6B80;--pc-line:#E2E8F0;--pc-bg:#F8FAFC;--pc-card:#fff;--pc-yellow:#F59E0B;--pc-yellow-2:#FBBF24;--pc-yellow-soft:#FFFBEB;--pc-yellow-line:#FDE68A;--pc-amber-ink:#B45309;--pc-blue:#00628E;--pc-blue-soft:#E0F2FE;--pc-green:#047857;--pc-green-soft:#ECFDF5;--pc-grad:linear-gradient(135deg,#0369A1,#047857)}
.pc-main{color:var(--pc-text);line-height:1.6}
.pc-wrap{max-width:72rem;margin:0 auto;padding:0 1rem}
.pc-crumbs{font-size:.875rem;color:var(--pc-muted);padding:1rem 0 0}
.pc-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem}
.pc-crumbs li+li::before{content:"›";margin-right:.25rem;color:#94A3B8}
.pc-crumbs a{color:var(--pc-muted);text-decoration:underline;text-underline-offset:2px}
.pc-crumbs a:hover{color:var(--pc-ink)}

/* Botones */
.pc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.25rem;padding:.875rem 1.5rem;border-radius:9999px;font-weight:700;font-size:1.0625rem;line-height:1.25;text-align:center;text-decoration:none;transition:background-color .15s,transform .15s,box-shadow .15s}
.pc-btn svg{width:1.25rem;height:1.25rem;flex-shrink:0}
.pc-btn--main{background:var(--pc-ink);color:#fff;box-shadow:0 10px 24px -10px rgba(30,41,59,.6)}
.pc-btn--main:hover{background:#334155;transform:translateY(-2px)}
.pc-btn--white{background:#fff;color:var(--pc-ink);box-shadow:0 12px 28px -12px rgba(0,0,0,.45)}
.pc-btn--white:hover{transform:translateY(-2px)}
.pc-btn--full{width:100%}
.pc-btn--small{min-height:3rem;font-size:.96875rem;padding:.625rem .75rem}
.pc-btn:focus-visible,.pc-crumbs a:focus-visible,.pc-toc a:focus-visible,.pc-faq summary:focus-visible,.pc-blog a:focus-visible,.pc-city:focus-within,.pc-intro a:focus-visible,.pc-prose a:focus-visible{outline:3px solid var(--pc-blue);outline-offset:3px}

/* Hero claro con degradado y manchas de color, como la home */
.pc-hero{background:linear-gradient(180deg,#EFF8FF 0%,#fff 80%);position:relative;overflow:hidden;padding-bottom:2.5rem}
.pc-hero::before,.pc-hero::after{content:"";position:absolute;pointer-events:none;border-radius:42% 58% 63% 37%/41% 44% 56% 59%}
.pc-hero::before{left:-9.5rem;top:2rem;width:22.5rem;height:22.5rem;background:radial-gradient(circle,rgba(14,165,233,.16),rgba(14,165,233,0) 70%)}
.pc-hero::after{right:-9.5rem;top:-4.5rem;width:25rem;height:25rem;background:radial-gradient(circle,rgba(245,158,11,.22),rgba(245,158,11,0) 70%)}
.pc-hero__grid{position:relative;z-index:1;display:grid;gap:1.875rem;padding-top:1.375rem}
.pc-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.84375rem;color:var(--pc-blue);background:var(--pc-blue-soft);border-radius:9999px;padding:.375rem .875rem;margin:0 0 .875rem}
.pc-eyebrow svg{width:1rem;height:1rem;flex-shrink:0}
.pc-h1{font-family:'Nunito',sans-serif;font-weight:900;font-size:clamp(2.3rem,9vw,4.6rem);line-height:1.04;letter-spacing:-.015em;color:var(--pc-ink);margin:0 0 1.125rem}
.pc-mark{background:linear-gradient(transparent 62%,var(--pc-yellow-line) 62%,var(--pc-yellow-line) 92%,transparent 92%);padding:0 .06em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.pc-intro{font-size:1.0625rem;line-height:1.7;color:var(--pc-text);max-width:40rem}
.pc-intro p{margin:0 0 .75rem}
.pc-intro p:last-child{margin-bottom:0}
.pc-intro a,.pc-prose a,.pc-answer a,.pc-empty a:not(.pc-btn){color:var(--pc-blue);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.pc-cta{margin-top:1.625rem;display:grid;gap:.75rem;justify-items:start}
.pc-note{font-size:.875rem;color:var(--pc-muted);margin:0;max-width:30rem}
.pc-updated{font-size:.8125rem;color:var(--pc-muted);margin:1.25rem 0 0;display:flex;align-items:center;gap:.375rem}
.pc-updated svg{width:.9375rem;height:.9375rem;flex-shrink:0}

/* Calendario decorativo (aria-hidden): en el hero solo en ordenador; en el bloque «sin planes» solo en el móvil */
.pc-calbox{display:none}
.pc-cal{background:#fff;border:1px solid var(--pc-line);border-radius:1.625rem;color:var(--pc-ink);padding:1.125rem;box-shadow:0 26px 50px -30px rgba(15,23,42,.45);width:100%;max-width:24rem;justify-self:center;transform:rotate(-1.5deg)}
.pc-cal__h{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font:800 1rem/1 'Nunito',sans-serif;margin-bottom:.75rem}
.pc-cal__h span{font:700 .75rem/1 'Inter',sans-serif;background:var(--pc-green-soft);color:var(--pc-green);border-radius:9999px;padding:.3125rem .5625rem}
.pc-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.3125rem;text-align:center;font-size:.78125rem;font-weight:600;color:#64748B}
.pc-cal__grid i{font-style:normal;font-size:.6875rem;font-weight:800;color:#94A3B8;padding:.1875rem 0}
.pc-cal__grid b{font-weight:600;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:.625rem;background:var(--pc-bg)}
.pc-cal__grid b.is-off{background:transparent}
.pc-cal__grid b.is-on{background:var(--pc-yellow);color:var(--pc-ink);font-weight:900}
.pc-cal__grid b.is-slot{background:#fff;border:2px dashed #10B981;color:var(--pc-green);font-weight:900}
.pc-cal__f{margin:.75rem 0 0;font-size:.8125rem;color:var(--pc-muted);display:flex;gap:.5rem;align-items:center}
.pc-cal__f::before{content:"";width:.75rem;height:.75rem;border-radius:.25rem;background:var(--pc-yellow);flex-shrink:0}
.pc-cal__f.is-slot::before{background:#fff;border:2px dashed #10B981}

/* Secciones */
.pc-section{padding:2.75rem 0}
.pc-section--paper{background:#fff}
.pc-label{display:inline-flex;align-items:center;gap:.5rem;font-weight:800;font-size:.78125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--pc-blue);margin:0 0 .625rem}
.pc-label svg{width:1rem;height:1rem}
.pc-h2{font-family:'Nunito',sans-serif;font-weight:900;font-size:clamp(1.6rem,5vw,2.5rem);line-height:1.12;letter-spacing:-.01em;color:var(--pc-ink);margin:0 0 .625rem}
.pc-sub{color:var(--pc-muted);font-size:1rem;line-height:1.6;margin:0 0 1.375rem;max-width:44rem}

/* Planes de familias y actividades de empresas: tarjetas tipo ticket */
.pc-tickets{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.pc-ticket{display:grid;grid-template-columns:4.875rem 1fr;background:var(--pc-card);border:1px solid var(--pc-line);border-radius:1.75rem;box-shadow:0 20px 40px -28px rgba(15,23,42,.45);position:relative;scroll-margin-top:6rem}
.pc-stub{background:var(--pc-yellow);border-radius:1.6875rem 0 0 1.6875rem;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.875rem .25rem;color:var(--pc-ink);position:relative}
.pc-stub::after{content:"";position:absolute;right:-1px;top:.75rem;bottom:.75rem;border-right:3px dotted #fff}
.pc-stub small{font-weight:800;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.pc-stub b{font-family:'Nunito',sans-serif;font-weight:900;font-size:2.625rem;line-height:1}
.pc-stub span{font-weight:800;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase}
.pc-ticket--biz .pc-stub{background:var(--pc-blue-soft);color:var(--pc-blue)}
.pc-ticket--biz .pc-stub svg{width:2.125rem;height:2.125rem}
.pc-ticket--feat{border-color:var(--pc-yellow-line);box-shadow:0 0 0 2px var(--pc-yellow-line) inset,0 20px 40px -28px rgba(15,23,42,.45)}
.pc-ticket__body{padding:1rem .875rem 1rem 1rem;display:grid;gap:.5rem;align-content:center;min-width:0}
.pc-ticket h3{font-family:'Nunito',sans-serif;font-weight:800;font-size:1.1875rem;line-height:1.25;color:var(--pc-ink);margin:0}
.pc-ticket p{margin:0;font-size:.9375rem}
.pc-ticket .pc-btn{margin-top:.25rem}
.pc-meta{color:var(--pc-muted);font-size:.90625rem}
.pc-ticket p.pc-day{font-weight:700;color:var(--pc-text);font-size:.9375rem} /* DIS-PC (20/10/2026): día debajo del título del plan */
.pc-tags{display:flex;flex-wrap:wrap;gap:.375rem}
.pc-tag{font-size:.78125rem;font-weight:700;border-radius:.5rem;padding:.1875rem .5625rem;background:var(--pc-green-soft);color:var(--pc-green)}
.pc-tag--b{background:var(--pc-blue-soft);color:var(--pc-blue)}
.pc-tag--feat{background:var(--pc-yellow-soft);color:#92400E;border:1px solid var(--pc-yellow-line)}

/* Sin planes */
.pc-empty{display:grid;gap:1.625rem;background:linear-gradient(135deg,#FFFBEB,#FEF3C7);border:2px dashed #F5C452;border-radius:2rem;padding:1.625rem 1.25rem}
.pc-empty p{margin:0 0 .75rem;line-height:1.7;color:var(--pc-text)}
.pc-empty ul,.pc-empty ol{margin:0 0 .75rem;padding-left:1.25rem}
.pc-empty .pc-btn{margin-top:.5rem}
.pc-empty .pc-calbox{display:block}
.pc-empty .pc-cal{transform:rotate(1.5deg)}

/* Guía: índice + columna de lectura */
.pc-guide{display:grid;gap:1.75rem}
.pc-toc{background:#fff;color:var(--pc-ink);border:1px solid var(--pc-line);border-radius:1.5rem;padding:1.125rem}
.pc-toc__t{margin:0 0 .625rem;font-family:'Nunito',sans-serif;font-weight:800;font-size:1.125rem;line-height:1.2;color:var(--pc-ink)}
.pc-toc ol{list-style:none;margin:0;padding:0;counter-reset:pctoc}
.pc-toc li{counter-increment:pctoc}
.pc-toc a{display:flex;gap:.75rem;align-items:center;padding:.5625rem 0;min-height:2.75rem;color:var(--pc-ink);text-decoration:none;font-weight:600;font-size:.9375rem;line-height:1.35;border-top:1px solid var(--pc-line)}
.pc-toc li:first-child a{border-top:0}
.pc-toc a::before{content:counter(pctoc,decimal-leading-zero);font-family:'Nunito',sans-serif;font-weight:900;font-size:.875rem;line-height:1;color:var(--pc-blue);background:var(--pc-blue-soft);border-radius:.625rem;padding:.4375rem .5rem;flex-shrink:0}
.pc-toc a:hover{color:var(--pc-blue)}
.pc-side-cta{display:none}
.pc-col{counter-reset:pcg;max-width:44rem;min-width:0}
.pc-gsec{counter-increment:pcg;padding:0 0 1.875rem;margin:0 0 1.875rem;border-bottom:1px solid var(--pc-line);scroll-margin-top:6rem}
.pc-gsec:last-child{border-bottom:0;margin-bottom:0}
.pc-gsec .pc-h2{font-size:clamp(1.45rem,4.4vw,2.05rem);display:grid;gap:.375rem}
.pc-gsec .pc-h2::before{content:counter(pcg,decimal-leading-zero);font-size:3.375rem;line-height:1;color:transparent;-webkit-text-stroke:2px #0284C7}
.pc-prose{font-size:1.0625rem;line-height:1.78;color:var(--pc-text)}
.pc-prose p{margin:0 0 .875rem}
.pc-prose p:last-child{margin-bottom:0}
.pc-prose ul{list-style:none;margin:.25rem 0 1rem;padding:0;display:grid;gap:.625rem}
.pc-prose ol{margin:0 0 1rem;padding-left:1.25rem;list-style:decimal}
.pc-prose ul li{background:#fff;border:1px solid var(--pc-line);border-radius:1rem;padding:.75rem .875rem .75rem 2.75rem;position:relative;line-height:1.55}
.pc-prose ul li::before{content:"";position:absolute;left:.875rem;top:.9375rem;width:1.125rem;height:1.125rem;border-radius:50%;background:var(--pc-green-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23047857' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/.6875rem no-repeat}
.pc-prose strong{color:var(--pc-ink)}

/* Preguntas frecuentes */
.pc-faq{display:grid;gap:.75rem}
.pc-faq details{background:#fff;border:1px solid var(--pc-line);border-radius:1.25rem;padding:0 1.125rem}
.pc-faq details[open]{border-color:#BAE6FD;box-shadow:0 14px 30px -22px rgba(15,23,42,.4)}
.pc-faq summary{cursor:pointer;list-style:none;display:flex;gap:.875rem;align-items:center;min-height:3.5rem;padding:.875rem 0;font-weight:700;color:var(--pc-ink);font-size:1.03125rem}
.pc-faq summary::-webkit-details-marker{display:none}
.pc-faq summary::before{content:"?";flex-shrink:0;width:2rem;height:2rem;border-radius:50%;background:var(--pc-yellow-soft);color:var(--pc-amber-ink);font:900 1.0625rem/2rem 'Nunito',sans-serif;text-align:center}
.pc-faq details[open] summary::before{background:var(--pc-blue-soft);color:var(--pc-blue)}
.pc-answer{padding:0 0 1rem 2.875rem;line-height:1.7;color:var(--pc-text)}
.pc-answer p{margin:0 0 .5rem}
.pc-answer ul,.pc-answer ol{margin:0 0 .5rem;padding-left:1.25rem}

/* Planes anteriores y blog */
.pc-past{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.625rem}
.pc-past li{display:flex;align-items:center;gap:.625rem;background:#fff;border:1px solid var(--pc-line);border-radius:9999px;padding:.5625rem .875rem;color:var(--pc-text);font-size:.90625rem}
.pc-past svg{width:1rem;height:1rem;color:var(--pc-green);flex-shrink:0}
.pc-blog{list-style:none;margin:0;padding:0;display:grid;border-top:2px solid var(--pc-line)}
.pc-blog a{display:grid;grid-template-columns:1fr auto;gap:.875rem;align-items:center;padding:1rem .25rem;border-bottom:1px solid var(--pc-line);text-decoration:none;color:var(--pc-ink);font-weight:700;line-height:1.4;min-height:3.5rem}
.pc-blog a:hover{color:var(--pc-blue)}
.pc-blog svg{width:1.125rem;height:1.125rem;color:var(--pc-muted)}

/* Cierre con el degradado de la home */
.pc-close{background:var(--pc-grad);color:#fff;text-align:center;padding:3.25rem 0;position:relative;overflow:hidden}
.pc-close::after{content:"";position:absolute;right:-3.75rem;bottom:-3.75rem;width:13.75rem;height:13.75rem;border-radius:50%;border:1.75rem solid rgba(255,255,255,.14);pointer-events:none}
.pc-close .pc-wrap{position:relative;z-index:1}
.pc-close .pc-h2{color:#fff}
.pc-close p{font-size:1.0625rem;line-height:1.6;max-width:36rem;margin:0 auto 1.5rem;color:#F0F9FF}

/* Barra fija de registro, solo en el móvil (el aviso de cookies queda por encima: z-index mucho mayor) */
.pc-sticky{position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(255,255,255,.97);border-top:1px solid var(--pc-line);box-shadow:0 -10px 30px -16px rgba(15,23,42,.35);padding:.625rem 1rem calc(.625rem + env(safe-area-inset-bottom));display:flex;gap:.75rem;align-items:center}
.pc-sticky p{margin:0;color:var(--pc-muted);font-size:.8125rem;line-height:1.3;flex:1;min-width:0}
.pc-sticky p b{display:block;color:var(--pc-ink);font-size:.90625rem}
.pc-sticky .pc-btn{min-height:3rem;padding:.625rem 1rem;font-size:.96875rem;box-shadow:none;flex-shrink:0}
body.pc-has-sticky{padding-bottom:5.5rem}
@media (max-width:419px){.pc-sticky__sub{display:none}.pc-sticky .pc-btn{font-size:.9375rem;padding:.625rem .875rem}}

/* Listado de ciudades (como la propuesta A) */
.pc-list-hero{text-align:center}
.pc-list-hero .pc-hero__grid{justify-items:center}
.pc-list-hero .pc-h1{max-width:16ch;margin-left:auto;margin-right:auto}
.pc-list-hero .pc-intro{margin:0 auto}
.pc-cities{list-style:none;margin:0;padding:0;display:grid;gap:.875rem}
.pc-city{position:relative;display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid var(--pc-line);border-radius:1.625rem;padding:1rem;min-height:5.75rem;transition:transform .15s,box-shadow .15s}
.pc-city:hover{transform:translateY(-3px);box-shadow:0 20px 40px -26px rgba(15,23,42,.45)}
.pc-mono{flex-shrink:0;width:3.75rem;height:3.75rem;border-radius:1.25rem;display:flex;align-items:center;justify-content:center;font-family:'Nunito',sans-serif;font-weight:900;font-size:1.625rem;line-height:1}
.pc-city:nth-child(3n+1) .pc-mono{background:#FEF3C7;color:var(--pc-amber-ink)}
.pc-city:nth-child(3n+2) .pc-mono{background:var(--pc-blue-soft);color:var(--pc-blue)}
.pc-city:nth-child(3n) .pc-mono{background:#D1FAE5;color:var(--pc-green)}
.pc-city__txt{min-width:0}
.pc-city a{display:block;font-family:'Nunito',sans-serif;font-weight:800;font-size:1.1875rem;line-height:1.2;color:var(--pc-ink);text-decoration:none}
.pc-city a:focus-visible{outline:none}
.pc-city a::after{content:"";position:absolute;inset:0;border-radius:1.625rem}
.pc-city__sub{display:block;font-size:.875rem;color:var(--pc-muted);font-weight:500;margin-top:.1875rem}
.pc-go{margin-left:auto;flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--pc-ink);color:#fff;display:flex;align-items:center;justify-content:center}
.pc-go svg{width:1.125rem;height:1.125rem}

@media (min-width:640px){
  .pc-wrap{padding:0 1.5rem}
  .pc-cities{grid-template-columns:1fr 1fr}
}
@media (min-width:768px){
  body.pc-has-sticky{padding-bottom:0}
  .pc-sticky{display:none}
  .pc-hero{padding-bottom:4rem}
  .pc-hero__grid{grid-template-columns:1.35fr 1fr;align-items:center;gap:3rem;padding-top:1.875rem}
  .pc-list-hero .pc-hero__grid{grid-template-columns:1fr}
  .pc-hero .pc-calbox{display:block}
  .pc-tickets{grid-template-columns:1fr 1fr}
  .pc-empty{grid-template-columns:1fr;padding:2.5rem}
  .pc-empty .pc-calbox{display:none}
  .pc-empty>div{max-width:44rem}
  .pc-guide{grid-template-columns:18rem 1fr;gap:3rem;align-items:start}
  .pc-aside{position:sticky;top:6rem;display:grid;gap:.875rem}
  .pc-side-cta{display:grid;gap:.75rem;background:var(--pc-grad);border-radius:1.375rem;padding:1.125rem;color:#fff}
  .pc-side-cta p{margin:0;font-size:.90625rem;line-height:1.5;color:#F0F9FF}
  .pc-side-cta p b{display:block;font-family:'Nunito',sans-serif;font-weight:800;font-size:1.0625rem;line-height:1.25;color:#fff;margin-bottom:.25rem}
  .pc-faq{grid-template-columns:1fr 1fr;align-items:start}
  .pc-blog{grid-template-columns:1fr 1fr;column-gap:2rem}
  .pc-section{padding:4rem 0}
}
/* DIS-PC (20/10/2026): el índice + recuadro siguen fijos (sticky) en cualquier pantalla. Si no caben de alto, se compactan
   y se pueden desplazar por dentro, para que el botón del recuadro siempre se pueda alcanzar (antes: position:static, retirado) */
@media (min-width:768px){.pc-aside{max-height:calc(100vh - 7rem);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}}
@media (min-width:768px) and (max-height:800px){.pc-toc{padding:.875rem 1rem}.pc-toc__t{font-size:1rem;margin-bottom:.375rem}.pc-toc a{min-height:2.25rem;padding:.3125rem 0;font-size:.875rem}.pc-toc a::before{padding:.3125rem .4375rem;font-size:.8125rem}.pc-side-cta{padding:.875rem;gap:.5rem}.pc-side-cta p{font-size:.84375rem}}
@media (min-width:1024px){
  .pc-tickets--plans{grid-template-columns:repeat(3,1fr)}
  .pc-cities{grid-template-columns:repeat(3,1fr)}
}
@media (prefers-reduced-motion:reduce){
  .pc-btn,.pc-city{transition:none}
  .pc-btn--main:hover,.pc-btn--white:hover,.pc-city:hover{transform:none}
  .pc-cal,.pc-empty .pc-cal{transform:none}
}
