.elementor-3357 .elementor-element.elementor-element-4a6ccf4{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-b0bf0c6 */:root {
    --bg: #f3f3f3;
    --ink: #1f2328;
    --muted: #4d5460;
    --white: #ffffff;
    --line: #d9dfe4;
    --brand: #274f43;
    --blue: #91b6ef;
    --mint: #b9edcf;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: "Gabarito", system-ui, sans-serif;
    background: var(--bg);
    color: var(--ink);
}

.dop-page {
    background: var(--bg);
}

img {
    max-width: 100%;
    display: block;
}

.container {
    width: min(1120px, 100% - 3rem);
    margin-inline: auto;
}

.section {
    padding: 3.5rem 0;
}

[data-animate] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.75s ease, transform 0.75s ease;
    transition-delay: var(--anim-delay, 0ms);
}

[data-animate].is-visible {
    opacity: 1;
    transform: none;
}

[data-animate="fade-left"] { transform: translateX(-24px); }
[data-animate="fade-right"] { transform: translateX(24px); }

h1,
h2,
h3,
p {
    margin: 0;
}

p {
    color: var(--muted);
    line-height: 1.55;
}

a,
a:hover,
a:focus,
a:active,
a:visited {
    color: inherit;
    text-decoration: none;
}

/* Force no pink states anywhere on this page */
.dop-page a:hover,
.dop-page a:focus,
.dop-page a:active,
.dop-page a:visited {
    color: inherit !important;
}

.btn,
.slide-btn {
    display: inline-block;
    background: var(--brand);
    color: #ffffff !important;
    border: 1px solid var(--brand);
    border-radius: 3px;
    padding: 0.65rem 1rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.76rem;
    font-weight: 700;
}

.btn,
.btn:hover,
.btn:focus,
.btn:focus-visible,
.btn:active,
.btn:visited,
.slide-btn,
.slide-btn:hover,
.slide-btn:focus,
.slide-btn:focus-visible,
.slide-btn:active,
.slide-btn:visited {
    color: #ffffff !important;
}

.btn--ghost {
    background: transparent;
    color: var(--brand) !important;
}

.btn--ghost:hover,
.btn--ghost:focus,
.btn--ghost:focus-visible,
.btn--ghost:active,
.btn--ghost:visited {
    color: var(--brand) !important;
}

/* Hard override for dark CTA readability */
.insight .btn,
.dop-links__inner > .btn,
.news__cta .btn,
.news-card .btn,
.resource-card .slide-btn,
.schools-slider .slide-btn {
    background: #2b463c !important;
    border-color: #2b463c !important;
    color: #ffffff !important;
}

.insight .btn:hover,
.insight .btn:focus,
.insight .btn:focus-visible,
.insight .btn:active,
.dop-links__inner > .btn:hover,
.dop-links__inner > .btn:focus,
.dop-links__inner > .btn:focus-visible,
.dop-links__inner > .btn:active,
.news__cta .btn:hover,
.news__cta .btn:focus,
.news__cta .btn:focus-visible,
.news__cta .btn:active,
.news-card .btn:hover,
.news-card .btn:focus,
.news-card .btn:focus-visible,
.news-card .btn:active,
.resource-card .slide-btn:hover,
.resource-card .slide-btn:focus,
.resource-card .slide-btn:focus-visible,
.resource-card .slide-btn:active,
.schools-slider .slide-btn:hover,
.schools-slider .slide-btn:focus,
.schools-slider .slide-btn:focus-visible,
.schools-slider .slide-btn:active {
    background: #244036 !important;
    border-color: #244036 !important;
    color: #ffffff !important;
}

