body{
font-family: Arial, sans-serif;
margin:0;
background:#f7fbff;
}

/* NAVBAR */

.navbar{
display:grid;
grid-template-columns:1fr auto 1fr;
align-items:center;
padding:12px 40px;
background:white;
box-shadow:0 2px 10px rgba(0,0,0,0.1);
}

.logo{
display:flex;
align-items:center;
gap:10px;
font-size:20px;
font-weight:bold;
color:#2a7de1;
}

.logo img{
width:40px;
height:40px;
border-radius:50%;
}

.nav-links{
display:flex;
justify-content:center;
gap:30px;
}

.nav-links a{
text-decoration:none;
font-weight:600;
color:#333;
}

.nav-right{
display:flex;
justify-content:flex-end;
align-items:center;
gap:15px;
}

.login-btn{
background:#ff9800;
border:none;
padding:8px 18px;
border-radius:8px;
color:white;
font-weight:600;
cursor:pointer;
}

.menu{
font-size:22px;
cursor:pointer;
}

/* HERO SLIDER */

/* HERO SLIDER */

.hero{
height:420px;
position:relative;
overflow:hidden;
pointer-events: none;
}

.hero button{
pointer-events:auto;
}

.hero-slider{
display:flex;
height:100%;
width:400%; /* 4 slides */
animation:heroSlide 12s infinite;
}

.hero-slider .slide{
width:25%;
flex-shrink:0;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
text-align:center;
color:white;
background:linear-gradient(120deg,#4da6ff,#7bd3ff);
}

.slide h1{
font-size:46px;
margin-bottom:10px;
}

.slide p{
font-size:20px;
margin-bottom:15px;
}

.slide button{
background:white;
color:#2a7de1;
border:none;
padding:10px 20px;
border-radius:8px;
font-weight:bold;
cursor:pointer;
}

/* ARROWS */

.arrow{
position:absolute;
top:50%;
transform:translateY(-50%);
font-size:32px;
background:rgba(0,0,0,0.25);
border:none;
width:45px;
height:45px;
border-radius:50%;
cursor:pointer;
color:white;
display:flex;
align-items:center;
justify-content:center;
transition:0.3s;
z-index:20;
}

.arrow.left{
left:25px;
}

.arrow.right{
right:25px;
}

.arrow:hover{
background:rgba(0,0,0,0.5);
}

/* HERO ANIMATION */

@keyframes heroSlide{

0%{
transform:translateX(0);
}

30%{
transform:translateX(0);
}

35%{
transform:translateX(-25%);
}

63%{
transform:translateX(-25%);
}

68%{
transform:translateX(-50%);
}

96%{
transform:translateX(-50%);
}

99%{
transform:translateX(-75%);
animation-timing-function:steps(1,end);
}

100%{
transform:translateX(0);
}

}

/* SECTIONS */

.section{
padding:60px 20px;
max-width:1500px;
margin:auto;
text-align:center;
}

/* CARDS */

.card-container{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
gap:30px;
margin-top:30px;

}

.card{
background:white;
border-radius:12px;
padding:15px;
box-shadow:0 4px 12px rgba(0,0,0,0.1);
transition:transform 0.2s;
}

.card:hover{
transform:translateY(-5px);
}

.card img{
width:100%;
height:180px;
object-fit:cover;
border-radius:10px;
}

.card button{
margin-top:10px;
background:#2a7de1;
border:none;
color:white;
padding:8px 12px;
border-radius:6px;
cursor:pointer;
}

/* VIEW ALL */

.view-all{
display:block;
margin-top:15px;
color:#2a7de1;
font-weight:bold;
cursor:pointer;
}

/* VERSE */

.verse{
background:#fff3cd;
padding:40px;
text-align:center;
}

/* FOOTER */

footer{
background:#222;
color:white;
text-align:center;
padding:30px 20px;
}

/* RESPONSIVE */

@media (max-width:1000px){

.card-container{
grid-template-columns:repeat(2,1fr);
}

}

@media (max-width:600px){

.card-container{
grid-template-columns:1fr;
}

}

.quick-nav{
padding:70px 20px;
text-align:center;
background:white;
}

.quick-nav h2{
font-size:32px;
margin-bottom:40px;
color:#333;
}

.quick-container{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
max-width:1100px;
margin:auto;
}

.quick-card{
background:#f8fbff;
padding:35px 25px;
border-radius:14px;
text-decoration:none;
color:#333;
box-shadow:0 6px 20px rgba(0,0,0,0.08);
transition:0.25s;
}

.quick-card:hover{
transform:translateY(-6px);
box-shadow:0 10px 25px rgba(0,0,0,0.12);
}

.quick-icon{
font-size:48px;
margin-bottom:15px;
}

.quick-card h3{
margin-bottom:10px;
font-size:20px;
color:#2a7de1;
}

.quick-card p{
font-size:14px;
color:#666;
}

.legal-footer{
background:#1a1a1a;
color:#ddd;
text-align:center;
padding:14px 10px;
font-size:15px;
border-top:1px solid #333;
}

.legal-footer a{
color:#ddd;
text-decoration:none;
margin:0 10px;
font-weight:500;
}

.legal-footer a:hover{
color:#2a7de1;
}

.legal-footer span{
opacity:0.6;
}

.user-menu{
position:fixed;
top:0;
right:-300px;   /* completely hidden */
width:256px;
height:100vh;

background:white;
box-shadow:-3px 0 15px rgba(0,0,0,0.15);

padding:20px;

display:flex;
flex-direction:column;
gap:15px;

transition:right 0.3s ease;

z-index:5000;
}

/* when menu opens */

.user-menu.active{
right:0;
}

.user-menu a{
text-decoration:none;
font-weight:600;
color:#333;
padding:8px 0;
border-bottom:1px solid #eee;
}

.user-header{
text-align:center;
margin-bottom:15px;
}

.user-header img{
width:70px;
height:70px;
border-radius:50%;
object-fit:cover;
}

.user-header p{
margin-top:10px;
font-weight:bold;
}

#logout-btn{
background:#ff5252;
border:none;
padding:10px;
border-radius:6px;
color:white;
cursor:pointer;
}

