
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@700;800;900&family=Barlow:wght@400;500;600;700;800&display=swap');
*{box-sizing:border-box;margin:0;padding:0;}
body{background:#fff;font-family:'Barlow',sans-serif;width:100%;color:#1A1A2E;background:#fff;}

/* TOPBAR */
.topbar{background:#F4F6FA;padding:6px 32px;display:flex;justify-content:space-between;align-items:center;}
.topbar-item{font-size:11px;color:#6B7E96;display:inline-flex;align-items:center;gap:5px;margin-right:20px;}
.topbar-right{font-size:11px;font-weight:600;color:#4D8FE8;letter-spacing:0.05em;}

/* HEADER */
header{background:#fff;border-bottom:1.5px solid #E8EDF4;padding:0 32px;display:flex;align-items:center;justify-content:space-between;height:68px;position:sticky;top:0;z-index:100;}
.logo-mark{font-family:'Barlow',sans-serif;font-size:26px;font-weight:900;text-transform:uppercase;letter-spacing:0.04em;color:#0F1923;text-transform: none;}
.logo-mark span{color:#1A4FA0;}
.logo-sub{font-size:9px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:#A0AABB;line-height:1;}
.nav{display:flex;gap:0;}
.nav-item{font-size:13px;font-weight:500;letter-spacing:0.02em;color:#4A5568;padding:8px 14px;margin:0 10px;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition: .5s;}

.nav-item.active, .nav-item:hover { 
	color: #1A4FA0;
    /* border-bottom-color: #1A4FA0; */
    background: #1A4FA0;
    border-radius: 5px;
    color: #fff;
}
.header-search{display:flex;align-items:center;background:#F4F6FA;border:1px solid #E0E6F0;border-radius:6px;padding:7px 12px;gap:7px;min-width:180px;}
.header-search input{border:none;background:transparent;font-family:'Barlow',sans-serif;font-size:13px;color:#1A1A2E;outline:none;width:120px;}
.header-search input::placeholder{color:#A0AABB;}
.btn-primary{background:#0F1923;color:#fff;text-align:center;font-family:'Barlow',sans-serif;font-size:13px;font-weight:600;letter-spacing:0.04em;padding:9px 18px;border-radius:6px;border:none;cursor:pointer;white-space:nowrap;}
.btn-secondary{background:#1A4FA0;color:#fff;font-family:'Barlow',sans-serif;font-size:13px;font-weight:600;letter-spacing:0.04em;padding:9px 18px;border-radius:6px;border:none;cursor:pointer;white-space:nowrap;}
.btn-outline{background:transparent;color:#EEF3FB;text-align:center;font-family:'Barlow',sans-serif;font-size:13px;font-weight:600;padding:8px 16px;border-radius:6px;border:1.5px solid #EEF3FB;cursor:pointer;}
header .dot {position: absolute;width:15px;height:15px;background-color: red;right:-6px;top:-2px;border-radius: 15px;display: flex;align-items: center;justify-content: center;color: #fff;font-size: 10px;}
/* REASSURANCE */
.reas{background:#0F1923;border-bottom:1px solid #E0E6F0;padding:10px 32px;display:flex;gap:32px;align-items:center;}
.reas-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#CBD5E0;font-weight:500;}
.reas-item svg{flex-shrink:0;}
.reas-dot{width:4px;height:4px;border-radius:50%;background:#CBD5E0;flex-shrink:0;}

/* HERO */
.hero{background:linear-gradient(135deg,#F7F9FC 0%,#EEF3FB 100%);padding:56px 32px 48px;border-bottom:1px solid #E0E6F0;}
.hero-content {padding:56px 32px 48px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.hero-eyebrow{font-size:11px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:#fff;margin-bottom:12px;}
.hero-title{font-family:'Barlow',sans-serif;font-size:54px;font-weight:900;text-transform:uppercase;letter-spacing:0.01em;color:#0F1923;line-height:0.92;margin-bottom:14px;}
.hero-title span{color:#fff;}
.hero-sub{font-size:15px;color:#fff;line-height:1.65;margin-bottom:24px;max-width:420px;}
.hero-actions{display:flex;gap:10px;align-items:center;}
.hero-stat{text-align:center;}
.hero-stat-num{font-family:'Barlow',sans-serif;font-size:28px;font-weight:900;color:#0F1923;}
.hero-stat-label{font-size:10px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:#A0AABB;margin-top:2px;}
.hero-stats{display:flex;gap:24px;margin-top:28px;padding-top:24px;border-top:1px solid #D8E2EF;}
.hero-visual{background:#ffffff;border-radius:16px;padding:28px;box-shadow:0 4px 24px rgba(46,111,216,0.07);}

/* SEARCH BOX */
.search-box{background:#fff;border:box-shadow:0 2px 16px rgba(46,111,216,0.08);;border-radius:10px;padding:22px 24px;box-shadow:0 2px 16px rgba(46,111,216,0.08);}
.search-title{font-size:11px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:#1A4FA0;margin-bottom:14px;}
@media screen and (max-width: 980px) {
	.search-title{margin-bottom:0px;}
}
.search-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:12px;}
.sel-label{font-size:10px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:#A0AABB;margin-bottom:4px;}
.sel{background:#F7F9FC;border:1px solid #D0DCF0;border-radius:5px;color:#0F1923;font-family:'Barlow',sans-serif;font-size:13px;padding:9px 10px;width:100%;appearance:none;cursor:pointer;outline:none;}
.sel:focus{border-color:#1A4FA0;background:#fff;}
.search-btn{width:100%;background:#1A4FA0;color:#fff;font-family:'Barlow',sans-serif;font-size:13px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;padding:11px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;}
.search-btn:hover{background:#1A4FA0;}

/* SECTIONS */
.section{padding:40px 32px;}
.section-alt{background:#F7F9FC;}
.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px;}
.section-title{font-family:'Barlow',sans-serif;font-size:28px;font-weight:800;text-transform:uppercase;letter-spacing:0.02em;color:#0F1923;}
.section-title span{color:#1A4FA0;}
.section-link{font-size:12px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:#1A4FA0;cursor:pointer;}

/* MARQUES */
.marques-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;}
.marque-card{background:#fff;border-radius:8px;padding:14px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:border-color .15s,box-shadow .15s;box-shadow:2px 2px 16px 0 rgba(0,0,0,.102)}
.marque-card:hover{border-color:#1A4FA0;box-shadow:0 2px 12px rgba(46,111,216,0.1);}
.marque-name{font-size:11px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:#6B7E96;text-align:center;}

/* CHAÎNES */
.chains-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.chain-card{background:#fff;border-radius:8px;padding:16px;cursor:pointer;    box-shadow: 0 2px 16px rgba(46, 111, 216, 0.08);transition:.3s;}
.chain-card:hover{border-color:#1A4FA0;box-shadow:0 2px 12px rgba(46,111,216,0.08);}
.chain-logo{font-family:'Barlow',sans-serif;font-size:19px;font-weight:800;text-transform:uppercase;letter-spacing:0.04em;color:#0F1923;margin-bottom:3px;}
.chain-logo span{color:#1A4FA0;}
.chain-origin{font-size:10px;color:#A0AABB;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:8px;}
.chain-tag{font-size:10px;background:#EEF3FB;color:#1A4FA0;padding:2px 8px;border-radius:3px;display:inline-block;margin:2px 2px 0 0;font-weight:500;}

/* PRODUITS À LA UNE */
.products-grid-home{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}

/* DIMENSIONS */
.dims-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.dim-btn{background:#fff;border:1.5px solid #fff;border-radius:6px;padding:12px 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;box-shadow:2px 2px 16px 0 rgba(0,0,0,.102)}
.dim-btn:hover{border-color:#1A4FA0;background:#F4F8FF;}
.dim-size{font-family:'Barlow',sans-serif;font-size:17px;font-weight:700;color:#0F1923;letter-spacing:0.01em;}
.dim-count{font-size:10px;color:#A0AABB;margin-top:2px;}
.dim-arrow{color:#1A4FA0;font-size:15px;font-weight:700;}

/* CONFIANCE */
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.trust-card{background:#fff;border-radius:10px;padding:20px;text-align:center;}
.trust-icon{width:44px;height:44px;background:#EEF3FB;border-radius:10px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
.trust-title{font-family:'Barlow',sans-serif;font-size:16px;font-weight:700;text-transform:uppercase;color:#0F1923;margin-bottom:5px;}
.trust-body{font-size:12px;color:#6B7E96;line-height:1.55;}

/* FOOTER */
footer {background:#0F1923;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;}
.footer-text{font-size:11px;color:#4D8FE8;}
.footer-link{font-size:11px;color:#EEF3FB;cursor:pointer;display:inline-block;margin-left:16px;}
.footer-link:hover{color:#4D8FE8;}

body {
    margin: 0 auto;
    padding: 0;
}
a {
    color: inherit;
	text-decoration: none;
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
/* SIMILI BOOTSTRAP */
.d-none {
    display: none !important;
}
.d-flex {
    display: flex !important;
}
.d-inline-flex {
    display: inline-flex !important;
}
.flex-wrap {
    flex-flow: wrap;
}
.flex-row {
    flex-flow: row wrap;
}
.flex-column {
    flex-flow: column wrap;
}
.justify-content-center {
    justify-content: center;
}
.justify-content-between {
    justify-content: space-between;
}
.justify-content-end {
    justify-content: flex-end;
}
.align-items-start {
    align-items: flex-start;
}
.align-items-center {
    align-items: center;
}
.align-items-end {
    align-items: flex-end;
}
.container {
    width: 1280px;
    margin: 0 auto;
}
.text-uppercase {
    text-transform: uppercase;
}
.text-justify {
    text-align: justify;
}
.position-relative {
	position: relative;
}
.position-absolute {
	position:absolute
}
.w-50 {
    width: 50%;
}
.w-100 {
    width: 100%;
}
.h-100 {
    height: 100%;
}
.text-center {
	text-align: center;
}
.bold {
	font-weight: bold;
	
}
/* COLORS */
.blue {
	color: #1A4FA0;
}
.blue-bg {
	background-color: #1A4FA0;
}

/* COLORS */


/* FOOTER */
@media all and (max-width:1300px) {
    .container {
		width: 1200px;
	}
}
@media all and (max-width:1070px) {
   
}
/* CAR PRATIK 2021 */
@media screen and (max-width:1200px) {
	.container {
		width: 900px;
	}
}
@media screen and (max-width:1000px) {
	.container {
		width: 100%;
	}
}

/* RESPONSIVE */
@media screen and (max-width: 980px) {
    body.menu-open {
        overflow: hidden;
    }

    .topbar {
        padding: 8px 16px;
    }

    .topbar .container {
        display: block !important;
    }

    .topbar-item {
        margin-right: 12px;
        margin-bottom: 6px;
    }
	.topbar-item.type1 {
        display: none;
    }

    .topbar-right {
        display: block;
        margin-top: 6px;
        line-height: 1.5;
    }

    header.site-header {
        height: auto;
        padding: 12px 16px;
    }

    header.site-header .container {
        width: 100%;
        gap: 12px;
        flex-wrap: wrap;
    }

    .header-brand {
        flex: 1 1 auto;
        min-width: 0;
    }

    .logo-mark {
        font-size: 22px;
    }

    .logo-sub {
        letter-spacing: 0.12em;
    }

    .nav {
        display: none;
    }

    .header-actions {
        gap: 12px !important;
        margin-left: auto;
    }

    .header-actions a small {
        display: none;
    }

    .nav-toggle {
        width: 46px;
        height: 46px;
        display: inline-flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 5px;
        border: 1px solid #D0DCF0;
        border-radius: 10px;
        background: #F7F9FC;
        cursor: pointer;
        padding: 0;
    }

    .nav-toggle span {
        width: 20px;
        height: 2px;
        background: #0F1923;
        border-radius: 999px;
        transition: transform .25s ease, opacity .25s ease;
    }

    .nav-toggle.open span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .nav-toggle.open span:nth-child(2) {
        opacity: 0;
    }

    .nav-toggle.open span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    .menu-toggle {
        position: fixed;
        top: 0;
        right: 0;
        width: min(88vw, 360px);
        height: 100vh;
        background: #0F1923;
        color: #EEF3FB;
        z-index: 120;
        transform: translateX(100%);
        transition: transform .3s ease;
        box-shadow: -12px 0 30px rgba(15, 25, 35, 0.18);
    }

    .menu-toggle.active {
        transform: translateX(0);
    }

    .menu-toggle-close {
        position: absolute;
        top: 20px;
        right: 20px;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(255, 255, 255, 0.15);
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.04);
        color: #EEF3FB;
        cursor: pointer;
        padding: 0;
    }

    .menu-toggle-close:hover {
        background: rgba(255, 255, 255, 0.1);
    }

    .menu-toggle-inner {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 88px 20px 28px;
    }

    .menu-toggle-link {
        display: block;
        padding: 14px 16px;
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.04);
        font-size: 15px;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: #EEF3FB;
    }

    .menu-toggle-link.active {
        background: #1A4FA0;
        border-color: #1A4FA0;
        color: #fff;
    }

    .menu-toggle-meta {
        display: grid;
        gap: 10px;
        padding-top: 12px;
        margin-top: 6px;
        border-top: 1px solid rgba(255, 255, 255, 0.12);
    }

    .menu-toggle-contact {
        color: #9FC1F5;
        font-size: 14px;
        font-weight: 600;
    }
    .reas {
        display: none;
    }
	.topbar .topbar-right {
	    display: none;
    }
	/*
    .reas .container {
        width: 100%;
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 10px;
        align-items: flex-start;
    }

    .reas-dot {
        display: none;
    }
	*/
    .hero {
        padding: 0;
        background-position: center right;
        background-size: cover;
    }

    .hero-content {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 32px 16px;
    }

    .hero-title {
        font-size: 40px;
    }

    .hero-sub {
        max-width: none;
    }

    .hero-actions {
       
    }

    .hero-actions .btn-primary,
    .hero-actions .btn-outline {
        width: 100%;
    }

    .hero-stats {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
		display: none;
    }

    .hero-visual {
        padding: 18px;
    }

    .search-grid,
    .trust-grid,
    .chains-grid,
    .dims-grid,
    .marques-grid,
    .products-grid-home {
        grid-template-columns: 1fr;
    }

    .section {
        padding: 28px 16px;
    }

    .section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .section-title {
        font-size: 24px;
    }

    .marque-card {
        padding: 18px 12px;
    }

    footer {
        padding: 20px 16px;
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .footer-link {
        margin: 0 16px 8px 0;
    }
}

@media screen and (min-width: 981px) {
    .nav-toggle,
    .menu-toggle {
        display: none;
    }
}

.modal {
	position: fixed;
    top: 0;
    left: 0;
    z-index: 1050;
    display: none;
    width: 100%;
    height: 100%;
    overflow: hidden;
    outline: 0;
}


.modal-content {
	position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    pointer-events: auto;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: .3rem;
    outline: 0;
}


/* MODAL PANIER */
.cart-added-modal {
    background: rgba(15, 25, 35, 0.58);
    padding: 24px;
    opacity: 0;
    transition: opacity 0.28s ease;
}

.cart-added-modal.show {
    opacity: 1;
}

.cart-added-modal-dialog {
    max-width: 520px;
    min-height: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cart-added-modal-content {
    border: 0;
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(15, 25, 35, 0.28);
    overflow: hidden;
    opacity: 0;
    transform: translateY(22px) scale(0.96);
    transition: transform 0.34s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.28s ease;
}

.cart-added-modal.show .cart-added-modal-content {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.cart-added-modal-content .modal-header {
    padding: 18px 20px 0;
	text-align: right;
}

.cart-added-modal-content .close {
    margin-left: auto;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 999px;
    background: #eef3fb;
    color: #1a4fa0;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.cart-added-modal-content .close:hover {
    background: #dce8fb;
}

.cart-added-modal-body {
    padding: 12px 28px 8px !important;
	display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
}

.cart-added-modal-body .modal-title {
    margin-bottom: 18px !important;
    font-family: 'Barlow', sans-serif;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.05;
    color: #0f1923;
}

.cart-added-modal-primary {
    min-height: 40px;
    padding: 0 22px;
    border-radius: 7px;
    background: linear-gradient(135deg, #2e6fd8 0%, #1a4fa0 100%);
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    justify-content: center;
    box-shadow: 0 14px 30px rgba(46, 111, 216, 0.26);
	display: flex;
	align-items: center;
}

.cart-added-modal-primary:hover {
    background: linear-gradient(135deg, #3f7ae0 0%, #1a4fa0 100%);
}

.cart-added-modal-content .modal-footer {
    padding: 0px 28px 34px;
	text-align: center;
}

.cart-added-modal-secondary {
    color: #5d6c80;
    font-size: 13px;
    font-weight: 600;
}

.cart-added-modal-secondary:hover {
    color: #1a4fa0;
}

.cart-added-modal-primary,
.cart-added-modal-secondary,
.cart-added-modal-content .close {
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.cart-added-modal-primary:hover,
.cart-added-modal-content .close:hover {
    transform: translateY(-1px);
}

.cart-added-modal-secondary:hover {
    transform: translateY(-1px);
}

@media screen and (max-width: 640px) {
    .cart-added-modal {
        padding: 16px;
    }

    .cart-added-modal-dialog {
        max-width: 100%;
    }

    .cart-added-modal-body {
        padding: 8px 18px 4px !important;
    }

    .cart-added-modal-content .modal-footer {
        padding: 8px 18px 20px;
    }

    .cart-added-modal-body .modal-title {
        font-size: 15px;
    }

    .cart-added-modal-primary {
        width: 100%;
    }
}

/* Contenu issu de l'éditeur riche (CKEditor5) : l'attribut HTML height doit être
   ignoré au profit de aspect-ratio, sinon les images redimensionnées en % sont déformées. */
img.image_resized {
    height: auto;
}

/* MESSAGES FLASH (Session::flash) : utilisés par tous les formulaires (contact, connexion, inscription...) */
.sufee-alert.alert {
    position: relative;
    display: block;
    margin: 0 0 20px;
    padding: 14px 40px 14px 18px;
    border-radius: 8px;
    border: 1px solid transparent;
    font-size: 13.5px;
    line-height: 1.5;
}
.sufee-alert.alert-danger {
    background: #FDECEA;
    border-color: #F5C2C0;
    color: #B42318;
}
.sufee-alert.alert-success {
    background: #E6F7EE;
    border-color: #BEE8CF;
    color: #276749;
}
.sufee-alert.alert-warning {
    background: #FFF3E0;
    border-color: #F5DDB0;
    color: #B7791F;
}
.sufee-alert .badge {
    display: inline-block;
    margin-right: 8px;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 700;
}
.sufee-alert .close {
    position: absolute;
    top: 8px;
    right: 10px;
    background: transparent;
    border: none;
    font-size: 18px;
    line-height: 1;
    color: inherit;
    opacity: .6;
    cursor: pointer;
    padding: 4px;
}
.sufee-alert .close:hover {
    opacity: 1;
}
