/* Le Labo QOIoT — vitrine et boutique (design validé). Tout est préfixé .ql */
body.ql-body{margin:0;background:#f6f8fb;}
.ql{--navy:#1a2533;--navy-mid:#243447;--gold:#c9a227;--gold-light:#e8d48b;--ink:#1c2733;--mute:#5c6b7a;--line:#e3e9f0;--bg:#f6f8fb;--white:#fff;--ok:#1e7a46;--radius:14px;--shadow-lg:0 16px 40px rgba(26,37,51,.12);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);line-height:1.65;background:var(--bg);-webkit-font-smoothing:antialiased;}
.ql *{box-sizing:border-box;}
.ql a{color:inherit;}
.ql .wrap{max-width:1140px;margin:0 auto;padding:0 24px;}
.ql .topbar{background:var(--navy);color:#fff;font-size:13.5px;padding:10px 0;text-align:center;}
.ql .topbar a{color:var(--gold-light);text-decoration:underline;}
.ql .nav{background:var(--white);border-bottom:1px solid var(--line);padding:14px 0;position:sticky;top:0;z-index:100;}
.ql .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.ql .logo{font-weight:750;font-size:18px;color:var(--navy);text-decoration:none;}
.ql .logo span{color:var(--gold);}
.ql .nav-links{display:flex;gap:28px;list-style:none;margin:0;padding:0;font-size:14.5px;font-weight:550;}
.ql .nav-links a{text-decoration:none;color:var(--ink);}
.ql .nav-links a:hover{color:var(--gold);}
.ql .nav-cta{display:flex;gap:10px;flex-wrap:wrap;}
.ql .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:9px;font-weight:650;font-size:14px;text-decoration:none;transition:all .2s ease;border:1.5px solid transparent;cursor:pointer;line-height:1.3;}
.ql .btn-primary{background:var(--gold);color:var(--navy);}
.ql .btn-primary:hover{background:#d4ad2e;transform:translateY(-1px);}
.ql .btn-outline{background:transparent;color:var(--navy);border-color:var(--navy);}
.ql .btn-outline:hover{background:var(--navy);color:#fff;}
.ql .btn-dark{background:var(--navy);color:#fff;}
.ql .btn-dark:hover{background:var(--navy-mid);}
.ql .btn-sm{padding:9px 16px;font-size:13.5px;}
.ql .btn-block{display:flex;width:100%;}
.ql .hero{background:linear-gradient(165deg,var(--navy) 0%,#121c28 100%);color:#fff;padding:72px 0 64px;text-align:center;position:relative;overflow:hidden;}
.ql .hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 50% at 50% -10%,rgba(201,162,39,.14),transparent);pointer-events:none;}
.ql .hero .wrap{position:relative;}
.ql .hero-badge{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-light);background:rgba(201,162,39,.15);border:1px solid rgba(201,162,39,.35);padding:6px 16px;border-radius:30px;margin-bottom:20px;}
.ql .hero h1{font-size:clamp(28px,5vw,42px);font-weight:750;line-height:1.2;letter-spacing:-.025em;margin:0 auto 16px;max-width:780px;color:#fff;}
.ql .hero p{font-size:18px;color:#c8d4e0;max-width:600px;margin:0 auto 32px;}
.ql .hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.ql .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35);}
.ql .btn-ghost:hover{background:rgba(255,255,255,.08);}
.ql .sec{padding:64px 0;}
.ql .sec h2{font-size:28px;font-weight:750;color:var(--navy);margin:0 0 8px;letter-spacing:-.02em;}
.ql .sec-sub{color:var(--mute);font-size:16.5px;margin:0 0 36px;max-width:620px;}
.ql .products{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;}
.ql .product{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease;}
.ql .product:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.ql .badge{display:inline-flex;align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 12px;border-radius:20px;margin-bottom:14px;}
.ql .badge-gold{background:linear-gradient(135deg,#f8f0d4,#f0e4b0);color:#6b5a1e;border:1px solid #e8d48a;}
.ql .badge-free{background:#e6f4ea;color:var(--ok);border:1px solid #c8e6c9;}
.ql .badge-soon{background:#eef2f6;color:var(--navy-mid);}
.ql .product h3{font-size:21px;font-weight:700;color:var(--navy);margin:0 0 8px;}
.ql .product>p{font-size:15px;margin:0 0 16px;}
.ql .product ul{list-style:none;margin:0 0 20px;padding:0;flex-grow:1;}
.ql .product li{position:relative;padding-left:22px;margin-bottom:7px;font-size:14.5px;}
.ql .product li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:700;}
.ql .product-actions{display:flex;flex-direction:column;gap:10px;margin-top:auto;}
.ql .dl-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
.ql .dl-btn{display:inline-flex;flex-direction:column;align-items:flex-start;padding:9px 14px;border-radius:8px;font-weight:600;font-size:13px;text-decoration:none;border:1px solid var(--line);background:var(--bg);color:var(--ink);line-height:1.3;}
.ql .dl-btn.off{opacity:.55;cursor:not-allowed;pointer-events:none;}
.ql .dl-btn small{font-weight:500;font-size:11px;color:var(--mute);}
.ql .price-line{font-size:15px;font-weight:650;color:var(--navy);margin:8px 0 12px;}
.ql .price-line span{font-weight:500;font-size:13.5px;color:var(--mute);}
.ql .band{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.ql .account-box{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:36px 32px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
.ql .account-box h3{font-size:20px;font-weight:700;color:var(--navy);margin:0 0 10px;}
.ql .account-box p{font-size:15px;color:var(--mute);margin:0 0 16px;}
.ql .account-box ul{margin:0 0 20px 18px;padding:0;font-size:14.5px;color:var(--mute);}
.ql .trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;}
.ql .trust-card{background:var(--bg);border-radius:var(--radius);padding:24px;border:1px solid var(--line);}
.ql .trust-card h3{font-size:16px;font-weight:700;color:var(--navy);margin:0 0 8px;display:flex;align-items:center;gap:10px;}
.ql .trust-card h3 span{width:26px;height:26px;background:var(--navy);color:var(--gold);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;}
.ql .trust-card p{font-size:14px;color:var(--mute);margin:0;}
.ql .faq-item{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:18px 22px;margin-bottom:10px;}
.ql .faq-item h3{font-size:15.5px;font-weight:650;color:var(--navy);margin:0 0 5px;}
.ql .faq-item p{font-size:14.5px;color:var(--mute);margin:0;}
.ql .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;}
.ql .step{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px;text-align:center;}
.ql .step-num{width:36px;height:36px;background:var(--navy);color:var(--gold);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:14px;}
.ql .step h3{font-size:17px;font-weight:700;color:var(--navy);margin:0 0 8px;}
.ql .step p{font-size:14.5px;color:var(--mute);margin:0;}
.ql .pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;align-items:stretch;}
.ql .price-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:32px 26px;display:flex;flex-direction:column;position:relative;}
.ql .price-card.popular{border:2px solid var(--gold);}
.ql .price-card h3{font-size:20px;font-weight:700;color:var(--navy);margin:0 0 6px;}
.ql .price-tag{margin:10px 0 6px;}
.ql .price-tag .amount{font-size:34px;font-weight:750;color:var(--navy);letter-spacing:-.02em;}
.ql .price-tag .period{font-size:15px;color:var(--mute);}
.ql .price-tag .ttc{display:block;font-size:13.5px;color:var(--mute);}
.ql .price-card ul{list-style:none;margin:18px 0 24px;padding:0;flex-grow:1;}
.ql .price-card li{position:relative;padding-left:24px;margin-bottom:9px;font-size:14.5px;}
.ql .price-card li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:700;}
.ql .note-small{font-size:12.5px;color:var(--mute);margin:12px 0 0;text-align:center;line-height:1.45;}
.ql .option-box{background:linear-gradient(135deg,#f9f6eb,#f4efd9);border:1px solid #e8d9a0;border-radius:var(--radius);padding:26px 30px;margin-top:32px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;}
.ql .option-box h3{font-size:18px;font-weight:700;color:var(--navy);margin:0 0 6px;}
.ql .option-box p{font-size:14.5px;margin:0;max-width:540px;}
.ql .option-price{font-size:22px;font-weight:750;color:var(--navy);white-space:nowrap;}
.ql .option-price small{display:block;font-size:13px;font-weight:500;color:var(--mute);}
.ql .foot{padding:44px 0 40px;text-align:center;font-size:14px;color:var(--mute);}
.ql .foot a{color:var(--navy);text-decoration:none;font-weight:550;}
.ql .foot a:hover{text-decoration:underline;}
.ql .foot-links{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin:14px 0 18px;}
.ql .foot-legal{font-size:12.5px;max-width:700px;margin:0 auto;line-height:1.55;opacity:.9;}
.ql .logo{display:inline-flex;align-items:center;gap:12px;}
.ql .logo img{height:46px;width:auto;display:block;}
.ql .logo-mot{font-weight:650;font-size:15px;color:var(--mute);border-left:1px solid var(--line);padding-left:12px;}
.ql .foot-logo{height:54px;width:auto;margin:0 auto 12px;display:block;}
.ql .cta-idees{background:linear-gradient(135deg,var(--navy) 0%,#121c28 100%);color:#fff;border-radius:var(--radius);padding:40px 36px;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;}
.ql .cta-idees h2{color:#fff;margin:0 0 8px;}
.ql .cta-idees p{color:#c8d4e0;margin:0;max-width:640px;}
/* Idées et demandes */
.ql .qi-msg{padding:14px 18px;border-radius:10px;margin:0 0 20px;font-size:15px;border:1px solid var(--line);background:var(--white);}
.ql .qi-msg-ok{background:#e6f4ea;border-color:#c8e6c9;color:var(--ok);}
.ql .qi-msg-err{background:#fdecea;border-color:#f5c6c0;color:#9b2c1f;}
.ql .qi-msg-info{background:#eef2f6;color:var(--navy-mid);}
.ql .qi-form{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin-bottom:36px;}
.ql .qi-form h3{font-size:20px;color:var(--navy);margin:0 0 16px;}
.ql .qi-form label{display:block;font-size:14px;font-weight:600;color:var(--navy);margin-bottom:14px;}
.ql .qi-form input[type=text],.ql .qi-form input[type=email],.ql .qi-form select,.ql .qi-form textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1.5px solid var(--line);border-radius:9px;font:inherit;font-weight:400;color:var(--ink);background:#fff;}
.ql .qi-form input:focus,.ql .qi-form select:focus,.ql .qi-form textarea:focus{outline:none;border-color:var(--gold);}
.ql .qi-ligne{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.ql .qi-note{font-size:12.5px;color:var(--mute);margin:0 0 16px;line-height:1.5;}
.ql .qi-piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.ql .qi-filtres{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px;font-size:14px;color:var(--mute);}
.ql .qi-tri{margin-left:auto;display:flex;gap:8px;align-items:center;}
.ql .qi-filtre{text-decoration:none;padding:6px 12px;border-radius:20px;border:1px solid var(--line);background:var(--white);color:var(--ink);font-weight:600;font-size:13px;}
.ql .qi-filtre.est-actif{background:var(--navy);color:#fff;border-color:var(--navy);}
.ql .qi-idee{display:flex;gap:18px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;margin-bottom:12px;}
.ql .qi-vote{margin:0;}
.ql .qi-vote button{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:58px;padding:10px 8px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--navy);cursor:pointer;font:inherit;}
.ql .qi-vote button:hover{border-color:var(--gold);background:#fbf7e6;}
.ql .qi-fleche{font-size:13px;color:var(--gold);}
.ql .qi-corps{flex:1;min-width:0;}
.ql .qi-corps h4{font-size:17px;color:var(--navy);margin:6px 0;}
.ql .qi-corps p{font-size:14.5px;margin:0 0 8px;color:var(--ink);word-wrap:break-word;}
.ql .qi-meta{font-size:12.5px !important;color:var(--mute) !important;}
.ql .qi-etiquettes{display:flex;gap:6px;flex-wrap:wrap;}
.ql .qi-badge{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:3px 10px;border-radius:20px;background:#eef2f6;color:var(--navy-mid);}
.ql .qi-st-etude{background:#fff3cd;color:#6b5a1e;}
.ql .qi-st-prevue{background:#dbeafe;color:#1e40af;}
.ql .qi-st-realisee{background:#e6f4ea;color:var(--ok);}
.ql .qi-st-refusee{background:#f3f4f6;color:#6b7280;}
.ql .qi-reponse{background:#f9f6eb;border-left:3px solid var(--gold);padding:10px 14px;border-radius:6px;font-size:14px;margin-top:8px;}
.ql .qi-vide{color:var(--mute);text-align:center;padding:30px 0;}
/* Pages intérieures : panier, commande, compte, produits, CGV */
.ql .hero-page{padding:44px 0 40px;}
.ql .hero-page h1{margin:0 auto;font-size:clamp(26px,4vw,34px);}
.ql .qlb-contenu{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:32px;font-size:15.5px;overflow-wrap:break-word;}
.ql .qlb-contenu h2{font-size:22px;color:var(--navy);margin:28px 0 10px;}
.ql .qlb-contenu h3{font-size:18px;color:var(--navy);margin:22px 0 8px;}
.ql .qlb-contenu>h2:first-child,.ql .qlb-contenu>h3:first-child{margin-top:0;}
.ql .qlb-contenu p{margin:0 0 14px;}
.ql .qlb-contenu a:not(.button):not(.btn):not(.wp-element-button):not(.wc-block-components-button){color:var(--navy);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px;}
.ql .qlb-contenu table{width:100%;border-collapse:collapse;margin:0 0 20px;}
.ql .qlb-contenu th,.ql .qlb-contenu td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;}
.ql .qlb-contenu th{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--mute);}
.ql .qlb-contenu .button,.ql .qlb-contenu button[type=submit],.ql .qlb-contenu input[type=submit],.ql .qlb-contenu .wp-element-button,.ql .qlb-contenu .wc-block-components-button:not(.is-link){display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);border:1.5px solid var(--gold);border-radius:9px;padding:12px 22px;font:inherit;font-weight:650;font-size:14.5px;cursor:pointer;text-decoration:none;transition:all .2s ease;}
.ql .qlb-contenu .button:hover,.ql .qlb-contenu button[type=submit]:hover,.ql .qlb-contenu input[type=submit]:hover,.ql .qlb-contenu .wp-element-button:hover,.ql .qlb-contenu .wc-block-components-button:not(.is-link):hover{background:#d4ad2e;color:var(--navy);}
.ql .qlb-contenu .button.alt,.ql .qlb-contenu #place_order,.ql .qlb-contenu .checkout-button{background:var(--navy);border-color:var(--navy);color:#fff;}
.ql .qlb-contenu .button.alt:hover,.ql .qlb-contenu #place_order:hover,.ql .qlb-contenu .checkout-button:hover{background:var(--navy-mid);color:#fff;}
.ql .qlb-contenu input[type=text],.ql .qlb-contenu input[type=email],.ql .qlb-contenu input[type=tel],.ql .qlb-contenu input[type=password],.ql .qlb-contenu input[type=number],.ql .qlb-contenu select,.ql .qlb-contenu textarea,.ql .qlb-contenu .wc-block-components-text-input input{padding:11px 12px;border:1.5px solid var(--line);border-radius:9px;font:inherit;color:var(--ink);background:#fff;max-width:100%;}
.ql .qlb-contenu input:focus,.ql .qlb-contenu select:focus,.ql .qlb-contenu textarea:focus{outline:none;border-color:var(--gold);}
.ql .qlb-contenu label{font-weight:600;color:var(--navy);font-size:14px;}
.ql .qlb-contenu .woocommerce-message,.ql .qlb-contenu .woocommerce-info,.ql .qlb-contenu .woocommerce-error{list-style:none;margin:0 0 20px;padding:14px 18px;border-radius:10px;border:1px solid var(--line);border-left:4px solid var(--gold);background:var(--bg);color:var(--ink);}
.ql .qlb-contenu .woocommerce-error{border-left-color:#c0392b;background:#fdecea;}
.ql .qlb-contenu .woocommerce-message .button,.ql .qlb-contenu .woocommerce-info .button{margin-right:12px;}
.ql .qlb-contenu .price,.ql .qlb-contenu .woocommerce-Price-amount{color:var(--navy);font-weight:700;}
.ql .qlb-contenu .cart_totals h2,.ql .qlb-contenu #order_review_heading,.ql .qlb-contenu .woocommerce-billing-fields h3{font-size:20px;}
.ql .qlb-contenu .woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.ql .qlb-contenu .woocommerce-MyAccount-navigation a{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:20px;text-decoration:none !important;font-weight:600;font-size:13.5px;color:var(--ink);background:var(--bg);}
.ql .qlb-contenu .woocommerce-MyAccount-navigation .is-active a{background:var(--navy);color:#fff;border-color:var(--navy);}
.ql .qlb-produit .product_title{display:none;}
.ql .qlb-produit div.product{display:flex;flex-wrap:wrap;gap:32px;}
.ql .qlb-produit div.product>.woocommerce-product-gallery{flex:0 1 380px;}
.ql .qlb-produit div.product>.summary{flex:1 1 340px;}
.ql .qlb-produit div.product>.woocommerce-tabs,.ql .qlb-produit div.product>.related,.ql .qlb-produit div.product>.up-sells{flex:1 1 100%;}
.ql .qlb-produit .price{font-size:26px;display:block;margin:0 0 16px;}
.ql .qlb-produit form.cart{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0;}
.ql .qlb-produit .product_meta{font-size:13px;color:var(--mute);margin-top:18px;}
.ql .qlb-produit .woocommerce-tabs ul.tabs{list-style:none;margin:0 0 16px;padding:0;display:flex;gap:8px;border-bottom:1px solid var(--line);}
.ql .qlb-produit .woocommerce-tabs ul.tabs li a{display:block;padding:10px 16px;font-weight:600;text-decoration:none !important;color:var(--mute);}
.ql .qlb-produit .woocommerce-tabs ul.tabs li.active a{color:var(--navy);border-bottom:2px solid var(--gold);}
@media (max-width:700px){.ql .qlb-contenu{padding:20px 16px;}.ql .qlb-contenu table{display:block;overflow-x:auto;}}
@media (max-width:700px){.ql .qi-ligne{grid-template-columns:1fr;gap:0;}.ql .qi-tri{margin-left:0;}.ql .qi-idee{flex-direction:column;gap:10px;}.ql .logo-mot{display:none;}}
@media (max-width:700px){.ql .account-box{grid-template-columns:1fr;gap:28px;}.ql .nav-links{display:none;}.ql .hero{padding:52px 0 48px;}.ql .sec{padding:48px 0;}}
