/*
Theme Name: Marmilame
Author: Dynamic Mind
Description: Tema WordPress Custom per sito web Marmilame.
Version: 1.0
*/

/* local font loading: place .woff2 files in assets/fonts */
@font-face {
    font-family: 'Montserrat';
    src: local('Montserrat Regular'),
        local('Montserrat-Regular'),
        url('./fonts/montserrat-latin-ext-400-normal.woff2') format('woff2'),
        url('./fonts/montserrat-latin-ext-400-normal.woff') format('woff'),
        url('./fonts/Montserrat-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: local('Montserrat Medium'),
        local('Montserrat-Medium'),
        url('./fonts/montserrat-latin-ext-500-normal.woff2') format('woff2'),
        url('./fonts/montserrat-latin-ext-500-normal.woff') format('woff'),
        url('./fonts/Montserrat-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: local('Montserrat SemiBold'),
        local('Montserrat-SemiBold'),
        url('./fonts/montserrat-latin-ext-600-normal.woff2') format('woff2'),
        url('./fonts/montserrat-latin-ext-600-normal.woff') format('woff'),
        url(./fonts/Montserrat-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: local('Montserrat Bold'),
        local('Montserrat-Bold'),
        url('./fonts/montserrat-latin-ext-700-normal.woff2') format('woff2'),
        url('./fonts/montserrat-latin-ext-700-normal.woff') format('woff'),
        url('./fonts/Montserrat-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
    --main-font: 'Montserrat', sans-serif;
    --primary-color: #813030;
    --secondary-color: #B65454;
    --secondary-color-2: #E7D9D9;
    --black: #242526;
    --white: #ffffff;
    --lighter: #adb5bd;
    --darker: #6c757d;
    --main_font_size: 1rem;
}

/* Custom text color utilities (Bootstrap-like) */
.text_primary {
    color: var(--primary-color);
}

.text-secondary {
    color: var(--secondary-color);
}

.text-secondary-2 {
    color: var(--secondary-color-2);
}

.text-black {
    color: var(--black);
}

.text_white {
    color: var(--white);
}

.text_lighter {
    color: var(--lighter);
}

.text-darker {
    color: var(--darker);
}

.bg_primary {
    background-color: var(--primary-color);
}

.bg_secondary {
    background-color: var(--secondary-color);
}

/* Unified Bootstrap button theme:
   use `btn btn-brand` in HTML for normal, hover, focus and active states. */
.btn-brand {
    --bs-btn-color: var(--white);
    --bs-btn-bg: var(--primary-color);
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-color: var(--white);
    --bs-btn-hover-bg: var(--secondary-color);
    --bs-btn-hover-border-color: var(--secondary-color);
    --bs-btn-focus-shadow-rgb: 129, 48, 48;
    --bs-btn-active-color: var(--white);
    --bs-btn-active-bg: var(--secondary-color);
    --bs-btn-active-border-color: var(--secondary-color);
    border-radius: 0;
    letter-spacing: .08em;
    font-size: 0.75rem;
    font-weight: 700;
}

/* button zoom: keep bootstrap colors, add subtle motion on interaction */
.btn {
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, transform 0.25s ease;
    transform-origin: center;
}

.btn:not(:disabled):not(.disabled):hover,
.btn:not(:disabled):not(.disabled):focus,
.btn:not(:disabled):not(.disabled):focus-visible {
    transform: scale(1.05);
}

.text_primary-i {
    color: var(--primary-color);
}

.text-secondary-i {
    color: var(--secondary-color);
}

.text-secondary-2-i {
    color: var(--secondary-color-2);
}

.text_black-i {
    color: var(--black);
}

.text_white-i {
    color: var(--white);
}

.text-lighter-i {
    color: var(--lighter);
}

.text-darker-i {
    color: var(--darker);
}

.bg_primary-i {
    background-color: var(--primary-color);
}

/* Custom border color utilities (Bootstrap-like) */
.border_primary {
    --bs-border-color: var(--primary-color);
    border-color: var(--primary-color);
}

.border-secondary {
    border-color: var(--secondary-color);
}

.border-secondary-2 {
    border-color: var(--secondary-color-2);
}

.border-black {
    border-color: var(--black);
}

.border_white {
    border-color: var(--white);
}

.border_lighter {
    border-color: var(--lighter);
}

.border-darker {
    border-color: var(--darker);
}

.border_primary-i {
    border: 1px solid var(--primary-color);
}

.border-primary-i {
    border-color: var(--primary-color) !important;
}

.border-secondary-i {
    border-color: var(--secondary-color);
}

.border-secondary-2-i {
    border-color: var(--secondary-color-2);
}

.border_black-i {
    border-color: var(--black);
}

.border_white-i {
    border-color: var(--white);
}

.border-lighter-i {
    border-color: var(--lighter);
}

.border-darker-i {
    border-color: var(--darker);
}

/* Custom text utilities (Bootstrap-like) */
.text-shadow-soft {
    text-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.35);
}

body {
    margin: 0;
    font-family: var(--main-font);
    background: var(--white);
    color: var(--black);
    font-size: var(--main_font_size);
    -webkit-font-smoothing: antialiased
}

/* reserve space for fixed bootstrap navbar */
body {
    padding-top: 88px;
}

@media (min-width: 992px) {
    body {
        padding-top: 96px;
    }
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

strong {
    font-weight: 550;
}

.recycle-mark {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    color: var(--black);
    font-size: 2.45rem;
    line-height: 1;
}

.recycle-mark i {
    display: block;
    line-height: 1;
}

.recycle-code {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1;
    color: var(--black);
    background: var(--white);
    padding: 0 2px;
    border-radius: 2px;
    pointer-events: none;
}

.recycle-label {
    margin-top: 2px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 1;
    color: var(--black);
}

/* WHY CHOOSE US: image card overlay */
.why-choose-us .wcu-card--image {
    position: relative;
    overflow: hidden;
}

.why-choose-us .wcu-card--image img {
    transform: scale(1);
    transition: transform 0.45s ease;
    transform-origin: center;
    will-change: transform;
}

.why-choose-us .wcu-card--image:hover img,
.why-choose-us .wcu-card--image:focus-within img {
    transform: scale(1.1);
}


/* dark-to-light black overlay on image cards */
.why-choose-us .wcu-card--image::after {
    content: "";
    /* creates the pseudo-element */
    position: absolute;
    /* positions the overlay within the card */
    inset: 0;
    /* stretches to all edges */
    background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.2) 100%);
    /* dark-to-light black gradient */
    z-index: 1;
    /* keeps overlay below the text */
}

.why-choose-us .wcu-card--image .card-img-overlay {
    /* select text container overr the image in card image*/
    position: absolute;
    /* overlay text on image*/
    inset: 0;
    /* extend all over the card*/
    z-index: 2;
    /*over gradient and over image */
    display: flex;
    /* activize flexbox to manage text layout  */
    flex-direction: column;
    /* text in column*/
    justify-content: flex-start;
    /*align content to top */
    align-items: flex-start;
    /*to left */
    padding: 16px;
    /*16px padding */
    background: transparent;
    /*so we can see image and overlay */
}



/* =========================
    HEADER TYPE 1
   ========================= */
.page-hero {
    /* keeps this block as the positioning context for absolutely positioned children */
    position: relative;
    /* viewport-based hero height */
    min-height: 70vh;
    /* keeps background image behavior safe if a fallback background is ever used */
    background-size: cover;
    /* centers any fallback background image */
    background-position: center;
    /* avoids repeating fallback backgrounds */
    background-repeat: no-repeat;
    /* ensures text defaults to white on this dark hero section */
    color: var(--white);
    /* enables flex alignment for internal content wrapper */
    display: flex;
    /* pushes content toward the bottom edge of the hero */
    align-items: flex-end;
}

.page-hero-media {
    /* removes media from normal flow so it can sit behind content */
    position: absolute;
    /* stretches media to all four edges of the hero */
    inset: 0;
}

.page-hero-media img {
    /* spans full hero width */
    width: 100%;
    /* spans full hero height */
    height: 100%;
    /* fills area without distortion, cropping excess parts */
    object-fit: cover;
}

.page-hero-overlay {
    /* keeps overlay pinned over image and under text */
    position: absolute;
    /* stretches overlay to full hero area */
    inset: 0;
    /* adds readable contrast: transparent top to darker bottom */
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.7) 100%);
}

.page-hero-inner {
    /* keeps text layer above media and overlay */
    position: relative;
    /* lets text container use full available row width */
    width: 100%;
    /* resets default margins */
    margin: 0;
    /* creates consistent breathing room around breadcrumb/title */
    padding: 40px 48px 48px;
    /* enables vertical stacking of breadcrumb and title */
    display: flex;
    /* stacks children top-to-bottom */
    flex-direction: column;
    /* keeps text cluster aligned to bottom */
    justify-content: flex-end;
    /* aligns text to the left */
    text-align: left;
    /* adds controlled space between breadcrumb and title */
    gap: 10px;
}

.page-hero-breadcrumb {
    /* makes breadcrumb secondary vs title */
    opacity: .75;
    /* preserves original casing from content */
    text-transform: none;
}

/* breadcrumb current: type 1 (white) */
.page-hero .page-hero-breadcrumb .breadcrumb-current {
    color: var(--white);
    opacity: 1;
}

/* breadcrumb current: type 2 (red) */
.page-hero-split .page-hero-breadcrumb .breadcrumb-current {
    color: var(--primary-color);
    opacity: 1;
}

.page-hero-title {
    /* keeps headings visually consistent with design direction */
    text-transform: uppercase;
    /* removes default heading margins */
    margin: 0;
}

/* =========================
   HEADER TYPE 2
   ========================= */
.page-hero-split {
    /* matches type-1 hero sizing logic with viewport units */
    min-height: 70vh;
    /* removes dividing line under the hero */
    border-bottom: none;
}

.page-hero-split .container-fluid,
.page-hero-split .row {
    /* passes the hero min-height down through bootstrap wrappers */
    min-height: inherit;
}

.page-hero-split .row>[class*="col-"] {
    /* turns both columns into flex containers */
    display: flex;
}

.page-hero-split .row>[class*="col-"]>* {
    /* makes direct children expand and keep equal column height behavior */
    flex: 1 1 auto;
}