/* Absolute text-color lock for dark CTAs */
.dop-page a.btn,
.dop-page a.btn:link,
.dop-page a.btn:visited,
.dop-page a.btn:hover,
.dop-page a.btn:focus,
.dop-page a.btn:focus-visible,
.dop-page a.btn:active,
.dop-page a.slide-btn,
.dop-page a.slide-btn:link,
.dop-page a.slide-btn:visited,
.dop-page a.slide-btn:hover,
.dop-page a.slide-btn:focus,
.dop-page a.slide-btn:focus-visible,
.dop-page a.slide-btn:active {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.hero {
    height: 100vh;
    display: grid;
    place-items: center;
    background: linear-gradient(rgba(0, 0, 0, 0.14), rgba(0, 0, 0, 0.14)),
        url("https://www.assaggialaliguria.it/wp-content/uploads/2025/12/Generated-Image-December-09-2025-12_49PM-scaled.jpg") center 38% / cover no-repeat;
    padding: 0;
}

.hero__overlay {
    text-align: center;
    color: #fff;
}

.hero__overlay p {
    color: #fff;
    letter-spacing: 0.14em;
    font-size: 0.95rem;
    margin-bottom: 0.6rem;
}

.hero__overlay h1 {
    font-size: clamp(2.8rem, 7vw, 4.8rem);
}

.eu-banner__box {
    background: transparent;
    border: none;
    padding: 0;
    text-align: center;
}

.eu-banner__box h2 {
    margin-bottom: 1rem;
    font-size: 2.1rem;
}

.eu-banner__box img {
    width: min(420px, 100%);
    margin: 0 auto 1rem;
}

.eu-banner__box p + p {
    margin-top: 0.7rem;
}

.intro__grid,
.insight__grid,
.materials__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

.intro__grid {
    align-items: center;
}

.insight__grid {
    align-items: start;
}

.intro .eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.8rem;
    margin-bottom: 0.6rem;
    color: #343a42;
}

.intro h2 {
    font-size: clamp(2rem, 4vw, 3.2rem);
}

.intro p + p {
    margin-top: 0.85rem;
}

.goals__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.goal-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1rem;
    padding: 1.5rem;
    background: linear-gradient(160deg, var(--blue), var(--mint));
    min-height: 260px;
}

.goal-card__head {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.goal-card img {
    width: 70px;
    height: 70px;
    object-fit: contain;
    flex-shrink: 0;
}

.goal-card__head img[src*="icona_cuoco-removebg-preview"] {
    width: 78px;
    height: 78px;
}

.goal-card h3 {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0;
    font-size: 1.1rem;
}

.goal-card p {
    margin: 0;
    max-width: 42ch;
}

.insight__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 1rem;
}

.insight__head h2 {
    font-size: clamp(2.2rem, 4.2vw, 3.25rem);
    line-height: 1.05;
    margin-bottom: 0.35rem;
}

.insight__head > div > p {
    font-size: 1.1rem;
    color: #3f4650;
}

.insight__badges {
    display: flex;
    gap: 0.9rem;
    padding-top: 0;
    margin-bottom: 0.9rem;
}

.insight-badge-card {
    flex: 1;
    min-height: 92px;
    border: 1px solid #d3d9dd;
    background: #f5f6f7;
    padding: 0.7rem 0.85rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.35rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.72rem;
    line-height: 1.2;
    color: #2a2f36;
    text-align: left;
}

.insight__badges i {
    color: #1f2328;
    font-size: 1.65rem;
}

.insight__grid img {
    width: 100%;
    max-width: 500px;
    height: 350px;
    object-fit: cover;
    border-radius: 3px;
}

.insight__grid h3 {
    font-size: clamp(2rem, 3.3vw, 2.7rem);
    line-height: 1.08;
    margin-bottom: 0.8rem;
}

.insight__grid ul {
    margin: 0 0 1.2rem 0;
    padding-left: 1.15rem;
    color: var(--muted);
    font-size: 1rem;
    line-height: 1.4;
    list-style: none;
}

.insight__grid li {
    position: relative;
    padding-left: 1.3rem;
}

.insight__grid li::before {
    content: "\f058";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 0.1rem;
    font-size: 0.75rem;
    color: #1f2328;
}

.insight__grid li + li {
    margin-top: 0.6rem;
}

.dop-links {
    padding-top: 0;
}

.dop-links__inner {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    width: fit-content;
    max-width: 100%;
}

.dop-links__buttons {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: 0.65rem;
    width: 100%;
}

.dop-links__inner > .btn {
    width: 100%;
    text-align: center;
}

