/* Place de la Maroquinerie — design 2027 appliqué au thème at_movic (PrestaShop 1.7.8), chargé après les styles du thème.
   Fond blanc cassé, encre presque noire, un seul accent bordeaux ; Instrument Serif pour les titres, Inter Tight pour le texte. */
:root {
  --mq-fond: #F4F2EF; --mq-blanc: #FFFFFF; --mq-encre: #171513; --mq-texte: #3D3833; --mq-doux: #6B635B;
  --mq-ligne: #DDD7CF; --mq-accent: #6E1E2A; --mq-accent-fonce: #561520; --mq-sable: #C9B8A3;
  --mq-serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;
  --mq-sans: 'Inter Tight', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mq-rayon: 20px;
}
body, #wrapper, #main, .page-home, #content-wrapper { background: var(--mq-fond) !important; }
body { color: var(--mq-encre); font-family: var(--mq-sans) !important; -webkit-font-smoothing: antialiased; }
body p, body li, body a, body span, body label, body input, body button, body select, body td, body th { font-family: var(--mq-sans); }
#wrapper h1, #wrapper h2, #wrapper .h1, #wrapper .h2, .page-title, #wrapper .title_block, .products-section-title, .product-detail-name, #main .page-header h1 {
  font-family: var(--mq-serif) !important; font-weight: 400 !important; letter-spacing: -0.01em; color: var(--mq-encre); text-transform: none !important;
}
h1, .h1, #main .page-header h1, .product-detail-name { font-size: clamp(2.2rem, 3.6vw, 3.2rem) !important; line-height: 1.04 !important; }
#wrapper .title_block, #wrapper h2, #wrapper .h2 { font-size: clamp(1.8rem, 2.6vw, 2.5rem) !important; line-height: 1.08; }
#header .search-by-category .title_block { font-size: 0 !important; }
a { color: var(--mq-encre); } a:hover, a:focus { color: var(--mq-accent); text-decoration: none; }
:focus-visible { outline: 2px solid var(--mq-accent); outline-offset: 2px; }

/* Boutons : pilules, bordeaux plein ou contour encre */
.btn, .btn-primary, .btn-secondary, .btn-default, button.btn { border-radius: 999px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; min-height: 44px; }
.btn-primary, .add-to-cart, .btn.add-to-cart { background: var(--mq-accent) !important; border-color: var(--mq-accent) !important; color: #fff !important; }
.btn-primary:hover, .add-to-cart:hover { background: var(--mq-accent-fonce) !important; border-color: var(--mq-accent-fonce) !important; }
.btn-secondary, .btn-default, .btn-outline-primary { background: transparent !important; border: 1px solid var(--mq-encre) !important; color: var(--mq-encre) !important; }
.btn-secondary:hover, .btn-default:hover, .btn-outline-primary:hover { background: var(--mq-encre) !important; color: var(--mq-fond) !important; }

/* En-tête : bandeau noir, logo, menu sur fond blanc cassé */
#header, #header .header-top, #header .header-nav, #header .ApRow.has-bg { background-color: var(--mq-fond) !important; }
#header .header-banner, #header .ApRow.has-bg[style*="#000"], #header .ApRow.has-bg[style*="rgb(0"] { background-color: var(--mq-encre) !important; }
#header .header-banner .btn, #header [class*="banner"] .btn { background: transparent !important; border: 0 !important; color: var(--mq-fond) !important; font-size: .82rem !important; letter-spacing: .04em !important; }
#header { border-bottom: 1px solid var(--mq-ligne); }
#header .leo-megamenu .nav-link, #header .megamenu .nav-link, #header .navbar-nav > li > a, #header .nav-item > .nav-link {
  font-family: var(--mq-sans) !important; font-weight: 500 !important; font-size: .95rem !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--mq-encre) !important;
}
#header .nav-item > .nav-link:hover, #header .nav-item.open > .nav-link { color: var(--mq-accent) !important; }
#header .dropdown-menu, #header .dropdown-sub, #header .dropdown-menu-inner { background: var(--mq-fond) !important; border: 0 !important; border-top: 1px solid var(--mq-ligne) !important; box-shadow: 0 24px 40px -24px rgba(23, 21, 19, .25) !important; }
#header .menu-title, #header .widget-subcategories .menu-title { font-family: var(--mq-sans) !important; font-weight: 600 !important; text-transform: none !important; color: var(--mq-encre) !important; }
#header .widget-subcategories a, #header .cate-item a { color: var(--mq-texte) !important; font-size: .93rem !important; }
#header .widget-subcategories a:hover, #header .cate-item a:hover { color: var(--mq-accent) !important; }
#header .material-icons, #header .leoquicklogin-icon { color: var(--mq-encre); }
#leo_search_block_top .form-control, #search_widget input { border-radius: 999px !important; background: var(--mq-blanc) !important; border: 1px solid var(--mq-ligne) !important; min-height: 44px; }

