/*
Theme Name:     HOTEL DU LAC - Ch창teau-Arnoux-Saint-Auban
Description:    Ascend Child Theme by dstgta | Team Helper
Author:         dstgta
Author URI:     https://www.team-helper.fr
Template:       ascend                         
Version:        1.4.16
*/
/* ========= Variables ========= */
:root{
  --blue:#2563EB;
  --blue-600:#1d4ed8;

  --blue-soft:#EFF6FF;
  --blue-soft-2:#E8F0FF;

  --text-900:#1F2937;
  --text-700:#374151;
  --text-500:#6B7280;

  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:16px;

  --shadow-sm:0 2px 8px rgba(0,0,0,.08);
  --shadow-md:0 4px 12px rgba(0,0,0,.06);

  /* Pastels pictos / labels */
  --pink-soft:#FDE2E4;
  --green-soft:#DCFCE7;
  --yellow-soft:#FEF9C3;
  --violet-soft:#F3E8FF;
  --orange-soft:#FFEDD5;
  --blue-soft-3:#E6F0FF;

  /* Couleurs icônes */
  --red:#E11D2E;
  --green:#16A34A;
  --yellow:#CA8A04;
  --violet:#7C3AED;
  --orange:#F97316;

  --transition:transform .3s ease, box-shadow .3s ease;
}
/*Menu*/
.nav-main ul.sf-menu > li > a{
  font-weight: bold !important;
}
/* ========= Layout / thèmes ========= */
#content{width:100%;padding:0;}
.fl-row-content-wrap{padding-inline:0;}
.fl-node-zca2xnsy51mw .fl-row-content{max-width:100%;}
#inner-wrap{margin-top:-190px;}
#kad-header-menu{position:relative;z-index:999;}
.amenities-container{background:transparent;}

/* Beaver Builder / alignements */
.fl-node-p1hyt7qjewaz,.fl-node-klj1brhpno8z{margin:auto;}
.fl-node-0zmdxyrlhevc .fl-col,.fl-node-dlgc718ob26h .fl-col{float:none;}
.fl-node-gqthcipbesdo .fl-module-rich-text{min-height:150px;}
.fl-node-a6p2n9dbucrh,.fl-node-y05so7iql6r3,.fl-node-nhxbi8zy7k69{background:#fff;border-radius:20px;}

/* ========= UI primitives ========= */
.bg-light-blue{background:var(--blue-soft-2);}

.icon-box{
  width:48px;height:48px;
  background:var(--blue-soft-2);
  border-radius:var(--radius-md);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;margin-right: 10px;
}
.icon-box.float-start{float:left;margin-right:16px;}

.icon-inner,.icon-box i{font-size:20px;color:var(--blue);}

.info-box{display:flex;flex-direction:column;justify-content:center;}

/* Badges / amenities */
.amenity-item,.badge-custom{
  background:var(--blue-soft);
  color:var(--blue);
  font-weight:600;
  font-size:.95rem;
  padding:10px 20px;
  border-radius:var(--radius-sm);
  transition:var(--transition);
}
.amenity-item:hover,.badge-custom:hover{
  box-shadow:0 4px 8px rgba(37,99,235,.15);
  transform:translateY(-2px);
}

/* ========= Cards services ========= */
.service-card{
  background:#fff;
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);
  transition:var(--transition);
  height:100%;
}
.service-card:hover{
  box-shadow:0 4px 16px rgba(0,0,0,.12);
  transform:translateY(-4px);
}
.service-icon{
  width:64px;height:64px;
  background:var(--blue-soft);
  border-radius:var(--radius-md);
  display:flex;align-items:center;justify-content:center;
  font-size:2rem;
  flex-shrink:0;
}
.service-title{font-size:1.25rem;font-weight:700;color:var(--text-900);}
.service-description{font-size:.95rem;color:var(--text-500);line-height:1.6;}

@media (max-width:768px){
  .service-card{text-align:center;}
}

