/* ===== BASE ===== */
:root{
  --beige:#FFFCF7; --beige2:#F8F3EC; --marron:#2C211D;
  --orange:#FF8C2A; --orange2:#E67E22; --border:#EADDC9;
  --navy:#0F4C5C; --gold:#F9A620; --bg:#FAFAF7;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Outfit',sans-serif;background:var(--beige);color:var(--marron);line-height:1.6}
h1,h2,h3,.serif{font-family:'DM Serif Display',serif}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.container{max-width:1200px;margin:0 auto;padding:0 24px}

/* ===== HEADER + MENU DEROULANT ===== */

.logo{display:flex;align-items:center;gap:12px;font-family:'DM Serif Display';font-size:20px}
.logo img{width:80px;height:80px;border-radius:50%;border:1px solid var(--border);object-fit:cover}
.nav-desktop{display:flex;align-items:center;gap:12px}
/* menu déroulant */
.menu-wrap{position:relative}
.menu-btn{padding:10px 20px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:13px;cursor:pointer}
.menu-drop{
  position:absolute;right:0;top:calc(100% + 8px);width:210px;
  background:#fff;border:1px solid var(--border);border-radius:16px;
  box-shadow:0 16px 40px rgba(44,33,29,0.15);padding:8px;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:all .22s ease;
}
.menu-wrap:hover .menu-drop{opacity:1;visibility:visible;transform:translateY(0)}
.menu-drop a{display:block;padding:12px 16px;border-radius:12px;font-size:14px}
.menu-drop a:hover{background:var(--beige2)}
.btn-whatsapp{background:var(--marron);color:#fff;padding:10px 20px;border-radius:999px;font-size:13px}

/* ===== HERO ===== */
.hero{position:relative;overflow:hidden;padding-top:72px}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom, rgba(255,252,247,0.1), rgba(255,252,247,0.6), var(--beige));}
.hero-content{position:relative;padding:80px 24px 40px 24px}
.badge-hero{display:inline-flex;gap:8px;background:rgba(255,255,255,0.8);border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:12px;text-transform:uppercase;letter-spacing:0.05em}
.hero h1{font-size:68px;line-height:0.95;margin-top:24px}
.hero h1 span{color:var(--orange2)}
.hero p{margin-top:24px;font-size:19px;opacity:0.8;max-width:520px}
.hero-btns{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:16px 28px;border-radius:999px;font-weight:500;font-size:15px}
.btn-orange{background:var(--orange);color:#fff;box-shadow:0 8px 24px rgba(230,126,34,0.25)}
.btn-white{background:#fff;border:1px solid rgba(44,33,29,0.15)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid rgba(44,33,29,0.1);padding-top:24px;margin-top:80px;max-width:560px}
.stats b{font-family:'DM Serif Display';font-size:28px;display:block}
.stats span{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;opacity:0.6}

/* ===== SECTIONS GENERIQUES ===== */
section{padding:80px 0}
.grid-2{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:start }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px }
.card{background:#fff;border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:0 8px 32px rgba(44,33,29,0.06)}
.card img{height:240px;object-fit:cover;width:100%}
.card-body{padding:24px}
@media(max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr} .hero h1{font-size:42px} .nav-desktop{display:none}}

/* MAPS GOOGLE */
.map-box{border-radius:16px;overflow:hidden;border:1px solid var(--border);margin-top:12px}
.map-box iframe{width:100%;height:280px;border:0}

/* DARK */
.dark{background:var(--marron);color:var(--beige)}
.dark .card{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.1)}

