/* =====================================================================
   Thème « Mas aux Cèdres » (content/themes/masauxcedres) — chargé après css/prestige.css (base commune hp-*).
   Fidèle au site d'origine : orange #ED7202, noir et gris, blanc ; titres Sensaway Pro, texte Changa (polices de
   l'ancien thème, dossier fonts/) ; angles droits, menu et boutons en capitales espacées.
   Composants propres au Mas préfixés mc- : barre du haut, en-tête, onglets « Avis » / « Les + » (includes/layout.php),
   récits, FAQ, points forts et lieux (includes/blocks.php).
   ===================================================================== */

@font-face { font-family: "Sensaway Pro"; src: url(../fonts/sensaway_regular_STD.otf) format("opentype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Sensaway Pro"; src: url(../fonts/sensaway_heavy_STD.otf) format("opentype"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Changa"; src: url(../fonts/Changa-Light.ttf) format("truetype"); font-weight: 300; font-display: swap; }
@font-face { font-family: "Changa"; src: url(../fonts/Changa-Regular.ttf) format("truetype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Changa"; src: url(../fonts/Changa-Medium.ttf) format("truetype"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Changa"; src: url(../fonts/Changa-SemiBold.ttf) format("truetype"); font-weight: 600; font-display: swap; }

:root {
  --mc-orange: #ED7202;
  --mc-orange-deep: #C95F00;
  --mc-ink: #333333;
  --mc-black: #1B1B1B;
  --mc-grey: #7C7B7B;
  --hp-ink: var(--mc-ink);
  --hp-terra: var(--mc-orange);
  --hp-soft: #666666;
  --hp-mist: #F3F3F3;
  --hp-mist-deep: #E3E3E3;
  --hp-sand: #F7F5F2;
  --hp-line: #E3E3E3;
  --hp-display: "Sensaway Pro", "Changa", Georgia, serif;
  --bs-body-font-family: "Changa", "Montserrat", system-ui, sans-serif;
  --hp-hd: 85px;
  --mc-top: 36px;
}

/* ---------- Typographie ---------- */
body { font-family: var(--bs-body-font-family); font-weight: 300; font-size: 1.05rem; line-height: 1.7; color: var(--mc-ink); }
strong, b { font-weight: 600; }
.hp-display, .hp-title, .hp-h3 { font-family: var(--hp-display); text-transform: none; letter-spacing: .01em; font-weight: 400; }
.hp-display { font-size: clamp(2.2rem, 4.6vw, 4.6rem); line-height: 1.02; }
.hp-title { font-size: clamp(1.8rem, 3vw, 2.7rem); line-height: 1.12; }
.hp-display em, .hp-title em, .hp-h3 em { font-style: normal; color: var(--mc-orange); }
.hp-hero .hp-display, .hp-pagehead .hp-display, .hp-cta .hp-display { text-shadow: 1px 1px 2px rgba(0, 0, 0, .45); }
.hp-hero .hp-display em, .hp-pagehead .hp-display em, .hp-cta .hp-display em { color: #fff; }
.hp-label { font-weight: 600; font-size: .74rem; letter-spacing: .2em; color: var(--mc-orange); }
.hp-tagline { font-family: var(--bs-body-font-family); font-style: normal; font-weight: 300; text-shadow: 1px 1px 2px rgba(0, 0, 0, .45); }
.hotel-prose p { margin-bottom: 1rem; }

/* ---------- Angles droits partout ---------- */
.hp-section, .hp-hero, .hp-pagehead, .hp-panel, .hp-ft, .hp-menu, .btn, .hp-btn, .form-control, .form-select,
.hp-row-arch, .hp-rooms-arch, .hp-arch figure, .hp-split figure, .hp-zz-img, .hp-card-img, .hp-gift-img, .hp-collage figure,
.eg-listing-map, .eg-listing-map > *, .eg-bk-form, .eg-bk-form *, .eg-pill { border-radius: 0 !important; }
img { border-radius: 0 !important; }
/* les arches du thème de base deviennent des cadres droits */
.hp-row-arch, .hp-rooms-arch img, .hp-arch figure, .hp-split figure.is-arch, .hp-split figure.is-arch img, .hp-row-arch img { clip-path: none !important; -webkit-mask: none !important; mask: none !important; }

/* ---------- Boutons (carrés, orange, capitales espacées comme l'original) ---------- */
.hp-btn { letter-spacing: .14em; font-weight: 600; }
.hp-btn-ink { background: var(--mc-orange); color: #fff; }
.hp-btn-ink:hover { background: var(--mc-black); color: #fff; }
.hp-link { color: var(--mc-orange); font-weight: 600; letter-spacing: .14em; }
.mc-book { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .85rem 1.5rem; background: var(--mc-orange);
  color: #fff !important; font-weight: 600; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; white-space: nowrap;
  transition: background .25s; }
.mc-book:hover { background: var(--mc-black); }
.mc-book-lg { padding: 1.05rem 2.2rem; font-size: .86rem; }

/* ---------- Barre du haut ---------- */
.mc-top { background: var(--mc-black); color: #E9E9E9; font-size: .8rem; letter-spacing: .03em; }
.mc-top-in { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: var(--mc-top); padding: 0 var(--hp-pad); }
.mc-top a { color: inherit; text-decoration: none; }
.mc-top a:hover, .mc-top .hp-hd-lang a.active { color: var(--mc-orange); }
.mc-top-r { display: flex; align-items: center; gap: 1.4rem; }
.mc-best { display: inline-flex; align-items: center; gap: .4rem; font-weight: 500; }
.mc-best .bi { color: var(--mc-orange); font-size: 1rem; }

/* ---------- En-tête : logo, menu complet en capitales, RÉSERVER ---------- */
.hp-hd.mc-hd { display: flex; align-items: center; gap: 1.5rem; padding: 0 var(--hp-pad); background: #fff; border-bottom: 1px solid var(--hp-line); transition: height .3s, box-shadow .3s; }
.hp-hd.mc-hd.is-compact { height: 70px; box-shadow: 0 6px 20px -16px rgba(0, 0, 0, .5); }
.mc-brand { flex: 0 0 auto; display: block; }
.mc-brand img { display: block; height: 52px; width: auto; transition: height .3s; }
.mc-hd.is-compact .mc-brand img { height: 42px; }
.mc-nav { flex: 1 1 auto; display: flex; justify-content: center; }
.mc-nav > ul { gap: clamp(.7rem, 1.1vw, 1.4rem); }
.mc-nav > ul > li > a { display: block; max-width: 9.5rem; white-space: normal; text-align: center; line-height: 1.25; }
.mc-nav a { font-size: .8rem; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: var(--mc-ink); }
.mc-nav a.active, .mc-nav a:hover { color: var(--mc-orange); }
.mc-nav > ul > li > a::after { height: 2px; background: var(--mc-orange); }
.hp-hd-nav .hp-sub { box-shadow: 0 14px 30px -20px rgba(0, 0, 0, .45); border-top: 2px solid var(--mc-orange); }
.hp-hd-nav .hp-sub a { text-transform: none; font-weight: 400; font-size: .9rem; }
.mc-hd-r { flex: 0 0 auto; display: flex; align-items: center; gap: .8rem; }
.mc-hd-r .sh-cart-btn { position: relative; color: var(--mc-ink); font-size: 1.2rem; text-decoration: none; }
/* Bouton « Réserver » du plugin Réservation hôtel (Plugins › Réservation hôtel : plein ou contour), au style du thème */
.mc-hd-r .eg-bk-header-btn, .hp-menu-actions .eg-bk-header-btn { display: inline-flex; align-items: center; gap: .5rem; padding: .85rem 1.5rem !important; border: 2px solid var(--mc-orange); border-radius: 0 !important; background: var(--mc-orange); color: #fff !important; font-weight: 600; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; box-shadow: none; }
.mc-hd-r .eg-bk-header-btn:hover, .hp-menu-actions .eg-bk-header-btn:hover { background: var(--mc-black); border-color: var(--mc-black); color: #fff !important; }
.mc-hd-r .eg-bk-header-btn.btn-outline-primary { background: transparent; color: var(--mc-orange) !important; }
.mc-hd-r .eg-bk-header-btn.btn-outline-primary:hover { background: var(--mc-orange); border-color: var(--mc-orange); color: #fff !important; }
@media (max-width: 1439.98px) { .mc-hd-r .eg-bk-header-btn { padding: .75rem 1.1rem !important; letter-spacing: .1em; } }
@media (max-width: 575.98px) { .mc-hd-r .eg-bk-header-btn { display: none; } } /* barre fixe en bas sur mobile */
.hp-burger { display: none; padding: 10px 4px; }
.hp-burger span { height: 2px; }
@media (max-width: 1599.98px) { .mc-nav a { font-size: .74rem; } .mc-brand img { height: 46px; } }
@media (max-width: 1439.98px) { .mc-book { padding: .75rem 1.1rem; letter-spacing: .1em; } .mc-nav > ul > li > a { max-width: 8rem; } }
@media (max-width: 1279.98px) {
  .mc-nav { display: none; }
  .hp-burger { display: flex; }
  .mc-hd-r { margin-left: auto; }
}
@media (max-width: 767.98px) {
  :root { --hp-hd: 66px; }
  .mc-top-in { justify-content: center; }
  .mc-top-r { display: none; }
  .mc-brand img { height: 38px; }
}
@media (max-width: 575.98px) {
  .mc-hd .mc-hd-r > .mc-book { display: none; } /* barre « RÉSERVER » fixe en bas d'écran (plugin Réservation) */
  .hp-hd.mc-hd { gap: .8rem; }
  .mc-best { font-size: .72rem; }
}
.hp-menu-links a { font-family: var(--hp-display); text-transform: none; font-size: 1.6rem; }
.hp-menu-foot .mc-best { margin: 0 0 .6rem; }

/* ---------- Bandeaux ---------- */
.hp-hero h1, .hp-hero .hp-display { font-size: clamp(2.2rem, 5vw, 5rem); white-space: normal; text-wrap: balance; }
.hp-pagehead::after, .hp-hero::after { background: linear-gradient(180deg, rgba(0, 0, 0, .05) 35%, rgba(0, 0, 0, .45)); }

/* ---------- Sections ---------- */
.hp-sand { background: var(--hp-sand); }
.postlisting .hp-intro { margin-bottom: 0; }
.postlisting main > .hp-section:has(.hp-intro) { padding-bottom: 1rem; }
.postlisting .hotel-section { padding-top: 1.5rem; }
.hp-rooms-txt h3, .hp-row h2, .hp-arch h3 { text-transform: none; }
.hp-panel { background: var(--hp-sand); border-top: 3px solid var(--mc-orange); }

/* ---------- Récits (restauration, la maison, animaux) ---------- */
.mc-story { display: grid; gap: clamp(3rem, 7vw, 6rem); max-width: 1240px; margin: 0 auto; }
.mc-story-item { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; scroll-margin-top: calc(var(--hp-hd) + 30px); }
.mc-story-item.is-reverse .mc-story-img { order: 2; }
.mc-story-img { position: relative; margin: 0; }
.mc-story-img > img { width: 100%; aspect-ratio: 4 / 3.3; object-fit: cover; }
.mc-story-small { position: absolute; right: -24px; bottom: -28px; width: 36%; border: 6px solid #fff; background: #fff; }
.mc-story-item.is-reverse .mc-story-small { right: auto; left: -24px; }
.mc-story-small img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.mc-story-body .hotel-prose { color: var(--hp-soft); }
@media (max-width: 991.98px) {
  .mc-story-item { grid-template-columns: 1fr; }
  .mc-story-item.is-reverse .mc-story-img { order: 0; }
  .mc-story-small { right: 12px !important; left: auto !important; width: 34%; }
}

/* ---------- FAQ ---------- */
.mc-faq { max-width: 880px; margin: 0 auto; border-top: 1px solid var(--hp-line); }
.mc-faq-item { border-bottom: 1px solid var(--hp-line); }
.mc-faq-item summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.15rem 0; cursor: pointer; list-style: none;
  font-family: var(--hp-display); font-size: 1.25rem; color: var(--mc-black); }
.mc-faq-item summary::-webkit-details-marker { display: none; }
.mc-faq-item summary .bi { flex: 0 0 auto; color: var(--mc-orange); transition: transform .3s; }
.mc-faq-item[open] summary .bi { transform: rotate(45deg); }
.mc-faq-item .hotel-prose { padding-bottom: 1.2rem; color: var(--hp-soft); }

/* ---------- Points forts (page « Nos points forts ») ---------- */
.mc-feats { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 0; max-width: 1240px; margin: 0 auto; border-top: 1px solid var(--hp-line); border-left: 1px solid var(--hp-line); }
.mc-feat { padding: 2rem 1.6rem; border-right: 1px solid var(--hp-line); border-bottom: 1px solid var(--hp-line); background: #fff; }
.mc-feat .bi { display: block; color: var(--mc-orange); font-size: 1.8rem; margin-bottom: .8rem; }
.mc-feat h3 { font-family: var(--hp-display); font-size: 1.3rem; margin-bottom: .5rem; color: var(--mc-black); }
.mc-feat div { color: var(--hp-soft); font-size: .95rem; }
.mc-feat div p:last-child { margin-bottom: 0; }

/* ---------- Lieux (activités) + carte ---------- */
.mc-places { display: grid; gap: 0; border-top: 1px solid var(--hp-line); }
.mc-place { display: grid; grid-template-columns: 132px 1fr; gap: 1rem; align-items: center; padding: .8rem .4rem; border-bottom: 1px solid var(--hp-line); transition: background .2s; }
.mc-place:hover, .mc-place.is-on { background: #FFF6EE; }
.mc-place-img img { width: 132px; height: 100px; object-fit: cover; display: block; }
.mc-place .hp-label { margin-bottom: .2rem; }
.mc-place-t { font-family: var(--hp-display); font-size: 1.25rem; margin: 0 0 .25rem; }
.mc-place-t a { color: var(--mc-black); text-decoration: none; }
.mc-place p { margin: 0; font-size: .92rem; color: var(--hp-soft); line-height: 1.5; }
.eg-listing-split { gap: 1.6rem; }
.eg-listing-split .eg-listing-map { position: sticky; top: calc(var(--hp-hd) + 20px); }
@media (max-width: 575.98px) { .mc-place { grid-template-columns: 96px 1fr; } .mc-place-img img { width: 96px; height: 80px; } }

/* ---------- Onglets discrets « Avis » / « Les + » (bord gauche de l'écran) ---------- */
.mc-side { position: fixed; left: 0; top: 50%; transform: translateY(-50%); z-index: 1025; display: flex; align-items: flex-start; }
.mc-tabs { display: flex; flex-direction: column; gap: 4px; }
.mc-tab { display: flex; flex-direction: column; align-items: center; gap: .15rem; width: 74px; padding: .7rem .3rem; border: 0; background: var(--mc-black); color: #fff;
  font: 500 .95rem/1.1 var(--bs-body-font-family); cursor: pointer; transition: background .2s; }
.mc-tab .fa { font-size: 1.6rem; }
.mc-tab:hover, .mc-tab.is-on { background: var(--mc-orange); }
.mc-panel { position: relative; width: 320px; max-width: calc(100vw - 90px); margin-left: 4px; background: #fff; box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .45); }
.mc-panel-x { position: absolute; top: .3rem; right: .5rem; border: 0; background: none; font-size: 1.6rem; line-height: 1; color: var(--mc-black); cursor: pointer; }
.mc-panel-top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.1rem 2.2rem 1.1rem 1.2rem; background: #FDEEE2; font-size: 1.1rem; }
.mc-panel-top small { display: block; font-size: .78rem; color: var(--mc-grey); }
.mc-panel-top b, .mc-panel-rows b { font-weight: 400; font-size: 1.9rem; line-height: 1; white-space: nowrap; }
.mc-panel-top b small, .mc-panel-rows b small { display: inline; font-size: .8rem; color: var(--mc-grey); }
.mc-panel-rows { list-style: none; margin: 0; padding: .6rem 1.2rem; }
.mc-panel-rows li { display: flex; justify-content: space-between; align-items: baseline; padding: .55rem 0; font-size: 1.05rem; }
.mc-panel-rows b { font-size: 1.5rem; }
.mc-panel-rows a { color: inherit; text-decoration: none; }
.mc-panel-rows a:hover { color: var(--mc-orange); }
.mc-panel-list { list-style: none; margin: 0; padding: .6rem 1.2rem; }
.mc-panel-list li { display: flex; align-items: center; gap: .7rem; padding: .45rem 0; font-size: 1rem; }
.mc-panel-list .bi { color: var(--mc-orange); font-size: 1.15rem; width: 1.3rem; text-align: center; }
.mc-panel-more { display: block; padding: .8rem 1.2rem 1rem; font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mc-orange); text-decoration: none; border-top: 1px solid var(--hp-line); }
@media (max-width: 767.98px) {
  .mc-side { top: auto; bottom: 80px; transform: none; }
  .mc-tab { width: 58px; font-size: .78rem; padding: .5rem .2rem; }
  .mc-tab .fa { font-size: 1.2rem; }
}

/* ---------- Pied de page ---------- */
.hp-ft.mc-ft { background: var(--mc-black); color: #E9E9E9; padding: 0 var(--hp-pad); }
.mc-ft-book { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 2.5rem; padding: 2.6rem 0; border-bottom: 1px solid rgba(255, 255, 255, .14); }
.mc-ft-book .hp-label { margin-bottom: .3rem; }
.mc-ft-best { font: 400 clamp(1.6rem, 3vw, 2.3rem)/1.1 var(--hp-display); color: #fff; margin: 0; }
.mc-ft-cols { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 2.5rem; padding: 3.2rem 0; font-size: .95rem; }
.mc-ft-cols ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; }
.mc-ft-h { font: 600 .74rem/1 var(--bs-body-font-family); letter-spacing: .2em; text-transform: uppercase; color: var(--mc-orange); margin-bottom: 1.1rem; }
.mc-ft-logo { display: block; height: 60px; width: auto; margin-bottom: 1.2rem; background: transparent; } /* même logo que l’en-tête (logo du back-office, sinon logo.png) */
.mc-ft-badge { display: block; margin-top: 1.2rem; height: 56px; width: auto; background: #fff; padding: 6px 10px; }
.mc-ft-social { display: flex; gap: 1rem; margin-top: 1rem; font-weight: 500; }
.hp-ft.mc-ft .hp-ft-bot { background: transparent; color: #999; border-top: 1px solid rgba(255, 255, 255, .14); margin: 0; padding: 1.2rem 0; font-size: .8rem; }
@media (max-width: 991.98px) { .mc-ft-cols { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575.98px) { .mc-ft-cols { grid-template-columns: 1fr; } .mc-ft-book { justify-content: center; text-align: center; } }

/* ---------- Mobile : barre RÉSERVER du plugin en bas d'écran ---------- */
@media (max-width: 767.98px) { body { padding-bottom: 64px; } }

/* ---------- Fil Instagram (widget Elfsight, accueil) ---------- */
.mc-insta { padding-bottom: 3rem; }
.mc-insta .hp-title a { color: var(--mc-black); text-decoration: none; }
.mc-insta .hp-title a:hover { color: var(--mc-orange); }
/* le fil Instagram occupe toute la largeur de l'écran */
.hp-section.mc-insta { padding-left: 0; padding-right: 0; padding-bottom: 0; }
.mc-insta [class*="elfsight-app-"] { width: 100%; max-width: none; }

/* Nom défilant (« Lioux · Luberon · Provence ») : remplissage sable #F7F5F2, sans contour */
.hp-marquee span { -webkit-text-stroke: 0; color: #F7F5F2; animation-duration: 60s; } /* 40 s dans le thème de base */
.mc-hd-r .sh-cart-btn { order: -1; } /* panier avant « Réserver » */
/* Chambres & suites (liste et fiches) : photo du bandeau calée en bas */
.posttype_chambres .hp-pagehead .hp-bg { object-position: center bottom; }