.page-hero-split-media {
    /* keeps media wrapper as positioning context */
    position: relative;
    /* hides image overflow after cropping */
    overflow: hidden;
    /* uses full column width */
    width: 100%;
    /* keep the same visual height used by header type 1 */
    min-height: 70vh;
}

.page-hero-split-media img {
    /* spans full media wrapper width */
    width: 100%;
    /* spans full media wrapper height */
    height: 100%;
    /* crops safely without distortion */
    object-fit: cover;
}

.page-hero-split-content {
    /* enables vertical layout for breadcrumb/title/extra content */
    display: flex;
    /* stacks content blocks vertically */
    flex-direction: column;
    /* centers text block along vertical axis of the column */
    justify-content: center;
    /* ensures content fills column height when possible */
    align-self: stretch;
    /* ensures content wrapper spans full column width */
    width: 100%;
    /* creates generous desktop padding */
    padding: 48px;
    /* controls spacing between inner text blocks */
    gap: 12px;
}

/* header type 2: lift breadcrumbs and add separation from title */
.page-hero-split .page-hero-breadcrumb {
    /* nudges breadcrumb up to align better with visual rhythm */
    margin-top: -8px;
    /* keeps clear separation from page title */
    margin-bottom: 16px;
}


/* contacts-only extra block inside header type 2 (right column) */
.page-hero-extra {
    /* separates optional extra content from title/subtitle area */
    margin-top: 24px;
}

.header-extra-light-strong strong {
    font-weight: 550;
}


/* About us header extra logo row (left-aligned) */
.header-logo-row {
    margin-top: 16px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.header-logo-image {
    width: 160px;
    max-width: 100%;
    height: auto;
}

@media (min-width: 992px) {
    .page-hero-split-media {
        /* keep consistent hero image height across both header types */
        min-height: 70vh;
    }
}

@media (max-width: 900px) {
    .page-hero {
        /* reduces hero presence on mobile while keeping viewport behavior */
        min-height: 62vh;
    }

    .page-hero-inner,
    .page-hero-split-content {
        /* decreases inner spacing for smaller screens */
        padding: 24px;
    }

    .page-hero-split {
        /* keeps split hero viewport-based also on mobile */
        min-height: 62vh;
    }

    .page-hero-split-media {
        /* keep consistent hero image height across both header types on mobile */
        min-height: 62vh;
    }
}

/* contacts-only sections and social icon styling */
.contact-info .contact-section {
    margin-bottom: 20px;
}

.contact-info .contact-section h4 {
    margin: 0 0 6px;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 0.75rem;
}

.contact-info .contact-section p {
    margin: 0 0 4px;
    color: var(--darker);
}

.contact-info .contact-social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--lighter);
    border-radius: 6px;
    color: var(--black);
    text-decoration: none;
}

.contact-info .contact-social:hover {
    color: var(--primary-color);
    border-color: var(--primary-color);
}

/* CONTACT FORM (BOOTSTRAP) */
.contact-form-bootstrap .card {
    border-radius: 0;
    border: 3px solid var(--primary-color);
}

.contact-form-bootstrap .form-label {
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 0.75rem;
    color: var(--black);
}

.contact-form-bootstrap .form-control {
    border-radius: 0;
    border-color: var(--lighter);
    font-family: var(--main-font);
}

.contact-form-bootstrap .form-control:focus {
    border-color: var(--primary-color);
    box-shadow: none;
}

/* CONTACT FORM (LINE STYLE)*/
.contact-compare {
    padding: 60px 0 80px;
}

.contact-compare-inner {
    width: 100%;
    margin: 0;
}

.contact-compare-inner h2 {
    margin: 0 0 24px;
    font-size: 1.125rem;
    letter-spacing: .06em;
    text-transform: none;
}

.contact-line-form {
    display: grid;
    gap: 22px;
}

.line-field {
    display: grid;
    gap: 8px;
    border-bottom: 2px solid var(--primary-color);
    padding-bottom: 10px;
}

.line-field label {
    font-size: 0.75rem;
    text-transform: none;
    letter-spacing: .08em;
    color: var(--darker);
}

.line-field input,
.line-field textarea {
    border: 0;
    outline: none;
    font-family: var(--main-font);
    font-size: 0.875rem;
    padding: 0;
}

.line-form-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.75rem;
    color: var(--darker);
    margin-top: 6px;
}

.line-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.line-form-actions {
    display: flex;
    justify-content: center;
}

/* Contact form submit spacing override (keeps shared button colors/styles). */
.line-form-actions .btn-brand {
    padding: 10px 28px;
}

/* catalog media ratio helper: avoids inline --bs-aspect-ratio */
.catalog-ratio-2x1 {
    --bs-aspect-ratio: 50%;
}

/* catalog title row tracking */
.catalog-meta-row {
    letter-spacing: .08em;
}

/* shared hover cards */
/* hover: bottom panel shown on hover/focus */
[data-hover-card] .hover-card-panel {
    /* keep the text tracking aligned with the design */
    letter-spacing: .08em;
    /* static: panel hidden in default state */
    opacity: 0;
    visibility: hidden;
    /* fade panel in/out smoothly */
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

[data-hover-card] .hover-card-plus {
    /* static: default small plus shown in base state */
    transition: opacity 0.2s ease;
}

[data-hover-card]:hover .hover-card-panel,
[data-hover-card]:focus .hover-card-panel,
[data-hover-card]:focus-visible .hover-card-panel {
    /* hover: show panel on pointer hover and keyboard focus */
    opacity: 1;
    visibility: visible;
}

[data-hover-card]:hover .hover-card-plus,
[data-hover-card]:focus .hover-card-plus,
[data-hover-card]:focus-visible .hover-card-plus {
    /* hover: hide static small plus when panel appears */
    opacity: 0;
}

/* product similar cards: dark overlay + centered white text on hover */
.product-overlay-layer {
    /* darken the image while keeping it visible */
    background: rgba(0, 0, 0, 0.38);
    /* base state: hidden */
    opacity: 0;
    visibility: hidden;
    /* smooth fade */
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.product-overlay-card:hover .product-overlay-layer,
.product-overlay-card:focus .product-overlay-layer,
.product-overlay-card:focus-visible .product-overlay-layer {
    /* interactive state: show overlay */
    opacity: 1;
    visibility: visible;
}

/* shared gallery pagination: reusable across product and epoxy pages */
.gallery-pagination {
    --bs-pagination-active-bg: var(--primary-color);
    --bs-pagination-active-border-color: var(--primary-color);
    --bs-pagination-active-color: var(--white);
}

.gallery-pagination .gallery-pagination-link {
    color: var(--darker);
    border: 0;
    background: transparent;
}

/* hover state: keep pagination square on brand primary */
.gallery-pagination .gallery-pagination-link:hover,
.gallery-pagination .gallery-pagination-link:focus,
.gallery-pagination .gallery-pagination-link:focus-visible {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--white);
}

/* active page keeps brand color while preserving bootstrap pagination structure */
.gallery-pagination .gallery-pagination-link.active {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: var(--white) !important;
}

/* filter value emphasis */
.filter-value {
    color: inherit;
    font-weight: 600;
}

/* small dropdown icon */
.filter-icon {
    font-size: 0.625rem;
    color: inherit;
}

/* clickable trigger */
.filter-trigger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 2px 10px;
}

/* dropdown menu */
.filter-dropdown {
    position: absolute;
    top: 22px;
    right: 0;
    min-width: 160px;
    background: var(--white);
    border: 1px solid var(--lighter);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
    display: none;
    z-index: 10;
}

.filter-dropdown.is-open {
    display: block;
}

/* Dropdown options also reuse `btn-brand`; these rules only handle menu layout. */
.filter-dropdown .filter-dropdown-btn {
    display: block;
    width: 100%;
    text-align: left;
    padding: 8px 10px;
    font-size: 0.75rem;
    border-radius: 0;
    background: var(--white);
    border-color: var(--lighter);
    color: var(--black);
}

.filter-dropdown .filter-dropdown-btn:hover,
.filter-dropdown .filter-dropdown-btn:focus,
.filter-dropdown .filter-dropdown-btn:active {
    background: var(--white);
    border-color: var(--lighter);
    color: var(--black);
}

.filter-dropdown .filter-dropdown-btn+.filter-dropdown-btn {
    border-top: 1px solid rgba(255, 255, 255, 0.25);
}

/* =========================
   BOOTSTRAP NAVBAR
   ========================= */
/* keeps navbar and page hero visually attached with no vertical gap */
.site-header,
.site-header .navbar {
    margin: 0;
    padding-bottom: 0;
}

/* keep fixed navbar above page content across templates */
.site-header .navbar.fixed-top {
    z-index: 1030;
    /* consistent with bootstrap levels for top components*/
}

/* removes any accidental top spacing on the page header right after navbar */
.site-header+header,
header>.page-hero,
header>.page-hero-split {
    margin-top: 0;
    padding-top: 0;
}

/* enforces zero gap between sequential header landmarks in page templates */
body>header+header {
    margin-top: 0;
    padding-top: 0;
}


/* keeps brand logo readable without affecting navbar height too much */
.navbar .navbar-brand-logo {
    display: block;
    height: 42px;
    width: auto;
}

@media (min-width: 992px) {
    .navbar .navbar-brand-logo {
        height: 48px;
    }
}

/* keeps bootstrap nav links on brand primary color while hovering/focusing/open */
.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link:focus,
.navbar .navbar-nav .nav-link.show,
.navbar .navbar-nav .dropdown-toggle.show {
    color: var(--primary-color);
    font-weight: 700;
}

/* keeps the slash separator subtle and aligned with nav text */
.navbar .nav-sep {
    opacity: .45;
    font-size: 0.75rem;
    letter-spacing: .12em;
}

/* keeps mega dropdown edge-to-edge and visually clean */
.navbar .dropdown-menu {
    border-top: 1px solid var(--lighter);
}

/* styles mega dropdown labels with sentence-case look and italic tone */
.navbar .mega-label {
    /* makes the label span the full available line width */
    display: block;
    width: 100%;
    /* keeps labels in italic as requested */
    font-style: italic;
    /* converts all characters to lowercase first */
    text-transform: lowercase;
    /* keeps compact spacing above the image */
    padding: 5px 10px;
}

