/* Stili delle sezioni (estratti dal tema Shopify Marastoni Casa) */

/* ---- main-product ---- */
/* Pezzi d'antiquariato: galleria, scheda con epoca e misure, card con foto.
   Questi stili vengono raccolti da Shopify e caricati su tutte le pagine, quindi valgono anche per le card. */
.mc-product.mc-product--media { align-items: start; }
.mc-gallery { position: relative; min-width: 0; }
.mc-gallery__track { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.mc-gallery__item { margin: 0; aspect-ratio: 4 / 5; border-radius: 14px; overflow: hidden; background: var(--verde-15); }
.mc .mc-gallery__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mc-gallery__count { display: none; }
.mc-product__info { display: grid; gap: 32px; align-content: start; min-width: 0; }
.mc-product__info .mc-product__crumb { margin: 0 0 14px; }
.mc-product__info .mc-product__title { font-size: clamp(2.2rem, 4.2vw, 3.6rem); }
@media (min-width: 861px) {
  .mc-product--media .mc-product__info { position: sticky; top: calc(env(safe-area-inset-top, 0px) + 108px); }
}
.mc-scheda { margin: 0; display: grid; border-top: 1.5px solid var(--verde); }
.mc-scheda.mc-scheda--spaced { margin-top: 32px; max-width: 34rem; }
.mc-scheda > div { display: grid; grid-template-columns: minmax(7.5rem, 2fr) minmax(0, 3fr); gap: 16px; align-items: baseline; padding-block: 12px; border-bottom: 1px solid var(--verde-15); }
.mc-scheda dt { font-family: var(--f-display); font-weight: 600; font-size: .95rem; }
.mc-scheda dd { margin: 0; font-variant-numeric: tabular-nums; }
.mc-scheda .mc-scheda__epoca dd { font-family: var(--f-display); font-weight: 600; font-size: 1.7rem; line-height: 1; letter-spacing: -.02em; }
.mc-product__buy .mc-form { display: grid; gap: 16px; }
.mc-product__actions { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; }
.mc-product__label { font-family: var(--f-display); font-weight: 600; font-size: .95rem; margin: 0 0 12px; padding-top: 14px; border-top: 1.5px solid var(--verde); }
.mc-product__about .mc-product__desc { margin-top: 0; }
.mc-scheda .mc-scheda__epoca dd.mc-scheda__nd { font-size: 1.15rem; line-height: 1.3; letter-spacing: 0; }
.mc-product__note { margin: 20px 0 0; max-width: 65ch; font-size: .9rem; line-height: 1.5; color: var(--verde-70); }
.mc-product__note a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }

