/*
Theme Name: Twenty Twenty-Five Child
Template: twentytwentyfive
*/

/* Global settings */
html {
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body *,
body *::before,
body *::after {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
    outline: none;
}

:root {
    --primaryBlue: #0A3A76;
    --secondaryBlue: #416CAA;
    --tertiaryBlue: #194D9A;
    --headingLineColor: #c2c2c2;
}

body {
    min-width: 320px;
    background-color: white;
}

main {
    max-width: 1600px;
    margin: 0px auto;
}

h3 {
    color: white;
    font-weight: bold;
}

body button {
    cursor: pointer;
}

.paragraphCenter {
    text-align: center;
}

a:hover {
    text-decoration: underline;
}

a.pageLink {
    color: var(--secondaryBlue);
}

a.pageLink::after {
    content: ">";
    font-weight: bold;
}

div.e-con-full.e-flex.flexRow {
    display: flex;
    flex-direction: row;
}


/* Header */
div#back-portfolio {
    margin-top: 7px;
    margin-left: 10px;
}

div#back-portfolio a {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: clamp(15px, 2.5vw, 17px);
    text-decoration: none;
    width: fit-content;
}

div#back-portfolio a:active {
    opacity: 0.6;
}

div#back-portfolio svg {
    width: clamp(15px, 2.5vw, 17px);
    transform: translateY(1px);
}


header {
    position: sticky;
    top: 0px;
    padding: 0px 18px 0px 18px;
    background-color: white;
    z-index: 3;
    border-bottom: 1px solid rgb(213, 213, 213);
    max-width: 1600px;
    margin: 0px auto;
}

a#siteLogo {
    text-decoration: none;
}

a#siteLogo div {
    display: flex;
    gap: 7px;
}

a#siteLogo p {
    font-size: clamp(26px, 3.7vw, 29px);
    border-bottom: 1px solid black;
    border-color: var(--primaryBlue);
    line-height: 1.1;
    margin: 0px;
    letter-spacing: 2px;
}

a#siteLogo p span:nth-child(1) {
    color: var(--primaryBlue);
    font-weight: bold;
}

#siteLogo p span:nth-child(2) {
    color: var(--secondaryBlue);
}

#siteLogo svg {
    width: clamp(25px, 3.6vw, 28px);
}


/* Homepage */
a.aBlue {
    color: var(--secondaryBlue);
}

a.wp-block-post-excerpt__more-link:active,
a.aBlue:active {
    color: hsl(215, 45%, 22%);
}

a.aWhite {
    color: white;
}

a.aWhite:active {
    color: hsl(0, 0%, 85%);
}

.headingLine {
    flex-grow: 1;
    width: 0%;
    height: 1px;
    background-color: var(--headingLineColor);
}

h2.headingTitle,
section#whoIsLineapharm h1 {
    font-size: clamp(25px, 3vw, 30px);
    font-weight: bold;
    color: var(--primaryBlue);
}

/* Homepage services */
section#servicesSectionHome a {
    outline-color: white;
    outline-offset: 3px;
}

.paragraphGut,
.aGut {
    font-size: clamp(17px, 2.3vw, 19px);
}

.h3Gut {
    font-size: clamp(19px, 2.3vw, 20px);
}

#servicesSectionHome .servicesStack,
#sectorsSectionHome .sectorsStack {
    width: 210px;
}

#servicesSectionHome svg {
    width: 42px;
    color: white;
}

#servicesSectionHome p {
    color: white;
}

#servicesSectionHome hr {
    width: 100%;
}

/* Homepage sectors */

#sectorsSectionHome button.modalClose {
    visibility: hidden;
}

#sectorsSectionHome img {
    display: block;
    width: 100%;
}

#sectorsSectionHome div.modalContent img {
    width: 100%;
    display: block;
    border: 1px solid rgb(114, 114, 114);
}

#sectorsSectionHome div.imgModalCont {
    width: clamp(163px, 50.9vw, 417px);
    margin: 0px auto;
}

#sectorsSectionHome button.sectorBox {
    padding: 0px;
    border: 1px solid var(--tertiaryBlue);
    background-color: var(--tertiaryBlue);
}

.sectorsStack button:focus {
    outline: none;
}

.sectorsStack button:focus-visible {
    outline: 2px solid rgb(71, 71, 71);
}

