:root{
  --gate-bg:#07090d;
  --gate-panel:rgba(17,19,25,.78);
  --gate-line:rgba(255,255,255,.13);
  --gate-gold:#d8c79f;
  --gate-gold-strong:#c7ae79;
  --gate-text:#f6f2e9;
  --gate-muted:rgba(246,242,233,.66)
}
html.prive-access-locked,
html.prive-access-locked body{
  margin:0!important;
  min-height:100%!important;
  background:var(--gate-bg)!important;
  overflow:hidden!important;
  overscroll-behavior:none!important
}
html.prive-access-locked body>*:not(#priveAccessGate):not(script){
  visibility:hidden!important
}
#priveAccessGate{
  position:fixed;inset:0;z-index:2147483647;
  display:grid;place-items:center;
  min-height:100dvh;
  padding:calc(20px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom));
  overflow:auto;color:var(--gate-text);
  background:
    radial-gradient(circle at 17% 15%,rgba(216,199,159,.12),transparent 31%),
    radial-gradient(circle at 82% 80%,rgba(114,83,42,.12),transparent 35%),
    linear-gradient(145deg,#07090d,#11151b 56%,#090b0f);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased
}
#priveAccessGate::before{
  content:"";position:fixed;inset:0;pointer-events:none;
  background:linear-gradient(120deg,transparent 0 43%,rgba(255,255,255,.025) 50%,transparent 57%);
  opacity:.72
}
.prive-entry-shell{
  position:relative;width:min(720px,100%);
  padding:30px 26px 24px;
  border:1px solid var(--gate-line);border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.018) 58%,rgba(0,0,0,.07)),rgba(13,15,20,.58);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 30px 90px rgba(0,0,0,.45);
  -webkit-backdrop-filter:blur(28px) saturate(135%);
  backdrop-filter:blur(28px) saturate(135%)
}
.prive-entry-brand{text-align:center;margin-bottom:25px}
.prive-gate-overline{margin:0 0 8px;color:var(--gate-gold);font-size:.65rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase}
.prive-gate-logo{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(3rem,12vw,5.2rem);font-weight:500;line-height:.9;letter-spacing:-.05em}
.prive-entry-slogan{margin:10px 0 0;color:rgba(246,242,233,.46);font-family:"Playfair Display",Georgia,serif;font-size:.84rem;font-style:italic}
.prive-entry-copy{text-align:center}
.prive-entry-kicker{margin:0 0 7px;color:var(--gate-gold);font-size:.62rem;font-weight:700;letter-spacing:.19em}
.prive-entry-copy h1{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.8rem,7vw,2.65rem);font-weight:500;letter-spacing:-.025em}
.prive-entry-copy>p:last-child{max-width:430px;margin:10px auto 0;color:var(--gate-muted);font-size:.84rem;line-height:1.55}
.prive-entry-options{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:25px}
.prive-entry-option{
  width:100%;min-width:0;min-height:160px;
  display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:13px;align-items:start;
  padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:19px;
  color:var(--gate-text);background:rgba(255,255,255,.035);
  font:inherit;text-align:left;text-decoration:none;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055);
  transition:border-color .18s ease,background .18s ease,transform .18s ease
}
.prive-entry-option:hover{transform:translateY(-2px);border-color:rgba(216,199,159,.44);background:rgba(216,199,159,.065)}
.prive-entry-option--distributor{background:linear-gradient(145deg,rgba(216,199,159,.09),rgba(255,255,255,.03))}
.prive-entry-option-icon{
  display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(216,199,159,.25);
  border-radius:14px;color:var(--gate-gold);background:rgba(216,199,159,.055)
}
.prive-entry-option-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.prive-entry-option-copy{display:grid;gap:6px;min-width:0}
.prive-entry-option-copy small{color:var(--gate-gold);font-size:.57rem;font-weight:700;letter-spacing:.14em}
.prive-entry-option-copy strong{font-family:"Playfair Display",Georgia,serif;font-size:1.15rem;font-weight:500;line-height:1.15}
.prive-entry-option-copy span{color:var(--gate-muted);font-size:.73rem;line-height:1.55}
.prive-entry-arrow{align-self:center;color:var(--gate-gold);font-size:1.15rem}
.prive-entry-note{margin:19px 0 0;color:rgba(246,242,233,.38);font-size:.63rem;line-height:1.5;text-align:center}
@media(max-width:620px){
  #priveAccessGate{padding-left:12px;padding-right:12px}
  .prive-entry-shell{padding:25px 16px 19px;border-radius:22px}
  .prive-entry-brand{margin-bottom:20px}
  .prive-entry-options{grid-template-columns:1fr;gap:10px;margin-top:20px}
  .prive-entry-option{min-height:0;grid-template-columns:42px minmax(0,1fr) auto;padding:15px;border-radius:16px}
  .prive-entry-option-icon{width:42px;height:42px}
}
@media(max-width:370px){
  .prive-entry-option{grid-template-columns:38px minmax(0,1fr);gap:10px}
  .prive-entry-option-icon{width:38px;height:38px}
  .prive-entry-arrow{display:none}
}
@media(prefers-reduced-motion:no-preference){
  .prive-entry-shell{animation:priveEntryIn .45s cubic-bezier(.2,.75,.22,1) both}
  @keyframes priveEntryIn{from{opacity:0;transform:translateY(9px) scale(.988)}to{opacity:1;transform:none}}
}
/* Las claves permanecen ocultas en el catálogo público. */
.code{display:none!important}