/* Modulo "Ricontattatemi" al posto del carrello */
.mc-richiesta { display: grid; gap: 14px; margin-top: 6px; padding-top: 18px; border-top: 1.5px solid var(--verde); scroll-margin-top: 110px; }
.mc-richiesta__title { margin: 0; font-family: var(--f-display); font-weight: 600; font-size: 1.3rem; letter-spacing: -.01em; }
.mc-richiesta__intro { margin: 0; max-width: 46ch; }
.mc-product__buy .mc-richiesta .mc-form { gap: 16px; }
.mc-richiesta .mc-field textarea { min-height: 4.5rem; }
.mc-richiesta__hint { margin: -4px 0 0; font-size: .88rem; color: var(--verde-70); }
.mc-richiesta__hint.is-errore { color: var(--verde); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.mc-richiesta__privacy { margin: 0; font-size: .85rem; line-height: 1.45; color: var(--verde-70); }
.mc-richiesta__privacy a { color: inherit; }

.mc-card.mc-card--img { border-top: 0; padding-top: 0; }
.mc-card__media { position: relative; display: block; aspect-ratio: 4 / 5; margin-bottom: 12px; border-radius: 14px; overflow: hidden; background: var(--verde-15); }
.mc .mc-card__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.mc .mc-card:hover .mc-card__img { transform: scale(1.04); }
.mc-card__badge { position: absolute; left: 12px; top: 12px; padding: 5px 12px; border-radius: 999px; background: var(--verde); color: var(--crema); font-family: var(--f-display); font-weight: 600; font-size: .85rem; line-height: 1.2; }
.mc-card .mc-card__meta { font-variant-numeric: tabular-nums; }

@media (max-width: 860px) {
  .mc-product.mc-product--media { gap: 28px; padding-top: 20px; }
  .mc-gallery { margin-inline: calc(-1 * var(--gut)); }
  .mc-gallery__track {
    grid-auto-flow: column;
    grid-auto-columns: 86%;
    gap: 10px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    padding-inline: var(--gut);
    scroll-padding-inline: var(--gut);
    scrollbar-width: none;
  }
  .mc-gallery__track::-webkit-scrollbar { display: none; }
  .mc-gallery--single .mc-gallery__track { grid-auto-columns: 100%; }
  .mc-gallery__item { scroll-snap-align: start; }
  .mc-gallery__count {
    display: block;
    position: absolute;
    left: calc(var(--gut) + 12px);
    bottom: 12px;
    margin: 0;
    padding: 4px 11px;
    border-radius: 999px;
    background: var(--crema);
    color: var(--verde);
    font-family: var(--f-display);
    font-weight: 600;
    font-size: .9rem;
    font-variant-numeric: tabular-nums;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mc .mc-card__img { transition: none; }
  .mc .mc-card:hover .mc-card__img { transform: none; }
}


/* ---- main-collection ---- */
/* Pagina collezione con filtri: tipologia, epoca e slider per prezzo e misure. Il filtro lavora sui pezzi della pagina. */
.mc-shop { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(0, 3fr); gap: clamp(28px, 4vw, 64px); align-items: start; }
.mc-shop:not(:has(.mc-filters)) { grid-template-columns: minmax(0, 1fr); }
.mc-filters { display: grid; gap: 28px; align-content: start; position: sticky; top: calc(env(safe-area-inset-top, 0px) + 100px); }
.mc-filters__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-bottom: 10px; border-bottom: 1.5px solid var(--verde); }
.mc-filters__title { margin: 0; font-family: var(--f-display); font-weight: 600; font-size: 1.15rem; }
.mc-filters__reset, .mc-filters__reset-big { background: none; border: 0; padding: 0; color: inherit; cursor: pointer; font-family: var(--f-display); font-weight: 600; font-size: .95rem; text-decoration: underline; text-underline-offset: 4px; }
.mc-filter { display: grid; gap: 12px; min-width: 0; margin: 0; padding: 0; border: 0; }
.mc-filter[hidden] { display: none; }
.mc-filter__label { margin: 0; padding: 0; font-family: var(--f-display); font-weight: 600; font-size: .95rem; }
.mc-chips--small { gap: 6px; }
.mc-chips--small .mc-chip span { font-size: .92rem; padding: 6px 13px; }
.mc-dual { position: relative; height: 28px; --from: 0%; --to: 100%; }
.mc-dual::before { content: ''; position: absolute; left: 0; right: 0; top: 12px; height: 4px; border-radius: 4px; background: linear-gradient(to right, var(--verde-15) var(--from), var(--verde) var(--from), var(--verde) var(--to), var(--verde-15) var(--to)); }
.mc-dual__in { position: absolute; inset: 0; width: 100%; height: 28px; margin: 0; background: transparent; -webkit-appearance: none; appearance: none; pointer-events: none; }
.mc-dual__in::-webkit-slider-runnable-track { height: 4px; background: transparent; border: 0; }
.mc-dual__in::-moz-range-track { height: 4px; background: transparent; border: 0; }
.mc-dual__in::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 22px; height: 22px; margin-top: -9px; border-radius: 50%; background: var(--verde); border: 4px solid var(--crema); box-shadow: 0 0 0 1.5px var(--verde); cursor: pointer; }
.mc-dual__in::-moz-range-thumb { pointer-events: auto; width: 14px; height: 14px; border-radius: 50%; background: var(--verde); border: 4px solid var(--crema); box-shadow: 0 0 0 1.5px var(--verde); cursor: pointer; }
.mc-dual__in:focus-visible { outline: none; }
.mc-dual__in:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 1.5px var(--verde), 0 0 0 6px var(--verde-15); }
.mc-dual__in:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 1.5px var(--verde), 0 0 0 6px var(--verde-15); }
.mc-dual__out { margin: 0; font-family: var(--f-display); font-weight: 500; font-size: .95rem; color: var(--verde-70); font-variant-numeric: tabular-nums; }
.mc-filters__hint { margin: 0; font-size: .88rem; line-height: 1.45; color: var(--verde-70); }
.mc-filters__count { margin: 0 0 18px; font-family: var(--f-display); font-weight: 500; color: var(--verde-70); }
.mc-filters-toggle { display: none; }
.mc-filters-toggle__n { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--verde); color: var(--crema); font-size: .8rem; }
.mc-filters-toggle__n[hidden] { display: none; }
.mc-btn--outline:hover .mc-filters-toggle__n { background: var(--crema); color: var(--verde); }
.mc-cards .mc-card[hidden] { display: none; }
.mc-shop__results .mc-empty[hidden] { display: none; }
@media (max-width: 860px) {
  .mc-shop { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .mc-filters-toggle { display: inline-flex; justify-self: start; }
  .mc-filters { display: none; position: static; padding: 4px 0 22px; border-bottom: 1.5px solid var(--verde); }
  .mc-shop.is-open .mc-filters { display: grid; }
}


/* ---- mc-chi-siamo ---- */
.mc-about-hero { padding-block: clamp(48px, 7vw, 96px) clamp(56px, 8vw, 112px); overflow: hidden; }
.mc-about-hero__year {
  font-family: var(--f-display);
  font-weight: 600;
  font-size: clamp(6rem, 26vw, 22rem);
  line-height: .8;
  letter-spacing: -.06em;
  margin: 0 0 clamp(24px, 4vw, 48px) -.04em;
  font-variant-numeric: lining-nums;
}
.mc-about-hero__body { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 5vw, 80px); align-items: end; }
.mc-about-hero__side { display: grid; gap: 18px; }
.mc-about-hero__count { margin: 0; font-family: var(--f-display); font-weight: 500; font-size: 1.15rem; color: var(--crema-70); }
.mc-about-hero__count span { color: var(--crema); font-weight: 600; font-variant-numeric: tabular-nums; }
.mc-about-story { display: grid; gap: 48px; }
.mc-about-story__text { font-size: 1.2rem; line-height: 1.65; }
.mc-about-story__text p { margin: 0; }
.mc-about-story__text p + p { margin-top: 1em; }
.mc-timeline { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 0 28px; border-top: 1.5px solid var(--verde); }
.mc-timeline__item { display: grid; gap: 6px; padding-top: 18px; }
.mc-timeline__when { font-family: var(--f-display); font-weight: 600; font-size: 1.6rem; letter-spacing: -.02em; line-height: 1; }
.mc-timeline__what { font-size: 1rem; color: var(--verde-70); }
.mc-about-contact { font-style: normal; display: grid; gap: 10px; }
.mc-about-contact p { margin: 0; display: grid; gap: 2px; }
.mc-about-contact__addr { font-family: var(--f-display); font-weight: 500; font-size: 1.35rem; line-height: 1.25; }
.mc-about-contact .mc-muted { font-family: var(--f-display); font-size: .9rem; }
.mc-about-contact a { text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
.mc-map { position: relative; aspect-ratio: 4 / 3; max-width: 100%; border: 1.5px solid var(--verde); border-radius: 14px; overflow: hidden; background: var(--verde-15); }
.mc-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(1) sepia(.18) contrast(1.05); }
@media (max-width: 860px) {
  .mc-about-hero__body { grid-template-columns: minmax(0, 1fr); }
}


