/* ==========================================================================
   AU MOULIN — Gîte de Groupe Universe
   Charcoal, cabernet, neon, energetic & festive
   ========================================================================== */

.theme-gite{
  --cream:#131310;
  --cream-2:#1F1B16;
  --ink:#F1ECE3;
  --ink-soft:rgba(241,236,227,.72);
  --line:rgba(241,236,227,.10);
  --red:#C8102E;
  --red-deep:#971024;
  --amber:#E8A33D;
  --electric:#00E5FF;
  --pink-neon:#FF3D9A;
  --wood:#B07A4A;
  --gold:#E8A33D;
  --gold-deep:#C58B26;
}
.theme-gite body,
body.theme-gite{background:var(--cream);color:var(--ink)}

/* HERO — Gîte */
.hero-gite{background:#131310}
.hero-gite .hero-overlay{background:linear-gradient(180deg,rgba(19,19,16,.4) 0%,rgba(19,19,16,.2) 30%,rgba(19,19,16,.95) 100%)}
.hero-gite h1{font-family:'Bebas Neue',Impact,sans-serif;font-weight:400;letter-spacing:.02em;font-size:clamp(3rem,8vw,7rem);line-height:.95}
.hero-gite h1 em{font-style:normal;color:var(--red);font-family:'Bebas Neue',Impact,sans-serif}
.hero-gite .hero-eyebrow{color:var(--amber)}

.theme-gite .section-title{font-family:'Bebas Neue',Impact,sans-serif;font-weight:400;font-size:clamp(2.4rem,5vw,4rem);line-height:1;letter-spacing:.02em}
.theme-gite .section-title em{color:var(--red);font-style:normal;font-family:'Bebas Neue',Impact,sans-serif}
.theme-gite .eyebrow{color:var(--amber)}

/* INTRO BLOCK */
.intro-gite{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.intro-gite .text h2{font-family:'Bebas Neue',Impact,sans-serif;font-weight:400;font-size:clamp(2.6rem,5vw,4.4rem);line-height:1;letter-spacing:.02em;color:var(--ink)}
.intro-gite .text h2 em{font-style:normal;color:var(--red);font-family:'Bebas Neue',Impact,sans-serif}
.intro-gite .text p{margin-top:1.4rem;font-size:1.05rem;line-height:1.8;color:var(--ink-soft)}
.intro-gite .stats{margin-top:2.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.intro-gite .stat .num{font-family:'Bebas Neue',Impact,sans-serif;color:var(--amber);font-size:2.6rem;line-height:1;letter-spacing:.02em}
.intro-gite .stat .lab{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-top:.4rem}
.intro-gite .img{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--r-md)}
.intro-gite .img img{width:100%;height:100%;object-fit:cover}
.intro-gite .img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(19,19,16,.6))}

/* AMBIANCE / FEATURES BIG TILES */
.tiles-gite{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.tile{background:var(--cream-2);padding:2.6rem 2rem;display:flex;flex-direction:column;gap:.8rem;transition:background .3s,transform .35s var(--t);cursor:default}
.tile:hover{background:#252017}
.tile .ico{width:54px;height:54px;border-radius:50%;background:rgba(232,163,61,.12);display:grid;place-items:center;color:var(--amber);margin-bottom:.5rem}
.tile h3{font-family:'Bebas Neue',Impact,sans-serif;font-size:1.6rem;letter-spacing:.04em;color:var(--ink)}
.tile p{color:var(--ink-soft);font-size:.92rem;line-height:1.65}

/* SHOWCASE STRIP — Big visual */
.showcase-gite{position:relative;height:78vh;min-height:540px;display:grid;align-items:center;color:#fff;overflow:hidden}
.showcase-gite .bg{position:absolute;inset:0}
.showcase-gite .bg img{width:100%;height:100%;object-fit:cover}
.showcase-gite .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,19,16,.85) 0%,rgba(19,19,16,.4) 60%,transparent 100%)}
.showcase-gite .copy{position:relative;z-index:2;max-width:560px}
.showcase-gite .copy .eyebrow{color:var(--amber)}
.showcase-gite .copy h3{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(2.4rem,5vw,4rem);margin-top:.6rem;line-height:1;letter-spacing:.02em}
.showcase-gite .copy h3 em{color:var(--red);font-style:normal;font-family:'Bebas Neue',Impact,sans-serif}
.showcase-gite .copy p{margin-top:1.4rem;font-size:1.05rem;color:rgba(255,255,255,.85);line-height:1.7}

