/* Ice Group — Custom Styles */

:root {
    --ice-navy: #1A2A4A;
    --ice-accent: #E6264B;
    --ice-coral: #EB506D;
    --ice-white: #FFFFFF;
    --ice-light-gray: #F5F5F5;
    --ice-light-blue: #B5C7E5;
    --ice-gray-border: #BABABA;
    --ice-gray-text: #5A5A5A;
    --ice-text: #333333;
    --ice-text-light: #CCCCCC;
}

html:root {
    --qode-main-color: #E6264B;
    --qode-header-light-hover-color: #E6264B;
    --qode-header-dark-hover-color: #E6264B;
}

/* ===== FONT ===== */
body,
p,
a,
span,
div,
.qodef-header-navigation > ul > li > a,
.qodef-header-navigation > ul > li > a span,
.qodef-m-title,
.qodef-m-text,
.qodef-m-tagline,
h1, h2, h3, h4, h5, h6,
.qodef-shortcode .qodef-m-title,
.qodef-shortcode .qodef-m-text,
.qodef-custom-font,
.qodef-section-title,
.qodef-btn .qodef-m-text,
.qodef-info-section,
.qodef-blog-list,
.qodef-e-title,
.qodef-e-text,
#qodef-page-footer,
#qodef-page-footer * {
    font-family: 'Nunito Sans', sans-serif !important;
}

/* ===== ACCENT COLOR: orange → red ===== */
.qodef-btn .qodef-m-text,
.qodef-btn .qodef-m-icon,
.qodef-section-title .qodef-m-tagline,
.qodef-e-read-more a,
.qodef-e-read-more,
a:hover,
.qodef-blog-list .qodef-e-info a:hover,
.qodef-banner .qodef-m-button .qodef-m-text,
.qodef-banner .qodef-m-button .qodef-m-icon {
    color: var(--ice-accent) !important;
}

.qodef-btn--solid .qodef-m-btn,
.tp-bullet.selected,
.qodef-pagination .current,
.qodef-banner .qodef-m-button svg path {
    background-color: var(--ice-accent) !important;
}

/* ===== HEADER ===== */
.qodef-header-navigation > ul > li > a {
    color: #5a5a5a !important;
    font-weight: 700 !important;
    font-size: 18px !important;
}

.qodef-header-navigation > ul > li:hover > a,
.qodef-header-navigation > ul > li.current-menu-item > a {
    color: var(--ice-accent) !important;
}

/* Dropdown submenu */
.qodef-header-navigation > ul > li > ul,
.qodef-header-navigation .sub-menu {
    background-color: var(--ice-navy) !important;
    min-width: 420px !important;
    width: auto !important;
}

.qodef-header-navigation .sub-menu li,
.qodef-header-navigation .sub-menu li a,
.qodef-header-navigation .sub-menu li a span {
    white-space: nowrap !important;
}

.qodef-header-navigation > ul > li > ul > li > a {
    color: var(--ice-white) !important;
    font-size: 14px !important;
}

.qodef-header-navigation > ul > li > ul > li > a:hover {
    color: var(--ice-accent) !important;
}

/* Hamburger icon lines — hover: navy lines on red bg */
.qodef-opener-icon:hover .qodef-m-icon,
.qodef-opener-icon:hover .qodef-m-icon svg,
.qodef-opener-icon:hover .qodef-m-icon svg line {
    color: var(--ice-navy) !important;
    stroke: var(--ice-navy) !important;
}

/* RevSlider arrows hover — red default → navy hover (hardcoded) */
.sr7-leftarrow:hover,
.sr7-rightarrow:hover,
.sr7-arrows:hover,
.tp-leftarrow:hover,
.tp-rightarrow:hover,
.tparrows:hover,
.swiper-button-next:hover,
.swiper-button-prev:hover {
    background-color: #1A2A4A !important;
    background: #1A2A4A !important;
}

/* Logo size — natural aspect ratio from SVG viewBox */
.qodef-header-logo-link img {
    height: 40px !important;
    width: auto !important;
    object-fit: contain !important;
}

.qodef-header-logo-link {
    display: flex !important;
    align-items: center !important;
}

/* Navbar height — Figma: 88px */
.qodef-header-wrapper,
#qodef-page-header-inner,
.qodef-header-row {
    height: 88px !important;
    min-height: 88px !important;
    max-height: 88px !important;
}

.qodef-header-row .qodef-header-row-inner {
    height: 88px !important;
}

/* Hamburger menu background — Figma shows NAVY, not orange */
.qodef-fullscreen-menu-opener-wrapper,
.qodef-header--standard .qodef-fullscreen-menu-opener,
.qodef-opener-icon-holder,
.qodef-fullscreen-menu-holder,
.qodef-side-area-opener,
header .qodef-fullscreen-menu-opener-wrapper {
    background-color: var(--ice-navy) !important;
    background: var(--ice-navy) !important;
}

/* Side area panel (menu hamburger desktop: "HAPPY TO ANSWER YOUR QUESTIONS")
   — fundo navy #1A2A4A (pedido PM). O tema usa #15141C (quase preto).
   O painel é o #qodef-side-area (tem tb classe .ps do perfect-scrollbar). */
#qodef-side-area {
    background-color: var(--ice-navy) !important;
}

/* ===== REVSLIDER ===== */
.tp-leftarrow,
.tp-rightarrow,
.tp-bullet.selected,
.tparrows,
.sr7-arrows,
.sr7-leftarrow,
.sr7-rightarrow,
.sr7-arrows.manufaktureindustrie,
.sr7-leftarrow.sr7-arrows,
.sr7-rightarrow.sr7-arrows,
.rs-arrows .tp-leftarrow,
.rs-arrows .tp-rightarrow {
    background-color: var(--ice-accent) !important;
    background: var(--ice-accent) !important;
}

/* RevSlider font */
.rev_slider .rs-layer,
.rev_slider .tp-caption {
    font-family: 'Nunito Sans', sans-serif !important;
}

/* "help our planet" text is WHITE per Figma — color set via RevSlider DB */

/* ===== SOLUTIONS SECTION TITLE ===== */
.elementor-element-91c835e .qodef-m-title {
    font-size: 48px !important;
    line-height: 1.1 !important;
    letter-spacing: -0.96px !important;
    font-weight: 800 !important;
}

/* ===== SOLUTIONS SECTION IMAGE — Figma: h-521px overflow-clip ===== */
.elementor-element-2560c3e .qodef-m-image img {
    max-height: 521px;
    width: 100%;
    object-fit: cover;
}

/* ===== HIDE redundant elements ===== */
.elementor-element-f3113ad,
.elementor-element-31481d0 {
    display: none !important;
}

/* ===== TEXT MARQUEE — Figma: 28px SemiBold #eb506d ===== */
.qodef-text-marquee .qodef-m-text,
.qodef-text-marquee .qodef-m-text-1,
.qodef-text-marquee .qodef-m-text-2,
.qodef-text-marquee .qodef-m-text-3,
.qodef-text-marquee .qodef-m-separator,
.qodef-text-marquee span {
    color: var(--ice-coral) !important;
    font-size: 28px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
}

/* ===== COUNTER — Figma: 88px #e6264b, ls -3.52px, lh 0.96 ===== */
.qodef-counter .qodef-m-digit-wrapper,
.qodef-counter .qodef-m-digit,
.qodef-counter .qodef-m-label {
    color: #e6264b !important;
    font-size: 88px !important;
    letter-spacing: -3.52px !important;
    line-height: 0.96 !important;
    font-weight: 800 !important;
}

/* ===== ARTICLES SECTION — Figma: bg #1a244a ===== */
.elementor-element-92da0ca,
.elementor-element-3e1d726,
.elementor-element-203f016 {
    background-color: var(--ice-navy) !important;
}

/* ===== COMMITMENT BODY TEXT — Figma: 18px Medium(500) #f5f5f5 (Heading/h6) ===== */
.elementor-element-7932d1c .qodef-m-text {
    font-size: 18px !important;
    color: #f5f5f5 !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
}

/* ===== FOOTER — Figma specs ===== */
/* Big heading — Figma: 48px ExtraBold white uppercase */
#qodef-page-footer .qodef-footer-top-area-title {
    font-size: 48px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.96px !important;
    text-transform: uppercase !important;
    color: var(--ice-white) !important;
}

/* Column headings — Figma: 14px ExtraBold white uppercase */
#qodef-page-footer .qodef-widget-title,
#qodef-page-footer .widgettitle {
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 17.85px !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    color: var(--ice-white) !important;
}

/* Footer items — Figma: 18px Bold #5a5a5a */
#qodef-page-footer .widget_nav_menu a,
#qodef-page-footer .textwidget,
#qodef-page-footer .widget_block p,
#qodef-page-footer li a {
    font-size: 18px !important;
    color: var(--ice-gray-text) !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

/* ===== SECTION TITLES — Figma: 48px ExtraBold ===== */
.elementor-element-ed295e7 .qodef-m-title,
.elementor-element-ff83a3d .qodef-m-title {
    font-size: 48px !important;
    line-height: 1.1 !important;
    letter-spacing: -0.96px !important;
    font-weight: 800 !important;
}

/* Secção 1b09071 (ex-counter template) — reconstruída como §5 Vídeo (ver bloco HP §5).
   Removidos: bg #b5c7e5, custom-font e o ::before "VIDEO" + linha (não existem no Figma). */

/* ===== COMMITMENTS TITLE — Figma: 36px ===== */
.elementor-element-611f319 .qodef-m-title {
    font-size: 36px !important;
    line-height: 1.1 !important;
    letter-spacing: -0.72px !important;
    font-weight: 800 !important;
}

/* ===== STAT CARD SHAPES — Figma: 160×160px ===== */
.qodef-info-section .qodef-m-image {
    max-width: 160px !important;
    max-height: 160px !important;
}

.qodef-info-section .qodef-m-image img {
    width: 160px !important;
    height: 160px !important;
    object-fit: contain !important;
}

/* ===== COMMITMENT ITEMS — Figma: 20px ExtraBold (Heading/h4-Upp) ===== */
.elementor-element-7932d1c .qodef-section-title .qodef-m-title {
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
}

/* ===== INFO SECTION CARDS ===== */
.qodef-info-section .qodef-m-number {
    color: var(--ice-accent) !important;
}

/* ===== FOOTER ===== */
#qodef-page-footer,
#qodef-page-footer-top-area,
#qodef-page-footer-bottom-area {
    background-color: var(--ice-navy) !important;
    background-image: none !important;
}

/* ===== SCROLLTOP BUTTON ===== */
#qodef-back-to-top {
    border-color: var(--ice-accent) !important;
}

#qodef-back-to-top .qodef-m-icon,
#qodef-back-to-top svg,
#qodef-back-to-top path {
    color: var(--ice-accent) !important;
    fill: var(--ice-accent) !important;
}

/* ===== FORCE ALL REMAINING ORANGE TO RED ===== */
.qodef-opener-icon {
    background-color: var(--ice-navy) !important;
    background: var(--ice-navy) !important;
}

.qodef-m-button-arrow-holder,
.qodef-m-button-arrow-holder svg,
.qodef-m-button-arrow-holder path,
.qodef-banner .qodef-m-button-arrow-holder,
.qodef-banner .qodef-m-button-arrow-holder svg {
    color: var(--ice-accent) !important;
    fill: var(--ice-accent) !important;
}

/* ALL highlight texts (taglines like "Statistics of", "Read lastest") — Figma: #EB506D coral */
.qodef-m-highlight-text {
    color: var(--ice-coral) !important;
}

/* Blog category tags */
.qodef-blog-list .qodef-e-info a,
.qodef-blog-list .qodef-e-info-category a,
.qodef-e-info-category a,
.qodef-e-info a {
    color: var(--ice-accent) !important;
}

/* Social icons EVERYWHERE */
.qodef-icon-elegant-icons,
.qodef-social-icons-group a,
#qodef-page-footer .qodef-icon-elegant-icons,
#qodef-page-footer .qodef-social-icons-group a {
    color: var(--ice-accent) !important;
}

/* Back to top - force with higher specificity */
a#qodef-back-to-top .qodef-back-to-top-icon,
a#qodef-back-to-top .qodef-back-to-top-icon svg,
a#qodef-back-to-top .qodef-back-to-top-icon path,
#qodef-back-to-top .qodef-m-icon svg,
#qodef-back-to-top .qodef-m-icon path {
    color: var(--ice-accent) !important;
    fill: var(--ice-accent) !important;
    stroke: var(--ice-accent) !important;
}

/* Testimonial decorative icon and pagination */
.qodef-testimonials-list .qodef-e-icon svg path,
.qodef-testimonials-list .qodef-e-icon svg,
.qodef-testimonials-list .qodef-e-icon {
    color: var(--ice-accent) !important;
    fill: var(--ice-accent) !important;
    stroke: var(--ice-accent) !important;
}

/* Testimonial decorative image — ICE crystal, no filter needed */
.elementor-element-37a72e6 .qodef-m-image img {
    filter: none !important;
}

.swiper-pagination-bullet-active {
    background-color: var(--ice-accent) !important;
}

/* Client carousel hover */
.qodef-clients-list .qodef-e img {
    filter: none !important;
}

/* ===== TESTIMONIALS SECTION — Figma: FEATURES label, text styling ===== */
.elementor-element-37a72e6 > .elementor-container {
    flex-wrap: wrap !important;
}

.elementor-element-37a72e6 > .elementor-container::before {
    content: 'FEATURES';
    display: block;
    flex: 0 0 100%;
    font-family: 'Nunito Sans', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: var(--ice-coral);
    text-transform: uppercase;
    line-height: 1.4;
    letter-spacing: 0;
    order: -1;
    margin-bottom: 32px;
    background: linear-gradient(var(--ice-coral), var(--ice-coral)) no-repeat 76px center / 30px 1px;
}

/* Testimonial text — Figma: 20px Medium #15141c */
.qodef-testimonials-list .qodef-e-text {
    font-size: 20px !important;
    font-weight: 500 !important;
    color: #15141c !important;
    line-height: 1.4 !important;
}

/* Testimonial author name — Figma: 16px Bold black */
.qodef-testimonials-list .qodef-e-author-name {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #000 !important;
    line-height: 1.6 !important;
}

/* Testimonial role/job — Figma: 12px Bold uppercase black */
.qodef-testimonials-list .qodef-e-author-job {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #000 !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
}

/* Hide testimonial pagination — Figma shows no dots */
.elementor-element-37a72e6 .swiper-pagination {
    display: none !important;
}

/* ===== BRANDS/CLIENTS — Figma: #bababa borders, 302px cards ===== */
.elementor-element-1e2d469 .qodef-clients-list .qodef-e {
    border-color: var(--ice-gray-border) !important;
}

/* ===== HIDE REDUNDANT ARTICLES BUTTON SECTION ===== */
.elementor-element-3e1d726 {
    display: none !important;
}

/* ===== BLOG LIST ARTICLES — Figma: uniform 322×500px cards ===== */
/* Lock grid: 4 equal columns, 32px gap */
.elementor-element-203f016 .qodef-shortcode {
    display: block !important;
    width: 100% !important;
}

.elementor-element-203f016 .qodef-grid-inner {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 32px !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.elementor-element-203f016 .qodef-grid-inner::before,
.elementor-element-203f016 .qodef-grid-inner::after {
    display: none !important;
}

/* Lock card height: 500px, grid rows for alignment */
.elementor-element-203f016 .qodef-blog-item {
    height: 500px !important;
    width: auto !important;
    position: static !important;
    float: none !important;
    padding: 0 !important;
}

.elementor-element-203f016 .qodef-e-inner {
    display: grid !important;
    grid-template-rows: auto 316px !important;
    height: 100% !important;
    border-top: 1px solid white !important;
    padding-top: 33px !important;
}

/* Article title — Figma: 24px ExtraBold white uppercase */
.elementor-element-203f016 .qodef-e-title,
.elementor-element-203f016 .qodef-e-title a {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: white !important;
    text-transform: uppercase !important;
    line-height: 1.3 !important;
}

/* Article date — Figma: 11px Regular white */
.elementor-element-203f016 .qodef-e-info-date,
.elementor-element-203f016 .qodef-e-info-date a {
    font-size: 11px !important;
    font-weight: 400 !important;
    color: white !important;
    line-height: 1.3 !important;
}

/* Article tag — Figma: 14px ExtraBold #e6264b */
.elementor-element-203f016 .qodef-e-info-category a {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #e6264b !important;
}

/* Article image — locked 316px, aligned across all cards */
.elementor-element-203f016 .qodef-e-media {
    overflow: hidden !important;
}

.elementor-element-203f016 .qodef-e-media-image {
    height: 100% !important;
    overflow: hidden !important;
}

.elementor-element-203f016 .qodef-e-media-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* ===== GALLERY SECTION — Figma: 2+1 asymmetric grid ===== */
.elementor-element-92f6513 .qodef-grid-masonry-sizer,
.elementor-element-92f6513 .qodef-grid-masonry-gutter {
    display: none !important;
}

.elementor-element-92f6513 .qodef-grid-inner {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr 1fr !important;
    grid-template-rows: 1fr 1fr !important;
    gap: 24px !important;
    height: 600px !important;
}

.elementor-element-92f6513 .qodef-grid-item {
    position: static !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    left: auto !important;
    top: auto !important;
}

.elementor-element-92f6513 .qodef-grid-item:nth-child(3) {
    grid-column: 1 / 3;
    grid-row: 1;
}

.elementor-element-92f6513 .qodef-grid-item:nth-child(4) {
    grid-column: 1;
    grid-row: 2;
}

.elementor-element-92f6513 .qodef-grid-item:nth-child(5) {
    grid-column: 2;
    grid-row: 2;
}

.elementor-element-92f6513 .qodef-grid-item:nth-child(6) {
    grid-column: 3 / 5;
    grid-row: 1 / 3;
}

.elementor-element-92f6513 .qodef-grid-item .qodef-e-inner,
.elementor-element-92f6513 .qodef-grid-item a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.elementor-element-92f6513 .qodef-grid-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* ===== FOOTER REFINEMENTS — Figma specs ===== */
#qodef-page-footer {
    border-top: 1px solid #5a657c !important;
    padding-top: 80px !important;
    padding-bottom: 4px !important;
}

#qodef-page-footer-top-area-inner {
    padding-top: 0 !important;
}

/* Footer copyright — Figma: 11px Regular white */
#qodef-page-footer-bottom-area-inner,
#qodef-page-footer-bottom-area-inner *,
#qodef-page-footer-bottom-area-inner p,
#qodef-page-footer-bottom-area-inner a {
    font-size: 11px !important;
    font-weight: 400 !important;
    color: white !important;
    line-height: 1.3 !important;
}

/* Footer social icons — Figma: SVG icons in #eb506d coral */
#qodef-page-footer .qodef-social-icons-group .qodef-icon-elegant-icons {
    font-size: 0 !important;
    width: 20px !important;
    height: 20px !important;
    display: inline-block !important;
}

#qodef-page-footer .social_facebook::before {
    content: '' !important;
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url('../images/icon-facebook.svg') no-repeat center / contain;
}

#qodef-page-footer .social_twitter::before {
    content: '' !important;
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url('../images/icon-twitter.svg') no-repeat center / contain;
}

#qodef-page-footer .social_pinterest::before {
    content: '' !important;
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url('../images/icon-pinterest.svg') no-repeat center / contain;
}

/* Articles Read More button — Figma: white text, #f5f5f5 border */
.elementor-element-92da0ca .qodef-btn .qodef-m-btn,
.elementor-element-92da0ca .qodef-btn {
    border-color: #f5f5f5 !important;
}

.elementor-element-92da0ca .qodef-btn .qodef-m-text {
    color: white !important;
    font-weight: 800 !important;
    font-size: 16px !important;
}

/* ===================================================================
   GLOBAL — Transparent Navbar (all pages)
   =================================================================== */

#qodef-page-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background-color: transparent !important;
    background: transparent !important;
}

#qodef-page-header-inner {
    background-color: transparent !important;
    background: transparent !important;
}

/* Linha divisória da navbar — standardizada a #BABABA (ticket 86camuq2p).
   A linha vem do tema num <style> POR PÁGINA (border-bottom em #qodef-page-header-inner),
   com cor inconsistente: #15141C nalgumas páginas (funde-se no hero escuro → parece "sem
   linha"), #BABABA noutras. Forçamos a cor da palete (--ice-gray-border) em todos os
   estados e páginas → a navbar volta a ser coerente. A linha está sempre presente. */
#qodef-page-header-inner,
.qodef-header-sticky-inner {
    border-bottom: 1px solid var(--ice-gray-border) !important;
}

.qodef-header-navigation > ul > li > a,
.qodef-header-navigation > ul > li > a span {
    color: #d1d4db !important;
    line-height: 1.4 !important;   /* Figma Action/Menu item: 140% */
}

.qodef-header-navigation > ul > li:hover > a,
.qodef-header-navigation > ul > li:hover > a span {
    color: var(--ice-accent) !important;
}

#qodef-top-area {
    display: none !important;
}

/* White logo — a classe qodef--main/dark/light está NO <img> (não num wrapper).
   Navbar transparente (não-sticky) → logo branco. */
#qodef-page-header:not(.qodef--sticky-header-appear) .qodef-header-logo-image {
    content: url('../images/logo-ice-white.svg') !important;
}

/* Sticky: restaurar logo escuro */
#qodef-page-header.qodef--sticky-header-appear .qodef-header-logo-image {
    content: url('../../../../uploads/2026/06/ice-logo-dark.svg') !important;
}

/* Menu spacing: gap fixo 24px (Figma). O tema usa margin-right 27px por item
   (~54px de gap), o que alarga o menu para 1274px e faz sobrepor o logo.
   Com 24px o menu encolhe e o space-between do wrapper cria os auto-spacers
   logo|menu|hamburger como no Figma. */
#qodef-page-header .qodef-header-navigation > ul {
    gap: 24px !important;
}
#qodef-page-header .qodef-header-navigation > ul > li {
    margin: 0 !important;
}

/* Red slash before first menu item */
.qodef-header-navigation > ul > li:first-child > a > .qodef-menu-item-text::before {
    content: '/ ' !important;
    color: var(--ice-accent) !important;
    font-weight: 400 !important;
}

/* Placeholder do selector de línguas no header (ticket 86camuq2p).
   WPML + implementação real = ticket FUTURO. Vive no widget-area do opener, à
   esquerda do hambúrguer; substituir pelo switcher WPML quando existir. */
.ice-lang {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-right: 22px;
    font-family: 'Nunito Sans', sans-serif;
}
.ice-lang__current {
    display: inline-flex; align-items: center; gap: 6px;
    background: none; border: 0; padding: 0; margin: 0;
    font-family: inherit; font-weight: 700; font-size: 14px; line-height: 1;
    color: #d1d4db; text-transform: uppercase; letter-spacing: 0.02em;
    cursor: pointer;
}
.ice-lang__current svg { display: block; flex-shrink: 0; transition: transform .2s ease; }
.ice-lang:hover .ice-lang__current svg,
.ice-lang:focus-within .ice-lang__current svg { transform: rotate(180deg); }
.ice-lang__menu {
    position: absolute; top: 100%; left: 50%; margin: 10px 0 0 !important;
    display: flex; flex-direction: column; min-width: 56px; width: max-content;
    list-style: none !important; padding: 4px 0 !important;
    background: var(--ice-navy, #1A244A);
    border: 1px solid rgba(255,255,255,.14);
    opacity: 0; visibility: hidden; transform: translate(-50%, -6px);
    transition: opacity .18s ease, transform .18s ease, visibility 0s .18s;
    z-index: 120;
}
.ice-lang:hover .ice-lang__menu,
.ice-lang:focus-within .ice-lang__menu {
    opacity: 1; visibility: visible; transform: translate(-50%, 0);
    transition: opacity .18s ease, transform .18s ease;
}
.ice-lang__menu li { margin: 0 !important; padding: 0 !important; border: 0 !important; list-style: none !important; }
.ice-lang__menu a {
    display: block; padding: 8px 16px; text-align: center;
    font-weight: 700; font-size: 14px; line-height: 1;
    color: #d1d4db; text-transform: uppercase; letter-spacing: 0.02em;
    text-decoration: none; white-space: nowrap;
    transition: color .15s ease;
}
.ice-lang__menu a:hover { color: #fff; }

/* Placeholder de línguas no menu hambúrguer mobile: item "FR ▾" fixo ao CANTO
   INFERIOR DIREITO do painel (fora do fluxo da lista, p/ não se confundir com o
   menu). Substituir pelo switcher WPML no futuro. */
/* position:relative é preciso p/ ancorar o "FR" ao canto — mas isso activa um
   top:70px dormente do tema que empurrava o menu 70px p/ baixo. top:0 anula-o. */
#qodef-page-mobile-header .qodef-mobile-header-navigation { position: relative; top: 0; padding-bottom: 64px; }
#qodef-page-mobile-header .ice-lang-mobile {
    position: absolute;
    right: 24px;
    bottom: 18px;
    margin: 0 !important;
}
.ice-lang-mobile__list { display: inline-flex; align-items: center; gap: 14px; }
/* menu mobile tem fundo claro → FR (seleccionado) navy bold, outros cinza legível */
.ice-lang-mobile__list .ice-lang-mobile__cur { font-weight: 800; color: #1A244A; text-transform: uppercase; letter-spacing: 0.02em; }
.ice-lang-mobile__list a { font-weight: 700; color: #8a8f9a; text-transform: uppercase; letter-spacing: 0.02em; text-decoration: none; transition: color .15s ease; }
.ice-lang-mobile__list a:hover { color: #1A244A; }

#qodef-page-header:not(.qodef--sticky-header-appear) .qodef-side-area-opener {
    background-color: var(--ice-accent) !important;
}

#qodef-page-header:not(.qodef--sticky-header-appear) .qodef-svg--side-area line {
    stroke: white !important;
}

/* Matar o laranja do tema (#ff8531) nos botões do hambúrguer. O tema anima um
   ::after laranja em hover no opener (desktop+mobile) e na cruz (X) do side-area.
   Definimos a variável do tema e forçamos a palete (vermelho) nos dois. */
:root { --sidearea-hover-background: var(--ice-accent); }
.qodef-opener-icon.qodef-source--predefined::after,
#qodef-side-area-close::after {
    background-color: var(--ice-accent) !important;
}

/* Hambúrguer mobile igual ao desktop (2 linhas, Figma): JS em custom.js normaliza
   a geometria do SVG do tema (3 linhas viewBox 23x18 → 2 linhas viewBox 30x14).
   Aqui forçamos o tamanho renderizado igual ao desktop (o tema mete 23x18). */
#qodef-page-mobile-header .qodef-svg--mobile-menu { width: 30px !important; height: 14px !important; }

/* ===================================================================
   SIDE-AREA (hambúrguer) — restyle (ticket 86camuq2p)
   MENU overflow no topo em estilo LISTA (cada item com seta →), como o print da PM.
   Os contactos (bloco demo) NÃO são tocados: a CSS não mexe em #qodef-side-area-inner
   nem nos .widget_block, para manter a animação e o tamanho originais.
   =================================================================== */
/* espaço aplicado SÓ ao menu (não ao inner) → não afecta o bloco de contactos.
   margin-top afasta do botão fechar; margin-bottom compensa a margem negativa do
   bloco demo (~-50px) e deixa folga antes dos contactos. */
#qodef-side-area .widget_nav_menu { margin: 100px 0 90px 0 !important; }
#qodef-side-area .widget_nav_menu ul { list-style: none; margin: 0; padding: 0; }
#qodef-side-area .widget_nav_menu ul li { margin: 0 !important; }  /* tema mete 10px em baixo → desalinha a label entre as linhas */
#qodef-side-area .widget_nav_menu ul li a {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 16px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    font-family: 'Nunito Sans', sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #fff;
    transition: color .2s ease;
}
#qodef-side-area .widget_nav_menu ul li:last-child a { border-bottom: 1px solid rgba(255, 255, 255, 0.15); }
/* slash '/' no hover (como o header), antes da label. content sem espaço + margem
   pequena controlada, senão o espaço do content num item flex fica folgado. */
#qodef-side-area .widget_nav_menu ul li a:hover::before {
    content: '/';
    flex-shrink: 0;
    margin-right: 6px;
    color: var(--ice-accent);
    font-weight: 700;
}
#qodef-side-area .widget_nav_menu ul li a::after {
    content: '\2192';         /* seta → à direita, como o print */
    margin-left: auto;        /* empurra a seta para a direita */
    flex-shrink: 0;
    font-size: 18px;
    color: inherit;
}
#qodef-side-area .widget_nav_menu ul li a:hover { color: var(--ice-accent); }

/* Ícones sociais dormant (SVG, iguais ao footer) — presentes mas inactivos até
   ao lançamento (sem href, sem interacção). */
#qodef-side-area .ice-sidearea-social { display: flex; gap: 18px; align-items: center; margin-top: 8px; }
#qodef-side-area .ice-sidearea-social a.is-dormant { display: inline-flex; cursor: default; pointer-events: none; }
#qodef-side-area .ice-sidearea-social svg { display: block; }

#qodef-page-header:not(.qodef--sticky-header-appear) {
    height: auto !important; /* tema força 102px; a linha (row) é 88px. auto evita
                                o excesso de 14px abaixo do hamburger. */
    /* NOTA: a linha divisória vem SEMPRE do tema (border-bottom em #qodef-page-header-inner);
       a cor é standardizada a #BABABA mais acima (ticket 86camuq2p). Não é removida aqui. */
}

/* Sticky header (aparece no scroll com classe .qodef-appearance--down).
   Decisão: sticky transparente com fundo navy. O logo branco e o menu claro
   já se aplicam globalmente e ficam legíveis sobre o navy. */
.qodef-header-sticky {
    background-color: var(--ice-navy) !important;
}
/* Nav sticky centrado como a main. Causa do desvio: o hamburger da sticky
   tinha margin-left: 54px (o da main tem 0), que comia espaço e puxava o
   menu ~1cm para a esquerda. Remover a margem + margin auto no nav. */
.qodef-header-sticky .qodef-header-navigation {
    margin: 0 auto !important;
}
.qodef-header-sticky .qodef-widget-holder {
    margin-left: 0 !important;
}
.qodef-header-sticky .qodef-header-navigation > ul > li > a,
.qodef-header-sticky .qodef-header-navigation > ul > li > a span {
    color: #d1d4db !important;
}

/* ===================================================================
   NAVBAR SOBRE FUNDO CLARO — detecção dinâmica (custom.js)
   O JS mede a cor SÓLIDA atrás da navbar no estado de topo. Se for clara
   (ex.: 404, páginas do tema sem hero), põe body.ice-header-on-light e o
   header ganha fundo navy → logo/menu brancos ficam legíveis. Heros com
   background-image (escuros) são deixados intactos (o JS não classifica
   imagens como claras). O sticky navy não é afectado.
   =================================================================== */
body.ice-header-on-light #qodef-page-header:not(.qodef--sticky-header-appear),
body.ice-header-on-light #qodef-page-header:not(.qodef--sticky-header-appear) #qodef-page-header-inner {
    background-color: var(--ice-navy) !important;
    background: var(--ice-navy) !important;
}
body.ice-header-on-light #qodef-page-mobile-header {
    background-color: var(--ice-navy) !important;
}
/* header mobile usa logo escuro por defeito → branco quando sobre o navy */
body.ice-header-on-light #qodef-page-mobile-header .qodef-header-logo-image {
    content: url('../images/logo-ice-white.svg') !important;
}

/* ===================================================================
   ABOUT PAGE — Página About (page-id-2118)
   =================================================================== */

/* About · "Ce qui nous différencie": alinhar o título da coluna esquerda com a
   1ª divisória da coluna direita (Figma). O eyebrow "Nos atouts" fica acima da
   linha; o título encosta à divisória. -19px = diferença entre a altura do bloco
   eyebrow+gap (esquerda) e o topo da coluna direita. Só desktop (≤1024 empilha). */
@media (min-width: 1025px) {
    .page-id-2118 .about-differentiators .elementor-element-05a8df0 { margin-top: -19px; }
}

/* --- About: Global content alignment (banda 1200px centrada) ---
   Todas as secções são e-con-full (largura total do viewport).
   O conteúdo de cada secção vive numa banda de 1200px centrada, para
   que TODAS as secções tenham a mesma margem esquerda (~Figma 156/1512).
   Excepção: .about-stats (cards full-bleed de ponta a ponta). */
/* Passo 1 — a banda: o container-filho directo de cada secção fica a 1200px
   centrado (funciona seja boxed ou full, porque estilizamos o .e-con directamente). */
.page-id-2118 .about-banner > .e-con,
.page-id-2118 .about-differentiators > .e-con,
.page-id-2118 .about-valeurs > .e-con,
.page-id-2118 .about-engagements > .e-con,
.page-id-2118 .about-locations > .e-con,
.page-id-2118 .about-footer > .e-con {
    width: 100% !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* Passo 2 — TODOS os wrappers internos (.e-con-inner de boxed aninhados E
   containers .e-con nested) preenchem a banda: sem max-width/centragem/padding
   horizontal próprios. É isto que elimina o drift de 13-33px por secção.
   Não mexe em padding vertical (border-top, separadores) nem em flex-gap. */
.page-id-2118 .about-banner > .e-con .e-con-inner,
.page-id-2118 .about-banner > .e-con .e-con,
.page-id-2118 .about-differentiators > .e-con .e-con-inner,
.page-id-2118 .about-differentiators > .e-con .e-con,
.page-id-2118 .about-valeurs > .e-con .e-con-inner,
.page-id-2118 .about-valeurs > .e-con .e-con,
.page-id-2118 .about-engagements > .e-con .e-con-inner,
.page-id-2118 .about-engagements > .e-con .e-con,
.page-id-2118 .about-locations > .e-con .e-con-inner,
.page-id-2118 .about-locations > .e-con .e-con,
.page-id-2118 .about-footer > .e-con .e-con-inner,
.page-id-2118 .about-footer > .e-con .e-con {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Timeline: row [ coluna de texto (largura fixa, na banda) ][ imagem (bleed) ].
   Estrutura: .about-timeline > .about-timeline-text + .about-timeline-img
   O texto tem largura FIXA (548px, Figma) — título E parágrafo quebram na
   mesma largura. A imagem preenche o resto e faz bleed até à direita/topo/base. */
.page-id-2118 .about-timeline {
    padding: 0 !important;
    gap: 64px !important;   /* Figma spacing-4x1 entre texto e imagem */
}
.page-id-2118 .about-timeline-text {
    flex: 0 1 548px !important;    /* 548 (Figma), mas encolhe em viewports estreitos */
    min-width: 0 !important;      /* permite encolher abaixo do min-content */
    max-width: 548px !important;
    margin-left: max(10px, (100% - 1200px) / 2) !important;  /* banda-left */
    padding: 0 0 96px 0 !important;   /* Figma: bloco de texto bottom-aligned com 96px em baixo */
}
.page-id-2118 .about-timeline-text,
.page-id-2118 .about-timeline-text > .e-con-inner {
    align-items: flex-start !important;   /* label/título/parágrafo/botão à esquerda */
}
.page-id-2118 .about-timeline-text > .e-con-inner {
    max-width: 100% !important;
    padding: 0 !important;
}
/* Containers internos (ex: label-row) sem padding/margin esquerda própria,
   para alinharem todos com o título a 149. */
.page-id-2118 .about-timeline-text .e-con,
.page-id-2118 .about-timeline-text .e-con-inner {
    padding-left: 0 !important;
    margin-left: 0 !important;
}
.page-id-2118 .about-timeline-img {
    flex: 0 0 49.21% !important;          /* proporção do Figma: 744/1512 */
    width: 49.21% !important;
    align-self: stretch !important;       /* imagem preenche a altura da secção */
    margin: 0 0 0 auto !important;        /* auto absorve folga → bleed sempre à direita */
    padding: 0 !important;
}

/* --- About: Shared Label Row Pattern --- */
.about-label-row { align-items: center !important; gap: 8px !important; }  /* gap label→travessão = spacing-sm (8px, Figma) */
.about-label-row h6 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--ice-coral) !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}
.about-label-row .e-divider-base {
    width: 30px !important;
    background-color: var(--ice-coral) !important;
    height: 1px !important;
    flex-shrink: 0 !important;
}
/* Alguns label-rows têm o gap num wrapper interno (ex: Mission) — forçar 8px também aí */
.about-label-row .e-con,
.about-label-row .e-con-inner { gap: 8px !important; }

/* --- About: Banner --- */
.about-banner { position: relative; min-height: 560px !important; }
.about-banner-content { z-index: 2; position: relative; }
.about-banner h1 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 48px !important;
    font-weight: 800 !important;
    color: white !important;
    text-transform: uppercase !important;
    letter-spacing: -0.96px !important;
    line-height: 1.1 !important;
    margin: 0 !important;
}

