/* ==================================================================
   TurismoPalma · hoja de estilos del sitio
   ------------------------------------------------------------------
   Una sola hoja, ordenada por capas. Cada regla vive en UN sitio.
   Si algo se retoca, se retoca aquí, no se añade un parche al final.

   1  Tokens            variables de color, tipografía, radios, sombras
   2  Base              body, títulos, prosa, listas, enlaces, foco
   3  Cabecera          barra pegajosa, marca, menú de escritorio
   4  Menú móvil        panel a pantalla completa + acordeón
   5  Hero / portadas   cover de la home, portada de página, photoband
   6  Botones y chips   sistema único de botones, chips y píldoras
   7  Secciones         bandas, encabezados de sección, intro, CTA, linkcols
   8  Tarjetas          rejilla de lugares/categorías, arte, foto, botón +
   9  Ficha de lugar    cabecera ilustrada, datos prácticos, cerca, rutas
   10 Mapa de término   mapa de ruta/zona/tipo
   11 Planificador      wizard, días, paradas, pool, toast, píldora
   12 Pie
   13 Impresión         PDF del planificador
   14 Movimiento        aparición al hacer scroll, reduced-motion
   ================================================================== */

/* Fuentes: las sirve el tema desde wp-content/uploads/fonts (Fraunces 100-900, Hanken 100-900).
   Se retira el @import de Google Fonts: cargaba las mismas familias por segunda vez. */

/* ==================================================================
   1 · TOKENS
   ================================================================== */
:root{
  /* paleta */
  --tp-paper:#F6F0E6;      /* fondo de página */
  --tp-card:#FFFDF8;       /* superficies */
  --tp-sand:#EFE4D2;       /* bandas y fondos secundarios */
  --tp-sand-2:#F0E6D6;     /* fondo de ilustraciones */
  --tp-line:#DCD0BC;       /* bordes */
  --tp-ink:#26221E;        /* texto */
  --tp-muted:#7A7167;      /* texto secundario */
  --tp-blue:#2D5961;       /* primario */
  --tp-blue-dark:#173A42;  /* titulares, pie */
  --tp-blue-soft:#E1ECEB;  /* fondos primarios suaves */
  --tp-clay:#A85F3D;       /* acento */
  --tp-clay-dark:#94512F;  /* acento en hover */
  --tp-clay-soft:#EEDDD2;  /* fondos de acento suaves */
  --tp-gold:#B18A55;

  /* tipografía */
  --tp-serif:"Fraunces",Georgia,"Times New Roman",serif;
  --tp-sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --tp-h1:clamp(2.1rem,1.35rem + 2.9vw,3.5rem);
  --tp-h2:clamp(1.55rem,1.2rem + 1.35vw,2.2rem);
  --tp-h2-lg:clamp(1.7rem,1.08rem + 2.2vw,2.65rem);   /* encabezados de sección */
  --tp-h3:clamp(1.2rem,1.08rem + .45vw,1.42rem);
  --tp-body:clamp(1.02rem,.98rem + .22vw,1.14rem);

  /* forma */
  --tp-r:14px;
  --tp-r-lg:24px;
  --tp-r-pill:999px;
  --tp-sh1:0 1px 2px rgba(38,34,30,.05),0 4px 14px rgba(38,34,30,.05);
  --tp-sh2:0 2px 8px rgba(38,34,30,.07),0 22px 48px rgba(38,34,30,.13);
  --tp-shadow:var(--tp-sh1);
  --tp-ease:cubic-bezier(.2,.7,.3,1);

  /* anchos de WordPress, con valor de respaldo */
  --tp-content:var(--wp--style--global--content-size,760px);
  --tp-wide:var(--wp--style--global--wide-size,1240px);
}

/* ==================================================================
   2 · BASE
   ================================================================== */
