/* ============================================================
   RECHERCHE RASOIR.MA — suggestions en direct + page résultats
   ============================================================ */
.nx-search{ position:relative; }

/* ---------- Menu de suggestions ---------- */
.rs-drop{ position:absolute; top:calc(100% + 8px); left:0; right:0; z-index:1050; background:#fff; border:1px solid #ecebe6; border-radius:14px;
  box-shadow:0 24px 48px -16px rgba(20,20,15,.28); overflow:hidden; text-align:left; display:none; animation:rsIn .16s ease-out; }
.rs-drop.open{ display:block; }
@keyframes rsIn{ from{ opacity:0; transform:translateY(-4px); } to{ opacity:1; transform:none; } }
.rs-drop-scroll{ max-height:min(70vh,520px); overflow-y:auto; overscroll-behavior:contain; }
.rs-drop-sec{ padding:10px 8px 6px; }
.rs-drop-sec + .rs-drop-sec{ border-top:1px solid #f1f0ec; }
.rs-drop-label{ font-size:10.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:#9a988f; padding:0 8px 6px; }
.rs-opt{ display:flex; align-items:center; gap:12px; padding:8px; border-radius:10px; color:#111!important; text-decoration:none!important; transition:background .12s; }
.rs-opt:hover, .rs-opt.active{ background:#faf6ec; }
.rs-opt-img{ width:52px; height:52px; flex-shrink:0; border-radius:9px; background:#f6f5f1; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.rs-opt-img img{ width:100%; height:100%; object-fit:contain; }
.rs-opt-txt{ flex:1; min-width:0; }
.rs-opt-name{ font-size:13.5px; font-weight:600; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rs-opt-sku{ font-size:11.5px; color:#8a887f; margin-top:2px; }
.rs-opt-price{ flex-shrink:0; text-align:right; font-size:13.5px; font-weight:800; color:#111; white-space:nowrap; }
.rs-opt-price s{ display:block; font-size:11px; font-weight:500; color:#a8a69e; }
.rs-opt-ico{ width:30px; height:30px; flex-shrink:0; border-radius:8px; background:#f6f5f1; display:flex; align-items:center; justify-content:center; color:#c08a1e; font-size:13px; }
.rs-opt-line{ font-size:13.5px; font-weight:600; }
.rs-drop mark, .rs-section mark{ background:rgba(212,160,48,.22); color:inherit; padding:0 2px; border-radius:3px; }
.rs-drop-chips{ display:flex; flex-wrap:wrap; gap:6px; padding:0 8px 6px; }
.rs-drop-chip{ font-size:12.5px; font-weight:600; padding:6px 12px; border-radius:20px; background:#f6f5f1; color:#333!important; text-decoration:none!important; border:1px solid transparent; transition:all .12s; }
.rs-drop-chip:hover, .rs-drop-chip.active{ background:#fff; border-color:#D4A030; color:#111!important; }
.rs-drop-all{ display:flex; align-items:center; justify-content:space-between; padding:13px 16px; background:#111315; color:#fff!important; font-size:13px; font-weight:700; text-decoration:none!important; }
.rs-drop-all:hover, .rs-drop-all.active{ background:#D85A30; }
.rs-drop-empty{ padding:18px 16px 8px; font-size:13.5px; color:#555; }
.rs-drop-empty a{ color:#c08a1e; font-weight:700; }
.rs-drop-loading{ padding:16px; font-size:13px; color:#9a988f; }
.nx-search-form.rs-busy button i{ animation:rsSpin .7s linear infinite; }
.nx-search-form.rs-busy button i:before{ content:"\f110"; }
@keyframes rsSpin{ to{ transform:rotate(360deg); } }

/* ---------- Page résultats ---------- */
.rs-section{ padding-top:28px!important; padding-bottom:60px!important; }
.rs-breadcrumb{ font-size:12.5px; color:#8a887f; margin-bottom:10px; }
.rs-breadcrumb a{ color:#8a887f; } .rs-breadcrumb .fa{ margin:0 6px; font-size:11px; }
.rs-title{ font-size:28px; font-weight:800; letter-spacing:-.4px; color:#111; margin:0 0 18px; word-break:break-word; }
.rs-form{ position:relative; display:flex; gap:10px; max-width:760px; margin-bottom:22px; }
.rs-form-icon{ position:absolute; left:18px; top:50%; transform:translateY(-50%); color:#a0a09a; }
.rs-form input{ flex:1; min-width:0; height:54px; border:2px solid #ecebe6; border-radius:14px; padding:0 18px 0 46px; font-size:15px; font-weight:500; color:#111; outline:none; transition:border-color .2s, box-shadow .2s; }
.rs-form input:focus{ border-color:#D4A030; box-shadow:0 6px 18px -8px rgba(212,160,48,.45); }
.rs-form button{ height:54px; padding:0 26px; border:none; border-radius:14px; background:#111315; color:#fff; font-weight:800; font-size:14px; transition:background .18s; }
.rs-form button:hover{ background:#D85A30; }
.rs-meta{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.rs-count{ margin:0; font-size:14px; color:#555; }
.rs-count strong{ color:#111; }
.rs-sort{ display:flex; align-items:center; gap:6px; font-size:13px; color:#8a887f; }
.rs-sort-btn{ padding:6px 12px; border-radius:20px; color:#333!important; text-decoration:none!important; font-weight:600; border:1px solid #ecebe6; background:#fff; }
.rs-sort-btn.active, .rs-sort-btn:hover{ border-color:#111; background:#111; color:#fff!important; }
.rs-chips, .rs-popular{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.rs-popular{ justify-content:center; margin:16px 0 0; }
.rs-chip{ display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border-radius:22px; background:#f6f5f1; color:#333!important; font-size:13px; font-weight:600; text-decoration:none!important; border:1px solid transparent; transition:all .15s; }
.rs-chip span{ font-size:11px; background:#fff; border-radius:10px; padding:1px 7px; color:#8a887f; }
.rs-chip:hover{ border-color:#D4A030; background:#fff; }
.rs-chip.active{ background:#D4A030; color:#fff!important; }
.rs-chip.active span{ color:#c08a1e; }
.rs-links{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.rs-link{ display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border-radius:10px; border:1px solid #ecebe6; background:#fff; color:#111!important; font-size:13px; font-weight:600; text-decoration:none!important; }
.rs-link:hover{ border-color:#D4A030; }
.rs-link .fa:first-child{ color:#c08a1e; }
.rs-note{ font-size:13px; color:#8a6a1e; background:#fbf5e6; border-radius:10px; padding:10px 14px; }
.rs-empty{ text-align:center; padding:36px 16px 30px; background:#fbfaf7; border-radius:16px; margin-bottom:34px; color:#555; font-size:14px; }
.rs-empty-icon{ width:62px; height:62px; margin:0 auto 12px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; font-size:22px; color:#D4A030; box-shadow:0 8px 20px -10px rgba(0,0,0,.2); }
.rs-empty-title{ font-size:19px; font-weight:800; color:#111; margin-bottom:6px; }
.rs-empty a{ color:#c08a1e; font-weight:700; }
.rs-subtitle{ font-size:20px; font-weight:800; margin:0 0 16px; }
#rs-results{ transition:opacity .15s; }
#rs-results.rs-loading{ opacity:.45; }
@media(max-width:575px){
  .rs-title{ font-size:21px; }
  .rs-form button{ padding:0 16px; }
  .rs-form input{ height:50px; font-size:14px; } .rs-form button{ height:50px; }
  .rs-opt-img{ width:44px; height:44px; }
}

/* ---------- Cartes « Nouveau » (copie des styles de l'accueil, pour la page résultats) ---------- */
.bs-card.is-new{ border:0; padding:3px; isolation:isolate; box-shadow:0 0 0 0 rgba(212,160,48,.0); animation:bsNewGlow 3.2s ease-in-out infinite; }
/* Comète lumineuse qui fait le tour de la carte */
.bs-card.is-new::before{ content:''; position:absolute; left:50%; top:50%; width:160%; aspect-ratio:1/1; z-index:-2; pointer-events:none;
    background:conic-gradient(from 0deg, transparent 0 50%, rgba(212,160,48,.35) 62%, #D4A030 76%, #D85A30 86%, #ffe9a8 91%, transparent 95%);
    transform:translate(-50%,-50%) rotate(0deg); animation:bsNewSpin 4.5s linear infinite; }
.bs-card.is-new::after{ content:''; position:absolute; inset:3px; border-radius:17px; background:#fff; z-index:-1; pointer-events:none; }
.bs-card.is-new .bs-card-image{ border-radius:17px 17px 0 0; }
@keyframes bsNewSpin{ to{ transform:translate(-50%,-50%) rotate(360deg); } }
@keyframes bsNewGlow{ 0%,100%{ box-shadow:0 10px 30px -18px rgba(212,160,48,.35); } 50%{ box-shadow:0 18px 44px -14px rgba(216,90,48,.45); } }

/* Reflet qui balaie la photo du produit */
.bs-card.is-new .bs-card-image::after{ content:''; position:absolute; top:0; left:-60%; width:45%; height:100%; z-index:2; pointer-events:none;
    background:linear-gradient(105deg, transparent 0%, rgba(255,255,255,.75) 50%, transparent 100%); transform:skewX(-18deg); animation:bsNewSweep 4.5s ease-in-out infinite; }
@keyframes bsNewSweep{ 0%,62%{ left:-60%; } 82%,100%{ left:130%; } }

/* Étiquette « Nouveau » : pastille sombre, point qui pulse, texte or scintillant */
.bs-new-tag{ position:absolute; top:14px; left:14px; z-index:3; display:inline-flex; align-items:center; gap:7px; padding:6px 12px 6px 9px; border-radius:30px;
    background:#111; box-shadow:0 6px 16px -6px rgba(0,0,0,.45), inset 0 0 0 1px rgba(212,160,48,.55); font-family:'Outfit',sans-serif; font-size:10.5px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; line-height:1; }
.bs-new-tag .bs-new-txt{ background:linear-gradient(90deg,#D4A030 0%,#fff3c4 45%,#D85A30 60%,#D4A030 100%); background-size:220% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:bsNewShimmer 2.6s linear infinite; }
@keyframes bsNewShimmer{ to{ background-position:-220% 0; } }
.bs-new-dot{ position:relative; width:7px; height:7px; border-radius:50%; background:#D85A30; flex-shrink:0; }
.bs-new-dot::after{ content:''; position:absolute; inset:-4px; border-radius:50%; border:2px solid #D85A30; animation:bsNewPing 1.6s cubic-bezier(0,0,.2,1) infinite; }
@keyframes bsNewPing{ 0%{ transform:scale(.4); opacity:.9; } 100%{ transform:scale(1.6); opacity:0; } }
.bs-new-spark{ color:#D4A030; font-size:11px; animation:bsNewTwinkle 1.8s ease-in-out infinite; }
@keyframes bsNewTwinkle{ 0%,100%{ opacity:.35; transform:scale(.8) rotate(0deg); } 50%{ opacity:1; transform:scale(1.15) rotate(20deg); } }

/* Ligne sous le nom */
.bs-new-note{ display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:700; color:var(--brand-orange); letter-spacing:.02em; }
.bs-new-note::before{ content:'✦'; font-size:11px; color:#D4A030; }

@media(max-width:575px){
    .bs-card.is-new::after{ border-radius:13px; }
    .bs-card.is-new .bs-card-image{ border-radius:13px 13px 0 0; }
    .bs-new-tag{ top:10px; left:10px; padding:5px 9px 5px 7px; font-size:9px; gap:5px; }
    .bs-new-spark{ display:none; }
}
@media (prefers-reduced-motion: reduce){
    .bs-card.is-new, .bs-card.is-new::before, .bs-card.is-new .bs-card-image::after,
    .bs-new-tag .bs-new-txt, .bs-new-dot::after, .bs-new-spark{ animation:none !important; }
    .bs-card.is-new::before{ background:linear-gradient(135deg,#D4A030,#D85A30); width:100%; height:100%; aspect-ratio:auto; left:0; top:0; transform:none; }
    .bs-card.is-new .bs-card-image::after{ display:none; }
}
.rs-section .bs-card{ overflow:hidden; position:relative; display:flex; flex-direction:column; }
.rs-section .bs-card-link{ flex:1; display:flex; flex-direction:column; }
.rs-section .bs-card-body{ padding:16px 18px 0; }
.rs-section .bs-card-footer{ padding:12px 18px 18px; }
@media(max-width:575px){ .rs-section .bs-card-body{ padding:12px 12px 0; } .rs-section .bs-card-footer{ padding:10px 12px 12px; gap:10px; } }
