/*
Theme Name: FM Accessori Elegance
Theme URI: https://www.fmaccessori.it
Author: FM Accessori
Description: Tema WooCommerce elegante, bianco e nero, mobile-first, pensato per anelli, collane e orecchini.
Version: 1.6.1
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: fmaccessori
*/
:root{--fm-black:#111;--fm-white:#fff;--fm-gray:#f6f6f6;--fm-line:#dedede;--fm-max:1240px;--fm-radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--fm-white);color:var(--fm-black);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.55}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}.fm-container{width:min(100% - 32px,var(--fm-max));margin:auto}.screen-reader-text{position:absolute;left:-9999px}
.fm-topbar{background:#111;color:#fff;text-align:center;font-size:12px;letter-spacing:.12em;padding:8px 12px;text-transform:uppercase}.fm-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--fm-line)}.fm-header-inner{min-height:78px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px}.fm-brand img{display:block;width:auto;max-height:58px}.fm-brand-text{font-family:Georgia,serif;font-size:28px;font-style:italic}.fm-nav ul{display:flex;justify-content:center;gap:28px;list-style:none;margin:0;padding:0}.fm-nav a{font-size:14px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.fm-tools{display:flex;align-items:center;gap:14px}.fm-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--fm-line);border-radius:999px;background:#fff}.fm-cart{position:relative}.fm-cart-count{position:absolute;right:-3px;top:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:#111;color:#fff;font-size:11px;display:grid;place-items:center}
.fm-hero{padding:34px 0 24px}.fm-hero-card{min-height:520px;border-radius:28px;background:linear-gradient(135deg,#f9f9f9,#fff);border:1px solid var(--fm-line);display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden}.fm-hero-copy{padding:clamp(38px,7vw,90px);display:flex;flex-direction:column;justify-content:center}.fm-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:750}.fm-hero h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(44px,7vw,86px);line-height:1.02;margin:16px 0}.fm-hero p{font-size:clamp(17px,2vw,21px);max-width:560px;color:#444}.fm-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.fm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:999px;border:1px solid #111;font-weight:700}.fm-btn-primary{background:#111;color:#fff}.fm-btn-light{background:#fff;color:#111}.fm-hero-logo{display:grid;place-items:center;padding:36px;background:#fff}.fm-hero-logo img{width:min(88%,520px);filter:contrast(1.08)}
.fm-category-section{padding:24px 0 70px}.fm-section-head{text-align:center;margin:22px 0 30px}.fm-section-head h2{font-family:Georgia,serif;font-size:clamp(34px,5vw,54px);font-weight:500;margin:0 0 8px}.fm-section-head p{margin:0;color:#666}.fm-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.fm-category-card{border:1px solid var(--fm-line);border-radius:var(--fm-radius);background:#fff;overflow:hidden;text-align:center;transition:.25s ease}.fm-category-card:hover{transform:translateY(-5px);box-shadow:0 18px 50px rgba(0,0,0,.10)}.fm-category-image{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#f7f4ef}.fm-category-content{padding:22px 16px 24px}.fm-category-card h3{font-family:Georgia,serif;font-size:28px;font-weight:500;margin:0}.fm-category-card span{display:block;margin-top:10px;font-size:12px;font-weight:750;letter-spacing:.10em;text-transform:uppercase}.fm-banner{margin:0 auto 74px;padding:42px;border-radius:var(--fm-radius);background:#111;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px}.fm-banner h2{font-family:Georgia,serif;font-size:clamp(28px,4vw,48px);font-weight:500;margin:0}.fm-banner p{margin:8px 0 0;color:#d8d8d8}.fm-banner .fm-btn{border-color:#fff;background:#fff;color:#111;white-space:nowrap}
.fm-main{padding:48px 0 80px}.site-main{min-height:55vh}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}.woocommerce ul.products li.product{width:auto!important;margin:0!important;text-align:center}.woocommerce ul.products li.product a img{border-radius:16px;background:#f7f7f7;margin-bottom:14px!important}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px!important;color:#111}.woocommerce ul.products li.product .price{color:#111!important;font-weight:700}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:#111!important;color:#fff!important;border-radius:999px!important;padding:14px 22px!important}.woocommerce div.product div.images img{border-radius:18px}.woocommerce-message,.woocommerce-info{border-top-color:#111}.woocommerce-message:before,.woocommerce-info:before{color:#111}.woocommerce-cart-form,.cart_totals,.woocommerce-checkout-review-order,.woocommerce-billing-fields,.woocommerce-additional-fields{background:#fff;border:1px solid var(--fm-line);border-radius:16px;padding:20px}.input-text,select,textarea{border:1px solid #ccc!important;border-radius:10px!important;padding:12px!important;background:#fff!important}
.fm-footer{background:#111;color:#fff;padding:52px 0 24px}.fm-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:42px}.fm-footer h3{font-family:Georgia,serif;font-weight:500;font-size:26px;margin-top:0}.fm-footer ul{list-style:none;padding:0;margin:0}.fm-footer li{margin:9px 0}.fm-footer small{display:block;border-top:1px solid #333;margin-top:38px;padding-top:20px;color:#aaa}
@media(max-width:900px){.fm-nav{display:none}.fm-header-inner{grid-template-columns:1fr auto;min-height:70px}.fm-brand img{max-height:50px}.fm-hero{padding-top:18px}.fm-hero-card{grid-template-columns:1fr;min-height:auto}.fm-hero-copy{padding:38px 26px;text-align:center;align-items:center}.fm-hero-logo{padding:22px}.fm-hero-logo img{width:min(75%,360px)}.fm-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-banner{flex-direction:column;text-align:center;padding:34px 24px}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-footer-grid{grid-template-columns:1fr}}
@media(max-width:520px){.fm-category-grid{grid-template-columns:1fr}.fm-container{width:min(100% - 24px,var(--fm-max))}.fm-topbar{font-size:10px}.fm-tools .fm-icon:first-child{display:none}.fm-hero h1{font-size:42px}.fm-hero p{font-size:16px}.fm-buttons{width:100%}.fm-btn{width:100%}.woocommerce ul.products{gap:12px}.woocommerce ul.products li.product .button{font-size:12px;padding:11px 13px!important}.fm-main{padding-top:30px}}
.fm-company-details{margin-top:20px;color:#d1d1d1;font-size:14px;line-height:1.7}.fm-company-details strong{color:#fff;letter-spacing:.05em}.fm-contact-list a{color:#d1d1d1;overflow-wrap:anywhere}.fm-contact-list a:hover{color:#fff;text-decoration:underline}


/* FM Accessori — opzioni personalizzate del gioiello */
.fm-jewel-options{
  margin:20px 0 22px;
  padding:20px;
  border:1px solid var(--fm-line);
  border-radius:16px;
  background:#fff;
}
.fm-jewel-field{margin:0 0 16px!important}
.fm-jewel-field:last-child{margin-bottom:0!important}
.fm-jewel-field label{
  display:block;
  margin-bottom:7px;
  font-size:14px;
  font-weight:750;
  color:#111;
}
.fm-jewel-field select{
  width:100%;
  min-height:48px;
  padding:0 42px 0 14px!important;
  border:1px solid #ccc!important;
  border-radius:10px!important;
  background-color:#fff!important;
  color:#111;
}
.fm-jewel-field .required{color:#b00020}



/* FM Accessori — colori pietre con swatches cliccabili */
.fm-color-swatches{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(110px,1fr));
  gap:10px;
}
.fm-color-swatch{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:46px;
  padding:8px 10px;
  border:1px solid #d6d6d6;
  border-radius:12px;
  background:#fff;
  color:#111;
  cursor:pointer;
  text-align:left;
  transition:.2s ease;
}
.fm-color-swatch:hover{
  border-color:#111;
  transform:translateY(-1px);
}
.fm-color-swatch.is-selected{
  border:2px solid #111;
  box-shadow:0 0 0 2px rgba(0,0,0,.08);
}
.fm-color-dot{
  flex:0 0 24px;
  width:24px;
  height:24px;
  border-radius:50%;
  background:var(--fm-swatch-color);
  border:1px solid rgba(0,0,0,.22);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}
.fm-color-name{
  font-size:13px;
  font-weight:650;
  line-height:1.2;
}
@media(max-width:520px){
  .fm-color-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fm-color-name{font-size:12px}
}



/* FM Accessori — testimonianze clienti */
.fm-testimonials-section{
  padding:92px 0 96px;
  background:linear-gradient(180deg,#faf9f7 0%,#fff 100%);
  border-top:1px solid #eeeae4;
}
.fm-testimonials-heading{
  max-width:760px;
  margin:0 auto 42px;
  text-align:center;
}
.fm-testimonials-kicker{
  display:block;
  margin-bottom:12px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#777;
}
.fm-testimonials-heading h2{
  margin:0;
  font-family:Georgia,serif;
  font-size:clamp(38px,5vw,60px);
  font-weight:500;
  line-height:1.08;
}
.fm-testimonials-rating{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:18px;
  color:#111;
}
.fm-testimonials-rating>span{
  font-size:17px;
  letter-spacing:.16em;
}
.fm-testimonials-rating strong{
  font-size:13px;
}
.fm-testimonials-rating small{
  padding-left:12px;
  border-left:1px solid #d8d3cc;
  color:#777;
  font-size:12px;
}
.fm-testimonials-slider{
  position:relative;
  overflow:hidden;
}
.fm-testimonials-track{
  display:flex;
  gap:20px;
  transition:transform .55s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.fm-testimonial-card{
  flex:0 0 calc((100% - 40px)/3);
  min-width:0;
  min-height:390px;
  display:flex;
  flex-direction:column;
  padding:32px;
  border:1px solid #e5e0d9;
  border-radius:22px;
  background:rgba(255,255,255,.94);
  box-shadow:0 16px 45px rgba(17,17,17,.055);
}
.fm-testimonial-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.fm-testimonial-stars{
  font-size:15px;
  letter-spacing:.14em;
}
.fm-testimonial-number{
  font-family:Georgia,serif;
  font-size:14px;
  color:#aaa39b;
}
.fm-testimonial-card blockquote{
  flex:1;
  margin:28px 0 30px;
  font-family:Georgia,serif;
  font-size:18px;
  line-height:1.62;
  color:#282522;
}
.fm-testimonial-author{
  display:flex;
  align-items:center;
  gap:13px;
  padding-top:20px;
  border-top:1px solid #eeeae5;
}
.fm-testimonial-initial{
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#111;
  color:#fff;
  font-family:Georgia,serif;
  font-size:18px;
}
.fm-testimonial-author strong{
  display:block;
  font-size:14px;
}
.fm-testimonial-author span:last-child{
  display:block;
  margin-top:2px;
  color:#807a73;
  font-size:11px;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.fm-testimonials-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin-top:30px;
}
.fm-testimonials-arrow{
  width:44px;
  height:44px;
  border:1px solid #cdc7bf;
  border-radius:50%;
  background:#fff;
  color:#111;
  cursor:pointer;
  font-size:20px;
  transition:.2s ease;
}
.fm-testimonials-arrow:hover{
  border-color:#111;
  transform:translateY(-1px);
}
.fm-testimonials-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:100px;
}
.fm-testimonials-dot{
  width:7px;
  height:7px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#c9c3bc;
  cursor:pointer;
  transition:.2s ease;
}
.fm-testimonials-dot.is-active{
  width:24px;
  border-radius:99px;
  background:#111;
}
@media(max-width:900px){
  .fm-testimonial-card{flex-basis:calc((100% - 20px)/2)}
}
@media(max-width:620px){
  .fm-testimonials-section{padding:68px 0 72px}
  .fm-testimonials-heading{margin-bottom:30px}
  .fm-testimonials-rating{flex-wrap:wrap;gap:8px}
  .fm-testimonial-card{
    flex-basis:100%;
    min-height:0;
    padding:26px 22px;
  }
  .fm-testimonial-card blockquote{font-size:17px}
  .fm-testimonials-controls{margin-top:22px}
}


/* FM Accessori — Instagram feed */
.fm-instagram-section{
  padding:82px 0;
  background:linear-gradient(180deg,#fff 0%,#f8f5f1 100%);
  overflow:hidden;
}
.fm-instagram-heading{
  max-width:680px;
  margin:0 auto 34px;
  text-align:center;
}
.fm-instagram-kicker{
  display:block;
  margin-bottom:10px;
  color:#8b7355;
  font-size:12px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.fm-instagram-heading h2{
  margin:0 0 12px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(34px,5vw,54px);
  font-weight:400;
  line-height:1.05;
}
.fm-instagram-heading p{
  margin:0;
  color:#6f6963;
  font-size:16px;
}
.fm-instagram-feed{
  position:relative;
  max-width:1180px;
  margin:0 auto;
}
.fm-instagram-feed #sb_instagram{
  padding-bottom:0!important;
}
.fm-instagram-feed #sbi_images{
  gap:12px;
}
.fm-instagram-feed .sbi_item{
  overflow:hidden;
  border-radius:18px;
  box-shadow:0 14px 35px rgba(32,25,18,.10);
}
.fm-instagram-feed .sbi_photo{
  transition:transform .45s ease,filter .45s ease;
}
.fm-instagram-feed .sbi_photo:hover{
  transform:scale(1.035);
  filter:brightness(.94);
}
.fm-instagram-profile-card{
  display:flex;
  align-items:center;
  gap:18px;
  max-width:760px;
  margin:0 auto;
  padding:25px 28px;
  border:1px solid rgba(139,115,85,.25);
  border-radius:22px;
  background:#fff;
  color:#111;
  text-decoration:none;
  box-shadow:0 18px 55px rgba(49,38,25,.09);
  transition:transform .25s ease,box-shadow .25s ease;
}
.fm-instagram-profile-card:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 65px rgba(49,38,25,.14);
}
.fm-instagram-icon{
  flex:0 0 56px;
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(135deg,#feda75,#d62976 52%,#4f5bd5);
  color:#fff;
  font-size:34px;
  line-height:1;
}
.fm-instagram-profile-card span:nth-child(2){flex:1}
.fm-instagram-profile-card strong{
  display:block;
  margin-bottom:4px;
  font-size:20px;
}
.fm-instagram-profile-card small{
  display:block;
  color:#746d66;
  font-size:14px;
}
.fm-instagram-profile-card b{
  font-size:13px;
  letter-spacing:.04em;
}
.fm-instagram-action{
  margin-top:28px;
  text-align:center;
}
@media(max-width:620px){
  .fm-instagram-section{padding:62px 0}
  .fm-instagram-heading{margin-bottom:26px}
  .fm-instagram-profile-card{
    align-items:flex-start;
    flex-wrap:wrap;
    margin:0 6px;
    padding:22px;
  }
  .fm-instagram-profile-card b{
    width:100%;
    padding-left:74px;
  }
}