/* --- About: Timeline --- */
.about-timeline { overflow: hidden; }
.about-timeline-text h2 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 36px !important;
    font-weight: 800 !important;
    color: white !important;
    text-transform: uppercase !important;
    letter-spacing: -0.72px !important;
    line-height: 1.1 !important;
    margin: 0 !important;
}
.about-timeline-text p {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: #d1d4db !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}
/* Botão Timeline — réplica exacta do Figma: 3 células
   [pad16 · TIMELINE · pad16] [divisória full-height] [pad16 · → · pad16] */
.about-timeline-text #timeline-btn,
#timeline-btn {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: white !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    height: 52px !important;                  /* 16 + 17.85 + 16 + bordas ≈ 52 */
    box-sizing: border-box !important;
    border: 1px solid #f5f5f5 !important;
    padding: 0 0 0 16px !important;           /* só pad esquerda p/ texto; sem pad vertical */
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    align-self: flex-start !important;        /* botão alinhado à esquerda (Figma) */
    gap: 0 !important;
    cursor: pointer !important;
}
.about-timeline-text #timeline-btn::after,
#timeline-btn::after {
    content: '' !important;
    width: 18px !important;
    box-sizing: content-box !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='13.0938' viewBox='125 19.4531 18 13.0938' fill='none'%3E%3Cpath d='M136.924 32.5469L135.65 31.2725L139.273 27.6492L140.123 27.0745L140.023 26.7747L138.998 26.8996H125.18V25.0755H138.998L140.023 25.2254L140.123 24.9255L139.273 24.3508L135.65 20.7275L136.924 19.4531L142.821 25.3503V26.6497L136.924 32.5469Z' fill='%23E6264B'/%3E%3C/svg%3E") no-repeat center !important;
    align-self: stretch !important;          /* divisória a toda a altura */
    margin-left: 16px !important;
    padding: 0 16px !important;              /* 16px de cada lado da seta */
    border-left: 1px solid #f5f5f5 !important;
}
/* --- About: Ce qui nous différencie --- */
.about-differentiators { background: white !important; }
/* Títulos dos items (coluna direita) alinham à esquerda como os parágrafos.
   O container tem align-items:center; o h4 não estica e ficava centrado. */
.page-id-2118 .about-differentiators h4.e-heading-base {
    align-self: flex-start !important;
    text-align: left !important;
}
/* Figma: 2 colunas iguais (586.5px cada) com gap 24px na banda de 1197 */
.page-id-2118 .about-differentiators > .e-con > .e-con-inner {
    gap: 24px !important;
    align-items: flex-start !important;
}
.about-diff-left {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
}
.about-diff-left #diff-title,
.about-diff-left h2 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 36px !important;
    font-weight: 800 !important;
    color: #060A1A !important;
    text-transform: uppercase !important;
    letter-spacing: -0.72px !important;
    line-height: 1.1 !important;
    margin: 0 !important;
    max-width: 300px !important;  /* quebra "CE QUI NOUS / DIFFÉRENCIE" como Figma */
    align-self: flex-start !important;  /* alinhar à esquerda com o label (não centrar) */
    text-align: left !important;
}
.about-diff-right {
    flex: 1 1 0 !important;
}
.about-diff-item h4 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #050815 !important;
    text-transform: uppercase !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}
.about-diff-item p {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: #050815 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

/* --- About: Nos Valeurs --- */
/* Fix padding-top: os containers Elementor aninhados acumulam ~50px de padding
   default (10px cada) e empurram o conteúdo para 94px. Figma: conteúdo a 44px do
   topo. Zerar o padding-top aninhado (a secção mantém os seus 44px próprios). */
.page-id-2118 .about-valeurs .e-con,
.page-id-2118 .about-valeurs .e-con-inner { padding-top: 0 !important; }
.about-valeurs .about-label-row { padding-top: 0 !important; }
.about-valeurs .about-label-row h6 { color: var(--ice-coral) !important; }
.about-valeurs h2 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 36px !important;
    font-weight: 800 !important;
    color: white !important;
    text-transform: uppercase !important;
    letter-spacing: -0.72px !important;
    line-height: 1.1 !important;
    margin: 0 !important;
}
/* fluido: basis = largura Figma (837/273), grow:0 (não enche a banda, mantém a
   folga do design a wide), shrink:1 (encolhe no buraco antes de empilhar <=1024) */
.about-valeurs-left { flex: 0 1 837px !important; min-width: 0 !important; width: auto !important; }
.about-valeurs-left > .e-con-inner { align-items: flex-start !important; }
.about-valeurs-right { flex: 0 1 273px !important; min-width: 0 !important; width: auto !important; align-self: flex-start !important; margin-top: 37px !important; }
/* Espaçamento entre valeurs: pitch 47px (Figma) = altura 31 + gap 16 */
.about-valeurs-right,
.about-valeurs-right > .e-con-inner { gap: 16px !important; }
.about-valeurs-right h4 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    color: white !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    text-transform: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
.about-valeurs-right h4::before {
    content: '' !important;
    width: 12px !important;
    height: 12px !important;
    border-radius: 50% !important;
    background-color: var(--ice-accent) !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
}
h5#valeurs-btn,
#valeurs-btn {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: white !important;
    text-transform: none !important;
    line-height: 1 !important;
    height: 52px !important;
    box-sizing: border-box !important;
    border: 1px solid #f5f5f5 !important;
    padding: 0 0 0 16px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    align-self: flex-start !important;
    gap: 0 !important;
    cursor: pointer !important;
}
h5#valeurs-btn::after,
#valeurs-btn::after {
    content: '' !important;
    width: 18px !important;
    box-sizing: content-box !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='13.0938' viewBox='125 19.4531 18 13.0938' fill='none'%3E%3Cpath d='M136.924 32.5469L135.65 31.2725L139.273 27.6492L140.123 27.0745L140.023 26.7747L138.998 26.8996H125.18V25.0755H138.998L140.023 25.2254L140.123 24.9255L139.273 24.3508L135.65 20.7275L136.924 19.4531L142.821 25.3503V26.6497L136.924 32.5469Z' fill='%23E6264B'/%3E%3C/svg%3E") no-repeat center !important;
    align-self: stretch !important;
    margin-left: 16px !important;
    padding: 0 16px !important;
    border-left: 1px solid #f5f5f5 !important;
}

/* --- About: Statistics --- */
.about-stats {
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.about-stats-row2 {
    border-top: 1px solid #888 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.about-stat-card {
    flex: 1 0 0 !important;
    justify-content: space-between !important;
}
.about-stat-card h2 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 88px !important;
    font-weight: 800 !important;
    color: var(--ice-navy) !important;
    text-align: right !important;
    letter-spacing: -3.52px !important;
    line-height: 96% !important;
    text-transform: uppercase !important;
    width: 100% !important;
    margin: 0 !important;
}
.about-stat-card h4 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: black !important;
    text-transform: uppercase !important;
    text-align: left !important;
    width: 100% !important;
    margin: 0 !important;
    line-height: 1.3 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
.about-stat-card h4::before {
    content: '' !important;
    width: 12px !important;
    height: 12px !important;
    border-radius: 50% !important;
    background-color: var(--ice-accent) !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
}

/* --- About: Nos Engagements --- */
.about-engagements {
    position: relative !important;
    background: #1A2A4A !important;
}
.about-engagements::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: url('../../../../uploads/2026/07/v2-engagements-bg.png') no-repeat center center / cover !important;
    opacity: 0.95 !important;
    z-index: 0 !important;
    pointer-events: none !important;
}
.about-engagements > .e-con-inner {
    position: relative !important;
    z-index: 1 !important;
}
/* Engagements: os wrappers aninhados do bloco do título acumulam padding 10px
   + gap 20px (secção ficava 626px vs 477px Figma). Zerar e definir só o
   gap label->título (24) e o gap da secção (10, título->body). */
.about-engagements > .e-con-inner { gap: 10px !important; }
.about-engagements { padding-bottom: 106px !important; }  /* Figma: body acaba a 371, secção 477 */
.about-engagements .elementor-element-4b7fc0b .e-con,
.about-engagements .elementor-element-4b7fc0b .e-con-inner {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    gap: 0 !important;
}
.about-engagements .elementor-element-4b7fc0b .elementor-element-6dae7e6,
.about-engagements .elementor-element-4b7fc0b .elementor-element-6dae7e6 > .e-con-inner {
    gap: 24px !important;   /* label -> título (especificidade > regra gap:0) */
}
/* A regra gap:0 acima (1170-1174) apanha também a label-row do Engagements;
   repor os 8px do travessão (spacing-sm) com especificidade suficiente (0,4,0). */
.about-engagements .elementor-element-4b7fc0b .about-label-row.e-con { gap: 8px !important; }
.about-engagements .about-label-row h6 { color: var(--ice-coral) !important; }
.about-engagements h2 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 36px !important;
    font-weight: 800 !important;
    color: white !important;
    text-transform: uppercase !important;
    letter-spacing: -0.72px !important;
    line-height: 1.1 !important;
    margin: 0 !important;
}
.about-engagements-left {
    width: 100% !important;
}
.about-engagements p {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: white !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

/* --- About: Locations --- */
.about-locations {
    position: relative !important;
    background-color: transparent !important;
    height: auto !important;
    min-height: calc(252px + 100vw * 825 / 1512) !important;  /* 194 topo + mapa + 58 base: sem bleed */
}
.about-locations > .e-con-inner { position: relative; z-index: 2; }
/* Mapa e pins responsivos: escalam com a largura do viewport (100%),
   mantendo a proporção do Figma (1512x825) e os pins alinhados. */
/* Mapa (1512x825) e pins SVG (1512x825) — MESMAS dimensões, logo alinham
   perfeitamente. Ambos a 100% de largura, altura proporcional (aspect natural).
   Mapa TODO visível, sem bleed, escala com o viewport. */
.about-locations::before {
    content: '' !important;
    position: absolute !important;
    top: 194px !important;
    left: 0 !important;
    right: 0 !important;
    height: calc(100vw * 825 / 1512) !important;
    background: url('../images/world-map.png') no-repeat left top !important;
    background-size: 100% 100% !important;   /* mapa completo (aspect 1512:825, sem distorção) */
    pointer-events: none !important;
    z-index: 0 !important;
}
.about-locations::after {
    content: '' !important;
    position: absolute !important;
    top: 194px !important;
    left: 0 !important;
    right: 0 !important;
    height: calc(100vw * 825 / 1512) !important;
    background: url('../images/map-pins.svg') no-repeat left top !important;
    background-size: 100% 100% !important;   /* pins alinham (mesmo aspect do mapa) */
    pointer-events: none !important;
    z-index: 1 !important;
}
/* Mapa INTERACTIVO (RevSlider main-home-rev-02-1) substitui o estático:
   desactiva as camadas png+pins e dá largura total ao widget do slider
   (o container pai é flex-column align-items:center, senão o sr7 colapsa a 0). */
.page-id-2118 .about-locations::before,
.page-id-2118 .about-locations::after { display: none !important; }
.page-id-2118 #about-map-slider { width: 100% !important; align-self: stretch !important; }
.about-locations h6 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: black !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}
.about-locations-row h1 {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 88px !important;
    font-weight: 800 !important;
    color: var(--ice-accent) !important;
    letter-spacing: -3.52px !important;
    line-height: 0.96 !important;
    margin: 0 !important;
    flex: 1 1 0 !important;   /* coluna esquerda = metade (586.5px) */
}
/* Locations: "22" + descrição em 2 colunas iguais (586.5px), gap 24 (Figma) */
.page-id-2118 .elementor-element-af163bf,
.page-id-2118 .elementor-element-af163bf > .e-con-inner {
    gap: 24px !important;
    align-items: flex-start !important;
}
.page-id-2118 .elementor-element-d215346 {
    flex: 1 1 0 !important;
    min-width: 0 !important;
}
.about-locations #locations-subtitle {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: black !important;
    line-height: 1.2 !important;
    text-transform: none !important;  /* Figma mixed-case (tema força uppercase) */
    margin: 0 0 16px 0 !important;
}
.about-locations-row p {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: black !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    flex: 1 0 0 !important;
}

/* ===== About (2118) — responsivo tablet/mobile (ticket 86cajcq1p) =====
   Base e-con (degrada melhor que as outras). Falhas reais: §5 Valeurs (2-col
   fixo 837/273 parte no range tablet 768-1024), §6/§7 Stats (cards apertados),
   §9 "22"+texto (2-col apertado no mobile). */
@media (max-width: 1024px) {
    /* §5 Nos Valeurs: 2-col fixo (837+273) -> empilhar */
    .page-id-2118 .about-valeurs > .e-con > .e-con-inner { flex-wrap: wrap !important; }
    .page-id-2118 .about-valeurs-left,
    .page-id-2118 .about-valeurs-right { width: 100% !important; flex-shrink: 1 !important; }
    .page-id-2118 .about-valeurs-right { margin-top: 24px !important; }
    /* §4 Nos Atouts: 2-col (título | items) -> empilhar */
    .page-id-2118 .about-differentiators > .e-con > .e-con-inner { flex-wrap: wrap !important; }
    .page-id-2118 .about-diff-left,
    .page-id-2118 .about-diff-right { flex: 1 1 100% !important; width: 100% !important; }
}
@media (max-width: 768px) {
    /* §6/§7 Statistics: cards (flex 1 0 0) -> 2 por linha; nº menor */
    .page-id-2118 .about-stats,
    .page-id-2118 .about-stats-row2 { flex-wrap: wrap !important; }
    .page-id-2118 .about-stat-card { flex: 1 1 50% !important; }
    .page-id-2118 .about-stat-card h2 { font-size: 64px !important; letter-spacing: -2px !important; }
}
@media (max-width: 680px) {
    /* §9 "22" + texto: 2-col (flex directo em af163bf) não empilhava -> texto
       cortado à direita. Empilhar ("22" em cima, texto full-width). */
    .page-id-2118 .elementor-element-af163bf { flex-direction: column !important; }
    .page-id-2118 .about-locations-row h1,
    .page-id-2118 .elementor-element-d215346 { width: 100% !important; flex: 0 0 auto !important; }
}
@media (max-width: 480px) {
    .page-id-2118 .about-stat-card { flex: 1 1 100% !important; }
    .page-id-2118 .about-stat-card h2 { font-size: 56px !important; }
}

/* ===================================================================
   FOOTER GLOBAL — réplica do Figma (node 456:6429), componente reutilizável
   Injectado como Custom HTML na widget area do footer (todas as páginas).
   =================================================================== */
/* Neutralizar o grid de 4 colunas do tema: a nossa coluna 1 ocupa tudo */
#qodef-page-footer .qodef-grid-inner { display: block !important; }
#qodef-page-footer .qodef-grid-item {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
#qodef-page-footer .qodef-grid-item:not(:first-child) { display: none !important; }
/* Esconder a footer bottom area (copyright vai no nosso HTML) */
#qodef-page-footer .qodef-footer-bottom { display: none !important; }
#qodef-page-footer .widget_custom_html,
#qodef-page-footer .textwidget { margin: 0 !important; }

.ice-footer {
    background-color: var(--ice-navy);
    /* topo->heading = 138px no Figma; o wrapper #qodef-page-footer do tema já
       adiciona 80px, por isso aqui só 58 (80+58=138). Era 128 → total 208. */
    padding: 58px 0 20px 0;
    width: 100%;
}
.ice-footer__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Nunito Sans', sans-serif;
}
#qodef-page-footer .ice-footer__heading {
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;      /* Figma: Nunito Sans 700 */
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    color: #fff !important;
    text-transform: none !important;  /* Figma é mixed-case; o tema força uppercase */
    margin: 0 0 51px 0 !important;
}
.ice-footer__cols {
    display: flex;
    align-items: flex-start;
    gap: 24px;
}
.ice-footer__logo {
    flex: 1 1 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
#qodef-page-footer .ice-footer__logo img {
    height: 130px !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;   /* impedir media-query do tema de encolher a 1512 */
}
.ice-footer__col { flex: 1 1 0; display: flex; flex-direction: column; gap: 16px; }
.ice-footer__col--social { gap: 16px; }
/* Coluna legal: célula de título vazia (como no Figma) para a lista alinhar
   com as outras colunas. Gap 7px como as outras; o "espalhamento" vem do
   line-height maior (1.5 vs 1.25), conforme Figma. */
.ice-footer__col-title {
    font-size: 14px;
    font-weight: 800;
    line-height: 1.275;
    text-transform: uppercase;
    color: #fff;
    margin: 0;
}
/* CONTACTS alinha com a linha 4 das colunas de navegação (Figma). Antes ficava
   colado aos ícones (só o gap 16px da coluna); +37px desce-o para a linha 4.
   Precisa do prefixo #qodef-page-footer + !important para bater a regra do tema. */
#qodef-page-footer .ice-footer__col-title--contacts { margin-top: 37px !important; }
.ice-footer__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}
#qodef-page-footer .ice-footer__list li { margin: 0 !important; }  /* tema adiciona margem */
#qodef-page-footer .ice-footer__list a {
    display: block !important;    /* altura do item segue o line-height do <a> */
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 14px !important;   /* Figma Body/Small (tema força 18px) */
    font-weight: 400 !important;  /* Figma: regular (tema força 700 bold) */
    line-height: 1.25 !important; /* LE GROUPE / NOS FONDAMENTAUX */
    color: #D1D4DB !important;    /* Figma: Bleu Nuit Artik/Lighter 3 (tema força #5A5A5A) */
    text-decoration: none;
    transition: color .2s ease;
}
#qodef-page-footer .ice-footer__list--legal a {
    line-height: 1.5 !important;  /* legal mais espaçado (Figma) */
    color: #D1D4DB !important;    /* Figma silver */
}
.ice-footer__list--legal a { white-space: nowrap; }
.ice-footer__list a:hover { color: var(--ice-accent); }
.ice-footer__social { display: flex; align-items: center; gap: 16px; }
.ice-footer__social a { display: inline-flex; }
/* Fix #7: ícones sociais "adormecidos" (LinkedIn/YouTube) — visíveis, esbatidos,
   não-clicáveis, até as redes estarem activas (activar = pôr href + remover a classe) */
.ice-footer__social a.is-dormant { opacity: .4; pointer-events: none; cursor: default; }
#qodef-page-footer .ice-footer__copyright {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
    color: #fff !important;   /* mesma cor dos títulos (branco), como no Figma */
    margin-top: 51px;
}

/* Footer responsivo (global) — reflow em tablet/mobile.
   Desktop: .ice-footer__cols é flex row nowrap (logo + 4 colunas). Sem estas
   regras, abaixo de ~1024 as colunas não wrapam e o conteúdo é clipado
   (overflow-x:hidden do tema esconde-o). Só afecta <=1024. */
/* Gutter lateral (global): a banda .ice-footer__inner (max-width 1200) passa a
   full-width abaixo de 1200 e, com padding 0, o CTA "Construisons…" + colunas +
   copyright encostam a x≈0 em tablet/mobile. Este gutter (só ≤1240) resolve-o
   de uma vez em todas as páginas, sem tocar no desktop (>1240 fica intocado). */
@media (max-width: 1240px) {
    .ice-footer__inner { padding-left: 24px; padding-right: 24px; }
}
@media (max-width: 1024px) {
    /* topo do footer: o wrapper do tema já dá 80px; +48 = 128px total (≤ desktop
       138px). Antes eram 72 (=152 total, MAIS que o desktop — vazio a mais em mobile). */
    .ice-footer { padding-top: 48px; }
    .ice-footer__cols { flex-wrap: wrap; gap: 32px 24px; }
    .ice-footer__logo { flex: 0 0 100%; justify-content: flex-start; margin-bottom: 8px; }
    .ice-footer__col { flex: 1 1 42%; min-width: 180px; }
}
@media (max-width: 600px) {
    .ice-footer__cols { flex-direction: column; gap: 28px; }
    .ice-footer__col, .ice-footer__logo { flex: 1 1 100%; width: 100%; min-width: 0; }
    #qodef-page-footer .ice-footer__col-title--contacts { margin-top: 0 !important; }
}

/* ===================================================================
   HOMEPAGE (page-id-18) — rebuild secção a secção (Figma R&M = SOT)
   =================================================================== */

/* --- HP §2 Hero (secção 8c0df16) --- */
.page-id-18 .elementor-element-8c0df16 {
    min-height: 800px !important;
    display: flex !important;
    align-items: center !important;      /* conteúdo centrado na vertical (Figma justify-center) */
}
.page-id-18 .elementor-element-8c0df16 > .elementor-container {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
/* coluna: eyebrow + headline empilhados, gap 24px (spacing-xl), sem margens default */
.page-id-18 .elementor-element-5d4817a > .elementor-widget-wrap {
    flex-direction: column !important;   /* empilhar eyebrow -> headline (não lado a lado) */
    align-items: flex-start !important;  /* ambos alinhados à esquerda da banda */
    gap: 24px !important;
}
.page-id-18 .elementor-element-5d4817a > .elementor-widget-wrap > .elementor-widget {
    width: auto !important;
    margin: 0 !important;
}
/* eyebrow: label coral + travessão 30px, gap 8px (spacing-sm) — mesmo padrão da About */
#home-hero-eyebrow .elementor-heading-title {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    letter-spacing: 0 !important;   /* Figma Action/Caption = 0 (widget tinha -0.24px) */
}
#home-hero-eyebrow .elementor-heading-title::after {
    content: '' !important;
    width: 30px !important;
    height: 1px !important;
    background-color: #EB506D !important;
    margin-left: 8px !important;
    flex-shrink: 0 !important;
}
#home-hero-title .elementor-heading-title { margin: 0 !important; }

/* --- HP §3 Intro "Notre Expertise" (secção d4374c1) --- */
.page-id-18 .elementor-element-d4374c1 {
    background-color: #FFFFFF !important;
    padding-top: 92px !important;      /* Figma: 44 (secção) + 48 (inner) */
    padding-bottom: 128px !important;
}
.page-id-18 .elementor-element-d4374c1 > .elementor-container {
    max-width: 1200px !important;
    gap: 26px !important;
    align-items: flex-start !important;
}
.page-id-18 .elementor-element-d718e2a,
.page-id-18 .elementor-element-ea634b0 { width: 50% !important; }
.page-id-18 .elementor-element-d718e2a > .elementor-widget-wrap,
.page-id-18 .elementor-element-ea634b0 > .elementor-widget-wrap { align-content: flex-start !important; }
.page-id-18 .elementor-element-d718e2a > .elementor-widget-wrap { gap: 24px !important; }
.page-id-18 .elementor-element-ea634b0 > .elementor-widget-wrap { gap: 16px !important; padding-top: 40px !important; }
.page-id-18 .elementor-element-d4374c1 .elementor-widget-wrap > .elementor-widget { margin: 0 !important; width: 100% !important; }
.page-id-18 .elementor-element-d4374c1 .elementor-heading-title { margin: 0 !important; }
#home-intro-title .elementor-heading-title { max-width: 588px !important; text-transform: none !important; letter-spacing: 0 !important; color: #000000 !important; }
#home-intro-subtitle .elementor-heading-title { text-transform: none !important; letter-spacing: 0 !important; color: #000000 !important; }
/* §3 parágrafo (widget heading e1b04a2): fonte Lato (Font 2 do Figma) — SOT é o Figma, não docs internos */
.page-id-18 .elementor-element-e1b04a2 .elementor-heading-title { font-family: 'Lato', sans-serif !important; }
#home-intro-eyebrow { line-height: 1 !important; font-size: 12px !important; }   /* widget tinha lh 28px + font grande -> caixa alta demais, desalinhava headline vs subtitle */
#home-intro-eyebrow .elementor-heading-title { display: inline-flex !important; align-items: center !important; letter-spacing: 0 !important; }
#home-intro-eyebrow .elementor-heading-title::after {
    content: '' !important; width: 30px !important; height: 1px !important;
    background-color: #EB506D !important; margin-left: 8px !important; flex-shrink: 0 !important;
}

/* --- HP §4 Statistics (secção 8755abb) — 4 cards full-bleed --- */
.page-id-18 .elementor-element-8755abb {
    background-color: #FFFFFF !important;   /* tema punha #FBFBFB (off-white); Figma = branco */
    padding-top: 0 !important;              /* sem bandas: o espaço vem das secções vizinhas */
    padding-bottom: 0 !important;
}
.page-id-18 .elementor-element-8755abb > .elementor-container {
    max-width: 100% !important;
    width: 100% !important;   /* full-bleed: tema prendia a 1300px */
    padding: 0 !important;
    gap: 0 !important;
    align-items: stretch !important;
}
.page-id-18 .elementor-element-8755abb .elementor-column { width: 25% !important; }
.page-id-18 .elementor-element-8755abb .elementor-widget-wrap { padding: 0 !important; }
.page-id-18 .elementor-element-8755abb .elementor-widget,
.page-id-18 .elementor-element-8755abb .elementor-widget-container { margin: 0 !important; height: 100% !important; }
.hp-stat-card {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    min-height: 412px !important;
    padding: 48px !important;
    background: #F5F5F5 !important;
    border-left: 1px solid #BABABA !important;
    border-right: 1px solid #BABABA !important;
}
.hp-stat-num {
    display: block !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 800 !important; font-size: 88px !important;
    line-height: 0.96 !important; letter-spacing: -3.52px !important;
    color: #E6264B !important; text-align: right !important; white-space: nowrap !important;
}
/* DE: «41 Mio. €» é mais largo que a coluna a 88px (cortava o €) — SÓ no desktop 4-col.
   Reduz os números DE p/ caberem; FR/EN/ES/PT mantêm 88px («41 M€»/«€41M» cabem).
   ≤1024 herda os tamanhos mobile/tablet normais (onde já cabe). */
@media (min-width: 1025px) {
    html[lang^="de"] .hp-stat-num { font-size: 68px !important; letter-spacing: -2.5px !important; }
}
.hp-stat-bottom { display: flex; flex-direction: column; gap: 8px; }
.hp-stat-label {
    display: flex !important; align-items: center !important; gap: 12px !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 800 !important; font-size: 20px !important; line-height: 1.3 !important;
    color: #000 !important; text-transform: uppercase !important;
    white-space: normal !important;   /* labels quebram quando a tradução é longa (FR cabe numa linha na mesma) */
}
.hp-stat-label::before {
    content: '' !important; width: 12px !important; height: 12px !important;
    border-radius: 50% !important; background: #E6264B !important; flex-shrink: 0 !important;
}
.hp-stat-body {
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 500 !important; font-size: 20px !important; line-height: 1.4 !important;
    color: #5A5A5A !important; margin: 0 !important; padding-left: 24px !important;
    min-height: 112px !important;      /* 4 linhas x 28px: iguala alturas dos corpos p/ alinhar labels */
    text-align: left !important;      /* Figma: cards 2-4 = left */
}
/* Figma (render 430:6439, confirmado): card 1 justify, cards 2-4 left (Opção A, fiel ao Figma) */
.page-id-18 .elementor-element-8d19ca7 .hp-stat-body { text-align: justify !important; }

/* --- HP §5 Vídeo (secção 1b09071) --- */
.page-id-18 .elementor-element-1b09071 {
    background: #FFFFFF !important;   /* remove o azul-claro #B5C7E5 do template */
    padding-top: 128px !important;    /* Figma spacing-7x1 */
    padding-bottom: 93px !important;  /* Figma: gap 41px + Frame34 (strip vazio 52px) = 93px abaixo do vídeo */
}
.page-id-18 .elementor-element-1b09071 > .elementor-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
}
.page-id-18 .elementor-element-1b09071 .elementor-column { width: 100% !important; }
/* área do vídeo: proporção 1202x553 (Figma) em vez de 16:9 */
#home-video .elementor-wrapper {
    aspect-ratio: 1202 / 553 !important;
    padding-bottom: 0 !important;
    height: auto !important;
}
#home-video .elementor-custom-embed-image-overlay { background-size: cover !important; }
/* play button: círculo translúcido 281px (Figma Component 19) + triângulo branco */
#home-video .elementor-custom-embed-play {
    width: 281px !important; height: 281px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    background-color: rgba(255, 255, 255, 0.15) !important;
    border-radius: 50% !important;
    transition: background-color .3s ease !important;
}
#home-video .elementor-custom-embed-play:hover { background-color: rgba(255, 255, 255, 0.28) !important; }
#home-video .elementor-custom-embed-play svg { display: none !important; }   /* eicon traz círculo próprio; usamos triângulo CSS */
#home-video .elementor-custom-embed-play::after {
    content: '' !important; width: 0 !important; height: 0 !important;
    border-style: solid !important; border-width: 34px 0 34px 56px !important;
    border-color: transparent transparent transparent #FFFFFF !important; margin-left: 12px !important;
}

