:root{
  --bg:#F5F1E8; /* beige papier */
  --text:#333;
  --primary:#A0522D; /* terre cuite */
  --accent:#D4AF37; /* doré */
  --muted:#6b6b6b;
  --card:#fff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: 'Lato', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}
.container{width:min(1120px, 92vw); margin:0 auto}

/* Header */
.site-header{position:sticky; top:0; z-index:40; background:rgba(245,241,232,.9); backdrop-filter:saturate(180%) blur(10px); border-bottom:1px solid rgba(0,0,0,.06)}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:10px 0}
.logo{height:44px; width:auto}
.nav a{margin:0 10px; text-decoration:none; color:var(--text); font-weight:600}
.nav a:hover{color:var(--primary)}
.lang-switch{display:flex; gap:6px}
.lang-btn{border:1px solid var(--primary); background:#fff; color:var(--primary); padding:6px 10px; border-radius:20px; cursor:pointer; font-weight:700}
.lang-btn.active, .lang-btn:hover{background:var(--primary); color:#fff}

/* Hero */
.hero{position:relative; min-height:72vh; display:flex; align-items:center; color:#fff}
.hero-bg{position:absolute; inset:0; background-size:cover; background-position:center; filter:grayscale(.1);}
.hero:before{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.35))}
.hero-inner{position:relative; padding:80px 0}
.hero-title{font-family:'Playfair Display', serif; font-size:clamp(28px, 5vw, 56px); margin:0 0 10px}
.hero-subtitle{font-size:clamp(16px, 2.2vw, 22px); margin:0 0 24px}
.hero-ctas{display:flex; gap:12px; flex-wrap:wrap}
.btn{display:inline-block; padding:12px 18px; border-radius:8px; text-decoration:none; font-weight:700}
.btn.primary{background:var(--primary); color:#fff; border:1px solid var(--primary)}
.btn.ghost{background:transparent; color:#fff; border:2px solid #fff}
.btn.primary:hover{filter:brightness(1.1)}

/* Sections */
.section{padding:72px 0}
.section.alt{background:#fff}
.section h2{font-family:'Playfair Display', serif; font-size:clamp(24px, 3vw, 34px); color:var(--primary); margin-top:0}
.lead{color:var(--muted)}
.center{text-align:center}
.grid-2{display:grid; grid-template-columns:1.1fr .9fr; gap:28px}
.media-stack{position:relative}
.media-stack img{width:100%; border-radius:12px; box-shadow:0 8px 24px rgba(0,0,0,.08)}
.media-stack .over{position:absolute; right:-10px; bottom:-10px; width:60%; border:6px solid var(--bg)}
.ticks{list-style:none; padding:0; margin:18px 0 0}
.ticks li{margin:8px 0; position:relative; padding-left:28px}
.ticks li:before{content:"✔"; position:absolute; left:0; color:var(--accent)}

/* Cards */
.cards{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; margin-top:24px}
.card{background:var(--card); border:1px solid rgba(0,0,0,.06); border-radius:12px; padding:16px; text-align:center; box-shadow:0 6px 16px rgba(0,0,0,.06)}
.card img{width:100%; height:260px; object-fit:contain}
.card h3{margin:10px 0 8px; font-size:22px}
.card p{color:var(--muted); min-height:44px}
.card .btn{margin-top:10px}

/* Reviews */
.reviews{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:18px}
blockquote{background:#fff; border-left:4px solid var(--accent); margin:0; padding:16px; border-radius:8px}
.stars{color:var(--accent); font-size:18px; margin-bottom:8px}

/* Contact */
.map-wrap{border-radius:12px; overflow:hidden; border:1px solid rgba(0,0,0,.06); box-shadow:0 6px 16px rgba(0,0,0,.06); margin-top:10px}
.map-wrap iframe{width:100%; height:260px; border:0}
.contact-form{background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:12px; padding:18px; box-shadow:0 6px 16px rgba(0,0,0,.06)}
.contact-form label{display:block; margin-bottom:12px}
.contact-form span{display:block; font-weight:700; margin-bottom:6px}
.contact-form input, .contact-form textarea{width:100%; padding:10px 12px; border-radius:8px; border:1px solid #ddd; font-size:16px}
.contact-form button{margin-top:6px}

/* Footer */
.footer{padding:28px 0; background:#fff; border-top:1px solid rgba(0,0,0,.06)}
.footer-inner{display:flex; align-items:center; justify-content:space-between}
.footer img{height:48px}

/* WhatsApp floating */
.whatsapp-float{position:fixed; right:18px; bottom:18px; background:#25D366; color:#fff; padding:12px; border-radius:50%; display:grid; place-items:center; box-shadow:0 8px 18px rgba(0,0,0,.2); z-index:50}
.whatsapp-float:hover{filter:brightness(1.1)}

/* Responsive */
@media (max-width: 980px){
  .grid-2{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr 1fr}
  .reviews{grid-template-columns:1fr}
  .media-stack .over{position:relative; right:auto; bottom:auto; width:90%; margin-top:12px}
}
@media (max-width: 560px){
  .nav{display:none}
  .cards{grid-template-columns:1fr}
}

/* RTL support */
html[dir="rtl"] body{font-family:'Cairo', 'Lato', Arial, sans-serif}
html[dir="rtl"] .ticks li{padding-left:0; padding-right:28px}
html[dir="rtl"] .ticks li:before{left:auto; right:0}