.dop-links__buttons .btn--ghost,
.dop-links__buttons .btn--ghost:link,
.dop-links__buttons .btn--ghost:visited,
.dop-links__buttons .btn--ghost:hover,
.dop-links__buttons .btn--ghost:focus,
.dop-links__buttons .btn--ghost:focus-visible,
.dop-links__buttons .btn--ghost:active {
    background: #2b463c !important;
    border-color: #2b463c !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.intro,
.insight,
.materials {
    position: relative;
}

.doodle {
    position: absolute;
    z-index: 1;
    pointer-events: none;
    opacity: 0.95;
}

.doodle--sommelier {
    width: clamp(90px, 12vw, 150px);
    right: max(8px, calc((100vw - var(--container)) / 2 - 20px));
    bottom: 10px;
}

.doodle--cuoco {
    width: clamp(125px, 17vw, 220px);
    left: max(10px, calc((100vw - var(--container)) / 2 - 40px));
    bottom: 16px;
}

.doodle--cuoca {
    width: clamp(120px, 16vw, 210px);
    right: max(10px, calc((100vw - var(--container)) / 2 - 20px));
    bottom: 14px;
}

.slider__viewport {
    overflow: hidden;
}

.slider__track {
    position: relative;
    min-height: 360px;
}

.slide-card {
    position: absolute;
    inset: 0;
    border-radius: 3px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.45s ease;
    display: grid;
    align-items: end;
}

.slide-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.28);
}

.slide-card > div {
    position: relative;
    color: #fff;
    padding: 2rem;
    max-width: 600px;
}

.slide-card h3 {
    font-size: 2.2rem;
    margin-bottom: 0.35rem;
}

.slide-card p {
    color: #fff;
    margin-bottom: 1rem;
}

.slide-card.is-active {
    opacity: 1;
    pointer-events: auto;
}

.slider__dots {
    margin-top: 1rem;
    display: flex;
    justify-content: center;
    gap: 0.6rem;
}

.slider__dot {
    appearance: none;
    -webkit-appearance: none;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    border: 1px solid #c8d1c8 !important;
    background: #ffffff !important;
    box-shadow: none;
    outline: none;
    padding: 0;
}

.slider__dot.is-active {
    background: #b6eabf !important;
    border-color: #b6eabf !important;
}

.slider__dot:hover,
.slider__dot:focus,
.slider__dot:focus-visible,
.slider__dot:active,
.slider__dot:visited {
    background: #dff6ea !important;
    border-color: #9fd6cb !important;
}

.slider__dot.is-active:hover,
.slider__dot.is-active:focus,
.slider__dot.is-active:focus-visible,
.slider__dot.is-active:active,
.slider__dot.is-active:visited {
    background: #b6eabf !important;
    border-color: #b6eabf !important;
}

.materials {
    background: linear-gradient(120deg, #a4c8f6, #acecc7);
}

.materials h2 {
    font-size: 2.2rem;
    margin-bottom: 0.4rem;
}

.tabs {
    display: flex;
    gap: 0.5rem;
    margin: 1rem 0 0.9rem;
}

.tab-btn {
    border: 1px solid #d8d8d8;
    background: #f8f8f8;
    color: #4d5460;
    padding: 0.6rem 0.9rem;
    text-transform: uppercase;
    font-size: 0.72rem;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.tab-btn.is-active {
    background: #2b463c;
    border-color: #2b463c;
    color: #ffffff;
}

.tab-btn:hover,
.tab-btn:focus,
.tab-btn:focus-visible,
.tab-btn:active {
    background: #d9f4e3;
    border-color: #9fd6cb;
    color: #2b463c;
    outline: none;
}

.tab-btn.is-active:hover,
.tab-btn.is-active:focus,
.tab-btn.is-active:focus-visible,
.tab-btn.is-active:active {
    background: #2b463c;
    border-color: #2b463c;
    color: #ffffff;
}

.tab-content {
    display: none;
    margin-bottom: 1rem;
}

.tab-content.is-active {
    display: block;
}

.materials__cards {
    display: grid;
    gap: 0.9rem;
}

.resource-card {
    min-height: 130px;
    padding: 1.2rem;
    background-size: cover;
    background-position: center;
    position: relative;
    color: #fff;
}

.resource-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.28);
}

.resource-card > * {
    position: relative;
}

.resource-card h3 {
    margin-bottom: 0.75rem;
    font-size: 2rem;
}

