/* av-access-modal.css
   Standalone CSS for AventureVerse-styled access modal (if you prefer linking a stylesheet)
   Palette: gold #ffbd6f, dark #101320, accent #BC333D; Font: 'Quattrocento', serif
*/

.avx-access-modal { position: fixed; inset: 0; display:none; justify-content:center; align-items:center; z-index: 2000; font-family: 'Quattrocento', serif; backdrop-filter: blur(3px); transition: opacity .3s ease; }
.avx-access-window { background:#101320; color:#e8e8e8; border:2px solid #BC333D; border-radius:16px; box-shadow:0 0 25px rgba(255,189,111,.4); padding:32px; width:90%; max-width:480px; text-align:center; position:relative; }
.avx-access-close { position:absolute; top:16px; right:20px; font-size:26px; color:#ffbd6f; background:none; border:none; cursor:pointer; }
.avx-access-header { margin-bottom:24px; }
.avx-access-logo { width:270px; margin-bottom:12px; }
.avx-access-title { color:#ffbd6f; font-size:24px; font-weight:700; margin-bottom:8px; }
.avx-access-emphasis { color:#BC333D; }
.avx-access-subtext { font-size:14px; color:#bdbdbd; }
.avx-access-link { color:#ffbd6f; text-decoration:underline; }
.avx-access-form { display:flex; flex-direction:column; gap:14px; margin-top:20px; }
.avx-access-input { padding:12px; font-size:16px; border:2px solid #ffbd6f; border-radius:8px; background:#1a1e2e; color:#fff; transition:border .3s ease; }
.avx-access-input:focus { border-color:#BC333D; outline: none; }

.avx-access-button:hover { background:#ffbd6f; color:#101320; transform: translateY(-2px); }
.avx-access-error { margin-top:12px; color:#dc3545; font-weight:bold; min-height:1.2em; }
.avx-access-overlay { position:fixed; inset:0; background:rgba(16,19,32,.85); z-index:1500; transition: opacity .3s ease; }
.avx-access-shake { animation: avx-access-shake .3s; }
@keyframes avx-access-shake { 0%{transform:translateX(0)} 25%{transform:translateX(-5px)} 50%{transform:translateX(5px)} 75%{transform:translateX(-5px)} 100%{transform:translateX(0)} }
.avx-visually-hidden { position:absolute!important; height:1px; width:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
@media (max-width:480px){ .avx-access-title{font-size:20px;} .avx-access-button{font-size:15px;} .avx-access-input{font-size:15px;} }
