@font-face {
  font-family: 'mdn';
  src:  url('/css/mdnregular.woff2');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'mdn' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  font-size: var(--size, 16px);
  /* line-height: 1; */

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    tab-size: 4;
    font-family: "Work Sans";
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent;
    font-size: 16px;
}

body {
    margin: 0;
    line-height: inherit;
    background-color: rgb(246, 248, 246);
    min-height: 100vh;
    color: #333;
}

input, select {
    border: 1px solid #cac9ca;
    line-height: 32px;
    background-color: #fff;
    border-radius: 8px;
    padding: 0 16px 0 36px;
    box-sizing: border-box;
    font-size: 16px;
    height: 32px;
    outline: none;
}

* { box-sizing: border-box; }
.wrapper { display: flex; flex-direction: column; min-height: 100vh; width: 100vw; }

.clear { clear: both; }
.t20 { margin-top: 20px; }
.t40 { margin-top: 40px; }
.t80 { margin-top: 80px; }

.form-field-error {
  border: 1px solid #aa0000 !important;
}

.mainheader {
    position: sticky;
    top: 0; left: 0;
    background-color: rgb(248 248 248 / 0.93);
    height: 60px;
    z-index: 999;
    border-bottom: 1px solid #e4e4e4;
}

.mainspace { width: 100%; flex: 1;}

.container {
    max-width: 1500px;
    margin: 0 auto;
 }

 .spacer { flex: 1 }

.menu {
    display: flex;
    align-items: center;
    height: inherit;
    gap: 20px;
}

.menu .logo { display: block; width: 88px; height: 48px; margin: 0; padding: 0; }

.menu img { max-height: 48px; }
.menu .owner { font-size: 20px; font-weight: 600; color: #501707; margin-right: 60px; letter-spacing: -1px; white-space: nowrap; }
.menu .search {
    border: 1px solid #cac9ca;
    line-height: 32px;
    background-color: #fff;
    border-radius: 8px;
    padding: 0 16px 0 36px;
    box-sizing: border-box;
    font-size: 16px;
    background: #fff url("/images/search.png") 8px center no-repeat;
}
.menu a { text-decoration: none; color: inherit; }
.menu a { cursor: pointer; }
.menu a:hover { color: #501707; }

.menubtn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 32px; height: 32px;
    min-width: 32px;
    border: 1px solid #cac9ca;
    border-radius: 50%;
    cursor: pointer;
    font-family: mdn;
    font-size: 18px;
    position: relative;
  }

.menubtn span {
    position: absolute;
    top: -6px; right: -6px;
    background: #d9534f;
    color: #fff;
    font-size: 10px;
    width: 16px; height: 16px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.menubtn:hover { background-color: #eae9ea; }

.menubtn img { max-width: 60%; }
.menuothers { 
    display: flex;
    align-items: center;
    height: inherit;
    gap: 20px; 
    width: 100%;
}

/* Contenitore principale */
.slider {
  position: relative;
  width: 100%;
  height: 600px;        /* altezza slider */
  margin: auto;
  overflow: hidden;
  border-radius: 14px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}

.slider .textdes {
  position: absolute;
  z-index: 9;
  top: 50%;
  margin-top: -88px;
  left: 0;
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: 44px;
  font-weight: bold;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.6);
  letter-spacing: -2px;
}

.slider .adjlig  {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0.2;
  background: #000000;
}

.slider .textdes span {
  font-size: 32px;
}

/* Slides sovrapposte */
.slides {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;  /* fade */
}

/* Slide attiva */
.slides.active {
  opacity: 1;
}

/* Immagini */
.slides img {
  width: 100%;
  height: 100%;
  object-fit: cover;         /* riempie e taglia */
  object-position: center;   /* centra immagine */
  transform: scale(1);       /* zoom iniziale */
  transition: transform 3s ease;  /* zoom lento */
}

/* Zoom della slide attiva */
.slides.active img {
  transform: scale(1.12);    /* zoom */
}

.banner {
  position: relative;
  width: 100%;
  height: 600px;        /* altezza slider */
  margin: auto;
  overflow: hidden;
  border-radius: 14px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}

/* Slides sovrapposte */
.banner-content {
  position: absolute;
  width: 100%;
  height: 100%;
}



/* GRID RESPONSIVA */
.products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 30px;
  padding: 20px 0;
}

/* CARD PRODOTTO */
.product-card {
  background: #ffffff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
  padding: 0; margin: 0;
  cursor: pointer;
  text-decoration: none !important;
  color: inherit;
}

.product-card:hover img {
  /* transform: translateY(-5px); */
  transform: scale(1.05);
}

/* AREA IMMAGINE — RIEMPIMENTO TOTALE */
.product-image {
  display:block;
  width: 100%;
  height: 260px;
  overflow: hidden;
}

/* L’IMMAGINE RIEMPIE TUTTO */
.product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  margin: 0;
  padding: 0;
  transition: transform 0.3s ease;
}

.product-info {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 68px;
    overflow: hidden;
    padding: 10px;
    xtext-overflow: ellipsis;
}

/* TESTI */
.product-info span.des {
  flex: 1;
  font-size: 16px;
  font-weight: normal;
  line-height: normal;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.product-info span.prz {
  font-size: 16px;
  color: #571707;
  font-weight: bold;
}

.product-info span.noprz {
  font-size: 16px;
  color: #571707;
  font-weight: 200;
}

.product-card p {
  font-size: 0.95rem;
  color: #666;
}

.products-list {
  flex: 1; margin:0; padding: 0;
}

.products-list .order {display: flex; align-items: center; gap: 20px; }

.products-list h2 {
  margin: 0; padding: 0;
}

.document p {
    font-size: 16px;
    color: #444;
}


.footer { display: block; background: #eee; color: #fff; min-height: 260px; margin-bottom: 0; font-size: 14px; }
.footercol { display: flex; }
.footer .f-col { display: inline-block; width: 24%; vertical-align: top; }
.footer span { display: block; color: #666; font-weight: 300; text-decoration: none; }
.f-col a { display: block; color: #666; font-weight: 300; text-decoration: none; margin-bottom: 4px; }
.f-col h4 { color: #666; font-weight: 600; font-size: 16px; text-transform: uppercase; }
.footernote { font-size: 12px; margin: 40px 0 0;}

.footer .inline {
  display: flex;
  align-items: center;
  gap: 5px;
}
.footer .inline img {
  max-height: 24px;
}
.footer .maps { margin-top: 15px; cursor: pointer; color: #501707; }
.footer span.position { font-family: mdn; font-size: 18px; color: #501707; }

@media (max-width: 1540px) {
    .container {
        padding: 0 20px;
    }
}


@media (max-width: 900px) {
  .menuothers { display: none; }
}

