/* Fairmont Virage — scoped to the editorial article; no header/footer/nav overrides. */
.rep-virage{--navy:#122b39;--deep:#071e2a;--gold:#b08d57;--cream:#fbfaf7;--line:#e8e5df;--muted:#61707b;--ink:#1c2d38;--white:#fff;color:var(--ink);font:16px/1.66 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;max-width:none;width:min(1500px,calc(100vw - 52px));position:relative;left:50%;transform:translateX(-50%);margin:0;padding:0}
.rep-virage *, .rep-virage *:before, .rep-virage *:after{box-sizing:border-box}
.rep-virage a{text-decoration:none}
.rep-virage a:hover{text-decoration:underline}
.rep-virage{--navy:#122b39;--deep:#071e2a;--gold:#b08d57;--cream:#fbfaf7;--line:#e8e5df;--muted:#61707b;--ink:#1c2d38;--white:#fff}
.rep-virage .hero{display:grid;grid-template-columns:minmax(0,45%) minmax(0,55%);gap:0;overflow:hidden;border-radius:12px;background:var(--navy);color:white;min-height:400px;box-shadow:0 14px 42px #0f293015}
.rep-virage .hero-copy{padding:36px 32px 42px 39px;display:flex;flex-direction:column;justify-content:center}
.rep-virage .kicker{color:#d1b482;font-size:11px;text-transform:uppercase;letter-spacing:.21em;font-weight:800}
.rep-virage .hero h1{font:500 clamp(33px,3.2vw,53px)/1.15 Georgia,"Times New Roman",serif;letter-spacing:-.025em;margin:17px 0}
.rep-virage .hero p{color:#dce4e6;margin:0;font-size:16px}
.rep-virage .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.rep-virage .button{border-radius:7px;padding:13px 19px;background:#c2a476;color:#172b38;font-size:13px;font-weight:800;display:inline-block}
.rep-virage .button.outline{background:transparent;color:white;border:1px solid #8294a0}
.rep-virage .button:focus-visible,.rep-virage .linkcell:focus-visible{outline:3px solid #d6b97d}
.rep-virage .hero-img{display:block;width:100%;height:100%;min-height:400px;object-fit:cover;object-position:50% 57%}
.rep-virage .facts{display:grid;grid-template-columns:repeat(4,1fr);background:white;border:1px solid var(--line);margin-top:22px;border-radius:10px;padding:17px 22px;gap:14px}
.rep-virage .fact+.fact{border-left:1px solid var(--line);padding-left:23px}
.rep-virage .fact-label{text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800;color:#889398}
.rep-virage .fact-value{font-size:14px;font-weight:720;margin-top:4px}
.rep-virage .section{margin:61px auto}
.rep-virage .section>.kicker{color:#9c7b4b}
.rep-virage .section h2{font:500 clamp(29px,3vw,40px)/1.2 Georgia,"Times New Roman",serif;letter-spacing:-.015em;color:#142f3d;margin:10px 0 16px}
.rep-virage .lead{max-width:890px;color:#3f515d;font-size:18px;line-height:1.8}
.rep-virage .prose{max-width:860px}
.rep-virage .prose p{margin:13px 0;color:#485864}
.rep-virage .cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.rep-virage .panel{background:white;border:1px solid var(--line);padding:26px 28px;border-radius:12px;box-shadow:0 4px 22px #142f3907}
.rep-virage .panel .mini{color:#9c7b4b;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.14em}
.rep-virage .panel h3{font-size:23px;line-height:1.24;font-family:Georgia,serif;font-weight:500;margin:7px 0 12px}
.rep-virage .panel p{color:#53616a;font-size:14px;margin:0 0 10px}
.rep-virage .panel ul{margin:17px 0 0;padding-left:20px;font-size:14px;color:#3f515d}
.rep-virage .panel li{margin:6px 0}
.rep-virage .note{border-left:3px solid #b99b70;background:#fff;padding:18px 22px;border-radius:0 8px 8px 0;color:#58646a;font-size:14px;margin:23px 0}
.rep-virage .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.rep-virage .step{padding:23px 24px;border:1px solid var(--line);background:#fff;border-radius:10px}
.rep-virage .step em{display:block;font-style:normal;letter-spacing:.15em;color:#a98955;font-size:11px;font-weight:850}
.rep-virage .step h3{font-size:17px;margin:7px 0}
.rep-virage .step p{font-size:14px;margin:0;color:#586773}
.rep-virage .callout{background:#112f3f;color:#fff;border-radius:12px;padding:29px 34px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:46px}
.rep-virage .callout h2{color:#fff;margin:0 0 6px;font-size:29px}
.rep-virage .callout p{color:#c8d5dc;margin:0;font-size:14px}
.rep-virage .compare{border-top:1px solid var(--line);margin-top:68px;padding-top:53px}
.rep-virage .compare-header{display:flex;justify-content:space-between;align-items:end;gap:18px;flex-wrap:wrap}
.rep-virage .compare-header p{max-width:810px;color:#52616a;margin:4px 0 24px}
.rep-virage .table-clip{overflow-x:auto;border:1px solid var(--line);border-radius:11px;background:white;box-shadow:0 5px 25px #172f3906}
.rep-virage .compare table{border-collapse:collapse;width:100%;min-width:1350px;font-size:12px;line-height:1.5}
.rep-virage .compare th{text-align:left;background:#153545;color:#fff;padding:16px 13px;white-space:nowrap;font-weight:750;font-size:11px;letter-spacing:.01em}
.rep-virage .compare td{padding:17px 13px;vertical-align:middle;border-bottom:1px solid #ebeae6}
.rep-virage .compare tr:last-child td{border-bottom:0}
.rep-virage .compare tbody tr:first-child{background:#f8f3e9}
.rep-virage .compare b{font-size:13px;white-space:nowrap}
.rep-virage .compare td:nth-child(1){min-width:166px}
.rep-virage .compare td:nth-child(2){min-width:165px}
.rep-virage .compare td:nth-child(4){min-width:185px}
.rep-virage .money{font-weight:850;color:#153545;white-space:nowrap}
.rep-virage .linkcell{white-space:nowrap;text-decoration:underline;text-decoration-color:#b08d57;text-underline-offset:4px;color:#123849;font-weight:750}
.rep-virage .disclaimer{font-size:12px;line-height:1.55;color:#738089;padding:11px 1px}
.rep-virage .tag{font-size:11px;display:inline-block;border-radius:999px;border:1px solid #cad5d8;color:#56676f;padding:4px 12px;margin:9px 0 2px}
@media (max-width:850px){.rep-virage .hero{grid-template-columns:1fr}
.rep-virage .hero-img{min-height:290px;order:-1}
.rep-virage .hero-copy{padding:37px 27px 42px}
.rep-virage .facts{grid-template-columns:repeat(2,1fr)}
.rep-virage .fact:nth-child(3){border-left:0;padding-left:0}
.rep-virage .cols,.rep-virage .steps{grid-template-columns:1fr}
.rep-virage .callout{flex-direction:column;align-items:start}
.rep-virage .topbar .eyebrow-brand{display:none}}
@media (max-width:550px){.rep-virage .facts{padding:14px}
.rep-virage .fact+.fact{padding-left:13px}
.rep-virage .fact:nth-child(3){padding-left:0}
.rep-virage .section{margin:43px auto}
.rep-virage .hero h1{font-size:36px}
.rep-virage .panel{padding:23px}
.rep-virage .callout{padding:24px}}
@media(max-width:650px){.rep-virage{padding:0}.rep-virage .hero-img{min-height:270px}}

/* 2.48.67.53 — responsive article-only full-width treatment. */
.rep-virage .section>.prose,.rep-virage .section>.lead{max-width:890px}
.rep-virage .compare{width:100%}
.rep-virage .compare .table-clip{width:100%}
.rep-virage #rep-fairmont-faq .cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width: 850px){
  .rep-virage{width:calc(100vw - 30px)}
  .rep-virage .hero-img{height:340px;min-height:340px;order:-1}
  .rep-virage #rep-fairmont-faq .cols{grid-template-columns:1fr}
}
@media (max-width: 550px){
  .rep-virage{width:calc(100vw - 24px)}
  .rep-virage .hero-img{height:280px;min-height:280px}
}


/* 2.48.67.58 : exact Fairmont editorial design reused on the nine certified FR pillars. */
.rep-virage .section.faq .cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rep-virage[data-rep-monaco-pillar] .compare tbody tr:first-child{background:transparent}
.rep-virage[data-rep-monaco-pillar] .compare tbody tr.is-current{background:#f8f3e9}
@media(max-width:850px){.rep-virage .section.faq .cols{grid-template-columns:1fr}}
@media (min-width:851px) and (max-width:1100px){.rep-virage .hero-copy{padding:28px 24px}.rep-virage .hero h1{font-size:clamp(28px,3vw,38px)}}

/* 2.48.67.59 — 70px shorter Fairmont/pillar hero. Lock the rendered image row:
   the original min-height alone was expanded by the image's intrinsic aspect ratio. */
@media (min-width:851px) {
  .rep-virage .hero {height:330px;min-height:330px;grid-template-rows:minmax(0,330px)}
  .rep-virage .hero-img {height:330px;min-height:0;max-height:330px;object-fit:cover}
  .rep-virage .hero-copy {min-height:0;padding:20px 25px 22px 29px}
  .rep-virage .hero h1 {font-size:clamp(26px,2.85vw,42px);line-height:1.13;margin:10px 0 11px}
  .rep-virage .hero p {font-size:14px;line-height:1.4}
  .rep-virage .hero-actions {margin-top:17px;gap:9px}
  .rep-virage .hero .button {padding:10px 13px;font-size:12px}
}
@media (max-width:850px) {
  .rep-virage .hero {height:auto;min-height:0;grid-template-rows:auto auto}
  .rep-virage .hero-img {height:270px;min-height:270px;max-height:270px;object-fit:cover}
}
@media (max-width:550px) {
  .rep-virage .hero-img {height:210px;min-height:210px;max-height:210px}
}

/* Keep both Fairmont photographs centred on the hairpin and the F1 car when cropped. */
.rep-virage#rep-virage-fairmont .hero-img,
.rep-virage[data-rep-monaco-pillar="2"] .hero-img{object-position:50% 100%}
@media (min-width:851px) and (max-width:950px) {
  .rep-virage .hero-copy{padding:14px 19px}
  .rep-virage .hero h1{font-size:25px;line-height:1.10;margin:8px 0}
  .rep-virage .hero p{font-size:13px;line-height:1.35}
  .rep-virage .hero-actions{margin-top:12px;gap:8px}
  .rep-virage .hero .button{padding:8px 11px;font-size:11px}
}

/* Riviera 2.48.67.71 — two distinct offer actions in every commercial comparison.
   Existing columns remain intact; horizontal scrolling remains available on mobile. */
.rep-virage .compare .rep-compare-quote{color:#96621e;text-decoration-color:#bd9654}
.rep-virage .compare th:last-child,.rep-virage .compare td:last-child{min-width:125px}
.rep-virage .compare th:nth-last-child(2),.rep-virage .compare td:nth-last-child(2){min-width:155px}
.rep-virage .compare .table-clip{-webkit-overflow-scrolling:touch}


/* Riviera 2.48.67.72 — gallery of FOUR actual LCP Premium Pool Hospitality photographs.
   Restricted to Monaco pillar no. 9. No visual/layout change on the 9 other offers.
   Supplier sources: https://www.lcp-premium.com/hospitalite/grand-prix-de-monaco
   The existing local hero image remains as a background fallback if remote images fail. */
.rep-virage[data-rep-monaco-pillar="9"] .rep-pool-photo-quartet{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:minmax(0,56%) minmax(0,44%);
  gap:4px;min-width:0;min-height:0;width:100%;height:100%;
  overflow:hidden;background:#163644 var(--rep-pool-photo-fallback) center / cover no-repeat;
}
.rep-virage[data-rep-monaco-pillar="9"] .rep-pool-photo-quartet img{
  display:block;min-width:0;min-height:0;width:100%;height:100%;
  object-fit:cover;object-position:center;background-color:transparent;
  font-size:0;color:transparent;
}
.rep-virage[data-rep-monaco-pillar="9"] .rep-pool-photo-quartet .rep-pool-photo-main{
  grid-column:1 / -1;object-position:50% 51%;
}
.rep-virage[data-rep-monaco-pillar="9"] .rep-pool-photo-quartet .rep-pool-photo-small:nth-child(2){object-position:50% 48%}
.rep-virage[data-rep-monaco-pillar="9"] .rep-pool-photo-quartet .rep-pool-photo-small:nth-child(3){object-position:50% 48%}
.rep-virage[data-rep-monaco-pillar="9"] .rep-pool-photo-quartet .rep-pool-photo-small:nth-child(4){object-position:50% 55%}
@media(max-width:850px){
  .rep-virage[data-rep-monaco-pillar="9"] .rep-pool-photo-quartet{
    height:270px;min-height:270px;max-height:270px;order:-1;
  }
}
@media(max-width:550px){
  .rep-virage[data-rep-monaco-pillar="9"] .rep-pool-photo-quartet{
    height:210px;min-height:210px;max-height:210px;gap:3px;
  }
}

/* Riviera 2.48.67.109 — Monaco comparison: accessible branded calls to action. */
.rep-virage .compare a.rep-offer-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 12px;border-radius:6px;text-align:center;text-decoration:none!important;font:700 12px/1.25 system-ui,-apple-system,"Segoe UI",sans-serif;white-space:normal;max-width:100%;box-shadow:0 1px 2px rgba(13,42,56,.09);transition:background-color .15s,border-color .15s}
.rep-virage .compare a.rep-offer-btn--outline{background:#123849;color:#fff!important;border:1px solid #123849}
.rep-virage .compare a.rep-offer-btn--outline:hover{background:#20546b;color:#fff!important}
.rep-virage .compare a.rep-offer-btn--gold{background:#d5ab62;color:#122b39!important;border:1px solid #bc914b}
.rep-virage .compare a.rep-offer-btn--gold:hover{background:#edc681;color:#122b39!important}
.rep-virage .compare a.rep-offer-btn:focus-visible{outline:3px solid #c99a43;outline-offset:3px}
.rep-virage .compare td:nth-last-child(2){min-width:188px}
.rep-virage .compare td:last-child{min-width:134px}
@media(max-width:640px){.rep-virage .compare a.rep-offer-btn{min-height:42px}}

/* Riviera 2.48.67.111 — Monaco comparison, ten equal-width two-line offer CTAs.
   Scope ONLY the penultimate "Voir l'offre" column, on Fairmont and nine pillars.
   This leaves the adjacent gold Tarifs et devis column untouched. */
.rep-virage .compare th:nth-last-child(2),
.rep-virage .compare td:nth-last-child(2) { min-width:255px; }
.rep-virage .compare td:nth-last-child(2) a.rep-offer-btn--outline {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  width:100%;
  max-width:none;
  min-height:54px;
  margin:0;
  padding:9px 10px;
  text-align:center;
  line-height:1.2;
  white-space:normal;
}
.rep-virage .compare td:nth-last-child(2) .rep-offer-btn-intro,
.rep-virage .compare td:nth-last-child(2) .rep-offer-btn-name {
  display:block;
  width:100%;
  text-align:center;
  white-space:nowrap;
}

/* 2.48.67.112 — vertical middle alignment across all 8 comparison columns;
   preserve left-aligned copy, centered two-line offer links, widths and hrefs. */

/* Riviera 2.48.67.114 — the ten Monaco FR commercial detail pages share
   the existing 1500px editorial shell, with no legacy 860/890px text cap.
   Keep side-by-side cards and comparison tables unchanged. */
.rep-virage[data-rep-monaco-pillar] .section > .lead,
.rep-virage[data-rep-monaco-pillar] .section > .prose {
  display:block;
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
  min-width:0;
}
.rep-virage[data-rep-monaco-pillar] .section > .prose > p,
.rep-virage[data-rep-monaco-pillar] .section > .lead {
  max-width:none;
  overflow-wrap:break-word;
}
@media(max-width:850px){
 .rep-virage[data-rep-monaco-pillar] .section > .lead,
 .rep-virage[data-rep-monaco-pillar] .section > .prose {width:100%;max-width:none}
}

/* Riviera 2.48.67.115 — refined, centered editorial cards for the TEN Monaco
   offer details. Keep the 1500px overall template, full-width hero, gallery,
   FAQ and comparison; restore a readable measure for paragraphs. */
.rep-virage[data-rep-monaco-pillar] .section > .lead,
.rep-virage[data-rep-monaco-pillar] .section > .prose{
  box-sizing:border-box;
  width:min(100%,1020px);
  max-width:1020px;
  margin-left:auto;
  margin-right:auto;
  min-width:0;
  padding:24px clamp(22px,3vw,38px);
  border-radius:13px;
  border:1px solid #e7e1d6;
  box-shadow:0 5px 20px rgba(14,43,57,.045);
}
.rep-virage[data-rep-monaco-pillar] .section > .lead{
  background:#f9f6f0;
  border-left:4px solid #b99760;
  color:#364d5a;
  font-size:clamp(16px,1.3vw,18px);
  line-height:1.75;
  margin-top:18px;
  margin-bottom:16px;
}
.rep-virage[data-rep-monaco-pillar] .section > .prose{
  background:#fff;
  margin-top:16px;
  margin-bottom:25px;
  font-size:16px;
  line-height:1.78;
}
.rep-virage[data-rep-monaco-pillar] .section > .prose > p{
  margin:0 auto 14px;
  max-width:80ch;
  overflow-wrap:break-word;
}
.rep-virage[data-rep-monaco-pillar] .section > .prose > p:last-child{margin-bottom:0}
@media(max-width:650px){
  .rep-virage[data-rep-monaco-pillar] .section > .lead,
  .rep-virage[data-rep-monaco-pillar] .section > .prose{
    width:100%;
    padding:17px 17px 18px;
    border-radius:10px;
  }
  .rep-virage[data-rep-monaco-pillar] .section > .lead{font-size:16px;line-height:1.65}
  .rep-virage[data-rep-monaco-pillar] .section > .prose{font-size:15px;line-height:1.7}
}

/* Riviera 2.48.67.124: same FR card architecture for localized Monaco details. */
.rep-monaco-localized-rich[dir="rtl"]{direction:rtl;text-align:right}
.rep-monaco-localized-rich[dir="rtl"] .hero-actions,.rep-monaco-localized-rich[dir="rtl"] .callout{direction:rtl}
.rep-monaco-localized-rich .hero-copy p,.rep-monaco-localized-rich .panel p{overflow-wrap:anywhere}
@media(max-width:700px){.rep-monaco-localized-rich .hero{display:block}.rep-monaco-localized-rich .hero-img{max-width:100%;height:auto}.rep-monaco-localized-rich .steps{grid-template-columns:1fr}}
/* RTL mobile: keep the translated offer inside the visible viewport even when
   the native WordPress wrapper is narrower than the viewport. */
@media(max-width:700px){
 .rep-monaco-localized-rich[dir="rtl"]{width:calc(100vw - 36px);max-width:calc(100vw - 36px)}
}

/* Riviera 2.48.67.125 — same approved French Monaco comparison visual system
   for the seven SQL-certified localized catalogues. Scope is strictly the
   translated catalogue comparison, never the offer cards, tariffs or header. */
.rep-virage.rep-monaco-catalogue-comparison .compare {
  border-top:1px solid #e7e1d6;
  margin-top:40px;
  padding-top:33px;
}
.rep-virage.rep-monaco-catalogue-comparison .compare th {
  white-space:normal;
  vertical-align:middle;
  line-height:1.4;
  text-align:start;
  min-width:130px;
}
.rep-virage.rep-monaco-catalogue-comparison .compare td {
  vertical-align:middle;
  text-align:start;
  overflow-wrap:break-word;
}
.rep-virage.rep-monaco-catalogue-comparison .compare td:nth-last-child(2),
.rep-virage.rep-monaco-catalogue-comparison .compare th:nth-last-child(2) {min-width:240px;}
.rep-virage.rep-monaco-catalogue-comparison .compare td:last-child,
.rep-virage.rep-monaco-catalogue-comparison .compare th:last-child {min-width:205px;}
.rep-virage.rep-monaco-catalogue-comparison .compare td:nth-last-child(2) a.rep-offer-btn {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:100%; min-height:56px; line-height:1.25; padding:9px 12px; gap:2px;
  white-space:normal; text-align:center; text-decoration:none!important;
}
.rep-virage.rep-monaco-catalogue-comparison .compare td:nth-last-child(2) .rep-offer-btn-intro,
.rep-virage.rep-monaco-catalogue-comparison .compare td:nth-last-child(2) .rep-offer-btn-name {
  display:block; text-align:center; width:100%; white-space:normal;
  overflow-wrap:break-word;
}
.rep-virage.rep-monaco-catalogue-comparison .compare td:last-child a.rep-offer-btn--gold {
  width:100%; min-height:56px; display:flex; align-items:center;
  justify-content:center; text-align:center; white-space:normal; line-height:1.25;
  overflow-wrap:break-word;
}
.rep-virage.rep-monaco-catalogue-comparison .compare .table-clip:focus-visible {
  outline:3px solid #c99a43; outline-offset:3px;
}
.rep-virage.rep-monaco-catalogue-comparison .compare tr:nth-child(even) {background:#faf9f6;}
.rep-virage.rep-monaco-catalogue-comparison .compare tr:first-child {background:#f8f3e9;}
.rep-virage.rep-monaco-catalogue-comparison .compare b {white-space:normal;}
.rep-virage.rep-monaco-catalogue-comparison .compare .money {white-space:nowrap;}
@media(max-width:640px){
 .rep-virage.rep-monaco-catalogue-comparison .compare {margin-top:26px;padding-top:25px;}
 .rep-virage.rep-monaco-catalogue-comparison .compare a.rep-offer-btn {min-height:54px;}
}

/* 2.48.67.127 — Keep localized Arabic comparison inside its mobile content
   column; the horizontally scrollable TABLE remains inside .table-clip. */
@media(max-width:700px){
  .rep-virage.rep-monaco-catalogue-comparison[dir="rtl"]{
    width:100%;max-width:100%;min-width:0;box-sizing:border-box;
  }
}
