/*
Theme Name:  Ponza Viaggi
Description: Child theme di GeneratePress per ponzaviaggi.it (migrazione da Joomla/YOOtheme).
Template:    generatepress
Version:     1.0.1
Text Domain: ponzaviaggi
*/

/* ---------- Font locali (nessuna chiamata a Google) ---------- */
@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/raleway-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/raleway-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Raleway;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/raleway-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Raleway;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/raleway-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Raleway;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/raleway-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Raleway;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/raleway-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"PT Serif";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/pt-serif-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"PT Serif";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/pt-serif-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"PT Serif";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/pt-serif-latin-400-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"PT Serif";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/pt-serif-cyrillic-400-italic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"PT Serif";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/pt-serif-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"PT Serif";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/pt-serif-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

/* ---------- Variabili (dallo stile YOOtheme "Fjord" del vecchio sito) ---------- */
:root{
  --pv-primary:#435dba;
  --pv-primary-dark:#34499a;
  --pv-link:#1a0d7a;
  --pv-text:#4f5260;
  --pv-emphasis:#292c3d;
  --pv-muted-bg:#f4f4f6;
  --pv-muted:#90929d;
  --pv-border:#ebebed;
  --pv-dark:#292c3d;
  --pv-content:1200px;
  --pv-narrow:820px;
}

body{font-family:Raleway,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.73;color:var(--pv-text);background:#fff}
h1,h2,h3,h4,h5,h6{font-family:"PT Serif",Georgia,serif;color:var(--pv-emphasis);font-weight:400;line-height:1.3}
h1{font-size:clamp(2rem,4vw,2.75rem)} h2{font-size:clamp(1.6rem,3vw,2.1rem)} h3{font-size:1.4rem} h4{font-size:1.2rem} h5{font-size:1.05rem} h6{font-size:.9rem}
/* scala tipografica unica: la dimensione dipende solo dal tag */
.entry-content h1{font-size:clamp(2.1rem,4.5vw,3rem)}
.entry-content h2{font-size:clamp(1.6rem,3vw,2.1rem)}
.entry-content h3{font-size:1.35rem}
.entry-content h4{font-size:1.1rem;letter-spacing:.02em}
.entry-content h1.pv-hero-title{font-size:clamp(2.4rem,6vw,4rem);letter-spacing:.01em;margin-bottom:.5rem}
.entry-content .pv-hero-kicker{font-family:Raleway,sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.75rem}
a{color:var(--pv-link)} a:hover,a:focus{color:var(--pv-primary)}
strong,b{color:var(--pv-emphasis)}

/* header / navigazione */
.site-header{border-bottom:1px solid var(--pv-border)}
.site-logo img,.header-image{max-height:70px;width:auto}
.main-navigation .main-nav ul li a{font-family:Raleway,sans-serif;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--pv-emphasis)}
.main-navigation .main-nav ul li:hover>a,.main-navigation .main-nav ul li.current-menu-item>a,.main-navigation .main-nav ul li.current-menu-ancestor>a{color:var(--pv-primary)}
.main-navigation ul ul{box-shadow:0 8px 24px rgba(0,0,0,.08);width:260px}
.main-navigation .main-nav ul ul li a{text-transform:none;letter-spacing:0;font-size:14px;font-weight:400;padding-top:.7em;padding-bottom:.7em}
.main-navigation ul ul{border-top:2px solid var(--pv-primary)}
.pll-switcher-flags .menu-item a,.lang-item a{text-transform:uppercase}

/* pagine provenienti dal builder: larghezza piena, sezioni gestiscono i margini */
.pv-builder .site-content .content-area{width:100%}
.pv-builder .inside-article{padding:0}
.pv-builder .entry-content{margin-top:0}
.pv-builder .site-content{padding:0}
.entry-content>.alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw;width:100vw}
.pv-builder .entry-content>*:not(.alignfull){max-width:var(--pv-content);margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}