.menu-overlay{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;

background:rgba(0,0,0,0.3);

opacity:0;
pointer-events:none;

transition:opacity 0.3s;

z-index:4000;
}

.menu-overlay.active{
opacity:1;
pointer-events:auto;
}

/* LOGIN DROPDOWN */

.login-wrapper{
position:relative;
}

.login-dropdown{
position:absolute;
top:40px;
right:0;
background:white;
box-shadow:0 4px 15px rgba(0,0,0,0.15);
border-radius:6px;
display:none;
flex-direction:column;
min-width:150px;
z-index:2000;
}

.login-dropdown button{
padding:12px;
border:none;
background:white;
cursor:pointer;
text-align:left;
width:100%;
}

.login-dropdown button:hover{
background:#f5f5f5;
}

/* LOGIN POPUP */

.login-popup{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.55);
display:none;
align-items:center;
justify-content:center;
z-index:9999;
}

.login-popup.active{
display:flex;
}


/* CLOSE BUTTON */




/* POPUP BOX */

.login-box{
width:720px;
height:auto;
min-height:420px;

background:white;
border-radius:10px;
overflow:hidden;

display:grid;
grid-template-columns:320px 1fr;

box-shadow:0 15px 50px rgba(0,0,0,0.25);

position:relative;   /* ADD THIS */
}


/* LEFT PANEL */

.login-left{
background:#2a6edb;
color:white;
padding:40px;
display:flex;
flex-direction:column;
justify-content:center;
}

.login-left h2{
font-size:28px;
margin-bottom:12px;
}

.login-left p{
font-size:15px;
opacity:0.9;
}

