/* Veloland Nérac — couche boutique (recherche, panier, prix, badges) */

/* ---- Recherche header ---- */
.vl-search{position:relative;flex:1;max-width:420px;min-width:160px}
.vl-search input{width:100%;padding:10px 40px 10px 14px;border:none;border-radius:6px;font-size:14px;background:#fff;color:#1a1a1a}
.vl-search input:focus{outline:2px solid #f4a300}
.vl-search .vl-search-ico{position:absolute;right:12px;top:50%;transform:translateY(-50%);opacity:.5;pointer-events:none}
.vl-search-drop{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:400;display:none;max-height:420px;overflow-y:auto}
.vl-search-drop.is-open{display:block}
.vl-search-drop a{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid #f2f2ee;color:#1a1a1a;text-decoration:none}
.vl-search-drop a:hover{background:#fafaf7;text-decoration:none}
.vl-search-drop img{width:44px;height:44px;object-fit:contain;background:#f5f5f5;border-radius:6px;flex:none}
.vl-search-drop .n{font-size:13.5px;font-weight:600;line-height:1.3}
.vl-search-drop .c{font-size:12px;color:#888}
.vl-search-drop .p{margin-left:auto;font-weight:700;color:#1f5f3f;white-space:nowrap;font-size:13.5px}
.vl-search-drop .vl-noresult{padding:14px;font-size:13.5px;color:#666}

/* ---- Panier header ---- */
.vl-cart{position:relative;display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:600;font-size:14px;text-decoration:none;padding:8px 12px;border:1.5px solid rgba(255,255,255,.35);border-radius:8px}
.vl-cart:hover{border-color:#f4a300;text-decoration:none;color:#f4a300}
.vl-cart-count{position:absolute;top:-8px;right:-8px;background:#f4a300;color:#1a1a1a;font-size:11px;font-weight:800;min-width:19px;height:19px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.vl-cart-count:empty,.vl-cart-count[data-n="0"]{display:none}

@media (max-width:820px){
  .topbar-row{flex-wrap:wrap!important}
  .vl-search{order:5;flex-basis:100%;max-width:none;margin-top:8px}
  .vl-cart .vl-cart-label{display:none}
  .vl-cart{padding:6px 10px}
  .burger{margin-left:0}
}

/* ---- Prix ---- */
.vl-price-now{font-size:28px;font-weight:800;color:#1f5f3f;letter-spacing:-.5px}
.vl-price-old{font-size:17px;color:#999;text-decoration:line-through;margin-right:10px;font-weight:500}
.vl-promo-tag{display:inline-block;background:#d92c2c;color:#fff;font-size:12px;font-weight:800;padding:3px 8px;border-radius:4px;margin-left:10px;vertical-align:middle}
.vl-occ-tag{display:inline-block;background:#6b21a8;color:#fff;font-size:12px;font-weight:800;padding:3px 8px;border-radius:4px;margin-left:10px;vertical-align:middle}
.vl-3x{margin:6px 0 0;font-size:13.5px;color:#444}
.vl-3x strong{color:#1f5f3f}
.vl-price-note{margin:8px 0 0;font-size:12px;color:#888}
.vl-stock{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;margin-top:10px;padding:4px 10px;border-radius:5px}
.vl-stock.in{color:#166534;background:#dcfce7}
.vl-stock.order{color:#92400e;background:#fef3c7}
.vl-stock.occ{color:#6b21a8;background:#f3e8ff}

/* prix carte produit */
.prod-price .vl-card-old{font-size:13px;color:#999;text-decoration:line-through;margin-right:6px}
.prod-price .vl-card-now{font-size:18px;font-weight:800;color:#1f5f3f}
.prod-price .vl-card-promo{background:#d92c2c;color:#fff;font-size:10.5px;font-weight:800;padding:2px 6px;border-radius:3px;margin-left:6px;vertical-align:2px}
.vl-card-stock{font-size:12px;font-weight:600;margin:4px 0 0}
.vl-card-stock.in{color:#166534}
.vl-card-stock.order{color:#92400e}
.pcard-price{margin:6px 0 0;font-weight:800;color:#1f5f3f;font-size:15.5px}
.pcard-price .vl-card-old{font-size:12px;color:#999;text-decoration:line-through;margin-right:6px;font-weight:500}

/* ---- Boutons panier ---- */
.vl-add-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#f4a300;color:#1a1a1a;border:none;cursor:pointer;padding:14px 26px;border-radius:6px;font-weight:800;font-size:16px;font-family:inherit;transition:background .15s}
.vl-add-btn:hover{background:#ffb533}
.vl-add-btn.vl-added{background:#1f5f3f;color:#fff}
.vl-add-mini{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#f4a300;color:#1a1a1a;border:none;cursor:pointer;padding:9px 14px;border-radius:6px;font-weight:700;font-size:13.5px;font-family:inherit}
.vl-add-mini:hover{background:#ffb533}
.vl-add-mini.vl-added{background:#1f5f3f;color:#fff}
.vl-qty{display:inline-flex;align-items:center;border:1.5px solid #ddd;border-radius:6px;overflow:hidden;background:#fff}
.vl-qty button{width:38px;height:48px;border:none;background:#f5f5f2;font-size:18px;cursor:pointer;font-weight:700;color:#333}
.vl-qty button:hover{background:#eee}
.vl-qty input{width:44px;height:48px;border:none;text-align:center;font-size:15px;font-weight:700;-moz-appearance:textfield}
.vl-qty input::-webkit-inner-spin-button{display:none}

/* ---- Toast ---- */
.vl-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:#1f5f3f;color:#fff;padding:13px 22px;border-radius:8px;font-size:14.5px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:all .25s;z-index:900;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 40px)}
.vl-toast.is-on{opacity:1;transform:translate(-50%,0)}
.vl-toast a{color:#ffd166;font-weight:800;text-decoration:underline;white-space:nowrap}

/* ---- Corrections shell pages reconstruites ---- */
.page-hero h1{color:#fff!important;border-bottom:none!important;display:block!important;padding-bottom:0!important}
.product-grid .prod-name a{text-decoration:none}
.product-grid .prod-name a:hover{text-decoration:underline}

/* ---- Breadcrumb ---- */
.vl-crumbs{font-size:13px;color:#888;padding:14px 0 0}
.vl-crumbs a{color:#1f5f3f}
.vl-crumbs span{margin:0 6px;color:#bbb}

/* ---- Barre outils catégorie ---- */
.vl-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:4px 0 18px;padding:10px 14px;background:#fff;border:1px solid #e6e6e0;border-radius:8px}
.vl-toolbar .vl-count{font-size:13.5px;color:#666}
.vl-toolbar select{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:13.5px;background:#fff;color:#1a1a1a;font-family:inherit;cursor:pointer}

/* ---- Réassurance ---- */
.vl-reassure{background:#fff;border-bottom:1px solid #e6e6e0}
.vl-reassure .wrap{max-width:1200px;margin:0 auto;padding:18px 16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.vl-reassure .it{display:flex;align-items:center;gap:12px}
.vl-reassure .it span{font-size:26px;flex:none}
.vl-reassure .it b{display:block;font-size:14px;color:#1a1a1a}
.vl-reassure .it small{font-size:12.5px;color:#777}

/* ---- Produits liés ---- */
.vl-related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:20px}
.vl-related-grid .rp{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;text-decoration:none;color:#1a1a1a;display:flex;flex-direction:column;transition:all .2s}
.vl-related-grid .rp:hover{transform:translateY(-3px);box-shadow:0 6px 16px rgba(0,0,0,.08);border-color:#fbbf24;text-decoration:none}
.vl-related-grid .rp .im{aspect-ratio:1;background:#f5f5f5}
.vl-related-grid .rp .im img{width:100%;height:100%;object-fit:contain;padding:8px}
.vl-related-grid .rp .bd{padding:12px}
.vl-related-grid .rp .nm{font-weight:600;color:#1e3a8a;font-size:.9rem;margin:0 0 6px;line-height:1.3}
.vl-related-grid .rp .pr{font-weight:800;color:#1f5f3f;font-size:15px;margin:0}
.vl-related-grid .rp .pr .vl-card-old{font-size:12px;color:#999;text-decoration:line-through;margin-right:6px;font-weight:500}

/* ---- Page panier ---- */
.vl-cart-page{max-width:900px;margin:0 auto;padding:24px 16px 56px}
.vl-cart-line{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #e6e6e0;border-radius:8px;padding:14px;margin-bottom:12px}
.vl-cart-line img{width:72px;height:72px;object-fit:contain;background:#f5f5f5;border-radius:6px;flex:none}
.vl-cart-line .inf{flex:1;min-width:0}
.vl-cart-line .inf a{font-weight:700;color:#1e3a8a;font-size:15px;line-height:1.3}
.vl-cart-line .inf .u{font-size:12.5px;color:#888;margin-top:2px}
.vl-cart-line .tot{font-weight:800;color:#1f5f3f;font-size:16px;white-space:nowrap;min-width:90px;text-align:right}
.vl-cart-line .rm{background:none;border:none;color:#c00;cursor:pointer;font-size:18px;padding:6px}
.vl-cart-line .vl-qty button{height:38px;width:32px}
.vl-cart-line .vl-qty input{height:38px;width:38px;font-size:14px}
.vl-cart-summary{background:#fff;border:1px solid #e6e6e0;border-radius:10px;padding:22px;margin-top:20px}
.vl-cart-summary .row{display:flex;justify-content:space-between;font-size:14.5px;margin:6px 0;color:#444}
.vl-cart-summary .row.total{font-size:20px;font-weight:800;color:#1a1a1a;border-top:2px solid #eee;padding-top:12px;margin-top:12px}
.vl-cart-summary .row.total .v{color:#1f5f3f}
.vl-cart-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.vl-cart-actions a{flex:1;min-width:220px;text-align:center;padding:15px 20px;border-radius:8px;font-weight:800;font-size:15.5px;text-decoration:none}
.vl-cart-actions .go-wa{background:#25d366;color:#fff}
.vl-cart-actions .go-tel{background:#1e3a8a;color:#fff}
.vl-cart-actions a:hover{text-decoration:none;filter:brightness(1.08)}
.vl-cart-note{font-size:13px;color:#777;margin-top:14px;line-height:1.6}
.vl-cart-empty{text-align:center;padding:56px 16px;color:#666}
.vl-cart-empty .ic{font-size:52px;margin-bottom:12px}
.vl-cart-empty a.back{display:inline-block;margin-top:18px;background:#f4a300;color:#1a1a1a;padding:12px 26px;border-radius:6px;font-weight:800;text-decoration:none}

@media (max-width:640px){
  .vl-cart-line{flex-wrap:wrap}
  .vl-cart-line .tot{min-width:0}
  .vl-price-now{font-size:24px}
}
