/**
* 2007-2026 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author    PrestaShop SA <contact@prestashop.com>
*  @copyright 2007-2026 PrestaShop SA
*  @license   http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*
* Don't forget to prefix your containers with your own identifier
* to avoid any conflicts with others containers.
*/


/* ---------------------------
   Base container
---------------------------- */
.fmmss-wrap{
  max-width:1200px;
  margin:0 auto;
  padding:22px 16px;
}

/* ---------------------------
   Hero (header/search)
---------------------------- */
.fmmss-hero{
  border-radius:20px;
  background:
    radial-gradient(900px 320px at 20% 0%, rgba(44,102,255,0.16), transparent 60%),
    radial-gradient(700px 260px at 90% 30%, rgba(44,102,255,0.10), transparent 55%),
    linear-gradient(135deg, rgba(17,24,39,0.02), rgba(255,255,255,0));
  border:1px solid rgba(17,24,39,0.08);
  box-shadow:0 14px 40px rgba(17,24,39,0.08);
  overflow:hidden;
}

.fmmss-hero__inner{
  padding:24px 20px;
}

.fmmss-hero__title{
  font-size:22px;
  font-weight:900;
  letter-spacing:-0.2px;
  color:#111827;
}

.fmmss-hero__subtitle{
  margin-top:8px;
  color:#6b7280;
  font-size:13px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}

.fmmss-chip{
  background:rgba(17,24,39,0.06);
  border:1px solid rgba(17,24,39,0.06);
  padding:5px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
}

.fmmss-dot{ opacity:0.35; }

/* Form */
.fmmss-form{ margin-top:16px; }

.fmmss-inputwrap{
  display:flex;
  gap:10px;
  align-items:stretch;
}

.fmmss-input{
  flex:1;
  border-radius:14px;
  border:1px solid rgba(17,24,39,0.12);
  padding:12px 14px;
  font-size:14px;
  outline:none;
  background:#fff;
  transition:border-color .15s ease, box-shadow .15s ease;
}

.fmmss-input:focus{
  border-color:rgba(44,102,255,0.65);
  box-shadow:0 0 0 4px rgba(44,102,255,0.14);
}

.fmmss-btn{
  border-radius:14px;
  border:1px solid rgba(44,102,255,0.35);
  padding:0 14px;
  background:linear-gradient(180deg, #2c66ff, #2457e6);
  color:#fff;
  display:flex;
  gap:8px;
  align-items:center;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
  transition:transform .12s ease, filter .12s ease, box-shadow .12s ease;
  box-shadow:0 10px 22px rgba(44,102,255,0.22);
}

.fmmss-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.02);
}

.fmmss-btn:active{
  transform:translateY(0);
  filter:brightness(0.98);
}

.fmmss-btn__icon{ font-size:15px; }


/* ---------------------------
   Layout: sidebar + results
---------------------------- */
.fmmss-layout{
  display:flex;
  gap:16px;
  margin-top:18px;
  align-items:flex-start;
}

.fmmss-side{
  width:260px;
  flex:0 0 260px;
  border:1px solid rgba(17,24,39,0.08);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(17,24,39,0.06);
  padding:12px;
  height:fit-content;
  position:sticky;
  top:12px;
}

.fmmss-side__title{
  font-size:12px;
  font-weight:900;
  color:#111827;
  letter-spacing:.35px;
  text-transform:uppercase;
  margin:4px 4px 10px;
}

.fmmss-cats{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.fmmss-cat{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:10px 10px;
  border-radius:14px;
  text-decoration:none !important;
  color:#111827 !important;
  border:1px solid rgba(17,24,39,0.06);
  background:rgba(17,24,39,0.02);
  transition:background .12s ease, border-color .12s ease, transform .12s ease;
}

.fmmss-cat:hover{
  background:rgba(44,102,255,0.06);
  border-color:rgba(44,102,255,0.20);
  transform:translateY(-1px);
}

.fmmss-cat__name{
  font-size:13px;
  font-weight:850;
  line-height:1.2;
}

.fmmss-cat__count{
  font-size:11px;
  font-weight:900;
  background:rgba(17,24,39,0.08);
  color:#111827;
  border-radius:999px;
  padding:3px 8px;
}

.fmmss-main{
  flex:1;
  min-width:0;
}

/* ---------------------------
   Results header
---------------------------- */
.fmmss-results{ margin-top:0; }

.fmmss-results__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:10px;
  margin:6px 2px 14px;
}

.fmmss-results__title{
  font-size:16px;
  font-weight:900;
  color:#111827;
}

.fmmss-results__meta{
  font-size:12px;
  color:#6b7280;
  background:rgba(17,24,39,0.04);
  border:1px solid rgba(17,24,39,0.06);
  padding:6px 10px;
  border-radius:999px;
}