.login-illustration{
width:180px;
margin-top:25px;
}


/* RIGHT PANEL */

.login-right{
padding:40px;
display:flex;
flex-direction:column;
justify-content:center;
min-height:420px;
}


/* TEXT */

.login-right h3{
margin-bottom:8px;
}

.login-info{
font-size:14px;
color:#777;
margin-bottom:18px;
}


/* INPUT */

.login-right input{
width:100%;
padding:12px;
border:1px solid #ddd;
border-radius:6px;
margin-bottom:15px;
font-size:14px;
}


/* BUTTON */

.login-right button{
width:100%;
padding:12px;
background:#fb641b;
border:none;
color:white;
font-weight:bold;
border-radius:6px;
cursor:pointer;
font-size:15px;
transition:0.2s;
margin-bottom:20px;   /* add space below button */
}
.login-right button:hover{
background:#e55a14;
}

/* CLOSE BUTTON */

.close-login{
position:absolute;
top:12px;
right:12px;

width:34px;
height:34px;

border-radius:50%;
border:none;

background:white;
color:#444;

font-size:22px;
font-weight:bold;

cursor:pointer;

display:flex;
align-items:center;
justify-content:center;

box-shadow:0 3px 8px rgba(0,0,0,0.15);
transition:0.2s;
}

.close-login:hover{
background:#f2f2f2;
}

.switch-link{
margin-top:10px;
font-size:14px;
color:#555;
text-align:center;
}

.switch-link span{
color:#2a7de1;
font-weight:600;
cursor:pointer;
}

.otp-box{
display:flex;
gap:10px;
margin:15px 0;
justify-content:center;
}

.otp-input{
width:45px;
height:50px;
font-size:20px;
text-align:center;
border:1px solid #ccc;
border-radius:6px;
}

.otp-resend{
margin-top:10px;
text-align:center;
font-size:14px;
}

.otp-input:focus{
border:2px solid #2a7de1;
outline:none;
}

.otp-resend{
text-align:center;
margin-top:10px;
font-size:14px;
color:#666;
}

#resend-otp{
background:none;
border:none;
color:#2a7de1;
cursor:pointer;
font-weight:bold;
}

/* ===============================
DYNAMIC SLIDER (FIXED)
================================ */

.slider-wrapper{
position:relative;
}

/* ✅ FIXED (SCOPED ONLY TO DYNAMIC SECTION) */
.dynamic-section .slider{
display:flex;
gap:20px;
overflow-x:auto;
scroll-behavior:smooth;
padding:20px;
}

.dynamic-section .slider::-webkit-scrollbar{
display:none;
}

/* SCROLL CONTAINER */
.slider{
display:flex;
gap:20px;
overflow-x:auto;
scroll-behavior:smooth;
padding:20px;
}

.slider::-webkit-scrollbar{
display:none;
}

/* CARD */
.dynamic-card{
min-width:260px;
max-width:260px;
display:flex;
flex-direction:column;
justify-content:space-between;
background:rgba(255,255,255,0.7);
backdrop-filter:blur(10px);
border-radius:15px;
padding:15px;
box-shadow:0 8px 25px rgba(0,0,0,0.1);
transition:0.3s;
flex-shrink:0;
}



.dynamic-card:hover{
transform:translateY(-8px) scale(1.02);
}

/* IMAGE FIX */
.dynamic-card img{
width:100%;
height:150px;
object-fit:cover;
border-radius:10px;
}

/* TITLE FIX */
.dynamic-card h3{
font-size:15px;
margin:10px 0;

display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;

min-height:40px;
}

/* BUTTON */
.dynamic-card button{
padding:8px 14px;
background:#3b82f6;
margin-top:10px;
align-self:center;
color:white;
border:none;
border-radius:6px;
cursor:pointer;
}

