/* StampVendor India v4 — Main Stylesheet */
:root{
  --primary:#c0392b;--primary-dk:#96281b;--primary-lt:#e74c3c;
  --primary-glow:rgba(192,57,43,.15);
  --secondary:#2c3e50;--accent:#f39c12;
  --light-bg:#fdf8f8;--border:#e8e0e0;--text-muted:#7f8c8d;--success:#27ae60;
  --card-shadow:0 4px 20px rgba(44,62,80,.07);
  --card-hover:0 12px 40px rgba(192,57,43,.14);
  --font-main:'Poppins',sans-serif;--font-disp:'Playfair Display',serif;
  --radius:14px;--radius-sm:8px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-main);color:var(--secondary);background:#fff;overflow-x:hidden}
h1,h2,h3{font-family:var(--font-disp)}
.fw-600{font-weight:600}.fw-700{font-weight:700}

/* ANNOUNCEMENT */
.announcement-bar{background:var(--primary);color:#fff;text-align:center;padding:6px 0;font-size:12.5px;font-weight:500}
.announcement-bar a{color:rgba(255,255,255,.9);text-decoration:underline}

/* TOPBAR */
.topbar{background:var(--secondary);color:#bdc3c7;padding-top:5px;padding-bottom:5px;font-size:12px}
.topbar a{color:#bdc3c7;text-decoration:none;transition:color .2s}
.topbar a:hover{color:#fff}

/* NAVBAR */
.navbar{background:rgba(255,255,255,.97)!important;backdrop-filter:blur(12px);box-shadow:0 2px 16px rgba(44,62,80,.08);padding:8px 0;transition:box-shadow .3s}
.navbar.scrolled{box-shadow:0 4px 28px rgba(44,62,80,.13)}
.navbar-brand .brand-name{font-family:var(--font-disp);font-size:1.15rem;font-weight:700;color:var(--secondary);line-height:1}
.navbar-brand .brand-sub{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted)}
.navbar .nav-link{font-size:13.5px;font-weight:500;color:#444!important;padding:7px 12px!important;border-radius:var(--radius-sm);transition:all .2s}
.navbar .nav-link:hover{color:var(--primary)!important;background:#fff5f5}

/* HERO */
.hero-section{background:linear-gradient(135deg,#1a2636 0%,#2c3e50 50%,#1a0f0a 100%);color:#fff;padding:80px 0 60px;position:relative;overflow:hidden}
.hero-section::before{content:'';position:absolute;right:-100px;top:-100px;width:450px;height:450px;background:radial-gradient(circle,rgba(192,57,43,.2) 0%,transparent 65%);border-radius:50%}
.hero-section h1{font-size:clamp(2rem,4.5vw,3.2rem);line-height:1.2;text-shadow:0 2px 20px rgba(0,0,0,.3)}
.hero-badge{background:rgba(255,255,255,.12);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:50px;padding:6px 18px;font-size:12px;display:inline-flex;align-items:center;gap:6px;margin-bottom:16px}
.hero-quick{background:rgba(255,255,255,.1);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:26px}
.hero-stats{border-top:1px solid rgba(255,255,255,.15);padding-top:20px;margin-top:26px}
.hero-stat-num{font-size:1.9rem;font-weight:700;font-family:var(--font-disp)}

/* 3D CARDS */
.product-card,.service-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--card-shadow);transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease}
.product-card:hover{transform:translateY(-6px) scale(1.012);box-shadow:var(--card-hover);border-color:transparent}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--card-hover);border-color:var(--primary)}
.blog-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--card-shadow);transition:transform .3s,box-shadow .3s}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.1)}
.product-card .card-img-top{height:165px;object-fit:cover;transition:transform .4s}
.product-card:hover .card-img-top{transform:scale(1.05)}
.blog-card .card-img-top{height:190px;object-fit:cover;transition:transform .4s}
.blog-card:hover .card-img-top{transform:scale(1.04)}
.denomination-badge{position:absolute;top:10px;right:10px;background:linear-gradient(135deg,var(--primary),var(--primary-lt));color:#fff;border-radius:var(--radius-sm);padding:4px 10px;font-size:12px;font-weight:700;box-shadow:0 2px 8px rgba(192,57,43,.4)}
.state-tag{font-size:10px;background:#fff3f3;color:var(--primary);border-radius:4px;padding:2px 7px;border:1px solid #ffcdd2;display:inline-flex;align-items:center;gap:3px}
.price-tag{color:var(--primary);font-weight:700;font-size:1.1rem}
.price-mrp{color:var(--text-muted);font-size:.8rem;text-decoration:line-through}
.discount-badge{background:linear-gradient(135deg,var(--success),#2ecc71);color:#fff;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}

/* SERVICE ICON */
.service-icon{width:54px;height:54px;background:linear-gradient(135deg,var(--primary),var(--primary-lt));border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem;margin-bottom:14px;box-shadow:0 5px 18px rgba(192,57,43,.32);transition:transform .3s,box-shadow .3s}
.service-card:hover .service-icon{transform:translateY(-3px) rotate(-3deg);box-shadow:0 9px 26px rgba(192,57,43,.42)}

/* TRUST BAR */
.trust-item{display:flex;align-items:center;gap:12px;padding:13px 0}
.trust-icon{width:42px;height:42px;background:#fff5f5;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--primary);flex-shrink:0}

/* STATE FILTER */
.state-filter{background:var(--light-bg);border-bottom:1px solid var(--border);padding:10px 0;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
.state-filter a{display:inline-block;margin:0 3px;padding:4px 13px;border-radius:50px;background:#fff;border:1px solid var(--border);font-size:12px;color:#555;text-decoration:none;transition:all .2s;font-weight:500}
.state-filter a:hover,.state-filter a.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 8px rgba(192,57,43,.3)}

/* SECTION */
.section-title{font-size:clamp(1.4rem,3vw,2.1rem);font-weight:700;color:var(--secondary)}
.section-subtitle{color:var(--text-muted);font-size:15px}
.section-divider{width:46px;height:3px;background:linear-gradient(90deg,var(--primary),var(--primary-lt));border-radius:3px;margin:8px 0 20px}

/* BUTTONS */
.btn-danger{background:linear-gradient(135deg,var(--primary),var(--primary-lt));border:none;font-weight:600;box-shadow:0 4px 14px rgba(192,57,43,.26);transition:all .25s}
.btn-danger:hover{background:linear-gradient(135deg,var(--primary-dk),var(--primary));transform:translateY(-1px);box-shadow:0 6px 20px rgba(192,57,43,.38);color:#fff}
.btn-outline-danger{color:var(--primary);border:1.5px solid var(--primary);font-weight:500;transition:all .25s}
.btn-outline-danger:hover{background:var(--primary);color:#fff;box-shadow:0 4px 14px rgba(192,57,43,.22);transform:translateY(-1px)}
.btn-buynow{background:linear-gradient(135deg,#e67e22,var(--accent));border:none;color:#fff;font-weight:700;box-shadow:0 4px 14px rgba(243,156,18,.32);transition:all .25s}
.btn-buynow:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(243,156,18,.42);color:#fff}

/* FORMS */
.form-control,.form-select{border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;padding:10px 14px;transition:all .2s}
.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}

/* PAGE HERO */
.page-hero{background:linear-gradient(135deg,var(--secondary),#34495e);color:#fff;padding:40px 0 30px;position:relative;overflow:hidden}
.page-hero::after{content:'';position:absolute;right:-60px;bottom:-60px;width:180px;height:180px;background:rgba(192,57,43,.1);border-radius:50%}
.page-hero .breadcrumb-item a{color:rgba(255,255,255,.7);text-decoration:none}
.page-hero .breadcrumb-item.active{color:#fff}
.page-hero .breadcrumb-item+.breadcrumb-item::before{color:rgba(255,255,255,.4)}

/* PROFILE */
.profile-sidebar{background:var(--light-bg);border:1px solid var(--border);border-radius:var(--radius);padding:20px}
.profile-nav a{display:flex;align-items:center;gap:9px;padding:9px 13px;border-radius:var(--radius-sm);color:#555;text-decoration:none;font-size:14px;margin-bottom:3px;transition:all .2s;font-weight:500}
.profile-nav a:hover,.profile-nav a.active{background:var(--primary);color:#fff;box-shadow:0 3px 10px rgba(192,57,43,.22)}
.profile-nav a i{width:16px;text-align:center;flex-shrink:0}

/* ORDER CARDS */
.order-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--card-shadow);transition:box-shadow .2s}
.order-card:hover{box-shadow:var(--card-hover)}
.order-card .order-header{background:var(--light-bg);padding:13px 18px;border-bottom:1px solid var(--border)}

/* TESTIMONIALS */
.testimonial-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--card-shadow);position:relative;transition:all .3s}
.testimonial-card:hover{box-shadow:var(--card-hover);transform:translateY(-3px)}
.stars{color:#f39c12;letter-spacing:2px}

/* BUY NOW MODAL */
.modal-content{border:none;border-radius:18px;overflow:hidden}
.buynow-modal-header{background:linear-gradient(135deg,var(--primary),var(--primary-lt));color:#fff;padding:18px 24px}
.cost-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #f5f5f5;font-size:14px}
.cost-total{display:flex;justify-content:space-between;padding:11px 0;font-weight:700;font-size:1.05rem;color:var(--primary);border-top:2px solid var(--border);margin-top:3px}
.svc-option{cursor:pointer;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:6px;transition:all .2s}
.svc-option:hover,.svc-option.sel{border-color:var(--primary);background:#fff5f5}

/* WHATSAPP FLOAT */
.whatsapp-float{position:fixed;bottom:24px;right:24px;z-index:999;background:#25d366;color:#fff;border-radius:50%;width:55px;height:55px;display:flex;align-items:center;justify-content:center;font-size:1.65rem;box-shadow:0 4px 18px rgba(37,211,102,.5);text-decoration:none;transition:all .3s}
.whatsapp-float:hover{transform:scale(1.1) rotate(-6deg);box-shadow:0 7px 26px rgba(37,211,102,.6);color:#fff}
.wa-pulse{position:absolute;inset:-6px;border:2px solid rgba(37,211,102,.35);border-radius:50%;animation:wap 2s infinite}
@keyframes wap{0%{transform:scale(1);opacity:1}100%{transform:scale(1.5);opacity:0}}

/* BACK TO TOP — hidden by default, only shows via JS after scroll */
.back-to-top{
  position:fixed;
  bottom:88px;right:24px;
  z-index:998;
  width:40px;height:40px;
  background:rgba(44,62,80,.82);
  backdrop-filter:blur(8px);
  color:#fff;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  /* START HIDDEN — no opacity flicker on page load */
  opacity:0;
  visibility:hidden;
  transition:opacity .3s,visibility .3s,background .2s;
  text-decoration:none;
  box-shadow:0 3px 10px rgba(0,0,0,.18);
}
/* Only shows when JS adds .show class after scrolling 300px */
.back-to-top.show{opacity:1;visibility:visible}
.back-to-top:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}

/* FOOTER SOCIAL */
.footer-social a{width:35px;height:35px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);text-decoration:none;transition:all .25s;font-size:14px}
.footer-social a:hover{background:var(--primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(192,57,43,.4)}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s cubic-bezier(.34,1.56,.64,1)}
.reveal.vis{opacity:1;transform:translateY(0)}

/* MISC */
.legal-notice{background:#fffbf0;border-left:4px solid var(--accent);padding:13px 18px;border-radius:0 8px 8px 0;font-size:13px;color:#856404}
.page-link{color:var(--primary);border-radius:var(--radius-sm)!important;margin:0 2px;transition:all .2s}
.page-item.active .page-link{background:var(--primary);border-color:var(--primary)}
.order-summary{background:var(--light-bg);border:1px solid var(--border);border-radius:var(--radius);padding:22px}
.blog-category-tag{background:var(--primary);color:#fff;padding:3px 10px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}

@media(max-width:768px){
  .hero-section{padding:48px 0 38px}
  .hero-section h1{font-size:1.85rem}
}
