.why-btn{display:block;margin-top:14px;background:var(--pink);color:#fff;font-weight:800;font-size:14px;padding:11px 12px;border-radius:var(--radius-sm);text-decoration:none;transition:background .2s,transform .2s;}
.why-btn:hover{background:var(--pink-dark);transform:translateY(-2px);}
.muted-link{color:var(--text-light);font-weight:600;}
/* Plantilla anterior: las 10 páginas de reserva de EN/PT/FR/IT/DE
   siguen usándola hasta que se repliquen. No borrar. */
@media(min-width:901px){
  #reserva .split-2>.card-white{position:sticky;top:100px;}
}

/* Página de reserva — dos columnas con tarjeta de precio fija.
   El aside se queda pegado en escritorio y en móvil pasa arriba,
   justo tras la galería, que es donde el viajero decide. */
.bk-wrap{padding:34px 24px 64px;}
.bk-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:34px;max-width:var(--max-w);margin:0 auto;align-items:start;}
.bk-main{min-width:0;}
.bk-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:14px;color:var(--text-light);}
.bk-score{font-size:20px;font-weight:800;color:var(--text);}
.bk-stars{color:var(--pink);letter-spacing:1px;}
.bk-head a{color:var(--text);font-weight:700;}
.bk-cancel{margin-left:auto;color:var(--green-dark);font-weight:700;display:flex;align-items:center;gap:6px;}
.bk-h1{font-size:clamp(24px,3.2vw,36px);line-height:1.18;margin:14px 0 20px;letter-spacing:-.4px;}
.bk-gallery{display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;aspect-ratio:21/9;border-radius:var(--radius);overflow:hidden;}
.bk-gallery button{border:0;padding:0;background:#ddd;cursor:pointer;position:relative;overflow:hidden;display:block;}
.bk-gallery button:first-child{grid-row:span 2;}
.bk-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s;}
.bk-gallery button:hover img{transform:scale(1.05);}
.bk-gal-more{position:absolute;inset:auto 0 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;font-size:13px;font-weight:700;padding:26px 10px 10px;text-align:center;}
.bk-cap{position:absolute;inset:auto 0 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;font-size:13px;font-weight:700;line-height:1.3;padding:20px 10px 8px;text-align:left;pointer-events:none;letter-spacing:.2px;}
.bk-gallery button:first-child .bk-cap{font-size:17px;padding:32px 14px 13px;}
.bk-gal-more{text-align:center;font-size:13px;}

