/*
Theme Name: Villa Esmée Menorca
Author: Villa Esmée
Description: Villa avec galerie intégrée, français/anglais/espagnol, WhatsApp et demandes de séjour.
Version: 1.0.5
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: villa-esmee
*/

:root{--dark:#123237;--sea:#30777a;--sand:#f7f3eb;--cream:#e9f0ed}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--dark);background:var(--sand);font:16px/1.6 Arial,sans-serif}a{color:inherit}.shell{max-width:1200px;margin:auto;padding:0 24px}button,input{font:inherit}button{cursor:pointer}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.1}h1{font-size:clamp(3rem,7vw,6.6rem);max-width:830px}h2{font-size:clamp(2.2rem,4.5vw,4rem);margin:12px 0 24px}h3{font-size:1.75rem}.note{background:#123237;color:#fff;text-align:center;padding:7px;font-size:.75rem;letter-spacing:.08em}.nav{position:relative;background:#123237;color:white;z-index:10}.nav-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{font:1.5rem Georgia,serif;text-decoration:none;white-space:nowrap}.logo small{display:block;font:10px Arial;letter-spacing:.3em}.links{display:flex;align-items:center;gap:17px}.links a,.links summary{text-decoration:none;font-size:.9rem;font-weight:600;cursor:pointer}.links a:hover,.links summary:hover{text-decoration:underline}.dropdown{position:relative}.dropdown summary{list-style:none}.dropdown summary::-webkit-details-marker{display:none}.sub{position:absolute;top:100%;left:0;min-width:160px;display:grid;gap:12px;padding:18px;background:#fff;color:var(--dark);box-shadow:0 8px 25px #0003;border-radius:4px}.dropdown:not([open]) .sub{display:none}.lang{display:flex;gap:4px;border:1px solid #ffffff80;border-radius:20px;padding:3px}.lang button{border:0;border-radius:20px;background:none;color:white;padding:4px 7px;font-size:.77rem}.lang button[aria-pressed=true]{background:#fff;color:var(--dark)}.menu-toggle{display:none;background:none;color:white;border:1px solid #fff;border-radius:6px;padding:6px 11px}.hero{position:relative;color:white;min-height:620px;display:flex;align-items:end;isolation:isolate;background:#517c7e}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,#082329d9,#08232917),none;background-position:center;background-size:cover}.hero .shell{width:100%;padding-bottom:85px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:bold;color:#c99168}.hero .eyebrow{color:#ffe2bd}.hero p{font-size:1.15rem;max-width:620px}.btn{display:inline-block;background:var(--dark);color:white;text-decoration:none;border:1px solid var(--dark);border-radius:40px;padding:12px 22px;font-weight:700;font-size:.9rem}.btn.light{background:white;color:var(--dark);border-color:white}.btn.ghost{background:transparent;color:var(--dark)}.hero .btn{margin:12px 10px 0 0}.section{padding:80px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.split p{max-width:580px}.specs{display:flex;flex-wrap:wrap;gap:28px;margin-top:28px}.specs b{display:block;font:2.3rem Georgia,serif}.specs span{font-size:.8rem}.main-photo,.gallery img{width:100%;height:420px;object-fit:cover;border-radius:4px}.gallery-wrap{background:var(--cream)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery img{height:260px}.gallery img:first-child{grid-column:span 2;height:360px}.gallery img:nth-child(2){height:360px}.location-list{border-top:1px solid #ccd6d2}.location-list div{padding:15px;border-bottom:1px solid #ccd6d2;display:flex;justify-content:space-between;gap:20px}.book{background:#164147;color:#fff}.booking{display:grid;grid-template-columns:1fr 1.2fr;gap:20px}.card{background:white;color:var(--dark);padding:28px;border-radius:5px}.card .btn{margin:5px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.fields label{font-size:.85rem;font-weight:700}.fields input{width:100%;padding:9px;border:1px solid #bbc9c7;border-radius:4px}.small{font-size:.8rem;color:#627576}.result{display:none;padding:14px;background:#e7f1ed;margin-top:15px}.reviews{background:#fff}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.review{border:1px solid #dce4e0;padding:22px}.review p{font:1.15rem/1.4 Georgia,serif}.review small{color:#627576}.insta-grid{display:flex;gap:12px;overflow:auto;scroll-snap-type:x mandatory;padding:15px 0}.slot{flex:0 0 190px;aspect-ratio:1;background:#e4e6df;border:1px dashed #aab5af;display:grid;place-items:center;text-align:center;padding:15px;font-size:.8rem;scroll-snap-align:start}.status{display:inline-block;border:1px solid #d9b99c;border-radius:30px;padding:5px 12px;font-size:.78rem;color:#815e44}.footer{background:#123237;color:white;padding:55px 0}.footer-grid{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer a{display:block}.wa{position:fixed;z-index:20;right:18px;bottom:18px;background:#25d366;color:#083c22;padding:13px 18px;border-radius:40px;text-decoration:none;font-weight:bold;box-shadow:0 7px 20px #0004}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #eaa36b;outline-offset:3px}
@media(max-width:850px){.menu-toggle{display:block}.links{display:none;position:absolute;top:100%;left:0;right:0;background:#123237;padding:20px 24px;align-items:stretch;flex-direction:column}.links.open{display:flex}.dropdown .sub{position:static;box-shadow:none;margin-top:8px}.split,.booking{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery img,.gallery img:first-child,.gallery img:nth-child(2){height:220px;grid-column:auto}.reviews-grid{display:flex;overflow:auto}.review{min-width:260px}.section{padding:65px 0}.hero{min-height:580px}.hero .shell{padding-bottom:55px}}

/* WordPress navigation and bundled photographs */
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.language-choice{display:flex;gap:6px;flex-shrink:0}.language-choice a{padding:7px 9px;border:1px solid #dad8ce;border-radius:6px;font-size:13px}.language-choice a[aria-current="page"]{background:#20493d;color:white}.mobile-menu{display:none}.wp-menu{list-style:none;display:flex;gap:24px;margin:0;padding:0}.wp-menu li{position:relative}.wp-menu .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:180px;padding:16px;background:white;list-style:none;box-shadow:0 8px 24px #0002}.wp-menu li:hover>.sub-menu,.wp-menu li:focus-within>.sub-menu{display:block}.sub-menu a{display:block;padding:8px}.gallery a{display:block;height:260px;overflow:hidden;border-radius:12px}.gallery a:first-child{grid-column:span 2;height:360px}.gallery a:nth-child(2){height:360px}.gallery a img,.gallery a img:first-child{width:100%;height:100%;object-fit:cover;grid-column:auto}.honeypot{position:absolute;left:-10000px}.skip-link{position:absolute;left:-10000px}.skip-link:focus{left:20px;top:20px;z-index:100;background:white;padding:10px}.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.wa-send{background:#207347}.alert{padding:15px;background:#f2ead5;border-radius:8px}.social-widget{max-width:100%;overflow:hidden}.intro-photo{object-position:center 58%}
@media(max-width:850px){.mobile-menu{display:block}.mobile-menu>summary{cursor:pointer;padding:10px;list-style:none}.mobile-links{position:absolute;top:100%;left:0;right:0;background:white;padding:20px;box-shadow:0 8px 20px #0002}.mobile-links>a{display:block;padding:12px}.mobile-links .dropdown{display:block}.mobile-links .sub{position:static;box-shadow:none}.mobile-links .wp-menu{display:block}.mobile-links .wp-menu>li>a{display:block;padding:10px}.mobile-links .wp-menu .sub-menu{display:block;position:static;box-shadow:none}.language-choice{gap:3px}.language-choice a{padding:6px}.gallery a,.gallery a:first-child,.gallery a:nth-child(2){height:220px;grid-column:auto}}
.mobile-links,.wp-menu .sub-menu{color:var(--dark)}

.availability-calendar{background:#f8f6f0;color:#123237;padding:18px;border-radius:12px;margin:18px 0}.calendar-nav{display:flex;justify-content:space-between;align-items:center;gap:10px}.calendar-nav button{border:1px solid #b5c1bc;border-radius:8px;background:white;color:#123237;padding:6px 12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:12px;text-align:center}.calendar-cell{padding:5px 2px;border-radius:4px;background:#dcece0;font-size:13px}.calendar-cell.busy{background:#f4d5ce;color:#7d241a;text-decoration:line-through}.calendar-cell.past{background:#eee;color:#888}.calendar-weekday{font-size:12px;font-weight:bold}.calendar-cell.selected{outline:2px solid #20493d;outline-offset:-2px}.calendar-note{font-size:12px;margin:10px 0 0}.calendar-nav button:disabled{opacity:.35}
