/* ─────────── PREMIUM — Luxe, Dorado, Revista ─────────── */
:root { --pr-gold:#d4a853;--pr-dark:#1a1410;--pr-cream:#faf7f2;--pr-muted:#8b7355; }

.pr-body { font-family:'Outfit',sans-serif; background:var(--pr-cream); color:var(--pr-dark); margin:0; line-height:1.6; }
h1,h2,h3,.pr-ficha-title,.pr-logo-txt { font-family:'Cormorant Garamond',serif; }

.pr-header { position:sticky;top:0;z-index:100;background:var(--pr-cream);border-bottom:1px solid rgba(212,168,83,0.3); }
.pr-header-inner { max-width:1240px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between; }
.pr-logo { display:flex;align-items:center;gap:10px;text-decoration:none; }
.pr-logo img { height:38px;width:auto; }
.pr-logo-txt { font-size:1.4rem;font-weight:700;color:var(--pr-dark);letter-spacing:0.02em; }
.pr-nav { display:flex;align-items:center;gap:24px;flex-wrap:wrap;max-width:100%; }
.pr-nav .negocios-summary { text-transform:uppercase!important;letter-spacing:0.08em!important;color:var(--pr-muted)!important;font-size:0.84rem!important;font-weight:500!important;transition:color 0.3s!important; }
.pr-nav a { color:var(--pr-muted);text-decoration:none;font-size:0.84rem;font-weight:500;text-transform:uppercase;letter-spacing:0.08em;transition:color 0.3s; }
.pr-nav a:hover { color:var(--pr-gold); }
.pr-nav-cta { padding:6px 20px;border:1.5px solid var(--pr-gold);color:var(--pr-gold)!important;transition:all 0.3s; }
.pr-nav .panel-dropdown { position:absolute;top:100%;right:0;left:auto;min-width:220px;max-width:90vw; }
.pr-nav-cta:hover { background:var(--pr-gold);color:white!important; }

/* ── Hamburguesa (móvil) ── */
.pr-nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 44px; height: 44px;
    cursor: pointer;
    border: none;
    background: none;
}
.pr-nav-toggle span { display: block; width: 24px; height: 2px; background: var(--pr-dark); border-radius: 2px; }
.pr-nav-toggle-input { position: absolute; opacity: 0; pointer-events: none; }

@media (max-width: 767px) {
    .pr-header-inner { position: relative; }
    .pr-nav-toggle { display: flex; }
    .pr-nav {
        display: none;
        position: absolute;
        top: 100%; left: 0; right: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
        background: var(--pr-cream);
        padding: 12px 16px;
        border-bottom: 1px solid rgba(212,168,83,0.3);
        box-shadow: 0 12px 28px rgba(0,0,0,0.08);
        z-index: 100;
    }
    .pr-nav-toggle-input:checked ~ .pr-nav { display: flex; }
    .pr-nav a { min-height: 44px; display: flex; align-items: center; padding: 0 8px; }
    .pr-nav-cta { justify-content: center; }
    .pr-logo { max-width: calc(100% - 60px); min-width: 0; }
    .pr-logo img { max-width: 100%; height: auto; }
}

.pr-hero { padding:100px 24px 80px;text-align:center;background:white;border-bottom:1px solid rgba(212,168,83,0.15); }
.pr-hero-content h1 { font-size:clamp(2.2rem,5vw,3.4rem);font-weight:600;color:var(--pr-dark);margin-bottom:16px;line-height:1.2; }
.pr-hero--img .pr-hero-content h1 { color:white;text-shadow:0 2px 12px rgba(0,0,0,0.4); }
.pr-hero-divider { width:80px;height:1px;background:var(--pr-gold);margin:0 auto 20px; }
.pr-hero-content p { font-size:1.1rem;color:var(--pr-muted);font-style:italic;max-width:500px;margin:0 auto; }
.pr-hero--img .pr-hero-content p { color:white;text-shadow:0 1px 8px rgba(0,0,0,0.35); }

