/* =====================================================
   LES TILLEULS DE MARIE - PAGES HEBERGEMENTS
   (Tilia, Prunus, Catalpa) - HOP COM 15/10/2026
   Une seule feuille pour les trois pages.
===================================================== */

body.hc-room-page{
  --hc-green:#66715B;
  --hc-green-dark:#4F5947;
  --hc-taupe:#756B5D;
  --hc-gold:#C19B76;
  --hc-gold-dark:#8F7650;
  --hc-cream:#F4EFE5;
  --hc-beige:#F5F1EA;
  --hc-sand:#D9C9AE;
  --hc-grege:#C8C0B3;
  --hc-border:#E4DDD3;
  --hc-text:#5C5C5C;
  --hc-title:"Cormorant","Playfair Display",serif;
  --hc-script:"Great Vibes",cursive;
  --hc-body:"Lato",sans-serif;
  --hc-radius:6px;
  background:var(--hc-cream);
}

/* ---------- boutons & utilitaires ---------- */
.hc-room-page .hc-kicker{display:block;font-family:var(--hc-body);font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--hc-gold);margin:0 0 14px;}
.hc-room-page .hc-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 30px;border-radius:var(--hc-radius);font-family:var(--hc-body);font-size:12px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;text-decoration:none !important;transition:background .3s ease,color .3s ease,transform .3s ease,border-color .3s ease;cursor:pointer;}
.hc-room-page .hc-btn:hover{transform:translateY(-2px);}
.hc-room-page .hc-btn--green{background:var(--hc-green);color:#fff !important;border:1px solid var(--hc-green);}
.hc-room-page .hc-btn--green:hover{background:var(--hc-green-dark);border-color:var(--hc-green-dark);}
.hc-room-page .hc-btn--gold{background:var(--hc-gold);color:#fff !important;border:1px solid var(--hc-gold);}
.hc-room-page .hc-btn--gold:hover{background:var(--hc-gold-dark);border-color:var(--hc-gold-dark);}
.hc-room-page .hc-btn--light{background:transparent;color:#fff !important;border:1px solid rgba(255,255,255,.7);}
.hc-room-page .hc-btn--light:hover{background:#fff;color:var(--hc-green) !important;}
.hc-room-page .hc-btn--outline{background:transparent;color:var(--hc-green) !important;border:1px solid var(--hc-green);}
.hc-room-page .hc-btn--outline:hover{background:var(--hc-green);color:#fff !important;}
.hc-room-page .hc-btn svg{width:17px;height:17px;}
.hc-room-page .hc-btn:focus-visible,.hc-room-page .hc-faq summary:focus-visible,.hc-room-page .hc-gal a:focus-visible{outline:2px solid var(--hc-gold);outline-offset:3px;}

/* ---------- HERO ---------- */
.hc-room-hero{position:relative;}
.hc-room-hero .elementor-heading-title{text-shadow:0 2px 30px rgba(0,0,0,.28);}
.hc-hero-tag{font-family:var(--hc-body);font-size:17px;line-height:1.7;color:rgba(255,255,255,.92);max-width:560px;margin:0;}
.hc-hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}
.hc-crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 22px;padding:0;list-style:none;font-family:var(--hc-body);font-size:12px;letter-spacing:1px;color:rgba(255,255,255,.75);}
.hc-crumbs a{color:rgba(255,255,255,.85) !important;text-decoration:none !important;border-bottom:1px solid rgba(255,255,255,.3);}
.hc-crumbs a:hover{color:#fff !important;border-color:#fff;}
.hc-crumbs li{margin:0;}

/* ---------- barre d'infos ---------- */
.hc-facts-bar{display:grid;grid-template-columns:repeat(5,1fr) 1.4fr;background:#fff;border-radius:10px;box-shadow:0 25px 60px rgba(60,55,45,.12);overflow:hidden;}
.hc-fact{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:26px 12px;text-align:center;border-right:1px solid var(--hc-border);}
.hc-fact svg{width:28px;height:28px;color:var(--hc-gold);}
.hc-fact strong{font-family:var(--hc-title);font-size:22px;font-weight:700;color:var(--hc-taupe);line-height:1.1;}
.hc-fact span{font-family:var(--hc-body);font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--hc-gold-dark);}
.hc-fact-cta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:22px 26px;background:var(--hc-green);color:#fff;text-align:center;}
.hc-fact-cta small{font-family:var(--hc-body);font-size:12px;color:rgba(255,255,255,.8);}
.hc-fact-cta b{font-family:var(--hc-title);font-size:34px;line-height:1;color:#fff;}
.hc-fact-cta b em{font-style:normal;font-family:var(--hc-body);font-size:13px;font-weight:400;}
.hc-fact-cta .hc-btn{min-height:46px;padding:0 22px;width:100%;}

/* ---------- histoire ---------- */
.hc-story{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;}
.hc-story-text h2{font-family:var(--hc-title);font-weight:700;font-size:46px;line-height:1.05;text-transform:uppercase;color:var(--hc-taupe);margin:0;}
.hc-story-text h2 span{display:block;font-family:var(--hc-script);font-weight:400;text-transform:none;font-size:52px;color:var(--hc-green);margin-top:-2px;}
.hc-story-text p{font-family:var(--hc-body);font-size:16px;line-height:1.8;color:var(--hc-text);margin:22px 0 0;}
.hc-story-text p strong{color:var(--hc-taupe);}
.hc-story-imgs{position:relative;min-height:520px;}
.hc-story-imgs img{position:absolute;object-fit:cover;border-radius:8px;box-shadow:0 25px 50px rgba(40,40,30,.18);}
.hc-story-imgs img:first-child{top:0;right:0;width:82%;height:72%;}
.hc-story-imgs img:last-child{bottom:0;left:0;width:52%;height:48%;border:8px solid var(--hc-cream);}
.hc-quote{margin:30px 0 0;padding:18px 0 0 22px;border-left:2px solid var(--hc-gold);font-family:var(--hc-script);font-size:30px;line-height:1.25;color:var(--hc-green);}

/* ---------- galerie ---------- */
.hc-gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:14px;}
.hc-gal a{position:relative;display:block;overflow:hidden;border-radius:8px;}
.hc-gal a:first-child{grid-row:1 / span 2;}
.hc-gal a:nth-child(4){grid-column:2 / span 2;}
.hc-gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s ease;}
.hc-gal a:hover img{transform:scale(1.06);}
.hc-gal a::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.35),rgba(0,0,0,0) 45%);opacity:0;transition:opacity .4s ease;}
.hc-gal a:hover::after{opacity:1;}
.hc-gal figcaption{position:absolute;left:16px;bottom:14px;z-index:2;font-family:var(--hc-body);font-size:12px;letter-spacing:1px;color:#fff;opacity:0;transform:translateY(6px);transition:all .4s ease;}
.hc-gal a:hover figcaption{opacity:1;transform:none;}
.hc-gal-hint{font-family:var(--hc-body);font-size:13px;color:var(--hc-text);text-align:center;margin:16px 0 0;}

/* ---------- equipements ---------- */
.hc-equip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.hc-equip li{display:flex;align-items:center;gap:14px;margin:0;padding:16px 18px;background:#fff;border-radius:8px;border:1px solid var(--hc-border);font-family:var(--hc-body);font-size:14.5px;line-height:1.4;color:var(--hc-text);transition:border-color .3s ease,transform .3s ease;}
.hc-equip li:hover{border-color:var(--hc-sand);transform:translateY(-2px);}
.hc-equip{list-style:none;margin:0;padding:0;}
.hc-equip svg{width:26px;height:26px;flex-shrink:0;color:var(--hc-green);}

/* ---------- sejour + calendrier ---------- */
.hc-stay{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
.hc-stay-box{background:var(--hc-green);color:#fff;border-radius:10px;padding:38px 40px;}
.hc-stay-box h3{font-family:var(--hc-title);font-weight:700;font-size:28px;text-transform:uppercase;margin:0 0 4px;color:#fff;}
.hc-stay-box h3 span{display:block;font-family:var(--hc-script);font-weight:400;font-size:36px;text-transform:none;color:var(--hc-sand);}
.hc-stay-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.22);font-family:var(--hc-body);font-size:15px;color:rgba(255,255,255,.9);}
.hc-stay-row b{font-family:var(--hc-title);font-size:30px;color:#fff;white-space:nowrap;}
.hc-stay-row b small{font-family:var(--hc-body);font-size:12px;font-weight:400;color:rgba(255,255,255,.8);}
.hc-stay-list{list-style:none;margin:20px 0 26px;padding:0;}
.hc-stay-list li{position:relative;padding-left:22px;margin:0 0 9px;font-family:var(--hc-body);font-size:14px;line-height:1.55;color:rgba(255,255,255,.88);}
.hc-stay-list li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:var(--hc-sand);}
.hc-stay-box .hc-btn{width:100%;}
.hc-cal-box{background:#fff;border-radius:10px;padding:30px 26px;box-shadow:0 15px 40px rgba(60,55,45,.07);text-align:center;}
.hc-cal-box h3{font-family:var(--hc-title);font-weight:700;font-size:26px;text-transform:uppercase;color:var(--hc-taupe);margin:0;}
.hc-cal-box p{font-family:var(--hc-body);font-size:13.5px;color:var(--hc-text);margin:6px 0 0;}
.hc-cal-box .hb-availability-calendar-wrapper{display:flex;justify-content:center;margin:18px 0 10px;}
.hc-cal-box .hb-avail-caption-wrapper{display:none !important;}
.hc-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin:4px 0 0;padding:0;list-style:none;font-family:var(--hc-body);font-size:12.5px;color:var(--hc-text);}
.hc-legend li{display:inline-flex;align-items:center;gap:8px;margin:0;}
.hc-legend i{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid var(--hc-border);}
.hc-legend .is-free{background:#fff;}
.hc-legend .is-taken{background:var(--hc-grege);border-color:var(--hc-grege);}
.hc-legend .is-past{background:#F3EFE8;}
body.hc-room-page .hb-dp-month-header{font-family:var(--hc-title);font-weight:700;font-size:19px;text-transform:uppercase;color:var(--hc-taupe);}
body.hc-room-page .hb-dp-week-header span{font-family:var(--hc-body);font-size:11px;font-weight:700;color:var(--hc-gold-dark);}
body.hc-room-page .hb-datepick-wrapper{font-family:var(--hc-body);}
body.hc-room-page .hb-dp-day-past,body.hc-room-page .hb-dp-day-closed,body.hc-room-page .hb-dp-day-past.hb-day-fully-taken{background:#F3EFE8 !important;color:#B9B0A3 !important;}
body.hc-room-page .hb-day-taken-start:before,body.hc-room-page .hb-day-taken-end:before,body.hc-room-page .hb-day-fully-taken{background:var(--hc-grege) !important;}
body.hc-room-page .hb-day-fully-taken{color:#fff !important;}
body.hc-room-page .hb-dp-today{font-weight:700;box-shadow:inset 0 0 0 1px var(--hc-green);}
body.hc-room-page .hb-dp-cmd-wrapper a{background:var(--hc-green) !important;border-radius:50%;}
body.hc-room-page .hb-dp-cmd-wrapper a:hover{background:var(--hc-green-dark) !important;}
body.hc-room-page .hb-dp-cmd-wrapper a.hb-dp-disabled{background:var(--hc-grege) !important;}

/* ---------- la maison autour ---------- */
.hc-around{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.hc-around article{position:relative;border-radius:10px;overflow:hidden;min-height:380px;display:flex;align-items:flex-end;color:#fff;}
.hc-around img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease;}
.hc-around article:hover img{transform:scale(1.06);}
.hc-around article::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(28,28,29,.82) 0%,rgba(28,28,29,.25) 55%,rgba(28,28,29,0) 100%);}
.hc-around div{position:relative;z-index:2;padding:26px 26px 28px;}
.hc-around h3{font-family:var(--hc-script);font-weight:400;font-size:38px;line-height:1.05;color:#fff;margin:0 0 8px;}
.hc-around p{font-family:var(--hc-body);font-size:14px;line-height:1.6;color:rgba(255,255,255,.9);margin:0;}

/* ---------- FAQ ---------- */
.hc-room-page .hc-faq{max-width:860px;margin:0 auto;}
.hc-room-page .hc-faq details{background:#fff;border-radius:8px;margin:0 0 12px;border:1px solid var(--hc-border);}
.hc-room-page .hc-faq details[open]{border-color:var(--hc-sand);}
.hc-room-page .hc-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;font-family:var(--hc-title);font-weight:700;font-size:20px;color:var(--hc-taupe);}
.hc-room-page .hc-faq summary::-webkit-details-marker{display:none;}
.hc-room-page .hc-faq summary::after{content:"+";flex-shrink:0;width:30px;height:30px;border-radius:50%;border:1px solid var(--hc-sand);display:flex;align-items:center;justify-content:center;font-family:var(--hc-body);font-weight:300;font-size:20px;color:var(--hc-green);transition:transform .3s ease,background .3s ease;}
.hc-room-page .hc-faq details[open] summary::after{transform:rotate(45deg);background:var(--hc-green);color:#fff;border-color:var(--hc-green);}
.hc-room-page .hc-faq .hc-faq-a{padding:0 24px 22px;font-family:var(--hc-body);font-size:15px;line-height:1.7;color:var(--hc-text);}
.hc-room-page .hc-faq .hc-faq-a a{color:var(--hc-green-dark);}

/* ---------- autres hebergements ---------- */
.hc-others{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.hc-other{display:grid;grid-template-columns:45% 1fr;background:#fff;border-radius:10px;overflow:hidden;text-decoration:none !important;color:inherit !important;transition:transform .4s ease,box-shadow .4s ease;}
.hc-other:hover{transform:translateY(-4px);box-shadow:0 22px 45px rgba(60,55,45,.12);}
.hc-other img{width:100%;height:100%;min-height:240px;object-fit:cover;display:block;}
.hc-other div{padding:28px 26px;display:flex;flex-direction:column;justify-content:center;}
.hc-other span{font-family:var(--hc-body);font-size:10.5px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:var(--hc-gold-dark);}
.hc-other h3{font-family:var(--hc-script);font-weight:400;font-size:44px;line-height:1;color:var(--hc-taupe);margin:6px 0 10px;}
.hc-other p{font-family:var(--hc-body);font-size:14px;line-height:1.6;color:var(--hc-text);margin:0 0 16px;}
.hc-other em{font-style:normal;font-family:var(--hc-body);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--hc-green);}

/* ---------- bandeau final ---------- */
.hc-final{display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center;}
.hc-final-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;}

/* ---------- reveal ---------- */
.hc-room-page .hc-reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease;}
.hc-room-page .hc-reveal.is-in{opacity:1;transform:none;}
body.elementor-editor-active .hc-reveal{opacity:1 !important;transform:none !important;}
@media (prefers-reduced-motion:reduce){.hc-room-page .hc-reveal{opacity:1;transform:none;transition:none;}.hc-gal img,.hc-around img,.hc-room-page .hc-btn{transition:none;}}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .hc-facts-bar{grid-template-columns:repeat(3,1fr);}
  .hc-fact:nth-child(3){border-right:none;}
  .hc-fact:nth-child(-n+3){border-bottom:1px solid var(--hc-border);}
  .hc-fact-cta{grid-column:span 3;flex-direction:row;justify-content:space-between;}
  .hc-fact-cta .hc-btn{width:auto;}
  .hc-story{grid-template-columns:1fr;gap:40px;}
  .hc-story-imgs{min-height:460px;}
  .hc-equip{grid-template-columns:1fr 1fr;}
  .hc-stay{grid-template-columns:1fr;}
  .hc-around{grid-template-columns:1fr 1fr;}
  .hc-around article:last-child{grid-column:span 2;min-height:300px;}
  .hc-others{grid-template-columns:1fr;}
}
@media (max-width:767px){
  .hc-facts-bar{grid-template-columns:1fr 1fr;}
  .hc-fact{padding:18px 8px;border-right:1px solid var(--hc-border);border-bottom:1px solid var(--hc-border);}
  .hc-fact:nth-child(2n){border-right:none;}
  .hc-fact:nth-child(3){border-right:1px solid var(--hc-border);}
  .hc-fact:nth-child(5){grid-column:span 2;border-right:none;}
  .hc-fact strong{font-size:19px;}
  .hc-fact-cta{grid-column:span 2;flex-direction:column;}
  .hc-fact-cta .hc-btn{width:100%;}
  .hc-story-text h2{font-size:34px;}
  .hc-story-text h2 span{font-size:42px;}
  .hc-story-imgs{min-height:340px;}
  .hc-gal{grid-template-columns:1fr 1fr;grid-template-rows:220px 140px 140px;}
  .hc-gal a:first-child{grid-row:auto;grid-column:span 2;}
  .hc-gal a:nth-child(4){grid-column:span 2;}
  .hc-gal figcaption{opacity:1;transform:none;}
  .hc-gal a::after{opacity:1;}
  .hc-equip{grid-template-columns:1fr;gap:10px;}
  .hc-stay-box{padding:28px 22px;}
  .hc-cal-box{padding:24px 12px;}
  .hc-around{grid-template-columns:1fr;}
  .hc-around article,.hc-around article:last-child{grid-column:auto;min-height:300px;}
  .hc-other{grid-template-columns:1fr;}
  .hc-other img{min-height:200px;height:200px;}
  .hc-hero-ctas .hc-btn,.hc-final-btns .hc-btn{width:100%;}
  .hc-room-page .hc-faq summary{font-size:18px;padding:18px;}
  .hc-room-page .hc-faq .hc-faq-a{padding:0 18px 18px;}
}

/* ---------- ajouts titres ---------- */
.hc-room-hero{animation:hcFade 1.1s ease both;}
@keyframes hcFade{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}
.hc-room-hero .hc-kicker{color:var(--hc-sand);}
.hc-hero-title{font-family:var(--hc-title);font-weight:700;font-size:62px;line-height:.95;letter-spacing:1px;text-transform:uppercase;color:#fff;margin:0 0 22px;}
.hc-hero-title span{display:block;font-family:var(--hc-script);font-weight:400;font-size:96px;line-height:1.05;letter-spacing:0;text-transform:none;color:var(--hc-sand);margin-top:2px;}
.hc-head{text-align:center;max-width:740px;margin:0 auto 50px;}
.hc-head h2,.hc-final h2{font-family:var(--hc-title);font-weight:700;font-size:44px;line-height:1.05;text-transform:uppercase;color:var(--hc-taupe);margin:0;}
.hc-head h2 span,.hc-final h2 span{display:block;font-family:var(--hc-script);font-weight:400;font-size:50px;text-transform:none;color:var(--hc-green);margin-top:2px;}
.hc-head p,.hc-final p{font-family:var(--hc-body);font-size:16px;line-height:1.75;color:var(--hc-text);margin:18px auto 0;max-width:640px;}
.hc-on-dark h2{color:#fff !important;}.hc-on-dark h2 span{color:var(--hc-sand) !important;}.hc-on-dark p{color:rgba(255,255,255,.88) !important;}.hc-on-dark .hc-kicker{color:var(--hc-sand);}
.hc-facts-wrap{position:relative;z-index:3;margin-top:-80px;}
.e-con.hc-cal-box{padding:30px 26px;}
.hc-room-page .hc-hero-ctas .hc-btn--light{backdrop-filter:blur(4px);}
@media (max-width:767px){.hc-hero-title{font-size:40px;}.hc-hero-title span{font-size:62px;}.hc-head{margin-bottom:34px;}.hc-head h2,.hc-final h2{font-size:31px;}.hc-head h2 span,.hc-final h2 span{font-size:40px;}.hc-facts-wrap{margin-top:-50px;}.e-con.hc-cal-box{padding:24px 10px;}.hc-quote{font-size:25px;}}

@media (max-width:1024px){body.hc-room-page #hc-top.e-con::before{background-image:linear-gradient(180deg,rgba(28,28,29,.2) 0%,rgba(28,28,29,.82) 70%) !important;opacity:1 !important;}}
.hc-hero-tag,.hc-crumbs{text-shadow:0 1px 12px rgba(0,0,0,.35);}

body.hc-room-page .hc-hero-title{color:#fff !important;}
body.hc-room-page .hc-hero-title span{color:var(--hc-sand) !important;}
body.hc-room-page .hc-story-text h2{color:var(--hc-taupe) !important;}body.hc-room-page .hc-story-text h2 span,body.hc-room-page .hc-head h2 span{color:var(--hc-green) !important;}body.hc-room-page .hc-head h2{color:var(--hc-taupe) !important;}body.hc-room-page .hc-stay-box h3{color:#fff !important;}body.hc-room-page .hc-around h3{color:#fff !important;}body.hc-room-page .hc-other h3{color:var(--hc-taupe) !important;}body.hc-room-page .hc-cal-box h3{color:var(--hc-taupe) !important;}
body.hc-room-page .hc-on-dark h2{color:#fff !important;}body.hc-room-page .hc-on-dark h2 span{color:var(--hc-sand) !important;}

html:has(body.hc-room-page),body.hc-room-page{overflow-x:clip;}
