@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&family=Hind:wght@400;500;600;700&display=swap');
:root{--bg:#fbfaf6;--fg:#332e2c;--primary:#c83225;--accent:#d9a83f;--card:#fff;--muted:#77716e;--border:#e7e2dc;--secondary:#f2eee8;--radius:10px}*{box-sizing:border-box;border-color:var(--border)}body{margin:0;background:var(--bg);color:var(--fg);font:16px Hind,sans-serif}h1,h2,h3,b,strong,.brand{font-family:Archivo,sans-serif}h1{font-size:clamp(2rem,4vw,3rem);line-height:1.15;margin:.35em 0}h2{font-size:1.5rem}p{line-height:1.6}a{color:inherit;text-decoration:none}.wrap{max-width:1152px;margin:auto;padding-left:18px;padding-right:18px}.header{position:sticky;top:0;z-index:5;background:#ffffffed;backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.head{height:66px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-size:21px}.brand img{width:44px;height:44px;object-fit:cover;border-radius:6px}.head nav{display:flex;gap:26px;font-weight:600;font-size:14px}.head nav a:hover,.textlink{color:var(--primary)}.hero{background-position:center;background-size:cover;color:white}.herocontent{padding-top:clamp(80px,11vw,155px);padding-bottom:64px}.herocontent h1{max-width:690px;font-size:clamp(2.4rem,5vw,3.8rem)}.herocontent>p{font-size:19px;opacity:.94}.search{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:8px;padding:12px;background:var(--card);border-radius:12px;box-shadow:0 12px 32px -12px #332e2c40;color:var(--fg);margin-top:26px}.search label{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;min-width:0}.search input{width:100%;min-width:0;border:0;outline:0;background:transparent;font:inherit}.search button,button,.button{border:0;background:var(--primary);color:#fff;border-radius:8px;padding:11px 18px;font:600 15px Hind,sans-serif;cursor:pointer;display:inline-block;text-align:center}.search button:hover,button:hover,.button:hover{filter:brightness(.94)}.section{padding-top:48px;padding-bottom:45px}.chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.chip{border:1px solid var(--border);background:white;border-radius:999px;padding:8px 20px}.chip:hover{border-color:var(--primary);color:var(--primary)}.spaced{margin-top:54px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:18px}.hotel-card{display:block;overflow:hidden;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 5px #00000008;transition:box-shadow .2s}.hotel-card:hover{box-shadow:0 12px 32px -12px #332e2c40}.hotel-card>img{width:100%;aspect-ratio:4/3;object-fit:cover}.pad{padding:16px}.stars{color:var(--accent);letter-spacing:2px}.hotel-card h3{font-size:18px;margin:7px 0}.muted{color:var(--muted)}.hotel-card p{margin:6px 0}.between{display:flex;align-items:end;justify-content:space-between;gap:8px;padding-top:12px;font-size:14px}.between b{color:var(--fg);font-size:18px}.rating{background:var(--primary);color:#fff;padding:4px 8px;border-radius:5px;font-weight:700}.rating small{font-weight:400;opacity:.85}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:64px}.features article{background:var(--secondary);padding:20px;border-radius:12px}.features p{font-size:14px;color:var(--muted);margin-bottom:0}.footer{margin-top:70px;border-top:1px solid var(--border);background:var(--secondary);padding:38px 0;color:var(--muted);font-size:14px}.listing{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;margin-top:30px}.filters,.summary,.panel{border:1px solid var(--border);background:var(--card);border-radius:12px;padding:20px}.filters label,.booking label,.panel label{display:block;font-size:14px;margin:14px 0}.filters select,.booking input,.booking select,.booking textarea,.panel input{display:block;width:100%;padding:10px 12px;margin-top:5px;border:1px solid var(--border);border-radius:8px;background:var(--bg);font:inherit;color:inherit}.filters button{width:100%;margin-top:10px}.empty{padding:40px;text-align:center;background:white;border:1px solid var(--border);border-radius:12px;color:var(--muted)}.detail-hero{width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:12px;margin-top:22px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;margin-top:32px}.lead{font-size:19px;line-height:1.7}.room{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;border:1px solid var(--border);background:white;border-radius:12px;padding:16px;margin-top:12px}.room p{margin:5px 0}.summary{align-self:start}.summary small,.summary .small{font-size:13px;font-weight:400}.block{display:block;width:100%;margin-top:14px}.narrow{max-width:700px;margin:auto}.booking{background:white;border:1px solid var(--border);border-radius:12px;padding:24px;margin-top:22px}.booking h2{font-size:20px;margin-top:25px}.booking h2:first-child{margin-top:0}.booking p{font-size:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.panel{max-width:440px;margin:0 auto 18px}.panel h1{font-size:26px}.secondary{background:var(--secondary);color:var(--fg)}.full{width:100%;margin:8px 0}.center{text-align:center}.center a{display:inline-block;margin:5px}.textlink{text-decoration:underline}@media(max-width:850px){.search{grid-template-columns:1fr 1fr}.search label:first-child{grid-column:1/-1}.search button{grid-column:1/-1}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.listing,.detail-grid{grid-template-columns:1fr}.features{grid-template-columns:1fr}.summary{order:-1}}@media(max-width:540px){.cards{grid-template-columns:1fr}.head nav{gap:12px}.brand{font-size:17px}.brand img{width:36px;height:36px}.two{grid-template-columns:1fr}.herocontent{padding-top:65px}.search{grid-template-columns:1fr}.search label:first-child,.search button{grid-column:auto}.between{align-items:center}}

/* Correctifs responsive et formulaires natifs pour localhost/Apache */
img{max-width:100%} input,select,textarea,button{max-width:100%} button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px} .booking textarea{min-height:100px;resize:vertical} .filters select{display:block;width:100%;padding:10px 12px;margin-top:5px;border:1px solid var(--border);border-radius:8px;background:var(--bg);font:inherit;color:inherit} @media(max-width:540px){.wrap{padding-left:14px;padding-right:14px}.section{padding-top:30px;padding-bottom:30px}.booking{padding:16px}.head nav{font-size:13px;gap:10px}}