/* restores uppercase on the first visible letter only */
.navbar .mega-label::first-letter {
    text-transform: uppercase;
}

/* keeps non-badge labels visually lighter and aligned with card content */
.navbar .mega-label--plain {
    background: transparent;
    padding-left: 0;
    padding-right: 0;
}

/* underline plain labels in red when hovering/focusing the whole mega card */
.navbar .mega-card-link:hover .mega-label--plain,
.navbar .mega-card-link:focus .mega-label--plain,
.navbar .mega-card-link:focus-visible .mega-label--plain {
    color: var(--primary-color);
    text-decoration: none;
    border-bottom: 2px solid var(--primary-color);
}

/* forces badge labels to fill the whole card width */
.navbar .mega-label--badge {
    border-radius: 0;
    transition: background-color 0.2s ease, color 0.2s ease;
}

/* hover for primary-background badge labels in mega menu */
.navbar .mega-card-link:hover .mega-label--badge,
.navbar .mega-card-link:focus .mega-label--badge,
.navbar .mega-card-link:focus-visible .mega-label--badge {
    background-color: var(--secondary-color);
    color: var(--white);
}

/* mega menu full-card zoom:
   static state keeps normal size, interactive states scale the whole card */
.navbar .mega-card-link {
    transition: transform 0.35s ease;
    transform-origin: center;
}

.navbar .mega-card-link:hover,
.navbar .mega-card-link:focus,
.navbar .mega-card-link:focus-visible {
    transform: scale(1.03);
}

/* force black hamburger icon on light navbar */
.site-header .navbar {
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280,0,0,1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

@media (max-width: 991.98px) {

    /* mobile language switch: separate IT/EN from nav links and keep them readable */
    .navbar .lang-switch {
        width: 100%;
        margin-top: 12px;
        padding-top: 12px;
        border-top: 1px solid var(--lighter);
        justify-content: flex-start;
        gap: 12px !important;
    }

    /* mobile language links: compact spacing for clearer separation */
    .navbar .lang-switch .nav-link {
        padding: 4px 10px !important;
        line-height: 1;
    }

}

/* =========================
   HOME TILES (PLACEHOLDER)
   ========================= */
.home-tile {
    position: relative;
    display: block;
    min-height: 400px;
    text-decoration: none;
    color: var(--white);
    overflow: hidden;
    /* center content vertically */
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-tile--bottom {
    min-height: 340px;
}

/* full-cover media layer used by tile links */
.home-tile-media {
    position: absolute;
    inset: 0;
    transition: transform 0.35s ease;
}

/* image zoom on interaction */
.home-tile:hover .home-tile-media,
.home-tile:focus .home-tile-media,
.home-tile:focus-visible .home-tile-media {
    transform: scale(1.08);
}

/* overlay layer above image, below text */
.home-tile-overlay {
    position: absolute;
    inset: 0;
    opacity: 0.5;
}

/* dark overlay preset for readability */
.home-tile-overlay--dark {
    background: rgba(0, 0, 0, 0.35);
}

/* Page alignment */

/* default text alignment across pages */
main p,
.page-hero p,
.page-hero-split p {
    text-align: left;
}

/* opt-in: keep one page justified by adding class "page-justify" to body */
body.page-justify main p,
body.page-justify .page-hero p,
body.page-justify .page-hero-split p {
    text-align: justify;
}

/* SPACING UTILITIES*/
.spacer,
.half_spacer,
.half-spacer {
    display: block;
    width: 100%;
}

.spacer {
    height: 14vh;
}

.half_spacer,
.half-spacer {
    height: 6vh;
}

@media screen and (max-width: 575.98px) {
    .spacer {
        height: 7vh;
    }

    .half_spacer {
        height: 3vh;
    }

    .half-spacer {
        height: 3vh;
    }
}

/* home top row: force 50/50 split */
.home-row {
    display: grid;
    grid-template-columns: 50% 50%;
    gap: 0;
}

@media (max-width: 900px) {
    .home-row {
        grid-template-columns: 1fr;
    }
}

/*  HOME CONTENT SECTIONS */
.home-sections {
    width: min(1200px, calc(100% - 48px));
    margin: 0 auto 80px;
    display: block;
}


.home-block {
    /* keep Bootstrap row layout for two-column blocks */
    display: flex;

}

/* full-bleed row: stretch to viewport width and keep centered */
.block--bleed {
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
    /*element to sx for 50% of its width, half container */
}

/* media column: remove padding so media can touch column edges */
.block-media-col {
    padding: 0;
    /*for remove inside space */
    display: flex;
    /*for stretch in height*/
}

/* ensure media wrapper fills the column width */
.block-media-col>* {
    width: 100%;
}

.home-block-media {
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.home-block-video {
    width: 100%;
    height: auto;
}

.block-image {
    width: 100%;
    height: auto;
}

/* ensure media wrapper fills the column height */
.home-media-edge {
    width: 100%;
}

/* home feature media cards: subtle zoom on placeholder image hover/focus */
.home-feature-media {
    /* crop scaled media edges to keep a clean frame */
    overflow: hidden;
}

.home-feature-media img {
    /* smooth and centered zoom for placeholder image */
    transition: transform 0.35s ease;
    transform-origin: center;
}

/* direct hover/focus on media element */
.home-feature-media:hover img,
.home-feature-media:focus-within img {
    transform: scale(1.05);
}


.block-content h2 {
    margin: 0 0 12px;
}


.block-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    text-align: left;
    padding: 48px;
    /* Keep text block centered inside its column while text stays left-aligned */
    max-width: 560px;
    margin: 0 auto;
}

.block-content p {
    margin: 0 0 16px;
    color: var(--darker);
    line-height: 1.6;
}

/* epoxy-resins feature images (incl. logo Ipox Stone + immagine Rainbow):
   contenitore con clipping e zoom leggero al passaggio mouse/focus */
.epoxy-feature-media {
    overflow: hidden;
}

/* transizione comune delle immagini nel blocco feature epoxy */
.epoxy-feature-media img {
    transition: transform 0.35s ease;
    transform-origin: center;
}

/* effetto zoom uniforme per i blocchi feature della pagina epoxy */
.epoxy-feature-media:hover img,
.epoxy-feature-media:focus-within img {
    transform: scale(1.05);
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
}

/* epoxy gallery and brochure cards: subtle zoom on hover/focus */
.epoxy-gallery-media {
    overflow: hidden;
}

.epoxy-gallery-media img {
    transition: transform 0.35s ease;
    transform-origin: center;
}

.epoxy-gallery-media:hover img,
.epoxy-gallery-media:focus-within img {
    transform: scale(1.05);
}

/* materials page feature images: subtle zoom on hover/focus */
.materials-feature-media {
    overflow: hidden;
}

.materials-feature-media img {
    transition: transform 0.35s ease;
    transform-origin: center;
}

.materials-feature-media:hover img,
.materials-feature-media:focus-within img {
    transform: scale(1.05);
}

/* services page feature images: subtle zoom on hover/focus */
.services-feature-media {
    overflow: hidden;
}

.services-feature-media img {
    transition: transform 0.35s ease;
    transform-origin: center;
}

.services-feature-media:hover img,
.services-feature-media:focus-within img {
    transform: scale(1.05);
}

/* stone-showroom image near "Lastre e blocchi": subtle zoom on hover/focus */
.stone-feature-media {
    overflow: hidden;
}

.stone-feature-media img {
    transition: transform 0.35s ease;
    transform-origin: center;
}

.stone-feature-media:hover img,
.stone-feature-media:focus-within img {
    transform: scale(1.05);
}

/* third-party logistic image near "Groupage": subtle zoom on hover/focus */
.third-party-feature-media {
    display: block;
    overflow: hidden;
}

.third-party-feature-media img {
    transform: scale(1);
    transition: transform 0.45s ease;
    transform-origin: center;
}

.third-party-feature-media img:hover,
.third-party-feature-media:hover img,
.third-party-feature-media:focus-within img {
    transform: scale(1.1);
}

/* about-us body images: subtle zoom on hover/focus */
.about-media-wrap {
    overflow: hidden;
}

.about-media-wrap .about-body-media {
    transition: transform 0.35s ease;
    transform-origin: center;
}

.about-media-wrap:hover .about-body-media,
.about-media-wrap:focus-within .about-body-media {
    transform: scale(1.05);
}

.block-links {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
}

.block-links a {
    color: var(--primary-color);
    font-weight: 600;
    letter-spacing: 0;
    text-decoration: none;

}

/* force line break for specific link */

@media (max-width: 900px) {
    .home-block {
        grid-template-columns: 1fr;
        grid-template-areas: "media" "text";
    }

    /* Reduce padding on smaller screens */
    .block-content {
        padding: 28px 20px;
    }
}

/* =========================
   BOOTSTRAP FOOTER
   ========================= */
/* keeps footer links on primary color while hovering/focusing */
footer a:hover,
footer a:focus {
    color: var(--primary-color);
}

/* =========================
   PRODUCT PAGE
   ========================= */
.product-page {
    width: min(1080px, calc(100% - 48px));
    margin: 0 auto;
}




/* epoxy accordion */
.epoxy-accordion {
    --epoxy-panel-bg: var(--secondary-color-2);
    border: 1px solid var(--white);
    box-shadow: 0 8px 24px rgba(36, 37, 38, 0.12);
    border-radius: 0;
    overflow: hidden;
}

.epoxy-accordion .accordion-item {
    margin-bottom: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.epoxy-accordion .accordion-item+.accordion-item {
    border-top: 1px solid var(--white);
}

.epoxy-accordion .accordion-button,
.epoxy-accordion .accordion-button:not(.collapsed) {
    background: var(--epoxy-panel-bg);
    color: var(--black);
    font-weight: 500;
    line-height: 1.35;
    box-shadow: none;
    border: 0;
    border-radius: 0;
    padding: 12.8px 20px;
}

.epoxy-accordion .accordion-button:focus {
    box-shadow: none;
}

.epoxy-accordion .accordion-button::after {
    display: none;
}

.epoxy-accordion .accordion-icon {
    margin-left: auto;
    color: var(--primary-color);
    line-height: 1;
}

.epoxy-accordion .accordion-icon .icon-close {
    display: none;
}

.epoxy-accordion .accordion-button:not(.collapsed) .accordion-icon .icon-plus {
    display: none;
}

.epoxy-accordion .accordion-button:not(.collapsed) .accordion-icon .icon-close {
    display: inline-block;
}

.epoxy-accordion .accordion-collapse,
.epoxy-accordion .accordion-body {
    border-radius: 0;
}

.epoxy-accordion .accordion-body {
    background: var(--white);
    padding: 25.6px 28px 27.2px;
}

.epoxy-accordion .accordion-body .row {
    --bs-gutter-x: 44.8px;
    --bs-gutter-y: 20.8px;
    /* default center for outer rows; inner 3/9 rows use Bootstrap class align-items-start in markup */
    align-items: center;
}

.epoxy-accordion .accordion-body p {
    margin-bottom: 10.4px;
    line-height: 1.55;
}

.epoxy-accordion .accordion-body p:last-child {
    margin-bottom: 0;
}

.epoxy-accordion .accordion-body .text-uppercase {
    margin-top: 17.6px;
    letter-spacing: 0.01em;
}

@media (max-width: 767.98px) {
    .epoxy-accordion .accordion-button {
        padding: 16px;
    }

    .epoxy-accordion .accordion-body {
        padding: 19.2px 16px 21.6px;
    }

    .epoxy-accordion .accordion-body .row {
        --bs-gutter-x: 12px;
        --bs-gutter-y: 16px;
    }

}

/* popup announcement */
.announcement-modal-dialog {
    max-width: min(960px, calc(100% - 24px));
}

.announcement-modal .modal-content {
    background: transparent;
}

.announcement-modal .row>[class*="col-"] {
    min-height: 260px;
}

.announcement-close-btn {
    line-height: 1;
    font-size: 0.875rem;
}

.announcement-copy {
    max-width: 280px;
}

@media (min-width: 992px) {
    .announcement-modal .row>[class*="col-"] {
        min-height: 420px;
    }
}

/* reusable announcement banner */
.announcement-banner .row>[class*="col-"] {
    min-height: 210px;
}

.announcement-banner-copy {
    max-width: 340px;
    line-height: 1.45;
    opacity: 0.9;
}

.announcement-banner-title {
    margin: 0;
    font-size: clamp(1.25rem, 2vw, 2rem);
    font-weight: 500;
    letter-spacing: 0.08em;
}

.announcement-banner-btn {
    padding: 2px 14px;
    font-size: 0.625rem;
    line-height: 1.2;
}

@media (min-width: 992px) {
    .announcement-banner .row>[class*="col-"] {
        min-height: 280px;
    }
}


.video-placeholder img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-placeholder-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    line-height: 1;
}

.video-placeholder {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* instagram icon: brand hover/focus state */
a:hover .bi-instagram,
a:focus .bi-instagram,
a:focus-visible .bi-instagram {
    color: var(--primary-color);
}


/*FOOTER MENU LINKS */

#menu-item-12,
#menu-item-13,
#menu-item-14 {
    list-style: none;
}

#menu-item-12::before {
    content: "/";
    color: #000;
    margin-right: 8px;
}

#menu-item-12::after,
#menu-item-13::after,
#menu-item-14::after {
    content: "/";
    color: #000;
    margin-left: 8px;
}

