/* Riad Bilkis - pages sejour : informations pratiques et diner marocain.
   Complete /gyg/activites.css (memes variables de palette). */

.rb-hero__eyebrow--dark { color: #8a5a3c; background: var(--rb-cream2); }

/* ---------- Chiffres cles ---------- */
.rb-facts { padding: 60px 0; background: #fff; }
.rb-facts--alt { background: var(--rb-cream); }
.rb-facts__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.rb-facts__grid--two { grid-template-columns: repeat(2, 1fr); max-width: 720px; margin: 0 auto 26px; }
@media (max-width: 860px) { .rb-facts__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .rb-facts__grid, .rb-facts__grid--two { grid-template-columns: 1fr; } }
.rb-fact {
  background: var(--rb-cream); border: 1px solid var(--rb-border); border-radius: 10px;
  padding: 20px 22px; text-align: center;
}
.rb-facts--alt .rb-fact { background: #fff; }
.rb-fact__label { display: block; text-transform: uppercase; letter-spacing: 1.6px; font-size: 11.5px; color: #8a7a6c; }
.rb-fact strong { display: block; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 26px; color: #8a5a3c; }
.rb-fact small { display: block; font-size: 14px; color: #5A4A38; }

/* ---------- Cartes de contenu ---------- */
.rb-split { padding: 64px 0; background: #fff; }
.rb-split__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.rb-split__grid--wide { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 992px) { .rb-split__grid--wide { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px) { .rb-split__grid, .rb-split__grid--wide { grid-template-columns: 1fr; } }
.rb-card {
  background: var(--rb-cream); border: 1px solid var(--rb-border); border-radius: 10px; padding: 26px 24px;
}
.rb-card h3 { font-size: 23px; color: #8a5a3c; }
.rb-card p { margin: 0; font-size: 16.5px; line-height: 1.75; color: #4A3B2C; }
.rb-card ul { margin: 8px 0 0; padding: 0; list-style: none; }
.rb-card li { position: relative; padding: 0 0 8px 20px; font-size: 16.5px; line-height: 1.7; color: #4A3B2C; }
.rb-card li:before { content: "•"; position: absolute; left: 3px; color: var(--rb-terra); font-weight: 700; }
.rb-card--check { max-width: 720px; margin: 0 auto; background: #fff; }

.rb-equip { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px 22px; }
@media (max-width: 860px) { .rb-equip { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .rb-equip { grid-template-columns: 1fr; } }
.rb-equip li { position: relative; padding: 0 0 0 26px; font-size: 16.5px; line-height: 1.7; }
.rb-equip li:before { content: "✓"; position: absolute; left: 0; color: var(--rb-terra); font-weight: 700; }

.rb-steps { margin: 0 auto; padding-left: 22px; max-width: 760px; }
.rb-steps li { padding-bottom: 10px; font-size: 16.5px; line-height: 1.7; }

/* ---------- Formules diner ---------- */
.rb-menus { padding: 64px 0; background: var(--rb-cream); }
.rb-menus__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
@media (max-width: 992px) { .rb-menus__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .rb-menus__grid { grid-template-columns: 1fr; } }
.rb-menu {
  display: flex; flex-direction: column; background: #fff; border: 1px solid var(--rb-border);
  border-radius: 10px; padding: 26px 22px; text-align: center;
}
.rb-menu__icon { font-size: 32px; }
.rb-menu h3 { font-size: 22px; color: #8a5a3c; margin: 10px 0 6px; }
.rb-menu p { font-size: 16px; line-height: 1.7; color: #4A3B2C; margin: 0 0 14px; flex: 1 1 auto; }
.rb-menu__price {
  font-family: 'Cormorant Garamond', Georgia, serif; font-size: 30px; color: var(--rb-terra); margin-bottom: 16px;
}
.rb-menu__price small { font-size: 13.5px; color: #5A4A38; font-family: 'Montserrat', sans-serif; }

/* ---------- Badges ---------- */
.rb-badges { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-bottom: 28px; }
.rb-badge {
  background: #fff; border: 1px solid var(--rb-border); border-radius: 30px; padding: 8px 16px; font-size: 13.5px;
}
.rb-badge strong { color: #8a5a3c; }

/* ---------- Formulaires ---------- */
.rb-form-section { padding: 64px 0; background: var(--rb-cream2); }
.rb-form {
  max-width: 900px; margin: 0 auto; background: #fff; border: 1px solid var(--rb-border);
  border-radius: 12px; padding: 30px 26px; box-shadow: 0 10px 30px rgba(61, 50, 41, .08);
}
.rb-form__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px 20px; }
@media (max-width: 640px) { .rb-form__grid { grid-template-columns: 1fr; } }
.rb-form label, .rb-form__full {
  display: block; font-size: 13px; text-transform: uppercase; letter-spacing: 1px; color: #5A4A38;
}
.rb-form__full { margin-top: 16px; }
.rb-form input, .rb-form select, .rb-form textarea {
  display: block; width: 100%; margin-top: 6px; padding: 11px 12px; font-family: inherit; font-size: 15px;
  color: var(--rb-ink); background: #fff; border: 1px solid var(--rb-border); border-radius: 6px; text-transform: none;
}
.rb-form input:focus, .rb-form select:focus, .rb-form textarea:focus { outline: 2px solid var(--rb-clay); border-color: var(--rb-clay); }
.rb-form__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.rb-form button.rb-btn { border: 0; cursor: pointer; font-family: inherit; }
.rb-form button[disabled] { opacity: .6; cursor: progress; }
.rb-form__status { margin: 14px 0 0; font-size: 15px; min-height: 22px; }
.rb-form__status--ok { color: #1f7a44; font-weight: 600; }
.rb-form__status--err { color: #b23b2b; font-weight: 600; }
.rb-form__note { margin: 10px 0 0; font-size: 13.5px; color: #5A4A38; }
.rb-total {
  margin-top: 18px; padding: 14px 18px; background: var(--rb-cream); border: 1px dashed var(--rb-clay);
  border-radius: 8px; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 22px; color: #8a5a3c;
}

/* ---------- Reglement interieur ---------- */
.rb-rules { padding: 64px 0; background: #fff; }
.rb-rules__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 860px) { .rb-rules__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .rb-rules__grid { grid-template-columns: 1fr; } }
.rb-rule { background: var(--rb-cream); border: 1px solid var(--rb-border); border-left: 4px solid var(--rb-clay); border-radius: 10px; padding: 22px 20px; }
.rb-rule__icon { font-size: 26px; }
.rb-rule h3 { font-size: 20px; margin: 8px 0 6px; color: #8a5a3c; }
.rb-rule p { margin: 0; font-size: 16px; line-height: 1.7; color: #4A3B2C; }
.rb-rule--green { border-left-color: #4f8a5b; }
.rb-rule--orange { border-left-color: #d08a3a; }
.rb-rule--purple { border-left-color: #7a5a9a; }
.rb-rule--blue { border-left-color: #3f6f9a; }
.rb-rule--red { border-left-color: #b23b2b; }

/* ---------- FAQ ---------- */
.rb-faq { padding: 64px 0; background: var(--rb-cream); }
.rb-faq__list { max-width: 860px; margin: 0 auto; }
.rb-faq__item { background: #fff; border: 1px solid var(--rb-border); border-radius: 8px; margin-bottom: 12px; padding: 16px 20px; }
.rb-faq__item summary { cursor: pointer; font-weight: 600; font-size: 16.5px; color: #8a5a3c; }
.rb-faq__item p { margin: 12px 0 0; font-size: 16.5px; line-height: 1.75; color: #4A3B2C; }
