.msa-eyebrow {
  color: var(--wp--preset--color--champagne);
  font-size: var(--wp--preset--font-size--micro);
  font-weight: 650;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.msa-luminous {
  --msa-spark-shape: polygon(50% 0, 61% 39%, 100% 50%, 61% 61%, 50% 100%, 39% 61%, 0 50%, 39% 39%);
  --msa-spark-opening-size: 12px;
  --msa-spark-footer-size: 10px;
}

.msa-luminous :is(
  .msa-header__cta .wp-block-button__link,
  .msa-nav__mobile-cta .wp-block-navigation-item__content,
  .msa-hero__actions .wp-block-button:not(.is-style-outline) .wp-block-button__link,
  .msa-internal-callout .wp-block-button__link,
  .msa-whatsapp
) {
  background-color: var(--wp--preset--color--gold);
  background-image: var(--wp--custom--msa--metal);
  color: var(--wp--preset--color--ink);
}

.msa-luminous :is(
  .msa-header__cta .wp-block-button__link,
  .msa-nav__mobile-cta .wp-block-navigation-item__content,
  .msa-hero__actions .wp-block-button:not(.is-style-outline) .wp-block-button__link,
  .msa-internal-callout .wp-block-button__link,
  .msa-whatsapp
):is(:hover, :focus-visible) {
  background-color: var(--wp--preset--color--champagne);
  background-image: none;
  color: var(--wp--preset--color--ink);
}

.msa-luminous :is(
  .msa-header__cta .wp-block-button__link,
  .msa-nav__mobile-cta .wp-block-navigation-item__content,
  .msa-hero__actions .wp-block-button:not(.is-style-outline) .wp-block-button__link,
  .msa-internal-callout .wp-block-button__link,
  .msa-whatsapp
):active {
  background-color: var(--wp--preset--color--gold);
  background-image: none;
  color: var(--wp--preset--color--ink);
}

.wp-element-button {
  display: inline-flex;
  min-block-size: 44px;
  align-items: center;
  justify-content: center;
}

.msa-link {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  padding-block-end: .35rem;
  border-block-end: 1px solid var(--wp--preset--color--soft);
  color: var(--wp--preset--color--ivory);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
}

.msa-link::after { content: '↗'; color: var(--wp--preset--color--champagne); transition: transform .2s ease; }
.msa-link:hover::after { transform: translate(.18rem, -.18rem); }

.msa-js .msa-reveal { opacity: 0; transform: translateY(18px); }
.msa-js .msa-reveal.is-visible { opacity: 1; transform: none; transition: opacity .5s ease, transform .5s ease; }

/* Mappa esterna: il riquadro locale resta visibile finché non esiste consenso
   alle preferenze o finché la persona non richiede il caricamento manuale. */
.msa-google-map {
  display: grid;
  min-inline-size: 0;
  overflow: hidden;
  border: 1px solid var(--wp--preset--color--line);
  background: var(--wp--preset--color--carbon);
}

.msa-google-map__frame {
  display: block;
  inline-size: 100%;
  block-size: clamp(22rem, 35vw, 32rem);
  border: 0;
  color-scheme: light;
}

.msa-google-map__placeholder {
  position: relative;
  min-block-size: clamp(22rem, 35vw, 32rem);
  overflow: hidden;
}

.msa-google-map__placeholder > img {
  display: block;
  inline-size: 100%;
  block-size: clamp(22rem, 35vw, 32rem);
  object-fit: cover;
  filter: saturate(.58) contrast(1.06) brightness(.72);
}

.msa-google-map__consent {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 1rem;
  padding: clamp(1.5rem, 5vw, 4rem);
  background: linear-gradient(180deg, rgba(15, 12, 14, .3), rgba(15, 12, 14, .82));
  text-align: center;
}

.msa-google-map__consent p {
  max-inline-size: 38ch;
  margin: 0;
  color: var(--wp--preset--color--ivory);
}

.msa-google-map__consent button {
  min-block-size: 46px;
  padding: .7rem 1.15rem;
  border: 1px solid var(--wp--preset--color--gold);
  border-radius: 999px;
  background: var(--wp--preset--color--gold);
  color: var(--wp--preset--color--ink);
  font: inherit;
  font-size: var(--wp--preset--font-size--small);
  font-weight: 700;
  cursor: pointer;
}

.msa-google-map__consent button:is(:hover, :focus-visible) {
  background: var(--wp--preset--color--champagne);
}

/* Azione fuori dalla mappa: non copre controlli, attribuzioni o contatto WhatsApp. */
.msa-google-map__directions {
  display: flex;
  justify-content: flex-end;
  padding: .875rem 1rem;
  border-block-start: 1px solid var(--wp--preset--color--line);
}

.msa-google-map__directions a {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  min-block-size: 44px;
  padding: .65rem 1rem;
  border: 1px solid var(--wp--preset--color--gold);
  border-radius: 999px;
  color: var(--wp--preset--color--champagne);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 700;
  text-decoration: none;
}

.msa-google-map__directions a:is(:hover, :focus-visible) {
  background: var(--wp--preset--color--gold);
  color: var(--wp--preset--color--ink);
}

/* Il mini-carrello WooCommerce vive nella testata di tutte le pagine: quantità
   e rimozione devono restare realmente utilizzabili anche al tocco. */
.wc-block-mini-cart__drawer .wc-block-components-product-name {
  display: inline-flex;
  min-block-size: 44px;
  align-items: center;
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector {
  min-block-size: 44px;
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector :is(input, button) {
  min-inline-size: 44px;
  min-block-size: 44px;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link {
  display: inline-grid;
  min-inline-size: 44px;
  min-block-size: 44px;
  place-items: center;
}

@media (prefers-reduced-motion: reduce) {
  .msa-js .msa-reveal { opacity: 1; transform: none; }
}

@media (max-width: 640px) {
  .msa-luminous {
    --msa-spark-opening-size: 10px;
    --msa-spark-footer-size: 8px;
  }

  .msa-google-map__frame,
  .msa-google-map__placeholder,
  .msa-google-map__placeholder > img { block-size: 22rem; }
  .msa-google-map__directions { justify-content: center; }
}

/* Pulsanti pieni dorati: tutti con l'effetto oro (05/10/2026). Il selettore
   batte la regola generica dei pulsanti WooCommerce in commerce.css, che con
   «background» cancellava la sfumatura in carrello e cassa. I pulsanti con il
   bordo (is-style-outline, ap-outline) e quelli testuali delle schede Shop
   restano com'erano. */
body :is(
	.wp-block-button:not(.is-style-outline, .ap-outline) > .wp-block-button__link:not(.has-background, .wc-block-components-product-button__button),
	.msa-google-map__consent button,
	.wc-block-mini-cart__footer-checkout,
	.wc-block-cart__submit-button,
	.wc-block-components-checkout-place-order-button,
	.pwgc-apply-gift-card-button,
	.wc-block-components-totals-coupon__button,
	.single_add_to_cart_button,
	.woocommerce :is(button.button, a.button, input.button):not(.is-style-outline)
) {
	background-color: var(--wp--preset--color--gold);
	background-image: var(--wp--custom--msa--metal);
	color: var(--wp--preset--color--ink);
}

body :is(
	.wp-block-button:not(.is-style-outline, .ap-outline) > .wp-block-button__link:not(.has-background, .wc-block-components-product-button__button),
	.msa-google-map__consent button,
	.wc-block-mini-cart__footer-checkout,
	.wc-block-cart__submit-button,
	.wc-block-components-checkout-place-order-button,
	.pwgc-apply-gift-card-button,
	.wc-block-components-totals-coupon__button,
	.single_add_to_cart_button,
	.woocommerce :is(button.button, a.button, input.button):not(.is-style-outline)
):is(:hover, :focus-visible) {
	background-color: var(--wp--preset--color--champagne);
	background-image: none;
}