#menu-item-12 a,
#menu-item-13 a,
#menu-item-14 a,
#menu-item-12 a:hover,
#menu-item-13 a:hover,
#menu-item-14 a:hover,
#menu-item-12 a:focus,
#menu-item-13 a:focus,
#menu-item-14 a:focus,
#menu-item-12 a:visited,
#menu-item-13 a:visited,
#menu-item-14 a:visited {
    color: #000 !important;
    text-decoration: none !important;
}

/*arrow links*/
p.arrow-links a,
p.arrow-links a:visited,
p.arrow-links a:hover,
p.arrow-links a:focus {
    color: var(--primary-color) !important;
    text-decoration: none !important;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
}

p.arrow-links a::after {
    content: "\2192";
    color: var(--black);
    margin-left: 12px;
    font-weight: 400;
    display: inline-block;
}

/* =========================
   navbar desktop
   ========================= */
@media (min-width: 992px) {

    /* contenitore ul del menu desktop */
    .navbar-nav.ramiro-menu-items {
        margin-left: auto !important;
        margin-right: auto !important;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0;
    }

    /* singola voce menu desktop */
    .navbar-nav.ramiro-menu-items>li {
        list-style: none;
        margin: 0;
        padding: 0 18px 0 0;
        position: static !important;
    }

    /* link voce desktop */
    .navbar-nav.ramiro-menu-items>li>a,
    .navbar-nav.ramiro-menu-items>li>a:visited {
        position: relative;
        /* serve per posizionare lo slash */
        display: inline-block;
        color: #6f6f6f !important;
        text-decoration: none !important;
        font-size: 16px;
        line-height: 1.2;
        font-weight: 400;
        text-transform: uppercase;
        letter-spacing: 0;
        padding: 0 22px 0 0;
        /* spazio per lo slash */
        background: transparent !important;
    }

    /* slash tra le voci desktop */
    .navbar-nav.ramiro-menu-items>li:not(:last-child)>a::after {
        content: "/";
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        color: #bcbcbc;
        font-size: 30px;
        font-weight: 300;
        line-height: 1;
        pointer-events: none;
    }

    /* hover/focus/voce corrente desktop */
    .navbar-nav.ramiro-menu-items>li>a:hover,
    .navbar-nav.ramiro-menu-items>li>a:focus,
    .navbar-nav.ramiro-menu-items>li.current-menu-item>a,
    .navbar-nav.ramiro-menu-items>li.current-menu-ancestor>a {
        color: var(--primary-color) !important;
        font-weight: 700;
        text-decoration: none !important;
        background: transparent !important;
    }

    /* reset del titolo interno generato dal walker */
    .navbar-nav.ramiro-menu-items>li>a .menu-title {
        background: transparent !important;
        color: inherit !important;
        font-size: inherit !important;
        font-style: normal !important;
        font-weight: inherit !important;
        padding: 0 !important;
        margin: 0 !important;
        display: inline !important;
    }
}

/* padding alto navbar */
.site-header .navbar {
    padding-top: 35px !important;
}

/* il container navbar è il riferimento del megamenu */
.site-header .container {
    position: relative;
}

/* navbar e lista menu restano statici per non rompere il megamenu */
#navbarNav,
.ramiro-menu-items,
.ramiro-menu-items>li {
    position: static !important;
}

/* =========================
   navbar mobile
   ========================= */
@media (max-width: 991.98px) {

    /* distanza tra logo/hamburger e menu aperto */
    #navbarNav {
        margin-top: 24px;
    }

    /* lista menu mobile in colonna */
    .navbar-nav.ramiro-menu-items {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 22px;
        padding-left: 0;
        margin: 0;
    }

    /* singola voce mobile */
    .navbar-nav.ramiro-menu-items>li {
        width: 100%;
        list-style: none;
        margin: 0;
        padding: 0;
        position: static !important;
    }

    /* niente slash su mobile */
    .navbar-nav.ramiro-menu-items>li>a::after {
        display: none !important;
        content: none !important;
    }

    /* link voce mobile */
    .navbar-nav.ramiro-menu-items>li>a,
    .navbar-nav.ramiro-menu-items>li>a:visited {
        display: block;
        width: 100%;
        padding: 0;
        margin: 0;
        color: #5f6670 !important;
        text-decoration: none !important;
        font-size: 16px;
        line-height: 1.2;
        font-weight: 400;
        text-transform: uppercase;
        letter-spacing: 0;
        background: transparent !important;
    }

    /* hover/focus/voce corrente mobile */
    .navbar-nav.ramiro-menu-items>li>a:hover,
    .navbar-nav.ramiro-menu-items>li>a:focus,
    .navbar-nav.ramiro-menu-items>li.current-menu-item>a,
    .navbar-nav.ramiro-menu-items>li.current-menu-ancestor>a {
        color: var(--primary-color) !important;
        text-decoration: none !important;
        background: transparent !important;
        font-weight: bold;

    }

    /* reset titolo interno walker anche su mobile */
    .navbar-nav.ramiro-menu-items>li>a .menu-title {
        background: transparent !important;
        color: inherit !important;
        font-size: inherit !important;
        line-height: inherit !important;
        font-style: normal !important;
        font-weight: inherit !important;
        padding: 0 !important;
        margin: 0 !important;
        display: inline !important;
    }
}

.home-sections-container {
    max-width: 1450px;
}


/* =========================
   FORM CONTATTI
   ========================= */

/* Contenitore generale del form:
   - centra il blocco
   - aggiunge margine interno sinistra/destra
   - mantiene tutto allineato */
#wpforms-108 {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 50px;
    padding-right: 50px;
    box-sizing: border-box;
}

/* Responsive: riduce il padding laterale su tablet/mobile */
@media (max-width: 768px) {
    #wpforms-108 {
        padding-left: 25px;
        padding-right: 25px;
    }
}

/* Titolo sopra al form:
   lo allineiamo con la stessa gabbia del form */
.entry-content>p:first-of-type {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 28px auto;
    padding-left: 50px;
    padding-right: 50px;
    box-sizing: border-box;

    font-size: 22px;
    font-weight: 400;
    color: #222;
}

/* Responsive anche per il titolo */
@media (max-width: 768px) {
    .entry-content>p:first-of-type {
        padding-left: 25px;
        padding-right: 25px;
    }
}

/* Spazio tra i campi */
#wpforms-108 .wpforms-field {
    margin-bottom: 26px;
    padding: 0;
}

/* Label dei campi */
#wpforms-108 .wpforms-field-label,
#wpforms-108 legend.wpforms-field-label {
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #6b7785 !important;
    margin-bottom: 10px !important;
}

/* Asterisco required */
#wpforms-108 .wpforms-required-label {
    color: #8d2c2c !important;
    font-weight: 400 !important;
}

