/*
*Theme Name:     CozyStay Child Theme
*Template:       cozystay
*Text Domain:    cozystay-child
*Version:        1.0
*/

/* =========================================================
   COTTAGE — FONTS
========================================================= */

@font-face {
  font-family: "Valpo Condensed";
  src: url("https://lecottagedulouvre.com/wp-content/uploads/2026/04/ValpoCondensedTESTFONT-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("https://lecottagedulouvre.com/wp-content/uploads/2026/04/Inter-VariableFont_slnt_wght.woff") format("woff");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

body, p, li, a, input, textarea, select, button, label, span, div {
  font-family: "Inter", sans-serif;
}

h1, h2, h3, h4, h5, h6,
.cs-title, .post-title, .item-title,
.overlay-label-text, .cs-info-box-title, .cs-cta-title,
.read-more-btn, .button, .elementor-button-text, .cs-btn-text,
.elementor-heading-title {
  font-family: "Valpo Condensed", serif !important;
}

body, p, li, a, input, textarea, select, button, label,
.elementor-widget-text-editor,
.elementor-icon-box-title,
.elementor-icon-box-description {
  font-family: "Inter", sans-serif !important;
}


/* =========================================================
   ICÔNES — FIX GLOBAL
========================================================= */

[class^="cs-icon-"], [class*=" cs-icon-"] {
  font-family: "cs-icon" !important;
}

.fa, .fas, .far, .fab,
.eicon, [class^="eicon-"], [class*=" eicon-"] {
  font-family: "Font Awesome 5 Free" !important;
}

img.emoji,
.cottage-equipements img.emoji,
.elementor-widget-text-editor img.emoji {
  display: inline-block !important;
  width: 22px !important;
  height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  object-fit: contain !important;
  vertical-align: -4px !important;
  margin: 0 10px 0 0 !important;
}

.elementor-icon, .elementor-icon i, .elementor-icon svg,
.elementor-widget-icon .elementor-icon,
.elementor-widget-icon-box .elementor-icon {
  font-size: 34px !important;
  width: 34px !important;
  height: 34px !important;
  line-height: 1 !important;
}

.elementor-widget-icon-box .elementor-icon-box-icon {
  width: auto !important;
  height: auto !important;
  margin-bottom: 12px !important;
}

.elementor-icon svg,
.elementor-widget-icon svg,
.elementor-widget-icon-box svg {
  width: 34px !important;
  height: 34px !important;
}

.cottage-equipements img,
.cottage-equipements svg,
.cottage-equipements i,
.elementor-icon-box-icon,
.elementor-icon-box-icon i,
.elementor-icon-box-icon svg {
  width: 22px !important;
  height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  font-size: 22px !important;
  line-height: 1 !important;
}


/* =========================================================
   BARRE DE RECHERCHE
========================================================= */

.cs-reservation-form.style-banner,
.cs-reservation-form.style-banner-2 {
  background: #ffffff !important;
  border-radius: 16px !important;
}

.cs-form-wrap .cs-form-field { background: #ffffff !important; }

.cs-form-wrap .cs-form-label {
  font-family: "Inter", sans-serif !important;
  font-weight: 500 !important;
  color: #77160E !important;
  font-size: 14px !important;
}

.cs-form-wrap input,
.cs-form-wrap select,
.cs-form-wrap .cs-field-value {
  font-family: "Inter", sans-serif !important;
  font-weight: 500 !important;
  color: #77160E !important;
}

.cs-form-wrap .cs-form-icon i,
.cs-form-wrap .cs-form-icon svg {
  color: #B0A23F !important;
  fill: #B0A23F !important;
}

.cs-form-wrap .cs-form-field + .cs-form-field {
  border-left: 1px solid rgba(176,162,63,0.4) !important;
}

.cs-reservation-form .cs-button,
.cs-reservation-form .cs-btn,
.cs-reservation-form button,
.cs-reservation-form input[type="submit"] {
  background: #77160E !important;
  color: #ffffff !important;
  font-family: "Inter", sans-serif !important;
  font-weight: 500 !important;
  border-radius: 8px !important;
  border: none !important;
  padding: 14px 24px !important;
  transition: 0.3s ease !important;
}

.cs-reservation-form .cs-button:hover,
.cs-reservation-form .cs-btn:hover,
.cs-reservation-form button:hover {
  background: #5f110b !important;
}

.elementor-2064 .elementor-element.elementor-element-3bda86e6 > .elementor-widget-container {
  background: #FFFFFF !important;
}

.elementor-element-c7b51ea,
.elementor-element-c7b51ea *,
.elementor-element-c7b51ea .elementor-widget-container,
.elementor-element-c7b51ea .cs-reservation-form,
.elementor-element-c7b51ea .cs-form-wrap,
.elementor-element-c7b51ea .cs-form-field,
.elementor-element-c7b51ea .field-wrap,
.elementor-element-c7b51ea .field-input-wrap {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.elementor-element-c7b51ea .cs-submit,
.elementor-element-c7b51ea .cs-submit *,
.elementor-element-c7b51ea .cs-submit button {
  background: #77160E !important;
  color: #ffffff !important;
}

.elementor-element-c7b51ea label,
.elementor-element-c7b51ea input {
  color: #77160E !important;
}


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

.elementor-2064 .elementor-element.elementor-element-7261abc6 .cs-title-btn .button,
.elementor-2064 .elementor-element.elementor-element-7261abc6 .cs-title-btn .elementor-button-link {
  background: #FFF8CA !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 16px 34px !important;
  min-height: 56px !important;
  box-shadow: none !important;
}

.elementor-2064 .elementor-element.elementor-element-7261abc6 .cs-title-btn .cs-btn-text,
.elementor-2064 .elementor-element.elementor-element-7261abc6 .cs-title-btn .elementor-button-text {
  font-family: "Inter", sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: #77160E !important;
  line-height: 1 !important;
}

.elementor-button-text, .cs-btn-text, .button span, button span {
  font-family: "Inter", sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}


/* =========================================================
   CARDS LOGEMENTS
========================================================= */

.overlay-label-text,
.post.cs-room-item .overlay-label-text,
.cs-room-item .overlay-label-text {
  font-family: "Inter", sans-serif !important;
  font-weight: 500 !important;
  color: #77160E !important;
}

.cs-room-content .post-title a,
.cs-room-content .item-title a,
.cs-room-item .post-title a,
.post.cs-room-item .post-title a {
  font-family: "Valpo Condensed", serif !important;
  color: #77160E !important;
  font-size: 38px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
}

.cs-room-basic-info .csrbi-text,
.cs-room-basic-info span,
.cs-room-basic-info li {
  font-family: "Inter", sans-serif !important;
  color: #77160E !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}

.cs-room-basic-info .csrbi-icon i,
.cs-room-basic-info .csrbi-icon:before,
.cs-room-basic-info i {
  color: #77160E !important;
}

.cs-room-basic-info .csrbi-icon svg {
  fill: #B0A23F !important;
  color: #B0A23F !important;
}

.cs-room-content .post-excerpt,
.cs-room-content .post-excerpt p,
.cs-room-content .item-excerpt,
.cs-room-content .item-excerpt p {
  font-family: "Inter", sans-serif !important;
  color: #77160E !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  margin-bottom: 0 !important;
}

.cs-room-content .read-more-btn,
.cs-room-content .more-btn .button,
.cs-room-item .read-more-btn {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-height: auto !important;
  text-decoration: none !important;
}

.cs-room-content .read-more-btn span,
.cs-room-content .more-btn .button span,
.cs-room-item .read-more-btn span {
  color: #77160E !important;
}

/* Badges type logement */
.featured-img { position: relative; }

.cottage-room-type-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 20;
  padding: 6px 14px;
  border-radius: 999px;
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
}

.cottage-room-type-studio { background: #FFF8CA; color: #77160E; }
.cottage-room-type-t2 { background: #E4F1E8; color: #53624E; }
.cottage-room-type-t3 { background: #F8F2E8; color: #1D1D1B; }


/* =========================================================
   BOUTON DÉCOUVRIR (traduction)
========================================================= */

.read-more-btn span { font-size: 0 !important; }
.read-more-btn span::before {
  content: "Découvrir";
  font-size: 14px !important;
}


/* =========================================================
   BLOG — WIDGET PAGE ACCUEIL (3d61a8d)
========================================================= */

.elementor-element-3d61a8d .post-content {
  padding: 95px 24px 95px !important;
  transform: translateY(0) !important;
}

.elementor-element-3d61a8d .post-header {
  transform: translateY(25px) !important;
}

.elementor-element-3d61a8d .post-footer {
  transform: translateY(25px) !important;
}

.elementor-element-3d61a8d .read-more-btn span { font-size: 0 !important; }
.elementor-element-3d61a8d .read-more-btn span::before {
  content: "Lire l'article";
  font-size: 13px !important;
}

/* Titres articles blog */
.post-title, .post-title a,
h2.post-title, h2.post-title a,
.blog .post-title a,
.cs-post-item .post-title a,
.elementor-widget-container .post-title a {
  font-family: "Valpo Condensed", serif !important;
  color: #ffffff !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
}

h2.post-title, h2.post-title a { font-size: 42px !important; }
.post-title a:hover { color: #b0a23f !important; }

/* Masque la date */
.overlay-label.time-label,
.overlay-label.time-label.featured-style,
.meta-item.time,
time.published { display: none !important; }

.post .overlay-label,
.cs-post-item .overlay-label { pointer-events: none !important; }

/* Blog/archive pages */
.blog .post-content,
.archive .post-content {
  padding: 150px 24px 30px !important;
  transform: translateY(0) !important;
}

.single-post .post-content { padding: 0 !important; }

.blog .post-content .read-more-btn span,
.archive .post-content .read-more-btn span,
.single-post .post-content .read-more-btn span { font-size: 0 !important; }

.blog .post-content .read-more-btn span::before,
.archive .post-content .read-more-btn span::before,
.single-post .post-content .read-more-btn span::before {
  content: "Lire l'article";
  font-size: 13px !important;
}


/* =========================================================
   SECTION "POURQUOI SÉJOURNER"
========================================================= */

.cottage-why {
  background: #b0a23f !important;
  padding: 70px 40px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.cottage-why * { box-sizing: border-box !important; }

.cottage-why-title {
  font-family: "Valpo Condensed", serif !important;
  color: #77160e !important;
  font-size: 56px !important;
  line-height: 1 !important;
  margin: 0 0 50px !important;
  padding: 0 !important;
  font-weight: 400 !important;
}

.cottage-why-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
}

.cottage-why-card {
  background: #fff !important;
  border-radius: 20px !important;
  padding: 22px 16px 18px !important;
}

.cottage-why-card-title {
  font-family: "Valpo Condensed", serif !important;
  color: #77160e !important;
  font-size: 35px !important;
  line-height: 1.05 !important;
  margin: 0 0 18px !important;
  font-weight: 400 !important;
  text-decoration: underline !important;
  text-underline-offset: 6px !important;
}

.cottage-why-icon { display: none !important; }

.cottage-why-card-text {
  background: #fff8ca !important;
  color: #77160e !important;
  border-radius: 26px !important;
  padding: 14px 18px !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
}

.cottage-why-card-title .icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  margin-left: 8px !important;
  vertical-align: middle !important;
}

.cottage-why-card-title .icon img {
  width: 22px !important;
  height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  object-fit: contain !important;
  margin: 0 !important;
}


/* =========================================================
   AVIS / TESTIMONIALS
========================================================= */

.cs-testimonial-content {
  font-size: 0 !important;
  line-height: 0 !important;
}

.cs-testimonial-content::before {
  content: "« Nous avons passé une nuit dans ce logement et nous le recommandons vivement ! L'appartement est très facile d'accès, très propre et parfaitement conforme aux informations mentionnées dans l'annonce. L'hôte était en plus très sympathique et a su nous renseigner sur les activités/restaurants aux alentours. Logement parfait ! »";
  display: block !important;
  font-family: "Inter", sans-serif !important;
  font-size: 20px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  color: #1a1a1a !important;
  max-width: 850px !important;
  margin: 0 auto !important;
}

.elementor-testimonial-name { font-size: 0 !important; }

.elementor-testimonial-name::before {
  content: "Rachel";
  font-family: "Valpo Condensed", serif !important;
  color: #77160e !important;
  font-size: 26px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
}

.elementor-testimonial-job {
  font-family: "Inter", sans-serif !important;
  color: #000 !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}


/* =========================================================
   FOOTER (elementor-53)
========================================================= */

.elementor-53 .elementor-element.elementor-element-edeed13,
.elementor-53 .elementor-element.elementor-element-edeed13 > .elementor-background-overlay {
  background-color: #53624E;
}


/* =========================================================
   TITRE LOGEMENT (single-room)
========================================================= */

.single-room .entry-title,
h1.entry-title {
  color: #77160E !important;
  font-size: 56px !important;
  line-height: 0.95 !important;
  font-family: "Valpo Condensed", serif !important;
  font-weight: 400 !important;
}

/* Pages logements — texte bordeaux */
body.single-room .entry-content,
body.single-room .entry-content p,
body.single-room .entry-content li,
body.single-room .entry-content span,
body.single-room .item-subtitle,
body.single-room .post-header,
body.single-room .elementor-widget-text-editor p,
body.single-room .elementor-icon-list-item,
body.single-room .elementor-icon-list-text {
  color: #77160E !important;
}

body.single-room h3,
body.single-room h4,
body.single-room h5,
body.single-room h6 {
  color: #77160E !important;
  font-family: "Valpo Condensed", serif !important;
}

/* Logements similaires — texte blanc */
body.single-room .similar-rooms .post-title a,
body.single-room .similar-rooms .item-title a,
body.single-room .similar-rooms .item-subtitle,
body.single-room .similar-rooms .post-excerpt p,
body.single-room .similar-rooms .item-excerpt p {
  color: #ffffff !important;
}

/* Titres Disponibilités + Logements similaires */
h4.room-availability-title,
h4.similar-rooms-title {
  font-family: "Valpo Condensed", serif !important;
  color: #77160E !important;
  font-size: 38px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  border-top: 1px solid rgba(119,22,14,0.15) !important;
  padding-top: 40px !important;
  margin-bottom: 24px !important;
}


/* =========================================================
   ÉQUIPEMENTS
========================================================= */

.cottage-equipements {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 70px;
  margin-top: 20px;
}

.cottage-equipements div,
.cottage-equipements span:not(.emoji) {
  font-family: "Inter", sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: #77160E !important;
  display: flex;
  align-items: center;
  gap: 14px;
}

.cottage-equipements .emoji {
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif !important;
  font-size: 20px !important;
  width: 28px !important;
  flex: 0 0 28px !important;
  line-height: 1;
  text-align: center;
}


/* =========================================================
   ACCÈS / TRANSPORT
========================================================= */

.cottage-access-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 30px !important;
  text-align: center !important;
}

.cottage-access-item h3 {
  font-family: "Valpo Condensed", serif !important;
  color: #77160e !important;
  font-size: 32px !important;
  line-height: 1 !important;
  margin: 0 0 6px !important;
  text-decoration: underline !important;
  text-underline-offset: 6px !important;
}

.cottage-access-item p {
  font-family: "Inter", sans-serif !important;
  color: #77160e !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}

.cottage-access-item span,
.cottage-access-item img.emoji {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  vertical-align: -2px !important;
}


/* =========================================================
   PAGE À PROPOS (2593) — cartes logements
========================================================= */

body.page-id-2593 .cs-room-item .post-title,
body.page-id-2593 .cs-room-item .post-title a,
body.page-id-2593 .cs-room-item .item-title,
body.page-id-2593 .cs-room-item .item-title a,
body.page-id-2593 .cs-room-item .csrbi-text,
body.page-id-2593 .cs-room-item .cs-room-basic-info span,
body.page-id-2593 .cs-room-item .cs-room-basic-info li {
  color: #ffffff !important;
}

body.page-id-2593 .cs-room-item .cs-room-basic-info i,
body.page-id-2593 .cs-room-item .cs-room-basic-info svg,
body.page-id-2593 .cs-room-item .csrbi-icon,
body.page-id-2593 .cs-room-item .csrbi-icon * {
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

body.page-id-2593 .cs-room-item::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 48%;
  background: linear-gradient(to top, rgba(0,0,0,.38), transparent);
  pointer-events: none;
  z-index: 1;
}

body.page-id-2593 .cs-room-item .post-content,
body.page-id-2593 .cs-room-item .cs-room-content,
body.page-id-2593 .cs-room-item .post-title,
body.page-id-2593 .cs-room-item .cs-room-basic-info {
  position: relative;
  z-index: 2;
}

body.page-id-2593 .cs-room-item h2.post-title.item-title,
body.page-id-2593 .cs-room-item h2.post-title.item-title a {
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
}

body.page-id-2593 .cs-room-item .post-content {
  padding: 90px 24px 42px !important;
  transform: translateY(0) !important;
}

body.page-id-2593 .cs-room-item .post-header,
body.page-id-2593 .cs-room-item h2.post-title.item-title,
body.page-id-2593 .cs-room-item .cs-room-basic-info {
  top: 0 !important;
  transform: translateY(0) !important;
}


/* =========================================================
   BULLETS — pages spécifiques
========================================================= */

body.page-id-2706 .elementor-widget-text-editor ul,
body.page-id-3 .elementor-widget-text-editor ul,
body.page-id-2711 .elementor-widget-text-editor ul,
body.page-id-2716 .elementor-widget-text-editor ul {
  list-style: disc inside !important;
  padding-left: 0 !important;
  margin: 0 auto !important;
  display: block !important;
  max-width: 600px;
}

body.page-id-2706 .elementor-widget-text-editor ul li,
body.page-id-3 .elementor-widget-text-editor ul li,
body.page-id-2711 .elementor-widget-text-editor ul li,
body.page-id-2716 .elementor-widget-text-editor ul li {
  display: list-item !important;
  list-style: disc inside !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-bottom: 8px !important;
  color: inherit !important;
  text-align: center;
}


/* =========================================================
   ================================================
   MOBILE (max-width: 767px)
   ================================================
========================================================= */

@media (max-width: 767px) {

  html, body {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }

  /* Titres */
  h1, .elementor-heading-title { font-size: 34px !important; line-height: 1 !important; }
  h2 { font-size: 30px !important; line-height: 1.05 !important; }
  h3 { font-size: 24px !important; line-height: 1.1 !important; }

  h1, h2, h3, h4,
  .elementor-heading-title, .cs-title,
  .post-title, .post-title a {
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
    hyphens: none !important;
  }

  p { font-size: 15px !important; line-height: 1.6 !important; }

  h2.post-title, h2.post-title a { font-size: 32px !important; }

  /* Sections */
  .elementor-section,
  .elementor-container,
  .elementor-column,
  .elementor-widget-wrap {
    max-width: 100% !important;
  }

  /* -------------------------------------------------------
     SECTION CONCEPT (1177ff5)
  ------------------------------------------------------- */
  body .elementor-element-1177ff5 {
    position: relative !important;
    left: 50% !important;
    margin-left: -50vw !important;
    width: 100vw !important;
    max-width: 100vw !important;
    padding: 48px 0 32px !important;
    box-sizing: border-box !important;
  }

  body .elementor-element-1177ff5 .elementor-container,
  body .elementor-element-1177ff5 .elementor-column,
  body .elementor-element-1177ff5 .elementor-widget-wrap {
    width: 100% !important;
    max-width: 100% !important;
  }

  body .elementor-element-1177ff5 .cs-title-wrap { padding: 0 24px !important; }
  body .elementor-element-1177ff5 .cs-title { margin: 0 0 20px !important; font-size: 34px !important; }
  body .elementor-element-1177ff5 .cs-title-text p { margin: 0 auto !important; font-size: 15px !important; line-height: 1.65 !important; }

  /* -------------------------------------------------------
     SECTION BLOG (ce14b87) — carrousel
  ------------------------------------------------------- */
  .elementor-element-ce14b87 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: hidden !important;
    height: auto !important;
    min-height: 0 !important;
    --margin-bottom: 0px !important;
    margin-bottom: 0 !important;
    margin-block-end: 0 !important;
  }

  .elementor-element-ce14b87 .elementor-element-6cd6a76 {
    padding: 0 20px !important;
    box-sizing: border-box !important;
  }

  .elementor-element-3d61a8d {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    overflow: visible !important;
  }

  .elementor-element-3d61a8d > .elementor-widget-container {
    padding: 0 !important;
    overflow: visible !important;
  }

  /* Layout overlay → carrousel */
  .elementor-element-3d61a8d .posts.layout-overlay,
  .elementor-element-3d61a8d .posts.layout-overlay.column-3 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: scroll !important;
    overflow-y: visible !important;
    gap: 10px !important;
    padding: 0 32px 16px 20px !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  .elementor-element-3d61a8d .posts.layout-overlay::-webkit-scrollbar { display: none !important; }

  .elementor-element-3d61a8d .posts-wrapper { display: contents !important; }

  .elementor-element-3d61a8d .posts-wrapper article {
    flex: 0 0 72vw !important;
    width: 72vw !important;
    max-width: 72vw !important;
    min-width: 0 !important;
    height: 380px !important;
    margin-top: 0 !important;
    position: relative !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    scroll-snap-align: start !important;
    float: none !important;
    display: block !important;
    box-sizing: border-box !important;
    background: #53624E !important;
  }

  .elementor-element-3d61a8d .posts-wrapper article .featured-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
  }

  .elementor-element-3d61a8d .posts-wrapper article .featured-img::before,
  .elementor-element-3d61a8d .posts-wrapper article .featured-img a::before {
    display: none !important;
    padding-bottom: 0 !important;
  }

  .elementor-element-3d61a8d .posts-wrapper article .featured-img a {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  .elementor-element-3d61a8d .posts-wrapper article .featured-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .elementor-element-3d61a8d .posts-wrapper article::after {
    content: "" !important;
    position: absolute !important;
    inset: 40% 0 0 0 !important;
    background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 100%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
  }

  .elementor-element-3d61a8d .posts-wrapper article .post-content {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 16px !important;
    transform: none !important;
    z-index: 2 !important;
    background: none !important;
  }

  .elementor-element-3d61a8d .posts-wrapper article .post-header,
  .elementor-element-3d61a8d .posts-wrapper article .post-footer {
    transform: none !important;
    position: relative !important;
    z-index: 2 !important;
  }

  .elementor-element-3d61a8d .posts-wrapper article .post-title,
  .elementor-element-3d61a8d .posts-wrapper article .post-title a {
    font-size: 20px !important;
    line-height: 1.15 !important;
    color: #ffffff !important;
    margin: 4px 0 8px !important;
  }

  .elementor-element-3d61a8d .posts-wrapper article .cat-links a {
    color: rgba(255,255,255,0.75) !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
  }

  .elementor-element-3d61a8d .posts-wrapper article .read-more-btn {
    display: inline-block !important;
    margin-top: 2px !important;
  }

  .elementor-element-3d61a8d .posts-wrapper article .read-more-btn span::before {
    color: rgba(255,255,255,0.85) !important;
    font-size: 11px !important;
  }

  .elementor-element-ce14b87 .elementor-element-ad45d55 {
    text-align: center !important;
    padding: 24px 20px 32px !important;
  }

  /* -------------------------------------------------------
     SECTION "POURQUOI SÉJOURNER" mobile
  ------------------------------------------------------- */
  .cottage-why {
    padding: 40px 16px !important;
    overflow: hidden !important;
  }

  .cottage-why-title { font-size: 34px !important; margin-bottom: 28px !important; }

  .cottage-why-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
  }

  .cottage-why-card { width: 100% !important; max-width: none !important; padding: 18px 16px !important; border-radius: 18px !important; }
  .cottage-why-card-title { font-size: 26px !important; margin-bottom: 12px !important; }
  .cottage-why-card-text { font-size: 15px !important; line-height: 1.35 !important; padding: 12px 14px !important; }

  /* -------------------------------------------------------
     AVIS mobile
  ------------------------------------------------------- */
  .cs-testimonial-content::before {
    font-size: 16px !important;
    line-height: 1.55 !important;
    max-width: 90% !important;
    margin: 0 auto !important;
  }

  /* -------------------------------------------------------
     FOOTER (elementor-53) mobile
  ------------------------------------------------------- */
  .elementor-53 .cs-section-content-fullwidth {
    width: 100vw !important;
    max-width: 100vw !important;
    left: calc(50% - 50vw) !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  .elementor-53 .elementor-container {
    flex-direction: column !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
  }

  .elementor-53 .elementor-col-25,
  .elementor-53 .elementor-col-50 {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-53 .cs-menu.footer-menu ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    text-align: center !important;
    padding: 0 !important;
  }

  /* -------------------------------------------------------
     CARTE CONTACT (29247c7 / 520d085) mobile
  ------------------------------------------------------- */
  .elementor-element-29247c7 {
    width: 100vw !important;
    max-width: 100vw !important;
    left: calc(50% - 50vw) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .elementor-element-520d085 iframe {
    width: 100% !important;
    max-width: 100% !important;
    height: 300px !important;
    display: block !important;
  }

  .elementor-element-520d085 .elementor-widget-container {
    width: 100% !important;
    overflow: hidden !important;
  }

  /* -------------------------------------------------------
     FORMULAIRE RECHERCHE mobile
  ------------------------------------------------------- */
  .sh-search-bar,
  [style*="border-radius:16px"][style*="border:1px solid rgba(119,22,14"] {
    flex-direction: column !important;
    margin: 0 16px !important;
    box-sizing: border-box !important;
  }

  [style*="border-right:1px solid rgba(119,22,14"] {
    border-right: none !important;
    border-bottom: 1px solid rgba(119,22,14,0.12) !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  [style*="padding:12px 16px"] {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 20px 20px !important;
  }

  [style*="padding:12px 16px"] button {
    width: 100% !important;
    padding: 16px !important;
    border-radius: 12px !important;
  }

  /* -------------------------------------------------------
     ACCÈS / TRANSPORT mobile
  ------------------------------------------------------- */
  .cottage-access-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    max-width: 340px !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  .cottage-access-item {
    background: #FFFFFF !important;
    border: 1px solid rgba(119, 22, 14, 0.16) !important;
    border-radius: 20px !important;
    padding: 18px 16px 16px !important;
  }

  .cottage-access-item h3 {
    font-size: 28px !important;
    margin: 0 0 8px !important;
  }

  .cottage-access-item h3 span,
  .cottage-access-item h3 img.emoji {
    display: block !important;
    width: 28px !important;
    height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
    margin: 0 auto 8px !important;
    float: none !important;
  }

  .cottage-access-item p {
    font-size: 16px !important;
    line-height: 1.35 !important;
  }

  /* -------------------------------------------------------
     ÉQUIPEMENTS mobile
  ------------------------------------------------------- */
  .cottage-equipements {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  /* -------------------------------------------------------
     SINGLE ROOM — container mobile
  ------------------------------------------------------- */
  body.single-room .container {
    --side-padding: 16px;
    padding-left: 16px !important;
    padding-right: 16px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

}




/* =========================================================
   COTTAGE — Articles de blog (single-post)
========================================================= */

.single-post .entry-content h3 {
  font-family: "Valpo Condensed", serif !important;
  color: #77160E !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  margin: 40px 0 16px !important;
}

.single-post .entry-content p {
  font-family: "Inter", sans-serif !important;
  color: #1a1a1a !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
  margin-bottom: 20px !important;
}

.single-post .entry-content strong {
  color: #77160E !important;
  font-weight: 600 !important;
}

.single-post .entry-content em {
  color: #53624E !important;
  font-style: italic !important;
}

.single-post .entry-content a {
  color: #B0A23F !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.single-post .entry-content a:hover {
  color: #77160E !important;
}



/* =========================================================
   COTTAGE — Articles blog : commentaires + partage
========================================================= */

/* Masque le partage réseaux sociaux */
.article-share {
  display: none !important;
}

/* Zone commentaires */
.comments-area {
  margin-top: 60px !important;
  padding-top: 40px !important;
  border-top: 1px solid rgba(119,22,14,0.15) !important;
  max-width: 720px !important;
}

/* Titre "Laisser un commentaire" */
#reply-title {
  font-family: "Valpo Condensed", serif !important;
  color: #77160E !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  margin-bottom: 24px !important;
}

/* Texte connecté */
.comment-form .logged-in-as {
  font-family: "Inter", sans-serif !important;
  font-size: 13px !important;
  color: #888 !important;
  margin-bottom: 20px !important;
}

.comment-form .logged-in-as a {
  color: #B0A23F !important;
}

/* Label */
.comment-form label {
  font-family: "Inter", sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #77160E !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  display: block !important;
  margin-bottom: 8px !important;
}

/* Textarea */
.comment-form textarea {
  width: 100% !important;
  border: 1px solid rgba(119,22,14,0.25) !important;
  border-radius: 8px !important;
  padding: 14px !important;
  font-family: "Inter", sans-serif !important;
  font-size: 15px !important;
  color: #1a1a1a !important;
  background: #fafafa !important;
  resize: vertical !important;
  min-height: 140px !important;
  box-sizing: border-box !important;
}

.comment-form textarea:focus {
  outline: none !important;
  border-color: #77160E !important;
}

/* Bouton soumettre */
.comment-form .submit {
  background: #77160E !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px 28px !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  margin-top: 8px !important;
}

.comment-form .submit:hover {
  background: #5f110b !important;
}



/* =========================================================
   COTTAGE — Navigation articles + "You may also like"
========================================================= */

/* Masque complètement la navigation précédent/suivant */
.post-navigation,
.nav-links,
.article-navigation {
  display: none !important;
}

/* "You may also like" — titre */
.related-posts-title,
.cs-related-posts-title,
h4.related-title,
.you-may-also-like-title {
  font-family: "Valpo Condensed", serif !important;
  color: #77160E !important;
  font-size: 32px !important;
  font-weight: 400 !important;
}

/* Si tu veux juste masquer toute la section "you may also like" */
.related-posts,
.cs-related-posts,
.you-may-also-like {
  display: none !important;
}




@media (max-width: 767px) {
  body.page-id-398 .page-title-wrap,
  body.page-id-398 .cs-page-title,
  body.page-id-398 .page-header {
    min-height: 180px !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}




.meta-item.author {
  display: none;
}



html,
body {
  overflow-x: hidden;
}


@media (max-width: 767px) {

  footer .elementor-container,
  footer .elementor-column,
  footer .elementor-widget-wrap,
  footer .elementor-widget,
  footer .cs-title-wrap,
  footer .cs-title,
  footer .elementor-icon-list-items,
  footer .elementor-icon-list-item,
  footer .elementor-icon-list-item a,
  footer .elementor-icon-list-text {
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
  }

  footer .elementor-icon-list-item a {
    display: flex !important;
    width: 100%;
  }

  footer .elementor-icon-list-icon {
    margin-right: 6px !important;
  }

  footer .elementor-column {
    width: 100% !important;
  }

}