/* ═══════════════════════════════════════════════════════════
   Reserv-O — Presets
   Chaque preset surcharge les CSS variables de frontend.css.
   Peut être surchargé par les contrôles Elementor (style tab).
   ═══════════════════════════════════════════════════════════ */

/* ── Desert ─────────────────────────────────────────────────── */
.reservo-form--desert {
  --rf-primary:     #9E1F2D;
  --rf-secondary:   #D7AE6A;
  --rf-accent:      #0D1B3D;
  --rf-text:        #2F2C29;
  --rf-muted:       rgba(47,44,41,.52);
  --rf-bg:          #F5F0E3;
  --rf-surface:     #F5F0E3;
  --rf-border:      rgba(215,174,106,.32);
  --rf-focus-ring:  rgba(158,31,45,.14);

  background: var(--rf-surface);
  border: 1px solid rgba(215,174,106,.35);
}
/* Desert: cards et surfaces blanches semi-transparentes sur le fond sable */
.reservo-form--desert .reservo-choice-card__inner { background: rgba(255,255,255,.72); }
.reservo-form--desert .reservo-choice-card:hover .reservo-choice-card__inner { background: rgba(255,255,255,.9); }
.reservo-form--desert .reservo-calendar { background: rgba(255,255,255,.72); }
.reservo-form--desert .reservo-calendar__header,
.reservo-form--desert .reservo-calendar__legend { background: rgba(255,255,255,.4); }
.reservo-form--desert .reservo-field__input,
.reservo-form--desert .reservo-field input,
.reservo-form--desert .reservo-field select,
.reservo-form--desert .reservo-field textarea { background: rgba(255,255,255,.8); }
.reservo-form--desert .reservo-summary { background: rgba(245,240,227,.9); }
.reservo-form--desert .reservo-stepper__dot { background: rgba(245,240,227,.8); }
.reservo-form--desert .reservo-actions { border-top-color: rgba(215,174,106,.22); }
.reservo-form--desert .reservo-fieldset { background: rgba(255,255,255,.5); }

/* ── Premium ─────────────────────────────────────────────────── */
.reservo-form--premium {
  --rf-secondary: #D7AE6A;
  --rf-border:    rgba(215,174,106,.35);

  border: 1.5px solid rgba(215,174,106,.45);
  box-shadow: 0 2px 8px rgba(215,174,106,.12), 0 12px 48px rgba(0,0,0,.08);
}
.reservo-form--premium .reservo-button-primary {
  background: linear-gradient(135deg, #9E1F2D 0%, #7a1723 100%);
  box-shadow: 0 4px 16px rgba(158,31,45,.28);
}
.reservo-form--premium .reservo-choice-card:has(input:checked) .reservo-choice-card__inner {
  box-shadow: 0 0 0 3px rgba(215,174,106,.35), 0 4px 16px rgba(158,31,45,.1);
}

/* ── Minimal ─────────────────────────────────────────────────── */
.reservo-form--minimal {
  padding: 0;
  box-shadow: none;
  border-radius: 0;
  background: transparent;
  border: none;
}
.reservo-form--minimal .reservo-actions { border-top-color: transparent; padding-top: 16px; }
.reservo-form--minimal .reservo-calendar { border-radius: 0; }

/* ── Dark ────────────────────────────────────────────────────── */
.reservo-form--dark {
  --rf-primary:     #c8485a;
  --rf-secondary:   #D7AE6A;
  --rf-accent:      #f0e8df;
  --rf-text:        #e8e0d5;
  --rf-muted:       rgba(232,224,213,.48);
  --rf-bg:          #1a1614;
  --rf-surface:     #232020;
  --rf-border:      rgba(255,255,255,.1);
  --rf-focus-ring:  rgba(200,72,90,.22);

  background: var(--rf-surface);
  color: var(--rf-text);
  box-shadow: 0 1px 4px rgba(0,0,0,.25), 0 8px 40px rgba(0,0,0,.35);
}

/* Dark: cards */
.reservo-form--dark .reservo-choice-card__inner {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.1);
}
.reservo-form--dark .reservo-choice-card:hover .reservo-choice-card__inner {
  background: rgba(255,255,255,.08);
  border-color: rgba(200,72,90,.4);
}
.reservo-form--dark .reservo-choice-card:has(input:checked) .reservo-choice-card__inner {
  background: rgba(200,72,90,.1);
  border-color: var(--rf-primary);
}

