/*
Theme Name: Castello di Populonia
Theme URI: https://www.castellodipopulonia.it
Author: Desa Web Solution
Description: Tema a blocchi per il Castello di Populonia. Non richiede plugin: le pagine si creano all'attivazione e tutti i testi si modificano dall'editor di WordPress. Colori e font si cambiano da Aspetto → Editor → Stili.
Version: 1.0.0
Requires at least: 6.3
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: castello-populonia
*/
:root{--cp-primary:var(--wp--preset--color--primary,#fff);--cp-sec:var(--wp--preset--color--secondary,#58473b);--cp-ter:var(--wp--preset--color--tertiary,#736253);--cp-acc:var(--wp--preset--color--accent,#d9bea9);--cp-ph:var(--wp--preset--color--grigio-foto,#d6d9d5);
--cp-line:rgba(88,71,59,.14);--cp-stone:#efe9e3;--cp-rxl:34px;--cp-rlg:24px;--cp-e:cubic-bezier(.2,.7,.2,1);interpolate-size:allow-keywords}
html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;margin:0}
:focus-visible{outline:3px solid var(--cp-ter);outline-offset:3px}
.cp-main{padding-top:0;overflow-x:clip}.cp-main p{margin:0 0 14px}.cp-main h1,.cp-main h2,.cp-main h3,.cp-main h4{margin:0}
/* tipografia */
.cp-h1{font-size:clamp(36px,6.4vw,84px)}.cp-h2{font-size:clamp(30px,4.4vw,52px);margin:0 0 22px!important}.cp-h2-sm{font-size:clamp(26px,3.2vw,38px)}.cp-h3{font-size:clamp(22px,2.2vw,28px)}
.cp-h4{font-size:19px;margin:22px 0 6px!important;color:var(--cp-ter)}.cp-lead{font-size:clamp(17px,1.7vw,21px);max-width:58ch;margin-top:18px!important}
.cp-body{max-width:62ch}.cp-narrow .cp-body,.cp-narrow-in .cp-body{margin-left:auto;margin-right:auto}.cp-note{font-size:14px;color:var(--cp-ter)}
.cp-sub{color:var(--cp-ter);font-weight:500;font-size:15px;margin:6px 0 0!important}.cp-sub-big{font-size:19px}.cp-tag{display:inline-block;background:var(--cp-acc);color:var(--cp-sec);font-size:13px;font-weight:500;padding:5px 14px;border-radius:999px;margin:6px 0 0!important}
.cp-phone{font-weight:600;margin:8px 0!important}.cp-light,.cp-light a{color:#fff!important}
/* layout */
.cp-sec{max-width:1320px;margin-left:auto;margin-right:auto;padding:clamp(46px,7vw,96px) 24px}.cp-sec-tight{padding-top:28px;padding-bottom:28px}
.cp-narrow{max-width:820px;text-align:center}.cp-narrow2{max-width:900px}.cp-article{max-width:760px}.cp-art{max-width:none;font-size:18px}
.cp-main .wp-block-columns{gap:clamp(16px,2vw,24px);margin:0}.cp-split.wp-block-columns{gap:clamp(24px,5vw,72px)}.cp-split+.cp-split{margin-top:clamp(40px,6vw,84px)}
.cp-empty{visibility:hidden}
/* header */
.cp-header{position:fixed;z-index:60;top:12px;left:12px;right:12px;height:84px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--cp-sec);border-radius:22px;box-shadow:0 6px 28px rgba(43,33,25,.18)}
.admin-bar .cp-header{top:44px}.cp-header .wp-block-image{margin:0;line-height:0;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.cp-header .wp-block-image img{height:62px;width:auto}
.cp-header .wp-block-navigation__responsive-container-open{width:46px;height:46px;border:1px solid rgba(255,255,255,.4);border-radius:14px;color:#fff;display:flex!important;align-items:center;justify-content:center;transition:background .25s}
.cp-header .wp-block-navigation__responsive-container-open:hover{background:var(--cp-ter)}
.wp-block-navigation__responsive-container.is-menu-open{background:var(--cp-primary)!important;color:var(--cp-sec)!important;padding:108px 28px 28px!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-family:Marcellus,serif;font-size:clamp(28px,4.4vw,52px);line-height:1.25;color:var(--cp-sec)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{font-size:clamp(18px,2.4vw,24px);font-family:Figtree,sans-serif}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover{color:var(--cp-ter)}
.wp-block-navigation__responsive-container-close{top:100px!important;right:28px!important}
.cp-header .wp-block-buttons{margin:0}
.cp-best{position:fixed;z-index:59;left:50%;bottom:16px;transform:translateX(-50%)}.cp-best p{margin:0!important}.cp-best a{display:block;background:var(--cp-sec);color:#fff!important;padding:11px 22px;border-radius:999px;font-size:14px;font-weight:500;text-decoration:none;box-shadow:0 8px 26px rgba(88,71,59,.28);white-space:nowrap;transition:background .25s}.cp-best a:hover{background:var(--cp-ter)}
/* bottoni */
.wp-block-button__link,.wp-element-button{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;border-radius:999px;background:var(--cp-sec);color:#fff;text-decoration:none;font-weight:500;font-size:15px;border:1.5px solid var(--cp-sec);transition:background .25s,transform .25s var(--cp-e),box-shadow .25s,color .25s}
.wp-block-button__link:hover{background:var(--cp-ter);border-color:var(--cp-ter);color:#fff;transform:translateY(-2px);box-shadow:0 10px 22px rgba(88,71,59,.2)}
.cp-main .wp-block-buttons{margin-top:22px}.cp-center.wp-block-buttons{justify-content:center}
.cp-btn-gold .wp-block-button__link{background:var(--cp-acc);color:var(--cp-sec);border-color:var(--cp-acc)}.cp-btn-gold .wp-block-button__link:hover{background:#e6d2c2;border-color:#e6d2c2;color:var(--cp-sec)}
.cp-btn-light .wp-block-button__link{background:#fff;color:var(--cp-sec);border-color:#fff}.cp-btn-light .wp-block-button__link:hover{background:var(--cp-stone);color:var(--cp-sec);border-color:var(--cp-stone)}
.is-style-outline .wp-block-button__link{background:transparent;color:var(--cp-sec);border:1.5px solid var(--cp-sec)}.is-style-outline .wp-block-button__link:hover{background:var(--cp-sec);color:#fff}
.cp-header .wp-block-button__link{padding:11px 22px}
/* foto segnaposto */
.cp-photo{border-radius:var(--cp-rxl);overflow:hidden;padding:0;width:100%}.cp-photo .wp-block-cover__inner-container{position:relative;z-index:2}
.cp-phlabel{font-size:14px;line-height:1.45;color:#5d5247;margin:0!important;padding:12px}.cp-phlabel-hero{color:#fff;position:absolute;top:104px;right:24px;text-align:right;z-index:3;max-width:60%}
/* hero */
.cp-hero{margin:96px 12px 0;border-radius:var(--cp-rxl);overflow:hidden;padding:0;min-height:calc(100svh - 108px)!important;color:#fff;position:relative}.cp-hero-small{min-height:62svh!important}
.cp-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(43,33,25,.78),rgba(43,33,25,.1) 62%);z-index:1;pointer-events:none}
.cp-hero .wp-block-cover__inner-container{position:static;width:100%;max-width:none;z-index:2;color:#fff}.cp-hero *{color:#fff}.cp-hero .cp-btn-light a{color:var(--cp-sec)}
.cp-hero-in{padding:clamp(24px,5vw,64px);max-width:860px;text-align:left}.cp-hero-in>*{animation:cpup .9s var(--cp-e) both}.cp-hero-in>*:nth-child(2){animation-delay:.12s}.cp-hero-in>*:nth-child(3){animation-delay:.22s}.cp-hero-in>*:nth-child(4){animation-delay:.3s}
.cp-crumb a{display:inline-block;margin-bottom:16px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.2);text-decoration:none;font-size:14px}
@keyframes cpup{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
/* slot Octorate: vuoti sul sito, tratteggiati solo nell'editor */
.cp-slot{min-height:0}.cp-slot-hero{position:absolute;right:clamp(16px,3vw,36px);bottom:clamp(16px,3vw,36px);width:min(640px,calc(100% - 32px));z-index:3}
.editor-styles-wrapper .cp-slot{min-height:110px;outline:2px dashed rgba(88,71,59,.45);outline-offset:-2px;border-radius:24px;background:rgba(255,255,255,.7)}
/* card */
.cp-cards .wp-block-column{display:flex}.cp-card{display:flex;flex-direction:column;width:100%;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-rxl);overflow:hidden;box-shadow:0 2px 14px rgba(88,71,59,.06);transition:transform .45s var(--cp-e),box-shadow .45s}
.cp-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(88,71,59,.14)}
.cp-card .cp-card-ph{border-radius:0;transition:transform .8s var(--cp-e)}.cp-card:hover .cp-card-ph{transform:scale(1.04)}.cp-card .cp-photo{width:100%}
.cp-card-body{padding:clamp(18px,2vw,28px);display:flex;flex-direction:column;align-items:flex-start;flex:1;position:relative;background:#fff}.cp-card-body .wp-block-buttons{margin-top:auto;padding-top:20px}.cp-card-txt{margin:10px 0 0!important;font-size:16px;color:var(--cp-ter)}
.cp-card-body .cp-card-txt:last-child{margin-bottom:0}
.cp-specs .wp-block-column{display:flex}.cp-spec{background:var(--cp-ter);color:#fff;border-radius:var(--cp-rlg);padding:22px 24px;width:100%}.cp-spec p{margin:0!important;color:#fff}.cp-spec-k{font-size:13px;opacity:.9}.cp-spec-v{font-family:Marcellus,serif;font-size:21px}
.cp-box{background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-rxl);padding:clamp(24px,3vw,44px)}
.cp-icons,.cp-plain{margin:12px 0 24px;padding-left:20px}.cp-icons{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.cp-icons li{display:flex;gap:10px;align-items:center;font-size:15px;margin:0}
.cp-icons li::before{content:"✓";flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--cp-stone);color:var(--cp-sec);font-size:14px}
/* accordion */
.cp-accs{display:grid;gap:12px}.cp-acc{background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-rlg);overflow:hidden;margin:0;transition:box-shadow .3s}.cp-acc:hover{box-shadow:0 10px 26px rgba(88,71,59,.08)}
.cp-acc summary{list-style:none;cursor:pointer;position:relative;padding:20px 66px 20px 26px;font-family:Marcellus,serif;font-size:clamp(18px,2vw,22px);color:var(--cp-sec)}
.cp-acc summary::-webkit-details-marker{display:none}.cp-acc summary::marker{content:""}
.cp-acc summary::after{content:"+";position:absolute;right:22px;top:50%;width:34px;height:34px;margin-top:-17px;border-radius:50%;background:var(--cp-stone);display:grid;place-items:center;font-family:Figtree,sans-serif;font-size:20px;line-height:1;transition:transform .4s var(--cp-e),background .3s,color .3s}
.cp-acc[open] summary::after{content:"–";transform:rotate(180deg);background:var(--cp-sec);color:#fff}
.cp-acc>:not(summary){padding:0 26px;margin:0}.cp-acc>:last-child{padding-bottom:20px}
.cp-acc::details-content{block-size:0;overflow:clip;transition:block-size .45s var(--cp-e),content-visibility .45s allow-discrete}.cp-acc[open]::details-content{block-size:auto}
/* overlay: recensioni, giornata perfetta */
.cp-reviews{border-radius:var(--cp-rxl);overflow:hidden;color:#fff;padding:clamp(24px,5vw,72px);position:relative}.cp-reviews::after{content:"";position:absolute;inset:0;background:rgba(43,33,25,.5);z-index:1}
.cp-reviews .wp-block-cover__inner-container{position:relative;z-index:2;width:100%;max-width:none}.cp-quote{font-family:Marcellus,serif;font-size:clamp(22px,3vw,34px);color:#fff;line-height:1.25}
.cp-tl .wp-block-cover__inner-container{text-align:left}.cp-tl-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-top:24px}.cp-tl-item{background:rgba(255,255,255,.16);border-radius:var(--cp-rlg);padding:16px}.cp-tl-item p{margin:0!important;font-size:15px}.cp-tl-item h3{font-size:26px}
.cp-darkbox{background:linear-gradient(135deg,var(--cp-sec),var(--cp-ter));color:#fff;padding:clamp(34px,6vw,84px);text-align:center;border-radius:var(--cp-rxl)}.cp-darkbox .cp-body{margin-left:auto;margin-right:auto}
/* mappa dintorni */
.cp-mi{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap;background:#fff;border:1px solid var(--cp-line);border-radius:16px;padding:12px 18px;margin-bottom:8px}.cp-mi p{margin:0!important}.cp-mi-t{font-family:Marcellus,serif;color:var(--cp-ter);min-width:92px;font-size:18px}.cp-mi-p{font-size:15px}
.cp-mapbox{border-radius:var(--cp-rxl);overflow:hidden;line-height:0}.cp-map{width:100%;aspect-ratio:4/3;border:0}
/* blog */
.cp-blog-grid{gap:24px!important}.cp-blog-grid .wp-block-post-featured-image{margin:0}.cp-blog-grid .wp-block-post-title{font-size:clamp(22px,2.2vw,28px);margin:6px 0 0}.cp-blog-grid .wp-block-post-title a{text-decoration:none}
.cp-blog-grid .wp-block-post-terms{color:var(--cp-ter);font-weight:500;font-size:15px}.cp-blog-grid .wp-block-post-terms a{text-decoration:none;color:inherit}.cp-blog-grid .wp-block-post-excerpt{margin-top:10px}.cp-blog-grid .wp-block-read-more{margin-top:auto;padding:11px 22px;border:1.5px solid var(--cp-sec);border-radius:999px;text-decoration:none;margin-top:20px;font-weight:500}.cp-blog-grid .wp-block-read-more:hover{background:var(--cp-sec);color:#fff}
/* form contatti */
.cp-form{display:grid;gap:14px;margin-top:10px}.cp-form label{display:grid;gap:5px;font-size:14px;color:var(--cp-ter)}.cp-form input[type=text],.cp-form input[type=email],.cp-form input[type=tel],.cp-form textarea{font:inherit;color:var(--cp-sec);padding:12px 14px;border:1px solid #cdc5bd;border-radius:14px;background:#fff;width:100%;box-sizing:border-box}
.cp-form .cp-check{display:flex;gap:8px;align-items:flex-start;font-size:13px}.cp-form button{justify-self:start;font:inherit;font-weight:500;padding:14px 28px;border:0;border-radius:999px;background:var(--cp-acc);color:var(--cp-sec);cursor:pointer;transition:background .25s}.cp-form button:hover{background:#e6d2c2}
.cp-hp{position:absolute!important;left:-9999px}.cp-msg{padding:12px 16px;border-radius:14px;background:var(--cp-stone)}
/* footer */
.cp-footer{background:var(--cp-sec);color:#dfd6cd;margin:0 12px 12px;padding:clamp(28px,4vw,60px);border-radius:var(--cp-rxl)}.cp-footer a{color:#dfd6cd;text-decoration:none;transition:color .2s}.cp-footer a:hover{color:#fff}
.cp-footer h4{color:#fff;font-size:18px;margin:0 0 8px!important}.cp-footer p{margin:0 0 6px}.cp-footer .wp-block-image{margin:0 0 12px;line-height:0}.cp-footer .wp-block-image img{height:84px;width:auto}
.cp-footer .wp-block-list{list-style:none;padding:0;margin:0}.cp-footer .wp-block-list li{padding:3px 0}.cp-footer .wp-block-columns{gap:28px;margin:0}
.cp-social{margin:14px 0 6px;gap:10px}.cp-social .wp-social-link{background:rgba(255,255,255,.12)!important;border-radius:12px!important;color:var(--cp-acc)!important}.cp-social .wp-social-link a{padding:.7em}.cp-social .wp-social-link:hover{background:rgba(255,255,255,.22)!important}
.cp-footer .cp-btn-gold a{color:var(--cp-sec)}.cp-legal{margin-top:24px!important;font-size:13px;opacity:.8}.cp-legal a{color:var(--cp-acc)}
/* reveal */
html.cp-js .cp-reveal{opacity:0;transform:translateY(34px) scale(.985);transition:opacity .8s var(--cp-e),transform .8s var(--cp-e);transition-delay:calc(var(--i,0)*90ms)}html.cp-js .cp-reveal.cp-in{opacity:1;transform:none}
/* responsive */
@media(max-width:1020px){.cp-tl-grid{grid-template-columns:repeat(2,1fr)}.cp-header{height:72px}.cp-header .wp-block-image img{height:52px}.cp-hero{margin-top:84px}.cp-footer .wp-block-columns{flex-wrap:wrap}.cp-slot-hero{position:relative;right:auto;bottom:auto;margin:0 16px 16px;width:auto}.cp-phlabel-hero{top:92px}}
@media(max-width:782px){.cp-empty{display:none}.cp-split-right>.wp-block-column:last-child{order:-1}.cp-icons{grid-template-columns:1fr}.cp-sec{padding-left:16px;padding-right:16px}.cp-header .wp-block-image{position:static;transform:none;margin:0 auto}.cp-header .wp-block-image img{height:46px}.cp-header{height:68px}.cp-hero{margin-top:88px}.cp-best{bottom:12px}.cp-best a{font-size:13px}.cp-header .wp-block-button__link{padding:10px 16px;font-size:14px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html.cp-js .cp-reveal{opacity:1;transform:none}html{scroll-behavior:auto}}
.cp-main .wp-block-columns+.wp-block-columns{margin-top:clamp(16px,2vw,24px)}
.cp-main .cp-sec>.cp-h2+.wp-block-columns,.cp-main .cp-sec>.cp-note+.wp-block-columns{margin-top:0}
.cp-main .cp-sec>.cp-h2.has-text-align-center{margin-bottom:34px!important}
.cp-blog-grid>li{display:flex}.cp-blog-grid .cp-card{height:100%}
.wp-block-navigation__responsive-container.is-menu-open{padding-top:100px!important;overflow-y:auto}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-size:clamp(24px,3.2vw,38px)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{font-size:clamp(16px,1.8vw,19px)}
.wp-block-navigation__responsive-container-close{color:var(--cp-sec);width:46px;height:46px;border:1px solid var(--cp-line);border-radius:14px;display:flex;align-items:center;justify-content:center}
.wp-block-navigation__responsive-container-close svg{width:24px;height:24px}
.cp-socials{display:flex;gap:10px;margin:14px 0 6px}.cp-footer .cp-socials a{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.12);color:var(--cp-acc);transition:background .25s,transform .25s var(--cp-e)}.cp-footer .cp-socials a:hover{background:rgba(255,255,255,.22);transform:translateY(-2px)}