div.modalSector button {
    position: absolute;
    top: -19px;
    right: -13px;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    border: 2px solid var(--primaryBlue);
    font-size: 20px;
    font-weight: bold;
    padding: 2px 0px 0px 0px;
    background-color: #cde1ff;
    color: black;
}

div.modalSector button:active {
    background-color: rgb(105, 162, 249);
}

div.modalSector img {
    border-radius: 10px;
}

div.modalSector h3 {
    text-align: center;
    font-size: clamp(22px, 3.7vw, 25px);
    letter-spacing: 1px;
    margin: 8px 0px 15px 0px;
    color: var(--primaryBlue);
}

div.modalSector h2 {
    font-size: clamp(18px, 3.1vw, 21px);
    font-weight: bold;
    margin: 0px;
}

div.modalSector h2:nth-of-type(2) {
    margin-top: 20px;
}

div.modalSector p {
    text-align: left;
    font-size: clamp(15px, 2.6vw, 18px);
    color: rgb(47, 47, 47);
    margin: 0px;
}

div.modalSector ul {
    margin: 5px 0px 0px 0px;
    padding-left: 33px;
}

div.modalSector ul li {
    font-size: clamp(15px, 2.6vw, 18px);
}

div.modalSector ul li:not(:first-child) {
    margin-top: 2px;
}

div.modalSector {
    opacity: 0;
    pointer-events: none;
    position: fixed;
    background-color: #cde1ff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.7);
    transition: transform 0.2s ease, opacity 0.2s ease;
    padding: 15px;
    z-index: 5;
    width: 82%;
    max-width: 600px;
    border-radius: 10px;
}

div.modalSector.show {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
}

div.modalContent {
    max-height: 70svh;
    overflow-y: auto;
    scrollbar-gutter: stable;
}

div#modalOverlay {
    margin: 0px;
    padding: 0px;
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 4;
    display: none;
}

/* Homepage certifications */
.desktopOnlyHeading {
    display: none;
}

#certificationsSectionHome img {
    width: clamp(80px, 11vw, 100px);
}

#disclaimerCertifications {
    font-size: clamp(13px, 1.77vw, 14px);
    color: rgb(104, 104, 104);
    margin: 0px;
}

/* Homepage numbers */
#ourNumbersFlex {
    align-items: stretch;
}

.boxNumbersStack {
    justify-content: center;
    width: 190px;
    background-color: #EFF0F3;
    padding: 12px;
}

.boxNumbersStack p {
    line-height: 1.2;
}

.boxNumbersStack p:nth-child(1) {
    color: var(--primaryBlue);
    font-size: clamp(36px, 4.9vw, 38px);
    font-weight: bold;
}

/* Homepage know more */
#contactUsLinkHome {
    display: inline-block;
    padding: 7px 30px;
    border-radius: 3px;
    font-weight: bold;
    color: white;
    text-decoration: none;
    background-color: var(--tertiaryBlue);
}

#contactUsLinkHome:active {
    background-color: hsl(214, 72%, 19%);
    transform: scale(0.98);
}


/* Posts */
.myHomeQueryLoop {
    margin-top: 17px;
}

.myHomeQueryLoop li {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0px;
}

.myHomeQueryLoop li h2,
.myHomeQueryLoop li div {
    max-width: 750px;
    text-align: center;
}

.myHomeQueryLoop time,
div.postDate time,
.taxonomy-post_tag a {
    font-size: clamp(14px, 2vw, 16px);
}

.myPostQueryLoop {
    margin-top: 0px;
}

ul.allPosts li {
    padding-top: 20px;
}

ul.allPosts li:first-child {
    padding-top: 10px;
}

.myHomeQueryLoop ul li:not(:first-child) {
    margin-top: 7rem;
}

.h2TitlePost {
    font-size: clamp(28px, 3.8vw, 31px);
    text-align: center;
    margin-top: 0px;
    margin-bottom: 6px;
}

.myExcerpt {
    margin: 22px 0px 0px 0px;
}

.myExcerpt p:nth-child(1) {
    font-style: italic;
    font-size: clamp(17px, 2.3vw, 19px);
}

.myExcerpt p:nth-child(2) {
    margin-top: 2px;
    color: var(--secondaryBlue);
}

div.postDate {
    margin-top: 7px;
}

.postDate {
    text-align: center;
}

.wp-block-post-excerpt__more-link {
    font-size: clamp(17px, 2.3vw, 19px);
}

figure.wp-block-post-featured-image {
    margin-top: 45px;
}

