@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&family=Outfit:wght@400;700;800&display=swap');
@import url('checkout.css');

html,
body {
    overflow-x: hidden;
    width: 100%;
    background-color: #fff !important;
    color: #333 !important;
}

#wrapper {
    padding-top: 1.563rem;
    background: #fff;
}

:root {
    /* Design Tokens - Original Agorajeux */
    --color-turquoise: #38bdf8;
    --color-green: #34d399;
    --color-yellow: #fbbf24;
    --color-red: #f87171;
    --color-red-dark: #ef4444;
    --color-text-main: #1e293b;
    --color-text-muted: #64748b;
    --color-bg-light: #f8fafc;
    --color-border: #e2e8f0;

    /* New Agorajeux Mockup Design Tokens */
    --primary-color: #cda756;
    --secondary-color: #f5f5f5;
    --text-color: #333;
    --price-orange: #ff6a4e;
    --breadcrumb-gold: #fdf2d0;
    --breadcrumb-text: #bd8a1e;
    --badge-cyan: #46e2d1;

    /* Mockup Variables (Harmonized) */
    --primary-teal: var(--color-turquoise);
    --primary-orange: var(--color-yellow);
    --dark-orange: #d9992b;
    --text-dark: var(--color-text-main);
    --white: #ffffff;
    /* Original white */
    --badge-red: var(--color-red-dark);
    --badge-green: var(--color-green);
    --badge-blue: linear-gradient(to right, #489ff8, #2dd3a3);
    /* Original badge blue */
    --font-main: 'Inter', sans-serif;
    --font-heading: 'Outfit', sans-serif;
}

/* --- Product card --- */
.product-card {
    border-radius: var(--radius-md, 8px);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.12));
    transition: box-shadow var(--transition, 150ms ease-in-out);
}

/* --- Add to cart button --- */
.btn-add-to-cart {
    background-color: var(--color-accent, #E94560);
    color: var(--color-white, #fff);
    border-radius: var(--radius-sm, 4px);
    font-weight: var(--font-weight-bold, 700);
    transition: background-color var(--transition, 150ms ease-in-out);
}

.btn-add-to-cart:hover {
    background-color: var(--color-accent-hover, #C73652);
}

/* --- Badges --- */
.product-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: var(--radius-full, 9999px);
    font-size: var(--font-size-sm, 0.875rem);
    font-weight: var(--font-weight-bold, 700);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.product-badge--new {
    background: var(--color-success, #28A745);
    color: #fff;
}

.product-badge--sale {
    background: var(--color-accent, #E94560);
    color: #fff;
}

.product-badge--hot {
    background: var(--color-warning, #FFC107);
    color: #212529;
}

/* =========================================================================
   NEW PRODUCT MINIATURE DESIGN (Agorajeux Mockup)
   ========================================================================= */

.product-miniature {
    background: #fff;
    border-radius: 12px;
    padding: 1rem;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    text-align: center;
    font-family: 'Inter', sans-serif;
}

.product-miniature:hover {
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.thumbnail-container {
    display: flex;
    flex-direction: column;
    /* height: 100%; */
}

/* Badge Nouveau flottant */
.badge-new {
    position: absolute;
    top: 10px;
    left: 0px;
    background: var(--color-yellow);
    color: #fff;
    font-weight: 800;
    font-size: 0.7rem;
    padding: 4px 12px;
    border-radius: 0 12px 12px 0;
    z-index: 2;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
    box-shadow: 0 2px 4px rgba(251, 191, 36, 0.4);
}

.product-thumbnail {
    display: block;
    margin-bottom: 1rem;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-thumbnail img {
    max-height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.product-miniature:hover .product-thumbnail img {
    transform: scale(1.05);
}

/* Product Info */
.product-description {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.product-title {
    margin: 0 0 0.75rem 0;
    font-size: 1rem;
}

#search_filters,
#search_filters_brands,
#search_filters_suppliers {
    padding: 0 1.25rem;
}

#search_filters>.h6,
#search_filters_brands>.h6,
#search_filters_suppliers>.h6 {
    height: 101px;
    width: 230px;
    text-align: center;
    color: #fff;
    font-weight: 600;
    padding-bottom: 30px;
    background-image: url(../img/mask-group.png);
    background-size: contain;
    /* background-position: center bottom; */
    background-repeat: no-repeat;
    margin-left: -20px;
    margin-right: -20px;
    padding-top: 10px;
    /* padding: 80px; */
    /* background-position-y: center; */
    font-size: 18px;
}

.product-title a {
    color: #000;
    text-decoration: none;
    font-family: 'Outfit', sans-serif;
    font-weight: 800;
    letter-spacing: 0.5px;
}

.product-title a:hover {
    color: var(--color-turquoise);
}

/* Badges Info Row */
.product-badges-info {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 0.5rem;
}

.badge-stock {
    font-size: 0.65rem;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 12px;
    color: #fff;
}

.badge-stock.in-stock {
    background-color: var(--color-turquoise);
}

.badge-stock.warning {
    background-color: var(--color-yellow);
}

.badge-stock.out-of-stock {
    background-color: var(--color-red);
}

.badge-feature {
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--color-turquoise);
    padding: 3px 8px;
    border-radius: 12px;
    border: 1px solid var(--color-turquoise);
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: rgba(56, 189, 248, 0.05);
}

.icon-small {
    width: 12px;
    height: 12px;
}

/* Players Info */
.product-players {
    color: var(--color-turquoise);
    font-size: 0.75rem;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    margin-bottom: 0.5rem;
}

/* Short Description */
.product-description-short {
    font-size: 0.8rem;
    color: var(--color-text-muted);
    line-height: 1.4;
    margin-bottom: 1rem;
    flex-grow: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Prices */
.product-price-and-shipping {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: auto;
    gap: 2px;
}

.product-discount-badge {
    background: #fecaca;
    color: var(--color-red-dark);
    font-size: 0.65rem;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 4px;
    display: inline-block;
    margin-bottom: 2px;
}

.regular-price {
    text-decoration: line-through;
    color: var(--color-text-muted);
    font-size: 0.8rem;
    font-weight: 500;
}

.price {
    color: var(--color-red-dark);
    font-size: 1.25rem;
    font-weight: 800;
}

.price sup {
    font-size: 0.65rem;
    font-weight: 700;
    margin-left: 2px;
}

/* Base Styles harmonized for PrestaShop */
body {
    font-family: var(--font-main);
    color: var(--color-text-main);
}

h1,
h2,
h3,
.h1,
.h2,
.h3 {
    font-family: var(--font-heading);
}

/* --- Header Styles --- */
.main-header {
    border-bottom: 4px solid var(--primary-teal);
}

.top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0;
}

.logo-placeholder h2 {
    font-size: 28px;
    font-weight: 700;
}

.search-container {
    display: flex;
    flex-grow: 1;
    max-width: 500px;
    margin: 0 30px;
    border: 2px solid var(--primary-orange);
    border-radius: 25px;
    overflow: hidden;
}

.search-container input {
    width: 100%;
    padding: 10px 20px;
    border: none;
    outline: none;
    font-family: var(--font-main);
}

.search-container .search-btn {
    background: transparent;
    border: none;
    padding: 0 20px;
    color: var(--primary-orange);
    cursor: pointer;
    font-size: 1.2rem;
}

.user-actions {
    display: flex;
    align-items: center;
    gap: 25px;
}

.account {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--primary-orange);
    cursor: pointer;
}

.account i {
    font-size: 1.5rem;
    margin-bottom: 5px;
}

.cart {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cart-icon {
    position: relative;
    font-size: 2rem;
    color: var(--primary-teal);
}

.cart-badge {
    position: absolute;
    top: -5px;
    right: -10px;
    background: var(--primary-orange);
    color: white;
    font-size: 0.7rem;
    padding: 2px 6px;
    border-radius: 50%;
    font-weight: bold;
}

.cart-info {
    display: flex;
    flex-direction: column;
}

.cart-price {
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--primary-teal);
}

.cart-desc {
    font-size: 0.7rem;
    color: var(--text-muted);
}

.language-selector {
    display: flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
}

.language-selector img {
    border-radius: 50%;
    border: 1px solid #ccc;
}

/* --- Navigation --- */
.main-nav {
    background-image: linear-gradient(to right, #489ff8, #2dd3a3);
    top: -10px;
    position: relative;
}

img.adtm_menu_icon.img-responsive.img-fluid {
    width: auto;
    height: 40px;
    padding: 8px;
}

span.advtm_menu_span.advtm_menu_span_7 {
    border-left: 2px solid #fff;
}

.nav-links {
    display: flex;
    justify-content: space-between;
}

#header a:hover {
    color: var(--white);
}

#adtm_menu .li-niveau1 a.a-niveau1 .advtm_menu_span {
    font-size: 17px;
    font-weight: 400;
    text-decoration: none;
    text-transform: capitalize;
    color: #fff;
}

#adtm_menu ul#menu li.li-niveau1 a.a-niveau1 {
    border-style: none !important;
}

#adtm_menu_inner {
    border-color: #ffffff00;
}

#adtm_menu ul#menu li.li-niveau1 a.a-niveau1 .advtm_menu_span {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

select.form-control:not([size]):not([multiple]) {
    height: auto;
}

.nav-links a {
    color: var(--white);
    padding: 15px 10px;
    font-weight: 600;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background-color 0.2s;
}

.nav-links a:hover,
.nav-links a.active {
    background-color: rgba(0, 0, 0, 0.1);
}

/* --- Hero Section --- */
#category #wrapper .container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 30px;
    background: url(../img/bod-prod.png) no-repeat center center;
    background-size: cover;
}

.hero-section {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    min-height: 300px;
    margin-bottom: 40px;
}

#wrapper {
    padding-top: 0 !important;
}

.container-hero {
    max-width: 100%;
    margin: 0 auto;
    padding: 30px 0 0 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../img/hero-bg.png') no-repeat center center;
    background-size: cover;
    filter: brightness(0.8);
    border-bottom: 3px solid gold;
    z-index: 0;
    /* Changed from -1 to 0 to see if it's behind a parent background */
}

.hero-content {
    position: relative;
    z-index: 1;
    margin-bottom: 3px;
}

.breadcrumb {
    margin-bottom: 20px;
    font-size: 0.85rem;
    width: 100%;
}

#search_filters .ui-slider .ui-slider-handle {
    border: 4px solid #c39a44 !important;
    background: #c19024 !important;
    border-radius: 20px;
    height: 19px;
    width: 17px;
}