html{scroll-behavior:smooth}
body{
  max-width:100%;
  color:var(--tp-ink);
  font-family:var(--tp-sans);font-weight:400;
  font-size:var(--tp-body);line-height:1.68;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img,svg,video,iframe{max-width:100%}
::selection{background:var(--tp-gold);color:#fff}

/* Foco: visible con teclado, invisible tras un clic de ratón */
:focus-visible{outline:2px solid var(--tp-blue);outline-offset:3px;border-radius:4px}
.wp-site-blocks :focus:not(:focus-visible){outline:none}

/* Títulos */
.wp-site-blocks h1,.wp-site-blocks h2,.wp-site-blocks h3,.wp-site-blocks h4{
  font-family:var(--tp-serif);color:var(--tp-blue-dark);font-weight:500;
  letter-spacing:-.012em;text-wrap:balance;
}
.wp-site-blocks h1{font-size:var(--tp-h1);line-height:1.04;letter-spacing:-.02em;margin-bottom:.5em}
.wp-site-blocks h2{font-size:var(--tp-h2);line-height:1.14;letter-spacing:-.016em;margin-top:2.2em;margin-bottom:.55em}
.wp-site-blocks h3{font-size:var(--tp-h3);line-height:1.24;margin-top:1.8em;margin-bottom:.45em}
.wp-site-blocks h2:first-child,.wp-site-blocks h3:first-child{margin-top:0}

/* Filete ornamental bajo los H2 de contenido */
main .wp-block-group>h2.wp-block-heading::after,main>h2.wp-block-heading::after{
  content:"";display:block;width:54px;height:2px;margin-top:.5em;
  background:linear-gradient(90deg,var(--tp-clay),rgba(168,95,61,0));
}
.has-text-align-center::after,.tp-ctabox h2::after,.tp-photoband h2::after{margin-inline:auto!important}

/* Prosa */
main p{line-height:1.72;text-wrap:pretty}
main p a:not([class]),main li a:not([class]){
  color:var(--tp-clay);text-decoration:none;padding-bottom:1px;
  background-image:linear-gradient(rgba(168,95,61,.45),rgba(168,95,61,.45));
  background-size:100% 1px;background-repeat:no-repeat;background-position:0 100%;
  transition:background-size .18s ease,color .18s ease;
}
main p a:not([class]):hover,main li a:not([class]):hover{
  color:var(--tp-blue-dark);
  background-image:linear-gradient(var(--tp-blue-dark),var(--tp-blue-dark));
}

/* Listas: mismo eje que los párrafos y contenido tabulado */
main ul.wp-block-list,main ol.wp-block-list{max-width:var(--tp-content)!important;padding-left:1.9em}
main ul.wp-block-list>li,main ol.wp-block-list>li{padding-left:.2em;margin-bottom:.4em}

/* Tablas: scroll propio, nunca desbordan la página */
main table{display:block;overflow-x:auto;max-width:100%}

.wp-block-post-terms{font-family:var(--tp-sans)}
.tp-empty{font-family:var(--tp-sans);color:var(--tp-muted);font-style:italic}

/* ==================================================================
   3 · CABECERA
   ------------------------------------------------------------------
   NOTA: ningún ancestro de la cabecera puede llevar backdrop-filter,
   transform ni filter: crearía un bloque contenedor y el panel fijo
   del menú móvil quedaría atrapado dentro.
   ================================================================== */
.wp-site-blocks>header.wp-block-template-part{
  position:sticky;top:0;z-index:60;
  background:var(--tp-paper);
  border-bottom:1px solid var(--tp-line);
  transition:box-shadow .2s ease;
}
.admin-bar .wp-site-blocks>header.wp-block-template-part{top:32px}
/* En movil la barra de admin de WordPress es position:absolute y se va con el scroll:
   reservarle 46px dejaba una franja vacia sobre la cabecera pegajosa. */
@media (max-width:782px){.admin-bar .wp-site-blocks>header.wp-block-template-part{top:0}}

.tp-header,.tp-header .wp-block-group,header.wp-block-template-part{
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;
}
.tp-header{
  background-color:var(--tp-paper);
  padding-block:clamp(.7rem,1.4vw,1.1rem);
  transition:padding .3s var(--tp-ease),box-shadow .3s var(--tp-ease);
}
body.tp-scrolled .tp-header{
  padding-block:.55rem;
  box-shadow:0 1px 0 var(--tp-line),0 8px 28px rgba(38,34,30,.08);
}

/* Marca */
.wp-block-site-title{font-family:var(--tp-serif)}
.wp-block-site-title a{
  display:inline-flex;align-items:center;gap:.5rem;line-height:1;
  font-family:var(--tp-serif);font-weight:600;font-size:1.3rem;letter-spacing:-.015em;
  color:var(--tp-blue-dark);text-decoration:none;
}
.wp-block-site-title a::before{
  content:"";width:28px;height:28px;flex:none;transition:transform .25s ease;
  /* Roseton de la marca. PNG a 56px mostrado a 28: nitido en pantallas retina. */
  background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4BAMAAABaqCYtAAAAJFBMVEUAAAHImUgDJ2bPol7FmU3Gm1EfTW0OMGkXN25fZWW8fDoCDnC/4bJdAAAADHRSTlMA9vMgoWAan18HBAeXDmOtAAAEhElEQVR42nWVQWwUVRjHf/PezGx3l5b94jSGWOPyJAVtkMFKlBhgR+FgiGQqiPFi1qqBA4cNiUbjQcIBYozJnjRKjJuYkCCiq4mJqMSC5UAAXV2smkhdxaDQQodK29B2djxsqfbg//Lyvv/7vu8d3vt90FK2irvfGGNe3ANVFqrKfjOnF8nOBa3WUjy4qwo8zmHAWXtw+j9mdmZXFefJPcDOTBVnbRjO18yy15h9N3c7jFnxn7bFN43ZM9+JNmNK7rzpGlOizJqNIhu3Am8aUyzevGm/6aasAxEvEPH8NMp0z6W6rlne8sR3RMQL0+ndN1Or/aaUJhART/uBiHiUU6Y7C4psesA5MNVXB6xyKUfEys7SoXC2VTZlStiCI3ILfp9IqCXMpkypiqL4MgdYpzMzhdZZ+/N3GGwqPtuOlZ3pSg/PtDOWmW63J974eGDVqekONhTGK5cmbCw25Y8PEIbPkEBEZCk4ebR523MRxX6DFpEcBB6Ip1ktImvfMt1ZVcm5aQuwM5Uo9jVJqpKLIDVVtLDcrmajb3z8FzZUrdyGTxclkd3OQ80Tkzfyw0oRMnDl9J2cRBMlFCrruPfIJ9aUwx6VEGl05kxhNkyor6TxbM0+9h6xbxHRb7Al5G1HPKSzTwjEP4QtBUxe5R1WcpJSTz4u+LMD+r6aqk3xKLVq6KrIAmY3Tda+5zu9cSPnuZ3itgF0mFOKJnk40+nHeRYdPnwNVdN9x0BBoi+pK0v+gua1ddPRt9vuOvfI0p6LDcCaXDpsmWYjqAdjZ4FV18+zarAd6JXR+qjK20DtjsP0Lj1GtPQ8P1hw38iXOIsBTB6P9yuwJkBEPO1thcz7BCijACvzaga+ASDGOg+VVyvMZYoPepuIH4h4WmSrD9pDGS1JtPaXzXdf/BX8SxHWtMuv1x/s7bw8+XTDxoX4S0AHX/y9vt5lLRutxWfABlTokAP0Q6Mf2PGJrnpu5KtlPgB5x87FNMC+7Qi5eNNIfcuA5rReX6MJlvKTLOiRWsXCnv2tY7AQF4hP+MRETZTJ2FLIlLWIL17gOeL5aWwJMXnlcDBh+kZpC6vqJFHck48vWFg02gi105564trXiXNRD9nuPTei3uOp5OGfrMyfScf9elZ+fOBUj3edey5Pt60YTHUsluiPu5aM7b218ZGuLhn68M+rVxN7aGZ1xIg78vvFdDI2tj5/Y3hKhY2Z/gSsWchRa6JSfh44+kLVmlDuQZzXC1Co6JrOxP5sd+0cKCyeAKpmRdoRIWNLZ6YSSJjWImF5r8miaQvObn7KujDZc3+D8fC3xoXxd4/aP34+7F6JgZTJp525z1vpEwmRsKxMCRQcIjX1WsFbNMeWaDBQR0t5DoACCjOllz5aCSiKEbm4fmW/wm6xz6XL+bn8/CLgjnoH6K4hulhP66UU+003ZScQ6exrQWpvC1IWgNvFljL6sdEavYuPwI4v5hNvgnFeqYVgXIDU/QuRStbdbczyfQA7d//rLcS4s7kKuD+50wsHQPr/BwDZCdpeOQBs/6uSnZgL/gO5bZG7CgrWBwAAAABJRU5ErkJggg==") center/contain no-repeat;
}

.wp-block-site-title a:hover::before{transform:rotate(-4deg) scale(1.06)}

/* Menú de escritorio: primer nivel */
.tp-header .wp-block-navigation{gap:clamp(.6rem,1.4vw,1.5rem)}
.wp-block-navigation .wp-block-navigation-item__content{font-family:var(--tp-sans);text-decoration:none}
.tp-header .wp-block-navigation>ul>li>.wp-block-navigation-item__content,
.tp-header .wp-block-navigation>ul>li>.wp-block-navigation-submenu__toggle{
  position:relative;padding-block:.45rem;
  font-size:.97rem;font-weight:500;color:var(--tp-ink);
  transition:color .2s var(--tp-ease);
}
.tp-header .wp-block-navigation>ul>li>.wp-block-navigation-item__content::after,
.tp-header .wp-block-navigation>ul>li>.wp-block-navigation-submenu__toggle::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;
  background:var(--tp-clay);border-radius:2px;
  transform:scaleX(0);transform-origin:left;transition:transform .28s var(--tp-ease);
}
.tp-header .wp-block-navigation>ul>li:hover>.wp-block-navigation-item__content::after,
.tp-header .wp-block-navigation>ul>li:hover>.wp-block-navigation-submenu__toggle::after,
.tp-header .wp-block-navigation>ul>li>[aria-expanded="true"]::after,
.tp-header .wp-block-navigation>ul>li.current-menu-item>.wp-block-navigation-item__content::after{transform:scaleX(1)}
.tp-header .wp-block-navigation>ul>li:hover>.wp-block-navigation-item__content,
.tp-header .wp-block-navigation>ul>li:hover>.wp-block-navigation-submenu__toggle{color:var(--tp-blue)}
.tp-header .wp-block-navigation :focus-visible{outline:2px solid var(--tp-blue);outline-offset:4px;border-radius:8px}
@media (max-width:1200px){.tp-header .wp-block-navigation>ul>li>.wp-block-navigation-item__content{font-size:.9rem}}

/* Flechita del desplegable */
.wp-block-navigation__submenu-icon{margin-left:.25em;transition:transform .26s var(--tp-ease)}
[aria-expanded="true"]>.wp-block-navigation__submenu-icon,
[aria-expanded="true"] .wp-block-navigation__submenu-icon{transform:rotate(180deg)}

/* Botón «Crea tu ruta» del menú */
.tp-header .tp-nav-cta>.wp-block-navigation-item__content{
  background:var(--tp-clay);color:#fff!important;font-weight:600;
  border-radius:var(--tp-r-pill);padding:.62rem 1.15rem!important;
  box-shadow:0 2px 10px rgba(168,95,61,.28);
  transition:transform .2s var(--tp-ease),box-shadow .2s var(--tp-ease),background .2s var(--tp-ease);
}
.tp-header .tp-nav-cta>.wp-block-navigation-item__content::after{display:none}
.tp-header .tp-nav-cta:hover>.wp-block-navigation-item__content{
  background:var(--tp-clay-dark);transform:translateY(-1px);box-shadow:0 8px 22px rgba(168,95,61,.34);
}

/* Panel desplegable (escritorio) */
@media (min-width:901px){
  .tp-header .wp-block-navigation li.wp-block-navigation-submenu{position:relative}
  .tp-header .wp-block-navigation .wp-block-navigation__submenu-container{
    position:absolute!important;top:100%;left:0;
    min-width:252px;padding:.45rem;margin-top:.5rem;
    background:var(--tp-card);border:1px solid var(--tp-line);border-radius:16px;
    box-shadow:0 20px 52px rgba(38,34,30,.17),0 2px 6px rgba(38,34,30,.06);
    overflow:visible;
  }
  .tp-header .wp-block-navigation .wp-block-navigation__submenu-container::before{
    content:"";position:absolute;top:-5px;left:26px;width:10px;height:10px;
    background:var(--tp-card);border-left:1px solid var(--tp-line);border-top:1px solid var(--tp-line);
    transform:rotate(45deg);border-radius:2px;
  }
  .tp-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
    display:block;width:100%;padding:.58rem .8rem!important;border-radius:10px;
    font-size:.94rem;line-height:1.3;color:var(--tp-ink);
    transition:background .18s var(--tp-ease),color .18s var(--tp-ease),padding-left .18s var(--tp-ease);
  }
  .tp-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
  .tp-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible{
    background:var(--tp-sand);color:var(--tp-blue-dark);padding-left:1rem!important;
  }
  /* el primer enlace es el índice de la sección */
  .tp-header .wp-block-navigation__submenu-container>li:first-child{
    border-bottom:1px solid var(--tp-line);margin-bottom:.3rem;padding-bottom:.3rem;
  }
  .tp-header .wp-block-navigation__submenu-container>li:first-child .wp-block-navigation-item__content{
    font-weight:600;color:var(--tp-blue);
  }
  .wp-block-navigation__responsive-container-open:not(.always-shown){display:none!important}
}

/* ==================================================================
   4 · MENÚ MÓVIL (panel a pantalla completa con acordeón)
   El estado abierto/cerrado de cada sección lo lleva data-tpacc (JS).
   ================================================================== */
@media (max-width:900px){
  .wp-block-navigation__responsive-container-open:not(.always-shown){
    min-width:44px;min-height:44px;display:flex!important;align-items:center;justify-content:center;
    border-radius:12px;color:var(--tp-ink);transition:background .2s var(--tp-ease);
  }
  .tp-header .wp-block-navigation .wp-block-navigation__submenu-container::before{display:none}
}
.wp-block-navigation__responsive-container-open:hover{background:var(--tp-sand)}
.wp-block-navigation__responsive-container-open svg,
.wp-block-navigation__responsive-container-close svg{width:26px;height:26px}

