/**
* 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.
*/

/* ===============================
   ROOT & VARIABLES
================================ */
.fmmss-wrap{
  --fmm-bg:#ffffff;
  --fmm-text:#232323;
  --fmm-muted:#7a7a7a;
  --fmm-border:#e5e5e5;
  --fmm-soft:#f7f7f7;
  --fmm-primary:#2fb5d2; /* PrestaShop Classic blue */
  --fmm-radius:8px;

  max-width:1240px;
  margin:0 auto;
  padding:24px 16px;
  color:var(--fmm-text);
  font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

.fmmss-wrap *{ box-sizing:border-box }
.fmmss-wrap a{ text-decoration:none; color:inherit }
.fmmss-wrap img{ display:block; max-width:100% }

/* ===============================
   HERO
================================ */
.fmmss-hero{
  background:#fff;
  border:1px solid var(--fmm-border);
  border-radius:var(--fmm-radius);
}
.fmmss-hero__inner{ padding:24px }
.fmmss-hero__title{
  font-size:22px;
  font-weight:700;
}
.fmmss-hero__hint{
  font-size:13px;
  color:var(--fmm-muted);
}

/* ===============================
   SEARCH BAR
================================ */
.fmmss-searchbar{
  margin-top:16px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  padding:10px;
  background:#fff;
  border:1px solid var(--fmm-border);
  border-radius:var(--fmm-radius);
}

.fmmss-searchbar__icon{
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  background:var(--fmm-soft);
  font-weight:700;
}
.fmmss-searchbar__input{
  flex:1;
  border:0 !important;
  background:transparent !important;
  font-size:14px;
}
.fmmss-searchbar__btn{
  padding:10px 16px;
  border-radius:var(--fmm-radius);
  border:0;
  background:var(--fmm-primary);
  color:#fff;
  font-weight:600;
  cursor:pointer;
}
.fmmss-searchbar__btn:hover{ opacity:.9 }

/* ===============================
   SUGGESTIONS
================================ */
.fmmss-suggest{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  font-size:13px;
  color:var(--fmm-muted);
}
.fmmss-pill{
  background:#fff;
  border:1px solid var(--fmm-border);
  padding:6px 10px;
  border-radius:999px;
  font-weight:600;
}

/* ===============================
   TOOLBAR
================================ */
.fmmss-toolbar{
  margin-top:20px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-end;
}
.fmmss-toolbar__title{
  font-size:15px;
  font-weight:600;
}
.fmmss-toolbar__meta{
  font-size:12px;
  color:var(--fmm-muted);
}
.fmmss-chips{
  margin-top:8px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.fmmss-chip2{
  background:#eef7fa;
  border:1px solid #d6eef5;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:600;
  color:#0b5f73;
}
.fmmss-chip2.is-clear{ cursor:pointer }

/* ===============================
   CONTROLS
================================ */
.fmmss-controls{
  display:flex;
  gap:10px;
  align-items:center;
}
.fmmss-select__label{
  font-size:11px;
  font-weight:600;
  color:var(--fmm-muted);
}
.fmmss-select__field{
  padding:10px 12px;
  border-radius:var(--fmm-radius);
  border:1px solid var(--fmm-border);
  background:#fff;
  font-size:13px;
}
.fmmss-view{
  display:flex;
  gap:6px;
}
.fmmss-view__btn{
  width:38px;
  height:38px;
  border-radius:var(--fmm-radius);
  border:1px solid var(--fmm-border);
  background:#fff;
  cursor:pointer;
}
.fmmss-view__btn.is-active{
  background:var(--fmm-primary);
  color:#fff;
  border-color:var(--fmm-primary);
}

/* ===============================
   LAYOUT
================================ */
.fmmss-layout{
  margin-top:16px;
  display:flex;
  gap:16px;
}
.fmmss-side{
  width:280px;
  flex:0 0 280px;
}
.fmmss-main{ flex:1 }

/* ===============================
   SIDEBAR / FILTERS
================================ */
.fmmss-side__box{
  background:#fff;
  border:1px solid var(--fmm-border);
  border-radius:var(--fmm-radius);
  padding:14px;
  margin-bottom:12px;
}
.fmmss-side__title{
  font-size:13px;
  font-weight:600;
  color:#232323;
  margin-bottom:10px;
}

.fmmss-filters{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.fmmss-filterRow{
  padding:10px;
  background:#fff;
  border:1px solid var(--fmm-border);
  border-radius:var(--fmm-radius);
}
.fmmss-check{
  display:flex;
  gap:8px;
  align-items:center;
  font-size:13px;
  font-weight:500;
}
.fmmss-miniTitle{
  font-size:12px;
  font-weight:600;
  margin-bottom:6px;
}
.fmmss-price{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.fmmss-price input{
  flex:1 1 0;
  border:1px solid var(--fmm-border);
  border-radius:var(--fmm-radius);
  padding:10px;
  font-size:13px;
}
.fmmss-price__actions{
  flex:1 1 100%;
  display:flex;
  gap:10px;
}
.fmmss-apply{
  flex:1;
  background:#eef7fa;
  border:1px solid #d6eef5;
  color:#0b5f73;
  border-radius:var(--fmm-radius);
  padding:10px;
  font-weight:600;
}
.fmmss-clearPrice{
  flex:1;
  background:#f5f5f5;
  border:1px solid var(--fmm-border);
  color:var(--fmm-muted);
  border-radius:var(--fmm-radius);
  padding:10px;
  font-weight:600;
}

/* ===============================
   FACETS
================================ */
.fmmss-facetList{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.fmmss-facet{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px;
  border:1px solid var(--fmm-border);
  border-radius:var(--fmm-radius);
  background:#fff;
  font-size:13px;
}
.fmmss-facet:hover{
  background:#f3fbfd;
  border-color:#cbeaf2;
}
.fmmss-facet__count{
  background:#f0f0f0;
  border-radius:999px;
  padding:3px 8px;
  font-size:11px;
  font-weight:600;
}
.fmmss-clearFacet{
  margin-top:6px;
  text-align:center;
  padding:10px;
  border-radius:var(--fmm-radius);
  background:#fdecec;
  border:1px solid #f7caca;
  color:#a40000;
  font-weight:600;
}

/* ===============================
   GRID / CARDS
================================ */
.fmmss-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.fmmss-wrap[data-view="list"] .fmmss-grid{
  grid-template-columns:1fr;
}

.fmmss-card{
  background:#fff;
  border:1px solid var(--fmm-border);
  border-radius:var(--fmm-radius);
  overflow:hidden;
}
.fmmss-card__media{
  position: relative;   /* 🔴 REQUIRED */
  aspect-ratio: 1 / 1;
  background: #fafafa;
  overflow: hidden;
}

.fmmss-card__img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.fmmss-badge{
  position:absolute;
  top:20px;
  left:8px;
  z-index:2;

  background:#232323;
  color:#fff;
  font-size:11px;
  font-weight:600;
  padding:4px 8px;
  border-radius:3px; /* Classic, not pill */
}
.fmmss-stock{
  position:absolute;
  bottom:1px;
  left:8px;
  z-index:2;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  font-size:11px;
  font-weight:600;
  line-height:1;

  padding:5px 8px;
  border-radius:3px;
  white-space:nowrap;
}

.fmmss-stock.is-in{
  background:#e6f7ed;
  color:#0f7b3e;
  border:1px solid #bfe6cf;
}

.fmmss-stock.is-out{
  background:#fdecec;
  color:#a40000;
  border:1px solid #f7caca;
}


.fmmss-card__body{
  padding:12px;
}
.fmmss-card__name{
  font-size:14px;
  font-weight:600;
  margin-bottom:6px;
}
.fmmss-card__attrs{
  font-size:12px;
  color:var(--fmm-muted);
}
.fmmss-card__bottom{
  margin-top:10px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.fmmss-price{
  font-size:15px;
  font-weight:700;
}
.fmmss-btn2{
  border:1px solid var(--fmm-border);
  background:#fff;
  border-radius:var(--fmm-radius);
  padding:8px 12px;
  font-size:13px;
  font-weight:600;
}

/* ===============================
   PAGINATION
================================ */
.fmmss-pager{
  margin-top:18px;
}
.fmmss-pager__inner{
  display:flex;
  justify-content:space-between;
  gap:10px;
}
.fmmss-page{
  padding:10px 14px;
  border-radius:var(--fmm-radius);
  border:1px solid var(--fmm-border);
  background:#fff;
  font-weight:600;
}
.fmmss-page.is-current{
  background:var(--fmm-primary);
  border-color:var(--fmm-primary);
  color:#fff;
}
.fmmss-page.is-disabled{
  opacity:.5;
}

/* ===============================
   EMPTY STATE
================================ */
.fmmss-empty{
  margin-top:20px;
  padding:20px;
  border:1px dashed var(--fmm-border);
  border-radius:var(--fmm-radius);
  text-align:center;
}
.fmmss-empty__title{
  font-weight:700;
  margin-bottom:6px;
}
.fmmss-empty__text{
  font-size:13px;
  color:var(--fmm-muted);
}

/* ===============================
   RESPONSIVE
================================ */
@media (max-width:1100px){
  .fmmss-grid{ grid-template-columns:repeat(2,1fr) }
}
@media (max-width:900px){
  .fmmss-layout{ flex-direction:column }
  .fmmss-side{ width:auto; flex:auto }
}
@media (max-width:520px){
  .fmmss-grid{ grid-template-columns:1fr }
  .fmmss-searchbar__btnText{ display:none }
}

/* ===============================
   LIST VIEW OVERRIDES (SAFE)
   Grid is NOT affected
================================ */

/* Turn cards into horizontal rows */
.fmmss-wrap[data-view="list"] .fmmss-card{
  display:flex;
  gap:16px;
  padding:12px;
}

/* Image column (left) */
.fmmss-wrap[data-view="list"] .fmmss-card__media{
  flex:0 0 160px;
  height:160px;
  aspect-ratio:auto;
  border-radius:6px;
}

/* Content column (right) */
.fmmss-wrap[data-view="list"] .fmmss-card__body{
  flex:1;
  padding:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

/* Title a bit bigger in list */
.fmmss-wrap[data-view="list"] .fmmss-card__name{
  font-size:15px;
}

/* Attributes breathing space */
.fmmss-wrap[data-view="list"] .fmmss-card__attrs{
  margin-top:4px;
  max-width:90%;
}

/* Bottom row alignment */
.fmmss-wrap[data-view="list"] .fmmss-card__bottom{
  margin-top:12px;
  align-items:center;
}

/* Price emphasis */
.fmmss-wrap[data-view="list"] .fmmss-price{
  font-size:16px;
}

/* Button spacing */
.fmmss-wrap[data-view="list"] .fmmss-btn2{
  padding:8px 14px;
}

/* Make grid behave like rows */
.fmmss-wrap[data-view="list"] .fmmss-grid{
  display:flex;
  flex-direction:column;
  gap:12px;
}

/* Mobile fallback */
@media (max-width:640px){
  .fmmss-wrap[data-view="list"] .fmmss-card{
    flex-direction:column;
  }

  .fmmss-wrap[data-view="list"] .fmmss-card__media{
    width:100%;
    height:220px;
  }
}
/* Ensure grid cards show image + body (name, price, button) */
.fmmss-wrap[data-view="grid"] .fmmss-card{
  display:flex;
  flex-direction:column;
}


/* ===============================
   AJAX SEARCH DROPDOWN
   (fmm-top-results)
================================ */

#fmmadvc_search_widget{
  position: relative;
}

.fmm-top-results{
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  width: 100%;
  max-width: 420px;

  background: #ffffff;
  border-radius: 6px;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);

  z-index: 9999;
  overflow: hidden;
}

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

/* product row */
.fmm-top-results li{
  border-bottom: 1px solid #eeeeee;
}

.fmm-top-results li:last-child{
  border-bottom: 0;
}

/* product link */
.fmm-top-results a{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;

  padding: 10px 14px;
  text-decoration: none;
  color: #232323;
  font-size: 13px;
}

/* hover */
.fmm-top-results a:hover{
  background: #f7f7f7;
}

/* product name */
.fmm-top-results .name{
  flex: 1;
  font-weight: 500;
  line-height: 1.3;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* price */
.fmm-top-results .price{
  font-weight: 600;
  color: #2fb5d2;
  white-space: nowrap;
}

/* optional empty state */
.fmm-top-results.is-empty{
  padding: 12px;
  font-size: 13px;
  color: #7a7a7a;
  text-align: center;
}

/* mobile */
@media (max-width: 480px){
  .fmm-top-results{
    max-width: 100%;
    right: auto;
    left: 0;
  }
}

/* ===============================
   CLASSIC PRESTASHOP SEARCH INPUT
   (ui-autocomplete-input)
================================ */

#fmmadvc_search_widget{
  position: relative;
  max-width: 260px; /* classic header size */
}

/* input field */
#fmmadvc_search_widget .ui-autocomplete-input{
  width: 100%;
  height: 44px;

  padding: 0 36px 0 36px;
  border: 1px solid #e5e5e5;
  border-radius: 4px;

  font-size: 13px;
  font-weight: 400;
  color: #232323;

  background: #ffffff;
  outline: none;

  transition: border-color .15s ease, box-shadow .15s ease;
}

/* focus (classic Prestashop blue) */
#fmmadvc_search_widget .ui-autocomplete-input:focus{
  border-color: #2fb5d2;
  box-shadow: 0 0 0 1px rgba(47,181,210,.15);
}

/* placeholder */
#fmmadvc_search_widget .ui-autocomplete-input::placeholder{
  color: #7a7a7a;
  opacity: 1;
}

/* search icon (left) */
#fmmadvc_search_widget .material-icons.search{
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);

  font-size: 18px;
  color: #7a7a7a;
  pointer-events: none;
}

