/* Fine Taraa – shared modals: auth (login/register/forgot) + quick view + popups */
.ft-modal{position:fixed;inset:0;z-index:1800;display:flex;align-items:center;justify-content:center;padding:20px}
.ft-modal[hidden]{display:none}
.ft-modal__overlay{position:absolute;inset:0;background:rgba(30,4,14,.62);backdrop-filter:blur(3px);animation:ftFade .35s var(--ft-ease)}
.ft-modal__box{position:relative;background:#fff;max-width:960px;width:100%;max-height:92vh;overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.35);animation:ftModalIn .55s var(--ft-ease)}
.ft-modal__close{position:absolute;top:14px;right:14px;z-index:5;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ft-maroon);display:flex;align-items:center;justify-content:center;transition:transform .3s,background .3s,color .3s}
.ft-modal__close:hover{transform:rotate(90deg);background:var(--ft-maroon);color:#fff}
@keyframes ftModalIn{from{opacity:0;transform:translateY(40px) scale(.96)}to{opacity:1;transform:none}}
@keyframes ftFade{from{opacity:0}to{opacity:1}}
html.ft-modal-open{overflow:hidden}

/* Auth */
.ft-authbox{display:grid;grid-template-columns:.9fr 1.1fr;max-width:880px}
.ft-authbox__art{position:relative;min-height:520px;background:var(--ft-maroon)}
.ft-authbox__art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
.ft-authbox__art::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(63,6,24,.92))}
.ft-authbox__art-text{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:30px;color:#fff;font-family:var(--ft-font-head);font-size:26px;line-height:1.2}
.ft-authbox__art-text img{width:54px;height:auto;margin-bottom:12px}
.ft-authbox__art-text p{margin:0}
.ft-authbox__panel{padding:48px 44px 36px}
.ft-authbox__tabs{display:flex;gap:26px;border-bottom:1px solid var(--ft-line);margin-bottom:22px}
.ft-authbox__tabs button{padding:0 0 12px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ft-muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:.3s}
.ft-authbox__tabs button.is-active{color:var(--ft-maroon);border-color:var(--ft-gold)}
.ft-authbox__title{font-size:36px;margin-bottom:18px}
.ft-authform{display:none}
.ft-authform.is-active{display:block;animation:ftFadeUp .5s var(--ft-ease)}
.ft-authform__row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:13px}
.ft-authform__alt{text-align:center;margin:18px 0 0;font-size:14px;color:var(--ft-muted)}
.ft-authform__hint{color:var(--ft-muted);margin-bottom:16px}
.ft-linkbtn{color:var(--ft-maroon);text-decoration:underline;font-size:inherit}
.ft-linkbtn:hover{color:var(--ft-gold-dark)}
.ft-authform .ft-check a{color:var(--ft-maroon);text-decoration:underline}

/* Quick view */
.ft-qv{display:grid;grid-template-columns:1fr 1fr;max-width:920px}
.ft-qv__media{background:var(--ft-cream-2);position:relative}
.ft-qv__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1}
.ft-qv__thumbs{position:absolute;left:14px;bottom:14px;display:flex;gap:8px}
.ft-qv__thumbs button{width:52px;height:52px;border:2px solid #fff;overflow:hidden;opacity:.8;transition:.3s}
.ft-qv__thumbs button.is-active,.ft-qv__thumbs button:hover{opacity:1;border-color:var(--ft-gold)}
.ft-qv__thumbs img{width:100%;height:100%;object-fit:cover}
.ft-qv__info{padding:44px 36px 32px}
.ft-qv__cat{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ft-gold-dark);font-weight:600}
.ft-qv__title{font-size:34px;margin:6px 0 8px}
.ft-qv__price{display:flex;gap:12px;align-items:baseline;margin-bottom:12px}
.ft-qv__price b{font-family:var(--ft-font-head);font-size:30px;color:var(--ft-maroon)}
.ft-qv__price del{color:var(--ft-muted)}
.ft-qv__short{color:var(--ft-muted);font-size:14px}
.ft-qv__note{margin:18px 0 14px}
.ft-qv__note label{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ft-maroon);margin-bottom:6px}
.ft-qv__btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ft-qv__full{display:inline-block;margin-top:14px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ft-maroon);border-bottom:1px solid var(--ft-gold)}

@media (max-width:767px){
  .ft-authbox,.ft-qv{grid-template-columns:1fr}
  .ft-authbox__art{display:none}
  .ft-authbox__panel{padding:44px 22px 28px}
  .ft-qv__media img{aspect-ratio:4/3}
  .ft-qv__info{padding:24px 20px}
  .ft-modal{padding:10px;align-items:flex-end}
}
