/* V97 · Espacio Privado: bloque bajo el video, modal de acceso y galería desbloqueada.
   Usa el lenguaje visual del sitio (marfil, oro, tipografía de titulares). */

#privateGallery[hidden],
#privateGalleryMeta[hidden],
.private-space [hidden],
.private-space-modal [hidden]{display:none !important;}

/* ── Bloque bajo el video ── */
.private-space{margin:34px 0 0;scroll-margin-top:110px;}
.private-space-card{
  position:relative;
  max-width:860px;
  margin:0 auto;
  padding:46px clamp(22px,5vw,64px) 44px;
  text-align:center;
  border:1px solid rgba(181,139,84,.30);
  border-radius:28px;
  background:
    radial-gradient(circle at 50% 0%,rgba(181,139,84,.13),transparent 46%),
    linear-gradient(180deg,rgba(255,251,245,.88),rgba(244,233,219,.72));
  box-shadow:0 26px 64px rgba(68,43,23,.11);
  overflow:hidden;
}
.private-space-card::before{
  content:"";
  position:absolute;left:50%;top:0;
  width:min(320px,60%);height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(181,139,84,.9),transparent);
}
.private-space-kicker{
  display:inline-flex;align-items:center;gap:12px;
  margin-bottom:16px;
  font:700 10px/1.5 Arial,sans-serif;
  letter-spacing:.26em;text-transform:uppercase;
  color:#8a633c;
}
.private-space-kicker::before,
.private-space-kicker::after{content:"";width:22px;height:1px;background:rgba(152,112,65,.6);}
.private-space-title{
  margin:0 auto 14px !important;
  max-width:620px;
  font-size:clamp(26px,3.4vw,38px) !important;
  line-height:1.12 !important;
  font-weight:400 !important;
  color:#24170f !important;
}
.private-space-text{
  margin:0 auto !important;
  max-width:540px;
  font-size:16px !important;
  line-height:1.7 !important;
  color:#6f6257 !important;
}
.private-space-actions{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:28px;}
.private-space-open{border:0;cursor:pointer;justify-content:center;min-width:min(100%,300px);}
.private-space-link{
  padding:4px 2px;border:0;background:none;cursor:pointer;
  font:700 10px/1.4 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;
  color:#8a633c;
  border-bottom:1px solid rgba(138,99,60,.35);
  transition:color .25s ease,border-color .25s ease;
}
.private-space-link:hover,.private-space-link:focus-visible{color:#20150f;border-color:#20150f;outline:none;}

.private-space-granted{
  display:flex;align-items:center;justify-content:center;gap:14px;
  margin:6px 0 0;
  font:700 10px/1.5 Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;text-align:center;
  color:#8a633c;
}
.private-space-granted::before,
.private-space-granted::after{content:"";flex:0 1 70px;height:1px;background:linear-gradient(90deg,transparent,rgba(152,112,65,.6));}
.private-space-granted::after{background:linear-gradient(90deg,rgba(152,112,65,.6),transparent);}
.private-space.is-unlocked{margin-top:30px;}
.private-space-exit{display:flex;justify-content:center;margin:14px 0 0;}

/* ── Modal ──
   Reutiliza la modal del sitio, pero esta es pequeña y va centrada: se anulan las
   reglas que en móvil estiran la otra a pantalla completa. */
.private-order-modal.private-space-modal{
  padding:12px !important;
  align-items:center !important;
  justify-content:center !important;
}
.private-order-dialog.private-space-dialog{
  width:min(540px,calc(100vw - 24px)) !important;
  max-width:none !important;
  height:auto !important;
  max-height:92vh !important;
  max-height:92dvh !important;
  margin:auto !important;
  border-radius:24px !important;
  display:flex !important;
  flex-direction:column;
}
.private-space-dialog .private-order-head{padding:24px 26px 20px;flex:0 0 auto;}
.private-space-dialog .private-order-head:after{right:54px;top:-30px;font-size:120px;}
.private-space-dialog .private-order-head h2{font-size:clamp(26px,4.4vw,32px) !important;line-height:1.08 !important;}
.private-space-dialog .private-order-head p{display:block !important;margin-top:9px !important;font-size:14px !important;line-height:1.55 !important;overflow-wrap:anywhere;}
.private-space-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:24px 26px 26px;background:linear-gradient(180deg,#f9f1e8,#f1e4d4);}
.private-space-form{display:flex;flex-direction:column;gap:16px;}
.private-space-field{display:flex;flex-direction:column;gap:7px;}
.private-space-label{font:700 10px/1.3 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#725e4c;}
.private-space-input{
  width:100%;box-sizing:border-box;
  padding:14px 16px;
  border:1px solid rgba(120,84,45,.26);
  border-radius:14px;
  background:#fffaf3;
  color:#24170f;
  font:400 16px/1.3 Georgia,'Times New Roman',serif;   /* 16px: el móvil no hace zoom al enfocar */
  transition:border-color .2s ease,box-shadow .2s ease;
  -webkit-appearance:none;appearance:none;
}
.private-space-input:focus{outline:none;border-color:#b58b54;box-shadow:0 0 0 3px rgba(181,139,84,.20);}
.private-space-code{text-align:center;font-size:28px;letter-spacing:.32em;padding:16px 10px 16px calc(10px + .32em);}
.private-space-trap{position:absolute !important;left:-9999px !important;width:1px;height:1px;opacity:0;pointer-events:none;}
.private-space-msg{min-height:0;font:400 14px/1.5 Georgia,'Times New Roman',serif;color:#9a3324;}
.private-space-msg:empty{display:none;}
.private-space-msg.is-ok{color:#5d6b3a;}
.private-space-submit{
  width:100%;margin-top:4px;padding:16px 22px;
  border:1px solid rgba(181,139,84,.44);border-radius:999px;
  background:#20150f;color:#f7efe5;
  font:700 11px/1.2 Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 13px 30px rgba(32,21,15,.19);
  transition:transform .25s ease,box-shadow .25s ease,opacity .2s ease;
}
.private-space-submit:hover{transform:translateY(-2px);box-shadow:0 17px 36px rgba(32,21,15,.27);}
.private-space-submit:disabled{opacity:.6;cursor:progress;transform:none;}
.private-space-note{margin:0 !important;text-align:center;font-size:12.5px !important;line-height:1.55 !important;color:#8a7a6c !important;}
.private-space-form > .private-space-link{align-self:center;}
.private-space-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;}

@media(max-width:560px){
  .private-space{margin-top:24px;}
  .private-space-card{padding:34px 20px 32px;border-radius:22px;}
  .private-space-kicker{letter-spacing:.2em;gap:9px;}
  .private-space-kicker::before,.private-space-kicker::after{width:14px;}
  .private-space-text{font-size:15px !important;}
  .private-space-open{width:100%;}
  .private-space-granted{letter-spacing:.16em;gap:9px;}
  .private-space-dialog .private-order-head{padding:20px 18px 16px;}
  .private-space-body{padding:20px 18px 22px;}
  .private-space-code{font-size:25px;}
}
@media(prefers-reduced-motion:reduce){
  .private-space-submit,.private-space-link,.private-space-input{transition:none;}
}