/* ---- mc-su-misura ---- */
/* Configuratore: campo libero e colore personalizzato */
.mc [hidden] { display: none !important; }
.mc-other { margin-top: 14px; max-width: 26rem; }
.mc-other .mc-input { font-size: 1.1rem; }
.mc-color { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 14px; }
.mc-color__pick { display: inline-flex; align-items: center; gap: 12px; cursor: pointer; font-family: var(--f-display); font-weight: 500; }
.mc-color__pick input[type="color"] {
  -webkit-appearance: none;
  appearance: none;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 1.5px solid var(--verde);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  overflow: hidden;
}
.mc-color__pick input[type="color"]::-webkit-color-swatch-wrapper { padding: 4px; }
.mc-color__pick input[type="color"]::-webkit-color-swatch { border: 0; border-radius: 50%; }
.mc-color__pick input[type="color"]::-moz-color-swatch { border: 0; border-radius: 50%; }
.mc-color__pick span { text-decoration: underline; text-decoration-color: var(--ruggine); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.mc-color__hex { font-family: var(--f-display); font-variant-numeric: tabular-nums; color: var(--verde-70); }
.mc-swatch {
  display: inline-block;
  width: .62em;
  height: .62em;
  border-radius: 50%;
  border: 2px solid var(--verde);
  vertical-align: .04em;
  margin-inline: .08em .12em;
}
.mc-other .mc-input[aria-invalid="true"] { border-bottom-color: var(--ruggine); border-bottom-width: 2.5px; }
.mc-other .mc-input::placeholder { color: var(--verde-70); }
/* Misure */
.mc-dims__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 16rem); gap: 28px; align-items: center; }
.mc-dims__sliders { display: grid; gap: 22px; }
.mc-dim__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 6px; }
.mc-dim__head label { font-family: var(--f-display); font-weight: 500; }
.mc-dim__num { display: inline-flex; align-items: baseline; gap: 6px; font-family: var(--f-display); }
.mc-dim__value {
  width: 4.6rem;
  font: 600 1.35rem var(--f-display);
  text-align: right;
  color: inherit;
  background: transparent;
  border: 0;
  border-bottom: 1.5px solid var(--verde-15);
  padding: 2px 0;
  font-variant-numeric: tabular-nums;
  -moz-appearance: textfield;
  appearance: textfield;
}
.mc-dim__value:focus { outline: none; border-bottom-color: var(--verde); }
.mc-dim__value::-webkit-inner-spin-button, .mc-dim__value::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.mc-range { -webkit-appearance: none; appearance: none; width: 100%; height: 28px; margin: 0; background: transparent; cursor: pointer; --p: 15%; }
.mc-range::-webkit-slider-runnable-track { height: 4px; border-radius: 4px; background: linear-gradient(to right, var(--verde) var(--p), var(--verde-15) var(--p)); }
.mc-range::-moz-range-track { height: 4px; border-radius: 4px; background: var(--verde-15); }
.mc-range::-moz-range-progress { height: 4px; border-radius: 4px; background: var(--verde); }
.mc-range::-webkit-slider-thumb { -webkit-appearance: none; width: 24px; height: 24px; margin-top: -10px; border-radius: 50%; background: var(--verde); border: 4px solid var(--crema); box-shadow: 0 0 0 1.5px var(--verde); transition: transform .15s; }
.mc-range::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; background: var(--verde); border: 4px solid var(--crema); box-shadow: 0 0 0 1.5px var(--verde); }
.mc-range:active::-webkit-slider-thumb { transform: scale(1.15); }
.mc-range:focus-visible { outline: none; }
.mc-range:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 1.5px var(--verde), 0 0 0 5px var(--ruggine); }
.mc-range:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 1.5px var(--verde), 0 0 0 5px var(--ruggine); }
.mc-dim__scale { display: flex; justify-content: space-between; font: 500 .8rem var(--f-display); color: var(--verde-70); margin-top: 2px; }
.mc-dims__box { width: 100%; height: auto; display: block; }
.mc-dims__box polygon { stroke: var(--verde); stroke-width: 1.5; stroke-linejoin: round; transition: fill .25s; }
.mc-dims__box .b-front { fill: var(--crema); }
.mc-dims__box .b-top { fill: rgba(40, 54, 24, .1); }
.mc-dims__box .b-side { fill: rgba(40, 54, 24, .24); }
.mc-dims__box .b-shade { stroke: none; }
.mc-dims__box .b-top-shade { fill: rgba(255, 255, 255, .22); }
.mc-dims__box .b-side-shade { fill: rgba(0, 0, 0, .2); }
.mc-dims__box text { fill: var(--verde); font: 600 12px var(--f-display); font-variant-numeric: tabular-nums; }
.mc-dims > .mc-note { margin-top: 14px; }

