/* Riad Bilkis - pages activites / excursions (GetYourGuide)
   Palette et typographie reprises du theme Astra du site riadbilkis.com. */

:root {
  --rb-terra: #C75B39;
  --rb-clay: #C88B6A;
  --rb-ink: #3D3229;
  --rb-cream: #FBF7F2;
  --rb-cream2: #F5EDE4;
  --rb-border: #E6D3C4;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: #fff;
  color: var(--rb-ink);
  font-family: 'Raleway', system-ui, -apple-system, sans-serif;
  font-size: 16px;
  line-height: 1.65;
}

h1, h2, h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 600;
  letter-spacing: .5px;
  margin: 0 0 14px;
}

a { color: var(--rb-terra); }

.rb-container { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 20px; }

/* ---------- Barre de navigation ---------- */
.rb-nav {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255, 255, 255, .97);
  border-bottom: 1px solid var(--rb-border);
}
.rb-nav__inner { display: flex; align-items: center; gap: 18px; padding: 14px 20px; max-width: 1180px; margin: 0 auto; }
.rb-nav__brand {
  font-family: 'Cormorant Garamond', Georgia, serif; font-size: 22px;
  color: var(--rb-ink); text-decoration: none; letter-spacing: 1px; margin-right: auto;
}
.rb-nav__links { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.rb-nav__links a {
  font-size: 13px; text-transform: uppercase; letter-spacing: 1.2px;
  color: var(--rb-ink); text-decoration: none;
}
.rb-nav__links a:hover { color: var(--rb-terra); }
.rb-nav__book {
  background: var(--rb-terra); color: #fff !important; padding: 10px 18px; border-radius: 4px;
  font-weight: 700;
}
.rb-nav__lang { display: flex; gap: 8px; }
.rb-nav__lang a { padding: 4px 6px; border: 1px solid var(--rb-border); border-radius: 3px; font-size: 12px; }
.rb-nav__lang a[aria-current="page"] { background: var(--rb-cream2); border-color: var(--rb-clay); }
@media (max-width: 860px) {
  .rb-nav__links a:not(.rb-nav__book) { display: none; }
  .rb-nav__lang { display: flex; }
}

/* ---------- Hero ---------- */
.rb-hero { position: relative; min-height: 52vh; display: flex; align-items: center; text-align: center; color: #fff; overflow: hidden; }
.rb-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; z-index: 0; }
.rb-hero__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(40, 24, 14, .40) 0%, rgba(40, 24, 14, .78) 100%); z-index: 1; }
.rb-hero__content { position: relative; z-index: 2; padding: 90px 0 70px; width: 100%; }
.rb-hero__eyebrow {
  display: inline-block; text-transform: uppercase; letter-spacing: 3px; font-size: 12px;
  color: #F3DFC8; background: rgba(0, 0, 0, .25); padding: 6px 16px; border-radius: 30px; margin-bottom: 18px;
}
.rb-hero h1 { font-size: clamp(34px, 6vw, 62px); color: #fff; margin: 0 0 14px; line-height: 1.05; }
.rb-hero p { font-size: clamp(15px, 2vw, 19px); max-width: 760px; margin: 0 auto 26px; color: #F5EAE0; }
.rb-hero__meta { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-bottom: 26px; }
.rb-hero__badge { background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .28); padding: 7px 15px; border-radius: 24px; font-size: 13.5px; }

/* ---------- Boutons ---------- */
.rb-btn {
  display: inline-flex; align-items: center; gap: 8px; text-decoration: none;
  text-transform: uppercase; letter-spacing: 1.5px; font-size: 13.5px; font-weight: 700;
  padding: 14px 28px; border-radius: 4px; transition: transform .2s, box-shadow .2s, background .2s;
}
.rb-btn:hover { transform: translateY(-2px); text-decoration: none; }
.rb-btn--primary { background: var(--rb-terra); color: #fff !important; }
.rb-btn--primary:hover { background: #a8492c; }
.rb-btn--light { background: #fff; color: var(--rb-terra) !important; }
.rb-btn--outline { background: transparent; color: var(--rb-ink) !important; border: 2px solid var(--rb-clay); }
.rb-btn--wa { background: #25d366; color: #fff !important; }
.rb-btn--mail { background: transparent; color: #fff !important; border: 2px solid rgba(255, 255, 255, .5); }

/* ---------- Comparaison groupe / prive ---------- */
.rb-compare { padding: 70px 0 50px; background: var(--rb-cream); }
.rb-section-head { text-align: center; max-width: 820px; margin: 0 auto 38px; }
.rb-section-head h2 { font-size: clamp(28px, 3.6vw, 40px); }
.rb-section-head p { color: #6f6257; margin: 0; }
.rb-compare__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; max-width: 1000px; margin: 0 auto; }
@media (max-width: 768px) { .rb-compare__grid { grid-template-columns: 1fr; } }
.rb-option { background: #fff; border: 1px solid var(--rb-border); border-radius: 10px; padding: 30px 26px; }
.rb-option--group { background: var(--rb-cream2); border-color: var(--rb-clay); }
.rb-option h3 { font-size: 26px; color: #8a5a3c; }
.rb-option ul { list-style: none; margin: 0 0 22px; padding: 0; }
.rb-option li { position: relative; padding: 0 0 10px 22px; font-size: 15px; }
.rb-option li:before { content: "•"; position: absolute; left: 4px; color: var(--rb-terra); font-weight: 700; }

/* ---------- Widget GetYourGuide ---------- */
.rb-widget-section { padding: 20px 0 60px; background: var(--rb-cream); }
.rb-widget { max-width: 1160px; margin: 0 auto; min-height: 60px; }
.rb-fallback {
  max-width: 900px; margin: 0 auto; text-align: center; background: #fff;
  border: 1px solid var(--rb-clay); border-radius: 10px; padding: 30px 24px;
}

/* ---------- Banniere ---------- */
.rb-banner { background: linear-gradient(135deg, #8a5a3c 0%, var(--rb-clay) 100%); padding: 56px 0; color: #fff; text-align: center; }
.rb-banner h2 { color: #fff; font-size: clamp(26px, 4vw, 42px); }
.rb-banner p { color: #F7ECE1; margin: 0 auto 26px; max-width: 720px; }

/* ---------- Themes ---------- */
.rb-themes { padding: 60px 0 70px; background: #fff; }
.rb-themes__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
@media (max-width: 992px) { .rb-themes__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .rb-themes__grid { grid-template-columns: 1fr; } }
.rb-theme {
  display: flex; flex-direction: column; background: var(--rb-cream);
  border: 1px solid var(--rb-border); border-radius: 10px; padding: 24px 20px;
  text-decoration: none; color: inherit; transition: transform .3s, box-shadow .3s;
}
.rb-theme:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(0, 0, 0, .1); color: inherit; }
.rb-theme__icon { font-size: 30px; margin-bottom: 10px; }
.rb-theme h3 { font-size: 22px; color: #8a5a3c; margin-bottom: 8px; }
.rb-theme p { font-size: 14.5px; color: #6f6257; margin: 0 0 14px; flex: 1 1 auto; }
.rb-theme__cta { font-weight: 700; font-size: 13px; color: var(--rb-terra); border-bottom: 2px solid var(--rb-terra); padding-bottom: 2px; align-self: flex-start; }

/* ---------- Aide + mention affiliation ---------- */
.rb-help { padding: 0 0 70px; background: #fff; }
.rb-help__inner {
  max-width: 960px; margin: 0 auto; background: linear-gradient(135deg, #3D3229 0%, #5a4433 100%);
  border-radius: 12px; padding: 44px 34px; text-align: center; color: #fff;
  box-shadow: 0 14px 44px rgba(61, 50, 41, .3);
}
.rb-help__inner h2 { color: #fff; font-size: clamp(26px, 3.4vw, 36px); }
.rb-help__inner p { color: #F0E4D8; max-width: 680px; margin: 0 auto 26px; }
.rb-help__actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
.rb-disclosure { max-width: 960px; margin: 26px auto 0; font-size: 13.5px; color: #7a6f66; text-align: center; }

/* ---------- Pied de page ---------- */
.rb-footer { background: var(--rb-ink); color: #F0E4D8; padding: 46px 0; text-align: center; }
.rb-footer a { color: #F3DFC8; }
.rb-footer__brand { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 26px; letter-spacing: 1px; margin-bottom: 10px; }
.rb-footer p { margin: 6px 0; font-size: 14.5px; }
