/* Magilu — «Area Pro» mobile tab, product «ristorazione» box, Elementor mg-e-* pages. */
.mg-pro-box { --p-green:#2f5d34; --p-green-dark:#244a29; --p-gold:#d9a526; --p-ink:#1f241c; --p-muted:#5f6659; --p-line:#e4e4dc; --p-soft:#f4f4ef; }

/* Bottom bar: labels under icons, «Area Pro» before the cart. */
#page-mobile-tabs .tabs { display:flex; }
#page-mobile-tabs .tabs > * { flex:1 1 0; }
#page-mobile-tabs .mg-tab-pro { order:4; }
#page-mobile-tabs .tabs > .mobile-tab-link:has(.mini-cart-badge), #page-mobile-tabs .tabs > *:has(.mini-cart-badge) { order:5; }
#page-mobile-tabs .mobile-tab-link--title { font-size:11px; font-weight:600; line-height:1.2; margin-top:3px; }
#page-mobile-tabs .mg-tab-pro .icon svg { width:22px; height:22px; }

/* Product page box */
.mg-pro-box { margin:18px 0; padding:16px 18px; border:1px solid var(--p-line); border-radius:16px; background:var(--p-soft); }
.mg-pro-box__title { margin:0 0 8px; font-weight:700; color:var(--p-green); }
.mg-pro-box ul { margin:0; padding:0; list-style:none; }
.mg-pro-box li { display:flex; gap:10px; margin:0 0 6px; font-size:15px; }
.mg-pro-box__cta { margin:10px 0 0; padding-top:10px; border-top:1px solid var(--p-line); font-size:15px; }
.mg-pro-box__cta a { font-weight:700; color:var(--p-green); }

/* ============ Elementor version (mg-e-*): native widgets, Magilu look ============ */
.mg-e { --p-green:#2f5d34; --p-green-dark:#244a29; --p-gold:#d9a526; --p-ink:#1f241c; --p-muted:#5f6659; --p-line:#e4e4dc; --p-soft:#f4f4ef; --gap:16px; color:var(--p-ink); }
.mg-e .elementor-widget { margin-bottom:0 !important; }
.mg-e .elementor-widget-text-editor p:last-child { margin-bottom:0; }
.mg-e .elementor-heading-title { color:var(--p-ink); letter-spacing:-.01em; }
.mg-e .mg-e-kicker .elementor-heading-title { margin:0; font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--p-gold); }
.mg-e .mg-e-title .elementor-heading-title { font-size:clamp(26px, 3.2vw, 38px); line-height:1.15; text-align:center; }
.mg-e .mg-e-lead { color:var(--p-muted); text-align:center; font-size:16px; }

/* Sections */
.e-con.mg-e-sec { max-width:1180px; margin:0 auto; padding:64px 24px 0 !important; }
.e-con.mg-e-sec--narrow { max-width:1180px; }
.mg-e .mg-e-center { align-items:center; margin-top:12px; }

/* Buttons */
.mg-e .mg-e-btn .elementor-button { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:0 26px; border-radius:14px; font-size:16px; font-weight:700; line-height:1; text-transform:none; letter-spacing:0; border:2px solid transparent; transition:transform .15s ease, background .15s ease; }
.mg-e .mg-e-btn .elementor-button:hover { transform:translateY(-1px); }
.mg-e .mg-e-btn--gold .elementor-button { background:var(--p-gold); color:#1f241c; box-shadow:0 10px 24px rgba(217,165,38,.32); }
.mg-e .mg-e-btn--gold .elementor-button:hover { background:#ecc457; color:#1f241c; }
.mg-e .mg-e-btn--green .elementor-button { background:var(--p-green); color:#fff; }
.mg-e .mg-e-btn--green .elementor-button:hover { background:var(--p-green-dark); color:#fff; }
.mg-e .mg-e-btn--ghost .elementor-button { background:transparent; border-color:rgba(255,255,255,.85); color:#fff; }
.mg-e .mg-e-btn--ghost .elementor-button:hover { background:rgba(255,255,255,.12); color:#fff; }
.mg-e .mg-e-btn--line .elementor-button { background:#fff; border-color:var(--p-line); color:var(--p-ink); }
.mg-e .mg-e-btn--line .elementor-button:hover { border-color:var(--p-green); color:var(--p-green); }
.mg-e .mg-e-actions { flex-wrap:wrap; gap:12px; margin-top:12px; }
.mg-e .mg-e-actions--center { justify-content:center; }

/* Hero */
.e-con.mg-e-hero { position:relative; min-height:560px; justify-content:flex-end; padding:0 !important; background-color:#1f241c; overflow:hidden; }
.e-con.mg-e-hero::before { content:''; position:absolute; inset:0; z-index:0; background:linear-gradient(180deg, rgba(20,26,18,.35) 0%, rgba(20,26,18,.88) 100%); }
.mg-e .mg-e-hero__inner { position:relative; z-index:1; max-width:1180px; width:100%; margin:0 auto; padding:72px 24px 56px !important; gap:14px; }
.mg-e .mg-e-hero__title .elementor-heading-title { max-width:760px; color:#fff; font-size:clamp(34px, 5vw, 58px); line-height:1.08; }
.mg-e .mg-e-hero__lead { max-width:640px; color:rgba(255,255,255,.92); font-size:clamp(17px, 2vw, 20px); line-height:1.55; }
.mg-e .mg-e-hero__home { color:rgba(255,255,255,.8); font-size:15px; }
.mg-e .mg-e-hero__home a { color:#fff; font-weight:700; text-decoration:underline; text-underline-offset:3px; }

/* Trust strip */
.e-con.mg-e-trust { background:var(--p-green); padding:18px 24px !important; align-items:center; }
.mg-e .mg-e-trust__list .elementor-icon-list-items { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 28px; }
.mg-e .mg-e-trust__list .elementor-icon-list-item { margin:0 !important; padding:0 !important; }
.mg-e .mg-e-trust__list .elementor-icon-list-item::after { display:none !important; }
.mg-e .mg-e-trust__list .elementor-icon-list-text, .mg-e .mg-e-trust__list a { color:#fff !important; font-size:15px; font-weight:600; }
.mg-e .mg-e-trust__list .elementor-icon-list-icon svg { fill:var(--p-gold); width:14px; height:14px; }

/* Tiles */
.mg-e .mg-e-tiles { display:grid !important; grid-template-columns:repeat(3, 1fr); gap:16px; margin-top:12px; }
.mg-e .mg-e-tile { position:relative; aspect-ratio:4 / 3; justify-content:flex-end; padding:18px 20px !important; border-radius:20px; overflow:hidden; gap:2px; text-decoration:none; transition:transform .25s ease; }
.mg-e .mg-e-tile::before { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.72) 100%); }
.mg-e .mg-e-tile:hover { transform:translateY(-2px); }
.mg-e .mg-e-tile > * { position:relative; z-index:1; }
.mg-e .mg-e-tile__title .elementor-heading-title { color:#fff; font-size:21px; line-height:1.2; }
.mg-e .mg-e-tile__title .elementor-heading-title::after { content:' →'; }
.mg-e .mg-e-tile__sub { color:rgba(255,255,255,.9); font-size:14px; }
.mg-e .mg-e-chips { flex-wrap:wrap; justify-content:center; gap:10px; margin-top:8px; }
.mg-e .mg-e-chips--left { justify-content:flex-start; }
.mg-e .mg-e-chip .elementor-button { min-height:44px; padding:0 18px; border:1.5px solid var(--p-line); border-radius:999px; background:#fff; color:var(--p-ink); font-size:15px; font-weight:600; box-shadow:none; }
.mg-e .mg-e-chip .elementor-button:hover { border-color:var(--p-green); color:var(--p-green); transform:none; }

/* Why */
.mg-e .mg-e-why { display:grid !important; grid-template-columns:repeat(4, 1fr); gap:16px; margin-top:12px; }
.mg-e .mg-e-why__card { padding:24px; border:1px solid var(--p-line); border-radius:20px; background:#fff; }
.mg-e .mg-e-why__card .elementor-image-box-wrapper { text-align:left; }
.mg-e .mg-e-why__card .elementor-image-box-img { width:44px !important; margin:0 0 14px !important; }
.mg-e .mg-e-why__card .elementor-image-box-img img { width:44px; height:44px; object-fit:contain; }
.mg-e .mg-e-why__card .elementor-image-box-title { margin:0 0 8px; font-size:19px; color:var(--p-ink); }
.mg-e .mg-e-why__card .elementor-image-box-description { margin:0; color:var(--p-muted); font-size:15px; }

/* Professional area */
.mg-e .mg-e-proarea { display:grid !important; grid-template-columns:1.1fr .9fr; gap:0; overflow:hidden; border-radius:28px; background:var(--p-green); }
.mg-e .mg-e-proarea__text { padding:44px !important; gap:14px; }
.mg-e .mg-e-proarea__title .elementor-heading-title { color:#fff; font-size:clamp(26px, 3vw, 36px); line-height:1.15; }
.mg-e .mg-e-proarea__list .elementor-icon-list-item { padding:0 0 10px !important; align-items:flex-start; }
.mg-e .mg-e-proarea__list a { display:flex; align-items:flex-start; color:#fff !important; }
.mg-e .mg-e-proarea__list .elementor-icon-list-text { color:#fff !important; font-size:17px; padding-left:10px !important; }
.mg-e .mg-e-proarea__list .elementor-icon-list-icon svg { fill:var(--p-gold); width:16px; height:16px; margin-top:5px; }
.mg-e .mg-e-proarea__login { color:rgba(255,255,255,.85); font-size:15px; }
.mg-e .mg-e-proarea__login a { color:#fff; font-weight:700; text-decoration:underline; }
.mg-e .mg-e-proarea__img, .mg-e .mg-e-proarea__img .elementor-widget-container, .mg-e .mg-e-proarea__img img { width:100%; height:100%; }
.mg-e .mg-e-proarea__img img { min-height:320px; object-fit:cover; display:block; }

/* Products carousel */
.mg-e .mg-e-products .minimog-tabs__header-wrap { display:block !important; text-align:center; }
.mg-e .mg-e-products .minimog-tabs__title-wrap { margin:0 0 14px; }
.mg-e .mg-e-products .minimog-tabs__title { font-size:clamp(26px, 3.2vw, 38px) !important; line-height:1.15; font-weight:700 !important; color:var(--p-ink); }
.mg-e .mg-e-products .minimog-tabs__header-wrap ~ *, .mg-e .mg-e-products .minimog-tabs__header { justify-content:center; }

/* Steps */
.mg-e .mg-e-steps { display:grid !important; grid-template-columns:repeat(3, 1fr); gap:16px; margin-top:12px; counter-reset:mgstep; }
.mg-e .mg-e-step { counter-increment:mgstep; padding:24px !important; border-radius:20px; background:var(--p-soft); gap:4px; }
.mg-e .mg-e-step::before { content:counter(mgstep); position:static !important; inset:auto !important; flex:0 0 auto; z-index:auto; display:flex; align-items:center; justify-content:center; width:40px; height:40px; margin-bottom:10px; border-radius:50%; background:var(--p-green); color:#fff; font-weight:800; }
.mg-e .mg-e-step__title .elementor-heading-title { font-size:18px; }
.mg-e .mg-e-step__text { color:var(--p-muted); }

/* Home & call */
.mg-e .mg-e-casa { display:grid !important; grid-template-columns:.9fr 1.1fr; gap:32px; align-items:center; }
.mg-e .mg-e-casa__img img { width:100%; aspect-ratio:4 / 3; object-fit:cover; border-radius:24px; display:block; }
.mg-e .mg-e-casa__text { gap:12px; }
.mg-e .mg-e-casa__title .elementor-heading-title { font-size:clamp(24px, 2.8vw, 32px); }
.mg-e .mg-e-casa__lead { color:var(--p-muted); }
.mg-e .mg-e-call { padding:44px 24px !important; border-radius:28px; background:var(--p-soft); gap:10px; margin-bottom:72px; }
.mg-e .mg-e-call__hours { text-align:center; color:var(--p-muted); font-size:14px; }

/* Shorter hero for inner pages */
.e-con.mg-e-hero--short { min-height:460px; }

/* Feature cards (icon-box) */
.mg-e .mg-e-features { display:grid !important; grid-template-columns:repeat(3, 1fr); gap:16px; margin-top:12px; }
.mg-e .mg-e-feature { padding:24px; border:1px solid var(--p-line); border-radius:20px; background:#fff; transition:transform .2s ease, box-shadow .2s ease; }
.mg-e .mg-e-feature:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(31,36,28,.08); }
.mg-e .mg-e-feature .elementor-icon-box-wrapper { display:flex; flex-direction:column; align-items:flex-start; text-align:left; gap:14px; }
.mg-e .mg-e-feature .elementor-icon-box-icon { margin:0 !important; }
.mg-e .mg-e-feature .elementor-icon { display:flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:14px; background:var(--p-soft); font-size:20px; }
.mg-e .mg-e-feature .elementor-icon svg { width:20px; height:20px; fill:var(--p-green); }
.mg-e .mg-e-feature .elementor-icon-box-title { margin:0 0 6px; font-size:19px; color:var(--p-ink); }
.mg-e .mg-e-feature .elementor-icon-box-title a { color:inherit; }
.mg-e .mg-e-feature .elementor-icon-box-description { margin:0; color:var(--p-muted); font-size:15px; line-height:1.55; }
/* Image gallery (Coprisedie) */
.mg-e .mg-e-gallery { position:relative; }
.mg-e .mg-e-gallery .swiper-slide-image { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:20px; }
.mg-e .mg-e-gallery .elementor-swiper-button { width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#fff; color:var(--p-ink); box-shadow:0 6px 18px rgba(31,36,28,.14); font-size:16px; }
.mg-e .mg-e-gallery .elementor-swiper-button svg { width:16px; height:16px; fill:var(--p-ink); }
.mg-e .mg-e-gallery .elementor-swiper-button-prev { left:10px; }
.mg-e .mg-e-gallery .elementor-swiper-button-next { right:10px; }
.mg-e .mg-e-gallery .swiper-pagination { position:static; margin-top:16px; }
.mg-e .mg-e-gallery .swiper-pagination-bullet { width:8px; height:8px; background:var(--p-line); opacity:1; }
.mg-e .mg-e-gallery .swiper-pagination-bullet-active { background:var(--p-green); }
.mg-e .mg-e-form .elementor-field-type-upload label.elementor-screen-only { position:static !important; width:auto !important; height:auto !important; clip:auto !important; clip-path:none !important; margin:0 0 6px; overflow:visible; font-size:14px; color:var(--p-muted); }
.mg-e .mg-e-form .elementor-field-type-upload input[type=file] { width:100%; padding:14px; border:1px dashed var(--p-line); border-radius:14px; background:var(--p-soft); font-size:14px; }

/* Supply request: text + form */
.mg-e .mg-e-supply { display:grid !important; grid-template-columns:1fr 1fr; gap:32px; align-items:start; padding:40px !important; border-radius:28px; background:var(--p-soft); }
.mg-e .mg-e-supply__text { gap:12px; }
.mg-e .mg-e-supply__title .elementor-heading-title { font-size:clamp(26px, 3vw, 34px); line-height:1.15; }
.mg-e .mg-e-supply__lead, .mg-e .mg-e-supply__note { color:var(--p-muted); }
.mg-e .mg-e-supply__note a { color:var(--p-green); font-weight:700; }
.mg-e .mg-e-supply__subtitle .elementor-heading-title { font-size:17px; margin-top:6px; }
.mg-e .mg-e-checklist .elementor-icon-list-item { padding:0 0 6px !important; }
.mg-e .mg-e-checklist .elementor-icon-list-icon svg { fill:var(--p-green); width:14px; height:14px; }
.mg-e .mg-e-checklist .elementor-icon-list-text { padding-left:8px !important; color:var(--p-ink); }
.mg-e .mg-e-supply__form { padding:28px !important; border-radius:22px; background:#fff; box-shadow:0 14px 34px rgba(31,36,28,.08); }
.mg-e .mg-e-form .elementor-field-group { margin-bottom:12px; }
.mg-e .mg-e-form .elementor-field-label { font-size:14px; font-weight:600; color:var(--p-ink); }
.mg-e .mg-e-form .elementor-field-textual, .mg-e .mg-e-form select.elementor-field { min-height:50px; border:1.5px solid var(--p-line) !important; border-radius:12px !important; background:#fff; font-size:16px; }
.mg-e .mg-e-form .elementor-field-textual:focus, .mg-e .mg-e-form select.elementor-field:focus { border-color:var(--p-green) !important; box-shadow:0 0 0 3px rgba(47,93,52,.12); outline:none; }
.mg-e .mg-e-form textarea.elementor-field-textual { min-height:130px; }
.mg-e .mg-e-form .elementor-button { width:100%; min-height:54px; border-radius:14px !important; background:var(--p-green) !important; color:#fff !important; font-size:16px; font-weight:700; text-transform:none; letter-spacing:0; }
.mg-e .mg-e-form .elementor-button:hover { background:var(--p-green-dark) !important; }
.mg-e .mg-e-form .elementor-field-type-acceptance label { font-size:13px; color:var(--p-muted); }

/* FAQ */
.e-con.mg-e-sec--faq { max-width:860px; }
.mg-e .mg-e-faq { margin-top:12px; }
.mg-e .mg-e-faq .e-n-accordion-item { margin-bottom:10px; border:1px solid var(--p-line); border-radius:16px; background:#fff; overflow:hidden; }
.mg-e .mg-e-faq .e-n-accordion-item-title { padding:18px 20px; border:0 !important; font-size:17px; font-weight:600; color:var(--p-ink); }
.mg-e .mg-e-faq .e-n-accordion-item-title-text { font-size:17px; font-weight:600; color:var(--p-ink); }
.mg-e .mg-e-faq .e-n-accordion-item > .e-con { padding:0 20px 18px !important; border:0 !important; color:var(--p-muted); }

/* About / contacts */
.e-con.mg-e-hero--compact { min-height:400px; }
.mg-e .mg-e-lead--wide { max-width:760px; margin:0 auto; }
.mg-e .mg-e-proarea__lead { color:rgba(255,255,255,.9); font-size:17px; line-height:1.6; }
.mg-e .mg-e-proarea__lead p { margin:0 0 12px; }
.mg-e .mg-e-casa__lead p { margin:0 0 12px; }
.mg-e .mg-e-why--contacts .elementor-icon-box-description { font-size:18px; font-weight:600; color:var(--p-ink); }
.mg-e .mg-e-why--contacts .mg-e-feature:last-child .elementor-icon-box-description { font-size:15px; font-weight:400; color:var(--p-muted); }
.mg-e .mg-e-supply--light { background:#fff; border:1px solid var(--p-line); }
.mg-e .mg-e-supply--light .mg-e-supply__form { background:var(--p-soft); box-shadow:none; }
.mg-e .mg-e-supply__lead a { color:var(--p-green); font-weight:700; text-decoration:underline; }
.mg-e .mg-e-supply__form .mg-e-supply__subtitle { margin-bottom:8px; }
.mg-e .mg-e-call .mg-e-lead a { color:var(--p-green); font-weight:700; text-decoration:underline; }

@media (max-width:991px) {
    .mg-e .mg-e-tiles, .mg-e .mg-e-why, .mg-e .mg-e-features { grid-template-columns:repeat(2, 1fr); }
    .mg-e .mg-e-supply { grid-template-columns:1fr; }
    .mg-e .mg-e-proarea { grid-template-columns:1fr; }
    .mg-e .mg-e-proarea__img { order:-1; }
    .mg-e .mg-e-proarea__img img { min-height:220px; max-height:300px; }
}
@media (max-width:600px) {
    .e-con.mg-e-hero { min-height:0; }
    .mg-e .mg-e-hero__inner { padding:120px 18px 32px !important; }
    .mg-e .mg-e-actions { flex-direction:column !important; }
    .mg-e .mg-e-actions .mg-e-btn, .mg-e .mg-e-actions .elementor-button { width:100%; }
    .e-con.mg-e-trust { padding:14px 18px !important; }
    .mg-e .mg-e-trust__list .elementor-icon-list-items { justify-content:flex-start; gap:8px 18px; }
    .mg-e .mg-e-trust__list .elementor-icon-list-text { font-size:14px; }
    .e-con.mg-e-sec { padding:44px 16px 0 !important; }
    .mg-e .mg-e-tiles { gap:10px; }
    .mg-e .mg-e-tile { aspect-ratio:1 / 1; border-radius:16px; padding:12px !important; }
    .mg-e .mg-e-tile__title .elementor-heading-title { font-size:16px; }
    .mg-e .mg-e-tile__sub { display:none; }
    .mg-e .mg-e-why { grid-template-columns:1fr; gap:10px; }
    .mg-e .mg-e-why__card { padding:18px; }
    .mg-e .mg-e-why__card .elementor-image-box-wrapper { display:grid; grid-template-columns:44px 1fr; gap:0 14px; }
    .mg-e .mg-e-why__card .elementor-image-box-img { margin:0 !important; }
    .mg-e .mg-e-proarea { border-radius:22px; }
    .mg-e .mg-e-proarea__text { padding:28px 22px !important; }
    .mg-e .mg-e-proarea .mg-e-btn, .mg-e .mg-e-proarea .elementor-button { width:100%; }
    .mg-e .mg-e-steps { grid-template-columns:1fr; gap:10px; }
    .mg-e .mg-e-step { display:grid !important; grid-template-columns:40px 1fr; gap:0 14px; padding:16px !important; }
    .mg-e .mg-e-step::before { grid-row:span 2; margin:0; }
    .mg-e .mg-e-casa { grid-template-columns:1fr; gap:18px; }
    .mg-e .mg-e-call { padding:30px 18px !important; margin-bottom:96px; }
    .e-con.mg-e-hero--short, .e-con.mg-e-hero--compact { min-height:0; }
    .mg-e .mg-e-why--contacts { grid-template-columns:1fr 1fr; }
    .mg-e .mg-e-why--contacts .mg-e-feature .elementor-icon-box-wrapper { display:flex; }
    .mg-e .mg-e-why--contacts .elementor-icon-box-description { font-size:15px; }
    .mg-e .mg-e-features { grid-template-columns:1fr; gap:10px; }
    .mg-e .mg-e-feature { padding:18px; }
    .mg-e .mg-e-feature .elementor-icon-box-wrapper { display:grid; grid-template-columns:48px 1fr; gap:0 14px; }
    .mg-e .mg-e-feature .elementor-icon-box-icon { grid-row:span 2; }
    .mg-e .mg-e-supply { padding:22px 16px !important; border-radius:22px; gap:20px; }
    .mg-e .mg-e-supply__form { padding:18px !important; }
}

/* Entry popup (Minimog promo popup): Magilu card, two clear choices. */
#modal-promo-popup { --modal-width:720px; --p-green:#2f5d34; --p-gold:#d9a526; --p-ink:#1f241c; --p-muted:#5f6659; }
#modal-promo-popup .modal-overlay { background:rgba(20,26,18,.6); backdrop-filter:blur(3px); }
#modal-promo-popup .modal-content-wrap, #modal-promo-popup .modal-content-inner { border-radius:24px; overflow:hidden; background:#fff; }
#modal-promo-popup .modal-content-body { display:grid; grid-template-columns:42% 1fr; align-items:stretch; }
#modal-promo-popup .promo-popup-image { height:auto; min-height:100%; }
#modal-promo-popup .promo-popup-image img { width:100%; height:100%; object-fit:cover; display:block; }
#modal-promo-popup .promo-popup-content { display:flex; flex-direction:column; justify-content:center; padding:40px 36px 34px; text-align:left; }
#modal-promo-popup .promo-popup-heading-wrap::before { content:'Benvenuto in Magilu'; display:block; margin-bottom:10px; font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--p-gold); }
#modal-promo-popup .promo-popup-heading { max-width:none; margin:0; font-size:26px; line-height:1.2; font-weight:700; color:var(--p-ink); }
#modal-promo-popup .promo-popup-description-wrap { margin-top:12px; }
#modal-promo-popup .promo-popup-description { max-width:none; font-size:16px; line-height:1.55; color:var(--p-muted); }
#modal-promo-popup .promo-popup-component-wrap { margin-top:22px; display:flex; flex-direction:column; gap:10px; }
#modal-promo-popup .tm-button-wrapper, #modal-promo-popup .promo-popup-button { width:100%; }
#modal-promo-popup .promo-popup-button { display:flex; align-items:center; justify-content:center; min-height:54px; padding:0 22px; border:0; border-radius:14px; background:var(--p-gold); color:var(--p-ink) !important; font-size:16px; font-weight:700; text-transform:none; letter-spacing:0; box-shadow:0 10px 24px rgba(217,165,38,.3); }
#modal-promo-popup .promo-popup-button:hover { background:#ecc457; }
#modal-promo-popup .mg-popup-skip { display:flex; align-items:center; justify-content:center; width:100%; height:auto; min-height:50px; padding:0 18px !important; line-height:1.2 !important; text-transform:none !important; letter-spacing:0 !important; white-space:normal; border:2px solid #e4e4dc; border-radius:14px; background:#fff; color:var(--p-ink); font-size:15px; font-weight:600; cursor:pointer; }
#modal-promo-popup .mg-popup-skip:hover { border-color:var(--p-green); color:var(--p-green); }
#modal-promo-popup .button-close-modal { top:14px; right:14px; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.92); box-shadow:0 4px 14px rgba(0,0,0,.15); z-index:3; }
@media (max-width:600px) {
    #modal-promo-popup .modal-content { max-width:calc(100vw - 32px); }
    #modal-promo-popup .modal-content-body { grid-template-columns:1fr; }
    #modal-promo-popup .promo-popup-image { height:170px; min-height:0; }
    #modal-promo-popup .promo-popup-content { padding:24px 20px 22px; }
    #modal-promo-popup .promo-popup-heading { font-size:22px; }
    #modal-promo-popup .promo-popup-description { font-size:15px; }
}

/* EU legal guarantee notice (Resi, recesso e garanzia) */
.mg-warranty { margin:18px 0; padding:20px 22px; border:2px solid #2f5d34; border-radius:18px; background:#f4f8f2; }
.mg-warranty p { margin:0 0 8px; }
.mg-warranty p:last-child { margin-bottom:0; }
.mg-warranty__title { font-size:18px; color:#2f5d34; }
.mg-warranty a { color:#2f5d34; font-weight:700; text-decoration:underline; }

/* Christmas landing (Natale): same mg-e blocks, festive palette and light decorations */
.mg-e.mg-e-xmas { --p-green:#1d4a2c; --p-green-dark:#153a22; --x-red:#a3192b; --x-red-dark:#7f1220; --p-gold:#d9a526; --p-soft:#fbf4ea; --p-line:#eadfcf; }
body:has(.mg-e-xmas-hero) { background-color:#fffaf3; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23d9a526' stroke-opacity='.16' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M30 20v20M20 30h20M23 23l14 14M37 23 23 37'/%3E%3Cpath d='M90 76v16M82 84h16M84.5 78.5l11 11M95.5 78.5l-11 11'/%3E%3C/g%3E%3C/svg%3E"); }
/* Hero: warm overlay, soft snowfall */
.e-con.mg-e-xmas-hero::before { background:linear-gradient(180deg, rgba(60,10,16,.25) 0%, rgba(40,8,12,.55) 55%, rgba(24,40,28,.9) 100%); }
.e-con.mg-e-xmas-hero::after { content:''; position:absolute; inset:-120px 0 0; z-index:0; pointer-events:none; opacity:.75;
    background-image:radial-gradient(2px 2px at 20px 30px, #fff 60%, transparent 61%), radial-gradient(2.5px 2.5px at 90px 80px, #fff 60%, transparent 61%), radial-gradient(1.6px 1.6px at 150px 20px, #fff 60%, transparent 61%), radial-gradient(2px 2px at 60px 140px, #fff 60%, transparent 61%), radial-gradient(1.4px 1.4px at 170px 120px, #fff 60%, transparent 61%);
    background-size:200px 160px; animation:mgSnow 14s linear infinite; }
@keyframes mgSnow { from { transform:translateY(0); } to { transform:translateY(160px); } }
@media (prefers-reduced-motion:reduce) { .e-con.mg-e-xmas-hero::after { animation:none; } }
.mg-e-xmas .mg-e-kicker .elementor-heading-title::before, .mg-e-xmas .mg-e-kicker .elementor-heading-title::after { content:'✦'; margin:0 8px; color:var(--p-gold); }
.mg-e-xmas.mg-e-xmas-hero .mg-e-kicker .elementor-heading-title::before { margin-left:0; }
/* Trust strip: red ribbon with a string of lights */
.e-con.mg-e-xmas-trust { position:relative; background:var(--x-red); }
.e-con.mg-e-xmas-trust::before { content:''; position:absolute; left:0; right:0; top:0; height:6px; background:radial-gradient(circle at 10px 3px, #ffd66b 2.5px, transparent 3px) 0 0 / 22px 6px repeat-x, linear-gradient(#5e0d17, #5e0d17) 0 2px / 100% 1px no-repeat; }
/* Titles with a holly sprig */
.mg-e-xmas .mg-e-title .elementor-heading-title::after { content:''; display:block; width:54px; height:22px; margin:10px auto 0;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 22'%3E%3Cpath d='M27 11C20 2 9 3 3 8c5 0 6 4 10 3-2 3 1 6 4 5 1 3 6 3 10-5z' fill='%231d4a2c'/%3E%3Cpath d='M27 11c7-9 18-8 24-3-5 0-6 4-10 3 2 3-1 6-4 5-1 3-6 3-10-5z' fill='%232f6b3f'/%3E%3Ccircle cx='24' cy='13' r='3.2' fill='%23a3192b'/%3E%3Ccircle cx='30' cy='13' r='3.2' fill='%23c22a3c'/%3E%3Ccircle cx='27' cy='8.5' r='3.2' fill='%23a3192b'/%3E%3C/svg%3E") center / contain no-repeat; }
/* Tiles: golden frame on hover */
.mg-e-xmas .mg-e-tile { box-shadow:inset 0 0 0 0 var(--p-gold); transition:transform .25s ease, box-shadow .25s ease; }
.mg-e-xmas .mg-e-tile:hover { box-shadow:inset 0 0 0 3px var(--p-gold); }
.mg-e-xmas .mg-e-tile::before { background:linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(60,8,14,.8) 100%); }
/* Buttons */
.mg-e .mg-e-btn--red .elementor-button { background:var(--x-red, #a3192b); color:#fff; }
.mg-e .mg-e-btn--red .elementor-button:hover { background:var(--x-red-dark, #7f1220); color:#fff; }
.mg-e-xmas .mg-e-step::before { background:var(--x-red); }
.mg-e-xmas .mg-e-step { border:1px solid var(--p-line); }
.mg-e-xmas .mg-e-casa__img img { box-shadow:0 0 0 6px #fff, 0 0 0 7px var(--p-line); }
/* Pro band in Christmas green */
.mg-e .mg-e-xmas-pro { background:var(--p-green); position:relative; }
/* Call box: red card with stars */
.mg-e .mg-e-xmas-call { background:var(--x-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cpath d='M20 12l1.8 4.2 4.2 1.8-4.2 1.8L20 24l-1.8-4.2L14 18l4.2-1.8zM68 58l1.2 2.8 2.8 1.2-2.8 1.2L68 66l-1.2-2.8L64 62l2.8-1.2z' fill='%23ffd66b' fill-opacity='.35'/%3E%3C/svg%3E"); }
.mg-e .mg-e-xmas-call .mg-e-title .elementor-heading-title, .mg-e .mg-e-xmas-call .mg-e-lead, .mg-e .mg-e-xmas-call .mg-e-call__hours { color:#fff; }
.mg-e .mg-e-xmas-call .mg-e-title .elementor-heading-title::after { content:'✦ ✦ ✦'; width:auto; height:auto; background:none; color:var(--p-gold); font-size:14px; letter-spacing:.3em; }
@media (max-width:600px) { .e-con.mg-e-xmas-hero::after { background-size:140px 120px; } }

/* Christmas banner on the home page (links to /natale/) */
.mg-e .mg-e-xbanner { position:relative; min-height:300px; justify-content:center; gap:10px; padding:44px 48px !important; border-radius:28px; overflow:hidden; text-decoration:none; background-color:#7f1220; transition:transform .25s ease, box-shadow .25s ease; }
.mg-e .mg-e-xbanner::before { content:''; position:absolute; inset:0; z-index:0; background:radial-gradient(2px 2px at 30px 40px, rgba(255,255,255,.8) 60%, transparent 61%) 0 0 / 180px 140px, radial-gradient(1.5px 1.5px at 120px 90px, rgba(255,255,255,.7) 60%, transparent 61%) 0 0 / 180px 140px, linear-gradient(90deg, rgba(110,14,26,.96) 0%, rgba(110,14,26,.82) 42%, rgba(110,14,26,.1) 78%); }
.mg-e .mg-e-xbanner::after { content:''; position:absolute; left:0; right:0; top:0; height:8px; z-index:1; background:radial-gradient(circle at 12px 4px, #ffd66b 3px, transparent 3.5px) 0 0 / 26px 8px repeat-x; }
.mg-e .mg-e-xbanner:hover { transform:translateY(-2px); box-shadow:0 18px 40px rgba(127,18,32,.25); }
.mg-e .mg-e-xbanner > * { position:relative; z-index:1; max-width:540px !important; width:100% !important; }
.mg-e .mg-e-xbanner .mg-e-kicker .elementor-heading-title::before, .mg-e .mg-e-xbanner .mg-e-kicker .elementor-heading-title::after { content:'✦'; margin:0 8px; color:var(--p-gold); }
.mg-e .mg-e-xbanner .mg-e-kicker .elementor-heading-title::before { margin-left:0; }
.mg-e .mg-e-xbanner__title .elementor-heading-title { color:#fff; font-size:clamp(28px, 3.4vw, 42px); line-height:1.1; }
.mg-e .mg-e-xbanner__text { color:rgba(255,255,255,.92); font-size:17px; }
.mg-e .mg-e-xbanner__cta span { display:inline-flex; align-items:center; min-height:50px; margin-top:8px; padding:0 24px; border-radius:14px; background:var(--p-gold); color:#1f241c; font-weight:700; box-shadow:0 10px 24px rgba(217,165,38,.3); }
.mg-e .mg-e-xbanner:hover .mg-e-xbanner__cta span { background:#ecc457; }
@media (max-width:767px) {
    .mg-e .mg-e-xbanner { min-height:380px; justify-content:flex-end; padding:28px 22px !important; border-radius:22px; }
    .mg-e .mg-e-xbanner::before { background:radial-gradient(2px 2px at 30px 40px, rgba(255,255,255,.8) 60%, transparent 61%) 0 0 / 140px 120px, linear-gradient(180deg, rgba(110,14,26,.05) 0%, rgba(110,14,26,.75) 45%, rgba(110,14,26,.96) 100%); }
}

/* Occasion landings (Halloween, Pasqua, Festa della mamma, Nascita e battesimo, San Valentino, Matrimonio) */
.mg-e.mg-e-occ { --p-line:var(--o-line); --p-soft:var(--o-soft); }
.e-con.mg-e-occ-hero::before { background:linear-gradient(180deg, rgba(var(--o-ov),.2) 0%, rgba(var(--o-ov),.55) 55%, rgba(var(--o-ov),.92) 100%); }
.mg-e-occ .mg-e-kicker .elementor-heading-title { color:var(--o-accent); }
.mg-e-occ .mg-e-kicker .elementor-heading-title::before { content:''; display:inline-block; width:26px; height:12px; margin-right:8px; vertical-align:-1px; background:var(--o-orn) center / contain no-repeat; }
.mg-e-occ.mg-e-occ-hero .mg-e-kicker .elementor-heading-title::before { filter:brightness(0) invert(1); opacity:.9; }
.e-con.mg-e-occ-trust { position:relative; background:var(--o-main); }
.e-con.mg-e-occ-trust::before { content:''; position:absolute; left:0; right:0; top:0; height:5px; background:radial-gradient(circle at 9px 2.5px, var(--o-accent) 2px, transparent 2.5px) 0 0 / 18px 5px repeat-x; }
.mg-e-occ .mg-e-trust__list .elementor-icon-list-icon svg { fill:var(--o-accent); }
.mg-e-occ .mg-e-title .elementor-heading-title::after { content:''; display:block; width:54px; height:22px; margin:10px auto 0; background:var(--o-orn) center / contain no-repeat; }
.mg-e-occ .mg-e-tile:hover { box-shadow:inset 0 0 0 3px var(--o-accent); }
.mg-e-occ .mg-e-tile::before { background:linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(var(--o-ov),.82) 100%); }
.mg-e .mg-e-tiles--4 { grid-template-columns:repeat(4, 1fr); }
.mg-e .mg-e-btn--occ .elementor-button { background:var(--o-main, #2f5d34); color:#fff; }
.mg-e .mg-e-btn--occ .elementor-button:hover { background:var(--o-dark, #244a29); color:#fff; }
.mg-e-occ .mg-e-step { border:1px solid var(--p-line); }
.mg-e-occ .mg-e-step::before { background:var(--o-main); }
.mg-e-occ .mg-e-btn--green .elementor-button { background:var(--o-dark); }
.mg-e-occ .mg-e-casa__img img { box-shadow:0 0 0 6px #fff, 0 0 0 7px var(--p-line); }
.mg-e .mg-e-occ-pro { background:var(--o-dark); }
.mg-e .mg-e-occ-call { background:var(--o-main); }
.mg-e .mg-e-occ-call .mg-e-title .elementor-heading-title, .mg-e .mg-e-occ-call .mg-e-lead, .mg-e .mg-e-occ-call .mg-e-call__hours { color:#fff; }
.mg-e .mg-e-occ-call .mg-e-title .elementor-heading-title::after { filter:brightness(0) invert(1); opacity:.85; }
@media (max-width:991px) { .mg-e .mg-e-tiles--4 { grid-template-columns:repeat(2, 1fr); } }
@media (max-width:600px) { .mg-e .mg-e-tiles--3 > :last-child { grid-column:1 / -1; aspect-ratio:2 / 1; } }
.mg-e-occ--halloween { --o-main:#d9601a; --o-dark:#2a1b33; --o-accent:#f2a33a; --o-ov:42,27,51; --o-line:#f1dcc7; --o-soft:#fff1e3; --o-orn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 22'%3E%3Cpath d='M30 6c-2 0-3 2-3 4-3-3-8-4-12-2 2 1 3 3 3 5-3-1-6 0-8 2 6 0 11 1 15 4 1-2 3-3 5-3s4 1 5 3c4-3 9-4 15-4-2-2-5-3-8-2 0-2 1-4 3-5-4-2-9-1-12 2 0-2-1-4-3-4z' fill='%232a1b33'/%3E%3C/svg%3E"); }
body:has(.mg-e-occ-hero.mg-e-occ--halloween) { background-color:#fff8f0; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='110'%3E%3Cg fill='%23d9601a' fill-opacity='.13'%3E%3Ccircle cx='22' cy='24' r='7'/%3E%3Cpath d='M22 15v-4' stroke='%235f7a2a' stroke-opacity='.25' stroke-width='2'/%3E%3Cpath d='M80 78l2 5 5 2-5 2-2 5-2-5-5-2 5-2z'/%3E%3C/g%3E%3C/svg%3E"); }
.mg-e-occ--pasqua { --o-main:#5f8f4e; --o-dark:#3f6b33; --o-accent:#e9b93c; --o-ov:36,58,30; --o-line:#e3e8d6; --o-soft:#f3f6ea; --o-orn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 24'%3E%3Cellipse cx='19' cy='13' rx='8' ry='10' fill='%23f2c94c'/%3E%3Cellipse cx='35' cy='13' rx='8' ry='10' fill='%23e8a0b4'/%3E%3Cpath d='M12 12h14M28 14h14' stroke='%23fff' stroke-width='2' stroke-dasharray='2 2'/%3E%3C/svg%3E"); }
body:has(.mg-e-occ-hero.mg-e-occ--pasqua) { background-color:#fbfbf3; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='110'%3E%3Cg fill-opacity='.18'%3E%3Cellipse cx='24' cy='26' rx='5' ry='7' fill='%23e9b93c'/%3E%3Cellipse cx='82' cy='80' rx='5' ry='7' fill='%23e8a0b4'/%3E%3C/g%3E%3C/svg%3E"); }
.mg-e-occ--festa-della-mamma { --o-main:#c2577a; --o-dark:#93385a; --o-accent:#e9b0c2; --o-ov:90,30,55; --o-line:#f2dbe2; --o-soft:#fdf0f3; --o-orn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 24'%3E%3Cg fill='%23c2577a'%3E%3Ccircle cx='27' cy='7' r='5'/%3E%3Ccircle cx='20' cy='12' r='5'/%3E%3Ccircle cx='34' cy='12' r='5'/%3E%3Ccircle cx='23' cy='19' r='5'/%3E%3Ccircle cx='31' cy='19' r='5'/%3E%3C/g%3E%3Ccircle cx='27' cy='13' r='3.5' fill='%23f2c94c'/%3E%3Cpath d='M8 13h8M38 13h8' stroke='%237d9a6a' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
body:has(.mg-e-occ-hero.mg-e-occ--festa-della-mamma) { background-color:#fff7f8; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='110'%3E%3Cg fill='%23c2577a' fill-opacity='.12'%3E%3Ccircle cx='24' cy='24' r='4'/%3E%3Ccircle cx='18' cy='28' r='4'/%3E%3Ccircle cx='30' cy='28' r='4'/%3E%3Ccircle cx='84' cy='82' r='3'/%3E%3C/g%3E%3C/svg%3E"); }
.mg-e-occ--nascita-e-battesimo { --o-main:#6f9cc6; --o-dark:#4a77a3; --o-accent:#f2b8c6; --o-ov:40,70,105; --o-line:#dde8f2; --o-soft:#eef4fa; --o-orn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 24'%3E%3Cpath d='M14 18a6 6 0 0 1 1-12 8 8 0 0 1 15 2 5 5 0 0 1 0 10z' fill='%23cfe0f0'/%3E%3Cpath d='M40 4l2 5 5 1-4 3 1 5-4-3-4 3 1-5-4-3 5-1z' fill='%23f2b8c6'/%3E%3C/svg%3E"); }
body:has(.mg-e-occ-hero.mg-e-occ--nascita-e-battesimo) { background-color:#f7fafd; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='110'%3E%3Cg fill-opacity='.22'%3E%3Cpath d='M24 14l2 5 5 1-4 3 1 5-4-3-4 3 1-5-4-3 5-1z' fill='%23f2b8c6'/%3E%3Ccircle cx='82' cy='80' r='4' fill='%236f9cc6'/%3E%3C/g%3E%3C/svg%3E"); }
.mg-e-occ--san-valentino { --o-main:#c0284a; --o-dark:#8e1834; --o-accent:#f3a3b5; --o-ov:110,18,40; --o-line:#f3d6dc; --o-soft:#fdeef1; --o-orn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 24'%3E%3Cpath d='M27 22S13 14 13 7.5A5.5 5.5 0 0 1 27 5a5.5 5.5 0 0 1 14 2.5C41 14 27 22 27 22z' fill='%23c0284a'/%3E%3C/svg%3E"); }
body:has(.mg-e-occ-hero.mg-e-occ--san-valentino) { background-color:#fff6f7; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='110'%3E%3Cg fill='%23c0284a' fill-opacity='.1'%3E%3Cpath d='M24 32s-9-5-9-10a4 4 0 0 1 9-2 4 4 0 0 1 9 2c0 5-9 10-9 10z'/%3E%3Cpath d='M82 86s-6-3-6-7a3 3 0 0 1 6-1 3 3 0 0 1 6 1c0 4-6 7-6 7z'/%3E%3C/g%3E%3C/svg%3E"); }
.mg-e-occ--matrimonio { --o-main:#6f7d62; --o-dark:#4f5b45; --o-accent:#c9a45c; --o-ov:45,52,40; --o-line:#e6e2d6; --o-soft:#f6f4ec; --o-orn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 24'%3E%3Ccircle cx='22' cy='12' r='8' fill='none' stroke='%23c9a45c' stroke-width='2.4'/%3E%3Ccircle cx='32' cy='12' r='8' fill='none' stroke='%23c9a45c' stroke-width='2.4'/%3E%3C/svg%3E"); }
body:has(.mg-e-occ-hero.mg-e-occ--matrimonio) { background-color:#fdfbf6; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cg fill='none' stroke='%23c9a45c' stroke-opacity='.18' stroke-width='1.4'%3E%3Cpath d='M20 30c6-10 16-10 20-4-8 0-14 2-20 4z'/%3E%3Cpath d='M86 88c-6 8-14 8-18 3 7 0 12-1 18-3z'/%3E%3C/g%3E%3C/svg%3E"); }
.mg-e-occ.mg-e-occ-hero .mg-e-kicker .elementor-heading-title { color:#fff; text-shadow:0 1px 6px rgba(0,0,0,.35); }

/* Idee e occasioni: 7 occasions, the first (in season) twice as wide */
.mg-e .mg-e-tiles--occ { grid-template-columns:repeat(4, 1fr); }
.mg-e .mg-e-tiles--occ > :first-child { grid-column:span 2; aspect-ratio:auto; }
@media (max-width:991px) { .mg-e .mg-e-tiles--occ { grid-template-columns:repeat(2, 1fr); } .mg-e .mg-e-tiles--occ > :first-child { aspect-ratio:2 / 1; } }

/* Header: «Prodotti» opens a three-column panel (Categorie · Idee e occasioni · Su misura e servizi) */
@media (min-width:1200px) {
    #page-header li.mg-mega { position:relative; }
    #page-header li.mg-mega > ul.sub-menu { display:none !important; position:absolute !important; left:50% !important; top:100% !important; margin:0 !important; transform:translateX(-35%); width:720px !important; max-width:calc(100vw - 48px); min-width:0 !important; padding:26px 28px 22px !important; gap:28px; border:1px solid #e4e4dc; border-radius:20px; background:#fff; box-shadow:0 22px 48px rgba(31,36,28,.14); z-index:999; }
    #page-header li.mg-mega:hover > ul.sub-menu, #page-header li.mg-mega:focus-within > ul.sub-menu { display:grid !important; grid-template-columns:repeat(3, 1fr); }
    #page-header li.mg-mega > ul.sub-menu::before { content:''; position:absolute; left:0; right:0; top:-14px; height:14px; } /* hover bridge */
    #page-header li.mg-mega > ul > li.mg-mm-col { position:static !important; margin:0 !important; padding:0 !important; border:0 !important; }
    #page-header li.mg-mega > ul > li.mg-mm-col > a { display:block; margin:0 0 10px !important; padding:0 0 8px !important; border-bottom:1px solid #e4e4dc; font-size:12px !important; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#b48a1f !important; background:none !important; }
    #page-header li.mg-mega > ul > li.mg-mm-col > a .sub-arrow, #page-header li.mg-mega > ul > li.mg-mm-col > a .toggle-sub-menu { display:none !important; }
    #page-header li.mg-mega > ul > li.mg-mm-col > ul.sub-menu { display:block !important; position:static !important; left:auto !important; top:auto !important; width:auto !important; min-width:0 !important; margin:0 !important; padding:0 !important; border:0 !important; box-shadow:none !important; background:none !important; opacity:1 !important; visibility:visible !important; transform:none !important; }
    #page-header li.mg-mega > ul > li.mg-mm-col > ul > li { margin:0 !important; padding:0 !important; border:0 !important; }
    #page-header li.mg-mega > ul > li.mg-mm-col > ul > li > a { display:block; padding:6px 0 !important; font-size:15px !important; font-weight:500; text-transform:none !important; letter-spacing:0 !important; color:#1f241c !important; background:none !important; }
    #page-header li.mg-mega > ul > li.mg-mm-col > ul > li > a:hover { color:#2f5d34 !important; }
    #page-header li.mg-mega > ul > li.mg-mm-col > ul > li:first-child > a[href$="/shop/"] { font-weight:700; color:#2f5d34 !important; }
    #page-header li.mg-mega > ul > li.mg-mm-col > ul > li:last-child > a[href$="/idee-e-occasioni/"] { font-weight:700; color:#2f5d34 !important; }
}

/* Seasonal home banner ([magilu_banner_stagione], Magilu_Seasons): same card as the Christmas one, colours per season */
.mg-e .mg-season { --s-ov:110,14,26; display:flex; flex-direction:column; background-color:rgb(var(--s-ov)); background-size:cover; background-position:center right; background-repeat:no-repeat; color:#fff; }
.mg-e .mg-season::before { background:radial-gradient(2px 2px at 30px 40px, rgba(255,255,255,.8) 60%, transparent 61%) 0 0 / 180px 140px, linear-gradient(90deg, rgba(var(--s-ov),.96) 0%, rgba(var(--s-ov),.82) 42%, rgba(var(--s-ov),.1) 78%); }
.mg-e .mg-season:not(.mg-season--natale)::before { background:linear-gradient(90deg, rgba(var(--s-ov),.96) 0%, rgba(var(--s-ov),.82) 42%, rgba(var(--s-ov),.1) 78%); }
.mg-e .mg-season:not(.mg-season--natale)::after { background:radial-gradient(circle at 12px 4px, rgba(255,255,255,.7) 3px, transparent 3.5px) 0 0 / 26px 8px repeat-x; }
.mg-e .mg-season p, .mg-e .mg-season h2 { margin:0; }
.mg-e .mg-season__kicker { font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--p-gold, #d9a526); }
.mg-e .mg-season__kicker::before, .mg-e .mg-season__kicker::after { content:'✦'; margin:0 8px; }
.mg-e .mg-season__kicker::before { margin-left:0; }
.mg-e .mg-season__title { color:#fff !important; font-size:clamp(28px, 3.4vw, 42px); line-height:1.1; letter-spacing:-.01em; }
.mg-e .mg-season__text { color:rgba(255,255,255,.92); font-size:17px; line-height:1.55; }
.mg-e .mg-season__cta span { display:inline-flex; align-items:center; min-height:50px; margin-top:8px; padding:0 24px; border-radius:14px; background:var(--p-gold, #d9a526); color:#1f241c; font-weight:700; box-shadow:0 10px 24px rgba(217,165,38,.3); }
.mg-e .mg-season:hover .mg-season__cta span { background:#ecc457; }
.mg-e .mg-season--san-valentino { --s-ov:110,18,40; }
.mg-e .mg-season--pasqua { --s-ov:36,58,30; }
.mg-e .mg-season--festa-della-mamma { --s-ov:90,30,55; }
.mg-e .mg-season--matrimonio { --s-ov:45,52,40; }
.mg-e .mg-season--halloween { --s-ov:42,27,51; }
.e-con.mg-e-season-sec:not(:has(.mg-season)) { display:none !important; }
@media (max-width:767px) {
    .mg-e .mg-season::before, .mg-e .mg-season:not(.mg-season--natale)::before { background:linear-gradient(180deg, rgba(var(--s-ov),.05) 0%, rgba(var(--s-ov),.75) 45%, rgba(var(--s-ov),.96) 100%); }
}

/* Cookie Policy inventory table */
.mg-cookie-table { width:100%; margin:12px 0 18px; border-collapse:collapse; font-size:14px; line-height:1.45; }
.mg-cookie-table th, .mg-cookie-table td { padding:10px 12px; border-bottom:1px solid #e4e4dc; text-align:left; vertical-align:top; }
.mg-cookie-table thead th { background:#f4f4ef; color:#1f241c; font-weight:700; }
.mg-cookie-table code { font-size:12.5px; white-space:normal; word-break:break-word; background:none; padding:0; color:#2f5d34; }
@media (max-width:767px) {
    .mg-cookie-table thead { display:none; }
    .mg-cookie-table, .mg-cookie-table tbody, .mg-cookie-table tr, .mg-cookie-table td { display:block; width:100%; }
    .mg-cookie-table tr { margin:0 0 12px; padding:10px 12px; border:1px solid #e4e4dc; border-radius:12px; }
    .mg-cookie-table td { padding:3px 0; border:0; }
    .mg-cookie-table td:nth-child(2)::before { content:'Fornitore: '; font-weight:700; }
    .mg-cookie-table td:nth-child(3)::before { content:'Finalità: '; font-weight:700; }
    .mg-cookie-table td:nth-child(4)::before { content:'Categoria: '; font-weight:700; }
    .mg-cookie-table td:nth-child(5)::before { content:'Durata: '; font-weight:700; }
}

/* Category text under the product grid (Magilu_Seo::category_text). */
.mg-cat-text { max-width:860px; margin:48px auto 8px; padding:28px 0 0; border-top:1px solid #e7e7e1; color:#3a3d35; font-size:15px; line-height:1.65; }
.mg-cat-text h2 { margin:0 0 12px; font-size:24px; line-height:1.25; color:#1d1f1a; }
.mg-cat-text h3 { margin:22px 0 8px; font-size:17px; color:#1d1f1a; }
.mg-cat-text p { margin:0 0 12px; }
.mg-cat-text ul { margin:0 0 12px 1.2em; padding:0; }
.mg-cat-text li { margin:0 0 6px; }
.mg-cat-text a { color:#2f5d34; text-decoration:underline; text-underline-offset:2px; }
@media (max-width:767px) { .mg-cat-text { margin-top:32px; padding-top:22px; font-size:15px; } .mg-cat-text h2 { font-size:21px; } }

/* Contrast (WCAG AA): small gold kickers on light backgrounds use a darker gold; on the dark hero they keep the bright one. */
.mg-e .mg-e-kicker .elementor-heading-title { color:#87650f; }
.mg-e-hero .mg-e-kicker .elementor-heading-title, .mg-e-dark .mg-e-kicker .elementor-heading-title, .mg-e-xmas-hero .mg-e-kicker .elementor-heading-title,
.elementor-element-a7b0f4e.mg-e-kicker .elementor-heading-title { color:var(--p-gold); }
.elementor-element.elementor-element-a7b0f4e.mg-e-kicker .elementor-heading-title { color:#f0c75a; } /* «Area professionisti» on the green block of the home: 4.8:1 */
/* Theme greys below 4.5:1 on white: product card category, footer small headings, inactive product tabs. */
.loop-product-category a { color:#5f6659 !important; }
.elementor-94 .tm-modern-heading .heading-secondary { color:#5f6659 !important; }
.minimog-tabs__header .tab-title__text { color:#5f6659; }
.minimog-tabs__header .tab-title.active .tab-title__text, .minimog-tabs__header .tab-title:hover .tab-title__text { color:#1f241c; }
/* Contrast fixes found by Lighthouse (05/11): footer «Guide» title, gold kicker on the green pro area, struck-through prices, Maps link inside text. */
.elementor-94 .elementor-element-gdhead1 .elementor-heading-title { color:#5f6659 !important; }
.mg-e .mg-e-proarea .mg-e-kicker .elementor-heading-title { color:#e6cf9c; }
.price del, .price del .woocommerce-Price-amount, .price del bdi { color:#666 !important; }
p a[href*="maps.app.goo.gl"], li a[href*="maps.app.goo.gl"] { text-decoration:underline; text-underline-offset:2px; }
/* Configurator hints in Magilu colours (nalu-dynamicprice ≥ 1.7.18 reads these variables). */
body.nalu-style-studio2 { --nalu-hint-bg:#f5f3ec; --nalu-hint-line:#e6dfcc; --nalu-hint-text:#3e4136; --nalu-hint-accent:#c9a66b; }
