/* Sangam Tour & Travels — custom styles on top of Tailwind */
html { scroll-behavior: smooth; }
body { font-family: "Inter", system-ui, sans-serif; color: #1f2937; background: #FFFCF7; }

.hero-bg {
  background:
    radial-gradient(1200px 500px at 90% -10%, rgba(242, 178, 51, .35), transparent 60%),
    radial-gradient(900px 500px at -10% 110%, rgba(245, 130, 32, .35), transparent 60%),
    linear-gradient(135deg, #061A3B 0%, #0B2E6B 55%, #153F86 100%);
}
.page-hero {
  background:
    radial-gradient(700px 300px at 85% 0%, rgba(245, 130, 32, .45), transparent 60%),
    linear-gradient(120deg, #061A3B, #0B2E6B 60%, #1D4E9E);
}
.text-gradient {
  background: linear-gradient(90deg, #F2B233, #F58220);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ribbon {
  background: linear-gradient(90deg, #C8102E, #F58220);
}

/* Section heading underline */
.section-title::after {
  content: ""; display: block; width: 64px; height: 4px; border-radius: 4px;
  margin: .6rem auto 0; background: linear-gradient(90deg, #F58220, #F2B233);
}
.section-title.text-left::after { margin-left: 0; }

/* Package card */
.pkg-card { transition: transform .25s ease, box-shadow .25s ease; }
.pkg-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -14px rgba(11, 46, 107, .35); }
.pkg-card .pkg-img { transition: transform .6s ease; }
.pkg-card:hover .pkg-img { transform: scale(1.08); }
.zoom-img { transition: transform .8s ease; }
.group:hover .zoom-img { transform: scale(1.06); }

/* Photo hero: image + brand overlay */
.photo-hero { position: relative; background-size: cover; background-position: center; }
.photo-hero::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(6,26,59,.92) 0%, rgba(11,46,107,.75) 45%, rgba(11,46,107,.25) 100%);
}
.photo-hero > * { position: relative; }

/* Tricolour mark (flag emoji renders as "IN" on Windows) */
.flag-in { display: inline-block; width: 1.1em; height: .75em; border-radius: 2px; vertical-align: -1px;
  background: linear-gradient(#FF9933 33.3%, #fff 33.3% 66.6%, #138808 66.6%); box-shadow: 0 0 0 1px rgba(0,0,0,.15); }

/* Pattern overlay for gradient image placeholders */
.pattern {
  background-image: radial-gradient(rgba(255,255,255,.12) 1px, transparent 1.5px);
  background-size: 22px 22px;
}

/* Filter chips */
.chip { transition: all .2s; }
.chip[aria-pressed="true"] { background: #0B2E6B; color: #fff; border-color: #0B2E6B; }

/* Terms accordion */
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details[open] .chev { transform: rotate(180deg); }
.chev { transition: transform .2s; }

/* Modal */
.modal-backdrop { background: rgba(6, 26, 59, .6); backdrop-filter: blur(3px); }
body.modal-open { overflow: hidden; }

/* WhatsApp float */
.wa-float { box-shadow: 0 10px 25px -5px rgba(37, 211, 102, .6); }
.wa-float::before {
  content: ""; position: absolute; inset: 0; border-radius: 9999px;
  background: #25D366; opacity: .5; animation: pulse-ring 2s infinite; z-index: -1;
}
@keyframes pulse-ring { 0% { transform: scale(1); opacity: .5; } 100% { transform: scale(1.6); opacity: 0; } }

/* Reveal on scroll */
.reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .wa-float::before { animation: none; }
}

/* Form focus */
.field { width: 100%; border: 1px solid #d1d5db; border-radius: .75rem; padding: .7rem .9rem; background: #fff; outline: none; transition: border-color .2s, box-shadow .2s; }
.field:focus { border-color: #F58220; box-shadow: 0 0 0 3px rgba(245, 130, 32, .2); }
.field.invalid { border-color: #C8102E; }

/* Text above the photo + overlay in image cards */
.photo-card > :not(.absolute) { position: relative; }

/* Keep the hidden attribute winning over Tailwind display utilities */
[hidden] { display: none !important; }