.active_filters {
    background: linear-gradient(to right, #dab6565c 0%, #c1912e7d 50%, #f4d97f6b 100%);
    padding: .625rem 1.875rem 0;
    margin-bottom: 1.25rem;
    border-radius: 20px;
}

.product-col-images i.fa-solid.fa-chevron-right {
    color: #e1b100;
}

i.fa-solid.fa-chevron-right {
    color: #fff;
}

i.fa-solid.fa-chevron-left,
.active_filters .filter-block {
    border-radius: 20px;
}

.category-card p {
    color: #fff;
}

#header .header-top {
    padding: 0;
}

header.page-header {
    text-align: center;
}

body.page-cms header.page-header h1 {
    color: #22b8d6;
}

body.cms-id-4 .page-content div[style*="text-align:center"] big,
body.cms-id-4 .page-content div[style*="text-align:center"] big span,
body.cms-id-4 .page-content h2,
body.cms-id-12 .page-content h1,
body.cms-id-12 .page-content h1 span,
body.cms-id-12 .page-content h2 {
    color: #22b8d6;
}

body.cms-id-12 .page-content h1 span {
    color: #22b8d6 !important;
}

.breadcrumb ol {
    background: linear-gradient(to right, #dab656 0%, #c1912e 50%, #f4d97f 100%) !important;
    bottom: 0;
    background: #fff;
    position: relative;
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    width: fit-content;
    padding: 5px 15px;
    border-radius: 5px;
    align-items: center;
    justify-content: space-evenly;
    z-index: 10;
    padding-left: 10px !important;
}

.breadcrumb-hero ol {
    background: linear-gradient(to right, #dab656 0%, #c1912e 50%, #f4d97f 100%) !important;
    bottom: -22px;
    background: #fff;
    position: relative;
    left: 20%;
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    width: fit-content;
    padding: 5px 15px;
    border-radius: 5px;
    align-items: center;
    justify-content: space-evenly;
    z-index: 10;
}

/* Base styles for global breadcrumb items */
.breadcrumb a,
.breadcrumb span {
    color: var(--color-text-main);
    font-weight: 600;
}

/* Specific styling for breadcrumbs on the dark hero background */
.breadcrumb-hero a,
.breadcrumb-hero span {
    color: #fff;
}

.breadcrumb li:not(:last-child)::after {
    content: "/";
    color: #ccc;
    margin-left: 5px;
}

.hero-text {
    border-radius: 0px 20px 0px 0px;
    height: 313px;
    background: rgb(255 255 255 / .95) url('../img/categ.png') no-repeat center center;
    background-size: cover;
    padding: 30px;
    overflow-y: auto;
}

/* Custom Scrollbar for .hero-text */
.hero-text::-webkit-scrollbar {
    width: 8px;
}

.hero-text::-webkit-scrollbar-track {
    background: transparent;
    margin: 10px 0;
}

.hero-text::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 4px;
}

.hero-text::-webkit-scrollbar-thumb:hover {
    background: #aaa;
}

.hero-text h1 {
    font-size: 2.2rem;
    color: #7C7C7C;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.hero-text h1 .hero-icon {
    width: 60px;
    height: 60px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: url('../img/gold-circle.png') no-repeat center center;
    background-size: contain;
    color: #444;
    /* Dark color for the icon inside the gold circle */
    font-size: 1.8rem;
    margin-left: 10px;
}

.hero-categories {
    position: absolute;
    display: flex;
    align-items: center;
    overflow: hidden;
    z-index: 2;
    right: 0;
    bottom: 0;
}

/* Version Module (Page d'accueil, etc.) - Pas de position absolute */
.hero-categories.ag-hero-categories-module {
    position: relative;
    right: auto;
    bottom: auto;
    margin: 0;
    width: 100%;
}

.category-cards {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 0px 0;
    width: 100%;
    min-width: 0;
}

.category-cards::-webkit-scrollbar {
    display: none;
}

.wishlist-button-add i {
    color: #ff9a52;
}

.category-card {
    display: block;
    width: 280px;
    height: 313px !important;
    border-radius: 15px;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    position: relative;
    flex-shrink: 0;
    text-decoration: none !important;
    transition: transform 0.3s ease;
    overflow: hidden;
}

.category-card:hover {
    transform: translateY(-10px);
}

.card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 40%, rgba(0, 0, 0, 0.9));
    padding: 25px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    color: white;
    border-radius: 15px;
}

.card-overlay h3,
.card-overlay p {
    margin: 0 0 10px 0;
}

.page-content.page-cms ul,
p {
    font-size: .9375rem;
    font-weight: 400;
    color: #7a7a7a;
}

p.hero-description {
    color: #7a7a7a;
}

.category-card h3 {
    font-size: 1.2rem;
    font-weight: 850;
    margin-bottom: 10px;
    text-transform: uppercase;
    line-height: 1.2;
    color: white;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
}

.category-card p {
    font-size: 0.85rem;
    opacity: 0.85;
    margin-bottom: 20px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.btn-discover {
    background: white;
    color: #cba347;
    border: none;
    padding: 10px 25px;
    border-radius: 30px;
    font-weight: 900;
    font-size: 0.9rem;
    align-self: center;
    transition: all 0.3s ease;
    opacity: 0;
    transform: translateY(20px);
    text-decoration: none !important;
}

.category-card:hover .btn-discover {
    opacity: 1;
    transform: translateY(0);
}

.btn-discover:hover {
    background: #cba347 !important;
    color: white !important;
}

.nav-arrow {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: none;
    background: url('../img/gold-circle.png') no-repeat center center;
    background-size: cover;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4);
    font-size: 1.2rem;
    flex-shrink: 0;
    transition: background 0.2s, transform 0.2s;
    z-index: 10;
}

.nav-arrow.left {
    position: relative;
    left: 20px;
    padding-left: 0px;
}

.nav-arrow.right {
    position: relative;
    right: 20px;
    padding-right: 0px;
}

.nav-arrow:hover {
    transform: scale(1.1);
}

.c1 {
    background-image: url('https://images.unsplash.com/photo-1606503153255-59d8b8b82176?q=80&w=400');
}

.c2 {
    background-image: url('https://images.unsplash.com/photo-1590845947376-281fdacb6491?q=80&w=400');
}

.c3 {
    background-image: url('https://images.unsplash.com/photo-1585822763321-72f13f1eeda5?q=80&w=400');
}

.c4 {
    background-image: url('https://images.unsplash.com/photo-1543168256-418811576931?q=80&w=400');
}

.category-card button {
    background: var(--white);
    color: var(--primary-teal);
    border: none;
    padding: 5px 15px;
    border-radius: 15px;
    font-weight: bold;
    cursor: pointer;
    font-family: var(--font-main);
}

/* --- Main Layout --- */
.main-layout {
    display: flex;
    gap: 30px;
    margin-top: 30px;
    margin-bottom: 50px;
}

#search_filters .facet .facet-title,
#search_filters .facet .facet-label a {
    width: auto !important;
}

#search_filters .facet .facet-label a,
#search_filters_brands .facet .facet-label a,
#search_filters_suppliers .facet .facet-label a {

    color: #8d8d8d;
}

.brands-sort .select-title,
.products-sort-order .select-title,
.suppliers-sort .select-title {
    display: inline-block;
    width: 270px;
    padding: .625rem;
    color: #232323;
    cursor: pointer;
    background: #fff;
    border-radius: 7px;
    box-shadow: 1px 1px 3px 2px rgb(211 203 203 / 25%);
    border: 1px solid rgb(0 0 0 / 4%);
}

/* --- Sidebar --- */
.sidebar {
    background: #fff;
    margin: 30px;
    top: 35px;
    flex-shrink: 0;
    /* background: var(--bg-light); */
    border: 1px solid var(--border-color);
    border-radius: 21px;
    height: fit-content;
    box-shadow: 2px 3px 8px 4px #e0dcdc;
}

.filter-header {
    background: var(--primary-orange);
    color: var(--white);
    text-align: center;
    padding: 10px;
    font-weight: bold;
    border-radius: 20px;
    margin-top: -35px;
    /* Pull up over border */
    position: relative;
    z-index: 2;
    margin-bottom: 20px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}

.filter-group {
    margin-bottom: 25px;
}

.filter-group h3 {
    font-size: 1.1rem;
    color: var(--text-dark);
    margin-bottom: 15px;
    font-weight: 700;
}

.filter-group label {
    display: block;
    margin-bottom: 8px;
    font-size: 0.9rem;
    color: var(--text-muted);
    cursor: pointer;
}

.filter-group input[type="radio"] {
    margin-right: 8px;
    accent-color: var(--primary-orange);
}

/* --- Product Grid --- */
.products-section {
    flex-grow: 1;
}

.products-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-color);
}

.sort-dropdown select {
    padding: 5px 10px;
    border: 1px solid var(--border-color);
    border-radius: 5px;
    font-family: var(--font-main);
    color: var(--text-dark);
}

.grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
    margin-bottom: 40px;
}

.product-card {
    padding: 15px;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: var(--white);
    position: relative;
    height: 100%;
    border-radius: none;
    box-shadow: 0 0 0 0;
    margin-bottom: 45px;
}

.products.row {
    padding: 20px;
    background: #fff;
    border-radius: 19px;
    box-shadow: 1px 1px 3px 0px #e0dcdc;
}

.product-info-wrapper {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    width: 100%;
    height: 294px;
}

.p-price-container {
    margin-top: auto;
    padding-top: 10px;
}

.prices {
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 8px;
    margin-top: 5px;
}

.p-price-old {
    text-decoration: line-through;
    color: #9b9b9b;
    font-size: 0.9rem;
    font-weight: 400;
}

.p-price-new {
    font-size: 1.4rem;
    font-weight: 800;
    color: #333;
}

.has-discount .p-price-new {
    color: #e62e2e;
}

.p-savings {
    background: #e62e2e;
    color: white;
    padding: 2px 8px;
    font-size: 0.75rem;
    font-weight: 700;
    border-radius: 4px;
    display: inline-block;
    margin-bottom: 4px;
}

.p-image {
    width: 100%;
    height: 200px;
    object-fit: contain;
    margin-bottom: 15px;
}

.p-title {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 10px;
    height: auto;
    min-height: 38px;
    max-height: 68px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    line-height: 1.4;
}

.p-badges {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
    margin-bottom: 15px;
    flex-wrap: wrap;
    justify-content: center;
}

.product-cover img,
img.img-fluid.rounded.shadow-sm {
    object-fit: none;
}

.badge {
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--white);
}

.b-time {
    background-color: var(--white);
    color: #26d7ce;
    box-shadow: 1px 1px 5px 3px #f3f3f3b0;
}

.b-age,
span.badge.b-condition {
    background-color: var(--white);
    color: #26d7ce;
    box-shadow: 1px 1px 5px 3px #f3f3f3b0;
}

.b-players {
    background-color: var(--white);
    color: #26d7ce;
    box-shadow: 1px 1px 5px 3px #f3f3f3b0;
}

