/* ═══════════════════════════════════════════════════════════════════
   BIG BANG OCEAN CLUB · styles.css  v2
   ═══════════════════════════════════════════════════════════════════ */

html, body { margin:0!important; padding:0!important; overflow-x:hidden; }

/* ── VARIABLES DÍA ── */
.pv-biolink {
    --bb-main:       #008fd6;
    --bb-deep:       #006ba8;
    --bb-bright:     #4db8f0;
    --bb-foam:       #e0f4fd;
    --bb-shadow:     rgba(0,143,214,0.30);
    --coral:         #E89F71;
    --coral-deep:    #C97B5A;
    --ink-deep:      #1a2a3a;
    --ink-soft:      #4a5a6a;
    --ink-pale:      #8B97A3;
    --card-bg:       rgba(255,255,255,0.92);
    --card-border:   rgba(0,143,214,0.2);
    --modal-bg:      linear-gradient(180deg,#f0f8ff 0%,#e8f4fb 100%);
    --modal-footer:  rgba(255,255,255,0.7);
    --modal-border:  rgba(0,143,214,0.2);
    --book-bg:       linear-gradient(180deg,#f0f8ff 0%,#e4f2fd 100%);
    --page-divider:  var(--bb-deep);
    --section-title: var(--bb-deep);
    --shadow-soft:   rgba(26,42,58,0.07);
    --shadow-medium: rgba(26,42,58,0.13);
    --shadow-strong: rgba(26,42,58,0.20);
    --bg-body:       #f0f8ff;

    font-family:'Montserrat',sans-serif; font-weight:500; color:var(--ink-deep);
    position:relative; min-height:100vh; overflow-x:hidden; padding-bottom:120px;
    background:
        radial-gradient(ellipse 120% 70% at 50% 0%,rgba(0,143,214,0.18) 0%,transparent 55%),
        radial-gradient(ellipse 100% 50% at 50% 100%,rgba(245,230,211,0.5) 0%,transparent 60%),
        linear-gradient(180deg,#f0f8ff 0%,#e0f0fa 50%,#d8eaf8 100%);
    margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
    width:100vw; max-width:100vw;
    transition:background .6s,color .4s;
}

/* ── VARIABLES NOCHE ── */
.pv-biolink[data-theme="night"] {
    --bb-main:       #8b2675;
    --bb-deep:       #6d1d5c;
    --bb-bright:     #c44fad;
    --bb-foam:       rgba(139,38,117,0.15);
    --bb-shadow:     rgba(139,38,117,0.45);
    --coral:         #ff2d8a;
    --coral-deep:    #e0196e;
    --ink-deep:      #f0e0ff;
    --ink-soft:      #c8a8e0;
    --ink-pale:      #8868a0;
    --card-bg:       rgba(30,10,40,0.85);
    --card-border:   rgba(139,38,117,0.4);
    --modal-bg:      linear-gradient(180deg,#1a0a24 0%,#120814 100%);
    --modal-footer:  rgba(20,8,28,0.85);
    --modal-border:  rgba(139,38,117,0.3);
    --book-bg:       linear-gradient(180deg,#1e0d28 0%,#150920 100%);
    --page-divider:  #8b2675;
    --section-title: #c44fad;
    --shadow-soft:   rgba(0,0,0,0.3);
    --shadow-medium: rgba(0,0,0,0.5);
    --shadow-strong: rgba(0,0,0,0.7);
    --bg-body:       #0d060f;
    background:
        radial-gradient(ellipse 80% 40% at 20% 20%,rgba(139,38,117,0.25) 0%,transparent 60%),
        radial-gradient(ellipse 60% 40% at 80% 70%,rgba(0,80,180,0.20) 0%,transparent 60%),
        linear-gradient(180deg,#0d060f 0%,#120814 50%,#0a0510 100%);
}
.pv-biolink *, .pv-biolink *::before, .pv-biolink *::after { box-sizing:border-box; }
.pv-biolink a { text-decoration:none; }


/* ── FONDO ── */
.pv-biolink .pv-bg { position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden; }
.pv-biolink .pv-waves { position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0; }
.pv-biolink .pv-wave-layer { position:absolute;bottom:0;left:-50%;width:200%;height:160px;background-repeat:repeat-x;background-size:1200px 160px; }
.pv-biolink .pv-wave-1 { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 160'><path d='M0,110 Q300,50 600,110 T1200,110 L1200,160 L0,160 Z' fill='%23008fd6' opacity='0.5'/></svg>"); animation:pv-waveMove 18s linear infinite; opacity:0.15; bottom:60px; }
.pv-biolink .pv-wave-2 { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 160'><path d='M0,130 Q400,70 800,130 T1600,130 L1600,160 L0,160 Z' fill='%234db8f0' opacity='0.6'/></svg>"); animation:pv-waveMove 24s linear infinite reverse; opacity:0.12; bottom:30px; }
.pv-biolink .pv-wave-3 { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 160'><path d='M0,140 Q500,90 1000,140 T2000,140 L2000,160 L0,160 Z' fill='%23e0f4fd' opacity='0.7'/></svg>"); animation:pv-waveMove 30s linear infinite; opacity:0.18; bottom:0; }
@keyframes pv-waveMove { 0%{transform:translateX(0);} 100%{transform:translateX(-50%);} }
.pv-biolink[data-theme="night"] .pv-wave-1,.pv-biolink[data-theme="night"] .pv-wave-2,.pv-biolink[data-theme="night"] .pv-wave-3 { opacity:0.05; }

.pv-biolink .pv-sunglow { position:fixed;bottom:-80px;left:50%;transform:translateX(-50%);width:140%;height:380px;background:radial-gradient(ellipse at 50% 100%,rgba(0,143,214,0.35) 0%,rgba(0,143,214,0.15) 30%,transparent 70%);filter:blur(30px);animation:pv-sunPulse 6s ease-in-out infinite;opacity:.8;z-index:0; }
.pv-biolink[data-theme="night"] .pv-sunglow { background:radial-gradient(ellipse at 30% 100%,rgba(139,38,117,0.4) 0%,transparent 55%),radial-gradient(ellipse at 70% 100%,rgba(0,80,200,0.3) 0%,transparent 55%); }
@keyframes pv-sunPulse { 0%,100%{opacity:.75;transform:translateX(-50%) scale(1);}50%{opacity:1;transform:translateX(-50%) scale(1.05);} }

.pv-biolink .pv-shells { position:absolute;inset:0;pointer-events:none; }
.pv-biolink .pv-shells span { position:absolute;font-size:14px;opacity:0;animation:pv-shellFloat 12s ease-in-out infinite; }
.pv-biolink .pv-shells span:nth-child(1){top:8%;left:6%;animation-delay:0s;}
.pv-biolink .pv-shells span:nth-child(2){top:15%;left:88%;animation-delay:1.2s;}
.pv-biolink .pv-shells span:nth-child(3){top:28%;left:5%;animation-delay:2.5s;}
.pv-biolink .pv-shells span:nth-child(4){top:40%;left:92%;animation-delay:3.8s;}
.pv-biolink .pv-shells span:nth-child(5){top:55%;left:4%;animation-delay:5.1s;}
.pv-biolink .pv-shells span:nth-child(6){top:68%;left:90%;animation-delay:6.4s;}
.pv-biolink .pv-shells span:nth-child(7){top:78%;left:7%;animation-delay:0.8s;}
.pv-biolink .pv-shells span:nth-child(8){top:85%;left:88%;animation-delay:2.1s;}
.pv-biolink .pv-shells span:nth-child(9){top:20%;left:50%;animation-delay:4.0s;}
.pv-biolink .pv-shells span:nth-child(10){top:60%;left:48%;animation-delay:7.0s;}
@keyframes pv-shellFloat { 0%{opacity:0;transform:translateY(20px) rotate(-10deg);} 20%{opacity:.5;} 50%{opacity:.65;transform:translateY(-10px) rotate(8deg);} 80%{opacity:.45;} 100%{opacity:0;transform:translateY(-30px) rotate(-5deg);} }
.pv-biolink[data-theme="night"] .pv-shells { display:none; }

.pv-biolink .pv-neon-particles { position:fixed;inset:0;pointer-events:none;z-index:0;display:none; }
.pv-biolink[data-theme="night"] .pv-neon-particles { display:block; }
.pv-neon-particle { position:absolute;border-radius:50%;animation:pv-neonFloat 8s ease-in-out infinite;pointer-events:none; }
@keyframes pv-neonFloat { 0%,100%{opacity:0;transform:translateY(0) scale(1);} 20%{opacity:.8;} 50%{opacity:1;transform:translateY(-40px) scale(1.2);} 80%{opacity:.6;} }


/* ── WRAP ── */
.pv-biolink .wrap { position:relative;z-index:2;max-width:540px;margin:0 auto;padding:18px 18px 0; }


/* ═══════════════════════════════════════════════════════════════════
   TOPBAR · switchers apilados verticalmente a la derecha
   ═══════════════════════════════════════════════════════════════════ */
.pv-biolink .topbar {
    display:flex; align-items:center; justify-content:space-between;
    gap:10px; margin-bottom:4px;
}
.pv-biolink .topbar-right {
    display:flex; flex-direction:column; align-items:flex-end; gap:6px;
}

/* Status pill */
.pv-biolink .status-pill {
    display:inline-flex; align-items:center; gap:8px;
    background:var(--card-bg); border:1px solid var(--card-border);
    padding:6px 14px; border-radius:30px; font-size:11px; font-weight:600;
    letter-spacing:.5px; color:var(--ink-deep); backdrop-filter:blur(10px);
    box-shadow:0 2px 8px var(--shadow-soft); transition:all .4s;
}
.pv-biolink .status-dot { width:8px;height:8px;border-radius:50%;background:var(--bb-main);box-shadow:0 0 8px var(--bb-main);animation:pv-statusPulse 2s ease-in-out infinite; }
.pv-biolink .status-dot.closed { background:#e04040;box-shadow:0 0 8px #e04040; }
@keyframes pv-statusPulse { 0%,100%{opacity:1;transform:scale(1);} 50%{opacity:.55;transform:scale(1.2);} }

/* Switch idioma */
.pv-biolink .lang-switch {
    display:inline-flex; background:var(--card-bg); border:1px solid var(--card-border);
    border-radius:30px; padding:3px; cursor:pointer; backdrop-filter:blur(10px);
    box-shadow:0 2px 8px var(--shadow-soft); transition:all .4s;
}
.pv-biolink .lang-switch-track { position:relative;display:inline-flex;border-radius:30px;overflow:hidden; }
.pv-biolink .lang-switch-thumb {
    position:absolute;top:0;left:0;width:50%;height:100%;
    background:linear-gradient(135deg,var(--bb-main) 0%,var(--bb-deep) 100%);
    border-radius:30px; box-shadow:0 2px 8px var(--bb-shadow);
    transition:transform .32s cubic-bezier(.34,1.4,.64,1); z-index:1; pointer-events:none;
}
.pv-biolink .lang-switch[aria-checked="true"] .lang-switch-thumb { transform:translateX(100%); }
.pv-biolink .lang-switch-option { position:relative;z-index:2;display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:11.5px;font-weight:700;letter-spacing:.5px;color:var(--ink-soft);transition:color .25s;pointer-events:none;user-select:none; }
.pv-biolink .lang-switch-option .lang-flag { font-size:13px;line-height:1; }
.pv-biolink .lang-switch[aria-checked="false"] .lang-switch-es { color:#fff; }
.pv-biolink .lang-switch[aria-checked="true"]  .lang-switch-en { color:#fff; }

/* Switch modo DÍA/NOCHE */
.pv-biolink .mode-switch {
    display:inline-flex; align-items:center; gap:2px;
    background:var(--card-bg); border:1px solid var(--card-border);
    border-radius:30px; padding:4px; cursor:pointer;
    backdrop-filter:blur(10px); box-shadow:0 2px 8px var(--shadow-soft);
    transition:all .4s;
}
.pv-biolink .mode-btn {
    display:inline-flex; align-items:center; justify-content:center;
    width:34px; height:28px; border-radius:24px; border:none;
    background:transparent; cursor:pointer; transition:all .25s;
}
.pv-biolink .mode-btn svg { width:16px;height:16px;stroke:var(--ink-pale);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s,filter .3s; }
.pv-biolink .mode-btn.active { background:linear-gradient(135deg,var(--bb-main) 0%,var(--bb-deep) 100%);box-shadow:0 2px 10px var(--bb-shadow); }
.pv-biolink .mode-btn.active svg { stroke:#fff; }
.pv-biolink[data-theme="night"] .mode-btn[data-mode="night"].active svg { filter:drop-shadow(0 0 5px rgba(196,79,173,.9)) drop-shadow(0 0 10px rgba(139,38,117,.7)); }


/* ── HERO (sin foto redonda) ── */
.pv-biolink .sec-hero { padding:26px 0 20px;text-align:center;position:relative; }
.pv-biolink .hero-label {
    display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:4px;
    color:var(--bb-main);text-transform:uppercase;font-weight:700;margin-bottom:14px;
    transition:color .4s;
}
.pv-biolink[data-theme="night"] .hero-label { color:var(--bb-bright);text-shadow:0 0 12px rgba(196,79,173,.7); }
.pv-biolink .hero-brand-logo { margin:0 auto 14px;max-width:320px;padding:0 20px; }
.pv-biolink .hero-brand-logo img { width:100%;height:auto;display:block;filter:drop-shadow(0 4px 16px rgba(0,0,0,.2));transition:filter .4s; }
.pv-biolink[data-theme="night"] .hero-brand-logo img { filter:drop-shadow(0 0 14px rgba(139,38,117,.7)) drop-shadow(0 4px 18px rgba(0,0,0,.5)) brightness(1.1); }
.pv-biolink .hero-tagline { font-family:'Caveat',cursive;font-size:26px;font-weight:500;color:var(--ink-soft);margin-bottom:16px;line-height:1.1;font-style:italic;transition:color .4s,text-shadow .4s; }
.pv-biolink[data-theme="night"] .hero-tagline { color:var(--bb-bright);text-shadow:0 0 20px rgba(196,79,173,.5); }
.pv-biolink .hero-location { display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.8px;color:var(--ink-soft);background:var(--card-bg);border:1px solid var(--card-border);padding:7px 16px;border-radius:30px;font-weight:500;backdrop-filter:blur(8px);box-shadow:0 2px 8px var(--shadow-soft);transition:all .4s; }
.pv-biolink .hero-location svg { width:13px;height:13px;color:var(--bb-main); }


/* ── S-HEAD ── */
.pv-biolink .s-head { text-align:center;margin:36px 0 18px; }
.pv-biolink .s-kicker { display:inline-block;font-family:'Archivo Black',sans-serif;font-size:26px;font-weight:400;color:var(--bb-deep);line-height:1;letter-spacing:-.5px;text-transform:uppercase;text-shadow:0 2px 8px var(--bb-shadow);transition:color .4s,text-shadow .4s; }
.pv-biolink[data-theme="night"] .s-kicker { color:var(--bb-bright);text-shadow:0 0 20px rgba(196,79,173,.6),0 0 40px rgba(139,38,117,.4); }
.pv-biolink .s-sub { font-size:11px;letter-spacing:3px;color:var(--ink-soft);text-transform:uppercase;margin-top:8px;font-weight:500;transition:color .4s; }


/* ── TABS ── */
.pv-biolink .tabs-strip { display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 2px 12px;margin:0 -18px;padding-left:18px;padding-right:18px;scrollbar-width:none; }
.pv-biolink .tabs-strip::-webkit-scrollbar { display:none; }
.pv-biolink .tab-chip {
    flex:0 0 auto;scroll-snap-align:start;background:var(--card-bg);border:1.5px solid var(--card-border);
    color:var(--ink-soft);font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:600;
    padding:10px 16px;border-radius:30px;cursor:pointer;transition:all .25s;
    display:inline-flex;align-items:center;gap:7px;backdrop-filter:blur(10px);box-shadow:0 2px 8px var(--shadow-soft);
}
.pv-biolink .tab-chip:hover { border-color:var(--bb-main);color:var(--bb-deep);transform:translateY(-1px); }
.pv-biolink .tab-chip.active { background:linear-gradient(135deg,var(--bb-main) 0%,var(--bb-deep) 100%);border-color:var(--bb-deep);color:#fff;box-shadow:0 4px 14px var(--bb-shadow); }
.pv-biolink .tab-chip .tab-icon { display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0; }
.pv-biolink .tab-chip .tab-icon svg { width:16px;height:16px;stroke:var(--ink-pale);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .25s,filter .25s; }
.pv-biolink .tab-chip:hover .tab-icon svg { stroke:var(--bb-deep); }
.pv-biolink .tab-chip.active .tab-icon svg { stroke:#fff; }
.pv-biolink[data-theme="night"] .tab-chip.active .tab-icon svg { filter:drop-shadow(0 0 5px rgba(255,255,255,.8)) drop-shadow(0 0 10px rgba(196,79,173,.9)); }
.pv-biolink[data-theme="night"] .tab-chip:not(.active) .tab-icon svg { stroke:var(--bb-bright);opacity:.6; }
.pv-biolink[data-theme="night"] .tab-chip.active { box-shadow:0 4px 20px rgba(139,38,117,.5),0 0 30px rgba(139,38,117,.2); }


/* ── LIBRO 3 HOJAS ── */
.pv-biolink .sec-carta { padding:18px 0;position:relative; }
.pv-biolink .book-wrap { position:relative;cursor:pointer;transition:transform .3s cubic-bezier(.34,1.4,.64,1);perspective:1200px; }
.pv-biolink .book-wrap:hover { transform:translateY(-4px); }
.pv-biolink .book-wrap:active { transform:translateY(-2px) scale(.99); }
.pv-biolink .book-open-hint { position:absolute;top:-12px;right:12px;z-index:10;display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,var(--bb-main) 0%,var(--bb-deep) 100%);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:6px 12px;border-radius:20px;box-shadow:0 4px 12px var(--bb-shadow);animation:pv-hintBob 2.4s ease-in-out infinite; }
.pv-biolink .book-open-hint svg { width:12px;height:12px; }
@keyframes pv-hintBob { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-3px);} }

.pv-biolink .book-stack { position:absolute;inset:0;pointer-events:none; }
.pv-biolink .book-stack-layer { position:absolute;border-radius:14px;backdrop-filter:blur(6px); }
.pv-biolink .book-stack-layer.l3 { inset:12px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);box-shadow:0 4px 20px var(--shadow-soft);opacity:.7; }
.pv-biolink .book-stack-layer.l2 { inset:6px;background:rgba(255,255,255,.32);border:1px solid rgba(255,255,255,.45);opacity:.85; }
.pv-biolink .book-stack-layer.l1 { inset:0;background:rgba(255,255,255,.50);border:1px solid rgba(255,255,255,.55);opacity:.9; }
.pv-biolink[data-theme="night"] .book-stack-layer.l3 { background:rgba(139,38,117,.08);border-color:rgba(139,38,117,.2); }
.pv-biolink[data-theme="night"] .book-stack-layer.l2 { background:rgba(139,38,117,.12);border-color:rgba(139,38,117,.28); }
.pv-biolink[data-theme="night"] .book-stack-layer.l1 { background:rgba(139,38,117,.18);border-color:rgba(139,38,117,.35); }

.pv-biolink .book { position:relative;background:var(--book-bg);border-radius:14px;padding:28px 24px 22px;box-shadow:0 8px 28px var(--shadow-medium),inset 0 0 0 1px rgba(255,255,255,.4);min-height:220px;overflow:hidden;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);transition:all .6s; }
.pv-biolink[data-theme="night"] .book { border-color:rgba(139,38,117,.4);box-shadow:0 8px 32px var(--shadow-strong),0 0 40px rgba(139,38,117,.15),inset 0 0 0 1px rgba(139,38,117,.3); }
.pv-biolink .book::after { content:'';position:absolute;top:0;right:0;width:32px;height:32px;background:linear-gradient(225deg,rgba(255,255,255,.4) 0%,rgba(255,255,255,.4) 50%,transparent 50%);border-radius:0 14px 0 14px;pointer-events:none; }
.pv-biolink[data-theme="night"] .book::after { background:linear-gradient(225deg,rgba(139,38,117,.4) 0%,rgba(139,38,117,.4) 50%,transparent 50%); }

.pv-biolink .page-inner { position:relative;z-index:2;text-align:center; }
.pv-biolink .page-kicker { font-family:'Caveat',cursive;font-size:22px;font-weight:500;color:var(--bb-deep);line-height:1;margin-bottom:-2px;font-style:italic;transition:color .4s,text-shadow .4s; }
.pv-biolink[data-theme="night"] .page-kicker { color:var(--bb-bright);text-shadow:0 0 14px rgba(196,79,173,.7); }
.pv-biolink .page-title { font-family:'Archivo Black',sans-serif;font-size:28px;font-weight:400;color:var(--ink-deep);line-height:1;letter-spacing:-.5px;margin:0 0 12px;text-transform:uppercase;transition:color .4s; }
.pv-biolink .page-divider { display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:14px; }
.pv-biolink .page-divider .p-line { width:50px;height:1px;background:linear-gradient(90deg,transparent,var(--page-divider),transparent); }
.pv-biolink .page-divider .p-diamond { width:6px;height:6px;background:var(--page-divider);transform:rotate(45deg);border-radius:1px; }
.pv-biolink[data-theme="night"] .page-divider .p-line { box-shadow:0 0 6px rgba(139,38,117,.6); }
.pv-biolink[data-theme="night"] .page-divider .p-diamond { box-shadow:0 0 8px rgba(139,38,117,.8); }
.pv-biolink .page-items { text-align:left;margin-bottom:14px; }
.pv-biolink .page-item { display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;border-bottom:1px dashed rgba(0,143,214,.2); }
.pv-biolink[data-theme="night"] .page-item { border-bottom-color:rgba(139,38,117,.25); }
.pv-biolink .page-item:last-child { border-bottom:none; }
.pv-biolink .page-item-img { width:40px;height:40px;border-radius:8px;object-fit:cover;flex-shrink:0;box-shadow:0 2px 6px var(--shadow-soft);background:var(--bb-foam); }
.pv-biolink .page-item-info { flex:1;min-width:0; }
.pv-biolink .page-item-name { font-size:12.5px;font-weight:600;color:var(--ink-deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .4s; }
.pv-biolink .page-item-price { font-size:12.5px;font-weight:700;color:var(--bb-main);white-space:nowrap;transition:color .4s,text-shadow .4s; }
.pv-biolink[data-theme="night"] .page-item-price { color:var(--bb-bright);text-shadow:0 0 8px rgba(196,79,173,.5); }
.pv-biolink .page-num { font-family:'Caveat',cursive;font-size:16px;font-weight:500;color:var(--ink-pale);text-align:center;margin-top:8px;font-style:italic; }


/* ── VIP ── */
.pv-biolink .sec-vip { padding:0 0 8px; }
.pv-biolink .vip-card { background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;padding:22px 20px;box-shadow:0 6px 20px var(--shadow-soft);transition:all .4s; }
.pv-biolink[data-theme="night"] .vip-card { background:rgba(20,8,30,.85);border-color:rgba(139,38,117,.45);box-shadow:0 6px 30px rgba(139,38,117,.2),0 0 50px rgba(139,38,117,.08); }
.pv-biolink .vip-title { font-family:'Archivo Black',sans-serif;font-size:18px;color:var(--ink-deep);text-transform:uppercase;letter-spacing:-.3px;margin-bottom:14px;transition:color .4s; }
.pv-biolink .vip-includes { list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px; }
.pv-biolink .vip-includes li { display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:var(--ink-soft);transition:color .4s; }
.pv-biolink .vip-includes li svg { width:15px;height:15px;flex-shrink:0;stroke:var(--bb-main);fill:none;stroke-width:2;transition:all .4s; }
.pv-biolink[data-theme="night"] .vip-includes li svg { stroke:var(--bb-bright);filter:drop-shadow(0 0 5px rgba(196,79,173,.7)); }
.pv-biolink .vip-price { font-size:12px;font-weight:700;letter-spacing:.5px;color:var(--bb-main);text-transform:uppercase;margin-bottom:14px;transition:all .4s; }
.pv-biolink[data-theme="night"] .vip-price { color:var(--bb-bright);text-shadow:0 0 10px rgba(196,79,173,.6); }
.pv-biolink .vip-cta {
    display:flex;align-items:center;justify-content:center;gap:10px;
    background:linear-gradient(135deg,var(--bb-main) 0%,var(--bb-deep) 100%);
    color:#fff;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;
    letter-spacing:.8px;text-transform:uppercase;padding:14px 20px;border-radius:14px;
    box-shadow:0 4px 16px var(--bb-shadow);transition:all .25s;cursor:pointer;border:none;width:100%;
}
.pv-biolink .vip-cta:hover { transform:translateY(-2px);box-shadow:0 8px 24px var(--bb-shadow); }
.pv-biolink[data-theme="night"] .vip-cta { box-shadow:0 4px 20px rgba(139,38,117,.5),0 0 30px rgba(139,38,117,.2); }
.pv-biolink .vip-cta svg { width:18px;height:18px; }


/* ── EVENTOS (botón en sec-connect) ── */
.pv-biolink .btn-eventos .cta-icon-wrap { background:linear-gradient(135deg,var(--bb-main) 0%,var(--bb-deep) 100%); }
.pv-biolink[data-theme="night"] .btn-eventos .cta-icon-wrap { box-shadow:0 0 14px rgba(139,38,117,.5); }


/* ── MAPA + HORARIO ── */
.pv-biolink .info-grid { display:grid;grid-template-columns:1fr;gap:14px; }
.pv-biolink .map-card { background:var(--card-bg);border-radius:16px;overflow:hidden;box-shadow:0 6px 20px var(--shadow-medium);border:1px solid var(--card-border);transition:all .4s; }
.pv-biolink .map-card iframe { width:100%;height:200px;border:0;display:block; }
.pv-biolink .map-footer { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:rgba(0,143,214,.06);transition:background .4s; }
.pv-biolink[data-theme="night"] .map-footer { background:rgba(139,38,117,.1); }
.pv-biolink .map-footer-text { font-family:'Archivo Black',sans-serif;font-size:14px;color:var(--ink-deep);line-height:1.2;text-transform:uppercase;letter-spacing:-.3px; }
.pv-biolink .map-footer-text span { display:block;font-family:'Montserrat',sans-serif;font-size:11px;color:var(--ink-soft);font-weight:500;text-transform:none;letter-spacing:.5px;margin-top:2px; }
.pv-biolink .map-cta { display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,var(--bb-main) 0%,var(--bb-deep) 100%);color:#fff;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:8px 16px;border-radius:24px;transition:transform .2s;box-shadow:0 3px 10px var(--bb-shadow); }
.pv-biolink .map-cta:hover { transform:translateY(-1px); }
.pv-biolink .map-cta svg { width:14px;height:14px; }
.pv-biolink .hours-card { background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:22px 20px;text-align:center;box-shadow:0 6px 20px var(--shadow-soft);transition:all .4s; }
.pv-biolink .hours-title { font-family:'Caveat',cursive;font-size:26px;font-weight:700;color:var(--bb-deep);line-height:1;margin-bottom:12px;font-style:italic;transition:all .4s; }
.pv-biolink[data-theme="night"] .hours-title { color:var(--bb-bright);text-shadow:0 0 16px rgba(196,79,173,.7); }
.pv-biolink .hours-big { font-family:'Archivo Black',sans-serif;font-size:26px;font-weight:400;color:var(--ink-deep);line-height:1;letter-spacing:-.5px;transition:color .4s; }
.pv-biolink .hours-sub { font-size:11px;font-weight:600;color:var(--bb-main);text-transform:uppercase;letter-spacing:2px;margin-top:4px;transition:color .4s; }
.pv-biolink .hours-separator { width:50%;height:1px;margin:14px auto;background:linear-gradient(90deg,transparent,var(--bb-main),transparent);transition:all .4s; }
.pv-biolink[data-theme="night"] .hours-separator { box-shadow:0 0 8px rgba(139,38,117,.5); }


/* ── CTAs ── */
.pv-biolink .cta-btn { display:flex;align-items:center;gap:14px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:14px 18px;margin-bottom:12px;transition:all .25s;box-shadow:0 4px 14px var(--shadow-soft);color:var(--ink-deep); }
.pv-biolink .cta-btn:hover { transform:translateY(-2px);box-shadow:0 8px 22px var(--shadow-medium);border-color:var(--bb-main); }
.pv-biolink .cta-icon-wrap { width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.pv-biolink .cta-icon-wrap svg { width:22px;height:22px; }
.pv-biolink .btn-whatsapp .cta-icon-wrap { background:#25D366; }
.pv-biolink .btn-instagram .cta-icon-wrap { background:linear-gradient(135deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%); }
.pv-biolink .btn-facebook .cta-icon-wrap { background:#1877f2; }
.pv-biolink .cta-text { flex:1;font-size:15px;font-weight:700;color:var(--ink-deep);line-height:1.2;transition:color .4s; }
.pv-biolink .cta-text .cta-sub { display:block;font-size:12px;font-weight:500;color:var(--ink-soft);margin-top:2px;letter-spacing:.3px; }
.pv-biolink .cta-arrow { color:var(--bb-main);transition:transform .25s,color .4s;flex-shrink:0; }
.pv-biolink .cta-btn:hover .cta-arrow { transform:translateX(4px); }
.pv-biolink[data-theme="night"] .cta-arrow { color:var(--bb-bright);filter:drop-shadow(0 0 4px rgba(196,79,173,.5)); }


/* ── RESEÑAS ── */
.pv-biolink .reviews-slider { position:relative; }
.pv-biolink .reviews-track { display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:12px;scrollbar-width:none; }
.pv-biolink .reviews-track::-webkit-scrollbar { display:none; }
.pv-biolink .review-card { flex:0 0 100%;scroll-snap-align:start;background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:18px 18px 16px;box-shadow:0 4px 14px var(--shadow-soft);transition:all .4s; }
.pv-biolink .review-head { display:flex;align-items:center;gap:12px;margin-bottom:10px; }
.pv-biolink .review-avatar { width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--bb-main) 0%,var(--bb-deep) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;box-shadow:0 2px 8px var(--bb-shadow);transition:box-shadow .4s; }
.pv-biolink[data-theme="night"] .review-avatar { box-shadow:0 0 12px rgba(139,38,117,.5); }
.pv-biolink .review-meta { flex:1;line-height:1.2; }
.pv-biolink .review-name { font-size:13px;font-weight:700;color:var(--ink-deep); }
.pv-biolink .review-date { font-size:11px;color:var(--ink-pale);margin-top:1px; }
.pv-biolink .review-stars { color:#FFB300;font-size:13px;letter-spacing:1px; }
.pv-biolink[data-theme="night"] .review-stars { text-shadow:0 0 8px rgba(255,179,0,.6); }
.pv-biolink .review-text { font-size:13px;line-height:1.5;color:var(--ink-soft);font-weight:500; }
.pv-biolink .reviews-dots { display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px; }
.pv-biolink .reviews-dots .dot { width:7px;height:7px;border-radius:50%;background:rgba(0,143,214,.25);transition:all .25s;cursor:pointer; }
.pv-biolink .reviews-dots .dot.active { background:var(--bb-main);width:22px;border-radius:4px; }
.pv-biolink[data-theme="night"] .reviews-dots .dot.active { box-shadow:0 0 8px rgba(139,38,117,.7); }
.pv-biolink .reviews-cta { margin-top:16px;text-align:center; }
.pv-biolink .reviews-cta a { display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--bb-main) 0%,var(--bb-deep) 100%);color:#fff;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:10px 20px;border-radius:24px;transition:transform .2s;box-shadow:0 4px 14px var(--bb-shadow); }
.pv-biolink .reviews-cta a:hover { transform:translateY(-2px); }
.pv-biolink .reviews-cta a svg { width:14px;height:14px; }


/* ── FOOTER ── */
.pv-biolink .sec-footer { text-align:center;padding:36px 0 24px;margin-top:24px;border-top:1px dashed var(--card-border);transition:border-color .4s; }
.pv-biolink .footer-brand { font-family:'Archivo Black',sans-serif;font-size:22px;color:var(--bb-deep);letter-spacing:-.5px;text-transform:uppercase;margin-bottom:6px;transition:all .4s; }
.pv-biolink[data-theme="night"] .footer-brand { color:var(--bb-bright);text-shadow:0 0 20px rgba(196,79,173,.5); }
.pv-biolink .footer-text { font-size:12px;color:var(--ink-soft);margin-bottom:18px;font-weight:500; }
.pv-biolink .footer-text a { color:var(--bb-main);font-weight:700; }
.pv-biolink .footer-logos { display:flex;align-items:center;justify-content:center;gap:28px;margin-bottom:14px; }
.pv-biolink .footer-logo { transition:transform .25s,opacity .25s;opacity:.8; }
.pv-biolink .footer-logo:hover { transform:translateY(-2px);opacity:1; }
.pv-biolink .footer-logo img { max-height:40px;width:auto;display:block; }
.pv-biolink[data-theme="night"] .footer-logo img { filter:brightness(1.3); }
.pv-biolink .powered-by { font-size:10.5px;color:var(--ink-pale);letter-spacing:.5px; }
.pv-biolink .powered-by a { color:var(--bb-main);font-weight:700; }


/* ── FAB COMPARTIR + QR (reglas base, sobreescritas por v3 al final) ── */

.pv-biolink .qr-card { position:fixed;bottom:90px;left:50%;transform:translateX(-50%) scale(.9);background:#fff;border-radius:18px;padding:22px 24px 20px;box-shadow:0 12px 36px var(--shadow-strong);z-index:99;text-align:center;opacity:0;pointer-events:none;transition:all .28s cubic-bezier(.34,1.4,.64,1);border:1px solid var(--card-border); }
.pv-biolink[data-theme="night"] .qr-card { background:#1a0a24;border-color:rgba(139,38,117,.5);box-shadow:0 12px 40px rgba(0,0,0,.7),0 0 40px rgba(139,38,117,.3); }
.pv-biolink .qr-card.open { opacity:1;transform:translateX(-50%) scale(1);pointer-events:auto; }
.pv-biolink .qr-card-close { position:absolute;top:8px;right:8px;width:26px;height:26px;border:none;background:transparent;color:var(--ink-soft);font-size:22px;cursor:pointer;line-height:1; }
.pv-biolink .qr-card-title { font-family:'Caveat',cursive;font-size:22px;color:var(--bb-deep);margin-bottom:10px;font-weight:700;font-style:italic;transition:all .4s; }
.pv-biolink[data-theme="night"] .qr-card-title { color:var(--bb-bright);text-shadow:0 0 14px rgba(196,79,173,.7); }
.pv-biolink .qr-card-canvas-wrap { background:#fff;padding:10px;border-radius:12px;border:2px solid var(--bb-main);margin-bottom:10px;transition:all .4s; }
.pv-biolink[data-theme="night"] .qr-card-canvas-wrap { border-color:#8b2675;box-shadow:0 0 20px rgba(139,38,117,.4); }
.pv-biolink .qr-card-canvas-wrap img { width:180px;height:180px;display:block; }
.pv-biolink .qr-card-sub { font-size:11px;color:var(--ink-soft);letter-spacing:.5px;font-weight:600; }


/* ═══════════════════════════════════════════════════════════════════
   MODAL VIP · RESERVA
   ═══════════════════════════════════════════════════════════════════ */
.pv-biolink .vip-modal,
.pv-biolink .events-modal,
.pv-biolink .menu-modal {
    position:fixed;inset:0;z-index:1000;display:none;align-items:flex-end;justify-content:center;
}
.pv-biolink .vip-modal.open,
.pv-biolink .events-modal.open,
.pv-biolink .menu-modal.open { display:flex; }

.pv-biolink .modal-backdrop {
    position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);animation:pv-fadeIn .3s;
}
@keyframes pv-fadeIn { from{opacity:0;} to{opacity:1;} }

.pv-biolink .modal-panel {
    position:relative;width:100%;max-width:540px;max-height:92vh;
    background:var(--modal-bg);border-radius:22px 22px 0 0;
    display:flex;flex-direction:column;
    box-shadow:0 -10px 40px rgba(0,0,0,.3);
    animation:pv-slideUp .32s cubic-bezier(.34,1.4,.64,1);
    transition:background .4s;
}
.pv-biolink[data-theme="night"] .modal-panel { box-shadow:0 -10px 50px rgba(0,0,0,.7),0 -2px 30px rgba(139,38,117,.2); }
@keyframes pv-slideUp { from{transform:translateY(100%);} to{transform:translateY(0);} }

.pv-biolink .modal-header {
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 20px 14px;border-bottom:1px solid var(--modal-border);flex-shrink:0;
}
.pv-biolink .modal-header-title {
    display:flex;align-items:center;gap:10px;
    font-family:'Archivo Black',sans-serif;font-size:20px;color:var(--ink-deep);
    text-transform:uppercase;letter-spacing:-.3px;transition:color .4s;
}
.pv-biolink .modal-header-title svg { width:22px;height:22px;stroke:var(--bb-main);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;transition:all .4s; }
.pv-biolink[data-theme="night"] .modal-header-title svg { stroke:var(--bb-bright);filter:drop-shadow(0 0 6px rgba(196,79,173,.8)); }
.pv-biolink .modal-close { width:36px;height:36px;border:none;background:rgba(0,143,214,.12);color:var(--bb-deep);font-size:26px;line-height:1;border-radius:50%;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center; }
.pv-biolink .modal-close:hover { background:var(--bb-main);color:#fff; }
.pv-biolink[data-theme="night"] .modal-close { background:rgba(139,38,117,.2);color:var(--bb-bright); }

/* Formulario VIP */
.pv-biolink .vip-form-body { flex:1;overflow-y:auto;padding:20px; }
.pv-biolink .vip-form-row { margin-bottom:16px; }
.pv-biolink .vip-form-label { display:block;font-size:11.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--bb-deep);margin-bottom:6px;transition:color .4s; }
.pv-biolink[data-theme="night"] .vip-form-label { color:var(--bb-bright); }
.pv-biolink .vip-form-input, .pv-biolink .vip-form-select {
    width:100%;padding:12px 14px;border-radius:12px;font-family:'Montserrat',sans-serif;
    font-size:14px;font-weight:500;color:var(--ink-deep);
    background:rgba(255,255,255,.85);border:1.5px solid var(--card-border);
    transition:all .25s;outline:none;appearance:none;
}
.pv-biolink[data-theme="night"] .vip-form-input,
.pv-biolink[data-theme="night"] .vip-form-select { background:rgba(30,10,45,.85);color:var(--ink-deep);border-color:rgba(139,38,117,.4); }
.pv-biolink .vip-form-input:focus, .pv-biolink .vip-form-select:focus { border-color:var(--bb-main);box-shadow:0 0 0 3px var(--bb-foam); }
.pv-biolink .vip-form-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.pv-biolink .vip-form-note { font-size:11.5px;color:var(--ink-pale);margin-top:4px;font-weight:500; }

.pv-biolink .vip-form-actions { display:flex;flex-direction:column;gap:10px;padding:0 20px 20px;flex-shrink:0; }
.pv-biolink .vip-action-btn {
    display:flex;align-items:center;justify-content:center;gap:10px;
    padding:14px 20px;border-radius:14px;font-family:'Montserrat',sans-serif;
    font-size:13px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;
    cursor:pointer;border:none;transition:all .25s;
}
.pv-biolink .vip-action-btn.whatsapp { background:#25D366;color:#fff;box-shadow:0 4px 14px rgba(37,211,102,.35); }
.pv-biolink .vip-action-btn.whatsapp:hover { background:#1ebe5a;transform:translateY(-1px); }
.pv-biolink .vip-action-btn.call { background:var(--card-bg);color:var(--bb-main);border:1.5px solid var(--card-border);box-shadow:0 2px 8px var(--shadow-soft); }
.pv-biolink .vip-action-btn.call:hover { border-color:var(--bb-main);background:var(--bb-foam); }
.pv-biolink .vip-action-btn svg { width:18px;height:18px; }


/* ═══════════════════════════════════════════════════════════════════
   MODAL EVENTOS · GALERÍA
   ═══════════════════════════════════════════════════════════════════ */
.pv-biolink .events-modal .modal-panel { max-height:95vh; }
.pv-biolink .events-gallery-body { flex:1;overflow-y:auto;padding:16px; }
.pv-biolink .events-loading { text-align:center;padding:40px 20px;color:var(--ink-pale);font-size:13px;font-weight:500; }
.pv-biolink .events-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.pv-biolink .event-thumb {
    border-radius:12px;overflow:hidden;cursor:pointer;
    aspect-ratio:3/4;position:relative;
    box-shadow:0 4px 14px var(--shadow-medium);
    transition:transform .25s,box-shadow .25s;
    background:var(--bb-foam);
}
.pv-biolink .event-thumb:hover { transform:scale(1.02);box-shadow:0 8px 24px var(--shadow-strong); }
.pv-biolink[data-theme="night"] .event-thumb:hover { box-shadow:0 8px 30px rgba(139,38,117,.4); }
.pv-biolink .event-thumb img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s; }
.pv-biolink .event-thumb:hover img { transform:scale(1.05); }

/* Lightbox de evento */
.pv-biolink .event-lightbox {
    position:fixed;inset:0;z-index:2000;
    background:rgba(0,0,0,.92);backdrop-filter:blur(12px);
    display:none;align-items:center;justify-content:center;
    animation:pv-fadeIn .25s;
}
.pv-biolink .event-lightbox.open { display:flex; }
.pv-biolink .event-lightbox-img { max-width:90vw;max-height:85vh;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.7);object-fit:contain; }
.pv-biolink .event-lightbox-close { position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:none;background:rgba(255,255,255,.15);color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s; }
.pv-biolink .event-lightbox-close:hover { background:rgba(255,255,255,.3); }
.pv-biolink .event-lightbox-nav { position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:none;background:rgba(255,255,255,.15);color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s; }
.pv-biolink .event-lightbox-nav:hover { background:rgba(255,255,255,.3); }
.pv-biolink .event-lightbox-prev { left:14px; }
.pv-biolink .event-lightbox-next { right:14px; }
.pv-biolink .event-lightbox-counter { position:absolute;bottom:16px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.7);font-size:12px;font-weight:600;letter-spacing:1px; }
.pv-biolink .events-empty { text-align:center;padding:40px 20px;color:var(--ink-pale);font-size:13px; }


/* ═══════════════════════════════════════════════════════════════════
   MODAL CARTA
   ═══════════════════════════════════════════════════════════════════ */
.pv-biolink .menu-modal-header { display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--modal-border);flex-shrink:0;transition:border-color .4s; }
.pv-biolink[data-theme="night"] .menu-modal-header { border-bottom-color:rgba(139,38,117,.3); }
.pv-biolink .menu-modal-title { display:flex;align-items:center;gap:10px;font-family:'Archivo Black',sans-serif;font-size:20px;color:var(--ink-deep);text-transform:uppercase;letter-spacing:-.3px;transition:color .4s; }
.pv-biolink .tab-icon-lg { width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center; }
.pv-biolink .tab-icon-lg svg { width:24px;height:24px;stroke:var(--bb-main);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:all .4s; }
.pv-biolink[data-theme="night"] .tab-icon-lg svg { stroke:var(--bb-bright);filter:drop-shadow(0 0 6px rgba(196,79,173,.8)); }
.pv-biolink .menu-modal-close { width:36px;height:36px;border:none;background:rgba(0,143,214,.12);color:var(--bb-deep);font-size:26px;line-height:1;border-radius:50%;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center; }
.pv-biolink .menu-modal-close:hover { background:var(--bb-main);color:#fff; }
.pv-biolink[data-theme="night"] .menu-modal-close { background:rgba(139,38,117,.2);color:var(--bb-bright); }

.pv-biolink .menu-modal-body { flex:1;overflow-y:auto;padding:12px 20px 8px;scrollbar-width:thin;scrollbar-color:var(--bb-main) transparent; }
.pv-biolink .menu-section { margin-bottom:20px; }
.pv-biolink .menu-section-title { font-family:'Archivo Black',sans-serif;font-size:13px;color:var(--section-title);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--modal-border);transition:all .4s; }
.pv-biolink[data-theme="night"] .menu-section-title { text-shadow:0 0 10px rgba(196,79,173,.4); }
.pv-biolink .menu-section-subtitle { font-size:11px;color:var(--ink-pale);margin-bottom:8px;font-weight:500;letter-spacing:.3px; }

.pv-biolink .menu-item { display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--modal-border);transition:border-color .4s; }
.pv-biolink .menu-item:last-child { border-bottom:none; }
.pv-biolink .menu-item-img { width:56px;height:56px;border-radius:10px;object-fit:cover;flex-shrink:0;box-shadow:0 2px 8px var(--shadow-soft);background:var(--bb-foam);transition:box-shadow .4s; }
.pv-biolink[data-theme="night"] .menu-item-img { box-shadow:0 2px 10px rgba(139,38,117,.25); }
.pv-biolink .menu-item-name { font-size:13.5px;font-weight:700;color:var(--ink-deep);line-height:1.3;transition:color .4s; }
.pv-biolink .menu-item-desc { font-size:11.5px;color:var(--ink-soft);line-height:1.4;margin-top:2px;font-weight:500; }
.pv-biolink .menu-item-allergens { display:flex;flex-wrap:wrap;gap:3px;margin-top:4px; }
.pv-biolink .menu-item-allergen { display:inline-flex;align-items:center;gap:3px;background:rgba(0,143,214,.08);color:var(--bb-deep);font-size:9.5px;font-weight:600;padding:2px 6px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px;transition:all .4s; }
.pv-biolink[data-theme="night"] .menu-item-allergen { background:rgba(139,38,117,.15);color:var(--bb-bright); }
.pv-biolink .menu-item-allergen-icon { font-size:11px; }
.pv-biolink .menu-item-price { font-family:'Archivo Black',sans-serif;font-size:14px;color:var(--bb-main);white-space:nowrap;align-self:start;letter-spacing:-.2px;transition:all .4s; }
.pv-biolink[data-theme="night"] .menu-item-price { color:var(--bb-bright);text-shadow:0 0 8px rgba(196,79,173,.5); }

/* Cócteles */
.pv-biolink .cocktail-card { display:grid;grid-template-columns:100px 1fr;gap:14px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:14px;margin-bottom:16px;box-shadow:0 4px 16px var(--shadow-soft);position:relative;overflow:hidden;transition:all .4s; }
.pv-biolink[data-theme="night"] .cocktail-card { box-shadow:0 4px 20px var(--shadow-medium),0 0 25px rgba(139,38,117,.1); }
.pv-biolink .cocktail-image-wrap { width:100px;height:160px;border-radius:12px;overflow:hidden;background:var(--bb-foam);flex-shrink:0;box-shadow:0 4px 12px var(--shadow-medium); }
.pv-biolink .cocktail-image { width:100%;height:100%;object-fit:cover;display:block; }
.pv-biolink .cocktail-badge { position:absolute;top:8px;left:8px;background:linear-gradient(135deg,var(--bb-main) 0%,var(--bb-deep) 100%);color:#fff;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;padding:3px 8px;border-radius:12px;box-shadow:0 2px 6px var(--bb-shadow);z-index:2;transition:all .4s; }
.pv-biolink .cocktail-content { display:flex;flex-direction:column;gap:5px; }
.pv-biolink .cocktail-name { font-family:'Archivo Black',sans-serif;font-size:16px;color:var(--ink-deep);line-height:1;letter-spacing:-.3px;text-transform:uppercase;margin:0;transition:color .4s; }
.pv-biolink .cocktail-price { font-family:'Archivo Black',sans-serif;font-size:15px;color:var(--bb-main);letter-spacing:-.2px;transition:all .4s; }
.pv-biolink[data-theme="night"] .cocktail-price { color:var(--bb-bright);text-shadow:0 0 10px rgba(196,79,173,.6); }
.pv-biolink .cocktail-tagline { font-family:'Caveat',cursive;font-size:15px;color:var(--ink-soft);line-height:1;font-weight:500;font-style:italic;transition:color .4s; }
.pv-biolink[data-theme="night"] .cocktail-tagline { color:var(--bb-bright);opacity:.8; }
.pv-biolink .cocktail-divider { display:flex;align-items:center;gap:6px;margin:2px 0 4px; }
.pv-biolink .cocktail-divider::before,.pv-biolink .cocktail-divider::after { content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--bb-main),transparent); }
.pv-biolink .cocktail-divider span { font-size:11px;color:var(--bb-main);transition:color .4s; }
.pv-biolink .cocktail-ingredients { display:flex;flex-direction:column;gap:2px; }
.pv-biolink .cocktail-ingredient { display:grid;grid-template-columns:16px 1fr auto;gap:5px;align-items:baseline;font-size:11px;line-height:1.2;padding:2px 0;border-bottom:1px dotted var(--modal-border);transition:border-color .4s; }
.pv-biolink .cocktail-ingredient:last-child { border-bottom:none; }
.pv-biolink .cocktail-ingredient-icon { font-size:12px;line-height:1; }
.pv-biolink .cocktail-ingredient-name { color:var(--ink-deep);font-weight:600;transition:color .4s; }
.pv-biolink .cocktail-ingredient-measure { color:var(--bb-main);font-weight:700;font-size:10.5px;white-space:nowrap;transition:all .4s; }
.pv-biolink[data-theme="night"] .cocktail-ingredient-measure { color:var(--bb-bright);text-shadow:0 0 6px rgba(196,79,173,.4); }

/* Footer modal + paginador */
.pv-biolink .menu-modal-footer { display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-top:1px solid var(--modal-border);background:var(--modal-footer);flex-shrink:0;transition:all .4s; }
.pv-biolink .menu-pager-btn { display:inline-flex;align-items:center;gap:5px;background:transparent;border:1.5px solid var(--card-border);color:var(--ink-soft);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:7px 12px;border-radius:20px;cursor:pointer;transition:all .2s;max-width:38%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.pv-biolink .menu-pager-btn:hover { background:var(--bb-main);color:#fff;border-color:var(--bb-main); }
.pv-biolink .menu-pager-btn svg { width:12px;height:12px;flex-shrink:0; }
.pv-biolink .menu-pager-current { text-align:center;flex:1;line-height:1.1; }
.pv-biolink .menu-pager-current .label { display:block;font-size:9.5px;color:var(--ink-pale);text-transform:uppercase;letter-spacing:1px;font-weight:600; }
.pv-biolink .menu-pager-current #pager-current-name { font-family:'Archivo Black',sans-serif;font-size:13px;color:var(--ink-deep);text-transform:uppercase;letter-spacing:-.2px;transition:color .4s; }

/* Filtros alérgenos */
.pv-biolink .allergen-filters { padding:12px 20px 0;flex-shrink:0; }
.pv-biolink .allergen-filters-toggle { width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:rgba(0,143,214,.08);border:1px solid var(--card-border);border-radius:12px;padding:10px 14px;cursor:pointer;color:var(--ink-deep);font-size:12px;font-weight:600;transition:all .2s; }
.pv-biolink[data-theme="night"] .allergen-filters-toggle { background:rgba(139,38,117,.1);border-color:rgba(139,38,117,.3); }
.pv-biolink .allergen-filters-label { display:inline-flex;align-items:center;gap:8px;flex:1; }
.pv-biolink .allergen-filters-label svg { width:14px;height:14px;color:var(--bb-main);flex-shrink:0; }
.pv-biolink .allergen-filters-count { background:var(--bb-main);color:#fff;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:10px;min-width:20px;text-align:center; }
.pv-biolink .allergen-filters-count:empty { display:none; }
.pv-biolink .allergen-filters-chevron { width:14px;height:14px;color:var(--ink-soft);transition:transform .25s;flex-shrink:0; }
.pv-biolink .allergen-filters-toggle[aria-expanded="true"] .allergen-filters-chevron { transform:rotate(180deg); }
.pv-biolink .allergen-filters-body { max-height:0;overflow:hidden;transition:max-height .3s ease-out; }
.pv-biolink .allergen-filters-body.open { max-height:280px;overflow-y:auto; }
.pv-biolink .allergen-chips { display:flex;flex-wrap:wrap;gap:6px;padding:12px 0 4px; }
.pv-biolink .allergen-chip { display:inline-flex;align-items:center;gap:4px;background:var(--card-bg);border:1.5px solid var(--card-border);border-radius:18px;padding:5px 10px;font-size:11px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:all .2s;user-select:none; }
.pv-biolink .allergen-chip.active { background:var(--bb-deep);color:#fff;border-color:var(--bb-deep); }
.pv-biolink .allergen-chip-emoji { font-size:13px; }
.pv-biolink .allergen-reset { background:rgba(200,40,40,.08);border-color:rgba(200,40,40,.25);color:#c82828; }
.pv-biolink .allergen-reset.hidden { display:none; }

/* Wine subtabs */
.pv-biolink .wine-subtabs { display:none;gap:8px;padding:12px 20px 0;overflow-x:auto;scrollbar-width:none;flex-shrink:0; }
.pv-biolink .wine-subtabs::-webkit-scrollbar { display:none; }
.pv-biolink .wine-subtabs.active { display:flex; }
.pv-biolink .wine-subtab { flex:0 0 auto;background:var(--card-bg);border:1.5px solid var(--card-border);color:var(--ink-soft);font-size:12px;font-weight:600;padding:8px 14px;border-radius:24px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:5px; }
.pv-biolink .wine-subtab.active { background:var(--bb-deep);color:#fff;border-color:var(--bb-deep); }


/* ── RESPONSIVE ── */
@media (min-width:720px) {
    .pv-biolink .info-grid { grid-template-columns:1fr 1fr; }
    .pv-biolink .review-card { flex:0 0 calc(50% - 9px); }
    .pv-biolink .cocktail-card { grid-template-columns:130px 1fr;gap:16px; }
    .pv-biolink .cocktail-image-wrap { width:130px;height:200px; }
    .pv-biolink .cocktail-name { font-size:18px; }
    .pv-biolink .events-grid { grid-template-columns:1fr 1fr 1fr; }
}

/* ═══════════════════════════════════════════════════════════════════
   AÑADIDOS v3
   ═══════════════════════════════════════════════════════════════════ */

/* Topbar · alineación horizontal */
.pv-biolink .topbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 4px;
}
.pv-biolink .topbar-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

/* ── STATUS PILL con dropdown ── */
.pv-biolink .status-pill-wrap {
    position: relative;
}
.pv-biolink .status-pill {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--card-bg); border: 1px solid var(--card-border);
    padding: 6px 12px; border-radius: 30px;
    font-size: 11px; font-weight: 600; letter-spacing: .5px; color: var(--ink-deep);
    backdrop-filter: blur(10px); box-shadow: 0 2px 8px var(--shadow-soft);
    cursor: pointer; transition: all .3s;
}
.pv-biolink .status-pill:hover { border-color: var(--bb-main); }
.pv-biolink .status-chevron {
    width: 12px; height: 12px; color: var(--ink-pale);
    transition: transform .25s;
}
.pv-biolink .status-pill[aria-expanded="true"] .status-chevron { transform: rotate(180deg); }

/* Punto parpadeante verde cuando abierto */
.pv-biolink .status-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: #e04040; box-shadow: 0 0 8px #e04040;
    flex-shrink: 0; transition: all .3s;
}
.pv-biolink .status-dot.open {
    background: #22c55e;
    box-shadow: 0 0 8px #22c55e;
    animation: pv-dotBlink 1.4s ease-in-out infinite;
}
@keyframes pv-dotBlink {
    0%, 100% { opacity: 1; transform: scale(1); box-shadow: 0 0 8px #22c55e; }
    50%       { opacity: .5; transform: scale(1.3); box-shadow: 0 0 14px #22c55e; }
}

/* Dropdown horarios */
.pv-biolink .status-dropdown {
    position: absolute; top: calc(100% + 8px); left: 0;
    min-width: 100%; max-width: 220px;
    background: var(--card-bg); border: 1px solid var(--card-border);
    border-radius: 14px; padding: 12px 14px;
    box-shadow: 0 8px 24px var(--shadow-strong);
    backdrop-filter: blur(16px);
    z-index: 500;
    opacity: 0; pointer-events: none;
    transform: translateY(-6px);
    transition: opacity .22s, transform .22s;
    max-height: 220px; overflow-y: auto;
    scrollbar-width: thin; scrollbar-color: var(--bb-main) transparent;
}
.pv-biolink .status-dropdown.open {
    opacity: 1; pointer-events: auto; transform: translateY(0);
}
.pv-biolink[data-theme="night"] .status-dropdown {
    box-shadow: 0 8px 30px var(--shadow-strong), 0 0 20px rgba(139,38,117,.2);
}
.pv-biolink .status-dropdown-title {
    font-family: 'Caveat', cursive; font-size: 17px; font-weight: 700;
    color: var(--bb-deep); margin-bottom: 8px; font-style: italic;
    transition: color .4s;
}
.pv-biolink[data-theme="night"] .status-dropdown-title { color: var(--bb-bright); }
.pv-biolink .status-dropdown-row {
    display: flex; justify-content: space-between; align-items: center;
    gap: 10px; font-size: 11.5px; font-weight: 600;
    color: var(--ink-deep); padding: 4px 0;
    border-bottom: 1px dashed var(--modal-border);
    transition: color .4s, border-color .4s;
}
.pv-biolink .status-dropdown-row:last-of-type { border-bottom: none; }
.pv-biolink .status-dropdown-row span:last-child {
    color: var(--bb-main); font-weight: 700; transition: color .4s;
}
.pv-biolink[data-theme="night"] .status-dropdown-row span:last-child { color: var(--bb-bright); }
.pv-biolink .status-dropdown-divider {
    height: 1px; background: var(--modal-border); margin: 8px 0;
}
.pv-biolink .status-dropdown-note {
    display: flex; align-items: center; gap: 6px;
    font-size: 10.5px; color: var(--ink-pale); font-weight: 500;
}
.pv-biolink .status-dropdown-note svg { width: 11px; height: 11px; flex-shrink: 0; }

/* ── COLORES CRUZADOS DÍA/NOCHE ── */
/* Día: acento morado en detalles */
.pv-biolink[data-theme="day"] .page-divider .p-diamond {
    background: linear-gradient(135deg, var(--bb-main) 40%, #8b2675 100%);
}
.pv-biolink[data-theme="day"] .s-kicker {
    background: linear-gradient(135deg, var(--bb-deep) 60%, #8b2675 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.pv-biolink[data-theme="day"] .tab-chip.active {
    background: linear-gradient(135deg, var(--bb-main) 0%, #6d1d5c 100%);
}
.pv-biolink[data-theme="day"] .vip-cta {
    background: linear-gradient(135deg, var(--bb-main) 0%, #8b2675 100%);
}
.pv-biolink[data-theme="day"] .reviews-cta a {
    background: linear-gradient(135deg, var(--bb-main) 0%, #8b2675 100%);
}

/* Noche: acento azul en detalles */
.pv-biolink[data-theme="night"] .page-divider .p-diamond {
    background: linear-gradient(135deg, #8b2675 40%, #008fd6 100%);
    box-shadow: 0 0 10px rgba(0,143,214,.5);
}
.pv-biolink[data-theme="night"] .hours-big {
    color: var(--ink-deep);
    text-shadow: 0 0 20px rgba(0,143,214,.3);
}
.pv-biolink[data-theme="night"] .vip-cta {
    background: linear-gradient(135deg, #8b2675 0%, #008fd6 100%);
    box-shadow: 0 4px 20px rgba(139,38,117,.4), 0 0 30px rgba(0,143,214,.15);
}
.pv-biolink[data-theme="night"] .reviews-cta a {
    background: linear-gradient(135deg, #8b2675 0%, #008fd6 100%);
}

/* ── FAB ROW ── */
.pv-biolink .fab-row {
    position: fixed;
    bottom: 24px;
    left: 0; right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    pointer-events: none; /* el row no intercepta clicks, solo los hijos */
    padding: 0 20px;
}

/* +Contacto · izquierda · solo icono · transparente */
.pv-biolink .contact-fab {
    position: fixed;
    bottom: 24px;
    left: 20px;
    width: 46px; height: 46px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: rgba(139,38,117, 0.22);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1.5px solid rgba(139,38,117, 0.45);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(139,38,117,.3);
    transition: all .25s;
    pointer-events: auto;
}
.pv-biolink[data-theme="night"] .contact-fab {
    background: rgba(0,143,214, 0.22);
    border-color: rgba(0,143,214, 0.45);
    box-shadow: 0 4px 16px rgba(0,143,214,.35);
}
.pv-biolink .contact-fab:hover {
    background: rgba(139,38,117, 0.45);
    transform: translateY(-2px) scale(1.06);
}
.pv-biolink[data-theme="night"] .contact-fab:hover {
    background: rgba(0,143,214, 0.45);
}
.pv-biolink .contact-fab svg { width: 20px; height: 20px; flex-shrink: 0; }

/* FAB Compartir · centrado · transparente */
.pv-biolink .share-fab {
    display: inline-flex; align-items: center; gap: 0;
    background: rgba(0,143,214, 0.22);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1.5px solid rgba(0,143,214, 0.45);
    color: #fff; border-radius: 30px; padding: 0;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(0,143,214,.25);
    transition: all .25s; overflow: hidden;
    position: static; transform: none;
    pointer-events: auto;
}
.pv-biolink[data-theme="night"] .share-fab {
    background: rgba(139,38,117, 0.22);
    border-color: rgba(139,38,117, 0.45);
    box-shadow: 0 6px 20px rgba(139,38,117,.3);
}
.pv-biolink .share-fab:hover { transform: translateY(-2px); }
.pv-biolink .share-fab-inner {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 11px 14px; font-size: 12px; font-weight: 700;
    letter-spacing: .8px; text-transform: uppercase;
}
.pv-biolink .share-fab-qr-hint {
    display: inline-flex; align-items: center; gap: 4px;
    background: rgba(0,0,0,.15); padding: 11px 12px;
    font-size: 10px; font-weight: 700; letter-spacing: 1px;
    border-left: 1px solid rgba(255,255,255,.15);
}
.pv-biolink .share-fab-qr-hint svg { width: 13px; height: 13px; }