/* --- HP §7 Articles "Un écosystème en mouvement" (92da0ca header + 203f016 cards) --- */
.page-id-18 .elementor-element-92da0ca,
.page-id-18 .elementor-element-203f016 { background-color: #1A2A4A !important; }
.page-id-18 .elementor-element-92da0ca { padding-top: 55px !important; padding-bottom: 0 !important; }
.page-id-18 .elementor-element-203f016 { padding-top: 64px !important; padding-bottom: 96px !important; }
.page-id-18 .elementor-element-92da0ca > .elementor-container,
.page-id-18 .elementor-element-203f016 > .elementor-container { max-width: 1384px !important; margin: 0 auto !important; }  /* Figma §7 = px-64 (margens 64px): título 1 linha + cards 322px */
/* header: título à esquerda, botão à direita, alinhados em baixo */
.page-id-18 .elementor-element-92da0ca > .elementor-container { align-items: flex-end !important; flex-wrap: nowrap !important; }
.page-id-18 .elementor-element-ff83a3d .qodef-m-title { white-space: nowrap !important; }   /* Figma: título numa linha */
.page-id-18 .elementor-element-9a955e3 { flex: 1 1 auto !important; }
.page-id-18 .elementor-element-81185f1 { flex: 0 0 auto !important; width: auto !important; }
/* botões "Découvrir" (§6 items + §7 header): Figma Action/Button = 16px ExtraBold 800 */
.page-id-18 .elementor-element-45522a2 .qodef-button,
.page-id-18 .elementor-element-92da0ca .qodef-button { font-size: 16px !important; font-weight: 800 !important; }
/* §7 botão bordado: borda #F5F5F5 (Figma), não o cinza do tema */
.page-id-18 .elementor-element-92da0ca .qodef-button,
.page-id-18 .elementor-element-92da0ca .qodef-button::before,
.page-id-18 .elementor-element-92da0ca .qodef-button::after { border-color: #F5F5F5 !important; }
/* 4 article cards */
.hp-articles { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 32px !important; }
/* fix #9: secção Nos Actualités (título 92da0ca + artigos 203f016) à largura do
   TEMA (quase full-width, ~85px margens), não a do Figma — excepção SOT autorizada
   (Figma errado nesta secção). Os containers estavam capados a max-width:1384px ->
   estreitos em ecrãs largos (261px margens a 1920). Título + artigos alinhados. */
.page-id-18 .elementor-element-92da0ca > .elementor-container,
.page-id-18 .elementor-element-203f016 > .elementor-container { max-width: none !important; width: auto !important; margin-inline: 0 !important; }
.page-id-18 .elementor-element-92da0ca,
.page-id-18 .elementor-element-203f016 { padding-left: 85px !important; padding-right: 85px !important; }
@media (max-width: 1024px) {
    .page-id-18 .elementor-element-92da0ca,
    .page-id-18 .elementor-element-203f016 { padding-left: 40px !important; padding-right: 40px !important; }
}
@media (max-width: 768px) {
    .page-id-18 .elementor-element-92da0ca,
    .page-id-18 .elementor-element-203f016 { padding-left: 24px !important; padding-right: 24px !important; }
    /* widget-wrap do tema tem 24px em mobile -> empurrava os artigos p/ 48 (vs 24 do título) */
    .page-id-18 .elementor-element-203f016 .elementor-widget-wrap { padding-left: 0 !important; padding-right: 0 !important; }
}
.hp-article {
    border-top: 1px solid #FFFFFF; padding-top: 33px;
    display: flex; flex-direction: column; min-height: 500px;
    min-width: 0;   /* permite encolher no grid (evita overflow do 4º card) */
}
.hp-article-head { display: flex; flex-direction: column; gap: 8px; }
.hp-article-title { font-family: 'Nunito Sans', sans-serif; font-weight: 800; font-size: 20px; line-height: 1.3; letter-spacing: 0; color: #FFFFFF; text-transform: uppercase; margin: 0; }
.hp-article-meta { display: flex; gap: 12px; align-items: center; }
.hp-article-tag { font-family: 'Nunito Sans', sans-serif; font-weight: 800; font-size: 14px; line-height: 17.85px; letter-spacing: 0; color: #E6264B; text-transform: uppercase; }
.hp-article-date { font-family: 'Nunito Sans', sans-serif; font-weight: 400; font-size: 11px; line-height: 1.3; letter-spacing: 0; color: #FFFFFF; }
.hp-article-img { height: 316px; background-size: cover; background-position: center; width: 100%; margin-top: auto; }
/* Cards de artigos clicáveis → /actualites/ (ticket 86cap4yfu). O <a> preenche o card
   para o .hp-article-img manter o margin-top:auto (imagem colada ao fundo). */
.hp-article-link {
    display: flex; flex-direction: column; flex: 1 1 auto;
    text-decoration: none; color: inherit; cursor: pointer;
}
.hp-article-title, .hp-article-img { transition: color .2s ease, opacity .2s ease; }
.hp-article-link:hover .hp-article-title { color: #E6264B; }
.hp-article-link:hover .hp-article-img { opacity: .92; }

/* --- HP §6 Frame65: banda de conteúdo 1200px (estava a 1300, desalinhava o label vs as outras secções) --- */
.page-id-18 .elementor-element-7932d1c > .elementor-container {
    max-width: 1200px !important; margin-left: auto !important; margin-right: auto !important;
    gap: 24px !important;   /* Figma spacing-xl entre colunas; alinha a coluna direita ao centro */
}
.page-id-18 .elementor-element-d2d05cb,
.page-id-18 .elementor-element-45522a2 { flex: 1 1 0 !important; width: auto !important; }
/* título Display/3 36px + lh 1.1 (a regra dos 5 items a 24px/lh1.3 estava a apanhar o título principal) */
.page-id-18 .elementor-element-7932d1c .elementor-element-611f319 .qodef-m-title { font-size: 36px !important; line-height: 1.1 !important; letter-spacing: -0.72px !important; max-width: 586px !important; }
/* §6 overlay navy mais leve (pedido do utilizador — imagem mais visível) + imagem ajustada à largura como o Figma */
.page-id-18 .elementor-element-7932d1c > .elementor-background-overlay { opacity: 0.05 !important; }
.page-id-18 .elementor-element-7932d1c { background-position: 50% 20% !important; padding-top: 128px !important; padding-bottom: 100px !important; }  /* Figma pt-128; pb reduzido (era 287px) */

/* items da coluna direita: PREENCHER a largura da coluna (estavam shrink-to-fit ~397px e deslocados 167px) */
.page-id-18 .elementor-element-45522a2 > .elementor-widget-wrap { align-content: flex-start !important; gap: 0 !important; padding: 48px 0 32px 0 !important; }  /* Figma right col pt-48 pb-32 */
/* a secção interna e a sua coluna preenchem 100% */
.page-id-18 .elementor-element-45522a2 .elementor-inner-section,
.page-id-18 .elementor-element-45522a2 .elementor-inner-section > .elementor-container,
.page-id-18 .elementor-element-45522a2 .elementor-inner-column { width: 100% !important; max-width: 100% !important; }
/* secções internas do template: remover linha branca + padding/margin próprios (davam linha dupla + altura a mais) */
.page-id-18 .elementor-element-45522a2 .elementor-inner-section { border: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 40px !important; margin-bottom: 0 !important; }  /* gap-40 entre items (Découvrir->próximo divisor) */
.page-id-18 .elementor-element-45522a2 .elementor-inner-section:first-child { margin-top: 0 !important; }
.page-id-18 .elementor-element-45522a2 .elementor-inner-section > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 0 !important; }
.page-id-18 .elementor-element-45522a2 > .elementor-widget-wrap > .elementor-widget { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
.page-id-18 .elementor-element-45522a2 .elementor-widget-container { padding: 0 !important; }
.page-id-18 .elementor-element-45522a2 .qodef-section-title,
.page-id-18 .elementor-element-45522a2 .qodef-m-title,
.page-id-18 .elementor-element-45522a2 .qodef-m-text { width: 100% !important; max-width: 100% !important; }
/* divisor no topo de cada item (Figma: linha clara full-width) */
.page-id-18 .elementor-element-45522a2 .elementor-widget-manufaktursolutions_core_section_title {
    border-top: 1px solid #BABABA !important;   /* Figma: divisor Light Gray 3 */
    padding-top: 24px !important; margin-top: 0 !important;   /* pt-24 após divisor; o gap-40 entre items está no inner-section */
    margin-bottom: 0 !important;   /* remove mb-20 default do qode (desc->botão passa a 16px via botão mt-16) */
}
/* último item (PEOPLE): linha de fecho por baixo (Figma tem N+1 divisores) */
.page-id-18 .elementor-element-45522a2 .elementor-inner-section:last-child { border-bottom: 1px solid #BABABA !important; padding-bottom: 40px !important; }
/* espaçamento título->desc (gap-16) e o botão Découvrir */
.page-id-18 .elementor-element-45522a2 .qodef-m-text { margin-top: 16px !important; }
.page-id-18 .elementor-element-45522a2 .elementor-widget-manufaktursolutions_core_button { margin-top: 16px !important; margin-bottom: 0 !important; }  /* botão->próximo divisor = 40px via section_title mt-40 */
/* seta Découvrir alinhada ao centro do texto (estava 8px acima) */
.page-id-18 .elementor-element-45522a2 .qodef-m-button-arrow-holder { position: relative !important; top: 8px !important; }

/* --- HP §8 Excellence Opérationnelle + Marcas (secção 1e2d469) --- */
.page-id-18 .elementor-element-1e2d469 { background-color: #FFFFFF !important; padding-top: 96px !important; padding-bottom: 0 !important; }
.page-id-18 .elementor-element-1e2d469 > .elementor-container { max-width: 100% !important; width: 100% !important; padding: 0 !important; }
.page-id-18 .elementor-element-1e2d469 .elementor-widget-wrap { padding: 0 !important; }
/* bloco excellence: banda 1200px */
.hp-excellence { max-width: 1200px; margin: 0 auto 20px; padding: 0; display: flex; flex-direction: column; gap: 32px; box-sizing: border-box; }  /* mb 64->20: gap Vision->logos = 40px; sem padding-h (Figma: margem 156 = (1512-1200)/2, conteúdo a 156 não 180) */
.hp-exc-eyebrow { display: inline-flex; align-items: center; line-height: 1.4; font-family: 'Nunito Sans', sans-serif; font-weight: 700; font-size: 12px; color: #EB506D; text-transform: uppercase; }  /* lh 1.4: eyebrow 28->17px (Figma) */
.hp-exc-eyebrow::after { content: ''; width: 30px; height: 1px; background: #EB506D; margin-left: 8px; }
.hp-exc-content { display: flex; gap: 24px; align-items: flex-start; }
.hp-exc-logo { width: 308px; height: 301px; background-size: contain; background-repeat: no-repeat; background-position: center; flex-shrink: 0; }
.hp-exc-text { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 36px; }  /* gap título->parágrafo: Figma tem +12px vs os 24 antigos (linha vazia inicial do parágrafo no Figma). Medido: gap visual Figma ~46px */
.hp-exc-title { font-family: 'Nunito Sans', sans-serif; font-weight: 700; font-size: 32px; line-height: 1.2; letter-spacing: 0; color: #000000; margin: 0; text-transform: none; }
.hp-exc-para { font-family: 'Nunito Sans', sans-serif; font-weight: 500; font-size: 18px; line-height: 1.4; color: #15141C; margin: 0; }
/* brand cards: 4 cards full-width com border #BABABA */
.hp-brands { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #BABABA; }  /* minmax(0,1fr): colunas iguais encolhíveis (imgs 282/357 <378 mantêm-se a 1512; encolhem no buraco laptop) */
.hp-brand { min-height: 302px; border-right: 1px solid #BABABA; border-bottom: 1px solid #BABABA; display: flex; align-items: center; justify-content: center; padding: 10px; box-sizing: border-box; }
.hp-brand:first-child { border-left: 1px solid #BABABA; }
.hp-brand img { max-height: 190px; height: auto; max-width: 100%; object-fit: contain; flex-shrink: 0; }
/* larguras do Figma: LOCA/ICE em slot 302 (282 útil); COLDMARKET/CONNECTY em slot 377 (357 útil) */
.page-id-18 .hp-brand:nth-child(1) img, .page-id-18 .hp-brand:nth-child(2) img { width: 282px; }
.page-id-18 .hp-brand:nth-child(3) img, .page-id-18 .hp-brand:nth-child(4) img { width: 357px; }

/* Sub-pixel seams (fundo BRANCO do body a espreitar por fendas de 1px entre secções navy a certos
   viewports). O header §7 (92da0ca) sobrepõe-se 1px ao §6 (7932d1c, acima) E aos cards §7 (203f016,
   abaixo) — navy sólido cobre ambas as fendas. As fronteiras branco↔branco não precisam (body é branco). */
.page-id-18 .elementor-element-92da0ca { margin-top: -1px !important; margin-bottom: -1px !important; }

/* Botões qode com seta — a seta desliza no hover (animação do tema original) */
/* fix #2: animação 2-path do tema no botão "Découvrir" (.qodef-button não tem a
   classe .qodef-theme-button que activa a animação nativa; a seta já tem 2 paths
   + overflow:hidden). Replica os valores do tema (arrow sai à dir. + nova entra
   da esq., sem gap). */
.qodef-button .qodef-svg--button-arrow path:nth-of-type(1) { transform: translateX(0); transition: transform 0.2s ease-out 0.2s; }
.qodef-button .qodef-svg--button-arrow path:nth-of-type(2) { transform: translateX(-18px); transition: transform 0.2s ease-in; }
.qodef-button:hover .qodef-svg--button-arrow path:nth-of-type(1) { transform: translateX(18px); transition: transform 0.2s ease-in; }
.qodef-button:hover .qodef-svg--button-arrow path:nth-of-type(2) { transform: translateX(0); transition: transform 0.2s ease-out 0.2s; }

/* Botões OUTLINED do tema à medida do Figma: ~52px alto, texto 16px/800, padding 16px.
   O default do tema é ~62px / 17px / peso 700 (maior). Standardiza os botões
   convertidos (Integration/Innovation/Performance/Durabilité) com o Figma + Contacts. */
.qodef-button.qodef-layout--outlined .qodef-m-text {
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    padding: 16px !important;
}
.qodef-button.qodef-layout--outlined .qodef-m-button-arrow-holder { padding: 16px !important; }
/* Alinhamento: alguns containers das páginas-pilar têm align-items:center, que centrava
   o botão; a conversão do atómico → botão do tema perdeu o align à esquerda. Repor à
   esquerda em todos os botões convertidos (como o Figma). Os já-à-esquerda ficam iguais. */
.page-id-9182 .elementor-widget-manufaktursolutions_core_button,
.page-id-9281 .elementor-widget-manufaktursolutions_core_button,
.page-id-9408 .elementor-widget-manufaktursolutions_core_button,
.page-id-9409 .elementor-widget-manufaktursolutions_core_button { align-self: flex-start !important; }
/* ob-tbtn (Découvrir da Our Brands, seta de 1 path): slide simples no hover */
.ob-tbtn .ob-tarrow { transition: transform 0.2s ease; }
.ob-tbtn:hover .ob-tarrow { transform: translateX(6px); }

/* ===== Homepage (18) — responsivo mobile/tablet (ticket 86cajcq1p) =====
   custom.css orientado a 1512 (larguras px fixas, grids multi-col, imgs de marcas
   fixas 282/357px) sem @media <1512. Reflow nos breakpoints do tema. */
@media (max-width: 1024px) {
    /* colunas legacy (col-50 E col-33): empilhar (intro "Notre expertise", mapa/vision) */
    .page-id-18 .elementor-column.elementor-col-50,
    .page-id-18 .elementor-column.elementor-col-33 { width: 100% !important; }

    /* §4 Statistics: 4-col (25%) -> 2-col (wrap) + nº/padding menores */
    .page-id-18 .elementor-element-8755abb > .elementor-container { flex-wrap: wrap !important; }
    .page-id-18 .elementor-element-8755abb .elementor-column { width: 50% !important; }
    .page-id-18 .hp-stat-card { min-height: 0 !important; padding: 32px !important; }
    .page-id-18 .hp-stat-num { font-size: 56px !important; letter-spacing: -2px !important; }

    /* Écosystème (logo + texto): empilhar; logo menor */
    .page-id-18 .hp-exc-content { flex-direction: column !important; }
    .page-id-18 .hp-exc-logo { width: 200px !important; height: 196px !important; }

    /* Grelha de marcas: imgs fluidas (largar 282/357px fixos) + 2-col + fechar bordo esq. */
    .page-id-18 .hp-brands { grid-template-columns: 1fr 1fr !important; border-left: 1px solid #BABABA !important; }
    .page-id-18 .hp-brand img { width: auto !important; max-width: 100% !important; max-height: 140px !important; }

    /* §8 Nos Actus (grid de notícias 4-col) -> 2-col */
    .page-id-18 .hp-articles { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 680px) {
    /* Statistics + marcas + notícias -> 1-col */
    .page-id-18 .elementor-element-8755abb .elementor-column { width: 100% !important; }
    .page-id-18 .hp-brands { grid-template-columns: 1fr !important; }
    .page-id-18 .hp-articles { grid-template-columns: 1fr !important; }
}
@media (max-width: 480px) {
    .page-id-18 .hp-stat-num { font-size: 48px !important; }
}

/* ===== Mobile — títulos de secção encolhem (evita corte tipo "Un écosystème" 48px) =====
   Global: o .qodef-m-title (section title do tema) tinha tamanho desktop fixo (48/36px)
   que cortava/gigantava em mobile. Só afecta <=768 (desktop pixel-perfect intacto). */
@media (max-width: 768px) {
    .qodef-m-title { font-size: 32px !important; line-height: 1.2 !important; }
    /* écosystème (ff83a3d): era 48px + white-space:nowrap (Figma 1 linha) -> cortava.
       Encolhe + deixa quebrar (element-scoped p/ bater a especificidade das L288/L1626). */
    .page-id-18 .elementor-element-ff83a3d .qodef-m-title { font-size: 28px !important; white-space: normal !important; }
    .page-id-18 #home-intro-title .elementor-heading-title { font-size: 28px !important; }
}
@media (max-width: 480px) {
    .qodef-m-title { font-size: 26px !important; }
    .page-id-18 .elementor-element-ff83a3d .qodef-m-title { font-size: 24px !important; white-space: normal !important; }
    .page-id-18 #home-intro-title .elementor-heading-title { font-size: 26px !important; }
}

/* ===================================================================
   TIMELINE (page-id-9080) — Figma node 419:3586 (R&M = SOT)
   =================================================================== */

/* Banner deve começar em y=0 (a nav transparente sobrepõe-se ao topo, como no
   Figma e no About Us). O tema aplica margin-top:-102px em #qodef-page-outer
   (content-behind-header) que sobre-puxa o banner para -102 e esconde 102px do
   topo — anular (igual à correcção da Our Brands). */
.page-id-9080 #qodef-page-outer { margin-top: 0 !important; }

/* --- §2 Banner (tlbanner1) — Figma 419:3588, 560px, banda 1200/156 --- */
.page-id-9080 .elementor-element-tlbanner1 {
    min-height: 560px !important;
    display: flex !important;
    align-items: center !important;   /* Figma justify-center vertical */
}
.page-id-9080 .elementor-element-tlbanner1 > .elementor-container {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.page-id-9080 .elementor-element-tlbannercol > .elementor-widget-wrap {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 24px !important;
}
.page-id-9080 .elementor-element-tlbannercol > .elementor-widget-wrap > .elementor-widget {
    width: auto !important;
    margin: 0 !important;
}
#tl-banner-eyebrow .elementor-heading-title {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    letter-spacing: 0 !important;
}
#tl-banner-eyebrow .elementor-heading-title::after {
    content: '' !important;
    width: 30px !important; height: 1px !important;
    background-color: #EB506D !important;
    margin-left: 8px !important; flex-shrink: 0 !important;
}
#tl-banner-title .elementor-heading-title { margin: 0 !important; }

/* --- §3 Intro (tlintro1) — Figma 419:3589, branco, banda 1202/155 --- */
.page-id-9080 .elementor-element-tlintro1 {
    background-color: #FFFFFF !important;
    padding-top: 128px !important;
    padding-bottom: 189px !important;   /* inclui o respiro Frame34 (52px) */
}
.page-id-9080 .elementor-element-tlintro1 > .elementor-container {
    max-width: 1202px !important;
    width: 100% !important;
}
.page-id-9080 .elementor-element-tlintrocol > .elementor-widget-wrap {
    flex-direction: column !important;
    gap: 96px !important;   /* text row -> imagem (spacing-6xl) */
}
.page-id-9080 .elementor-element-tlintrocol > .elementor-widget-wrap > .elementor-widget,
.page-id-9080 .elementor-element-tlintrocol > .elementor-widget-wrap > .elementor-section {
    width: 100% !important;
    margin: 0 !important;
}
.page-id-9080 .elementor-element-tlintrorow > .elementor-container {
    gap: 26px !important;
    align-items: flex-start !important;
    max-width: 100% !important;
    flex-wrap: nowrap !important;
}
/* fluido mantendo o rácio 590:580 do Figma (flex-grow proporcional, basis 0) */
.page-id-9080 .elementor-element-tlintrocolL { flex: 590 1 0 !important; min-width: 0 !important; width: auto !important; }
.page-id-9080 .elementor-element-tlintrocolR { flex: 580 1 0 !important; min-width: 0 !important; width: auto !important; }
.page-id-9080 .elementor-element-tlintrorow .elementor-widget { margin: 0 !important; }
#tl-intro-headline .elementor-heading-title { margin: 0 !important; }
/* Figma: parágrafo direito ~23px abaixo do topo da headline (alinha à 1ª baseline) */
#tl-intro-para .elementor-heading-title { margin: 23px 0 0 0 !important; }
/* Figma escala a foto a 1236x824 dentro do clip 1202x553 (zoom 1.22x); mostra mais céu (menos relva) */
.page-id-9080 #tl-intro-img {
    width: 1202px !important; max-width: 100% !important; height: 553px !important;
    overflow: hidden !important; display: block !important; position: relative !important;
}
.page-id-9080 #tl-intro-img img {
    display: block !important;
    width: 1236px !important; height: 824px !important; max-width: none !important;
    object-fit: cover !important; object-position: center !important;
    position: relative !important; left: -17px !important; top: -40px !important;
}

/* --- §4 Timeline Slider (tlslider1) — Figma 419:3599, 873px navy --- */
.page-id-9080 .elementor-element-tlslider1,
.page-id-9080 .elementor-element-tlslider1 > .elementor-container {
    background-color: #1A2A4A !important;
    max-width: 100% !important; width: 100% !important;
    padding: 0 !important; margin: 0 !important;
}
.page-id-9080 .elementor-element-tlsliderwidget,
.page-id-9080 .elementor-element-tlsliderwidget > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
.page-id-9080 .tl-slider { position: relative; width: 100%; height: 873px; }
.page-id-9080 .tl-swiper { height: 873px; width: 100%; overflow: hidden; }
.page-id-9080 .tl-swiper .swiper-wrapper { height: 873px; }
.page-id-9080 .tl-slide { display: flex !important; height: 873px; width: 100%; box-sizing: border-box; }
.page-id-9080 .tl-slide-img {
    flex: 0 0 50%; width: 50%; height: 873px;   /* 50/50 imagem|painel (Figma) */
    background: #0d1730 url('../../../../uploads/2026/07/timeline-1981.png') center center / cover no-repeat;
}
.page-id-9080 .tl-slide-panel {
    flex: 1 1 auto; position: relative;
    display: flex; flex-direction: column; justify-content: flex-end;
    padding: 0 64px 96px 64px;   /* gap 64 da imagem; bottom 96 */
    box-sizing: border-box;
}
.page-id-9080 .tl-slide-inner { display: flex; flex-direction: column; gap: 24px; max-width: 576px; }
.page-id-9080 .tl-slide-eyebrow {
    display: inline-flex; align-items: center;
    font-family: 'Nunito Sans', sans-serif; font-weight: 700; font-size: 12px;
    line-height: 1.4; text-transform: uppercase; color: #EB506D;
}
.page-id-9080 .tl-slide-eyebrow::after {
    content: ''; width: 30px; height: 1px; background: #EB506D; margin-left: 8px; flex-shrink: 0;
}
.page-id-9080 .tl-slide-year {
    font-family: 'Nunito Sans', sans-serif; font-weight: 800; font-size: 36px;
    line-height: 1.1; letter-spacing: -0.72px; color: #FFFFFF; margin: 0;
}
.page-id-9080 .tl-slide-desc {
    font-family: 'Lato', sans-serif; font-weight: 400; font-size: 23px;
    line-height: 30px; color: #D1D4DB; margin: 0; max-width: 576px;
}
.page-id-9080 .tl-slider-pagination {
    position: absolute; top: 50%; right: 24px; transform: translateY(-50%);
    display: flex; flex-direction: column; gap: 16px; z-index: 5; width: 16px;
}
.page-id-9080 .tl-slider-pagination .swiper-pagination-bullet {
    width: 16px; height: 16px; margin: 0 !important; opacity: 1;
    background: #BABFC9; border-radius: 50%; transition: transform .3s, background .3s;
}
.page-id-9080 .tl-slider-pagination .swiper-pagination-bullet-active {
    background: #E6264B; transform: scale(1.4);
}

/* TL — remover o padding default (10px) das colunas Elementor: conteúdo encosta à banda (Figma 156/155) */
.page-id-9080 .elementor-element-tlbannercol > .elementor-widget-wrap,
.page-id-9080 .elementor-element-tlintrocol > .elementor-widget-wrap,
.page-id-9080 .elementor-element-tlintrocolL > .elementor-widget-wrap,
.page-id-9080 .elementor-element-tlintrocolR > .elementor-widget-wrap,
.page-id-9080 .elementor-element-tlslidercol > .elementor-widget-wrap {
    padding: 0 !important;
}

/* TL §4 — forçar Lato na descrição (tema sobrepõe Nunito no text-editor) */
.page-id-9080 .tl-slide-desc { font-family: 'Lato', sans-serif !important; }

/* ===== Timeline (9080) — responsivo mobile/tablet (ticket 86cajcq1p) =====
   Colunas legacy 590/580 + banner/headline 48px + imagem 1236px fixa + slider
   50/50 não reflowam <1512. Reflow nos breakpoints do tema. */
@media (max-width: 1024px) {
    /* §2/§3: padding lateral (o TL zera o padding das colunas p/ a banda desktop) */
    .page-id-9080 .elementor-element-tlbanner1 > .elementor-container,
    .page-id-9080 .elementor-element-tlintro1 > .elementor-container {
        padding-left: 24px !important; padding-right: 24px !important;
    }
    /* §3 Intro 2-col (590/580) -> empilhar */
    .page-id-9080 .elementor-element-tlintrorow > .elementor-container { flex-wrap: wrap !important; }
    .page-id-9080 .elementor-element-tlintrocolL,
    .page-id-9080 .elementor-element-tlintrocolR { width: 100% !important; flex: 1 1 100% !important; }
    #tl-intro-para .elementor-heading-title { margin-top: 16px !important; }
    /* Imagem: escala natural (largar o crop/zoom calibrado p/ desktop) */
    .page-id-9080 #tl-intro-img { width: 100% !important; height: auto !important; }
    .page-id-9080 #tl-intro-img img {
        width: 100% !important; height: auto !important;
        position: static !important; left: auto !important; top: auto !important;
    }
    /* §4 Slider: empilhar imagem (topo) + painel (baixo). Altura fixa mobile —
       o swiper vertical precisa de altura consistente entre slides. */
    .page-id-9080 .tl-slider,
    .page-id-9080 .tl-swiper,
    .page-id-9080 .tl-swiper .swiper-wrapper,
    .page-id-9080 .tl-slide { height: 580px !important; }
    .page-id-9080 .tl-slide { flex-direction: column !important; }
    .page-id-9080 .tl-slide-img { flex: none !important; width: 100% !important; height: 200px !important; }
    .page-id-9080 .tl-slide-panel {
        flex: 1 1 auto !important; width: 100% !important;
        justify-content: flex-start !important;
        padding: 32px 48px 32px 24px !important;   /* right 48: não colidir c/ os dots */
    }
    .page-id-9080 .tl-slide-inner { max-width: none !important; }
    .page-id-9080 .tl-slide-desc { max-width: none !important; font-size: 17px !important; line-height: 26px !important; }
}
@media (max-width: 768px) {
    #tl-banner-title .elementor-heading-title { font-size: 34px !important; }
    #tl-intro-headline .elementor-heading-title { font-size: 32px !important; }
}
@media (max-width: 480px) {
    #tl-banner-title .elementor-heading-title { font-size: 30px !important; }
    #tl-intro-headline .elementor-heading-title { font-size: 26px !important; }
}


/* ===================================================================
   OUR BRANDS / NOS ENTITÉS & MARQUES (page-id-9090) — Figma node 419:3314 (R&M = SOT)
   =================================================================== */

/* Banner deve começar em y=0 (nav transparente sobrepõe-se ao topo, como Figma
   e About Us). O tema aplica margin-top:-102px em #qodef-page-outer (content-behind-
   header) que sobre-puxa o banner para -102 e esconde 102px do topo — anular. */
.page-id-9090 #qodef-page-outer { margin-top: 0 !important; }

/* --- §2 Banner (obbanner1) — node 419:3381, 560px, banda 1200/156 --- */
.page-id-9090 .elementor-element-obbanner1 {
    min-height: 560px !important;
    display: flex !important;
    align-items: center !important;   /* Figma justify-center vertical */
    /* Figma: imagem escalada a 1512x1008 (h 180.02%), top -241px, 45% sobre preto */
    background-size: 100% 180.02% !important;
    background-position: 50% -241px !important;
    background-repeat: no-repeat !important;
}
.page-id-9090 .elementor-element-obbanner1 > .elementor-container {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.page-id-9090 .elementor-element-obbannercol > .elementor-widget-wrap {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 24px !important;
    padding: 0 !important;
}
.page-id-9090 .elementor-element-obbannercol > .elementor-widget-wrap > .elementor-widget {
    width: auto !important;
    margin: 0 !important;
}
/* Eyebrow "Notre écosystème" — 12px 700 #EB506D uppercase + divider 30x1 */
.page-id-9090 #ob-banner-eyebrow .elementor-heading-title {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    color: #EB506D !important;
}
.page-id-9090 #ob-banner-eyebrow .elementor-heading-title::after {
    content: '' !important;
    width: 30px !important; height: 1px !important;
    background-color: #EB506D !important;
    margin-left: 8px !important; flex-shrink: 0 !important;
}
/* Título — 48px 800 #FFF uppercase ls -0.96 */
.page-id-9090 #ob-banner-title .elementor-heading-title {
    margin: 0 !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 800 !important;
    font-size: 48px !important;
    line-height: 1.1 !important;
    letter-spacing: -0.96px !important;
    text-transform: uppercase !important;
    color: #FFFFFF !important;
}

/* --- §3 Intro "Nos entités commerciales" (obintro1) — node 419:3382, branco, banda 1202/155 --- */
.page-id-9090 .elementor-element-obintro1 {
    background-color: #FFFFFF !important;
    padding-top: 44px !important;
    padding-bottom: 60px !important;   /* atinge ~266px de altura da secção (Figma) */
}
.page-id-9090 .elementor-element-obintro1 > .elementor-container {
    max-width: 1202px !important;
    width: 100% !important;
}
.page-id-9090 .elementor-element-obintrocol > .elementor-widget-wrap { padding: 0 !important; }
.page-id-9090 .elementor-element-obintrorow > .elementor-container {
    gap: 26px !important;
    align-items: flex-start !important;
    max-width: 100% !important;
    flex-wrap: nowrap !important;
}
.page-id-9090 .elementor-element-obintrocolL,
.page-id-9090 .elementor-element-obintrocolR {
    flex: 1 1 50% !important; min-width: 0 !important; width: auto !important;   /* fluido (§3.2): encolhe 1025-1250, empilha <=1024 */
}
/* Esquerda: spacer 17 + gap 24 = 41px antes da headline (alinha com pt-40 da direita) */
.page-id-9090 .elementor-element-obintrocolL > .elementor-widget-wrap { padding: 41px 0 0 0 !important; }
.page-id-9090 .elementor-element-obintrocolR > .elementor-widget-wrap { padding: 40px 0 0 0 !important; }
.page-id-9090 .elementor-element-obintrorow .elementor-widget { margin: 0 !important; }

/* Headline Display/3 — 36px 800 #000 uppercase ls -0.72 */
.page-id-9090 #ob-intro-headline .elementor-heading-title {
    margin: 0 !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 800 !important;
    font-size: 36px !important;
    line-height: 1.1 !important;
    letter-spacing: -0.72px !important;
    text-transform: uppercase !important;
    color: #000000 !important;
}
/* Subtítulo h4 — 24px 700 #000 lh 1.3 */
.page-id-9090 #ob-intro-sub .elementor-heading-title {
    margin: 0 !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 24px !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #000000 !important;
}
/* Parágrafo h6 — 18px 500 #5A5A5A lh 1.4, gap 16 abaixo do subtítulo */
.page-id-9090 #ob-intro-para .elementor-heading-title {
    margin: 16px 0 0 0 !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 500 !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #5A5A5A !important;
}

/* --- §4 Grelha logótipos entidades (obcards1) — node 419:3375, 4 cards 300x302 --- */
.page-id-9090 .elementor-element-obcards1 {
    background-color: #FFFFFF !important;
    padding: 91px 0 0 0 !important;   /* gap 92 pós-§3 (Figma 826->918) */
}
.page-id-9090 .elementor-element-obcards1col > .elementor-widget-wrap { padding: 0 !important; }
.page-id-9090 .elementor-element-obcards1w,
.page-id-9090 .elementor-element-obcards1w > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
.page-id-9090 .ob-egrid {
    /* PROTÓTIPO receita §3 (fluida): base 1512 do Figma -> a 1512 dá left:140/width:1202
       exacto; encolhe fluido abaixo (fecha o buraco 1025-1511); handoff ao reflow <=1024. */
    display: flex; width: auto; max-width: 1202px;
    margin-left: max(24px, calc((100% - 1512px) / 2 + 140px));
    margin-right: 24px;
    border: 1px solid #BABABA; box-sizing: border-box;
}
.page-id-9090 .ob-ecard {
    flex: 1 1 0; height: 300px; box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    border-left: 1px solid #BABABA;
}
.page-id-9090 .ob-ecard:first-child { border-left: 0; }
.page-id-9090 .ob-elogo {
    width: 200px; height: 200px; padding: 10px; box-sizing: border-box;
    object-fit: contain; display: block;
}

/* --- §5 Cards texto entidades (obtext1) — node 419:3352, 4 cards ~300 --- */
/* Caixa fixa 228 (pt25 + grid178 + pb25); o card LOCA (texto longo) transborda
   visualmente sem empurrar o §6 — mantém o ritmo vertical do Figma. */
.page-id-9090 .elementor-element-obtext1 { background-color: #FFFFFF !important; padding: 25px 0 25px 0 !important; }
.page-id-9090 .elementor-element-obtext1col > .elementor-widget-wrap { padding: 0 !important; }
.page-id-9090 .elementor-element-obtext1w,
.page-id-9090 .elementor-element-obtext1w > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
.page-id-9090 .ob-tgrid {
    display: flex; align-items: flex-start;
    width: auto; max-width: 1203px;
    margin-left: max(24px, calc((100% - 1512px) / 2 + 139px));
    margin-right: 24px;   /* Figma §5 @ x=139, fluido (receita §3) */
}
/* min-height (não height fixo): descrições traduzidas mais longas (ex.: PT) empurravam
   o link "Saber mais" para fora dos 178px e ele ficava escondido. Cresce quando preciso. */
.page-id-9090 .ob-tgrid--ent { min-height: 178px; overflow: visible; }
.page-id-9090 .ob-tcard {
    flex: 1 1 0; box-sizing: border-box; padding: 0 35px;
    display: flex; flex-direction: column; align-items: flex-start;
}
.page-id-9090 .ob-tname {
    margin: 0; font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 800; font-size: 20px; line-height: 1.3; letter-spacing: 0;
    text-transform: uppercase; color: #1A1A1A;
}
.page-id-9090 .ob-tdesc {
    margin: 8px 0 0 0; font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 400; font-size: 16px; line-height: 1.6; letter-spacing: 0;
    color: #5A5A5A; max-width: 230px;
}
.page-id-9090 .ob-tbtn {
    display: inline-flex; align-items: center; gap: 16px;
    margin: 8px 0 0 0; padding: 16px 0; text-decoration: none;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 800; font-size: 16px; line-height: 17.85px; letter-spacing: 0;
    color: #050815;
}
.page-id-9090 .ob-tbtn:hover { color: #050815; }
.page-id-9090 .ob-tarrow { width: 18px; height: 13.0938px; flex-shrink: 0; display: block; }

/* --- §6 Intro "NOS MARQUES" (obintro2) — node 419:3316, branco, banda 1202/155 --- */
.page-id-9090 .elementor-element-obintro2 {
    background-color: #FFFFFF !important;
    padding-top: 108px !important;    /* gap 64 pós-§5 + intro pt 44 (afinar no ritmo) */
    padding-bottom: 48px !important;
}
.page-id-9090 .elementor-element-obintro2 > .elementor-container { max-width: 1202px !important; width: 100% !important; }
.page-id-9090 .elementor-element-obintro2col > .elementor-widget-wrap { padding: 0 !important; }
.page-id-9090 .elementor-element-obintro2row > .elementor-container {
    gap: 26px !important; align-items: flex-start !important; max-width: 100% !important; flex-wrap: nowrap !important;
}
.page-id-9090 .elementor-element-obintro2colL,
.page-id-9090 .elementor-element-obintro2colR { flex: 1 1 50% !important; min-width: 0 !important; width: auto !important; }
.page-id-9090 .elementor-element-obintro2colL > .elementor-widget-wrap { padding: 41px 0 0 0 !important; }
.page-id-9090 .elementor-element-obintro2colR > .elementor-widget-wrap { padding: 40px 0 0 0 !important; }
.page-id-9090 .elementor-element-obintro2row .elementor-widget { margin: 0 !important; }
/* Headline "NOS MARQUES" — 36px 800 #000 uppercase ls -0.72 */
.page-id-9090 #ob-marques-headline .elementor-heading-title {
    margin: 0 !important; font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 800 !important; font-size: 36px !important; line-height: 1.1 !important;
    letter-spacing: -0.72px !important; text-transform: uppercase !important; color: #000000 !important;
}
/* Parágrafo — Lato 19px 400 lh 28 #5A5A5A (Figma: Font 2 = Lato) */
.page-id-9090 #ob-marques-para .elementor-heading-title {
    margin: 0 !important; font-family: 'Lato', sans-serif !important;
    font-weight: 400 !important; font-size: 19px !important; line-height: 28px !important;
    letter-spacing: 0 !important; text-transform: none !important; color: #5A5A5A !important;
}

/* --- §7 Grelha logótipos marcas (obcards2) — node 419:3342, 3 cards 400x302 --- */
.page-id-9090 .elementor-element-obcards2 {
    background-color: #FFFFFF !important;
    padding: 92px 0 0 0 !important;   /* gap 92 pós-§6 (Figma 1685->1777) */
}
.page-id-9090 .elementor-element-obcards2col > .elementor-widget-wrap { padding: 0 !important; }
.page-id-9090 .elementor-element-obcards2w,
.page-id-9090 .elementor-element-obcards2w > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
.page-id-9090 .ob-bgrid {
    display: flex; width: auto; max-width: 1203px;
    margin-left: max(24px, calc((100% - 1512px) / 2 + 143px));
    margin-right: 24px;   /* Figma §7 @ x=143, fluido (receita §3) */
    border: 1px solid #BABABA; box-sizing: border-box;
}
.page-id-9090 .ob-bcard {
    flex: 1 1 0; height: 300px; box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    border-left: 1px solid #BABABA;
}
.page-id-9090 .ob-bcard:first-child { border-left: 0; }
.page-id-9090 .ob-blogo {
    width: 250px; height: 250px; padding: 10px; box-sizing: border-box;
    object-fit: contain; display: block;
}

/* --- §8 Cards texto marcas (obtext2) — node 419:3325, 3 cards ~401 --- */
/* Caixa fixa 176; Hydracooling (c/ botão) transborda visualmente. Gap 63 pré-footer. */
.page-id-9090 .elementor-element-obtext2 { background-color: #FFFFFF !important; padding: 0 0 63px 0 !important; }
.page-id-9090 .elementor-element-obtext2col > .elementor-widget-wrap { padding: 0 !important; }
.page-id-9090 .elementor-element-obtext2w,
.page-id-9090 .elementor-element-obtext2w > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
.page-id-9090 .ob-tgrid--brands {
    margin-left: max(24px, calc((100% - 1512px) / 2 + 143px));   /* Figma §8 @ x=143, fluido */
    margin-right: 24px;
    height: 176px; overflow: visible;
}
.page-id-9090 .ob-tgrid--brands .ob-tcard { padding: 32px 38px 0 38px; }
.page-id-9090 .ob-tgrid--brands .ob-tdesc { max-width: 324px; }

/* --- Nav active-state — Figma: "/" vermelho + label BRANCO (item activo) --- */
/* O slash "/" vermelho já vem do tema; falta o label branco (estava #D1D4DB). */
.page-id-9090 .qodef-header-navigation > ul > li.current-menu-item > a > .qodef-menu-item-text {
    color: #FFFFFF !important;
}
.page-id-9090 .qodef-header-navigation > ul > li.current-menu-item > a > .qodef-menu-item-text::before {
    color: #E6264B !important;   /* manter a barra vermelha */
}

/* --- Banda fluida (receita §3 do ROOT-CAUSE): o `margin-left: max(24px,
   calc((100%-1512px)/2 + offset))` de cada banda já re-centra a ≥1512 E encolhe
   fluido abaixo (fecha o buraco 1025-1511). O antigo @media(min-width:1512) que
   só re-centrava tornou-se redundante — removido. --- */

/* ===== Our Brands (9090) — responsivo mobile/tablet (ticket 86cajcq1p) =====
   Base: intros 2-col legacy 588px + grids com margin-left fixo (140/143) e width
   1202/1203 → empurram tudo p/ a direita e não reflowam <1512. Reflow nos
   breakpoints do tema: banda fluida (margin 24), intros empilham, cards wrap. */
@media (max-width: 1024px) {
    /* §2 Banner: padding lateral (título de 48px não cola às bordas) */
    .page-id-9090 .elementor-element-obbanner1 > .elementor-container {
        padding-left: 24px !important; padding-right: 24px !important;
    }
    /* §3/§6 Intros 2-col (588px) -> empilhar */
    .page-id-9090 .elementor-element-obintrorow > .elementor-container,
    .page-id-9090 .elementor-element-obintro2row > .elementor-container { flex-wrap: wrap !important; }
    .page-id-9090 .elementor-element-obintrocolL,
    .page-id-9090 .elementor-element-obintrocolR,
    .page-id-9090 .elementor-element-obintro2colL,
    .page-id-9090 .elementor-element-obintro2colR { width: 100% !important; flex: 1 1 100% !important; }
    .page-id-9090 .elementor-element-obintrocolR > .elementor-widget-wrap,
    .page-id-9090 .elementor-element-obintro2colR > .elementor-widget-wrap { padding-top: 16px !important; }

    /* §4/§5/§7/§8 Grids: banda fluida (sem margin-left/width fixos) + wrap */
    .page-id-9090 .ob-egrid,
    .page-id-9090 .ob-tgrid,
    .page-id-9090 .ob-bgrid,
    .page-id-9090 .ob-tgrid--brands {
        width: auto !important; max-width: none !important;
        margin-left: 24px !important; margin-right: 24px !important;
        box-sizing: border-box !important;
        flex-wrap: wrap !important;
    }
    /* Logo grids (§4/§7): 2 por linha; recompor borders no wrap */
    .page-id-9090 .ob-ecard,
    .page-id-9090 .ob-bcard { flex: 1 1 50% !important; }
    .page-id-9090 .ob-ecard:nth-child(odd),
    .page-id-9090 .ob-bcard:nth-child(odd) { border-left: 0 !important; }
    .page-id-9090 .ob-ecard:nth-child(n+3),
    .page-id-9090 .ob-bcard:nth-child(n+3) { border-top: 1px solid #BABABA !important; }
    /* Text cards (§5/§8): 2 por linha, altura auto */
    .page-id-9090 .ob-tgrid--ent,
    .page-id-9090 .ob-tgrid--brands { height: auto !important; row-gap: 40px !important; }
    .page-id-9090 .ob-tcard { flex: 1 1 50% !important; }
    .page-id-9090 .ob-tdesc,
    .page-id-9090 .ob-tgrid--brands .ob-tdesc { max-width: none !important; }
}
@media (max-width: 768px) {
    /* Banner: título encolhe p/ caber sem cortar */
    .page-id-9090 #ob-banner-title .elementor-heading-title {
        font-size: 34px !important; letter-spacing: -0.5px !important;
    }
}
@media (max-width: 680px) {
    /* Tudo 1-col */
    .page-id-9090 .ob-ecard,
    .page-id-9090 .ob-bcard,
    .page-id-9090 .ob-tcard { flex: 1 1 100% !important; }
    .page-id-9090 .ob-ecard,
    .page-id-9090 .ob-bcard { border-left: 0 !important; }
    .page-id-9090 .ob-ecard:nth-child(n+2),
    .page-id-9090 .ob-bcard:nth-child(n+2) { border-top: 1px solid #BABABA !important; }
}

/* ============================================================================
   GOVERNANCE — Notre gouvernance (page-id-9101) — node Figma 419:3518
   Modelo RESPONSIVO nativo: containers boxed fluidos (full-bleed bg + conteúdo
   1200 centrado, sem width px fixo), reflow nos breakpoints do tema
   (1024/768/680/480). Tipografia exacta Nunito Sans via css_classes.
   ============================================================================ */

/* Banner atrás da nav transparente: anular o over-pull -102 do tema (=OB/timeline) */
.page-id-9101 #qodef-page-outer { margin-top: 0; }

/* elimina o padding p-10px que o Elementor mete nos containers/html widgets */
.page-id-9101 .gov-banner .elementor-widget-html,
.page-id-9101 .gov-eyebrow { padding: 0; }

/* ---- Eyebrow (label rosa + divider) — reutilizável (atomic OU html) ---- */
.page-id-9101 .gov-eyebrow { display: flex; align-items: center; gap: 8px; }
.page-id-9101 .gov-eyebrow--pink .e-heading-base,
.page-id-9101 .gov-eyebrow--pink .gov-eyebrow__label {
    font-family: 'Nunito Sans', sans-serif;
    font-weight: 700; font-size: 12px; line-height: 1.4; letter-spacing: 0;
    color: #EB506D; text-transform: uppercase; white-space: nowrap; margin: 0;
}
.page-id-9101 .gov-eyebrow--pink .e-divider-base,
.page-id-9101 .gov-eyebrow--pink .gov-eyebrow__rule {
    display: block; width: 30px; max-width: 30px; border: 0; border-top: 1px solid #EB506D;
    height: 0; margin: 0; flex: 0 0 30px;
}

/* ============================ §2 · Banner / Hero ============================ */
.page-id-9101 .gov-banner { min-height: 560px; }
/* Imagem do hero: baseline responsivo = cover + center 8% (posição do Figma).
   ≥1440: transform EXACTO do Figma (imagem a 111.98% + offset -0.52%/-10.04%
   convertido p/ background-position) para desktop pixel-perfect. */
@media (min-width: 1440px) {
    .page-id-9101 .gov-banner {
        background-size: 111.98% auto !important;
        background-position: 4.4% 9.8% !important;
    }
}
.page-id-9101 .gov-banner__block {
    display: flex; flex-direction: column; align-items: flex-start; gap: 24px; width: 100%;
}
.page-id-9101 .gov-banner__title {
    font-family: 'Nunito Sans', sans-serif;
    font-weight: 800; font-size: 48px; line-height: 1.1; letter-spacing: -0.96px;
    color: #FFFFFF; text-transform: uppercase; margin: 0;
}
/* ≥1440 (inclui 1512/1920): 3 linhas exactas do Figma — a linha 2 (1283px)
   transborda a banda 1200 até ~1439px, como no Figma, sem overflow de viewport.
   SÓ no FR: as quebras dependem de <br class="brk"> que só existem no HTML FR.
   Nas traduções (que perdem os .brk) o nowrap causava overflow cortado -> deixamos
   quebrar naturalmente. Scoped por html[lang] (o page-id-9101 transporta p/ traduções). */
@media (min-width: 1440px) {
    html[lang^="fr"] .page-id-9101 .gov-banner__title { white-space: nowrap; }
}
/* reflow do banner: título encolhe, quebras forçadas colapsam em mobile */
@media (max-width: 1024px) {
    .page-id-9101 .gov-banner__title { font-size: 40px; }
}
@media (max-width: 768px) {
    .page-id-9101 .gov-banner { min-height: 460px; }
    .page-id-9101 .gov-banner__title { font-size: 32px; letter-spacing: -0.5px; }
    .page-id-9101 .gov-banner__title .brk { display: none; }
}
@media (max-width: 480px) {
    .page-id-9101 .gov-banner { min-height: 400px; }
    .page-id-9101 .gov-banner__title { font-size: 26px; letter-spacing: -0.3px; }
}

/* Inner containers full-width não têm padding default do Elementor —
   o espaçamento nesta página é explícito (gap / padding das secções boxed). */
.page-id-9101 .e-con-full { padding: 0; }

/* Padding lateral fluido em ecrãs < banda (conteúdo não cola às bordas) —
   aplica-se só aos wrappers boxed das secções (inner containers são full). */
@media (max-width: 1199px) {
    .page-id-9101 .e-con.e-con-boxed > .e-con-inner {
        padding-left: max(24px, 4vw); padding-right: max(24px, 4vw);
    }
}

/* =========================== §3 · Mission / Vision ========================== */
.page-id-9101 .gov-mission__block {
    width: 100%; border-top: 1px solid #1A2A4A; padding-top: 24px;
}
.page-id-9101 .gov-mission__block .e-paragraph-base {
    font-family: 'Nunito Sans', sans-serif;
    font-weight: 500; font-size: 18px; line-height: 1.4; letter-spacing: 0;
    color: #5A5A5A; margin: 0;
}
@media (max-width: 768px) {
    .page-id-9101 .gov-mission { padding-top: 72px !important; padding-bottom: 48px !important; }
}

/* =========================== §4 · Intro (organigrama) ====================== */
.page-id-9101 .gov-intro .elementor-widget-html { width: 100%; padding: 0; }
.page-id-9101 .gov-intro__chart {
    display: block; width: 100%; max-width: 1202px; height: auto; margin: 0 auto;
}

/* ---- Botão text-link reutilizável (§5 dark, §6 dark, §8 light) ---- */
.page-id-9101 .gov-btn {
    display: inline-flex; align-items: stretch; border: 1px solid #5A5A5A;
    text-decoration: none; background: transparent;
}
.page-id-9101 .gov-btn__label {
    display: flex; align-items: center; padding: 16px;
    font-family: 'Nunito Sans', sans-serif; font-weight: 800; font-size: 16px; line-height: 17.85px;
    letter-spacing: 0; color: #000000; text-align: right; white-space: nowrap;
}
.page-id-9101 .gov-btn__arrow {
    display: flex; align-items: center; padding: 16px 16px 16px 17px;
    border-left: 1px solid #5A5A5A; color: #E6264B;
}
.page-id-9101 .gov-btn__ico { display: block; width: 18px; height: 13.094px; }
.page-id-9101 .gov-btn--light { border-color: #F5F5F5; }
.page-id-9101 .gov-btn--light .gov-btn__label { color: #FFFFFF; }
.page-id-9101 .gov-btn--light .gov-btn__arrow { border-left-color: #F5F5F5; }
/* animação nativa do tema: seta desliza (path 1 sai à direita, path 2 entra da esquerda) */
.page-id-9101 .gov-btn__ico { overflow: hidden; }
.page-id-9101 .gov-btn__ico path:nth-of-type(1) { transform: translateX(0); transition: transform 0.2s ease-out 0.2s; }
.page-id-9101 .gov-btn__ico path:nth-of-type(2) { transform: translateX(-18px); transition: transform 0.2s ease-in; }
.page-id-9101 .gov-btn:hover .gov-btn__ico path:nth-of-type(1) { transform: translateX(18px); transition: transform 0.2s ease-in; }
.page-id-9101 .gov-btn:hover .gov-btn__ico path:nth-of-type(2) { transform: translateX(0); transition: transform 0.2s ease-out 0.2s; }

/* ================================ §5 · Claim ============================== */
.page-id-9101 .gov-claim__inner {
    display: flex; flex-direction: column; align-items: flex-start; gap: 48px; width: 100%;
    padding: 0;
}
.page-id-9101 .gov-claim__inner > .e-con-inner { padding: 0; }
.page-id-9101 .gov-claim .e-heading-base {
    font-family: 'Nunito Sans', sans-serif;
    font-weight: 800; font-size: 20px; line-height: 1.3; letter-spacing: 0;
    color: #000000; text-transform: uppercase; margin: 0; width: 100%;
}
.page-id-9101 .gov-claim .elementor-widget-html { padding: 0; width: auto; }

/* ============================ §6 · 2-col Headline ========================= */
.page-id-9101 .gov-2col__row { display: flex; flex-direction: row; gap: 26px; align-items: flex-start; }
.page-id-9101 .gov-2col__left, .page-id-9101 .gov-2col__col { flex: 1 1 0; min-width: 0; padding: 0; }
.page-id-9101 .gov-2col__left { display: flex; flex-direction: column; align-items: flex-start; gap: 48px; }
.page-id-9101 .gov-2col .e-heading-base {
    font-family: 'Nunito Sans', sans-serif;
    font-weight: 800; font-size: 36px; line-height: 1.1; letter-spacing: -0.72px;
    color: #000000; text-transform: uppercase; margin: 0; width: 100%;
}
.page-id-9101 .gov-2col .e-paragraph-base {
    font-family: 'Nunito Sans', sans-serif;
    font-weight: 500; font-size: 18px; line-height: 1.4; letter-spacing: 0;
    color: #5A5A5A; margin: 0;
}
.page-id-9101 .gov-2col .elementor-widget-html { padding: 0; width: auto; }
/* reflow: empilha col dir sob esq em <=1024 */
@media (max-width: 1024px) {
    .page-id-9101 .gov-2col__left, .page-id-9101 .gov-2col__col { flex: none; width: 100%; }
}

/* ============================ §7 · Gouvernance + Equipe ==================== */
/* pt-70/pb-28 explícitos: o §7 é content_width:full e a regra global
   .e-con-full{padding:0} zerava o padding do Elementor desta secção. */
.page-id-9101 .gov-gouv { display: flex; flex-direction: column; gap: 68px; background: #FFFFFF; padding-top: 70px; padding-bottom: 28px; }
/* a band é um container boxed: os 3 blocos de comités vivem no .e-con-inner,
   por isso o gap-84 tem de ir no inner (não no outer, que só tem 1 filho). */
.page-id-9101 .gov-gouv__band > .e-con-inner { display: flex; flex-direction: column; gap: 84px; padding-top: 0; padding-bottom: 0; }
.page-id-9101 .gov-gouv .elementor-widget-html { padding: 0; width: 100%; }

/* 7A header: eyebrow bar preta + título centrado crimson */
.page-id-9101 .gov-gouv__7a { display: flex; flex-direction: column; gap: 48px; }
.page-id-9101 .gov-gouv__ebar { width: 100%; border-bottom: 1px solid #000000; padding-bottom: 8px;
    font-size: 12px; line-height: 1.4; /* evita strut alto do div (herdava fonte grande → +12px) */ }
.page-id-9101 .gov-gouv__ebar-label {
    font-family: 'Nunito Sans', sans-serif; font-weight: 700; font-size: 12px; line-height: 1.4;
    letter-spacing: 0; color: #000000; text-transform: uppercase;
}
.page-id-9101 .gov-gouv .e-heading-base {
    font-family: 'Nunito Sans', sans-serif; font-weight: 800; font-size: 48px; line-height: 1.1;
    letter-spacing: -0.96px; color: #E6264B; text-transform: uppercase; text-align: center;
    /* +34px = a 2ª linha (vazia/trim) do título no Figma (title-row = 87px) */
    margin: 0 0 34px; width: 100%;
}

/* comités (2-col: nome | descrição) */
.page-id-9101 .gov-comite { display: flex; gap: 24px; width: 100%; align-items: stretch; }
.page-id-9101 .gov-comite__name, .page-id-9101 .gov-comite__desc { flex: 1 1 0; min-width: 0; }
.page-id-9101 .gov-comite__name {
    display: flex; align-items: flex-start;
    font-family: 'Nunito Sans', sans-serif; font-weight: 800; font-size: 20px; line-height: 1.3;
    letter-spacing: 0; color: #000000; text-transform: uppercase;
}
.page-id-9101 .gov-comite__desc {
    font-family: 'Nunito Sans', sans-serif; font-weight: 500; font-size: 18px; line-height: 1.4;
    letter-spacing: 0; color: #000000;
}

/* carrossel de equipa: alinha à banda (155 @1512) e transborda à direita (scroll interno) */
.page-id-9101 .gov-gouv__carousel-wrap { width: 100%; }
.page-id-9101 .gov-carousel {
    overflow-x: auto; padding-left: max(24px, calc((100% - 1202px) / 2)); padding-bottom: 8px;
    -webkit-overflow-scrolling: touch;
    /* fix #6: slider com navegação — snap card-a-card + esconder scrollbar (a nav é injectada via JS).
       scroll-padding-left = offset da banda, p/ o snap alinhar os cards à banda (não à borda). */
    scroll-snap-type: x proximity; scroll-padding-left: max(24px, calc((100% - 1202px) / 2));
    scroll-behavior: smooth; scrollbar-width: none; -ms-overflow-style: none;
}
.page-id-9101 .gov-carousel::-webkit-scrollbar { display: none; }
.page-id-9101 .gov-carousel__track { display: flex; gap: 24px; width: max-content; padding-right: 24px;
    min-height: 522px; align-items: center; /* row do carrossel; cards centrados. calibrado p/ §7=1390 */ }
.page-id-9101 .gov-card { flex: 0 0 324px; width: 324px; display: flex; flex-direction: column; scroll-snap-align: start; }
/* marquee auto-scroll (como o tema original; sem setas) — track duplicado no JS + translateX(-50%) seamless */
.page-id-9101 .gov-carousel--marquee {
    overflow: hidden; padding-left: 0; padding-bottom: 0;
    scroll-snap-type: none;
}
.page-id-9101 .gov-carousel--marquee .gov-carousel__track {
    gap: 0; padding-right: 0;   /* gap via margin-right dos cards p/ o loop -50% ser seamless */
    animation: gov-marquee var(--gov-marquee-duration, 40s) linear infinite;
    will-change: transform;
}
.page-id-9101 .gov-carousel--marquee .gov-card { margin-right: 24px; }
.page-id-9101 .gov-carousel--marquee:hover .gov-carousel__track { animation-play-state: paused; }
@keyframes gov-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
/* fix #6: navegação do slider (setas prev/next) */
.page-id-9101 .gov-carousel__nav {
    display: flex; gap: 12px; margin-top: 32px;
    padding-left: max(24px, calc((100% - 1202px) / 2));   /* alinha com a banda dos cards */
}
.page-id-9101 .gov-carousel__arrow {
    width: 48px; height: 48px; border-radius: 50%; padding: 0; flex-shrink: 0;
    border: 1px solid #BABABA; background: #FFFFFF; color: #1A2A4A;
    display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
    transition: background-color .2s, border-color .2s, color .2s, opacity .2s;
}
.page-id-9101 .gov-carousel__arrow:hover:not(:disabled) { background: #E6264B; border-color: #E6264B; color: #FFFFFF; }
.page-id-9101 .gov-carousel__arrow:disabled { opacity: .35; cursor: default; }
.page-id-9101 .gov-card__photo {
    width: 100%; aspect-ratio: 324 / 412; overflow: hidden; background-color: #E6264B;
}
.page-id-9101 .gov-card__photo img {
    width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block;
}
.page-id-9101 .gov-card__photo--empty { background-color: #E6264B; }
.page-id-9101 .gov-card__text { padding-top: 24px; display: flex; flex-direction: column; gap: 8px; }
.page-id-9101 .gov-card__name {
    font-family: 'Nunito Sans', sans-serif; font-weight: 800; font-size: 20px; line-height: 1.3;
    color: #1A1A1A; text-transform: uppercase;
}
.page-id-9101 .gov-card__role {
    font-family: 'Nunito Sans', sans-serif; font-weight: 400; font-size: 16px; line-height: 1.6;
    color: #5A5A5A;
}

/* §7 reflow */
@media (max-width: 768px) {
    .page-id-9101 .gov-gouv { padding-top: 56px !important; padding-bottom: 48px !important; gap: 56px; }
    .page-id-9101 .gov-gouv__band > .e-con-inner { gap: 56px; }
    .page-id-9101 .gov-gouv .e-heading-base { font-size: 34px; letter-spacing: -0.5px; margin-bottom: 28px; }
    .page-id-9101 .gov-comite { flex-direction: column; gap: 8px; }
    .page-id-9101 .gov-comite__name { align-items: flex-start; }
}
@media (max-width: 480px) {
    .page-id-9101 .gov-gouv .e-heading-base { font-size: 28px; }
}

/* ============================ §8 · Stratégie (navy 2-col) ================== */
.page-id-9101 .gov-strat { background: #1A2A4A; }
.page-id-9101 .gov-strat__row { display: flex; flex-direction: row; gap: 24px; align-items: flex-start; }
.page-id-9101 .gov-strat__left, .page-id-9101 .gov-strat__fondwrap { flex: 1 1 0; min-width: 0; }
.page-id-9101 .gov-strat__left { display: flex; flex-direction: column; gap: 48px; }
.page-id-9101 .gov-strat__lefttop { display: flex; flex-direction: column; gap: 24px; }
.page-id-9101 .gov-strat .e-heading-base {
    font-family: 'Nunito Sans', sans-serif; font-weight: 800; font-size: 36px; line-height: 1.1;
    letter-spacing: -0.72px; color: #FFFFFF; text-transform: uppercase; margin: 0; width: 100%;
}
.page-id-9101 .gov-strat .elementor-widget-html { padding: 0; width: 100%; }
/* fondamentaux (col dir): lista com divisores #BABABA */
.page-id-9101 .gov-fond { display: flex; flex-direction: column; gap: 40px; padding-top: 48px; padding-bottom: 32px; margin: 0; list-style: none; }
.page-id-9101 .gov-fond__item {
    border-top: 1px solid #BABABA; padding-top: 24px;
    font-family: 'Nunito Sans', sans-serif; font-weight: 500; font-size: 18px; line-height: 1.4;
    letter-spacing: 0; color: #FFFFFF;
}
/* reflow: empilha em <=1024 */
@media (max-width: 1024px) {
    .page-id-9101 .gov-strat__row { flex-direction: column; gap: 40px; }
    .page-id-9101 .gov-strat__left, .page-id-9101 .gov-strat__fondwrap { flex: none; width: 100%; }
    .page-id-9101 .gov-fond { padding-top: 0; }
}
@media (max-width: 768px) {
    .page-id-9101 .gov-strat { padding-top: 72px !important; padding-bottom: 48px !important; }
    .page-id-9101 .gov-strat .e-heading-base { font-size: 30px; }
}

/* ============================ §9 · Solutions ============================== */
.page-id-9101 .gov-sol-sec { background: #F5F5F5; }
/* gap 75 (não 96): o headline tem line-box com ~21px de descender abaixo da 2ª
   linha (o Figma usa text-box-trim); 21+75 = 96 visível glyph->label. */
.page-id-9101 .gov-sol__wrap { display: flex; flex-direction: column; gap: 75px; }
.page-id-9101 .gov-sol__header { display: flex; flex-direction: column; gap: 24px; align-items: flex-start; }
.page-id-9101 .gov-sol-sec .e-heading-base {
    font-family: 'Nunito Sans', sans-serif; font-weight: 800; font-size: 48px; line-height: 1.1;
    letter-spacing: -0.96px; color: #000000; text-transform: uppercase; margin: 0; width: 100%;
}
.page-id-9101 .gov-sol-sec .elementor-widget-html { padding: 0; width: 100%; }
/* grid de categorias */
.page-id-9101 .gov-sol-grid { display: flex; flex-direction: column; gap: 32px; }
.page-id-9101 .gov-sol { display: flex; flex-direction: column; }
.page-id-9101 .gov-sol__label {
    width: 100%; border-bottom: 1px solid #BABABA; padding-bottom: 8px; /* Figma: caixa->linha = 8px */
    font-family: 'Nunito Sans', sans-serif; font-weight: 600; font-size: 28px; line-height: 1.3;
    letter-spacing: 0; color: #1A1A1A;
}
.page-id-9101 .gov-sol__items {
    display: flex; flex-direction: column; padding-left: 33.7%; padding-top: 48px; /* Figma: linha->itens = 56px */
}
.page-id-9101 .gov-sol__items span {
    font-family: 'Nunito Sans', sans-serif; font-weight: 500; font-size: 20px; line-height: 1.4;
    letter-spacing: 0; color: #1A1A1A;
}
/* reflow: itens sem indent em <=768 */
@media (max-width: 768px) {
    .page-id-9101 .gov-sol-sec { padding-top: 72px !important; padding-bottom: 72px !important; }
    .page-id-9101 .gov-sol__wrap { gap: 56px; }
    .page-id-9101 .gov-sol__items { padding-left: 0; padding-top: 16px; }
    .page-id-9101 .gov-sol-sec .e-heading-base { font-size: 32px; letter-spacing: -0.5px; }
}
@media (max-width: 480px) {
    .page-id-9101 .gov-sol-sec .e-heading-base { font-size: 26px; }
}

/* ---- Nav active state: 'Notre Groupe' (ancestor da gouvernança) ----
   O tema já mete o slash "/ " a #E6264B no item ancestor; falta o label branco. */
.page-id-9101 .qodef-header-navigation > ul > li.current-menu-ancestor > a > .qodef-menu-item-text,
.page-id-9101 .qodef-header-navigation > ul > li.current-menu-item > a > .qodef-menu-item-text {
    color: #FFFFFF !important;
}

/* ---- Navbar mobile/tablet transparente (GLOBAL, como o desktop) ----
   O tema mete o mobile header como barra branca sólida (relative) que empurra o
   banner. O design tem a navbar transparente sobre o banner com logo branco em
   TODAS as páginas (o desktop já é global-transparente — L684). Torna-o absolute
   (banner atrás) + transparente + troca o logo p/ o light + hamburger vermelho. */
@media (max-width: 1024px) {
    #qodef-page-mobile-header {
        position: absolute; top: 0; left: 0; right: 0; z-index: 100;
        background-color: transparent !important;
    }
    /* logo branco: .qodef-header-logo-image É o próprio <img>; substitui a
       imagem servida (dark navy) pela white (navy->branco, mantém vermelho). */
    #qodef-page-mobile-header img.qodef-header-logo-image {
        content: url("../images/ice-logo-white.svg");
    }
    /* hamburger vermelho (como o desktop) */
    #qodef-page-mobile-header .qodef-opener-icon {
        background-color: #E6264B !important;
    }
}

/* ===================================================================
   About §9 "Nos Implantations" — mapa (Slider Revolution)  [fix #8]
   =================================================================== */
/* #8a — halo dos pins VERMELHO (#E6264B). O asset do tema é laranja
   (rev-main-home-02-orange-circle.png); substituído por anel SVG vermelho.
   Determinístico e responsivo (não é filtro). */
.page-id-2118 .elementor-element-9630fd6 [style*="orange-circle"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='16' fill='none' stroke='%23E6264B' stroke-width='2'/%3E%3C/svg%3E") !important;
}
/* #8b — a posição vertical do mapa é feita DENTRO do slider (camadas subidas na
   BD), não por CSS: o RevSlider sobrepõe transforms no módulo, logo o CSS não é
   fiável aqui. As camadas do mapa/arcos/pins têm o Y reduzido no slide. */


/* ===================================================================
   NOS FONDAMENTAUX (post 9108) — build nativo (e-con + In Grid do tema)
   Tipografia via CSS (px de fonte, não de layout); layout é fluido nativo.
   =================================================================== */

/* ---------- §2 Banner hero "Nos fondamentaux" ---------- */
/* Título Display/2 — 48px ExtraBold 800, ls -0.96px, branco, uppercase, lh 1.1 */
.page-id-9108 .elementor-element-657821a > .e-heading-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 48px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.96px;
    color: #FFFFFF;
    text-transform: uppercase;
    margin: 0;
}
/* Eyebrow "Nos engagements" — 12px Bold 700, crimson #EB506D, uppercase, lh 1.4 */
.page-id-9108 .elementor-element-2adb3ee > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    color: #EB506D;
    text-transform: uppercase;
    margin: 0;
}
/* Divisor do eyebrow — 30×1px crimson (override do min-height default do atomic div-block) */
.page-id-9108 .elementor-element-ad470d9 {
    width: 30px !important;
    min-width: 30px;
    height: 1px !important;
    min-height: 1px !important;
    padding: 0 !important;
    flex: 0 0 30px;
    align-self: center;
    background-color: #EB506D !important;   /* a risca do eyebrow (o bg do add-div-block não pegou) */
}

/* ---------- §3 Intro 2-col (sem botão) ---------- */
/* Secção: In Grid 1300 · 2 colunas fluidas · gap 26 · pt-44 · altura ~378 */
.page-id-9108 .elementor-element-caf0fda {
    padding: 44px 0;                 /* pt/pb 44, zero horizontal (In Grid já centra a 1300) */
    column-gap: 26px;
    min-height: 378px;
    box-sizing: border-box;
}
.page-id-9108 .elementor-element-1f382e8,
.page-id-9108 .elementor-element-563728e {
    flex: 1 1 0;
    min-width: 0;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;    /* remove o pt-10 default do e-con — eyebrow/headline no topo */
}
.page-id-9108 .elementor-element-563728e { padding-top: 40px !important; }   /* col dir pt-40 → subtítulo alinha com a headline */

/* Headline Display/3 — 36px/800/preto/ls-0.72/uppercase/lh1.1 */
.page-id-9108 .elementor-element-1f382e8 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 36px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.72px; color: #000000; text-transform: uppercase; margin: 0;
}
/* Eyebrow "Notre modèle" — 12px/700/crimson/uppercase */
.page-id-9108 .elementor-element-bec68cd > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 12px; font-weight: 700; line-height: 1.4;
    color: #EB506D; text-transform: uppercase; margin: 0;
}
/* Eyebrow divisor 30×1 */
.page-id-9108 .elementor-element-46dd620 {
    width: 30px !important; min-width: 30px;
    height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center;
    background-color: #EB506D !important;
}
/* remover o padding default (10px) dos flexboxes de layout (eyebrow-rows + bloco §2)
   — encolhia a eyebrow e desalinhava a headline/subtítulo */
.page-id-9108 .elementor-element-2adb3ee,
.page-id-9108 .elementor-element-bec68cd,
.page-id-9108 .elementor-element-daf07dd,
.page-id-9108 .elementor-element-657821a { padding: 0 !important; }
/* Subtítulo h4-Bold — 24px/700/preto/lh1.3 */
.page-id-9108 .elementor-element-563728e > .e-heading-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 24px; font-weight: 700; line-height: 1.3;
    color: #000000; text-transform: none; margin: 0;
}
/* Parágrafo — Lato 19px/400/#5A5A5A/lh28 (Figma "Font 2"; !important p/ vencer o font-family default do atomic) */
.page-id-9108 .elementor-element-563728e > .e-paragraph-base {
    font-family: "Lato", sans-serif !important;
    font-size: 19px; font-weight: 400; line-height: 28px;
    color: #5A5A5A; margin: 0;
}

/* ---------- §4 Banner "Nos piliers" (metade esq.) + §5 Cards pilar (metade dir.) ---------- */
/* Split full-width 50/50; banda esq. NÃO estica (secção align-items:flex-start) */
.page-id-9108 .elementor-element-c0ef242 > .elementor-element-243fb59,
.page-id-9108 .elementor-element-c0ef242 > .elementor-element-b5997d8 {
    flex: 1 1 0;
    min-width: 0;
}
/* cards empilhados sem gap (Figma) */
.page-id-9108 .elementor-element-b5997d8 { gap: 0; padding: 0 !important; }
/* split encostado + full-bleed — sem gap entre banda e cards, sem padding lateral (Figma) */
.page-id-9108 .elementor-element-c0ef242 { gap: 0; padding: 0; }   /* full-bleed + sem gap acima/abaixo (o pb-10 default deixava gap p/ o footer) */

/* §4 banner content — pl alinhado ao grid (~110), pr-48, pb-128 */
.page-id-9108 .elementor-element-857a9ad { padding: 0 48px 128px 110px !important; }
.page-id-9108 .elementor-element-daf07dd > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 12px; font-weight: 700; line-height: 1.4;
    color: #EB506D; text-transform: uppercase; margin: 0;
}
.page-id-9108 .elementor-element-6ddb304 {
    width: 30px !important; min-width: 30px; height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center;
    background-color: #EB506D !important;
}
.page-id-9108 .elementor-element-857a9ad > .e-heading-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 48px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.96px; color: #FFFFFF; text-transform: uppercase; margin: 0;
}

/* §5 cards (via .nf-card — sobrevive à duplicação) */
.page-id-9108 .nf-card { min-height: 349px; padding: 0 !important; }   /* card sem padding default — o content-row (px-32) faz o inset; text-block = 334 como o Figma */
/* Enquadramento das imagens: as fotos (512×342) são mais estreitas que o card (2.12) e o
   cover cortava-as ao meio (sujeito demasiado "centrado/zoom"). Baixa o ponto vertical
   ~30px p/ mostrar mais do topo da cena, como no Figma. */
.page-id-9108 .nf-card { background-position: center 30% !important; }
/* Durabilité (apicultores): o sujeito está mais alto na foto; 30% cortava as cabeças.
   Sobe o enquadramento p/ mostrar cabeças + árvores, como no Figma. */
.page-id-9108 .nf-card.elementor-element-5bb0e6e { background-position: center 8% !important; }
.page-id-9108 .nf-card > .e-flexbox-base { padding: 0 32px 32px 32px; }   /* content-row px-32 pb-32 */
.page-id-9108 .nf-card > .e-flexbox-base > .e-flexbox-base:first-child {  /* text-block */
    border-top: 1px solid #BABABA; padding-top: 32px; flex: 1 1 0; min-width: 0;
}
.page-id-9108 .nf-card > .e-flexbox-base > .e-flexbox-base:last-child { flex: 1 1 0; }  /* spacer */
.page-id-9108 .nf-card .e-heading-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 20px; font-weight: 800; line-height: 1.3;
    color: #FFFFFF; text-transform: uppercase; margin: 0;
}
.page-id-9108 .nf-card .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 16px; font-weight: 400; line-height: 1.6;
    color: #FFFFFF; margin: 0;
}
/* SÓ FR (desktop): descrição numa linha a passar por cima da imagem (Figma; card 4 quebra via <br>).
   As traduções são mais longas e perdem os <br> -> deixamos quebrar para não cortar. */
@media (min-width: 1025px) {
    html[lang^="fr"] .page-id-9108 .nf-card .e-paragraph-base { white-space: nowrap; }
}
/* botão "Découvrir" — text-link branco 16/800 + seta que desliza no hover */
.page-id-9108 .nf-card a.e-button-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 16px !important; font-weight: 800 !important; line-height: 1.1 !important;
    color: #FFFFFF !important; text-decoration: none; text-transform: none;
    background: none !important; border: 0 !important; padding: 0 !important; margin: 0;
    display: inline-flex; align-items: center; gap: 10px; width: -moz-fit-content; width: fit-content;
    min-height: 0 !important;
}
.page-id-9108 .nf-card a.e-button-base::after {
    content: ""; width: 18px; height: 13px; flex: 0 0 18px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='13' viewBox='0 0 18 13'%3E%3Cpath d='M11 1l5.5 5.5L11 12M0.5 6.5H16' stroke='%23E6264B' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat center;
    transition: transform 0.3s ease;
}
.page-id-9108 .nf-card a.e-button-base:hover::after { transform: translateX(5px); }

/* ---------- Responsivo — reflow como o source nativo (our-services) ---------- */
@media (max-width: 1024px) {
    /* §3 intro 2-col → empilha */
    .page-id-9108 .elementor-element-caf0fda { flex-direction: column !important; --flex-direction: column; row-gap: 28px; min-height: 0; padding-bottom: 56px; }
    .page-id-9108 .elementor-element-563728e { padding-top: 0 !important; }
    /* §4+§5 split → empilha: banda "Nos piliers" full-width por cima dos cards */
    .page-id-9108 .elementor-element-c0ef242 { flex-direction: column !important; --flex-direction: column; }
    .page-id-9108 .elementor-element-243fb59 { min-height: 440px; }
    .page-id-9108 .elementor-element-857a9ad { padding-left: 40px !important; padding-bottom: 64px !important; padding-right: 24px !important; }
}
/* Ticket 86caqrhfq · Integration responsivo mobile/tablet — margem lateral do banner (§1) e
   da secção navy "Notre offre" (§4) desalinhada das restantes: os containers têm +10px de
   padding nativo do Elementor sobre o gutter de 7% do tema, ficando mais estreitos (banner
   46/72, offre 36/62 vs 27/54 das outras @390/@768). Zera-se só o padding lateral desses
   containers → alinham no 7% do tema, como Maîtrise/Pôles. Desktop (>=1025) intocado. */
@media (max-width: 1024px) {
    .page-id-9182 .elementor-element-235d8af,   /* §4 · navy "Notre offre" */
    .page-id-9182 .elementor-element-052b2dd,   /* §1 · banner (outer) */
    .page-id-9182 .elementor-element-827653a {  /* §1 · banner (inner) */
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}
@media (max-width: 768px) {
    /* banners Display/2 48→36 */
    .page-id-9108 .elementor-element-657821a > .e-heading-base,
    .page-id-9108 .elementor-element-857a9ad > .e-heading-base { font-size: 36px; letter-spacing: -0.72px; }
    /* intro headline 36→30 */
    .page-id-9108 .elementor-element-1f382e8 > .e-heading-base { font-size: 30px; }
    .page-id-9108 .elementor-element-857a9ad { padding-left: 24px !important; }
    .page-id-9108 .nf-card > .e-flexbox-base { padding-left: 24px; padding-right: 24px; }
    .page-id-9108 .nf-card .e-paragraph-base { white-space: normal; }   /* mobile: descrição quebra (nowrap transbordaria o card estreito) */
    /* cards: esconder o spacer → texto ganha largura total (títulos não quebram a meio) */
    .page-id-9108 .nf-card > .e-flexbox-base > .e-flexbox-base:last-child { display: none; }
    .page-id-9108 .nf-card > .e-flexbox-base > .e-flexbox-base:first-child { flex-basis: 100%; }
}

/* =========================================================================
   INTÉGRATION (post 9182) — nativo e-con + In Grid
   ========================================================================= */

/* ---------- §2 · Banner / Hero (node 419:3483) ---------- */
/* eyebrow-row + bloco de conteúdo: zerar padding default do e-con */
.page-id-9182 .elementor-element-3d58a3c,
.page-id-9182 .elementor-element-4e10b21 { padding: 0 !important; }
/* eyebrow "intégration" — Nunito Sans 12/700 #EB506D uppercase */
.page-id-9182 .elementor-element-3d58a3c > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: 0;
    color: #EB506D; text-transform: uppercase; margin: 0;
}
/* divider do eyebrow — 30×1 #EB506D (bg forçado; o add-div-block não pega) */
.page-id-9182 .elementor-element-9d1ba44 {
    width: 30px !important; min-width: 30px;
    height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center;
    background-color: #EB506D !important;
}
/* título Display/2 — Nunito Sans 48/800 ls-0.96px branco uppercase */
.page-id-9182 .elementor-element-4e10b21 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 48px; font-weight: 800; line-height: 1.1; letter-spacing: -0.96px;
    color: #FFFFFF; text-transform: uppercase; margin: 0;
}

/* ---------- §3 · Intro — L'Intégration (node 419:3484) ---------- */
/* zerar paddings default dos flexboxes de layout */
.page-id-9182 .elementor-element-864ca15,
.page-id-9182 .elementor-element-3fa1c00,
.page-id-9182 .elementor-element-552eeff,
.page-id-9182 .elementor-element-309c12a { padding: 0 !important; }
/* colunas fluidas (flex-1, sem px fixo) */
.page-id-9182 .elementor-element-309c12a,
.page-id-9182 .elementor-element-100b695 { flex: 1 1 0; min-width: 0; }
/* col-dir pt-40 (alinha opticamente com a headline esq) */
.page-id-9182 .elementor-element-100b695 { padding: 40px 0 0 0 !important; }
/* eyebrow "Notre maîtrise" — 12/700 #EB506D uppercase */
.page-id-9182 .elementor-element-3fa1c00 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: 0;
    color: #EB506D; text-transform: uppercase; margin: 0;
}
/* divider eyebrow 30×1 #EB506D */
.page-id-9182 .elementor-element-0df9bc5 {
    width: 30px !important; min-width: 30px; height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center; background-color: #EB506D !important;
}
/* headline Display/3 — Nunito Sans 36/800 ls-0.72px #000 uppercase */
.page-id-9182 .elementor-element-864ca15 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 36px; font-weight: 800; line-height: 1.1; letter-spacing: -0.72px;
    color: #000000; text-transform: uppercase; margin: 0;
}
/* subtítulo col-dir — Nunito Sans 24/700 #000 lh-1.3 (sentence-case, o tema mete uppercase por default) */
.page-id-9182 .elementor-element-100b695 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 24px; font-weight: 700; line-height: 1.3; letter-spacing: 0;
    color: #000000; margin: 0; text-transform: none;
}
/* parágrafo col-dir — Lato 19/400 #5A5A5A lh-28px (font-family precisa !important) */
.page-id-9182 .elementor-element-100b695 > .e-paragraph-base {
    font-family: "Lato", sans-serif !important;
    font-size: 19px; font-weight: 400; line-height: 28px; letter-spacing: 0;
    color: #5A5A5A; margin: 0;
}
/* botão "People" — bordado #5A5A5A: [People] | divisor vertical | [seta VERMELHA #E6264B] (como o Figma) */
.page-id-9182 .elementor-element-309c12a .e-button-base {
    display: inline-flex; align-items: center;
    border: 1px solid #5A5A5A; background: transparent; border-radius: 0;
    padding: 16px 0 16px 16px; min-height: 0;
    font-family: "Nunito Sans", sans-serif; font-size: 16px; font-weight: 800; line-height: 17.85px;
    color: #000000; text-decoration: none;
}
/* secção da seta: full-height (margem negativa anula o padding top/bottom) + border-left = divisor vertical */
.page-id-9182 .elementor-element-309c12a .e-button-base::after {
    content: ""; align-self: stretch;
    width: 18px; box-sizing: content-box;
    margin: -16px 0 -16px 16px;
    padding: 0 16px 0 17px;
    border-left: 1px solid #5A5A5A;
    background: url("data:image/svg+xml,%3Csvg width='18' height='13' viewBox='0 0 18 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 6.5H16M11 1L16.5 6.5L11 12' stroke='%23E6264B' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center / 18px 13px;
    transition: background-position 0.3s ease;
}
.page-id-9182 .elementor-element-309c12a .e-button-base:hover::after { background-position: calc(50% + 4px) center; }
/* bloco de imagem — banda-width, aspect 1202/553 (fluido), crop centrado */
.page-id-9182 .elementor-element-cbc2f8a {
    width: 100%; aspect-ratio: 1202 / 553; min-height: 0;
}
/* §3 outer: gap 2col→imagem 96 + espaço branco antes do §4 (o gap do add-container não pegou) */
.page-id-9182 .elementor-element-e8aee2c { gap: 96px !important; padding-bottom: 128px; }

/* ---------- §4 · Notre Offre — Expertise List (node 419:3485) ---------- */
/* colunas fluidas */
.page-id-9182 .elementor-element-222ef31,
.page-id-9182 .elementor-element-9792bfd { flex: 1 1 0; min-width: 0; }
/* zerar padding default (10px) do 2-col + col-esq — causavam gap visível ~34 e colunas assimétricas */
.page-id-9182 .elementor-element-e2c52fc,
.page-id-9182 .elementor-element-222ef31 { padding: 0 !important; }
/* col-dir pt-48 pb-32 */
.page-id-9182 .elementor-element-9792bfd { padding: 48px 0 32px 0 !important; }
/* zerar paddings default dos flexboxes de layout */
.page-id-9182 .elementor-element-9ea542c,
.page-id-9182 .elementor-element-49fdf9f { padding: 0 !important; }
/* eyebrow "Notre offre" — 12/700 #EB506D uppercase */
.page-id-9182 .elementor-element-49fdf9f > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: 0;
    color: #EB506D; text-transform: uppercase; margin: 0;
}
/* divider eyebrow 30×1 */
.page-id-9182 .elementor-element-a1e6156 {
    width: 30px !important; min-width: 30px; height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center; background-color: #EB506D !important;
}
/* headline Display/3 — 36/800 -0.72px branco uppercase */
.page-id-9182 .elementor-element-9ea542c > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 36px; font-weight: 800; line-height: 1.1; letter-spacing: -0.72px;
    color: #FFFFFF; text-transform: uppercase; margin: 0;
}
/* subtext col-esq — Nunito Sans 18/500 branco (não uppercase) */
.page-id-9182 .elementor-element-222ef31 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 18px; font-weight: 500; line-height: 1.4; letter-spacing: 0;
    color: #FFFFFF; text-transform: none; margin: 0;
}
/* 6 items — hairline separator #BABABA + pt-24 */
.page-id-9182 .elementor-element-9792bfd > .e-flexbox-base {
    border-top: 1px solid #BABABA; padding: 24px 0 0 0 !important; width: 100%;
}
/* títulos dos items — 20/800 branco uppercase */
.page-id-9182 .elementor-element-9792bfd > .e-flexbox-base > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 20px; font-weight: 800; line-height: 1.3; letter-spacing: 0;
    color: #FFFFFF; text-transform: uppercase; margin: 0;
}
/* corpos dos items — 18/500 #F5F5F5 */
.page-id-9182 .elementor-element-9792bfd > .e-flexbox-base > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 18px; font-weight: 500; line-height: 1.4; letter-spacing: 0;
    color: #F5F5F5; text-transform: none; margin: 0;
}

