/* Styles spécifiques à thailande-facile/partenaires/phuket-elephant-sanctuary/phuket-elephant-sanctuary.html */

@font-face {
  font-family: "Optimistic";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("/fonts/OptimisticAI_VF_Optimized.woff2") format("woff2");
}
@font-face {
  font-family: "Optimistic Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/OptimisticMono_W_TextRegular.woff2") format("woff2");
}
:where(html) {
  font-family: "Optimistic", system-ui, sans-serif;
}
:where(code, pre, kbd, samp) {
  font-family: "Optimistic Mono", ui-monospace, monospace;
}

:root { --navy:#0F4C5C; --gold:#F9A620; --bg:#FAFAF7; }
        body { background: var(--bg); font-family:'Poppins',sans-serif; color:#1a2e35; }
        h1,h2,h3 { font-family:'Montserrat',sans-serif; }
.glass { backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.logo { display:flex; align-items:center; gap:12px; }
.logo img { width:44px; height:44px; border-radius:50%; border:1px solid rgba(0,0,0,0.1); object-fit:cover; }
.hero{position:relative;height:62vh;min-height:420px;overflow:hidden} .hero img{width:100%;height:100%;object-fit:cover}
.badge{position:absolute;top:100px;left:20px;background:white;padding:6px 12px;border-radius:20px;font-size:13px;box-shadow:0 4px 12px rgba(0,0,0,0.1)}
.hero-text{position:absolute;bottom:0;left:0;right:0;padding:24px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:white}
.price{max-width:900px;margin:20px auto;padding:16px;background:#fff8e1;border-radius:12px;text-align:center}
.carousel{position:relative;max-width:900px;margin:32px auto;background:#0F4C5C;border-radius:16px;padding:0;overflow:hidden;}
.carousel img{width:100%;height:auto;max-height:75vh;object-fit:contain;display:block;margin:0 auto;background:#0F4C5C;}
.dots{text-align:center;padding:10px 0;background:#0F4C5C}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ccc;margin:0 4px;cursor:pointer} 
.dot.active{background:#F9A620}
.arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.9);border:none;width:44px;height:44px;border-radius:50%;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3);font-size:24px;z-index:10;}
.prev{left:12px} 
.next{right:12px}
#cap{text-align:center;color:#fff;font-size:15px;padding:12px 16px;background:#0F4C5C;margin:0;line-height:1.4;}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:1100px;margin:40px auto;padding:0 24px}
@media(max-width:800px){.grid{grid-template-columns:1fr}.hero{height:70vh}.badge{top:84px}}
.card{background:white;padding:20px;border-radius:16px;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.map iframe{width:100%;height:300px;border:0;border-radius:12px}
.btn{background:var(--gold);color:#0F4C5C;padding:10px 20px;border-radius:999px;font-size:13px;font-weight:600;display:inline-block}
footer{text-align:center;padding:40px;color:#777}

.tours-elephant { width: 100%; aspect-ratio: 16/9; overflow: hidden; background: #f3f4f6; }
  .tours-elephant img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
  @media (max-width: 640px) { .tours-elephant { aspect-ratio: 4/3; max-height: 180px; } }

.carousel-3d { position: relative; width: 100%; aspect-ratio: 16/9; overflow: hidden; background: #0f172a; perspective: 1000px; }
.carousel-3d-track { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; }
.carousel-3d-track img { position: absolute; top: 7%; left: 10%; width: 80%; height: 86%; object-fit: cover; border-radius: 14px; box-shadow: 0 12px 30px rgba(0,0,0,0.35); transition: transform 0.7s ease, opacity 0.7s ease, z-index 0.7s; backface-visibility: hidden; }
.carousel-3d-btn { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,0.15); backdrop-filter: blur(4px); color: white; border: 1px solid rgba(255,255,255,0.3); width: 38px; height: 38px; border-radius: 50%; cursor: pointer; font-size: 22px; z-index: 10; }
.carousel-3d-prev { left: 12px; } .carousel-3d-next { right: 12px; }
@media (max-width: 640px) { .carousel-3d { aspect-ratio: 4/3; max-height: 220px; } .carousel-3d-track img { top: 8%; height: 84%; } }