/* ===== RESPONSIVE FIX - Thaïlande Facile ===== */
@media(max-width:1024px){
  .hero h1{font-size:54px}
  .container{padding:0 20px}
  .hero-content{padding-left:20px;padding-right:20px}
}
@media(max-width:900px){
  .grid-2,.grid-3{grid-template-columns:1fr}
  .hero h1{font-size:42px}
  .nav-desktop{display:none}
  .burger{display:flex !important}
  .stats{grid-template-columns:repeat(3,1fr);margin-top:48px}
  section{padding:60px 0}
}
@media(max-width:768px){
  header{height:64px}
  .header-inner{padding:0 16px}
  .hero{padding-top:64px}
  .hero-content{padding:48px 24px 32px 24px}
  .hero h1{font-size:36px;line-height:1.05}
  .hero p{font-size:17px}
  .hero-btns{flex-direction:column}
  .btn{width:100%;text-align:center;padding:14px 24px}
  .stats{grid-template-columns:1fr;gap:16px;max-width:100%}
  .stats div{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--border);padding:12px 16px;border-radius:12px}
  .stats b{font-size:22px}
  .card img{height:200px}
  h2{font-size:32px !important}
  h2 br{display:none}
  .map-box iframe{height:220px}
}
@media(max-width:480px){
  .container{padding:0 16px}
  .logo{font-size:18px}
  .logo img { width:80px; height:80px; border-radius:50%; object-fit:cover; }
  .hero h1{font-size:32px}
  .badge-hero{font-size:11px}
  .card-body{padding:20px}
  footer{padding:32px 16px}
}

/* Burger mobile */
.burger{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:#fff;display:none;align-items:center;justify-content:center;cursor:pointer;flex-direction:column;gap:4px}
.burger span{width:18px;height:2px;background:var(--marron);border-radius:2px;transition:all .2s}
.burger.active span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-menu{position:fixed;top:64px;left:0;right:0;bottom:0;background:var(--beige2);z-index:49;padding:24px;display:none;flex-direction:column;gap:8px;overflow-y:auto}
.mobile-menu.open{display:flex}
.mobile-menu a{padding:16px 20px;background:#fff;border:1px solid var(--border);border-radius:16px;font-size:16px;font-weight:500}
.mobile-menu a.btn-whatsapp-mobile{background:var(--marron);color:#fff;text-align:center;margin-top:12px}

/* Touch improvements */
.btn, .menu-btn, .burger, a{ -webkit-tap-highlight-color: transparent; }
img{max-width:100%;height:auto}
iframe{max-width:100%}


/* ===== FIX PACKS & OUTILS MOBILE - empêche scroll horizontal ===== */
#packs div[style*="grid-template-columns:repeat(3"]{
  grid-template-columns:repeat(3,1fr) !important;
}
#outils div[style*="grid-template-columns:1.2fr"]{
  grid-template-columns:1.2fr 0.8fr !important;
}
@media(max-width:900px){
  #packs div[style*="grid-template-columns:repeat(3"]{
    grid-template-columns:1fr !important;
  }
  #outils div[style*="grid-template-columns:1.2fr"]{
    grid-template-columns:1fr !important;
  }
  #outils div[style*="grid-template-columns:repeat(4"]{
    grid-template-columns:repeat(2,1fr) !important;
  }
}
@media(max-width:768px){
  #packs{padding:48px 0 !important}
  #packs div[style*="max-width:1200px"]{padding:0 16px !important}
  #packs div[style*="grid-template-columns:repeat(3"]{
    grid-template-columns:1fr !important;
    gap:20px !important;
    margin-top:32px !important;
  }
  .pack-card{padding:24px !important;border-radius:20px !important}
  .pack-card.best{transform:none !important}
  #outils{padding:48px 0 !important}
  #outils div[style*="max-width:1200px"]{
    padding:0 16px !important;
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
  #outils div[style*="grid-template-columns:repeat(4"]{
    grid-template-columns:repeat(2,1fr) !important;
    gap:10px !important;
  }
  /* Convertisseur - input + result en colonne */
  #outils div[style*="display:flex; gap:12px"]{
    flex-direction:column !important;
  }
  #outils #input-thb{width:100% !important}
  #outils div[style*="min-width:160px"]{width:100% !important;min-width:unset !important}
}
@media(max-width:480px){
  #outils div[style*="grid-template-columns:repeat(4"]{
    grid-template-columns:1fr 1fr !important;
  }
  #outils div[style*="background:#fff; border:1px"]{
    padding:20px !important;
    border-radius:20px !important;
  }
}

/* Empêche tout débordement horizontal global */
html, body{max-width:100%; overflow-x:hidden}
* {min-width:0}

