/* ============================================================
   PRODG GLOBAL — Shared Stylesheet
   Design system: Navy #0B1F3A | Gold #C9A84C | Cream #FAF7F2
   ============================================================ */

/* Base */
html { scroll-behavior: smooth; }
body { background: #fff; color: #0B1F3A; font-family: 'DM Sans', sans-serif; }
::selection { background: #C9A84C; color: #0B1F3A; }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #C9A84C; border-radius: 3px; }

/* ── Navbar ── */
#navbar { background: transparent; transition: all 0.3s ease; }
#navbar.nav-scrolled { background: #C9A84C !important; }
.nav-solid { background: #C9A84C !important; }

/* Gold navbar: force dark text on all nav links */
.nav-solid a, #navbar.nav-scrolled a { color: #0B1F3A !important; }
.nav-solid a:hover, #navbar.nav-scrolled a:hover { color: rgba(11,31,58,0.6) !important; }
/* Preserve white text on green WhatsApp button and explicit bg buttons */
.nav-solid a.bg-green-600, #navbar.nav-scrolled a.bg-green-600,
.nav-solid a.bg-navy, #navbar.nav-scrolled a.bg-navy { color: #fff !important; }
/* Mobile hamburger icon on gold nav */
.nav-solid #mobileMenuBtn, #navbar.nav-scrolled #mobileMenuBtn { color: #0B1F3A !important; }
/* Mobile menu on gold nav */
#mobileMenu { background: #C9A74D !important; }
#mobileMenu a { color: #0B1F3A !important; }
#mobileMenu a:hover { color: rgba(11,31,58,0.6) !important; }

/* ── Active Nav Link ── */
.active-link {
  color: #1E40AF !important;
  text-shadow: 0 0 8px rgba(30, 64, 175, 0.6);
  animation: glow 1.8s ease-in-out infinite alternate;
}
@keyframes glow {
  from { text-shadow: 0 0 5px rgba(30, 64, 175, 0.4); }
  to   { text-shadow: 0 0 12px rgba(30, 64, 175, 0.9); }
}

/* ── Hero ── */
.hero-bg {
  background:
    linear-gradient(135deg, rgba(7,21,40,0.94) 0%, rgba(11,31,58,0.88) 55%, rgba(26,46,74,0.92) 100%),
    linear-gradient(135deg, rgba(78,127,191,0.18), rgba(78,127,191,0.08));
  position: relative; overflow: hidden;
}
.hero-grid { background-image: linear-gradient(rgba(201,168,76,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(201,168,76,0.04) 1px, transparent 1px); background-size: 60px 60px; }

/* ── Gold Elements ── */
.gold-line::after { content: ''; display: block; width: 48px; height: 2px; background: #C9A84C; margin-top: 12px; }
.gold-line-center::after { content: ''; display: block; width: 48px; height: 2px; background: #C9A84C; margin: 12px auto 0; }
.gold-divider { height: 1px; background: linear-gradient(90deg, transparent, #C9A84C, transparent); }
.text-gold { color: #C9A84C; }
.bg-gold { background-color: #C9A84C; }
.border-gold { border-color: #C9A84C; }

/* ── Cards ── */
.product-card { transition: transform 0.3s ease, box-shadow 0.3s ease; border: 1px solid #e8e4dc; }
.product-card:hover { transform: translateY(-6px); box-shadow: 0 20px 48px rgba(11,31,58,0.12); }
.product-card .img-wrap { overflow: hidden; background: #f8f6f2; }
.product-card .img-wrap img { transition: transform 0.5s ease; object-fit: cover; width: 100%; height: 100%; padding: 8px; }
.product-card:hover .img-wrap img { transform: scale(1.04); }

/* Brand/product image contain fix */
.tea-card-img, .kisss-card-img { object-fit: contain !important; background: #f8f6f2; padding: 8px; }
.kisss-card .kisss-card-img { background: #1a0b2e; padding: 0; object-fit: cover !important; }

.why-card { border-left: 3px solid #C9A84C; transition: background 0.2s; }
.why-card:hover { background: #FAF7F2; }

/* ── Cert Badges ── */
.cert-badge { border: 1px solid rgba(201,168,76,0.3); background: rgba(201,168,76,0.06); transition: all 0.2s; }
.cert-badge:hover { background: rgba(201,168,76,0.12); border-color: rgba(201,168,76,0.6); }

/* ── Forms ── */
.form-input { border: 1px solid #d1cdc5; background: #fff; outline: none; transition: border-color 0.2s, box-shadow 0.2s; width: 100%; padding: 0.625rem 0.875rem; border-radius: 0.375rem; font-size: 0.875rem; color: #0B1F3A; }
.form-input:focus { border-color: #C9A84C; box-shadow: 0 0 0 3px rgba(201,168,76,0.12); }
select.form-input { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%230B1F3A' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.75rem center; padding-right: 2rem; }

/* ── WhatsApp Float ── */
.wa-float { position: fixed; bottom: 28px; right: 28px; z-index: 9999; width: 56px; height: 56px; background: #25D366; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 20px rgba(37,211,102,0.4); transition: transform 0.2s, box-shadow 0.2s; text-decoration: none; }
.wa-float:hover { transform: scale(1.1); box-shadow: 0 6px 28px rgba(37,211,102,0.5); }

/* ── Stat Numbers ── */
.stat-num { font-family: 'Bebas Neue', cursive; letter-spacing: 0.05em; }

/* ── Animations ── */
.fade-in { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }

@keyframes pulse-dot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.5;transform:scale(1.5)} }
.map-dot { animation: pulse-dot 2s ease-in-out infinite; }

@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
.float-anim { animation: float 3s ease-in-out infinite; }

/* ── Page Hero (inner pages) ── */
.page-hero {
  background:
    linear-gradient(135deg, rgba(7,21,40,0.92) 0%, rgba(11,31,58,0.82) 55%, rgba(26,46,74,0.90) 100%),
    linear-gradient(135deg, rgba(78,127,191,0.20), rgba(78,127,191,0.10));
  padding: 7rem 0 4rem;
  position: relative;
  overflow: hidden;
}
.page-hero > *:not(img) { position: relative; z-index: 1; }

/* ── Blog ── */
.blog-card { transition: transform 0.3s, box-shadow 0.3s; }
.blog-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(11,31,58,0.1); }

/* ── Country Grid ── */
.country-card { transition: all 0.2s; border: 1px solid #e8e4dc; }
.country-card:hover { border-color: #C9A84C; background: rgba(201,168,76,0.04); transform: translateY(-2px); }

/* ── Process Steps ── */
.process-step::before { content: ''; position: absolute; top: 2rem; left: calc(100% + 0.5rem); width: calc(100% - 1rem); height: 2px; background: linear-gradient(90deg, #C9A84C, transparent); }
.process-step:last-child::before { display: none; }

/* ── Brand Cards ── */
.brand-product-card { border: 1px solid #e8e4dc; transition: all 0.25s; }
.brand-product-card:hover { border-color: #C9A84C; box-shadow: 0 8px 32px rgba(11,31,58,0.1); transform: translateY(-4px); }

/* ── Accordion ── */
.accordion-content { display: none; }
.accordion-content.open { display: block; }
.accordion-icon { transition: transform 0.3s; }
.accordion-open .accordion-icon { transform: rotate(180deg); }

/* ── Table ── */
.data-table th { background: #0B1F3A; color: #C9A84C; font-weight: 600; padding: 0.75rem 1rem; text-align: left; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; }
.data-table td { padding: 0.75rem 1rem; border-bottom: 1px solid #e8e4dc; font-size: 0.85rem; vertical-align: top; }
.data-table tr:hover td { background: #FAF7F2; }

/* ── Utilities ── */
.text-navy { color: #0B1F3A; }
.bg-navy { background-color: #0B1F3A; }
.bg-cream { background-color: #FAF7F2; }
.btn-gold { background: #C9A84C; color: #0B1F3A; font-weight: 600; transition: opacity 0.2s; }
.btn-gold:hover { opacity: 0.9; }
.btn-outline-gold { border: 1.5px solid #C9A84C; color: #C9A84C; font-weight: 600; transition: all 0.2s; }
.btn-outline-gold:hover { background: #C9A84C; color: #0B1F3A; }

/* ── Responsive tweaks ── */
@media (max-width: 768px) {
  .hero-bg { min-height: 100svh; }
  .page-hero { padding: 5.5rem 0 3rem; }
  .wa-float { bottom: 20px; right: 16px; width: 50px; height: 50px; }
}

/* ============================================================
   LUXURY REVAMP — Phase 1 additions
   ============================================================ */

/* ── 1A. Custom Luxury Cursor ── */
.cursor-ring {
  position: fixed; top: 0; left: 0; pointer-events: none; z-index: 99999;
  width: 36px; height: 36px; border: 1.5px solid rgba(201,168,76,0.7);
  border-radius: 50%; transform: translate(-50%,-50%);
  transition: width 0.25s, height 0.25s, border-color 0.25s, opacity 0.25s;
}
.cursor-dot {
  position: fixed; top: 0; left: 0; pointer-events: none; z-index: 99999;
  width: 6px; height: 6px; background: #C9A84C; border-radius: 50%;
  transform: translate(-50%,-50%); transition: opacity 0.2s;
}
.cursor-ring.hovered { width: 54px; height: 54px; border-color: #C9A84C; opacity: 0.85; }
@media (pointer: coarse) { .cursor-ring, .cursor-dot { display: none !important; } }

/* ── 1B. Text Animations ── */
.char-reveal .char {
  display: inline-block; opacity: 0; transform: translateY(38px) rotate(2deg);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.char-reveal.visible .char { opacity: 1; transform: translateY(0) rotate(0); }

.word-reveal .word { display: inline-block; overflow: hidden; vertical-align: bottom; }
.word-reveal .word-inner {
  display: inline-block; transform: translateY(105%);
  transition: transform 0.65s cubic-bezier(0.22,1,0.36,1);
}
.word-reveal.visible .word-inner { transform: translateY(0); }

.clip-reveal {
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.9s cubic-bezier(0.22,1,0.36,1);
}
.clip-reveal.visible { clip-path: inset(0 0% 0 0); }

.animated-underline { position: relative; display: inline-block; }
.animated-underline::after {
  content: ''; position: absolute; bottom: -3px; left: 0;
  width: 0; height: 2px; background: #C9A84C;
  transition: width 0.65s cubic-bezier(0.22,1,0.36,1);
}
.animated-underline.visible::after, .animated-underline:hover::after { width: 100%; }

/* ── 1C. Enhanced Card Animations ── */
.tilt-card { transform-style: preserve-3d; will-change: transform; }
.stagger-item {
  opacity: 0; transform: translateY(28px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}
.stagger-item.visible { opacity: 1; transform: translateY(0); }

/* ── 1D. Parallax ── */
.parallax-section { overflow: hidden; }
.parallax-bg { will-change: transform; }

/* ── 1E. Newsletter Popup ── */
#newsletterPopup {
  position: fixed; inset: 0; z-index: 99998;
  display: flex; align-items: center; justify-content: center;
  background: rgba(7,21,40,0.78); backdrop-filter: blur(5px);
  opacity: 0; pointer-events: none; transition: opacity 0.4s ease;
}
#newsletterPopup.show { opacity: 1; pointer-events: all; }
.newsletter-box {
  background: #fff; border-radius: 16px; overflow: hidden;
  max-width: 520px; width: 92%; position: relative;
  box-shadow: 0 40px 100px rgba(11,31,58,0.35);
  transform: translateY(32px); transition: transform 0.4s ease;
}
#newsletterPopup.show .newsletter-box { transform: translateY(0); }
.newsletter-close {
  position: absolute; top: 12px; right: 14px; cursor: pointer; z-index: 2;
  background: rgba(11,31,58,0.08); border: none; border-radius: 50%;
  width: 28px; height: 28px; display: flex; align-items: center;
  justify-content: center; font-size: 14px; color: #0B1F3A; transition: background 0.2s;
}
.newsletter-close:hover { background: rgba(11,31,58,0.16); }

/* ── 1F. Marquee Ticker ── */
.marquee-wrap { overflow: hidden; }
.marquee-track {
  display: flex; width: max-content;
  animation: marquee-scroll 26s linear infinite;
}
.marquee-track:hover { animation-play-state: paused; }
@keyframes marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ── 1G. Hero Stat Float ── */
.hero-stat-float {
  background: rgba(255,255,255,0.08); border: 1px solid rgba(201,168,76,0.35);
  backdrop-filter: blur(12px); border-radius: 12px; padding: 14px 20px;
}
.hero-stat-float:nth-child(2) { animation-delay: 1.2s; }
.hero-stat-float:nth-child(3) { animation-delay: 2.4s; }

/* ── 1H. bg-img-section utility ── */
.bg-img-section { position: relative; overflow: hidden; }
.bg-img-section > .section-bg-img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; pointer-events: none; z-index: 0;
}
.bg-img-section > *:not(.section-bg-img) { position: relative; z-index: 1; }

/* Section blend-mode modifiers */
.bg-img-section.light-section > .section-bg-img {
  mix-blend-mode: multiply;
  opacity: 0.16;
}
.bg-img-section.dark-section > .section-bg-img {
  mix-blend-mode: screen;
  opacity: 0.26;
}
.bg-img-section.gold-section > .section-bg-img {
  mix-blend-mode: overlay;
  opacity: 0.20;
}

/* ── 1J. Chapter Background Sections ── */
.chapter-bg-stripe > *:not(.chapter-bg-img) { position: relative; z-index: 1; }

/* ── 1I. Page Loader ── */
#pageLoader {
  position: fixed; inset: 0; z-index: 999999; background: #071528;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  transition: opacity 0.6s ease, visibility 0.6s ease; visibility: visible;
}
#pageLoader.done { opacity: 0; visibility: hidden; }
.loader-logo { animation: pulse-logo 1.4s ease-in-out infinite; }
@keyframes pulse-logo { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.6;transform:scale(0.95)} }
.loader-bar-track {
  width: 140px; height: 2px; background: rgba(201,168,76,0.2);
  border-radius: 2px; margin-top: 22px; overflow: hidden;
}
.loader-bar-fill {
  height: 100%; background: #C9A84C; border-radius: 2px;
  animation: loader-fill 1.1s ease-in-out forwards;
}
@keyframes loader-fill { from { width: 0; } to { width: 100%; } }

/* ── 1J. Chapter Background Sections ── */
.chapter-bg-stripe { position: relative; overflow: hidden; }
.chapter-bg-stripe > .chapter-bg-img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; pointer-events: none; z-index: 0;
}
.chapter-bg-stripe > *:not(.chapter-bg-img) { position: relative; z-index: 1; }

/* ── Ken Burns ── */
@keyframes kenburns {
  0%   { transform: scale(1)    translate(0,0); }
  100% { transform: scale(1.09) translate(-2%,-1%); }
}
.kenburns { animation: kenburns 20s ease-in-out infinite alternate; }

/* ── Phase 7: prefers-reduced-motion ── */
@media (prefers-reduced-motion: reduce) {
  .char-reveal .char,
  .word-reveal .word-inner,
  .clip-reveal,
  .stagger-item,
  .fade-in {
    transition: none !important; animation: none !important;
    opacity: 1 !important; transform: none !important;
    clip-path: none !important;
  }
  .marquee-track { animation: none !important; }
  .float-anim, .hero-stat-float, .kenburns { animation: none !important; }
  .parallax-bg { transform: none !important; }
  #pageLoader { display: none !important; }
}