/* sezioni */
.pv-section{padding-left:20px;padding-right:20px}
.pv-section>.wp-block-group__inner-container,.pv-section>.wp-block-cover__inner-container{max-width:var(--pv-content);margin:0 auto}
.pv-section.is-layout-constrained>*{max-width:var(--pv-content)}
.pv-width-small.is-layout-constrained>*{max-width:var(--pv-narrow)}
.pv-pad-none{padding-top:0;padding-bottom:0}
.pv-pad-s{padding-top:2.5rem;padding-bottom:2.5rem}
.pv-pad-m{padding-top:4rem;padding-bottom:4rem}
.pv-pad-l{padding-top:5.5rem;padding-bottom:5.5rem}
.pv-pad-xl{padding-top:8rem;padding-bottom:8rem}
.pv-section--muted{background:var(--pv-muted-bg)}
.pv-section--primary{background:var(--pv-primary);color:#fff}
.pv-section--secondary{background:var(--pv-dark);color:#fff}
.pv-section--primary :is(h1,h2,h3,h4,h5,h6,a,strong),.pv-section--secondary :is(h1,h2,h3,h4,h5,h6,a,strong){color:#fff}
.wp-block-cover.pv-section{margin-top:0;margin-bottom:0}
.wp-block-cover:not(.is-light) :is(h1,h2,h3,h4,h5,h6,strong,a){color:#fff}

.entry-content>.pv-section+.pv-section{margin-top:0}
.pv-lead,.pv-lead p{font-size:1.2rem;line-height:1.6}
.pv-meta{color:var(--pv-muted);font-size:.875rem}

/* card e griglie */
.pv-grid{gap:30px}
.pv-card{background:#fff;border:1px solid var(--pv-border);padding:0 0 1.25rem;overflow:hidden;height:100%;transition:box-shadow .2s}
.pv-card:hover{box-shadow:0 10px 30px rgba(41,44,61,.08)}
.pv-card>*:not(.wp-block-image){padding-left:1.25rem;padding-right:1.25rem}
.pv-card>.wp-block-image{margin:0 0 1rem}
.pv-card>.wp-block-image img{width:100%;aspect-ratio:3/2;object-fit:cover}
.pv-card h2,.pv-card h3,.pv-card h4{font-size:1.25rem;margin-bottom:.5rem}
.pv-card h2 a,.pv-card h3 a,.pv-card h4 a{color:var(--pv-emphasis);text-decoration:none}
.pv-section--muted .pv-card{border-color:transparent}
@media (max-width:900px){.pv-grid.is-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:600px){.pv-grid.is-layout-grid{grid-template-columns:1fr!important}}

/* elementi */
.wp-block-button__link{background:var(--pv-primary);color:#fff;border-radius:2px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.85em 1.9em}
.wp-block-button__link:hover{background:var(--pv-primary-dark);color:#fff}
.is-style-outline>.wp-block-button__link{background:transparent;color:var(--pv-primary);border:1px solid currentColor}
.is-style-outline>.wp-block-button__link:hover{background:var(--pv-primary);color:#fff;border-color:var(--pv-primary)}
.wp-block-quote{border-left:3px solid var(--pv-primary);padding-left:1.5rem;font-family:"PT Serif",serif;font-style:italic}
.wp-block-separator{border:0;border-top:1px solid var(--pv-border);max-width:100px}
.wp-block-image img{height:auto}
.wp-block-gallery img{aspect-ratio:4/3;object-fit:cover}
.pv-map iframe{display:block;width:100%}
.pv-map-link{font-size:.8rem;text-align:right;margin:.25rem 0 0}

/* footer */
.site-footer{background:var(--pv-dark);color:#c9cad3}
.site-footer a{color:#fff}
.pv-footer-menu{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem 1.25rem;font-size:14px}
.pv-footer-menu a{text-decoration:none}
.pv-footer-menu a:hover{text-decoration:underline}
.pv-footer-copy{font-size:13px;opacity:.8}

/* selettore lingua */
.main-navigation .main-nav ul li.pv-lang-switcher{display:flex;gap:.5rem;align-items:center;padding-left:1rem}
.main-navigation .main-nav ul li.pv-lang-switcher a{padding:0 .15rem;line-height:inherit;font-size:12px;color:var(--pv-text)}
.main-navigation .main-nav ul li.pv-lang-switcher a.is-current,.main-navigation .main-nav ul li.pv-lang-switcher a:hover{color:var(--pv-primary)}
.pv-lang-switcher a{color:var(--pv-text);text-decoration:none}
.pv-lang-switcher a.is-current,.pv-lang-switcher a:hover{color:var(--pv-primary)}
@media (max-width:768px){.main-navigation .main-nav ul li.pv-lang-switcher{padding:.75rem 20px;gap:1rem}}

/* form contatti */
.pv-contact{max-width:820px;margin:0 auto}
.pv-contact-form .pv-row{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}
.pv-contact-form .pv-row-3{grid-template-columns:repeat(3,1fr)}
.pv-contact-form .pv-field{margin:0 0 1.1rem}
.pv-contact-form label{display:block;font-size:14px;font-weight:600;color:var(--pv-emphasis);margin-bottom:.35rem}
.pv-contact-form label small{font-weight:400;color:var(--pv-muted)}
.pv-contact-form input[type=text],.pv-contact-form input[type=email],.pv-contact-form input[type=tel],.pv-contact-form input[type=date],.pv-contact-form input[type=number],.pv-contact-form textarea{width:100%;border:1px solid #d5d6dc;background:#fff;border-radius:2px;padding:.7em .85em;font:inherit;color:var(--pv-emphasis)}
.pv-contact-form input:focus,.pv-contact-form textarea:focus{outline:2px solid var(--pv-primary);outline-offset:1px;border-color:var(--pv-primary)}
.pv-contact-form .pv-field-privacy label{font-weight:400;font-size:14px;display:flex;gap:.6rem;align-items:flex-start}
.pv-contact-form .pv-field-privacy input{margin-top:.3rem;flex:none}
.pv-contact-form .has-error input,.pv-contact-form .has-error textarea{border-color:#b3261e}
.pv-contact-form .pv-error{display:block;color:#b3261e;font-size:13px;margin-top:.3rem}
.pv-contact-form button{background:var(--pv-primary);color:#fff;border:0;border-radius:2px;padding:.95em 2.2em;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.pv-contact-form button:hover,.pv-contact-form button:focus{background:var(--pv-primary-dark)}
.pv-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.pv-notice{padding:1rem 1.25rem;margin:0 0 1.5rem;border-left:4px solid}
.pv-notice ul{margin:.4rem 0 0 1.2rem}
.pv-notice--ok{background:#e9f6ee;border-color:#2e7d4f;color:#1d4d31}
.pv-notice--error{background:#fdecea;border-color:#b3261e;color:#6b1610}
@media (max-width:700px){.pv-contact-form .pv-row,.pv-contact-form .pv-row-3{grid-template-columns:1fr}}