/* clear icon (right) */
#fmmadvc_search_widget .material-icons.clear{
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);

  font-size: 18px;
  color: #7a7a7a;
  cursor: pointer;
}

/* hover clear */
#fmmadvc_search_widget .material-icons.clear:hover{
  color: #232323;
}

/* form reset */
#fmmadvc_search_widget form{
  position: relative;
  margin: 0;
}

/* mobile */
@media (max-width: 480px){
  #fmmadvc_search_widget{
    max-width: 100%;
  }
  #fmmadvc_search_widget .ui-autocomplete-input {
    padding: 0 36px 0 100px;
  }
}
@media (max-width: 768px) {
  .fmmss-toolbar__title {
    font-size: 16px;
  }

  .fmmss-toolbar__meta {
    font-size: 13px;
  }

  .fmmss-view__btn {
    flex: 1;
    text-align: center;
  }
}
/* Base toolbar layout (desktop) */
.fmmss-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

/* Mobile layout */
@media (max-width: 768px) {
  .fmmss-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .fmmss-toolbar__left,
  .fmmss-toolbar__right {
    width: 100%;
  }

  .fmmss-toolbar__right {
    margin-top: 12px;
  }

  /* Optional: make controls easier to tap */
  .fmmss-controls {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .fmmss-select,
  .fmmss-view {
    width: 100%;
  }

  .fmmss-select__field {
    width: 100%;
  }
}

#fmmadvc_search_widget form {
    display: flex;
    align-items: center;
}