/* Forza tutti i campi alla stessa larghezza */
#wpforms-108 .wpforms-field-medium,
#wpforms-108 .wpforms-field-large,
#wpforms-108 input[type="text"],
#wpforms-108 input[type="email"],
#wpforms-108 input[type="tel"],
#wpforms-108 textarea {
    width: 100% !important;
    max-width: 100% !important;
}

/* Stile input e textarea */
#wpforms-108 input[type="text"],
#wpforms-108 input[type="email"],
#wpforms-108 input[type="tel"],
#wpforms-108 textarea {
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid #8d2c2c !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 12px 0 !important;
    font-size: 18px !important;
    color: #2b2b2b !important;
    min-height: auto !important;
}

/* Focus */
#wpforms-108 input[type="text"]:focus,
#wpforms-108 input[type="email"]:focus,
#wpforms-108 input[type="tel"]:focus,
#wpforms-108 textarea:focus {
    outline: none !important;
    border: none !important;
    border-bottom: 2px solid #8d2c2c !important;
    box-shadow: none !important;
}

/* Textarea */
#wpforms-108 textarea {
    min-height: 140px !important;
    resize: vertical;
}

/* Checkbox privacy */
#wpforms-108 .wpforms-field-checkbox ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#wpforms-108 .wpforms-field-checkbox li {
    display: flex;
    align-items: center;
    gap: 10px;
}

#wpforms-108 .wpforms-field-checkbox input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
}

#wpforms-108 .wpforms-field-checkbox label {
    font-size: 16px !important;
    color: #6b7785 !important;
    font-weight: 400 !important;
}

/* Link privacy */
#wpforms-108 .wpforms-field-checkbox a {
    color: #2f6fb2;
    text-decoration: underline;
}

/* Contenitore submit */
#wpforms-108 .wpforms-submit-container {
    text-align: center;
    margin-top: 30px !important;
}

/* Bottone invia */
#wpforms-submit-108.wpforms-submit {
    background: #8d2c2c !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    padding: 14px 40px !important;
    line-height: 1 !important;
    min-height: auto !important;
}

#wpforms-submit-108.wpforms-submit:hover,
#wpforms-submit-108.wpforms-submit:focus {
    background: #7c2424 !important;
    color: #fff !important;
}

/* Breadcrumb */
.breadcrumbs-half {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1;
    margin: 0;
    padding: 0;
    background: transparent;
}

/* Reset */
.breadcrumbs-half,
.breadcrumbs-half * {
    background: transparent !important;
    box-shadow: none !important;
}

/* Link Home */
.breadcrumbs-half a {
    color: #666666;
    text-decoration: none;
}

/* Hover */
.breadcrumbs-half a:hover {
    color: #666666;
    text-decoration: underline;
}

/* Separatore */
.breadcrumbs-half .separator {
    color: #666666;
}

/* Pagina corrente */
.breadcrumbs-half .breadcrumb-current {
    color: var(--primary-color);
}

/* Titolo nella versione half */
.page-hero-split-content .page-hero-title {
    color: #000;
    /* Nero */
}

/* Titoli delle sezioni contatti */
.contact-section h4 {
    font-size: 1rem;
    /* Titolo piccolo */
    font-weight: 400;
    /* Peso regolare */
    letter-spacing: 0.08em;
    /* Spaziatura tra lettere */
    text-transform: uppercase;
    /* Tutto maiuscolo */
    margin-bottom: 1rem;
    /* Spazio sotto il titolo */
}

/* Testo descrittivo nelle sezioni contatti */
.contact-section p {
    color: var(--darker);
    /* Grigio chiaro */
}

/* Icona social */
.contact-social i {
    color: #000;
    /* Rende l'icona nera */
    position: relative;
    /* Permette di spostarla */
    top: -25px;
    /* La spinge un po' verso l'alto */
}

/* Hero full width */
.page-hero-full {
    position: relative;
    /* Base per immagine e contenuto */
    min-height: 620px;
    /* Altezza minima come la versione half */
    overflow: hidden;
    /* Nasconde sbordature */
    display: flex;
    /* Permette di allineare il contenuto */
    align-items: flex-end;
    /* Contenuto in basso */
}

/* Wrapper immagine e immagine */
.page-hero-full-media,
.page-hero-full-media img {
    position: absolute;
    /* L'immagine occupa tutta la hero */
    inset: 0;
    /* top/right/bottom/left = 0 */
    width: 100%;
    /* Larghezza piena */
    height: 100%;
    /* Altezza piena */
}

/* Utility immagine */
.object-fit-cover {
    object-fit: cover;
    /* Riempie il contenitore senza deformarsi */
}

/* Contenuto sopra immagine */
.page-hero-full-content {
    position: relative;
    /* Sopra immagine/overlay */
    z-index: 2;
    /* Tiene il testo visibile */
    padding-bottom: 3.5rem;
    /* Distanza dal basso */
    padding-left: 1.5rem;
    /* Respiro a sinistra */
    padding-right: 1.5rem;
    /* Respiro a destra */
}

/* Allarga il blocco testo per evitare 3 righe */
.page-hero-full-content .col-lg-8 {
    max-width: 980px;
    /* Più largo del prima */
}

/* Wrapper breadcrumb */
.page-hero-breadcrumb-full {
    margin-bottom: 0.75rem !important;
    /* Poco spazio sopra il titolo */
    opacity: 0.95;
    /* Leggermente ammorbidito */
}

/* Breadcrumb */
.breadcrumbs-full {
    margin: 0;
    /* Nessun margine */
    padding: 0;
    /* Nessun padding */
    font-size: 0.72rem;
    /* Piccolo come nel mockup */
    font-weight: 400;
    /* Peso regolare */
    line-height: 1;
    /* Riga compatta */
    letter-spacing: 0.01em;
    /* Leggera spaziatura */
    background: transparent;
    /* Nessuno sfondo */
}

/* Reset interno breadcrumb */
.breadcrumbs-full,
.breadcrumbs-full * {
    background: transparent !important;
    /* Rimuove sfondi */
    box-shadow: none !important;
    /* Rimuove ombre */
}

/* Link, separatore e corrente */
.breadcrumbs-full a,
.breadcrumbs-full .separator,
.breadcrumbs-full .breadcrumb-current {
    color: rgba(255, 255, 255, 0.95);
    /* Bianco */
    text-decoration: none;
    /* Niente underline */
}

/* Hover link */
.breadcrumbs-full a:hover {
    color: rgba(255, 255, 255, 0.95);
    /* Mantiene il bianco */
    text-decoration: underline;
    /* Sottolinea hover */
}

/* Titolo */
.page-hero-title {
    font-size: clamp(2.2rem, 3vw, 3.6rem);
    /* Più controllato */
    line-height: 0.95;
    /* Compatto */
    font-weight: 400;
    /* Leggero */
    text-transform: uppercase;
    /* Maiuscolo */
    letter-spacing: 0;
    /* Nessuna spaziatura extra */
    color: #fff;
    /* Bianco */
    max-width: none;
    /* Non limitarlo */
}

/* Mobile */
@media (max-width: 991.98px) {
    .page-hero-full {
        min-height: 420px;
        /* Altezza minima più bassa su mobile */
    }

    .page-hero-full-content {
        padding-bottom: 2rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .page-hero-full-content .col-lg-8 {
        max-width: 100%;
    }

    .page-hero-title {
        font-size: clamp(1.8rem, 8vw, 2.8rem);
    }

    .breadcrumbs-full {
        font-size: 0.68rem;
    }
}

/* Badge 60 anni sotto il testo HEADER HALF CHI SIAMO  */
.page-hero-badge {
    margin-top: 2rem;
}

/* Immagine badge */
.page-hero-badge img {
    max-width: 140px;
    height: auto;
    display: block;
}

/* Contenitore immagini iPox e Rainbox */
.wp-block-image.ipox-section,
.wp-block-image.rainbox-section {
    margin: 0;
    /* Rimuove margini extra */
    overflow: visible;
    /* Non taglia lo zoom */
    text-align: center;
    /* Tiene l'immagine centrata */
}

/* Figure interne */
.wp-block-image.ipox-section figure,
.wp-block-image.rainbox-section figure {
    margin: 0;
    /* Rimuove margini del figure */
    overflow: visible;
    /* Permette allo zoom di uscire */
}

/* Immagini */
.wp-block-image.ipox-section img,
.wp-block-image.rainbox-section img {
    display: inline-block;
    /* Stesso comportamento visivo */
    transition: transform 0.5s ease;
    /* Animazione fluida */
    transform-origin: center center;
    /* Zoom dal centro */
    will-change: transform;
    /* Migliora la resa dell'animazione */
}

/* Hover desktop */
.wp-block-image.ipox-section:hover img,
.wp-block-image.rainbox-section:hover img {
    transform: scale(1.18) translateY(-4px);
    /* Zoom + leggero sollevamento */
}

/* Tap mobile / touch */
.wp-block-image.ipox-section:active img,
.wp-block-image.rainbox-section:active img,
.wp-block-image.ipox-section:focus-within img,
.wp-block-image.rainbox-section:focus-within img {
    transform: scale(1.18) translateY(-4px);
    /* Effetto anche al tocco */
}

/* Contenitore dell'immagine brochure */
.wp-block-image.brochure-card {
    margin: 0;
    /* Rimuove margini extra */
    text-align: center;
    /* Centra l'immagine */
}

/* Blocco immagine brochure */
.wp-block-image.brochure-card {
    margin-bottom: 2rem !important;
    /* Spazio sotto l'immagine */
}

/* Immagine brochure con ombra */
.wp-block-image.brochure-card img {
    display: inline-block;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16);
}

/* Wrapper del bottone */
.wp-block-buttons.brochure-button-wrap {
    margin-top: 2rem !important;
    /* Spazio sopra il bottone */
}

/* Header dell'accordion */
.accordion-title {
    padding-left: 1.5rem;
    /* Stacca il titolo dal bordo sinistro */
}

/* Testo del titolo */
.accordion-title,
.accordion-title * {
    text-decoration: none !important;
    /* Toglie qualsiasi underline */
}

/* Riga interna dell'accordion */
.wp-block-accordion-panel .wp-block-columns {
    align-items: center;
    /* Centra verticalmente tutte le colonne */
}

