/* Yatry's travel collection: ivory, navy and restrained brass details. */
body { background: linear-gradient(180deg, #fffdf8 0, #f8f5ee 850px, #fffdf9 100%); }
.royal-hero { border: 1px solid #ffffff80; border-radius: 24px; }
.royal-hero:after { content: ""; position: absolute; inset: 14px; border: 1px solid #efcf9538; border-radius: 14px; pointer-events: none; z-index: -1; }
.royal-hero h1 { text-shadow: 0 2px 20px #081c3030; }
.royal-hero h1 em { font-style: italic; }
.hero-photo { filter: saturate(.85); }
.booking-hub { box-shadow: 0 24px 64px #17334b14; }
.site-announcement { margin-block: 0 16px; padding: 12px 18px; border-radius: 9px; background: #f8ecd4; border: 1px solid #e8d5ad; color: #624722; font-size: 14px; line-height: 1.6; }
.signature-journey { display: grid; grid-template-columns: 1.1fr 1fr; margin-top: 74px; border-radius: 20px; overflow: hidden; background: #122e45; border: 1px solid #22455e; box-shadow: 0 18px 46px #17334b12; }
.signature-visual { position: relative; min-height: 410px; overflow: hidden; }
.signature-visual:after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #102c4810 25%, #102c48d9 100%); }
.signature-visual img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.signature-tag { position: absolute; left: 24px; top: 24px; z-index: 1; border: 1px solid #f4d69b80; background: #122e45b3; color: #f4d69b; padding: 8px 12px; font-size: 11px; font-weight: 700; letter-spacing: 1.4px; border-radius: 4px; }
.signature-place { position: absolute; left: 28px; right: 28px; bottom: 27px; z-index: 1; color: #fff; font-size: 16px; line-height: 1.6; }
.signature-copy { padding: 42px; align-self: center; min-width: 0; }
.signature-copy .eyebrow { color: #f1d29b; }
.signature-copy h2 { margin: 17px 0; font: 400 39px/1.2 Georgia, serif; letter-spacing: -.7px; color: #fff; }
.signature-copy > p { color: #d5e2ec; font-size: 15px; line-height: 1.8; }
.signature-duration { display: inline-block; font-size: 12px; color: #e1eaf1; border: 1px solid #70889b80; border-radius: 20px; padding: 7px 12px; margin-top: 8px; }
.signature-fare { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; border-top: 1px solid #72879855; margin-top: 24px; padding-top: 20px; }
.signature-fare small { display: block; color: #d5e2ec; font-size: 11px; }
.signature-fare strong { display: block; font: 400 34px/1.4 Georgia, serif; color: #f1d29b; }
.signature-fare > span { color: #d5e2ec; font-size: 12px; max-width: 145px; }
.signature-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 18px; margin-top: 22px; }
.signature-actions .primary { color: #102c48; background: #edc98d; border-color: #edc98d; }
.signature-actions .primary:hover { background: #f4d9ae; }
.signature-actions .text-button { color: #fff; }
.catalogue-controls { display: grid; grid-template-columns: 1.5fr 1fr 1.1fr 1.2fr; gap: 16px; padding: 22px; border: 1px solid #e3ddd1; border-radius: 14px; background: #fff; margin-top: 22px; }
.catalogue-controls .field { min-width: 0; }
.catalogue-controls input, .catalogue-controls select { width: 100%; }
.catalogue-status { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin: 10px 0 19px; }
.catalogue-status > p { font-size: 13px; color: #526475; margin: 0; }
.catalogue-status > div { display: flex; gap: 15px; }
.catalogue-status .text-button { font-size: 12px; }
.packages-section .package-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.packages-section .package-card { background: #fff; border-radius: 17px; border: 1px solid #e3ddd1; display: flex; flex-direction: column; box-shadow: 0 7px 24px #18334b08; overflow: hidden; }
.package-card-image { height: 235px; }
.package-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.package-card-image img[src="/photos/ranthambore.jpg"] { object-position: 50% 73%; }
.package-card-image img[src="/photos/mount-abu.jpg"] { object-position: 50% 65%; }
.package-card-body { padding: 25px; display: flex; flex-direction: column; flex: 1; }
.package-card-body h3 { font: 400 25px/1.25 Georgia, serif; color: #18334b; margin: 13px 0 12px; letter-spacing: -.45px; }
.package-card-body > p { margin: 0 0 16px; font-size: 14px; line-height: 1.7; }
.package-route-line { border-left: 2px solid #b58b4f; padding-left: 10px; color: #426177; font-size: 12px; line-height: 1.6; margin-bottom: 20px; }
.package-card-price { margin-top: auto; border-top: 1px solid #ece6dd; padding-top: 19px; align-items: flex-end; gap: 10px; }
.package-card-price strong { color: #173b59; font: 400 31px/1.35 Georgia, serif; }
.package-card-price small { font-size: 10px; letter-spacing: .5px; }
.package-card-price .package-distance { font-size: 11px; line-height: 1.8; }
.package-card-actions { display: flex; gap: 10px; justify-content: space-between; align-items: center; margin-top: 20px; }
.package-card-actions .primary { padding: 12px 14px; font-size: 13px; gap: 12px; }
.package-card-actions .text-button { font-size: 12px; }
.package-extras { display: block; color: #607182; font-size: 11px; line-height: 1.7; margin-top: 15px; }
.catalogue-empty { grid-column: 1 / -1; padding: 35px; text-align: center; background: #fff; border: 1px dashed #c9c0b1; border-radius: 14px; }
.catalogue-empty strong { display: block; font: 400 25px Georgia, serif; color: #18334b; }
.catalogue-empty p { font-size: 14px; color: #526475; }
.discover-section .section-heading h2, .stay-inspiration .section-heading h2 { font-size: 38px; }
html[lang="hi-IN"] .signature-copy h2, html[lang="hi-IN"] .package-card-body h3 { font-family: Arial, "Noto Sans Devanagari", "Nirmala UI", sans-serif; letter-spacing: 0; line-height: 1.4; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .package-card:hover .package-card-image img { transform: scale(1.045); }
  .package-card:hover { box-shadow: 0 12px 34px #18334b15; }
}
@media (max-width: 1100px) {
  .signature-copy { padding: 32px; }
  .signature-copy h2 { font-size: 34px; }
  .catalogue-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .packages-section .package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .signature-journey { grid-template-columns: 1fr; margin-top: 42px; border-radius: 16px; }
  .signature-visual { min-height: 285px; }
  .signature-copy { padding: 26px; }
  .signature-copy h2 { font-size: 32px; }
  .signature-fare > span { max-width: 120px; }
  .signature-tag { left: 20px; top: 20px; font-size: 10px; }
  .signature-place { left: 22px; right: 22px; bottom: 20px; font-size: 14px; }
  .catalogue-controls { padding: 17px; gap: 15px; }
  .catalogue-search { grid-column: 1 / -1; }
  .catalogue-controls .field:last-child { grid-column: 1 / -1; }
  .catalogue-status { flex-wrap: wrap; gap: 4px 14px; }
  .catalogue-status > div { margin-left: auto; }
  .packages-section .package-grid { grid-template-columns: 1fr; gap: 24px; }
  .package-card-image { height: 255px; }
  .package-card-body { padding: 24px; }
  .package-card-body h3 { font-size: 28px; }
  .package-card-body > p { font-size: 14px; }
  .package-card-price small, .package-card-price .package-distance, .package-extras { font-size: 12px; }
  .package-card-actions .primary, .package-card-actions .text-button { font-size: 13px; }
  .discover-section .section-heading h2, .stay-inspiration .section-heading h2 { font-size: 30px; }
  .royal-hero:after { inset: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .package-card-image img { transition: none; }
}