/* ---------- §5 · Photo Strip (node 462:6894) ---------- */
/* outer: padding horizontal simétrico (o pl-74 fixo encostava tudo à esquerda em wide-screen) */
.page-id-9182 .elementor-element-ede1c2b { padding: 70px 24px 64px 24px !important; }
/* row: faixa centrada na página (max-width da faixa 4×324+3×24=1368 + margin auto);
   nowrap → 4 cards encolhem p/ caber quando o viewport aperta */
.page-id-9182 .elementor-element-8e10aa8 { padding: 0 !important; width: 100%; max-width: 1368px; margin: 0 auto; flex-wrap: nowrap !important; }
/* cards 324×412 — width 324 (o flex-basis do shorthand não pega no e-con) + shrink p/ caber */
.page-id-9182 .elementor-element-029b722,
.page-id-9182 .elementor-element-d1ec28b,
.page-id-9182 .elementor-element-eaa36e8,
.page-id-9182 .elementor-element-15ee650 {
    width: 324px; flex-grow: 0; flex-shrink: 1; flex-basis: auto;
    min-width: 0; max-width: 100%;
    aspect-ratio: 324 / 412; min-height: 0;
}
/* posições de crop (background-position) por card — derivadas do design context */
.page-id-9182 .elementor-element-029b722 { background-position: 50% center !important; }  /* robot — center */
.page-id-9182 .elementor-element-d1ec28b { background-position: center center !important; } /* soldador — cover center */
.page-id-9182 .elementor-element-eaa36e8 { background-position: 90% center !important; }    /* homem esboço — pan direita */
.page-id-9182 .elementor-element-15ee650 { background-position: 0% center !important; }      /* camião — esquerda */