/* Colonna immagine */
.accordion-image {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Colonna descrizione */
.accordion-description {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 2rem;
    /* invece di margin-top */
}

/* Colonna icone dell'accordion */
.accordion-icon {
    display: flex;
    /* Usa flexbox */
    flex-direction: column;
    /* Mette gli elementi uno sotto l'altro */
    align-items: center;
    /* Li centra orizzontalmente */
    justify-content: center;
    /* Li centra verticalmente */
    gap: 0.75rem;
    /* Spazio tra le due icone */
    height: 100%;
    /* Occupa tutta l'altezza disponibile */
}

/* Blocco immagine */
.accordion-image .wp-block-image {
    margin-top: 2rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wp-block-accordion {
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.14);
    background: #fff;
    overflow: hidden;
}

/* Wrapper generale accordion */
.wp-block-accordion {
    background: transparent;
    /* Nessuno sfondo generale */
    gap: 0 !important;
    /* Nessun gap tra gli item */
    box-shadow: none;
    /* Nessuna ombra generale */
}

/* Singolo item accordion */
.wp-block-accordion-item {
    margin: 0 !important;
    /* Nessun margine tra item */
    border: 1px solid #d9d9d9 !important;
    /* Bordo grigio sottile */
    background: #fff !important;
    /* Sfondo bianco da chiuso */
    box-shadow: none !important;
    /* Nessuna ombra */
}

/* Fa combaciare i bordi tra un item e il successivo */
.wp-block-accordion-item+.wp-block-accordion-item {
    margin-top: -1px !important;
    /* Evita doppio bordo/spazio */
}

/* Header / bottone da chiuso */
.wp-block-accordion-item button,
.wp-block-accordion-heading,
.wp-block-accordion-header,
.wp-block-accordion-item h3 {
    background: #fff !important;
    /* Bianco da chiuso */
    margin: 0 !important;
    /* Nessun margine */
    border: 0 !important;
    /* Nessun bordo interno */
    box-shadow: none !important;
    /* Nessuna ombra */
}

/* Header / bottone da aperto */
.wp-block-accordion-item.is-open button,
.wp-block-accordion-item[open] button,
.wp-block-accordion-item.is-open .wp-block-accordion-heading,
.wp-block-accordion-item[open] .wp-block-accordion-heading,
.wp-block-accordion-item.is-open .wp-block-accordion-header,
.wp-block-accordion-item[open] .wp-block-accordion-header,
.wp-block-accordion-item.is-open h3,
.wp-block-accordion-item[open] h3 {
    background: #e6dada !important;
    /* Rosa da aperto */
}

/* Il contenuto interno del pannello aperto resta bianco */
.wp-block-accordion-panel {
    background: #fff !important;
    /* Contenuto sempre bianco */
    margin: 0 !important;
    /* Nessun margine */
    border: 0 !important;
    /* Nessun bordo interno */
    box-shadow: none !important;
    /* Nessuna ombra */
}

/* Anche il wrapper interno del pannello resta bianco */
.wp-block-accordion-panel * {
    background-color: transparent;
    /* Evita sfondi strani interni */
}

/* Icona toggle dell'accordion da chiuso e aperto*/
.wp-block-accordion-heading__toggle-icon {
    color: var(--secondary-color);
    /* Rosa acceso */
}

/* Solo su mobile */
@media (max-width: 781px) {

    /* Colonna icone dell'accordion */
    .accordion-icon {
        display: flex;
        /* Attiva flexbox */
        flex-direction: row;
        /* Mette le icone sulla stessa riga */
        justify-content: center;
        /* Le centra orizzontalmente */
        align-items: center;
        /* Le centra verticalmente */
        gap: 1rem;
        /* Spazio tra un'icona e l'altra */
    }

    /* Immagini dentro la colonna icone */
    .accordion-icon img {
        display: block;
        /* Evita spazi strani */
    }

    /* Colonna descrizione su mobile */

    .accordion-description {
        padding-left: 1.5rem;
        /* Più aria da sinistra */
    }
}

/* Contenitore immagine */
.psm-entry-thumbnail,
.psm-image-wrapper,
.psm-post-image {
    overflow: visible !important;
    /* Non taglia lo zoom */
}

/* Immagini della griglia */
img.psm-img.wp-post-image {
    border-radius: 0 !important;
    /* Niente angoli arrotondati */
    transition: transform 0.45s ease;
    /* Movimento fluido */
    transform-origin: center center;
    /* Zoom dal centro */
    display: block;
    /* Evita spazi strani */
}

/* Hover */
img.psm-img.wp-post-image:hover {
    transform: scale(1.08);
    /* Leggero zoom */
}


/*CARD LASTRE DI MARMO */

/* Link card */
a.rpm-card {
    display: block;
    /* La card occupa tutto il blocco */
    text-decoration: none;
    /* Nessuna sottolineatura */
    color: inherit;
    /* Eredita il colore corretto */
}

/* Card */
a.rpm-card .card {
    border: 0 !important;
    /* Nessun bordo Bootstrap */
    border-radius: 0 !important;
    /* Nessun arrotondamento */
    box-shadow: none !important;
    /* Nessuna ombra */
    background: #fff;
    /* Sfondo bianco */
    overflow: visible !important;
}

/* Wrapper immagine */
a.rpm-card .rpm-img-wrapper {
    height: 250px;
    /* Altezza fissa */
    overflow: hidden;
    /* Lo zoom resta pulito */
    margin-bottom: 0 !important;
    /* Niente spazio bianco sotto l'immagine */
}

/* Immagine */
a.rpm-card .rpm-img-wrapper img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
    /* Zoom morbido */
}

/* Corpo card */
a.rpm-card .card-body {
    display: flex;
    /* Titolo e + sulla stessa riga */
    align-items: center;
    /* Centrati verticalmente */
    justify-content: space-between;
    /* Titolo a sinistra, + a destra */
    text-align: left !important;
    /* Forza il left */
    margin-top: 0 !important;
    /* Nessuno spazio sopra */
    padding: 1rem 1.5rem !important;
    /* Fascia piena */
    background: #fff;
    /* Stato normale bianco */
    border-bottom: 4px solid var(--primary-color);
    /* Riga bordeaux normale */
    transition: background 0.3s ease, color 0.3s ease;
}

/* Titolo */
a.rpm-card .card-title {
    margin: 0 !important;
    font-size: 1.1rem;
    font-weight: 400 !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1f1f1f;
    /* Nero/grigio scuro */
    text-align: left !important;
    /* Titolo a sinistra */
    transition: color 0.3s ease;
}

/* + a destra */
a.rpm-card .card-body::after {
    content: "+";
    font-size: 2.4rem;
    line-height: 1;
    color: var(--primary-color);
    /* Bordeaux stato normale */
    transition: color 0.3s ease;
}

/* Hover immagine */
a.rpm-card:hover .rpm-img-wrapper img {
    transform: scale(1.05);
    /* Leggero zoom */
}

/* Hover fascia */
a.rpm-card:hover .card-body {
    background: var(--secondary-color);
    /* Rosa pieno */
    border-bottom: 0 !important;
    /* No  riga rossa sotto in hover */
}

/* Hover titolo */
a.rpm-card:hover .card-title {
    color: #000;
    font-weight: 700 !important;
    /* Bold in hover */
}

/* Hover + */
a.rpm-card:hover .card-body::after {
    color: #000;
    /* Nero */
}


/* ===== griglia servizi ===== */
.wp-block-columns.services-grid {
    gap: 0 !important;
    margin: 0 !important;
}

.wp-block-columns.services-grid>.wp-block-column {
    margin: 0 !important;
    padding: 0 !important;
}

/* ===== tile immagine ===== */
.services-grid .service-tile {
    position: relative;
    display: block;
    margin: 0 !important;
    overflow: hidden;
    cursor: pointer;
}

.services-grid .service-tile img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 0 !important;
    transition: transform 0.4s ease, filter 0.3s ease;
    filter: brightness(0.9);
}

/* overlay */
.services-grid .service-tile::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.08);
    z-index: 1;
    pointer-events: none;
    transition: background 0.3s ease;
}

/* + sempre visibile */
.services-grid .service-tile::before {
    content: "+";
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    z-index: 3;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.95);
    color: #000;
    font-size: 2rem;
    line-height: 1;
    pointer-events: none;
}

/* testo hover sulle colonne */
.services-grid>.wp-block-column {
    position: relative;
    overflow: hidden;
}

