/* Campagna Natale 2026: estensioni isolate del layout Campagna. */
.natale-main {
    --natale-red: #540f1b;
}
.natale-hero {
    position: relative;
    min-height: min(760px, 50vw);
    display: flex;
    align-items: center;
    background: var(--natale-red);
    color: #fff;
}
.natale-hero__media {
    position: absolute;
    inset: 0 0 0 50%;
}
.natale-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}
.natale-hero__inner { position: relative; padding-block: 80px; }
.natale-hero__copy { width: 44%; max-width: 650px; }
.natale-hero h1 {
    font-family: "Cinzel Decorative", serif;
    font-weight: 400;
    font-size: clamp(30px, 3.6vw, 58px);
    line-height: 1.2;
    margin: 22px 0;
}
.natale-hero__copy > p {
    font-family: "Spectral", serif;
    font-size: clamp(17px, 1.5vw, 22px);
    line-height: 1.5;
    max-width: 490px;
}
.natale-main .button { display: inline-block; text-align: center; line-height: 1.5; max-width: 100%; box-sizing: border-box; }
.natale-main a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.natale-intro { padding-block: 64px; text-align: center; }
.natale-intro > p { max-width: 860px; margin: 0 auto 20px; line-height: 1.8; }
.natale-intro .natale-intro__invitation { font-family: "Spectral", serif; font-size: 23px; color: var(--natale-red); margin-bottom: 0; }
.natale-selection { scroll-margin-top: 140px; }
.natale-section-heading { padding-block: 55px; text-align: center; border-top: 1px solid #d8cabe; }
.natale-section-heading h2 { margin: 0 0 22px; font-family: "Cinzel Decorative", serif; font-size: clamp(30px, 4vw, 52px); font-weight: 400; color: var(--natale-red); }
.natale-section-heading__subtitle { font-family: "Spectral", serif; font-size: clamp(22px, 2.4vw, 30px); margin: 0 0 14px; }
.natale-section-heading > p:last-child { max-width: 740px; margin: 0 auto; line-height: 1.8; }
.natale-collection { padding-block: 28px 32px; }
.natale-collection .campagna-block__intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 7%; margin-bottom: 24px; }
.natale-collection .campagna-block__intro:last-child { margin-bottom: 0; }
.natale-collection .campagna-block__image { width: 100%; height: auto; max-height: 640px; aspect-ratio: 4 / 5; object-fit: cover; float: none; }
.natale-collection .campagna-block__title { opacity: 1; color: var(--natale-red); margin-bottom: 24px; font-family: "Spectral", serif; font-weight: 400; font-size: clamp(30px, 3.4vw, 48px); }
.natale-collection .campagna-block__description { max-width: 490px; font-size: 16px; line-height: 1.8; letter-spacing: .03em; margin-bottom: 30px; }
.natale-collection--reverse .campagna-block__intro-media { grid-column: 1; grid-row: 1; }
.natale-collection--reverse .campagna-block__intro-text { grid-column: 2; }
.natale-collection .natale-collection--text-only { display: block; text-align: center; }
.natale-collection--text-only .campagna-block__description { margin-inline: auto; }
.natale-closing { background: var(--natale-red); color: #fff; padding-block: 80px; text-align: center; }
.natale-closing h2 { font-family: "Spectral", serif; font-weight: 400; font-size: clamp(30px, 4vw, 48px); margin: 20px 0; }
.natale-closing p { max-width: 760px; margin: 0 auto 32px; line-height: 1.8; }
@media (min-width: 769px) and (max-width: 1199px) {
    .natale-collection .campagna-products-grid ul.products.campagna-products-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 768px) {
    .natale-main { padding-top: 40px; }
    .natale-hero { display: block; }
    .natale-hero__media { position: relative; inset: auto; }
    .natale-hero__media img { height: auto; }
    .natale-hero__inner { padding-block: 28px 40px; }
    .natale-hero__copy { width: 100%; max-width: none; }
    .natale-hero h1 { font-size: clamp(29px, 6.5vw, 44px); }
    .natale-intro { padding-block: 40px; }
    .natale-section-heading { padding-block: 40px; }
    .natale-collection { padding-block: 20px 24px; }
    .natale-collection .campagna-block__intro { display: flex; flex-direction: column-reverse; gap: 28px; margin-bottom: 20px; }
    .natale-collection .campagna-block__intro > div { width: 100%; }
    .natale-collection .campagna-block__image { max-height: none; }
    .natale-collection .campagna-block__description { font-size: 15px; max-width: none; }
    .natale-collection .campagna-block__title { margin-bottom: 16px; }
    .natale-collection .campagna-products-grid ul.products.campagna-products-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px; }
    .natale-closing { padding-block: 48px; }
}
