/* ============ ACCOUNT DROPDOWN ============ */
.account-wrap{position:relative;}
.account-dropdown{
  position:absolute;top:calc(100% + 18px);right:-10px;
  background:var(--ivory);border:1px solid var(--line);
  min-width:200px;padding:10px;z-index:50;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity 0.25s ease,transform 0.25s ease,visibility 0.25s;
  box-shadow:0 18px 40px rgba(26,20,16,0.14);
}
.account-wrap:hover .account-dropdown,
.account-dropdown:hover{
  opacity:1;visibility:visible;transform:translateY(0);
}
.account-dropdown::before{
  content:'';position:absolute;top:-6px;right:18px;
  width:12px;height:12px;background:var(--ivory);
  border-left:1px solid var(--line);border-top:1px solid var(--line);
  transform:rotate(45deg);
}
.account-dropdown a{
  display:flex;align-items:center;gap:10px;
  padding:11px 14px;font-size:13px;color:var(--ink);
  text-decoration:none;letter-spacing:0.02em;font-weight:400;
  transition:background 0.2s,color 0.2s;
}
.account-dropdown a:hover{background:var(--ivory-deep);color:var(--maroon);}
.account-dropdown .divider{height:1px;background:var(--line);margin:6px 4px;}

/* ============ MODAL / POPUP SYSTEM ============ */
.modal-overlay{
  position:fixed;inset:0;background:rgba(26,20,16,0.6);
  backdrop-filter:blur(3px);
  z-index:200;display:none;align-items:center;justify-content:center;
  padding:24px;
}
.modal-overlay.open{display:flex;}
.modal-box{
  background:var(--ivory);max-width:560px;width:100%;
  max-height:86vh;overflow-y:auto;position:relative;
  animation:modal-in 0.35s cubic-bezier(0.2,0.8,0.2,1) both;
  border-top:3px solid var(--maroon);
}
@keyframes modal-in{
  from{opacity:0;transform:translateY(18px) scale(0.98);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
.modal-close{
  position:absolute;top:18px;right:18px;width:34px;height:34px;
  border:1px solid var(--line);background:var(--ivory);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  font-size:18px;color:var(--ink);line-height:1;z-index:2;
  transition:background 0.2s,color 0.2s;
}
.modal-close:hover{background:var(--ink);color:var(--ivory);}
.modal-body{padding:48px 44px 44px;}
.modal-eyebrow{
  font-size:11.5px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--maroon-deep);font-weight:500;margin-bottom:14px;
}
.modal-body h2{
  font-family:'Fraunces',serif;font-weight:400;font-size:28px;
  margin-bottom:18px;line-height:1.2;
}
.modal-body h3{
  font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:16px;
  margin:24px 0 10px;color:var(--maroon-deep);
}
.modal-body p{
  font-size:14.5px;line-height:1.75;color:rgba(26,20,16,0.72);
  font-weight:300;margin-bottom:14px;
}
.modal-body ul{margin:8px 0 16px 18px;}
.modal-body li{
  font-size:14px;line-height:1.7;color:rgba(26,20,16,0.72);
  font-weight:300;margin-bottom:6px;
}
.modal-body strong{font-weight:500;color:var(--ink);}
.contact-rows{margin-top:8px;}
.contact-row{
  display:flex;gap:16px;padding:16px 0;border-top:1px solid var(--line);
}
.contact-row:last-child{border-bottom:1px solid var(--line);}
.contact-row .icon{
  width:36px;height:36px;border-radius:50%;background:var(--ivory-deep);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.contact-row .icon svg{width:16px;height:16px;color:var(--maroon);}
.contact-row .txt p:first-child{font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(26,20,16,0.5);margin-bottom:4px;}
.contact-row .txt p:last-child{font-size:14.5px;color:var(--ink);margin-bottom:0;font-weight:400;}
.contact-row .txt a{color:var(--ink);text-decoration:none;}
.contact-row .txt a:hover{color:var(--maroon);}

/* ============ WELCOME CAPTURE POPUP ============ */
#welcome-modal .modal-box{max-width:460px;text-align:center;border-top:3px solid var(--gold);}
#welcome-modal .modal-body{padding:52px 40px 40px;}
.welcome-icon{
  width:56px;height:56px;border-radius:50%;background:var(--ivory-deep);
  display:flex;align-items:center;justify-content:center;margin:0 auto 22px;
}
.welcome-icon svg{width:24px;height:24px;color:var(--maroon);}
#welcome-modal h2{font-size:25px;text-align:center;}
#welcome-modal p.sub{text-align:center;margin-bottom:26px;}
.welcome-form{display:flex;flex-direction:column;gap:12px;text-align:left;}
.welcome-form input{
  width:100%;padding:13px 16px;border:1px solid var(--line);
  background:var(--ivory);font-family:'Jost',sans-serif;font-size:14px;
  color:var(--ink);outline:none;transition:border-color 0.2s;
}
.welcome-form input:focus{border-color:var(--maroon);}
.welcome-form button{
  margin-top:6px;background:var(--ink);color:var(--ivory);border:none;
  padding:14px;font-size:12.5px;letter-spacing:0.1em;text-transform:uppercase;
  cursor:pointer;transition:background 0.3s;font-family:'Jost',sans-serif;
}
.welcome-form button:hover{background:var(--maroon);}
.welcome-skip{
  margin-top:16px;font-size:12px;color:rgba(26,20,16,0.45);
  text-decoration:underline;cursor:pointer;background:none;border:none;
  font-family:'Jost',sans-serif;
}
.welcome-success{display:none;text-align:center;padding:10px 0;}
.welcome-success svg{width:40px;height:40px;color:var(--maroon);margin-bottom:14px;}
.welcome-success p{font-size:14.5px;}

/* ============ WISHLIST MODAL ============ */
#wishlist-modal .modal-box{max-width:480px;}
.wishlist-empty{text-align:center;padding:30px 10px;}
.wishlist-empty svg{width:38px;height:38px;color:rgba(26,20,16,0.25);margin-bottom:16px;}
.wishlist-empty p{color:rgba(26,20,16,0.5);}
.wishlist-items{display:flex;flex-direction:column;gap:14px;}
.wishlist-item{
  display:flex;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);
}
.wishlist-item img{width:64px;height:64px;object-fit:cover;flex-shrink:0;}
.wishlist-item .info{flex:1;}
.wishlist-item .info h4{font-family:'Fraunces',serif;font-style:italic;font-size:14.5px;font-weight:400;margin-bottom:3px;}
.wishlist-item .info p{font-size:12.5px;color:rgba(26,20,16,0.5);margin:0;}
.wishlist-item .remove{
  background:none;border:none;cursor:pointer;color:rgba(26,20,16,0.4);
  font-size:18px;line-height:1;padding:6px;
}
.wishlist-item .remove:hover{color:var(--maroon);}

@media (max-width:600px){
  .modal-body{padding:40px 24px 32px;}
  .account-dropdown{right:-60px;}
}

/* ============ COMING SOON EMPTY STATE ============ */
.coming-soon{
  padding:90px 64px 110px;text-align:center;
  display:flex;flex-direction:column;align-items:center;
}
.coming-soon .icon-ring{
  width:84px;height:84px;border-radius:50%;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;margin-bottom:30px;
}
.coming-soon .icon-ring svg{width:32px;height:32px;color:var(--maroon);}
.coming-soon h2{
  font-family:'Fraunces',serif;font-weight:400;font-style:italic;
  font-size:clamp(24px,3vw,32px);margin-bottom:16px;
}
.coming-soon p{
  font-size:15px;line-height:1.8;color:rgba(26,20,16,0.6);
  max-width:440px;font-weight:300;margin-bottom:32px;
}
@media (max-width:1100px){
  .coming-soon{padding:60px 24px 80px;}
}

/* ============ TOAST ============ */
.bastani-toast{
  position:fixed;bottom:32px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--ink);color:var(--ivory);padding:14px 28px;
  font-size:13.5px;letter-spacing:0.02em;font-family:'Jost',sans-serif;
  opacity:0;visibility:hidden;transition:opacity 0.3s,transform 0.3s,visibility 0.3s;
  z-index:300;box-shadow:0 12px 30px rgba(26,20,16,0.3);
}
.bastani-toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}

/* ============ PRODUCT CARD WISHLIST BUTTON ============ */
.product-card{position:relative;}
.product-card .wishlist-btn{
  position:absolute;top:14px;right:14px;z-index:3;
  width:34px;height:34px;border-radius:50%;
  background:rgba(250,246,239,0.92);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background 0.2s,transform 0.2s;
}
.product-card .wishlist-btn:hover{transform:scale(1.08);}
.product-card .wishlist-btn svg{
  width:16px;height:16px;color:var(--ink);
  fill:none;stroke:currentColor;stroke-width:1.8;
  transition:fill 0.2s,color 0.2s,stroke 0.2s;
}
.product-card .wishlist-btn.active svg{fill:var(--maroon);color:var(--maroon);stroke:var(--maroon);}
