/* Mi viaje a Priego: piezas de toda la web (acceso del menú, guardar en fichas y listados, aviso). La página del planificador está en planner-page.css. */
.ptp{--ptp-navy:#253c78;--ptp-blue:#8eb4d6;--ptp-green:#87a159;--ptp-yellow:#c17f1a;--ptp-pink:#db6889;--ptp-gold:#c89628;--ptp-deep:#122236;--ptp-border:#d7e2ed;--ptp-soft:#f2f6fa;--ptp-ink:#27364d;color:var(--ptp-ink);font-family:Geist,Arial,sans-serif;font-size:14px;line-height:1.5}
.ptp *{box-sizing:border-box}
.ptp [hidden]{display:none!important}
.ptp button,.ptp input,.ptp select,.ptp textarea{font:inherit}
.ptp button{cursor:pointer}
.ptp button:disabled{cursor:default;opacity:.45}
.ptp a{color:var(--ptp-navy);text-decoration:none}
.ptp a:hover{text-decoration:underline}
.ptp h1,.ptp h2,.ptp h3,.ptp h4{font-family:'Rethink Sans',Geist,Arial,sans-serif;font-weight:600;letter-spacing:-.03em;line-height:1.12;margin:0}
.ptp p{margin:0}
.ptp button:focus-visible,.ptp a:focus-visible,.ptp input:focus-visible,.ptp select:focus-visible,.ptp textarea:focus-visible{outline:3px solid var(--ptp-blue);outline-offset:3px}
.ptp-eyebrow{font-size:10px!important;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ptp-yellow);line-height:1.5;margin-bottom:8px!important}
.ptp-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.ptp-ico{display:block;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Botones base (también los usa Explora Priego) */
.ptp-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:white;color:var(--ptp-navy);border:1px solid var(--ptp-border);padding:10px 15px;font-size:12px;font-weight:600;line-height:1.3;min-height:40px;transition:background .15s,color .15s}
.ptp-button:hover{background:#eaf1f7}
.ptp-button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.ptp-primary{background:var(--ptp-yellow);color:white;border-color:var(--ptp-yellow)}
.ptp-primary:hover{background:var(--ptp-navy);border-color:var(--ptp-navy);color:white}
.ptp-danger{color:#ae3652}
.ptp-icon-button{padding:5px;min-width:32px;min-height:32px;flex-shrink:0}
.ptp-loading{padding:45px;text-align:center;color:#64748b}
.ptp-page-main{background:#fff;min-height:75vh}

/* Acceso «Mi viaje a Priego» del menú superior: lleva a la página del planificador */
.ptp-top-nav{list-style:none;align-self:center}
.ptp-nav-open{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:6px 6px 6px 14px;border:1px solid #ffffff4d;border-radius:999px;background:#ffffff14;color:#fff!important;font:600 13px/1.3 Geist,Arial,sans-serif;letter-spacing:.02em;text-decoration:none!important;white-space:nowrap;transition:background-color .2s,border-color .2s}
.ptp-nav-open:has(>b[hidden]){padding-right:14px}
.ptp-nav-open:hover{background:#ffffff29;border-color:#ffffff8c}
/* Below 1536px the label does not fit beside the theme menu and the pill wrapped to a second row: icon and counter only. */
@media(width<1536px){.ptp-top-nav .ptp-nav-open{gap:7px;padding-top:3px;padding-bottom:3px;padding-left:11px}.ptp-top-nav .ptp-nav-open span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
/* Theme header on one row (1090px, its nav-break): a little less gap and padding so the pill fits instead of doubling the header height. */
@media(1090px<=width<1536px){header:has(.ptp-top-nav)>div{padding-left:16px;padding-right:16px}header ul:has(>.ptp-top-nav){column-gap:18px}}
/* Below 1090px the theme shows the links on their own row: same savings so that row does not wrap either. */
@media(768px<=width<1090px){header:has(.ptp-top-nav)>div:first-child{padding-left:16px;padding-right:16px;column-gap:14px}header ul:has(>.ptp-top-nav){column-gap:14px}}
@media(1090px<=width<1280px){header:has(.ptp-top-nav)>div,header ul:has(>.ptp-top-nav){column-gap:12px}header:has(.ptp-top-nav) input[name="s"]{width:6rem}header:has(.ptp-top-nav) input[name="s"]:focus{width:8rem}}
.ptp-nav-open svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.ptp-nav-open b{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--ptp-gold,#c89628);color:#fff;font-size:11px;font-weight:800}
.ptp-sidebar-entry{padding:18px 32px 12px}
.ptp-sidebar-entry .ptp-nav-open{width:100%;justify-content:flex-start;gap:12px;padding:13px 15px;border-radius:0;border-color:var(--dynamic-border,#ffffff26);background:var(--dynamic-hover,#ffffff0d);color:var(--dynamic-text,#fff)!important;font-size:14px;min-height:52px}
.ptp-sidebar-entry .ptp-nav-open:hover{background:var(--dynamic-border,#ffffff26)}
.ptp-sidebar-entry .ptp-nav-open b{margin-left:auto}
.ptp.ptp-menu-badge{position:absolute;top:-5px;right:-9px;display:flex;align-items:center;justify-content:center;min-width:27px;height:27px;padding:0 6px;border:2px solid var(--dynamic-bg,#000);border-radius:999px;background:var(--ptp-gold,#c89628);color:#fff!important;font:800 11px/1 Geist,Arial,sans-serif;text-decoration:none!important;z-index:2}
[data-trip-count][hidden]{display:none!important}
.ptp-nav-open:focus-visible,.ptp-menu-badge:focus-visible{outline:3px solid #8eb4d6;outline-offset:3px}

/* Guardar desde las tarjetas de lugares del tema (carruseles y listados) */
.priego-lugar-card{position:relative}
.ptp-listing-save{position:absolute;left:14px;right:auto;top:14px;z-index:40}
.carousel-slide .ptp-listing-save{top:16px;left:16px;bottom:auto;right:auto}
.ptp-listing-save .ptp-button{width:42px;height:42px;min-height:0;padding:0;border:1px solid #ffffff59;border-radius:999px;background:#00000059;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;box-shadow:0 6px 18px #00000033;transition:background-color .2s,border-color .2s,color .2s,transform .2s}
.ptp-listing-save .ptp-button:hover{background:#fff;border-color:#fff;color:var(--ptp-navy);transform:translateY(-1px)}
.ptp-listing-save .ptp-button svg{width:19px;height:19px}
.ptp-listing-save .ptp-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.ptp-listing-save .ptp-button.is-saved{background:var(--ptp-gold);border-color:var(--ptp-gold);color:#fff}
.ptp-listing-save .ptp-button.is-saved svg{fill:currentColor}
.priego-lugar-card-style-1:has(.ptp-listing-save) .priego-lugar-card__badges,.priego-lugar-card-style-2:has(.ptp-listing-save) .priego-lugar-card__badges{left:66px}

/* Guardar desde la ficha: misma píldora translúcida que las etiquetas de la cabecera */
.ptp-place-save{position:relative;z-index:2;margin-top:18px;letter-spacing:normal}
.ptp-place-save .ptp-save-detail{gap:9px;min-height:42px;padding:9px 18px 9px 14px;border:1px solid #ffffff59;border-radius:999px;background:#ffffff1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;font:800 11px/1.2 Geist,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;transition:background-color .2s,border-color .2s}
.ptp-place-save .ptp-save-detail:hover{background:#ffffff38;border-color:#ffffffa6}
.ptp-place-save .ptp-save-detail.is-saved{background:var(--ptp-gold);border-color:var(--ptp-gold)}
.ptp-place-save .ptp-save-detail.is-saved svg{fill:currentColor}

/* Aviso con «Deshacer» y acceso al viaje */
.ptp-toast{position:fixed;z-index:120000;left:50%;bottom:24px;display:flex;align-items:center;gap:6px 14px;max-width:min(680px,calc(100vw - 32px));padding:10px 10px 10px 20px;border-radius:999px;background:#122236f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 40px #00000040;color:#fff;font:500 14px/1.4 Geist,Arial,sans-serif;transform:translateX(-50%)}
.ptp-toast>span{min-width:0}
.ptp-toast>div{display:flex;flex-shrink:0;gap:6px}
.ptp-toast a,.ptp-toast button{display:inline-flex;align-items:center;min-height:34px;padding:7px 13px;border:0;border-radius:999px;background:#ffffff1f;color:var(--ptp-gold)!important;font:800 11px/1 Geist,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;text-decoration:none!important;white-space:nowrap}
.ptp-toast a:hover,.ptp-toast button:hover{background:#ffffff33}
.ptp-toast.has-days{flex-wrap:wrap;border-radius:20px;padding:12px 12px 12px 20px}
.ptp-toast.has-days>span{flex:1 1 100%}
.ptp-toast__days{display:flex;flex-wrap:wrap;gap:6px}
.ptp-toast .ptp-toast__days button{color:#fff!important}
.ptp-toast .ptp-toast__days button[aria-pressed="true"]{background:var(--ptp-gold);color:#122236!important}

.ptp-mapbox-credit{display:block;width:88px;height:23px;overflow:hidden}
.ptp-mapbox-credit img{display:block;width:88px;height:23px}

@media(max-width:640px){
.ptp-toast{bottom:16px;flex-wrap:wrap;border-radius:18px;padding:12px 12px 12px 16px;font-size:13px}
.ptp-sidebar-entry{padding:16px 24px 10px}
}
@media(prefers-reduced-motion:reduce){.ptp *{transition:none!important;scroll-behavior:auto!important}}
