/* Individual venue page: hours, gallery and clickable map. */
.chp-site .venue-hero{position:relative;isolation:isolate;min-height:560px;padding:130px max(28px,calc((100vw - 1160px)/2)) 75px;display:flex;align-items:flex-end;background:radial-gradient(ellipse at 50% 20%,#5c1731,#121215 70%);background-image:var(--venue-photo);background-size:cover;background-position:center}
.chp-site .venue-hero[style*="galeria-kanela-1"]{background-position:center top}
.chp-site .venue-hero[style*="que-chimba-pub-galeria-1"]{background-position:center 20%}
.chp-site .venue-hero[style*="marbella-latin-club-galeria-1"]{background-position:center 18%}
.chp-site .reservation-email-help{display:block;margin-top:7px;color:#aaa;font-size:11px;line-height:1.4;font-weight:400}
.chp-site .reservation-promo-image{display:block;width:min(100%,390px);max-height:390px;object-fit:contain;margin:24px auto 0;filter:drop-shadow(0 12px 28px #0008)}
@media(max-width:760px){.chp-site .reservation-promo-image{width:min(82%,280px);max-height:300px;margin-top:20px}}
.chp-site .venue-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#08080a99,#08080acc 46%,#101011 100%),linear-gradient(90deg,#0008,transparent 65%)}
.chp-site .venue-hero-content{max-width:760px}
.chp-site .venue-detail-logo{display:flex;align-items:center;justify-content:center;width:105px;height:105px;padding:9px;border-radius:50%;overflow:hidden;background:#111;border:1px solid #ffffff65;margin-bottom:22px;box-shadow:0 10px 35px #0008}
.chp-site .venue-detail-logo img{width:100%;height:100%;object-fit:contain;border-radius:50%}
.chp-site .venue-detail-logo-boricua-nightclub{width:112px;height:112px;padding:0;overflow:hidden}
.chp-site .venue-detail-logo-boricua-nightclub img{border-radius:0;object-fit:cover;transform:scale(1.3)}
.chp-site .venue-detail-logo-mango-biche-pub img,.chp-site .venue-hours-logo-mango-biche-pub img{object-fit:contain;transform:scale(.9)}
.chp-site .venue-hero h1{font-family:Anton,Impact,sans-serif;font-weight:400;font-size:clamp(60px,8vw,115px);line-height:.98;margin:8px 0 12px}
.chp-site .venue-hero-content>p:not(.eyebrow){font-size:18px;color:#e3dfe1}
.chp-site .venue-quick-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:28px}
.chp-site .venue-quick-links .button{min-height:58px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 22px}
.chp-site .venue-call-button{font-size:16px}
.chp-site .venue-whatsapp-button{min-width:310px;background:#1ebe5d;border-color:#1ebe5d;color:#fff;font-size:17px;box-shadow:0 12px 34px #0a7f3a55}
.chp-site .venue-whatsapp-button:hover{background:#19a950;border-color:#19a950;transform:translateY(-2px)}
.chp-site .venue-whatsapp-button svg{flex:0 0 29px;width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.chp-site .venue-whatsapp-button>span{display:flex;flex-direction:column;align-items:flex-start;line-height:1.12}
.chp-site .venue-whatsapp-button small{font-size:10px;font-weight:600;opacity:.82;margin-top:3px}
.chp-site .venue-alt-phone,.chp-site .venue-instagram-link{min-height:46px!important;padding:10px 15px!important;font-size:13px}
.chp-site .button-outline{background:#171719c9;border-color:#ffffff55}
.chp-site .venue-reservation-jump{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:650px;margin-top:14px;padding:16px 18px;border:1px solid #ffffff32;border-radius:12px;background:#0c0c0ed9;color:#fff;text-decoration:none;box-shadow:0 14px 35px #0007;transition:transform .2s,border-color .2s,background .2s}
.chp-site .venue-reservation-jump:hover{transform:translateY(-2px);border-color:#f2424e;background:#171114}
.chp-site .venue-reservation-jump span{display:flex;flex-direction:column;gap:3px}
.chp-site .venue-reservation-jump strong{font-size:15px}
.chp-site .venue-reservation-jump small{color:#bbb4b8;font-size:12px}
.chp-site .venue-reservation-jump b{flex:0 0 auto;padding:9px 12px;border-radius:7px;background:#f2424e;font-size:12px;letter-spacing:.04em}
.chp-site .venue-profile{padding-top:55px}
.chp-site .venue-profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
.chp-site .venue-panel{border:1px solid #ffffff20;border-radius:16px;background:linear-gradient(145deg,#1a181b,#121214);padding:30px}
.chp-site .venue-panel h2{font-size:clamp(30px,4vw,48px);margin:7px 0 22px}
.chp-site .venue-hours-value{font-size:clamp(20px,2.4vw,30px);font-weight:600;line-height:1.35;color:#fff;margin-bottom:20px}
.chp-site .venue-hours-logo{display:flex;align-items:center;justify-content:center;width:150px;height:150px;margin:34px auto 4px;padding:13px;border:1px solid #ffffff24;border-radius:50%;background:#0b0b0d;box-shadow:0 16px 40px #0007}
.chp-site .venue-hours-logo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}
.chp-site .venue-hours-logo-boricua-nightclub{width:158px;height:158px;padding:0;overflow:hidden}
.chp-site .venue-hours-logo-boricua-nightclub img{border-radius:0;object-fit:cover;transform:scale(1.34)}
.chp-site .venue-location iframe{display:block;width:100%;height:270px;border:0;border-radius:10px;filter:grayscale(.65) contrast(1.1);margin-bottom:16px}
.chp-site .venue-location address{font-style:normal;color:#ddd;margin:0 0 20px}
.chp-site .venue-address-item{padding:16px 0;border-top:1px solid #ffffff20}
.chp-site .venue-address-item strong{display:block;margin-bottom:6px;color:#f2424e;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.chp-site .venue-address-item address{margin:0 0 13px}
.chp-site .venue-address-item .button{font-size:12px;padding:10px 14px}
.chp-site .venue-gallery{grid-column:1/-1}
.chp-site .venue-parties{grid-column:1/-1}
.chp-site .venue-parties-intro{margin:0 0 22px}
.chp-site .venue-party-grid{display:grid;grid-template-columns:repeat(var(--party-columns,2),minmax(0,1fr));gap:20px;width:100%;max-width:min(100%,calc(var(--party-columns,2) * 320px + (var(--party-columns,2) - 1) * 20px));margin:0 auto}
.chp-site .venue-party-grid figure{position:relative;margin:0;overflow:hidden;border:1px solid #ffffff24;border-radius:14px;background:#09090a;box-shadow:0 18px 44px #0008;transition:transform .25s,border-color .25s,box-shadow .25s}
.chp-site .venue-party-card{cursor:pointer}
.chp-site .venue-party-card:focus-visible{outline:3px solid #fff;outline-offset:5px}
.chp-site .venue-party-grid figure:hover{transform:translateY(-5px);border-color:#f42b3b88;box-shadow:0 24px 50px #000b}
.chp-site .venue-party-grid img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top}
.chp-site .venue-party-grid video{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:#09090a;pointer-events:none}.chp-site .venue-party-video-controls{position:absolute;top:12px;right:12px;z-index:4;display:flex;gap:6px}.chp-site .venue-party-video-controls button{padding:8px 11px;border:1px solid #ffffff60;border-radius:18px;background:#09090ad9;color:#fff;font-size:10px;font-weight:800;letter-spacing:.04em;box-shadow:0 5px 15px #0009;cursor:pointer}.chp-site .venue-party-video-controls button:hover,.chp-site .venue-party-video-controls button:focus{background:var(--red);border-color:var(--red)}
.chp-site .venue-party-placeholder{display:grid;place-items:center;width:100%;aspect-ratio:4/5;background:radial-gradient(circle at 50% 35%,#f42b3b38,transparent 45%),#09090a;color:#ffffff65;font-size:13px;font-weight:800;letter-spacing:.16em}
.chp-site .venue-party-grid figcaption{position:absolute;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:34px 18px 16px;background:linear-gradient(transparent,#080809f2);color:#fff}
.chp-site .venue-party-grid strong{font-size:22px;text-transform:uppercase}
.chp-site .venue-party-grid span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#ffffffa8}
.chp-site .venue-party-item{min-width:0}
.chp-site .venue-party-contact{display:flex;flex-direction:column;gap:10px;padding-top:14px}
.chp-site .venue-party-contact .button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:46px;padding:11px 14px;text-align:center;font-size:13px;line-height:1.25;white-space:normal}
.chp-site .venue-party-contact .button span{font-size:inherit;letter-spacing:normal;text-transform:none;color:inherit}
.chp-site .venue-party-contact .button svg{flex:none;width:19px;height:19px}
.chp-site .venue-gallery-content .wp-block-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.chp-site .venue-gallery-content .wp-block-image{margin:0!important;width:100%!important;max-width:none!important;aspect-ratio:1/1;overflow:hidden;border-radius:8px}
.chp-site .venue-gallery-content .wp-block-image img{width:100%;height:100%;object-fit:cover}
.chp-site .venue-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;z-index:-2;background:#050506}
.chp-site .venue-hero.has-hero-video{background:#070708}
.chp-site .venue-gallery-content>.wp-block-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.chp-site .venue-gallery-content .wp-block-video{margin:0!important;width:100%;aspect-ratio:3/4;overflow:hidden;border-radius:8px;background:#050506}
.chp-site .venue-gallery-content .wp-block-video video{width:100%;height:100%;object-fit:cover}
.chp-site .venue-gallery-content>.wp-block-gallery>.wp-block-image{aspect-ratio:3/4}
.chp-site .venue-gallery-content .venue-gallery-empty-slot{display:grid;place-items:center;border:1px dashed #ffffff22;background:radial-gradient(circle at 50% 50%,#f42b3b18,transparent 60%),#141416;color:#ffffff25}
.chp-site .venue-gallery-content .venue-gallery-empty-slot span{display:grid;place-items:center;width:100%;height:100%}
.chp-site .venue-gallery-content .venue-gallery-empty-slot b{font-size:12px;letter-spacing:.15em}
.chp-site .venue-gallery-empty{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.chp-site .venue-gallery-empty span{display:grid;place-items:center;aspect-ratio:1.25/1;border:1px dashed #ffffff22;border-radius:8px;background:radial-gradient(circle at 50% 50%,#f42b3b18,transparent 60%),#141416;color:#ffffff25}
.chp-site .venue-gallery-empty b{font-size:12px;letter-spacing:.15em}
.chp-site .venue-gallery>.muted{text-align:center;margin-top:18px}
.chp-site .venue-reservation{grid-column:1/-1;display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:38px;padding:38px;background:radial-gradient(circle at 0 0,#f42b3b16,transparent 38%),linear-gradient(145deg,#1d1a1e,#111113)}
.chp-site .reservation-intro{grid-row:1/span 3}
.chp-site .reservation-intro h2{font-size:clamp(38px,5vw,62px);line-height:1;margin:8px 0 18px}
.chp-site .reservation-intro>p:last-child{color:#c9c4c7;line-height:1.65;max-width:460px}
.chp-site .reservation-form{grid-column:2;min-width:0}
.chp-site .reservation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.chp-site .reservation-fields label{display:flex;flex-direction:column;gap:8px;color:#f4f1f2;font-size:13px;font-weight:700;letter-spacing:.04em}
.chp-site .reservation-fields label>span{color:#f2424e}
.chp-site .reservation-fields input,.chp-site .reservation-fields select,.chp-site .reservation-fields textarea{width:100%;min-height:50px;border:1px solid #ffffff26;border-radius:9px;background:#09090bbf;color:#fff;padding:13px 14px;font:inherit;letter-spacing:normal;transition:border-color .2s,box-shadow .2s}
.chp-site .reservation-fields textarea{min-height:112px;resize:vertical}
.chp-site .reservation-fields input:focus,.chp-site .reservation-fields select:focus,.chp-site .reservation-fields textarea:focus{outline:none;border-color:#f2424e;box-shadow:0 0 0 3px #f2424e25}
.chp-site .reservation-fields input[type=date]{color-scheme:dark}
.chp-site .reservation-notes{grid-column:1/-1}
.chp-site .reservation-music{margin:22px 0 0;padding:0;border:0}
.chp-site .reservation-music legend{margin-bottom:13px;color:#fff;font-size:15px;font-weight:800}
.chp-site .reservation-music legend span{color:#aaa3a7;font-size:13px;font-weight:500}
.chp-site .reservation-music-options{display:flex;flex-wrap:wrap;gap:9px}
.chp-site .reservation-music-options label{position:relative;cursor:pointer}
.chp-site .reservation-music-options input{position:absolute;opacity:0;pointer-events:none}
.chp-site .reservation-music-options span{display:block;padding:9px 13px;border:1px solid #ffffff26;border-radius:999px;background:#0b0b0d;color:#d8d3d6;font-size:13px;transition:border-color .2s,background .2s,color .2s}
.chp-site .reservation-music-options input:checked+span{border-color:#f2424e;background:#f2424e22;color:#fff}
.chp-site .reservation-music-options input:focus-visible+span{outline:3px solid #fff;outline-offset:2px}
.chp-site .reservation-music-options input:disabled+span{opacity:.4;cursor:not-allowed}
.chp-site .reservation-music-limit{min-height:18px;margin:8px 0 0;color:#f3a7ad;font-size:12px}
.chp-site .reservation-marketing{display:flex;align-items:flex-start;gap:11px;margin:16px 0 0;padding:15px;border:1px solid #ffffff18;border-radius:9px;background:#ffffff07;color:#d4cfd2;font-size:13px;line-height:1.5}
.chp-site .reservation-marketing input{flex:0 0 auto;width:18px;height:18px;margin-top:2px;accent-color:#f2424e}
.chp-site .reservation-privacy{display:flex;align-items:flex-start;gap:11px;margin:20px 0;color:#c9c4c7;font-size:13px;line-height:1.5}
.chp-site .reservation-privacy input{flex:0 0 auto;width:18px;height:18px;margin-top:2px;accent-color:#f2424e}
.chp-site .reservation-privacy a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.chp-site .reservation-submit{border:0;cursor:pointer}
.chp-site .reservation-required{display:inline-block;margin:0 0 0 12px;color:#8f898d;font-size:12px}
.chp-site .reservation-message{grid-column:2;padding:14px 16px;border-radius:9px;margin:0 0 -16px}
.chp-site .reservation-message.success{background:#163d28;border:1px solid #3ca66b;color:#dff7e8}
.chp-site .reservation-message.error{background:#461d22;border:1px solid #d34a57;color:#ffe5e8}
.chp-site .reservation-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:760px){
.chp-site .venue-hero{min-height:600px;padding:125px 20px 60px}
.chp-site .venue-detail-logo{width:88px;height:88px}
.chp-site .venue-detail-logo-boricua-nightclub{width:96px;height:96px}
.chp-site .venue-hero h1{font-size:clamp(54px,18vw,82px)}
.chp-site .venue-quick-links{align-items:stretch;flex-direction:column}
.chp-site .venue-quick-links .button{width:100%}
.chp-site .venue-whatsapp-button{min-width:0;min-height:64px;font-size:17px}
.chp-site .venue-whatsapp-button>span{align-items:center}
.chp-site .venue-reservation-jump{align-items:flex-start;flex-direction:column}
.chp-site .venue-reservation-jump b{width:100%;text-align:center}
.chp-site .venue-profile-grid{grid-template-columns:1fr}
.chp-site .venue-panel{padding:24px 20px}
.chp-site .venue-gallery{grid-column:auto}
.chp-site .venue-parties{grid-column:auto}
.chp-site .venue-party-grid{grid-template-columns:1fr;max-width:420px}
.chp-site .venue-location iframe{height:230px}
.chp-site .venue-hours-logo{width:128px;height:128px;margin-top:28px}
.chp-site .venue-hours-logo-boricua-nightclub{width:140px;height:140px;padding:0}
.chp-site .venue-reservation{grid-column:auto;grid-template-columns:1fr;gap:22px;padding:26px 20px}
.chp-site .reservation-intro{grid-row:auto}
.chp-site .reservation-form,.chp-site .reservation-message{grid-column:auto}
.chp-site .reservation-message{margin:0}
.chp-site .reservation-fields{grid-template-columns:1fr;gap:15px}
.chp-site .reservation-notes{grid-column:auto}
.chp-site .reservation-submit{width:100%}
.chp-site .reservation-required{display:block;margin:10px 0 0;text-align:center}
}

