/* ═══ GAMO Hôtel — styles de la page services ═══ */

:root{
    --sky:#3A9BD5;--sky-light:#EBF6FD;--sky-mid:#B8DEF5;
    --sky-dark:#1A6FA3;--sky-deep:#0D4E78;
    --white:#FFFFFF;--off-white:#F7FBFE;
    --text:#0F2A3D;--text-muted:#5A7A90;
    --border:rgba(58,155,213,0.18);--gold:#C9963A;
  }

*{margin:0;padding:0;box-sizing:border-box;}

body{font-family:'DM Sans',sans-serif;background:var(--white);color:var(--text);overflow-x:hidden;}

/* HERO */
  

.hero{padding:110px 5% 70px;background:linear-gradient(135deg,var(--sky-deep) 0%,var(--sky-dark) 50%,var(--sky) 100%);position:relative;overflow:hidden;}

.hero::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:60px;background:var(--white);clip-path:ellipse(55% 100% at 50% 100%);}

.hero-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}

.hero-text .tag{font-size:11px;font-weight:500;color:var(--sky-mid);text-transform:uppercase;letter-spacing:1.2px;display:block;margin-bottom:12px;}

.hero-text h1{font-family:'Playfair Display',serif;font-size:clamp(30px,4.5vw,52px);font-weight:700;color:white;line-height:1.2;margin-bottom:16px;}

.hero-text p{font-size:16px;color:rgba(255,255,255,0.78);line-height:1.75;}

.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}

.hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.22);color:white;font-size:12px;font-weight:500;padding:7px 14px;border-radius:20px;}

.hero-img{border-radius:18px;overflow:hidden;height:300px;box-shadow:0 20px 56px rgba(0,0,0,0.25);}

.hero-img img{width:100%;height:100%;object-fit:cover;}

/* GARANTIES BAND */
  

.garanties{background:var(--sky-deep);padding:0;}

.garanties-grid{display:grid;grid-template-columns:repeat(5,1fr);max-width:1100px;margin:0 auto;}

.garantie{padding:28px 20px;text-align:center;border-right:1px solid rgba(255,255,255,0.08);transition:background 0.2s;}

.garantie:last-child{border-right:none;}

.garantie:hover{background:rgba(255,255,255,0.04);}

.garantie-icon{font-size:28px;display:block;margin-bottom:8px;}

.garantie-label{font-size:13px;font-weight:500;color:white;margin-bottom:3px;}

.garantie-sub{font-size:11px;color:rgba(255,255,255,0.5);}

/* SECTION */
  .section{padding:72px 5%;}

.section-alt{background:var(--off-white);}

.section-dark{background:var(--sky-deep);}

.section-blue{background:var(--sky-light);}

.inner{max-width:1100px;margin:0 auto;}

.sec-tag{font-size:11px;font-weight:500;color:var(--sky);text-transform:uppercase;letter-spacing:1.2px;display:block;margin-bottom:10px;}

.sec-tag-white{color:var(--sky-mid);}

.sec-h2{font-family:'Playfair Display',serif;font-size:clamp(24px,3.5vw,38px);font-weight:700;color:var(--text);line-height:1.2;margin-bottom:14px;}

.sec-h2-white{color:white;}

.sec-p{font-size:15px;color:var(--text-muted);line-height:1.8;}

.sec-p-white{color:rgba(255,255,255,0.7);}

.centered{text-align:center;}

.centered .sec-p{max-width:560px;margin:0 auto;}

/* SERVICES ESSENTIELS */
  

.essential-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:44px;}

.essential-card{background:white;border-radius:18px;padding:0;border:1px solid var(--border);overflow:hidden;display:grid;grid-template-columns:auto 1fr;transition:transform 0.2s,box-shadow 0.2s;}

.essential-card:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(58,155,213,0.1);}

.essential-card.full{grid-column:1/-1;grid-template-columns:1fr 1fr;}

.essential-img{height:100%;min-height:180px;overflow:hidden;}

.essential-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s;}

.essential-card:hover .essential-img img{transform:scale(1.04);}

.essential-body{padding:24px 22px;display:flex;flex-direction:column;justify-content:center;}

.essential-icon{font-size:28px;margin-bottom:10px;}

.essential-title{font-family:'Playfair Display',serif;font-size:19px;font-weight:700;color:var(--text);margin-bottom:8px;}

