/* ============================================================
   Krishna Priya Fashion — Global Styles
   ============================================================ */
html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; background: #FDFBF7; color: #1A1A1A; }
h1, h2, h3, h4, .font-display { font-family: 'Playfair Display', serif; }
::selection { background: #B96E4B; color: #FDFBF7; }

/* Hero carousel */
.hero-slide { opacity: 0; transition: opacity 1.2s ease; position: absolute; inset: 0; }
.hero-slide.active { opacity: 1; }

/* Product card hover */
.product-card-img { transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.product-card:hover .product-card-img { transform: scale(1.04); }

/* Toast */
.toast { animation: toastIn .3s ease, toastOut .3s ease 2.4s forwards; }
@keyframes toastIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes toastOut { to { opacity: 0; transform: translateY(20px); } }

/* Drawer */
.drawer { transition: transform .4s cubic-bezier(.2,.8,.2,1); }

/* Modal */
.modal-bg { animation: fadeIn .25s ease; }
.modal-card { animation: modalIn .35s cubic-bezier(.2,.8,.2,1); }
@keyframes modalIn { from { opacity: 0; transform: translateY(24px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* Nav link underline */
.nav-link { position: relative; }
.nav-link::after { content: ''; position: absolute; left: 0; bottom: -4px; height: 1.5px; width: 0; background: #B96E4B; transition: width .3s ease; }
.nav-link:hover::after, .nav-link.active::after { width: 100%; }

/* Scrollbar hide */
.scrollbar-hide::-webkit-scrollbar { display: none; }
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }

/* Announcement rotation */
.announce-rotate span { display: none; }
.announce-rotate span.active { display: inline; animation: fadeIn .6s ease; }

/* Focus */
input:focus, textarea:focus, select:focus { outline: none; box-shadow: 0 0 0 2px rgba(185,110,75,.35); }

/* Scroll reveal */
.reveal { opacity: 0; transform: translateY(30px); transition: opacity .8s ease, transform .8s ease; }
.reveal.visible { opacity: 1; transform: none; }

/* Line clamp */
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