#fmmadvc_search_widget form input[name="q"] {
    flex: 1;
}

#fmmadvc_search_widget form button {
    background: transparent;
    border: none;
    padding: 0 6px;
    line-height: 1;
}

/* Mic listening animation */
.fmmvc-listening {
    animation: fmmvc-pulse 1s infinite;
}

@keyframes fmmvc-pulse {
    0%   { transform: scale(1); opacity: 1; }
    50%  { transform: scale(1.2); opacity: 0.7; }
    100% { transform: scale(1); opacity: 1; }
}

/* Google-like mic button */
#fmmadvc_search_widget form button {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: black; 
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin-left: 8px;
    cursor: pointer;
}

/* Listening state */
#fmmadvc_search_widget form button.fmmvc-listening {
    animation: fmmvc-google-pulse 1.2s infinite;
}
/* Input wrapper */
.fmmvc-input-wrapper {
    position: relative;
    width: 100%;
}

/* Input padding for mic */
.fmmvc-input-wrapper input[name="q"] {
    padding-right: 44px !important;
}

/* Mic inside input */
.fmmvc-input-wrapper button {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: transparent;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

/* Listening animation */
.fmmvc-input-wrapper button.fmmvc-listening::after {
    content: '';
    position: absolute;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(234, 67, 53, 0.15);
    animation: fmmvc-ripple 1.2s infinite;
}

@keyframes fmmvc-ripple {
    0% { transform: scale(0.6); opacity: 1; }
    100% { transform: scale(1.6); opacity: 0; }
}

.fmmss-searchbar__input {
    min-height: 45px;
}

.fmmss-searchbar {
    position: relative;
}

.fmmss-ai-mic {
    margin-left: 8px;
    background: #111;
    border: none;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.fmmss-ai-mic.is-listening {
    background: red;
    animation: pulse 1s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.15); }
    100% { transform: scale(1); }
}