.p-desc {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin-bottom: 8px;
    min-height: 20px;
    max-height: 55px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    line-height: 1.4;
}

.p-savings {
    background-color: #ffd8d8;
    color: var(--badge-red);
    font-size: 0.7rem;
    padding: 2px 10px;
    border-radius: 10px;
    font-weight: bold;
    margin-bottom: 5px;
}

.p-price-old {
    text-decoration: line-through;
    color: #999;
    font-size: 0.85rem;
    margin-right: 5px;
}

.p-price-new {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--badge-red);
}

/* --- Pagination --- */
.pagination {
    margin: 40px 0;
}

.pagination > div:first-child {
    padding-left: 15px;
}

.pagination-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
}

.page-number {
    width: 35px;
    height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 600;
    color: #999;
    border-radius: 50%;
    transition: all 0.2s;
}

.page-number.active {
    color: var(--primary-orange);
    background: rgba(240, 173, 78, 0.1);
}

.page-arrow {
    width: 35px;
    height: 35px;
    color: white !important;
    background: url('../img/gold-circle.png') no-repeat center center;
    background-size: cover;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.page-arrow.disabled {
    background: #eee;
    color: #ccc;
    cursor: not-allowed;
    box-shadow: none;
}

/* --- Sidebar Fixes --- */
.filter-header {
    background: #f1c40f;
    /* Yellow from mockup */
    color: white;
    padding: 12px 20px;
    font-weight: 800;
    border-radius: 25px;
    text-align: center;
    margin-bottom: 25px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.sidebar .facet {
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid var(--color-border);
}

.sidebar .facet-title {
    font-family: var(--font-heading);
    font-weight: 800;
    margin-bottom: 1rem;
}

/* --- Footer Area --- */
.trust-features {
    background-color: var(--bg-light);
    border-top: 1px solid var(--border-color);
    padding: 40px 0;
}

.tf-layout {
    display: flex;
    gap: 50px;
}

.trustpilot {
    width: 200px;
    text-align: center;
}

.trustpilot h4 {
    font-size: 1.5rem;
}

.stars {
    color: #000;
    font-size: 1.2rem;
    margin: 10px 0;
}

.stars-small {
    color: #00b67a;
    font-size: 0.8rem;
    margin-bottom: 5px;
}

.features-list {
    display: flex;
    flex-grow: 1;
    gap: 30px;
}

.feature-item {
    flex: 1;
}

.feature-item h5 {
    font-size: 1rem;
    margin-bottom: 5px;
}

.feature-item p {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-bottom: 5px;
}

.feature-item small {
    font-size: 0.75rem;
    color: #999;
}

.main-footer {
    background: url('../img/footer.png') no-repeat center top;
    background-size: cover;
    color: var(--white);
    padding-top: 50px;
}

.footer-content {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}

.footer-col h4 {
    margin-bottom: 20px;
    font-size: 1.1rem;
}

.footer-col ul li {
    margin-bottom: 10px;
    font-size: 0.9rem;
}

.footer-col a:hover {
    text-decoration: underline;
}

.contact-btn {
    background: transparent;
    border: 1px solid var(--white);
    color: var(--white);
    padding: 8px 20px;
    border-radius: 20px;
    margin: 15px 0;
    cursor: pointer;
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding: 20px 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.8rem;
}

.payment-icons {
    font-size: 1.5rem;
    display: flex;
    gap: 10px;
}

/* --- Faceted Search Customization --- */
#search_filters .facet .collapse {
    text-align: center;
}

#search_filters,
#search_filters_brands,
#search_filters_suppliers {
    padding: 0 1.25rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    align-content: center;
    justify-content: space-between;
}

#search_filters .custom-radio input[type="radio"]:checked+span,
#search_filters .custom-checkbox input[type="checkbox"]:checked+span {
    background-color: #cba34c;
}

#search_filters .custom-radio input[type="radio"]:focus+span,
#search_filters .custom-checkbox input[type="checkbox"]:focus+span {
    border-color: #cba34c;
}

#search_filters .ui-slider-horizontal .ui-slider-range {
    background: #cba34c !important;
}

#search_filters .facet .faceted-slider p {
    text-align: center;
}

.total-products p {
    color: #bd8a1e;
}

.b-stock {
    background: var(--badge-blue);
}

.products-selection .sort-by,
.products-selection .select-title,
.products-selection .select-title i {
    color: #cda756;
}

/* --- Product Sliders (Cross-selling / Category Products) --- */
.product-slider-section {
    position: relative;
    margin-top: 3rem;
    margin-bottom: 2rem;
}

.product-slider-section h2 {
    margin-bottom: 1.5rem;
}

.product-slider-container {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.product-slider-wrapper {
    display: flex;
    gap: 15px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
    /* IE/Edge */
    padding: 10px 0;
    width: 100%;
    background: #fff;
}

.product-slider-wrapper::-webkit-scrollbar {
    display: none;
    /* Chrome/Safari */
}

/* Ensure product cards stay fixed size inside the slider */
.product-slider-wrapper .product-card {
    flex: 0 0 calc(25% - 11.25px);
    max-width: calc(25% - 11.25px);
    padding: 30px;
}

@media (max-width: 1200px) {
    .product-slider-wrapper .product-card {
        flex: 0 0 calc(33.333% - 10px);
        max-width: calc(33.333% - 10px);
    }
}

@media (max-width: 992px) {
    .product-slider-wrapper .product-card {
        flex: 0 0 calc(50% - 7.5px);
        max-width: calc(50% - 7.5px);
    }
}

@media (max-width: 600px) {
    .product-slider-wrapper .product-card {
        flex: 0 0 85%;
        max-width: 85%;
    }
}

.product-slider-container .nav-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 4;
}

.product-slider-container .nav-arrow.left {
    left: 12px;
}

.product-slider-container .nav-arrow.right {
    right: 12px;
}

section.featured-products.clearfix.mt-3.product-slider-section,
section.product-accessories.product-slider-section {
    background: #fff;
    z-index: 9;
    text-align: center;
    border-radius: 20px;
    box-shadow: 1px 1px 7px 2px #dfd4d4;
}

