/* Quiosque de Macedo 0.2.0 — compatibilidade Astra + Elementor Free
 * Mantém os estilos aprovados e evita que títulos herdem a cor global do Elementor.
 * Só é aplicada às páginas importadas pelo kit (.qm-page).
 */
body.qm-page .qm-main .elementor-element,
body.qm-page .qm-main .elementor-widget,
body.qm-page .qm-main .elementor-widget-container { min-width:0; }
body.qm-page .qm-main .elementor-widget-container > section { max-width:none; }
body.qm-page .qm-main .elementor-widget :is(h1,h2,h3,h4,h5,h6),
body.qm-page .qm-main .elementor-widget :is(h1,h2,h3,h4,h5,h6).elementor-heading-title { color:inherit; }
body.qm-page .qm-main :is(.page-hero,.mem-hero,.santa-hero,.hero.santa-hero,.orders,.quote-section,.mem-contribute,.mem-cat:first-child) :is(h1,h2,h3,h4,h5,h6),
body.qm-page .qm-main :is(.page-hero,.mem-hero,.santa-hero,.hero.santa-hero,.orders,.quote-section,.mem-contribute,.mem-cat:first-child) :is(h1,h2,h3,h4,h5,h6).elementor-heading-title { color:#fff !important; }
body.qm-page .qm-main :is(.page-hero,.mem-hero,.santa-hero,.hero.santa-hero,.orders,.quote-section,.mem-contribute) :is(h1,h2,h3,h4,h5,h6) em { color:#bdd8be !important; }
/* Preservar o contraste dos números e dos títulos em cartões escuros. */
body.qm-page .qm-main :is(.tile-jogos,.service-card-dark,.press-card-dark,.result-feature,.mem-cat:first-child) :is(h2,h3,h4){color:inherit;}
body.qm-page .qm-main .qm-elementor-section,
body.qm-page .qm-main .e-con.qm-elementor-section { box-sizing:border-box; }
body.qm-page .qm-main .qm-elementor-section .elementor-widget { width:100%; }
/* Evitar transições que tornam um cartão invisível caso a animação falhe. */
body.qm-page .qm-main .qm-entrance:not(.qm-animate) { opacity:1 !important; visibility:visible !important; }
/* Ao navegar por âncoras, não tapar o título com o cabeçalho fixo. */
body.qm-page .qm-main [id] { scroll-margin-top:7rem; }
@media(max-width:850px){body.qm-page .qm-main [id]{scroll-margin-top:5.8rem;}}
@media(prefers-reduced-motion:reduce){body.qm-page .qm-main .qm-entrance{animation:none!important;transition:none!important;}}

/* 0.3.0: header, dropdowns, accents (sem azul do tema), mobile e desenhado nos Contactos */
body.qm-page{
 --e-global-color-primary:#153e31;--e-global-color-secondary:#587463;
 --e-global-color-text:#18382c;--e-global-color-accent:#367c56;
 --ast-global-color-0:#153e31;--ast-global-color-1:#275a44;
 --ast-global-color-2:#18382c;--ast-global-color-3:#5c7466;
 --ast-global-color-4:#f5f8f3;--ast-global-color-5:#fff;
 --ast-global-color-6:#dbe7dc;--ast-global-color-7:#10392f;
 --ast-global-color-8:#f2f6f1;
}
body.qm-page .site-header .nav-links{gap:24px;align-items:center}
body.qm-page .site-header .qm-nav-item{position:relative;display:flex;align-items:center}
body.qm-page .site-header .qm-menu-trigger{
 border:0;min-height:44px;background:transparent;display:inline-flex;align-items:center;
 gap:8px;padding:6px 0;color:#355344;font:680 13px/1.3 Inter,Arial,sans-serif;
 cursor:pointer;box-shadow:none;border-radius:0;
}
body.qm-page .site-header .qm-menu-trigger:hover,
body.qm-page .site-header .qm-menu-trigger[aria-expanded="true"]{color:#367c56;background:transparent}
body.qm-page .site-header .qm-menu-chevron{display:inline-block;width:7px;height:7px;border-bottom:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s ease}
body.qm-page .site-header .qm-menu-trigger[aria-expanded="true"] .qm-menu-chevron{transform:translateY(2px) rotate(225deg)}
body.qm-page .site-header .qm-submenu{
 position:absolute;z-index:115;top:calc(100% - 2px);left:-18px;width:260px;
 display:none;flex-direction:column;align-items:stretch;gap:0;
 padding:10px;background:#fff;border:1px solid #dbe6dc;border-radius:16px;
 box-shadow:0 16px 36px rgba(12,49,33,.14);
}
body.qm-page .site-header .qm-nav-item.is-expanded .qm-submenu{display:flex}
body.qm-page .site-header .qm-submenu a{
 color:#26483a;font-size:12px;line-height:1.45;white-space:normal;
 text-decoration:none;padding:11px 12px;border-radius:9px;display:block;
}
body.qm-page .site-header .qm-submenu a:hover,
body.qm-page .site-header .qm-submenu a:focus-visible{
 background:#eef5ed;color:#164b37;
}
@media(min-width:851px) and (hover:hover) and (pointer:fine){
 body.qm-page .site-header .qm-nav-item:hover .qm-submenu{display:flex}
}
/* Respeita sempre a paleta aprovada. Anula o hover azul do Astra/Elementor. */
body.qm-page .qm-main a:not([class]):hover,body.qm-page .qm-main a[class=""]:hover{color:#367c56}
body.qm-page .qm-main :is(.pill-link,.pill,.btn,.card-link,.text-link):hover{border-color:#5f9a72}
body.qm-page .qm-main a:focus-visible,body.qm-page .site-header button:focus-visible{outline:2px solid #70a884;outline-offset:3px}
/* O SVG é incluído no HTML, com cor verde escura: visível mesmo sem ficheiro de imagem externo. */
body.qm-page .qm-main .contact-drawing{background:none!important;border:0!important;box-shadow:none!important;min-height:0!important;padding:0!important;display:flex;justify-content:center;align-items:center}
body.qm-page .qm-main .contact-drawing svg{width:min(100%,28rem)!important;height:auto!important;max-width:28rem;display:block;opacity:.85;transition:transform .3s ease,opacity .3s ease}
body.qm-page .qm-main .contact-drawing:hover svg{transform:translateY(-.15rem);opacity:1}
@media(max-width:850px){
 body.qm-page .site-header{backdrop-filter:none;-webkit-backdrop-filter:none}
 body.qm-page .site-header .nav-links{display:none;position:absolute;left:0;top:75px;width:100%;max-height:calc(100dvh - 75px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:0;padding:14px 20px 20px;box-sizing:border-box}
 body.qm-page .site-header .nav-links.is-open{display:flex}
 body.qm-page .site-header .qm-nav-item{display:block}
 body.qm-page .site-header .qm-menu-trigger{width:100%;padding:14px 5px;justify-content:space-between;border-bottom:1px solid #e4ece6;min-height:48px}
 body.qm-page .site-header .qm-submenu{position:static;left:auto;top:auto;width:100%;box-shadow:none;border:0;border-radius:0;background:#f0f6f0;margin:4px 0 10px;padding:6px 8px}
 body.qm-page .site-header .qm-submenu a{padding:12px 14px;font-size:13px}
 body.qm-page .qm-main .hero img{animation:none!important;transform:none!important;filter:none!important}
 body.qm-page .qm-main .qm-entrance.qm-animate{animation-duration:.35s!important}
 body.qm-page .qm-main .contact-drawing svg{max-width:18rem}
}
@media(max-width:480px){body.qm-page .site-header .brand-name{font-size:12px!important}body.qm-page .site-header .brand-name small{display:none}body.qm-page .site-header .nav-cta{padding:10px 10px;font-size:10px}body.qm-page .site-header .brand-sign{width:49px;height:49px}body.qm-page .site-header .brand-official{width:48px!important;height:48px!important}}
@media(prefers-reduced-motion:reduce){body.qm-page .qm-main .contact-drawing svg{transition:none!important}body.qm-page .qm-main .contact-drawing:hover svg{transform:none!important}}

/* v0.4.0 — Heros Jogos e Jornais recuperados e contraste em todos os heros verdes. */
body.qm-page .qm-main section.hero:is(:not(.home-hero)) :is(h1,h2,h3){color:#fff!important}
body.qm-page .qm-main section.hero:is(:not(.home-hero)) :is(h1,h2,h3) em{color:#b6d6be!important}
body.qm-page .qm-main section.hero :is(.crumb,.breadcrumb) {color:#c8dacd}
body.qm-page .qm-main section.hero .outline img {max-width:100%;height:auto;object-fit:contain}