figure.wp-block-post-featured-image img {
    border: 2px solid var(--primaryBlue);
}

figure.featuredImageHome {
    margin-top: 0px;
    margin-bottom: 10px;
}

figure.featuredImageHome img {
    border: 2px solid var(--primaryBlue);
    max-width: 500px;
}

h2#allPosts {
    font-size: clamp(17px, 5.4vw, 19px);
}


/* Who we are page */
/* Hero */
section#heroWho {
    position: relative;
}

section#heroWho::before {
    content: "";
    position: absolute;
    inset: 0px;
    z-index: 1;
    background: linear-gradient(90deg,
            rgba(22, 77, 171, 0.65) 0%,
            rgba(105, 138, 184, 0.3) 50%,
            rgba(22, 77, 171, 0.65) 100%);
}

div#h1HeroWho {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
}

/* History */
div.paragraphNoMargin p {
    margin: 0px
}

/* Our values */
svg.value {
    width: 100%;
    max-width: 100px;
    display: block;
}

/* Our team */
div.lineHeight p {
    line-height: 1.3;
}

/* Our mission */
section#ourMission {
    background: linear-gradient(90deg,
            rgba(54, 92, 145, 1) 0%,
            rgba(39, 62, 105, 1) 50%,
            rgba(54, 92, 145, 1) 100%);
}


/* Quality page */
/* Hero */
div.gradientBlue {
    position: relative;
}

div.gradientBlue>div {
    position: relative;
    z-index: 2;
}

.h2Underline {
    width: fit-content;
}

.h2Underline::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #8bb5d8;
    margin-top: 6px;
}

/* Quality main */
svg.standard {
    width: 100%;
    max-width: 60px;
}

svg.security {
    width: 18px;
}

section#contactQuality h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #8bb5d8;
    margin-top: 6px;
}

#contactButtonQuality {
    display: block;
    width: fit-content;
    margin: 0px auto;
    padding: 10px 30px;
    border-radius: 3px;
    font-size: clamp(17px, 2.3vw, 19px);
    font-weight: bold;
    color: white;
    text-decoration: none;
    background-color: var(--tertiaryBlue);
    transition: none;
}

#contactButtonQuality:active {
    background-color: hsl(214, 72%, 19%);
    transform: scale(0.98);
}

/* Services page */
/* Main */
#produzione,
#ricerca-e-sviluppo,
#confezionemento {
    scroll-margin-top: 77px;
}

div.servicesList ul {
    margin: 0px;
}

div.servicesList ul li:not(:first-child) {
    margin-top: 5px;
}

body .elementor-element div.flex-services {
    max-width: 1100px;
    margin: 10px auto 0px auto;
}

svg.services {
    width: 25px;
    height: 25px;
}

svg#boxServices {
    width: 28px;
    height: 23px;
}


/* Contacts page  */
svg.contacts {
    display: block;
    width: 35px;
}

svg.linkedin {
    display: block;
    width: 50px;
    height: 50px;
}

a#followLinkedin {
    font-size: clamp(17px, 2.3vw, 19px);
    background-color: transparent;
    font-weight: bolder;
    padding: 0px;
}

/* Form contacts */
div#formContacts form input[type="text"],
div#formContacts form input[type="email"],
div#formContacts form textarea {
    width: 100%;
    padding: 11px;
    font-family: Manrope, sans-serif;
    margin-top: 4px;
    border: 2px solid rgb(180, 180, 180);
    border-radius: 5px;
}

div#formContacts form input[type="text"]::placeholder,
div#formContacts form input[type="email"]::placeholder,
div#formContacts form textarea::placeholder {
    color: rgb(187, 187, 187);
}

div#formContacts form textarea {
    resize: vertical;
    max-height: 430px;
    min-height: 70px;
}

div#formContacts label,
div#formContacts input,
div#formContacts textarea,
div#formContacts span.wpcf7-list-item-label {
    font-size: clamp(17px, 2.3vw, 19px);
}

div#formContacts form span.wpcf7-not-valid-tip,
div#formContacts form div.wpcf7-response-output,
div#formContacts form span.wpcf7-spinner {
    display: none;
}

div#formContacts form p {
    margin: 30px 0px 0px 0px;
}

div#formContacts form div.errMsg {
    margin: 3px 0px 0px 0px;
    display: none;
}

div#formContacts form div.errMsg p {
    margin: 0px;
    font-size: clamp(17px, 2.3vw, 19px);
    color: red;
}