.product-slider-section h2 {
    display: flex;
    margin-bottom: 1.5rem;
    height: 96px;
    width: 348px;
    text-align: center;
    color: #fff;
    font-weight: 600;
    padding-bottom: 45px;
    background-image: url(../img/mask-group.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: auto;
    margin-right: auto;
    padding-top: 15px;
    font-size: 18px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    line-height: 1.2;
}

.elementor-widget-product-carousel .swiper-wrapper {
    align-items: stretch;
}

.elementor-widget-product-carousel .swiper-slide {
    display: flex;
    height: auto;
}

.elementor-widget-product-carousel .swiper-slide .product-card,
.product-slider-wrapper .product-card {
    width: 100%;
    height: 100%;
    margin-bottom: 0;
}

.elementor-widget-product-carousel .swiper-slide .product-info-wrapper,
.product-slider-wrapper .product-info-wrapper {
    height: auto;
    min-height: 340px;
}

.elementor-widget-product-carousel .swiper-slide .p-title,
.product-slider-wrapper .p-title {
    min-height: 4.2em;
    max-height: none;
    margin-bottom: 12px;
}

.elementor-widget-product-carousel .swiper-slide .p-title a,
.product-slider-wrapper .p-title a {
    display: -webkit-box;
    overflow: hidden;
    word-break: break-word;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.elementor-widget-product-carousel .swiper-slide .p-desc,
.product-slider-wrapper .p-desc {
    min-height: 5.8em;
    max-height: none;
    margin-bottom: 12px;
    line-height: 1.45;
    -webkit-line-clamp: 4;
}

.elementor-element-da44d0a .swiper-slide .product-info-wrapper {
    min-height: 360px;
    padding-bottom: 8px;
}

.elementor-element-da44d0a .swiper-slide {
    padding-bottom: 16px;
}

.elementor-element-da44d0a .swiper-slide .p-image {
    height: 185px;
    margin-bottom: 8px;
}

.elementor-element-da44d0a .swiper-slide .p-badges {
    margin-bottom: 10px;
}

@media (max-width: 1500px) {
    .elementor-element-da44d0a .swiper-slide .product-info-wrapper {
        min-height: 380px;
    }
}

@media (max-width: 1366px) {
    .elementor-element-da44d0a .swiper-slide .product-info-wrapper {
        min-height: 410px;
    }
}

@media (max-width: 800px) {
    .elementor-element-da44d0a .swiper-slide .product-info-wrapper {
        min-height: 430px;
    }
}

@media (max-width: 767px) {
    .hero-section {
        min-height: 0;
        margin-bottom: 24px;
    }

    .container-hero {
        padding-top: 18px;
    }

    .hero-content {
        display: flex;
        flex-direction: column;
        row-gap: 16px;
        margin-left: 0;
        margin-right: 0;
    }

    .hero-content>[class*="col-"] {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .breadcrumb-hero ol {
        left: 0;
        bottom: 0;
        margin: 0 0 10px;
    }

    .elementor-widget-product-carousel .swiper-slide .product-info-wrapper,
    .product-slider-wrapper .product-info-wrapper,
    .elementor-widget-product-carousel .swiper-slide .p-title,
    .product-slider-wrapper .p-title,
    .elementor-widget-product-carousel .swiper-slide .p-desc,
    .product-slider-wrapper .p-desc {
        min-height: unset;
    }

    .hero-text {
        height: auto;
        max-height: none;
        padding: 22px 18px;
        overflow: visible;
        border-radius: 20px;
        margin-bottom: 18px;
    }

    .hero-text.ag-hero-text-collapsible {
        position: relative;
        overflow: hidden;
        max-height: 240px;
        margin-bottom: 0;
    }

    .hero-text.ag-hero-text-collapsible::after {
        display: none;
    }

    .hero-text.ag-hero-text-expanded {
        max-height: none;
        overflow: visible;
    }

    .hero-text.ag-hero-text-expanded::after {
        display: none;
    }

    .ag-hero-text-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 10px auto 0;
        padding: 10px 18px;
        border: 0;
        border-radius: 999px;
        background: linear-gradient(90deg, #489ff8 0%, #2dd3a3 100%);
        color: #fff;
        font-weight: 700;
        font-size: 0.92rem;
        line-height: 1;
        box-shadow: 0 10px 24px rgba(72, 159, 248, 0.22);
    }

    .hero-text h1 {
        font-size: 1.6rem;
        line-height: 1.2;
    }

    .hero-text h1 .hero-icon {
        width: 46px;
        height: 46px;
        font-size: 1.35rem;
        margin-left: 0;
    }

    .hero-categories.ag-hero-categories-module {
        padding: 0 40px;
        overflow: visible;
    }

    body#index .hero-categories.ag-hero-categories-module {
        margin-top: 28px;
    }

    .hero-content .hero-categories:not(.ag-hero-categories-module) {
        position: relative;
        right: auto;
        bottom: auto;
        width: 100%;
        margin: 0;
        padding: 0 40px;
        overflow: visible;
        align-items: center;
    }

    .hero-categories.ag-hero-categories-module .nav-arrow {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 3;
    }

    .hero-content .hero-categories:not(.ag-hero-categories-module) .nav-arrow {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 3;
    }

    .hero-categories.ag-hero-categories-module .nav-arrow.left {
        left: 18px;
    }

    .hero-categories.ag-hero-categories-module .nav-arrow.right {
        right: 18px;
    }

    .hero-content .hero-categories:not(.ag-hero-categories-module) .nav-arrow.left {
        left: 18px;
    }

    .hero-content .hero-categories:not(.ag-hero-categories-module) .nav-arrow.right {
        right: 18px;
    }

    .hero-categories.ag-hero-categories-module .category-cards {
        gap: 10px;
        padding: 0;
        scroll-snap-type: x proximity;
        touch-action: pan-x;
    }

    .hero-content .hero-categories:not(.ag-hero-categories-module) .category-cards {
        width: 100%;
        gap: 10px;
        padding: 0;
        scroll-snap-type: x proximity;
        touch-action: pan-x;
    }

    .hero-categories.ag-hero-categories-module .category-card {
        width: min(76vw, 250px);
        height: 285px !important;
        scroll-snap-align: start;
    }

    .hero-content .hero-categories:not(.ag-hero-categories-module) .category-card {
        width: min(76vw, 250px);
        height: 285px !important;
        scroll-snap-align: start;
    }

    .elementor-widget-product-carousel .swiper,
    .elementor-widget-product-carousel .swiper-wrapper {
        overflow: visible;
    }

    .elementor-widget-product-carousel .swiper-slide,
    .product-slider-wrapper .product-card {
        padding-bottom: 18px;
        box-sizing: border-box;
    }

    .elementor-widget-product-carousel .swiper-slide .product-info-wrapper,
    .product-slider-wrapper .product-info-wrapper {
        min-height: 360px;
        padding-bottom: 12px;
    }

    .elementor-widget-product-carousel .swiper-slide .p-title,
    .product-slider-wrapper .p-title {
        min-height: 4.4em;
        margin-bottom: 10px;
    }

    .elementor-widget-product-carousel .swiper-slide .p-title a,
    .product-slider-wrapper .p-title a {
        min-height: calc(1.4em * 3);
    }

    .elementor-widget-product-carousel .swiper-slide .p-desc,
    .product-slider-wrapper .p-desc {
        min-height: 4.35em;
        margin-bottom: 10px;
    }

    .product-slider-container {
        padding: 0 60px;
    }

    .product-slider-container .nav-arrow {
        top: 42%;
    }

    .product-slider-container .nav-arrow.left {
        left: 28px;
    }

    .product-slider-container .nav-arrow.right {
        right: 28px;
    }
}

.btn-nouv {
    margin-top: 24px;
}

/* --- Product Detail Page Styling --- */
.product-name {
    color: var(--price-orange) !important;
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    margin-bottom: 0.5rem !important;
    text-transform: none;
}

.product-breadcrumb-container {
    margin-bottom: 1.5rem;
}

.product-breadcrumb-container .breadcrumb {
    background: var(--breadcrumb-gold);
    padding: 8px 20px;
    border-radius: 30px;
    display: inline-flex;
    margin: 0;
    max-width: calc(100% - 140px);
}

.product-breadcrumb-container .breadcrumb li {
    color: var(--breadcrumb-text);
    font-weight: 600;
    font-size: 0.85rem;
}

.product-breadcrumb-container .breadcrumb li::after {
    content: "/";
    margin: 0 10px;
    color: var(--breadcrumb-text);
}

.product-breadcrumb-container .breadcrumb li:last-child::after {
    display: none;
}

.product-breadcrumb-container .breadcrumb a {
    color: var(--breadcrumb-text);
    text-decoration: none;
}

.product-reference {
    font-size: 0.85rem;
    color: #a1a1a1;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 5px;
}

.product-badges-capsule {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 1.5rem 0;
    align-items: center;
    justify-content: center;
}

.product-badge-pill {
    padding: 6px 18px;
    border-radius: 30px;
    font-weight: 600;
    font-size: 0.85rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-transform: uppercase;
}

.product-badge-pill.stock {
    background: var(--badge-blue);
    color: #fff;
}

.product-badge-pill.feature {
    box-shadow: 1px 2px 8px 1px #ddd;
    color: var(--badge-cyan);
    background: #fff0;
}

.product-badge-pill.condition {
    border: 1px solid var(--badge-cyan);
    color: var(--badge-cyan);
}

button:focus {
    outline: 1px dotted;
    outline: none;
}

/* Price block styling */
.product-prices .current-price {
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.product-prices .current-price-value {
    color: var(--price-orange);
    font-size: 2rem;
    font-weight: 800;
}

.product-prices .tax-label {
    color: var(--price-orange);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
}

.product-discount-pill {
    background: #ffebe8;
    color: var(--price-orange);
    padding: 4px 12px;
    border-radius: 20px;
    font-weight: 700;
    font-size: 0.8rem;
    display: inline-block;
    margin-top: 5px;
}

/* Add to Cart styling */
.product-add-to-cart .product-quantity {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 2rem;
}

.product-add-to-cart .qty {
    flex: 0 0 80px;
}

.product-description-short p {
    color: #9d9d9d;
}

.product-loyalty-points p {
    color: #666;
}

.product-add-to-cart #quantity_wanted {
    height: 45px;
    border: 1px solid #ddd;
    text-align: center;
    font-weight: 700;
}

.product-add-to-cart .add-to-cart {
    background: linear-gradient(to bottom, #f0d082, #cba34c);
    border: none;
    height: 48px;
    border-radius: 10px;
    padding: 0 40px;
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 4px 10px rgba(203, 163, 76, 0.3);
}

.product-add-to-cart .add-to-cart:hover {
    filter: brightness(1.05);
}

/* Reassurance Styling */
#block-reassurance {
    margin-top: 3rem;
    background: #fff;
    border-radius: 40px;
    padding: 2rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    border-bottom: 5px solid #d9992b;
}

#block-reassurance ul {
    display: flex;
    justify-content: space-between;
    padding: 0;
    margin: 0;
    list-style: none;
    gap: 20px;
}

#block-reassurance li {
    text-align: center;
    flex: 1;
}

#block-reassurance .block-reassurance-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

#block-reassurance img {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

#block-reassurance span {
    font-size: 0.75rem;
    font-weight: 700;
    color: #333;
    line-height: 1.3;
    max-width: 140px;
}

/* --- Product Image Cover Arrows --- */
.product-cover {
    position: relative;
}

.product-cover .nav-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: transparent;
    border: none;
    font-size: 1.5rem;
    color: #cba34c;
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.2s;
}

.product-cover .nav-arrow:hover {
    opacity: 1;
}

.product-cover .nav-arrow.left {
    left: -40px;
}

.product-cover .nav-arrow.right {
    right: -40px;
}

@media (max-width: 767px) {
    body#product .product-cover .nav-arrow {
        top: 50%;
        width: 46px;
        height: 46px;
        transform: translateY(-50%);
        background: url('../img/gold-circle.png') no-repeat center center;
        background-size: cover;
        opacity: 0.98;
    }

    body#product .product-cover .nav-arrow.left {
        left: 12px;
    }

    body#product .product-cover .nav-arrow.right {
        right: 12px;
    }
}

/* Nouveau Badge Banner Style */
.product-badge--new {
    position: absolute;
    top: 15px;
    left: -10px;
    background: linear-gradient(135deg, #f0d082, #cba34c);
    color: #fff;
    padding: 5px 20px;
    font-weight: 800;
    transform: rotate(-15deg);
    border-radius: 5px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    z-index: 11;
    text-transform: uppercase;
    font-size: 0.8rem;
}

/* Horizontal Thumbs */
.product-images {
    display: flex !important;
    gap: 15px !important;
    margin-top: 20px !important;
    justify-content: center;
}

.product-images .thumb-container {
    width: 100px !important;
    height: 100px !important;
    margin: 0 !important;
}

.product-images .thumb {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 5px;
}

.product-images .thumb.selected {
    border-color: #46e2d1 !important;
    border-width: 2px !important;
}

/* Manufacturer Logo Positioning */
.product-col-info {
    position: relative;
}

.product-manufacturer {
    position: absolute;
    top: 10px;
    right: 0;
    z-index: 5;
}

.product-manufacturer img {
    max-width: 100px;
    height: auto;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.1));
}

@media (max-width: 767px) {
    .product-manufacturer {
        position: static;
        margin-bottom: 1rem;
        text-align: right;
    }
}

/* Loyalty Points */
.product-loyalty-points {
    margin: 1.5rem 0 0.5rem 0;
    font-size: 0.9rem;
    color: #666;
}

.product-loyalty-points i {
    font-style: italic;
}

.product-loyalty-points strong {
    color: var(--price-orange);
    font-weight: 700;
    font-style: normal;
}

/* Reassurance Centering */
#block-reassurance ul {
    display: flex;
}

/* --- Reassurance Block: Icon on top, Title below --- */
#block-reassurance ul,
.blockreassurance_product ul {
    display: flex !important;
    justify-content: space-around !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    gap: 15px !important;
}

.block-reassurance-item,
.blockreassurance_product li {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 10px !important;
    flex: 1 !important;
}

.block-reassurance-item img,
.blockreassurance_product img {
    width: 50px !important;
    height: 50px !important;
    object-fit: contain !important;
    margin-bottom: 5px !important;
}

.block-reassurance-item span,
.blockreassurance_product span {
    color: #000 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    max-width: 150px !important;
}

.blockreassurance_product {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    text-align: center;
    border-radius: 20px;
    box-shadow: 1px 1px 8px 0px #d1d1d1;
}

.blockreassurance_product>div {
    flex: 1;
}

.blockreassurance_product .item-product {
    display: block;
    margin-bottom: 31px;
}

.blockreassurance_product .item-product img {
    margin-bottom: 5px;
    max-width: 50px;
    height: auto;
}

.blockreassurance_product .block-title {
    display: block;
    font-weight: 600;
    margin-bottom: 5px;
}

.blockreassurance_product p {
    margin: 0;
    font-size: 12px;
}

.reassurance-item-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    align-content: space-around;
}

.rounded {
    border-radius: 20px;
}

/* --- Product Full Block (Simplified Layout) --- */
.product-full-block {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    background-color: #312f2f;
    padding: 50px 0;
    position: relative;
    background-image: url(../img/sportstyle.png);
    background-size: cover;
    background-position: center;
    margin-top: 60px;
}