.essential-desc{font-size:14px;color:var(--text-muted);line-height:1.7;}

.essential-badge{display:inline-block;background:var(--sky);color:white;font-size:11px;padding:3px 10px;border-radius:10px;margin-top:10px;font-weight:500;}

.essential-badge.gold{background:var(--gold);}

/* COMFORT GRID */
  

.comfort-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px;}

.comfort-card{background:white;border-radius:16px;padding:24px 18px;border:1px solid var(--border);text-align:center;transition:transform 0.2s,background 0.2s,border-color 0.2s;}

.comfort-card:hover{transform:translateY(-3px);background:var(--sky-light);border-color:var(--sky-mid);}

.comfort-icon{font-size:32px;margin-bottom:12px;display:block;}

.comfort-title{font-size:14px;font-weight:500;color:var(--text);margin-bottom:6px;}

.comfort-detail{font-size:12px;color:var(--text-muted);line-height:1.5;}

.comfort-rooms{font-size:11px;color:var(--sky-dark);background:var(--sky-light);padding:3px 8px;border-radius:8px;display:inline-block;margin-top:8px;}

/* BOUCAROU */
  

.boucarou-inner{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}

.boucarou-imgs{display:grid;grid-template-columns:1fr 1fr;gap:12px;}

.boucarou-img-main{grid-column:1/-1;border-radius:16px;overflow:hidden;height:240px;}

.boucarou-img-main img{width:100%;height:100%;object-fit:cover;}

.boucarou-img-sm{border-radius:12px;overflow:hidden;height:150px;}

.boucarou-img-sm img{width:100%;height:100%;object-fit:cover;}

.boucarou-features{display:flex;flex-direction:column;gap:12px;margin-top:20px;}

.boucarou-feat{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text);}

.boucarou-feat::before{content:'✓';color:var(--sky);font-weight:700;font-size:14px;flex-shrink:0;}

/* SÉCURITÉ / INFRA */
  

.infra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px;}

.infra-card{border-radius:16px;padding:28px 22px;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.05);transition:background 0.2s;}

.infra-card:hover{background:rgba(255,255,255,0.08);}

.infra-icon{font-size:36px;margin-bottom:14px;display:block;}

.infra-title{font-size:17px;font-weight:500;color:white;margin-bottom:8px;}

.infra-desc{font-size:13px;color:rgba(255,255,255,0.6);line-height:1.7;}

.infra-tag{display:inline-block;background:rgba(184,222,245,0.2);color:var(--sky-mid);font-size:11px;padding:3px 10px;border-radius:10px;margin-top:10px;border:1px solid rgba(184,222,245,0.25);}

/* CHECKLIST COMPLÈTE */
  

.checklist-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;margin-top:44px;}

.checklist-group h3{font-family:'Playfair Display',serif;font-size:17px;font-weight:700;color:var(--text);margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--sky-light);display:flex;align-items:center;gap:8px;}

.checklist-item{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;font-size:14px;color:var(--text);}

.checklist-item .ck{width:20px;height:20px;background:var(--sky-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--sky-dark);font-weight:700;flex-shrink:0;margin-top:1px;}

.checklist-item .ck-text{line-height:1.5;}

.checklist-item .ck-sub{font-size:12px;color:var(--text-muted);display:block;}

/* CTA */
  

.cta-section{background:var(--sky);padding:56px 5%;text-align:center;}

.cta-section h2{font-family:'Playfair Display',serif;font-size:clamp(24px,3.5vw,40px);font-weight:700;color:white;margin-bottom:14px;}

.cta-section p{font-size:16px;color:rgba(255,255,255,0.85);margin-bottom:32px;max-width:540px;margin-left:auto;margin-right:auto;}

.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

.btn-white{background:white;color:var(--sky-dark);padding:14px 30px;border-radius:30px;font-size:15px;font-weight:500;text-decoration:none;transition:transform 0.15s,box-shadow 0.15s;display:inline-block;}

.btn-white:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.15);}

.btn-wa{background:#25D366;color:white;padding:14px 30px;border-radius:30px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:transform 0.15s;}

.btn-wa:hover{transform:translateY(-2px);}

/* FOOTER */
  footer{background:var(--sky-deep);color:white;padding:40px 5% 24px;}

.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;max-width:1100px;margin:0 auto;}

