/* ============================================================
   RTG — Base commune Corporate + HPA
   ============================================================ */

@font-face {
  font-family: "Anton";
  src: url("../fonts/Anton-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/montserrat-variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --rtg-font-display: "Anton", sans-serif;
  --rtg-font-body: "Montserrat", sans-serif;

  --rtg-container-max: 1440px;
  --rtg-container-text: 860px;
  --rtg-container-pad: clamp(20px, 4vw, 64px);

  --rtg-space-1: 12px;
  --rtg-space-2: 16px;
  --rtg-space-3: 24px;
  --rtg-space-4: 32px;
  --rtg-space-5: 48px;
  --rtg-space-6: 72px;
  --rtg-space-7: 96px;
  --rtg-space-8: 140px;

  --rtg-header-height: 90px;

  --rtg-btn-radius: 999px;
  --rtg-btn-pad-y: 16px;
  --rtg-btn-pad-x: 28px;

  --rtg-transition-fast: 180ms ease;
  --rtg-transition-base: 260ms ease;
}

html {
  font-size: 16px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  font-family: var(--rtg-font-body);
  font-weight: 400;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
.rtg-display,
.rtg-display .elementor-heading-title,
.elementor-widget-heading.rtg-display .elementor-heading-title,
.hero-title,
.hero-title .elementor-heading-title {
  font-family: var(--rtg-font-display) !important;
  font-weight: 400;
  line-height: 0.95;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

h2,
h3,
h4,
h5,
h6,
.elementor-widget-heading .elementor-heading-title {
  font-family: var(--rtg-font-body);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

p,
li,
a,
button,
input,
textarea,
select {
  font-family: var(--rtg-font-body);
}

.rtg-section {
  position: relative;
  padding-top: var(--rtg-space-8);
  padding-bottom: var(--rtg-space-8);
}

.rtg-container,
.rtg-container--text {
  width: min(100%, var(--rtg-container-max));
  margin-inline: auto;
  padding-inline: var(--rtg-container-pad);
}

.rtg-container--text {
  max-width: calc(var(--rtg-container-text) + (var(--rtg-container-pad) * 2));
}

.rtg-hero {
  min-height: calc(100vh - var(--rtg-header-height));
  display: flex;
  align-items: center;
}

.rtg-hero .elementor-widget-heading,
.rtg-hero .elementor-widget-text-editor,
.rtg-hero .elementor-widget-button {
  margin-bottom: 0;
}

.rtg-split {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: var(--rtg-space-5);
  align-items: center;
}

.rtg-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rtg-space-2);
  align-items: center;
}

.rtg-btn .elementor-button,
.elementor-widget-button.rtg-btn .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--rtg-btn-radius);
  padding: var(--rtg-btn-pad-y) var(--rtg-btn-pad-x);
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  border: 1px solid transparent;
  box-shadow: none;
  transition:
    transform var(--rtg-transition-fast),
    background-color var(--rtg-transition-fast),
    border-color var(--rtg-transition-fast),
    color var(--rtg-transition-fast);
}

.rtg-btn .elementor-button:hover,
.elementor-widget-button.rtg-btn .elementor-button:hover {
  transform: translateY(-1px);
}

.rtg-card {
  position: relative;
  border: 1px solid var(--rtg-line);
  background: var(--rtg-surface);
}

.rtg-grid-2,
.rtg-grid-3,
.rtg-grid-4 {
  display: grid;
  gap: var(--rtg-space-3);
}

.rtg-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rtg-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rtg-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1024px) {
  .rtg-section {
    padding-top: 96px;
    padding-bottom: 96px;
  }

  .rtg-split,
  .rtg-grid-2,
  .rtg-grid-3,
  .rtg-grid-4 {
    grid-template-columns: 1fr;
  }

  .rtg-split {
    gap: var(--rtg-space-4);
  }

  .rtg-hero {
    min-height: auto;
  }
}

@media (max-width: 767px) {
  :root {
    --rtg-container-pad: 20px;
    --rtg-space-8: 72px;
  }

  .rtg-section {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .rtg-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .rtg-btn .elementor-button,
  .elementor-widget-button.rtg-btn .elementor-button {
    width: 100%;
  }
}


/* ============================================================
   PORTO MOBILE MENU — CORPORATE / HPA
   Objectif :
   - cacher les tabs Porto sur mobile
   - afficher uniquement le menu Corporate hors HPA
   - afficher uniquement le menu HPA dans /solutions-campings/
   ============================================================ */

@media (max-width: 991px) {

  /* 1. Cacher les titres des tabs mobile Porto */
  .mobile-tabs > ul.mobile-tab-items {
    display: none !important;
  }

  /* 2. Par défaut / Corporate : afficher menu-main */
  body:not(.rtg-hpa):not(.hpa) .mobile-tab-content [tab-id="menu-main"] {
    display: block !important;
  }

  body:not(.rtg-hpa):not(.hpa) .mobile-tab-content [tab-id="menu-secondary"] {
    display: none !important;
  }

  /* 3. HPA : afficher menu-secondary */
  body.rtg-hpa .mobile-tab-content [tab-id="menu-main"],
  body.hpa .mobile-tab-content [tab-id="menu-main"] {
    display: none !important;
  }

  body.rtg-hpa .mobile-tab-content [tab-id="menu-secondary"],
  body.hpa .mobile-tab-content [tab-id="menu-secondary"] {
    display: block !important;
  }

  /* 4. Sécurité : masquer explicitement les UL du menu HPA hors HPA */
  body:not(.rtg-hpa):not(.hpa) .mobile-tab-content ul#menu-hpa_menu,
  body:not(.rtg-hpa):not(.hpa) .mobile-tab-content ul[id^="menu-hpa"],
  body:not(.rtg-hpa):not(.hpa) .mobile-tab-content ul[id*="hpa"] {
    display: none !important;
  }

  /* 5. Sécurité : masquer explicitement les UL du menu Corporate en HPA */
  body.rtg-hpa .mobile-tab-content ul#menu-main_menu,
  body.rtg-hpa .mobile-tab-content ul[id^="menu-main"],
  body.rtg-hpa .mobile-tab-content ul[id^="menu-corporate"],
  body.hpa .mobile-tab-content ul#menu-main_menu,
  body.hpa .mobile-tab-content ul[id^="menu-main"],
  body.hpa .mobile-tab-content ul[id^="menu-corporate"] {
    display: none !important;
  }
}