.product-full-block p,
.product-full-block div {
    color: #eee !important;
}

.product-quantity .input-group-btn-vertical .btn {
    border-radius: 5px;
}

.product-full-block .section-title {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 2.5rem;
    color: var(--primary-color) !important;
    margin-bottom: 2rem;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.product-description-text {
    font-size: 14px;
    line-height: 1.9;
}

.product-description-text ul {
    list-style: none;
    margin: 1.5rem 0 2rem;
    padding: 0 0 0 1rem;
    border-left: 3px solid #8dbf53;
}

.product-description-text ul li {
    margin-bottom: .7rem;
    padding-left: .25rem;
}

.product-description-text ul li:last-child {
    margin-bottom: 0;
}


/* --- Pagination container: keep inside column (exclude from 1300px override) --- */
.pagination .container {
    width: auto !important;
    max-width: none !important;
    margin-left: -15px !important;
    margin-right: -15px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* --- Responsive Container Adjustment (Properly) --- */
@media (min-width: 1400px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: 1300px !important;
        width: 1300px !important;
    }
}

.product-video-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.video-wrapper {
    position: relative;
    width: 100%;
    max-width: 500px;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.video-wrapper:hover {
    transform: translateY(-5px);
}

.video-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70px;
    height: 70px;
    background: var(--primary-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.5rem;
    box-shadow: 0 10px 20px rgba(205, 167, 86, 0.4);
    transition: all 0.3s ease;
}

.video-wrapper:hover .video-play-btn {
    scale: 1.1;
    background: var(--color-text-main);
}

img.img-fluid.rounded.shadow-sm {
    max-width: 300px;
}

.row.product-container.js-product-container {
    margin-top: 60px;
}

/* --- Header Redesign (Mockup) --- */
.main-header {
    border-bottom: 4px solid var(--primary-color, #5bc0de);
    /* Fallback to teal if var not set */
    background-color: var(--white, #fff);
}

.top-bar {
    padding: 15px 0;
}

.search-container-wrapper {
    flex-grow: 1;
    max-width: 500px;
}

/* Style PrestaShop Search Bar to match Mockup */
#search_widget form {
    display: flex;
    border: 2px solid #f0ad4e;
    /* Primary Orange from mockup */
    border-radius: 25px;
    overflow: hidden;
    background: #fff;
}

#search_widget form input[type="text"] {
    width: 100%;
    padding: 10px 20px;
    border: none;
    outline: none;
    background: transparent;
    box-shadow: none;
}

#search_widget form button[type="submit"] {
    background: transparent;
    border: none;
    padding: 0 20px;
    color: #f0ad4e;
    cursor: pointer;
    font-size: 1.2rem;
}

/* User Actions */
.user-actions {
    display: flex;
    align-items: center;
    gap: 25px;
}

.user-actions .account {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 0.8rem;
    font-weight: 600;
    color: #f0ad4e;
    text-decoration: none;
}

.user-actions .account i {
    font-size: 1.5rem;
    margin-bottom: 5px;
}

.user-actions .cart-info {
    display: flex;
    flex-direction: column;
}

.user-actions .cart-price {
    font-weight: 700;
    font-size: 1.1rem;
    color: #5bc0de;
}

.user-actions .cart-desc {
    font-size: 0.7rem;
    color: #777;
}

/* Override PrestaShop default cart widget */
#_desktop_cart .blockcart {
    background: transparent;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

#_desktop_cart .header-block__icon {
    font-size: 2rem;
    color: #5bc0de;
}

#_desktop_cart .header-block__badge {
    background: #f0ad4e;
    color: white;
    top: -5px;
    right: -10px;
    border-radius: 50%;
    padding: 2px 6px;
    font-size: 0.7rem;
}

/* Override Language Selector */
#_desktop_language_selector .language-selector {
    display: flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
}

.main-nav .menu {
    margin: 0;
    padding: 0;
}

.main-nav .menu>ul>li>a {
    color: #fff;
    padding: 15px 10px;
    font-weight: 600;
    font-size: 0.95rem;
    text-transform: none;
}

.main-nav .menu>ul>li>a:hover {
    background-color: rgba(0, 0, 0, 0.1);
}

@media (min-width: 992px) {
    #adtm_menu ul#menu {
        display: flex !important;
        justify-content: center !important;
        align-items: stretch;
        flex-wrap: wrap;
        width: 100%;
    }

    #adtm_menu ul#menu>li.advtm_menu_toggle {
        display: none !important;
    }

    #adtm_menu ul#menu>li.li-niveau1 {
        float: none !important;
        display: flex;
    }

    #adtm_menu ul#menu>li.li-niveau1>a.a-niveau1 {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
    }

    #adtm_menu ul#menu li.li-niveau1 a.a-niveau1 .advtm_menu_span {
        justify-content: center;
        gap: 10px;
        text-align: center;
    }
}

/* =========================================================================
   GLOBAL FORM ELEMENTS STYLING
   ========================================================================= */

.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
select,
textarea {
    border: 1px solid var(--color-border) !important;
    border-radius: 10px !important;
    padding: 12px 18px !important;
    font-family: var(--font-main) !important;
    font-size: 0.95rem !important;
    color: var(--text-dark) !important;
    background-color: #fff !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.02) inset !important;
    width: 100%;
}

.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus {
    border-color: var(--primary-teal) !important;
    box-shadow: 0 0 0 4px rgba(56, 189, 248, 0.15) !important;
    outline: none !important;
    background-color: #fff !important;
}

select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    background-size: 15px !important;
    padding-right: 40px !important;
}

textarea {
    resize: vertical;
    min-height: 100px;
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
    color: var(--color-text-muted) !important;
    opacity: 0.7 !important;
}

input[type="search"]::placeholder {
    color: #FF7221 !important;
    opacity: 0.7 !important;
}

/* Base button inputs if any */
input[type="submit"],
button[type="submit"] {
    cursor: pointer;
}

/* =========================================================================
   AUTHENTICATION & CONTACT FORMS BOX STYLING
   ========================================================================= */

#authentication .page-content,
#registration .page-content,
#password .page-content,
.contact-form {
    background: #fff;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    padding: 40px;
    margin-bottom: 40px;
    border: none;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

#authentication .page-content header,
#registration .page-content header,
#password .page-content header,
.contact-form section.form-fields {
    margin-bottom: 20px;
}

/* Specific fix for password reset form (remove grid constraints) */
#password .forgotten-password .form-fields .center-email-fields {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

#password .forgotten-password .btn {
    width: fit-content;
    margin-top: 10px;
}

/* General Layout Fixes for Forms (Login, Register, Contact, Password) */
#login-form .form-group,
#customer-form .form-group,
.contact-form .form-group,
#password .forgotten-password .form-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 10px;
    gap: 8px;
}

/* Override Bootstrap column max-widths to force 100% width vertical layout */
#login-form .form-group .col-md-3,
#login-form .form-group .col-md-5,
#login-form .form-group .col-md-6,
#login-form .form-group .col-md-9,
#customer-form .form-group .col-md-3,
#customer-form .form-group .col-md-5,
#customer-form .form-group .col-md-6,
#customer-form .form-group .col-md-9,
.contact-form .form-group .col-md-3,
.contact-form .form-group .col-md-5,
.contact-form .form-group .col-md-6,
.contact-form .form-group .col-md-9,
#password .forgotten-password .form-group .col-md-3,
#password .forgotten-password .form-group .col-md-5,
#password .forgotten-password .form-group .col-md-6,
#password .forgotten-password .form-group .col-md-9 {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
    text-align: left;
}

/* Ensure labels are aligned left */
.form-control-label {
    text-align: left;
    font-weight: 600;
    color: var(--text-dark);
}

/* Ensure forms submit button container align left */
.form-footer,
.contact-form footer {
    text-align: left;
    margin-top: 20px;
}

h5.elementor-icon-box-title.ce-display-small {
    text-decoration-line: underline;
    padding-top: 4px;
}

.page-my-account #content .links a {
    box-shadow: 1px 2px 3px 0px #ff9a52a1;
}

div#search_widget {
    width: 87%;
    float: left;
}

#search_widget form input[type="text"] {
    width: 100%;
    padding: 10px 40px !important;
}

.product-language-info {
    text-align: center;
}

/* --- Product Image Zoom (Fluid & Modern) --- */
.js-zoom-container {
    overflow: hidden;
    position: relative;
    cursor: zoom-in;
    border-radius: 12px;
    background: white;
}

.js-zoom-container .js-qv-product-cover {
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform, transform-origin;
}

.js-zoom-container .layer,
.js-zoom-container .nav-arrow {
    transition: opacity 0.3s ease;
    pointer-events: auto;
}

/* Ensure the arrows and search icon are above the image but beneath the zoom interactions if needed */
.js-zoom-container .nav-arrow:hover {
    background: rgba(255, 255, 255, 0.9);
}

/* --- Product Upload File (Attachment) --- */
.product-attachments {
    text-align: center;
}