/* Dark: champs */
.reservo-form--dark .reservo-field__input,
.reservo-form--dark .reservo-field input,
.reservo-form--dark .reservo-field select,
.reservo-form--dark .reservo-field textarea {
  background: rgba(255,255,255,.06);
  color: var(--rf-text);
  border-color: rgba(255,255,255,.1);
}
.reservo-form--dark .reservo-field__input::placeholder,
.reservo-form--dark .reservo-field input::placeholder,
.reservo-form--dark .reservo-field textarea::placeholder { color: rgba(232,224,213,.28); }
.reservo-form--dark .reservo-field__input:focus,
.reservo-form--dark .reservo-field input:focus,
.reservo-form--dark .reservo-field select:focus,
.reservo-form--dark .reservo-field textarea:focus {
  background: rgba(255,255,255,.09);
  border-color: var(--rf-primary);
}

/* Dark: calendrier */
.reservo-form--dark .reservo-calendar {
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.1);
}
.reservo-form--dark .reservo-calendar__header { border-bottom-color: rgba(255,255,255,.07); }
.reservo-form--dark .reservo-calendar__legend { background: rgba(255,255,255,.03); border-bottom-color: rgba(255,255,255,.06); }
.reservo-form--dark .reservo-calendar-day { color: var(--rf-text); }
.reservo-form--dark .reservo-calendar-day.is-other-month { opacity: .2; }
.reservo-form--dark .reservo-calendar-day:not(:disabled):not(.is-other-month):hover { background: rgba(255,255,255,.08); }
.reservo-form--dark .reservo-calendar__nav-btn {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.1);
  color: var(--rf-text);
}
.reservo-form--dark .reservo-calendar__nav-btn:hover { background: rgba(200,72,90,.12); border-color: var(--rf-primary); }

/* Dark: stepper */
.reservo-form--dark .reservo-stepper__dot { background: var(--rf-surface); border-color: rgba(255,255,255,.18); }
.reservo-form--dark .reservo-stepper__track { background: rgba(255,255,255,.1); }

/* Dark: récap & consents */
.reservo-form--dark .reservo-summary { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.1); }
.reservo-form--dark .reservo-check__box { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); }
.reservo-form--dark .reservo-fieldset { border-color: rgba(255,255,255,.1); }
.reservo-form--dark .reservo-actions { border-top-color: rgba(255,255,255,.08); }

/* Dark: fixed dates */
.reservo-form--dark .reservo-fixed-dates {
  background: rgba(215,174,106,.07);
  border-color: rgba(215,174,106,.2);
}
.reservo-form--dark .reservo-fixed-dates__eyebrow { color: rgba(232,224,213,.45); }
.reservo-form--dark .reservo-fixed-dates__value { color: var(--rf-text); }

/* ── Experience widgets ─────────────────────────────────────── */
/* Spécificité (0,2,0) pour surcharger les defaults frontend.css (0,1,0)
   et résister au CSS Elementor si aucune valeur n'est explicitement sauvegardée. */

.reservo-experiences-widget.reservo-experiences-widget--desert {
  --re-primary:           #9E1F2D;
  --re-secondary:         #D7AE6A;
  --re-accent:            #0D1B3D;
  --re-text:              #2F2C29;
  --re-muted:             #716d68;
  --re-surface:           #fff;
  --re-background:        #F5F0E3;
  --re-border:            rgba(215,174,106,.38);
  --re-badge-bg:          #F8F1EF;
  --re-badge-border:      rgba(158,31,45,.12);
  --re-card-bg:           #fff;
  --re-card-border-color: rgba(215,174,106,.35);
  --re-card-shadow:       0 2px 12px rgba(47,44,41,.06);
  --re-card-hover-shadow: 0 10px 32px rgba(47,44,41,.13);
  --re-card-hover-border-color: rgba(158,31,45,.3);
  --re-modal-border-radius: 18px;
  --re-arrow-bg:          rgba(255,255,255,.95);
  --re-arrow-color:       #9E1F2D;
}