.footer-bottom p{font-size:12px;color:rgba(255,255,255,0.4);}

.footer-links{display:flex;gap:20px;}

.footer-links a{font-size:12px;color:rgba(255,255,255,0.4);text-decoration:none;}

.footer-links a:hover{color:white;}

.wa-float{position:fixed;bottom:24px;right:24px;z-index:9999;background:#25D366;color:white;padding:13px 22px;border-radius:50px;font-size:14px;font-weight:500;text-decoration:none;box-shadow:0 4px 16px rgba(37,211,102,0.4);display:flex;align-items:center;gap:8px;transition:transform 0.2s;}

.wa-float:hover{transform:translateY(-2px);}

@media(max-width:900px){
    .hero-inner,.boucarou-inner{grid-template-columns:1fr;}
    .essential-grid{grid-template-columns:1fr;}
    .essential-card{grid-template-columns:1fr;}
    .essential-card.full{grid-template-columns:1fr;}
    .essential-img{min-height:200px;}
    .comfort-grid{grid-template-columns:1fr 1fr;}
    .infra-grid{grid-template-columns:1fr;}
    .checklist-grid{grid-template-columns:1fr;}
    .garanties-grid{grid-template-columns:1fr 1fr;}
  }

.btn-nav {
    background: var(--sky) !important; color: white !important;
    padding: 9px 20px !important; border-radius: 30px !important;
    font-size: 14px !important; font-weight: 500 !important;
    text-decoration: none !important; transition: background 0.2s !important;
  }

.btn-nav:hover { background: var(--sky-dark) !important; }

@media (max-width: 900px) {
    .nav-toggle { display: flex; }
    .nav-links {
      display: none; position: fixed;
      top: 140px; left: 0; right: 0;
      background: white; flex-direction: column;
      align-items: flex-start; gap: 0;
      padding: 8px 0 16px;
      border-bottom: 2px solid var(--sky-light);
      box-shadow: 0 8px 24px rgba(0,0,0,0.10);
      z-index: 999;
    }
    .nav-links.open { display: flex; }
    .nav-links li { width: 100%; }
    .nav-links a {
      display: block; padding: 13px 5%;
      font-size: 16px; color: var(--sky-dark);
      border-bottom: 1px solid var(--sky-light);
    }
    .nav-links li:last-child a { border-bottom: none; }
    .btn-nav {
      margin: 10px 5% 0 !important;
      display: inline-block !important;
      padding: 11px 28px !important;
      font-size: 15px !important;
    }
  }

.footer-grid {
    display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 48px; margin-bottom: 48px;
    max-width: 1100px; margin-left: auto; margin-right: auto;
  }

.footer-logo {
    font-family: 'Playfair Display', serif;
    font-size: 24px; font-weight: 700; color: white;
    margin-bottom: 14px;
  }

.footer-logo span { color: var(--gold); }

.footer-desc { font-size: 14px; color: rgba(255,255,255,0.6); line-height: 1.7; margin-bottom: 20px; }

.footer-contacts a {
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; color: rgba(255,255,255,0.75);
    text-decoration: none; margin-bottom: 8px;
    transition: color 0.2s;
  }

.footer-contacts a:hover { color: white; }

.footer-col h4 {
    font-size: 12px; font-weight: 500;
    text-transform: uppercase; letter-spacing: 1px;
    color: var(--sky-mid); margin-bottom: 18px;
  }

.footer-col ul { list-style: none; }

.footer-col ul li { margin-bottom: 10px; }

.footer-col ul a {
    font-size: 14px; color: rgba(255,255,255,0.65);
    text-decoration: none; transition: color 0.2s;
  }

.footer-col ul a:hover { color: white; }

.footer-legals { display: flex; gap: 20px; }

.footer-legals a { font-size: 12px; color: rgba(255,255,255,0.4); text-decoration: none; }

.footer-legals a:hover { color: rgba(255,255,255,0.8); }

@media (max-width: 768px) {
    .footer-grid { grid-template-columns: 1fr 1fr; }
  }

.btn-reserver{background:var(--sky);color:white!important;padding:10px 22px;border-radius:30px;font-size:14px!important;font-weight:500!important;text-decoration:none;transition:background 0.2s;display:inline-block;}
