/*
Theme Name: OmologaVan
Description: Landing per omologazione camper van, con blocchi modificabili, menu WordPress, widget footer, opzioni grafiche e spazio per shortcode di un plugin modulo.
Version: 1.0.0
Author: OmologaVan
Requires at least: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: omologavan
Tags: custom-logo, custom-colors, custom-menu, footer-widgets, full-width-template, block-patterns
*/

:root { --background:var(--surface); --foreground:#1b2528; --card:#fff; --card-foreground:#1b2528; --popover:#fff; --popover-foreground:#1b2528; --primary:#1b2528; --primary-foreground:#fff; --secondary:#f0f4f4; --secondary-foreground:#1b2528; --muted:#f0f4f4; --muted-foreground:#627074; --accent:#edff83; --accent-foreground:#1b2528; --destructive:#b02e37; --border:#dbe3e4; --input:#cbd5d7; --ring:#566760; --radius:.625rem; --lime:#edff83; --ink:#1b2528; --grey:#5d6c71; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:108px; }
body { margin:0; font-family:var(--font); background:var(--page); color:var(--ink); -webkit-font-smoothing:antialiased; }
button,input,textarea { font:inherit; }
button,a,input,textarea { -webkit-tap-highlight-color:transparent; }
a { color:inherit; text-decoration:none; }
p,h1,h2,h3,h4,figure { margin:0; }
button { cursor:pointer; }
::selection { color:var(--ink); background:var(--lime); }
:focus-visible { outline:3px solid #5f8160; outline-offset:4px; }
.container { width:min(var(--content-width),calc(100% - 112px)); margin-inline:auto; }
.skip-link { position:fixed; z-index:100; top:10px; left:10px; transform:translateY(-180%); padding:14px; background:var(--lime); border-radius:6px; }
.skip-link:focus { transform:translateY(0); }
.site-header { position:sticky; top:0; z-index:40; background:var(--surface); border-bottom:1px solid #e7ecec; backdrop-filter:blur(16px); }
.header-inner { min-height:91px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { display:inline-flex; align-items:center; gap:9px; font-size:1.625rem; font-weight:800; letter-spacing:-1.15px; white-space:nowrap; }
.brand-mark { display:grid; place-items:center; width:30px; height:33px; background:var(--lime); border-radius:7px; transform:rotate(-7deg); }
.brand-mark svg { width:23px; height:23px; transform:rotate(7deg); }
.brand-van { font-weight:500; }
.brand-period { color:#648b26; }
.desktop-nav { display:flex; gap:30px; font-size:.875rem; font-weight:600; }
.desktop-nav a { padding-block:16px; }
.desktop-nav a:hover { color:#477138; }
.button[data-slot="button"] { height:auto; min-height:50px; padding:13px 23px; font-size:.9375rem; font-weight:700; letter-spacing:-.15px; border-radius:var(--button-radius); white-space:normal; line-height:1.35; transition:background .2s,transform .2s; }
.button[data-slot="button"]:hover { transform:translateY(-1px); }
.button-dark[data-slot="button"] { background:var(--ink); color:#fff; }
.button-dark[data-slot="button"]:hover { background:#344448; }
.button-lime[data-slot="button"] { color:var(--ink); background:var(--lime); }
.button-lime[data-slot="button"]:hover { background:#ddf46a; }
.button-large[data-slot="button"] { min-height:57px; padding-inline:27px; font-size:1rem; }
.button-outline[data-slot="button"] { background:var(--surface); border:1px solid #c7d0d1; }
.mobile-menu-button[data-slot="button"],.mobile-nav { display:none; }
.hero { display:grid; grid-template-columns:1fr 1fr; gap:55px; padding-top:67px; padding-bottom:74px; align-items:center; }
.eyebrow { display:flex; gap:10px; align-items:center; font-size:.75rem; line-height:1.6; letter-spacing:1.4px; font-weight:700; }
.italy-flag { display:inline-block; width:22px; height:14px; border:1px solid #cfd6d2; background:linear-gradient(90deg,#008454 0 33.33%,#fff 33.33% 66.66%,#d64643 66.66%); border-radius:2px; flex-shrink:0; }
h1 { font-size:clamp(3.4rem,5.1vw,4.5rem); line-height:1.04; letter-spacing:-3.6px; font-weight:750; margin-top:27px; }
.highlight { display:inline; background:linear-gradient(transparent 57%,var(--lime) 57% 91%,transparent 91%); padding-right:8px; }
.hero-description { font-size:1.125rem; color:var(--grey); line-height:1.65; margin-top:27px; }
.hero-description strong { color:var(--ink); font-weight:600; }
.hero-actions { display:flex; align-items:center; gap:25px; margin-top:31px; flex-wrap:wrap; }
.text-link { font-size:.9375rem; font-weight:600; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.text-link:hover { color:#466c2d; }
.hero-note { display:flex; align-items:center; gap:8px; font-size:.8125rem; line-height:1.5; color:var(--grey); margin-top:19px; }
.hero-note svg { color:#4c6651; flex-shrink:0; }
.hero-visual { min-width:0; position:relative; margin-bottom:18px; }
.photo-wrap { position:relative; aspect-ratio:4/3; overflow:hidden; border-radius:var(--card-radius) var(--card-radius) 0 0; background:#dbe5e9; }
.hero-photo { display:block; width:100%; height:100%; object-fit:cover; object-position:47% center; }
.photo-badge { position:absolute; right:20px; top:20px; display:flex; gap:10px; align-items:center; padding:13px 15px; border-radius:var(--button-radius); background:var(--lime); box-shadow:0 4px 20px #14231b16; }
.photo-badge span { font-size:.75rem; letter-spacing:.75px; line-height:1.4; font-weight:700; }
.photo-badge strong { display:block; font-size:1.375rem; letter-spacing:-.6px; }
.photo-caption { background:var(--ink); color:white; display:flex; align-items:center; justify-content:space-between; padding:26px 28px; border-radius:0 0 var(--card-radius) var(--card-radius); }
.caption-eyebrow { color:#cad5d6; font-size:.75rem; letter-spacing:1.1px; font-weight:600; }
.photo-caption p { font-size:1.375rem; letter-spacing:-.5px; margin-top:7px; font-weight:600; }
.caption-mark { color:var(--lime); font-size:2.3rem; line-height:1; font-weight:700; letter-spacing:-1px; }
.image-credit { display:block; text-align:right; font-size:.75rem; color:#707d80; margin-top:7px; }
.benefits-bar { border-top:1px solid #e0e7e7; border-bottom:1px solid #e0e7e7; background:var(--soft); }
.benefits-inner { display:grid; grid-template-columns:1fr 1fr 1fr; padding-block:27px; }
.benefits-inner > div { display:flex; align-items:center; justify-content:center; gap:16px; border-right:1px solid #d5dfe0; }
.benefits-inner > div:first-child { justify-content:flex-start; }
.benefits-inner > div:last-child { border:0; justify-content:flex-end; }
.benefits-inner svg { width:27px; height:27px; stroke-width:1.6; }
.benefits-inner strong { font-size:1rem; font-weight:700; }
.benefits-inner small { display:block; font-size:.8125rem; margin-top:5px; color:var(--grey); }
.section { padding-block:97px; }
h2 { font-size:clamp(2.2rem,3.2vw,2.9rem); font-weight:700; letter-spacing:-1.65px; line-height:1.15; margin-top:18px; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:35px; }
.section-heading > p { color:var(--grey); font-size:1rem; line-height:1.7; padding-bottom:5px; }
.process-grid { margin-top:49px; display:grid; grid-template-columns:repeat(3,1fr); gap:38px; }
.process-item { border-top:1px solid #bfcdd0; padding-top:20px; }
.step-top { display:flex; justify-content:space-between; align-items:center; }
.step-top span { font-size:.9375rem; color:#5e7276; letter-spacing:1px; font-weight:600; }
.step-top svg { width:26px; height:26px; color:#587064; stroke-width:1.5; }
.process-item h3 { font-size:1.3125rem; letter-spacing:-.55px; line-height:1.4; margin-top:22px; font-weight:700; }
.process-item p { color:var(--grey); font-size:1rem; line-height:1.65; margin-top:12px; max-width:345px; }
.italia-section { background:var(--soft); padding-block:75px; }
.italia-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:100px; align-items:center; }
.italia-statement h2 { margin-top:18px; }
.italia-statement h2 span { color:#577946; }
.italia-statement > p:last-of-type { font-size:1rem; line-height:1.75; color:var(--grey); margin-top:22px; }
.italia-statement > .button { margin-top:29px; }
.italia-points { border:1px solid #d4e0dd; border-radius:12px; background:var(--surface); padding:29px; }
.italia-title { display:flex; align-items:center; gap:11px; border-bottom:1px solid #e1e7e7; padding-bottom:22px; font-weight:700; font-size:.75rem; letter-spacing:1px; }
.italia-point { display:flex; gap:13px; margin-top:27px; }
.italia-point > svg { flex-shrink:0; color:#577946; width:21px; height:21px; margin-top:1px; }
.italia-point h3 { font-size:1rem; font-weight:600; line-height:1.4; }
.italia-point p { font-size:.9375rem; color:var(--grey); line-height:1.55; margin-top:6px; }
.optional-card { display:grid; grid-template-columns:1.4fr 1fr; background:var(--lime); border-radius:var(--card-radius); padding:54px 58px; gap:45px; }
.optional-copy h2 { margin-top:15px; }
.optional-copy > p:last-of-type { font-size:1.0625rem; line-height:1.7; margin-top:22px; }
.refund { display:flex; gap:12px; align-items:flex-start; margin-block:24px; }
.refund > svg { flex-shrink:0; width:22px; height:22px; margin-top:2px; }
.refund p { font-size:.9375rem; line-height:1.65; }
.refund strong { font-weight:700; }
.optional-graphic { display:flex; align-items:center; justify-content:center; flex-direction:column; border-left:1px solid #b9cb73; padding-left:43px; }
.optional-label { font-size:.75rem; font-weight:700; letter-spacing:1.4px; }
.optional-time { font-size:9rem; line-height:1; letter-spacing:-9px; font-weight:700; text-align:center; margin-top:5px; }
.optional-time > span { display:block; font-size:2.125rem; letter-spacing:-1px; margin-top:4px; }
.optional-footnote { font-size:.8125rem; line-height:1.6; text-align:center; margin-top:27px; }
.contact-section { background:var(--ink); color:white; padding-block:85px; }
.contact-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:100px; align-items:start; }
.contact-copy { padding-top:29px; }
.contact-copy > .eyebrow { color:#bdcacc; }
.contact-copy h2 { font-size:clamp(2.6rem,4.1vw,3.6rem); line-height:1.13; margin-top:24px; }
.contact-copy h2 span { color:var(--lime); }
.contact-copy > p:last-of-type { color:#c0cdd0; font-size:1.0625rem; line-height:1.75; margin-top:27px; }
.contact-points { display:flex; flex-direction:column; gap:16px; margin-top:34px; }
.contact-points p { display:flex; align-items:center; gap:11px; font-size:.9375rem; }
.contact-points svg { width:18px; height:18px; color:var(--lime); }
.contact-bottom { display:flex; align-items:center; gap:17px; padding-top:28px; margin-top:54px; border-top:1px solid #435054; color:#bdcacc; }
.contact-bottom p { font-size:.875rem; line-height:1.6; }
.form-card { color:var(--ink); background:var(--surface); padding:34px; border-radius:var(--card-radius); min-width:0; }
.form-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.form-heading .eyebrow { font-size:.75rem; letter-spacing:1px; color:#5d6c71; }
.form-heading h3 { font-size:1.5625rem; font-weight:700; letter-spacing:-.8px; margin-top:7px; line-height:1.3; }
.step-count { font-size:1.125rem; font-weight:600; }
.step-count span { color:#889296; font-weight:400; }
.form-progress[data-slot="progress"] { margin-block:22px 26px; height:3px; border-radius:2px; background:#e7eded; }
.form-progress [data-slot="progress-indicator"] { background:#7d934a; }
.form-fields { display:flex; flex-direction:column; gap:19px; }
.field { display:flex; flex-direction:column; gap:8px; min-width:0; }
.field label,.stage-field legend { font-size:.875rem; font-weight:600; line-height:1.45; }
.field label > span:not(.field-optional),.consent-row label > span { color:#5c6e62; }
.field-optional { font-size:.75rem; color:#7d898d; font-weight:400; margin-left:4px; }
.field input[data-slot="input"],.field textarea[data-slot="textarea"] { border:1px solid #cdd7d9; box-shadow:none; border-radius:7px; font-size:1rem; min-height:49px; padding:12px 13px; width:100%; color:var(--ink); background:var(--surface); line-height:1.4; }
.field textarea[data-slot="textarea"] { min-height:86px; resize:vertical; }
.field input::placeholder,.field textarea::placeholder { color:#859195; }
.field-row { display:grid; grid-template-columns:1.1fr .85fr; gap:16px; }
.stage-field { border:0; padding:0; margin:2px 0 0; min-width:0; }
.stage-field legend { margin-bottom:11px; }
.stage-options[data-slot="radio-group"] { gap:8px; }
.stage-option { display:flex; gap:12px; align-items:center; padding:12px 14px; border:1px solid #dce3e4; border-radius:7px; cursor:pointer; }
.stage-option:hover { background:#f6f8f5; }
.stage-option.is-selected { border-color:#8f9e6d; background:#f6faed; }
.stage-option [data-slot="radio-group-item"] { width:17px; height:17px; }
.stage-option strong { display:block; font-size:.875rem; font-weight:600; }
.stage-option small { display:block; color:var(--grey); font-size:.75rem; margin-top:4px; }
.form-submit[data-slot="button"] { width:100%; margin-top:25px; min-height:51px; }
.form-note { display:flex; align-items:center; justify-content:center; gap:7px; font-size:.75rem; color:#69777d; margin-top:14px; text-align:center; line-height:1.5; }
.form-note svg { flex-shrink:0; }
.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.vehicle-summary { display:flex; align-items:center; justify-content:space-between; gap:10px; background:var(--soft); padding:6px 12px; border-radius:6px; font-size:.875rem; }
.vehicle-summary > span { overflow-wrap:anywhere; }
.vehicle-summary button { font-size:.8125rem; }
.checkbox-row { display:flex; gap:10px; align-items:flex-start; }
.checkbox-row [data-slot="checkbox"] { margin-top:2px; width:18px; height:18px; flex-shrink:0; }
.option-checkbox { padding:15px 13px; background:#f6faed; border:1px solid #e2e9d3; border-radius:7px; cursor:pointer; }
.option-checkbox strong { display:block; font-size:.875rem; font-weight:600; line-height:1.4; }
.option-checkbox small { display:block; font-size:.75rem; color:var(--grey); line-height:1.5; margin-top:4px; }
.consent-row { margin-top:1px; }
.consent-row label { font-size:.8125rem; line-height:1.6; color:#5d6c71; }
.inline-link { background:none; border:0; display:inline; padding:0; color:var(--ink); text-decoration:underline; text-underline-offset:2px; }
.form-error { color:#9c2834; background:#fff0f0; padding:12px; margin-top:17px; border-radius:6px; font-size:.875rem; line-height:1.5; }
.back-button[data-slot="button"] { display:flex; width:100%; font-size:.8125rem; min-height:40px; margin-top:6px; }
.form-success { padding-block:40px; }
.success-icon { display:grid; place-items:center; background:var(--lime); width:60px; height:60px; border-radius:50%; margin-bottom:27px; }
.success-icon svg { width:30px; height:30px; }
.form-success h3 { font-size:2rem; font-weight:700; letter-spacing:-1px; margin-top:13px; }
.form-success > p:not(.eyebrow) { line-height:1.7; font-size:1rem; margin-top:20px; color:var(--grey); }
.form-success .reference { font-size:.8125rem !important; }
.form-success .button { margin-top:24px; }
.optional-confirmation { display:flex; align-items:flex-start; gap:8px; font-size:.875rem !important; }
.optional-confirmation svg { flex-shrink:0; margin-top:4px; }
.faq-section { display:grid; grid-template-columns:.8fr 1.25fr; gap:100px; }
.faq-heading > p:last-of-type { color:var(--grey); font-size:1rem; line-height:1.7; margin-block:23px; }
.faq-list { padding-top:4px; }
.faq-list [data-slot="accordion-item"] { border-color:#dce3e3; }
.faq-trigger[data-slot="accordion-trigger"] { font-size:1rem; line-height:1.6; font-weight:600; padding-block:23px; border-radius:0; }
.faq-trigger[data-slot="accordion-trigger"]:hover { text-decoration:none; color:#55713e; }
.faq-trigger > svg { width:18px; height:18px; margin-top:3px; }
.faq-answer { color:var(--grey); font-size:1rem; line-height:1.75; padding-bottom:25px; }
.site-footer { border-top:1px solid #e0e7e7; background:var(--soft); }
.footer-main { display:flex; align-items:center; justify-content:space-between; gap:25px; padding-block:36px; }
.footer-main > p { color:var(--grey); font-size:.875rem; line-height:1.7; }
.footer-link { color:var(--grey); font-size:.875rem; border:0; background:none; padding:12px 0; text-decoration:underline; text-underline-offset:4px; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid #dce3e3; padding-block:19px; color:#6c797c; font-size:.75rem; line-height:1.6; }
.mobile-bottom-cta { display:none; }
.privacy-dialog[data-slot="dialog-content"] { max-width:590px; max-height:min(85dvh,850px); overflow-y:auto; padding:32px; border-radius:12px; }
.privacy-dialog [data-slot="dialog-title"] { font-size:1.5rem; line-height:1.3; letter-spacing:-.6px; }
.privacy-dialog [data-slot="dialog-description"] { font-size:1rem; line-height:1.65; margin-top:8px; }
.privacy-content h4 { font-size:.9375rem; font-weight:700; margin-top:13px; }
.privacy-content p { font-size:.9375rem; line-height:1.7; color:var(--grey); margin-block:7px 17px; }

@media(min-width:1600px) { .container { width:min(var(--content-width),calc(100% - 140px)); } .hero { gap:80px; } h1 { font-size:4.95rem; } }
@media(max-width:1150px) { .container { width:calc(100% - 72px); } .desktop-nav { gap:20px; } .desktop-nav a { font-size:.8125rem; } .brand { font-size:1.45rem; } .header-cta[data-slot="button"] { padding-inline:16px; font-size:.8125rem; } .hero { gap:30px; padding-top:55px; } h1 { font-size:3.55rem; letter-spacing:-2.5px; } .hero-description { font-size:1rem; } .hero-actions { gap:19px; } .hero-actions .text-link { font-size:.875rem; } .photo-caption { padding:23px; } .photo-caption p { font-size:1.125rem; } .caption-eyebrow { letter-spacing:.5px; } .italia-grid,.contact-grid,.faq-section { gap:55px; } .optional-card { padding:45px; } .optional-graphic { padding-left:25px; } }
@media(max-width:900px) { .desktop-nav { display:none; } .header-inner { min-height:78px; } .hero { padding-top:47px; gap:25px; } h1 { font-size:3rem; letter-spacing:-2px; } .hero .eyebrow { letter-spacing:.6px; } .hero-description br { display:none; } .hero-actions { flex-direction:column; align-items:flex-start; gap:20px; } .photo-caption { padding:20px; } .photo-caption p { font-size:1rem; } .caption-mark { font-size:1.8rem; } .caption-eyebrow { letter-spacing:.1px; } .benefits-inner { gap:15px; } .benefits-inner > div { gap:10px; } .benefits-inner strong { font-size:.875rem; } .benefits-inner small { font-size:.75rem; } .benefits-inner svg { width:23px; height:23px; } .section { padding-block:70px; } .section-heading { display:block; } .section-heading > p { margin-top:23px; } .process-grid { gap:25px; } .process-item h3 { font-size:1.125rem; } .process-item p { font-size:.9375rem; } .italia-grid { gap:30px; } .italia-points { padding:22px; } h2 { font-size:2.25rem; } .optional-card { padding:35px; gap:25px; } .optional-time { font-size:7rem; } .optional-time > span { font-size:1.75rem; } .contact-grid { gap:35px; grid-template-columns:.9fr 1.1fr; } .form-card { padding:26px; } .contact-copy h2 { font-size:2.45rem; } .field-row { grid-template-columns:1fr; } .faq-section { grid-template-columns:.8fr 1.2fr; gap:35px; } }
@media(max-width:680px) { html { scroll-padding-top:88px; } .container { width:calc(100% - 40px); } .header-inner { min-height:71px; gap:10px; } .brand { font-size:1.5rem; } .brand-mark { width:26px; height:29px; } .header-cta[data-slot="button"] { display:none; } .mobile-menu-button[data-slot="button"] { display:inline-flex; } .mobile-nav { display:flex; flex-direction:column; padding:7px 20px 20px; gap:2px; border-top:1px solid #e5eaea; } .mobile-nav a { font-size:1rem; padding:12px 3px; } .hero { grid-template-columns:1fr; gap:33px; padding-top:36px; padding-bottom:36px; } .hero .eyebrow { letter-spacing:.6px; } h1 { margin-top:22px; font-size:clamp(2.8rem,11.4vw,4rem); letter-spacing:-2.5px; line-height:1.04; } .hero-description { font-size:1.0625rem; line-height:1.65; margin-top:25px; max-width:440px; } .hero-actions { flex-direction:row; align-items:center; gap:20px; margin-top:25px; } .hero-actions .text-link { font-size:.875rem; } .hero-actions .button-large { min-height:53px; padding-inline:21px; } .hero-note { font-size:.8125rem; margin-top:20px; } .hero-visual { margin-bottom:0; } .photo-wrap { aspect-ratio:3/2; border-radius:10px 10px 0 0; } .photo-caption { padding:20px; } .photo-caption p { font-size:1.25rem; } .caption-eyebrow { letter-spacing:.6px; } .caption-mark { font-size:2rem; } .photo-badge { padding:9px 11px; right:13px; top:13px; } .photo-badge svg { width:22px; } .photo-badge strong { font-size:1.125rem; } .benefits-inner { grid-template-columns:1fr; padding-block:5px; gap:0; } .benefits-inner > div,.benefits-inner > div:first-child,.benefits-inner > div:last-child { justify-content:flex-start; padding-block:21px; border-right:0; border-bottom:1px solid #dce4e5; gap:16px; } .benefits-inner > div:last-child { border-bottom:0; } .benefits-inner strong { font-size:.9375rem; } .benefits-inner small { font-size:.8125rem; } .benefits-inner svg { width:26px; height:26px; } .section { padding-block:59px; } .eyebrow { letter-spacing:.7px; } h2 { font-size:2.125rem; letter-spacing:-1.2px; } .section-heading > p { font-size:1rem; } .section-heading > p br { display:none; } .process-grid { grid-template-columns:1fr; gap:29px; margin-top:32px; } .process-item { padding-top:17px; } .process-item h3 { margin-top:15px; font-size:1.25rem; } .process-item p { max-width:none; font-size:1rem; margin-top:8px; } .italia-section { padding-block:54px; } .italia-grid { grid-template-columns:1fr; gap:33px; } .italia-statement h2 { font-size:2.15rem; } .italia-statement > p:last-of-type { font-size:1rem; } .italia-points { padding:23px; } .optional-card { grid-template-columns:1fr; padding:29px 23px; gap:32px; border-radius:10px; } .optional-copy h2 { font-size:2rem; } .optional-copy > p:last-of-type { font-size:1rem; margin-top:21px; } .desktop-break { display:none; } .optional-copy .button { width:100%; font-size:.875rem; } .refund p { font-size:.9375rem; } .optional-graphic { border-left:0; border-top:1px solid #bccb87; padding-top:29px; padding-left:0; } .optional-time { font-size:6rem; letter-spacing:-5px; margin-top:12px; } .optional-time > span { font-size:1.75rem; letter-spacing:-.7px; } .optional-footnote { margin-top:21px; } .contact-section { padding-block:54px; } .contact-grid { grid-template-columns:1fr; gap:33px; } .contact-copy { padding-top:0; } .contact-copy h2 { font-size:2.5rem; margin-top:20px; } .contact-copy > p:last-of-type { font-size:1rem; margin-top:23px; } .contact-points { gap:13px; margin-top:25px; } .contact-bottom { display:none; } .form-card { padding:25px 21px; border-radius:10px; } .form-heading h3 { font-size:1.4rem; } .field-row { grid-template-columns:1fr .8fr; gap:12px; } .field-year .field-optional { display:block; margin:0; } .field-row .field:first-child { justify-content:flex-end; } .form-fields { gap:18px; } .form-submit { font-size:.9375rem; } .faq-section { grid-template-columns:1fr; gap:25px; } .faq-heading > p:last-of-type { margin-top:20px; } .faq-trigger[data-slot="accordion-trigger"] { padding-block:21px; font-size:1rem; } .faq-answer { font-size:1rem; } .footer-main { flex-wrap:wrap; padding-block:28px; gap:22px; } .footer-main > p { width:100%; order:3; } .footer-link { margin-left:auto; font-size:.875rem; } .footer-bottom { align-items:flex-start; flex-direction:column; gap:10px; padding-bottom:98px; } .mobile-bottom-cta { position:fixed; bottom:0; left:0; right:0; z-index:35; display:flex; align-items:center; justify-content:space-between; gap:13px; padding:11px 20px calc(11px + env(safe-area-inset-bottom)); background:var(--surface); border-top:1px solid #dce4e4; backdrop-filter:blur(15px); } .mobile-bottom-cta > span { font-size:.8125rem; font-weight:600; } .mobile-bottom-cta .button { min-height:44px; padding:11px 16px; font-size:.8125rem; } .privacy-dialog[data-slot="dialog-content"] { padding:27px 23px; } }
@media(max-width:360px) { .hero-actions { flex-direction:column; align-items:flex-start; } .caption-eyebrow { letter-spacing:0; } .photo-caption p { font-size:1.125rem; } .field-row { grid-template-columns:1fr; } .field-year .field-optional { display:inline; margin-left:4px; } .mobile-bottom-cta > span { display:none; } .mobile-bottom-cta .button { width:100%; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }

/* WordPress structure, native menus, widgets and external form slot. */
:root { --page:#fff; --surface:#fff; --soft:#eff4f4; --font:Arial,Helvetica,sans-serif; --button-radius:8px; --card-radius:13px; --content-width:1248px; --logo-height:36px; }
[hidden] { display:none !important; }
button { border:0; }
.button[data-slot="button"] { display:inline-flex; align-items:center; justify-content:center; gap:9px; border:0; text-align:center; text-decoration:none; vertical-align:middle; }
.button-dark[data-slot="button"]:hover { background:var(--ink); filter:brightness(1.2); }
.button-lime[data-slot="button"]:hover { background:var(--lime); filter:brightness(.96); }
.button-outline[data-slot="button"] { border:1px solid #c7d0d1; }
.brand-logo { display:block; width:auto; height:var(--logo-height); max-width:240px; object-fit:contain; }
.nav-menu { list-style:none; display:flex; gap:30px; margin:0; padding:0; }
.nav-menu li { position:relative; }
.nav-menu a { display:block; }
.nav-menu .sub-menu { display:none; list-style:none; margin:0; padding:12px; position:absolute; top:100%; left:0; min-width:220px; background:var(--surface); border:1px solid #dce3e4; border-radius:var(--button-radius); box-shadow:0 10px 30px #1b25281a; }
.desktop-nav .menu-item-has-children:hover > .sub-menu,.desktop-nav .menu-item-has-children:focus-within > .sub-menu { display:block; }
.desktop-nav .sub-menu a { padding:10px; line-height:1.5; }
.desktop-nav .sub-menu .sub-menu { top:0; left:100%; }
.mobile-menu-button { display:none; background:transparent; padding:10px; color:var(--ink); border-radius:var(--button-radius); }
.mobile-menu-button span { display:flex; }
.benefits-inner { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.process-grid { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.faq-list details { border-bottom:1px solid #dce3e3; }
.faq-list summary { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; cursor:pointer; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary .ov-icon { flex-shrink:0; transition:transform .2s; }
.faq-list details[open] summary .ov-icon { transform:rotate(45deg); }
.faq-list .faq-answer { overflow-wrap:anywhere; }
.footer-widgets { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:36px; padding-block:15px 36px; }
.footer-widget { margin-bottom:24px; }
.footer-widget:last-child { margin-bottom:0; }
.footer-widget h2,.widget-title { font-size:1.125rem; letter-spacing:-.4px; margin:0 0 14px; }
.footer-widget p,.footer-widget li { font-size:.9375rem; line-height:1.7; color:var(--grey); }
.footer-widget ul { margin:0; padding-left:20px; }
.footer-widget a:hover,.footer-menu a:hover { text-decoration:underline; }
.footer-widget img { max-width:100%; height:auto; }
.footer-navigation { padding-block:8px 28px; }
.footer-menu { display:flex; flex-wrap:wrap; gap:12px 26px; list-style:none; margin:0; padding:0; font-size:.875rem; }
.footer-menu .sub-menu { list-style:none; padding-left:12px; }
.content-page { padding-block:65px 90px; min-height:60vh; }
.page-title { margin:0 0 32px; font-size:clamp(2.5rem,4vw,3.8rem); line-height:1.15; letter-spacing:-1.7px; overflow-wrap:anywhere; }
.entry-content { max-width:860px; font-size:1.0625rem; line-height:1.75; }
.entry-content p,.entry-content ul,.entry-content ol,.entry-content figure,.entry-content blockquote { margin-block:0 24px; }
.entry-content h2,.entry-content h3,.entry-content h4 { margin-block:30px 16px; }
.entry-content a { text-decoration:underline; text-underline-offset:3px; }
.entry-content img { max-width:100%; height:auto; }
.entry-content .alignwide { width:min(var(--content-width),100%); }
.entry-content .alignfull { width:100%; }
.post-entry + .post-entry { margin-top:50px; border-top:1px solid #dce3e4; padding-top:30px; }
.post-entry h2 { margin-top:0; margin-bottom:18px; }
.landing-content > .wp-block-group,.landing-content > .wp-block-columns { padding:40px 20px; }
.landing-content > p,.landing-content > h2,.landing-content > h3 { max-width:var(--content-width); margin:24px auto; padding-inline:20px; }
.hero-copy,.contact-copy,.italia-statement,.faq-heading,.optional-copy,.section-heading > div { min-width:0; overflow-wrap:anywhere; }
.ov-shortcode-form.is-empty { min-height:330px; display:flex; align-items:center; }
.shortcode-placeholder { color:var(--grey); font-size:1rem; line-height:1.7; }
.shortcode-placeholder h3 { color:var(--ink); font-size:1.4rem; margin-bottom:12px; }
.shortcode-placeholder .button { margin-top:20px; }
.ov-shortcode-form :where(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]),textarea,select) { max-width:100%; width:100%; min-height:46px; padding:11px 13px; border:1px solid #cdd7d9; border-radius:var(--button-radius); background:var(--surface); color:var(--ink); font:inherit; }
.ov-shortcode-form :where(textarea) { resize:vertical; }
.ov-shortcode-form :where(input[type=checkbox],input[type=radio]) { accent-color:var(--ink); }
.ov-shortcode-form :where(input[type=submit],button[type=submit]) { background:var(--lime); color:var(--ink); font:inherit; font-weight:700; padding:14px 23px; min-height:48px; border:0; border-radius:var(--button-radius); cursor:pointer; }
.ov-shortcode-form :where(label) { font-size:.9375rem; line-height:1.5; }
.admin-bar .site-header { top:32px; }
@media(max-width:1150px) { .nav-menu { gap:20px; } .desktop-nav { gap:0; } }
@media(max-width:900px) {
    .ov-no-js .mobile-nav[hidden] { display:flex !important; }
    .ov-no-js .mobile-menu-button { display:none; }
    .mobile-menu-button { display:inline-flex; }
    .mobile-nav { display:flex; flex-direction:column; padding:7px 36px 20px; gap:2px; border-top:1px solid #e5eaea; background:var(--surface); }
    .mobile-nav .nav-menu { display:block; }
    .mobile-nav a { padding:11px 3px; font-size:1rem; }
    .mobile-nav .sub-menu { display:block; position:static; border:0; padding:0 0 0 18px; box-shadow:none; min-width:0; }
    .mobile-nav .sub-menu a { font-size:.9375rem; }
}
@media(max-width:782px) { .admin-bar .site-header { top:46px; } }
@media(max-width:680px) {
    .header-cta[data-slot="button"] { display:none; }
    .benefits-inner,.process-grid,.footer-widgets { grid-template-columns:1fr; }
    .mobile-nav { padding-inline:20px; }
    .footer-widgets { gap:26px; }
    .brand-logo { max-width:210px; }
    .content-page { padding-block:40px 60px; }
}
@media(max-width:600px) { .admin-bar .site-header { top:0; } }