/* S15 V1.9 · Layout restaurado + composición según captura anotada */
html.prive-access-locked,
html.prive-access-locked body{
  margin:0!important;
  width:100%!important;
  min-height:100%!important;
  background:#07090d!important;
  overflow:hidden!important;
}

#priveAccessGate{
  position:fixed;
  inset:0;
  z-index:2147483647;
  display:grid;
  place-items:center;
  width:100%;
  height:100dvh;
  min-height:100dvh;
  padding:
    max(8px,env(safe-area-inset-top))
    max(6px,env(safe-area-inset-right))
    max(8px,env(safe-area-inset-bottom))
    max(6px,env(safe-area-inset-left));
  overflow:hidden;
  color:var(--gate-text);

  /*
    Un solo fondo continuo para toda la pantalla.
    Sin capas superior/inferior independientes.
  */
  background:
    radial-gradient(circle at 77% 16%,rgba(91,119,153,.12),transparent 25%),
    radial-gradient(circle at 18% 80%,rgba(216,190,137,.075),transparent 26%),
    linear-gradient(135deg,#07090d 0%,#0a1019 48%,#05070a 100%);
}
#priveAccessGate::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(4,6,9,.42) 0%,
    rgba(4,6,9,.10) 47%,
    rgba(4,6,9,.26) 100%
  );
}
#priveAccessGate::after{display:none!important}

.prive-entry-shell{
  position:relative;
  z-index:8;
  width:min(690px,100%);
  margin:auto;
  padding:18px 16px 14px;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.prive-entry-brand,
.prive-entry-copy,
.prive-entry-options,
.prive-entry-note{
  position:relative;
  z-index:9;
}

.prive-gate-bottles{
  position:absolute;
  inset:0;
  z-index:2;
  overflow:hidden;
  pointer-events:none;
}
.prive-bottle-slot{
  position:absolute;
  display:grid;
  place-items:center;
  width:clamp(88px,9.5vw,126px);
  height:clamp(118px,14vw,170px);
  pointer-events:none;
  transform:rotate(var(--tilt,0deg));
}
.prive-gate-bottle{
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:0;
  transform:translate3d(0,8px,0) scale(.96);
  filter:
    drop-shadow(0 0 2px rgba(255,239,194,.08))
    drop-shadow(0 14px 19px rgba(0,0,0,.34));
  transition:
    opacity 1.2s ease,
    transform 1.2s cubic-bezier(.18,.76,.22,1),
    filter 1.2s ease;
  animation:priveBottleFloat var(--floatDur,14s) ease-in-out var(--floatDelay,0s) infinite alternate;
}
.prive-gate-bottle.is-visible{
  opacity:.75;
  transform:translate3d(0,0,0) scale(1);
  filter:
    drop-shadow(0 0 3px rgba(255,239,194,.10))
    drop-shadow(0 16px 21px rgba(0,0,0,.38));
}
@keyframes priveBottleFloat{
  0%{translate:-2px -5px}
  48%{translate:4px 2px}
  100%{translate:-3px 8px}
}

/* Desktop */
.s1{left:2%;top:5%;--tilt:-7deg}
.s2{left:33%;top:2%;--tilt:4deg}
.s3{right:3%;top:9%;--tilt:-5deg}
.s4{left:2%;top:29%;--tilt:6deg}
.s5{left:3%;bottom:3%;--tilt:-6deg}
.s6{left:27%;bottom:8%;--tilt:4deg}
.s7{left:49%;bottom:3%;--tilt:-4deg}
.s8{right:18%;bottom:9%;--tilt:6deg}
.s9{right:2%;bottom:4%;--tilt:-6deg}

@media(max-width:620px){
  #priveAccessGate{
    min-height:100dvh;
    padding:
      max(6px,env(safe-area-inset-top))
      4px
      max(6px,env(safe-area-inset-bottom));
  }

  .prive-entry-shell{
    width:100%;
    padding:10px 2px 8px;
  }

  .prive-entry-brand{margin-bottom:18px}
  .prive-entry-options{margin-top:18px}

  .prive-bottle-slot{
    width:clamp(76px,22vw,98px);
    height:clamp(102px,30vw,132px);
  }

  /*
    Captura anotada:
    - S1 izquierda superior.
    - S2 nueva botella en la palomita verde, arriba de PERFUMERÍA PRIVÉ.
    - S3 derecha superior.
    - S4 botella izquierda subida para no tocar “¿”.
    - No hay ninguna botella a los lados de las dos tarjetas.
    - S5-S9 viven debajo del bloque de tarjetas y la nota, escalonadas.
  */
  .s1{left:-4%;top:7%;--tilt:-7deg}
  .s2{left:40%;top:4%;--tilt:4deg}
  .s3{right:-3%;top:10%;--tilt:-5deg}

  .s4{left:-6%;top:27%;--tilt:6deg}

  /* Zona completa de Acceso privado + Catálogo digital sin perfumes. */
  .s5{left:-3%;top:79%;--tilt:-6deg}
  .s6{left:22%;top:84%;--tilt:4deg}
  .s7{left:47%;top:79%;--tilt:-4deg}
  .s8{right:15%;top:85%;--tilt:6deg}
  .s9{right:-4%;top:80%;--tilt:-6deg}

  .prive-gate-bottle.is-visible{opacity:.77}
}