/* EQUIPEMENT LIST — playful chips */
.equip-gite{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.eq-chip{background:var(--cream-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:1.6rem 1.4rem;display:flex;align-items:center;gap:1rem;transition:all .3s var(--t);position:relative;overflow:hidden}
.eq-chip::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--red);transform:scaleY(0);transform-origin:bottom;transition:transform .3s var(--t)}
.eq-chip:hover{transform:translateX(4px);border-color:rgba(200,16,46,.3)}
.eq-chip:hover::before{transform:scaleY(1);transform-origin:top}
.eq-chip .ico{width:38px;height:38px;border-radius:50%;background:rgba(200,16,46,.15);color:var(--red);display:grid;place-items:center;flex-shrink:0}
.eq-chip .lab{font-weight:600;color:var(--ink);font-size:.95rem}
.eq-chip .sub{display:block;font-size:.78rem;color:var(--ink-soft);margin-top:.15rem;font-weight:400}

/* OCCASIONS — for whom */
.occasions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:2rem}
.occ{background:linear-gradient(135deg,var(--cream-2) 0%,#1A1612 100%);border:1px solid var(--line);border-radius:var(--r-md);padding:2rem 1.5rem;text-align:center;transition:all .35s var(--t)}
.occ:hover{transform:translateY(-4px);border-color:rgba(232,163,61,.3)}
.occ .emoji{font-size:2.2rem;margin-bottom:.8rem;display:block;filter:grayscale(0)}
.occ h4{font-family:'Bebas Neue',Impact,sans-serif;color:var(--amber);font-size:1.4rem;letter-spacing:.05em}
.occ p{color:var(--ink-soft);font-size:.86rem;margin-top:.4rem;line-height:1.55}

/* PRICING — gîte */
.theme-gite .price-card{background:var(--cream-2);border:1px solid var(--line);color:var(--ink)}
.theme-gite .price-card .price{color:#fff}
.theme-gite .price-card .lab{color:var(--amber)}
.theme-gite .price-card.featured{background:linear-gradient(135deg,var(--red) 0%,var(--red-deep) 100%);color:#fff;border-color:var(--red)}
.theme-gite .price-card.featured .lab{color:#fff;opacity:.9}
.theme-gite .price-card.featured .price,
.theme-gite .price-card.featured .price small,
.theme-gite .price-card.featured .desc{color:#fff;opacity:1}
.theme-gite .price-card.featured .desc{opacity:.9}
.theme-gite .price-card .badge{background:var(--amber);color:#0a0a0a}

/* CTA BANNER */
.cta-banner-gite{position:relative;padding:clamp(4rem,8vw,7rem) 0;background:linear-gradient(135deg,#1A1612 0%,#131310 100%);overflow:hidden}
.cta-banner-gite::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top left,rgba(200,16,46,.15) 0%,transparent 50%)}
.cta-banner-gite .inner{position:relative;text-align:center;max-width:680px;margin-inline:auto;color:#fff}
.cta-banner-gite h3{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(2.4rem,5vw,4rem);line-height:1;letter-spacing:.02em}
.cta-banner-gite h3 em{font-style:normal;color:var(--red);font-family:'Bebas Neue',Impact,sans-serif}
.cta-banner-gite p{margin-top:1.2rem;color:rgba(255,255,255,.8);font-size:1.05rem}
.cta-banner-gite .actions{margin-top:2rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* PMR badge */
.pmr-banner{background:linear-gradient(90deg,var(--amber) 0%,#D89328 100%);color:#0a0a0a;padding:1rem 1.5rem;border-radius:var(--r-sm);display:flex;align-items:center;gap:1rem;margin-bottom:2rem;font-weight:600;font-size:.95rem}
.pmr-banner .ico{width:32px;height:32px;border-radius:50%;background:#0a0a0a;color:var(--amber);display:grid;place-items:center;flex-shrink:0}

/* Gallery override gite */
.theme-gite .gallery .g-item{background:var(--cream-2)}

/* Conditions list */
.conditions{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:2rem}
.cond{background:var(--cream-2);border:1px solid var(--line);border-radius:var(--r-md);padding:1.8rem;border-left:3px solid var(--amber)}
.cond h4{font-family:'Bebas Neue',Impact,sans-serif;color:var(--amber);font-size:1.3rem;letter-spacing:.04em;margin-bottom:.6rem}
.cond p{color:var(--ink-soft);font-size:.9rem;line-height:1.6}

@media (max-width:900px){
  .intro-gite{grid-template-columns:1fr}
  .tiles-gite{grid-template-columns:1fr}
  .showcase-gite{height:auto;min-height:auto;padding:5rem 0}
  .showcase-gite .bg::after{background:linear-gradient(180deg,rgba(19,19,16,.5) 0%,rgba(19,19,16,.92) 100%)}
}