.pr-search { padding:0 24px;margin-top:-20px;position:relative;z-index:2; }
.pr-search-inner { max-width:1240px;margin:0 auto; }
.pr-search-form { display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:white;border:1px solid rgba(212,168,83,0.2);padding:8px;box-shadow:0 2px 16px rgba(0,0,0,0.04); }
.pr-search-field { flex:2 1 220px;display:flex;align-items:center;gap:8px;padding:0 14px;height:44px;border:1px solid #e8d5b7;background:var(--pr-cream); }
.pr-search-field i { color:var(--pr-muted); }
.pr-search-field input { border:none;background:none;outline:none;font-size:0.85rem;color:var(--pr-dark);font-family:inherit;width:100%; }
.pr-search-sel { flex:1 1 140px;height:44px;padding:0 32px 0 14px;border:1px solid #e8d5b7;background:var(--pr-cream);color:var(--pr-dark);font-size:0.82rem;font-family:inherit;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%238b7355' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;outline:none; }
.pr-search-btn { height:44px;padding:0 30px;background:linear-gradient(135deg,var(--pr-gold),#b8860b);color:white;border:none;font-size:0.84rem;font-weight:600;cursor:pointer;font-family:inherit;text-transform:uppercase;letter-spacing:0.06em;transition:filter 0.3s; }
.pr-search-btn:hover { filter:brightness(1.1); }

.pr-main { padding:40px 24px; }
.pr-main-inner { max-width:1240px;margin:0 auto; }
.pr-results-hd { display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;font-size:0.9rem;color:var(--pr-muted); }
.pr-results-hd strong { color:var(--pr-dark);font-family:'Cormorant Garamond',serif;font-size:1.2rem; }
.pr-toggles { display:flex;gap:4px; }
.pr-tog { width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--pr-muted);text-decoration:none;border:1px solid transparent;transition:all 0.2s; }
.pr-tog:hover { border-color:var(--pr-gold);color:var(--pr-gold); }
.pr-tog.active { background:var(--pr-gold);color:white; }

.pr-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:24px; }
.pr-grid-lista { grid-template-columns:1fr; }
.pr-empty { text-align:center;padding:80px 20px;color:var(--pr-muted); }
.pr-empty i { font-size:2.5rem;display:block;margin-bottom:12px;opacity:0.3; }
.pr-empty a { color:var(--pr-gold);text-decoration:none;font-weight:600; }

.pr-card { display:block;background:white;overflow:hidden;text-decoration:none;transition:all 0.4s ease; }
.pr-card:hover { box-shadow:0 8px 32px rgba(0,0,0,0.08); }
.pr-card-lista { display:flex; }
.pr-card-lista .pr-card-img { width:320px;flex-shrink:0; }
.pr-card-img { position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--pr-cream); }
.pr-card-img img { width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease; }
.pr-card:hover .pr-card-img img { transform:scale(1.05); }
.pr-card-op { position:absolute;top:16px;left:16px;padding:5px 16px;background:var(--pr-gold);color:white;font-size:0.68rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;white-space:nowrap;max-width:calc(100% - 20px);overflow:hidden;text-overflow:ellipsis; }
.pr-card-body { padding:24px; }
.pr-card-precio { font-size:1.4rem;font-weight:600;color:var(--pr-gold);display:block;margin-bottom:8px;font-family:'Cormorant Garamond',serif; }
.pr-card-title { font-size:1.1rem;font-weight:600;color:var(--pr-dark);margin-bottom:6px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden; }
.pr-card-loc { font-size:0.82rem;color:var(--pr-muted);margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.pr-card-linea { width:30px;height:1px;background:var(--pr-gold);margin-bottom:10px; }
.pr-card-stats { display:flex;gap:16px;flex-wrap:wrap; }
.pr-card-stats span { font-size:0.78rem;color:var(--pr-muted); }
.pr-card-stats span small { font-size:0.68rem;text-transform:uppercase;letter-spacing:0.04em; }

.pr-pag { display:flex;justify-content:center;gap:6px;margin-top:40px; }
.pr-pag-link { min-width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid #e8d5b7;color:var(--pr-muted);text-decoration:none;font-size:0.85rem;transition:all 0.2s; }
.pr-pag-link:hover { border-color:var(--pr-gold);color:var(--pr-gold); }
.pr-pag-link.active { background:var(--pr-gold);border-color:var(--pr-gold);color:white; }
.pr-map { height:420px;overflow:hidden;margin-top:24px;border:1px solid rgba(212,168,83,0.3); }

.pr-footer { padding:32px 24px;text-align:center;font-size:0.78rem;color:var(--pr-muted);background:white;border-top:1px solid rgba(212,168,83,0.15); }
/* Override indexFooter for premium template */
.pr-body .if-wrap { background: linear-gradient(180deg,#1a1410 0%,#0f0a06 100%); color:#e8d5b7; border-top:3px solid var(--pr-gold); }
.pr-body .if-wrap .if-title { color:var(--pr-gold); }
.pr-body .if-wrap .if-brand { color:#f8fafc; }
.pr-body .if-wrap a { color:#e8d5b7; }
.pr-body .if-wrap a:hover { color:var(--pr-gold); }
.pr-footer-line { width:40px;height:1px;background:var(--pr-gold);margin:0 auto 12px; }
.pr-footer a { color:var(--pr-gold);text-decoration:none; }
.pr-footer-inner { max-width:1200px;margin:0 auto;padding:0 20px; }
.pr-footer-ornament { width:60px;height:2px;background:var(--pr-gold);margin:0 auto; }
.pr-footer-copy { margin:16px 0 0;font-size:0.7rem;color:#96a0b0;text-align:center; }

/* ═════ FICHA ═════ */
.pr-ficha-hero { height:550px;background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end; }
.pr-ficha-hero-overlay { position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(26,20,16,0.5) 80%,rgba(26,20,16,0.7)); }
.pr-ficha-hero-actions { position:absolute;bottom:24px;right:24px;display:flex;gap:8px;z-index:2; }
.pr-ficha-hero-btn { padding:10px 22px;border:1.5px solid rgba(255,255,255,0.4);background:rgba(26,20,16,0.4);backdrop-filter:blur(4px);color:white;font-size:0.8rem;font-weight:500;cursor:pointer;font-family:inherit;text-transform:uppercase;letter-spacing:0.06em;transition:all 0.3s; }
.pr-ficha-hero-btn:hover { background:rgba(26,20,16,0.6);border-color:var(--pr-gold);color:var(--pr-gold); }
.pr-ficha-hero-btn-fotos { border-color:rgba(212,168,83,0.5); }

.pr-ficha-content { padding:48px 24px 60px; }
.pr-ficha-content-inner { max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 320px;gap:48px;align-items:start; }
.pr-ficha-marca { display:flex;gap:8px;margin-bottom:20px; }
.pr-ficha-badge { padding:4px 14px;background:var(--pr-gold);color:white;font-size:0.68rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em; }
.pr-ficha-badge-sec { padding:4px 14px;border:1px solid var(--pr-gold);color:var(--pr-gold);font-size:0.68rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em; }
.pr-ficha-title { font-size:clamp(1.8rem,4vw,2.6rem);font-weight:600;color:var(--pr-dark);margin-bottom:8px;line-height:1.2; }
.pr-ficha-loc { font-size:1rem;color:var(--pr-muted);margin-bottom:20px; }
.pr-ficha-price { font-size:2.4rem;font-weight:600;color:var(--pr-gold);font-family:'Cormorant Garamond',serif;margin-bottom:24px; }
.pr-ficha-divider { width:60px;height:1px;background:var(--pr-gold);margin-bottom:28px; }
.pr-ficha-stats { display:flex;gap:28px;flex-wrap:wrap;margin-bottom:36px;padding:24px;background:white;border-left:2px solid var(--pr-gold); }
.pr-stat { display:flex;flex-direction:column;gap:2px; }
.pr-stat span { font-size:1.3rem;font-weight:600;color:var(--pr-dark);font-family:'Cormorant Garamond',serif; }
.pr-stat small { font-size:0.7rem;color:var(--pr-muted);text-transform:uppercase;letter-spacing:0.06em;font-weight:500; }
.pr-ficha-desc,.pr-ficha-serv,.pr-ficha-mapa { margin-bottom:40px; }
.pr-ficha-desc h2,.pr-ficha-serv h2,.pr-ficha-mapa h2 { font-size:1.3rem;font-weight:600;color:var(--pr-dark);margin-bottom:16px;font-family:'Cormorant Garamond',serif; }
.pr-ficha-desc div { font-size:0.93rem;color:#5a4a3a;line-height:1.8; }
.pr-serv-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px; }
.pr-serv-item { padding:10px 14px;background:white;border:1px solid rgba(212,168,83,0.15);font-size:0.83rem;color:var(--pr-muted); }

.pr-ficha-sidebar { position:sticky;top:80px; }
.pr-side-card { background:white;padding:24px;margin-bottom:16px;border-top:2px solid var(--pr-gold); }
.pr-side-card h3 { font-size:1.05rem;font-weight:600;color:var(--pr-dark);margin-bottom:16px;font-family:'Cormorant Garamond',serif; }
.pr-contacto-stack { display:flex;flex-direction:column;gap:8px; }
.pr-btn-wsp { display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;background:#25D366;color:white;text-decoration:none;font-size:0.84rem;font-weight:600;transition:all 0.3s; }
.pr-btn-wsp:hover { background:#1da851;color:white; }
.pr-btn-tel { display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:1px solid #e8d5b7;color:var(--pr-dark);text-decoration:none;font-size:0.84rem;font-weight:500;transition:all 0.3s; }
.pr-btn-tel:hover { border-color:var(--pr-gold);color:var(--pr-gold); }
.pr-btn-email { display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;color:var(--pr-muted);text-decoration:none;font-size:0.82rem;transition:all 0.3s; }
.pr-btn-email:hover { color:var(--pr-gold); }
.pr-detail-table { width:100%;border-collapse:collapse; }
.pr-detail-table tr:not(:last-child) { border-bottom:1px solid rgba(212,168,83,0.1); }
.pr-detail-table td { padding:10px 0;font-size:0.84rem; }
.pr-detail-table td:first-child { color:var(--pr-muted); }
.pr-detail-table td:last-child { text-align:right;font-weight:500; }
.pr-share-row { display:flex;gap:8px;justify-content:space-between; }
.pr-share-btn { width:42px;height:42px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:1rem;border:1px solid #e8d5b7;color:var(--pr-muted);transition:all 0.3s;cursor:pointer;background:none; }
.pr-share-btn:hover { border-color:var(--pr-gold);color:var(--pr-gold); }
.pr-share-pdf:hover { background:#4f46e5;border-color:#4f46e5;color:white; }

.pr-gal-overlay { position:fixed;inset:0;background:rgba(26,20,16,0.97);z-index:9999;display:none;flex-direction:column;align-items:center;justify-content:center; }
.pr-gal-overlay.activo { display:flex; }
.pr-gal-cerrar { position:absolute;top:20px;right:20px;z-index:10;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);width:42px;height:42px;color:white;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center; }
.pr-gal-cerrar:hover { border-color:var(--pr-gold);color:var(--pr-gold); }
.pr-gal-counter { position:absolute;top:24px;left:50%;transform:translateX(-50%);color:white;font-size:0.9rem;font-weight:600;z-index:10; }
.pr-gal-nav { position:absolute;top:50%;z-index:10;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);width:46px;height:46px;color:white;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center; }
.pr-gal-nav:hover { border-color:var(--pr-gold);color:var(--pr-gold); }
.pr-gal-prev { left:20px; }.pr-gal-next { right:20px; }
.pr-gal-img-wrap { width:100%;height:70vh;display:flex;align-items:center;justify-content:center; }
.pr-gal-img-wrap img { max-width:90vw;max-height:65vh;object-fit:contain; }
.pr-gal-thumbs { display:flex;gap:8px;padding:16px 20px;overflow-x:auto;max-width:90vw; }
.pr-gal-thumb { min-width:56px;height:42px;border:1px solid rgba(255,255,255,0.15);background-size:cover;background-position:center;cursor:pointer;opacity:0.4;flex-shrink:0;transition:all 0.2s; }
.pr-gal-thumb.active,.pr-gal-thumb:hover { opacity:1;border-color:var(--pr-gold); }
.pr-vid-overlay { position:fixed;inset:0;background:rgba(26,20,16,0.97);z-index:10000;display:none;align-items:center;justify-content:center; }
.pr-vid-overlay.activo { display:flex; }
.pr-vid-wrap { width:90vw;max-width:960px;aspect-ratio:16/9; }
.pr-vid-wrap iframe { width:100%;height:100%; }

@media(max-width:991px){ .pr-ficha-content-inner{grid-template-columns:1fr}.pr-ficha-sidebar{position:static}.pr-ficha-hero{height:400px} }
@media(max-width:767px){ .pr-grid{grid-template-columns:1fr}.pr-card-lista{flex-direction:column}.pr-card-lista .pr-card-img{width:100%}.pr-ficha-hero{height:320px}.pr-search-form{flex-direction:column;align-items:stretch}.pr-search-field,.pr-search-sel,.pr-search-btn{width:100%;flex:1 1 100%} }

/* ---- Anti overflow-x movil/tablet (safety net) ---- */
html, body { overflow-x: clip; }
@supports not (overflow-x: clip) { html, body { overflow-x: hidden; } }
img, video, canvas, svg { max-width: 100%; height: auto; }
.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