/* Ticket 86camum1d · §5 Photo Strip "full view". No Figma a faixa está desviada da
   banda de conteúdo (mais larga) com margens laterais de 74px — contida, sem o camião
   encostado à direita. Substitui a versão centrada (max-width 1368) por preenchimento
   full-width entre pl-74 e pr-74 (as imagens crescem em ecrãs largos em vez de ficar
   encaixotadas). Só >=1025px (layout 4-col); em <=1024 mantém-se o padding simétrico
   + wrap 2-col/1-col da base. */
@media (min-width: 1025px) {
    .page-id-9182 .elementor-element-ede1c2b { padding: 70px 74px 64px 74px !important; }
    .page-id-9182 .elementor-element-8e10aa8 { max-width: none !important; margin: 0 !important; }
    .page-id-9182 .elementor-element-029b722,
    .page-id-9182 .elementor-element-d1ec28b,
    .page-id-9182 .elementor-element-eaa36e8,
    .page-id-9182 .elementor-element-15ee650 { flex-grow: 1 !important; }
}

/* ---------- §6 · Les Pôles d'Expertise (node 419:3486) ---------- */
/* gap header→grid 68 (o gap do add-container não pegou) */
.page-id-9182 .elementor-element-bb298da { gap: 68px !important; }
/* zerar paddings default dos flexboxes de layout */
.page-id-9182 .elementor-element-fa7d39f,
.page-id-9182 .elementor-element-988bc8d,
.page-id-9182 .elementor-element-1e65120,
.page-id-9182 .elementor-element-d6b5971,
.page-id-9182 .elementor-element-5ce8d80,
.page-id-9182 .elementor-element-8734678,
.page-id-9182 .elementor-element-43b4bce,
.page-id-9182 .elementor-element-fa608b6,
.page-id-9182 .elementor-element-16315b5 { padding: 0 !important; }
/* eyebrow Variant5 — border-bottom PRETO + pb-8 (não o divider vermelho lateral) */
.page-id-9182 .elementor-element-19b42d2 {
    border-bottom: 1px solid #000000; padding: 0 0 8px 0 !important; width: 100%;
}
.page-id-9182 .elementor-element-19b42d2 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: 0;
    color: #000000; text-transform: uppercase; margin: 0;
}
/* content-row: headline flex-1 + parágrafo ~533 */
.page-id-9182 .elementor-element-988bc8d > .e-heading-base {
    flex: 1 1 0; min-width: 0;
    font-family: "Nunito Sans", sans-serif; font-size: 48px; font-weight: 800; line-height: 1.1; letter-spacing: -0.96px;
    color: #000000; text-transform: uppercase; margin: 0;
}
.page-id-9182 .elementor-element-988bc8d > .e-paragraph-base {
    flex: 0 1 533px; min-width: 0;
    font-family: "Nunito Sans", sans-serif; font-size: 18px; font-weight: 500; line-height: 1.4; letter-spacing: 0;
    color: #000000; text-transform: none; margin: 0;
}
/* grid nowrap → 3 cards encolhem p/ caber (não wrappam para órfãos) */
.page-id-9182 .elementor-element-16315b5 { flex-wrap: nowrap !important; }
/* cards 324 — width (não flex-basis) + shrink p/ caber (3-across sem órfãos) */
.page-id-9182 .elementor-element-16315b5 > .e-flexbox-base {
    width: 324px; flex-grow: 0; flex-shrink: 1; flex-basis: auto; min-width: 0; max-width: 100%;
}
/* áreas de imagem — aspect 324/412, logo */
.page-id-9182 .elementor-element-68d1604,
.page-id-9182 .elementor-element-0e73ed6,
.page-id-9182 .elementor-element-562b4f9 {
    width: 100%; aspect-ratio: 324 / 412; min-height: 0;
}
/* títulos dos cards — 20/800 #1A1A1A uppercase */
.page-id-9182 .elementor-element-16315b5 .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 20px; font-weight: 800; line-height: 1.3; letter-spacing: 0;
    color: #1A1A1A; text-transform: uppercase; margin: 0;
}
/* corpos dos cards — 16/400 #5A5A5A lh-1.6 */
.page-id-9182 .elementor-element-16315b5 .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 16px; font-weight: 400; line-height: 1.6; letter-spacing: 0;
    color: #5A5A5A; text-transform: none; margin: 0;
}
/* botão "Read More" — text-link SEM borda, 16/800 #000 + seta */
.page-id-9182 .elementor-element-bb298da > .e-button-base {
    display: inline-flex; align-items: center; gap: 12px;
    border: none; background: transparent; padding: 0; min-height: 0;
    font-family: "Nunito Sans", sans-serif; font-size: 16px; font-weight: 800; line-height: 17.85px;
    color: #000000; text-decoration: none;
}
.page-id-9182 .elementor-element-bb298da > .e-button-base::after {
    content: ""; width: 18px; height: 13px; flex: 0 0 18px;
    background: url("data:image/svg+xml,%3Csvg width='18' height='13' viewBox='0 0 18 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 6.5H16M11 1L16.5 6.5L11 12' stroke='%23000000' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center / contain;
    transition: transform 0.3s ease;
}
.page-id-9182 .elementor-element-bb298da > .e-button-base:hover::after { transform: translateX(5px); }

/* ---------- INTÉGRATION — animação de entrada (appear-from-bottom, réplica da constante do tema) ---------- */
.page-id-9182 .int-anim {
    opacity: 0 !important; transform: translateY(50px) !important;
    will-change: opacity, transform;   /* estado inicial INSTANTÂNEO (sem transição aqui) */
}
.page-id-9182 .int-anim.int-visible {
    opacity: 1 !important; transform: none !important;
    transition: opacity 0.5s ease, transform 0.7s cubic-bezier(0.26, -0.14, 0, 1.01);   /* transição só ao revelar */
}
@media (prefers-reduced-motion: reduce) {
    .page-id-9182 .int-anim, .page-id-9182 .int-anim.int-visible { opacity: 1 !important; transform: none !important; transition: none; }
}

/* ---------- INTÉGRATION — responsivo (reflow nativo + polish) ---------- */
@media (max-width: 1024px) {
    /* §3 intro 2-col → empilha */
    .page-id-9182 .elementor-element-552eeff { flex-direction: column !important; --flex-direction: column; row-gap: 40px; }
    .page-id-9182 .elementor-element-100b695 { padding-top: 0 !important; }
    /* §4 Notre Offre 2-col → empilha */
    .page-id-9182 .elementor-element-e2c52fc { flex-direction: column !important; --flex-direction: column; row-gap: 48px; }
    .page-id-9182 .elementor-element-9792bfd { padding-top: 0 !important; }
    /* §6 content-row (headline + parágrafo) → empilha */
    .page-id-9182 .elementor-element-988bc8d { flex-direction: column !important; --flex-direction: column; row-gap: 24px; }
    .page-id-9182 .elementor-element-988bc8d > .e-paragraph-base { flex: 0 1 auto; }
    /* §5 photo strip → 2-col (wrap) */
    .page-id-9182 .elementor-element-8e10aa8 { flex-wrap: wrap !important; }
    .page-id-9182 .elementor-element-029b722,
    .page-id-9182 .elementor-element-d1ec28b,
    .page-id-9182 .elementor-element-eaa36e8,
    .page-id-9182 .elementor-element-15ee650 { width: calc(50% - 12px); }
    /* §6 grid → 1-col (3 cards; 2-col daria órfão 2+1) */
    .page-id-9182 .elementor-element-16315b5 { gap: 40px; flex-direction: column !important; --flex-direction: column; align-items: flex-start; }
    .page-id-9182 .elementor-element-16315b5 > .e-flexbox-base { width: 100%; max-width: 420px; }
}
@media (max-width: 768px) {
    /* banner Display/2 48 → 36 */
    .page-id-9182 .elementor-element-4e10b21 > .e-heading-base { font-size: 36px; letter-spacing: -0.72px; }
    /* headlines Display/3 e Display/2 menores */
    .page-id-9182 .elementor-element-864ca15 > .e-heading-base,
    .page-id-9182 .elementor-element-9ea542c > .e-heading-base { font-size: 30px; letter-spacing: -0.6px; }
    .page-id-9182 .elementor-element-988bc8d > .e-heading-base { font-size: 36px; letter-spacing: -0.72px; }
    /* §6 grid → 1-col */
    .page-id-9182 .elementor-element-16315b5 { gap: 48px; }
    .page-id-9182 .elementor-element-16315b5 > .e-flexbox-base { width: 100%; }
}
@media (max-width: 480px) {
    /* §5 photo strip → 1-col */
    .page-id-9182 .elementor-element-029b722,
    .page-id-9182 .elementor-element-d1ec28b,
    .page-id-9182 .elementor-element-eaa36e8,
    .page-id-9182 .elementor-element-15ee650 { width: 100%; }
}

/* =========================================================================
   INNOVATION (post 9281) — nativo e-con + In Grid (gémea da Intégration)
   ========================================================================= */

/* ---------- §2 · Banner / Hero (node 419:3460) ---------- */
/* conteúdo centrado vertical (como o Figma) */
.page-id-9281 .elementor-element-a941f30 { min-height: 560px; justify-content: center; }
/* imagem: crop top (Figma top -55px ≈ 12%) */
.page-id-9281 .elementor-element-87ac5f0 { background-position: center 12% !important; }
/* eyebrow-row + bloco conteúdo: zerar padding default do e-con */
.page-id-9281 .elementor-element-f8139a7,
.page-id-9281 .elementor-element-7b62c7c { padding: 0 !important; }
/* eyebrow "Innovation" — Nunito Sans 12/700 #EB506D uppercase */
.page-id-9281 .elementor-element-f8139a7 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: 0;
    color: #EB506D; text-transform: uppercase; margin: 0;
}
/* divider do eyebrow — 30×1 #EB506D */
.page-id-9281 .elementor-element-0ccd281 {
    width: 30px !important; min-width: 30px;
    height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center;
    background-color: #EB506D !important;
}
/* título Display/2 — Nunito Sans 48/800 ls-0.96px branco uppercase */
.page-id-9281 .elementor-element-7b62c7c > .e-heading-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 48px; font-weight: 800; line-height: 1.1; letter-spacing: -0.96px;
    color: #FFFFFF; text-transform: uppercase; margin: 0;
}

/* ---------- §3 · Intro "Notre approche" (node 419:3461) ---------- */
.page-id-9281 .elementor-element-e39b4fa { padding-top: 44px; }
.page-id-9281 .elementor-element-ec05116,
.page-id-9281 .elementor-element-cdd560b { padding: 0 !important; }
.page-id-9281 .elementor-element-92dd3c8,
.page-id-9281 .elementor-element-96bc816 { flex: 1 1 0; min-width: 0; padding: 0 !important; }
.page-id-9281 .elementor-element-96bc816 { padding-top: 40px !important; }
.page-id-9281 .elementor-element-cdd560b > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 700; line-height: 1.4;
    letter-spacing: 0; color: #EB506D; text-transform: uppercase; margin: 0;
}
.page-id-9281 .elementor-element-4f20d86 {
    width: 30px !important; min-width: 30px; height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center; background-color: #EB506D !important;
}
.page-id-9281 .elementor-element-92dd3c8 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 36px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.72px; color: #000000; text-transform: uppercase; margin: 0;
}
.page-id-9281 .elementor-element-96bc816 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 24px; font-weight: 700; line-height: 1.3;
    letter-spacing: 0; color: #000000; margin: 0; text-transform: none;
}
.page-id-9281 .elementor-element-96bc816 > .e-paragraph-base {
    font-family: "Lato", sans-serif !important; font-size: 19px; font-weight: 400; line-height: 28px;
    letter-spacing: 0; color: #5A5A5A; margin: 0;
}

/* ---------- §4 · Intro "L'innovation moteur" + datas + imagem (node 419:3462) ---------- */
.page-id-9281 .elementor-element-1c869ba { padding-top: 44px; padding-bottom: 146px; gap: 96px !important; }
/* zerar o padding default (10px) dos outers de secção (afecta espaçamento entre secções) */
.page-id-9281 .elementor-element-8aeaa4a,
.page-id-9281 .elementor-element-e4bef71,
.page-id-9281 .elementor-element-857e466,
.page-id-9281 .elementor-element-c870ba9 { padding: 0 !important; }
.page-id-9281 .elementor-element-7ffe38d { padding: 0 !important; }
.page-id-9281 .elementor-element-35fd443,
.page-id-9281 .elementor-element-f020ef9 { flex: 1 1 0; min-width: 0; padding: 0 !important; }
.page-id-9281 .elementor-element-f020ef9 { padding-top: 40px !important; }
.page-id-9281 .elementor-element-f020ef9 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 24px; font-weight: 700; line-height: 1.3;
    letter-spacing: 0; color: #000000; margin: 0; text-transform: none;
}
.page-id-9281 .elementor-element-f020ef9 > .e-paragraph-base {
    font-family: "Lato", sans-serif !important; font-size: 19px; font-weight: 400; line-height: 28px;
    letter-spacing: 0; color: #5A5A5A; margin: 0;
}
/* imagem clip "ICE images" 1202×553 (bg URL root-relative → staging-safe) */
.page-id-9281 .elementor-element-e240268 {
    min-height: 553px; width: 100%;
    background-image: url("../../../../uploads/2026/07/s4-ice-images.jpeg");
    background-size: cover; background-position: center 42%; background-repeat: no-repeat;
}

/* ---------- §5 · Programme N.E.W.E.R. navy (node 419:3463) ---------- */
.page-id-9281 .elementor-element-8287355 { padding-top: 128px; padding-bottom: 48px; }
.page-id-9281 .elementor-element-46f4f6f { padding: 0 !important; }
.page-id-9281 .elementor-element-a24792b,
.page-id-9281 .elementor-element-360c631 { flex: 1 1 0; min-width: 0; padding: 0 !important; }
.page-id-9281 .elementor-element-360c631 { padding-top: 48px !important; padding-bottom: 32px !important; }
.page-id-9281 .elementor-element-9463430,
.page-id-9281 .elementor-element-4058f0d { padding: 0 !important; }
.page-id-9281 .elementor-element-9463430 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 700; line-height: 1.4;
    letter-spacing: 0; color: #EB506D; text-transform: uppercase; margin: 0;
}
.page-id-9281 .elementor-element-3b11ec1 {
    width: 30px !important; min-width: 30px; height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center; background-color: #EB506D !important;
}
.page-id-9281 .elementor-element-a24792b > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 36px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.72px; color: #FFFFFF; text-transform: uppercase; margin: 0;
}
.page-id-9281 .elementor-element-4058f0d > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 18px; font-weight: 500; line-height: 1.4;
    letter-spacing: 0; color: #FFFFFF; margin: 0;
}
/* 5 eixos: border-top #BABABA + pt-24 */
.page-id-9281 .elementor-element-e13837e,
.page-id-9281 .elementor-element-ec19066,
.page-id-9281 .elementor-element-756a1dd,
.page-id-9281 .elementor-element-67b423a,
.page-id-9281 .elementor-element-9fe9512 {
    border-top: 1px solid #BABABA; padding: 24px 0 0 0 !important; width: 100%;
}
.page-id-9281 .elementor-element-e13837e > .e-heading-base,
.page-id-9281 .elementor-element-ec19066 > .e-heading-base,
.page-id-9281 .elementor-element-756a1dd > .e-heading-base,
.page-id-9281 .elementor-element-67b423a > .e-heading-base,
.page-id-9281 .elementor-element-9fe9512 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 20px; font-weight: 800; line-height: 1.3;
    letter-spacing: 0; color: #FFFFFF; text-transform: uppercase; margin: 0;
}
.page-id-9281 .elementor-element-e13837e > .e-paragraph-base,
.page-id-9281 .elementor-element-ec19066 > .e-paragraph-base,
.page-id-9281 .elementor-element-756a1dd > .e-paragraph-base,
.page-id-9281 .elementor-element-67b423a > .e-paragraph-base,
.page-id-9281 .elementor-element-9fe9512 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 18px; font-weight: 500; line-height: 1.4;
    letter-spacing: 0; color: #F5F5F5; margin: 0;
}

/* ---------- §6 · Notre structure (node 419:3464) ---------- */
.page-id-9281 .elementor-element-392e515 { padding-top: 128px; padding-bottom: 64px; gap: 68px !important; }
.page-id-9281 .elementor-element-d2cabd5 { padding: 0 !important; }
/* eyebrow Variant5: preto + border-bottom preto (SEM divisor vermelho) */
.page-id-9281 .elementor-element-d2cabd5 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 700; line-height: 1.4;
    letter-spacing: 0; color: #000000; text-transform: uppercase; margin: 0;
    padding-bottom: 8px; border-bottom: 1px solid #000000; width: 100%;
}
.page-id-9281 .elementor-element-4db14e4 { padding: 0 !important; }
.page-id-9281 .elementor-element-4db14e4 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 48px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.96px; color: #000000; text-transform: uppercase; margin: 0; flex: 1 1 0;
}
.page-id-9281 .elementor-element-4db14e4 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 18px; font-weight: 500; line-height: 1.4;
    letter-spacing: 0; color: #000000; margin: 0; flex: 0 0 534px; max-width: 534px;
}
/* cards row: space-between (card1 no extremo esq = título, card3 no extremo dir = subtexto, como o Figma) */
.page-id-9281 .elementor-element-0e48601 { padding: 0 !important; justify-content: space-between; gap: 24px !important; }
.page-id-9281 .elementor-element-3e36e0d,
.page-id-9281 .elementor-element-3c36e64,
.page-id-9281 .elementor-element-dafc56a { flex: 0 0 324px; width: 324px; padding: 0 !important; }
/* image slots 324×412 + overlay cinza 20% (bg URL root-relative) */
.page-id-9281 .elementor-element-2584a19,
.page-id-9281 .elementor-element-e4a274f,
.page-id-9281 .elementor-element-4086111 {
    width: 324px; height: 412px; background-size: cover; background-repeat: no-repeat;
}
.page-id-9281 .elementor-element-2584a19 { background-image: linear-gradient(rgba(214,214,214,0.2),rgba(214,214,214,0.2)), url("../../../../uploads/2026/07/s6-card1-ice-development.jpeg"); background-position: 44% center; }
.page-id-9281 .elementor-element-e4a274f { background-image: linear-gradient(rgba(214,214,214,0.2),rgba(214,214,214,0.2)), url("../../../../uploads/2026/07/s6-card2-hydracooling.jpeg"); background-position: 45% center; }
.page-id-9281 .elementor-element-4086111 { background-image: linear-gradient(rgba(214,214,214,0.2),rgba(214,214,214,0.2)), url("../../../../uploads/2026/07/s6-card3-le-lab.jpeg"); background-position: 47% center; }
.page-id-9281 .elementor-element-96fe2ee,
.page-id-9281 .elementor-element-db0e26a,
.page-id-9281 .elementor-element-033e6e4 { padding: 0 !important; }
.page-id-9281 .elementor-element-96fe2ee > .e-heading-base,
.page-id-9281 .elementor-element-db0e26a > .e-heading-base,
.page-id-9281 .elementor-element-033e6e4 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 20px; font-weight: 800; line-height: 1.3;
    letter-spacing: 0; color: #1A1A1A; text-transform: uppercase; margin: 0;
}
.page-id-9281 .elementor-element-96fe2ee > .e-paragraph-base,
.page-id-9281 .elementor-element-db0e26a > .e-paragraph-base,
.page-id-9281 .elementor-element-033e6e4 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 16px; font-weight: 400; line-height: 1.6;
    letter-spacing: 0; color: #5A5A5A; margin: 0;
}
/* botão "Integration" — bordado #5A5A5A + divisor + seta vermelha (como o botão People) */
.page-id-9281 .elementor-element-392e515 > .e-button-base {
    display: inline-flex; align-items: center; align-self: flex-start;
    margin-top: -44px;   /* gap uniforme In-Grid=68; cards→botão ≈24 no Figma (spacing-xl) */
    border: 1px solid #5A5A5A; background: transparent; border-radius: 0;
    padding: 16px 0 16px 16px; min-height: 0;
    font-family: "Nunito Sans", sans-serif; font-size: 16px; font-weight: 800; line-height: 17.85px;
    color: #000000; text-decoration: none; text-transform: none;
}
.page-id-9281 .elementor-element-392e515 > .e-button-base::after {
    content: ""; align-self: stretch; width: 18px; box-sizing: content-box;
    margin: -16px 0 -16px 16px; padding: 0 16px 0 17px; border-left: 1px solid #5A5A5A;
    background: url("data:image/svg+xml,%3Csvg width='18' height='13' viewBox='0 0 18 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 6.5H16M11 1L16.5 6.5L11 12' stroke='%23E6264B' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center / 18px 13px;
    transition: background-position 0.3s ease;
}
.page-id-9281 .elementor-element-392e515 > .e-button-base:hover::after { background-position: calc(50% + 4px) center; }

/* ---------- Animação de entrada (appear-from-bottom) — Innovation + Contacts ---------- */
.page-id-9281 .innov-anim, .page-id-9370 .innov-anim { opacity: 0 !important; transform: translateY(50px) !important; will-change: opacity, transform; }
.page-id-9281 .innov-anim.innov-visible, .page-id-9370 .innov-anim.innov-visible {
    opacity: 1 !important; transform: none !important;
    transition: opacity 0.5s ease, transform 0.7s cubic-bezier(0.26, -0.14, 0, 1.01);
}
@media (prefers-reduced-motion: reduce) {
    .page-id-9281 .innov-anim, .page-id-9281 .innov-anim.innov-visible,
    .page-id-9370 .innov-anim, .page-id-9370 .innov-anim.innov-visible { opacity: 1 !important; transform: none !important; transition: none; }
}

/* ---------- INNOVATION — responsivo (reflow como a source nativa; validado c/ Playwright) ---------- */
/* ≤1440: banda do tema cai p/ 1100 → cards §6 (324×3+gap-121=1214) não cabem → fluidos */
@media (max-width: 1440px) {
    .page-id-9281 .elementor-element-0e48601 { gap: clamp(24px, 4vw, 60px) !important; }
    .page-id-9281 .elementor-element-3e36e0d,
    .page-id-9281 .elementor-element-3c36e64,
    .page-id-9281 .elementor-element-dafc56a { flex: 1 1 0; width: auto; min-width: 0; }
    .page-id-9281 .elementor-element-2584a19,
    .page-id-9281 .elementor-element-e4a274f,
    .page-id-9281 .elementor-element-4086111 { width: 100%; }
}
@media (max-width: 1024px) {
    /* 2-cols empilham (§3 §4 §5 · §6 header) — flex-direction local vence → !important */
    .page-id-9281 .elementor-element-ec05116,
    .page-id-9281 .elementor-element-7ffe38d,
    .page-id-9281 .elementor-element-46f4f6f { flex-direction: column !important; gap: 40px; }
    .page-id-9281 .elementor-element-96bc816,
    .page-id-9281 .elementor-element-f020ef9 { padding-top: 0 !important; }
    .page-id-9281 .elementor-element-35fd443 { display: none !important; }  /* §4 col-esq vazia */
    .page-id-9281 .elementor-element-1c869ba { padding-bottom: 80px; }
    /* §5 eixos → grid 2-col */
    .page-id-9281 .elementor-element-360c631 { display: grid !important; grid-template-columns: 1fr 1fr; gap: 32px 40px; padding-top: 0 !important; }
    /* §6 header 2-col empilha */
    .page-id-9281 .elementor-element-4db14e4 { flex-direction: column !important; gap: 20px; }
    .page-id-9281 .elementor-element-4db14e4 > .e-paragraph-base { flex: 1 1 auto; max-width: 100%; }
    /* §6 cards → 2-col fluido */
    .page-id-9281 .elementor-element-0e48601 { gap: 48px !important; flex-wrap: wrap; }
    .page-id-9281 .elementor-element-3e36e0d,
    .page-id-9281 .elementor-element-3c36e64,
    .page-id-9281 .elementor-element-dafc56a { flex: 1 1 calc(50% - 24px); width: auto; }
    .page-id-9281 .elementor-element-2584a19,
    .page-id-9281 .elementor-element-e4a274f,
    .page-id-9281 .elementor-element-4086111 { width: 100%; }
}
@media (max-width: 768px) {
    /* §4 imagem: o tema reseta bg-image de div-block a ≤768 → re-forçar; centrar no monitor CAD */
    .page-id-9281 .elementor-element-e240268 {
        background-image: url("../../../../uploads/2026/07/s4-ice-images.jpeg") !important;
        background-size: cover; background-repeat: no-repeat;
        background-position: 20% center; min-height: 460px;
    }
    /* §6 cards → 1-col */
    .page-id-9281 .elementor-element-0e48601 { flex-direction: column !important; gap: 40px !important; }
    .page-id-9281 .elementor-element-3e36e0d,
    .page-id-9281 .elementor-element-3c36e64,
    .page-id-9281 .elementor-element-dafc56a { flex: 1 1 100%; max-width: 100%; }
    /* §5 eixos → 1-col */
    .page-id-9281 .elementor-element-360c631 { grid-template-columns: 1fr !important; }
    /* títulos Display clamp */
    .page-id-9281 .elementor-element-7b62c7c > .e-heading-base,
    .page-id-9281 .elementor-element-4db14e4 > .e-heading-base { font-size: clamp(30px, 7vw, 48px); letter-spacing: -0.5px; }
    .page-id-9281 .elementor-element-92dd3c8 > .e-heading-base,
    .page-id-9281 .elementor-element-a24792b > .e-heading-base { font-size: clamp(26px, 6vw, 36px); }
}

/* =========================================================================
   PERFORMANCE (post 9408) — clone da base Innovation; CSS scoped por secção.
   Element IDs herdados do clone; morph de conteúdo por secção em curso.
   ========================================================================= */

/* ---------- §2 · Banner / Hero (node 419:3460) ---------- */
/* conteúdo centrado vertical (como o Figma) */
.page-id-9408 .elementor-element-a941f30 { min-height: 560px; justify-content: center; }
/* imagem: crop top (Figma top -55px ≈ 12%) */
.page-id-9408 .elementor-element-87ac5f0 { background-position: center 75% !important; }
/* eyebrow-row + bloco conteúdo: zerar padding default do e-con */
.page-id-9408 .elementor-element-f8139a7,
.page-id-9408 .elementor-element-7b62c7c { padding: 0 !important; }
/* eyebrow "Innovation" — Nunito Sans 12/700 #EB506D uppercase */
.page-id-9408 .elementor-element-f8139a7 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: 0;
    color: #EB506D; text-transform: uppercase; margin: 0;
}
/* divider do eyebrow — 30×1 #EB506D */
.page-id-9408 .elementor-element-0ccd281 {
    width: 30px !important; min-width: 30px;
    height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center;
    background-color: #EB506D !important;
}
/* título Display/2 — Nunito Sans 48/800 ls-0.96px branco uppercase */
.page-id-9408 .elementor-element-7b62c7c > .e-heading-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 48px; font-weight: 800; line-height: 1.1; letter-spacing: -0.96px;
    color: #FFFFFF; text-transform: uppercase; margin: 0;
}

/* ---------- §3 · Intro "Notre approche" (node 419:3461) ---------- */
.page-id-9408 .elementor-element-e39b4fa { padding-top: 44px; }
.page-id-9408 .elementor-element-ec05116,
.page-id-9408 .elementor-element-cdd560b { padding: 0 !important; }
.page-id-9408 .elementor-element-92dd3c8,
.page-id-9408 .elementor-element-96bc816 { flex: 1 1 0; min-width: 0; padding: 0 !important; }
.page-id-9408 .elementor-element-96bc816 { padding-top: 40px !important; }
.page-id-9408 .elementor-element-cdd560b > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 700; line-height: 1.4;
    letter-spacing: 0; color: #EB506D; text-transform: uppercase; margin: 0;
}
.page-id-9408 .elementor-element-4f20d86 {
    width: 30px !important; min-width: 30px; height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center; background-color: #EB506D !important;
}
.page-id-9408 .elementor-element-92dd3c8 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 36px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.72px; color: #000000; text-transform: uppercase; margin: 0;
}
.page-id-9408 .elementor-element-96bc816 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 24px; font-weight: 700; line-height: 1.3;
    letter-spacing: 0; color: #000000; margin: 0; text-transform: none;
}
.page-id-9408 .elementor-element-96bc816 > .e-paragraph-base {
    font-family: "Lato", sans-serif !important; font-size: 19px; font-weight: 400; line-height: 28px;
    letter-spacing: 0; color: #5A5A5A; margin: 0;
}

/* ---------- §4 · Intro "L'innovation moteur" + datas + imagem (node 419:3462) ---------- */
.page-id-9408 .elementor-element-1c869ba { padding-top: 44px; padding-bottom: 146px; gap: 96px !important; }
/* zerar o padding default (10px) dos outers de secção (afecta espaçamento entre secções) */
.page-id-9408 .elementor-element-8aeaa4a,
.page-id-9408 .elementor-element-e4bef71,
.page-id-9408 .elementor-element-857e466,
.page-id-9408 .elementor-element-c870ba9 { padding: 0 !important; }
.page-id-9408 .elementor-element-7ffe38d { padding: 0 !important; }
.page-id-9408 .elementor-element-35fd443,
.page-id-9408 .elementor-element-f020ef9 { flex: 1 1 0; min-width: 0; padding: 0 !important; }
.page-id-9408 .elementor-element-f020ef9 { padding-top: 40px !important; }
.page-id-9408 .elementor-element-f020ef9 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 24px; font-weight: 700; line-height: 1.3;
    letter-spacing: 0; color: #000000; margin: 0; text-transform: none;
}
.page-id-9408 .elementor-element-f020ef9 > .e-paragraph-base {
    font-family: "Lato", sans-serif !important; font-size: 19px; font-weight: 400; line-height: 28px;
    letter-spacing: 0; color: #5A5A5A; margin: 0;
}
/* imagem clip "ICE images" 1202×553 (bg URL root-relative → staging-safe) */
.page-id-9408 .elementor-element-e240268 {
    min-height: 553px; width: 100%;
    background-image: url("../../../../uploads/2026/07/s4-ice-images.jpeg");
    background-size: cover; background-position: center 42%; background-repeat: no-repeat;
}

/* ---------- §5 · Programme N.E.W.E.R. navy (node 419:3463) ---------- */
.page-id-9408 .elementor-element-8287355 { padding-top: 128px; padding-bottom: 48px; }
.page-id-9408 .elementor-element-46f4f6f { padding: 0 !important; }
.page-id-9408 .elementor-element-a24792b,
.page-id-9408 .elementor-element-360c631 { flex: 1 1 0; min-width: 0; padding: 0 !important; }
.page-id-9408 .elementor-element-360c631 { padding-top: 48px !important; padding-bottom: 32px !important; }
.page-id-9408 .elementor-element-9463430,
.page-id-9408 .elementor-element-4058f0d { padding: 0 !important; }
.page-id-9408 .elementor-element-9463430 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 700; line-height: 1.4;
    letter-spacing: 0; color: #EB506D; text-transform: uppercase; margin: 0;
}
.page-id-9408 .elementor-element-3b11ec1 {
    width: 30px !important; min-width: 30px; height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center; background-color: #EB506D !important;
}
.page-id-9408 .elementor-element-a24792b > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 36px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.72px; color: #FFFFFF; text-transform: uppercase; margin: 0;
}
.page-id-9408 .elementor-element-4058f0d > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 18px; font-weight: 500; line-height: 1.4;
    letter-spacing: 0; color: #FFFFFF; margin: 0;
}
/* 5 eixos: border-top #BABABA + pt-24 */
.page-id-9408 .elementor-element-e13837e,
.page-id-9408 .elementor-element-ec19066,
.page-id-9408 .elementor-element-756a1dd,
.page-id-9408 .elementor-element-67b423a,
.page-id-9408 .elementor-element-9fe9512 {
    border-top: 1px solid #BABABA; padding: 24px 0 0 0 !important; width: 100%;
}
.page-id-9408 .elementor-element-e13837e > .e-heading-base,
.page-id-9408 .elementor-element-ec19066 > .e-heading-base,
.page-id-9408 .elementor-element-756a1dd > .e-heading-base,
.page-id-9408 .elementor-element-67b423a > .e-heading-base,
.page-id-9408 .elementor-element-9fe9512 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 20px; font-weight: 800; line-height: 1.3;
    letter-spacing: 0; color: #FFFFFF; text-transform: uppercase; margin: 0;
}
.page-id-9408 .elementor-element-e13837e > .e-paragraph-base,
.page-id-9408 .elementor-element-ec19066 > .e-paragraph-base,
.page-id-9408 .elementor-element-756a1dd > .e-paragraph-base,
.page-id-9408 .elementor-element-67b423a > .e-paragraph-base,
.page-id-9408 .elementor-element-9fe9512 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 18px; font-weight: 500; line-height: 1.4;
    letter-spacing: 0; color: #F5F5F5; margin: 0;
}

