/* ═══ GV · chrome — header, footer, moduli, fascia titolo pagine di servizio ═══ */

/* ─── header ─── */
.gv-site .site-header .nav-menu > ul > li > a {
    font-family: var(--gv-sans); font-weight: 500; font-size: 15px; letter-spacing: .04em;
}
.gv-site .site-header .nav-menu > ul > li.current-menu-item > a,
.gv-site .site-header .nav-menu > ul > li.current_page_item > a { background-color: var(--gv-bx) !important; }
/* logo un filo più compatto, senza bordo verticale duro */
.gv-site .site-header .site-title img { max-height: 76px; width: auto; }
/* l'header fisso (clone) bianco: ombra morbida e filo d'oro */
.gv-site .site-header.clone { box-shadow: 0 10px 30px -18px rgba(36, 28, 25, .35) !important; border-bottom: 1px solid var(--gv-line); }

/* ─── fascia titolo (pagine di servizio) ─── */
.gv.gv-pagehero--band { background: var(--gv-bx-d) radial-gradient(80% 160% at 100% 0%, #7a1626 0%, var(--gv-bx-d) 48%, var(--gv-bx-dd) 100%); }
.gv.gv-pagehero--band::before { background: none; }
.gv.gv-pagehero--band::after { content: ""; position: absolute; right: 6%; bottom: -1px; width: 260px; height: 300px; border: 1px solid rgba(217, 191, 149, .3); border-bottom: 0; border-radius: 0; pointer-events: none; }
.gv.gv-pagehero--band .gv-hero-title .elementor-heading-title { font-size: clamp(36px, 4.6vw, 62px); }

/* ─── documenti legali ─── */
.gv.gv-legal .gv-doc-body, .gv.gv-legal .gv-doc-body p, .gv.gv-legal .gv-doc-body li {
    font-family: var(--gv-sans); font-size: 16.5px; line-height: 1.8; color: var(--gv-ink-2);
}
.gv.gv-legal .gv-doc-body h1, .gv.gv-legal .gv-doc-body h2, .gv.gv-legal .gv-doc-body h3, .gv.gv-legal .gv-doc-body h4 {
    font-family: var(--gv-serif); color: var(--gv-ink); font-weight: 500; line-height: 1.2; margin: 1.8em 0 .6em; letter-spacing: 0; text-transform: none;
}
.gv.gv-legal .gv-doc-body h2 { font-size: 30px; }
.gv.gv-legal .gv-doc-body h3 { font-size: 24px; }
.gv.gv-legal .gv-doc-body h4 { font-size: 20px; }
.gv.gv-legal .gv-doc-body strong, .gv.gv-legal .gv-doc-body b { color: var(--gv-ink); }
.gv.gv-legal .gv-doc-body a { color: var(--gv-bx); text-decoration: underline; text-underline-offset: 3px; }
.gv.gv-legal .gv-doc-body ul { padding-left: 1.2em; }
.gv.gv-legal .gv-doc-body > .elementor-widget-container > *:first-child { margin-top: 0; }
.gv.gv-legal .gv-doc-body table { width: 100%; border-collapse: collapse; font-size: 15px; }
.gv.gv-legal .gv-doc-body th, .gv.gv-legal .gv-doc-body td { border: 1px solid var(--gv-line); padding: 10px 12px; text-align: left; vertical-align: top; }
.gv.gv-legal .gv-doc-body th { background: var(--gv-sand); color: var(--gv-ink); }

/* ─── moduli tk-forms (contatti) ─── */
.gv .gv-form-sc label, .gv .gv-form-sc .tk-form-label { font-family: var(--gv-sans); font-size: 11px !important; letter-spacing: .18em; text-transform: uppercase; color: var(--gv-ink); font-weight: 600; }
.gv .gv-form-sc input[type="text"], .gv .gv-form-sc input[type="email"], .gv .gv-form-sc input[type="tel"], .gv .gv-form-sc textarea, .gv .gv-form-sc select {
    background: #fff !important; border: 1px solid var(--gv-line) !important; border-radius: 4px !important; font-family: var(--gv-sans); font-size: 16px; color: var(--gv-ink);
    padding: 13px 16px !important; transition: border-color .2s, box-shadow .2s; box-shadow: none !important;
}
.gv .gv-form-sc input:focus, .gv .gv-form-sc textarea:focus, .gv .gv-form-sc select:focus { border-color: var(--gv-bx) !important; box-shadow: 0 0 0 3px rgba(139, 26, 42, .12) !important; outline: 0; }
.gv .gv-form-sc button[type="submit"], .gv .gv-form-sc input[type="submit"] {
    background: var(--gv-bx) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 17px 38px !important;
    font-family: var(--gv-sans) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .16em !important; text-transform: uppercase; cursor: pointer;
    transition: background-color .25s, transform .25s var(--gv-ease); box-shadow: none !important; opacity: 1 !important; height: auto !important; line-height: 1 !important;
}
.gv .gv-form-sc button[type="submit"]:hover, .gv .gv-form-sc input[type="submit"]:hover { background: var(--gv-bx-d) !important; transform: translateY(-2px); }
.gv .gv-form-sc input[type="checkbox"] { accent-color: var(--gv-bx); width: 18px; height: 18px; }
.gv .gv-social .elementor-social-icons-wrapper, .gv .gv-social .elementor-grid { justify-content: flex-start !important; text-align: left; }
.gv .gv-social .elementor-widget-container { text-align: left; }

/* ─── footer ─── */
.gv-site .site-footer {
    background: var(--gv-bx-dd) radial-gradient(70% 120% at 0% 0%, #6a1423 0%, var(--gv-bx-d) 45%, var(--gv-bx-dd) 100%) !important;
    border-top: 0 !important; position: relative; color: rgba(255, 255, 255, .78);
}
.gv-site .site-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--gv-bx), var(--gv-gold), var(--gv-bx)); }
.gv-site .site-footer .footer-widgets { background: transparent !important; padding: 80px 0 50px !important; }
.gv-site .site-footer .footer-widgets .widget-title, .gv-site .site-footer .footer-widgets .widget-title span {
    font-family: var(--gv-sans) !important; font-size: 11px !important; letter-spacing: .26em !important; color: var(--gv-gold-l) !important; font-weight: 600 !important; text-transform: uppercase;
}
.gv-site .site-footer .footer-widgets .widget-title::after, .gv-site .site-footer .footer-widgets .widget-title span::after { background: var(--gv-gold) !important; opacity: .6; }
.gv-site .site-footer .footer-widgets, .gv-site .site-footer .footer-widgets p, .gv-site .site-footer .footer-widgets li,
.gv-site .site-footer .footer-widgets .textwidget { font-family: var(--gv-sans) !important; font-size: 15.5px !important; line-height: 1.75 !important; color: rgba(255, 255, 255, .78) !important; }
.gv-site .site-footer .footer-widgets a, .gv-site .site-footer .footer-widgets a span { color: #fff !important; text-decoration: none !important; transition: color .2s; }
.gv-site .site-footer .footer-widgets a:hover, .gv-site .site-footer .footer-widgets a:hover span { color: var(--gv-gold-l) !important; }
.gv-site .site-footer .footer-widgets .widget_nav_menu li { padding: 3px 0 !important; border: 0 !important; }
.gv-site .site-footer .footer-widgets .widget_media_image img { max-width: 210px !important; height: auto; opacity: .95; }
.gv-site .site-footer .gv-foot-tag { font-family: var(--gv-serif) !important; font-style: italic; font-size: 19px !important; color: rgba(255, 255, 255, .85) !important; margin-top: 16px; line-height: 1.4 !important; }
.gv-site .site-footer .gv-foot-social { display: flex; gap: 10px; margin-top: 16px; }
.gv-site .site-footer .gv-foot-social a { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(217, 191, 149, .45); display: inline-flex; align-items: center; justify-content: center; transition: background-color .2s, border-color .2s; }
.gv-site .site-footer .gv-foot-social a:hover { background: rgba(217, 191, 149, .15); border-color: var(--gv-gold-l); }
.gv-site .site-footer .gv-foot-social svg { width: 16px; height: 16px; fill: #fff; }
.gv-site .site-footer .site-info {
    background: rgba(0, 0, 0, .22) !important; border-top: 1px solid rgba(217, 191, 149, .18) !important; padding: 22px 20px !important; margin: 0 !important;
}
.gv-site .site-footer .site-info, .gv-site .site-footer .site-info p {
    font-family: var(--gv-sans) !important; font-size: 12px !important; letter-spacing: .14em !important; color: rgba(255, 255, 255, .6) !important; text-transform: uppercase;
}
.gv-site .site-footer .site-info a { color: rgba(255, 255, 255, .8) !important; }

@media (max-width: 767px) {
    .gv-site .site-footer .footer-widgets { padding: 56px 0 24px !important; }
    .gv-site .site-footer .footer-widgets .widget { margin-bottom: 30px !important; }
    .gv.gv-pagehero--band::after { width: 160px; height: 190px; right: -30px; }
    .gv.gv-legal .gv-doc-body, .gv.gv-legal .gv-doc-body p { font-size: 15.5px; }
}