@media(max-width:390px){
  .prive-bottle-slot{
    width:clamp(70px,21vw,86px);
    height:clamp(94px,28vw,116px);
  }
  .s2{left:39%;top:5%}
  .s7{left:45%;top:80%}
}

@media(prefers-reduced-motion:reduce){
  .prive-gate-bottle{
    animation:none!important;
    transition:opacity .25s ease!important;
  }
}


/* S15 V2.0 · Safari edge-to-edge: flujo normal, NO fixed fullscreen */
html.prive-access-locked{
  min-height:100%;
  background:#07090d!important;
}

html.prive-access-locked body{
  margin:0!important;
  padding:0!important;
  min-height:100vh!important;
  min-height:100svh!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;

  /*
    El fondo REAL vive en body, desde el inicio del documento.
    viewport-fit=cover ya está declarado en index.html.
  */
  background:
    radial-gradient(circle at 77% 18%,rgba(91,119,153,.11),transparent 26%),
    radial-gradient(circle at 18% 82%,rgba(216,190,137,.07),transparent 27%),
    linear-gradient(135deg,#07090d 0%,#0a1019 48%,#05070a 100%)!important;
}

/* Quitar el catálogo del layout mientras está abierta la bienvenida. */
html.prive-access-locked body > *:not(#priveAccessGate):not(script){
  display:none!important;
}

#priveAccessGate{
  position:relative!important;
  inset:auto!important;
  z-index:1!important;
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  min-height:100vh!important;
  min-height:100svh!important;
  height:auto!important;
  padding:
    max(8px,env(safe-area-inset-top))
    max(6px,env(safe-area-inset-right))
    max(8px,env(safe-area-inset-bottom))
    max(6px,env(safe-area-inset-left))!important;
  overflow:hidden!important;
  background:transparent!important;
}

/* Ya no usamos capas que intenten pintar encima de Safari. */
#priveAccessGate::before,
#priveAccessGate::after{
  display:none!important;
}

.prive-entry-shell{
  width:min(690px,100%)!important;
  margin:auto!important;
  padding:18px 16px 14px!important;
}

/* Botellas: menos, más grandes, con zonas limpias. */
.prive-bottle-slot{
  width:clamp(82px,22vw,102px)!important;
  height:clamp(110px,30vw,138px)!important;
}

@media(max-width:620px){
  /*
    4 arriba/laterales + 3 abajo.
    Nada alrededor de las dos tarjetas.
  */
  .s1{left:-5%!important;top:8%!important;--tilt:-7deg}
  .s2{left:39%!important;top:3%!important;--tilt:4deg}
  .s3{right:-4%!important;top:10%!important;--tilt:-5deg}
  .s4{left:-6%!important;top:28%!important;--tilt:6deg}

  .s5{left:3%!important;top:82%!important;--tilt:-6deg}
  .s6{left:39%!important;top:86%!important;--tilt:4deg}
  .s7{right:3%!important;top:81%!important;--tilt:-5deg}

  /* Por seguridad, cualquier slot heredado extra queda fuera. */
  .s8,.s9,.s10,.s11,.s12,.s13,.s14{display:none!important}
}