/* ---------- §6 · Notre structure (node 419:3464) ---------- */
.page-id-9408 .elementor-element-392e515 { padding-top: 128px; padding-bottom: 64px; gap: 68px !important; }
.page-id-9408 .elementor-element-d2cabd5 { padding: 0 !important; }
/* eyebrow Variant5: preto + border-bottom preto (SEM divisor vermelho) */
.page-id-9408 .elementor-element-d2cabd5 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 700; line-height: 1.4;
    letter-spacing: 0; color: #000000; text-transform: uppercase; margin: 0;
    padding-bottom: 8px; border-bottom: 1px solid #000000; width: 100%;
}
.page-id-9408 .elementor-element-4db14e4 { padding: 0 !important; }
.page-id-9408 .elementor-element-4db14e4 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 48px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.96px; color: #000000; text-transform: uppercase; margin: 0; flex: 1 1 0;
}
.page-id-9408 .elementor-element-4db14e4 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 18px; font-weight: 500; line-height: 1.4;
    letter-spacing: 0; color: #000000; margin: 0; flex: 0 0 534px; max-width: 534px;
}
/* cards row: space-between (card1 no extremo esq = título, card3 no extremo dir = subtexto, como o Figma) */
.page-id-9408 .elementor-element-0e48601 { padding: 0 !important; justify-content: space-between; gap: 24px !important; }
.page-id-9408 .elementor-element-3e36e0d,
.page-id-9408 .elementor-element-3c36e64,
.page-id-9408 .elementor-element-dafc56a { flex: 0 0 324px; width: 324px; padding: 0 !important; }
/* image slots 324×412 + overlay cinza 20% (bg URL root-relative) */
.page-id-9408 .elementor-element-2584a19,
.page-id-9408 .elementor-element-e4a274f,
.page-id-9408 .elementor-element-4086111 {
    width: 324px; height: 412px; background-size: cover; background-repeat: no-repeat;
}
.page-id-9408 .elementor-element-2584a19 { background-image: linear-gradient(rgba(214,214,214,0.2),rgba(214,214,214,0.2)), url("../../../../uploads/2026/07/s6-card1-ice-development.jpeg"); background-position: 44% center; }
.page-id-9408 .elementor-element-e4a274f { background-image: linear-gradient(rgba(214,214,214,0.2),rgba(214,214,214,0.2)), url("../../../../uploads/2026/07/s6-card2-hydracooling.jpeg"); background-position: 45% center; }
.page-id-9408 .elementor-element-4086111 { background-image: linear-gradient(rgba(214,214,214,0.2),rgba(214,214,214,0.2)), url("../../../../uploads/2026/07/s6-card3-le-lab.jpeg"); background-position: 47% center; }
.page-id-9408 .elementor-element-96fe2ee,
.page-id-9408 .elementor-element-db0e26a,
.page-id-9408 .elementor-element-033e6e4 { padding: 0 !important; }
.page-id-9408 .elementor-element-96fe2ee > .e-heading-base,
.page-id-9408 .elementor-element-db0e26a > .e-heading-base,
.page-id-9408 .elementor-element-033e6e4 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 20px; font-weight: 800; line-height: 1.3;
    letter-spacing: 0; color: #1A1A1A; text-transform: uppercase; margin: 0;
}
.page-id-9408 .elementor-element-96fe2ee > .e-paragraph-base,
.page-id-9408 .elementor-element-db0e26a > .e-paragraph-base,
.page-id-9408 .elementor-element-033e6e4 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 16px; font-weight: 400; line-height: 1.6;
    letter-spacing: 0; color: #5A5A5A; margin: 0;
}
/* botão "Integration" — bordado #5A5A5A + divisor + seta vermelha (como o botão People) */
.page-id-9408 .elementor-element-392e515 > .e-button-base {
    display: inline-flex; align-items: center; align-self: flex-start;
    margin-top: -44px;   /* gap uniforme In-Grid=68; cards→botão ≈24 no Figma (spacing-xl) */
    border: 1px solid #5A5A5A; background: transparent; border-radius: 0;
    padding: 16px 0 16px 16px; min-height: 0;
    font-family: "Nunito Sans", sans-serif; font-size: 16px; font-weight: 800; line-height: 17.85px;
    color: #000000; text-decoration: none; text-transform: none;
}
.page-id-9408 .elementor-element-392e515 > .e-button-base::after {
    content: ""; align-self: stretch; width: 18px; box-sizing: content-box;
    margin: -16px 0 -16px 16px; padding: 0 16px 0 17px; border-left: 1px solid #5A5A5A;
    background: url("data:image/svg+xml,%3Csvg width='18' height='13' viewBox='0 0 18 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 6.5H16M11 1L16.5 6.5L11 12' stroke='%23E6264B' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center / 18px 13px;
    transition: background-position 0.3s ease;
}
.page-id-9408 .elementor-element-392e515 > .e-button-base:hover::after { background-position: calc(50% + 4px) center; }

/* ---------- Animação de entrada (appear-from-bottom) — Innovation + Contacts ---------- */
.page-id-9408 .innov-anim, .page-id-9370 .innov-anim { opacity: 0 !important; transform: translateY(50px) !important; will-change: opacity, transform; }
.page-id-9408 .innov-anim.innov-visible, .page-id-9370 .innov-anim.innov-visible {
    opacity: 1 !important; transform: none !important;
    transition: opacity 0.5s ease, transform 0.7s cubic-bezier(0.26, -0.14, 0, 1.01);
}
@media (prefers-reduced-motion: reduce) {
    .page-id-9408 .innov-anim, .page-id-9408 .innov-anim.innov-visible,
    .page-id-9370 .innov-anim, .page-id-9370 .innov-anim.innov-visible { opacity: 1 !important; transform: none !important; transition: none; }
}

/* ---------- INNOVATION — responsivo (reflow como a source nativa; validado c/ Playwright) ---------- */
/* ≤1440: banda do tema cai p/ 1100 → cards §6 (324×3+gap-121=1214) não cabem → fluidos */
@media (max-width: 1440px) {
    .page-id-9408 .elementor-element-0e48601 { gap: clamp(24px, 4vw, 60px) !important; }
    .page-id-9408 .elementor-element-3e36e0d,
    .page-id-9408 .elementor-element-3c36e64,
    .page-id-9408 .elementor-element-dafc56a { flex: 1 1 0; width: auto; min-width: 0; }
    .page-id-9408 .elementor-element-2584a19,
    .page-id-9408 .elementor-element-e4a274f,
    .page-id-9408 .elementor-element-4086111 { width: 100%; }
}
@media (max-width: 1024px) {
    /* 2-cols empilham (§3 §4 §5 · §6 header) — flex-direction local vence → !important */
    .page-id-9408 .elementor-element-ec05116,
    .page-id-9408 .elementor-element-7ffe38d,
    .page-id-9408 .elementor-element-46f4f6f { flex-direction: column !important; gap: 40px; }
    .page-id-9408 .elementor-element-96bc816,
    .page-id-9408 .elementor-element-f020ef9 { padding-top: 0 !important; }
    .page-id-9408 .elementor-element-35fd443 { display: none !important; }  /* §4 col-esq vazia */
    .page-id-9408 .elementor-element-1c869ba { padding-bottom: 80px; }
    /* §5 eixos → grid 2-col */
    .page-id-9408 .elementor-element-360c631 { display: grid !important; grid-template-columns: 1fr 1fr; gap: 32px 40px; padding-top: 0 !important; }
    /* §6 header 2-col empilha */
    .page-id-9408 .elementor-element-4db14e4 { flex-direction: column !important; gap: 20px; }
    .page-id-9408 .elementor-element-4db14e4 > .e-paragraph-base { flex: 1 1 auto; max-width: 100%; }
    /* §6 cards → 2-col fluido */
    .page-id-9408 .elementor-element-0e48601 { gap: 48px !important; flex-wrap: wrap; }
    .page-id-9408 .elementor-element-3e36e0d,
    .page-id-9408 .elementor-element-3c36e64,
    .page-id-9408 .elementor-element-dafc56a { flex: 1 1 calc(50% - 24px); width: auto; }
    .page-id-9408 .elementor-element-2584a19,
    .page-id-9408 .elementor-element-e4a274f,
    .page-id-9408 .elementor-element-4086111 { width: 100%; }
}
@media (max-width: 768px) {
    /* §4 imagem: o tema reseta bg-image de div-block a ≤768 → re-forçar; centrar no monitor CAD */
    .page-id-9408 .elementor-element-e240268 {
        background-image: url("../../../../uploads/2026/07/s4-ice-images.jpeg") !important;
        background-size: cover; background-repeat: no-repeat;
        background-position: 20% center; min-height: 460px;
    }
    /* §6 cards → 1-col */
    .page-id-9408 .elementor-element-0e48601 { flex-direction: column !important; gap: 40px !important; }
    .page-id-9408 .elementor-element-3e36e0d,
    .page-id-9408 .elementor-element-3c36e64,
    .page-id-9408 .elementor-element-dafc56a { flex: 1 1 100%; max-width: 100%; }
    /* §5 eixos → 1-col */
    .page-id-9408 .elementor-element-360c631 { grid-template-columns: 1fr !important; }
    /* títulos Display clamp */
    .page-id-9408 .elementor-element-7b62c7c > .e-heading-base,
    .page-id-9408 .elementor-element-4db14e4 > .e-heading-base { font-size: clamp(30px, 7vw, 48px); letter-spacing: -0.5px; }
    .page-id-9408 .elementor-element-92dd3c8 > .e-heading-base,
    .page-id-9408 .elementor-element-a24792b > .e-heading-base { font-size: clamp(26px, 6vw, 36px); }
}

/* ---------- §3 Performance — overrides (imagem faíscas, botão text-link, espaçamento) ---------- */
.page-id-9408 .elementor-element-e240268 {
    background-image: url("../../../../uploads/2026/07/perf-s3-sparks.jpeg");
    background-position: center 45%;
}
.page-id-9408 .elementor-element-1c869ba { padding-top: 96px; padding-bottom: 158px; }
/* botão text-link "Gouvernance et Stratégie" (#5A5A5A + seta vermelha) — mesmo estilo do botão Innovation */
.page-id-9408 .elementor-element-92dd3c8 > .e-button-base {
    display: inline-flex; align-items: center; align-self: flex-start; margin-top: 24px;
    border: 1px solid #5A5A5A; background: transparent; border-radius: 0;
    padding: 16px 0 16px 16px; min-height: 0;
    font-family: "Nunito Sans", sans-serif; font-size: 16px; font-weight: 800; line-height: 17.85px;
    color: #000000; text-decoration: none; text-transform: none;
}
.page-id-9408 .elementor-element-92dd3c8 > .e-button-base::after {
    content: ""; align-self: stretch; width: 18px; box-sizing: content-box;
    margin: -16px 0 -16px 16px; padding: 0 16px 0 17px; border-left: 1px solid #5A5A5A;
    background: url("data:image/svg+xml,%3Csvg width='18' height='13' viewBox='0 0 18 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 6.5H16M11 1L16.5 6.5L11 12' stroke='%23E6264B' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center / 18px 13px;
    transition: background-position 0.3s ease;
}
.page-id-9408 .elementor-element-92dd3c8 > .e-button-base:hover::after { background-position: calc(50% + 4px) center; }
@media (max-width: 768px) {
    .page-id-9408 .elementor-element-e240268 { background-image: url("../../../../uploads/2026/07/perf-s3-sparks.jpeg") !important; }
}

/* ---------- §4 Performance — botão "Expert intégré" text-link light (#F5F5F5) sobre navy ---------- */
.page-id-9408 .elementor-element-a24792b > .e-button-base {
    display: inline-flex; align-items: center; align-self: flex-start; margin-top: 24px;
    border: 1px solid #F5F5F5; background: transparent; border-radius: 0;
    padding: 16px 0 16px 16px; min-height: 0;
    font-family: "Nunito Sans", sans-serif; font-size: 16px; font-weight: 800; line-height: 17.85px;
    color: #FFFFFF; text-decoration: none; text-transform: none;
}
.page-id-9408 .elementor-element-a24792b > .e-button-base::after {
    content: ""; align-self: stretch; width: 18px; box-sizing: content-box;
    margin: -16px 0 -16px 16px; padding: 0 16px 0 17px; border-left: 1px solid #F5F5F5;
    background: url("data:image/svg+xml,%3Csvg width='18' height='13' viewBox='0 0 18 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 6.5H16M11 1L16.5 6.5L11 12' stroke='%23E6264B' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center / 18px 13px;
    transition: background-position 0.3s ease;
}
.page-id-9408 .elementor-element-a24792b > .e-button-base:hover::after { background-position: calc(50% + 4px) center; }
/* corpo do nó-misto §4 = #F5F5F5 (spec) */
.page-id-9408 .elementor-element-4058f0d > .e-paragraph-base { color: #F5F5F5; }

/* ---------- §5 Performance — 5B: cards da Innovation §6 → bullets (dot #E6264B + texto) ---------- */
/* bullets empilhados em coluna (anula o space-between/324px + reflows dos cards da gémea) */
.page-id-9408 .elementor-element-0e48601 {
    flex-direction: column !important; justify-content: flex-start !important;
    flex-wrap: nowrap !important; gap: 20px !important; width: 100%;
}
.page-id-9408 .elementor-element-3e36e0d,
.page-id-9408 .elementor-element-3c36e64,
.page-id-9408 .elementor-element-dafc56a {
    flex: 0 0 auto !important; width: 100% !important; max-width: 100% !important;
    flex-direction: row !important; align-items: center !important; gap: 12px !important;
}
/* dot 12×12 #E6264B (CSS, sem asset — spec). position:static contraria o ::before absoluto do container atómico */
.page-id-9408 .elementor-element-3e36e0d::before,
.page-id-9408 .elementor-element-3c36e64::before,
.page-id-9408 .elementor-element-dafc56a::before {
    content: ""; position: static !important; align-self: center;
    flex: 0 0 12px; width: 12px; height: 12px; border-radius: 50%; background-color: #E6264B;
}
/* texto do bullet: 18px Medium #000 (spec) */
.page-id-9408 .elementor-element-96fe2ee > .e-paragraph-base,
.page-id-9408 .elementor-element-db0e26a > .e-paragraph-base,
.page-id-9408 .elementor-element-033e6e4 > .e-paragraph-base {
    font-size: 18px; font-weight: 500; color: #000000; line-height: 1.4;
}
/* botão §5B "Gouvernance et Stratégie": anular o margin-top -44 da gémea; espaço após bullets */
.page-id-9408 .elementor-element-392e515 > .e-button-base { margin-top: 8px; }

/* =========================================================================
   CONTACTS (post 9370) — nativo e-con + In Grid · mapa + info + form CF7
   ========================================================================= */

/* ---------- §2 · Mapa (node 419:3277) — iframe de embed do Google Maps (keyless) ---------- */
.page-id-9370 .elementor-element-5eaa18f { min-height: 625px; background-color: #1a2a4a; }
/* o §2 é flex-column align-center → o widget do mapa encolhia a 0 de largura; forçar largura total */
.page-id-9370 .elementor-element-fd5b6a5 { width: 100%; align-self: stretch; }
.page-id-9370 #ice-contact-map { width: 100%; height: 625px; }
.page-id-9370 #ice-contact-map iframe { width: 100%; height: 100%; border: 0; display: block; }
@media (max-width: 768px) { .page-id-9370 #ice-contact-map { height: 420px; } }

/* fix (ticket staging): o mapa não deve ficar sob a navbar transparente (o logo
   branco/escuro perdia-se sobre o satélite claro). Baixa-se o mapa pela altura da
   navbar; o topo navy do próprio container fica atrás da navbar → logo/menu legíveis.
   Mobile: o header mobile usa logo ESCURO por defeito → forçar branco aqui, senão
   fica invisível sobre o navy. Navbar desktop = 88px, header mobile = 70px.
   Padding L/R/baixo a 0 (o default de 10px do Elementor deixava uma borda navy à
   volta do iframe) → mapa full-bleed dentro da banda. */
.page-id-9370 .elementor-element-5eaa18f { padding: 88px 0 0 0 !important; }
@media (max-width: 1024px) {
    .page-id-9370 .elementor-element-5eaa18f { padding: 70px 0 0 0 !important; }
    .page-id-9370 #qodef-page-mobile-header .qodef-header-logo-image {
        content: url('../images/logo-ice-white.svg') !important;
    }
}

/* ---------- §3 · Info + Formulário (node 419:3280) ---------- */
.page-id-9370 .elementor-element-c08cbb7 { align-items: stretch; padding: 0 !important; }
.page-id-9370 .elementor-element-678237f { flex: 1 1 0; justify-content: center; padding: 0 !important; }
.page-id-9370 .elementor-element-3d4d495 { flex: 1 1 0; justify-content: center; padding: 128px 0 128px 48px !important; }
.page-id-9370 .elementor-element-fb06a0a,
.page-id-9370 .elementor-element-29a1bd2 { padding: 0 !important; }
.page-id-9370 .elementor-element-743f96e,
.page-id-9370 .elementor-element-0df0dd9 { flex: 1 1 0; padding: 0 !important; }
/* título "Contactez-nous" — Nunito 36/800 #000 upp ls-0.72 */
.page-id-9370 .elementor-element-fb06a0a > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 36px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.72px; color: #000000; text-transform: uppercase; margin: 0;
}
/* divisor crimson MAIN 327×1 */
.page-id-9370 .elementor-element-869c80f {
    width: 327px !important; max-width: 100%; height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 1px; background-color: #E6264B !important;
}
/* labels "Notre adresse"/"Réseaux sociaux" — Nunito 14/800 #000 upp */
.page-id-9370 .elementor-element-743f96e > .e-paragraph-base:first-of-type,
.page-id-9370 .elementor-element-0df0dd9 > .e-paragraph-base:first-of-type {
    font-family: "Nunito Sans", sans-serif; font-size: 14px; font-weight: 800; line-height: 1.275;
    letter-spacing: 0; color: #000000; text-transform: uppercase; margin: 0;
}
/* morada — Nunito 14/400 #000 lh1.5 */
.page-id-9370 .elementor-element-743f96e > .e-paragraph-base:last-of-type {
    font-family: "Nunito Sans", sans-serif; font-size: 14px; font-weight: 400; line-height: 1.5;
    letter-spacing: 0; color: #000000; margin: 0;
}

/* ---------- §3b · Formulário CF7 (underline-only) ---------- */
.page-id-9370 .elementor-element-b2afe6c { width: 540px; max-width: 540px; }
.page-id-9370 .elementor-element-b2afe6c .wpcf7-form { display: flex; flex-direction: column; gap: 32px; margin: 0; }
.page-id-9370 .elementor-element-b2afe6c .wpcf7-form p { margin: 0; }
.page-id-9370 .ice-cf-field .wpcf7-form-control {
    width: 100%; border: 0; border-bottom: 1px solid #BABABA; border-radius: 0;
    background: transparent; box-shadow: none; outline: none;
    padding: 0 0 8px 0; margin: 0;
    font-family: "Nunito Sans", sans-serif; font-size: 14px; font-weight: 400; line-height: 1.5; color: #5A5A5A;
}
.page-id-9370 .ice-cf-field .wpcf7-form-control:focus { border-bottom-color: #5A5A5A; }
.page-id-9370 .ice-cf-field .wpcf7-form-control::placeholder { color: #5A5A5A; opacity: 1; }
.page-id-9370 .ice-cf-textarea .wpcf7-form-control { height: 90px; min-height: 90px; resize: vertical; }
/* botão "Envoyer" — usa a estrutura nativa do tema (.qodef-m-text + arrow-holder); divisor + seta vermelha (Figma bipartido) */
.page-id-9370 .ice-cf-submit { display: flex; justify-content: flex-end; }
.page-id-9370 .wpcf7-submit {
    display: inline-flex; align-items: stretch; width: 146px; height: 52px;
    border: 1px solid #5A5A5A; background: transparent; border-radius: 0; cursor: pointer;
    padding: 0; box-shadow: none;
    font-family: "Nunito Sans", sans-serif; font-size: 16px; font-weight: 800; line-height: 1; color: #000000;
}
.page-id-9370 .wpcf7-submit .qodef-m-text { display: flex; align-items: center; padding: 0 16px; }
.page-id-9370 .wpcf7-submit .qodef-m-button-arrow-holder {
    display: flex; align-items: center; justify-content: center; margin-left: auto; align-self: stretch;
    border-left: 1px solid #5A5A5A; padding: 0 15px;
    transition: transform 0.3s ease;
}
.page-id-9370 .wpcf7-submit .qodef-svg--button-arrow { width: 18px; height: 13px; color: #E6264B; }
.page-id-9370 .wpcf7-submit .qodef-svg--button-arrow path { fill: #E6264B; }  /* só fill, como o tema — o stroke engrossava a seta ("seta grande", ticket 86camujmd) */
/* hover = comportamento do botão OUTLINED do tema: fundo transparente (NÃO preencher
   a vermelho — o botão não tinha a classe qodef-layout--outlined, caía no hover
   default). Texto escuro; a seta anima pela regra global do tema (.qodef-button:hover, 2-path). */
.page-id-9370 .wpcf7-submit:hover,
.page-id-9370 .wpcf7-submit:hover .qodef-m-text {
    background-color: transparent !important;
    color: #000000 !important;
}
/* ícones sociais — 20×20 #EB506D (SVG inline), dormentes até ao lançamento (como o footer) */
.page-id-9370 .ice-social-list { display: flex; gap: 16px; align-items: center; }
.page-id-9370 .ice-social-ic { display: inline-flex; line-height: 0; }
.page-id-9370 .ice-social-ic svg { width: 20px; height: 20px; display: block; }
.page-id-9370 .ice-social-ic.is-dormant { cursor: default; pointer-events: none; }
/* estados de validação CF7 (underline vermelho + tip pequena) */
.page-id-9370 .ice-cf-field .wpcf7-form-control.wpcf7-not-valid { border-bottom-color: #E6264B; }
.page-id-9370 .wpcf7-not-valid-tip {
    font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 400; line-height: 1.4;
    color: #E6264B; margin-top: 4px; display: block;
}
.page-id-9370 .wpcf7-response-output {
    font-family: "Nunito Sans", sans-serif; font-size: 14px; line-height: 1.5;
    margin: 8px 0 0; padding: 12px 16px; border-width: 1px; border-radius: 0;
}
.page-id-9370 .wpcf7-form.sent .wpcf7-response-output { border-color: #2E7D32; color: #2E7D32; }
.page-id-9370 .wpcf7-form.invalid .wpcf7-response-output { border-color: #E6264B; color: #E6264B; }

/* ---------- CONTACTS — responsivo (reflow como a source nativa contact-us) ---------- */
@media (max-width: 1024px) {
    /* form-col: reduzir padding lateral/vertical */
    .page-id-9370 .elementor-element-3d4d495 { padding: 80px 0 80px 24px !important; }
}
@media (max-width: 768px) {
    /* §2 mapa: mais baixo em mobile */
    .page-id-9370 .elementor-element-5eaa18f { min-height: 360px; }
    /* §3 2-col empilha: info em cima, form em baixo */
    .page-id-9370 .elementor-element-c08cbb7 { flex-direction: column !important; gap: 48px; }
    .page-id-9370 .elementor-element-3d4d495 { padding: 0 !important; align-items: stretch !important; }
    /* form + campos + botão full-width */
    .page-id-9370 .elementor-element-b2afe6c { width: 100%; max-width: 100%; }
    .page-id-9370 .ice-cf-submit { justify-content: stretch; }
    .page-id-9370 .wpcf7-submit { width: 100%; }
}
@media (max-width: 480px) {
    /* info 2-col (morada + redes) empilha */
    .page-id-9370 .elementor-element-29a1bd2 { flex-direction: column !important; gap: 24px; }
}

/* =========================================================================
   DURABILITÉ (post 9409) — página nativa; gémea de Performance/Innovation.
   §2/§3 herdam element IDs do clone; §4–§10 com IDs próprios. CSS por secção.
   ========================================================================= */

/* ---------- §2 · Banner / Hero (Figma 419:3420) ---------- */
/* conteúdo ancorado mais abaixo (hero bottom-weighted, afinável) */
.page-id-9409 .elementor-element-a941f30 { min-height: 560px; justify-content: flex-end; padding-bottom: 80px; }
.page-id-9409 .elementor-element-87ac5f0 { background-position: center 15% !important; }
.page-id-9409 .elementor-element-f8139a7,
.page-id-9409 .elementor-element-7b62c7c { padding: 0 !important; }
/* bloco de texto a 1200px (largura do Figma) → título quebra em 3 linhas como o Figma */
.page-id-9409 .elementor-element-7b62c7c { max-width: 1200px; }
/* eyebrow "durabilité" — Nunito Sans 12/700 #EB506D uppercase */
.page-id-9409 .elementor-element-f8139a7 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: 0;
    color: #EB506D; text-transform: uppercase; margin: 0;
}
/* divider do eyebrow — 30×1 #EB506D */
.page-id-9409 .elementor-element-0ccd281 {
    width: 30px !important; min-width: 30px;
    height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center;
    background-color: #EB506D !important;
}
/* título Display/2 — Nunito Sans 48/800 ls-0.96px branco uppercase */
.page-id-9409 .elementor-element-7b62c7c > .e-heading-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 48px; font-weight: 800; line-height: 1.1; letter-spacing: -0.96px;
    color: #FFFFFF; text-transform: uppercase; margin: 0;
}

/* ---------- §3 · Intro 2-col "Notre responsabilité" (Figma 419:3421) ---------- */
.page-id-9409 .elementor-element-8aeaa4a { padding: 0 !important; }
.page-id-9409 .elementor-element-e39b4fa { padding-top: 44px; }
.page-id-9409 .elementor-element-ec05116,
.page-id-9409 .elementor-element-cdd560b { padding: 0 !important; }
.page-id-9409 .elementor-element-92dd3c8,
.page-id-9409 .elementor-element-96bc816 { flex: 1 1 0; min-width: 0; padding: 0 !important; }
.page-id-9409 .elementor-element-96bc816 { padding-top: 40px !important; }
/* eyebrow "Notre responsabilité" 12/700 #EB506D uppercase */
.page-id-9409 .elementor-element-cdd560b > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 700; line-height: 1.4;
    letter-spacing: 0; color: #EB506D; text-transform: uppercase; margin: 0;
}
.page-id-9409 .elementor-element-4f20d86 {
    width: 30px !important; min-width: 30px; height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center; background-color: #EB506D !important;
}
/* headline Display/3 36/800/-0.72 #000 uppercase */
.page-id-9409 .elementor-element-92dd3c8 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 36px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.72px; color: #000000; text-transform: uppercase; margin: 0;
}
/* subtítulo dir. Heading/h4 24/700 #000 */
.page-id-9409 .elementor-element-96bc816 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 24px; font-weight: 700; line-height: 1.3;
    letter-spacing: 0; color: #000000; margin: 0; text-transform: none;
}
/* parágrafo dir. Lato 19/400 lh28 #5A5A5A */
.page-id-9409 .elementor-element-96bc816 > .e-paragraph-base {
    font-family: "Lato", sans-serif !important; font-size: 19px; font-weight: 400; line-height: 28px;
    letter-spacing: 0; color: #5A5A5A; margin: 0;
}

/* ---------- §4 · Imagem full-width 1 (jardin) (Figma 419:3422) ---------- */
.page-id-9409 .elementor-element-e4bef71 { padding: 0 !important; }
.page-id-9409 .elementor-element-1c869ba { padding-top: 44px; padding-bottom: 54px; }
/* clip "ICE images" 1202×553; bg cover URL root-relative (staging-safe) */
.page-id-9409 .elementor-element-e240268 {
    min-height: 553px; width: 100%;
    background-image: url("../../../../uploads/2026/07/durabilite-s4-jardin.jpeg");
    background-size: cover; background-position: center 5%; background-repeat: no-repeat;
}

/* ---------- §5 · Notre impact (Figma 419:3423) ---------- */
.page-id-9409 .elementor-element-d5c0001 { padding: 0 !important; }
.page-id-9409 .elementor-element-d5c0002 { padding-top: 64px; padding-bottom: 40px; gap: 0 !important; }
.page-id-9409 .elementor-element-d5f0001 { padding: 0 !important; display: flex; flex-direction: column !important; gap: 24px !important; align-items: flex-start; }
.page-id-9409 .elementor-element-d5f0002 { padding: 0 !important; display: flex; flex-direction: row !important; gap: 8px !important; align-items: center; }
.page-id-9409 .elementor-element-d5f0002 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 700; line-height: 1.4;
    letter-spacing: 0; color: #EB506D; text-transform: uppercase; margin: 0;
}
.page-id-9409 .elementor-element-d5d0001 {
    width: 30px !important; min-width: 30px; height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center; background-color: #EB506D !important;
}
.page-id-9409 .elementor-element-d5f0001 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 36px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.72px; color: #000000; text-transform: uppercase; margin: 0;
}
.page-id-9409 .elementor-element-d5b0001 {
    margin-top: 64px; border-top: 1px solid #1A2A4A; padding: 24px 0 0 0 !important; width: 100%;
}
.page-id-9409 .elementor-element-d5b0001 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 18px; font-weight: 500; line-height: 1.4;
    letter-spacing: 0; color: #5A5A5A; margin: 0;
}
.page-id-9409 .elementor-element-d5c0002 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 28px; font-weight: 600; line-height: 1.3;
    letter-spacing: 0; color: #000000; text-transform: none; margin: 48px 0 0 0;
}

/* ---------- §6 · Solutions innovantes (navy) (Figma 419:3424) ---------- */
.page-id-9409 .elementor-element-857e466 { padding: 0 !important; }
.page-id-9409 .elementor-element-8287355 { padding-top: 128px; padding-bottom: 48px; }
.page-id-9409 .elementor-element-46f4f6f { padding: 0 !important; }
.page-id-9409 .elementor-element-a24792b,
.page-id-9409 .elementor-element-360c631 { flex: 1 1 0; min-width: 0; padding: 0 !important; }
.page-id-9409 .elementor-element-360c631 { padding-top: 48px !important; padding-bottom: 32px !important; }
.page-id-9409 .elementor-element-9463430,
.page-id-9409 .elementor-element-4058f0d { padding: 0 !important; }
/* eyebrow "Nos engagements" 12/700 #EB506D uppercase + divider */
.page-id-9409 .elementor-element-9463430 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 700; line-height: 1.4;
    letter-spacing: 0; color: #EB506D; text-transform: uppercase; margin: 0;
}
.page-id-9409 .elementor-element-3b11ec1 {
    width: 30px !important; min-width: 30px; height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center; background-color: #EB506D !important;
}
/* título Display/3 36/800/-0.72 branco uppercase */
.page-id-9409 .elementor-element-a24792b > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 36px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.72px; color: #FFFFFF; text-transform: uppercase; margin: 0;
}
/* subtítulo Heading/h6 18/500 branco */
.page-id-9409 .elementor-element-4058f0d > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 18px; font-weight: 500; line-height: 1.4;
    letter-spacing: 0; color: #FFFFFF; margin: 0;
}
/* item 4 (minted): column + gap p/ combinar com os clonados */
.page-id-9409 .elementor-element-d6i0004 { display: flex; flex-direction: column !important; gap: 16px !important; }
/* 4 itens: border-top #BABABA + pt-24 */
.page-id-9409 .elementor-element-e13837e,
.page-id-9409 .elementor-element-ec19066,
.page-id-9409 .elementor-element-756a1dd,
.page-id-9409 .elementor-element-d6i0004 { border-top: 1px solid #BABABA; padding: 24px 0 0 0 !important; width: 100%; }
/* labels itens 20/800 branco uppercase */
.page-id-9409 .elementor-element-e13837e > .e-heading-base,
.page-id-9409 .elementor-element-ec19066 > .e-heading-base,
.page-id-9409 .elementor-element-756a1dd > .e-heading-base,
.page-id-9409 .elementor-element-d6i0004 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 20px; font-weight: 800; line-height: 1.3;
    letter-spacing: 0; color: #FFFFFF; text-transform: uppercase; margin: 0;
}
/* descrições itens 18/500 #F5F5F5 */
.page-id-9409 .elementor-element-e13837e > .e-paragraph-base,
.page-id-9409 .elementor-element-ec19066 > .e-paragraph-base,
.page-id-9409 .elementor-element-756a1dd > .e-paragraph-base,
.page-id-9409 .elementor-element-d6i0004 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 18px; font-weight: 500; line-height: 1.4;
    letter-spacing: 0; color: #F5F5F5; margin: 0;
}

/* ---------- §7 · Imagem full-width 2 (showroom) (Figma 430:7206) ---------- */
.page-id-9409 .elementor-element-d7c0001 { padding: 0 !important; }
.page-id-9409 .elementor-element-d7c0002 { padding-top: 44px; padding-bottom: 54px; }
.page-id-9409 .elementor-element-d7b0001 {
    min-height: 553px; width: 100%;
    background-image: url("../../../../uploads/2026/07/durabilite-s7-showroom.jpeg");
    background-size: cover; background-position: center center; background-repeat: no-repeat;
}

/* ---------- §8 · Notre empreinte (Figma 419:3425) ---------- */
.page-id-9409 .elementor-element-d8c0001 { padding: 0 !important; }
.page-id-9409 .elementor-element-d8c0002 { padding-top: 128px; padding-bottom: 96px; }
.page-id-9409 .elementor-element-d8r0001 { display: flex; flex-direction: row !important; gap: 21px !important; align-items: flex-start; padding: 0 !important; }
.page-id-9409 .elementor-element-d8l0001 { display: flex; flex-direction: column !important; gap: 48px !important; flex: 533 1 0; min-width: 0; padding: 0 !important; }
.page-id-9409 .elementor-element-d8r0002 { display: flex; flex-direction: column !important; gap: 21px !important; flex: 663 1 0; min-width: 0; padding: 0 !important; }
/* eyebrow "Notre empreinte" */
.page-id-9409 .elementor-element-d8e0001 { display: flex; flex-direction: row !important; gap: 8px !important; align-items: center; padding: 0 !important; }
.page-id-9409 .elementor-element-d8e0001 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 700; line-height: 1.4;
    letter-spacing: 0; color: #EB506D; text-transform: uppercase; margin: 0;
}
.page-id-9409 .elementor-element-d8d0001 {
    width: 30px !important; min-width: 30px; height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center; background-color: #EB506D !important;
}
/* título Display/3 36/800/-0.72 #000 uppercase */
.page-id-9409 .elementor-element-d8l0001 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 36px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.72px; color: #000000; text-transform: uppercase; margin: 0;
}
/* itens: border-top + row [icone | textcol] */
.page-id-9409 .elementor-element-d8i0001,
.page-id-9409 .elementor-element-d8i0002 { display: flex; flex-direction: row !important; gap: 16px !important; align-items: flex-start; border-top: 1px solid #BABABA; padding-top: 24px !important; width: 100%; }
/* ícone ICONS DURABILITÉ_OUTLINE 56.69 */
.page-id-9409 .elementor-element-d8ic001,
.page-id-9409 .elementor-element-d8ic002 {
    flex: 0 0 56.69px; width: 56.69px; height: 56.69px; padding: 0 !important;
    background: url("../images/icon-durabilite-empreinte.svg") no-repeat center / contain;
}
/* textcol */
.page-id-9409 .elementor-element-d8t0001,
.page-id-9409 .elementor-element-d8t0002 { display: flex; flex-direction: column !important; gap: 20px !important; padding: 0 !important; }
/* label Heading/h4-Upp 20/800 #1A1A1A uppercase */
.page-id-9409 .elementor-element-d8t0001 > .e-heading-base,
.page-id-9409 .elementor-element-d8t0002 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 20px; font-weight: 800; line-height: 1.3;
    letter-spacing: 0; color: #1A1A1A; text-transform: uppercase; margin: 0;
}
/* corpo Heading/h5 20/500 #5A5A5A */
.page-id-9409 .elementor-element-d8t0001 > .e-paragraph-base,
.page-id-9409 .elementor-element-d8t0002 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 20px; font-weight: 500; line-height: 1.4;
    letter-spacing: 0; color: #1A1A1A; margin: 0;   /* ticket 86camup98: corpo #1A1A1A (era #5A5A5A) */
}