.reservo-experiences-widget.reservo-experiences-widget--premium {
  --re-primary:           #8F1927;
  --re-secondary:         #C99B4A;
  --re-accent:            #151515;
  --re-text:              #302D2A;
  --re-muted:             #6D6862;
  --re-surface:           #fff;
  --re-background:        #F7F4EE;
  --re-border:            rgba(201,155,74,.38);
  --re-badge-bg:          #F7F0E2;
  --re-badge-border:      rgba(201,155,74,.4);
  --re-radius:            6px;
  --re-card-bg:           #fff;
  --re-card-border-color: rgba(201,155,74,.3);
  --re-card-shadow:       0 12px 34px rgba(31,25,20,.08);
  --re-card-hover-shadow: 0 16px 40px rgba(31,25,20,.15);
  --re-card-hover-border-color: #C99B4A;
  --re-btn-primary-bg:    linear-gradient(135deg,#8F1927 0%,#6e1320 100%);
  --re-btn-primary-hover-bg: linear-gradient(135deg,#6e1320 0%,#55101b 100%);
  --re-modal-border-radius: 16px;
  --re-arrow-bg:          #fff;
  --re-arrow-color:       #8F1927;
}
.reservo-experiences-widget.reservo-experiences-widget--premium .reservo-experience-card {
  box-shadow: var(--re-card-shadow);
}

.reservo-experiences-widget.reservo-experiences-widget--minimal {
  --re-primary:           #202020;
  --re-secondary:         #777;
  --re-accent:            #111;
  --re-text:              #292929;
  --re-muted:             #686868;
  --re-surface:           #fff;
  --re-background:        #f7f7f7;
  --re-border:            #dedede;
  --re-radius:            0;
  --re-badge-bg:          transparent;
  --re-card-bg:           #fff;
  --re-card-border-color: #dedede;
  --re-card-border-width: 0;
  --re-card-shadow:       none;
  --re-card-hover-shadow: none;
  --re-card-hover-transform: none;
  --re-btn-primary-radius:   0;
  --re-btn-secondary-radius: 0;
  --re-modal-border-radius:  0;
  --re-arrow-bg:          transparent;
  --re-arrow-color:       #202020;
}
.reservo-experiences-widget.reservo-experiences-widget--minimal .reservo-experience-card {
  border-width: 0 0 1px;
  box-shadow: none;
}
.reservo-experiences-widget.reservo-experiences-widget--minimal .reservo-experience-card:hover {
  box-shadow: none;
  transform: none;
}

.reservo-experiences-widget.reservo-experiences-widget--dark {
  --re-primary:           #D65A6C;
  --re-secondary:         #D7AE6A;
  --re-accent:            #F4EDE5;
  --re-text:              #E8E0D8;
  --re-muted:             #B6AAA0;
  --re-surface:           #24201F;
  --re-background:        #181514;
  --re-border:            rgba(255,255,255,.12);
  --re-badge-bg:          rgba(255,255,255,.06);
  --re-badge-border:      rgba(255,255,255,.12);
  --re-button-hover-bg:   #B94354;
  --re-modal-bg:          #24201F;
  --re-card-bg:           #2c2827;
  --re-card-border-color: rgba(255,255,255,.1);
  --re-card-shadow:       0 10px 30px rgba(0,0,0,.22);
  --re-card-hover-shadow: 0 16px 40px rgba(0,0,0,.35);
  --re-card-hover-border-color: rgba(214,90,108,.4);
  --re-modal-close-bg:    rgba(30,27,26,.85);
  --re-modal-close-color: #E8E0D8;
  --re-modal-border-radius: 16px;
  --re-arrow-bg:          rgba(36,32,31,.9);
  --re-arrow-color:       #D65A6C;
}
.reservo-experiences-widget.reservo-experiences-widget--dark .reservo-experience-card {
  box-shadow: var(--re-card-shadow);
}