/* Fil d'Ariane, en-têtes de catégorie */
.breadcrumb { background: transparent !important; font-size: .85rem; color: var(--mq-doux); }
.breadcrumb a { color: var(--mq-doux) !important; }
#js-product-list-header .block-category, .block-category { background: transparent !important; border: 0 !important; box-shadow: none !important; padding-left: 0 !important; }
.category-description, #category-description { color: var(--mq-texte); font-size: 1.05rem; line-height: 1.6; max-width: 70ch; }

/* Cartes produits */
.product-miniature .thumbnail-container { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.product-miniature .product-image { background: var(--mq-blanc); border-radius: 18px; overflow: hidden; }
.product-miniature .product-image img { mix-blend-mode: multiply; }
.product-miniature .product-meta { padding: .9rem 0 0 !important; text-align: left !important; background: transparent !important; }
.product-miniature .product-title, .product-miniature .product-title a { font-family: var(--mq-sans) !important; font-size: 1rem !important; font-weight: 500 !important; text-transform: none !important; color: var(--mq-encre) !important; line-height: 1.35; }
.product-miniature .product-price-and-shipping { justify-content: flex-start !important; text-align: left !important; }
.product-miniature .price, .product-price-and-shipping .price { font-family: var(--mq-sans) !important; font-weight: 600 !important; font-size: 1rem !important; color: var(--mq-encre) !important; }
.product-miniature .regular-price { color: var(--mq-doux) !important; }
.product-miniature .product-description-short { display: none; }
.product-flags .product-flag { border-radius: 999px !important; font-weight: 600 !important; text-transform: none !important; font-size: .75rem !important; padding: .3rem .7rem !important; }
.product-flags .product-flag.new { background: var(--mq-blanc) !important; color: var(--mq-encre) !important; }
.product-flags .product-flag.discount, .product-flags .product-flag.on-sale, .product-flags .product-flag.discount-percentage { background: var(--mq-accent) !important; color: #fff !important; }
.product-miniature .functional-buttons a, .product-miniature .functional-buttons .btn { border-radius: 999px !important; background: var(--mq-blanc) !important; color: var(--mq-encre) !important; border: 1px solid var(--mq-ligne) !important; }

/* Fiche produit */
.product-detail-name { margin-bottom: .5rem !important; }
.product-prices .current-price span, .product-prices .price { font-family: var(--mq-sans) !important; font-size: 1.6rem !important; font-weight: 600 !important; color: var(--mq-encre) !important; }
.product-cover, .product-images > li.thumb-container .thumb, #content .product-cover img { border-radius: var(--mq-rayon); background: var(--mq-blanc); }
.product-cover img { mix-blend-mode: multiply; }
.product-information, .product-description { color: var(--mq-texte); line-height: 1.6; }
.tabs, .product-tabs, .tab-content { background: transparent !important; border-color: var(--mq-ligne) !important; }
.nav-tabs .nav-link { font-family: var(--mq-sans) !important; font-weight: 600 !important; text-transform: none !important; color: var(--mq-doux) !important; border: 0 !important; }
.nav-tabs .nav-link.active { color: var(--mq-encre) !important; border-bottom: 2px solid var(--mq-encre) !important; background: transparent !important; }
#product-availability { color: #2F6B4F; font-weight: 500; }
.product-quantity .qty .input-group, .bootstrap-touchspin .form-control { border-radius: 999px !important; }

/* Formulaires, blocs */
.form-control, .custom-select, select.form-control { border-radius: 12px !important; border-color: var(--mq-ligne) !important; min-height: 46px; background: var(--mq-blanc) !important; }
.form-control:focus { border-color: var(--mq-encre) !important; box-shadow: 0 0 0 .2rem rgba(110, 30, 42, .15) !important; }
.card, .block, #left-column .block { border-color: var(--mq-ligne) !important; border-radius: var(--mq-rayon); }
#left-column .title_block, .facet-title, .facet .h6 { font-family: var(--mq-sans) !important; font-weight: 600 !important; font-size: 1rem !important; text-transform: none !important; }

/* Pied de page */
#footer, #footer .footer-container, #footer .ApRow, #footer .ApRow.has-bg { background: var(--mq-encre) !important; color: #C9C3BB !important; }
#footer a, #footer p, #footer li, #footer span { color: #C9C3BB !important; }
#footer a:hover { color: #fff !important; }
#footer .title_block, #footer h3, #footer h4, #footer .h3, #footer .h4 { font-family: var(--mq-sans) !important; font-size: 1rem !important; font-weight: 600 !important; color: var(--mq-fond) !important; text-transform: none !important; }
#footer .block_newsletter, #footer .block-newsletter { background: transparent !important; }
#footer .block_newsletter input[type="email"], #footer .block_newsletter input[type="text"] { border-radius: 999px !important; }
#footer .ApHtml a.btn { background: transparent !important; border: 0 !important; color: #fff !important; padding: 0 !important; min-height: 0; text-decoration: underline; }
#back-top a { background: var(--mq-encre) !important; border-radius: 999px !important; }

/* En-tête resserré : bandeau d'annonce fin, pas d'espace mort sous le menu */
#header .header-container > .ApRow.has-bg.bg-fullwidth, #header .header-banner .ApRow { padding-top: 0 !important; padding-bottom: 0 !important; min-height: 0 !important; }
#header .header-container > .ApRow.has-bg.bg-fullwidth .ApColumn, #header .header-container > .ApRow.has-bg.bg-fullwidth .block { padding-top: 8px !important; padding-bottom: 8px !important; margin: 0 !important; min-height: 0 !important; }
#header .header-top .box-top { padding-top: 0 !important; padding-bottom: 0 !important; min-height: 0 !important; }
#header .header-top .box-top .ApColumn { padding-top: 0 !important; padding-bottom: 0 !important; }
#wrapper { padding-top: 0 !important; }

/* Bandeau d'annonce : hauteur réduite (le lien n'est pas un bouton plein, pas de marges de bloc) */
#header .header-container > .container > .inner > .ApRow.bg-fullwidth .ApHtml,
#header .header-container .bg-fullwidth .ApHtml { margin: 0 !important; }
#header .bg-fullwidth .ApHtml .block_content, #header .bg-fullwidth .ApHtml p { margin: 0 !important; padding: 0 !important; }
#header .bg-fullwidth .ApHtml .btn { min-height: 0 !important; padding: 10px 0 !important; line-height: 1.3 !important; }
/* Le thème fixe la hauteur de l'en-tête (305 px) : on la laisse suivre son contenu resserré */
#header { height: auto !important; min-height: 0 !important; } /* hauteur fixe de l'en-tête retirée */
/* Recherche standard en doublon avec la recherche Leo (crée une bande vide de 75 px et une loupe isolée) */
#header #search_widget { display: none !important; }

/* Textes collés avec mise en forme (fond blanc, police Times) : même fond que la page et police du site */
#category-description, #category-description *, .category-description *, .block-category .block-category-inner *,
.cms-content *, #cms .page-content *, .product-description *, #description *, .product-information *, .manufacturer-description * {
  background: transparent !important; background-color: transparent !important; font-family: var(--mq-sans) !important;
}
#category-description, #category-description p, #category-description span { color: var(--mq-texte) !important; font-size: 1.05rem !important; line-height: 1.6 !important; }
/* Bloc de catégories à gauche : fond de la page, simple filet */
#left-column .block, #left-column .block-categories, #left-column #search_filters_wrapper, #left-column .block-categories .block_content { background: transparent !important; box-shadow: none !important; }
#left-column .block, #left-column .block-categories { border: 1px solid var(--mq-ligne) !important; }

/* Méga-menu : panneau collé sous le lien (menu sur une ligne, écart nul : pas de zone invisible qui bloquerait les autres menus) */
#header .leo-megamenu .nav-item.dropdown, #header .megamenu .nav-item.dropdown { position: static; }
#header .leo-megamenu .nav-item.dropdown > .dropdown-menu, #header .leo-megamenu .nav-item.dropdown > .dropdown-sub { margin-top: 0 !important; }

/* Menu sur une seule ligne (sinon le panneau s'ouvre loin sous le lien) */
#header .leo-megamenu .navbar-nav.megamenu { display: flex !important; flex-wrap: nowrap !important; white-space: nowrap; }
#header .leo-megamenu .navbar-nav.megamenu > li { float: none !important; }
#header .leo-megamenu .navbar-nav.megamenu > li > a.nav-link { padding-left: .55rem !important; padding-right: .55rem !important; font-size: .9rem !important; }
@media (max-width: 1199px) { #header .leo-megamenu .navbar-nav.megamenu > li > a.nav-link { padding-left: .35rem !important; padding-right: .35rem !important; font-size: .85rem !important; } }

/* Tunnel de commande et compte client : titres d'étapes sobres (pas de grands titres à empattements) */
body#checkout #wrapper h1, body#checkout #wrapper h2, body#checkout #wrapper .h1, body#checkout #wrapper .h2,
body#checkout .step-title, body#checkout .checkout-step .step-title, body#checkout .js-step-title,
body#cart #wrapper h1, body#order-confirmation #wrapper h2, body#authentication #wrapper h1, body#my-account #wrapper h1 {
  font-family: var(--mq-sans) !important; font-size: 1.1rem !important; line-height: 1.3 !important; font-weight: 600 !important; letter-spacing: 0 !important;
}
body#checkout .checkout-step .step-title { font-size: 1rem !important; }
/* Méga-menu, panneau : retour à la ligne normal pour les libellés longs */
#header .leo-megamenu .dropdown-menu, #header .leo-megamenu .dropdown-menu * , #header .leo-megamenu .dropdown-sub, #header .leo-megamenu .dropdown-sub * { white-space: normal !important; }
/* Titre du panneau sur une ligne (« HOMMES : » ne se coupe pas) */
#header .leo-megamenu .dropdown-menu h1, #header .leo-megamenu .dropdown-menu h2, #header .leo-megamenu .dropdown-menu h3, #header .leo-megamenu .dropdown-menu h4, #header .leo-megamenu .dropdown-menu .title_block { white-space: nowrap !important; }

/* Photo de survol (2e photo du produit) : exactement dans le cadre, sans zoom ni débordement */
.product-miniature .product-image, .product-miniature .thumbnail.product-thumbnail { position: relative; overflow: hidden; border-radius: 18px; }
.product-miniature .product-additional { position: absolute !important; inset: 0 !important; overflow: hidden; background: transparent !important; }
.product-miniature .product-additional:empty { display: none !important; }
.product-miniature .product-additional img { background: var(--mq-blanc); }
.product-miniature .product-additional img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: contain !important; transform: none !important; margin: 0 !important; }
.product-miniature .product-image img { transform: none !important; }
/* Survol : la 2e photo recouvre la 1re (pas de fondu multiply), même cadrage pour les deux */
.product-miniature .product-additional img { mix-blend-mode: normal !important; }
.product-miniature .product-thumbnail > img { object-fit: contain !important; }