div#formContacts form div#confirmMsg {
    display: none;
    text-align: center;
    margin: 15px 0px 0px 0px;
    padding: 7px;
    border: 1px solid #2e7d32;
    ;
    background-color: rgb(226, 255, 226);
    border-radius: 5px;
    box-shadow: 0px 0px 8px 2px rgba(0, 128, 0, 0.13);
}

div#formContacts form div#confirmMsg p {
    margin: 0px;
    font-size: clamp(16px, 2.2vw, 18px);
}

div#warningMsg p {
    text-align: center;
    font-size: clamp(14px, 1.9vw, 15px);
}

div#formContacts input[type="checkbox"] {
    width: 18px;
    height: 18px;
    vertical-align: top;
    margin: 3px 4px 1px 0px;
    cursor: pointer;
}

div#formContacts .wpcf7-list-item-label a {
    font-weight: bolder;
}

div#formContacts .wpcf7-list-item {
    margin: 0px;
}

div#formContacts input[type="submit"] {
    font-size: clamp(18px, 2.45vw, 20px);
    display: block;
    margin: 0px auto;
    background-color: #1b66b1;
    color: white;
    padding: 10px 60px;
    border-radius: 4px;
    border: none;
}

div#formContacts input[type="submit"]:enabled {
    cursor: pointer;
}

div#formContacts input[type="submit"]:enabled:active {
    background-color: hsl(214, 74%, 24%);
    transform: scale(0.98);
}

div#formContacts a[href="/privacy"] {
    text-decoration: underline;
}

/* Custom menu */
header nav a:active {
    opacity: 0.6;
}

.wp-block-navigation__responsive-container-open svg {
    display: none;
}

.wp-block-navigation__responsive-container-open {
    position: relative;
    width: 25px;
    height: 20px;
}

.wp-block-navigation__responsive-container-open::before,
.wp-block-navigation__responsive-container-open::after {
    content: "";
    position: absolute;
    left: 0px;
    width: 100%;
    height: 3px;
    background-color: var(--primaryBlue);
}

.wp-block-navigation__responsive-container-open::before {
    box-shadow: 0px 8px 0px var(--primaryBlue);
    top: 0px;
}

.wp-block-navigation__responsive-container-open::after {
    bottom: 1px;
}

/* Style on open menu */
header .wp-block-navigation ul li {
    font-size: clamp(20px, 2.45vw, 23px);
    letter-spacing: 2px;
}

header .wp-block-navigation ul li a {
    border-radius: 2px;
}

header .wp-block-navigation ul li a {
    text-decoration: none;
}

header .wp-block-navigation ul li.current-menu-item>a {
    font-weight: bold;
    border-bottom: 2px solid var(--primaryBlue);
}

body button.wp-block-navigation__responsive-container-close {
    top: 3px;
    right: -11.5px;
}

body button.wp-block-navigation__responsive-container-close svg {
    fill: var(--primaryBlue);
    transform: scale(1.6);
    transform-origin: center;
    width: 24px;
    height: 24px;
}

body div.wp-block-navigation__responsive-container-content ul {
    gap: clamp(30px, 3.2vw, 45px);
}

/* Footer */
footer {
    margin: 4rem 0px 0px 0px;
    padding: 40px;
    background-color: #171920;
}

footer div#footerLayout {
    align-items: center;
    gap: 15px;
}

footer h2 {
    font-size: clamp(28px, 3.8vw, 32px);
}

footer svg {
    width: clamp(40px, 5.5vw, 45px);
}

footer p {
    font-size: clamp(17px, 2.3vw, 19px);
}

footer a[target="_blank"] {
    color: #9195a9;
}

footer a[target="_blank"]:active {
    color: hsl(230, 12%, 52%);
}

/* Responsiveness */
/* Open menu on desktop devices */
@media (max-width: 1009px) {
    body button.wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: flex;
    }

    body div.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        background-color: rgba(0, 0, 0, 0);
        display: none;
        position: relative;
        width: auto;
    }
}