.resource-card--dark::before {
    background: rgba(0, 0, 0, 0.5);
}

.schools-articles__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: center;
}

.schools-articles h2 {
    font-size: 2rem;
    margin-bottom: 0.35rem;
}

.schools-articles h3 {
    font-size: 2.2rem;
    margin-bottom: 0.7rem;
}

.schools-articles p + p {
    margin-top: 0.8rem;
}

.schools-slider {
    position: relative;
}

.schools-slider__track {
    min-height: 420px;
    position: relative;
}

.schools-slider__slide {
    position: absolute;
    inset: 0;
    min-height: 420px;
    border-radius: 3px;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    display: grid;
    align-items: end;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
}

.schools-slider__slide.is-active {
    opacity: 1;
    pointer-events: auto;
}

.schools-slider__slide::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.28);
}

.schools-slider__slide > div {
    position: relative;
    color: #fff;
    padding: 1.6rem;
}

.schools-slider__slide h4 {
    margin: 0 0 0.4rem;
    font-size: 2.2rem;
}

.schools-slider__slide p {
    color: #fff;
    margin-bottom: 0.9rem;
}

.schools-slider__dots {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.schools-slider__dot {
    appearance: none;
    -webkit-appearance: none;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    border: 1px solid #c9d8c9 !important;
    background: #fff !important;
    padding: 0;
    box-shadow: none;
    outline: none;
}

.schools-slider__dot.is-active {
    background: #b6eabf !important;
    border-color: #b6eabf !important;
}

.schools-slider__dot:hover,
.schools-slider__dot:focus,
.schools-slider__dot:focus-visible,
.schools-slider__dot:active,
.schools-slider__dot:visited {
    background: #dff6ea !important;
    border-color: #9fd6cb !important;
}

.schools-slider__dot.is-active:hover,
.schools-slider__dot.is-active:focus,
.schools-slider__dot.is-active:focus-visible,
.schools-slider__dot.is-active:active,
.schools-slider__dot.is-active:visited {
    background: #b6eabf !important;
    border-color: #b6eabf !important;
}

.news__title {
    text-align: center;
    margin-bottom: 1.4rem;
    font-size: 2.2rem;
}

.news__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.news-card {
    background: linear-gradient(150deg, #9bc4ff, #a9ebc5);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.16);
    display: flex;
    flex-direction: column;
}

.news-card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.news-card__body {
    padding: 0.8rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.news-card__date {
    font-size: 0.9rem;
    margin-bottom: 0.4rem;
}

.news-card h3 {
    font-size: 1.55rem;
    line-height: 1.2;
    margin-bottom: 0.8rem;
    flex: 1;
}

.news__cta {
    margin-top: 1.8rem;
    text-align: center;
}

.social {
    text-align: left;
}

.social h2 {
    font-size: 2.2rem;
    margin-bottom: 0.3rem;
}

.social__icons {
    display: flex;
    gap: 0.6rem;
    margin-top: 0.7rem;
}

.social__icons a {
    width: 24px;
    height: 24px;
    border-radius: 3px;
    display: inline-grid;
    place-items: center;
    color: #fff !important;
    font-size: 0.8rem;
}

.social__icons a:nth-child(1) { background: #3b5998; }
.social__icons a:nth-child(2) { background: #111; }
.social__icons a:nth-child(3) { background: #cc0000; }

@media (max-width: 960px) {
    .intro__grid,
    .goals__grid,
    .insight__grid,
    .materials__grid {
        grid-template-columns: 1fr;
    }

    .schools-articles__grid,
    .news__grid {
        grid-template-columns: 1fr;
    }

    .insight__head {
        flex-direction: column;
    }

    .insight__badges {
        flex-direction: column;
    }

    .dop-links__inner {
        width: 100%;
    }

    .dop-links__buttons {
        grid-template-columns: 1fr;
    }

    .doodle--cuoco,
    .doodle--cuoca {
        width: 130px;
    }

    .doodle--sommelier {
        width: 95px;
    }

    .hero {
        height: clamp(300px, 58vw, 420px);
    }

    .section {
        padding: 2.4rem 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    [data-animate] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}/* End custom CSS */