.fmmss-wrap{
  --fmm-bg:#ffffff;
  --fmm-text:#232323;
  --fmm-muted:#7a7a7a;
  --fmm-border:#e5e5e5;
  --fmm-soft:#f7f7f7;
  --fmm-primary:#2fb5d2;
  --fmm-radius:10px;
}
.fmmss-wrap{
  --fmm-bg:#ffffff;
  --fmm-text:#232323;
  --fmm-muted:#7a7a7a;
  --fmm-border:#e5e5e5;
  --fmm-soft:#f7f7f7;
  --fmm-primary:#2fb5d2;
  --fmm-radius:10px;

  max-width:1240px;
  margin:0 auto;
  padding:30px 16px;
  font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--fmm-text);
}

.fmmss-wrap *{box-sizing:border-box}
.fmmss-wrap img{max-width:100%;display:block}
.fmmss-wrap a{text-decoration:none;color:inherit}

/* =========================================================
   HERO SECTION
========================================================= */

.fmmss-hero{
  background:linear-gradient(135deg,#f8fcff 0%,#ffffff 70%);
  border:1px solid var(--fmm-border);
  border-radius:var(--fmm-radius);
  box-shadow:0 6px 18px rgba(0,0,0,.04);
}

.fmmss-hero__inner{
  padding:40px 30px;
  text-align:center;
}

.fmmss-hero__title{
  font-size:26px;
  font-weight:700;
  margin-bottom:8px;
}

.fmmss-hero__hint{
  font-size:14px;
  color:var(--fmm-muted);
  margin-bottom:24px;
}

/* =========================================================
   UPLOAD AREA
========================================================= */

.fmmvs-upload-area{
  border:2px dashed #dbeaf0;
  border-radius:14px;
  padding:55px 30px;
  background:#ffffff;
  cursor:pointer;
  transition:all .25s ease;
}

.fmmvs-upload-area:hover{
  border-color:var(--fmm-primary);
  background:#f2fbfe;
  transform:translateY(-3px);
}

.fmmvs-upload-icon{
  font-size:44px;
  margin-bottom:14px;
  opacity:.85;
}

.fmmvs-upload-text{
  font-size:15px;
  font-weight:600;
}

.fmmvs-upload-sub{
  font-size:12px;
  margin-top:5px;
  color:var(--fmm-muted);
}

.fmmvs-preview{
  margin-top:25px;
  text-align:center;
}

.fmmvs-preview img{
  max-width:220px;
  border-radius:12px;
  border:1px solid var(--fmm-border);
  box-shadow:0 8px 22px rgba(0,0,0,.08);
}

.fmmvs-submit-wrap{
  margin-top:22px;
}

.fmmvs-submit-wrap button{
  padding:12px 22px;
  border-radius:var(--fmm-radius);
  border:0;
  background:var(--fmm-primary);
  color:#fff;
  font-weight:600;
  cursor:pointer;
  transition:all .2s ease;
}

.fmmvs-submit-wrap button:hover{
  opacity:.9;
}

/* =========================================================
   RESULTS SECTION
========================================================= */

.fmmss-toolbar{
  margin-top:30px;
  margin-bottom:14px;
  font-size:16px;
  font-weight:600;
}

.fmmss-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

/* =========================================================
   PRODUCT CARD
========================================================= */

.fmmss-card{
  background:#ffffff;
  border:1px solid var(--fmm-border);
  border-radius:14px;
  overflow:hidden;
  transition:all .25s ease;
  display:flex;
  flex-direction:column;
}

.fmmss-card:hover{
  transform:translateY(-5px);
  box-shadow:0 12px 30px rgba(0,0,0,.08);
  border-color:#dbeaf0;
}

.fmmss-card__media{
  position:relative;
  aspect-ratio:1/1;
  background:#fafafa;
  overflow:hidden;
}

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

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

/* AI Similarity Badge */
.fmmss-stock{
  position:absolute;

  background:linear-gradient(135deg,#2fb5d2,#5ed6ff);
  color:#fff;
  font-size:11px;
  font-weight:700;
  padding:6px 9px;
  border-radius:6px;
  box-shadow:0 4px 12px rgba(0,0,0,.25);
}

/* Card Body */
.fmmss-card__body{
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  flex:1;
}

.fmmss-card__name{
  font-size:15px;
  font-weight:600;
  margin-bottom:10px;
  line-height:1.4;
}

.fmmss-card__bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:8px;
}

.fmmss-price{
  font-size:17px;
  font-weight:700;
}

.fmmss-btn2{
  border:1px solid var(--fmm-border);
  background:#ffffff;
  border-radius:8px;
  padding:8px 14px;
  font-size:13px;
  font-weight:600;
  transition:all .2s ease;
}

.fmmss-btn2:hover{
  background:var(--fmm-primary);
  border-color:var(--fmm-primary);
  color:#ffffff;
}

/* =========================================================
   EMPTY STATE
========================================================= */

.fmmss-empty{
  margin-top:30px;
  padding:50px 20px;
  border:2px dashed var(--fmm-border);
  border-radius:14px;
  text-align:center;
  background:#fafafa;
}

.fmmss-empty__title{
  font-size:16px;
  font-weight:600;
  margin-bottom:6px;
}

.fmmss-empty__text{
  font-size:13px;
  color:var(--fmm-muted);
}

/* =========================================================
   LIST VIEW SUPPORT
========================================================= */

.fmmss-wrap[data-view="list"] .fmmss-grid{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.fmmss-wrap[data-view="list"] .fmmss-card{
  flex-direction:row;
}

.fmmss-wrap[data-view="list"] .fmmss-card__media{
  flex:0 0 160px;
  height:160px;
  aspect-ratio:auto;
}

.fmmss-wrap[data-view="list"] .fmmss-card__body{
  padding:16px;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:1100px){
  .fmmss-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:768px){

  .fmmss-hero__title{
    font-size:20px;
  }

  .fmmvs-upload-area{
    padding:35px 20px;
  }

  .fmmss-grid{
    grid-template-columns:1fr;
  }

  .fmmss-card{
    border-radius:12px;
  }
}

/* =========================================================
   HEADER VISUAL SEARCH
========================================================= */

#fmmadvc_search_widget{
  position:relative;
  max-width:260px;
  display: -webkit-inline-box;
  float: inline-end;
}

.fmmvs-header-upload{
  position:relative;
}

.fmmvs-header-input{
  height:44px;
  border:1px solid #e5e5e5;
  border-radius:6px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 12px;
  cursor:pointer;
  background:#fff;
  transition:all .2s ease;
}

.fmmvs-header-input:hover{
  border-color:#2fb5d2;
  box-shadow:0 0 0 1px rgba(47,181,210,.15);
}

.fmmvs-header-placeholder{
  font-size:13px;
  color:#7a7a7a;
}

/* Dropdown results */
.fmm-top-results{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  width:100%;
  background:#fff;
  border-radius:6px;
  box-shadow:0 6px 18px rgba(0,0,0,.1);
  z-index:9999;
  overflow:hidden;
}

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

.fmm-top-results li{
  border-bottom:1px solid #f1f1f1;
}

.fmm-top-results li:last-child{
  border-bottom:0;
}

.fmm-top-results a{
  display:block;
  padding:10px;
  text-decoration:none;
  color:#232323;
}

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

/* Mini product layout */
.fmmvs-mini-product{
  display:flex;
  gap:10px;
  align-items:center;
}

.fmmvs-mini-img{
  width:50px;
  height:50px;
  object-fit:cover;
  border-radius:6px;
  border:1px solid #eee;
}

.fmmvs-mini-info{
  flex:1;
  overflow:hidden;
}

.fmmvs-mini-name{
  font-size:13px;
  font-weight:500;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.fmmvs-mini-price{
  font-size:12px;
  font-weight:600;
  color:#2fb5d2;
}

/* ==========================================
   ADVANCED SEARCHBAR RESPONSIVE IMPROVEMENT
========================================== */

/* Make searchbar flexible */
.fmmss-searchbar{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}

/* Input always flexible */
.fmmss-searchbar__input{
  flex:1 1 auto;
  min-width:120px;
}

/* Button responsive */
.fmmss-searchbar__btn{
  white-space:nowrap;
}

/* Suggestion pills wrap nicely */
.fmmss-suggest{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

/* ----------------------------------
   Tablet
---------------------------------- */
@media (max-width: 992px){

  .fmmss-searchbar{
    padding:10px;
  }

  .fmmss-searchbar__btn{
    padding:10px 14px;
  }

  .fmmss-pill{
    font-size:12px;
    padding:5px 9px;
  }

}

/* ----------------------------------
   Mobile
---------------------------------- */
@media (max-width: 768px){

  .fmmss-searchbar{
    flex-direction:row;
    gap:8px;
  }

  .fmmss-searchbar__icon{
    width:32px;
    height:32px;
  }

  .fmmss-searchbar__input{
    font-size:14px;
  }

  .fmmss-searchbar__btn{
    padding:9px 12px;
    font-size:13px;
  }

  .fmmss-suggest{
    margin-top:10px;
  }

}

/* ----------------------------------
   Small Mobile
---------------------------------- */
@media (max-width: 520px){

  .fmmss-searchbar{
    flex-direction:column;
    align-items:stretch;
  }

  .fmmss-searchbar__icon{
    display:none;
  }

  .fmmss-searchbar__input{
    width:100%;
    padding:12px;
    border:1px solid var(--fmm-border) !important;
    border-radius:var(--fmm-radius);
  }

  .fmmss-searchbar__btn{
    width:100%;
    padding:12px;
  }

  .fmmss-searchbar__btnText{
    display:block;
  }

  .fmmss-pill{
    font-size:11px;
  }

}

/* ----------------------------------
   Extra Small Phones
---------------------------------- */
@media (max-width: 360px){

  .fmmss-searchbar__input{
    font-size:13px;
  }

  .fmmss-searchbar__btn{
    font-size:12px;
  }

}