/* ---------- §9 · Nos engagements (social cards) (Figma 419:3426) ---------- */
.page-id-9409 .elementor-element-d9c0001 { padding: 0 !important; }
.page-id-9409 .elementor-element-d9c0002 { padding-top: 128px; padding-bottom: 64px; gap: 0 !important; }
.page-id-9409 .elementor-element-d9hd001 { display: flex; flex-direction: column !important; gap: 48px !important; padding: 0 !important; }
/* eyebrow Variant5: preto + border-bottom preto full-width */
.page-id-9409 .elementor-element-d9v0001 { width: 100%; padding: 0 0 8px 0 !important; border-bottom: 1px solid #000000; }
.page-id-9409 .elementor-element-d9v0001 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 700; line-height: 1.4;
    letter-spacing: 0; color: #000000; text-transform: uppercase; margin: 0;
}
/* title row 2-col: título esq + subtítulo dir */
.page-id-9409 .elementor-element-d9tr001 { display: flex; flex-direction: row !important; gap: 24px !important; align-items: flex-start; padding: 0 !important; }
.page-id-9409 .elementor-element-d9tr001 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 48px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.96px; color: #000000; text-transform: uppercase; margin: 0; flex: 1 1 0;
}
.page-id-9409 .elementor-element-d9tr001 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 24px; font-weight: 700; line-height: 1.3;
    letter-spacing: 0; color: #000000; margin: 0; flex: 0 0 480px; max-width: 480px;
}
/* cards row */
.page-id-9409 .elementor-element-d9cr001 { display: flex; flex-direction: row !important; gap: 24px !important; justify-content: space-between; align-items: flex-start; padding: 0 !important; margin-top: 68px; }
.page-id-9409 .elementor-element-d9k0001,
.page-id-9409 .elementor-element-d9k0002,
.page-id-9409 .elementor-element-d9k0003 { display: flex; flex-direction: column !important; gap: 24px !important; flex: 0 1 324px; min-width: 0; padding: 0 !important; }
/* imagens 324×412 sobre fundo vermelho (largura fluida ao card) */
.page-id-9409 .elementor-element-d9im001,
.page-id-9409 .elementor-element-d9im002,
.page-id-9409 .elementor-element-d9im003 { width: 100%; height: 412px; background-color: #E6264B; background-size: cover; background-repeat: no-repeat; background-position: center; }
.page-id-9409 .elementor-element-d9im001 { background-image: url("../../../../uploads/2026/07/durabilite-card1-talents.jpeg"); }
.page-id-9409 .elementor-element-d9im002 { background-image: url("../../../../uploads/2026/07/durabilite-card2-sante.jpeg"); }
.page-id-9409 .elementor-element-d9im003 { background-image: url("../../../../uploads/2026/07/durabilite-card3-diversite.jpeg"); }
/* card textblock */
.page-id-9409 .elementor-element-d9tb001,
.page-id-9409 .elementor-element-d9tb002,
.page-id-9409 .elementor-element-d9tb003 { display: flex; flex-direction: column !important; gap: 12px !important; padding: 0 !important; }
/* card título 20/800 #1A1A1A uppercase */
.page-id-9409 .elementor-element-d9tb001 > .e-heading-base,
.page-id-9409 .elementor-element-d9tb002 > .e-heading-base,
.page-id-9409 .elementor-element-d9tb003 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 20px; font-weight: 800; line-height: 1.3;
    letter-spacing: 0; color: #1A1A1A; text-transform: uppercase; margin: 0;
}
/* card bullets 16/400 #5A5A5A lh1.6 */
.page-id-9409 .elementor-element-d9tb001 > .e-paragraph-base,
.page-id-9409 .elementor-element-d9tb002 > .e-paragraph-base,
.page-id-9409 .elementor-element-d9tb003 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 16px; font-weight: 400; line-height: 1.6;
    letter-spacing: 0; color: #5A5A5A; margin: 0;
}
/* botão "People" — borda #5A5A5A + divisor + seta vermelha */
.page-id-9409 .elementor-element-d9c0002 > .e-button-base {
    display: inline-flex; align-items: center; align-self: flex-start; margin-top: 24px;
    border: 1px solid #5A5A5A; background: transparent; border-radius: 0;
    padding: 16px 0 16px 16px; min-height: 0;
    font-family: "Nunito Sans", sans-serif; font-size: 16px; font-weight: 800; line-height: 17.85px;
    color: #000000; text-decoration: none; text-transform: none;
}
.page-id-9409 .elementor-element-d9c0002 > .e-button-base::after {
    content: ""; align-self: stretch; width: 18px; box-sizing: content-box;
    margin: -16px 0 -16px 16px; padding: 0 16px 0 17px; border-left: 1px solid #5A5A5A;
    background: url("data:image/svg+xml,%3Csvg width='18' height='13' viewBox='0 0 18 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 6.5H16M11 1L16.5 6.5L11 12' stroke='%23E6264B' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center / 18px 13px;
    transition: background-position 0.3s ease;
}
.page-id-9409 .elementor-element-d9c0002 > .e-button-base:hover::after { background-position: calc(50% + 4px) center; }

/* ---------- §10 · Section téléchargement (Figma 419:3440) ---------- */
.page-id-9409 .elementor-element-d10c001 { padding: 0 !important; }
.page-id-9409 .elementor-element-d10c002 { padding-top: 33px; padding-bottom: 64px; gap: 32px !important; align-items: stretch; } /* pb-64: margem antes do footer navy (ticket 86camupga) */
/* título Display/2 48/800/-0.96 #000 uppercase */
.page-id-9409 .elementor-element-d10c002 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 48px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.96px; color: #000000; text-transform: uppercase; margin: 0; width: 100%;
}
/* accordion NATIVO (Qi Addons) — gerível pelo cliente no Elementor; estilizado ao Figma */
.page-id-9409 .qodef-qi-accordion { width: 100%; margin: 0; padding: 0; border: 0; background: none; }
.page-id-9409 .qodef-qi-accordion .qodef-e-title-holder {
    display: flex; justify-content: space-between; align-items: center;
    min-height: 56.69px; margin: 0; padding: 0; border: 0; border-top: 1px solid #BABABA;
    background: none; border-radius: 0; cursor: pointer; font-weight: 400;
}
.page-id-9409 .qodef-qi-accordion .qodef-e-title {
    font-family: "Nunito Sans", sans-serif; font-size: 20px; font-weight: 400; line-height: 1.3;
    letter-spacing: 0; color: #000000; text-transform: uppercase;
}
/* marca: ícone octógono (esconde +/− default FA), roda 45° (→ ×) quando activo */
.page-id-9409 .qodef-qi-accordion .qodef-e-mark {
    flex: 0 0 56.69px; width: 56.69px; height: 56.69px;
    background: url("../images/icon-durabilite-plus.svg") no-repeat center / contain;
    transition: transform 0.3s ease;
}
.page-id-9409 .qodef-qi-accordion .qodef-e-mark svg,
.page-id-9409 .qodef-qi-accordion .qodef-icon--plus,
.page-id-9409 .qodef-qi-accordion .qodef-icon--minus,
.page-id-9409 .qodef-qi-accordion .ui-accordion-header-icon { display: none !important; }
.page-id-9409 .qodef-qi-accordion .ui-accordion-header-active .qodef-e-mark { transform: rotate(45deg); }
/* sem fundo/borda no header activo ou hover (Figma) */
.page-id-9409 .qodef-qi-accordion .qodef-e-title-holder.ui-state-active,
.page-id-9409 .qodef-qi-accordion .qodef-e-title-holder.ui-state-hover,
.page-id-9409 .qodef-qi-accordion .qodef-e-title-holder:hover { background: none !important; border-top: 1px solid #BABABA !important; }
/* conteúdo colapsável (animação via jQuery UI) */
.page-id-9409 .qodef-qi-accordion .qodef-e-content { border: 0; background: none; padding: 0; }
.page-id-9409 .qodef-qi-accordion .qodef-e-content-inner {
    font-family: "Nunito Sans", sans-serif; font-size: 18px; font-weight: 400; line-height: 1.5;
    letter-spacing: 0; color: #5A5A5A; padding: 0 0 24px 0;
}

/* ========== DURABILITÉ (9409) — responsivo ========== */
@media (max-width: 1024px) {
    /* §3 intro 2-col → 1-col */
    .page-id-9409 .elementor-element-ec05116 { flex-direction: column !important; gap: 40px; }
    .page-id-9409 .elementor-element-92dd3c8,
    .page-id-9409 .elementor-element-96bc816 { flex: 1 1 auto; }
    .page-id-9409 .elementor-element-96bc816 { padding-top: 0 !important; }
    /* §6 navy 2-col → 1-col */
    .page-id-9409 .elementor-element-46f4f6f { flex-direction: column !important; gap: 40px; }
    .page-id-9409 .elementor-element-a24792b,
    .page-id-9409 .elementor-element-360c631 { flex: 1 1 auto; }
    .page-id-9409 .elementor-element-360c631 { padding-top: 24px !important; }
    /* §8 empreinte 2-col → 1-col */
    .page-id-9409 .elementor-element-d8r0001 { flex-direction: column !important; gap: 40px; }
    .page-id-9409 .elementor-element-d8l0001,
    .page-id-9409 .elementor-element-d8r0002 { flex: 1 1 auto; width: 100%; }
    /* §9 título 2-col → 1-col + cards 2-up */
    .page-id-9409 .elementor-element-d9tr001 { flex-direction: column !important; gap: 20px; }
    .page-id-9409 .elementor-element-d9tr001 > .e-paragraph-base { flex: 1 1 auto; max-width: 100%; }
    .page-id-9409 .elementor-element-d9cr001 { flex-wrap: wrap; justify-content: flex-start; gap: 40px; }
    .page-id-9409 .elementor-element-d9k0001,
    .page-id-9409 .elementor-element-d9k0002,
    .page-id-9409 .elementor-element-d9k0003 { flex: 1 1 calc(50% - 20px); }
}
@media (max-width: 768px) {
    /* §9 cards 1-up */
    .page-id-9409 .elementor-element-d9cr001 { flex-direction: column !important; gap: 40px; }
    .page-id-9409 .elementor-element-d9k0001,
    .page-id-9409 .elementor-element-d9k0002,
    .page-id-9409 .elementor-element-d9k0003 { flex: 1 1 100%; max-width: 480px; }
    /* imagens full-width + cards: reduzir altura */
    .page-id-9409 .elementor-element-e240268,
    .page-id-9409 .elementor-element-d7b0001 { min-height: 320px; }
    .page-id-9409 .elementor-element-d9im001,
    .page-id-9409 .elementor-element-d9im002,
    .page-id-9409 .elementor-element-d9im003 { height: 360px; }
    /* clamps títulos Display/2 (48) */
    .page-id-9409 .elementor-element-7b62c7c > .e-heading-base,
    .page-id-9409 .elementor-element-d9tr001 > .e-heading-base,
    .page-id-9409 .elementor-element-d10c002 > .e-heading-base { font-size: clamp(30px, 7vw, 48px); letter-spacing: -0.5px; }
    /* clamps títulos Display/3 (36) */
    .page-id-9409 .elementor-element-92dd3c8 > .e-heading-base,
    .page-id-9409 .elementor-element-d5f0001 > .e-heading-base,
    .page-id-9409 .elementor-element-a24792b > .e-heading-base,
    .page-id-9409 .elementor-element-d8l0001 > .e-heading-base { font-size: clamp(26px, 6vw, 36px); }
    /* reduzir paddings verticais grandes */
    .page-id-9409 .elementor-element-8287355 { padding-top: 80px; }
    .page-id-9409 .elementor-element-d8c0002 { padding-top: 80px; padding-bottom: 64px; }
    .page-id-9409 .elementor-element-d9c0002 { padding-top: 80px; }
}

/* ---------- Durabilité (9409) — animação appear-from-bottom no scroll ---------- */
.page-id-9409 .innov-anim { opacity: 0 !important; transform: translateY(50px) !important; will-change: opacity, transform; }
.page-id-9409 .innov-anim.innov-visible {
    opacity: 1 !important; transform: none !important;
    transition: opacity 0.5s ease, transform 0.7s cubic-bezier(0.26, -0.14, 0, 1.01);
}
@media (prefers-reduced-motion: reduce) {
    .page-id-9409 .innov-anim, .page-id-9409 .innov-anim.innov-visible { opacity: 1 !important; transform: none !important; transition: none; }
}

/* =========================================================================
   CAPITAL HUMAIN (post 9410) — página-pilar nativa; último pilar.
   §2 banner herda IDs do clone Durabilité; §3–§5 IDs próprios (ch*).
   Figma node 419:3394. Selectores descendentes scoped por ID único.
   ========================================================================= */

/* ---------- §2 · Banner / Hero (Figma 419:3396) ---------- */
/* bloco de texto centrado na vertical (Figma items-center: eyebrow @ y≈189 = (560-181)/2) */
.page-id-9410 .elementor-element-a941f30 { min-height: 560px; justify-content: center; }
.page-id-9410 .elementor-element-87ac5f0 { background-position: center 30% !important; }
.page-id-9410 .elementor-element-f8139a7,
.page-id-9410 .elementor-element-7b62c7c { padding: 0 !important; }
.page-id-9410 .elementor-element-7b62c7c { max-width: 1200px; }
/* eyebrow "capital humain" 12/700 #EB506D uppercase */
.page-id-9410 .elementor-element-f8139a7 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 700; line-height: 1.4;
    letter-spacing: 0; color: #EB506D; text-transform: uppercase; margin: 0;
}
.page-id-9410 .elementor-element-0ccd281 {
    width: 30px !important; min-width: 30px; height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center; background-color: #EB506D !important;
}
/* título Display/2 48/800/-0.96 branco uppercase */
.page-id-9410 .elementor-element-7b62c7c > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 48px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.96px; color: #FFFFFF; text-transform: uppercase; margin: 0;
}

/* ---------- §3 · Intro grande 2-col + imagem ICE (Figma 419:3397) ---------- */
.page-id-9410 .elementor-element-ch3sec { padding: 0 !important; }
.page-id-9410 .elementor-element-ch3band { padding-top: 44px; padding-bottom: 97px; gap: 96px !important; }
.page-id-9410 .elementor-element-ch3row { flex-direction: row !important; gap: 26px !important; align-items: flex-start; padding: 0 !important; }
.page-id-9410 .elementor-element-ch3lcol,
.page-id-9410 .elementor-element-ch3rcol { flex: 1 1 0; min-width: 0; padding: 0 !important; }
.page-id-9410 .elementor-element-ch3rcol { padding-top: 40px !important; gap: 16px !important; }
/* heading block + eyebrow row (minted flex — forçar) */
/* zerar padding fantasma dos flexbox atómicos (alinha topo eyebrow/headline esq↔dir) */
.page-id-9410 .elementor-element-ch3hblk, .page-id-9410 .elementor-element-ch3erow,
.page-id-9410 .elementor-element-ch4hblk, .page-id-9410 .elementor-element-ch4erow,
.page-id-9410 .elementor-element-ch5hblk, .page-id-9410 .elementor-element-ch5erow { padding: 0 !important; }
.page-id-9410 .elementor-element-ch3hblk { flex-direction: column !important; gap: 24px !important; align-items: flex-start; }
.page-id-9410 .elementor-element-ch3erow { flex-direction: row !important; gap: 8px !important; align-items: center; }
/* eyebrow "notre culture" */
.page-id-9410 .elementor-element-ch3erow > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 700; line-height: 1.4;
    letter-spacing: 0; color: #EB506D; text-transform: uppercase; margin: 0;
}
.page-id-9410 .elementor-element-ch3ediv {
    width: 30px !important; min-width: 30px; height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center; background-color: #EB506D !important;
}
/* headline Display/3 36/800/-0.72 #000 uppercase */
.page-id-9410 .elementor-element-ch3lcol .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 36px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.72px; color: #000000; text-transform: uppercase; margin: 0;
}
/* subtítulo dir. h4 24/700 #000 */
.page-id-9410 .elementor-element-ch3sub .e-heading-base,
.page-id-9410 .elementor-element-ch3rcol > .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 24px; font-weight: 700; line-height: 1.3;
    letter-spacing: 0; color: #000000; text-transform: none; margin: 0;
}
/* parágrafo dir. Lato 19/400 lh28 #5A5A5A */
.page-id-9410 .elementor-element-ch3para .e-paragraph-base,
.page-id-9410 .elementor-element-ch3rcol > .e-paragraph-base {
    font-family: "Lato", sans-serif !important; font-size: 19px; font-weight: 400; line-height: 28px;
    letter-spacing: 0; color: #5A5A5A; margin: 0;
}
/* imagem ICE 1202×553 (raw-08 mentor+jovem) */
.page-id-9410 .elementor-element-ch3img {
    min-height: 553px; width: 100%; padding: 0 !important;
    background-image: url("../../../../uploads/2026/07/capital-humain-s3-mentorat.jpeg");
    background-size: cover; background-position: center 30%; background-repeat: no-repeat;
}

/* ---------- §4 · Intro pequeno 2-col (Figma 419:3398) ---------- */
.page-id-9410 .elementor-element-ch4sec { padding: 0 !important; }
.page-id-9410 .elementor-element-ch4band { padding-top: 44px; padding-bottom: 44px; }
.page-id-9410 .elementor-element-ch4row { flex-direction: row !important; gap: 26px !important; align-items: flex-start; padding: 0 !important; }
.page-id-9410 .elementor-element-ch4lcol,
.page-id-9410 .elementor-element-ch4rcol { flex: 1 1 0; min-width: 0; padding: 0 !important; }
.page-id-9410 .elementor-element-ch4rcol { padding-top: 40px !important; }
.page-id-9410 .elementor-element-ch4hblk { flex-direction: column !important; gap: 24px !important; align-items: flex-start; }
.page-id-9410 .elementor-element-ch4erow { flex-direction: row !important; gap: 8px !important; align-items: center; }
.page-id-9410 .elementor-element-ch4erow > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 700; line-height: 1.4;
    letter-spacing: 0; color: #EB506D; text-transform: uppercase; margin: 0;
}
.page-id-9410 .elementor-element-ch4ediv {
    width: 30px !important; min-width: 30px; height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center; background-color: #EB506D !important;
}
.page-id-9410 .elementor-element-ch4lcol .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 36px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.72px; color: #000000; text-transform: uppercase; margin: 0;
}
/* parágrafo dir. Nunito Medium 18/500 #5A5A5A (SEM subtítulo) */
.page-id-9410 .elementor-element-ch4rcol .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 18px; font-weight: 500; line-height: 1.4;
    letter-spacing: 0; color: #5A5A5A; margin: 0;
}

/* ---------- §5 · Héritage (branco; Figma 419:3406) ---------- */
.page-id-9410 .elementor-element-ch5sec { padding: 0 !important; }
.page-id-9410 .elementor-element-ch5band { padding-top: 64px; padding-bottom: 84px; }
.page-id-9410 .elementor-element-ch5hblk { flex-direction: column !important; gap: 24px !important; align-items: flex-start; }
.page-id-9410 .elementor-element-ch5erow { flex-direction: row !important; gap: 8px !important; align-items: center; }
.page-id-9410 .elementor-element-ch5erow > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 12px; font-weight: 700; line-height: 1.4;
    letter-spacing: 0; color: #EB506D; text-transform: uppercase; margin: 0;
}
.page-id-9410 .elementor-element-ch5ediv {
    width: 30px !important; min-width: 30px; height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center; background-color: #EB506D !important;
}
.page-id-9410 .elementor-element-ch5hblk .e-heading-base {
    font-family: "Nunito Sans", sans-serif; font-size: 36px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.72px; color: #000000; text-transform: uppercase; margin: 0;
}
/* separador border-top navy full-width + parágrafo */
.page-id-9410 .elementor-element-ch5tblk {
    margin-top: 48px; border-top: 1px solid #1A2A4A; padding: 24px 0 0 0 !important; width: 100%;
}
.page-id-9410 .elementor-element-ch5tblk .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif; font-size: 18px; font-weight: 500; line-height: 1.4;
    letter-spacing: 0; color: #5A5A5A; margin: 0;
}

/* ---------- Responsivo ---------- */
@media (max-width: 1024px) {
    /* §3/§4: 2-col → 1-col */
    .page-id-9410 .elementor-element-ch3row,
    .page-id-9410 .elementor-element-ch4row { flex-direction: column !important; gap: 40px !important; }
    .page-id-9410 .elementor-element-ch3rcol,
    .page-id-9410 .elementor-element-ch4rcol { padding-top: 0 !important; }
}
@media (max-width: 768px) {
    /* banner título menor */
    .page-id-9410 .elementor-element-7b62c7c > .e-heading-base { font-size: 34px; letter-spacing: -0.5px; }
    /* headlines Display/3 menores */
    .page-id-9410 .elementor-element-ch3lcol .e-heading-base,
    .page-id-9410 .elementor-element-ch4lcol .e-heading-base,
    .page-id-9410 .elementor-element-ch5hblk .e-heading-base { font-size: 30px; letter-spacing: -0.6px; }
    .page-id-9410 .elementor-element-ch3img { min-height: 340px; }
    .page-id-9410 .elementor-element-ch3band { gap: 48px !important; }
}
@media (max-width: 480px) {
    .page-id-9410 .elementor-element-7b62c7c > .e-heading-base { font-size: 28px; }
    .page-id-9410 .elementor-element-ch3lcol .e-heading-base,
    .page-id-9410 .elementor-element-ch4lcol .e-heading-base,
    .page-id-9410 .elementor-element-ch5hblk .e-heading-base { font-size: 26px; }
}

/* ---------- Capital humain (9410) · animação appear-from-bottom ---------- */
.page-id-9410 .innov-anim { opacity: 0 !important; transform: translateY(50px) !important; will-change: opacity, transform; }
.page-id-9410 .innov-anim.innov-visible {
    opacity: 1 !important; transform: none !important;
    transition: opacity 0.5s ease, transform 0.7s cubic-bezier(0.26, -0.14, 0, 1.01);
}
@media (prefers-reduced-motion: reduce) {
    .page-id-9410 .innov-anim, .page-id-9410 .innov-anim.innov-visible { opacity: 1 !important; transform: none !important; transition: none; }
}

/* ---------- Ticket 86camukaw · Integration / Innovation / Performance ----------
   Parágrafo da coluna esquerda das secções de 2 colunas: ganha padding-right
   para o texto não esticar até à borda direita do container esquerdo (a banda
   do tema, 1300, dá 638px à coluna vs ~588px do Figma). Só o parágrafo — nem
   o container, nem o título, nem a coluna direita mexem. Só desktop (≥1300px). */
@media (min-width: 1300px) {
    .page-id-9182 .elementor-element-222ef31 > .e-paragraph-base { padding-right: 50px !important; } /* Integration §4 · Notre Offre (col 638→588) */
    .page-id-9281 .elementor-element-4058f0d .e-paragraph-base   { padding-right: 40px !important; } /* Innovation §5 · N.E.W.E.R. (col 628→588) */
    .page-id-9408 .elementor-element-4058f0d .e-paragraph-base   { padding-right: 40px !important; } /* Performance §4 · La Performance Collective (col 628→588) */
}

/* ══════════════════════════════════════════════════════════════════════════
   PÁGINA FAQs (post 9422) — Figma 419:3233. Build NATIVO atómico v4.
   Banda = grid nativo do tema (1300). Responsivo nos breakpoints do tema.
   ══════════════════════════════════════════════════════════════════════════ */

/* ---------- §2 · Banner / Hero (360px) — Figma 419:3235 ---------- */
/* crop vertical: sobe o conteúdo p/ centrar a bobina como o Figma (foto tem o assunto em baixo) */
.page-id-9422 .elementor-element-fqbn001 { background-position: center 65% !important; }
.page-id-9422 .elementor-element-fqbn002 { max-width: 1300px; }
.page-id-9422 .elementor-element-fqbn003,
.page-id-9422 .elementor-element-fqbn004 { padding: 0 !important; }
/* eyebrow "Vous avez des questions ?" — Nunito Sans 12/700 #EB506D uppercase */
.page-id-9422 .elementor-element-fqbn004 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: 0;
    color: #EB506D; text-transform: uppercase; margin: 0;
}
/* divider do eyebrow — 30×1 #EB506D */
.page-id-9422 .elementor-element-fqbn006 {
    width: 30px !important; min-width: 30px;
    height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center;
    background-color: #EB506D !important;
}
/* título "Faqs" → FAQS — Display/2 Nunito Sans 48/800 ls-0.96px branco uppercase */
.page-id-9422 .elementor-element-fqbn003 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 48px; font-weight: 800; line-height: 1.1; letter-spacing: -0.96px;
    color: #FFFFFF; text-transform: uppercase; margin: 0;
}

/* ---------- §3 · Acordeão FAQ (11 QA) — Figma 419:3236 ----------
   Widget Qi Addons (mesmo da Durabilité §10) + ícone octógono Figma-correcto.
   FAQS usa +/− (o item aberto mostra −), ao contrário da Durabilité que roda +→×. */
/* espaçamento banner→1º item (Figma ~128px) + margem antes do footer navy */
.page-id-9422 .elementor-element-fq3c001 { padding-top: 128px !important; padding-bottom: 64px !important; }
@media (max-width: 1024px) { .page-id-9422 .elementor-element-fq3c001 { padding-top: 72px !important; } }
@media (max-width: 768px)  { .page-id-9422 .elementor-element-fq3c001 { padding-top: 56px !important; padding-bottom: 48px !important; } }
.page-id-9422 .qodef-qi-accordion { width: 100%; margin: 0; padding: 0; border: 0; background: none; }
.page-id-9422 .qodef-qi-accordion .qodef-e-title-holder {
    display: flex; justify-content: space-between; align-items: center;
    min-height: 56.69px; margin: 0; padding: 0; border: 0; border-top: 1px solid #BABABA;
    background: none; border-radius: 0; cursor: pointer;
}
/* pergunta — Nunito Sans 20/800 #000 uppercase (Δ vs Durabilité que é 400) */
.page-id-9422 .qodef-qi-accordion .qodef-e-title {
    font-family: "Nunito Sans", sans-serif; font-size: 20px; font-weight: 800; line-height: 1.3;
    letter-spacing: 0; color: #000000; text-transform: uppercase;
}
/* marca: octógono do Figma (SVG real) — plus colapsado, minus quando activo (sem rodar) */
.page-id-9422 .qodef-qi-accordion .qodef-e-mark {
    flex: 0 0 56.69px; width: 56.69px; height: 56.69px;
    background: url("../images/icon-durabilite-plus.svg") no-repeat center / contain;
    transition: opacity 0.2s ease;
}
.page-id-9422 .qodef-qi-accordion .qodef-e-mark svg,
.page-id-9422 .qodef-qi-accordion .qodef-icon--plus,
.page-id-9422 .qodef-qi-accordion .qodef-icon--minus,
.page-id-9422 .qodef-qi-accordion .ui-accordion-header-icon { display: none !important; }
.page-id-9422 .qodef-qi-accordion .ui-accordion-header-active .qodef-e-mark {
    transform: none;
    background-image: url("../images/icon-accordion-minus.svg");
}
/* sem fundo/borda extra no header activo ou hover (Figma) */
.page-id-9422 .qodef-qi-accordion .qodef-e-title-holder.ui-state-active,
.page-id-9422 .qodef-qi-accordion .qodef-e-title-holder.ui-state-hover,
.page-id-9422 .qodef-qi-accordion .qodef-e-title-holder:hover { background: none !important; border-top: 1px solid #BABABA !important; }
/* resposta — Nunito Sans 16/400 #5A5A5A lh1.6; espaço até ao próximo item = pb-16 (Figma) */
.page-id-9422 .qodef-qi-accordion .qodef-e-content { border: 0; background: none; padding: 0; }
.page-id-9422 .qodef-qi-accordion .qodef-e-content-inner {
    font-family: "Nunito Sans", sans-serif; font-size: 16px; font-weight: 400; line-height: 1.6;
    letter-spacing: 0; color: #5A5A5A; padding: 0 0 16px 0; margin: 0;
}
.page-id-9422 .qodef-qi-accordion .qodef-e-content-inner p { margin: 0 0 16px 0; color: #5A5A5A; }
.page-id-9422 .qodef-qi-accordion .qodef-e-content-inner p:last-child { margin-bottom: 0; }

/* ══════════════════════════════════════════════════════════════════════════
   PÁGINA Mentions légales (post 9424) — Figma 419:3255. Build NATIVO atómico v4.
   1 página consolidada: banner 360px + acordeão de 13 itens em 3 grupos temáticos
   com id-âncora (#mentions-legales / #politique-de-confidentialite /
   #politique-de-cookies) para os links do footer saltarem. Banda = grid nativo (1300).
   Reutiliza o padrão da FAQs (mesmo banner + widget Qi Addons + octógono Figma).
   ══════════════════════════════════════════════════════════════════════════ */

/* ---------- §2 · Banner / Hero (360px) — Figma 419:3257 ---------- */
.page-id-9424 .elementor-element-mlbn002 { max-width: 1300px; }
.page-id-9424 .elementor-element-mlbn003,
.page-id-9424 .elementor-element-mlbn004 { padding: 0 !important; }
/* eyebrow "Conformité" — Nunito Sans 12/700 #EB506D uppercase */
.page-id-9424 .elementor-element-mlbn004 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: 0;
    color: #EB506D; text-transform: uppercase; margin: 0;
}
/* divider do eyebrow — 30×1 #EB506D */
.page-id-9424 .elementor-element-mlbn006 {
    width: 30px !important; min-width: 30px;
    height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center;
    background-color: #EB506D !important;
}
/* título "Mentions légales" → MENTIONS LÉGALES — Display/2 Nunito Sans 48/800 ls-0.96px branco uppercase */
.page-id-9424 .elementor-element-mlbn003 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 48px; font-weight: 800; line-height: 1.1; letter-spacing: -0.96px;
    color: #FFFFFF; text-transform: uppercase; margin: 0;
}

/* ---------- §3 · Content — Acordeão Legal (13 QA / 3 grupos) — Figma 419:3258 ----------
   Widget Qi Addons (mesmo da FAQs) + ícone octógono Figma-correcto (+/−). */
/* espaçamento banner→1º item (Figma pt-128px) + margem antes do footer navy */
.page-id-9424 .elementor-element-mlct001 { padding-top: 128px !important; padding-bottom: 64px !important; gap: 0 !important; }
@media (max-width: 1024px) { .page-id-9424 .elementor-element-mlct001 { padding-top: 72px !important; } }
@media (max-width: 768px)  { .page-id-9424 .elementor-element-mlct001 { padding-top: 56px !important; padding-bottom: 48px !important; } }
/* grupos temáticos empilhados sem gap — a border-top de cada item é o único separador */
.page-id-9424 .elementor-element-mlga001,
.page-id-9424 .elementor-element-mlgb001,
.page-id-9424 .elementor-element-mlgc001 { padding: 0; margin: 0; scroll-margin-top: 40px; }
.page-id-9424 .elementor-widget-qi_addons_for_elementor_accordion { margin: 0; }
.page-id-9424 .qodef-qi-accordion { width: 100%; margin: 0; padding: 0; border: 0; background: none; }
.page-id-9424 .qodef-qi-accordion .qodef-e-title-holder {
    display: flex; justify-content: space-between; align-items: center;
    min-height: 56.69px; margin: 0; padding: 0; border: 0; border-top: 1px solid #BABABA;
    background: none; border-radius: 0; cursor: pointer;
}
/* pergunta — Nunito Sans 20/800 #000 uppercase */
.page-id-9424 .qodef-qi-accordion .qodef-e-title {
    font-family: "Nunito Sans", sans-serif; font-size: 20px; font-weight: 800; line-height: 1.3;
    letter-spacing: 0; color: #000000; text-transform: uppercase;
}
/* marca: octógono do Figma — plus colapsado, minus quando activo (sem rodar) */
.page-id-9424 .qodef-qi-accordion .qodef-e-mark {
    flex: 0 0 56.69px; width: 56.69px; height: 56.69px;
    background: url("../images/icon-durabilite-plus.svg") no-repeat center / contain;
    transition: opacity 0.2s ease;
}
.page-id-9424 .qodef-qi-accordion .qodef-e-mark svg,
.page-id-9424 .qodef-qi-accordion .qodef-icon--plus,
.page-id-9424 .qodef-qi-accordion .qodef-icon--minus,
.page-id-9424 .qodef-qi-accordion .ui-accordion-header-icon { display: none !important; }
.page-id-9424 .qodef-qi-accordion .ui-accordion-header-active .qodef-e-mark {
    transform: none;
    background-image: url("../images/icon-accordion-minus.svg");
}
/* sem fundo/borda extra no header activo ou hover (Figma) */
.page-id-9424 .qodef-qi-accordion .qodef-e-title-holder.ui-state-active,
.page-id-9424 .qodef-qi-accordion .qodef-e-title-holder.ui-state-hover,
.page-id-9424 .qodef-qi-accordion .qodef-e-title-holder:hover { background: none !important; border-top: 1px solid #BABABA !important; }
/* resposta — Nunito Sans 16/400 #5A5A5A lh1.6; espaço até ao próximo item = pb-16 (Figma) */
.page-id-9424 .qodef-qi-accordion .qodef-e-content { border: 0; background: none; padding: 0; }
.page-id-9424 .qodef-qi-accordion .qodef-e-content-inner {
    font-family: "Nunito Sans", sans-serif; font-size: 16px; font-weight: 400; line-height: 1.6;
    letter-spacing: 0; color: #5A5A5A; padding: 0 0 16px 0; margin: 0;
}
.page-id-9424 .qodef-qi-accordion .qodef-e-content-inner p { margin: 0 0 16px 0; color: #5A5A5A; }
.page-id-9424 .qodef-qi-accordion .qodef-e-content-inner p:last-child { margin-bottom: 0; }
/* border-bottom a fechar o acordeão (Figma só tem border-top por item) — último grupo */
.page-id-9424 .elementor-element-mlgc001 .qodef-qi-accordion { border-bottom: 1px solid #BABABA; }

/* ══════════════════════════════════════════════════════════════════════════
   PÁGINA Talents & Carrières (post 9467) — Figma designer 99Cib node 331-7058.
   Build NATIVO atómico v4. Página oculta (noindex, sem links). Banda = grid tema (1300).
   §1 Banner 560px · §2 Grelha equipa 3×3 (9 cartões) · §3 Banda CTA.
   Eyebrow #EB506D (Crimson Lighter 2) — mesmo padrão das restantes páginas.
   ══════════════════════════════════════════════════════════════════════════ */

/* ---------- §1 · Banner / Hero (560px) ---------- */
.page-id-9467 .elementor-element-tlbn002 { max-width: 1300px; }
.page-id-9467 .elementor-element-tlbn003,
.page-id-9467 .elementor-element-tlbn004 { padding: 0 !important; }
/* eyebrow "Nos engagements" — Nunito Sans 12/700 #EB506D uppercase */
.page-id-9467 .elementor-element-tlbn004 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: 0;
    color: #EB506D; text-transform: uppercase; margin: 0;
}
/* divider do eyebrow — 30×1 #EB506D */
.page-id-9467 .elementor-element-tlbn006 {
    width: 30px !important; min-width: 30px;
    height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center;
    background-color: #EB506D !important;
}
/* título "Talents & Carrières" — Display/2 Nunito Sans 48/800 ls-0.96px branco uppercase */
.page-id-9467 .elementor-element-tlbn003 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 48px; font-weight: 800; line-height: 1.1; letter-spacing: -0.96px;
    color: #FFFFFF; text-transform: uppercase; margin: 0;
}

/* espaçamento vertical das bandas por CSS (sem tocar na goteira lateral do tema,
   para grelha+CTA alinharem com o banner). Valores por-secção do Figma:
   grelha 64/80 · CTA 48/128 → banner→grelha=64, grelha→CTA=80+48=128. */
.page-id-9467 .elementor-element-tlgr001 { padding-top: 64px; padding-bottom: 80px; }
.page-id-9467 .elementor-element-tlct001 { padding-top: 48px; padding-bottom: 128px; }

/* ---------- §2 · Grelha equipa (3×3 = 9 cartões) ---------- */
/* banda: pt-64 no container (CSS); grelha 3 col, gap-col 24 / gap-linha 48 (Figma)
   !important obrigatório: o atómico .e-div-block-base impõe display:block */
.page-id-9467 .elementor-element-tggr01 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    column-gap: 24px; row-gap: 48px;
    padding: 0 !important; width: 100%;
}
/* zerar padding fantasma dos flexbox minted + forçar colunas (cartão: foto sobre texto) */
.page-id-9467 .elementor-element-tggr01 .e-flexbox-base { padding: 0 !important; }
.page-id-9467 .elementor-element-tggr01 > .e-flexbox-base,
.page-id-9467 .elementor-element-tggr01 .e-flexbox-base { flex-direction: column !important; }
/* foto 384×412 (aspect nativo) cover */
.page-id-9467 .elementor-element-tggr01 .elementor-widget-image { width: 100%; margin: 0; }
.page-id-9467 .elementor-element-tggr01 .elementor-widget-image img {
    display: block; width: 100%; aspect-ratio: 384 / 412; object-fit: cover;
}
/* Title — Nunito Sans 24/800 #1A1A1A uppercase lh1.3 */
.page-id-9467 .elementor-element-tggr01 .e-heading-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 24px; font-weight: 800; line-height: 1.3; letter-spacing: 0;
    color: #1A1A1A; text-transform: uppercase; margin: 0;
}
/* Role — Nunito Sans 16/700 #5A5A5A lh1.6 */
.page-id-9467 .elementor-element-tggr01 .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 16px; font-weight: 700; line-height: 1.6; letter-spacing: 0;
    color: #5A5A5A; margin: 0;
}
/* reflow: 3→2 cols ≤1024, →1 col ≤600 (= demo our-team)
   !important obrigatório também aqui — a regra base tem repeat(3) !important */
@media (max-width: 1024px) {
    .page-id-9467 .elementor-element-tggr01 { grid-template-columns: repeat(2, 1fr) !important; row-gap: 40px; }
}
@media (max-width: 600px) {
    .page-id-9467 .elementor-element-tggr01 { grid-template-columns: 1fr !important; row-gap: 32px; }
}

/* ---------- §3 · Banda CTA (parágrafo + botão) ---------- */
.page-id-9467 .elementor-element-tlcr01 { padding: 0 !important; }
/* parágrafo — Nunito Sans 24/700 preto lh1.3, ocupa o espaço restante */
.page-id-9467 .elementor-element-tlcr01 > .e-paragraph-base {
    flex: 1 1 0; min-width: 0;
    font-family: "Nunito Sans", sans-serif;
    font-size: 24px; font-weight: 700; line-height: 1.3; letter-spacing: 0;
    color: #000000; margin: 0;
}
/* botão nativo não encolhe */
.page-id-9467 .elementor-element-tlcr01 .elementor-widget-manufaktursolutions_core_button { flex: 0 0 auto; }
/* CTA reflow: row→column ≤768 (botão sob o texto, à esquerda) */
@media (max-width: 768px) {
    .page-id-9467 .elementor-element-tlcr01 { flex-direction: column !important; align-items: flex-start !important; gap: 24px !important; }
    .page-id-9467 .elementor-element-tlcr01 > .e-paragraph-base { flex: 0 0 auto; }
    .page-id-9467 .elementor-element-tlct001 { padding-top: 72px !important; padding-bottom: 72px !important; }
}
/* banner h1 clamp em ecrãs pequenos */
@media (max-width: 768px) { .page-id-9467 .elementor-element-tlbn003 > .e-heading-base { font-size: 36px; } }
@media (max-width: 480px) { .page-id-9467 .elementor-element-tlbn003 > .e-heading-base { font-size: 30px; } }

/* ══════════════════════════════════════════════════════════════════════════
   PRESS & MEDIA — post 9475 (branch 20-cu-86cah03de)
   Build NATIVO atómico v4. Página oculta (noindex, sem links). Banda = grid tema (1300).
   §1 Banner 560px (clone Talents) · §2 Grelha 3×3 (9 cartões image-overlay). SEM CTA.
   Cartões em Nunito Sans (marca) — design usava Space Grotesk/Lato (fontes-demo, NÃO da marca).
   Eyebrow #EB506D (Crimson Lighter 2).
   ══════════════════════════════════════════════════════════════════════════ */