/* ARROWS */
.slide-btn{
position:absolute;
top:50%;
transform:translateY(-50%);
background:rgba(0,0,0,0.5);
color:white;
border:none;
width:40px;
height:40px;
border-radius:50%;
cursor:pointer;
z-index:10;
}

.slide-btn.left{
left:5px;
}

.slide-btn.right{
right:5px;
}

/* ══════════════════════════════════════
   DAILY VERSE SECTION
══════════════════════════════════════ */

.daily-verse-section {
  background: #fffde7;
  border-top: 1px solid #ffe082;
  border-bottom: 1px solid #ffe082;
  padding: 60px 20px;
  position: relative;
  overflow: hidden;
}

.daily-verse-section::before {
  content: '✝';
  position: absolute;
  right: -10px; top: 50%;
  transform: translateY(-50%);
  font-size: 240px;
  color: rgba(255,152,0,0.08);
  line-height: 1;
  pointer-events: none;
  font-family: serif;
}

.dv-inner {
  max-width: 780px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.dv-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 32px;
}

.dv-cross {
  width: 42px; height: 42px;
  background: rgba(255,152,0,0.13);
  border: 1.5px solid rgba(255,152,0,0.35);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; color: #e65100; flex-shrink: 0;
}

.dv-label {
  display: block;
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: #e65100; margin-bottom: 3px;
}