.btn-product-attachment {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    background-color: #f8fafcc2;
    /* border: 1px solid #e2e8f05e; */
    border-radius: 8px;
    color: var(--color-text-main, #1e293b);
    font-size: .95rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s cubic-bezier(.4, 0, .2, 1);
    box-shadow: 0 1px 2px rgb(0 0 0 / .05);

}

.btn-product-attachment:hover {
    background-color: #f1f5f9;
    border-color: #cbd5e1;
    color: var(--primary-teal, #38bdf8);
    transform: translateY(-2px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}

.btn-product-attachment i {
    color: var(--badge-red, #ef4444);
    font-size: 1.25rem;
    transition: transform 0.2s ease;
}

.btn-product-attachment:hover i {
    transform: scale(1.1);
}

/* Password Strength Hint */
.password-strength-hint {
    font-size: 0.85rem;
    color: #6c757d;
    margin-top: 5px;
    margin-bottom: 10px;
    line-height: 1.4;
    font-style: italic;
}

/* Password requirements success state */
.password-requirements .password-requirements-info.is-ok {
    color: #27bc5f !important;
}

.password-requirements .password-requirements-info.is-ok i {
    color: #27bc5f !important;
}

/* --- Button Add to Cart Miniature --- */
.product-miniature-actions {
    margin-top: 15px;
    width: 100%;
}

.add-to-cart-miniature {
    background-color: var(--primary-color, #cda756) !important;
    border-color: var(--primary-color, #cda756) !important;
    color: #fff !important;
    width: 100%;
    font-weight: 700;
    font-size: 0.85rem;
    padding: 10px 15px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-transform: uppercase;
    transition: all 0.2s ease;
    border: none;
    cursor: pointer;
}

.add-to-cart-miniature:hover {
    background-color: #b38e45 !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.add-to-cart-miniature:disabled {
    background-color: #ccc !important;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.add-to-cart-miniature i {
    font-size: 1.1rem;
}

/* Custom stock badges */
.badge.b-stock.out-of-stock-orderable,
.product-badge-pill.stock.out-of-stock-orderable {
    background: #f28c28 !important;
    color: #fff !important;
}

.badge.b-stock.out-of-stock,
.product-badge-pill.stock.out-of-stock {
    background: #dc3545 !important;
    color: #fff !important;
}

.badge.b-stock.pre-order,
.product-badge-pill.stock.pre-order {
    background: #f4c542 !important;
    color: #fff !important;
}

#prices-drop #search_filters {
    box-shadow: -1px 3px 5px 1px #e5b89840;
    border-radius: 11px;
    padding: 0px 0 60px 0;
    margin-top: 96px;
}

/* --- Loyalty Block Styling --- */
.loyalty-block-shopping-cart {
    margin-top: 20px;
    padding: 12px 15px;
    background: #f8f9fa;
    border-radius: 8px;
    border-left: 4px solid #fca311;
    /* Agorajeux Orange */
    font-size: 14px;
    color: #4a4a4a;
    line-height: 1.5;
}

/* Hide the loyalty block if it's empty or has no visible children */
.loyalty-block-shopping-cart:empty,
.loyalty-block-shopping-cart:not(:has(div, a, span, p, img)) {
    display: none !important;
}

/* Hide the loyalty block if it's empty or has no visible children */
.loyalty-block-shopping-cart:empty,
.loyalty-block-shopping-cart:not(:has(div, a, span, p, img)) {
    display: none !important;
}

.loyalty-block-shopping-cart i,
.loyalty-block-shopping-cart strong {
    color: #fca311;
}

select#field-id_country {
    height: 42px !important;
}

.adtm_sub {
    background-color: rgba(255, 255, 255, 0.726);
}

#adtm_menu .adtm_column span.column_wrap_title:hover,
#adtm_menu .adtm_column span.column_wrap_title a:hover,
#adtm_menu .adtm_column span.column_wrap_title span[data-href]:hover {
    color: #ff9a52;
}

/* Remove "Optional" label for phone fields since we made them mandatory (one or the other) */
.form-group:has(input[name="phone"]) .form-control-comment,
.form-group:has(input[name="phone_mobile"]) .form-control-comment {
    display: none !important;
}

.ag-address-phone-note {
    display: block;
    width: 100%;
    margin-top: 0.45rem;
    font-size: 0.85rem;
    color: #6c757d;
}

.ag-address-phone-note.is-error {
    color: #dc3545;
    font-weight: 600;
}

.li-niveau1 .adtm_sub {
    background-color: rgb(255, 255, 255);
}

@media (min-width: 767px) and (max-width: 1200px) {
    .elementor-12170101 .elementor-element.elementor-element-113f853e>.elementor-widget-container {
        padding: 32px 0px 10px 0;
    }
}

@media (max-width: 767px) {
    .elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper {
        text-align: left;
        flex-direction: inherit;
    }

    .elementor-3170101 .elementor-element.elementor-element-cb44cc5>.elementor-widget-container {
        margin: 0 0 0 0;
        padding: 0px 28px 15px 28px;
        background-size: 60% auto;
    }

    .elementor-13170203 .elementor-element.elementor-element-4cce89ba>.elementor-widget-container,
    .elementor-13170203 .elementor-element.elementor-element-575edebb>.elementor-widget-container {
        background-size: auto;
    }

}

.elementor-13170203 .elementor-swiper-button {
    display: inline-flex !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 10 !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
    .elementor-12170101 .elementor-element.elementor-element-113f853e>.elementor-widget-container {
        padding: 16px 4px 1px 0;
    }
}

/* Container parent : forcer le flex en ligne sur mobile */
@media (max-width: 767px) {

    .elementor-element-4dc67ce0 .elementor-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        /* empêche le retour à la ligne */
        justify-content: space-between;
        align-items: center;
    }

    /* Chaque colonne prend 1/3 de largeur */
    .elementor-element-4dc67ce0 .elementor-column {
        width: 33.33% !important;
        max-width: 33.33% !important;
        flex: 0 0 33.33% !important;
    }

    /* Optionnel : centrer le contenu */
    .elementor-element-4dc67ce0 .elementor-widget-wrap {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #headr {
        position: relative !important;
    }

    #headr .elementor-background-overlay {
        pointer-events: none !important;
    }

    #headr .elementor-element-551949a8,
    #headr .elementor-element-551949a8 .elementor-widget-container,
    #headr .elementor-element-551949a8 .elementor-widget-container a {
        position: relative !important;
        z-index: 5 !important;
        pointer-events: auto !important;
    }

    #headr .elementor-element-231d80b9,
    #headr .elementor-element-231d80b9>.elementor-column-wrap,
    #headr .elementor-element-231d80b9>.elementor-column-wrap>.elementor-widget-wrap,
    #headr .elementor-element-62ba0e9a,
    #headr .elementor-element-62ba0e9a>.elementor-column-wrap,
    #headr .elementor-element-62ba0e9a>.elementor-column-wrap>.elementor-widget-wrap,
    #headr .elementor-element-18c7a25,
    #headr .elementor-element-18c7a25>.elementor-container,
    #headr .elementor-element-3dbb4d2b,
    #headr .elementor-element-3dbb4d2b>.elementor-container,
    #headr .elementor-element-2c542d72,
    #headr .elementor-element-2c542d72>.elementor-column-wrap,
    #headr .elementor-element-2c542d72>.elementor-column-wrap>.elementor-widget-wrap,
    #headr .elementor-element-77e9d7a1,
    #headr .elementor-element-77e9d7a1>.elementor-column-wrap,
    #headr .elementor-element-77e9d7a1>.elementor-column-wrap>.elementor-widget-wrap,
    #headr .elementor-element-1d0724f0,
    #headr .elementor-element-1d0724f0>.elementor-column-wrap,
    #headr .elementor-element-1d0724f0>.elementor-column-wrap>.elementor-widget-wrap,
    #headr .elementor-element-28faa847,
    #headr .elementor-element-28faa847>.elementor-column-wrap,
    #headr .elementor-element-28faa847>.elementor-column-wrap>.elementor-widget-wrap,
    #headr .elementor-element-354c7ad0,
    #headr .elementor-element-3c12ecbb,
    #headr .elementor-element-137a8bca,
    #headr .elementor-element-28cbae80,
    #headr .elementor-element-354c7ad0>.elementor-widget-container,
    #headr .elementor-element-3c12ecbb>.elementor-widget-container,
    #headr .elementor-element-137a8bca>.elementor-widget-container,
    #headr .elementor-element-28cbae80>.elementor-widget-container {
        position: static !important;
    }

    #headr .elementor-element-2c542d72,
    #headr .elementor-element-2c542d72>.elementor-column-wrap,
    #headr .elementor-element-2c542d72>.elementor-column-wrap>.elementor-widget-wrap,
    #headr .elementor-element-77e9d7a1,
    #headr .elementor-element-77e9d7a1>.elementor-column-wrap,
    #headr .elementor-element-77e9d7a1>.elementor-column-wrap>.elementor-widget-wrap,
    #headr .elementor-element-1d0724f0,
    #headr .elementor-element-1d0724f0>.elementor-column-wrap,
    #headr .elementor-element-1d0724f0>.elementor-column-wrap>.elementor-widget-wrap,
    #headr .elementor-element-28faa847,
    #headr .elementor-element-28faa847>.elementor-column-wrap,
    #headr .elementor-element-28faa847>.elementor-column-wrap>.elementor-widget-wrap,
    #headr .elementor-element-354c7ad0,
    #headr .elementor-element-3c12ecbb,
    #headr .elementor-element-137a8bca,
    #headr .elementor-element-28cbae80,
    #headr .elementor-element-354c7ad0>.elementor-widget-container,
    #headr .elementor-element-3c12ecbb>.elementor-widget-container,
    #headr .elementor-element-137a8bca>.elementor-widget-container,
    #headr .elementor-element-28cbae80>.elementor-widget-container {
        min-height: 0 !important;
        height: 0 !important;
        overflow: visible !important;
        padding: 0 !important;
        margin: 0 !important;
        width: auto !important;
        background: transparent !important;
        background-image: none !important;
    }

    #headr .elementor-element-354c7ad0 .elementor-cart__toggle,
    #headr .elementor-element-3c12ecbb .elementor-cart__toggle {
        position: absolute !important;
        top: 0px !important;
        right: 74px !important;
        margin: 0 !important;
        z-index: 20 !important;
    }

    #headr .elementor-element-354c7ad0 .elementor-cart__toggle a,
    #headr .elementor-element-3c12ecbb .elementor-cart__toggle a {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
    }

    #headr .elementor-element-354c7ad0 .elementor-cart__toggle .elementor-button-icon,
    #headr .elementor-element-3c12ecbb .elementor-cart__toggle .elementor-button-icon {
        display: inline-block !important;
        width: 35px !important;
        min-width: 35px !important;
        height: 35px !important;
        background: url('/img/cms/Group-1389.svg') center center / contain no-repeat !important;
    }

    #headr .elementor-element-137a8bca #_desktop_shop_selector,
    #headr .elementor-element-28cbae80 #_desktop_shop_selector {
        position: absolute !important;
        top: 5px !important;
        right: 10px !important;
        margin: 0 !important;
        z-index: 21 !important;
    }

}

body.page-order .cart-summary-products .product-name {
    font-size: 1.35rem !important;
    line-height: 1.08 !important;
}

body.page-order .cart-summary-products .product-name a {
    font-size: inherit !important;
    line-height: inherit !important;
}

