/* sacredvalleyvip.com · where-to-have-lunch.css */
.prose table a{font-weight:700;text-decoration:none} .prose table a:hover{text-decoration:underline}

/* ===== dónde almorzar: chips, tarjetas por restaurante ===== */
.lfacts{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px} .lfacts span{background:#fff;border:1px solid var(--linea);border-radius:999px;padding:6px 12px;font-size:.86rem;font-weight:600} .lfacts b{color:var(--verde-texto)}
.rest4{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 30px} .rest{background:#fff;border:1px solid var(--linea);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s} .rest:hover{border-color:var(--verde);box-shadow:var(--sombra)} .rest.inc{border-color:var(--verde)} .rest4:hover .rest.inc:not(:hover){border-color:var(--linea)} .rest .ph{position:relative} .rest .ph img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#E5ECEA} .rest .sup{position:absolute;left:14px;top:14px;background:#1D2D2C;color:#fff;font-weight:800;border-radius:10px;padding:5px 10px;font-size:.9rem} .rest.inc .sup{background:var(--verde)} .rest .pick{position:absolute;right:14px;top:14px;background:rgba(255,255,255,.92);color:var(--verde-texto);font-weight:700;border-radius:999px;padding:4px 10px;font-size:.76rem}
.rest .bd{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1} .rest h3{margin:0;font-size:1.15rem} .rest .who{font-size:.84rem;color:var(--verde-texto);font-weight:700} .rest p{margin:0;color:var(--texto-suave);font-size:.92rem;flex:1} .rest .pr{display:flex;gap:6px;flex-wrap:wrap;font-size:.78rem;color:var(--texto-suave)} .rest .pr span{background:var(--fondo-claro);border-radius:6px;padding:3px 7px} .rest .pr b{color:var(--texto)} .rest .more{font-size:.88rem;font-weight:700;color:var(--verde-texto);text-decoration:none;margin-top:4px} .rest .more:hover{text-decoration:underline}
@media(max-width:720px){.rest4{grid-template-columns:1fr}}

/* ===== almuerzo 2.ª ronda: selector de ruta, precio grande, botón, tabla resaltada, qué no entra ===== */
.rsel{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px;background:#fff;border:1px solid var(--linea);border-radius:12px;padding:10px 14px} .rsel b{font-size:.9rem} .rsel .seg{display:flex;background:var(--fondo-claro);border-radius:10px;padding:3px;gap:3px;flex-wrap:wrap} .rsel .seg button{border:0;background:transparent;border-radius:8px;padding:7px 12px;font:inherit;font-size:.84rem;font-weight:600;color:var(--texto-suave);cursor:pointer} .rsel .seg button.on{background:#fff;color:var(--texto);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.rest .pr{display:none} .rest .big{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:4px} .rest .big b{font-size:1.5rem;color:var(--verde-texto);letter-spacing:-.02em} .rest .big small{font-size:.8rem;color:var(--texto-suave)} .rest .big em{font-style:normal;font-size:.8rem;color:var(--texto-suave);margin-left:auto}
.rest .book{display:inline-block;margin-top:8px;background:var(--verde);color:#fff;border-radius:10px;padding:9px 14px;font-weight:700;font-size:.9rem;text-decoration:none;text-align:center} .rest .book:hover{background:var(--btn-bg-h);text-decoration:none}
.tbl td.hl,.tbl th.hl{background:var(--tinte)}
.badge{font-size:.66rem;padding:2px 7px;line-height:1.2;white-space:nowrap;letter-spacing:.02em}
.extra{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 26px} .extra>div{background:var(--fondo-claro);border-radius:12px;padding:12px 14px;font-size:.9rem} .extra b{display:block;font-size:1.05rem;margin-bottom:4px} .extra span{display:block;font-size:.82rem;color:var(--texto-suave);line-height:1.35}
@media(max-width:720px){.extra{grid-template-columns:1fr} .rsel .seg{width:100%}}

/* ===== escalera de precios por ruta, 14 Inkas como mejor relación calidad-precio ===== */
.lad{background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:16px 22px;margin:12px 0} .lh b{display:block} .lh small{font-size:.8rem;color:var(--texto-suave)}
.lt{position:relative;height:150px;margin:8px 40px 0} .ln{position:absolute;left:0;right:0;top:78px;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--verde),#F2A83B)}
.ld{position:absolute;top:32px;transform:translateX(-50%);text-align:center;width:110px;transition:left .3s} .ld b{display:block;font-size:1.05rem;color:var(--verde-texto)} .ld i{display:block;width:18px;height:18px;border-radius:50%;background:#fff;border:4px solid var(--verde);margin:6px auto} .ld span{display:block;font-size:.84rem;font-weight:700} .ld small{display:block;font-weight:500;font-size:.72rem;color:var(--texto-suave)}
.ld.pk{top:0;width:130px;z-index:1} .ld.pk b{font-size:1.35rem} .ld.pk i{width:26px;height:26px;background:var(--verde);border-color:#fff;box-shadow:0 0 0 3px var(--verde),0 4px 10px rgba(42,169,116,.35);margin:2px auto 4px} .ld.pk span{color:var(--verde-texto)}
.bv{display:inline-block;font-style:normal;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:var(--verde);color:#fff;border-radius:999px;padding:3px 9px;margin-bottom:4px;white-space:nowrap}
.bvx{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--tinte);border:1px solid var(--verde);border-radius:12px;padding:12px 16px;margin-top:6px} .bvx>div{flex:1 1 300px} .bvx b{display:block} .bvx span{font-size:.86rem;color:var(--texto-suave);line-height:1.45} .bvx .btn{white-space:nowrap}
.all16{border:1px solid var(--linea);border-radius:var(--r);background:#fff;margin:10px 0 18px} .all16>summary{padding:14px 18px;font-weight:700;color:var(--verde-texto);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center} .all16>summary::-webkit-details-marker{display:none} .all16>summary::after{content:'+';font-size:1.3rem;line-height:1} .all16[open]>summary::after{content:'−'} .all16[open]>summary{border-bottom:1px solid var(--linea)} .all16>.tbl{margin:14px}
/* móvil: la escalera pasa a vertical */
@media(max-width:640px){.lad{padding:14px 16px} .lt{height:auto;margin:12px 0 4px;padding-left:4px} .ln{left:13px;right:auto;top:10px;bottom:10px;width:6px;height:auto;background:linear-gradient(180deg,var(--verde),#F2A83B)}
 .ld,.ld.pk{position:relative;left:auto!important;top:auto;transform:none;width:auto;text-align:left;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:8px 0} .ld i,.ld.pk i{grid-column:1;grid-row:1/3;margin:0 auto} .ld span{grid-column:2;grid-row:1} .ld b{grid-column:3;grid-row:1/3;font-size:1.05rem} .ld.pk b{font-size:1.2rem} .ld .bv{grid-column:2;grid-row:2;justify-self:start;margin:2px 0 0} .bvx .btn{width:100%}}
.bvx .lad-book{min-width:220px;text-align:center}
/* alineación exacta: todos los puntos centrados sobre la línea (centro a 81 px) */
.lt .ld,.lt .ld.pk{top:0;height:150px;width:120px} .ld i,.ld.pk i{position:absolute;left:50%;transform:translateX(-50%);margin:0;box-sizing:border-box}
.ld i{top:72px;width:18px;height:18px} .ld.pk i{top:68px;width:26px;height:26px}
.ld b{position:absolute;left:0;right:0;top:44px} .ld.pk b{top:34px} .ld .bv{position:absolute;top:4px;left:50%;transform:translateX(-50%);margin:0}
.ld span{position:absolute;left:0;right:0;top:100px} .ld.pk span{top:102px}
@media(max-width:640px){
 .lt .ld,.lt .ld.pk{height:auto;width:auto} .ld i,.ld.pk i,.ld b,.ld.pk b,.ld span,.ld.pk span,.ld .bv{position:static;transform:none;left:auto;right:auto;top:auto}
 .ld i,.ld.pk i{justify-self:center} .lt{padding-left:0} .ln{left:12px}
}
/* alineación exacta: el centro de cada punto cae sobre el eje de la línea (escritorio: y = 81 px; móvil: x = 19 px) */
@media(min-width:641px){
 .lt{height:150px} .ln{top:78px;height:6px}
 .ld,.ld.pk{top:0;bottom:0;height:auto}
 .ld i,.ld.pk i{position:absolute;left:50%;top:81px;transform:translate(-50%,-50%);margin:0}
 .ld b{position:absolute;left:0;right:0;bottom:calc(100% - 81px + 16px)} .ld.pk b{bottom:calc(100% - 81px + 22px)}
 .ld span{position:absolute;left:0;right:0;top:calc(81px + 16px)} .ld.pk span{top:calc(81px + 22px)}
 .ld .bv{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(100% - 81px + 52px);margin:0}
}
@media(max-width:640px){ .lt{padding-left:4px} .ln{left:16px} .ld i,.ld.pk i{justify-self:center} }