/* ---------------------------
   Grid + cards
---------------------------- */
.fmmss-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
}

.fmmss-card{
  display:block;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(17,24,39,0.08);
  background:#fff;
  box-shadow:0 10px 24px rgba(17,24,39,0.06);
  text-decoration:none !important;
  color:inherit !important;
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.fmmss-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(17,24,39,0.10);
  border-color:rgba(44,102,255,0.18);
}

.fmmss-card__imgwrap{
  position:relative;
  background:rgba(17,24,39,0.03);
  aspect-ratio:1/1;
}

.fmmss-card__img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .18s ease;
}

.fmmss-card:hover .fmmss-card__img{
  transform:scale(1.03);
}

.fmmss-badge{
  position:absolute;
  top:10px;
  left:10px;
  background:rgba(17,24,39,0.78);
  color:#fff;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.2px;
}

.fmmss-card__body{
  padding:12px 12px 12px;
}

.fmmss-card__name{
  font-size:14px;
  font-weight:900;
  line-height:1.25;
  min-height:36px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.fmmss-card__attrs{
  margin-top:6px;
  font-size:12px;
  color:#6b7280;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:32px;
}

.fmmss-card__foot{
  margin-top:10px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.fmmss-card__price{
  font-size:14px;
  font-weight:950;
  color:#111827;
}

/* Match bar (cleaner) */
.fmmss-match{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
  white-space:nowrap;
}

.fmmss-match__pill{
  font-size:11px;
  font-weight:950;
  color:#111827;
  background:rgba(44,102,255,0.12);
  border:1px solid rgba(44,102,255,0.22);
  padding:4px 8px;
  border-radius:999px;
}

.fmmss-match__bar{
  width:74px;
  height:8px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(17,24,39,0.10);
}

.fmmss-match__fill{
  display:block;
  height:100%;
  width:0%;
  border-radius:999px;
  background:linear-gradient(90deg, #dc2626, #f59e0b, #16a34a);
  transition:width .2s ease;
}

.fmmss-card__cta{
  margin-top:10px;
  font-size:12px;
  font-weight:900;
  color:#2c66ff;
}

/* ---------------------------
   Empty state
---------------------------- */
.fmmss-empty{
  margin-top:14px;
  border:1px dashed rgba(17,24,39,0.18);
  border-radius:18px;
  padding:18px;
  background:rgba(17,24,39,0.02);
}

.fmmss-empty__title{
  font-size:14px;
  font-weight:950;
  color:#111827;
}

.fmmss-empty__text{
  margin-top:6px;
  color:#6b7280;
  font-size:12px;
}

/* ---------------------------
   Responsive
---------------------------- */
@media (max-width: 1100px){
  .fmmss-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px){
  .fmmss-layout{ flex-direction:column; }
  .fmmss-side{ width:auto; flex:auto; position:static; }
  .fmmss-cats{ flex-direction:row; flex-wrap:wrap; }
  .fmmss-cat{ width:auto; }
}

@media (max-width: 800px){
  .fmmss-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .fmmss-btn__text{ display:none; }
}

@media (max-width: 480px){
  .fmmss-grid{ grid-template-columns:1fr; }
}



/* --- AJAX dropdown for Top search --- */
.fmm-top-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 9999;
  background: #fff;
  border: 1px solid #ddd;
  border-top: none;
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
  display: none;
}

.fmm-top-results ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.fmm-top-results li a {
  display: flex;
  justify-content: space-between;
  padding: 8px 10px;
  font-size: 13px;
  text-decoration: none;
  color: #333;
}

.fmm-top-results li a:hover {
  background: #f5f5f5;
}

.fmm-top-results .price {
  font-weight: 700;
  color: #2fb5d2;
}

#fmm_search_widget {
  position: relative;
  max-width: 220px;
}

#fmm_search_widget form {
  position: relative;
}

#fmm_search_widget input[type="text"] {
  width: 100%;
  height: 45px;
  padding: 6px 30px 6px 34px;
  font-size: 13px;
  border-radius: 4px;
  border: 1px solid #dcdcdc;
  background-color: #fff;
}

#fmm_search_widget input[type="text"]:focus {
  outline: none;
  border-color: #2fb5d2; /* PrestaShop primary */
  box-shadow: 0 0 0 1px rgba(47,181,210,0.15);
}

/* search icon */
#fmm_search_widget .material-icons.search {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  color: #7a7a7a;
  pointer-events: none;
}

/* clear icon (kept hidden, theme JS may toggle it) */
#fmm_search_widget .material-icons.clear {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  color: #999;
  cursor: pointer;
}