/* Styles précédemment inline, maintenant externalisés */
.inline-style-001{font-size:52px;line-height:0.95}
.inline-style-002{margin-top:24px;opacity:0.7;max-width:520px}
.inline-style-003{margin-top:32px;gap:16px}
.inline-style-004{padding:24px}
.inline-style-005{opacity:0.6;font-size:14px;margin-top:8px}
.inline-style-006{position:relative}
.inline-style-007{border-radius:24px;aspect-ratio:4/5;object-fit:cover;width:100%}
.inline-style-008{position:absolute;bottom:-20px;left:-20px;background:var(--marron);color:#fff;padding:20px;border-radius:20px;max-width:260px}
.inline-style-009{font-size:13px}
.inline-style-010{opacity:0.6}
.inline-style-011{background:var(--beige2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.inline-style-012{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;align-items:end}
.inline-style-013{margin-top:48px}
.inline-style-014{background:var(--marron);color:#fff;font-size:10px;padding:4px 10px;border-radius:999px}
.inline-style-015{margin-top:12px}
.inline-style-016{margin-top:60px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.inline-style-017{height:100%;weight:100%;min-height:380px;object-fit:cover}
.inline-style-018{padding:40px}
.inline-style-019{background:var(--marron);color:#fff;font-size:11px;letter-spacing:0.1em;padding:6px 12px;border-radius:999px}
.inline-style-020{font-size:30px;margin-top:16px}
.inline-style-021{opacity:0.7;margin-top:16px}
.inline-style-022{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.inline-style-023{background:var(--beige2);padding:12px;border-radius:12px;font-size:13px}
.inline-style-024{opacity:0.5}
.inline-style-025{color:var(--orange);letter-spacing:0.2em}
.inline-style-026{font-size:54px;margin-top:16px}
.inline-style-027{opacity:0.7;margin-top:24px;max-width:520px}
.inline-style-028{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:32px;text-align:center}
.inline-style-029{background:rgba(255,255,255,0.1);padding:16px;border-radius:16px}
.inline-style-030{font-size:22px;display:block}
.inline-style-031{opacity:0.6;font-size:11px}
.inline-style-032{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.inline-style-033{height:132px}
.inline-style-034{padding:16px}
.inline-style-035{margin-top:60px;display:grid;grid-template-columns:0.9fr 1.1fr;gap:40px;border-top:1px solid rgba(255,255,255,0.1);padding-top:48px;align-items:center}
.inline-style-036{font-size:30px}
.inline-style-037{margin-top:24px;list-style:none}
.inline-style-038{border-radius:28px;aspect-ratio:16/10;object-fit:cover}
.inline-style-039{display:grid;grid-template-columns:1.2fr 0.8fr;gap:16px;margin-top:16px}
.inline-style-040{border-radius:20px;height:160px;object-fit:cover}
.inline-style-041{background:rgba(255,255,255,0.1);border-radius:20px;padding:16px;border:1px solid rgba(255,255,255,0.1)}
.inline-style-042{text-align:center}
.inline-style-043{background:var(--marron);color:#fff;font-size:11px;letter-spacing:0.15em;padding:6px 16px;border-radius:999px}
.inline-style-044{font-size:54px;margin-top:24px}
.inline-style-045{margin-top:40px}
.inline-style-046{font-size:13px;opacity:0.6}
.inline-style-047{background:var(--beige2)}
.inline-style-048{font-size:40px;margin-top:24px}
.inline-style-049{background:var(--marron); color:#fff; padding:80px 0;}
.inline-style-050{font-family:Georgia; font-size:28px;}
.inline-style-051{max-width:1200px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:1.2fr 0.8fr; gap:24px;}
.inline-style-052{background:#fff; border:1px solid #EADDC9; border-radius:28px; padding:32px; color:var(--marron);}
.inline-style-053{font-size:14px; opacity:0.6; margin-top:8px;}
.inline-style-054{margin-top:32px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;}
.inline-style-055{font-size:12px; letter-spacing:0.1em; opacity:0.6;}
.inline-style-056{font-size:12px;}
.inline-style-057{width:70px; border:1px solid #EADDC9; border-radius:999px; padding:4px 8px; text-align:center;}
.inline-style-058{margin-top:16px; display:flex; gap:8px; flex-wrap:wrap;}
.inline-style-059{padding:8px 16px; border-radius:999px; border:1px solid #EADDC9; background:#fff; cursor:pointer;}
.inline-style-060{padding:8px 16px; border-radius:999px; border:1px solid #2C211D; background:#2C211D; color:#fff; cursor:pointer;}
.inline-style-061{margin-top:16px; display:flex; gap:12px;}
.inline-style-062{flex:1; background:#F8F3EC; border:1px solid #EADDC9; border-radius:16px; padding:16px 20px; font-size:22px; font-weight:600;}
.inline-style-063{background:#2C211D; color:#fff; border-radius:16px; padding:16px 24px; min-width:160px;}
.inline-style-064{font-size:11px; opacity:0.6; letter-spacing:0.1em;}
.inline-style-065{font-family:Georgia; font-size:26px; margin-top:4px;}
.inline-style-066{margin-top:24px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px;}
.inline-style-067{background:#FFFCF7; border:1px solid #EADDC9; border-radius:12px; padding:12px;}
.inline-style-068{font-size:11px; opacity:0.6;}
.inline-style-069{font-weight:600; margin-top:4px;}
.inline-style-070{display:flex; align-items:center; gap:8px; font-size:12px; letter-spacing:0.1em; opacity:0.6;}
.inline-style-071{width:8px; height:8px; background:#25D366; border-radius:50%; display:inline-block;}
.inline-style-072{font-family:Georgia; font-size:26px; margin-top:16px;}
.inline-style-073{margin-top:32px; background:rgba(255,255,255,0.1); border-radius:20px; padding:20px;}
.inline-style-074{font-size:11px; letter-spacing:0.1em; opacity:0.6;}
.inline-style-075{font-family:Georgia; font-size:34px; margin-top:8px;}
.inline-style-076{font-size:13px; opacity:0.6; margin-top:8px;}
.inline-style-077{margin-top:16px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:20px; padding:20px;}
.inline-style-078{font-family:Georgia; font-size:26px; margin-top:8px;}
.inline-style-079{margin-top:12px; display:inline-block; background:#FF8C2A; color:#fff; font-size:12px; padding:4px 12px; border-radius:999px;}
.inline-style-080{font-size:48px}
.inline-style-081{margin-top:16px}
.inline-style-082{margin-top:32px}
.inline-style-083{padding:32px;border-radius:28px}
.inline-style-084{color:#FFB400}
.inline-style-085{text-align:center;max-width:720px}
.inline-style-086{font-size:52px}
.inline-style-087{margin-top:60px;text-align:center}
.inline-style-088{width:56px;height:56px;background:#fff;color:var(--marron);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;font-weight:700}
.inline-style-089{width:56px;height:56px;background:var(--orange);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;font-weight:700}
.inline-style-090{background:var(--beige);padding:80px 0}
.inline-style-091{max-width:800px}
.inline-style-092{background:var(--beige2);border:1px solid var(--border);border-radius:32px;padding:48px;text-align:center}
.inline-style-093{width:56px;height:56px;background:#fff;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;font-size:24px}
.inline-style-094{font-size:36px;margin-top:24px}
.inline-style-095{margin-top:24px}


/* Identité de marque native */
.brand-primary { color: var(--navy); }
.brand-accent { color: var(--gold); }
.brand-subtitle { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 15px; }

/* Animation reveal utilisée par Vietnam */
.reveal { opacity: 0; transform: translateY(24px); transition: all 0.8s cubic-bezier(.2,.7,.2,1); }
.reveal.active, .reveal.revealed { opacity: 1; transform: translateY(0); }

/* Zoom image */
.zoom-image { width: 300px; cursor: pointer; transition: all 0.3s ease; }
.zoom-image.agrandie { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; object-fit: contain; z-index: 9999; background: rgba(0,0,0,.9); cursor: zoom-out; }
