/* ============================================================
   WEEK-END EVASION
   PAGES SECONDAIRES - STYLE INDEX
   ============================================================ */

body.wee-premium-secondary {
  --primary:#2563eb;
  --primary-dark:#1e40af;
  --primary-soft:#dbeafe;
  --secondary:#0ea5e9;
  --ink:#0f172a;
  --muted:#64748b;
  --light:#f8fafc;
  --white:#fff;
  --line:#e2e8f0;
  --shadow-sm:0 6px 18px rgba(15,23,42,.08);
  --shadow-md:0 18px 45px rgba(15,23,42,.14);
  --shadow-lg:0 28px 70px rgba(15,23,42,.22);
  --radius-sm:14px;
  --radius-md:22px;
  --radius-lg:34px;
  --max:1180px;

  margin:0 !important;
  padding:104px 0 0 !important;

  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  color:var(--ink) !important;

  background:
    radial-gradient(circle at top left,rgba(37,99,235,.16),transparent 34rem),
    radial-gradient(circle at top right,rgba(14,165,233,.14),transparent 28rem),
    linear-gradient(180deg,#f8fafc 0%,#eef4ff 45%,#f8fafc 100%) !important;

  line-height:1.6;
  overflow-x:hidden;
}

body.wee-premium-secondary * {
  box-sizing:border-box;
}

body.wee-premium-secondary img {
  max-width:100%;
}


/* ============================================================
   MENU - MEME ESPRIT QUE INDEX
   ============================================================ */

.secondary-index-menu.menu-container {
  position:fixed !important;
  inset:0 0 auto 0 !important;
  z-index:10000 !important;
  width:100% !important;

  background:linear-gradient(135deg,#2563eb,#38bdf8) !important;
  border-bottom:1px solid rgba(226,232,240,.85) !important;

  box-shadow:0 10px 30px rgba(15,23,42,.15);
  overflow:visible !important;
}

.secondary-index-menu .menu-content {
  width:min(1320px,calc(100% - 24px)) !important;
  min-height:104px !important;
  margin:0 auto !important;

  display:grid !important;
  grid-template-columns:118px minmax(0,1fr) max-content !important;
  align-items:center !important;
  gap:clamp(.45rem,1vw,1rem) !important;

  position:relative;
}

.secondary-index-menu .logo-container {
  display:flex;
  align-items:center;
  justify-content:flex-start;
}

.secondary-index-menu .logo-container a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.secondary-index-menu .logo {
  width:96px !important;
  height:96px !important;
  object-fit:contain !important;
  border-radius:50% !important;

  filter:drop-shadow(0 8px 16px rgba(37,99,235,.22));

  transform-origin:center;
  animation:weeLogoEntry 1.2s ease-out forwards;
}

@keyframes weeLogoEntry {
  0% {
    transform:scale(.45) rotate(0);
    opacity:0;
  }
  70% {
    transform:scale(1.08) rotate(360deg);
  }
  100% {
    transform:scale(1) rotate(360deg);
    opacity:1;
  }
}

.secondary-index-menu ul {
  list-style:none !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:nowrap !important;

  gap:clamp(.15rem,1.45vw,1.35rem) !important;

  width:fit-content !important;
  max-width:100% !important;

  margin:0 auto !important;
  padding:.32rem !important;

  border:1px solid rgba(226,232,240,.90) !important;
  border-radius:999px !important;

  background:linear-gradient(135deg,#2563eb,#38bdf8) !important;
  box-shadow:0 10px 24px rgba(37,99,235,.22);
}

.secondary-index-menu li {
  margin:0 !important;
  padding:0 !important;
}

.secondary-index-menu li a {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  min-height:40px !important;
  padding:0 clamp(.52rem,.72vw,.82rem) !important;

  border-radius:999px !important;

  color:#fff !important;

  font-size:clamp(.64rem,.68vw,.74rem) !important;
  font-weight:900 !important;
  line-height:1 !important;

  text-transform:uppercase;
  letter-spacing:.035em;

  text-decoration:none !important;
  white-space:nowrap;

  transition:.22s ease;
}

.secondary-index-menu li a:hover {
  color:#1e40af !important;
  background:#dbeafe !important;
  transform:translateY(-2px);
}

.secondary-index-menu .icons-container {
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;

  gap:clamp(.45rem,.8vw,.7rem) !important;

  min-width:max-content;
}

.secondary-index-menu .account-label {
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:42px;
  padding:0 clamp(.72rem,.9vw,1rem);

  border:1px solid #fff;
  border-radius:999px;

  color:#fff;

  background:linear-gradient(135deg,#2563eb,#38bdf8);

  box-shadow:0 10px 24px rgba(37,99,235,.22);

  font-size:clamp(.68rem,.72vw,.78rem);
  font-weight:900;
  white-space:nowrap;

  transition:.22s ease;
}

.secondary-index-menu .account-container {
  text-decoration:none !important;
}

.secondary-index-menu .account-label:hover {
  transform:translateY(-2px);
}

.secondary-index-menu .icon {
  width:34px !important;
  height:34px !important;

  object-fit:cover !important;
  border-radius:50% !important;

  box-shadow:var(--shadow-sm);
}

.secondary-index-menu .hamburger {
  display:none;
  position:absolute;

  top:28px;
  left:20px;

  z-index:10002;

  width:44px;
  height:44px;

  border:0;
  border-radius:14px;

  background:#fff;

  box-shadow:var(--shadow-sm);

  cursor:pointer;

  align-items:center;
  justify-content:center;
  flex-direction:column;

  gap:5px;
}

.secondary-index-menu .hamburger span {
  display:block;

  width:22px;
  height:3px;

  border-radius:999px;

  background:#1e40af;

  transition:.25s ease;
}

.secondary-index-menu .hamburger.active span:nth-child(1) {
  transform:translateY(8px) rotate(45deg);
}

.secondary-index-menu .hamburger.active span:nth-child(2) {
  opacity:0;
}

.secondary-index-menu .hamburger.active span:nth-child(3) {
  transform:translateY(-8px) rotate(-45deg);
}

.secondary-index-menu .mobile-menu {
  display:none;
}


/* ============================================================
   HERO
   ============================================================ */

body.wee-premium-secondary .hero {
  position:relative !important;

  min-height:560px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  margin:0 !important;

  padding:
    clamp(4rem,8vw,7rem)
    clamp(1.2rem,4vw,3rem)
    !important;

  overflow:hidden !important;

  color:#fff !important;

  border-radius:0 0 34px 34px !important;

  box-shadow:var(--shadow-lg);

  isolation:isolate;
}

body.wee-premium-secondary .hero::before {
  content:"";

  position:absolute;
  inset:0;

  z-index:-1;

  background:
    linear-gradient(
      135deg,
      rgba(15,23,42,.54),
      rgba(37,99,235,.50)
    );
}

body.wee-premium-secondary .hero h1 {
  max-width:1050px;

  margin:0 auto 1.2rem !important;

  color:#fff !important;

  font-family:'Playfair Display',serif !important;
  font-size:clamp(2.7rem,6vw,5.5rem) !important;

  line-height:.96 !important;
  letter-spacing:-.05em !important;

  text-align:center !important;

  text-shadow:0 12px 35px rgba(15,23,42,.32);
}

body.wee-premium-secondary .hero p {
  max-width:820px;

  margin:.6rem auto !important;

  color:rgba(255,255,255,.92) !important;

  font-size:clamp(1.05rem,2vw,1.28rem) !important;
  font-weight:650 !important;

  text-align:center !important;
}


/* ============================================================
   CONTENU
   ============================================================ */

body.wee-premium-secondary .container {
  width:min(var(--max),calc(100% - 32px)) !important;
  max-width:none !important;

  margin:clamp(2.5rem,6vw,5rem) auto !important;
  padding:0 !important;
}

body.wee-premium-secondary h2 {
  color:var(--ink) !important;

  font-family:'Playfair Display',serif !important;
  font-size:clamp(2rem,4.5vw,3.7rem) !important;

  line-height:1 !important;
  letter-spacing:-.04em !important;
}

body.wee-premium-secondary .card {
  margin:0 0 1.25rem !important;

  padding:clamp(1.25rem,3vw,2rem) !important;

  border:1px solid #0284c7 !important;
  border-radius:34px !important;

  background:rgba(255,255,255,.90) !important;

  box-shadow:var(--shadow-sm) !important;

  backdrop-filter:blur(16px);

  transition:.25s ease;
}

body.wee-premium-secondary .card:hover {
  transform:translateY(-4px);
  box-shadow:var(--shadow-md) !important;
}

body.wee-premium-secondary .card p {
  color:var(--muted) !important;

  font-weight:650;
  line-height:1.75;
}


/* GALERIE */

body.wee-premium-secondary .gallery {
  display:grid !important;

  grid-template-columns:
    repeat(auto-fit,minmax(240px,1fr))
    !important;

  gap:1rem !important;

  margin-bottom:2rem !important;
}

body.wee-premium-secondary .gallery img {
  width:100% !important;
  height:300px !important;

  object-fit:cover !important;

  border-radius:28px !important;

  box-shadow:var(--shadow-md) !important;

  transition:.3s ease;
}

body.wee-premium-secondary .gallery img:hover {
  transform:translateY(-5px) scale(1.01);
  box-shadow:var(--shadow-lg) !important;
}


/* BOUTONS */

body.wee-premium-secondary .cta,
body.wee-premium-secondary .cta-button,
body.wee-premium-secondary .button,
body.wee-premium-secondary .card a {
  display:inline-flex !important;

  align-items:center;
  justify-content:center;

  min-height:48px;

  padding:0 1.35rem !important;

  border:1px solid #fff !important;
  border-radius:999px !important;

  color:#fff !important;

  background:
    linear-gradient(135deg,#2563eb,#38bdf8)
    !important;

  box-shadow:
    0 14px 28px rgba(37,99,235,.18);

  font-weight:900 !important;

  text-decoration:none !important;

  transition:.25s ease;
}

body.wee-premium-secondary .cta:hover,
body.wee-premium-secondary .cta-button:hover,
body.wee-premium-secondary .button:hover,
body.wee-premium-secondary .card a:hover {
  transform:translateY(-2px);
}


/* GETYOURGUIDE */

body.wee-premium-secondary .gyg-weekend-evasion {
  border:1px solid #0284c7 !important;
  border-radius:34px !important;

  background:rgba(255,255,255,.92) !important;

  box-shadow:var(--shadow-md) !important;
}


/* ============================================================
   ANCIEN FOOTER MASQUE
   ============================================================ */

body.wee-premium-secondary
> footer:not(.premium-index-footer) {
  display:none !important;
}


/* ============================================================
   FOOTER PREMIUM - MEME STRUCTURE QUE INDEX
   ============================================================ */

.premium-index-footer.footer {
  position:relative !important;

  margin-top:5rem !important;
  padding:0 !important;

  overflow:hidden;

  border-top:1px solid rgba(255,255,255,.25);

  color:#fff !important;

  text-align:left !important;

  background:
    radial-gradient(circle at 12% 0%,rgba(255,255,255,.18),transparent 24rem),
    radial-gradient(circle at 92% 12%,rgba(219,234,254,.20),transparent 22rem),
    linear-gradient(135deg,#1e40af 0%,#2563eb 46%,#38bdf8 100%) !important;

  box-shadow:0 -24px 70px rgba(15,23,42,.16);
}

.premium-index-footer .footer-shell {
  position:relative;

  z-index:2;

  width:min(var(--max),calc(100% - 32px));

  margin:0 auto;

  padding:clamp(2rem,5vw,4rem) 0 1.2rem;
}

.premium-index-footer .footer-top {
  display:grid;

  grid-template-columns:
    minmax(260px,1.15fr)
    repeat(3,minmax(160px,.65fr));

  gap:clamp(1rem,3vw,2rem);
}

.premium-index-footer .footer-brand-card,
.premium-index-footer .footer-cta-card {
  border:1px solid rgba(255,255,255,.24);

  background:rgba(255,255,255,.14);

  box-shadow:0 22px 55px rgba(15,23,42,.18);

  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.premium-index-footer .footer-brand-card {
  padding:clamp(1.15rem,3vw,1.6rem);

  border-radius:30px;
}

.premium-index-footer .footer-brand-head {
  display:flex;

  align-items:center;

  gap:.85rem;

  margin-bottom:1rem;
}

.premium-index-footer .footer-logo {
  width:62px !important;
  height:62px !important;

  object-fit:contain !important;

  border-radius:50%;

  background:rgba(255,255,255,.18);

  box-shadow:0 12px 28px rgba(15,23,42,.16);
}

.premium-index-footer .footer-brand-title {
  display:grid;
  gap:.1rem;
}

.premium-index-footer .footer-brand-title strong {
  color:#fff;

  font-family:'Playfair Display',serif;

  font-size:1.8rem;

  line-height:1;

  letter-spacing:-.04em;
}

.premium-index-footer .footer-brand-title span,
.premium-index-footer .footer-copy,
.premium-index-footer .footer-cta-card p {
  color:rgba(255,255,255,.82) !important;

  font-weight:750;
}

.premium-index-footer .footer-copy {
  max-width:520px;

  margin:0 0 1.1rem;
}

.premium-index-footer .footer-trust-row,
.premium-index-footer .footer-social-premium,
.premium-index-footer .footer-cta-actions,
.premium-index-footer .footer-bottom {
  display:flex;

  flex-wrap:wrap;

  gap:.65rem;
}

.premium-index-footer .footer-trust-row span {
  display:inline-flex;

  align-items:center;

  gap:.4rem;

  min-height:36px;

  padding:0 .75rem;

  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;

  color:#fff;

  background:rgba(255,255,255,.14);

  font-size:.82rem;
  font-weight:900;
}

.premium-index-footer .footer-column h3 {
  margin-bottom:.9rem;

  color:#fff;

  font-size:.92rem;

  letter-spacing:.08em;

  text-transform:uppercase;
}

.premium-index-footer .footer-links,
.premium-index-footer .footer-contact {
  display:grid;
  gap:.55rem;
}

.premium-index-footer .footer-links a,
.premium-index-footer .footer-contact a {
  display:inline-flex;

  align-items:center;

  gap:.52rem;

  width:fit-content;

  min-height:36px;

  margin-left:-.65rem;

  padding:.35rem .65rem;

  border-radius:999px;

  color:rgba(255,255,255,.86) !important;

  font-weight:850 !important;

  text-decoration:none !important;

  transition:.22s ease;
}

.premium-index-footer .footer-links a:hover,
.premium-index-footer .footer-contact a:hover {
  color:#1e40af !important;

  background:#dbeafe;

  transform:translateX(3px);
}

.premium-index-footer .footer-social-premium {
  margin-top:.75rem;
}

.premium-index-footer .footer-social-premium a {
  display:grid !important;

  place-items:center !important;

  width:44px !important;
  height:44px !important;

  margin:0 !important;
  padding:0 !important;

  border:1px solid rgba(255,255,255,.20) !important;
  border-radius:16px !important;

  color:#fff !important;

  background:rgba(255,255,255,.14) !important;

  box-shadow:0 12px 26px rgba(15,23,42,.12);

  transition:.24s ease;
}

.premium-index-footer .footer-social-premium a:hover {
  color:#1e40af !important;

  background:#fff !important;

  transform:translateY(-3px) scale(1.04);
}

.premium-index-footer .footer-cta-card {
  display:flex;

  align-items:center;
  justify-content:space-between;

  gap:1rem;

  margin-top:clamp(1.3rem,3vw,2rem);

  padding:clamp(1rem,2.4vw,1.35rem);

  border-radius:28px;
}

.premium-index-footer .footer-cta-card h3 {
  margin-bottom:.2rem;

  color:#fff;

  font-size:1.25rem;
}

.premium-index-footer .footer-cta-actions {
  justify-content:flex-end;
}

.premium-index-footer .footer-cta-actions a {
  display:inline-flex;

  align-items:center;
  justify-content:center;

  gap:.5rem;

  min-height:46px;

  padding:0 1rem;

  border-radius:999px;

  font-weight:950 !important;

  text-decoration:none !important;

  transition:.22s ease;
}

.premium-index-footer .footer-cta-primary {
  color:#1e40af !important;

  background:#fff;
}

.premium-index-footer .footer-cta-secondary {
  border:1px solid rgba(255,255,255,.24);

  color:#fff !important;

  background:rgba(255,255,255,.14);
}

.premium-index-footer .footer-bottom {
  align-items:center;
  justify-content:space-between;

  margin-top:1.3rem;
  padding-top:1rem;

  border-top:1px solid rgba(255,255,255,.18);

  color:rgba(255,255,255,.78);

  font-size:.9rem;
  font-weight:750;
}

.premium-index-footer .footer-bottom a {
  color:#fff !important;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width:1120px) {

  body.wee-premium-secondary {
    padding-top:82px !important;
  }

  .secondary-index-menu .menu-content {
    min-height:82px !important;

    display:flex !important;

    align-items:center !important;
    justify-content:center !important;

    width:min(var(--max),calc(100% - 32px)) !important;
  }

  .secondary-index-menu .logo-container {
    justify-content:center;
  }

  .secondary-index-menu .logo {
    width:70px !important;
    height:70px !important;
  }

  .secondary-index-menu .hamburger {
    display:flex;

    top:19px;
  }

  .secondary-index-menu
  .menu-content > ul,

  .secondary-index-menu
  .menu-content > .icons-container {
    display:none !important;
  }

  .secondary-index-menu .mobile-menu {
    display:none;

    position:fixed;

    top:0;
    left:0;
    right:0;
    bottom:0;

    height:100dvh;

    z-index:10001;

    padding:98px 1rem 2rem;

    background:rgba(255,255,255,.97);

    backdrop-filter:blur(22px);

    overflow-y:auto;
  }

  .secondary-index-menu.active .mobile-menu {
    display:block;
  }

  .secondary-index-menu .mobile-menu ul {
    display:grid !important;

    width:min(520px,100%) !important;

    margin:0 auto !important;

    padding:1rem !important;

    gap:.45rem !important;

    border-radius:34px !important;

    background:linear-gradient(135deg,#2563eb,#38bdf8) !important;

    box-shadow:var(--shadow-sm);
  }

  .secondary-index-menu .mobile-menu ul a {
    width:100%;

    min-height:52px !important;

    font-size:.9rem !important;
  }

  .secondary-index-menu
  .mobile-menu
  .icons-container {
    display:flex !important;

    justify-content:center !important;

    margin:1rem auto 0 !important;
  }

  .premium-index-footer .footer-top {
    grid-template-columns:1fr 1fr;
  }

  .premium-index-footer .footer-brand-card {
    grid-column:1/-1;
  }

  .premium-index-footer .footer-cta-card {
    align-items:flex-start;
    flex-direction:column;
  }
}


@media (max-width:768px) {

  .premium-index-footer.footer {
    margin-top:2rem !important;
  }

  .premium-index-footer .footer-top {
    grid-template-columns:1fr;

    text-align:center;
  }

  .premium-index-footer .footer-brand-card {
    grid-column:auto;
  }

  .premium-index-footer .footer-brand-head,
  .premium-index-footer .footer-cta-card {
    flex-direction:column;

    align-items:center;
    justify-content:center;

    text-align:center;
  }

  .premium-index-footer .footer-copy {
    margin-left:auto;
    margin-right:auto;
  }

  .premium-index-footer .footer-trust-row,
  .premium-index-footer .footer-social-premium,
  .premium-index-footer .footer-bottom {
    justify-content:center;
  }

  .premium-index-footer .footer-links,
  .premium-index-footer .footer-contact {
    justify-items:center;
  }

  .premium-index-footer .footer-links a,
  .premium-index-footer .footer-contact a {
    width:100%;

    margin-left:0;

    justify-content:center;

    background:rgba(255,255,255,.10);
  }

  .premium-index-footer .footer-cta-actions {
    display:grid;

    width:100%;
  }

  .premium-index-footer .footer-cta-actions a {
    width:100%;
  }
}


@media (max-width:480px) {

  body.wee-premium-secondary {
    padding-top:76px !important;
  }

  .secondary-index-menu .menu-content {
    min-height:76px !important;
  }

  .secondary-index-menu .logo {
    width:62px !important;
    height:62px !important;
  }

  .secondary-index-menu .hamburger {
    top:16px;
    left:14px;
  }

  body.wee-premium-secondary .hero {
    min-height:430px !important;

    border-radius:0 0 28px 28px !important;
  }

  body.wee-premium-secondary .container {
    width:calc(100% - 20px) !important;
  }

  body.wee-premium-secondary .gallery {
    grid-template-columns:1fr !important;
  }

  body.wee-premium-secondary .gallery img {
    height:260px !important;
  }
}


/* ================ LEGACY SECTION PREMIUM ================ */

body.legacy-premium-page .hero-overlay {
    position:absolute !important;
    inset:0 !important;

    background:
        linear-gradient(
            135deg,
            rgba(15,23,42,.50),
            rgba(37,99,235,.46)
        ) !important;

    z-index:0 !important;
}

body.legacy-premium-page .hero-content {
    position:relative !important;
    z-index:2 !important;

    width:min(1050px,calc(100% - 32px)) !important;

    margin:auto !important;

    text-align:center !important;
}

body.legacy-premium-page .hero-content h1 {
    color:#fff !important;

    font-family:
        'Playfair Display',
        Georgia,
        serif !important;

    font-size:
        clamp(2.7rem,6vw,5.4rem)
        !important;

    line-height:.98 !important;
    letter-spacing:-.045em !important;

    text-shadow:
        0 12px 35px rgba(15,23,42,.35);
}

body.legacy-premium-page .hero-content p {
    max-width:820px !important;

    margin:
        1rem auto
        0 !important;

    color:
        rgba(255,255,255,.94)
        !important;

    font-size:
        clamp(1rem,2vw,1.25rem)
        !important;

    font-weight:650 !important;
    line-height:1.7 !important;
}


body.legacy-premium-page .section {
    position:relative !important;

    margin:0 !important;

    padding:
        clamp(2.4rem,6vw,5rem)
        16px
        !important;

    background:transparent !important;
}


body.legacy-premium-page .section-content {
    width:min(1180px,100%) !important;
    max-width:none !important;

    margin:0 auto !important;

    padding:
        clamp(1.4rem,4vw,2.5rem)
        !important;

    border:
        1px solid rgba(2,132,199,.55)
        !important;

    border-radius:34px !important;

    background:
        rgba(255,255,255,.92)
        !important;

    box-shadow:
        0 18px 45px
        rgba(15,23,42,.12)
        !important;

    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}


body.legacy-premium-page
.section-content h2 {
    margin:
        0 0
        1.25rem !important;

    color:#0f172a !important;

    font-family:
        'Playfair Display',
        Georgia,
        serif !important;

    font-size:
        clamp(2rem,4vw,3.5rem)
        !important;

    line-height:1.05 !important;
    letter-spacing:-.035em !important;
}


body.legacy-premium-page
.section-content h3 {
    color:#1e40af !important;

    font-weight:900 !important;
}


body.legacy-premium-page
.section-content p,
body.legacy-premium-page
.section-content li {
    color:#475569 !important;

    font-weight:600 !important;
    line-height:1.8 !important;
}


body.legacy-premium-page
.section-content img {
    max-width:100% !important;

    border-radius:26px !important;

    box-shadow:
        0 16px 38px
        rgba(15,23,42,.15)
        !important;
}


body.legacy-premium-page
.section-content a:not(.footer-cta-primary):not(.footer-cta-secondary) {
    color:#2563eb;

    font-weight:800;
}


body.legacy-premium-page
.gyg-weekend-evasion {
    width:min(1180px,calc(100% - 32px)) !important;

    margin:
        2rem auto
        !important;

    border:
        1px solid #0284c7
        !important;

    border-radius:34px !important;

    overflow:hidden;

    background:#fff !important;

    box-shadow:
        0 18px 45px
        rgba(15,23,42,.12)
        !important;
}


/*
   Masque l'ancien footer.
   Le nouveau footer premium est ajouté ensuite.
*/
body.legacy-premium-page
footer:not(.premium-index-footer) {
    display:none !important;
}


/* Auth existante : on garde le fonctionnement original */
body.legacy-premium-page
.secondary-index-menu
.auth-section {
    z-index:10005;
}


/* Mobile */
@media (max-width:768px) {

    body.legacy-premium-page .section {
        padding:
            1.4rem 10px
            !important;
    }

    body.legacy-premium-page
    .section-content {
        padding:
            1.15rem
            !important;

        border-radius:26px !important;
    }

    body.legacy-premium-page
    .hero-content {
        width:
            calc(100% - 24px)
            !important;
    }
}

/* ================ /LEGACY SECTION PREMIUM ================ */


/* ================ SEO LANDING PREMIUM ================ */

body.seo-landing-premium-page .seo-landing-main {
    width:100%;
    margin:0;
    padding:0;
}

body.seo-landing-premium-page .seo-hero {
    position:relative;

    padding:
        clamp(3rem,7vw,6rem)
        16px !important;

    background:
        linear-gradient(
            135deg,
            rgba(15,23,42,.30),
            rgba(37,99,235,.20)
        ),
        var(--seo-hero-image)
        center/cover no-repeat !important;
}

body.seo-landing-premium-page .seo-hero-inner {
    width:min(1180px,100%) !important;

    margin:0 auto !important;

    display:grid !important;
    grid-template-columns:
        minmax(0,1.4fr)
        minmax(280px,.6fr)
        !important;

    gap:1.4rem !important;

    align-items:stretch;
}

body.seo-landing-premium-page .seo-hero-card,
body.seo-landing-premium-page .seo-summary-card {
    border:
        1px solid rgba(255,255,255,.32)
        !important;

    border-radius:34px !important;

    background:
        rgba(255,255,255,.90)
        !important;

    box-shadow:
        0 24px 65px
        rgba(15,23,42,.20)
        !important;

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

body.seo-landing-premium-page .seo-hero-card {
    padding:
        clamp(1.5rem,4vw,3rem)
        !important;
}

body.seo-landing-premium-page .seo-summary-card {
    padding:
        clamp(1.3rem,3vw,2rem)
        !important;
}

body.seo-landing-premium-page .seo-hero-card h1 {
    margin:.8rem 0 1rem !important;

    color:#0f172a !important;

    font-family:
        'Playfair Display',
        Georgia,
        serif !important;

    font-size:
        clamp(2.7rem,5vw,4.8rem)
        !important;

    line-height:.98 !important;
    letter-spacing:-.045em !important;
}

body.seo-landing-premium-page .seo-hero-card p,
body.seo-landing-premium-page .seo-summary-card {
    color:#475569 !important;

    font-weight:650;
    line-height:1.75;
}

body.seo-landing-premium-page .seo-breadcrumb {
    display:flex;
    flex-wrap:wrap;
    gap:.45rem;

    color:#64748b;
    font-weight:800;
}

body.seo-landing-premium-page .seo-breadcrumb a {
    color:#2563eb !important;
    text-decoration:none;
}

body.seo-landing-premium-page .seo-eyebrow {
    display:inline-flex;

    margin-top:1rem;
    padding:.42rem .8rem;

    border-radius:999px;

    color:#1e40af;

    background:#dbeafe;

    font-size:.86rem;
    font-weight:900;
}

body.seo-landing-premium-page .seo-check-list {
    display:grid;
    gap:.65rem;

    margin:1rem 0;
}

body.seo-landing-premium-page .seo-check-list span {
    padding:.7rem .8rem;

    border:1px solid #dbeafe;
    border-radius:15px;

    background:#eff6ff;

    color:#1e3a8a;

    font-weight:800;
}


/* CONTENU */

body.seo-landing-premium-page .section {
    padding:
        clamp(2rem,5vw,4rem)
        16px !important;

    background:transparent !important;
}

body.seo-landing-premium-page .seo-page-grid {
    width:min(1180px,100%) !important;

    margin:0 auto !important;

    display:grid !important;

    grid-template-columns:
        minmax(0,1fr)
        minmax(250px,320px)
        !important;

    gap:1.4rem !important;

    align-items:start;
}

body.seo-landing-premium-page
.seo-section-card,

body.seo-landing-premium-page
.seo-local-card,

body.seo-landing-premium-page
.seo-faq-card,

body.seo-landing-premium-page
.seo-cta-box,

body.seo-landing-premium-page
.seo-related {
    margin-bottom:1.25rem !important;

    padding:
        clamp(1.25rem,3vw,2rem)
        !important;

    border:
        1px solid rgba(2,132,199,.50)
        !important;

    border-radius:30px !important;

    background:
        rgba(255,255,255,.94)
        !important;

    box-shadow:
        0 16px 42px
        rgba(15,23,42,.10)
        !important;
}

body.seo-landing-premium-page
.seo-section-card h2,

body.seo-landing-premium-page
.seo-local-card h2,

body.seo-landing-premium-page
.seo-faq-card h2,

body.seo-landing-premium-page
.seo-sidebar h2 {
    color:#0f172a !important;

    font-family:
        'Playfair Display',
        Georgia,
        serif !important;

    line-height:1.05 !important;
    letter-spacing:-.035em !important;
}

body.seo-landing-premium-page
.seo-section-card p,

body.seo-landing-premium-page
.seo-local-card p,

body.seo-landing-premium-page
.seo-faq-card p,

body.seo-landing-premium-page
.seo-section-card li {
    color:#475569 !important;

    font-weight:600;
    line-height:1.8;
}


/* PHOTOS */

body.seo-landing-premium-page .seo-image-row {
    display:grid !important;

    grid-template-columns:
        repeat(3,1fr)
        !important;

    gap:1rem !important;

    margin:1.5rem 0 !important;
}

body.seo-landing-premium-page
.seo-image-row figure {
    margin:0;

    overflow:hidden;

    border-radius:24px;

    background:#fff;

    box-shadow:
        0 15px 35px
        rgba(15,23,42,.14);
}

body.seo-landing-premium-page
.seo-image-row img {
    display:block;

    width:100% !important;
    height:230px !important;

    object-fit:cover !important;
}

body.seo-landing-premium-page
.seo-image-row figcaption {
    padding:.7rem;

    color:#475569;

    font-weight:800;
    text-align:center;
}


/* MOTS CLES */

body.seo-landing-premium-page .keyword-cloud {
    display:flex;
    flex-wrap:wrap;
    gap:.5rem;
}

body.seo-landing-premium-page
.keyword-cloud span {
    padding:.42rem .75rem;

    border-radius:999px;

    color:#1e40af;

    background:#dbeafe;

    font-size:.85rem;
    font-weight:850;
}


/* LIENS SIDEBAR */

body.seo-landing-premium-page
.seo-related a,

body.seo-landing-premium-page
.seo-cta-box a {
    display:flex;

    align-items:center;

    min-height:42px;

    margin:.4rem 0;
    padding:.45rem .8rem;

    border-radius:999px;

    color:#1e40af !important;

    background:#eff6ff;

    font-weight:850;

    text-decoration:none !important;

    transition:.2s ease;
}

body.seo-landing-premium-page
.seo-related a:hover,

body.seo-landing-premium-page
.seo-cta-box a:hover {
    color:#fff !important;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #38bdf8
        );

    transform:translateX(3px);
}


/* CTA */

body.seo-landing-premium-page
.cta-button,

body.seo-landing-premium-page
.search-btn {
    display:inline-flex !important;

    align-items:center;
    justify-content:center;

    min-height:48px;

    padding:0 1.15rem !important;

    border-radius:999px !important;

    color:#fff !important;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #38bdf8
        )
        !important;

    font-weight:900 !important;

    text-decoration:none !important;

    box-shadow:
        0 12px 27px
        rgba(37,99,235,.20);
}


/* ANCIEN FOOTER */

body.seo-landing-premium-page
> footer:not(.premium-index-footer) {
    display:none !important;
}


/* MOBILE */

@media (max-width:900px) {

    body.seo-landing-premium-page
    .seo-hero-inner,

    body.seo-landing-premium-page
    .seo-page-grid {
        grid-template-columns:
            1fr
            !important;
    }

    body.seo-landing-premium-page
    .seo-sidebar {
        width:100%;
    }
}

@media (max-width:650px) {

    body.seo-landing-premium-page
    .seo-image-row {
        grid-template-columns:
            1fr
            !important;
    }

    body.seo-landing-premium-page
    .seo-image-row img {
        height:240px !important;
    }

    body.seo-landing-premium-page
    .seo-hero-card,

    body.seo-landing-premium-page
    .seo-summary-card,

    body.seo-landing-premium-page
    .seo-section-card,

    body.seo-landing-premium-page
    .seo-local-card,

    body.seo-landing-premium-page
    .seo-faq-card {
        border-radius:24px !important;
    }
}

/* ================ /SEO LANDING PREMIUM ================ */


/* ================ FINAL 64 PREMIUM ================ */

body.final-premium-page {
    margin:0 !important;
    padding-top:105px !important;

    font-family:
        'Inter',
        Arial,
        sans-serif !important;

    color:#0f172a;

    background:
        linear-gradient(
            180deg,
            #f8fbff 0%,
            #eef6ff 45%,
            #ffffff 100%
        ) !important;
}


/* ------------------------------------------------
   PAGES GENERIQUES
   Les 3 SECTION_CONTENT_OTHER utilisent déjà
   le CSS LEGACY grâce à .legacy-premium-page
------------------------------------------------ */

body.final-premium-page:not(.legacy-premium-page)
main {
    position:relative;
    z-index:1;
}


body.final-premium-page:not(.legacy-premium-page)
.hero {
    position:relative !important;

    width:min(1180px,calc(100% - 32px)) !important;

    min-height:
        clamp(420px,65vh,680px)
        !important;

    margin:
        24px auto
        30px
        !important;

    border-radius:34px !important;

    overflow:hidden !important;

    box-shadow:
        0 24px 60px
        rgba(15,23,42,.18)
        !important;
}


body.final-premium-page:not(.legacy-premium-page)
.hero h1 {
    font-family:
        'Playfair Display',
        Georgia,
        serif !important;

    font-size:
        clamp(2.5rem,5vw,4.8rem)
        !important;

    line-height:1 !important;

    letter-spacing:-.04em !important;

    text-shadow:
        0 8px 28px
        rgba(15,23,42,.42);
}


body.final-premium-page:not(.legacy-premium-page)
.section {
    width:min(1180px,calc(100% - 32px)) !important;

    margin:
        0 auto
        28px
        !important;

    padding:
        clamp(1.2rem,3vw,2rem)
        !important;

    box-sizing:border-box;

    border:
        1px solid rgba(2,132,199,.34)
        !important;

    border-radius:30px !important;

    background:
        rgba(255,255,255,.94)
        !important;

    box-shadow:
        0 18px 45px
        rgba(15,23,42,.10)
        !important;
}


body.final-premium-page:not(.legacy-premium-page)
.container,

body.final-premium-page:not(.legacy-premium-page)
.content {
    width:min(1120px,calc(100% - 32px)) !important;

    max-width:1120px !important;

    margin:
        24px auto
        !important;

    box-sizing:border-box;

    padding:
        clamp(1.2rem,3vw,2.2rem)
        !important;

    border:
        1px solid rgba(2,132,199,.30)
        !important;

    border-radius:30px !important;

    background:
        rgba(255,255,255,.95)
        !important;

    box-shadow:
        0 16px 42px
        rgba(15,23,42,.10)
        !important;
}


body.final-premium-page:not(.legacy-premium-page)
.card {
    box-sizing:border-box;

    margin:
        1.2rem auto
        !important;

    padding:
        clamp(1.15rem,3vw,2rem)
        !important;

    border:
        1px solid rgba(37,99,235,.22)
        !important;

    border-radius:26px !important;

    background:#fff !important;

    box-shadow:
        0 14px 35px
        rgba(15,23,42,.09)
        !important;
}


body.final-premium-page:not(.legacy-premium-page)
main > h1,

body.final-premium-page:not(.legacy-premium-page)
.container h1,

body.final-premium-page:not(.legacy-premium-page)
.content h1 {
    color:#0f172a !important;

    font-family:
        'Playfair Display',
        Georgia,
        serif !important;

    font-size:
        clamp(2.4rem,5vw,4.4rem)
        !important;

    line-height:1.02 !important;

    letter-spacing:-.04em !important;
}


body.final-premium-page:not(.legacy-premium-page)
h2 {
    color:#0f172a !important;

    font-family:
        'Playfair Display',
        Georgia,
        serif !important;

    line-height:1.08 !important;
}


body.final-premium-page:not(.legacy-premium-page)
h3 {
    color:#1e40af !important;
}


body.final-premium-page:not(.legacy-premium-page)
p,

body.final-premium-page:not(.legacy-premium-page)
li {
    color:#475569;

    line-height:1.75;

    font-weight:550;
}


body.final-premium-page:not(.legacy-premium-page)
img {
    max-width:100%;

    border-radius:22px;
}


body.final-premium-page:not(.legacy-premium-page)
.btn,

body.final-premium-page:not(.legacy-premium-page)
.cta,

body.final-premium-page:not(.legacy-premium-page)
.cta-button,

body.final-premium-page:not(.legacy-premium-page)
.button,

body.final-premium-page:not(.legacy-premium-page)
button {
    display:inline-flex !important;

    align-items:center;
    justify-content:center;

    min-height:48px;

    padding:
        0 1.2rem
        !important;

    border:0 !important;

    border-radius:999px !important;

    color:#fff !important;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #38bdf8
        ) !important;

    font-weight:900 !important;

    text-decoration:none !important;

    box-shadow:
        0 12px 28px
        rgba(37,99,235,.22);
}


/* Ancien footer invisible : footer index premium affiché */
body.final-premium-page
footer:not(.premium-index-footer) {
    display:none !important;
}


/* Pages minimalistes : success / cancel etc. */
body.final-premium-page
> main:first-of-type {
    min-height:45vh;
}


/* MOBILE */

@media (max-width:768px) {

    body.final-premium-page {
        padding-top:82px !important;
    }

    body.final-premium-page:not(.legacy-premium-page)
    .hero {
        width:
            calc(100% - 20px)
            !important;

        min-height:400px !important;

        margin-top:12px !important;

        border-radius:25px !important;
    }

    body.final-premium-page:not(.legacy-premium-page)
    .section,

    body.final-premium-page:not(.legacy-premium-page)
    .container,

    body.final-premium-page:not(.legacy-premium-page)
    .content {
        width:
            calc(100% - 20px)
            !important;

        border-radius:24px !important;
    }

    body.final-premium-page:not(.legacy-premium-page)
    .card {
        border-radius:22px !important;
    }
}

/* ================ /FINAL 64 PREMIUM ================ */




/* WEE SALES V1 START */

.wee-sales{
  max-width:1180px;
  margin:34px auto;
  padding:22px;
  border:1px solid #e5e7eb;
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 28px rgba(15,23,42,.08);
}

.wee-sales-head{
  margin-bottom:18px;
}

.wee-sales-head > span{
  display:inline-block;
  padding:5px 10px;
  margin-bottom:7px;
  border-radius:999px;
  background:#111827;
  color:#fff;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.06em;
}

.wee-sales-head h2{
  margin:0 0 6px;
  font-size:clamp(1.35rem,2.5vw,1.95rem);
  line-height:1.1;
}

.wee-sales-head p{
  margin:0;
  color:#64748b;
}

.wee-sales-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:11px;
}

.wee-sale-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:145px;
  padding:13px;
  border:1px solid #e5e7eb;
  border-radius:15px;
  background:#fff;
  color:#111827!important;
  text-decoration:none!important;
  box-shadow:0 3px 10px rgba(15,23,42,.05);
  transition:.18s ease;
}

.wee-sale-card:hover{
  transform:translateY(-3px);
  box-shadow:0 9px 22px rgba(15,23,42,.13);
}

.wee-sale-brand{
  position:absolute;
  top:9px;
  right:9px;
  padding:3px 7px;
  border-radius:999px;
  background:#f1f5f9;
  font-size:.52rem;
  font-weight:900;
}

.wee-sale-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  margin-bottom:11px;
  border-radius:12px;
  background:#f3f4f6;
  font-size:1.6rem;
}

.wee-sale-card strong{
  margin-bottom:8px;
  font-size:.91rem;
  line-height:1.15;
}

.wee-sale-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  margin-top:auto;
  padding:8px 6px;
  border-radius:9px;
  background:#ff9900;
  color:#111!important;
  font-size:.74rem;
  font-weight:900;
  text-align:center;
}

.wee-avis{
  border:2px solid #d71920;
}

.wee-avis .wee-sale-brand{
  background:#d71920;
  color:#fff;
}

.wee-avis .wee-sale-icon{
  background:#fff0f0;
}

.wee-avis .wee-sale-cta{
  background:#d71920;
  color:#fff!important;
}

.wee-amazon-disclosure{
  max-width:1180px;
  margin:7px auto 12px;
  padding:0 15px;
  text-align:center;
  font-size:.60rem;
  opacity:.40;
}

@media(max-width:950px){
  .wee-sales-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:650px){

  .wee-sales{
    margin:20px 10px;
    padding:14px 10px;
  }

  .wee-sales-head p{
    display:none;
  }

  .wee-sales-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }

  .wee-sale-card{
    min-height:135px;
    padding:10px;
  }

  .wee-sale-card strong{
    font-size:.86rem;
  }

  .wee-sale-cta{
    font-size:.70rem;
  }
}

/* WEE SALES V1 END */


/* WEE PARTNERS V2 START */

/* GETYOURGUIDE */
.wee-gyg{
  border:2px solid #ff5533;
}

.wee-gyg .wee-sale-brand{
  background:#ff5533;
  color:#fff;
}

.wee-gyg .wee-sale-icon{
  background:#fff2ee;
}

.wee-gyg .wee-sale-cta{
  background:#ff5533;
  color:#fff!important;
}


/* EXPEDIA */
.wee-expedia{
  border:2px solid #1264a3;
}

.wee-expedia .wee-sale-brand{
  background:#1264a3;
  color:#fff;
}

.wee-expedia .wee-sale-icon{
  background:#edf6ff;
}

.wee-expedia .wee-sale-cta{
  background:#1264a3;
  color:#fff!important;
}


/* LOCALRENT */
.wee-localrent{
  border:2px solid #159447;
}

.wee-localrent .wee-sale-brand{
  background:#159447;
  color:#fff;
}

.wee-localrent .wee-sale-icon{
  background:#edf9f1;
}

.wee-localrent .wee-sale-cta{
  background:#159447;
  color:#fff!important;
}


/* DISCOVERCARS */
.wee-discover{
  border:2px solid #0066cc;
}

.wee-discover .wee-sale-brand{
  background:#0066cc;
  color:#fff;
}

.wee-discover .wee-sale-icon{
  background:#eef6ff;
}

.wee-discover .wee-sale-cta{
  background:#0066cc;
  color:#fff!important;
}

/* WEE PARTNERS V2 END */
