/* ==========================================================================
   Thai Healing Hands Ltd. — Shared Theme Layer
   --------------------------------------------------------------------------
   Imported by every page AFTER the Tailwind Play CDN. Houses the custom CSS
   that Tailwind utilities alone can't express cleanly (gradients, vignettes,
   watermark utility, button variants, animation keyframes).
   ========================================================================== */

/* ---------- Global resets / base typography ---------- */
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', system-ui, sans-serif;
  background: #061f14;            /* ultra-deep foliage primary */
  color: #faf8f3;                 /* ivory */
  -webkit-font-smoothing: antialiased;
}

.font-display {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  letter-spacing: 0.005em;
}

/* ---------- Reusable ornaments ---------- */
.gold-rule {
  display: inline-block;
  width: 64px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #a8893f, #f5e09a, #dcc188, #f5e09a, #a8893f, transparent);
}

/* Hero vignette so text stays readable over video */
.hero-vignette {
  background: radial-gradient(
    ellipse at center,
    rgba(6, 31, 20, 0.30) 0%,
    rgba(6, 31, 20, 0.85) 100%
  );
}

/* ---------- Watermark overlay system --------------------------------------
   Drop transparent PNGs (Buddhist motifs, Thai temples, lotus flowers) into
   /assets/watermarks/.  Wrap them in a .watermark container — opacity stays
   in the 0.03–0.05 range so they whisper behind the page, never shout.
   -------------------------------------------------------------------------- */
.watermark {
  position: absolute;
  pointer-events: none;
  user-select: none;
  z-index: 0;
  opacity: 0.04;
  mix-blend-mode: screen;       /* keeps the motif tonal against dark green */
}
.watermark img,
.watermark svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 0 1px rgba(201, 169, 97, 0.4));
}
.watermark--faint  { opacity: 0.03; }
.watermark--bright { opacity: 0.06; }

/* ---------- Buttons ------------------------------------------------------- */
.btn-gold {
  background: linear-gradient(180deg, #e8cc88 0%, #dcc188 20%, #c9a961 55%, #a8893f 100%);
  color: #061f14;
  position: relative;
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease, filter .3s ease;
}
/* Sweeping shimmer highlight */
.btn-gold::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    transparent 25%,
    rgba(255, 255, 255, 0.22) 50%,
    transparent 75%
  );
  background-size: 200% 100%;
  background-position: -200% center;
  animation: goldShimmer 2.8s ease-in-out infinite;
  pointer-events: none;
}
.btn-gold:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px -12px rgba(201, 169, 97, .65),
              0 0 0 1px rgba(220, 193, 136, .4);
  filter: brightness(1.08);
}
.btn-gold-ghost {
  border: 1px solid #c9a961;
  color: #c9a961;
  background: transparent;
  transition: background .3s ease, color .3s ease;
}
.btn-gold-ghost:hover { background: #c9a961; color: #061f14; }

/* ---------- Modality / treatment cards ----------------------------------- */
.lux-card {
  transition: transform .5s cubic-bezier(.2,.7,.2,1),
              box-shadow .5s ease,
              border-color .5s ease;
}
.lux-card:hover {
  transform: translateY(-6px);
  border-color: #c9a961;
  box-shadow:
    0 0 0 1px rgba(201,169,97,.55),
    0 30px 60px -25px rgba(0,0,0,.6);
}
.lux-card:hover .lux-cta {
  color: #dcc188;
  letter-spacing: .28em;
}

/* ---------- Inputs (form fields share a hairline under-line look) -------- */
.lux-input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(201, 169, 97, 0.35);
  color: #faf8f3;
  padding: 0.5rem 0;
  width: 100%;
  outline: none;
  transition: border-color .3s ease;
}
.lux-input:focus { border-bottom-color: #c9a961; }
.lux-input::placeholder { color: rgba(250, 248, 243, 0.35); }

/* ---------- Gold text glow — auto-applied to all gold in headings -------- */
h1 .text-gold,
h2 .text-gold,
h3 .text-gold {
  text-shadow:
    0 0 18px rgba(220, 193, 136, 0.55),
    0 0 40px rgba(201, 169, 97, 0.28);
}

blockquote {
  text-shadow: 0 0 24px rgba(201, 169, 97, 0.12);
}

cite {
  text-shadow:
    0 0 10px rgba(220, 193, 136, 0.6),
    0 0 28px rgba(201, 169, 97, 0.35);
  letter-spacing: 0.3em;
}

/* Gold borders and rules get a brighter glow on hover context */
.lux-card:hover .gold-rule,
section:hover .gold-rule {
  filter: drop-shadow(0 0 4px rgba(220, 193, 136, 0.7));
}

/* ---------- Metallic shimmer gradient text (apply class to opt-in) ------- */
.gold-sheen {
  background: linear-gradient(
    105deg,
    #a8893f 0%,
    #e8cc88 28%,
    #f5e09a 42%,
    #dcc188 55%,
    #c9a961 72%,
    #a8893f 100%
  );
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: goldShimmer 4s linear infinite;
}

/* ---------- Animations --------------------------------------------------- */
@keyframes goldShimmer {
  0%   { background-position: -200% center; }
  100% { background-position:  200% center; }
}

@keyframes kenburns {
  0%   { transform: scale(1.02); }
  100% { transform: scale(1.12); }
}
.kenburns { animation: kenburns 22s ease-in-out infinite alternate; }

@keyframes lotusDrift {
  0%   { transform: translateY(0) rotate(0deg); }
  100% { transform: translateY(-12px) rotate(2deg); }
}
.drift { animation: lotusDrift 14s ease-in-out infinite alternate; }

/* ---------- Nav active state --------------------------------------------- */
.nav-link.is-active {
  color: #c9a961;
}
.nav-link.is-active::after {
  content: "";
  display: block;
  width: 18px;
  height: 1px;
  margin: 4px auto 0;
  background: #c9a961;
}
