/*
Theme Name: Mà Annina
Theme URI: https://www.casavacanzeannina.it/
Author: Visione Torre
Description: Tema one-page dedicato a Mà Annina – Casa Vacanze ad Agropoli.
Version: 1.0.0
Text Domain: ma-annina
*/
:root{--navy:#062d63;--yellow:#f7bd16;--cream:#fffaf0;--ink:#082344;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit}.serif{font-family:Georgia,'Times New Roman',serif}
nav{position:fixed;z-index:20;top:0;left:0;right:0;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(255,250,240,.91);backdrop-filter:blur(14px);border-bottom:1px solid rgba(6,45,99,.12)}
.brand{font-family:Georgia,serif;font-style:italic;font-size:25px;text-decoration:none;color:var(--navy)}.navlinks{display:flex;gap:25px;align-items:center;font-size:12px;letter-spacing:.13em;text-transform:uppercase}.navlinks a{text-decoration:none}.book{padding:13px 20px;background:var(--navy);color:#fff;border-radius:99px;font-weight:bold}
.hero{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;padding-top:76px}.hero-copy{padding:9vw 6vw 7vw 8vw;display:flex;flex-direction:column;justify-content:center}.kicker,.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#866600;margin-bottom:16px}h1{font:normal 72px/.98 Georgia,serif;letter-spacing:-.045em;margin:0 0 26px;max-width:760px}h1 em{color:var(--navy);font-weight:normal}.lead{font:22px/1.55 Georgia,serif;max-width:600px;color:#40536c}.ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.cta{display:inline-block;text-decoration:none;padding:17px 25px;border-radius:99px;background:var(--navy);color:#fff;font-size:12px;font-weight:bold;letter-spacing:.12em}.cta.alt{background:transparent;color:var(--navy);border:1px solid var(--navy)}
.hero-art{position:relative;overflow:hidden;background:repeating-linear-gradient(90deg,var(--yellow) 0 12.5%,#fffdf8 12.5% 25%);display:flex;align-items:center;justify-content:center;padding:7vw 4vw}.hero-art img{width:94%;max-width:720px;mix-blend-mode:multiply}.facts{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy);color:#fff;padding:30px 7vw;text-align:center}.fact strong{display:block;font:32px Georgia,serif;margin-bottom:5px}.fact span{font-size:11px;letter-spacing:.15em;text-transform:uppercase;opacity:.8}
.section{padding:100px 8vw}.story,.features,.places{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:start}h2{font:normal 54px/1.03 Georgia,serif;letter-spacing:-.035em;margin:0 0 24px}.story p,.text{font:19px/1.75 Georgia,serif;color:#44546a}.quote{font:italic 30px/1.35 Georgia,serif;color:var(--navy);border-left:3px solid var(--yellow);padding-left:25px;margin-top:35px}
.visual-band{min-height:590px;position:relative;display:flex;align-items:end;padding:6vw 8vw;color:#fff;background:linear-gradient(90deg,rgba(6,45,99,.72),rgba(6,45,99,.08)),url('assets/piscina.jpg') center/cover no-repeat}.visual-band .big{font:normal 65px/1 Georgia,serif;max-width:850px;margin:0}.grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #b8b2a7}.item{padding:22px 10px 22px 0;border-bottom:1px solid #d4cec3;font-size:14px}.item b{display:block;font:21px Georgia,serif;margin-bottom:4px;color:var(--navy)}
.places{background:#fff;grid-template-columns:1fr 1fr;gap:7vw}.place-list{margin-top:25px}.place{padding:19px 0;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;font-family:Georgia,serif;font-size:20px}.placebtn{width:100%;background:none;border:0;color:inherit;text-align:left;cursor:pointer}.placebtn:hover{color:#9a7400}
.real-gallery{padding:95px 4vw 110px}.gallery-head{padding:0 4vw 45px;max-width:850px}.gallery-head p{font:19px/1.6 Georgia,serif;color:#44546a}.masonry{columns:3 320px;column-gap:14px}.masonry figure{break-inside:avoid;margin:0 0 14px;position:relative;overflow:hidden}.masonry img{width:100%;display:block}.masonry figcaption{position:absolute;left:12px;bottom:12px;background:rgba(6,45,99,.82);color:#fff;padding:8px 11px;border-radius:99px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.booking{background:var(--yellow);padding:100px 8vw;text-align:center}.booking h2{font-size:62px;max-width:900px;margin:0 auto 22px}.booking p{font:20px Georgia,serif;margin-bottom:32px}footer{background:var(--navy);color:#fff;padding:55px 8vw;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;font-size:13px;line-height:1.8}footer a{text-decoration:none}.social{text-transform:uppercase;letter-spacing:.12em}.wa{position:fixed;z-index:30;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:#fff;color:var(--navy);box-shadow:0 8px 30px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:bold;border:2px solid var(--yellow)}
.place-modal{display:none;position:fixed;inset:0;z-index:100;background:rgba(4,20,42,.82);padding:4vh 4vw;overflow:auto}.place-modal.open{display:block}.place-card{max-width:1050px;margin:auto;background:#fffaf0;display:grid;grid-template-columns:1.05fr .95fr;min-height:620px;position:relative}.place-card img{width:100%;height:100%;object-fit:cover;min-height:620px}.place-copy{padding:65px 55px}.place-copy h3{font:44px/1.05 Georgia,serif;margin:10px 0 24px}.place-copy p{font:18px/1.7 Georgia,serif;color:#44546a}.closex{position:absolute;right:18px;top:15px;border:0;background:#fff;border-radius:50%;width:42px;height:42px;font-size:24px;cursor:pointer}.source-note{font-size:11px!important;font-family:Arial!important;letter-spacing:.06em;text-transform:uppercase;margin-top:25px}
@media(max-width:850px){nav{height:64px}.navlinks a:not(.book){display:none}.hero{grid-template-columns:1fr;padding-top:64px}.hero-copy{padding:75px 7vw 55px}h1{font-size:49px}.hero-art{min-height:410px}.facts{grid-template-columns:1fr 1fr;gap:28px 10px}.story,.features,.places{grid-template-columns:1fr;gap:40px}h2{font-size:42px}.visual-band{min-height:460px}.visual-band .big{font-size:47px}.masonry{columns:1}.booking h2{font-size:44px}footer{grid-template-columns:1fr}.place-card{grid-template-columns:1fr}.place-card img{min-height:280px;height:280px}.place-copy{padding:38px 26px}}