.wp-block-navigation__responsive-container.is-menu-open{
  position:fixed!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;
  background:var(--tp-paper)!important;padding:0!important;z-index:99999;
  overflow-y:auto;overscroll-behavior:contain;
  animation:tp-menuin .26s var(--tp-ease) both;
}
@keyframes tp-menuin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.wp-block-navigation__responsive-container.is-menu-open::before{
  content:"Turismo Palma";position:absolute;top:20px;left:6vw;
  font-family:var(--tp-serif);font-size:1.12rem;font-weight:600;color:var(--tp-blue-dark);letter-spacing:-.01em;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog{margin:0!important;padding:0!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{
  position:absolute;top:10px;right:14px;min-width:44px;min-height:44px;
  display:flex;align-items:center;justify-content:center;
  color:var(--tp-ink);background:var(--tp-sand);border-radius:var(--tp-r-pill);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
  display:block!important;width:100%!important;padding:4.6rem 6vw 3.5rem!important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{
  display:block!important;width:100%!important;align-items:stretch!important;gap:0!important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{display:block!important;width:100%}

/* filas de primer nivel */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-submenu__toggle{
  display:flex!important;align-items:center;justify-content:space-between;width:100%;
  min-height:58px;padding:.15rem 0!important;
  font-family:var(--tp-serif);font-size:1.34rem;line-height:1.2;letter-spacing:-.015em;
  color:var(--tp-ink);border-bottom:1px solid var(--tp-line);text-align:left!important;
}
/* fila con submenú: etiqueta + chevron en rejilla; el li es lo pulsable */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container>li.wp-block-navigation-submenu{
  display:grid!important;grid-template-columns:1fr auto;align-items:center;
  border-bottom:1px solid var(--tp-line);cursor:pointer;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container>li.wp-block-navigation-submenu>.wp-block-navigation-submenu__toggle{border-bottom:0!important;grid-column:1}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container>li.wp-block-navigation-submenu>.wp-block-navigation__submenu-icon{grid-column:2;margin-left:0!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container>li.wp-block-navigation-submenu>.wp-block-navigation__submenu-container{grid-column:1/-1}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container>li.wp-block-navigation-submenu[data-tpacc="1"]{border-bottom-color:var(--tp-clay)}

/* chevron: pastilla, apunta abajo plegado y arriba desplegado */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon{
  display:inline-flex!important;align-items:center;justify-content:center;
  width:34px;height:34px;padding:0!important;
  border-radius:var(--tp-r-pill);background:var(--tp-sand);color:var(--tp-blue-dark);
  pointer-events:none;transform:rotate(180deg);
  transition:transform .24s var(--tp-ease),background .24s var(--tp-ease),color .24s var(--tp-ease);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon svg{width:15px;height:15px}
.wp-block-navigation__responsive-container.is-menu-open li.wp-block-navigation-submenu[data-tpacc="1"]>.wp-block-navigation-submenu__toggle .wp-block-navigation__submenu-icon,
.wp-block-navigation__responsive-container.is-menu-open li.wp-block-navigation-submenu[data-tpacc="1"]>.wp-block-navigation__submenu-icon{
  transform:rotate(0deg);background:var(--tp-clay);color:#fff;
}

/* submenú en acordeón */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{
  position:static!important;opacity:1!important;visibility:visible!important;
  border:0!important;box-shadow:none!important;background:transparent!important;min-width:0!important;
  padding:.1rem 0 .7rem .95rem!important;margin:.2rem 0 .4rem!important;
  border-left:2px solid var(--tp-clay)!important;
  animation:tp-acc .22s var(--tp-ease) both;
}
@keyframes tp-acc{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.wp-block-navigation__responsive-container.is-menu-open li.wp-block-navigation-submenu[data-tpacc="0"]>.wp-block-navigation__submenu-container{display:none!important}
.wp-block-navigation__responsive-container.is-menu-open li.wp-block-navigation-submenu[data-tpacc="1"]>.wp-block-navigation__submenu-container{display:block!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  display:block!important;min-height:42px;padding:.45rem 0!important;
  font-family:var(--tp-sans);font-size:1rem;color:var(--tp-ink);border-bottom:0!important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{color:var(--tp-blue)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container>li:first-child .wp-block-navigation-item__content{color:var(--tp-blue);font-weight:600}

/* CTA al final del panel */
.wp-block-navigation__responsive-container.is-menu-open .tp-nav-cta>.wp-block-navigation-item__content{
  justify-content:center!important;margin-top:1.4rem;padding:.95rem 1.4rem!important;
  background:var(--tp-clay);color:#fff!important;border:0!important;border-radius:var(--tp-r-pill);
  font-family:var(--tp-sans);font-size:1.05rem;font-weight:600;
  box-shadow:0 6px 18px rgba(168,95,61,.3);
}

/* ==================================================================
   5 · HERO Y PORTADAS
   ================================================================== */
/* cover genérico */
.wp-block-cover{min-height:clamp(440px,68vh,660px)}
.wp-block-cover .wp-block-cover__background{
  background:linear-gradient(180deg,rgba(23,58,66,.22) 0%,rgba(23,58,66,.30) 45%,rgba(23,58,66,.68) 100%)!important;opacity:1!important;
}
.wp-block-cover h1,.wp-block-cover h2{
  color:var(--tp-card)!important;font-size:clamp(2.3rem,1.3rem + 3.6vw,4.1rem);line-height:1.04;
  text-shadow:0 2px 24px rgba(12,28,32,.45);max-width:17ch;margin-bottom:.35em;
}
.wp-block-cover p{color:#F2E8DA!important;font-size:clamp(1.02rem,.96rem + .4vw,1.22rem);max-width:46ch}
.wp-block-cover .wp-block-buttons{margin-top:1.6rem;gap:.7rem}

/* hero de la home */
.wp-block-cover:has(.tp-hero-title){min-height:clamp(520px,78vh,740px)!important;isolation:isolate}
.wp-block-cover:has(.tp-hero-title) .wp-block-cover__background{
  background-image:
    linear-gradient(to top,rgba(19,46,53,.86) 0%,rgba(19,46,53,.48) 30%,rgba(19,46,53,.06) 58%,rgba(19,46,53,.34) 100%),
    linear-gradient(to right,rgba(19,46,53,.62) 0%,rgba(19,46,53,.26) 42%,rgba(19,46,53,0) 70%)!important;
}
.wp-block-cover:has(.tp-hero-title) .wp-block-cover__inner-container{padding-bottom:clamp(2.6rem,6vh,4.6rem);width:100%!important;max-width:var(--tp-wide);margin-inline:auto!important}
.wp-block-cover:has(.tp-hero-title) .wp-block-cover__image-background{animation:tp-kenburns 26s var(--tp-ease) both}
@keyframes tp-kenburns{from{transform:scale(1.06)}to{transform:scale(1)}}
.tp-hero-title{text-shadow:0 2px 34px rgba(10,26,30,.5);max-width:15ch}
.tp-hero-title::before{
  content:"Guía de Palma de Mallorca";display:block;margin-bottom:.95rem;
  font-family:var(--tp-sans);font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.82);text-shadow:0 1px 10px rgba(10,26,30,.6);
}
.wp-block-cover .tp-hero-sub{
  margin-top:0;margin-left:0!important;margin-right:auto!important;max-width:38ch;
  font-size:clamp(1.05rem,.95rem + .5vw,1.26rem);
  color:rgba(255,255,255,.94)!important;text-shadow:0 1px 18px rgba(10,26,30,.62);
}
.tp-btn-ghost .wp-block-button__link{color:var(--tp-card);border-color:rgba(255,253,248,.75);background:transparent}
.tp-btn-ghost .wp-block-button__link:hover{background:rgba(255,253,248,.14);border-color:var(--tp-card)}

/* portada de página con fotografía */
main:has(.tp-pagehero)>.wp-block-post-title,
.wp-site-blocks:has(.tp-pagehero) .wp-block-post-title{display:none!important}
main:has(.tp-pagehero){margin-top:0!important}
main:has(.tp-pagehero)>.wp-block-group{padding-top:0!important}
main:has(.tp-pagehero) .entry-content{margin-top:0!important}
.tp-pagehero{
  min-height:clamp(300px,42vh,430px)!important;
  margin-top:0!important;padding-top:0!important;margin-bottom:clamp(2rem,4vw,3.2rem);
}
.tp-pagehero .wp-block-cover__background{
  background-image:
    linear-gradient(to top,rgba(19,46,53,.82) 0%,rgba(19,46,53,.40) 42%,rgba(19,46,53,.10) 78%),
    linear-gradient(to right,rgba(19,46,53,.5) 0%,rgba(19,46,53,.12) 55%,rgba(19,46,53,0) 80%)!important;
}
.tp-pagehero .wp-block-cover__inner-container{padding-bottom:clamp(1.6rem,3.5vh,2.8rem);width:100%!important;max-width:var(--tp-wide);margin-inline:auto!important}
.tp-pagehero-title{
  color:#fff!important;font-size:clamp(2rem,1.3rem + 2.6vw,3.3rem)!important;line-height:1.04;letter-spacing:-.022em;
  margin:0 0 .5rem!important;text-shadow:0 2px 26px rgba(10,26,30,.5);max-width:18ch;
}
.tp-pagehero-sub{
  color:rgba(255,255,255,.93)!important;max-width:46ch;margin:0!important;
  font-size:clamp(1rem,.94rem + .35vw,1.15rem)!important;text-shadow:0 1px 14px rgba(10,26,30,.55);
}
/* el texto de las portadas arranca en el eje ancho (donde empiezan las rejillas), no centrado */
.tp-pagehero .tp-pagehero-title,.tp-pagehero .tp-pagehero-sub,.tp-pagehero .wp-block-buttons,
.wp-block-cover .tp-hero-title,.wp-block-cover:has(.tp-hero-title) .wp-block-buttons{margin-left:0!important;margin-right:auto!important}

/* banda con fotografía (home) */
.tp-photoband .wp-block-cover__inner-container{text-align:center}
.tp-photoband h2{color:var(--tp-card)!important;font-size:clamp(1.7rem,1.3rem + 1.8vw,2.6rem);max-width:20ch;margin-inline:auto;text-align:center}
.tp-photoband .tp-lead{color:#E0D3BF!important;max-width:58ch;margin-inline:auto!important}
.tp-photoband p{max-width:none}
.tp-photoband .tp-bigbtn{margin-top:.6rem}

/* ==================================================================
   6 · BOTONES, CHIPS Y PÍLDORAS
   ------------------------------------------------------------------
   Un solo sistema: pastilla, sans 600, elevación corta en hover.
   Primario = arcilla (acción principal), secundario = azul, ghost.
   ================================================================== */
.wp-block-button__link,.tp-bigbtn,.tp-btn{
  font-family:var(--tp-sans);font-weight:600;letter-spacing:.02em;
  border-radius:var(--tp-r-pill);
  transition:transform .2s var(--tp-ease),box-shadow .2s var(--tp-ease),background .2s var(--tp-ease);
}
.wp-block-button__link{padding:.78em 1.6em}
.wp-block-button.is-style-outline .wp-block-button__link{border-width:1.5px}
.wp-block-button__link:hover,.tp-bigbtn:hover,.tp-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(38,34,30,.18)}

.tp-bigbtn{
  display:inline-flex;align-items:center;gap:.5rem;padding:.95em 1.9em;
  font-size:1rem;line-height:1;
  background:var(--tp-clay);color:var(--tp-card)!important;
  text-decoration:none!important;background-image:none!important;
}
.tp-bigbtn:hover{background:var(--tp-clay-dark);box-shadow:0 12px 26px -14px rgba(168,95,61,.95)}

/* chips de la barra de accesos rápidos */
.tp-quickbar{background:var(--tp-card);border-bottom:1px solid var(--tp-line);padding-block:.85rem}
.tp-quickbar+.tp-band{padding-top:clamp(2.2rem,1.4rem + 2.4vw,3.6rem)}
.tp-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;max-width:none!important;justify-content:center}
.tp-chips a{
  font-family:var(--tp-sans);font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--tp-blue);background:rgba(45,89,97,.07);border:1px solid rgba(45,89,97,.14);
  border-radius:var(--tp-r-pill);padding:.42em .9em;white-space:nowrap;
  text-decoration:none;background-image:none!important;
  transition:background .2s var(--tp-ease),color .2s var(--tp-ease),border-color .2s var(--tp-ease),transform .2s var(--tp-ease);
}
.tp-chips a:hover{background:var(--tp-blue);border-color:var(--tp-blue);color:#fff;transform:translateY(-1px)}
@media (max-width:700px){
  .tp-quickbar{padding-block:.7rem}
  .tp-chips{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
  .tp-chips::-webkit-scrollbar{display:none}
}

/* etiquetas pequeñas (tipo / zona) compartidas por tarjetas, mapa y ficha */
.tp-card-type,.tp-card-zone{
  display:inline-flex;align-items:center;
  font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;line-height:1.3;
  padding:4px 9px;border-radius:var(--tp-r-pill);
}
.tp-card-type{background:color-mix(in srgb,var(--tp-c,var(--tp-blue)) 15%,#fff);color:color-mix(in srgb,var(--tp-c,var(--tp-blue)) 72%,var(--tp-ink))}
.tp-card-zone{background:rgba(168,95,61,.10);color:var(--tp-clay)}

/* ==================================================================
   7 · SECCIONES DE PÁGINA
   ================================================================== */
.tp-band{padding-block:clamp(3rem,6.5vw,5.5rem)}
.tp-band+.tp-band{margin-top:0}
.tp-band-sand{background:var(--tp-sand)}
.tp-band-blue{background:var(--tp-blue-dark);color:var(--tp-sand)}
.tp-band-blue h2,.tp-band-blue h3{color:var(--tp-card)}
.tp-band-blue p{color:#E3D6C2}
.tp-band-blue a{color:#E8C9AE}
.tp-band-blue .tp-eyebrow{color:#D9A87E}
.tp-band-blue .tp-lead{color:#C9BCA6}

/* encabezado de sección: comparte eje con la rejilla que presenta */
.tp-sec-head{
  max-width:var(--tp-wide)!important;margin-inline:auto!important;
  margin-bottom:clamp(1.6rem,3vw,2.6rem);
}
.tp-sec-head h2{margin-top:0!important;font-size:var(--tp-h2-lg);line-height:1.1;letter-spacing:-.018em}
.tp-sec-head .tp-eyebrow,.tp-sec-head h2{max-width:none}
.tp-sec-head .tp-lead{max-width:66ch}
.tp-eyebrow{
  font-family:var(--tp-sans);font-size:.8125rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;
  color:var(--tp-clay);margin:0 0 .55rem!important;max-width:none;
}
.tp-lead{font-size:clamp(1.02rem,.98rem + .22vw,1.15rem);color:var(--tp-muted);margin:0}
.tp-sec-more{margin-top:clamp(1.4rem,1rem + 1vw,2rem)!important;max-width:none}

/* entradilla de la home */
.tp-intro{max-width:var(--tp-wide)!important;margin-inline:auto!important;text-align:left}
.tp-intro-p{
  font-family:var(--tp-serif);font-weight:400;max-width:62ch!important;margin-inline:0!important;
  font-size:clamp(1.12rem,1.02rem + .5vw,1.42rem);line-height:1.52;color:var(--tp-blue-dark);text-wrap:pretty;
}

/* columnas de enlaces (organiza el viaje) */
.tp-linkcols{gap:clamp(1.6rem,1rem + 2.4vw,3.4rem)!important}
.tp-linkcols h3{margin-top:0!important;font-size:1.24rem}
.tp-linkcols ul,.tp-linkcols ul.wp-block-list{margin:0;padding-left:0!important;list-style:none;max-width:none!important}
.tp-linkcols ul.wp-block-list>li,.tp-linkcols li{position:relative;padding-left:1.15rem;margin-bottom:.6rem;color:var(--tp-muted);font-size:.98rem}
.tp-linkcols li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--tp-clay);opacity:.75}
.tp-linkcols li a{font-weight:600;color:var(--tp-blue-dark);background-image:none!important}
.tp-linkcols li a:hover{color:var(--tp-clay)}
@media (max-width:781px){.tp-linkcols{flex-wrap:wrap!important}.tp-linkcols .wp-block-column{flex-basis:100%!important}}

/* caja de llamada a la acción */
.tp-ctabox{
  max-width:780px!important;margin-inline:auto!important;text-align:center;
  background:var(--tp-card);border:1px solid var(--tp-line);border-radius:var(--tp-r-lg);
  padding:clamp(1.8rem,1.2rem + 2vw,3rem);box-shadow:var(--tp-sh1);
}
.tp-ctabox h2{margin-top:0!important;text-align:center}
.tp-ctabox .tp-lead{max-width:56ch;margin-inline:auto!important}
.tp-ctabox p{max-width:none}

/* separador ornamental */
.tp-orn{
  display:block;height:26px;margin:2.4rem auto 0;max-width:190px;opacity:.65;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 190 26'%3E%3Cg fill='none' stroke='%23A85F3D' stroke-width='1.2'%3E%3Cpath d='M0 13h62M128 13h62'/%3E%3Cpath d='M78 22V13l8-9 8 9v9' /%3E%3Cpath d='M95 22V13l8-9 8 9v9'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
}

@media (max-width:781px){
  .tp-band{padding-block:clamp(2.2rem,7vw,3.4rem)}
  .tp-ctabox,.tp-intro{padding:clamp(1.2rem,5vw,2rem)}
}

/* ==================================================================
   8 · TARJETAS DE LUGAR / CATEGORÍA (rejillas)
   ------------------------------------------------------------------
   Estas reglas están acotadas a .tp-grid: el mapa tiene sus propias
   .tp-card en mapa.css y no debe heredar nada de aquí.
   ================================================================== */
.tp-grid{
  --tp-c:var(--tp-blue);
  display:grid;gap:clamp(14px,2.2vw,26px);margin:26px 0;align-items:stretch;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.tp-grid *{box-sizing:border-box}
.tp-grid.tp-cols-1{grid-template-columns:1fr}
.tp-grid.tp-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tp-grid.tp-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.tp-grid.tp-cols-4{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){.tp-grid,.tp-grid.tp-cols-4,.tp-grid.tp-cols-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.tp-grid,.tp-grid.tp-cols-2,.tp-grid.tp-cols-3,.tp-grid.tp-cols-4{grid-template-columns:1fr}}

.tp-card-wrap{position:relative;display:flex;min-width:0}
.tp-card-wrap>.tp-card{flex:1;min-width:0}

.tp-grid .tp-card{
  position:relative;display:flex;flex-direction:column;gap:7px;height:100%;
  padding:18px 20px 18px 22px;overflow:hidden;
  background:var(--tp-card);border:1px solid var(--tp-line);border-radius:var(--tp-r);
  box-shadow:var(--tp-sh1);color:var(--tp-ink);font-family:var(--tp-sans);text-decoration:none;
  transition:transform .32s var(--tp-ease),box-shadow .32s var(--tp-ease),border-color .32s var(--tp-ease);
  will-change:transform;
}
.tp-grid .tp-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tp-c);opacity:.85}
.tp-grid .tp-card:hover,.tp-grid .tp-card:focus-visible{
  transform:translateY(-3px);box-shadow:var(--tp-sh2);
  border-color:color-mix(in srgb,var(--tp-c,var(--tp-blue)) 38%,var(--tp-line));
}
.tp-grid .tp-card:focus-visible{outline:2px solid var(--tp-blue);outline-offset:2px}
.tp-band-sand .tp-card,.tp-band-sand .tp-card-wrap>.tp-card{background:var(--tp-card)}

.tp-card-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tp-card-title{
  font-family:var(--tp-serif);font-weight:600;font-size:19px;line-height:1.25;color:var(--tp-blue-dark);margin-top:2px;
  transition:color .22s var(--tp-ease);
}
.tp-grid .tp-card:hover .tp-card-title{color:var(--tp-blue)}
.tp-card-sum{flex:1 1 auto;font-size:14.5px;line-height:1.5;color:var(--tp-muted)}
.tp-card-meta{
  margin-top:auto;padding-top:.7rem;
  border-top:1px solid color-mix(in srgb,var(--tp-line) 70%,transparent);
  font-size:.8125rem;font-weight:600;color:var(--tp-muted);letter-spacing:.2px;
}
.tp-card-term::before{background:var(--tp-blue)}

/* ilustración por categoría (cuando no hay foto) */
.tp-grid .tp-card.tp-art{padding-top:0}
.tp-card-art{
  display:block;position:relative;overflow:hidden;
  min-height:132px;margin:0 -20px 14px -22px;
  background-color:color-mix(in srgb,var(--tp-c,var(--tp-blue)) 11%,#FBF7EF);
  border-bottom:1px solid var(--tp-line);
  background-repeat:repeat-x;background-position:center bottom;background-size:auto 100%;
  transition:transform .55s var(--tp-ease),background-color .35s var(--tp-ease);transform-origin:50% 65%;
}
.tp-card-art::after{content:"";position:absolute;inset:auto 0 0 0;height:46%;background:linear-gradient(to bottom,rgba(255,253,248,0),rgba(255,253,248,.92))}
.tp-grid .tp-card:hover .tp-card-art{transform:scale(1.055)}
@media (min-width:900px){.tp-card-art{min-height:146px}}
@media (max-width:600px){.tp-grid .tp-card{padding:16px 18px 16px 20px}.tp-card-title{font-size:18px}.tp-card-art{min-height:118px;margin:0 -18px 12px -20px}}

.tp-art-arcos .tp-card-art{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 40' preserveAspectRatio='xMidYMax slice'%3E%3Cg fill='none' stroke='%232D5961' stroke-opacity='.34' stroke-width='1.3'%3E%3Cpath d='M4 40V18l10-12 10 12v22'/%3E%3Cpath d='M28 40V18l10-12 10 12v22'/%3E%3Cpath d='M52 40V18l10-12 10 12v22'/%3E%3Cpath d='M76 40V18l10-12 10 12v22'/%3E%3C/g%3E%3C/svg%3E")}
.tp-art-roseton .tp-card-art{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 40' preserveAspectRatio='xMidYMax slice'%3E%3Cg fill='none' stroke='%232D5961' stroke-opacity='.34' stroke-width='1.3'%3E%3Ccircle cx='48' cy='40' r='34'/%3E%3Ccircle cx='48' cy='40' r='23'/%3E%3Ccircle cx='48' cy='40' r='12'/%3E%3Cpath d='M48 6v34M14 40h68M24 16l48 48M72 16L24 64'/%3E%3C/g%3E%3C/svg%3E")}
.tp-art-reticula .tp-card-art{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 40' preserveAspectRatio='xMidYMax slice'%3E%3Cg fill='none' stroke='%232D5961' stroke-opacity='.34' stroke-width='1.3'%3E%3Cpath d='M0 40C8 20 16 20 24 40S40 20 48 40 64 20 72 40 88 20 96 40'/%3E%3Cpath d='M0 40C8 30 16 30 24 40S40 30 48 40 64 30 72 40 88 30 96 40'/%3E%3C/g%3E%3C/svg%3E")}
.tp-art-fachadas .tp-card-art{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 40' preserveAspectRatio='xMidYMax slice'%3E%3Cg fill='none' stroke='%232D5961' stroke-opacity='.34' stroke-width='1.3'%3E%3Crect x='8' y='12' width='14' height='28' rx='1.5'/%3E%3Cpath d='M15 12v28'/%3E%3Crect x='32' y='8' width='14' height='32' rx='1.5'/%3E%3Cpath d='M39 8v32'/%3E%3Crect x='56' y='14' width='14' height='26' rx='1.5'/%3E%3Cpath d='M63 14v26'/%3E%3Crect x='80' y='10' width='14' height='30' rx='1.5'/%3E%3Cpath d='M87 10v30'/%3E%3C/g%3E%3C/svg%3E")}
.tp-art-pavimento .tp-card-art{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 40' preserveAspectRatio='xMidYMax slice'%3E%3Cg fill='none' stroke='%232D5961' stroke-opacity='.34' stroke-width='1.3'%3E%3Cpath d='M0 22L12 10l12 12-12 12z'/%3E%3Cpath d='M24 22L36 10l12 12-12 12z'/%3E%3Cpath d='M12 10V0M36 10V0M12 34v10M36 34v10'/%3E%3C/g%3E%3C/svg%3E")}
.tp-art-hojas .tp-card-art{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 40' preserveAspectRatio='xMidYMax slice'%3E%3Cg fill='none' stroke='%23A85F3D' stroke-opacity='.34' stroke-width='1.3'%3E%3Cpath d='M12 40c0-14 7-23 17-27-3 15-8 24-17 27z'/%3E%3Cpath d='M14 38c4-9 9-16 14-20'/%3E%3Cpath d='M50 40c0-14 7-23 17-27-3 15-8 24-17 27z'/%3E%3Cpath d='M52 38c4-9 9-16 14-20'/%3E%3Cpath d='M88 40c0-10 4-17 10-21'/%3E%3C/g%3E%3C/svg%3E")}
.tp-art-olas .tp-card-art{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 40' preserveAspectRatio='xMidYMax slice'%3E%3Cg fill='none' stroke='%23A85F3D' stroke-opacity='.34' stroke-width='1.3'%3E%3Cpath d='M0 14q12-8 24 0t24 0 24 0 24 0'/%3E%3Cpath d='M0 24q12-8 24 0t24 0 24 0 24 0'/%3E%3Cpath d='M0 34q12-8 24 0t24 0 24 0 24 0'/%3E%3C/g%3E%3C/svg%3E")}
.tp-art-toldos .tp-card-art{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 40' preserveAspectRatio='xMidYMax slice'%3E%3Cg fill='none' stroke='%23A85F3D' stroke-opacity='.34' stroke-width='1.3'%3E%3Cpath d='M0 26h96'/%3E%3Cpath d='M8 26V6M20 26V6M32 26V6M44 26V6M56 26V6M68 26V6M80 26V6M92 26V6'/%3E%3Cpath d='M0 26q6 10 12 0t12 0 12 0 12 0 12 0 12 0 12 0 12 0'/%3E%3C/g%3E%3C/svg%3E")}
.tp-art-horizonte .tp-card-art{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 40' preserveAspectRatio='xMidYMax slice'%3E%3Cg fill='none' stroke='%232D5961' stroke-opacity='.34' stroke-width='1.3'%3E%3Cpath d='M0 32l16-16 12 12 14-18 16 22 12-10 26 10'/%3E%3Cpath d='M0 38h96'/%3E%3C/g%3E%3C/svg%3E")}

/* tarjeta con fotografía real */
.tp-card-photo{
  display:block;position:relative;height:180px;padding:0!important;overflow:hidden;
  background:var(--tp-sand)!important;background-image:none!important;
}
.tp-card-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%;transition:transform .6s var(--tp-ease)}
.tp-grid .tp-card:hover .tp-card-photo{transform:none}
.tp-grid .tp-card:hover .tp-card-photo img{transform:scale(1.06)}
.tp-card-photo::after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(to bottom,rgba(255,253,248,0),rgba(255,253,248,.55))}
@media (max-width:600px){.tp-card-photo{height:200px}}

/* botón «añadir a mi ruta» (alterna: añade / quita) */
.tp-card-add{
  position:absolute;top:10px;right:10px;z-index:2;
  width:38px;height:38px;border-radius:var(--tp-r-pill);
  display:flex;align-items:center;justify-content:center;
  border:1.5px solid rgba(45,89,97,.28);background:rgba(255,253,248,.92);color:var(--tp-blue);
  font:600 1.05rem/1 var(--tp-sans);cursor:pointer;
  box-shadow:0 2px 10px rgba(38,34,30,.16);backdrop-filter:blur(3px);
  transition:transform .22s var(--tp-ease),background .22s var(--tp-ease),color .22s var(--tp-ease),border-color .22s var(--tp-ease);
}
.tp-card-add:hover{transform:scale(1.1);background:var(--tp-blue);border-color:var(--tp-blue);color:#fff}
.tp-card-add.is-added{background:var(--tp-blue);border-color:var(--tp-blue);color:var(--tp-card);cursor:pointer}
.tp-card-add.is-added:hover{background:var(--tp-clay);border-color:var(--tp-clay);color:var(--tp-card);transform:scale(1.06)}
@media (max-width:781px){.tp-card-add{width:44px;height:44px}}

/* la misma pieza, como pastilla con texto, en la cabecera de la ficha */
.tp-card-add.tp-fichahead-add{
  top:auto;bottom:16px;right:16px;width:auto;height:auto;min-width:0;min-height:0;
  padding:.62em 1.15em;gap:.4rem;
  font-size:.88rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;line-height:1;
}
.tp-card-add.tp-fichahead-add:hover{transform:translateY(-1px);background:var(--tp-clay);border-color:var(--tp-clay);color:var(--tp-card)}

/* ==================================================================
   9 · FICHA DE LUGAR
   ================================================================== */
/* cabecera ilustrada (fichas sin foto) */
.tp-fichahead{
  position:relative;overflow:hidden;margin-bottom:1.6rem;
  border:1px solid var(--tp-line);border-radius:var(--tp-r-lg);background:var(--tp-sand-2);
}
.tp-fichahead .tp-card-art{height:clamp(120px,18vw,190px);min-height:0;margin:0;border-bottom:0}
.tp-fichahead::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--tp-c,var(--tp-blue));opacity:.9}
/* con foto destacada no hay cabecera ilustrada: el botón va en una barra bajo la foto */
.tp-fichahead-bar{display:flex;justify-content:flex-end;margin:-.4rem 0 .9rem}
.tp-fichahead-bar .tp-card-add{position:static;backdrop-filter:none}

/* bloque [lugar_extra]: datos prácticos + mapa + consejo + curiosidad + rutas + cerca */
.tp-lx{font-family:var(--tp-sans);color:var(--tp-ink);margin:30px 0 8px;line-height:1.55}
.tp-lx *{box-sizing:border-box}
.tp-lx-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.tp-lx-grid.nomap{grid-template-columns:1fr}

.tp-lx-card{background:var(--tp-card);border:1px solid var(--tp-line);border-radius:var(--tp-r-lg);padding:22px 24px;box-shadow:var(--tp-sh1)}
.tp-lx-h{font-family:var(--tp-serif);font-weight:600;font-size:19px;color:var(--tp-blue-dark);margin:0 0 12px}
.tp-lx-card ul{list-style:none;margin:0;padding:0}
.tp-lx-card li{display:flex;flex-direction:column;gap:3px;padding:12px 0;border-top:1px solid var(--tp-line)}
.tp-lx-card li:first-child{border-top:0;padding-top:0}
.tp-lx-card li span{font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--tp-muted)}
.tp-lx-card li b{font-weight:500;font-size:15.5px;color:var(--tp-ink)}
.tp-lx-card li a{color:var(--tp-blue);text-decoration:none;word-break:break-word;border-bottom:1px solid rgba(45,89,97,.3)}
.tp-lx-card li a:hover{color:var(--tp-blue-dark);border-bottom-color:var(--tp-blue-dark)}
.tp-lx-btn{
  display:flex;align-items:center;justify-content:center;margin-top:18px;padding:13px;
  background:var(--tp-blue);color:#fff!important;text-decoration:none;font-weight:600;font-size:15px;
  border-radius:var(--tp-r-pill);transition:background .2s var(--tp-ease),transform .2s var(--tp-ease);
}
.tp-lx-btn:hover{background:var(--tp-blue-dark);transform:translateY(-1px)}

.tp-lx-mapwrap{border:1px solid var(--tp-line);border-radius:var(--tp-r-lg);overflow:hidden;background:var(--tp-blue-soft);box-shadow:var(--tp-sh1)}
.tp-lx #tp-ficha-map{height:340px;width:100%}
.tp-fmpin{display:block;width:16px;height:16px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.4)}

.tp-lx-box{border-radius:var(--tp-r);padding:18px 20px;margin-top:22px;border:1px solid var(--tp-line)}
.tp-lx-box .h{font-family:var(--tp-serif);font-weight:600;font-size:18px;margin-bottom:6px}
.tp-lx-box p{margin:0;font-size:16px}
.tp-lx-box.tip{background:#EEF3F1;border-color:#D5E1DB}
.tp-lx-box.tip .h{color:var(--tp-blue)}
.tp-lx-box.cur{background:#FBF1E8;border-color:#E7D7C6}
.tp-lx-box.cur .h{color:var(--tp-clay)}

.tp-lx-rutas{margin-top:22px;font-size:15px;color:var(--tp-muted);display:flex;flex-wrap:wrap;gap:.35rem .6rem;align-items:center}
.tp-lx-rutas .h{font-weight:700;color:var(--tp-ink)}
.tp-lx-rutas a{
  color:var(--tp-clay);text-decoration:none;font-weight:600;font-size:.9rem;
  background:rgba(168,95,61,.08);border:1px solid rgba(168,95,61,.18);border-radius:var(--tp-r-pill);padding:.3em .8em;
  transition:background .18s var(--tp-ease),color .18s var(--tp-ease),border-color .18s var(--tp-ease);
}
.tp-lx-rutas a:hover{background:var(--tp-clay);border-color:var(--tp-clay);color:#fff}

.tp-lx-back{margin-top:26px}
.tp-lx-back a{color:var(--tp-blue);font-weight:700;text-decoration:none;font-size:16px}
.tp-lx-back a:hover{text-decoration:underline}

/* qué ver cerca */
.tp-lx-near{margin-top:28px}
.tp-lx-near .tp-near-h{font-family:var(--tp-serif);font-weight:600;font-size:21px;color:var(--tp-blue-dark);margin:0 0 14px;padding:0;border:0}
.tp-near-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tp-near-item{
  display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:56px;
  padding:13px 16px;text-decoration:none;
  background:var(--tp-card);background-image:none;border:1px solid var(--tp-line);border-radius:var(--tp-r);
  transition:border-color .15s,transform .15s,background-color .15s;
}
.tp-near-item:hover{background-image:none;background-color:#FBF4E8;border-color:var(--tp-blue);transform:translateY(-1px)}
.tp-near-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.tp-near-txt b{font-weight:600;font-size:16px;line-height:1.25;color:var(--tp-blue-dark)}
.tp-near-item:hover .tp-near-txt b{color:var(--tp-blue-dark)}
.tp-near-txt small{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--tp-muted)}
.tp-near-d{flex:none;font-size:13px;font-weight:600;color:var(--tp-blue);white-space:nowrap}
.tp-near-note{margin:10px 0 0;font-size:12.5px;color:var(--tp-muted)}

@media (max-width:780px){
  .tp-lx-grid{grid-template-columns:1fr}
  .tp-lx #tp-ficha-map{height:240px}
  .tp-near-list{grid-template-columns:1fr}
  .tp-near-item{padding:14px 16px;min-height:60px}
  .tp-lx-near .tp-near-h{font-size:19px}
}

/* ==================================================================
   10 · MAPA DE TÉRMINO (ruta, zona, tipo) Y MAPA BASE
   ================================================================== */
.tp-rutamap-wrap{margin:24px 0 6px}
.tp-rutamap{height:420px;border-radius:var(--tp-r);border:1px solid var(--tp-line);overflow:hidden;z-index:0;isolation:isolate}
.tp-rutamap .leaflet-container{font-family:inherit}
.tp-rutamap-wrap .tp-near-note{margin:8px 2px 0;font-family:var(--tp-sans)}
/* punto simple: zonas y tipos no son un recorrido, no llevan numero ni linea */
.tp-rdot{
  display:block;width:15px;height:15px;border-radius:50%;
  background:var(--tp-blue);border:2.5px solid var(--tp-card);
  box-shadow:0 1px 4px rgba(23,58,66,.35);
}
.tp-rnum{
  display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;
  background:var(--tp-blue);color:#fff;font:600 13px/1 var(--tp-sans);
  box-shadow:0 1px 4px rgba(23,58,66,.35);border:2px solid var(--tp-card);
}
@media (max-width:620px){.tp-rutamap{height:320px}}

/* tono del mapa base (OpenStreetMap): sobrio pero legible */
.leaflet-tile-pane{filter:grayscale(.58) saturate(.68) sepia(.08) brightness(1.04) contrast(.96)}

/* ==================================================================
   11 · PLANIFICADOR «CREA TU RUTA»
   ================================================================== */
.tp-plan{--tp-c:var(--tp-blue);font-family:var(--tp-sans);margin:2rem 0}
.tp-plan *{box-sizing:border-box}
.tp-plan-wizard{
  background:var(--tp-card);border:1px solid var(--tp-line);border-radius:var(--tp-r-lg);
  padding:clamp(1.4rem,1rem + 1.6vw,2.4rem);box-shadow:var(--tp-sh1);
}
.tp-plan-h{font-family:var(--tp-serif);font-weight:500;color:var(--tp-blue-dark);font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);margin:0 0 .4em;line-height:1.15}
.tp-plan-lead{color:var(--tp-muted);margin:0 0 1.8rem;max-width:62ch}
.tp-plan-q{margin-bottom:1.5rem}
.tp-plan-lbl{display:block;font-weight:600;color:var(--tp-blue-dark);margin-bottom:.6rem;font-size:1rem}
.tp-plan-lbl em{font-style:normal;font-weight:400;color:var(--tp-muted);font-size:.87em}
.tp-opts{display:flex;flex-wrap:wrap;gap:.5rem}
.tp-opt{
  font:600 .9rem/1 var(--tp-sans);color:var(--tp-blue);background:rgba(45,89,97,.06);
  border:1.5px solid rgba(45,89,97,.18);border-radius:var(--tp-r-pill);padding:.62em 1.05em;cursor:pointer;transition:all .15s ease;
}
.tp-opt:hover{border-color:var(--tp-blue);background:rgba(45,89,97,.12)}
.tp-opt.is-on{background:var(--tp-blue);border-color:var(--tp-blue);color:var(--tp-card)}
.tp-plan-go{
  margin-top:.6rem;font:600 1rem/1 var(--tp-sans);color:var(--tp-card);background:var(--tp-clay);
  border:0;border-radius:var(--tp-r-pill);padding:.95em 2.1em;cursor:pointer;letter-spacing:.01em;
  transition:transform .15s ease,box-shadow .15s ease,background-color .15s;
}
.tp-plan-go:hover{background:var(--tp-clay-dark);transform:translateY(-1px);box-shadow:0 10px 24px -12px rgba(168,95,61,.9)}

.tp-plan-head{border-bottom:1px solid var(--tp-line);padding-bottom:1.3rem;margin-bottom:1.8rem}
.tp-plan-sum{color:var(--tp-muted);margin:.2rem 0 1.1rem;max-width:none}
.tp-plan-sum strong{color:var(--tp-blue-dark)}
.tp-plan-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.tp-plan-btn{
  font:600 .92rem/1 var(--tp-sans);border-radius:var(--tp-r-pill);padding:.72em 1.35em;cursor:pointer;
  background:var(--tp-card);border:1.5px solid var(--tp-line);color:var(--tp-blue-dark);transition:all .15s ease;
}
.tp-plan-btn:hover{border-color:var(--tp-blue);color:var(--tp-blue)}
.tp-plan-btn.is-primary{background:var(--tp-blue);border-color:var(--tp-blue);color:var(--tp-card)}
.tp-plan-btn.is-primary:hover{background:var(--tp-blue-dark);border-color:var(--tp-blue-dark);color:var(--tp-card)}
.tp-plan-btn.is-quiet{background:transparent;border-color:transparent;color:var(--tp-muted)}
.tp-plan-btn.is-quiet:hover{color:var(--tp-clay)}

.tp-day{margin-bottom:2.4rem}
.tp-day-head{display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap;margin-bottom:.9rem}
.tp-day-head h3{font-family:var(--tp-serif);font-weight:500;color:var(--tp-blue-dark);margin:0;font-size:1.5rem}
.tp-day-meta{color:var(--tp-muted);font-size:.9rem}
.tp-day-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:1.2rem;align-items:start}
.tp-day-map{height:360px;border-radius:var(--tp-r);border:1px solid var(--tp-line);overflow:hidden;position:sticky;top:88px;isolation:isolate}
.tp-stops{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}
.tp-stop{
  display:flex;align-items:center;gap:.85rem;position:relative;overflow:hidden;
  background:var(--tp-card);border:1px solid var(--tp-line);border-radius:var(--tp-r);padding:.8rem 1rem .8rem 1.1rem;
}
.tp-stop::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tp-c);opacity:.85}
.tp-stop-n{flex:none;width:28px;height:28px;border-radius:50%;background:var(--tp-blue);color:var(--tp-card);display:flex;align-items:center;justify-content:center;font:600 .85rem/1 var(--tp-sans)}
.tp-stop-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.tp-stop-name{font-family:var(--tp-serif);font-weight:600;font-size:1.05rem;color:var(--tp-blue-dark);text-decoration:none;background-image:none!important}
.tp-stop-name:hover{color:var(--tp-clay)}
.tp-stop-meta{font-size:.8rem;color:var(--tp-muted);letter-spacing:.01em}
.tp-stop-acts{display:flex;gap:.2rem;flex:none}
.tp-stop-acts button{
  width:30px;height:30px;border-radius:8px;border:1px solid transparent;background:transparent;
  color:var(--tp-muted);cursor:pointer;font-size:.85rem;line-height:1;transition:all .14s ease;
}
.tp-stop-acts button:hover{background:rgba(45,89,97,.09);color:var(--tp-blue-dark);border-color:rgba(45,89,97,.18)}
.tp-stop-acts button[data-act=del]:hover{background:rgba(168,95,61,.12);color:var(--tp-clay);border-color:rgba(168,95,61,.28)}
.tp-day-foot{margin:.9rem 0 0}
.tp-gmaps{font-size:.9rem;font-weight:600}

.tp-pool{border-top:1px solid var(--tp-line);padding-top:1.6rem;margin-top:1rem}
.tp-pool h3{font-family:var(--tp-serif);font-weight:500;color:var(--tp-blue-dark);margin:0 0 .8rem;font-size:1.3rem}
.tp-pool-q{
  width:100%;max-width:520px;font:400 1rem/1.4 var(--tp-sans);color:var(--tp-ink);
  background:var(--tp-card);border:1.5px solid var(--tp-line);border-radius:var(--tp-r-pill);padding:.72em 1.1em;margin-bottom:1rem;
}
.tp-pool-q:focus{outline:none;border-color:var(--tp-blue)}
.tp-pool-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.6rem}
.tp-pool-item{
  position:relative;overflow:hidden;text-align:left;display:flex;flex-direction:column;gap:3px;
  background:var(--tp-card);border:1px solid var(--tp-line);border-radius:var(--tp-r);padding:.75rem .9rem .75rem 1rem;cursor:pointer;transition:all .15s ease;
}
.tp-pool-item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tp-c);opacity:.8}
.tp-pool-item:hover{border-color:var(--tp-blue);transform:translateY(-1px)}
.tp-pool-name{font-family:var(--tp-serif);font-weight:600;color:var(--tp-blue-dark);font-size:1rem;line-height:1.2}
.tp-pool-meta{font-size:.78rem;color:var(--tp-muted);text-transform:uppercase;letter-spacing:.05em}
.tp-pool-add{font-size:.78rem;font-weight:700;color:var(--tp-clay);letter-spacing:.03em;text-transform:uppercase;margin-top:.3rem}

.tp-toast{
  position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:9999;
  background:var(--tp-blue-dark);color:var(--tp-card);font:600 .9rem/1 var(--tp-sans);
  padding:.85em 1.4em;border-radius:var(--tp-r-pill);box-shadow:0 10px 30px -10px rgba(23,58,66,.7);transition:opacity .5s ease;
}
.tp-toast.is-out{opacity:0}

/* píldora flotante «Mi ruta» */
.tp-mirutapill{
  position:fixed;right:18px;bottom:18px;z-index:40;display:inline-flex;align-items:center;gap:.5rem;
  background:var(--tp-blue-dark);color:var(--tp-card)!important;font:600 .92rem/1 var(--tp-sans);
  padding:.85em 1.25em;border-radius:var(--tp-r-pill);text-decoration:none!important;background-image:none!important;
  box-shadow:0 12px 30px -12px rgba(23,58,66,.8);transition:transform .16s ease,background-color .16s ease;
}
.tp-mirutapill:hover{background:var(--tp-clay);transform:translateY(-2px)}
.tp-mirutapill span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:var(--tp-r-pill);background:rgba(255,253,248,.2);font-size:.8rem;padding:0 .4em}

@media (max-width:900px){.tp-day-grid{grid-template-columns:1fr}.tp-day-map{height:280px;position:static;order:-1}}
@media (max-width:620px){
  .tp-stop{flex-wrap:wrap;gap:.6rem}.tp-stop-acts{margin-left:auto}
  .tp-plan-actions{flex-direction:column;align-items:stretch}.tp-plan-btn{width:100%}
  .tp-mirutapill{right:12px;bottom:12px;font-size:.86rem;padding:.75em 1.1em}
}

/* ==================================================================
   12 · PIE
   ================================================================== */
footer.wp-block-template-part{background:var(--tp-blue-dark);color:#DCCEB8;margin-top:clamp(3rem,2rem + 3vw,5rem)}
footer.wp-block-template-part .wp-block-site-title a,footer.wp-block-template-part h1,
footer.wp-block-template-part h2,footer.wp-block-template-part h3{color:var(--tp-card)}
/* el roseton dorado ya contrasta sobre el azul del pie: sin filtro */
footer.wp-block-template-part a{color:#DCCEB8;text-decoration:none;border-bottom:1px solid transparent;transition:color .2s var(--tp-ease),border-color .2s var(--tp-ease)}
footer.wp-block-template-part a:hover{color:var(--tp-card);border-bottom-color:rgba(255,253,248,.45)}
footer.wp-block-template-part p{color:#BCAE98}

.tp-footer{padding-block:clamp(3rem,2rem + 3vw,4.6rem) 0;position:relative}
.tp-footer::before{
  content:"";position:absolute;top:0;left:0;right:0;height:22px;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 22'%3E%3Cg fill='none' stroke='%23DCCEB8' stroke-opacity='.22' stroke-width='1.1'%3E%3Cpath d='M4 22V12l10-10 10 10v10'/%3E%3Cpath d='M28 22V12l10-10 10 10v10'/%3E%3Cpath d='M52 22V12l10-10 10 10v10'/%3E%3Cpath d='M76 22V12l10-10 10 10v10'/%3E%3C/g%3E%3C/svg%3E") repeat-x center/auto 100%;
}
.tp-footer-cols{gap:clamp(1.6rem,1rem + 2.2vw,3.2rem)!important}
.tp-footer .wp-block-site-title a{font-size:1.42rem;color:var(--tp-card)}
.tp-footer-claim{color:#B3A691!important;font-size:.95rem;line-height:1.62;margin-top:.95rem;max-width:36ch}
.tp-footer-h{font-family:var(--tp-sans)!important;font-size:.78rem!important;letter-spacing:.15em;text-transform:uppercase;color:#8FA9A4!important;margin:0 0 1rem!important;font-weight:700!important}
.tp-footer-nav{gap:.58rem!important;align-items:flex-start!important}
.tp-footer-nav .wp-block-navigation-item__content{font-size:.93rem;color:#DCCEB8;border-bottom:1px solid transparent!important;padding:0}
.tp-footer-nav .wp-block-navigation-item__content:hover{color:var(--tp-card);border-bottom-color:rgba(255,253,248,.4)!important}
.tp-footer a:hover{color:var(--tp-gold)}
.tp-footer-bottom{margin-top:clamp(2.2rem,1.6rem + 2vw,3.4rem);padding-block:1.35rem;border-top:1px solid rgba(220,206,184,.16)}
.tp-footer-bottom p{color:#8E8270!important;margin:0!important;font-size:.84rem!important;max-width:none}
@media (max-width:781px){
  .tp-footer-cols{flex-wrap:wrap!important}
  .tp-footer-cols .wp-block-column{flex-basis:100%!important;min-width:0}
  .tp-footer-cols .wp-block-column:first-child{margin-bottom:.6rem}
  .tp-footer-bottom{flex-direction:column;align-items:flex-start;gap:.4rem}
  .tp-footer a,.tp-footer-bottom a{min-height:40px;display:inline-flex;align-items:center}
}

/* ==================================================================
   13 · IMPRESIÓN (PDF del planificador)
   ================================================================== */
.tp-print{display:none}
@media print{
  @page{size:A4;margin:17mm 15mm}
  html,body{background:#fff!important;margin:0!important;padding:0!important}
  body>*{display:none!important}
  body>#tp-print-root{display:block!important}
  #wpadminbar,.tp-mirutapill{display:none!important}

  .tp-print-doc{font-family:"Hanken Grotesk",system-ui,sans-serif;color:#26221E;font-size:10.5pt;line-height:1.5}
  .tp-print-doc h1,.tp-print-doc h2,.tp-print-doc h3{font-family:"Fraunces",Georgia,serif;font-weight:500;color:#173A42;margin:0}

  .tp-print-cover{height:232mm;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;page-break-after:always;border-top:3px solid #A85F3D;border-bottom:1px solid #DCD0BC}
  .tp-print-mark{display:block;width:66mm;height:auto;margin:0 auto 11mm}
  .tp-print-cover h1{font-size:30pt;line-height:1.08;letter-spacing:-.01em;margin-bottom:6mm}
  .tp-print-sub{font-size:12pt;color:#2D5961;margin:0 0 3mm;letter-spacing:.01em}
  .tp-print-date{font-size:9.5pt;color:#7A7167;margin:0 0 22mm}
  .tp-print-brand{font-size:9pt;color:#7A7167;letter-spacing:.09em;text-transform:uppercase;margin:0}

  .tp-print-index{page-break-after:always}
  .tp-print-index h2{font-size:19pt;margin-bottom:8mm;padding-bottom:3mm;border-bottom:1px solid #DCD0BC}
  .tp-print-daybox{margin-bottom:9mm;page-break-inside:avoid}
  .tp-print-daybox h3{font-size:13pt;color:#A85F3D;margin-bottom:3mm}
  .tp-print-daybox h3 small{font-family:"Hanken Grotesk",sans-serif;font-weight:400;font-size:9pt;color:#7A7167;letter-spacing:.02em}
  .tp-print-daybox ol{margin:0;padding-left:6mm}
  .tp-print-daybox li{margin-bottom:1.6mm;font-size:10pt}
  .tp-print-daybox li b{font-weight:600;color:#173A42}
  .tp-print-daybox li span{color:#7A7167;font-size:9pt}

  .tp-print-day{page-break-before:always}
  .tp-print-day h2{font-size:22pt;color:#173A42;margin-bottom:7mm;padding-bottom:3mm;border-bottom:2px solid #A85F3D}
  .tp-print-stop{page-break-inside:avoid;margin-bottom:8mm;padding-bottom:6mm;border-bottom:1px solid #E8DECC}
  .tp-print-stop:last-child{border-bottom:0}
  .tp-print-stop header{display:flex;gap:5mm;align-items:flex-start;margin-bottom:3.5mm}
  .tp-print-stop .n{flex:none;width:9mm;height:9mm;border-radius:50%;background:#2D5961;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11pt;font-weight:600;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .tp-print-stop h3{font-size:15pt;line-height:1.15}
  .tp-print-stop .meta{margin:1mm 0 0;font-size:8.5pt;color:#A85F3D;letter-spacing:.09em;text-transform:uppercase}
  .tp-print-stop .txt{margin:0 0 4mm;text-align:justify;hyphens:auto}
  .tp-print-stop .data{list-style:none;margin:0 0 3.5mm;padding:3.5mm 4.5mm;background:#F6F0E6;border-radius:3mm;-webkit-print-color-adjust:exact;print-color-adjust:exact;column-count:2;column-gap:7mm}
  .tp-print-stop .data li{break-inside:avoid;margin-bottom:2.2mm;font-size:9.3pt;line-height:1.4}
  .tp-print-stop .data b{display:block;font-size:7.6pt;letter-spacing:.1em;text-transform:uppercase;color:#7A7167;font-weight:700}
  .tp-print-stop .data span{color:#26221E}
  .tp-print-stop .tip{margin:0;padding:3mm 4mm;border-left:2.5px solid #A85F3D;background:#FBF2E9;font-size:9.6pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .tp-print-stop .tip b{color:#A85F3D;letter-spacing:.06em;text-transform:uppercase;font-size:8pt}

  .tp-print-foot{margin-top:10mm;padding-top:5mm;border-top:1px solid #DCD0BC;font-size:8.6pt;color:#7A7167;text-align:center}
  .tp-print-foot::before{content:"";display:block;height:16px;margin:0 auto 4mm;max-width:150px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 190 26'%3E%3Cg fill='none' stroke='%23A85F3D' stroke-width='1.1'%3E%3Cpath d='M0 13h64M126 13h64'/%3E%3Cpath d='M78 22V13l8-9 8 9v9'/%3E%3Cpath d='M95 22V13l8-9 8 9v9'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
}

/* ==================================================================
   14 · MOVIMIENTO
   ================================================================== */
.tp-reveal{opacity:0;transform:translateY(18px)}
body.tp-js .tp-reveal{transition:opacity .7s var(--tp-ease),transform .7s var(--tp-ease)}
.tp-reveal.tp-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .tp-reveal{opacity:1;transform:none}
}

/* ==================================================================
   15. RUTAS: datos del recorrido, silueta e itinerario numerado
   ================================================================== */

/* barra de datos bajo el titulo de la ruta */
.tp-rstats{
  list-style:none;margin:18px 0 4px;padding:0;
  display:flex;flex-wrap:wrap;gap:6px 26px;
  font:400 .95rem/1.5 var(--tp-sans);color:var(--tp-muted);
  font-variant-numeric:tabular-nums;
}
.tp-rstats li{display:flex;gap:6px;align-items:baseline}
.tp-rstats b{color:var(--tp-ink);font-weight:600}

.tp-rcard-meta{font-variant-numeric:tabular-nums}

/* itinerario numerado de la pagina de ruta */
.tp-itin{list-style:none;margin:26px 0 0;padding:0}
.tp-itin-item{position:relative;padding-left:54px}
.tp-itin-item::before{
  content:"";position:absolute;left:18px;top:46px;bottom:-2px;width:2px;background:var(--tp-line);
}
.tp-itin-item:last-child::before{display:none}
.tp-itin-num{
  position:absolute;left:0;top:16px;width:38px;height:38px;border-radius:var(--tp-r-pill);
  display:flex;align-items:center;justify-content:center;
  background:var(--tp-blue);color:var(--tp-card);
  font:700 .8rem/1 var(--tp-sans);letter-spacing:.03em;font-variant-numeric:tabular-nums;
}
.tp-itin-link{
  display:grid;grid-template-columns:1fr auto;gap:4px 22px;align-items:start;
  padding:16px 46px 20px 0;border-bottom:1px solid var(--tp-line);
  text-decoration:none;color:inherit;
}
.tp-itin-item:last-child .tp-itin-link{border-bottom:0}
.tp-itin-main{min-width:0}
.tp-itin-tags{
  display:flex;flex-wrap:wrap;gap:4px 10px;margin-bottom:3px;
  font:700 .655rem/1.4 var(--tp-sans);letter-spacing:.13em;text-transform:uppercase;
  color:var(--tp-muted);
}
.tp-itin-type{color:var(--tp-clay)}
.tp-itin-title{
  display:block;font-family:var(--tp-serif);font-size:1.16rem;font-weight:600;
  line-height:1.25;color:var(--tp-blue-dark);
}
.tp-itin-link:hover .tp-itin-title{color:var(--tp-clay)}
.tp-itin-sum{display:block;margin-top:4px;font:400 .94rem/1.55 var(--tp-sans);color:var(--tp-muted)}
.tp-itin-min{
  font:400 .82rem/1.5 var(--tp-sans);color:var(--tp-muted);white-space:nowrap;padding-top:2px;
  font-variant-numeric:tabular-nums;
}
.tp-itin-add{position:absolute;top:16px;right:0}
.tp-itin-leg{
  position:absolute;left:19px;bottom:-11px;transform:translateX(-50%);
  display:inline-flex;align-items:center;height:22px;padding:0 9px;
  border-radius:var(--tp-r-pill);border:1px solid var(--tp-line);background:var(--tp-paper);
  font:600 .68rem/1 var(--tp-sans);letter-spacing:.04em;color:var(--tp-muted);
  font-variant-numeric:tabular-nums;white-space:nowrap;
}
@media (max-width:781px){
  .tp-itin-item{padding-left:46px}
  .tp-itin-item::before{left:16px}
  .tp-itin-num{width:34px;height:34px;font-size:.74rem}
  .tp-itin-leg{left:17px}
  .tp-itin-link{grid-template-columns:1fr;gap:2px;padding-right:54px}
  .tp-itin-min{padding-top:6px}
}

/* ==================================================================
   16. FICHA EN DOS COLUMNAS: prosa a la izquierda, datos a la derecha
   ================================================================== */

.tp-ficha-cols{margin-top:4px}
.tp-ficha-main .entry-content{margin-top:16px}

/* medida de lectura: la prosa deja de ocupar los 1080 px del contenedor */
.tp-ficha-main .entry-content > p,
.tp-ficha-main .entry-content > ul,
.tp-ficha-main .entry-content > ol,
.tp-ficha-main .entry-content > h2,
.tp-ficha-main .entry-content > h3,
.tp-ficha-main .entry-content > blockquote{max-width:68ch}
.tp-lx-box p{max-width:74ch}

.tp-ficha-aside .tp-lx-card{margin:0}

@media (min-width:1024px){
  .tp-ficha-cols{
    display:grid;grid-template-columns:minmax(0,1fr) 318px;
    column-gap:52px;align-items:start;
  }
  .tp-ficha-main{min-width:0}
  .tp-ficha-aside{position:sticky;top:122px}
  body.admin-bar .tp-ficha-aside{top:154px}
}
@media (max-width:1023px){
  .tp-ficha-aside{margin-top:26px}
}

/* si la tarjeta de datos vive en la columna lateral, el mini-mapa ocupa todo el ancho */
.tp-lx-grid.nocard{grid-template-columns:1fr}

/* ningun mapa puede pintarse por encima de la cabecera fija */
.leaflet-container{isolation:isolate}
.tp-lx-mapwrap{position:relative;z-index:0;isolation:isolate}
.tp-lx #tp-ficha-map{position:relative;z-index:0;isolation:isolate}


/* ==================================================================
   AJUSTES RESPONSIVE (revision 2026-09)
   ================================================================== */

/* el color del texto del sitio lo manda esta hoja, no theme.json */
html body{color:var(--tp-ink)}

/* planificador: en movil las acciones de cada parada bajan a su propia fila
   y pasan a 40px de area de pulsacion */
@media (max-width:620px){
.tp-stop{align-items:center}
.tp-stop-main{flex:1 1 auto;min-width:0}
.tp-stop-acts{flex:0 0 100%;justify-content:flex-end;gap:.4rem;margin-top:.15rem}
.tp-stop-acts button{width:40px;height:40px;font-size:1rem;border-color:var(--tp-line)}
}


/* menu: la hamburguesa manda hasta 900px.
   WordPress devuelve el menu horizontal a partir de 600px y se solapaban los dos. */
@media (min-width:600px) and (max-width:900px){
  .tp-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
}


/* La caja de CTA y la entradilla mantienen SU padding lateral aunque WordPress
   las marque como .has-global-padding anidada (regla de core que lo pone a 0).
   Se repite la clase para ganar en especificidad sin usar !important. */
.tp-ctabox.tp-ctabox{padding-inline:clamp(1.8rem,1.2rem + 2vw,3rem)}
@media (max-width:781px){
.tp-ctabox.tp-ctabox,.tp-intro.tp-intro{padding-inline:clamp(1.2rem,5vw,2rem)}
}


/* Portada: en movil el recorte es casi vertical y el punto focal de escritorio
   (50% 70%) deja medio cielo. Desplazado a la derecha entra la catedral entera.
   Lleva !important porque WordPress escribe object-position en el atributo style. */
@media (max-width:781px){
.wp-block-cover:has(.tp-hero-title) .wp-block-cover__image-background{object-position:55% 50%!important}
}


/* ==================================================================
   CHIPS Y COLUMNAS DE ENLACES: recuperan su color
   ------------------------------------------------------------------
   Los enlaces de .tp-chips y .tp-linkcols no llevan clase propia, asi
   que los pisaba la regla de prosa 'main p a:not([class])', mas
   especifica. En hover el texto quedaba azul oscuro sobre azul: 1,6:1
   de contraste, practicamente ilegible. Se repite la clase para ganar
   especificidad sin tocar la regla de prosa ni usar !important.
   ================================================================== */
.tp-chips.tp-chips a{color:var(--tp-blue);background:rgba(45,89,97,.09);border-color:rgba(45,89,97,.24)}
.tp-chips.tp-chips a:hover,
.tp-chips.tp-chips a:focus-visible{background:var(--tp-blue);border-color:var(--tp-blue);color:#fff}

.tp-linkcols.tp-linkcols li a{color:var(--tp-blue-dark)}
.tp-linkcols.tp-linkcols li a:hover{color:var(--tp-clay)}


/* ==========================================================
   Imágenes dentro del cuerpo de la ficha
   (segundas fotos: interiores y detalles, con pie)
   ========================================================== */
.tp-ficha-main figure.wp-block-image{
  margin:2.2rem 0;
}
.tp-ficha-main figure.wp-block-image img{
  display:block;
  width:100%;
  height:auto;
  border-radius:14px;
  border:1px solid var(--tp-line);
}
.tp-ficha-main figure.wp-block-image figcaption{
  margin:.75rem 0 0;
  padding-left:.75rem;
  border-left:3px solid var(--tp-gold);
  font-family:var(--tp-sans);
  font-size:.88rem;
  line-height:1.5;
  color:var(--tp-muted);
  text-align:left;
}
@media (max-width:600px){
  .tp-ficha-main figure.wp-block-image{margin:1.6rem 0}
  .tp-ficha-main figure.wp-block-image img{border-radius:10px}
}
