/* Riviera Event Pass 2.48.51 — accurate compact hero design.
   Scoped to home markup only. All real commercial controls are left native. */
html body.rep14-home .rep14-root.rep50-showcase {
 --rep51-navy:#02263e;--rep51-gold:#f6c96e;--rep51-cream:#fffbf5;
 background:#fffbf7!important;
}
/* Top bar: single line, flags + account + real existing checkout navigation. */
html body.rep14-home .rep14-root.rep50-showcase .rep14-header-main {
 min-height:92px!important;padding-top:10px!important;padding-bottom:10px!important;
 gap:14px;background:linear-gradient(110deg,#00243d,#032c48 72%,#002239)!important;
}
html body.rep14-home .rep14-root.rep50-showcase .rep14-brand img {width:100px!important;height:65px!important;}
html body.rep14-home .rep14-root.rep50-showcase .rep14-brand strong {font-size:clamp(25px,2.55vw,37px)!important;text-transform:uppercase;line-height:1.03;letter-spacing:.015em;}
html body.rep14-home .rep14-root.rep50-showcase .rep14-brand small {font-size:9px!important;letter-spacing:.16em;margin-top:4px;}
html body.rep14-home .rep14-root.rep50-showcase .rep14-tools {gap:14px;flex-shrink:0;}
html body.rep14-home .rep14-root.rep50-showcase .rep51-flags {display:flex;align-items:stretch;gap:9px;padding-right:14px;border-right:1px solid #91a8b470;}
html body.rep14-home .rep14-root.rep50-showcase .rep51-flags a {width:43px;min-height:53px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none!important;border-radius:5px;border:1px solid transparent;}
html body.rep14-home .rep14-root.rep50-showcase .rep51-flags a span {font-size:24px;line-height:1.15;}
html body.rep14-home .rep14-root.rep50-showcase .rep51-flags a small {font-size:10px;line-height:1.25;font-weight:700;color:#fff;}
html body.rep14-home .rep14-root.rep50-showcase .rep51-flags a:hover,html body.rep14-home .rep14-root.rep50-showcase .rep51-flags a[aria-current=page] {background:#ffffff14;border-color:#e2bb6775;}
html body.rep14-home .rep14-root.rep50-showcase .rep14-language-trigger {display:none!important;}
html body.rep14-home .rep14-root.rep50-showcase .rep14-tools .rep14-account-trigger {min-height:43px;border-radius:10px!important;padding:10px 15px!important;}
html body.rep14-home .rep14-root.rep50-showcase .rep14-tools .rep51-book-top {display:inline-flex!important;min-height:44px;padding:9px 17px;border-radius:12px!important;background:linear-gradient(#ffe39e,#dfa640)!important;color:#001e36!important;text-shadow:none;font-size:13px;}
html body.rep14-home .rep14-root.rep50-showcase .rep14-menu-bar {justify-content:center!important;min-height:55px!important;padding:3px 16px!important;}
html body.rep14-home .rep14-root.rep50-showcase .rep14-menu-bar nav {gap:clamp(16px,2.8vw,49px);justify-content:center;}
html body.rep14-home .rep14-root.rep50-showcase .rep14-menu-bar nav a {font-size:13px!important;min-height:43px;padding:0 0 2px;}
/* Riviera landscape: restrained height, high-quality photo, lettering on blue with gold rule. */
html body.rep14-home:has(.rep14-root) .rep14-root.rep50-showcase .rep14-main {width:min(1480px,calc(100% - 44px))!important;max-width:1480px!important;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-intro {
 min-height:252px!important;
 margin:0 calc((min(1480px,100vw - 44px) - 100vw)/2)!important;
 padding:26px 20px 90px!important;
 display:flex;justify-content:center;align-items:flex-start;
}
html body.rep14-home .rep14-root.rep50-showcase .rep50-intro::before {
 background-image:linear-gradient(180deg,#05335734,#052c4a22 43%,#001f381f 75%,#002b4d44),var(--rep50-banner);
 background-size:cover;background-position:center 52%;
}
html body.rep14-home .rep14-root.rep50-showcase .rep50-intro-body {width:min(1050px,100%);}
html body.rep14-home .rep14-root.rep50-showcase .rep50-intro h1 {font-size:clamp(36px,3.85vw,56px)!important;max-width:900px;margin:0 auto!important;line-height:1.05;letter-spacing:-.014em;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-intro p {margin:12px auto 0!important;font-size:13px!important;letter-spacing:.28em;}
html body.rep14-home .rep14-root.rep50-showcase .rep51-ornament {display:flex;justify-content:center;align-items:center;gap:14px;margin:13px auto 0;width:min(580px,90%);height:10px;}
html body.rep14-home .rep14-root.rep50-showcase .rep51-ornament:before,html body.rep14-home .rep14-root.rep50-showcase .rep51-ornament:after {content:"";height:1px;background:linear-gradient(90deg,transparent,#f5cb6e);flex:1;}
html body.rep14-home .rep14-root.rep50-showcase .rep51-ornament:after {background:linear-gradient(90deg,#f5cb6e,transparent);}
html body.rep14-home .rep14-root.rep50-showcase .rep51-ornament span {background:#f8cd76;width:36px;height:3px;border-radius:3px;}
/* Hero panels: rounded golden frame, dramatic inner photography and premium type. */
html body.rep14-home .rep14-root.rep50-showcase .rep50-offer-grid {gap:16px;margin:-65px 0 0!important;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-offer {min-height:415px;border-radius:24px;border:3px solid #f2ca78;box-shadow:0 10px 3px -6px #bb8524a0,0 15px 18px #1b1c1f3d;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-offer .rep50-photo {transform:scaleX(-1);background-position:center;background-size:cover;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-offer::after {background:linear-gradient(90deg,#001f3be8 0%,#002a48d9 30%,#022b4c8e 49%,#03213b16 75%,transparent 100%);}
html body.rep14-home .rep14-root.rep50-showcase .rep50-offer-content {min-height:415px!important;padding:25px 15px 27px 48px;width:min(70%,455px);justify-content:center;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-event-kicker {display:none!important;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-offer h2 {color:white!important;font:400 clamp(31px,3vw,45px)/1.02 Georgia,serif!important;margin:0 0 12px!important;text-shadow:0 2px 12px #001a2c88!important;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-offer h2 span {display:block;color:#fff;white-space:nowrap;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-offer h2 em {display:block;color:#ffd378;font-size:clamp(41px,4.15vw,65px);font-style:normal;letter-spacing:-.01em;white-space:nowrap;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-caption {font-size:13px!important;letter-spacing:.16em;white-space:nowrap;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-perks {gap:13px;border-top:0;margin:16px 0 20px!important;padding:13px 0 0!important;font-size:14px!important;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-perks:before {content:"";width:40px;height:2px;background:#e3b55b;position:absolute;margin-top:-15px;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-perks li {padding-left:35px;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-perks li::before {content:"✧";font-size:22px;line-height:1;left:1px;top:-2px;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-offer-link {min-height:53px;padding:12px 26px;font-size:16px;border-radius:33px;box-shadow:0 3px 15px #0003;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-benefits {margin:18px 0 9px!important;box-shadow:none!important;border:0!important;border-radius:0!important;background:transparent!important;padding:11px 0!important;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-benefits>div {font-size:14px!important;line-height:1.25!important;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-benefits span {font-size:31px!important;}
/* Less visual competition from the original maps: remain fully discoverable and clickable. */
html body.rep14-home .rep14-root.rep50-showcase .rep50-maps {margin:0 0 12px;}
@media(max-width:1390px){
 html body.rep14-home .rep14-root.rep50-showcase .rep14-brand strong {font-size:25px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-brand img {width:75px!important;height:54px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-header-main {padding-left:28px!important;padding-right:28px!important;min-height:77px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-tools {gap:9px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep51-flags {gap:3px;padding-right:8px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep51-flags a {width:32px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep51-flags a span {font-size:21px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer {min-height:355px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer-content {min-height:355px!important;padding-left:28px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer h2 {font-size:31px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer h2 em {font-size:47px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-caption {font-size:10px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-perks {font-size:12px!important;gap:8px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer-link {min-height:42px;font-size:13px;padding:10px 18px;}
}
@media(max-width:1010px){
 html body.rep14-home .rep14-root.rep50-showcase .rep14-header-main {gap:8px;padding-left:14px!important;padding-right:14px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-brand strong {font-size:20px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-brand small {font-size:7px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep51-flags a {width:28px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep51-flags a span {font-size:19px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-tools .rep14-account-trigger {padding:7px 8px!important;font-size:11px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-tools .rep51-book-top {font-size:11px;min-height:40px;padding:8px 10px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-intro {min-height:208px!important;padding:24px 20px 75px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer-grid {margin-top:-56px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer {min-height:340px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer-content {min-height:340px!important;padding-left:20px;width:85%;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer h2 {font-size:27px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer h2 em {font-size:39px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-perks {gap:6px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-perks li {padding-left:21px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-perks li::before {font-size:17px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-menu-bar nav {gap:13px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-menu-bar nav a {font-size:11px!important;}
}
@media(max-width:760px){
 html body.rep14-home .rep14-root.rep50-showcase .rep14-header-main {min-height:70px!important;padding:10px 14px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep51-flags {display:none!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-language-trigger {display:inline-flex!important;font-size:11px;min-height:39px;padding:8px 10px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-tools .rep14-account-trigger {display:none!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-brand img {width:59px!important;height:43px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-brand strong {font-size:17px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-brand small {font-size:6px!important;letter-spacing:.07em;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-tools .rep51-book-top {font-size:10px;min-height:36px;padding:7px 9px;border-radius:8px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-menu-bar {justify-content:flex-start!important;overflow-x:auto;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-menu-bar nav {flex-wrap:nowrap;white-space:nowrap;gap:15px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-intro {min-height:205px!important;padding:23px 18px 77px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-intro h1 {font-size:clamp(29px,6.5vw,38px)!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-intro p {font-size:8px!important;letter-spacing:.12em;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer-grid {grid-template-columns:1fr;gap:14px;margin-top:-56px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer {min-height:320px;border-radius:15px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer-content {min-height:320px!important;width:80%;padding:21px 18px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer h2 {font-size:30px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer h2 em {font-size:42px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-benefits {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 0;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-benefits>div {font-size:11px!important;}
}
@media(max-width:390px){
 html body.rep14-home .rep14-root.rep50-showcase .rep14-brand {gap:4px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-brand img {width:47px!important;height:36px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-brand strong {font-size:14px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-brand small {display:none;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-tools {gap:4px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-tools .rep51-book-top {padding:7px 6px;font-size:9px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer-content {width:90%;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer h2 em {font-size:36px;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-caption {white-space:normal;}
}
@media(prefers-reduced-motion:reduce){html body.rep14-home .rep14-root.rep50-showcase a:hover {transform:none!important;}}
/* Keep account, bookings and language controls reachable on narrow screens. */
@media(max-width:760px){
 html body.rep14-home .rep14-root.rep50-showcase .rep14-tools .rep14-account-trigger {display:inline-flex!important;min-height:36px!important;padding:7px 10px!important;font-size:11px!important;}
}
@media(max-width:600px){
 html body.rep14-home .rep14-root.rep50-showcase .rep14-header-main {flex-wrap:wrap;gap:5px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-brand {width:100%;justify-content:center;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-tools {width:100%;justify-content:center;flex-wrap:wrap;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-menu-bar {min-height:39px!important;}
}
/* Horizontal menu must start at Accueil, never crop the first link on phone. */
@media(max-width:760px){
 html body.rep14-home .rep14-root.rep50-showcase .rep14-menu-bar {display:block!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin;padding:0 12px!important;text-align:left!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-menu-bar nav {display:flex!important;width:max-content!important;margin:0!important;justify-content:flex-start!important;flex-wrap:nowrap!important;gap:18px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep14-menu-bar nav a {flex:0 0 auto!important;}
}

/* 2.48.64: visible flag links receive pointer hits, never the photo overlays. */
html body.rep14-home .rep14-root.rep50-showcase .rep14-tools .rep51-flags {position:relative;z-index:45;pointer-events:auto;}
html body.rep14-home .rep14-root.rep50-showcase .rep14-tools .rep51-flags a[data-rep-home-lang] {position:relative;z-index:46;pointer-events:auto;cursor:pointer;}

/* 2.48.64 — independent mobile flags (same 6 real URLs as desktop). */
html body.rep14-home .rep14-root.rep50-showcase .rep14-tools .rep14-languages {
  right:0;top:calc(100% + 8px);padding:10px;min-width:212px;
  max-width:min(290px,calc(100vw - 20px));background:#fff;
  border:1px solid #d6a34a;box-shadow:0 15px 35px #01182855;
  z-index:70;box-sizing:border-box;
}
html body.rep14-home .rep14-root.rep50-showcase .rep14-tools .rep14-languages .rep51-flags {
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;padding:0!important;margin:0!important;border:0!important;
  position:relative;z-index:71;
}
html body.rep14-home .rep14-root.rep50-showcase .rep14-tools .rep14-languages .rep51-flags a {
  display:flex!important;width:auto!important;min-width:0!important;min-height:54px;
  color:#092c42!important;border:1px solid #e8e2d4;border-radius:6px;
}
html body.rep14-home .rep14-root.rep50-showcase .rep14-tools .rep14-languages .rep51-flags a small {color:#092c42!important;}
