/* Override e personalizzazioni specifiche del sito Studio Legale Avvocato Fontana */

/* Typography: dimensioni heading richieste dal cliente (sovrascrive style.css) */
h1, .h1 {
    font-size: 60px;
    line-height: 66px;
}
h2, .h2 {
    font-size: 42px;
    line-height: 48px;
}
h3, .h3 {
    font-size: 35px;
    line-height: 40px;
}
h4, .h4 {
    font-size: 28px;
    line-height: 32px;
}
h5, .h5 {
    font-size: 22px;
    line-height: 26px;
}
h6, .h6 {
    font-size: 20px;
    line-height: 24px;
}

/* page-title-large: usato come h1 in page-title.php (pagine interne del sito) */
.page-title-large h1 {
    font-size: 60px;
    line-height: 66px;
}

/* Typography: dimensioni heading ridotte per mobile */
@media (max-width: 767px) {
    h1, .h1, .page-title-large h1 {
        font-size: 38px;
        line-height: 44px;
    }
    h2, .h2 {
        font-size: 30px;
        line-height: 36px;
    }
    h3, .h3 {
        font-size: 26px;
        line-height: 32px;
    }
    h4, .h4 {
        font-size: 22px;
        line-height: 28px;
    }
    h5, .h5 {
        font-size: 19px;
        line-height: 24px;
    }
    h6, .h6 {
        font-size: 17px;
        line-height: 22px;
    }
}

/* contact-form-style-03: full border on text inputs (override bottom-only style) */
.contact-form-style-03 input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.contact-form-style-03 textarea,
.contact-form-style-03 select {
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 4px;
    background-color: rgba(255, 255, 255, 0.07) !important;
    color: var(--white) !important;
    padding: 12px 20px;
}

.contact-form-style-03 input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus,
.contact-form-style-03 textarea:focus,
.contact-form-style-03 select:focus {
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
}

.contact-form-style-03 input::placeholder,
.contact-form-style-03 textarea::placeholder {
    color: rgba(255, 255, 255, 0.4) !important;
}

/* contact-form-style-03: the theme uses Bootstrap floating labels, whose
   native placeholder is transparent — the <label> itself is the visible
   "Nome *" text, defaulting to near-black (--bs-body-color). Recolor it
   for the dark form background. */
.contact-form-style-03 .form-floating > label {
    color: rgba(255, 255, 255, 0.5) !important;
}

/* keep the native placeholder hidden in floating-label fields — otherwise
   it shows through at 0.4 opacity (set above) stacked on top of the label */
.contact-form-style-03 .form-floating > .form-control::placeholder {
    color: transparent !important;
}

/* contact-form-style-03: Bootstrap's form-floating forces a fixed
   single-line height on any .form-control, including textarea, ignoring
   the rows="7" attribute. Restore a usable message box height. */
.contact-form-style-03 .form-floating > textarea.form-control {
    height: 150px !important;
    min-height: 150px !important;
}

.contact-form-style-03 .form-floating > textarea:focus ~ label::after,
.contact-form-style-03 .form-floating > textarea:not(:placeholder-shown) ~ label::after {
    background-color: transparent !important;
}

/* contact-form-style-03: restore checkbox appearance.
   With appearance:auto, Chromium draws the native checkbox border using
   currentColor and ignores border-color — set color explicitly or the
   border inherits the theme's --medium-gray/--dark-gray (near-black here). */
.contact-form-style-03 input[type=checkbox] {
    -webkit-appearance: auto;
    appearance: auto;
    color: rgba(255, 255, 255, 0.5) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    background-color: transparent !important;
    width: 1em;
    height: 1em;
    padding: 0;
    flex-shrink: 0;
}

.contact-form-style-03 .form-check-label {
    color: rgba(255, 255, 255, 0.7);
}

.contact-form-style-03 .form-check-label a {
    /* var(--base-color) is #004777, contrast ~2:1 against this dark form background (--dark-gray: #141301) */
    color: #5b9bd5;
    text-decoration: underline;
}

/* footer-dark: theme default hover color is var(--base-color) (blue), which
   is unreadable against the dark blue footer background — force white instead */
.footer-dark a:hover,
.footer-navbar li a:hover {
    color: var(--white) !important;
}

/* page-title.php: testata pagine interne, solo da mobile allineata in basso */
@media (max-width: 767px) {
    .row.extra-small-screen.align-items-center {
        align-items: flex-end !important;
    }
}

/* .fs-20: dimensione ridotta da mobile */
@media (max-width: 767px) {
    .fs-20 {
        font-size: 16px;
    }
}

/* footer-navbar: da mobile le voci di menu vanno una sotto l'altra
   (il tema le dispone in riga con .footer-navbar li { display: inline-block }) */
@media (max-width: 767px) {
    .footer-navbar li {
        display: block;
    }
    .footer-navbar li .nav-link {
        padding-left: 0;
    }
}

/* Logo testuale nella navbar: a leading ridotto (lh-32/fs-28 in rem, scalati
   da html{font-size} su mobile) il font Playfair Display (--alt-font,
   lawyer.css) appare otticamente spostato verso l'alto nella sua line-box.
   Nudge verticale per centrarlo rispetto al bottone hamburger. Valore da
   confermare/tarare a video: verificato solo via analisi del CSS. */
@media (max-width: 991px) {
    header .navbar-brand .mobile-logo {
        position: relative;
        top: 2px;
    }
}
