/* Shared presentation for native WordPress and AT blocks, front and editor. */
@media(min-width:690px) {
    :is(.category-moules-beton,.category-concrete-moulds) .entries[data-layout="grid"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.entry-card .entry-title::before,
.wp-block-post-template .wp-block-post-title::before { content:none;display:none; }
.entry-card:hover { transform:none; }
.entry-card .ct-media-container::after { transition:background-color .2s ease;pointer-events:none; }
.entry-card:hover .ct-media-container::after,
.entry-card:focus-within .ct-media-container::after { background-color:rgba(0,0,0,.65); }
.alfi-banner.wp-block-at-feature-card { min-height:var(--at-feature-card-media-height);background:#000;color:#fff; }
.alfi-banner .at-feature-card__inner { min-height:var(--at-feature-card-media-height); }
.wp-block-columns .wp-block-column:has(> .alfi-banner.wp-block-at-feature-card.is-stretch-in-column) { display:block; }
.wp-block-columns .wp-block-column > .alfi-banner.is-stretch-in-column,
.wp-block-columns .wp-block-column > .alfi-banner.is-stretch-in-column .at-feature-card__inner { height:auto; }
.alfi-banner.is-image-height .at-feature-card__media { position:absolute;inset:0;height:100%; }
.alfi-banner .at-feature-card__image { filter:brightness(90%); }
.alfi-banner .at-feature-card__overlay { background:rgba(0,0,0,.35); }
.alfi-banner.alignwide .at-feature-card__overlay { background:rgba(0,0,0,.4); }
.alfi-banner:hover .at-feature-card__image { filter:brightness(60%); }
.alfi-banner .at-feature-card__content { align-items:center;justify-content:center;text-align:center;padding:2.5rem;min-height:var(--at-feature-card-media-height); }
.alfi-banner .at-feature-card__inner-blocks { max-width:100%; }
.page-id-41178 .alfi-banner .at-feature-card__inner-blocks { max-width:250px; }
.alfi-banner .at-feature-card__cta { display:none; }
.alfi-banner .alfi-card-title { font-family:ct_font_open_sans_condensed,Sans-Serif !important;font-weight:700 !important;font-size:40px;line-height:1.4;color:inherit;letter-spacing:normal;margin:0;padding:0; }
.alfi-banner .alfi-card-text { font-family:ct_font_open_sans_condensed,Sans-Serif !important;font-weight:700 !important;font-size:13px;color:#fff !important;margin:0;padding:0;line-height:inherit;letter-spacing:normal; }
.alfi-banner .alfi-card-title + .alfi-card-text { margin-top:.875em; }
.alfi-banner.module .alfi-card-text { font-size:18px; }
.menu-solutions .alfi-banner .alfi-card-title { font-size:19px !important;line-height:1.35;text-transform:uppercase; }
.menu-solutions .alfi-banner,
.menu-solutions .alfi-banner .at-feature-card__inner,
.menu-solutions .alfi-banner .at-feature-card__content { min-height:100px;height:100px; }
.menu-solutions .alfi-banner .at-feature-card__content { padding:10px; }
@media(max-width:1200px) {
    .alfi-banner .alfi-card-title { font-size:25px !important; }
    .alfi-banner .alfi-card-text { font-size:20px !important; }
    .alfi-banner .at-feature-card__content { padding:10px; }
}
@media(max-width:999px) {
    #offcanvas .ct-panel-content-inner { min-width:0;overflow-x:hidden; }
    #offcanvas .mobile-menu { min-width:0;max-width:100%; }
    #offcanvas .mobile-menu .sub-menu {
        box-sizing:border-box;
        width:100%;
        max-width:100%;
        margin-inline:0 !important;
        padding:12px !important;
    }
    #offcanvas .mobile-menu .sub-menu > li { min-width:0;max-width:100%; }
    #offcanvas .site-logo-container[data-id="offcanvas-logo"] img { max-width:100% !important;width:100% !important;height:auto; }
    #offcanvas .mobile-menu .alfi-banner { margin:0 0 8px;min-height:88px;height:auto;background:var(--theme-palette-color-4);border-radius:8px; }
    #offcanvas .mobile-menu .alfi-banner .at-feature-card__inner { min-height:88px;height:auto; }
    #offcanvas .mobile-menu .alfi-banner .at-feature-card__media { display:block; }
    #offcanvas .mobile-menu .alfi-banner .at-feature-card__overlay { background:rgba(0,0,0,.58); }
    #offcanvas .mobile-menu .alfi-banner .at-feature-card__content { min-height:88px;height:auto;padding:12px 16px;text-align:left;align-items:stretch; }
    #offcanvas .mobile-menu .alfi-banner .alfi-card-title { color:var(--theme-palette-color-8) !important;font-family:var(--theme-font-family,"Open Sans",sans-serif) !important;font-size:15px !important;font-weight:700;line-height:1.4 !important; }
}

/* Keep the existing overlap editable through the original crop-top class. */
.atcb-carousel__common > .wp-block-group { flex-shrink:0;height:auto; }
.cmplz-cookiebanner .cmplz-documents a.cmplz-link { display:inline-flex;align-items:center;min-height:28px; }
@media(max-width:999px) {
    .cmplz-cookiebanner { bottom:calc(var(--shortcuts-bar-height, 60px) + env(safe-area-inset-bottom)) !important;max-height:calc(100dvh - 90px);overflow-y:auto; }
}
.wp-block-group.crop-top, .wp-block-cover.crop-top { position:relative; }
/* The accessible accordion button is a block: the ornament must not take a line. */
/* Show the initial hero frame without waiting for the carousel JavaScript. */
.atcb-carousel:not([data-atcb-ready]) .atcb-carousel__track > .atcb-carousel__slide:first-child {
    visibility:visible;opacity:1;transform:none;
}
.atcb-carousel:not([data-atcb-ready]) .atcb-carousel__track > .atcb-carousel__slide:not(:first-child) .atcb-carousel__media {
    display:none;
}
/* Keep the native pause command available when reached with the keyboard. */
body.home .atcb-carousel__pause:not(:focus-visible) { opacity:0;pointer-events:none; }
.wp-block-pb-accordion-item .c-accordion__title { position:relative;isolation:isolate; }
.wp-block-pb-accordion-item .c-accordion__title::before {
    content:"";
    position:absolute;
    display:block;
    inset:auto;
    top:50%;
    left:20px;
    width:30px;
    height:30px;
    margin:0;
    transform:translateY(-50%);
    background:color-mix(in srgb, var(--theme-palette-color-2, #9ac13a) 30%, white);
    pointer-events:none;
    z-index:-1;
}