.services-grid>.wp-block-column:nth-child(1)::before,
.services-grid>.wp-block-column:nth-child(2)::before,
.services-grid>.wp-block-column:nth-child(3)::before {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 4;
    color: #fff;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.2;
    text-align: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.services-grid>.wp-block-column:nth-child(1)::before {
    content: "Stone showroom";
}

.services-grid>.wp-block-column:nth-child(2)::before {
    content: "Logistica per conto di terzi";
}

.services-grid>.wp-block-column:nth-child(3)::before {
    content: "Marmoreal";
}

/* hover */
.services-grid>.wp-block-column:hover .service-tile img {
    transform: scale(1.05);
    filter: brightness(0.58);
}

.services-grid>.wp-block-column:hover .service-tile::after {
    background: rgba(0, 0, 0, 0.18);
}

.services-grid>.wp-block-column:hover::before {
    opacity: 1;
}

/* mobile */
@media (max-width: 781px) {

    .services-grid>.wp-block-column:nth-child(1)::before,
    .services-grid>.wp-block-column:nth-child(2)::before,
    .services-grid>.wp-block-column:nth-child(3)::before {
        font-size: 1rem;
        white-space: normal;
        max-width: 80%;
    }

    .services-grid .service-tile::before {
        right: 0.75rem;
        bottom: 0.75rem;
        width: 30px;
        height: 30px;
        font-size: 1.8rem;
    }
}

/* Link servizio */
.link-service-underline {
    text-decoration: none;
    /* Toglie la sottolineatura */
    color: var(--primary-color);
    /* Colore primary */
}

/* Hover */
.link-service-underline:hover {
    text-decoration: none;
    /* Resta senza underline */
    color: var(--primary-color);
    /* Mantiene il primary */
}

/* PAGINA PRODOTTO - immagine principale */
.product-main-image,
.product-main-image.rounded,
.product-main-image.overflow-hidden {
    border-radius: 0 !important;
    /* Rimuove gli angoli arrotondati */
    overflow: visible !important;
    /* Evita che lo zoom venga tagliato */
}

/* PAGINA PRODOTTO - immagine principale del prodotto */
.product-main-image img.wp-post-image {
    border-radius: 0 !important;
    /* Forza border radius a zero */
    display: block;
    /* Evita spazi bianchi sotto l'immagine */
    transition: transform 0.45s ease;
    /* Rende lo zoom fluido */
    transform-origin: center center;
    /* Lo zoom parte dal centro */
}

/* PAGINA PRODOTTO - hover immagine principale */
.product-main-image:hover img.wp-post-image {
    transform: scale(1.06);
    /* Leggero zoom in hover */
}

/* Effetto hover zoom per le icone della sezione servizi
   della pagina "Logistica per terzi" */

.tpl-icon-item img {
    transition: transform 0.3s ease;
    /* rende fluido l'effetto zoom */
}

.tpl-icon-item:hover img {
    transform: scale(1.15);
    /* ingrandisce l'icona del 15% quando passi il mouse */
}

/*LOGISTICA PER TERZI
   Effetto zoom immagine al passaggio mouse
   Senza taglio (overflow visible)*/

/* Permette all'immagine di non essere tagliata */
.wp-block-column,
.wp-block-image {
    overflow: visible;
}

/* Transizione fluida per l'effetto zoom */
.wp-block-image img {
    transition: transform 0.4s ease;
    /* animazione morbida */
    transform-origin: center;
    /* zoom dal centro */
}

/* Effetto hover: ingrandisce l'immagine */
.wp-block-image:hover img {
    transform: scale(1.05);
    /* zoom del 15% */
}

/* perchè scegliere noi: aggiunge bordo di 1px usando il colore primario del tema */
.border-box {
    border: 2px solid var(--primary-color);
    padding: 20px;
}

/* perché scegliere noi - card cover */
.wp-block-cover {
    position: relative;
    /* serve per posizionare l'overlay custom sopra la card */
    justify-content: flex-start;
    /* porta il contenuto in alto */
    align-items: flex-start;
    /* porta il contenuto a sinistra */
    overflow: hidden;
    /* nasconde lo zoom che esce dai bordi */
    min-height: 700px;
    /* altezza minima della card */
}

/* perché scegliere noi - immagine di sfondo */
.wp-block-cover__image-background {
    transition: transform 0.45s ease;
    /* rende fluido lo zoom */
    transform-origin: center center;
    /* lo zoom parte dal centro */
}

/* perché scegliere noi - hover immagine */
.wp-block-cover:hover .wp-block-cover__image-background {
    transform: scale(1.06);
    /* zoom standardizzato */
}

/* perché scegliere noi - nasconde l'overlay nativo di gutenberg */
.wp-block-cover__background {
    display: none;
    /* nasconde il layer di sfondo originale del cover */
}

/* perché scegliere noi - overlay custom con gradiente */
.wp-block-cover::before {
    content: "";
    /* crea un layer vuoto sopra l'immagine */
    position: absolute;
    /* lo posiziona sopra tutta la card */
    inset: 0;
    /* copre tutta la card: top right bottom left a 0 */
    z-index: 1;
    /* sta sopra l'immagine ma sotto il testo */
    background: linear-gradient(to bottom,
            /* sfumatura dall'alto verso il basso */
            rgba(0, 0, 0, 0.95) 0%,
            /* nero quasi pieno in alto */
            rgba(0, 0, 0, 0.82) 18%,
            /* ancora molto scuro */
            rgba(0, 0, 0, 0.52) 42%,
            /* si alleggerisce a metà */
            rgba(0, 0, 0, 0.18) 72%,
            /* quasi trasparente più in basso */
            rgba(0, 0, 0, 0) 100%
            /* trasparente in fondo */
        );
    pointer-events: none;
    /* non blocca click o hover */
}

/* perché scegliere noi - contenitore testo */
.wp-block-cover .wp-block-cover__inner-container {
    width: 100%;
    /* occupa tutta la larghezza */
    max-width: none;
    /* rimuove eventuali limiti di larghezza */
    margin: 0;
    /* toglie margini automatici */
    padding: 34px 26px;
    /* spazio interno alto/sotto e lati */
    display: flex;
    /* attiva flexbox */
    flex-direction: column;
    /* elementi uno sotto l'altro */
    justify-content: flex-start;
    /* contenuto in alto */
    align-items: flex-start;
    /* contenuto a sinistra */
    text-align: left;
    /* testo allineato a sinistra */
    position: relative;
    /* serve per z-index */
    z-index: 2;
    /* mette il testo sopra overlay e immagine */
}

/* perché scegliere noi - tutti gli elementi interni */
.wp-block-cover .wp-block-cover__inner-container>* {
    margin-left: 0;
    /* niente margine sinistro automatico */
    margin-right: 0;
    /* niente margine destro automatico */
    text-align: left;
    /* testo sempre a sinistra */
    align-self: flex-start;
    /* evita centrature strane */
    max-width: 420px;
    /* limita la larghezza del testo */
}

/* perché scegliere noi - paragrafi */
.wp-block-cover .wp-block-cover__inner-container p {
    margin: 0;
    /* rimuove margini standard dei p */
    text-align: left;
    /* forza allineamento a sinistra */
    color: #fff;
    /* testo bianco */
}

/* perché scegliere noi - primo paragrafo = titolo */
.wp-block-cover .wp-block-cover__inner-container p:first-child {
    margin-bottom: 24px;
    /* spazio tra titolo e descrizione */
}

/* perché scegliere noi - mobile */
@media (max-width: 767.98px) {
    .wp-block-cover {
        min-height: 520px;
        /* abbassa l’altezza card su mobile */
    }

    .wp-block-cover .wp-block-cover__inner-container {
        padding: 26px 20px;
        /* padding più stretto su mobile */
    }

    .wp-block-cover .wp-block-cover__inner-container>* {
        max-width: 320px;
        /* testo più stretto su mobile */
    }

    .wp-block-cover .wp-block-cover__inner-container p:first-child {
        margin-bottom: 18px;
        /* meno spazio sotto */
    }
}

/* galleria about us */
.about-us-gallery-media {
    width: 140%;
    /* allarga il carosello per far sembrare più grande l'immagine */
    max-width: none;
    /* rimuove il limite massimo di larghezza */
    margin: 0 auto;
    /* centra il blocco */
    overflow: hidden;
    /* nasconde le slide laterali */

}

/* contenitore interno slide */
.about-us-gallery-media .carousel-inner {
    width: 100%;
    /* occupa tutta la larghezza del carosello */
    overflow: visible;
    /* non taglia lo zoom */
}

/* singola slide */
.about-us-gallery-media .carousel-item {
    width: 100%;
    /* ogni slide prende tutta la larghezza */
    overflow: visible;
    /* non taglia lo zoom */
    text-align: center;
    /* centra l'immagine */
}

/* immagine galleria */
.about-us-gallery-image {
    display: block;
    /* evita spazi strani */
    margin: 0 auto;
    /* centra l'immagine */
    width: 100%;
    /* prende tutta la larghezza disponibile */
    height: auto;
    /* mantiene la proporzione */
    object-fit: cover;
    /* riempie di più lo spazio visivo */
    transition: transform 0.45s ease;
    /* zoom fluido */
    transform-origin: center center;
    /* zoom dal centro */
}

/* hover immagine */
.about-us-gallery-image:hover {
    transform: scale(1.10);
    /* leggero zoom */
}

/* paginazione sotto il carosello */
.gallery-pagination {
    width: 100%;
    /* prende tutta la larghezza */
    display: flex;
    /* layout flessibile */
    justify-content: center;
    /* centra i numeri */
    align-items: center;
    /* allinea verticalmente */
    gap: 0.15rem;
    /* spazio ridotto tra numeri e frecce */
    padding-left: 0;
    /* toglie rientro ul */
    list-style: none;
    /* toglie pallini */
}

/* singolo elemento paginazione */
.gallery-pagination .page-item {
    margin: 0;
    /* niente margini extra */
}

/* bottone paginazione */
.gallery-pagination-link {
    border: 0;
    /* toglie bordo bootstrap */
    background: transparent;
    /* sfondo trasparente */
    color: #6c757d;
    /* grigio inattivo */
    min-width: 34px;
    /* larghezza più compatta */
    min-height: 34px;
    /* altezza più compatta */
    padding: 0;
    /* niente padding extra */
    display: inline-flex;
    /* centra il contenuto */
    align-items: center;
    /* centratura verticale */
    justify-content: center;
    /* centratura orizzontale */
    border-radius: 0;
    /* niente arrotondamento */
    box-shadow: none;
    /* niente ombre */
}

/* stato attivo */
.gallery-pagination-link.active {
    background: #813030;
    /* bordeaux */
    color: #fff;
    /* testo bianco */
}

/* hover */
.gallery-pagination-link:hover {
    background: transparent;
    /* nessun fondo in hover */
    color: #813030;
    /* bordeaux in hover */
}

/* hover sul bottone attivo */
.gallery-pagination-link.active:hover {
    background: #813030;
    /* mantiene il bordeaux */
    color: #fff;
    /* mantiene il bianco */
}

/* desktop: spostamento a destra */
@media (min-width: 992px) {
    .about-us-gallery-media {
        transform: translateX(150px);
        /* regola questo valore */
    }
}

/* mobile */
@media (max-width: 991.98px) {
    .about-us-gallery-media {
        width: 100%;
        /* su mobile torna normale */
        transform: none;
        /* niente spostamento su tablet/mobile */
    }
}

/* galleria epoxy */
.epoxy-gallery-media {
    width: 200%;
    /* più grande */
    max-width: none;
    /* nessun limite */
    margin: 0 auto;
    /* centra il blocco */
    overflow: hidden;
    /* nasconde le slide laterali */

}

/* contenitore interno slide */
.epoxy-gallery-media .carousel-inner {
    width: 100%;
    overflow: visible;
}

/* singola slide */
.epoxy-gallery-media .carousel-item {
    width: 100%;
    overflow: visible;
    text-align: center;
}

/* immagine galleria */
.epoxy-gallery-media .carousel-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* paginazione */
.gallery-pagination {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.15rem;
    padding-left: 0;
    list-style: none;
}

.gallery-pagination .page-item {
    margin: 0;
}

.gallery-pagination-link {
    border: 0;
    background: transparent;
    color: #6c757d;
    min-width: 34px;
    min-height: 34px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    box-shadow: none;
}

.gallery-pagination-link.active {
    background: #813030;
    color: #fff;
}

.gallery-pagination-link:hover {
    background: transparent;
    color: #813030;
}

.gallery-pagination-link.active:hover {
    background: #813030;
    color: #fff;
}

/* mobile */
@media (max-width: 991.98px) {
    .epoxy-gallery-media {
        width: 100%;
        /* su mobile torna normale */
        transform: none;
        /* niente spostamento su tablet/mobile */
    }
}

/* standardizzazione buttons */

/* wrapper gutenberg */
.wp-block-button.standard-buttons {
    width: auto;
    min-width: max-content;
}

/* annulla eventuale width custom di gutenberg */
.wp-block-button.standard-buttons.wp-block-button.width-25,
.wp-block-button.standard-buttons.has-custom-width {
    width: auto !important;
}

/* bottone standard */
.wp-block-button.standard-buttons .wp-block-button__link,
#wpforms-submit-108.wpforms-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: max-content !important;
    min-height: auto !important;

    padding: 0.68rem 0.95rem !important;

    background-color: var(--primary-color) !important;
    border: 1px solid var(--primary-color) !important;
    color: var(--white) !important;

    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.09em !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    word-break: normal !important;

    border-radius: 0 !important;
    box-shadow: none !important;
    appearance: none !important;

    transform: translateY(0) scale(1) !important;

    transition:
        background-color 0.28s ease,
        border-color 0.28s ease,
        color 0.28s ease,
        box-shadow 0.32s ease,
        transform 0.32s ease !important;
}