.bk-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--border);margin:26px 0 22px;scrollbar-width:none;position:sticky;top:var(--bk-top,83px);z-index:800;background:var(--white);margin-left:-2px;margin-right:-2px;padding:0 2px;}
.bk-tabs::-webkit-scrollbar{display:none;}
.bk-tab{flex:0 0 auto;background:none;border:0;border-bottom:3px solid transparent;padding:12px 16px;font-family:var(--font);font-size:15px;font-weight:700;color:var(--text-light);cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s;}
.bk-tab:hover{color:var(--text);}
.bk-tab.active{color:var(--pink);border-bottom-color:var(--pink);}
.bk-sec{margin:38px 0;scroll-margin-top:calc(var(--bk-top,83px) + 62px);}
.bk-sec>h2{font-size:24px;margin:0 0 16px;letter-spacing:-.3px;}
.bk-lead p{margin:0 0 14px;line-height:1.75;}
.bk-more{background:none;border:0;padding:0;color:var(--pink);font-family:var(--font);font-weight:700;font-size:15px;cursor:pointer;}
.bk-hidden{display:none;}
.bk-info{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--white);}
.bk-info-row{display:flex;gap:14px;padding:16px 18px;border-bottom:1px solid var(--border);}
.bk-info-row:last-child{border-bottom:0;}
.bk-info-row .bk-info-ic{flex:0 0 22px;color:var(--pink);display:block;line-height:0;margin-top:2px;}
.bk-info-ic svg{display:block;}
.bk-info-row strong{display:block;font-size:15px;margin-bottom:3px;}
.bk-info-row span{font-size:14px;color:var(--text-light);line-height:1.55;}
.bk-do{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.bk-do li{position:relative;padding:10px 16px 10px 38px;font-size:15px;line-height:1.55;background:var(--bg);border:1px solid #DCDCE1;border-radius:var(--radius-sm);}
.bk-do li::before{content:"→";position:absolute;left:15px;top:10px;color:var(--pink);font-weight:800;font-size:15px;}
.bk-two{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.bk-box{border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;background:var(--white);}
.bk-box h3{font-size:15px;margin:0 0 12px;display:flex;align-items:center;gap:8px;}
.bk-box ul{list-style:none;margin:0;padding:0;}
.bk-box li{padding:6px 0 6px 20px;position:relative;font-size:14px;line-height:1.55;color:var(--text-light);}
.bk-box li::before{content:"";position:absolute;left:5px;top:calc(6px + .775em);transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--pink);}
.bk-meet{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--white);}
.bk-meet-map{aspect-ratio:21/7;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;}
.bk-meet-map p{margin:0;font-size:14px;color:var(--text-light);max-width:420px;line-height:1.6;}
.bk-meet-load{margin-top:12px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 16px;font-family:var(--font);font-weight:700;font-size:14px;color:var(--text);cursor:pointer;}
.bk-meet-load:hover{border-color:var(--pink);color:var(--pink);}
.bk-meet-map iframe{width:100%;height:100%;border:0;display:block;}
.bk-meet-foot{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:16px 18px;border-top:1px solid var(--border);}
.bk-meet-foot strong{display:block;font-size:15px;}
.bk-meet-foot span{font-size:14px;color:var(--text-light);}
.bk-rev-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:18px;}
.bk-rev-score{font-size:34px;font-weight:800;color:var(--pink);line-height:1;}
.bk-rev-meta{font-size:13px;color:var(--text-light);}
.bk-rev{border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin-bottom:12px;background:var(--white);}
.bk-rev-top{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.bk-av{width:36px;height:36px;border-radius:50%;background:var(--pink-soft);color:var(--pink-dark);display:grid;place-items:center;font-weight:800;flex:0 0 36px;}
.bk-rev-name{font-weight:700;font-size:15px;}
.bk-rev-from{font-size:13px;color:var(--text-light);}
.bk-rev-date{margin-left:auto;font-size:12px;color:var(--text-light);}
.bk-rev p{margin:0 0 10px;line-height:1.7;color:var(--text);font-style:italic;}
.bk-rev-ok{font-size:12px;color:var(--green-dark);font-weight:700;}
.bk-side{min-width:0;}
.bk-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--white);padding:20px;box-shadow:0 10px 30px rgba(15,15,16,.06);}
/* Encabezado de la tarjeta: precio a la izquierda; a la derecha las
   estrellas sobre el número de opiniones, con la nota al costado. */
