/* * LBDJ Theme - Bootstrap 5 Custom Theme * La Boutique du Japon - Refonte 2026 *//* ======================================== CSS Variables ======================================== */:root{ --lbdj-red:#c83a3a; --lbdj-red-dark:#b32727; --lbdj-red-light:#d45050; --lbdj-tan:#b39770; --lbdj-tan-dark:#9a8362; --lbdj-tan-light:#c9b08e; --lbdj-beige:#f6eee3; --lbdj-beige-dark:#e4dcd2; --lbdj-green:#7DB641; --lbdj-green-dark:#6a9a35; --lbdj-green-light:#8AC42F; --lbdj-dark:#292929; --lbdj-text:#66635B; --lbdj-text-dark:#282b2f; --lbdj-text-heading:#3e3d39; --lbdj-gray-900:#333333; --lbdj-gray-700:#555555; --lbdj-gray-600:#686868; --lbdj-gray-400:#999999; --lbdj-gray-200:#cdcdcd; --lbdj-gray-100:#ebebeb; --bs-primary:var(--lbdj-red); --bs-primary-rgb:200, 58, 58; --bs-success:var(--lbdj-green); --bs-success-rgb:125, 182, 65; --lbdj-font-family:'Roboto Slab', Georgia, serif; --lbdj-font-body:'Roboto Slab', Arial, Verdana, sans-serif; --lbdj-shadow-sm:0 2px 8px rgba(0, 0, 0, 0.08); --lbdj-shadow-md:0 4px 16px rgba(0, 0, 0, 0.1); --lbdj-shadow-lg:0 8px 24px rgba(0, 0, 0, 0.12); --lbdj-shadow-hover:0 12px 32px rgba(0, 0, 0, 0.15); --lbdj-radius-sm:8px; --lbdj-radius-md:12px; --lbdj-radius-lg:16px; --lbdj-radius-pill:50px; --lbdj-transition-fast:0.15s ease; --lbdj-transition-base:0.2s ease; --lbdj-transition-smooth:0.3s ease;}/* ======================================== Bootstrap Primary Button Overrides ======================================== */.btn-primary{ --bs-btn-bg:var(--lbdj-red); --bs-btn-border-color:var(--lbdj-red); --bs-btn-color:#fff; --bs-btn-hover-bg:var(--lbdj-red-dark); --bs-btn-hover-border-color:var(--lbdj-red-dark); --bs-btn-hover-color:#fff; --bs-btn-active-bg:var(--lbdj-red-dark); --bs-btn-active-border-color:var(--lbdj-red-dark); --bs-btn-active-color:#fff; --bs-btn-disabled-bg:var(--lbdj-red); --bs-btn-disabled-border-color:var(--lbdj-red);}.btn-outline-primary{ --bs-btn-color:var(--lbdj-red); --bs-btn-border-color:var(--lbdj-red); --bs-btn-hover-bg:var(--lbdj-red); --bs-btn-hover-border-color:var(--lbdj-red); --bs-btn-hover-color:#fff; --bs-btn-active-bg:var(--lbdj-red-dark); --bs-btn-active-border-color:var(--lbdj-red-dark); --bs-btn-active-color:#fff;}/* ======================================== Base Styles ======================================== */body{ font-family:var(--lbdj-font-body); color:var(--lbdj-text); background-color:#f5f0ea; font-size:14px; line-height:20px;}a{ color:var(--lbdj-text); text-decoration:none; transition:color 0.2s ease;}a:hover{ color:var(--lbdj-red);}h1, h2, h3, h4, h5, h6{ font-family:var(--lbdj-font-family); font-weight:600;}/* ======================================== Top Bar ======================================== */.lbdj-topbar{ background-color:var(--lbdj-beige); padding:8px 0; font-size:13px; border-bottom:1px solid var(--lbdj-beige-dark); color:var(--lbdj-text);}.lbdj-topbar .highlight{ color:var(--lbdj-red); font-weight:bold;}.lbdj-topbar-link{ color:var(--lbdj-text); text-decoration:none;}.lbdj-topbar-link:hover{ color:var(--lbdj-red); text-decoration:underline;}.lbdj-topbar-sep{ margin:0 6px; opacity:0.4;}@media (max-width:991.98px){ .lbdj-topbar-link, .lbdj-topbar-sep{ display:none;}}/* ======================================== Header ======================================== */.lbdj-header{ background-color:var(--lbdj-beige); padding:15px 0; box-shadow:var(--lbdj-shadow-sm); position:sticky; top:0; z-index:1000;}.lbdj-logo img{ max-height:80px; width:auto;}/* Search - Rectangular style with bottom accent */.lbdj-search{ position:relative;}.lbdj-search input{ border:none; border-bottom:3px solid var(--lbdj-tan-light); border-radius:var(--lbdj-radius-sm) var(--lbdj-radius-sm) 0 0; padding:12px 50px 12px 16px; width:100%; font-size:0.95rem; font-family:var(--lbdj-font-body); transition:var(--lbdj-transition-base); min-height:44px; background-color:#fff;}.lbdj-search input:focus{ outline:none; border-bottom-color:var(--lbdj-red); box-shadow:0 4px 12px rgba(179, 151, 112, 0.15);}.lbdj-search input::placeholder{ color:var(--lbdj-gray-400);}.lbdj-search button{ position:absolute; right:4px; top:50%; transform:translateY(-50%); background:var(--lbdj-tan); border:none; border-radius:var(--lbdj-radius-sm); width:36px; height:36px; color:#fff; cursor:pointer; transition:var(--lbdj-transition-base); display:flex; align-items:center; justify-content:center;}.lbdj-search button:hover{ background:var(--lbdj-red); transform:translateY(-50%) scale(1.05);}/* Mini Cart */.lbdj-minicart{ position:relative;}.lbdj-minicart-icon{ font-size:24px; color:var(--lbdj-text-dark); position:relative; display:inline-block; cursor:pointer; transition:color 0.2s ease;}.lbdj-minicart-icon:hover{ color:var(--lbdj-tan);}.lbdj-minicart-count{ position:absolute; top:-8px; right:-8px; background:var(--lbdj-red); color:#fff; font-size:11px; font-weight:bold; width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center;}.lbdj-minicart-total-display{ font-size:14px; font-weight:bold; color:var(--lbdj-text-dark); margin-left:8px;}/* Mini Cart Dropdown */.lbdj-minicart-dropdown{ position:absolute; top:100%; right:0; width:350px; background:#fff; box-shadow:var(--lbdj-shadow-lg); border-radius:var(--lbdj-radius-sm); padding:20px; opacity:0; visibility:hidden; transform:translateY(10px); transition:all 0.3s ease; z-index:9999; border:1px solid var(--lbdj-gray-100); border-top:3px solid var(--lbdj-tan);}.lbdj-minicart:hover .lbdj-minicart-dropdown{ opacity:1; visibility:visible; transform:translateY(0);}.lbdj-minicart-dropdown h4{ font-size:15px; font-weight:700; margin-bottom:15px; padding-bottom:10px; border-bottom:2px solid var(--lbdj-gray-100); color:var(--lbdj-text-dark);}.lbdj-minicart-items{ max-height:280px; overflow-y:auto;}.lbdj-minicart-item{ display:flex; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--lbdj-gray-100);}.lbdj-minicart-item img{ width:50px; height:50px; object-fit:contain; border-radius:6px;}.lbdj-minicart-item-name{ font-size:13px; font-weight:500; color:var(--lbdj-text-dark);}.lbdj-minicart-item-qty{ font-size:12px; color:var(--lbdj-gray-400);}.lbdj-minicart-more{ text-align:center; font-size:12px; color:var(--lbdj-gray-400); padding:8px 0;}.lbdj-minicart-total{ display:flex; justify-content:space-between; font-weight:700; font-size:16px; padding:12px 0; border-top:2px solid var(--lbdj-gray-100); margin-top:10px; color:var(--lbdj-text-dark);}.lbdj-minicart-total span:last-child{ color:var(--lbdj-red);}.lbdj-minicart-actions{ display:flex; gap:10px; margin-top:12px;}.lbdj-minicart-actions a{ flex:1; text-align:center; padding:10px; border-radius:var(--lbdj-radius-sm); font-weight:600; font-size:13px; transition:var(--lbdj-transition-base);}.lbdj-minicart-actions a:first-child{ background:var(--lbdj-gray-100); color:var(--lbdj-text-dark);}.lbdj-minicart-actions a:first-child:hover{ background:var(--lbdj-gray-200);}.lbdj-minicart-actions a:last-child{ background:var(--lbdj-green); color:#fff;}.lbdj-minicart-actions a:last-child:hover{ background:var(--lbdj-green-dark);}.lbdj-minicart-empty{ display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; padding:25px 0; color:var(--lbdj-gray-400);}.lbdj-minicart-empty i{ font-size:32px;}/* Account */.lbdj-account-icon{ font-size:24px; color:var(--lbdj-text-dark); cursor:pointer; transition:color 0.2s ease;}.lbdj-account-icon:hover{ color:var(--lbdj-tan);}/* ======================================== Navigation & Mega Menu ======================================== */.lbdj-navbar{ background-color:var(--lbdj-tan); padding:0; position:relative;}.lbdj-navbar .navbar-nav{ width:100%; justify-content:center;}.lbdj-navbar .navbar-nav .nav-link{ color:#fff; font-size:14px; font-weight:500; text-transform:uppercase; padding:15px 18px; transition:all 0.3s ease; position:relative; letter-spacing:0.3px;}.lbdj-navbar .navbar-nav .nav-link::after{ content:''; position:absolute; bottom:0; left:50%; width:0; height:3px; background:#fff; transition:all 0.3s ease; transform:translateX(-50%); border-radius:3px 3px 0 0;}.lbdj-navbar .navbar-nav .nav-link:hover::after,.lbdj-navbar .navbar-nav .nav-link:focus::after{ width:80%;}.lbdj-navbar .navbar-nav .nav-link:hover,.lbdj-navbar .navbar-nav .nav-link:focus{ color:#fff; text-shadow:0 0 8px rgba(255,255,255,0.3);}.lbdj-navbar .navbar-nav .nav-item.dropdown{ position:static;}.lbdj-navbar .navbar-nav .nav-item.dropdown:hover > .nav-link::after{ width:80%;}/* ======================================== MEGA MENU ======================================== */.lbdj-megamenu{ position:absolute; top:100%; left:0; right:0; width:100%; background:#fff; box-shadow:0 20px 50px rgba(0,0,0,0.15); padding:0; opacity:0; visibility:hidden; transform:translateY(0) scaleY(0.95); transform-origin:top center; transition:all 0.25s cubic-bezier(0.4, 0, 0.2, 1); z-index:9999; border-top:3px solid var(--lbdj-tan); border-bottom:3px solid var(--lbdj-beige-dark);}.lbdj-navbar .nav-item.dropdown:hover .lbdj-megamenu{ opacity:1; visibility:visible; transform:translateY(0) scaleY(1); transition-delay:200ms;}.lbdj-megamenu-title{ color:var(--lbdj-tan); font-weight:700; font-size:16px; text-transform:uppercase; margin:20px 15px 15px 15px; padding-bottom:12px; border-bottom:3px solid var(--lbdj-tan); display:inline-block;}.lbdj-megamenu-column{ padding:15px; border-right:1px solid var(--lbdj-gray-100);}.lbdj-megamenu-column:last-child{ border-right:none;}.lbdj-megamenu-column ul{ list-style:none; padding:0; margin:0;}.lbdj-megamenu-column ul li{ margin-bottom:10px;}.lbdj-megamenu-column ul li a{ color:var(--lbdj-gray-600); font-size:14px; transition:all 0.2s ease; display:block; padding:4px 0;}.lbdj-megamenu-column ul li a:hover{ color:var(--lbdj-tan-dark); padding-left:10px; border-left:2px solid var(--lbdj-tan);}/* Mega Menu Promo */.lbdj-megamenu-promo{ background:linear-gradient(135deg, var(--lbdj-tan) 0%, var(--lbdj-tan-dark) 100%); border-radius:var(--lbdj-radius-md); padding:25px; color:#fff; text-align:center;}.lbdj-megamenu-promo-col{ display:flex; align-items:flex-start; border-right:none;}.lbdj-megamenu-promo h5{color:#fff;margin-bottom:10px;font-size:18px}.lbdj-megamenu-promo p{font-size:14px;opacity:0.9;margin-bottom:15px}.lbdj-megamenu-promo .btn{ background:#fff; color:var(--lbdj-tan-dark); font-weight:bold; border:none; padding:10px 25px; border-radius:25px;}.lbdj-megamenu-promo .btn:hover{ background:var(--lbdj-gray-100); color:var(--lbdj-red);}/* ======================================== Breadcrumb ======================================== */.lbdj-breadcrumb{ background-color:transparent; padding:0; font-size:0.8125rem;}.lbdj-breadcrumb .container{ background:#fff; padding:0.75rem var(--bs-gutter-x, 0.75rem); box-shadow:0 0 20px rgba(0, 0, 0, 0.04);}.lbdj-breadcrumb .breadcrumb{ margin-bottom:0; --bs-breadcrumb-divider:'›';}.lbdj-breadcrumb .breadcrumb-item + .breadcrumb-item::before{ content:'›'; font-size:16px; font-weight:bold; color:var(--lbdj-tan-light); padding:0 6px;}.lbdj-breadcrumb a{ color:var(--lbdj-tan);}.lbdj-breadcrumb a:hover{ color:var(--lbdj-red); text-decoration:underline;}.lbdj-breadcrumb .active{ color:var(--lbdj-text-dark); font-weight:500;}/* ======================================== Main Content ======================================== */.lbdj-main{ background:transparent; padding:0; min-height:500px;}.lbdj-main > .container{ background:#fff; box-shadow:0 0 20px rgba(0, 0, 0, 0.06); padding-top:1.875rem; padding-bottom:1.875rem;}.lbdj-content{ padding:0 1.5rem;}/* ======================================== Content Typography ======================================== */.lbdj-content h1{ color:var(--lbdj-text-heading); font-size:20px; text-transform:uppercase; margin-bottom:1.25rem; padding-bottom:0.75rem; padding-left:14px; border-bottom:2px solid var(--lbdj-gray-100); border-left:4px solid var(--lbdj-tan);}.lbdj-content h2{ color:var(--lbdj-text-heading); font-size:18px; margin:1.5rem 0 0.75rem; font-weight:bold;}.lbdj-content h3{ color:var(--lbdj-red); font-size:16px; margin:1.25rem 0 0.625rem;}.lbdj-content p{ line-height:1.7; margin-bottom:12px; color:var(--lbdj-text);}.lbdj-content ul, .lbdj-content ol{ margin-bottom:20px; padding-left:25px;}.lbdj-content ul li, .lbdj-content ol li{ margin-bottom:8px; line-height:1.6;}.lbdj-content img{ max-width:100%; height:auto; border-radius:6px;}.lbdj-content a{ color:var(--lbdj-red);}.lbdj-content a.btn{ color:var(--bs-btn-color); text-decoration:none;}.lbdj-content a.btn:hover{ color:var(--bs-btn-hover-color); text-decoration:none;}.lbdj-content a:hover{ color:var(--lbdj-red-dark); text-decoration:underline;}/* Tables */.lbdj-content table{ width:100%; margin-bottom:20px; border-collapse:collapse;}.lbdj-content table td, .lbdj-content table th{ padding:10px; border:1px solid var(--lbdj-gray-200);}.lbdj-content table th{ background:var(--lbdj-gray-100); font-weight:600;}/* Forms */.lbdj-content input[type="text"],.lbdj-content input[type="email"],.lbdj-content input[type="password"],.lbdj-content textarea,.lbdj-content select{ width:100%; padding:10px 12px; border:2px solid var(--lbdj-gray-200); border-radius:var(--lbdj-radius-sm); font-size:14px; margin-bottom:12px; transition:border-color 0.2s ease; font-family:var(--lbdj-font-body);}.lbdj-content input:focus,.lbdj-content textarea:focus,.lbdj-content select:focus{ outline:none; border-color:var(--lbdj-red);}.lbdj-content input[type="submit"],.lbdj-content .button{ background:var(--lbdj-red); color:#fff; border:none; padding:10px 24px; border-radius:var(--lbdj-radius-sm); font-size:14px; font-weight:600; cursor:pointer; transition:all 0.2s ease; display:inline-block; line-height:28px; text-align:center;}.lbdj-content input[type="submit"]:hover,.lbdj-content .button:hover{ background:var(--lbdj-red-dark); color:#fff; text-decoration:none;}/* ======================================== Footer ======================================== */.lbdj-footer{ background-color:var(--lbdj-dark); color:#fff; padding:50px 0 20px; margin-top:0;}.lbdj-footer h5{ color:#fff; font-size:15px; margin-bottom:20px; text-transform:uppercase; font-weight:700;}.lbdj-footer p{ color:#bbb; font-size:13px; line-height:1.6;}.lbdj-footer ul{ list-style:none; padding:0; margin:0;}.lbdj-footer ul li{ margin-bottom:10px;}.lbdj-footer a{ color:#bbb; font-size:13px; transition:all 0.2s ease;}.lbdj-footer a:hover{ color:#fff; padding-left:5px;}.lbdj-footer-bottom{ border-top:1px solid #444; padding-top:25px; margin-top:40px; font-size:12px; color:#888;}.lbdj-footer-bottom a{ color:var(--lbdj-red);}/* Newsletter */.lbdj-newsletter{ display:flex; max-width:400px;}.lbdj-newsletter input[type="email"]{ flex:1; border-radius:var(--lbdj-radius-sm) 0 0 var(--lbdj-radius-sm); border:2px solid rgba(255,255,255,0.2); border-right:none; padding:12px 18px; font-size:13px; background:rgba(255,255,255,0.1); color:#fff; margin-bottom:0; width:auto;}.lbdj-newsletter input::placeholder{ color:rgba(255,255,255,0.5);}.lbdj-newsletter input:focus{ background:rgba(255,255,255,0.15); border-color:var(--lbdj-tan); outline:none;}.lbdj-newsletter button{ border-radius:0 var(--lbdj-radius-sm) var(--lbdj-radius-sm) 0; background:var(--lbdj-tan); border:2px solid var(--lbdj-tan); color:#fff; padding:12px 22px; font-weight:bold; cursor:pointer; transition:var(--lbdj-transition-base); text-transform:uppercase; letter-spacing:1px;}.lbdj-newsletter button:hover{ background:var(--lbdj-red); border-color:var(--lbdj-red);}.lbdj-newsletter-feedback{ margin-top:8px; display:none;}/* Footer delivery block with background frame */.lbdj-footer-delivery{ background:rgba(255, 255, 255, 0.08); border:1px solid rgba(255, 255, 255, 0.15); border-radius:var(--lbdj-radius-md); padding:20px 16px; text-align:center;}.lbdj-footer-delivery h5{ margin-bottom:15px;}.lbdj-footer-logo img{ max-height:50px; margin-top:5px; opacity:0.9; border-radius:4px;}/* ======================================== Messages (valid/error/warning) ======================================== */.message{ background-size:40px 40px; background-image:linear-gradient(135deg, rgba(255,255,255,.05) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.05) 50%, rgba(255,255,255,.05) 75%, transparent 75%, transparent); box-shadow:inset 0 -1px 0 rgba(255,255,255,.4); width:100%; border:1px solid; color:#fff; padding:15px; position:fixed; text-shadow:0 1px 0 rgba(0,0,0,.5); animation:animate-bg 5s linear infinite; display:none; bottom:0; text-align:center; z-index:100000; font-weight:bold;}.message p{margin:0;font-weight:bold}.info{background-color:#4ea5cd;border-color:#3b8eb5}.error{background-color:#de4343;border-color:#c43d3d}.warning{background-color:#eaaf51;border-color:#d99a36}.success, .valid{background-color:#61b832;border-color:#55a12c}@keyframes animate-bg{ from{background-position:0 0} to{background-position:-80px 0}}/* ======================================== LEGACY:Homepage (#pageHome) ======================================== */#pageHome h1{ text-align:center; margin-bottom:20px;}#pageHome h2{ font-size:18px; font-weight:bold; color:var(--lbdj-text-heading); margin:20px 0 15px; padding-bottom:8px; border-bottom:2px solid var(--lbdj-gray-100);}#pageHome h2 span{display:none}/* Homepage banners */.aBannerHome{ display:grid; grid-template-columns:repeat(3, 1fr); gap:15px; margin:15px 0;}.aBannerHome > a{ display:block; border-radius:var(--lbdj-radius-sm); overflow:hidden; transition:var(--lbdj-transition-smooth); box-shadow:var(--lbdj-shadow-sm); background:#fff; border-left:4px solid var(--lbdj-beige-dark);}.aBannerHome > a:hover{ transform:translateY(-4px); box-shadow:var(--lbdj-shadow-hover); border-left-color:var(--lbdj-tan);}.aBannerHome > a > div{ padding:15px; text-align:center;}.aBannerHome h5{ font-size:15px; font-weight:700; color:var(--lbdj-tan-dark); text-transform:uppercase; margin-bottom:10px; letter-spacing:0.5px; position:relative; display:inline-block;}.aBannerHome h5::after{ content:''; position:absolute; bottom:-2px; left:0; width:30px; height:2px; background:var(--lbdj-red);}.aBannerHome img{ max-height:100px; max-width:100%; margin:10px auto; display:block;}.aBannerHome p{ font-size:12px; color:var(--lbdj-text); line-height:1.4; margin:0;}@media (max-width:767.98px){ .aBannerHome{ grid-template-columns:repeat(2, 1fr);}}@media (max-width:575.98px){ .aBannerHome{ grid-template-columns:1fr;}}/* ======================================== Static Pages (livraison, paiements, mentions) ======================================== */.lbdj-content .lbdj-static-page{ background:#fff; border-radius:var(--lbdj-radius-lg); padding:2rem; box-shadow:var(--lbdj-shadow-sm); margin-bottom:1.5rem; line-height:1.7; color:var(--lbdj-text);}.lbdj-content .lbdj-static-page h2,.lbdj-content .lbdj-static-page h3{ font-family:'Roboto Slab', serif; color:var(--lbdj-text-dark); font-weight:700; margin:1.5rem 0 0.75rem 0; padding-bottom:0.5rem; border-bottom:2px solid var(--lbdj-beige);}.lbdj-content .lbdj-static-page h2{font-size:1.2rem}.lbdj-content .lbdj-static-page h3{font-size:1.05rem}.lbdj-content .lbdj-static-page h3 i{ color:var(--lbdj-tan); margin-right:6px;}.lbdj-content .lbdj-static-page p{ margin-bottom:1rem; font-size:0.95rem;}.lbdj-content .lbdj-static-page a{ color:var(--lbdj-tan-dark); font-weight:600; text-decoration:underline;}.lbdj-content .lbdj-static-page a:hover{ color:var(--lbdj-red);}.lbdj-content .lbdj-static-page strong,.lbdj-content .lbdj-static-page b{ color:var(--lbdj-text-dark);}.lbdj-content .lbdj-static-page img{ max-width:100%; height:auto; border-radius:var(--lbdj-radius-sm); margin:0.5rem 0;}.lbdj-content .lbdj-static-page table{ width:100%; border-collapse:collapse; margin:1rem 0; font-size:0.9rem;}.lbdj-content .lbdj-static-page table th,.lbdj-content .lbdj-static-page table td{ padding:0.75rem; border:1px solid var(--lbdj-gray-100); vertical-align:top;}.lbdj-content .lbdj-static-page table th{ background:var(--lbdj-beige); font-weight:700; color:var(--lbdj-text-dark);}/* Static page cards (mentions legales) */.lbdj-content .lbdj-static-card{ background:var(--lbdj-gray-50); border-radius:var(--lbdj-radius-md); padding:1.25rem 1.5rem; margin-bottom:1rem; border-left:3px solid var(--lbdj-tan);}.lbdj-content .lbdj-static-card h3{ margin-top:0; border-bottom:none; padding-bottom:0;}.lbdj-content .lbdj-static-card p:last-child{ margin-bottom:0;}@media (max-width:767.98px){ .lbdj-content .lbdj-static-page{ padding:1.25rem;}}/* ======================================== LEGACY:Product List (#product_list) ======================================== */#product_list{ display:grid; grid-template-columns:repeat(4, 1fr); gap:18px; list-style:none; padding:0; margin:15px 0; width:100%;}/* Prevent .clearfix pseudo-elements from becoming grid items */#product_list::before,#product_list::after,.aBannerHome::before,.aBannerHome::after{ display:none; content:none;}/* Hide legacy shadow divs injected inside product grid (nouveautes.php) */#product_list .shadowProductsCategories{ display:none;}#product_list li{ display:flex; flex-wrap:wrap; justify-content:center; align-items:flex-start; align-content:flex-start; background:#fff; border:1px solid var(--lbdj-gray-200); border-radius:var(--lbdj-radius-md); overflow:hidden; transition:var(--lbdj-transition-smooth); padding:15px; height:auto; width:auto; float:none !important; margin:0; position:relative;}#product_list li:hover{ border-color:var(--lbdj-tan-light); box-shadow:var(--lbdj-shadow-hover); transform:translateY(-4px);}#product_list li h2,#product_list li h3{ flex:0 0 100%; text-align:center; color:var(--lbdj-text-heading); font-size:13px; border:0; font-weight:600; margin:8px 0; min-height:36px; overflow:hidden; order:2;}#product_list li h2 a,#product_list li h3 a{ color:var(--lbdj-text-heading);}#product_list li h2 a:hover,#product_list li h3 a:hover{ color:var(--lbdj-red);}#product_list li .boxImg{ flex:0 0 100%; text-align:center; min-height:140px; display:flex; align-items:center; justify-content:center; order:1; margin:0;}#product_list li .boxImg img{ max-width:180px; max-height:140px; object-fit:contain; border-radius:6px; transition:transform 0.3s ease;}#product_list li:hover .boxImg img{ transform:scale(1.05);}/* .resume removed from product grid cards */#product_list li .price{ flex:0 0 100%; color:var(--lbdj-red); font-size:18px; font-weight:bold; text-align:center; margin:8px 0 4px; order:4; float:none;}#product_list li .oldPrice{ color:var(--lbdj-gray-400); font-size:12px; text-decoration:line-through; margin-right:6px;}/* Qty controls row:flatten qtyButtons so [ − ] [ input ] [ + ] sit in a row */#product_list li .qtyButtons{ display:contents;}#product_list li .lessButton{ order:5;}#product_list li .plusButton{ order:7;}#product_list li .qtyButtons span,#product_list li .plusButton,#product_list li .lessButton{ display:flex; align-items:center; justify-content:center; width:30px; height:30px; border:none; cursor:pointer; color:#fff; background-color:var(--lbdj-tan); font-weight:bold; font-size:15px; line-height:1; transition:var(--lbdj-transition-fast); margin-top:6px;}#product_list li .lessButton{ border-radius:6px 0 0 6px;}#product_list li .plusButton{ border-radius:0 6px 6px 0;}#product_list li .qtyButtons span:hover,#product_list li .plusButton:hover,#product_list li .lessButton:hover{ background-color:var(--lbdj-red);}#product_list li .qtyInput{ width:36px; text-align:center; border:2px solid var(--lbdj-tan); border-left:none; border-right:none; border-radius:0; padding:3px 2px; font-size:14px; font-weight:600; order:6; float:none; margin:6px 0 0; display:block; height:30px; box-sizing:border-box;}#product_list li .qtyTxt{ display:none;}#product_list li .pAddToCart{ flex:0 0 100%; text-align:center; order:8; margin-top:auto; padding-top:6px;}/* Out of stock alert link in listings */#product_list li > a.button.fancyAlert,#product_list li > .button[href^="#aContent"]{ flex:0 0 100%; order:8; margin-top:auto;}/* Hide fancybox hidden divs in listings */#product_list li > div[style*="display:none"]{ display:none !important;}#product_list li .ajax_add_to_cart{ display:block; background-color:var(--lbdj-green); color:#fff; padding:9px 12px; border-radius:var(--lbdj-radius-sm); font-weight:600; font-size:12px; transition:var(--lbdj-transition-base); text-align:center; border:none; cursor:pointer; width:100%; margin-top:4px;}#product_list li .ajax_add_to_cart:hover{ background-color:var(--lbdj-green-dark); color:#fff; text-decoration:none; transform:translateY(-2px); box-shadow:0 4px 12px rgba(125, 182, 65, 0.3);}#product_list li .ajax_add_to_cart span{display:none}/* Stock alert button (in product list) */#product_list li a.button.fancyAlert,#product_list li a.button[id^="fancyAlert"]{ display:block; background:var(--lbdj-tan); color:#fff; padding:10px 12px; border-radius:var(--lbdj-radius-sm); font-size:11px; text-align:center; margin-top:10px; line-height:1.4; order:6;}#product_list li a.button.fancyAlert:hover,#product_list li a.button[id^="fancyAlert"]:hover{ background:var(--lbdj-red);}@media (max-width:1199.98px){ #product_list{ grid-template-columns:repeat(3, 1fr);}}@media (max-width:767.98px){ #product_list{ grid-template-columns:repeat(2, 1fr); gap:12px;}}@media (max-width:479.98px){ #product_list{ grid-template-columns:1fr;}}/* ======================================== LEGACY:Category Buttons (.categButtons) ======================================== */.lbdj-content .categButtons{ display:inline-block; background:var(--lbdj-beige); color:var(--lbdj-text-dark); padding:10px 18px; margin:4px; border-radius:var(--lbdj-radius-sm); font-size:13px; font-weight:600; transition:var(--lbdj-transition-base); border:1px solid var(--lbdj-beige-dark); border-left:3px solid var(--lbdj-tan-light); text-decoration:none;}.lbdj-content .categButtons:hover{ background:var(--lbdj-tan); color:#fff; border-color:var(--lbdj-tan); text-decoration:none; transform:translateY(-2px); box-shadow:var(--lbdj-shadow-sm);}/* Category description */.categDescription{ margin:20px 0; padding:15px; background:var(--lbdj-beige); border-radius:var(--lbdj-radius-md); line-height:1.7;}.categDescription img{ border-radius:var(--lbdj-radius-sm); margin:0 15px 10px 0; max-width:250px;}/* Pagination */.sortPagiBar_bottom{ margin:20px 0; text-align:center;}#countProducts{ font-size:13px; color:var(--lbdj-gray-400); margin-bottom:10px;}.pagination ul{ display:flex; justify-content:center; gap:4px; list-style:none; padding:0;}.pagination ul li{ margin:0;}.pagination ul li a{ display:block; padding:8px 14px; border-radius:0; background:transparent; border:none; border-bottom:2px solid transparent; color:var(--lbdj-text); transition:var(--lbdj-transition-fast);}.pagination ul li a:hover,.pagination ul li.current a{ background:transparent; border-bottom-color:var(--lbdj-tan); color:var(--lbdj-tan-dark); font-weight:600;}/* ======================================== LEGACY:Product Page (.hproduct) ======================================== */.hproduct{ max-width:100%; margin:0;}.hproduct > .clearfix{ display:flex; flex-wrap:wrap; gap:30px;}/* Prevent .clearfix pseudo-elements from becoming flex items */.hproduct > .clearfix::before,.hproduct > .clearfix::after{ display:none; content:none;}.hproduct h1,.hproduct h1.fn{ width:100%; flex-basis:100%; color:var(--lbdj-text-heading); text-transform:none; font-size:22px; font-weight:700; padding:0 0 12px 16px; margin-bottom:0; border-left:4px solid var(--lbdj-tan); border-bottom:2px solid var(--lbdj-gray-100);}.hproduct h1 span{display:none}/* Image column */.hproduct #left-column{ float:none; flex:0 0 45%; width:45%; margin:0;}.hproduct #left-column #image-block{ text-align:center; background:#fff; padding:20px; border-radius:var(--lbdj-radius-md); border:1px solid var(--lbdj-gray-100); overflow:hidden;}.hproduct #left-column #image-block img{ max-width:100%; max-height:400px; vertical-align:middle; border-radius:6px; transition:transform 0.4s ease;}.hproduct #left-column #image-block:hover img{ transform:scale(1.05);}.hproduct #views_block{ margin-top:12px;}.hproduct #thumbs_list ul{ display:flex; gap:8px; list-style:none; padding:0; flex-wrap:wrap; width:auto !important;}.hproduct #thumbs_list li{ margin:0;}.hproduct #thumbs_list li img{ width:65px; height:65px; object-fit:contain; border:2px solid var(--lbdj-gray-200); border-radius:6px; transition:var(--lbdj-transition-fast); cursor:pointer;}.hproduct #thumbs_list li img:hover{ border-color:var(--lbdj-tan); box-shadow:0 2px 8px rgba(179, 151, 112, 0.3);}/* Info column */.hproduct #right-column{ float:none; flex:1 1 0; width:auto; max-width:100%; display:flex; flex-direction:column;}/* Description goes after buy_block */.hproduct #short_description{order:3}.hproduct #buy_block{order:1}.hproduct #right-column > p[style*="color:#770000"]{order:1}.hproduct #right-column > p[style*="text-align:center"]{order:2}.hproduct #right-column > script{order:4}.hproduct #right-column > .lbdj-reassurance{order:2}/* Reorder buy_block:price first, then availability, then attributes, then cart controls */.hproduct #buy_block{ display:flex; flex-direction:column;}.hproduct .price{order:1}.hproduct #pricePerUnit{order:2}.hproduct #availability_statut{order:3}.hproduct .attributes{order:4}.hproduct .cartInfos{order:5}.hproduct #buy_block > p[style*="font-size:11px"]{order:6}.hproduct #thisProductScroller{order:7}/* Price - prominent display */.hproduct .price{ font-size:30px; color:var(--lbdj-red); margin:0 0 4px; float:none; width:100%; font-weight:700; line-height:1.3;}.hproduct .price span{ font-size:16px; text-decoration:line-through; color:var(--lbdj-gray-400); margin-left:10px; font-weight:400;}.hproduct #availability_statut{ float:none; width:100%; margin:4px 0 8px; font-size:13px;}.hproduct #availability_statut #availability_value{ color:var(--lbdj-green); font-weight:700;}.hproduct #pricePerUnit{ float:none; width:100%; font-size:12px; color:var(--lbdj-gray-400); margin-bottom:6px;}/* Short description - placed after price block via order */.hproduct #short_description{ background-color:var(--lbdj-beige); padding:14px 18px; margin:12px 0; color:var(--lbdj-text); text-align:justify; border-radius:var(--lbdj-radius-sm); line-height:1.7; font-size:14px; border-left:3px solid var(--lbdj-tan-light);}/* Reassurance icons (shown on product page before description) */.lbdj-reassurance{ display:flex; gap:16px; margin:16px 0; flex-wrap:wrap;}.lbdj-reassurance-item{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--lbdj-text);}.lbdj-reassurance-item i{ font-size:20px; color:var(--lbdj-green); flex-shrink:0;}/* Attributes */.hproduct .attributes{ margin:12px 0; padding:12px 16px; background-color:var(--lbdj-beige); border-radius:var(--lbdj-radius-sm);}.hproduct .attributes label{ float:left; line-height:34px; font-weight:600; font-size:14px;}.hproduct .attributes select{ float:right; width:250px; border:2px solid var(--lbdj-gray-200); border-radius:6px; padding:6px 10px; font-size:14px; transition:border-color 0.2s; margin-bottom:0;}.hproduct .attributes select:focus{ border-color:var(--lbdj-tan); outline:none;}/* Cart controls container */.hproduct .cartInfos{ float:none; width:100%; display:flex; align-items:center; gap:0; margin:16px 0; padding:16px; background:var(--lbdj-beige); border-radius:var(--lbdj-radius-sm); box-sizing:border-box;}/* Flatten qty elements so they all sit in .cartInfos flex row: label | [ − ] | [ input ] | [ + ] | [Ajouter au panier] */.hproduct #quantity_wanted_p{ display:contents;}.hproduct #quantity_wanted_p label{ font-weight:600; font-size:14px; white-space:nowrap; order:1; margin-right:12px;}.hproduct .cartInfos input[type="text"]{ width:50px; padding:6px 4px; border:2px solid var(--lbdj-tan); border-left:none; border-right:none; border-radius:0; font-size:16px; font-weight:700; text-align:center; margin:0; height:38px; box-sizing:border-box; order:3;}/* Flatten qtyButtons so − and + become direct flex children */.hproduct .qtyButtons{ display:contents;}.hproduct .lessButton{order:2;margin:0}.hproduct .plusButton{order:4;margin-right:16px}.hproduct .qtyButtons div,.hproduct .qtyButtons span{ display:flex; align-items:center; justify-content:center; width:38px; height:38px; cursor:pointer; color:#fff; font-size:18px; font-weight:700; background:var(--lbdj-tan); border:none; transition:var(--lbdj-transition-fast);}.hproduct .lessButton,.hproduct .qtyButtons .lessButton{ border-radius:6px 0 0 6px;}.hproduct .plusButton,.hproduct .qtyButtons .plusButton{ border-radius:0 6px 6px 0;}/* Add text content to empty product-page buttons */.hproduct .plusButton::before{content:'+'}.hproduct .lessButton::before{content:'\2212'}.hproduct .qtyButtons div:hover,.hproduct .qtyButtons span:hover{ background:var(--lbdj-red);}/* ATC button */.hproduct #add_to_cart{ flex:1; margin:0; order:5;}/* Hidden inputs should not affect flex layout */.hproduct #buy_block > input[type="hidden"]{ display:none;}.hproduct #productAddToCart,.hproduct #scrollerAddToCart{ background:var(--lbdj-green); color:#fff; border:none; padding:10px 24px; border-radius:var(--lbdj-radius-sm); font-weight:700; cursor:pointer; transition:var(--lbdj-transition-base); font-size:15px; background-image:none; width:100%; letter-spacing:0.3px;}.hproduct #productAddToCart:hover,.hproduct #scrollerAddToCart:hover{ background:var(--lbdj-green-dark); box-shadow:0 4px 12px rgba(125, 182, 65, 0.3); transform:translateY(-1px);}/* Hide scroller product block */#thisProductScroller{display:none}/* Product description */.boxContent{ clear:both; margin:25px 0; padding:20px; background:#fff; border:1px solid var(--lbdj-gray-100); border-radius:var(--lbdj-radius-md);}.boxContent .content{ line-height:1.8; color:var(--lbdj-text); font-size:14px;}.boxContent h2,.boxContent h2.active{ font-size:17px; color:var(--lbdj-text-heading); margin:0 0 15px; padding-bottom:10px; border-bottom:2px solid var(--lbdj-gray-100); font-weight:700;}/* Nutritional values */#valNut{ width:100%; max-width:320px; margin:15px 0; border-radius:var(--lbdj-radius-sm); overflow:hidden;}#valNut tr td{ border:1px solid var(--lbdj-gray-200); padding:8px 12px; font-size:13px;}#valNut tr:first-child td{ background-color:var(--lbdj-red); color:#fff; text-align:center; text-transform:uppercase; font-weight:600; border-color:var(--lbdj-red);}/* Cross-selling */#top_crossed_products{ display:grid; grid-template-columns:repeat(4, 1fr); gap:15px; list-style:none; padding:0;}#top_crossed_products li{ text-align:center; padding:12px; background:#fff; border:1px solid var(--lbdj-gray-100); border-radius:var(--lbdj-radius-sm); transition:var(--lbdj-transition-base);}#top_crossed_products li:hover{ box-shadow:var(--lbdj-shadow-md); transform:translateY(-3px); border-color:var(--lbdj-tan-light);}#top_crossed_products li img{ max-width:120px; max-height:100px; object-fit:contain;}#top_crossed_products .product_name{ font-size:12px; margin-top:8px;}#top_crossed_products .product_name a{ color:var(--lbdj-text-heading);}/* Product page cross-sell section */.hproduct + .boxContent ul{ display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:15px; list-style:none; padding:0;}.hproduct + .boxContent ul li{ text-align:center; padding:12px; background:#fff; border:1px solid var(--lbdj-gray-100); border-radius:var(--lbdj-radius-sm); transition:var(--lbdj-transition-base);}.hproduct + .boxContent ul li:hover{ box-shadow:var(--lbdj-shadow-md); border-color:var(--lbdj-tan-light);}.hproduct + .boxContent ul li img{ max-width:120px; max-height:100px; object-fit:contain;}.hproduct + .boxContent ul .product_name{ font-size:12px; margin-top:8px;}/* Out of stock styling on product page */.hproduct #right-column > p[style*="color:#770000"]{ background:#fff3f3; padding:12px 16px; border-radius:var(--lbdj-radius-sm); border:1px solid #f0d0d0; font-weight:600; margin:12px 0;}@media (max-width:767.98px){ .hproduct > .clearfix{ gap:15px;} .hproduct #left-column{ flex:0 0 100%; width:100%;} .hproduct #right-column{ flex:0 0 100%; width:100%;} .hproduct .cartInfos{ flex-wrap:wrap;} .hproduct .attributes select{ width:100%;} #top_crossed_products{ grid-template-columns:repeat(2, 1fr);}}/* ======================================== Offcanvas Menus (Mobile) ======================================== */.offcanvas-header.bg-lbdj-tan{ background-color:var(--lbdj-tan) !important;}.offcanvas .accordion-button{ font-size:14px; font-weight:500; font-family:var(--lbdj-font-body);}.offcanvas .accordion-button:not(.collapsed){ background-color:var(--lbdj-beige); color:var(--lbdj-tan-dark);}.offcanvas .accordion-button:focus{ box-shadow:0 0 0 0.15rem rgba(179, 151, 112, 0.25);}.offcanvas .accordion-body a{ display:block; padding:6px 0; color:var(--lbdj-text); font-size:14px;}.offcanvas .accordion-body a:hover{ color:var(--lbdj-red);}.text-lbdj-red{color:var(--lbdj-red) !important}.text-lbdj-tan{color:var(--lbdj-tan) !important}.bg-lbdj-tan{background-color:var(--lbdj-tan) !important}/* ======================================== Scroll Animations ======================================== */.lbdj-animate{ opacity:0; transform:translateY(20px); transition:opacity 0.5s ease, transform 0.5s ease;}.lbdj-animate.lbdj-visible{ opacity:1; transform:translateY(0);}.lbdj-animate-delay-1{transition-delay:0.05s}.lbdj-animate-delay-2{transition-delay:0.1s}.lbdj-animate-delay-3{transition-delay:0.15s}.lbdj-animate-delay-4{transition-delay:0.2s}/* ======================================== Utility Classes ======================================== *//* Note:.clearfix is provided by Bootstrap 5 — do NOT redefine here as it would override pseudo-element neutralization on grid containers (.aBannerHome, #product_list) *//* Hide legacy elements in v2 */#left_column{display:none}#right_column{float:none !important;width:100% !important;padding:0 !important;max-width:100% !important}#breadcrumb{display:none}.scroller_anchor{display:none}#noScroller{display:none}#productMenu{display:none}#scrollerLogo{display:none}/* Override v1 styles that conflict with v2 */#page{max-width:100%;width:100%;box-shadow:none;margin:0}#header{display:none}#content{background:transparent}#footer{display:none}#topcontrol{display:none}/* Fix fancybox loading spinner stuck on page */#fancybox-loading{display:none !important}/* Override fancybox/thickbox popup to look modern in v2 */#fancybox-wrap{ z-index:100000 !important;}#fancybox-outer{ background:#fff !important; border-radius:var(--lbdj-radius-md) !important; box-shadow:var(--lbdj-shadow-hover) !important; overflow:hidden !important;}#fancybox-content{ border:none !important; background:#fff !important; padding:20px !important;}#fancybox-content form{ text-align:center;}#fancybox-content input[type="text"]{ width:100%; padding:10px 14px; border:2px solid var(--lbdj-gray-200); border-radius:var(--lbdj-radius-sm); font-size:15px; margin:8px 0 !important; box-sizing:border-box; transition:border-color 0.2s;}#fancybox-content input[type="text"]:focus{ border-color:var(--lbdj-tan); outline:none;}#fancybox-content input[type="submit"],#fancybox-content .button{ background:var(--lbdj-green) !important; color:#fff !important; border:none !important; padding:10px 28px !important; border-radius:var(--lbdj-radius-pill) !important; font-size:14px !important; font-weight:600 !important; cursor:pointer !important; transition:background 0.2s !important; background-image:none !important;}#fancybox-content input[type="submit"]:hover,#fancybox-content .button:hover{ background:var(--lbdj-green-dark) !important;}#fancybox-close{ z-index:100001 !important;}#fancybox-overlay{ background:rgba(0, 0, 0, 0.5) !important;}/* Override products.css (loaded by produit.php) */html body div#page.clearfix div#content.clearfix div#right_column.clearfix{ width:100% !important;}/* ======================================== CMS Content pages ======================================== */.cms-content{ line-height:1.7;}.cms-content h2{ color:var(--lbdj-tan); font-size:18px; margin:20px 0 10px; font-weight:bold;}.cms-content h3{ color:var(--lbdj-red); font-size:16px; margin:15px 0 8px;}.cms-content ul{ padding-left:20px;}.cms-content ul li{ margin-bottom:6px;}/* ======================================== Print ======================================== */@media print{ .lbdj-topbar, .lbdj-header, .lbdj-navbar, .lbdj-footer, .offcanvas, .message, #topcontrol{ display:none !important;} .lbdj-main > .container{ box-shadow:none;}}/* ======================================== Auth Pages (connexion, inscription, mot de passe) ======================================== *//* Two-column layout:form left, sidebar right */.lbdj-content > form.style[style*="float:left"],.lbdj-content > form.style[style*="float:left"],.lbdj-content > #newaccount,.lbdj-content > #forgotMyPwd{ float:none !important; width:100% !important; max-width:500px !important; background:#fff; border:1px solid var(--lbdj-gray-200); border-radius:var(--lbdj-radius-md); padding:2rem !important; box-shadow:var(--lbdj-shadow-sm); margin:0 auto 1.5rem !important;}/* Right sidebar panels (green border boxes) */.lbdj-content > div[style*="float:right"],.lbdj-content > div[style*="float:right"]{ float:none !important; width:100% !important; max-width:500px !important; background:#fff !important; border:1px solid var(--lbdj-gray-200) !important; border-radius:var(--lbdj-radius-md) !important; padding:1.5rem !important; box-shadow:var(--lbdj-shadow-sm); margin:0 auto 1.5rem !important; text-align:center;}/* Login form styling */.lbdj-content > div[style*="float:right"] form.style,.lbdj-content > div[style*="float:right"] form.style{ background:transparent !important; border:none !important; padding:0 !important;}/* Bottom actions (inscription/connexion links) */.lbdj-content > p[style*="float:left"]{ float:none !important; width:100% !important; max-width:500px !important; margin:1rem auto !important; text-align:center !important; display:flex; justify-content:center; gap:1rem; flex-wrap:wrap;}/* Form headings */.lbdj-content form.style h2,.lbdj-content #newaccount h2,.lbdj-content #forgotMyPwd h2,.lbdj-content > div[style*="float:right"] h2{ font-size:1.2rem; font-weight:700; color:var(--lbdj-text-heading); margin-bottom:1.25rem; padding-bottom:0.75rem; border-bottom:2px solid var(--lbdj-tan); text-align:left;}/* Auth page table layout (login page) → flexbox */.lbdj-content form.style table{ width:100%; border-collapse:separate; border-spacing:0; border:none;}.lbdj-content form.style table tr{ display:flex; flex-direction:column; margin-bottom:1rem;}.lbdj-content form.style table td{ display:block; padding:0; border:none;}/* Form line layout */.lbdj-content .formLine{ margin-bottom:1rem;}.lbdj-content .formLine::before,.lbdj-content .formLine::after{ display:none; content:none;}/* Labels */.lbdj-content form.style label,.lbdj-content .formLine label,.lbdj-content #forgotMyPwd label{ display:block; font-size:14px !important; font-weight:600; color:var(--lbdj-text-heading); margin-bottom:6px; width:auto !important; float:none !important;}.lbdj-content .formLine label i{ font-weight:400; color:var(--lbdj-gray-400); font-style:normal;}/* Text inputs */.lbdj-content form.style input[type="text"],.lbdj-content form.style input[type="password"],.lbdj-content form.style input[type="email"],.lbdj-content .formLine input[type="text"],.lbdj-content .formLine input[type="password"],.lbdj-content .formLine select,.lbdj-content #forgotMyPwd input[type="text"]{ width:100% !important; padding:10px 14px; border:2px solid var(--lbdj-gray-200); border-radius:var(--lbdj-radius-sm); font-size:15px !important; font-family:inherit; box-sizing:border-box; transition:border-color 0.2s; margin:0; float:none !important;}.lbdj-content form.style input[type="text"]:focus,.lbdj-content form.style input[type="password"]:focus,.lbdj-content .formLine input[type="text"]:focus,.lbdj-content .formLine input[type="password"]:focus,.lbdj-content .formLine select:focus,.lbdj-content #forgotMyPwd input[type="text"]:focus{ border-color:var(--lbdj-tan); outline:none; box-shadow:0 0 0 3px rgba(179, 151, 112, 0.15);}/* Validation error border */.lbdj-content .formLine input.needed{ border-color:var(--lbdj-red) !important;}/* Checkbox styling */.lbdj-content .formLine input[type="checkbox"].nostyle{ width:18px; height:18px; accent-color:var(--lbdj-tan); vertical-align:middle; margin-right:8px; flex-shrink:0;}.lbdj-content .formLine:has(input[type="checkbox"].nostyle){ display:flex; align-items:center;}.lbdj-content .formLine input[type="checkbox"].nostyle + label{ display:inline;}/* Submit buttons */.lbdj-content form.style input[type="submit"].button,.lbdj-content #newaccount input[type="submit"].button,.lbdj-content #forgotMyPwd input[type="submit"].button{ display:block !important; width:100%; background:var(--lbdj-green) !important; color:#fff !important; border:none !important; padding:12px 24px !important; border-radius:var(--lbdj-radius-pill) !important; font-size:16px !important; font-weight:700 !important; cursor:pointer; transition:background 0.2s, transform 0.2s; margin:1rem auto 0 !important; background-image:none !important; text-transform:none; max-width:300px;}.lbdj-content form.style input[type="submit"].button:hover,.lbdj-content #newaccount input[type="submit"].button:hover,.lbdj-content #forgotMyPwd input[type="submit"].button:hover{ background:var(--lbdj-green-dark) !important; transform:translateY(-1px);}/* Blue button links */.lbdj-content a.blue_button,.lbdj-content a.button.blue_button{ display:inline-block !important; background:var(--lbdj-tan) !important; color:#fff !important; padding:10px 24px !important; border-radius:var(--lbdj-radius-pill) !important; text-decoration:none !important; font-size:15px !important; font-weight:600 !important; transition:background 0.2s; background-image:none !important; border:none !important;}.lbdj-content a.blue_button:hover,.lbdj-content a.button.blue_button:hover{ background:var(--lbdj-tan-dark) !important;}/* Forgot password link */.lbdj-content form.style p a[href*="motdepasseOublie"],.lbdj-content .formLine p a[href*="motdepasseOublie"]{ color:var(--lbdj-tan); font-size:14px;}.lbdj-content form.style p a[href*="motdepasseOublie"]:hover,.lbdj-content .formLine p a[href*="motdepasseOublie"]:hover{ color:var(--lbdj-red);}/* Error messages */.lbdj-content #retMessage,.lbdj-content .message-error{ background:#fff3f3; border:1px solid #f0d0d0; border-radius:var(--lbdj-radius-sm); padding:1rem; margin-bottom:1rem; color:var(--lbdj-red);}.lbdj-content #retMessage h6,.lbdj-content .message-error h6{ color:var(--lbdj-red); margin:0 0 0.5rem;}.lbdj-content #myRetMessage{ background:#fff3f3; border:1px solid #f0d0d0; border-radius:var(--lbdj-radius-sm); padding:1rem; margin-top:1rem; color:var(--lbdj-red);}.lbdj-content #myRetMessage h6{ color:var(--lbdj-red); margin:0 0 0.5rem;}/* Confirmation screen styling */.lbdj-content .mycontent{ width:100% !important; max-width:580px; background:#fff; border:1px solid var(--lbdj-gray-200); border-radius:var(--lbdj-radius-md); padding:2rem; box-shadow:var(--lbdj-shadow-sm); text-align:center;}.lbdj-content center{ display:flex; justify-content:center;}/* Bottom divs that break layout */.lbdj-content > div[style*="width:50%"]{ display:none !important;}@media (min-width:768px){ /* Side by side on desktop:form + sidebar */ .lbdj-content:has(#newaccount), .lbdj-content:has(#forgotMyPwd), .lbdj-content:has(form.style[style*="float:left"]){ display:flex; flex-wrap:wrap; gap:1.5rem; align-items:flex-start;} .lbdj-content:has(#newaccount) > h1, .lbdj-content:has(#forgotMyPwd) > h1, .lbdj-content:has(form.style[style*="float:left"]) > h1{ flex:0 0 100%;} .lbdj-content:has(#newaccount) > #retMessage, .lbdj-content:has(form.style[style*="float:left"]) > #retMessage{ flex:0 0 100%;} .lbdj-content > form.style[style*="float:left"], .lbdj-content > #newaccount, .lbdj-content > #forgotMyPwd{ flex:1 1 55%; max-width:none !important; margin:0 !important;} .lbdj-content > div[style*="float:right"]{ flex:1 1 35%; max-width:none !important; margin:0 !important;} .lbdj-content > p[style*="float:left"]{ flex:0 0 100%; max-width:none !important;} .lbdj-content > script, .lbdj-content > style, .lbdj-content > a[name="arefform"]{ flex:0 0 0; width:0; height:0; overflow:hidden;}}/* ======================================== Cart Page (panier.html) ======================================== *//* Step indicator */.lbdj-content ul.step,.lbdj-content #order_step{ display:flex; list-style:none; padding:0; margin:0 0 1.5rem; gap:4px;}.lbdj-content .step li{ flex:1; text-align:center; padding:12px 16px; font-size:14px; font-weight:600; border-radius:var(--lbdj-radius-sm); background:var(--lbdj-gray-100); color:var(--lbdj-gray-400); position:relative;}.lbdj-content .step li .leftarrow{ display:none;}.lbdj-content .step li.step_current{ background:var(--lbdj-tan); color:#fff;}.lbdj-content .step li.step_done{ background:var(--lbdj-green); color:#fff;}.lbdj-content .step li.step_done a{ color:#fff; text-decoration:none;}/* ======================================== Checkout Etape3 — Two-Column Layout ======================================== */.lbdj-content .checkout-layout{ display:flex; flex-direction:column; gap:1.5rem; margin-bottom:1.5rem;}.lbdj-content .checkout-left,.lbdj-content .checkout-right{ background:#fff; border-radius:var(--lbdj-radius-lg); padding:1.5rem; box-shadow:var(--lbdj-shadow-sm);}@media (min-width:992px){ .lbdj-content .checkout-layout{ display:grid; grid-template-columns:1.2fr 1fr; gap:2rem; align-items:start;}}/* Order details heading */.lbdj-content .checkout-left h2{ font-size:1.1rem; font-weight:700; color:var(--lbdj-text-dark); margin-bottom:1rem; padding-bottom:0.75rem; border-bottom:2px solid var(--lbdj-tan);}/* Order table */.lbdj-content .checkout-left #cart_summary{ width:100%; border-collapse:collapse; font-size:0.9rem;}.lbdj-content .checkout-left #cart_summary thead th{ text-align:left; font-weight:600; padding:0.75rem 0.5rem; background:var(--lbdj-beige); border-bottom:1px solid var(--lbdj-gray-200); font-size:0.85rem;}.lbdj-content .checkout-left #cart_summary td,.lbdj-content .checkout-left #cart_summary tbody th{ padding:0.65rem 0.5rem; border-bottom:1px solid var(--lbdj-gray-100); vertical-align:middle;}.lbdj-content .linksCart{ cursor:pointer; font-size:12px; color:var(--lbdj-tan-dark); text-decoration:underline;}/* Totals summary */.lbdj-content .checkout-totals{ margin-top:1rem; border-top:2px solid var(--lbdj-gray-200); padding-top:0.75rem;}.lbdj-content .checkout-total-row{ display:flex; justify-content:space-between; padding:0.5rem 0; font-size:0.95rem;}.lbdj-content .checkout-total-row small{ font-size:0.8rem; color:var(--lbdj-text);}.lbdj-content .checkout-total-final{ font-weight:700; font-size:1.15rem; color:var(--lbdj-red); border-top:1px solid var(--lbdj-gray-200); padding-top:0.75rem; margin-top:0.25rem;}/* Comment */.lbdj-content .checkout-comment-label{ display:block; font-size:0.9rem; font-weight:600; color:var(--lbdj-text-dark); margin-top:1.25rem; margin-bottom:0.5rem;}/* Payment heading */.lbdj-content .checkout-right h2{ font-size:1.1rem; font-weight:700; color:var(--lbdj-text-dark); margin-bottom:0.5rem; padding-bottom:0.75rem; border-bottom:2px solid var(--lbdj-tan);}.lbdj-content .lbdj-payment-intro{ color:var(--lbdj-text); font-size:14px; margin-bottom:1.5rem;}/* Payment method cards */.lbdj-content .paymentChoice{ display:flex; align-items:center; gap:1rem; padding:1rem 1.25rem; margin-bottom:0.75rem; border:2px solid var(--lbdj-gray-200); border-radius:var(--lbdj-radius-md); cursor:pointer; transition:all 0.2s ease; background:#fff;}.lbdj-content .paymentChoice::before{ content:''; flex-shrink:0; width:22px; height:22px; border-radius:50%; border:2px solid var(--lbdj-gray-200); background:#fff; transition:all 0.2s ease; box-sizing:border-box;}.lbdj-content .paymentChoice:hover{ border-color:var(--lbdj-tan); box-shadow:var(--lbdj-shadow-sm);}.lbdj-content .paymentChoice.live-payment{ border-color:var(--lbdj-tan); background:linear-gradient(135deg, rgba(179, 151, 112, 0.04) 0%, rgba(179, 151, 112, 0.1) 100%); box-shadow:0 0 0 3px rgba(179, 151, 112, 0.15), var(--lbdj-shadow-sm);}.lbdj-content .paymentChoice.live-payment::before{ border-color:var(--lbdj-tan); background:var(--lbdj-tan); box-shadow:inset 0 0 0 3px #fff;}.lbdj-content .paymentChoice .imgPayment{ flex-shrink:0;}.lbdj-content .paymentChoice .imgPayment img,.lbdj-content .paymentChoice img.imgPayment{ max-height:36px; width:auto;}.lbdj-content .paymentChoice h5{ font-size:1rem; font-weight:700; margin:0; color:var(--lbdj-text-heading);}.lbdj-content .paymentChoice.live-payment h5{ color:var(--lbdj-tan-dark);}/* CGV section */.lbdj-content .lbdj-cgv-section{ text-align:center; padding:1.5rem; background:var(--lbdj-beige); border-radius:var(--lbdj-radius-md); margin-top:1.5rem;}.lbdj-content .lbdj-cgv-check{ display:flex; align-items:center; justify-content:center; gap:0.75rem; margin-bottom:1rem;}.lbdj-content .lbdj-cgv-check input[type="checkbox"]{ width:18px; height:18px; accent-color:var(--lbdj-tan);}.lbdj-content .lbdj-cgv-check label{ font-size:15px; cursor:pointer;}.lbdj-content .lbdj-cgv-check a{ color:var(--lbdj-tan-dark); font-weight:600;}/* Checkout submit button */.lbdj-content .btn-checkout-submit{ display:inline-flex; align-items:center; gap:8px; background:var(--lbdj-green); color:#fff; border:none; padding:12px 32px; border-radius:var(--lbdj-radius-pill); font-size:16px; font-weight:700; cursor:pointer; transition:background 0.2s, transform 0.2s;}.lbdj-content .btn-checkout-submit:hover{ background:var(--lbdj-green-dark); transform:translateY(-1px);}/* Checkout back link */.lbdj-content .btn-checkout-back{ display:inline-flex; align-items:center; gap:6px; color:var(--lbdj-tan-dark); font-size:14px; font-weight:600; text-decoration:none; margin-top:1rem;}.lbdj-content .btn-checkout-back:hover{ color:var(--lbdj-red);}/* Comments textarea */.lbdj-content #comments{ width:100%; min-height:80px; padding:10px 14px; border:1px solid var(--lbdj-gray-200); border-radius:var(--lbdj-radius-sm); font-family:inherit; font-size:14px; resize:vertical; transition:border-color 0.2s; box-sizing:border-box;}.lbdj-content #comments:focus{ border-color:var(--lbdj-tan); outline:none; box-shadow:0 0 0 3px rgba(179,151,112,0.15);}/* CGV modal close button */.lbdj-content #cgvModal .modal-header .btn-close,#cgvModal .modal-header .btn-close{ opacity:1; font-size:1rem;}/* Cart table container */.lbdj-content #order-detail-content{ background:#fff; border-radius:var(--lbdj-radius-md); box-shadow:var(--lbdj-shadow-sm); padding:1.5rem; margin-bottom:1.5rem; overflow-x:auto;}/* Cart summary table */.lbdj-content #cart_summary{ width:100%; border-collapse:collapse; font-size:14px;}.lbdj-content #cart_summary th{ text-align:left; font-weight:600; padding:12px 8px; background:var(--lbdj-beige); border-bottom:2px solid var(--lbdj-tan-light); font-size:13px; color:var(--lbdj-text-heading);}.lbdj-content #cart_summary td{ padding:12px 8px; border-bottom:1px solid var(--lbdj-gray-100); vertical-align:middle;}/* Product image in cart */.lbdj-content .cart_image{ text-align:center;}.lbdj-content .cart_image img{ width:90px; height:90px; object-fit:contain; border-radius:var(--lbdj-radius-sm); border:none;}/* Product name link */.lbdj-content .cart_description a{ color:var(--lbdj-text-heading); font-weight:500; text-decoration:none;}.lbdj-content .cart_description a:hover{ color:var(--lbdj-red);}/* Qty controls in cart */.lbdj-content #cart_summary .qtyInput{ width:44px; text-align:center; border:2px solid var(--lbdj-tan); border-left:none; border-right:none; border-radius:0; padding:4px; font-size:14px; font-weight:600; height:32px; box-sizing:border-box; display:inline-block; vertical-align:middle;}.lbdj-content #cart_summary .qtyButtons{ display:inline-flex; vertical-align:middle;}.lbdj-content #cart_summary .qtyButtons span{ display:flex; align-items:center; justify-content:center; width:32px; height:32px; cursor:pointer; color:#fff; background:var(--lbdj-tan); font-weight:700; font-size:14px; transition:background 0.2s; border:none;}.lbdj-content #cart_summary .lessButton{ border-radius:6px 0 0 6px; order:-1;}.lbdj-content #cart_summary .plusButton{ border-radius:0 6px 6px 0;}.lbdj-content #cart_summary .qtyButtons span:hover{ background:var(--lbdj-red);}/* Delete button — modern icon button */.lbdj-content .cart_quantity_delete{ display:inline-flex; align-items:center; justify-content:center; gap:5px; color:#fff; background:var(--lbdj-red); cursor:pointer; font-size:0; text-decoration:none; transition:background 0.2s, transform 0.2s; border-radius:50%; width:32px; height:32px; line-height:1;}.lbdj-content .cart_quantity_delete::before{ content:'\2715'; font-size:14px; font-weight:700;}.lbdj-content .cart_quantity_delete:hover{ background:var(--lbdj-red-dark); transform:scale(1.1);}.lbdj-content .cart_delete{ text-align:center;}/* Cart footer totals */.lbdj-content #cart_summary tfoot th{ background:transparent; border-bottom:1px solid var(--lbdj-gray-100); font-size:14px;}.lbdj-content #cart_summary tfoot td{ font-weight:600;}.lbdj-content #cart_summary tfoot tr:last-child th,.lbdj-content #cart_summary tfoot tr:last-child td{ font-size:18px; color:var(--lbdj-red); font-weight:700; border-bottom:none; padding-top:1rem;}/* Loyalty points / promo area */.lbdj-content .aContentBox{ background:var(--lbdj-beige); border-radius:var(--lbdj-radius-sm); padding:1rem !important;}/* Button large (cart action buttons) */.lbdj-content .button_large,.lbdj-content input.button_large{ background:var(--lbdj-green) !important; color:#fff !important; border:none !important; padding:10px 24px !important; border-radius:var(--lbdj-radius-pill) !important; font-size:15px !important; font-weight:700 !important; cursor:pointer; transition:background 0.2s, transform 0.2s; background-image:none !important; float:none !important;}.lbdj-content .button_large:hover,.lbdj-content input.button_large:hover{ background:var(--lbdj-green-dark) !important; transform:translateY(-1px);}/* Hide "Mettre à jour" button (auto-update handles it) */.lbdj-content #updateCart{ display:none !important;}.lbdj-content #cart_summary tr:has(#updateCart){ display:none !important;}/* Cart action buttons row */.lbdj-content .cart-actions-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:1.5rem;}/* Continue shopping button */.lbdj-content .btn-continue-shopping{ display:inline-flex; align-items:center; gap:6px; color:var(--lbdj-tan-dark); font-size:14px; font-weight:600; text-decoration:none; padding:10px 20px; border:2px solid var(--lbdj-tan); border-radius:var(--lbdj-radius-pill); transition:all 0.2s;}.lbdj-content .btn-continue-shopping:hover{ background:var(--lbdj-tan); color:#fff;}/* Validate cart button */.lbdj-content .btn-validate-cart{ display:inline-flex; align-items:center; background:var(--lbdj-green); color:#fff; font-size:15px; font-weight:700; padding:12px 28px; border-radius:var(--lbdj-radius-pill); text-decoration:none; transition:background 0.2s, transform 0.2s;}.lbdj-content .btn-validate-cart:hover{ background:var(--lbdj-green-dark); color:#fff; transform:translateY(-1px);}/* Empty cart — small text link below promo code */.lbdj-content .empty-cart-link{ text-align:center; margin:1rem 0;}.lbdj-content .empty-cart-link a,.lbdj-content #emptyCart{ color:var(--lbdj-text); font-size:13px; text-decoration:underline; cursor:pointer; background:none !important; border:none !important; padding:0 !important; font-weight:400 !important;}.lbdj-content .empty-cart-link a:hover,.lbdj-content #emptyCart:hover{ color:var(--lbdj-red);}/* Minimum order message */.lbdj-content #order-detail-content + p[style*="text-align:center"]{ background:#fffbe6; border:1px solid #f0e6a0; border-radius:var(--lbdj-radius-sm); padding:12px 16px; text-align:center; margin-bottom:1rem;}/* Promo code section */.lbdj-content form[onsubmit*="verifCode"]{ border:2px solid var(--lbdj-tan) !important; border-radius:var(--lbdj-radius-md) !important; padding:1rem !important; margin:1.5rem auto !important; max-width:500px; text-align:center;}.lbdj-content #cpForm input[type="text"]{ padding:8px 14px; border:2px solid var(--lbdj-gray-200); border-radius:var(--lbdj-radius-sm); font-size:14px; margin:0 8px; width:200px;}.lbdj-content #cpForm input[type="text"]:focus{ border-color:var(--lbdj-tan); outline:none;}.lbdj-content #cpForm .button{ background:var(--lbdj-tan) !important; color:#fff !important; border:none !important; padding:8px 20px !important; border-radius:var(--lbdj-radius-pill) !important; font-weight:600 !important; cursor:pointer; background-image:none !important;}/* Delivery & Payment info sections */.lbdj-content #livraisons,.lbdj-content #paiements{ display:flex; align-items:center; gap:1rem; padding:1rem; margin-bottom:1rem; background:#fff; border:1px solid var(--lbdj-gray-100); border-radius:var(--lbdj-radius-md); float:none !important; width:auto !important;}.lbdj-content #livraisons::before,.lbdj-content #livraisons::after,.lbdj-content #paiements::before,.lbdj-content #paiements::after{ display:none; content:none;}.lbdj-content #livraisons img,.lbdj-content #paiements img{ max-height:50px; width:auto; float:none !important;}.lbdj-content #livraisons p,.lbdj-content #paiements p{ margin:0; font-size:13px;}.lbdj-content .linkMore{ margin-left:auto !important; margin-top:0 !important;}.lbdj-content .linkMore a{ color:var(--lbdj-tan); font-size:13px;}/* Empty cart message */.lbdj-content > p[style*="padding:100px"]{ background:#fff; border-radius:var(--lbdj-radius-md); box-shadow:var(--lbdj-shadow-sm); padding:3rem !important;}/* Cart page responsive */@media (max-width:767.98px){ .lbdj-content .step li{ font-size:11px; padding:8px 6px;} .lbdj-content #cart_summary .cart_image{ display:none;} .lbdj-content #cart_summary .qtyInput{ width:36px; height:28px;} .lbdj-content #cart_summary .qtyButtons span{ width:28px; height:28px;} .lbdj-content #livraisons, .lbdj-content #paiements{ flex-wrap:wrap; justify-content:center; text-align:center;} .lbdj-content .checkout-left, .lbdj-content .checkout-right{ padding:1rem;} .lbdj-content .checkout-left #cart_summary thead th{ font-size:0.75rem; padding:0.5rem 0.25rem;} .lbdj-content .checkout-left #cart_summary td{ font-size:0.8rem; padding:0.5rem 0.25rem;}}/* ======================================== Order Confirmation Pages (recap) ======================================== *//* Address grid */.lbdj-content .order-recap-addresses{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.5rem;}.lbdj-content .order-recap-addresses .recap-address-card{ background:#fff; border-radius:var(--lbdj-radius-md); box-shadow:var(--lbdj-shadow-sm); padding:1.25rem;}.lbdj-content .recap-address-card h3{ font-size:0.95rem; font-weight:700; color:var(--lbdj-text-heading); margin:0 0 0.75rem; padding-bottom:0.5rem; border-bottom:2px solid var(--lbdj-tan);}.lbdj-content .recap-address-row{ display:flex; gap:8px; padding:3px 0; font-size:14px; line-height:1.5;}.lbdj-content .recap-address-row strong{ min-width:70px; flex-shrink:0; color:var(--lbdj-text-heading);}/* Products recap table */.lbdj-content .order-recap-products{ background:#fff; border-radius:var(--lbdj-radius-md); box-shadow:var(--lbdj-shadow-sm); padding:1.25rem; margin-bottom:1.5rem; overflow-x:auto;}@media (max-width:767.98px){ .lbdj-content .order-recap-addresses{ grid-template-columns:1fr;} .lbdj-content .recap-address-row{ flex-direction:column; gap:2px;} .lbdj-content .recap-address-row strong{ min-width:auto;}}