/* hover */
.wp-block-button.standard-buttons .wp-block-button__link:hover,
#wpforms-submit-108.wpforms-submit:hover {
    background-color: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
    color: var(--white) !important;
    text-decoration: none !important;

    transform: translateY(-1px) scale(1.02) !important;
    box-shadow: 0 6px 14px rgba(129, 48, 48, 0.18) !important;
}

/* focus */
.wp-block-button.standard-buttons .wp-block-button__link:focus,
#wpforms-submit-108.wpforms-submit:focus {
    outline: 0 !important;
    box-shadow: 0 0 0 0.25rem rgba(129, 48, 48, 0.22) !important;
}

/* active */
.wp-block-button.standard-buttons .wp-block-button__link:active,
#wpforms-submit-108.wpforms-submit:active {
    background-color: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
    color: var(--white) !important;
    box-shadow: none !important;
    transform: translateY(0) scale(0.995) !important;
}

/* GALLERIA PRODOTTI */
#productGalleryCarousel {
    max-width: 1110px !important;
    width: 100% !important;
    margin: 0 auto !important;
}

/* toglie il ratio quadrato di bootstrap */
#productGalleryCarousel .carousel-inner.ratio {
    --bs-aspect-ratio: auto !important;
}

#productGalleryCarousel .carousel-inner::before {
    display: none !important;
    content: none !important;
}

/* area visiva gallery */
#productGalleryCarousel .carousel-inner,
#productGalleryCarousel .carousel-item {
    width: 100% !important;
    height: 650px !important;
}

/* immagine */
#productGalleryCarousel .product-gallery-image,
#productGalleryCarousel .carousel-item img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
}

/* =========================
   blocco lingue - desktop
   ========================= */

header li.wpml-ls-slot-2.wpml-ls-item {
    display: inline-block;
    white-space: nowrap;
    vertical-align: middle;
    color: #8a8a8a !important;
}

header li.wpml-ls-slot-2.wpml-ls-first-item {
    margin-left: 18px !important;
}

header li.wpml-ls-slot-2.wpml-ls-first-item::before {
    content: "\f0ac";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 11px;
    color: #6f6f6f;
}

header li.wpml-ls-slot-2 a,
header li.wpml-ls-slot-2 a span {
    color: #8a8a8a !important;
    transition: color 0.2s ease;
}

header li.wpml-ls-slot-2 a:hover,
header li.wpml-ls-slot-2 a:hover span,
header li.wpml-ls-slot-2 a:focus,
header li.wpml-ls-slot-2 a:focus span,
header li.wpml-ls-current-language a,
header li.wpml-ls-current-language a span {
    color: #000 !important;
}


/* =========================
   mobile
   ========================= */

@media (max-width: 991.98px) {

    /* contenitore menu mobile */
    .navbar-nav.ramiro-menu-items {
        display: block !important;
        text-align: left !important;
    }

    /* voci menu una sotto l'altra con spazio raddoppiato */
    .navbar-nav.ramiro-menu-items>li {
        display: block !important;
        width: 100% !important;
        margin-bottom: 16px !important;
        text-align: left !important;
    }

    /* link menu con un po' più respiro */
    .navbar-nav.ramiro-menu-items>li>a,
    .navbar-nav.ramiro-menu-items>li>a:visited {
        line-height: 1.25 !important;
        text-align: left !important;
    }

    /* blocco lingue */
    .navbar-nav.ramiro-menu-items>li.wpml-ls-item-en,
    .navbar-nav.ramiro-menu-items>li.wpml-ls-item-it {
        display: inline-flex !important;
        align-items: center !important;
        width: auto !important;
        margin-bottom: 0 !important;
        white-space: nowrap !important;
        vertical-align: middle !important;
        text-align: left !important;
        color: #8a8a8a !important;
        float: none !important;
        line-height: 1 !important;
        position: relative !important;
        top: 0 !important;
    }

    /* stacco sopra al blocco lingue */
    .navbar-nav.ramiro-menu-items>li.wpml-ls-item-en {
        margin-top: 20px !important;
        margin-right: 0 !important;
        padding-right: 0 !important;
    }

    /* reset it per evitare disallineamenti */
    .navbar-nav.ramiro-menu-items>li.wpml-ls-item-it {
        margin-left: 0 !important;
        padding-left: 0 !important;
        top: 0 !important;
    }

    /* primo item lingua senza spazi laterali */
    .navbar-nav.ramiro-menu-items>li.wpml-ls-slot-2.wpml-ls-first-item {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* link lingua allineati */
    .navbar-nav.ramiro-menu-items>li.wpml-ls-item-en>a,
    .navbar-nav.ramiro-menu-items>li.wpml-ls-item-it>a,
    .navbar-nav.ramiro-menu-items>li.wpml-ls-item-en>a:visited,
    .navbar-nav.ramiro-menu-items>li.wpml-ls-item-it>a:visited,
    .navbar-nav.ramiro-menu-items>li.wpml-ls-item-en>a>span,
    .navbar-nav.ramiro-menu-items>li.wpml-ls-item-it>a>span {
        display: inline-flex !important;
        align-items: center !important;
        width: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        line-height: 1 !important;
        text-align: left !important;
        color: #8a8a8a !important;
        vertical-align: middle !important;
        position: relative !important;
        top: 0 !important;
    }

    /* slash tra en e it */
    .navbar-nav.ramiro-menu-items>li.wpml-ls-item-en::after {
        content: " / ";
        display: inline-flex !important;
        align-items: center !important;
        margin: 0 2px !important;
        color: #8a8a8a !important;
        line-height: 1 !important;
        position: relative !important;
        top: 0 !important;
    }

    /* rimuove eventuale pseudo-elemento prima di it */
    .navbar-nav.ramiro-menu-items>li.wpml-ls-item-it::before {
        content: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* globo grigio */
    .navbar-nav.ramiro-menu-items>li.wpml-ls-slot-2.wpml-ls-first-item::before {
        content: "\f0ac";
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        margin-right: 11px;
        color: #6f6f6f;
        line-height: 1 !important;
        position: relative !important;
        top: 0 !important;
    }

    /* hover nero e lingua attiva nera */
    .navbar-nav.ramiro-menu-items>li.wpml-ls-item-en>a:hover,
    .navbar-nav.ramiro-menu-items>li.wpml-ls-item-it>a:hover,
    .navbar-nav.ramiro-menu-items>li.wpml-ls-item-en>a:hover span,
    .navbar-nav.ramiro-menu-items>li.wpml-ls-item-it>a:hover span,
    .navbar-nav.ramiro-menu-items>li.wpml-ls-item-en>a:focus,
    .navbar-nav.ramiro-menu-items>li.wpml-ls-item-it>a:focus,
    .navbar-nav.ramiro-menu-items>li.wpml-ls-current-language>a,
    .navbar-nav.ramiro-menu-items>li.wpml-ls-current-language>a span {
        color: #000 !important;
    }

    .navbar-nav.ramiro-menu-items>li.wpml-ls-item-it {
        transform: translateY(10px) !important;
    }

}


.gallery-pagination li .page-link,
.gallery-pagination li button,
.gallery-pagination li a {
    color: #999;
}

.gallery-pagination li,
.gallery-pagination li a,
.gallery-pagination li button,
.gallery-pagination li span {
    background: transparent !important;
    color: #7b848c !important;
    border: 0;
    box-shadow: none;
}

.gallery-pagination li.active,
.gallery-pagination li.active a,
.gallery-pagination li.active button,
.gallery-pagination li.active span {
    background: #8f2f2f !important;
    color: #fff !important;
    font-weight: 700;
}

li.link-footer {
    list-style: none !important;
    display: inline-block !important;
}

li.link-footer>a {
    display: inline-block !important;
    color: #000 !important;
    text-decoration: none !important;
}

li.link-footer:first-child>a::before {
    content: "/";
    color: #000;
    margin-right: 8px;
}

li.link-footer>a::after {
    content: "/";
    color: #000;
    margin-left: 8px;
}

li.link-footer>a:hover,
li.link-footer>a:focus,
li.link-footer>a:visited {
    color: #000 !important;
    text-decoration: none !important;
}

@media (max-width: 768px) {
    .auto-reveal-on-scroll {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        transition: none !important;
    }
}