/* Desktop with real hover and fine cursor */
@media (hover: hover) and (pointer: fine) {

    /* General and outline */
    .focus:focus-visible,
    a#contactButtonQuality:focus-visible,
    a#followLinkedin:focus-visible,
    header .wp-block-navigation ul li a:focus-visible,
    h2.h2TitlePost a:focus-visible,
    a.wp-block-post-excerpt__more-link:focus-visible,
    div#formContacts input[type="submit"]:enabled:focus-visible {
        outline: 2px solid var(--primaryBlue);
        outline-offset: 5px;
    }

    #sectorsSectionHome button.modalClose:focus-visible {
        outline: 3px solid rgb(62, 166, 222);
        outline-offset: 3px;
    }

    footer a:focus-visible {
        outline: 2px solid white;
        outline-offset: 3px;
    }

    div#formContacts input:focus-visible,
    div#formContacts textarea:focus-visible,
    div#formContacts a[href="/privacy"]:focus-visible {
        outline: 2px solid var(--primaryBlue);
        outline-offset: 1px;
    }

    /* Header */
    div#back-portfolio a:hover {
        text-decoration: underline;
    }

    header .wp-block-navigation ul li:not(.current-menu-item):hover a {
        text-decoration: underline;
    }

    /* Home */
    div.modalSector button:hover {
        background-color: rgb(105, 162, 249);
    }

    div.modalSector button:active {
        background-color: rgb(71, 130, 221);
    }

    #contactUsLinkHome:hover {
        background-color: hsl(214, 72%, 27%);
    }

    #contactUsLinkHome:active {
        background-color: hsl(214, 72%, 19%);
        transform: scale(0.98);
    }

    a.wp-block-post-excerpt__more-link:hover,
    a.aBlue:hover {
        color: hsl(215, 45%, 23%);
    }

    a.wp-block-post-excerpt__more-link:active,
    a.aBlue:active {
        color: hsl(215, 45%, 0%);
    }

    a.aWhite:hover {
        color: hsl(0, 0%, 85%);
    }

    a.aWhite:active {
        color: hsl(0, 0%, 70%);
    }

    /* Contacts */
    a#followLinkedin:hover {
        text-decoration: underline;
    }

    div#formContacts input[type="submit"]:enabled:hover {
        background-color: hsl(214, 74%, 32%);
    }

    div#formContacts input[type="submit"]:enabled:active {
        background-color: hsl(214, 74%, 24%);
        transform: scale(0.98);
    }

    /* Quality */
    #contactButtonQuality:hover {
        background-color: hsl(214, 72%, 27%);
    }

    #contactButtonQuality:active {
        background-color: hsl(214, 72%, 19%);
        transform: scale(0.98);
    }

    /* Footer */
    footer a[target="_blank"]:hover {
        color: hsl(230, 12%, 52%);
    }

    footer a[target="_blank"]:active {
        color: hsl(230, 12%, 41%);
    }
}

/* Desktop starting from 1025px */
@media (min-width: 1025px) {

    /* Home */
    span.desktopOnlyHeading {
        display: inline;
    }

    div.modalSector {
        padding: 22px;
    }

    /* Quality */
    div.gradientBlue {
        background-image: linear-gradient(90deg,
                rgba(23, 55, 117, 1) 0%,
                rgba(35, 95, 173, 1) 50%,
                rgba(255, 255, 255, 1) 100%);
    }
}

/* Tablet up to 1024px */
@media (max-width: 1024px) {

    /* Home */
    div.modalSector {
        padding: 22px;
    }

    /* Quality */
    div.gradientBlue {
        background-image: url("/wp-content/uploads/2026/01/scienziata-mobile.webp");
        background-size: cover;
        background-position: 50% 28%;
        background-repeat: no-repeat;
    }

    div.gradientBlue::before {
        content: "";
        position: absolute;
        inset: 0px;
        background: linear-gradient(180deg,
                rgba(23, 55, 117, 0.85) 0%,
                rgba(35, 95, 173, 0.85) 100%);
        z-index: 1;
        opacity: 0.6;
    }

    div#standardRow {
        max-width: 400px;
    }

    /* Who we are */
    svg.value {
        max-width: 80px;
    }
}

/* Mobile up to 767px */
@media (max-width: 767px) {

    /* Quality */
    svg.security {
        width: 17px;
    }

    /* Who we are */
    div#ourValues,
    div#ourTeam {
        max-width: 350px;
    }
}

/* Specific responsive layout for "Our services" section */
@media (max-width: 1139px) {
    body div.elementor-element div.text-container {
        padding: 0px;
    }

    body .elementor-element div.flex-services {
        flex-direction: column-reverse;
        padding: 25px;
        box-shadow: 0px 20px 16px 5px rgba(221, 221, 221, 0.4) !important;
        align-items: center;
    }

    body div.elementor-element div.flex-services>div {
        width: 100%;
    }
}