.bk-price-row{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.bk-price{font-size:36px;font-weight:800;line-height:1;letter-spacing:-1px;}
/* Subtítulo bajo el precio: rosa, negrita y en mayúsculas espaciadas,
   como el resto de rótulos de sección del sitio. */
.bk-price-unit{font-size:14px;font-weight:800;letter-spacing:.9px;text-transform:uppercase;
  color:var(--pink);line-height:1.3;text-align:center;margin:16px 0 2px;}
/* "Desde" encima de la cifra: sin él, el precio de cabecera y el de la
   primera opción se leen como el mismo número repetido. */
.bk-price small{display:block;font-size:14px;font-weight:600;letter-spacing:0;
  color:var(--text-light);margin-bottom:2px;}
/* La opción incluida no repite precio: lleva su etiqueta. */
.bk-opt-inc{background:var(--pink-soft);border-color:#F8C9D8;}
.bk-opt em{font-style:normal;font-size:12.5px;font-weight:700;color:var(--pink-dark);}
/* La variante que acaba en Ollantaytambo es otro producto, no un almuerzo:
   sale de la lista y queda como acción secundaria. */
.bk-alt-sep{display:flex;align-items:center;gap:10px;margin:14px 0 8px;color:var(--text-light);
  font-size:11.5px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;}
.bk-alt-sep::before,.bk-alt-sep::after{content:"";flex:1;height:1px;background:var(--border);}
/* Secundario de verdad: contorno y texto en negro, para no competir con
   el botón de reserva. */
.bk-alt{display:block;text-align:center;border:1.5px solid var(--dark);color:var(--dark);
  font-weight:800;font-size:15px;padding:12px;border-radius:var(--radius-sm);
  text-decoration:none;transition:background .2s,color .2s,border-color .2s;}
/* Negro al pasar el cursor: en rosa competía con el botón principal. */
.bk-alt:hover{background:var(--dark);border-color:var(--dark);color:#fff;}
.bk-rate{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.bk-rate-txt{text-align:right;line-height:1.2;}
.bk-badge{background:var(--pink);color:#fff;font-weight:800;font-size:17px;line-height:1;
  padding:7px 11px;border-radius:9px;display:inline-block;flex-shrink:0;}
.bk-badge-stars{color:#F5A623;font-size:14px;letter-spacing:2px;display:block;}
.bk-badge-n{font-size:13px;color:var(--text-light);display:block;margin-top:2px;white-space:nowrap;}
.bk-opts{display:grid;gap:7px;margin:8px 0 16px;}
.bk-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;
  background:var(--white);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:11px 14px;
  font-family:var(--font);font-size:14px;color:var(--text);cursor:pointer;transition:border-color .18s,background .18s,color .18s;}
.bk-opt b{font-weight:800;white-space:nowrap;}
.bk-opt:hover{border-color:var(--pink);color:var(--pink-dark);}
.bk-opt.on{border-color:var(--pink);background:var(--pink-soft);color:var(--pink-dark);}
.bk-opt.on b{color:var(--pink-dark);}
.bk-opt.on>span{font-weight:700;}
.bk-opt-link{text-decoration:none;}
.bk-opt-link b{color:var(--pink);}
.bk-opt-link:hover>span{font-weight:700;}
.bk-note{background:var(--pink-soft);border-radius:var(--radius-sm);padding:12px 14px;margin:16px 0;}
.bk-note strong{display:block;font-size:14px;color:var(--pink-dark);}
.bk-note span{font-size:13px;color:var(--text-light);}
.bk-fact{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-light);margin-bottom:14px;}
.bk-dot{width:8px;height:8px;border-radius:50%;background:var(--green);flex:0 0 8px;}
.bk-cta{display:block;text-align:center;background:var(--pink);color:#fff;font-weight:800;font-size:16px;padding:14px;border-radius:var(--radius-sm);text-decoration:none;transition:background .2s,transform .2s;}
.bk-cta:hover{background:var(--pink-dark);transform:translateY(-2px);}
.bk-cta-wa{display:block;text-align:center;margin-top:10px;border:2px solid var(--green);color:var(--green-dark);font-weight:800;font-size:15px;padding:12px;border-radius:var(--radius-sm);text-decoration:none;transition:background .2s;}
.bk-cta-wa:hover{background:#F0FDF4;}
.bk-legal{font-size:12px;color:var(--text-light);text-align:center;margin:12px 0 0;line-height:1.5;}
.bk-feat{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border);font-size:13px;}
.bk-feat span{display:flex;align-items:center;gap:8px;line-height:1.3;}
.bk-feat svg{flex:0 0 17px;color:var(--pink);}
.bk-op{border:1px solid var(--border);border-radius:var(--radius);background:var(--white);padding:18px 20px;margin-top:16px;text-align:center;}
.bk-op-label{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-light);font-weight:700;}
.bk-op strong{display:block;font-size:16px;margin:8px 0 4px;}
.bk-op small{display:block;font-size:12px;color:var(--text-light);line-height:1.5;}
.bk-op-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:12px;}
.bk-op-tags span{background:var(--bg);border-radius:20px;padding:4px 11px;font-size:12px;font-weight:700;}
@media(min-width:901px){
  .bk-side{position:sticky;top:calc(var(--bk-top,83px) + 14px);}
}
@media(max-width:900px){
  .bk-wrap{padding:26px 18px 44px;}
  .bk-grid{grid-template-columns:1fr;gap:24px;}
  .bk-gallery{aspect-ratio:16/10;grid-template-columns:1fr 1fr;}
  .bk-gallery button:first-child{grid-column:span 2;grid-row:auto;}
  .bk-gallery button:nth-child(n+4){display:none;}
  .bk-two{grid-template-columns:1fr;}
  .bk-cancel{margin-left:0;width:100%;}
  .bk-sec{margin:30px 0;}
  .bk-price{font-size:30px;}
  .bk-rate{gap:8px;}
  .bk-badge{font-size:15px;padding:6px 9px;}
  .bk-badge-n{font-size:12px;}
}

/* ---- Hero de las páginas de reserva ---- */
.bkhero{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;background:var(--dark);}
.bkhero-slides{position:absolute;inset:0;}
.bkhero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease;transform:scale(1.04);}
.bkhero-slide.on{opacity:1;}
.bkhero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(15,15,16,.92) 0%,rgba(15,15,16,.72) 45%,rgba(15,15,16,.25) 100%);}
.bkhero-in{position:relative;z-index:2;width:100%;max-width:var(--max-w);margin:0 auto;padding:60px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center;}
.bkhero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;}
.bkhero-pills span{background:rgba(236,62,117,.92);color:#fff;font-size:13px;font-weight:700;padding:6px 14px;border-radius:20px;}
.bkhero-pills span.ghost{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);}
.bkhero h1{color:#fff;font-size:clamp(34px,5.2vw,62px);line-height:1.06;letter-spacing:-1.5px;margin:0 0 20px;}
.bkhero h1 em{display:block;font-style:normal;color:var(--pink);}
.bkhero h1 .l3{display:block;}
.bkhero-sub{color:rgba(255,255,255,.82);font-size:17px;line-height:1.6;max-width:620px;margin:0 0 30px;}
.bkhero-facts{display:flex;flex-wrap:wrap;gap:34px;padding:22px 0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);margin-bottom:28px;max-width:620px;}
.bkhero-facts div small{display:block;color:var(--pink);font-size:11px;letter-spacing:1.4px;text-transform:uppercase;font-weight:700;margin-bottom:5px;}
.bkhero-facts div strong{color:#fff;font-size:17px;}
.bkhero-cta{display:flex;flex-wrap:wrap;gap:12px;}
.bkhero-cta a{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:16px;padding:15px 26px;border-radius:var(--radius-sm);text-decoration:none;transition:transform .2s,background .2s;}
.bkhero-cta a:hover{transform:translateY(-2px);}
.bkhero-book{background:var(--pink);color:#fff;}
.bkhero-book:hover{background:var(--pink-dark);}
.bkhero-wa{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.3);}
.bkhero-seal{background:rgba(15,15,16,.72);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);padding:24px 26px;text-align:center;color:#fff;max-width:230px;}
.bkhero-seal b{display:block;font-size:40px;line-height:1;letter-spacing:-1px;}
.bkhero-seal small{display:block;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,.72);margin-top:8px;line-height:1.6;}
.bkhero-seal .hl{color:var(--pink);font-weight:800;}
.bkhero-seal hr{border:0;border-top:1px solid rgba(255,255,255,.18);margin:16px 0;}
.bkhero-ta{display:flex;align-items:center;justify-content:center;gap:10px;color:#fff;font-size:12px;line-height:1.35;letter-spacing:.3px;}
.bkhero-ta b{font-size:16px;letter-spacing:0;}
.bkhero-ta-owl{width:34px;height:34px;flex:0 0 34px;display:block;}

.bkhero-dots{position:absolute;left:0;right:0;bottom:22px;z-index:3;display:flex;gap:8px;justify-content:center;}
.bkhero-dot{width:26px;height:5px;border:0;border-radius:3px;background:rgba(255,255,255,.35);cursor:pointer;padding:0;transition:background .3s;}
.bkhero-dot.on{background:var(--pink);}
.bkhero-crumb{position:relative;z-index:2;margin-top:24px;color:rgba(255,255,255,.7);font-size:13px;}
.bkhero-crumb a{color:rgba(255,255,255,.9);}
@media(max-width:900px){
  /* Misma altura mínima que el hero de la portada. */
  .bkhero{min-height:92vh;padding:0;}
  /* Mismo espaciado lateral y alto que el hero de la portada:
     24 px a los lados y 40/70 arriba y abajo. */
  .bkhero-in{grid-template-columns:1fr;gap:26px;padding:40px 24px 70px;}
  /* En móvil el hero va al grano: título, datos y botones.
     El subtítulo y el sello se repiten más abajo en la página. */
  .bkhero-sub{display:none;}
  .bkhero-seal{display:none;}
  .bkhero-facts{gap:14px 22px;padding:16px 0;margin-bottom:22px;}
  .bkhero-facts div small{font-size:10px;letter-spacing:1px;margin-bottom:2px;}
  .bkhero-facts div strong{font-size:15px;line-height:1.25;}
  .bkhero-cta a{flex:1 1 100%;justify-content:center;}
}

/* === VISTA PREVIA DEL RESTAURANTE =======================================
   Marco gris con la foto dentro, el nombre sobrepuesto abajo y una punta
   que señala la opción. Solo con ratón: en táctil no hay "apuntar" y el
   toque ya sirve para elegir.
   ======================================================================== */
/* Contorno gris: sobre el fondo blanco de la tarjeta el marco se perdía. */
.bk-peek{position:fixed;z-index:1400;width:168px;background:var(--bg);padding:7px;
  border:1px solid #D4D4DA;
  border-radius:15px;box-shadow:0 14px 34px rgba(15,15,16,.18);
  opacity:0;visibility:hidden;transform:translateX(8px);
  transition:opacity .18s,transform .18s,visibility .18s;pointer-events:none;}
.bk-peek.on{opacity:1;visibility:visible;transform:translateX(0);}
.bk-peek-fig{position:relative;border-radius:11px;overflow:hidden;background:#ddd;}
.bk-peek img{display:block;width:100%;height:100px;object-fit:cover;}
/* Franja oscura tras el nombre: la sombra de texto no basta sobre fotos
   claras, como un cielo o un mantel blanco. El degradado garantiza el
   contraste sea cual sea la imagen. */
.bk-peek-fig::after{content:"";position:absolute;left:0;right:0;bottom:0;height:58%;
  background:linear-gradient(to top, rgba(0,0,0,.68) 0%, rgba(0,0,0,.58) 24%,
    rgba(0,0,0,.32) 58%, rgba(0,0,0,0) 100%);
  pointer-events:none;}
.bk-peek b{position:absolute;z-index:1;left:8px;right:8px;bottom:7px;font-size:11.5px;
  font-weight:700;color:#fff;line-height:1.3;letter-spacing:.2px;text-align:center;}
/* la punta hacia la opción */
.bk-peek::after{content:"";position:absolute;z-index:1;top:var(--punta,50%);margin-top:-8px;
  border:8px solid transparent;}
.bk-peek.izq::after{left:100%;border-left-color:var(--bg);border-right-width:0;}
.bk-peek.izq::before{content:"";position:absolute;left:100%;top:var(--punta,50%);
  margin-top:-9px;border:9px solid transparent;border-left-color:#D4D4DA;border-right-width:0;}
.bk-peek.der::after{right:100%;border-right-color:var(--bg);border-left-width:0;}
.bk-peek.der::before{content:"";position:absolute;right:100%;top:var(--punta,50%);
  margin-top:-9px;border:9px solid transparent;border-right-color:#D4D4DA;border-left-width:0;}
@media(hover:none),(max-width:900px){ .bk-peek{display:none;} }

/* Destello al llegar desde la barra inferior, para ubicar al viajero. */
@keyframes bkFlash{
  0%{box-shadow:0 0 0 0 rgba(236,62,117,.55);}
  100%{box-shadow:0 0 0 14px rgba(236,62,117,0);}
}
.bk-card-flash{animation:bkFlash 1s ease-out 3;}
@media(prefers-reduced-motion:reduce){ .bk-card-flash{animation:none;} }

/* Botón de la barra inferior en las páginas de reserva: baja al formulario
   en vez de abrir el pago, para elegir el almuerzo antes de pagar. */
.sbb-to-form{cursor:pointer;}

/* Barra inferior propia de las páginas de reserva. Hereda el aspecto de
   .sticky-book-bar; existe como clase aparte para que su regla de
   visibilidad no se cruce con la del resto del sitio. */
.sticky-booking{}