/* ========= Horaires ========= */
.horaires-section{padding:30px 0;}
.horaires-card{background:var(--blue-soft);border-radius:var(--radius-lg);max-width:800px;}
.horaires-icon{
  width:40px;height:40px;background:#fff;border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.horaires-title{font-size:1.5rem;font-weight:700;color:var(--text-900);}
.horaires-content{margin-left:52px;}
.horaires-line{font-size:1rem;color:var(--text-700);line-height:1.8;}
.horaires-label{font-weight:700;color:var(--text-900);}
.horaires-time{color:#4B5563;}

@media (max-width:768px){
  .horaires-content{margin-left:0;margin-top:15px;}
  .horaires-title{font-size:1.25rem;}
}

/* ========= WPForms ========= */
.wpforms-container .wpforms-field,
.wp-core-ui div.wpforms-container .wpforms-field{padding:5px 0;}
div.wpforms-container-full .wpforms-form .wpforms-submit-container{text-align:center;}
div.wpforms-container-full button[type="submit"]{background:var(--blue);}
div.wpforms-container-full button[type="submit"]:hover{background:var(--blue-600);}

/* ========= Page "Nos chambres" ========= */
.fl-node-pzady42tlj80 .info-card{min-height:202px!important;}
.info-card{
  text-align:center;
  padding:30px 15px;
  background:#f9fbfd;
  border-radius:var(--radius-md);
  box-shadow:0 2px 8px rgba(0,0,0,.03);
  min-height:230px;
}
.icon-wrapper{
  width:64px;height:64px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 15px;
}
.material-symbols-outlined{
  font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 48;
  font-size:28px;
}
.info-title{font-weight:600;font-size:1.2rem;color:#1d1d1f;}
.info-subtext{color:#6c757d;font-size:.95rem;}
.info-highlight{font-weight:500;font-size:1.05rem;margin-top:5px;}
.info-small{color:#6c757d;font-size:.85rem;margin-top:2px;}

.icon-blue{background:#e0edff;color:#2a73ff;}
.icon-red{background:#ffe5e5;color:#d93025;}
.icon-green{background:#dcfce7;color:#1a8e36;}
.icon-orange{background:#ffeeda;color:#e36b00;}

.text-blue{color:#2a73ff;}
.text-red{color:#d93025;}
.text-green{color:#1a8e36;}
.text-orange{color:#e36b00;}

/* Room card */
.room-card{
  max-width:550px;
  background:#fff;
  border-radius:20px;
  box-shadow:0 10px 40px rgba(0,0,0,.1);
  overflow:hidden;
  transition:var(--transition);
}
.room-card:hover{box-shadow:0 15px 50px rgba(0,0,0,.15);transform:translateY(-5px);}
.room-image-wrapper{width:100%;height:250px;overflow:hidden;border-radius:20px 20px 0 0;}
.room-image{width:100%;height:100%;object-fit:cover;}
.price-badge{
  position:absolute;top:20px;right:20px;
  background:var(--blue);color:#fff;
  padding:15px 25px;
  border-radius:var(--radius-md);
  text-align:center;
  box-shadow:0 4px 12px rgba(37,99,235,.3);
}
.price-high{font-size:.9rem;font-weight:500;margin-bottom:5px;}
.price-main{font-size:2rem;font-weight:700;line-height:1;margin-bottom:5px;}
.price-low{font-size:.85rem;font-weight:400;opacity:.9;}
.room-title{font-size:2rem;font-weight:700;color:var(--text-900);}
.room-description{font-size:1rem;color:var(--text-500);line-height:1.6;}
.room-features{border-block:1px solid #E5E7EB;padding:20px 0;}
.feature-item{font-size:.95rem;}
/* ⚠️ IMPORTANT : on évite le conflit avec la liste à coches */
.room-features .feature-text{color:var(--text-700);font-weight:500;}

/* ========= Page Contact ========= */
.py-5 h3{font-size:.8em;}
.footer-link .icon-hover{transition:transform .3s ease;}
.footer-link:hover .icon-hover{transform:translateX(5px);}
.fl-node-79jf4v6szixc .fs-4{font-size:2.5rem!important;}
.txtcontact{margin-top:20px!important;}
.logofoot img{max-width:60%;}
.relaismotard{padding-top:8px;}
.img-fluid-custom{max-width:80%;padding:8px;}

/* ========= Page Activité ========= */
.fl-node-20n8pkmde9hw img,.fl-node-5glusbr8dqtp img{max-height:220px;}
.fl-node-20n8pkmde9hw .fl-module-rich-text,.fl-node-5glusbr8dqtp .fl-module-rich-text{height:180px;}
.fl-node-20n8pkmde9hw h3,.fl-node-5glusbr8dqtp h3{min-height:50px;}
.fl-node-7jq0c6leaifs h3{font-size:20px;}

.card-hover{overflow:hidden;border-radius:20px 20px 0 0;}
.card-img-top{transition:transform .3s ease;height:200px;object-fit:cover;}
.card-hover:hover .card-img-top{transform:scale(1.05);}

.feature-block{text-align:center;padding:1.5rem;background:#f9fbfd;}
.feature-icon{
  width:72px;height:72px;
  border-radius:var(--radius-lg);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1rem;
}
.feature-icon i{font-size:28px;}

.icofeatmap{background:#fff1e3;}
.icofeatbicycle{background:#e3edff;}
.icofeatperson-fill-check{background:#dffaea;}
.icofeatbi-shield-check{background:#f5edff;}

.iconimap{color:#fd7e14;}
.iconibicycle{color:#0d6efd;}
.iconiperson-fill-check{color:#198754;}
.iconibi-shield-check{color:#6f42c1;}

.feature-title{font-weight:600;color:#0c0c0c;margin-bottom:.25rem;}
.feature-text{font-size:.95rem;color:#6c757d;margin:0;} /* texte des feature-blocks uniquement */

/* Cards */
.card-custom{
  border:none;
  border-radius:20px;
  overflow:hidden;
  box-shadow:var(--shadow-md);
  max-width:800px;
  height:390px;
}
.card-img-left{width:100%;height:100%;object-fit:cover;}

.btn-outline-primary-light{
  color:#fff;
  background:var(--blue);
  border-radius:10px;
  transition:all .2s ease;
}
.btn-outline-primary-light:hover{background:var(--blue-600);color:#fff;}

.art-card{
  border-radius:20px;
  overflow:hidden;
  box-shadow:var(--shadow-md);
  max-width:400px;
  background:#fff;
}
.art-card img{width:100%;height:auto;object-fit:cover;}

.btn-outline-rounded{
  border:1px solid #0d6efd;
  border-radius:12px;
  padding:.5rem 1.25rem;
  transition:all .2s ease;
}
.btn-outline-rounded:hover{background:#0d6efd;color:#fff;}

.rounded-circle{width:30px;height:30px;}
.rounded-circle i{padding-left:3px;}

/* Mission */
.mission-wrap{position:relative;border-radius:22px;overflow:hidden;max-width:900px;}
.mission-img{width:100%;display:block;}
.mission-card{
  position:absolute;right:28px;bottom:28px;
  background:#fff;border-radius:14px;padding:18px 20px;
  width:min(420px, calc(100% - 56px));
}
.mission-icon{
  width:34px;height:34px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#fff;color:#ff4d4f;
  border:1px solid rgba(0,0,0,.06);
}
.mission-text{font-size:1.4rem;line-height:1.45;color:#64748b;}
@media (max-width:576px){
  .mission-card{left:16px;right:16px;bottom:16px;width:auto;}
}

/* Stats */
.stats-bar{padding:3rem 0;}
.stat-number{font-size:2.6rem;font-weight:800;color:var(--blue);line-height:1.1;}
.stat-label{margin-top:.4rem;font-size:.95rem;color:#64748B;}

/* =========================================================
   Pictogrammes (UNIFIÉS)
========================================================= */
.pictogram,
.pictogram-heart,
.pictogram-leaf,
.pictogram-star,
.pictogram-home,
.pictogram-location,
.pictogram-clock{
  width:72px;height:72px;
  border-radius:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

/* Couleur des icônes si tu utilises <i> (sinon SVG = currentColor) */
.pictogram i,
.pictogram-heart .bi,
.pictogram-leaf .bi,
.pictogram-star .bi{
  font-size:28px;
  line-height:1;
}

/* Variantes couleurs */
.pictogram-heart{background:var(--pink-soft);}
.pictogram-heart .bi{color:var(--red);}

.pictogram-leaf{background:var(--green-soft);}
.pictogram-leaf .bi{color:var(--green);}

.pictogram-star{background:var(--yellow-soft);}
.pictogram-star .bi{color:var(--yellow);}

.pictogram-home{background:var(--blue-soft-3);}
.pictogram-location{background:var(--violet-soft);}
.pictogram-clock{background:var(--orange-soft);}

/* Section title */
.section-title{gap:16px;}
.pictogram--blue{background:var(--blue-soft-3);color:var(--blue);}
.section-title__text{font-size:2.25rem;font-weight:800;color:#0f172a;line-height:1.1;}

@media (max-width:576px){
  .section-title__text{font-size:1.75rem;}
  .pictogram,
  .pictogram-heart,
  .pictogram-leaf,
  .pictogram-star,
  .pictogram-home,
  .pictogram-location,
  .pictogram-clock{
    width:60px;height:60px;border-radius:16px;
  }
}

/* =========================================================
   Liste à coches (évite le conflit avec .feature-text existant)
========================================================= */
.feature-list{list-style:none;padding:0;margin:0;}
.feature-list .feature-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
}
.feature-check{
  color:#22C55E;
  font-size:18px;
  font-weight:700;
  line-height:1.4;
  flex-shrink:0;
}
/* ✅ Ici, je renomme la cible pour éviter de casser l'autre .feature-text */
.feature-list .feature-text{
  font-size:1.8rem; /* je garde ta valeur */
  color:#334155;
  line-height:1.6;
}

/* Profile card */
.profile-card{border-radius:20px 20px 0 0;overflow:hidden;}
.profile-card__img{
  display:block;
  width:360px;height:360px;
  object-fit:cover;
}
.profile-card__badge{
  position:absolute;top:16px;right:16px;
  background:var(--blue);color:#fff;
  padding:8px 14px;
  border-radius:999px;
  font-weight:700;
  font-size:.95rem;
  line-height:1;
}

/* Mentions légales */
.info-label{display:inline-flex;align-items:center;gap:12px;}
.info-label__icon{
  width:40px;height:40px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.info-label__text{font-weight:700;color:#0f172a;}

/* Variantes */
.info-label--orange .info-label__icon{background:var(--orange-soft);color:var(--orange);}
.info-label--purple .info-label__icon{background:var(--violet-soft);color:var(--violet);}
.info-label--violet .info-label__icon{background:#EDE9FE;color:var(--violet);}
.info-label--pink   .info-label__icon{background:#FEE2E2;color:#EF4444;}
.info-label--green  .info-label__icon{background:var(--green-soft);color:var(--green);}
.info-label--blue   .info-label__icon{background:var(--blue-soft-3);color:var(--blue);}

#topcontrol .to_the_top{
  border-radius: 30px;
  background:var(--blue-600);
}
#topcontrol .to_the_top:hover {
  color: rgba(255,255,255,1);
  background: #1d1d1f;
}
#topcontrol .to_the_top > div{
  padding-top: 8px;
}
.list-unstyled a{
  transition: color .25s ease;
}
.list-unstyled a:hover{
  color: #1d1d1f !important;
  font-weight: bold;
}
h1{
text-shadow: 1px 1px 1px #ffffff;
}
#kad-mobile-banner{
  background: #fff;
  z-index: 1;
  position: relative;
}