@media(max-width:390px){
  .prive-bottle-slot{
    width:clamp(72px,21vw,88px)!important;
    height:clamp(96px,28vw,118px)!important;
  }
  .s2{left:38%!important;top:4%!important}
  .s5{left:2%!important;top:83%!important}
  .s6{left:38%!important;top:87%!important}
  .s7{right:2%!important;top:82%!important}
}


/* =========================================================
   S15 V2.1 · ROOT CANVAS SAFARI + 3 ARRIBA / 3 ABAJO
   ========================================================= */

/*
  El fondo se pinta en <html>, que es el canvas raíz del documento.
  body y el gate son transparentes para no crear una segunda superficie
  que empiece justo debajo de las barras de Safari.
*/
html.prive-access-locked{
  min-height:100%;
  background-color:#07090d!important;
  background-image:
    radial-gradient(circle at 77% 18%,rgba(91,119,153,.11),transparent 26%),
    radial-gradient(circle at 18% 82%,rgba(216,190,137,.07),transparent 27%),
    linear-gradient(135deg,#07090d 0%,#0a1019 48%,#05070a 100%)!important;
  background-repeat:no-repeat!important;
  background-size:100% 100%!important;
  background-attachment:scroll!important;
}

html.prive-access-locked body{
  margin:0!important;
  padding:0!important;
  min-height:100svh!important;
  background:transparent!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}

#priveAccessGate{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  min-height:100svh!important;
  height:auto!important;
  background:transparent!important;
  overflow:hidden!important;
}

/* Ninguna capa adicional puede crear una línea/corte de color. */
#priveAccessGate::before,
#priveAccessGate::after{
  display:none!important;
}

/* Botellas algo grandes, sin saturación. */
.prive-bottle-slot{
  width:clamp(80px,22vw,102px)!important;
  height:clamp(108px,30vw,138px)!important;
}

/* Solo 6 slots. Cualquier slot viejo queda apagado. */
.s7,.s8,.s9,.s10,.s11,.s12,.s13,.s14{
  display:none!important;
}

@media(max-width:620px){
  /*
    Tres arriba tal como pidió el usuario.
    Conservan el aire alrededor del bloque principal.
  */
  .s1{
    display:grid!important;
    left:-5%!important;
    top:8%!important;
    bottom:auto!important;
    right:auto!important;
    --tilt:-7deg;
  }
  .s2{
    display:grid!important;
    left:39%!important;
    top:3%!important;
    bottom:auto!important;
    right:auto!important;
    --tilt:4deg;
  }
  .s3{
    display:grid!important;
    right:-4%!important;
    top:10%!important;
    bottom:auto!important;
    left:auto!important;
    --tilt:-5deg;
  }

  /*
    Tres abajo, claramente separados:
    izquierda / centro / derecha. Sin diagonales que puedan chocar.
  */
  .s4{
    display:grid!important;
    left:2%!important;
    right:auto!important;
    top:auto!important;
    bottom:max(22px,env(safe-area-inset-bottom))!important;
    --tilt:-5deg;
  }
  .s5{
    display:grid!important;
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    transform:translateX(-50%) rotate(3deg)!important;
    --tilt:3deg;
  }
  .s6{
    display:grid!important;
    right:2%!important;
    left:auto!important;
    top:auto!important;
    bottom:max(26px,env(safe-area-inset-bottom))!important;
    --tilt:5deg;
  }

  .prive-gate-bottle.is-visible{
    opacity:.76!important;
  }
}

@media(max-width:390px){
  .prive-bottle-slot{
    width:clamp(70px,20vw,86px)!important;
    height:clamp(95px,27vw,116px)!important;
  }
  .s1{left:-4%!important}
  .s2{left:39%!important}
  .s3{right:-4%!important}
  .s4{left:1%!important}
  .s6{right:1%!important}
}


/* S17 V1 · El shell de acceso existe en HTML desde el primer render */
.prive-entry-fallback-note{
  margin:14px auto 0;
  max-width:520px;
  text-align:center;
  color:rgba(245,242,235,.72);
  font-size:.82rem;
  line-height:1.5;
}
.prive-entry-fallback-note a{
  color:#e2cf9f;
  text-decoration:underline;
  text-underline-offset:3px;
}