@media (max-width: 767px) {
    body.page-order .cart-summary-products .media {
        display: flex;
        align-items: flex-start;
        gap: 12px;
    }

    body.page-order .cart-summary-products .media-left {
        flex: 0 0 54px;
        margin-right: 0;
    }

    body.page-order .cart-summary-products .media-body {
        flex: 1 1 auto;
        width: auto !important;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "name name"
            "qty price";
        column-gap: 12px;
        row-gap: 6px;
        align-items: end;
    }

    body.page-order .cart-summary-products .product-name {
        grid-area: name;
        display: block;
        margin: 0 !important;
        width: auto !important;
        max-width: 100%;
        font-size: 0.98rem !important;
        line-height: 1.18 !important;
        font-weight: 700 !important;
        color: var(--color-turquoise) !important;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    body.page-order .cart-summary-products .product-name a {
        display: block;
        color: inherit !important;
        width: auto !important;
        max-width: 100%;
        font-size: inherit !important;
        line-height: inherit !important;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    body.page-order .cart-summary-products .product-quantity {
        grid-area: qty;
        display: block;
    }

    body.page-order .cart-summary-products .product-price {
        grid-area: price;
        display: block;
        float: none !important;
        margin-left: auto;
        text-align: right;
        white-space: nowrap;
    }
}

body.page-cart .cart-detailed-subtotals .cart-summary-line,
body.page-cart .cart-summary-totals .cart-summary-line,
body.page-cart .promo-discounts .cart-summary-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 24px;
    align-items: center;
}

body.page-cart .cart-detailed-subtotals .cart-summary-line,
body.page-cart .cart-summary-totals .cart-summary-line,
body.page-cart .promo-discounts .cart-summary-line {
    padding-left: 25px;
    padding-right: 25px;
}

body.page-cart .cart-summary-totals .cart-summary-line.cart-total {
    padding-left: 25px !important;
    padding-right: 25px !important;
    justify-content: normal !important;
}

body.page-cart .cart-detailed-subtotals .cart-summary-line .label,
body.page-cart .cart-summary-totals .cart-summary-line .label,
body.page-cart .promo-discounts .cart-summary-line .label {
    width: auto !important;
    min-width: 0;
    flex: none !important;
    margin: 0 !important;
    text-align: left !important;
}

body.page-cart .cart-detailed-subtotals .cart-summary-line>.value,
body.page-cart .cart-summary-totals .cart-summary-line>.value {
    width: auto !important;
    min-width: 88px;
    flex: none !important;
    justify-self: end;
    margin: 0 !important;
    float: none !important;
    text-align: right !important;
    white-space: nowrap;
}

body.page-cart #cart-subtotal-shipping>div {
    display: none;
}

@media (max-width: 1024px) {
    .elementor-nav a {
        padding: 13px 0px !important;
    }
}

/* =========================================================================
   SEDESTRAL BLOG STYLES (Mockup Design)
   ========================================================================= */

.sedestral.blog-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 30px;
    padding: 40px 0;
}

.sedestral.blog-post {
    background: #fff;
    border-radius: 12px;
    border: 1px solid var(--color-border);
    padding: 0;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.sedestral.blog-post:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
    border-color: var(--color-turquoise);
}

.sedestral.blog-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none !important;
    color: inherit !important;
}

.sedestral.blog-img {
    width: 100%;
    aspect-ratio: 16/9;
    overflow: hidden;
    background-color: #f1f5f9;
    position: relative;
}

.sedestral.blog-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.sedestral.blog-post:hover .blog-img img {
    transform: scale(1.05);
}

.sedestral.blog-post h2 {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 1.25rem;
    color: #333;
    margin: 20px 20px 10px;
    line-height: 1.3;
}

.sedestral.blog-post:hover h2 {
    color: var(--color-turquoise);
}

.sedestral.snippet {
    font-family: var(--font-main);
    font-size: 0.9rem;
    color: var(--color-text-muted);
    line-height: 1.5;
    margin: 0 20px 20px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex-grow: 1;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .sedestral.blog-list {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    html[lang^="en"] #_desktop_top_menu.adtm_menu_container.hidden-sm-down,
    body.lang-en #_desktop_top_menu.adtm_menu_container.hidden-sm-down {
        display: block !important;
    }

    #adtm_menu.adtm_menu_toggle_open ul#menu {
        display: block !important;
        background: #ffffff;
    }

    #adtm_menu.adtm_menu_toggle_open ul#menu>li.li-niveau1 {
        display: block !important;
        margin: 0;
        border-bottom: 1px solid rgba(45, 211, 163, 0.18);
        position: relative;
    }

    #adtm_menu.adtm_menu_toggle_open ul#menu>li.li-niveau1>a.a-niveau1 {
        display: block;
        float: none;
        background: transparent !important;
    }

    #adtm_menu.adtm_menu_toggle_open ul#menu>li.li-niveau1>a.a-niveau1 .advtm_menu_span {
        position: relative;
        min-height: 56px;
        padding: 14px 54px 14px 18px !important;
        color: #17324d !important;
        background-color: transparent !important;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 12px;
        text-align: left;
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.2;
        background-image: none !important;
    }

    #adtm_menu.adtm_menu_toggle_open ul#menu>li.li-niveau1.sub>a.a-niveau1 .advtm_menu_span::after {
        display: none;
    }

    #adtm_menu.adtm_menu_toggle_open ul#menu>li.li-niveau1.sub>.ag-menu-toggle {
        position: absolute;
        top: 0;
        right: 0;
        width: 56px;
        height: 56px;
        padding: 0;
        border: 0;
        background: transparent;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 4;
        cursor: pointer;
    }

    #adtm_menu.adtm_menu_toggle_open ul#menu>li.li-niveau1.sub>.ag-menu-toggle .ag-menu-toggle__icon {
        width: 10px;
        height: 10px;
        border-right: 3px solid #17324d;
        border-bottom: 3px solid #17324d;
        transform: translateY(-2px) rotate(-45deg);
        transition: transform 0.2s ease, border-color 0.2s ease;
    }

    #adtm_menu.adtm_menu_toggle_open ul#menu>li.li-niveau1>a.a-niveau1 .adtm_menu_icon {
        flex: 0 0 26px;
        width: 26px !important;
        height: 26px !important;
        padding: 0;
        margin-right: 0;
        object-fit: contain;
        filter: brightness(0) saturate(100%) invert(18%) sepia(32%) saturate(957%) hue-rotate(170deg) brightness(93%) contrast(91%);
    }

    #adtm_menu.adtm_menu_toggle_open ul#menu>li.li-niveau1>a.a-niveau1 .pmAtmIcon {
        flex: 0 0 26px;
        width: 26px;
        font-size: 24px;
        line-height: 1;
        color: #17324d;
        text-align: center;
    }

    #adtm_menu.adtm_menu_toggle_open ul#menu>li.li-niveau1.adtm_sub_open>a.a-niveau1 .advtm_menu_span,
    #adtm_menu.adtm_menu_toggle_open ul#menu>li.li-niveau1>a.a-niveau1.advtm_menu_actif .advtm_menu_span {
        color: #ffffff !important;
        background-image:
            linear-gradient(90deg, #489ff8 0%, #2dd3a3 100%) !important;
    }

    #adtm_menu.adtm_menu_toggle_open ul#menu>li.li-niveau1.adtm_sub_open>a.a-niveau1 .advtm_menu_span::after,
    #adtm_menu.adtm_menu_toggle_open ul#menu>li.li-niveau1>a.a-niveau1.advtm_menu_actif .advtm_menu_span::after {
        display: none;
    }

    #adtm_menu.adtm_menu_toggle_open ul#menu>li.li-niveau1.adtm_sub_open>a.a-niveau1 .adtm_menu_icon,
    #adtm_menu.adtm_menu_toggle_open ul#menu>li.li-niveau1>a.a-niveau1.advtm_menu_actif .adtm_menu_icon {
        filter: brightness(0) invert(1);
    }

    #adtm_menu.adtm_menu_toggle_open ul#menu>li.li-niveau1.adtm_sub_open>a.a-niveau1 .pmAtmIcon,
    #adtm_menu.adtm_menu_toggle_open ul#menu>li.li-niveau1>a.a-niveau1.advtm_menu_actif .pmAtmIcon {
        color: #ffffff;
    }

    #adtm_menu.adtm_menu_toggle_open ul#menu>li.li-niveau1.adtm_sub_open>.ag-menu-toggle .ag-menu-toggle__icon,
    #adtm_menu.adtm_menu_toggle_open ul#menu>li.li-niveau1>a.a-niveau1.advtm_menu_actif+.ag-menu-toggle .ag-menu-toggle__icon {
        border-color: #ffffff;
        transform: translateY(-4px) rotate(45deg);
    }

    #adtm_menu.adtm_menu_toggle_open .li-niveau1 .adtm_sub {
        background: #ffffff !important;
        border-top: 1px solid rgba(72, 159, 248, 0.12);
        box-shadow: none;
    }

    #adtm_menu.adtm_menu_toggle_open .adtm_column_wrap span.column_wrap_title,
    #adtm_menu.adtm_menu_toggle_open .adtm_column_wrap span.column_wrap_title a,
    #adtm_menu.adtm_menu_toggle_open .adtm_column_wrap span.column_wrap_title span[data-href] {
        color: #17324d !important;
    }

    #adtm_menu.adtm_menu_toggle_open .adtm_column ul.adtm_elements li,
    #adtm_menu.adtm_menu_toggle_open .adtm_column ul.adtm_elements li a,
    #adtm_menu.adtm_menu_toggle_open .adtm_column ul.adtm_elements li span[data-href] {
        color: #425466 !important;
    }

    #footer .footer-bottom.elementor-top-section .elementor-container {
        width: calc(100% + 20px);
        max-width: calc(100% + 20px);
        margin-left: -10px;
        margin-right: -10px;
        padding: 0;
    }

    #footer .footer-bottom.elementor-top-section .elementor-row {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    #footer .footer-bottom.elementor-top-section .elementor-column {
        width: 100%;
        max-width: 100%;
        margin: 0;
    }

    #footer .footer-bottom.elementor-top-section .elementor-row {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    #footer .footer-bottom.elementor-top-section .ag-footer-accordion {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    #footer .footer-bottom.elementor-top-section .ag-footer-accordion + .ag-footer-accordion {
        margin-top: 0 !important;
    }

    #footer .footer-bottom.elementor-top-section .ag-footer-accordion .elementor-column-wrap,
    #footer .footer-bottom.elementor-top-section .ag-footer-accordion .elementor-widget-wrap {
        padding: 0 !important;
        background: transparent !important;
    }

    #footer .footer-bottom.elementor-top-section .ag-footer-accordion .elementor-column-wrap {
        display: block !important;
        width: 100%;
        height: auto !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    #footer .footer-bottom.elementor-top-section .ag-footer-accordion .elementor-widget-wrap {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin: 0 !important;
    }

    #footer .footer-bottom.elementor-top-section .ag-footer-accordion__toggle {
        width: 100%;
        border: 1px solid rgba(205, 167, 86, 0.3);
        border-radius: 22px;
        background:
            linear-gradient(135deg, rgba(72, 159, 248, 0.12) 0%, rgba(45, 211, 163, 0.1) 100%),
            #ffffff;
        color: #17324d;
        padding: 18px 20px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        font-family: var(--font-heading);
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.2;
        text-transform: uppercase;
        letter-spacing: 0.02em;
        box-shadow: 0 3px 10px rgba(23, 50, 77, 0.08);
        transition:
            color 0.25s ease,
            background 0.25s ease,
            border-color 0.25s ease,
            border-radius 0.25s ease,
            box-shadow 0.25s ease,
            transform 0.25s ease;
    }

    #footer .footer-bottom.elementor-top-section .ag-footer-accordion__toggle::after {
        content: "";
        flex: 0 0 10px;
        width: 10px;
        height: 10px;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: rotate(45deg);
        transition: transform 0.25s ease;
        margin-top: -4px;
    }

    #footer .footer-bottom.elementor-top-section .ag-footer-accordion.is-open .ag-footer-accordion__toggle {
        color: #ffffff;
        border-color: transparent;
        border-radius: 22px 22px 0 0;
        background-image: linear-gradient(90deg, #489ff8 0%, #2dd3a3 100%);
        box-shadow: 0 8px 18px rgba(43, 136, 186, 0.18);
    }

    #footer .footer-bottom.elementor-top-section .ag-footer-accordion.is-open .ag-footer-accordion__toggle::after {
        transform: rotate(-135deg);
        margin-top: 2px;
    }

    #footer .footer-bottom.elementor-top-section .ag-footer-accordion__content {
        background:
            linear-gradient(180deg, rgba(220, 239, 251, 0.99) 0%, rgba(205, 241, 230, 0.99) 58%, rgba(247, 238, 208, 0.99) 100%);
        border: 1px solid rgba(205, 167, 86, 0.22);
        border-top: none;
        border-radius: 0 0 22px 22px;
        padding: 0 20px;
        margin-top: -1px;
        box-shadow: 0 8px 18px rgba(23, 50, 77, 0.08);
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        pointer-events: none;
        transition:
            max-height 0.35s ease,
            opacity 0.28s ease,
            padding 0.28s ease,
            margin-top 0.28s ease;
    }

    #footer .footer-bottom.elementor-top-section .ag-footer-accordion.is-open .ag-footer-accordion__content {
        max-height: calc(var(--ag-footer-content-height, 520px) + 48px);
        opacity: 1;
        padding: 16px 20px 22px;
        pointer-events: auto;
    }

    #footer .footer-bottom.elementor-top-section .ag-footer-accordion__content>[class*="elementor-widget"]+[class*="elementor-widget"] {
        margin-top: 14px;
    }

    #footer .footer-bottom.elementor-top-section .ag-footer-accordion--has-heading .ag-footer-accordion__content>.elementor-widget-heading:first-child {
        display: none !important;
    }

    #footer .footer-bottom.elementor-top-section .ag-footer-accordion__content,
    #footer .footer-bottom.elementor-top-section .ag-footer-accordion__content p,
    #footer .footer-bottom.elementor-top-section .ag-footer-accordion__content span,
    #footer .footer-bottom.elementor-top-section .ag-footer-accordion__content a,
    #footer .footer-bottom.elementor-top-section .ag-footer-accordion__content li {
        color: var(--color-text-main) !important;
    }

    #footer .footer-bottom.elementor-top-section .ag-footer-accordion__content a {
        text-decoration: none;
    }

    #footer .footer-bottom.elementor-top-section .ag-footer-accordion__content .elementor-icon-list-item {
        align-items: flex-start;
    }

    #footer .footer-bottom.elementor-top-section .ag-footer-accordion__content .elementor-icon-list-item+.elementor-icon-list-item {
        margin-top: 10px;
    }

    #footer .footer-bottom.elementor-top-section .ag-footer-accordion__content .elementor-icon-list-icon i,
    #footer .footer-bottom.elementor-top-section .ag-footer-accordion__content .elementor-icon-list-icon svg {
        color: var(--primary-color) !important;
        fill: var(--primary-color) !important;
    }

    #footer .footer-bottom.elementor-top-section .ag-footer-accordion__content .elementor-widget-image img {
        max-width: 150px;
    }
}

