 *{box-sizing:border-box;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
  body{background:#f5f4f0;color:#1a1a1a}

  /* ── CONTENEDOR MAESTRO ── */
  .W{max-width:1100px;margin:0 auto;padding:0 2rem}

  /* NAV */
  .nav{background:#fff;border-bottom:0.5px solid rgba(0,0,0,.12);position:sticky;top:0;z-index:100}
  .nav .W{display:flex;align-items:center;justify-content:space-between;height:52px}
  .nav-logo{font-size:14px;font-weight:500;color:#1a1a1a}
  .nav-links{display:flex;gap:1.5rem}
  .nav-lnk{font-size:13px;color:#666;cursor:pointer;text-decoration:none}
  .nav-lnk:hover{color:#1a1a1a}
  .nbtn{background:transparent;border:0.5px solid rgba(0,0,0,.25);border-radius:8px;padding:6px 14px;font-size:13px;color:#1a1a1a;cursor:pointer}
  .nbtn.s{background:#1a1a1a;color:#fff;border-color:#1a1a1a}
  .nbtn:hover{opacity:.85}

  /* BREADCRUMB */
  .bc{padding:.75rem 0;font-size:12px;color:#999;display:flex;gap:6px;align-items:center}
  .bc a{color:#666;cursor:pointer;text-decoration:none}.bc a:hover{color:#1a1a1a}

  /* GALERÍA */
  .gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:230px 150px;gap:4px;border-radius:12px;overflow:hidden;margin-bottom:0}
  .gc{background:#d8d6ce;display:flex;align-items:center;justify-content:center;overflow:hidden}
  .gc img{width:100%;height:100%;object-fit:cover;display:block}
  .gc[data-gi]{cursor:pointer}
  .gc[data-gi]:hover img{opacity:.85;transition:opacity .15s}
  .gc.main{grid-row:1/3;background:#cccac0}
  .gc.c2{background:#c4c2b8}.gc.c3{background:#b8b6ac}
  .gc.c4{background:#cccac0}.gc.c5{background:#bec0bc;position:relative}
  .gc-lbl{font-size:12px;color:#5f5e5a}
  .gc-more{position:absolute;bottom:8px;right:10px;background:rgba(0,0,0,.48);color:#fff;font-size:11px;padding:3px 10px;border-radius:99px;cursor:pointer}

  /* BANDA DE RESERVA */
  .booking-band{background:#fff;border-top:0.5px solid rgba(0,0,0,.1);border-bottom:0.5px solid rgba(0,0,0,.1)}
  .bband-grid{display:grid;grid-template-columns:auto 1fr 1fr 1fr auto auto;gap:1.25rem;align-items:center;padding-top:1rem;padding-bottom:1rem}
  .bprice-num{font-size:22px;font-weight:500;color:#1a1a1a}
  .bprice-unit{font-size:13px;color:#666}
  .bfield{min-width:0}
  .bfield label{font-size:11px;color:#999;display:block;margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}
  .bfield input,.bfield select{width:100%;min-width:0;padding:8px 10px;font-size:13px;background:#f5f4f0;border:1px solid #89dadf;border-radius:8px;color:#1a1a1a;height:auto !important;line-height:normal}
  .btotal-num{font-size:16px;font-weight:500;color:#1a1a1a}
  .btotal-lbl{font-size:11px;color:#999}
  .bbk{background:#1a1a1a;color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;display:block;width:100%;margin-bottom:5px;text-align:center;text-decoration:none}
  .bct{background:transparent;color:#1a1a1a;border:0.5px solid rgba(0,0,0,.3);border-radius:8px;padding:9px 18px;font-size:13px;cursor:pointer;white-space:nowrap;display:block;width:100%}
  .bbk:hover,.bct:hover{opacity:.85}

  /* CARD */
  .card{background:#fff;border:1px solid #89dadf;border-radius:12px;padding:1.5rem}
  .section{padding:1.5rem 0}.section.pt0{padding-top:0}
  .slbl{font-size:11px;font-weight:500;color:#999;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.875rem}

  /* HEADER PROPIEDAD */
  .ptitle{font-size:20px;font-weight:500;color:#1a1a1a;margin-bottom:.4rem;line-height:1.3}
  .locrow{display:flex;align-items:center;gap:6px;font-size:13px;color:#666;margin-bottom:.875rem}
  .sstrip{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:.875rem}
  .spill{background:#f5f4f0;border:0.5px solid rgba(0,0,0,.1);border-radius:99px;padding:4px 13px;font-size:13px;color:#666}
  .spill b{color:#1a1a1a;font-weight:500}
  .rrow{display:flex;align-items:center;gap:6px;margin-bottom:.875rem}
  .stars{font-size:13px;color:#ba7517;letter-spacing:1px}
  .rnum{font-size:13px;font-weight:500;color:#1a1a1a}
  .rct{font-size:13px;color:#666}
  .pdesc{font-size:14px;color:#555;line-height:1.75}

  /* AMENITIES — reset completo del .tag de main.css (position:absolute 45×45 con ::before triangular) */
  .tagwrap{display:flex;flex-wrap:wrap;gap:8px}
  .tagwrap .tag{position:static !important;width:auto !important;height:auto !important;overflow:visible !important;text-align:left !important;background:#f5f4f0 !important;border:1px solid #89dadf !important;border-radius:8px !important;padding:6px 14px !important;font-size:13px !important;color:#555 !important;display:inline-flex !important;align-items:center;gap:6px;line-height:1.4;cursor:default}
  .tagwrap .tag::before{content:none !important;display:none !important;border:none !important;border-top:none !important;border-left:none !important;width:0 !important;height:0 !important}
  .tagwrap .tag i{position:static !important;transform:none !important;color:#888 !important;font-size:14px !important;margin:0 !important}

  /* SERVICIOS ADICIONALES (estático) */
  .svcgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
  .svcc{background:#f5f4f0;border:1px solid #89dadf;border-radius:8px;padding:14px}
  .svci{font-size:18px;margin-bottom:8px;display:block}
  .svcn{font-size:13px;font-weight:500;color:#1a1a1a;margin-bottom:3px}
  .svcd{font-size:12px;color:#666;line-height:1.5}
  .svcp{font-size:12px;color:#999;margin-top:4px}

  /* MAPA */
  .map-layout{display:grid;grid-template-columns:1fr 280px;gap:1.25rem;align-items:start}
  .map-layout--full{grid-template-columns:1fr}
  .srp-map-frame{width:100%;height:220px;border-radius:8px;border:0.5px solid rgba(0,0,0,.1);display:block}
  .map-footer{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;color:#555}
  .map-gmaps-link{margin-left:auto;font-size:12px;color:#89dadf;text-decoration:none;white-space:nowrap}.map-gmaps-link:hover{text-decoration:underline}
  .poi-list{display:flex;flex-direction:column;gap:8px}
  .poi-lbl{font-size:12px;font-weight:500;color:#999;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}
  .poi-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f5f4f0;border:1px solid #89dadf;border-radius:8px}
  .poi-name{font-size:13px;color:#666}
  .poi-dist{font-size:13px;font-weight:500;color:#1a1a1a}

  /* VALORACIONES — slider */
  .rv-slider{overflow:hidden;margin-top:.875rem}
  .rv-track{display:flex;gap:10px;transition:transform .35s ease;will-change:transform}
  .rv-card{flex:0 0 calc((100% - 30px) / 4);background:#f5f4f0;border:1px solid #89dadf;border-radius:8px;padding:14px;min-width:0}
  .rv-stars{font-size:12px;color:#ba7517;letter-spacing:1px;margin-bottom:6px}
  .rvwho{font-size:13px;font-weight:500;color:#1a1a1a}
  .rvdate{font-size:11px;color:#999;margin-bottom:6px}
  .rvtxt{font-size:13px;color:#555;line-height:1.55}
  .rv-nav{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
  .rv-btn{background:#fff;border:0.5px solid rgba(0,0,0,.2);border-radius:50%;width:34px;height:34px;font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#1a1a1a;transition:background .15s;line-height:1;padding:0}
  .rv-btn:hover:not(:disabled){background:#f5f4f0}
  .rv-btn:disabled{opacity:.3;cursor:default}

  /* FAQs */
  .faqgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 2.5rem}
  .faqitem{border-top:0.5px solid rgba(0,0,0,.1);padding:12px 0}
  .faqitem:nth-child(1),.faqitem:nth-child(2){border-top:none;padding-top:0}
  .faqq{font-size:14px;font-weight:500;color:#1a1a1a;display:flex;justify-content:space-between;cursor:pointer;gap:1rem;user-select:none}
  .faqq:hover{color:#444}
  .faqi{color:#999;font-size:16px;flex-shrink:0;transition:transform .2s}
  .faqa{overflow:hidden;transition:max-height .25s ease}
  .faqa p{font-size:13px;color:#555;line-height:1.65;padding-top:6px}

  /* POLÍTICAS */
  .polgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
  .polcard{background:#f5f4f0;border:1px solid #89dadf;border-radius:8px;padding:14px;display:flex;gap:10px;align-items:flex-start}
  .polico{width:28px;height:28px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px;color:#555;border:0.5px solid rgba(0,0,0,.1)}
  .poltxt{font-size:13px;color:#555;line-height:1.55}

  /* ANFITRIÓN */
  .host-layout{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:start}
  .avatar{width:52px;height:52px;border-radius:50%;background:#cecbf6;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:500;color:#3c3489;flex-shrink:0}
  .hname{font-size:15px;font-weight:500;color:#1a1a1a;margin-bottom:3px}
  .hsub{font-size:12px;color:#666;margin-bottom:.75rem}

  /* RELACIONADOS */
  .related-section{background:#fff;border-top:0.5px solid rgba(0,0,0,.1);padding:1.75rem 0 2rem}
  .rel-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}
  .rel-ttl{font-size:16px;font-weight:500;color:#1a1a1a}
  .rel-all{font-size:13px;color:#666;cursor:pointer;text-decoration:none}.rel-all:hover{color:#1a1a1a}
  .relgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
  .relcard{background:#fff;border:0.5px solid rgba(0,0,0,.1);border-radius:12px;overflow:hidden;cursor:pointer;transition:border-color .15s}
  .relcard:hover{border-color:rgba(0,0,0,.25)}
  .relimg{height:148px;display:flex;align-items:center;justify-content:center}
  .relbody{padding:12px 14px}
  .relname{font-size:13px;font-weight:500;color:#1a1a1a;margin-bottom:3px;line-height:1.3}
  .relloc{font-size:12px;color:#999;margin-bottom:5px;display:flex;align-items:center;gap:3px}
  .relprice{font-size:13px;color:#666}.relprice b{color:#1a1a1a;font-weight:500}
  .relstars{font-size:11px;color:#ba7517;margin-top:3px}
  .reltags{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}
  .reltag{background:#f5f4f0;border-radius:99px;padding:2px 8px;font-size:11px;color:#666}

  /* ── OVERRIDE NAV — ficha de propiedad ──
     Fuerza fondo blanco y texto oscuro en todo momento,
     anula el fixed y lo convierte en sticky. */
  .srp-page .main-menu.navbar-fixed {
    position: sticky !important;
    top: 0;
  }
  .srp-page .main-menu {
    background-color: #fff !important;
  }
  .srp-page .main-menu .color-letter {
    color: #1a1a1a !important;
  }
  .srp-page .main-menu .color-letter-2 {
    color: #1a1a1a !important;
  }

  /* ── LIGHTBOX ── */
  .srp-lb{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:999999;display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}
  .srp-lb.open{display:flex}
  .srp-lb.visible{opacity:1}
  .srp-lb-wrap{position:relative;display:flex;align-items:center;justify-content:center}
  .srp-lb-img{max-width:86vw;max-height:82vh;object-fit:contain;border-radius:4px;opacity:0;transition:opacity .18s;display:block;user-select:none}
  .srp-lb-img.loaded{opacity:1}
  .srp-lb-btn{background:rgba(255,255,255,.14);border:none;border-radius:50%;width:46px;height:46px;color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;line-height:1;flex-shrink:0}
  .srp-lb-btn:hover{background:rgba(255,255,255,.28)}
  .srp-lb-close{position:fixed;top:14px;right:18px;font-size:26px;width:40px;height:40px}
  .srp-lb-prev{margin-right:14px}
  .srp-lb-next{margin-left:14px}
  .srp-lb-counter{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.7);font-size:13px;pointer-events:none;white-space:nowrap}
  .srp-lb-spinner{position:absolute;width:32px;height:32px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:srp-spin .7s linear infinite}
  @keyframes srp-spin{to{transform:rotate(360deg)}}

  /* ══════════════════════════════════════════
     RESPONSIVE
     ══════════════════════════════════════════ */

  /* ── Tablet ≤ 900px ── */
  @media (max-width: 900px) {
    .W { padding: 0 1.25rem }

    /* Galería: quita las 2 celdas inferiores del lado derecho */
    .gallery { grid-template-columns: 2fr 1fr; grid-template-rows: 200px 130px }
    .gc.c4,.gc.c5 { display: none }

    /* Booking band: 3 columnas, 2 filas automáticas */
    .bband-grid { grid-template-columns: repeat(3,1fr); gap: 1rem }

    /* Mapa: una columna */
    .map-layout { grid-template-columns: 1fr }

    /* FAQs: 1 columna */
    .faqgrid { grid-template-columns: 1fr }
    .faqitem:nth-child(2) { border-top: 0.5px solid rgba(0,0,0,.1) !important; padding-top: 12px !important }

    /* Políticas: 2 columnas */
    .polgrid { grid-template-columns: repeat(2,1fr) }

    /* Relacionados: 2 columnas */
    .relgrid { grid-template-columns: repeat(2,1fr) }

    /* Slider valoraciones: 2 tarjetas visibles */
    .rv-card { flex: 0 0 calc((100% - 10px) / 2) }
  }

  /* ── Mobile ≤ 600px ── */
  @media (max-width: 600px) {
    .W { padding: 0 1rem }
    .section { padding: 0.875rem 0 }
    .card { padding: 1.125rem }

    /* Galería: solo imagen principal */
    .gallery { grid-template-columns: 1fr; grid-template-rows: 240px }
    .gc.main { grid-row: 1 / 2 !important }
    .gc.c2,.gc.c3,.gc.c4,.gc.c5 { display: none }

    /* Booking band: 2 columnas apiladas */
    .bband-grid {
      grid-template-columns: 1fr 1fr;
      gap: 0.75rem;
      padding: 0.875rem 1rem;
    }
    /* Precio: fila completa */
    .bband-grid > div:first-child { grid-column: 1 / -1 }
    /* Total estimado: oculto en móvil */
    .bband-grid > div:nth-child(5) { display: none }
    /* Botones: fila completa en fila */
    .bband-grid > div:last-child { grid-column: 1 / -1; display: flex; gap: 8px }
    .bband-grid > div:last-child .bbk,
    .bband-grid > div:last-child .bct { width: auto; flex: 1; margin: 0 }

    /* Slider valoraciones: 1 tarjeta visible */
    .rv-card { flex: 0 0 100% }

    /* Políticas: 1 columna */
    .polgrid { grid-template-columns: 1fr }

    /* Relacionados: 2 columnas compactas */
    .relgrid { grid-template-columns: repeat(2,1fr); gap: 0.75rem }
    .relimg { height: 110px }
    .rel-hdr { flex-direction: column; align-items: flex-start; gap: 6px }

    /* Títulos */
    .ptitle { font-size: 18px }
    .bprice-num { font-size: 18px }
  }

  /* ── Móvil pequeño ≤ 400px ── */
  @media (max-width: 400px) {
    .relgrid { grid-template-columns: 1fr }
    .bband-grid { grid-template-columns: 1fr }
    .bband-grid > div:last-child { flex-direction: column }
    .bband-grid > div:last-child .bbk,
    .bband-grid > div:last-child .bct { width: 100%; flex: none }
  }

  /* FOOTER */
  /* .footer-section{background:#fff;border-top:0.5px solid rgba(0,0,0,.1)}
  .footer-inner{max-width:1100px;margin:0 auto;padding:1.5rem 2rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
  .ftitle{font-size:12px;font-weight:500;color:#1a1a1a;margin-bottom:.5rem}
  .flink{font-size:12px;color:#666;display:block;padding:2px 0;cursor:pointer;text-decoration:none}.flink:hover{color:#1a1a1a}
  .footer-bottom{border-top:0.5px solid rgba(0,0,0,.08)}
  .footer-bottom-inner{max-width:1100px;margin:0 auto;padding:.75rem 2rem;display:flex;justify-content:space-between}
  .fcopy{font-size:11px;color:#999} */