/*
Theme Name: Vacanze Studio Web 2027
Theme URI: https://vacanzestudioweb.com
Author: Vacanze Studio Web
Description: Landing page Canada ed Edimburgo 2027, responsive, con gallerie e contatti WhatsApp.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: vacanze-studio-web
*/

:root{--navy:#102b48;--ink:#15304a;--muted:#63778b;--yellow:#ffdf65;--cream:#fffaf0;--blue:#1375b9;--red:#ed5d54;--line:#e6edf1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Outfit,sans-serif}a{text-decoration:none;color:inherit}button,a{ -webkit-tap-highlight-color:transparent}.container{width:min(1180px,calc(100% - 44px));margin:auto}.topbar{background:var(--navy);color:#dce9f1;font-size:12px;padding:9px 0;text-align:center;letter-spacing:.04em}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{font-family:Outfit,sans-serif;font-size:22px;font-weight:900;line-height:1;color:var(--navy)}.brand small{display:block;color:var(--blue);font-size:11px;letter-spacing:.19em;margin-top:6px}.navlinks{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:700}.navlinks a:hover{color:var(--blue)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;background:var(--yellow);color:#112b45;padding:15px 23px;border-radius:999px;font-weight:800;font-size:14px;box-shadow:0 8px 24px #0d2b4620;transition:transform .2s}.btn:hover{transform:translateY(-2px)}.btn.dark{background:var(--navy);color:white}.btn.white{background:white;color:var(--navy)}.eyebrow{text-transform:uppercase;font-weight:800;font-size:12px;letter-spacing:.18em;color:var(--blue);margin-bottom:15px}.hero{background:linear-gradient(180deg,#f1f8fc 0%,#fff 100%);padding:64px 0 72px;text-align:center}.hero h1{font-size:clamp(43px,6.5vw,82px);line-height:1.04;letter-spacing:-.045em;margin-bottom:20px}.hero h1 em{font-style:normal;color:var(--blue)}.hero .intro{font-size:18px;line-height:1.7;color:#536c80;max-width:690px;margin:0 auto 38px}.destinations{display:grid;grid-template-columns:1fr 1fr;gap:22px;text-align:left}.destination{height:470px;border-radius:24px;overflow:hidden;position:relative;isolation:isolate;box-shadow:0 18px 50px #102b4820;display:flex;align-items:flex-end;padding:35px;background:#244760}.destination::before{content:'';position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transition:transform .5s}.destination:hover::before{transform:scale(1.05)}.destination.canada::before{background-image:url('https://images.unsplash.com/photo-1517090504586-fde19ea6066f?auto=format&fit=crop&w=1300&q=85')}.destination.scotland::before{background-image:url('https://images.unsplash.com/photo-1506377585622-bedcbb027afc?auto=format&fit=crop&w=1300&q=85')}.destination::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(8,29,48,.96),rgba(8,29,48,.3) 55%,rgba(8,29,48,.03))}.tag{display:inline-block;background:var(--yellow);color:var(--navy);border-radius:100px;padding:8px 13px;font-size:12px;font-weight:900;margin-bottom:15px}.destination h2{font-size:49px;line-height:1;margin-bottom:9px;color:white}.destination p{color:#e9f3f8;font-size:15px;line-height:1.6;max-width:420px}.card-link{display:inline-flex;align-items:center;gap:10px;color:var(--yellow);font-weight:800;font-size:14px;margin-top:9px}.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 38px;margin-top:28px;font-weight:700;color:#3c617b;font-size:13px}.section{padding:96px 0}.section-head{text-align:center;max-width:720px;margin:0 auto 42px}.section-head h2,.section h2{font-size:clamp(34px,4vw,52px);line-height:1.12;letter-spacing:-.03em}.section-head p,.section .lead{font-size:17px;line-height:1.75;color:var(--muted)}.live{background:var(--navy);color:white;overflow:hidden}.live .eyebrow{color:var(--yellow)}.live h2{max-width:750px}.live .lead{color:#d5e3ee;max-width:650px}.live-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:center}.live-points{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}.live-point{background:#ffffff12;border:1px solid #ffffff20;padding:22px;border-radius:18px;font-weight:700;line-height:1.55}.live-point b{display:block;font-size:27px;margin-bottom:8px}.live-highlight{border-radius:26px;background:#ffdf65;padding:43px;color:var(--navy);transform:rotate(2deg);box-shadow:18px 18px 0 #ffffff17}.live-highlight strong{font-family:Outfit;font-size:clamp(65px,9vw,112px);line-height:.9;display:block;letter-spacing:-.07em}.live-highlight span{display:block;font-family:Outfit;font-size:35px;font-weight:900;line-height:1.05;margin:12px 0 20px}.live-highlight p{font-size:16px;line-height:1.6;margin:0}.program{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.program.reverse .program-photo{order:2}.program-photo{min-height:520px;border-radius:26px;overflow:hidden;position:relative;background:#e7eff5}.program-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.checklist li{overflow-wrap:anywhere}.program-photo .photo-label{position:absolute;bottom:22px;left:22px;background:white;border-radius:14px;padding:14px 18px;font-weight:800;box-shadow:0 7px 25px #0002}.program h2{margin-bottom:18px}.program p{line-height:1.75;color:var(--muted)}.pill-row{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0}.pill{padding:10px 13px;background:#edf6fb;color:#1c5c83;border-radius:100px;font-size:12px;font-weight:800}.checklist{list-style:none;padding:0;margin:20px 0 30px}.checklist li{padding:10px 0 10px 31px;position:relative;border-bottom:1px solid var(--line);line-height:1.5;font-size:15px}.checklist li::before{content:'✓';position:absolute;left:0;color:#178c7d;font-weight:900}.light{background:#f5f9fc}.two-programs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0 28px}.mini-card{border:1px solid #dce8f0;border-radius:17px;padding:19px;background:white}.mini-card strong{display:block;font:800 24px Outfit;margin-bottom:9px}.mini-card p{font-size:13px;margin:0}.about{background:var(--cream)}.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:75px;align-items:center}.portrait{height:560px;position:relative;border-radius:26px;overflow:hidden;box-shadow:18px 18px 0 var(--yellow)}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.about .quote{font-family:Outfit;font-size:23px;font-weight:700;line-height:1.45;color:var(--navy)}.contact{background:var(--navy);text-align:center;color:white}.contact h2{max-width:760px;margin:0 auto 20px}.contact p{color:#d6e4ed;font-size:17px;max-width:650px;margin:0 auto 29px;line-height:1.7}.contact-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:14px}.footer{background:#091f35;color:#b7c8d6;padding:30px 0;font-size:12px}.footer .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer a{text-decoration:underline}.floating{position:fixed;right:20px;bottom:20px;z-index:5;background:#25d366;color:#073b21;border-radius:100px;padding:14px 18px;font-weight:900;box-shadow:0 9px 35px #0003;font-size:13px}.notice{font-size:12px;color:#718394;margin-top:20px}.reveal{animation:up .65s both}@keyframes up{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(max-width:800px){.navlinks{display:none}.nav{height:68px}.hero{padding:45px 0 55px}.hero .intro{font-size:16px}.destinations,.program,.live-grid,.about-grid{grid-template-columns:1fr}.destination{height:400px;padding:27px}.destination h2{font-size:42px}.section{padding:68px 0}.program{gap:35px}.program.reverse .program-photo{order:0}.program-photo{min-height:390px}.live-grid{gap:40px}.about-grid{gap:45px}.portrait{height:450px;max-width:470px}.trust{gap:12px 18px}.floating{right:12px;bottom:12px}.two-programs{gap:10px}}@media(max-width:450px){.container{width:min(100% - 30px,1180px)}.hero h1{font-size:44px}.destination{height:370px}.live-points{grid-template-columns:1fr 1fr;gap:9px}.live-point{padding:15px;font-size:12px}.live-highlight{padding:30px}.two-programs{grid-template-columns:1fr}.portrait{height:410px}.section h2{font-size:36px}}

/* Gallerie fotografiche: scorrimento touch e lightbox */
.gallery-section{padding:55px 0 85px;background:#fff}.gallery-section.alt{background:#f5f9fc}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:25px}.gallery-heading h2{font-size:clamp(28px,3.5vw,43px);margin-bottom:8px}.gallery-heading p{color:var(--muted);margin:0;line-height:1.6}.gallery-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(245px,32%);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:5px 2px 18px;scrollbar-color:#8bb6d1 #e9f1f7}.gallery-item{display:block;text-align:left;background:#fff;border:1px solid #dfe8ed;border-radius:20px;overflow:hidden;scroll-snap-align:start;cursor:zoom-in;padding:0;color:var(--ink);font:inherit;box-shadow:0 8px 23px #102b480c}.gallery-item img{display:block;width:100%;height:215px;object-fit:cover;background:#c8dce8}.gallery-item span{display:block;padding:15px 17px;font-weight:800;font-size:15px}.campus-box{display:grid;grid-template-columns:1fr auto;align-items:center;gap:22px;background:#eaf4fb;border-radius:22px;padding:27px 30px;margin-top:23px}.campus-box h3{font-size:25px;margin:5px 0 8px}.campus-box p{margin:0;color:#526a7e;line-height:1.65}.campus-box .btn{white-space:nowrap}.gallery-note{color:#61778b;font-size:12px;margin-top:10px}.lightbox{position:fixed;inset:0;background:rgba(5,19,32,.94);z-index:100;display:none;align-items:center;justify-content:center;flex-direction:column;padding:55px 18px 24px}.lightbox.open{display:flex}.lightbox img{max-width:min(100%,1100px);max-height:75vh;object-fit:contain;border-radius:8px}.lightbox p{color:#fff;font-size:17px;font-weight:700;margin:18px 0 0;text-align:center}.lightbox-close{position:absolute;right:20px;top:14px;background:#fff;color:#102b48;border:0;border-radius:50%;width:44px;height:44px;font-size:26px;cursor:pointer}.gallery-controls{display:flex;gap:8px}.gallery-controls button{border:1px solid #cddde7;background:#fff;border-radius:50%;width:42px;height:42px;font-size:22px;cursor:pointer}@media(max-width:800px){.gallery-track{grid-auto-columns:minmax(240px,78%)}.campus-box{grid-template-columns:1fr}.campus-box .btn{justify-self:start}.gallery-section{padding:45px 0 65px}}@media(max-width:450px){.gallery-track{grid-auto-columns:87%}.gallery-heading{align-items:start}.gallery-controls{flex-shrink:0}}
.promo-bar{background:#ffe15a;color:#142b42;text-align:center;padding:13px 18px;font-size:15px;font-weight:800;line-height:1.5}.promo-bar a{text-decoration:underline;text-underline-offset:3px}.promo-hero{background:#fff3bf;border:2px solid #f2ca36;border-radius:19px;margin:0 auto 27px;padding:20px 24px;max-width:920px;box-shadow:0 10px 28px #a97c1415}.promo-hero strong{display:block;font:900 clamp(19px,3vw,29px) Outfit,sans-serif;color:#142b42}.promo-hero p{margin:7px 0 13px;color:#4a4a35;font-size:15px;line-height:1.5}.promo-hero .btn{background:#142b42;color:white;padding:12px 20px}.promo-inline{background:#fff4c6;border-left:5px solid #e7b400;padding:15px 18px;border-radius:10px;margin:15px 0 22px;font-weight:700;line-height:1.5}.promo-inline a{color:#125c91;text-decoration:underline}.promo-expired{display:none}@media(max-width:600px){.promo-bar{font-size:13px}.promo-hero{padding:16px}.promo-hero p{font-size:14px}}