@media (min-width: 769px) {
    #footer .footer-bottom.elementor-top-section .ag-footer-accordion__toggle {
        display: none !important;
    }
}

/* --- Add to Cart Disabled State --- */
.add-to-cart:disabled,
.add-to-cart-miniature:disabled {
    background-color: #cccccc !important;
    border-color: #cccccc !important;
    color: #666666 !important;
    cursor: not-allowed !important;
    opacity: 0.7;
}

/* --- Faceted Search Filters Accordion (UX/UI Update) --- */
#search_filters .facet {
    border-bottom: 1px solid var(--color-border);
    margin-bottom: 0.5rem;
}

#search_filters .facet-title-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    padding: 0.75rem 0;
    transition: background 0.2s ease;
}

#search_filters .facet-title-wrapper:hover .facet-title {
    color: var(--primary-color);
}

#search_filters .facet-title-wrapper .facet-title {
    margin-bottom: 0;
    font-weight: 700;
    font-family: var(--font-heading);
    text-transform: uppercase;
    font-size: 0.95rem;
    color: var(--color-text-main);
    transition: color 0.2s ease;
}

#search_filters .collapse-icons {
    display: flex;
    align-items: center;
    justify-content: center;
}

#search_filters .collapse-icons i {
    font-size: 1.25rem;
    color: var(--primary-color);
}

/* Accordion Toggle Logic */
#search_filters .facet-title-wrapper[aria-expanded="true"] .collapse-icons .add {
    display: none;
}

#search_filters .facet-title-wrapper[aria-expanded="true"] .collapse-icons .remove {
    display: block;
}

#search_filters .facet-title-wrapper[aria-expanded="false"] .collapse-icons .add {
    display: block;
}

#search_filters .facet-title-wrapper[aria-expanded="false"] .collapse-icons .remove {
    display: none;
}

#search_filters .facet ul {
    padding: 0 0 1rem 0.5rem;
}

#search_filters .facet ul li {
    list-style: none;
    padding: 0.25rem 0;
}

#search_filters .facet .facet-label {
    display: flex;
    align-items: center;
    margin-bottom: 0;
    width: 100%;
}

#search_filters .facet .facet-label a {
    font-size: 0.85rem;
    color: var(--color-text-main);
    flex-grow: 1;
}

#search_filters .facet .facet-label a:hover {
    color: var(--primary-color);
    text-decoration: none;
}

#search_filters .facet .facet-label .magnitude {
    color: var(--color-text-muted);
    font-size: 0.75rem;
    margin-left: 5px;
}

#search_filters .facet .custom-checkbox,
#search_filters .facet .custom-radio {
    margin-right: 10px;
}

/* Force hide collapsed content if Bootstrap JS is slow or missing */
#search_filters .facet .collapse:not(.show):not(.in) {
    display: none;
}

#search_filters .facet .collapse.show,
#search_filters .facet .collapse.in {
    display: block;
}

/* Mobile: Logo above contact accordion */
@media (max-width: 767px) {
    .elementor-element-78dc042d,
    .elementor-element-2ce03c7e {
        text-align: center !important;
        margin-bottom: 10px;
    }
    .elementor-element-78dc042d img,
    .elementor-element-2ce03c7e img {
        max-width: 180px;
    }
}

/* Codex: promotions and preorder listing text safety */
body#prices-drop .product-info-wrapper,
body.module-ag_preorderlist-list .product-info-wrapper {
    height: auto;
    min-height: 344px;
    padding-bottom: 12px;
}

body#prices-drop .p-title,
body.module-ag_preorderlist-list .p-title {
    min-height: calc(1.4em * 3 + 6px);
    max-height: calc(1.4em * 3 + 6px);
    padding-bottom: 4px;
    box-sizing: border-box;
}

body#prices-drop .p-title a,
body.module-ag_preorderlist-list .p-title a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    overflow-wrap: anywhere;
    line-height: inherit;
}

body#prices-drop .p-desc,
body.module-ag_preorderlist-list .p-desc {
    min-height: calc(1.4em * 3 + 6px);
    max-height: calc(1.4em * 3 + 6px);
    padding-bottom: 4px;
    box-sizing: border-box;
}

@media (max-width: 767px) {
    body#prices-drop .product-info-wrapper,
    body.module-ag_preorderlist-list .product-info-wrapper {
        min-height: 328px;
    }
}

/* Codex: restore Doofinder search on mobile header (FR + EN) */
@media (max-width: 767px) {
  .elementor-18170101 .elementor-element.elementor-element-330648c > .elementor-container > .elementor-row,
  .elementor-16170203 .elementor-element.elementor-element-112c660b > .elementor-container > .elementor-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .elementor-18170101 .elementor-element.elementor-element-77264864.elementor-hidden-phone,
  .elementor-16170203 .elementor-element.elementor-element-317b17ae.elementor-hidden-phone {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    order: 99;
    margin-top: 10px;
  }

  .elementor-18170101 .elementor-element.elementor-element-77264864 > .elementor-column-wrap,
  .elementor-16170203 .elementor-element.elementor-element-317b17ae > .elementor-column-wrap {
    width: 100%;
    padding: 0 12px 10px;
  }

  .elementor-18170101 .elementor-element.elementor-element-7a71eb6d,
  .elementor-16170203 .elementor-element.elementor-element-469841ec {
    width: 100%;
  }

  .elementor-18170101 .elementor-element.elementor-element-7a71eb6d .elementor-search,
  .elementor-16170203 .elementor-element.elementor-element-469841ec .elementor-search {
    width: 100%;
  }

  .elementor-18170101 .elementor-element.elementor-element-7a71eb6d .elementor-search__container,
  .elementor-16170203 .elementor-element.elementor-element-469841ec .elementor-search__container {
    min-height: 46px;
    width: 100%;
    border-radius: 18px !important;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  }

  .elementor-18170101 .elementor-element.elementor-element-7a71eb6d input[type=search].elementor-search__input,
  .elementor-16170203 .elementor-element.elementor-element-469841ec input[type=search].elementor-search__input {
    font-size: 16px;
    line-height: 1.2 !important;
  }

  .elementor-18170101 .elementor-element.elementor-element-7a71eb6d:not(.elementor-search--skin-topbar) .elementor-search__products,
  .elementor-16170203 .elementor-element.elementor-element-469841ec:not(.elementor-search--skin-topbar) .elementor-search__products {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }
}

.ag-phone-field-error .form-control-label,
.ag-phone-field-error label {
    color: #dc3545;
}


/* Codex: tighten homepage hero/new-products gap */
@media (min-width: 1025px) {
  body#index .elementor-3170101 .elementor-element.elementor-element-2f423851 {
    padding-bottom: 4px !important;
  }
}
/* Codex: keep footer logo size after making it clickable */
#footer .elementor-element-2ce03c7e .elementor-widget-container > a,
#footer .elementor-element-78dc042d .elementor-widget-container > a {
    display: inline-block;
    max-width: 53%;
}

#footer .elementor-element-2ce03c7e .elementor-widget-container > a img,
#footer .elementor-element-78dc042d .elementor-widget-container > a img {
    width: 230px;
    max-width: 100% !important;
    height: auto;
}

@media (max-width: 767px) {
    #footer .elementor-element-2ce03c7e .elementor-widget-container > a,
    #footer .elementor-element-78dc042d .elementor-widget-container > a {
        max-width: 180px;
    }
}
