/* F.M.ITALIA BEAUTY — independent styles (no Shopify theme) */
@import url("https://fonts.googleapis.com/css2?family=Assistant:wght@400;500;600;700&display=swap");

*,*::before,*::after{box-sizing:border-box}
html{font-size:62.5%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Assistant",system-ui,sans-serif;
  font-size:1.6rem;
  line-height:1.6;
  color:#1a1a1a;
  background:#fff;
}
img{max-width:100%;height:auto;display:block}
a{color:#5a4578;text-decoration:none}
a:hover{text-decoration:underline}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{margin:0 0 .8em;font-weight:600;line-height:1.25}
p{margin:0 0 1em}

.visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

.page-width{
  max-width:120rem;
  margin:0 auto;
  padding:0 2rem;
}

/* Announcement */
.site-announcement{
  background:#f3eef8;
  text-align:center;
  padding:1rem 2rem;
  font-size:1.4rem;
  border-bottom:1px solid #e8e0f0;
}

/* Header */
.site-header{
  position:sticky;top:0;z-index:100;
  background:#fff;
  border-bottom:1px solid #e8e0f0;
}
.site-header__inner{
  max-width:120rem;margin:0 auto;padding:1.2rem 2rem;
  display:flex;align-items:center;gap:2rem;flex-wrap:wrap;
}
.site-logo{
  font-size:2rem;font-weight:700;color:#1a1a1a;
  text-decoration:none;flex:1;min-width:0;
}
.site-logo:hover{text-decoration:none;color:#5a4578}
.site-nav{display:flex;gap:2.4rem;align-items:center}
.site-nav a{
  color:#1a1a1a;font-size:1.5rem;font-weight:500;text-decoration:none;
}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:#5a4578}
.site-nav a[aria-current="page"]{font-weight:700;border-bottom:2px solid #5a4578}
.site-header__icons{display:flex;align-items:center;gap:1.2rem;margin-left:auto}
.site-header__icons a{
  display:flex;align-items:center;justify-content:center;
  width:4.4rem;height:4.4rem;color:#1a1a1a;
}
.site-header__icons svg{width:2.2rem;height:2.2rem}

.menu-toggle{
  display:flex;align-items:center;justify-content:center;
  width:4.4rem;height:4.4rem;padding:0;border:none;background:transparent;cursor:pointer;
}
.site-nav-mobile{
  display:none;width:100%;flex-direction:column;gap:0;
  border-top:1px solid #e8e0f0;padding-top:1rem;
}
.site-nav-mobile a{
  display:block;padding:1.2rem 0;font-size:1.6rem;border-bottom:1px solid #f0ecf5;
}
body.menu-open .site-nav-mobile{display:flex}
body.menu-open{overflow:hidden}

@media(max-width:989px){
  .site-nav--desktop{display:none}
  .menu-toggle{display:flex}
}
@media(min-width:990px){
  .menu-toggle{display:none}
  .site-nav-mobile{display:none!important}
}

/* Legacy header mapping */
.header-wrapper,.section-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #e8e0f0}
.header.page-width{
  display:flex;align-items:center;gap:2rem;flex-wrap:wrap;
  padding:1.2rem 2rem;max-width:120rem;margin:0 auto;
}
.header__heading-link{text-decoration:none;color:#1a1a1a;font-size:2rem;font-weight:700}
.header__inline-menu{display:none}
@media(min-width:990px){
  .header__inline-menu{display:block}
  header-drawer{display:none!important}
}
.list-menu--inline{display:flex;gap:2.4rem}
.header__menu-item{font-size:1.5rem;font-weight:500;color:#1a1a1a;text-decoration:none}
.header__menu-item:hover,.header__active-menu-item{color:#5a4578;font-weight:700}
.header__icons{display:flex;gap:1rem;margin-left:auto}
.menu-drawer-container summary{list-style:none;cursor:pointer}
.menu-drawer-container summary::-webkit-details-marker{display:none}
#menu-drawer,.menu-drawer{
  display:none;position:fixed;inset:0;top:6rem;background:#fff;z-index:99;
  padding:2rem;overflow:auto;
}
.menu-drawer-container.menu-opening #menu-drawer,
.menu-drawer-container.menu-opening .menu-drawer{display:block}
.menu-drawer__menu a{display:block;padding:1.2rem 0;font-size:1.6rem;border-bottom:1px solid #f0ecf5}

/* Hide broken Shopify widgets */
cart-notification,predictive-search,shop-follow-button,account-icon,
.header-localization,.footer__follow-on-shop,.predictive-search__loading-state{display:none!important}
details-modal.header__search{display:none}

/* Buttons */
.button,.btn{
  display:inline-block;padding:1.2rem 2.8rem;
  font-size:1.5rem;font-weight:600;text-align:center;text-decoration:none;
  border-radius:4rem;border:2px solid transparent;cursor:pointer;
  transition:background .2s,color .2s;
}
.button--primary,.btn--primary{
  background:#5a4578;color:#fff;border-color:#5a4578;
}
.button--primary:hover,.btn--primary:hover{
  background:#4a3868;color:#fff;text-decoration:none;
}
.button--secondary{
  background:transparent;color:#5a4578;border-color:#5a4578;
}

/* Hero / banner */
.hero{
  position:relative;display:block;overflow:hidden;
  background:#2d2438;
}
.hero__img{width:100%;max-height:min(52vh,520px);object-fit:cover;opacity:.85}
.hero__overlay{
  position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;
  padding:3rem 2rem;
  background:linear-gradient(transparent 40%,rgba(45,36,56,.75));
}
.hero__box{
  text-align:center;color:#fff;max-width:64rem;
}
.hero__box p{margin:0 0 1rem;font-size:1.6rem;opacity:.95}
.hero__box h1{
  margin:0 0 1.5rem;font-size:clamp(2.8rem,5vw,4.8rem);
  font-weight:700;color:#fff;
}
.banner,.banner--adapt{min-height:0!important}
.banner__media{position:relative!important;height:auto!important}
.banner__media img{width:100%;max-height:min(52vh,520px);object-fit:cover}
.banner__content{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:3rem;min-height:0!important}
.banner__box{background:rgba(90,69,120,.85);padding:2.5rem 3rem;border-radius:1rem;color:#fff}

/* Sections */
.section{padding:4rem 0}
.section--tight{padding:3rem 0}
.section__title{
  text-align:center;font-size:2.4rem;margin-bottom:2.5rem;color:#1a1a1a;
}

/* Product card */
.products-grid{
  display:grid;gap:2.5rem;
  grid-template-columns:repeat(auto-fill,minmax(26rem,1fr));
  justify-content:center;max-width:90rem;margin:0 auto;
}
.product-card{
  border:1px solid #e8e0f0;border-radius:1.2rem;overflow:hidden;
  background:#fff;transition:box-shadow .2s,transform .2s;
  display:flex;flex-direction:column;height:100%;
}
.product-card:hover{box-shadow:0 8px 28px rgba(90,69,120,.15);transform:translateY(-2px)}
.product-card__img{
  display:block;aspect-ratio:1;object-fit:cover;width:100%;min-height:20rem;
  background:#f5f2f8;
}
.product-card__body{padding:2rem;flex:1;display:flex;flex-direction:column}
.product-card__badge{
  display:inline-block;background:#5a4578;color:#fff;
  font-size:1.2rem;font-weight:600;padding:.4rem 1rem;border-radius:2rem;
  margin-bottom:1rem;width:fit-content;
}
.product-card__title{font-size:1.8rem;margin-bottom:1rem}
.product-card__title a{color:#1a1a1a;text-decoration:none}
.product-card__title a:hover{color:#5a4578}
.product-card__price{margin-top:auto;font-size:1.6rem}
.product-card__price s{color:#888;margin-right:.8rem}
.product-card__price strong{color:#5a4578;font-size:1.8rem}

/* Fix legacy Shopify cards */
.card-wrapper,.product-card-wrapper{height:auto!important}
.ratio::before{display:none!important}
.card__inner.ratio{padding-bottom:0!important;height:auto!important}
.card__media,.card .media{position:relative!important;height:auto!important;inset:auto!important}
.card__media img,.card .media img{
  position:relative!important;width:100%!important;height:auto!important;
  object-fit:cover;display:block;
}
.card--standard>.card__content:first-of-type .card__information{display:none}
.card__inner .card__badge{display:none}
.product-grid{display:grid!important;gap:2.5rem!important;
  grid-template-columns:repeat(auto-fill,minmax(26rem,1fr))!important;
  justify-content:center;max-width:90rem;margin:0 auto;padding:0!important;
}
.product-grid .grid__item{max-width:36rem;width:100%!important}
.grid__item{max-width:100%}
.collection{padding:4rem 0!important}
.slider-component,.slider-mobile-gutter{overflow:visible!important}
.price--on-sale .price-item--regular{color:#5a4578;font-weight:700}
.price--on-sale s{color:#888}

/* Product page */
.product-layout{
  display:grid;gap:3rem;max-width:120rem;margin:0 auto;padding:2rem;
}
@media(min-width:990px){
  .product-layout{grid-template-columns:1fr 1fr;align-items:start}
}
.product--large,.product{display:block!important}
.product__media-wrapper{position:relative;min-height:28rem}
.product__media-wrapper > img{
  display:block!important;width:100%;max-width:100%;height:auto;
  min-height:28rem;object-fit:contain;border-radius:1rem;background:#f5f2f8;
}
.product__media-list{position:relative!important}
.product__media img{width:100%;height:auto;border-radius:1rem}
.product-card__price small{font-size:1.3rem;color:#666;font-weight:400}
.product-form{margin:2rem 0}
.product__info-container{padding:1rem 0}
.product__title h1{font-size:3rem}
.product__description ul{padding-left:2rem;margin:1.5rem 0}
.product-form__submit{width:100%;max-width:40rem}
.product__media-list{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;padding:0}
.product__media-item{flex:0 0 100%;max-width:100%}
.product__media-item:not(.is-active){display:none}
.product__media-item.is-active{display:block}
.thumbnail-list{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1rem;list-style:none;padding:0}
.thumbnail-list img{width:6rem;height:6rem;object-fit:cover;border-radius:.4rem;cursor:pointer;border:2px solid transparent}
.thumbnail-list .is-active img{border-color:#5a4578}

/* Content pages */
.content-page{max-width:72rem;margin:0 auto;padding:3rem 2rem 5rem}
.content-page h1{font-size:3rem;margin-bottom:1.5rem}
.content-page h2{font-size:2rem;margin:2rem 0 1rem}
.content-page p,.content-page li{margin-bottom:1.2rem}
.content-page ul{padding-left:2rem}
.store-address{
  background:#f8f6fa;border:1px solid #e8e0f0;border-radius:1rem;
  padding:2rem 2.5rem;margin:2rem 0;
}

/* Page hero titles */
.collection-hero{padding:2rem 0 0}
.collection-hero .section__title{margin-bottom:0}

/* Contact form */
.contact-form{max-width:50rem;margin-top:2rem}
.contact-form .button{margin-top:1rem}
.field{margin-bottom:1.5rem}
.field__input,.field input,.field textarea{
  width:100%;padding:1.4rem 1.6rem;font:inherit;font-size:1.6rem;
  border:1px solid #ccc;border-radius:.6rem;background:#fff;
}
.field textarea{min-height:12rem;resize:vertical}
.field__label{display:block;margin-bottom:.5rem;font-weight:500}

/* Footer */
.site-footer,.footer{
  background:#2d2438;color:#e8e0f5;
  padding:4rem 0 2rem;margin-top:0;
}
.site-footer a,.footer a{color:#e8d4ff}
.site-footer__grid,.footer__content-top.page-width{
  display:grid;gap:3rem;
  grid-template-columns:1fr;
  max-width:120rem;margin:0 auto;padding:0 2rem 3rem;
}
@media(min-width:750px){
  .site-footer__grid,.footer__content-top.page-width{
    grid-template-columns:1fr 1fr;
  }
}
.site-footer h2,.footer-block__heading{
  font-size:1.6rem;margin-bottom:1.2rem;color:#fff;font-weight:600;
}
.site-footer__bottom,.footer__content-bottom-wrapper.page-width{
  max-width:120rem;margin:0 auto;padding:2rem;
  border-top:1px solid rgba(255,255,255,.15);
  display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between;
}
.footer__payment{margin:1.5rem 0}
.list-payment{display:flex;flex-wrap:wrap;gap:.8rem;list-style:none;padding:0}
.policies{display:flex;flex-wrap:wrap;gap:1.5rem;list-style:none}
.copyright__content{font-size:1.3rem;color:rgba(255,255,255,.7)}
.newsletter-form__field-wrapper{
  display:flex;align-items:stretch;gap:.8rem;max-width:42rem;
}
.newsletter-form__field-wrapper .field{display:contents}
.newsletter-form__field-wrapper .field__input{
  flex:1;min-width:0;margin:0;
  border-color:rgba(255,255,255,.35);
}
.newsletter-form__field-wrapper .field__label{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.newsletter-form__button{
  flex-shrink:0;align-self:stretch;
  padding:0 2.4rem;min-height:5.2rem;
  background:#5a4578;color:#fff;border:none;border-radius:.6rem;
  cursor:pointer;font:inherit;font-size:1.5rem;font-weight:600;
  white-space:nowrap;line-height:1;
  transition:background .2s ease;
}
.newsletter-form__button:hover{background:#4a3868}

/* Collection */
.collection-hero{padding:3rem 2rem;text-align:center}
.facets-wrapper{display:none}

/* Shopify animation leftovers — always visible */
.scroll-trigger,.animate--fade-in,.animate--slide-in{
  opacity:1!important;transform:none!important;animation:none!important;
}

/* Announcement bar */
.utility-bar,.announcement-bar{background:#f3eef8}
.announcement-bar__message{margin:0;padding:1rem 0;font-size:1.4rem;text-align:center}

/* Cart page */
.cart-empty{padding:6rem 2rem;text-align:center;max-width:60rem;margin:0 auto}
.cart-empty h1{font-size:2.8rem;margin-bottom:1rem}

/* Main spacing fix */
main,#MainContent{display:block}
.section+.section{margin-top:0}
.shopify-section.section{padding:0}
#shopify-section-template--24906727686487__featured_collection,
.collection.section-template--24906727686487__featured_collection-padding{
  padding:4rem 0!important;min-height:0!important;
}

/* Store visit modal */
.store-modal{
  position:fixed;inset:0;z-index:200;
  display:flex;align-items:center;justify-content:center;
  padding:2rem;
}
.store-modal[hidden]{display:none!important}
html.store-modal-open{overflow:hidden}
.store-modal__backdrop{
  position:absolute;inset:0;background:rgba(45,36,56,.55);
}
.store-modal__panel{
  position:relative;z-index:1;
  max-width:52rem;width:100%;
  background:#fff;border-radius:1.2rem;
  padding:3rem 3rem 2.5rem;
  box-shadow:0 20px 60px rgba(45,36,56,.25);
  max-height:90vh;overflow:auto;
  outline:none;
}
.store-modal__panel h2{
  font-size:2.4rem;margin:0 3rem 1rem 0;color:#2d2438;
}
.store-modal__panel p{color:#333}
.store-modal__close{
  position:absolute;top:1.2rem;right:1.2rem;
  width:4rem;height:4rem;border:none;background:transparent;
  font-size:3rem;line-height:1;cursor:pointer;color:#5a4578;
}
.store-modal__actions{
  display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;
}
.store-modal__actions .button{text-decoration:none}