/* Mobile : deux produits par ligne dans les listes */
@media (max-width: 575px) {
  #js-product-list .ajax_block_product, #products .ajax_block_product { flex: 0 0 50% !important; max-width: 50% !important; width: 50% !important; padding-left: 6px !important; padding-right: 6px !important; }
  .product-miniature .product-title, .product-miniature .product-title a { font-size: .9rem !important; }
  .product-miniature .price { font-size: .95rem !important; }
  #wrapper h1, #main .page-header h1 { font-size: 2rem !important; }
}

/* Sections d'accueil mobile (dans la feuille versionnée : le fichier regroupé du thème garde un nom fixe et reste en cache) */
@media (max-width: 575px) {
  .mq-accueil .mq-univers, .mq-accueil .mq-produits__grille { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .75rem !important; }
  .mq-accueil .mq-univers__aplat { font-size: 1.35rem !important; }
  .mq-accueil .mq-univers__visuel--aplat { padding: 1rem !important; }
  .mq-accueil .mq-univers__libelle { font-size: .95rem !important; }
  .mq-accueil .mq-marques { font-size: 1.2rem !important; gap: .5rem 1.5rem !important; }
  .mq-accueil .mq-boutique__infos { grid-template-columns: 1fr !important; gap: .2rem !important; }
  .mq-accueil .mq-boutique__infos dd { margin-bottom: .8rem !important; }
  .mq-accueil .mq-hero { gap: 2rem !important; padding-top: 1rem !important; }
}

/* Accueil : image du hero calée à droite pour garder le texte intégré à l image (29/10) */
.mq-accueil .mq-hero__visuel img { object-position: 100% 50% !important; }
