@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');

:root {
  --gr-ink: #172326;
  --gr-muted: #687477;
  --gr-paper: #fbfaf7;
  --gr-white: #fff;
  --gr-line: #e8e7e2;
  --gr-accent: #b3764f;
  --gr-accent-dark: #8d5738;
  --gr-moss: #586b5d;
}
html { scroll-behavior: smooth; }
body.gr-site { margin: 0; background: var(--gr-paper); color: var(--gr-ink); font-family: "DM Sans", Inter, sans-serif; -webkit-font-smoothing: antialiased; }
.gr-shell { width: min(1200px, calc(100% - 48px)); margin: 0 auto; }
.gr-header { position: sticky; top: 0; z-index: 100; background: rgba(251,250,247,.94); border-bottom: 1px solid rgba(23,35,38,.08); backdrop-filter: blur(14px); }
.gr-header-inner { height: 76px; display: flex; align-items: center; justify-content: space-between; }
.gr-brand { color: var(--gr-ink); display: inline-flex; flex-direction: column; text-decoration: none; line-height: 1; }
.gr-brand-name { font-family: "Playfair Display", Georgia, serif; font-size: 25px; font-weight: 600; letter-spacing: -.6px; }
.gr-brand-caption { color: #8b9290; font-size: 8px; letter-spacing: 2px; font-weight: 700; margin-top: 7px; }
.gr-nav { display: flex; gap: 34px; align-items: center; }
.gr-nav a, .gr-mobile-menu a { color: #455255; font-size: 13px; font-weight: 600; text-decoration: none; transition: color .2s; }
.gr-nav a:hover, .gr-mobile-menu a:hover { color: var(--gr-accent-dark); }
.gr-header-actions { display: flex; align-items: center; gap: 12px; }
.gr-language { position: relative; color: var(--gr-ink); }
.gr-language summary { display: flex; align-items: center; gap: 5px; cursor: pointer; list-style: none; font-size: 10px; font-weight: 700; letter-spacing: 1px; }
.gr-language summary::-webkit-details-marker { display: none; }
.gr-language summary span { color: var(--gr-accent-dark); font-size: 14px; }
.gr-language-menu { position: absolute; top: calc(100% + 15px); right: 0; z-index: 120; display: grid; grid-template-columns: 1fr 1fr; gap: 2px; min-width: 180px; padding: 8px; border: 1px solid var(--gr-line); border-radius: 4px; background: #fff; box-shadow: 0 12px 30px rgba(23,35,38,.12); }
.gr-language-menu a { padding: 8px 9px; color: #455255; font-size: 11px; text-decoration: none; border-radius: 3px; }
.gr-language-menu a:hover, .gr-language-menu a.is-current { color: var(--gr-accent-dark); background: #f5eee8; }
html[dir="rtl"] .gr-intro-row, html[dir="rtl"] .gr-section-heading, html[dir="rtl"] .gr-card-meta, html[dir="rtl"] .gr-card-bottom, html[dir="rtl"] .gr-footer-bottom { direction: rtl; }
html[dir="rtl"] .gr-language-menu { right: auto; left: 0; }
.gr-header-cta { color: #fff; background: var(--gr-ink); padding: 12px 17px; border-radius: 3px; font-size: 12px; font-weight: 700; letter-spacing: .2px; text-decoration: none; transition: background .2s; }
.gr-header-cta:hover { background: var(--gr-accent-dark); color: #fff; }
.gr-header-cta span { margin-left: 8px; font-size: 15px; }
.gr-menu-toggle { display: none; border: 0; background: transparent; color: var(--gr-ink); padding: 8px; }
.gr-mobile-menu { display: none; padding: 10px 24px 20px; border-top: 1px solid var(--gr-line); }
.gr-mobile-menu:not(.hidden) { display: flex; flex-direction: column; gap: 16px; }
.gr-intro { padding: 52px 0 28px; }
.gr-eyebrow, .gr-kicker { color: var(--gr-accent-dark); font-size: 10px; font-weight: 700; letter-spacing: 2.2px; }
.gr-eyebrow { display: flex; align-items: center; gap: 10px; }
.gr-eyebrow span { height: 1px; width: 26px; background: var(--gr-accent); }
.gr-intro-row { display: flex; align-items: end; justify-content: space-between; gap: 36px; padding-top: 18px; }
.gr-intro h1 { margin: 0; color: var(--gr-ink); font-family: "Playfair Display", Georgia, serif; font-size: clamp(42px, 5.3vw, 68px); font-weight: 500; line-height: .99; letter-spacing: -2px; }
.gr-intro h1 em { color: var(--gr-accent-dark); font-weight: 500; }
.gr-intro-row p { max-width: 470px; margin: 17px 0 0; color: var(--gr-muted); font-size: 15px; line-height: 1.7; }
.gr-text-link { display: inline-flex; align-items: center; gap: 12px; flex: 0 0 auto; padding: 0 0 8px; color: var(--gr-ink); font-size: 12px; font-weight: 700; text-decoration: none; border-bottom: 1px solid #b7b9b4; }
.gr-text-link span { color: var(--gr-accent-dark); font-size: 17px; }
.gr-intro-note { display: flex; align-items: center; gap: 12px; margin-top: 29px; padding-top: 16px; border-top: 1px solid var(--gr-line); color: #727d7d; font-size: 10px; font-weight: 600; letter-spacing: .3px; }
.gr-note-dot { width: 3px; height: 3px; background: var(--gr-accent); border-radius: 50%; }
.gr-tours-section { padding: 30px 0 76px; }
.gr-section-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 22px; }
.gr-section-heading .gr-kicker { margin: 0 0 8px; }
.gr-section-heading h2, .gr-archive-head h1 { margin: 0; font-family: "Playfair Display", Georgia, serif; font-size: 32px; font-weight: 500; letter-spacing: -.7px; }
.gr-count { color: #7b8584; font-size: 11px; }
.gr-tour-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.gr-tour-card { overflow: hidden; background: #fff; border: 1px solid #e9e7e1; border-radius: 5px; transition: transform .25s, box-shadow .25s; }
.gr-tour-card:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(23,35,38,.09); }
.gr-card-image { position: relative; display: block; overflow: hidden; aspect-ratio: 1.38 / 1; background: #d9dfda; }
.gr-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.gr-tour-card:hover .gr-card-image img { transform: scale(1.04); }
.gr-card-placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: #fff; font: 500 24px "Playfair Display", Georgia, serif; background: linear-gradient(135deg,#4c686c,#b3764f); }
.gr-card-badge { position: absolute; top: 13px; left: 13px; background: #fff; color: var(--gr-accent-dark); padding: 7px 9px; border-radius: 2px; font-size: 9px; text-transform: uppercase; font-weight: 700; letter-spacing: .8px; }
.gr-card-arrow { position: absolute; right: 13px; bottom: 13px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: var(--gr-ink); background: #fff; font-size: 17px; transition: color .2s, background .2s; }
.gr-tour-card:hover .gr-card-arrow { color: #fff; background: var(--gr-ink); }
.gr-card-body { padding: 17px 18px 16px; }
.gr-card-meta { display: flex; justify-content: space-between; gap: 12px; color: #78817f; font-size: 10px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; }
.gr-rating { color: #bd884e; white-space: nowrap; letter-spacing: 0; text-transform: none; }
.gr-rating small { color: #8b9491; margin-left: 3px; font-size: 9px; }
.gr-card-body h3 { min-height: 48px; margin: 11px 0 7px; font-family: "Playfair Display", Georgia, serif; font-size: 20px; font-weight: 600; line-height: 1.2; letter-spacing: -.2px; }
.gr-card-body h3 a { color: var(--gr-ink); text-decoration: none; }
.gr-card-body h3 a:hover { color: var(--gr-accent-dark); }
.gr-card-description { min-height: 37px; margin: 0; color: var(--gr-muted); font-size: 11px; line-height: 1.6; }
.gr-card-facts { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 15px; padding-bottom: 14px; border-bottom: 1px solid #eeede8; }
.gr-card-facts span { display: inline-flex; align-items: center; gap: 6px; color: #596566; font-size: 10px; }
.gr-card-facts svg { width: 13px; height: 13px; color: var(--gr-accent); }
.gr-card-bottom { display: flex; align-items: end; justify-content: space-between; gap: 12px; padding-top: 13px; }
.gr-card-bottom div { display: flex; align-items: baseline; gap: 4px; }
.gr-card-bottom small { color: #89918e; font-size: 9px; }
.gr-card-bottom strong { color: var(--gr-ink); font-family: "Playfair Display", Georgia, serif; font-size: 23px; font-weight: 600; }
.gr-card-bottom a { color: var(--gr-ink); font-size: 10px; font-weight: 700; text-decoration: none; }
.gr-card-bottom a span { margin-left: 4px; color: var(--gr-accent-dark); font-size: 15px; }
.gr-trust { padding: 24px 0; border-top: 1px solid var(--gr-line); border-bottom: 1px solid var(--gr-line); background: #f4f2ed; }
.gr-trust-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.gr-trust-row > div { display: grid; grid-template-columns: 34px 1fr; column-gap: 10px; align-items: center; }
.gr-trust-mark { grid-row: span 2; color: var(--gr-accent-dark); font-family: "Playfair Display", Georgia, serif; font-size: 17px; }
.gr-trust-row strong { color: #293638; font-size: 11px; }
.gr-trust-row small { margin-top: 3px; color: #76817f; font-size: 9px; line-height: 1.4; }
.gr-archive-head { padding: 58px 0 24px; }
.gr-archive-head .gr-kicker { margin: 0 0 9px; }
.gr-archive-head h1 { font-size: 42px; }
.gr-archive-head p:last-child { color: var(--gr-muted); font-size: 13px; }
.gr-archive-list { padding-top: 20px; }
.gr-filter-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.gr-filter-row a { padding: 8px 13px; border: 1px solid var(--gr-line); border-radius: 30px; color: #5c6969; font-size: 10px; text-decoration: none; }
.gr-filter-row a.is-active, .gr-filter-row a:hover { color: #fff; background: var(--gr-ink); border-color: var(--gr-ink); }
.gr-empty { padding: 70px 0; color: var(--gr-muted); text-align: center; }
.gr-footer { color: #dbe0dd; background: #192628; }
.gr-footer-main { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 50px; padding-top: 48px; padding-bottom: 40px; }
.gr-brand-footer { color: #fff; }
.gr-brand-footer .gr-brand-caption { color: #b6c0ba; }
.gr-footer-brand p { max-width: 280px; margin: 15px 0 0; color: #aab5b1; font-size: 12px; line-height: 1.7; }
.gr-footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.gr-footer-links strong { margin-bottom: 5px; color: #fff; font-size: 11px; }
.gr-footer-links a { color: #adb8b4; font-size: 11px; text-decoration: none; }
.gr-footer-links a:hover { color: #fff; }
.gr-footer-bottom { display: flex; justify-content: space-between; gap: 16px; padding: 17px 0 20px; border-top: 1px solid rgba(255,255,255,.13); color: #91a09a; font-size: 9px; }
.gr-whatsapp { position: fixed; right: 20px; bottom: 20px; z-index: 90; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #39785c; box-shadow: 0 8px 24px rgba(0,0,0,.16); }
.gr-whatsapp svg { width: 21px; height: 21px; }
body.single-tour main { padding-top: 35px; }
body.single-tour main > div { max-width: 1180px; }
body.single-tour h1, body.single-tour h2 { font-family: "Playfair Display", Georgia, serif; font-weight: 500; }
body.single-tour #booking-card { border: 1px solid var(--gr-line); border-radius: 5px; box-shadow: 0 15px 40px rgba(23,35,38,.08); }
body.single-tour #booking-card > div:first-child { background: #f4f2ed; }
body.single-tour .btn-primary { background: var(--gr-ink); border-radius: 3px; }
body.single-tour .btn-primary:hover { background: var(--gr-accent-dark); }
body.single-tour .rounded-2xl { border-radius: 5px; }
body.single-tour .rounded-xl { border-radius: 4px; }
body.single-tour .shadow-sm, body.single-tour .shadow-lg, body.single-tour .shadow-xl { box-shadow: 0 9px 24px rgba(23,35,38,.07); }
body.single-tour .text-primary-500, body.single-tour .text-primary-600 { color: var(--gr-accent-dark); }
body.single-tour .bg-primary-500 { background: var(--gr-ink); }
body.single-tour .bg-primary-50 { background: #f5eee8; }
body.single-tour .ring-primary-200 { --tw-ring-color: #dfc7b6; }
body.single-tour .border-primary-300 { border-color: #c6a48d; }
@media (max-width: 900px) {
  .gr-tour-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .gr-card-body { padding: 15px; }
  .gr-card-body h3 { font-size: 18px; }
}
@media (max-width: 640px) {
  .gr-shell { width: min(100% - 32px, 520px); }
  .gr-header-inner { height: 66px; }
  .gr-brand-name { font-size: 23px; }
  .gr-nav { display: none; }
  .gr-menu-toggle { display: grid; place-items: center; }
  .gr-mobile-menu:not(.hidden) { display: flex; flex-direction: column; gap: 16px; }
  .gr-intro { padding: 39px 0 18px; }
  .gr-intro-row { display: block; padding-top: 15px; }
  .gr-intro h1 { font-size: 48px; }
  .gr-intro-row p { max-width: 420px; margin-top: 13px; font-size: 13px; }
  .gr-text-link { margin-top: 16px; }
  .gr-intro-note { gap: 8px; margin-top: 21px; font-size: 8px; }
  .gr-tours-section { padding: 25px 0 48px; }
  .gr-section-heading h2 { font-size: 27px; }
  .gr-tour-grid { grid-template-columns: 1fr; gap: 15px; }
  .gr-card-image { aspect-ratio: 1.6 / 1; }
  .gr-card-body h3 { min-height: 0; }
  .gr-card-description { min-height: 0; }
  .gr-trust-row { grid-template-columns: 1fr; gap: 18px; }
  .gr-footer-main { grid-template-columns: 1fr 1fr; gap: 30px 20px; padding-top: 36px; }
  .gr-footer-brand { grid-column: 1 / -1; }
  .gr-footer-bottom { flex-direction: column; }
  .gr-archive-head { padding-top: 40px; }
}