/* Foto */
.mc-photo__drop { position: relative; display: grid; gap: 4px; justify-items: start; padding: 22px 24px; border: 1.5px dashed var(--verde); border-radius: 14px; cursor: pointer; transition: background .2s; }
.mc-photo__drop:hover, .mc-photo__drop.is-over { background: var(--verde-15); }
.mc-photo__drop:focus-within { outline: 2px solid var(--ruggine); outline-offset: 3px; }
.mc-photo__drop input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.mc-photo__cta { font-family: var(--f-display); font-weight: 600; text-decoration: underline; text-decoration-color: var(--ruggine); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.mc-photo__hint { font-size: 1rem; }
.mc-photo__preview { display: flex; gap: 16px; align-items: center; margin-top: 14px; }
.mc-photo__preview img { width: 96px; height: 96px; object-fit: cover; border-radius: 10px; border: 1.5px solid var(--verde); flex: none; }
.mc-photo__meta { display: grid; gap: 6px; min-width: 0; }
.mc-photo__meta span { overflow-wrap: anywhere; font-size: 1rem; }
.mc-photo__remove { font: 500 1rem var(--f-display); color: inherit; background: none; border: 0; padding: 0; text-decoration: underline; cursor: pointer; justify-self: start; }

/* Riepilogo e invio */
.mc-config__notes textarea { min-height: 5rem; }
.mc-config__dims { font-family: var(--f-display); font-weight: 500; font-size: 1.15rem; margin: -10px 0 0; font-variant-numeric: tabular-nums; }
.mc-config__result .mc-note { margin: 0; }
.mc-config__result .mc-form-status:empty { display: none; }
@media (max-width: 620px) {
  .mc-dims__grid { grid-template-columns: minmax(0, 1fr); }
  .mc-dims__box { max-width: 280px; }
}
/* Quantità */
.mc-qty-box { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 14px; }
.mc-qty-box__label { font-family: var(--f-display); font-weight: 500; }
.mc-stepper { display: inline-flex; align-items: center; border: 1.5px solid var(--verde); border-radius: 999px; overflow: hidden; }
.mc-stepper__btn { width: 46px; height: 46px; border: 0; background: transparent; color: inherit; font: 600 1.4rem/1 var(--f-display); cursor: pointer; transition: background .2s; }
.mc-stepper__btn:hover { background: var(--verde-15); }
.mc-stepper__btn:disabled { opacity: .35; cursor: default; background: transparent; }
.mc-stepper__input {
  width: 3.4rem;
  text-align: center;
  border: 0;
  border-inline: 1.5px solid var(--verde-15);
  background: transparent;
  color: inherit;
  font: 600 1.3rem var(--f-display);
  font-variant-numeric: tabular-nums;
  padding: 8px 0;
  -moz-appearance: textfield;
  appearance: textfield;
}
.mc-stepper__input::-webkit-inner-spin-button, .mc-stepper__input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.mc-stepper__input:focus { outline: none; background: var(--verde-15); }


/* ---- footer ---- */
.mc-footer__legal { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--crema-20); font-size: .95rem; color: var(--crema-70); }
.mc-footer__legal a { color: inherit; }
