/*
Theme Name: Tiber Valley Travel
Version: 1.0.0
Requires PHP: 8.4
Text Domain: tibervalley
*/

@font-face{font-family:Geist;src:url(assets/geist.woff2) format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(assets/geist-mono.woff2) format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--primary:201 100% 37%;--primary-dark:203 100% 33%;--primary-deep:206 84% 27%;--accent:30 100% 52%;--accent-ink:30 100% 28%;--background:205 40% 98%;--foreground:205 42% 13%;--muted:203 38% 95%;--muted-foreground:205 16% 42%;--border:205 26% 89%;--radius:8px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:hsl(var(--background));color:hsl(var(--foreground));font:16px/1.65 Geist,system-ui,sans-serif}a{color:hsl(var(--primary-dark));text-underline-offset:4px}img,svg{max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0 0 1rem}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2rem,4.6vw,3.6rem);font-weight:800}h2{font-size:1.8rem}h3{font-size:1.18rem}ul{padding-left:1.2em}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid hsl(var(--primary));background:hsl(var(--primary));color:white;padding:.72rem 1.1rem;border-radius:4px;font-weight:750;text-decoration:none;cursor:pointer;line-height:1.4}button:hover,.button:hover{filter:brightness(.94)}.accent{background:hsl(var(--accent));border-color:hsl(var(--accent));color:hsl(var(--foreground))}.outline{background:transparent;color:hsl(var(--primary-dark))}:focus-visible{outline:3px solid hsl(var(--accent));outline-offset:4px}input,select,textarea{width:100%;min-width:0;border:1px solid hsl(var(--border));border-radius:4px;padding:.7rem;background:white;color:inherit}.wrap{width:min(1280px,calc(100% - 64px));margin-inline:auto}.section{padding-block:48px}.topbar{background:hsl(var(--primary-deep));color:#d5e7f1;font-size:.78rem}.topbar .wrap{display:flex;gap:24px;padding-block:8px}.topbar a{color:inherit;text-decoration:none}.topbar span{margin-left:auto}.masthead{display:flex;align-items:center;gap:20px;padding-block:24px}.brand{width:215px;flex-shrink:0;line-height:0}.brand svg{width:100%;max-height:70px}.header-search{display:flex;margin-left:auto;width:min(360px,35%)}.header-search input{border-radius:4px 0 0 4px}.header-search button{border-radius:0 4px 4px 0}.main-nav{background:hsl(var(--primary));color:white}.nav-items{display:flex;gap:12px;align-items:stretch}.nav-items>a,.nav-items summary{display:block;color:white;text-decoration:none;padding:12px 17px;font-weight:700;cursor:pointer;font-size:.9rem}.nav-items details{position:relative}.nav-items summary::after{content:'⌄';margin-left:8px}.nav-items summary{list-style:none}.nav-items summary::-webkit-details-marker{display:none}.nav-items details[open] summary,.nav-items>a:hover{background:hsl(var(--primary-dark))}.nav-items details ul{position:absolute;top:100%;left:0;z-index:20;min-width:225px;background:white;box-shadow:0 8px 24px #05243c24;border:1px solid hsl(var(--border));list-style:none;margin:0;padding:8px;border-radius:0 0 6px 6px}.nav-items details li a{display:block;text-decoration:none;padding:8px 12px}.nav-items details li a:hover{background:hsl(var(--muted))}.page-heading{padding:34px 0;background:hsl(var(--primary-deep));color:white}.page-heading h1{font-size:clamp(2rem,3.5vw,2.9rem);margin:.75rem 0}.page-heading nav{font-size:.8rem;color:#c7dce8}.page-heading a{color:inherit}.page-heading p{max-width:720px;color:#d8e6ed;margin:0}.site-footer{background:hsl(var(--primary-deep));color:#cfdfeb;margin-top:48px;font-size:.85rem}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;padding-block:48px}.site-footer h2{font-size:1rem;color:white;letter-spacing:0}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin-bottom:9px}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer address{font-style:normal;margin-bottom:10px}.footer-logo{width:190px;margin-bottom:20px}.footer-bottom{border-top:1px solid #ffffff20;padding-block:18px;font-size:.72rem}.footer-bottom .wrap{display:flex;justify-content:space-between;gap:16px}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;top:8px;left:8px;z-index:100;background:white;padding:12px}.prose{max-width:840px;overflow-wrap:anywhere}.prose p,.prose ul{margin-bottom:1.4rem}.prose h2{margin-top:2rem}.prose h3{margin-top:1.5rem}.prose a{overflow-wrap:anywhere}.panel{background:white;border:1px solid hsl(var(--border));border-radius:var(--radius);padding:24px}.muted{color:hsl(var(--muted-foreground))}.eyebrow{text-transform:uppercase;font-size:.75rem;font-weight:800;letter-spacing:.13em}.empty{border:1px dashed hsl(var(--border));background:white;padding:40px;border-radius:var(--radius);text-align:center}.section-title{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:2px solid hsl(var(--border));padding-bottom:12px;margin-bottom:20px}.section-title h2{margin-bottom:4px}.section-title p{font-size:.9rem;margin:0;color:hsl(var(--muted-foreground))}.section-title>a{font-size:.85rem;font-weight:750;flex-shrink:0}
@media(max-width:900px){.wrap{width:calc(100% - 40px)}.topbar span{display:none}.header-search{display:none}.masthead>.button{margin-left:auto}.footer-grid{grid-template-columns:1fr 1fr}.nav-items{gap:0;flex-wrap:wrap}.nav-items>a,.nav-items summary{padding:12px;font-size:.83rem}}
@media(max-width:520px){.wrap{width:calc(100% - 32px)}.topbar .wrap{gap:12px;font-size:.68rem}.masthead{padding-block:18px;gap:12px}.brand{width:150px}.masthead>.button{font-size:.73rem;padding:.65rem;max-width:145px}.nav-items{padding-block:4px}.nav-items>a,.nav-items summary{padding:8px;font-size:.77rem}.nav-items details ul{min-width:185px}.nav-items details:nth-of-type(2) ul{left:auto;right:0}.footer-grid{gap:24px;font-size:.8rem}.footer-bottom .wrap{flex-direction:column}.section{padding-block:32px}.page-heading{padding-block:26px}.section-title h2{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.offer-search{display:grid;grid-template-columns:1.3fr 1fr auto;gap:18px;align-items:end;background:white;padding:24px;border:1px solid hsl(var(--border));box-shadow:0 8px 24px #0c375908;border-radius:var(--radius);margin-bottom:32px}.offer-search label span{display:block;font-size:.78rem;font-weight:750;margin-bottom:6px}.offer-search button{min-height:49px}.catalog-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;align-items:start}.catalog-results{min-width:0}.sidebar{display:grid;gap:20px}.category-nav{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;background:white}.category-nav h2{font-size:1rem;color:white;background:hsl(var(--primary));padding:15px 18px;margin:0;letter-spacing:0}.category-nav ul{list-style:none;margin:0;padding:0}.category-nav a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid hsl(var(--border));color:inherit;text-decoration:none;font-size:.86rem}.category-nav a:hover,.category-nav a[aria-current]{background:hsl(var(--muted));color:hsl(var(--primary-dark));font-weight:750}.count{font-family:"Geist Mono",monospace;font-size:.72rem;color:hsl(var(--muted-foreground));background:hsl(var(--muted));padding:0 6px;border-radius:3px}.sidebar h2{font-size:1rem;letter-spacing:-.01em}.sidebar p{font-size:.84rem;color:hsl(var(--muted-foreground))}.sidebar .button{width:100%}.service-link{display:block;border-bottom:1px solid hsl(var(--border));padding:10px 0;font-size:.88rem;text-decoration:none}.help-panel{background:hsl(var(--muted))}.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.offer-card{display:flex;flex-direction:column;background:white;border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s,transform .2s}.offer-card:hover{box-shadow:0 8px 25px #12365414;transform:translateY(-2px)}.card-media{display:block;aspect-ratio:4/3;background:hsl(var(--muted));overflow:hidden;text-decoration:none}.card-media img{display:block;width:100%;height:100%;object-fit:cover}.placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:hsl(var(--primary-dark));background:linear-gradient(130deg,hsl(var(--muted)),hsl(var(--background)));font-size:.76rem}.card-body{padding:17px;display:flex;flex-direction:column;flex:1}.card-body h3 a{text-decoration:none;color:inherit}.card-body h3{margin:10px 0 14px;line-height:1.3}.badges{display:flex;gap:5px;flex-wrap:wrap;list-style:none;margin:0;padding:0}.badges li{font-size:.63rem;font-weight:750;padding:2px 6px;border-radius:3px;background:hsl(var(--muted));color:hsl(var(--primary-dark));letter-spacing:0}.card-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:end;gap:8px;border-top:1px solid hsl(var(--border));padding-top:12px}.card-bottom small{font-size:.66rem;display:block;color:hsl(var(--muted-foreground))}.price{font-weight:850;color:hsl(var(--primary-dark));font-size:1.4rem;line-height:1.3;white-space:nowrap}.card-bottom .button{font-size:.75rem;padding:7px 9px}.card-destination{font-size:.78rem}.pagination{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:30px}.page-numbers{padding:8px 13px;border:1px solid hsl(var(--border));border-radius:4px;background:white;text-decoration:none}.page-numbers.current{background:hsl(var(--primary));color:white}
@media(max-width:1120px){.catalog-layout{grid-template-columns:220px minmax(0,1fr);gap:24px}.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-search{grid-template-columns:1fr 1fr}.offer-search button{grid-column:1/-1}}
@media(max-width:760px){.catalog-layout{grid-template-columns:1fr}.sidebar{order:2;grid-template-columns:1fr 1fr}.category-nav{grid-column:1/-1}.offer-search{padding:18px;gap:12px}.offer-search label:first-child{grid-column:1/-1}.offer-search{grid-template-columns:1fr}.offer-grid{gap:14px}.card-body{padding:13px}.card-body h3{font-size:1rem}.price{font-size:1.2rem}}
@media(max-width:390px){.footer-grid{grid-template-columns:1fr}.nav-items details:nth-of-type(2) ul{left:0;right:auto}.offer-grid{grid-template-columns:1fr}.sidebar{grid-template-columns:1fr}.offer-search button{font-size:.85rem}}

.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start}.detail-body,.detail-aside{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;min-width:0}.detail-aside{overflow-wrap:anywhere;gap:18px;position:sticky;top:24px;font-size:.88rem}.detail-aside h2{font-size:1.2rem}.detail-aside .button{width:100%;margin-top:10px}.detail-aside .price{font-size:2rem}.email-alternative{display:block;text-align:center;font-size:.8rem;margin-top:12px}.detail-flyer{margin:0;background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:8px;overflow:hidden}.detail-flyer img{display:block;max-height:32rem;width:auto;margin:auto;object-fit:contain}.detail-flyer .placeholder{min-height:260px;aspect-ratio:16/7}.pdf-flyer{display:flex;flex-direction:column;justify-content:center;min-height:190px;padding:32px}
.pdf-nota{display:block;padding:10px 16px;background:hsl(var(--muted));border-top:1px solid hsl(var(--border));font-size:.8rem;color:hsl(var(--primary-dark));text-align:center}.facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;background:hsl(var(--border));border:1px solid hsl(var(--border));border-radius:6px;overflow:hidden}.facts div{padding:16px;background:white}.facts div:last-child:nth-child(odd){grid-column:1/-1}.facts dt{font-size:.73rem;text-transform:uppercase;color:hsl(var(--muted-foreground))}.facts dd{margin:0;font-weight:700}.expiring{background:hsl(var(--accent)/.1);border-color:hsl(var(--accent)/.4)}.page-heading .badges li{background:#ffffff20;color:white}.detail-body h2{font-size:1.45rem;border-bottom:2px solid hsl(var(--border));padding-bottom:12px}
@media(max-width:850px){.detail-layout{grid-template-columns:1fr}.detail-aside{position:static}.detail-flyer .placeholder{min-height:180px}}

.umbria-nav{border-bottom:1px solid hsl(var(--border));margin-bottom:32px}.umbria-nav ul{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0}.umbria-nav a{display:block;padding:12px 16px;text-decoration:none;border-bottom:3px solid transparent}.umbria-nav a[aria-current]{border-color:hsl(var(--accent));font-weight:750}.umbria-section+.umbria-section{margin-top:48px}.card-summary{font-size:.85rem;color:hsl(var(--muted-foreground));display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}

.hero{position:relative;isolation:isolate;color:white;background:hsl(var(--primary-deep))}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,hsl(var(--primary-deep)/.93),hsl(var(--primary-deep)/.7),hsl(var(--primary-deep)/.25));z-index:-1}.hero .wrap{padding-block:70px 105px}.hero h1{max-width:780px;margin:20px 0}.hero p{max-width:580px;font-size:1.1rem}.hero .eyebrow{background:hsl(var(--accent));color:hsl(var(--foreground));padding:8px 12px;border-radius:4px}.hero-search{position:relative;margin-top:-48px}.home-sections{display:grid;gap:44px;min-width:0}.umbria-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.umbria-tiles a{position:relative;display:block;height:165px;border-radius:6px;overflow:hidden;background:hsl(var(--primary-deep))}.umbria-tiles img{width:100%;height:100%;object-fit:cover}.umbria-tiles a::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,hsl(var(--primary-deep)/.9),transparent)}.umbria-tiles span{position:absolute;bottom:14px;left:12px;right:12px;color:white;font-weight:750;z-index:1;line-height:1.2}.offer-rows{display:grid;gap:14px}.offer-rows .offer-card{flex-direction:row}.offer-rows .card-media{width:180px;flex-shrink:0}.agency-map iframe{width:100%;height:285px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--muted))}.agency-map figcaption{font-size:.83rem}.detail-aside address{font-style:normal;margin-bottom:16px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.values-grid p{font-size:.85rem}.contact-panel{min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-panel .hidden-fields-container{display:none}.contact-panel label{display:block;font-size:.85rem;font-weight:700}.contact-panel input,.contact-panel textarea{margin-top:6px}.contact-panel .wpcf7-form>label,.contact-panel .wpcf7-form>p,.contact-panel .wpcf7-form>div,.contact-panel details{margin-bottom:22px}.contact-panel summary{cursor:pointer;font-weight:700}.contact-panel details[open] summary{margin-bottom:18px}.contact-panel .wpcf7-submit{margin-bottom:22px;width:auto;cursor:pointer;background:hsl(var(--accent));border-color:hsl(var(--accent));font-weight:750}.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.wpcf7-not-valid-tip{display:block;color:#a02718}.wpcf7-response-output{padding:16px;border:2px solid hsl(var(--primary));border-radius:6px}.wpcf7-response-output:empty{display:none}.screen-reader-response{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.wpcf7-not-valid{border-color:#a02718}
@media(max-width:1000px){.values-grid{grid-template-columns:1fr}.umbria-tiles{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.hero .wrap{padding-block:32px 70px}.hero p{font-size:.95rem}.hero h1{font-size:2rem}.form-grid{grid-template-columns:1fr}.section-title{flex-wrap:wrap}.offer-rows .card-media{width:100px}.offer-rows .card-bottom{flex-wrap:wrap}}

.prose table{width:100%;border-collapse:collapse;margin-block:1.5rem;font-size:.93rem}.prose th,.prose td{padding:12px;text-align:left;vertical-align:top;border:1px solid hsl(var(--border));overflow-wrap:anywhere}.prose th{background:hsl(var(--muted));font-weight:750}.prose th:last-child,.prose td:last-child{width:24%;white-space:nowrap}

.agency-map .map-consenso{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;height:285px;padding:22px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--muted))}
.agency-map .map-indirizzo{margin:0;font-weight:750}
.agency-map .map-nota{margin:0;max-width:48ch;font-size:.78rem;color:hsl(var(--muted-foreground))}