.dv-date { font-size: 13px; color: #aaa; }

.dv-refresh-btn {
  margin-left: auto;
  width: 36px; height: 36px;
  border-radius: 50%;
  border: 1.5px solid rgba(230,81,0,0.25);
  background: transparent; color: rgba(230,81,0,0.5);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: border-color 0.2s, color 0.2s, transform 0.2s;
  flex-shrink: 0;
}
.dv-refresh-btn:hover { border-color: #e65100; color: #e65100; transform: rotate(30deg); }

@keyframes spin { to { transform: rotate(360deg); } }

.dv-body {
  position: relative;
  padding-left: 36px;
  margin-bottom: 32px;
}

.dv-quote-mark {
  position: absolute; left: -4px; top: -24px;
  font-family: 'Georgia', serif; font-size: 96px;
  color: rgba(230,81,0,0.15); line-height: 1;
  pointer-events: none;
}

.dv-text {
  font-family: 'Georgia', serif;
  font-size: 22px; font-style: italic;
  line-height: 1.75; color: #3e2723;
  margin: 0 0 16px; border: none; padding: 0;
  min-height: 40px;
  transition: opacity 0.6s ease;
}

.dv-reference {
  display: block;
  font-family: Arial, sans-serif;
  font-size: 13px; font-weight: 700; font-style: normal;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: #e65100;
  transition: opacity 0.6s ease;
}

.dv-loading {
  display: inline-flex; gap: 6px;
  align-items: center; height: 28px;
}
.dv-loading span {
  width: 8px; height: 8px;
  background: rgba(255,152,0,0.35);
  border-radius: 50%;
  animation: dv-pulse 1.2s ease-in-out infinite;
}
.dv-loading span:nth-child(2) { animation-delay: 0.2s; }
.dv-loading span:nth-child(3) { animation-delay: 0.4s; }

@keyframes dv-pulse {
  0%, 80%, 100% { opacity: 0.3; transform: scale(0.8); }
  40%            { opacity: 1;   transform: scale(1);   }
}

.dv-footer {
  border-top: 1px solid rgba(255,152,0,0.25);
  padding-top: 24px;
  display: flex; justify-content: center;
}

.dv-explore-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 11px 24px;
  background: rgba(255,152,0,0.1);
  border: 1.5px solid rgba(255,152,0,0.4);
  border-radius: 8px; color: #e65100;
  font-size: 13px; font-weight: 700;
  letter-spacing: 0.05em; text-decoration: none;
  transition: background 0.2s, border-color 0.2s, transform 0.15s;
}
.dv-explore-btn:hover {
  background: rgba(255,152,0,0.18);
  border-color: #e65100; transform: translateY(-1px);
}

/* ══════════════════════════════════════════
   MOBILE & TABLET RESPONSIVE — Full rewrite
══════════════════════════════════════════ */

/* ── TABLET (≤ 900px) ── */
@media (max-width: 900px) {

  /* Navbar */
  .navbar {
    grid-template-columns: auto 1fr auto;
    padding: 10px 16px;
    gap: 8px;
  }
  .logo { font-size: 15px; }
  .logo img { width: 36px; height: 36px; }
  .nav-links { gap: 16px; }
  .nav-links a { font-size: 14px; }

  /* Hero */
  .hero { height: 320px; min-height: 220px; }
  .slide h1 { font-size: 32px; }
  .slide p  { font-size: 16px; }

  /* Quick nav — 2 col on tablet */
  .quick-container {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .quick-nav { padding: 48px 20px; }

  /* Dynamic sections */
  .dynamic-section { padding: 28px 0 20px; }
  .dynamic-section h2 { font-size: 18px; padding: 0 16px; }

  /* Cards — 2 per row on tablet */
  .dynamic-card,
  .product-card {
    min-width: calc(50% - 10px);
    max-width: calc(50% - 10px);
  }

  /* Verse */
  .daily-verse-section { padding: 44px 20px; }
  .dv-text { font-size: 19px; }
}

/* ── MOBILE (≤ 640px) ── */
@media (max-width: 640px) {

  /* Navbar — hide nav-links, show only logo + login + hamburger */
  .navbar {
    grid-template-columns: auto 1fr auto;
    padding: 10px 14px;
  }
  .nav-links { display: none; }
  .logo { font-size: 13px; gap: 8px; white-space: nowrap; }
  .logo img { width: 34px; height: 34px; flex-shrink: 0; }
  .nav-right { gap: 8px; }
  .login-btn { padding: 7px 12px; font-size: 13px; }
  .cart-link { font-size: 13px; }

  /* Hero */
  .hero { height: 240px; min-height: 200px; overflow:hidden; }
  .slide h1 { font-size: 24px; margin-bottom: 8px; }
  .slide p  { font-size: 14px; }
  .arrow { width: 36px; height: 36px; font-size: 18px; }
  .arrow.left  { left: 10px; }
  .arrow.right { right: 10px; }

  /* Quick nav — single column on mobile */
  .quick-container {
    grid-template-columns: 1fr;
    gap: 12px;
    max-width: 100%;
  }
  .quick-nav { padding: 36px 16px; }
  .quick-nav h2 { font-size: 22px; margin-bottom: 24px; }
  .quick-card { padding: 24px 18px; }
  .quick-icon { font-size: 36px; margin-bottom: 10px; }
  .quick-card h3 { font-size: 17px; }

  /* Dynamic sections */
  .dynamic-section { padding: 24px 0 16px; }
  .dynamic-section h2 { font-size: 17px; padding: 0 14px; }

  /* Cards — single per view scrollable on mobile */
  .slider { padding: 12px 14px 16px; gap: 12px; }
  .dynamic-card,
  .product-card {
    min-width: 75vw;
    max-width: 75vw;
  }
  .dynamic-card img { height: 140px; }
  .product-card img { height: 150px; }

  /* Slider arrows */
  .slide-btn { width: 32px; height: 32px; font-size: 12px; }
  .slide-btn.left  { left: 0; }
  .slide-btn.right { right: 0; }

  /* Verse section */
  .daily-verse-section { padding: 36px 16px; }
  .dv-text { font-size: 17px; line-height: 1.7; }
  .dv-body { padding-left: 0; }
  .dv-quote-mark { display: none; }
  .dv-inner { max-width: 100%; }

  /* Footer */
  footer { padding: 24px 16px; }
  footer p { font-size: 14px; }
  .legal-footer { font-size: 13px; }
  .legal-footer a { margin: 0 6px; }

  /* User menu */
  .user-menu { width: 220px; }
}