/* ---------- §1 · Banner / Hero (560px) — igual à Talents ---------- */
.page-id-9475 .elementor-element-prbn002 { max-width: 1300px; }
.page-id-9475 .elementor-element-prbn003,
.page-id-9475 .elementor-element-prbn004 { padding: 0 !important; }
/* eyebrow "Presse & médias" — Nunito Sans 12/700 #EB506D uppercase */
.page-id-9475 .elementor-element-prbn004 > .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: 0;
    color: #EB506D; text-transform: uppercase; margin: 0;
}
/* divider do eyebrow — 30×1 #EB506D */
.page-id-9475 .elementor-element-prbn006 {
    width: 30px !important; min-width: 30px;
    height: 1px !important; min-height: 1px !important;
    padding: 0 !important; flex: 0 0 30px; align-self: center;
    background-color: #EB506D !important;
}
/* título "Presse / Médias" — Display/2 Nunito Sans 48/800 ls-0.96px branco uppercase */
.page-id-9475 .elementor-element-prbn003 > .e-heading-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 48px; font-weight: 800; line-height: 1.1; letter-spacing: -0.96px;
    color: #FFFFFF; text-transform: uppercase; margin: 0;
}

/* espaçamento vertical da banda da grelha por CSS (mantém goteira lateral do tema
   p/ alinhar c/ banner). Figma: pt64/pb80. */
.page-id-9475 .elementor-element-prgr001 { padding-top: 64px; padding-bottom: 80px; }

/* ---------- §2 · Grelha 3×3 (9 cartões image-overlay) ---------- */
/* grelha: 3 col, gap-col 24 / gap-linha 48 · !important vs .e-div-block-base (display:block) */
.page-id-9475 .elementor-element-pggr01 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    column-gap: 24px; row-gap: 48px;
    padding: 0 !important; width: 100%;
}
/* CARTÃO (e-div-block) = grid-stack: imagem + overlay na MESMA célula (sem position:absolute).
   aspect 384/541 dá altura ao cartão; ambos os filhos ocupam grid-area 1/1. */
.page-id-9475 .elementor-element-pggr01 > .e-div-block-base {
    display: grid !important;
    aspect-ratio: 384 / 541;
    overflow: hidden;
    background: #1A244A; /* fallback enquanto a foto carrega */
}
.page-id-9475 .elementor-element-pggr01 > .e-div-block-base > * {
    grid-area: 1 / 1; min-width: 0;
}
/* imagem cobre a célula toda */
.page-id-9475 .elementor-element-pggr01 .elementor-widget-image,
.page-id-9475 .elementor-element-pggr01 .elementor-widget-image .elementor-widget-container { margin: 0; height: 100%; }
.page-id-9475 .elementor-element-pggr01 .elementor-widget-image img {
    display: block; width: 100%; height: 100%; object-fit: cover;
}
/* OVERLAY de texto — ancorado ao fundo + scrim p/ legibilidade */
.page-id-9475 .elementor-element-pggr01 .e-flexbox-base {
    align-self: end; z-index: 1;
    flex-direction: column !important;
    padding: 48px 16px 24px !important;
    background: linear-gradient(to top, rgba(0,0,0,.78) 0%, rgba(0,0,0,.35) 55%, transparent 100%);
}
/* título do cartão — Nunito Sans 25/800 uppercase branco lh30 ls-0.5 (Figma: Space Grotesk) */
.page-id-9475 .elementor-element-pggr01 .e-heading-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 25px; font-weight: 800; line-height: 30px; letter-spacing: -0.5px;
    color: #FFFFFF; text-transform: uppercase; margin: 0;
}
/* tag do cartão — Nunito Sans 14/800 uppercase branco lh18 ls-0.28 (Figma: Lato) */
.page-id-9475 .elementor-element-pggr01 .e-paragraph-base {
    font-family: "Nunito Sans", sans-serif;
    font-size: 14px; font-weight: 800; line-height: 18px; letter-spacing: -0.28px;
    color: #FFFFFF; text-transform: uppercase; margin: 0;
}
/* reflow: 3→2 cols ≤1024, →1 col ≤600 · !important (regra base leva repeat(3) !important) */
@media (max-width: 1024px) {
    .page-id-9475 .elementor-element-pggr01 { grid-template-columns: repeat(2, 1fr) !important; row-gap: 40px; }
}
@media (max-width: 600px) {
    .page-id-9475 .elementor-element-pggr01 { grid-template-columns: 1fr !important; row-gap: 32px; }
}
/* banner h1 clamp em ecrãs pequenos */
@media (max-width: 768px) { .page-id-9475 .elementor-element-prbn003 > .e-heading-base { font-size: 36px; } }
@media (max-width: 480px) { .page-id-9475 .elementor-element-prbn003 > .e-heading-base { font-size: 30px; } }

/* ==================================================================
   BLOG — Actualités (post 9479, /actualites/) : listagem + detalhe
   Nativo do tema Qode. Figma LEIb: listagem 331:7100 · detalhe 331:7203.
   Banda 1300 do TEMA (decisão do goal). Tokens: Nunito Sans.
   Escopo: .blog (posts page/archive) · .single-post (detalhe) ·
   holders .qodef--list / .qodef--single.
   ================================================================== */

/* ---------- BANNER LISTAGEM (.blog) — Figma 331:7103 ----------
   360px (altura via metabox) · imagem + overlay preto 45% ·
   eyebrow #EB506D 12/700 + título 48/800 branco uppercase, em baixo à esq. */
.blog .qodef-page-title { position: relative; }
.blog .qodef-page-title::after {
    content: ""; position: absolute; inset: 0;
    background: rgba(0, 0, 0, 0.45); z-index: 0; pointer-events: none;
}
.blog .qodef-page-title .qodef-m-inner { position: relative; z-index: 1; }
/* título — Display/2 48/800 branco uppercase ls-0.96 lh1.1 */
.blog .qodef-page-title .qodef-m-title {
    font-size: 48px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.96px; text-transform: uppercase; color: #ffffff;
}
/* eyebrow "NOS ACTUALITÉS" + divisor 30px — padrão dos banners do projecto (Figma "our news —")
   NOTA: texto EN no Figma demo ("OUR NEWS"/"BLOG"); aplicado FR. Eyebrow é CSS (não Elementor); mudar aqui. */
.blog .qodef-page-title .qodef-m-content::before {
    content: "Nos actualités";
    display: inline-block; width: max-content;
    color: #eb506d; font-family: "Nunito Sans", sans-serif;
    font-size: 12px; font-weight: 700; line-height: 1.4;
    text-transform: uppercase; letter-spacing: 0;
    padding-right: 38px; margin-bottom: 12px;
    background: linear-gradient(#eb506d, #eb506d) right center / 30px 1px no-repeat;
}

/* ---------- BANNER DETALHE (.single-post) — Figma 331:7206 ----------
   160px · fundo claro liso (SEM imagem) · só breadcrumbs escuros.
   O tema mete height inline (130) + qodef--has-image → forço com !important. */
/* Banner do detalhe começa ABAIXO da navbar (Figma: nav 88 + banner 160).
   O header é position:absolute (navy via ice-header-on-light) e sobrepõe-se;
   dou 88px de padding-top para o breadcrumb não ficar tapado pela navbar. */
.single-post .qodef-page-title.qodef-title--breadcrumbs {
    min-height: 248px !important; height: auto !important;
    padding-top: 88px !important;                 /* 88 = altura da navbar (banner arranca por baixo) */
    display: flex !important; flex-direction: column !important;
    justify-content: center !important;           /* breadcrumb centrado na zona azul (Figma) */
    background-image: none !important; background-color: #b5c7e5 !important;
}
/* Navbar navy FIÁVEL em fundos claros — server-side via body-class, NÃO depende do
   JS de luminância (que tinha race/flash no load intermitente).
   .single-post = detalhe do blog (banner claro) · .error404 = página 404 (fundo branco).
   Logo/menu brancos legíveis. A listagem (.blog) mantém a navbar transparente s/ banner escuro. */
.single-post #qodef-page-header:not(.qodef--sticky-header-appear),
.single-post #qodef-page-header:not(.qodef--sticky-header-appear) #qodef-page-header-inner,
.error404 #qodef-page-header:not(.qodef--sticky-header-appear),
.error404 #qodef-page-header:not(.qodef--sticky-header-appear) #qodef-page-header-inner {
    background-color: var(--ice-navy) !important;
}
.single-post #qodef-page-mobile-header,
.error404 #qodef-page-mobile-header { background-color: var(--ice-navy) !important; }
.single-post #qodef-page-mobile-header .qodef-header-logo-image,
.error404 #qodef-page-mobile-header .qodef-header-logo-image {
    content: url('../images/logo-ice-white.svg') !important;
}
.single-post .qodef-page-title .qodef-m-image { display: none !important; }
/* breadcrumb — Action/Tags: Nunito Sans ExtraBold 14/800 lh17.85 uppercase ls0 (Figma) */
.single-post .qodef-page-title .qodef-breadcrumbs,
.single-post .qodef-page-title .qodef-breadcrumbs a,
.single-post .qodef-page-title .qodef-breadcrumbs .qodef-breadcrumbs-current {
    font-family: "Nunito Sans", sans-serif;
    color: #15141c; font-size: 14px; font-weight: 800; line-height: 17.85px;
    letter-spacing: 0; text-transform: uppercase;
}
.single-post .qodef-page-title .qodef-breadcrumbs .qodef-breadcrumbs-current { color: #616161; }

/* ---------- LISTA DE ARTIGOS (.qodef--list) — Figma 331:7187 ---------- */
/* espaço entre artigos (Figma ~24-32px; tema mete ~80) */
.qodef-blog.qodef--list .qodef-blog-item { margin-bottom: 40px; }
/* imagem featured — ratio Figma 892/611 (1.46) */
.qodef-blog.qodef--list .qodef-e-media-image {
    aspect-ratio: 892 / 611; overflow: hidden; display: block;
}
.qodef-blog.qodef--list .qodef-e-media-image img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
/* título — Display/3 36/800 uppercase ls-0.72 lh1.1 preto */
.qodef-blog.qodef--list .qodef-e-title,
.qodef-blog.qodef--list .qodef-e-title .qodef-e-title-link {
    font-size: 36px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.72px; text-transform: uppercase; color: #000000;
}
/* meta — categoria 14/800 #E6264B uppercase, data 14/400 #616161 */
.qodef-blog.qodef--list .qodef-e-info-category a {
    font-size: 14px; font-weight: 800; letter-spacing: -0.28px;
    text-transform: uppercase; color: #e6264b;
}
.qodef-blog.qodef--list .qodef-e-info .entry-date,
.qodef-blog.qodef--list .qodef-e-info-date a {
    font-size: 14px; font-weight: 400; line-height: 1.5; color: #616161;
}
/* excerto — Body/large 18/1.6 #616161 */
.qodef-blog.qodef--list .qodef-e-excerpt {
    font-size: 18px; font-weight: 400; line-height: 1.6; color: #616161;
}
/* botão "Lire" — Action/Button 16/800 preto, borda #5A5A5A (Figma) */
.qodef-blog.qodef--list .qodef-e-read-more a {
    font-size: 16px; font-weight: 800; letter-spacing: 0;
    text-transform: none; color: #000000; border-color: #5a5a5a;
}
/* ícones de partilha — #E6264B */
.qodef-blog .qodef-e-bottom-holder .qodef-share-link { color: #e6264b; }

/* ---------- SIDEBAR (Main Sidebar, esquerda) — Figma 331:7105 ---------- */
/* títulos de widget — Heading/h5 Nunito Sans ExtraBold 24/800 #1A244A uppercase lh1.3 (tema: 700 #15141c) */
#qodef-page-sidebar .qodef-widget-title,
#qodef-page-sidebar .widget-title,
#qodef-page-sidebar .widgettitle {
    font-family: "Nunito Sans", sans-serif;
    font-size: 24px; font-weight: 800; line-height: 1.3;
    letter-spacing: 0; text-transform: uppercase; color: #1a244a;
}
/* links de categoria a #E6264B (Figma "[category name]") */
#qodef-page-sidebar .widget_categories a { color: #e6264b; text-transform: uppercase; }
/* Follow us / social share — ícones #E6264B */
#qodef-page-sidebar .qodef-social-share .qodef-share-link { color: #e6264b; }

/* ---------- SINGLE ARTICLE (.qodef--single) — Figma 331:7298 ---------- */
/* imagem destacada — ratio Figma 892/611 (1.46); tema mostra o natural (1.58) */
.qodef-blog.qodef--single .qodef-e-media-image {
    aspect-ratio: 892 / 611; overflow: hidden; display: block;
}
.qodef-blog.qodef--single .qodef-e-media-image img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
/* título h1 — Display/2 48/800 uppercase ls-0.96 lh1.1 */
.qodef-blog.qodef--single .qodef-e-title {
    font-size: 48px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.96px; text-transform: uppercase; color: #000000;
}
.qodef-blog.qodef--single .qodef-e-info-category a {
    font-size: 14px; font-weight: 800; letter-spacing: -0.28px;
    text-transform: uppercase; color: #e6264b;
}
.qodef-blog.qodef--single .qodef-e-info .entry-date {
    font-size: 14px; font-weight: 400; color: #616161;
}
/* corpo — Body/large 18/1.6 #616161 */
.qodef-blog.qodef--single .qodef-e-text > p,
.qodef-blog.qodef--single .qodef-e-text .wp-block-paragraph {
    font-size: 18px; line-height: 1.6; color: #616161;
}
/* subtítulos do corpo — 48/800 uppercase */
.qodef-blog.qodef--single .qodef-e-text h2 {
    font-size: 48px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.96px; text-transform: uppercase;
}
/* tags (fundo do artigo) a #E6264B */
.qodef-blog.qodef--single .qodef-e-bottom-holder .qodef-e-left a {
    color: #e6264b; text-transform: uppercase; font-size: 14px; font-weight: 700;
}

/* ---------- CAIXA DE AUTOR (#qodef-author-info) — Figma 331:7337 ---------- */
#qodef-author-info { background-color: #f0f0f0; padding: 32px; margin-top: 48px; }
#qodef-author-info .qodef-m-image img { width: 153px; height: 188px; object-fit: cover; display: block; }
#qodef-author-info .qodef-m-author,
#qodef-author-info .qodef-m-author a { font-size: 25px; font-weight: 800; text-transform: uppercase; color: #15141c; }
/* cargo ("Ingénieur") — 14/700 uppercase preto */
#qodef-author-info .qodef-author-additional-information {
    font-size: 14px; font-weight: 700; text-transform: uppercase; color: #000000; margin-top: 4px;
}
#qodef-author-info .qodef-m-description { font-size: 18px; line-height: 1.6; color: #616161; }
/* sociais do autor — SVGs do projecto (#E6264B) via mask (glifos elegant-icons dariam quadrados) */
#qodef-author-info .qodef-m-social-icons a { color: #e6264b; }
#qodef-author-info .qodef-m-social-icons .qodef-icon-elegant-icons[class*="social_"] {
    display: inline-block; width: 20px; height: 20px; font-size: 0; color: transparent;
    background-color: #e6264b;
    -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
    -webkit-mask-position: center; mask-position: center;
    -webkit-mask-size: 20px 20px; mask-size: 20px 20px;
}
#qodef-author-info .qodef-m-social-icons .qodef-icon-elegant-icons[class*="social_"]::before { content: ""; }
#qodef-author-info .social_facebook {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3E%3Cpath%20d='M7.54002%2019.9609V9.98043H5.03125V6.54105L7.54002%206.53949L7.53651%204.51376C7.53651%201.70792%208.29753%20-7.62939e-05%2011.6024%20-7.62939e-05H15.0118V3.44086H12.634C11.3466%203.44086%2011.2854%203.92117%2011.2854%204.81786L11.2804%206.53949H15.0441L14.68%209.97926L11.2827%209.98043L11.2804%2019.9609H7.54002Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3E%3Cpath%20d='M7.54002%2019.9609V9.98043H5.03125V6.54105L7.54002%206.53949L7.53651%204.51376C7.53651%201.70792%208.29753%20-7.62939e-05%2011.6024%20-7.62939e-05H15.0118V3.44086H12.634C11.3466%203.44086%2011.2854%203.92117%2011.2854%204.81786L11.2804%206.53949H15.0441L14.68%209.97926L11.2827%209.98043L11.2804%2019.9609H7.54002Z'/%3E%3C/svg%3E");
}
#qodef-author-info .social_twitter {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3E%3Cpath%20d='M19.4316%202.17094C19.126%203.12532%2018.4772%203.92883%2017.6312%204.43526C18.4597%204.33663%2019.248%204.11597%2019.9829%203.79043C19.434%204.61109%2018.7392%205.33234%2017.9369%205.90739C17.9458%206.08322%2017.9494%206.2606%2017.9494%206.4376C17.9494%2011.8497%2013.8301%2018.0898%206.29711%2018.0898C3.98405%2018.0898%201.83201%2017.4111%200.0195312%2016.2497C0.339999%2016.2871%200.665535%2016.307%200.996139%2016.307C2.91505%2016.307%204.68152%2015.652%206.08269%2014.5542C4.29127%2014.5206%202.77899%2013.3366%202.25774%2011.7097C2.50842%2011.7573%202.76417%2011.7834%203.0285%2011.7834C3.40277%2011.7834%203.76456%2011.7335%204.10764%2011.6399C2.23513%2011.2633%200.82304%209.60758%200.82304%207.62396V7.57289C1.37548%207.87971%202.00667%208.0645%202.67801%208.08673C1.58016%207.35339%200.856568%206.09959%200.856568%204.67854C0.856568%203.92766%201.05735%203.22396%201.41056%202.62006C3.43045%205.09764%206.44799%206.72844%209.8515%206.8992C9.78171%206.59979%209.74546%206.28673%209.74546%205.96587C9.74546%203.70544%2011.5794%201.87152%2013.8414%201.87152C15.0188%201.87152%2016.0831%202.36821%2016.8304%203.16509C17.7634%202.98068%2018.6406%202.63994%2019.4316%202.17094Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3E%3Cpath%20d='M19.4316%202.17094C19.126%203.12532%2018.4772%203.92883%2017.6312%204.43526C18.4597%204.33663%2019.248%204.11597%2019.9829%203.79043C19.434%204.61109%2018.7392%205.33234%2017.9369%205.90739C17.9458%206.08322%2017.9494%206.2606%2017.9494%206.4376C17.9494%2011.8497%2013.8301%2018.0898%206.29711%2018.0898C3.98405%2018.0898%201.83201%2017.4111%200.0195312%2016.2497C0.339999%2016.2871%200.665535%2016.307%200.996139%2016.307C2.91505%2016.307%204.68152%2015.652%206.08269%2014.5542C4.29127%2014.5206%202.77899%2013.3366%202.25774%2011.7097C2.50842%2011.7573%202.76417%2011.7834%203.0285%2011.7834C3.40277%2011.7834%203.76456%2011.7335%204.10764%2011.6399C2.23513%2011.2633%200.82304%209.60758%200.82304%207.62396V7.57289C1.37548%207.87971%202.00667%208.0645%202.67801%208.08673C1.58016%207.35339%200.856568%206.09959%200.856568%204.67854C0.856568%203.92766%201.05735%203.22396%201.41056%202.62006C3.43045%205.09764%206.44799%206.72844%209.8515%206.8992C9.78171%206.59979%209.74546%206.28673%209.74546%205.96587C9.74546%203.70544%2011.5794%201.87152%2013.8414%201.87152C15.0188%201.87152%2016.0831%202.36821%2016.8304%203.16509C17.7634%202.98068%2018.6406%202.63994%2019.4316%202.17094Z'/%3E%3C/svg%3E");
}
#qodef-author-info .social_linkedin {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3E%3Cpath%20d='M2.4092%201.1259a2.3892%202.3892%200%201%201%200%204.7784%202.3892%202.3892%200%200%201%200%20-4.7784zM0.3886%207.6108h4.0958v11.2633h-4.0958V7.6108zM7.2149%207.6108h3.9183v1.5427h0.0546c0.5461%20-1.0376%201.884%20-2.1298%203.8773%20-2.1298%204.1504%200%204.9149%202.7305%204.9149%206.2802v5.5702h-4.0958v-4.9422c0%20-1.1741%20-0.0273%20-2.6895%20-1.6383%20-2.6895%20-1.6383%200%20-1.884%201.2833%20-1.884%202.594v5.0378h-4.0958V7.6108z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3E%3Cpath%20d='M2.4092%201.1259a2.3892%202.3892%200%201%201%200%204.7784%202.3892%202.3892%200%200%201%200%20-4.7784zM0.3886%207.6108h4.0958v11.2633h-4.0958V7.6108zM7.2149%207.6108h3.9183v1.5427h0.0546c0.5461%20-1.0376%201.884%20-2.1298%203.8773%20-2.1298%204.1504%200%204.9149%202.7305%204.9149%206.2802v5.5702h-4.0958v-4.9422c0%20-1.1741%20-0.0273%20-2.6895%20-1.6383%20-2.6895%20-1.6383%200%20-1.884%201.2833%20-1.884%202.594v5.0378h-4.0958V7.6108z'/%3E%3C/svg%3E");
}

/* ---------- PREV/NEXT (#qodef-single-post-navigation) — Figma 331:7348 ----------
   título Heading/h4-Upp 24/800 uppercase lh1.3 · miniatura 94×116 · label 16/800 */
#qodef-single-post-navigation .qodef-m-nav .qodef-m-nav-info .qodef-m-nav-title {
    font-size: 24px; font-weight: 800; line-height: 1.3;
    text-transform: uppercase; color: #000000;
}
#qodef-single-post-navigation .qodef-m-nav-image {
    width: 94px; height: 116px; flex: 0 0 94px; overflow: hidden; display: block;
}
#qodef-single-post-navigation .qodef-m-nav-image img { width: 100%; height: 100%; object-fit: cover; }
#qodef-single-post-navigation .qodef-m-nav-label { font-size: 16px; font-weight: 800; color: #000000; }

/* ---------- RELATED POSTS (#qodef-related-posts) — Figma 331:7351 ---------- */
#qodef-related-posts > h3 {
    font-size: 40px; font-weight: 800; line-height: 1.1;
    letter-spacing: -0.8px; text-transform: uppercase; margin-bottom: 32px;
}
#qodef-related-posts .qodef-e-media-image { aspect-ratio: 282 / 371; overflow: hidden; }
#qodef-related-posts .qodef-e-media-image img { width: 100%; height: 100%; object-fit: cover; }
#qodef-related-posts .qodef-e-title,
#qodef-related-posts .qodef-e-title a { font-size: 24px; font-weight: 800; line-height: 1.3; text-transform: uppercase; color: #000000; }
#qodef-related-posts .qodef-e-info-category a { color: #e6264b; font-size: 14px; font-weight: 800; text-transform: uppercase; }

/* ---------- ÍCONES SOCIAIS — usar os SVGs do projecto (iguais ao footer/menu) ----------
   O share/follow do tema usa icon-font "elegant-icons" que aqui não rende (quadrados □).
   Substituo o glifo pelo SVG do projecto (#E6264B) via mask-image. Figma pede socials iguais. */
.blog .qodef-social-share .qodef-icon-elegant-icons[class*="social_"],
.single-post .qodef-social-share .qodef-icon-elegant-icons[class*="social_"],
.archive .qodef-social-share .qodef-icon-elegant-icons[class*="social_"] {
    display: inline-block; width: 20px; height: 20px;
    font-size: 0; color: transparent;
    background-color: #e6264b;
    /* longhand (não shorthand) p/ não fazer reset ao mask-image das regras por-rede */
    -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
    -webkit-mask-position: center; mask-position: center;
    -webkit-mask-size: 20px 20px; mask-size: 20px 20px;
}
.blog .qodef-social-share .qodef-icon-elegant-icons[class*="social_"]::before,
.single-post .qodef-social-share .qodef-icon-elegant-icons[class*="social_"]::before,
.archive .qodef-social-share .qodef-icon-elegant-icons[class*="social_"]::before { content: ""; }
/* facebook */
.blog .qodef-social-share .social_facebook,
.single-post .qodef-social-share .social_facebook,
.archive .qodef-social-share .social_facebook {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3E%3Cpath%20d='M7.54002%2019.9609V9.98043H5.03125V6.54105L7.54002%206.53949L7.53651%204.51376C7.53651%201.70792%208.29753%20-7.62939e-05%2011.6024%20-7.62939e-05H15.0118V3.44086H12.634C11.3466%203.44086%2011.2854%203.92117%2011.2854%204.81786L11.2804%206.53949H15.0441L14.68%209.97926L11.2827%209.98043L11.2804%2019.9609H7.54002Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3E%3Cpath%20d='M7.54002%2019.9609V9.98043H5.03125V6.54105L7.54002%206.53949L7.53651%204.51376C7.53651%201.70792%208.29753%20-7.62939e-05%2011.6024%20-7.62939e-05H15.0118V3.44086H12.634C11.3466%203.44086%2011.2854%203.92117%2011.2854%204.81786L11.2804%206.53949H15.0441L14.68%209.97926L11.2827%209.98043L11.2804%2019.9609H7.54002Z'/%3E%3C/svg%3E");
}
/* twitter */
.blog .qodef-social-share .social_twitter,
.single-post .qodef-social-share .social_twitter,
.archive .qodef-social-share .social_twitter {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3E%3Cpath%20d='M19.4316%202.17094C19.126%203.12532%2018.4772%203.92883%2017.6312%204.43526C18.4597%204.33663%2019.248%204.11597%2019.9829%203.79043C19.434%204.61109%2018.7392%205.33234%2017.9369%205.90739C17.9458%206.08322%2017.9494%206.2606%2017.9494%206.4376C17.9494%2011.8497%2013.8301%2018.0898%206.29711%2018.0898C3.98405%2018.0898%201.83201%2017.4111%200.0195312%2016.2497C0.339999%2016.2871%200.665535%2016.307%200.996139%2016.307C2.91505%2016.307%204.68152%2015.652%206.08269%2014.5542C4.29127%2014.5206%202.77899%2013.3366%202.25774%2011.7097C2.50842%2011.7573%202.76417%2011.7834%203.0285%2011.7834C3.40277%2011.7834%203.76456%2011.7335%204.10764%2011.6399C2.23513%2011.2633%200.82304%209.60758%200.82304%207.62396V7.57289C1.37548%207.87971%202.00667%208.0645%202.67801%208.08673C1.58016%207.35339%200.856568%206.09959%200.856568%204.67854C0.856568%203.92766%201.05735%203.22396%201.41056%202.62006C3.43045%205.09764%206.44799%206.72844%209.8515%206.8992C9.78171%206.59979%209.74546%206.28673%209.74546%205.96587C9.74546%203.70544%2011.5794%201.87152%2013.8414%201.87152C15.0188%201.87152%2016.0831%202.36821%2016.8304%203.16509C17.7634%202.98068%2018.6406%202.63994%2019.4316%202.17094Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3E%3Cpath%20d='M19.4316%202.17094C19.126%203.12532%2018.4772%203.92883%2017.6312%204.43526C18.4597%204.33663%2019.248%204.11597%2019.9829%203.79043C19.434%204.61109%2018.7392%205.33234%2017.9369%205.90739C17.9458%206.08322%2017.9494%206.2606%2017.9494%206.4376C17.9494%2011.8497%2013.8301%2018.0898%206.29711%2018.0898C3.98405%2018.0898%201.83201%2017.4111%200.0195312%2016.2497C0.339999%2016.2871%200.665535%2016.307%200.996139%2016.307C2.91505%2016.307%204.68152%2015.652%206.08269%2014.5542C4.29127%2014.5206%202.77899%2013.3366%202.25774%2011.7097C2.50842%2011.7573%202.76417%2011.7834%203.0285%2011.7834C3.40277%2011.7834%203.76456%2011.7335%204.10764%2011.6399C2.23513%2011.2633%200.82304%209.60758%200.82304%207.62396V7.57289C1.37548%207.87971%202.00667%208.0645%202.67801%208.08673C1.58016%207.35339%200.856568%206.09959%200.856568%204.67854C0.856568%203.92766%201.05735%203.22396%201.41056%202.62006C3.43045%205.09764%206.44799%206.72844%209.8515%206.8992C9.78171%206.59979%209.74546%206.28673%209.74546%205.96587C9.74546%203.70544%2011.5794%201.87152%2013.8414%201.87152C15.0188%201.87152%2016.0831%202.36821%2016.8304%203.16509C17.7634%202.98068%2018.6406%202.63994%2019.4316%202.17094Z'/%3E%3C/svg%3E");
}
/* pinterest */
.blog .qodef-social-share .social_pinterest,
.single-post .qodef-social-share .social_pinterest,
.archive .qodef-social-share .social_pinterest {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3E%3Cpath%20d='M5.04825%2011.5438C2.82135%2011.051%202.1578%209.29427%202.24123%206.95392C2.37846%203.12%205.6845%200.43891%209.00068%200.0673714C13.1948%20-0.403194%2017.1286%201.60538%2017.6724%205.55041C18.2861%2010.0015%2015.7812%2014.8249%2011.2985%2014.4767C10.0833%2014.3832%209.573%2013.7804%208.62018%2013.2003C8.0962%2015.9489%207.45604%2018.5847%205.55975%2019.9609C4.97456%2015.8077%206.4194%2012.6888%207.09035%209.37653C5.94649%207.45022%207.22758%203.57536%209.64045%204.53092C12.6085%205.70519%207.06813%2011.6896%2010.787%2012.437C14.6693%2013.2179%2016.2553%205.70012%2013.8475%203.25489C10.3668%20-0.275711%203.72076%203.17497%204.53791%208.2276C4.73752%209.46386%206.01277%209.83813%205.04825%2011.5438Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3E%3Cpath%20d='M5.04825%2011.5438C2.82135%2011.051%202.1578%209.29427%202.24123%206.95392C2.37846%203.12%205.6845%200.43891%209.00068%200.0673714C13.1948%20-0.403194%2017.1286%201.60538%2017.6724%205.55041C18.2861%2010.0015%2015.7812%2014.8249%2011.2985%2014.4767C10.0833%2014.3832%209.573%2013.7804%208.62018%2013.2003C8.0962%2015.9489%207.45604%2018.5847%205.55975%2019.9609C4.97456%2015.8077%206.4194%2012.6888%207.09035%209.37653C5.94649%207.45022%207.22758%203.57536%209.64045%204.53092C12.6085%205.70519%207.06813%2011.6896%2010.787%2012.437C14.6693%2013.2179%2016.2553%205.70012%2013.8475%203.25489C10.3668%20-0.275711%203.72076%203.17497%204.53791%208.2276C4.73752%209.46386%206.01277%209.83813%205.04825%2011.5438Z'/%3E%3C/svg%3E");
}

/* ---------- COMENTÁRIOS — não existem no Figma → esconder no single ---------- */
.single-post #qodef-page-comments { display: none !important; }

/* ---------- RESPONSIVO — sidebar cai por baixo ≤1024 ---------- */
@media (max-width: 1024px) {
    .blog .qodef-page-content-section,
    .single-post .qodef-page-content-section,
    .blog .qodef-page-sidebar-section,
    .single-post .qodef-page-sidebar-section {
        width: 100% !important; left: 0 !important; right: 0 !important;
    }
    /* conteúdo primeiro, sidebar depois (anula push/pull) */
    .blog .qodef-page-content-section,
    .single-post .qodef-page-content-section { order: 1; }
    .blog .qodef-page-sidebar-section,
    .single-post .qodef-page-sidebar-section { order: 2; margin-top: 48px; }
    .qodef-blog.qodef--list .qodef-e-title,
    .qodef-blog.qodef--list .qodef-e-title .qodef-e-title-link { font-size: 30px; }
}
@media (max-width: 480px) {
    .blog .qodef-page-title .qodef-m-title { font-size: 34px; }
    .qodef-blog.qodef--single .qodef-e-title { font-size: 32px; }
    .qodef-blog.qodef--list .qodef-e-title,
    .qodef-blog.qodef--list .qodef-e-title .qodef-e-title-link { font-size: 26px; }
    #qodef-related-posts > h3 { font-size: 30px; }
}

/* ═══════════ CORRECÇÕES MOBILE (≤1024px) — pacote validado do Valter (2026-07-18) ═══════════
   Substitui a reconstrução anterior. Aplicado verbatim do documento do colega; ver delta
   assinalado no fim (vídeo full-bleed) confirmado neste ambiente. */

/* FAQs (9422): remover faixa branca acima do banner — as theme options injetam
   inline `#qodef-page-inner { padding: 145px 0 35px }` em <=1024 (desktop é 0). */
@media (max-width: 1024px) {
    .page-id-9422 #qodef-page-inner { padding-top: 0 !important; }
}

/* Timeline (9080): dots do slider mais pequenos (16->10px; activo scale 1.4 ~14px) */
@media (max-width: 1024px) {
    .page-id-9080 .tl-slider-pagination { width: 10px; gap: 12px; right: 16px; }
    .page-id-9080 .tl-slider-pagination .swiper-pagination-bullet { width: 10px; height: 10px; }
}

/* Homepage (18): padding lateral 24px nas bandas 1200px (hero §2, intro §3, Frame65 §6,
   excellence §8). Full-bleed de propósito: stats §4, marcas, actus §7, vídeo §5. */
@media (max-width: 1024px) {
    .page-id-18 .elementor-element-8c0df16 > .elementor-container,
    .page-id-18 .elementor-element-d4374c1 > .elementor-container,
    .page-id-18 .elementor-element-7932d1c > .elementor-container {
        padding-left: 24px !important; padding-right: 24px !important;
    }
    .page-id-18 .hp-excellence { padding-left: 24px !important; padding-right: 24px !important; }
    /* evitar padding duplo do Elementor nos widget-wrap */
    .page-id-18 .elementor-element-8c0df16 .elementor-widget-wrap,
    .page-id-18 .elementor-element-d4374c1 .elementor-widget-wrap,
    .page-id-18 .elementor-element-1b09071 .elementor-widget-wrap,
    .page-id-18 .elementor-element-7932d1c > .elementor-container > .elementor-column > .elementor-widget-wrap {
        padding-left: 0 !important; padding-right: 0 !important;
    }
}

/* Homepage (18): vídeo §5 maior — full-bleed + 16:9 + play button à escala */
@media (max-width: 1024px) {
    .page-id-18 .elementor-element-1b09071 > .elementor-container {
        padding-left: 0 !important; padding-right: 0 !important; max-width: 100% !important;
        /* DELTA (confirmado neste ambiente): sem width:100%+margin:0 o container fica com
           margin:0 auto da base -> 34px de cada lado -> 417px em vez de full-bleed (485px). */
        width: 100% !important; margin-left: 0 !important; margin-right: 0 !important;
    }
    #home-video .elementor-wrapper { aspect-ratio: 16 / 9 !important; }
    #home-video .elementor-custom-embed-play { width: 120px !important; height: 120px !important; }
    #home-video .elementor-custom-embed-play::after { border-width: 15px 0 15px 24px !important; margin-left: 6px !important; }
}

/* Homepage (18): poster do vídeo com crop centrado (sem isto ancora no canto sup-esq) */
#home-video .elementor-custom-embed-image-overlay {
    background-size: cover !important;
    background-position: center center !important;
}

/* About (2118): "Le spécialiste" empilha — texto em cima, imagem em baixo.
   A imagem é background de container (div vazio), daí o min-height. */
@media (max-width: 1024px) {
    .page-id-2118 .about-timeline { flex-direction: column !important; gap: 40px !important; }
    .page-id-2118 .about-timeline-text {
        flex: 0 0 auto !important;
        width: 100% !important; max-width: 100% !important;
        margin-left: 0 !important;
        padding: 48px 24px 0 24px !important;
        box-sizing: border-box !important;
    }
    .page-id-2118 .about-timeline-img {
        flex: 0 0 auto !important;
        width: 100% !important;
        margin: 0 !important;
        min-height: 300px !important;
        background-size: cover !important;
        background-position: center !important;
    }
}

/* About (2118): padding lateral 24px nas bandas 1200px (todas as secções;
   fora: .about-stats full-bleed e a timeline, tratada acima) */
@media (max-width: 1024px) {
    .page-id-2118 .about-banner > .e-con,
    .page-id-2118 .about-differentiators > .e-con,
    .page-id-2118 .about-valeurs > .e-con,
    .page-id-2118 .about-engagements > .e-con,
    .page-id-2118 .about-locations > .e-con,
    .page-id-2118 .about-footer > .e-con {
        padding-left: 24px !important;
        padding-right: 24px !important;
        box-sizing: border-box !important;
    }
}

/* Our Brands (9090): padding lateral 24px nas intros §3/§6 (bandas 1202px sem padding;
   banner e grelhas já têm 24px no bloco responsivo existente) */
@media (max-width: 1024px) {
    .page-id-9090 .elementor-element-obintro1 > .elementor-container,
    .page-id-9090 .elementor-element-obintro2 > .elementor-container {
        padding-left: 24px !important;
        padding-right: 24px !important;
        box-sizing: border-box !important;
    }
}

/* ═══════════ Homepage — fixes mobile (branch 31-fix-homepage, 2026-07-21) ═══════════ */
@media (max-width: 767px) {
    /* Hero (§2, 8c0df16): o título é .elementor-heading-title (nao .qodef-m-title), por isso
       nao encolhia em mobile e ficava a 48px -> palavras longas (ES "REFRIGERACION",
       FR "CONSTRUISONS") transbordavam a coluna de 342px e cortavam a direita. */
    .page-id-18 .elementor-element-e53df4b .elementor-heading-title {
        font-size: 34px !important;
        line-height: 1.1 !important;
    }
    /* Video (§5): a coluna 21ee480 trazia margin-left:-4% gerado pelo Elementor -> o video
       comecava em -16px (bleed a esquerda, folga a direita). Repor a 0 (spec do colega). */
    .page-id-18 .elementor-element-21ee480 > .elementor-element-populated {
        margin-left: 0 !important;
        --e-column-margin-left: 0% !important;
    }
}
