
/* ===== SOURCE: style.css ===== */
/*
Theme Name: MyMedical 2026
Theme URI: https://www.mymedicalgroup.it/
Author: MyMedical Group
Description: Tema a blocchi personalizzato, leggero e medical-tech per MyMedical Group. Gutenberg / Full Site Editing, senza Elementor.
Version: 5.17.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: mymedical-2026
License: GNU General Public License v2 or later
*/

:root {
  --mm-navy: #071a3d;
  --mm-blue: #125ee8;
  --mm-blue-2: #2a86ff;
  --mm-cyan: #4bc7dd;
  --mm-ink: #111c31;
  --mm-muted: #64748b;
  --mm-line: #e7edf6;
  --mm-bg: #f7faff;
  --mm-radius: 22px;
  --mm-shadow: 0 18px 50px rgba(7, 26, 61, .10);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
.wp-site-blocks { overflow: hidden; }

.mm-shell {
  width: min(1240px, calc(100% - 48px));
  margin-inline: auto;
}

.mm-card {
  border: 1px solid var(--mm-line);
  border-radius: var(--mm-radius);
  box-shadow: var(--mm-shadow);
  overflow: hidden;
  background: #fff;
}

.mm-kicker {
  margin-bottom: 18px;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--mm-blue);
}

.mm-soft {
  background:
    radial-gradient(circle at 86% 18%, rgba(42,134,255,.14), transparent 28%),
    linear-gradient(180deg, #fff 0%, #f7faff 100%);
}

/* Header */
.mm-header {
  position: sticky;
  top: 0;
  z-index: 50;
  min-height: 84px;
  backdrop-filter: saturate(150%) blur(14px);
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid rgba(220,228,240,.95);
}
.admin-bar .mm-header { top: 32px; }
.mm-header-row { min-height: 84px; }
.mm-brand-link { display: inline-flex; align-items: center; flex: 0 0 auto; }
.mm-brand-link img { width: 190px; height: auto; display: block; }
.mm-header .wp-block-navigation { flex: 0 1 auto; }
.mm-header .wp-block-navigation__container { gap: 24px; flex-wrap: nowrap; }
.mm-header .wp-block-navigation-item { white-space: nowrap; }
.mm-header .wp-block-navigation a {
  color: var(--mm-navy);
  font-size: .94rem;
  font-weight: 720;
  text-decoration: none;
}
.mm-header .wp-block-navigation a:hover { color: var(--mm-blue); }
.mm-header-actions { gap: 10px !important; flex-wrap: nowrap !important; }
.mm-header-actions .wp-block-button__link { white-space: nowrap; padding: 12px 18px; }
.mm-header .wp-block-woocommerce-customer-account,
.mm-header .wc-block-mini-cart { display: none !important; }

/* Hero */
.mm-hero { padding-block: 64px 54px; }
.mm-hero-cols { gap: clamp(34px, 5vw, 72px); }
.mm-hero-title {
  max-width: 680px;
  margin-top: 0;
  margin-bottom: 24px;
  font-size: clamp(3.0rem, 5vw, 4.65rem);
  line-height: 1.01;
  letter-spacing: -.048em;
}
.mm-hero-copy {
  max-width: 650px;
  margin-bottom: 28px;
  font-size: clamp(1.15rem, 1.5vw, 1.42rem) !important;
  line-height: 1.55;
}
.mm-hero-actions { gap: 12px !important; }
.mm-hero-actions .wp-block-button__link { padding: 14px 22px; }
.mm-hero-visual {
  position: relative;
  min-height: 470px;
  margin: 0;
  border-radius: 30px;
  overflow: hidden;
  border: 1px solid var(--mm-line);
  box-shadow: 0 24px 70px rgba(18,94,232,.12);
  background: linear-gradient(140deg,#eef6ff,#ffffff 55%,#dceaff);
}
.mm-hero-visual img {
  width: 100%;
  height: 100%;
  min-height: 470px;
  object-fit: cover;
}

/* Content */
.mm-number {
  font-size: clamp(2.3rem, 4.5vw, 4.2rem);
  line-height: 1;
  letter-spacing: -.04em;
  font-weight: 750;
}
.mm-dark {
  background:
    radial-gradient(circle at 65% 45%, rgba(18,94,232,.25), transparent 34%),
    linear-gradient(135deg,#071a3d 0%,#0b2552 100%);
  color: white;
}
.mm-link-arrow a::after,
a.mm-link-arrow::after { content: "  →"; }
.mm-category-card { transition: transform .2s ease, box-shadow .2s ease; }
.mm-category-card:hover { transform: translateY(-5px); box-shadow: 0 22px 55px rgba(7,26,61,.13); }
.mm-logo-placeholder { filter: grayscale(1); opacity: .55; }
.mm-stat { min-height: 130px; display: flex; align-items: center; }
.mm-product-grid .wp-block-post {
  border: 1px solid var(--mm-line);
  border-radius: 20px;
  padding: 18px;
  background: white;
  box-shadow: 0 10px 30px rgba(7,26,61,.06);
}
.mm-product-grid .wp-block-post-featured-image img {
  aspect-ratio: 4 / 3;
  object-fit: contain;
  border-radius: 14px;
  background: #f8fbff;
}
.mm-product-grid .wp-block-post-title { font-size: 1.1rem; }
.mm-footer a { text-decoration: none; }

@media (max-width: 1120px) {
  .mm-header .wp-block-navigation__container { gap: 15px; }
  .mm-header .wp-block-navigation a { font-size: .86rem; }
  .mm-brand-link img { width: 165px; }
  .mm-header-actions .wp-block-button__link { padding: 10px 13px; font-size: .86rem; }
}

@media (max-width: 980px) {
  .mm-header-row { flex-wrap: wrap !important; padding-block: 12px; row-gap: 10px; }
  .mm-header .wp-block-navigation { order: 3; width: 100%; justify-content: center; }
  .mm-header .wp-block-navigation__responsive-container-open { margin-left: auto; }
  .mm-header-actions { margin-left: auto; }
  .mm-hero { padding-top: 46px; }
  .mm-hero-cols { flex-direction: column; }
  .mm-hero-cols > .wp-block-column { flex-basis: 100% !important; }
  .mm-hero-title { max-width: 800px; }
  .mm-hero-visual, .mm-hero-visual img { min-height: 400px; }
}

@media (max-width: 782px) {
  .admin-bar .mm-header { top: 46px; }
  .mm-shell { width: min(100% - 28px, 1240px); }
  .mm-header { position: relative; top: auto; }
  .mm-header-row { min-height: 72px; flex-wrap: nowrap !important; }
  .mm-brand-link img { width: 150px; }
  .mm-header-actions { display: none !important; }
  .mm-header .wp-block-navigation { order: initial; width: auto; margin-left: auto; }
  .mm-hero { padding-block: 40px 36px; }
  .mm-hero-title { font-size: clamp(2.7rem, 12vw, 3.7rem); }
  .mm-hero-copy { font-size: 1.1rem !important; }
  .mm-hero-visual, .mm-hero-visual img { min-height: 320px; }
}


/* ================================
   v0.3 — Hero, cards, assistance
   ================================ */

.mm-hero-title .mm-title-line {
  display: block;
}

.mm-feature-wrap {
  padding-block: 20px 74px;
}

.mm-feature-cards {
  gap: 18px !important;
}

.mm-feature-card {
  min-height: 252px;
  position: relative;
  isolation: isolate;
  box-shadow: 0 15px 42px rgba(7,26,61,.075);
}

.mm-feature-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 92% 12%, rgba(42,134,255,.13), transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
}

.mm-feature-inner {
  min-height: 250px;
  gap: 0 !important;
}

.mm-feature-copy {
  padding: 28px 14px 28px 28px;
}

.mm-feature-number {
  margin: 0 0 12px;
  font-size: 1.55rem;
  line-height: 1;
  font-weight: 320;
  color: var(--mm-blue);
}

.mm-feature-card h3 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 1.45rem;
}

.mm-feature-card p {
  font-size: .96rem;
  line-height: 1.55;
}

.mm-feature-media {
  height: 100%;
  margin: 0;
  align-self: stretch;
  overflow: hidden;
  border-left: 1px solid var(--mm-line);
  background: #edf5ff;
}

.mm-feature-media img {
  width: 100%;
  height: 100%;
  min-height: 250px;
  object-fit: cover;
  display: block;
}

.mm-feature-card--used::before {
  background:
    radial-gradient(circle at 92% 12%, rgba(75,199,221,.16), transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#fbfeff 100%);
}

.mm-feature-card--service::before {
  background:
    radial-gradient(circle at 92% 12%, rgba(18,94,232,.15), transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
}

/* Assistance band */
.mm-assistance-band {
  overflow: hidden;
  padding: 0 !important;
  border-radius: 26px;
  box-shadow: 0 24px 65px rgba(7,26,61,.16);
}

.mm-assistance-cols {
  gap: 0 !important;
  min-height: 390px;
}

.mm-assistance-copy {
  padding: 46px 38px 46px 46px;
}

.mm-assistance-copy .mm-kicker {
  color: #5da2ff;
}

.mm-assistance-copy h2 {
  margin-top: 0;
  margin-bottom: 26px;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.08;
}

.mm-assistance-image {
  height: 100%;
  margin: 0;
  background: #0d2a5b;
}

.mm-assistance-image img {
  width: 100%;
  height: 100%;
  min-height: 390px;
  object-fit: cover;
  display: block;
}

.mm-service-panel {
  padding: 42px 42px 42px 34px;
  display: flex;
  align-items: center;
}

.mm-service-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
  width: 100%;
}

.mm-service-list li {
  position: relative;
  margin: 0;
  padding: 15px 0 15px 46px;
  color: #ffffff;
  border-bottom: 1px solid rgba(255,255,255,.11);
  font-size: 1rem;
  line-height: 1.38;
}

.mm-service-list li:last-child {
  border-bottom: 0;
}

.mm-service-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 14px;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid #2f7df5;
  border-radius: 50%;
  color: #68a8ff;
  font-size: 13px;
  font-weight: 800;
}

.mm-service-list strong {
  display: block;
  margin-bottom: 2px;
  font-size: 1.04rem;
}

.mm-service-list span {
  display: block;
  color: #b9c9e2;
  font-size: .86rem;
}

/* slightly closer to approved mockup on large desktop */
@media (min-width: 1180px) {
  .mm-hero-title {
    font-size: 4.25rem;
    max-width: 650px;
  }
  .mm-hero-copy {
    max-width: 610px;
    font-size: 1.25rem !important;
  }
}

@media (max-width: 1060px) {
  .mm-feature-inner {
    flex-direction: column;
  }
  .mm-feature-copy {
    padding: 26px 26px 18px;
  }
  .mm-feature-media {
    border-left: 0;
    border-top: 1px solid var(--mm-line);
  }
  .mm-feature-media img {
    min-height: 190px;
  }
  .mm-assistance-cols {
    flex-wrap: wrap !important;
  }
  .mm-assistance-cols > .wp-block-column {
    flex-basis: 50% !important;
  }
  .mm-assistance-cols > .wp-block-column:last-child {
    flex-basis: 100% !important;
  }
  .mm-service-panel {
    padding: 26px 38px 34px;
  }
  .mm-service-list {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 0 24px;
  }
}

@media (max-width: 782px) {
  .mm-feature-cards {
    flex-direction: column;
  }
  .mm-feature-inner {
    flex-direction: row;
  }
  .mm-feature-copy {
    flex-basis: 58% !important;
  }
  .mm-feature-media {
    flex-basis: 42% !important;
    border-top: 0;
    border-left: 1px solid var(--mm-line);
  }
  .mm-feature-media img {
    min-height: 230px;
  }
  .mm-assistance-cols > .wp-block-column {
    flex-basis: 100% !important;
  }
  .mm-assistance-copy {
    padding: 38px 28px 32px;
  }
  .mm-assistance-image img {
    min-height: 290px;
  }
  .mm-service-panel {
    padding: 28px;
  }
  .mm-service-list {
    display: block;
  }
}

@media (max-width: 560px) {
  .mm-feature-inner {
    flex-direction: column;
  }
  .mm-feature-copy,
  .mm-feature-media {
    flex-basis: 100% !important;
  }
  .mm-feature-media {
    border-left: 0;
    border-top: 1px solid var(--mm-line);
  }
}


/* ==========================================
   v0.4 — layout fixes + categories + used
   ========================================== */

/* Fix WordPress constrained-layout width on the 3 main cards */
.mm-feature-wrap {
  max-width: 1180px !important;
  width: min(1180px, calc(100% - 40px)) !important;
}

.mm-feature-wrap > .mm-feature-cards,
.mm-feature-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: 100% !important;
  max-width: none !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.mm-feature-cards > .wp-block-column {
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
}

.mm-feature-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 58%) minmax(0, 42%) !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 268px;
}

.mm-feature-copy {
  min-width: 0;
}

.mm-feature-copy p {
  overflow-wrap: normal;
  word-break: normal;
}

.mm-feature-media img {
  min-height: 268px;
}

/* Fix the assistance section: the inner columns were being constrained to 760px */
.mm-assistance-band {
  max-width: 1180px !important;
  width: min(1180px, calc(100% - 40px)) !important;
}

.mm-assistance-band > .mm-assistance-cols,
.mm-assistance-cols {
  display: grid !important;
  grid-template-columns: minmax(0, 36%) minmax(0, 34%) minmax(0, 30%) !important;
  width: 100% !important;
  max-width: none !important;
  gap: 0 !important;
  align-items: stretch !important;
}

.mm-assistance-cols > .wp-block-column {
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
  flex-basis: auto !important;
}

.mm-assistance-copy h2 {
  font-size: clamp(1.9rem, 2.45vw, 2.65rem) !important;
  line-height: 1.08 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.mm-assistance-copy p {
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.mm-assistance-image,
.mm-assistance-image img {
  min-height: 420px;
  height: 100%;
}

/* Equipment category grid */
.mm-category-section {
  padding-block: 86px 72px;
}

.mm-category-grid {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  margin-top: 34px;
}

.mm-category-grid > .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
}

.mm-category-card {
  height: 100%;
  min-height: 202px;
  padding: 18px 13px 16px !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(7,26,61,.055);
}

.mm-category-image {
  margin: 0 auto 8px;
  width: 100%;
  max-width: 112px;
}

.mm-category-image img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

.mm-category-card h4 {
  font-size: .92rem;
  line-height: 1.2;
  margin: 4px 0 8px;
}

.mm-category-card p {
  margin: 0;
  font-size: .84rem;
}

/* Used equipment cards */
.mm-selection {
  position: relative;
  overflow: hidden;
}

.mm-selection::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 0%, rgba(75,199,221,.09), transparent 28%),
    radial-gradient(circle at 88% 10%, rgba(18,94,232,.10), transparent 32%);
}

.mm-selection > * {
  position: relative;
}

.mm-product-grid {
  margin-top: 34px;
}

.mm-product-grid .wp-block-post-template {
  gap: 18px !important;
}

.mm-product-grid .wp-block-post {
  padding: 18px !important;
  border-radius: 20px !important;
  min-width: 0;
}

.mm-product-grid .wp-block-post-featured-image {
  margin-bottom: 16px;
}

.mm-product-grid .wp-block-post-featured-image img {
  min-height: 225px;
}

.mm-product-grid .wp-block-post-terms {
  margin: 0 0 8px;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.mm-product-grid .wp-block-post-terms a {
  display: inline-block;
  padding: 5px 8px;
  border-radius: 999px;
  background: #eef5ff;
  text-decoration: none;
}

.mm-product-grid .wp-block-post-title {
  margin: 0 0 10px;
  font-size: 1.08rem !important;
  line-height: 1.28;
}

.mm-product-grid .wp-block-post-excerpt {
  color: var(--mm-muted);
  font-size: .9rem;
}

.mm-selection-cta {
  margin-top: 28px;
}

@media (max-width: 1080px) {
  .mm-feature-wrap > .mm-feature-cards,
  .mm-feature-cards {
    grid-template-columns: 1fr !important;
  }

  .mm-feature-inner {
    grid-template-columns: minmax(0, 60%) minmax(0, 40%) !important;
    min-height: 220px;
  }

  .mm-feature-media img {
    min-height: 220px;
  }

  .mm-assistance-band > .mm-assistance-cols,
  .mm-assistance-cols {
    grid-template-columns: 1fr 1fr !important;
  }

  .mm-service-panel {
    grid-column: 1 / -1;
  }

  .mm-category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 782px) {
  .mm-feature-wrap,
  .mm-assistance-band {
    width: min(100% - 28px, 1180px) !important;
  }

  .mm-feature-inner {
    grid-template-columns: 1fr !important;
  }

  .mm-feature-media {
    border-left: 0 !important;
    border-top: 1px solid var(--mm-line);
  }

  .mm-assistance-band > .mm-assistance-cols,
  .mm-assistance-cols {
    grid-template-columns: 1fr !important;
  }

  .mm-service-panel {
    grid-column: auto;
  }

  .mm-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .mm-product-grid .wp-block-post-template {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 480px) {
  .mm-category-grid {
    grid-template-columns: 1fr !important;
  }
}


/* ==========================================
   v0.5 — Selection, stats, partners, CTA, footer
   ========================================== */

.mm-selection .mm-shell {
  max-width: 1180px !important;
  width: min(1180px, calc(100% - 40px)) !important;
}

.mm-product-grid .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

.mm-product-grid .wp-block-post {
  position: relative;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e4ecf7;
  box-shadow: 0 14px 42px rgba(7,26,61,.07);
  transition: transform .2s ease, box-shadow .2s ease;
}

.mm-product-grid .wp-block-post:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 54px rgba(7,26,61,.11);
}

.mm-product-grid .wp-block-post::after {
  content: "Controllato";
  position: absolute;
  top: 29px;
  right: 28px;
  z-index: 2;
  padding: 5px 8px;
  border-radius: 999px;
  background: #edf7ff;
  color: #125ee8;
  border: 1px solid #cfe4ff;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .03em;
}

.mm-product-grid .wp-block-post-featured-image {
  overflow: hidden;
  border-radius: 15px;
  background: linear-gradient(180deg,#f8fbff 0%,#f1f6fc 100%);
}

.mm-product-grid .wp-block-post-featured-image img {
  transition: transform .25s ease;
}

.mm-product-grid .wp-block-post:hover .wp-block-post-featured-image img {
  transform: scale(1.025);
}

.mm-product-grid .wp-block-post-title a {
  color: var(--mm-navy);
  text-decoration: none;
}

.mm-product-grid .wp-block-post-excerpt__more-link {
  display: inline-block;
  margin-top: 10px;
  font-weight: 750;
  text-decoration: none;
}

/* stats */
.mm-stats-wrap {
  margin-block: 64px 70px !important;
  max-width: 1180px !important;
  width: min(1180px, calc(100% - 40px)) !important;
  padding: 20px 26px !important;
}

.mm-stats-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: 100% !important;
  max-width: none !important;
  gap: 0 !important;
}

.mm-stats-grid > .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
}

.mm-stat {
  min-height: 112px !important;
  padding: 12px 28px;
  position: relative;
}

.mm-stat::after {
  content: "";
  position: absolute;
  top: 22px;
  right: 0;
  bottom: 22px;
  width: 1px;
  background: rgba(255,255,255,.15);
}

.mm-stats-grid > .wp-block-column:last-child .mm-stat::after {
  display: none;
}

.mm-stat-value {
  margin: 0 0 3px !important;
  color: #fff !important;
  font-size: clamp(1.75rem, 2.4vw, 2.5rem) !important;
  line-height: 1 !important;
  letter-spacing: -.03em;
}

.mm-stat-label {
  margin: 0 !important;
  color: #b9c9e2 !important;
  font-size: .9rem;
}

/* partners */
.mm-partners {
  padding-block: 8px 64px;
}

.mm-partner-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: none !important;
  margin-top: 28px;
}

.mm-partner-grid > .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
}

.mm-partner-card {
  min-height: 94px;
  border: 1px solid var(--mm-line);
  border-radius: 16px;
  background: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 8px 24px rgba(7,26,61,.045);
}

.mm-partner-mark {
  margin: 0 !important;
  color: #74849c;
  font-size: 2.25rem !important;
  opacity: .62;
  filter: grayscale(1);
}

/* CTA */
.mm-cta-premium {
  max-width: 1180px !important;
  width: min(1180px, calc(100% - 40px)) !important;
  position: relative;
  overflow: hidden;
  padding: 0 !important;
  background:
    linear-gradient(90deg,#eaf3ff 0%,#eff7ff 60%,#dcecff 100%) !important;
  border: 1px solid #d8e6f9;
  box-shadow: 0 16px 44px rgba(7,26,61,.075);
}

.mm-cta-premium::after {
  content: "";
  position: absolute;
  right: -80px;
  top: -120px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(18,94,232,.16), rgba(18,94,232,0) 68%);
}

.mm-cta-inner {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
  gap: 30px !important;
  padding: 38px 42px;
  position: relative;
  z-index: 1;
}

.mm-cta-inner h2 {
  margin-bottom: 8px;
  font-size: clamp(1.8rem, 3vw, 2.7rem);
}

.mm-cta-inner p {
  margin-top: 0;
  margin-bottom: 0;
  color: var(--mm-muted);
}

/* footer */
.mm-footer {
  margin-top: 0;
}

.mm-footer-inner {
  max-width: 1180px !important;
  width: min(1180px, calc(100% - 40px)) !important;
}

.mm-footer-grid {
  display: grid !important;
  grid-template-columns: 1.35fr 1fr 1fr 1fr !important;
  gap: 42px !important;
  width: 100% !important;
  max-width: none !important;
}

.mm-footer-grid > .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
}

.mm-footer-brand {
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -.04em;
  color: #fff;
}

.mm-footer-brand span {
  color: #5da2ff;
}

.mm-footer-title {
  color: #fff !important;
  font-size: 1rem !important;
  margin-bottom: 14px !important;
}

.mm-footer-copy,
.mm-footer-copy a,
.mm-footer-list,
.mm-footer-list a {
  color: #b9c9e2 !important;
}

.mm-footer-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

.mm-footer-list li {
  margin-bottom: 8px;
}

.mm-footer-list a {
  text-decoration: none;
}

.mm-footer-list a:hover {
  color: #fff !important;
}

.mm-footer-bottom {
  margin-top: 36px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.13);
  color: #8298bb;
  font-size: .8rem;
}

@media (max-width: 900px) {
  .mm-product-grid .wp-block-post-template {
    grid-template-columns: 1fr !important;
  }

  .mm-stats-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  .mm-stats-grid > .wp-block-column:nth-child(2) .mm-stat::after {
    display: none;
  }

  .mm-partner-grid {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }

  .mm-footer-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}

@media (max-width: 640px) {
  .mm-stats-grid {
    grid-template-columns: 1fr !important;
  }

  .mm-stat::after {
    left: 28px;
    right: 28px;
    top: auto;
    bottom: 0;
    width: auto;
    height: 1px;
  }

  .mm-stats-grid > .wp-block-column:nth-child(2) .mm-stat::after {
    display: block;
  }

  .mm-stats-grid > .wp-block-column:last-child .mm-stat::after {
    display: none;
  }

  .mm-partner-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  .mm-cta-inner {
    grid-template-columns: 1fr !important;
    padding: 32px 26px;
  }

  .mm-footer-grid {
    grid-template-columns: 1fr !important;
  }
}


/* ==========================================
   v0.6 — homepage lower-section polish
   ========================================== */

/* Compact spacing between selection / stats / partners */
.mm-selection {
  padding-top: 66px !important;
  padding-bottom: 58px !important;
}

.mm-stats-wrap {
  margin-top: 54px !important;
  margin-bottom: 54px !important;
}

.mm-partners {
  padding-top: 0 !important;
  padding-bottom: 58px !important;
}

/* Keep key stats readable on desktop */
.mm-stat {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.mm-stat-value {
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  font-size: clamp(1.55rem, 2.15vw, 2.25rem) !important;
}

.mm-stat-label {
  line-height: 1.25 !important;
  max-width: 130px;
}

.mm-stat--service .mm-stat-value {
  white-space: normal !important;
  font-size: clamp(1.35rem, 1.8vw, 1.85rem) !important;
  line-height: 1.05 !important;
  max-width: 150px;
}

.mm-stat--service .mm-stat-label {
  max-width: 120px;
}

/* Demo fallback used equipment */
.mm-demo-products {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: none !important;
  margin-top: 34px !important;
}

.mm-demo-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--mm-line);
  border-radius: 20px;
  padding: 18px;
  background: #fff;
  box-shadow: 0 14px 42px rgba(7,26,61,.07);
}

.mm-demo-card::after {
  content: "DEMO STAGING";
  position: absolute;
  top: 28px;
  right: 28px;
  padding: 5px 8px;
  border-radius: 999px;
  border: 1px solid #cfe4ff;
  background: #eef5ff;
  color: #125ee8;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .04em;
}

.mm-demo-img {
  margin: 0 0 16px !important;
  border-radius: 15px;
  overflow: hidden;
  background: linear-gradient(180deg,#f8fbff,#eef5ff);
}

.mm-demo-img img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
}

.mm-demo-tag {
  display: inline-block;
  margin: 0 0 8px !important;
  padding: 5px 8px;
  border-radius: 999px;
  background: #eef5ff;
  color: #125ee8;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.mm-demo-card h3 {
  margin: 0 0 8px;
  font-size: 1.08rem;
  line-height: 1.28;
}

.mm-demo-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0 16px;
}

.mm-demo-badges span {
  padding: 4px 7px;
  border-radius: 999px;
  background: #f0faf4;
  color: #177444;
  font-size: .68rem;
  font-weight: 700;
}

.mm-demo-note {
  margin: 0;
  color: var(--mm-muted);
  font-size: .83rem;
  line-height: 1.45;
}

/* More polished partners */
.mm-partner-card {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.mm-partner-card:hover {
  transform: translateY(-3px);
  border-color: #cad9ee;
  box-shadow: 0 13px 32px rgba(7,26,61,.075);
}

@media (max-width: 900px) {
  .mm-demo-products {
    grid-template-columns: 1fr !important;
  }
  .mm-stat-value {
    white-space: normal !important;
  }
}


/* ==========================================
   v0.7 — homepage polish + internal pages
   ========================================== */

/* Homepage final polish */
.mm-soft {
  border-bottom: 1px solid #edf2f8;
}

.mm-hero-title {
  text-wrap: balance;
}

.mm-hero-copy {
  max-width: 620px;
}

.mm-feature-wrap {
  padding-top: 34px !important;
}

.mm-category-section h2,
.mm-selection h2,
.mm-partners h3 {
  text-wrap: balance;
}

.mm-selection .mm-kicker,
.mm-category-section .mm-kicker,
.mm-partners .mm-kicker {
  letter-spacing: .11em;
}

.mm-selection-cta .wp-block-button__link {
  padding-inline: 24px;
}

/* Internal pages */
.mm-page-hero {
  position: relative;
  overflow: hidden;
  padding: 72px 0 66px;
  background:
    radial-gradient(circle at 88% 10%, rgba(18,94,232,.14), transparent 30%),
    linear-gradient(180deg,#f9fbff 0%,#eef5ff 100%);
  border-bottom: 1px solid #e6edf7;
}

.mm-page-hero::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -150px;
  top: -170px;
  border-radius: 50%;
  border: 1px solid rgba(18,94,232,.14);
}

.mm-page-hero-inner {
  max-width: 1180px !important;
  width: min(1180px, calc(100% - 40px)) !important;
  position: relative;
  z-index: 1;
}

.mm-page-hero .wp-block-post-title {
  max-width: 860px;
  margin: 0 0 16px;
  font-size: clamp(2.6rem,5vw,5rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.mm-page-hero-intro {
  max-width: 720px;
  margin: 0;
  color: var(--mm-muted);
  font-size: 1.14rem;
}

.mm-page-content {
  max-width: 1180px !important;
  width: min(1180px, calc(100% - 40px)) !important;
  padding-top: 64px;
  padding-bottom: 72px;
}

.mm-page-content > .wp-block-post-content {
  max-width: 920px;
}

.mm-page-content .wp-block-post-content h2 {
  margin-top: 2.2em;
}

.mm-page-content .wp-block-post-content h3 {
  margin-top: 1.8em;
}

.mm-page-content .wp-block-post-content img {
  border-radius: 18px;
}

.mm-page-content .wp-block-post-content .wp-block-columns {
  gap: 26px;
}

/* Internal intro cards */
.mm-internal-feature {
  max-width: 1180px !important;
  width: min(1180px, calc(100% - 40px)) !important;
  margin-top: 0 !important;
  margin-bottom: 58px !important;
}

.mm-internal-feature-grid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
}

.mm-internal-feature-grid > .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
}

.mm-internal-mini-card {
  height: 100%;
  padding: 28px !important;
  border: 1px solid var(--mm-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(7,26,61,.05);
}

.mm-internal-mini-card h3 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 1.25rem;
}

.mm-internal-mini-card p {
  margin-bottom: 0;
  color: var(--mm-muted);
}

/* Generic lower CTA on internal pages */
.mm-internal-cta-wrap {
  padding-top: 18px;
}

/* Basic forms / WPForms integration */
.mm-page-content input[type="text"],
.mm-page-content input[type="email"],
.mm-page-content input[type="tel"],
.mm-page-content input[type="url"],
.mm-page-content input[type="number"],
.mm-page-content select,
.mm-page-content textarea {
  width: 100%;
  border: 1px solid #d7e1ef;
  border-radius: 12px;
  padding: 13px 14px;
  background: #fff;
  color: var(--mm-ink);
  font: inherit;
}

.mm-page-content input:focus,
.mm-page-content select:focus,
.mm-page-content textarea:focus {
  outline: 2px solid rgba(18,94,232,.18);
  border-color: #7faeff;
}

.mm-page-content button,
.mm-page-content input[type="submit"] {
  border: 0;
  border-radius: 12px;
  padding: 13px 21px;
  background: var(--mm-blue);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

/* WooCommerce general catalog cleanup */
.woocommerce .woocommerce-breadcrumb {
  color: var(--mm-muted);
  font-size: .86rem;
}

.woocommerce ul.products li.product {
  border: 1px solid var(--mm-line);
  border-radius: 18px;
  padding: 16px !important;
  background: #fff;
  box-shadow: 0 10px 30px rgba(7,26,61,.05);
}

.woocommerce ul.products li.product a img {
  border-radius: 14px;
  background: #f8fbff;
  aspect-ratio: 4/3;
  object-fit: contain;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--mm-navy);
  font-size: 1.05rem !important;
}

.woocommerce ul.products li.product .button {
  border-radius: 10px;
  background: var(--mm-blue);
  color: #fff;
}

@media (max-width: 900px) {
  .mm-internal-feature-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 782px) {
  .mm-page-hero {
    padding: 52px 0 48px;
  }

  .mm-page-hero-inner,
  .mm-page-content,
  .mm-internal-feature {
    width: min(100% - 28px,1180px) !important;
  }

  .mm-page-content {
    padding-top: 44px;
    padding-bottom: 52px;
  }
}


/* ==========================================
   v0.8 — Attrezzature page redesign
   ========================================== */

.mm-equipment-page {
  max-width: 1180px !important;
  width: min(1180px, calc(100% - 40px)) !important;
  padding-top: 66px;
  padding-bottom: 72px;
}

.mm-equipment-head {
  max-width: 760px;
  margin: 0 auto 36px;
  text-align: center;
}

.mm-equipment-head h2 {
  margin-bottom: 12px;
  font-size: clamp(2rem, 3.4vw, 3.3rem);
  text-wrap: balance;
}

.mm-equipment-head p {
  margin: 0;
  color: var(--mm-muted);
  font-size: 1.05rem;
}

.mm-equipment-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
}

.mm-equipment-grid > .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
}

.mm-equipment-tile {
  height: 100%;
  overflow: hidden;
  padding: 0 !important;
  border: 1px solid var(--mm-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(7,26,61,.055);
  transition: transform .2s ease, box-shadow .2s ease;
}

.mm-equipment-tile:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 48px rgba(7,26,61,.095);
}

.mm-equipment-visual {
  margin: 0 !important;
  background:
    radial-gradient(circle at 80% 10%, rgba(42,134,255,.12), transparent 34%),
    linear-gradient(180deg,#f8fbff,#eef5ff);
  border-bottom: 1px solid var(--mm-line);
}

.mm-equipment-visual img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: contain;
  padding: 22px;
  box-sizing: border-box;
}

.mm-equipment-copy {
  padding: 22px 22px 24px;
}

.mm-equipment-copy h3 {
  margin: 0 0 8px;
  font-size: 1.2rem;
}

.mm-equipment-copy p {
  margin: 0 0 18px;
  min-height: 3.9em;
  color: var(--mm-muted);
  font-size: .91rem;
  line-height: 1.5;
}

.mm-equipment-link {
  margin: 0 !important;
  font-weight: 750;
}

.mm-equipment-link a {
  text-decoration: none;
}

/* Consulting band for equipment page */
.mm-equipment-service {
  max-width: 1180px !important;
  width: min(1180px, calc(100% - 40px)) !important;
  margin-bottom: 64px !important;
  padding: 0 !important;
  overflow: hidden;
  border-radius: 24px;
}

.mm-equipment-service-grid {
  display: grid !important;
  grid-template-columns: 1.1fr .9fr !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  gap: 0 !important;
}

.mm-equipment-service-copy {
  padding: 48px 48px 46px;
}

.mm-equipment-service-copy h2 {
  margin-top: 0;
  margin-bottom: 16px;
  color: #fff !important;
  font-size: clamp(2rem,3.2vw,3rem);
  line-height: 1.08;
}

.mm-equipment-service-copy p {
  color: #c6d6ed;
}

.mm-equipment-service-list {
  display: grid;
  gap: 10px;
  margin-top: 24px;
}

.mm-equipment-service-list div {
  position: relative;
  padding-left: 30px;
  color: #fff;
  font-weight: 650;
}

.mm-equipment-service-list div::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: -1px;
  color: #5da2ff;
}

.mm-equipment-service-visual {
  min-height: 410px;
  background:
    radial-gradient(circle at 60% 45%, rgba(75,199,221,.26), transparent 23%),
    linear-gradient(135deg,#102f66,#071a3d);
  position: relative;
  overflow: hidden;
}

.mm-equipment-service-visual::before,
.mm-equipment-service-visual::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 2px solid rgba(93,162,255,.28);
}

.mm-equipment-service-visual::before {
  width: 270px;
  height: 270px;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
}

.mm-equipment-service-visual::after {
  width: 160px;
  height: 160px;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
}

.mm-equipment-service-symbol {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #5da2ff;
  font-size: 6.5rem;
  font-weight: 300;
  z-index: 2;
}

@media (max-width: 1000px) {
  .mm-equipment-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  .mm-equipment-service-grid {
    grid-template-columns: 1fr !important;
  }

  .mm-equipment-service-visual {
    min-height: 280px;
  }
}

@media (max-width: 640px) {
  .mm-equipment-page,
  .mm-equipment-service {
    width: min(100% - 28px,1180px) !important;
  }

  .mm-equipment-grid {
    grid-template-columns: 1fr !important;
  }

  .mm-equipment-copy p {
    min-height: auto;
  }

  .mm-equipment-service-copy {
    padding: 34px 28px 32px;
  }
}


/* ==========================================
   v0.9 — Attrezzature centering + wide desktop polish
   ========================================== */

.mm-equipment-page,
.mm-equipment-service {
  margin-left: auto !important;
  margin-right: auto !important;
}

.mm-equipment-page {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
}

.mm-equipment-head {
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.mm-equipment-head h2 {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.02;
}

.mm-equipment-grid {
  grid-template-columns: repeat(4, minmax(240px, 1fr)) !important;
  gap: 20px !important;
  justify-content: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.mm-equipment-tile {
  min-height: 405px;
}

.mm-equipment-visual img {
  aspect-ratio: 16 / 9;
  padding: 26px;
}

.mm-equipment-copy {
  padding: 24px 24px 26px;
}

.mm-equipment-copy h3 {
  font-size: 1.23rem;
}

.mm-equipment-copy p {
  min-height: 4.5em;
  font-size: .93rem;
}

.mm-equipment-service {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
}

.mm-internal-feature,
.mm-cta-premium {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Ensure wide groups are centered even if Gutenberg emits constrained wrappers */
.wp-site-blocks > .alignwide,
.wp-site-blocks > .wp-block-group.alignwide,
.wp-site-blocks .alignwide.mm-equipment-page,
.wp-site-blocks .alignwide.mm-equipment-service {
  margin-inline: auto !important;
}

/* large monitor optimization */
@media (min-width: 1500px) {
  .mm-equipment-page {
    width: min(1320px, calc(100% - 80px)) !important;
    max-width: 1320px !important;
  }

  .mm-equipment-service {
    width: min(1320px, calc(100% - 80px)) !important;
    max-width: 1320px !important;
  }

  .mm-equipment-grid {
    gap: 22px !important;
  }
}

/* laptop */
@media (max-width: 1180px) {
  .mm-equipment-page,
  .mm-equipment-service {
    width: min(100% - 40px, 1180px) !important;
  }

  .mm-equipment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .mm-equipment-tile {
    min-height: 0;
  }

  .mm-equipment-copy p {
    min-height: auto;
  }
}

/* mobile */
@media (max-width: 640px) {
  .mm-equipment-page,
  .mm-equipment-service {
    width: min(100% - 28px, 1180px) !important;
  }

  .mm-equipment-grid {
    grid-template-columns: 1fr !important;
  }
}


/* ==========================================
   v1.0 — USATO / MyMedical Selection
   ========================================== */

.mm-used-page {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding-top: 62px;
  padding-bottom: 68px;
}

.mm-used-head {
  max-width: 820px;
  margin: 0 auto 34px;
  text-align: center;
}

.mm-used-head h2 {
  margin-bottom: 12px;
  font-size: clamp(2rem, 3.6vw, 3.4rem);
  line-height: 1.02;
  text-wrap: balance;
}

.mm-used-head p {
  margin: 0;
  color: var(--mm-muted);
  font-size: 1.05rem;
}

.mm-used-filter {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 9px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 28px auto 34px !important;
}

.mm-used-filter .wp-block-button {
  margin: 0 !important;
}

.mm-used-filter .wp-block-button__link {
  border: 1px solid #d7e3f2;
  background: #fff;
  color: var(--mm-navy);
  padding: 8px 13px;
  font-size: .83rem;
  box-shadow: none;
}

.mm-used-filter .wp-block-button__link:hover {
  border-color: #9ec0f1;
  background: #f3f8ff;
  color: var(--mm-blue);
}

/* Real WooCommerce/query product cards */
.mm-used-catalog .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: none !important;
}

.mm-used-catalog .wp-block-post {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: 18px !important;
  border: 1px solid var(--mm-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(7,26,61,.065);
  transition: transform .2s ease, box-shadow .2s ease;
}

.mm-used-catalog .wp-block-post:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 54px rgba(7,26,61,.105);
}

.mm-used-catalog .wp-block-post::before {
  content: "MYMEDICAL SELECTION";
  position: absolute;
  z-index: 3;
  top: 28px;
  left: 28px;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(7,26,61,.92);
  color: #fff;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .06em;
}

.mm-used-catalog .wp-block-post::after {
  content: "Controllato";
  position: absolute;
  z-index: 3;
  top: 28px;
  right: 28px;
  padding: 5px 8px;
  border-radius: 999px;
  border: 1px solid #cce9d9;
  background: #effaf4;
  color: #187144;
  font-size: .64rem;
  font-weight: 800;
}

.mm-used-catalog .wp-block-post-featured-image {
  margin: 0 0 16px !important;
  overflow: hidden;
  border-radius: 15px;
  background:
    radial-gradient(circle at 85% 5%, rgba(42,134,255,.10), transparent 30%),
    linear-gradient(180deg,#f9fbfe,#edf4fb);
}

.mm-used-catalog .wp-block-post-featured-image img {
  width: 100%;
  min-height: 245px;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  transition: transform .22s ease;
}

.mm-used-catalog .wp-block-post:hover .wp-block-post-featured-image img {
  transform: scale(1.025);
}

.mm-used-catalog .wp-block-post-terms {
  margin: 0 0 8px;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.mm-used-catalog .wp-block-post-terms a {
  display: inline-block;
  border-radius: 999px;
  padding: 5px 8px;
  background: #eef5ff;
  color: var(--mm-blue);
  text-decoration: none;
}

.mm-used-catalog .wp-block-post-title {
  margin: 0 0 10px;
  font-size: 1.16rem !important;
  line-height: 1.25;
}

.mm-used-catalog .wp-block-post-title a {
  color: var(--mm-navy);
  text-decoration: none;
}

.mm-used-catalog .wp-block-post-excerpt {
  color: var(--mm-muted);
  font-size: .89rem;
  line-height: 1.5;
}

.mm-used-catalog .wp-block-post-excerpt__more-link {
  display: inline-block;
  margin-top: 12px;
  font-weight: 800;
  color: var(--mm-blue);
  text-decoration: none;
}

/* Staging fallback cards */
.mm-used-demo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 20px;
  margin-top: 10px;
}

.mm-used-demo-card {
  position: relative;
  overflow: hidden;
  padding: 18px;
  border: 1px solid var(--mm-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(7,26,61,.065);
}

.mm-used-demo-card::before {
  content: "DEMO STAGING";
  position: absolute;
  top: 28px;
  left: 28px;
  z-index: 2;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(7,26,61,.92);
  color: #fff;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .06em;
}

.mm-used-demo-card::after {
  content: "Controllato";
  position: absolute;
  top: 28px;
  right: 28px;
  z-index: 2;
  padding: 5px 8px;
  border-radius: 999px;
  border: 1px solid #cce9d9;
  background: #effaf4;
  color: #187144;
  font-size: .64rem;
  font-weight: 800;
}

.mm-used-demo-img {
  margin: 0 0 16px;
  overflow: hidden;
  border-radius: 15px;
  background: #f4f8fd;
}

.mm-used-demo-img img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: contain;
}

.mm-used-demo-tag {
  display: inline-block;
  margin-bottom: 8px;
  border-radius: 999px;
  padding: 5px 8px;
  background: #eef5ff;
  color: var(--mm-blue);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.mm-used-demo-card h3 {
  margin: 0 0 12px;
  font-size: 1.18rem;
}

.mm-used-demo-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 14px 0 15px;
}

.mm-used-demo-meta div {
  padding: 9px 10px;
  border-radius: 10px;
  background: #f7faff;
  color: var(--mm-muted);
  font-size: .77rem;
}

.mm-used-demo-meta strong {
  display: block;
  margin-bottom: 2px;
  color: var(--mm-navy);
  font-size: .74rem;
}

.mm-used-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 16px;
}

.mm-used-badges span {
  padding: 4px 7px;
  border-radius: 999px;
  background: #f0faf4;
  color: #177444;
  font-size: .67rem;
  font-weight: 750;
}

.mm-used-demo-card a {
  font-weight: 800;
  text-decoration: none;
}

/* Selection process */
.mm-used-process {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding: 62px 0 68px;
}

.mm-used-process-head {
  max-width: 760px;
  margin: 0 auto 32px;
  text-align: center;
}

.mm-used-process-head h2 {
  font-size: clamp(2rem,3.3vw,3rem);
  margin-bottom: 10px;
}

.mm-used-process-head p {
  color: var(--mm-muted);
}

.mm-used-process-grid {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: none !important;
}

.mm-used-process-grid > .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
}

.mm-used-step {
  height: 100%;
  padding: 25px !important;
  border: 1px solid var(--mm-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 9px 28px rgba(7,26,61,.045);
}

.mm-used-step-number {
  margin: 0 0 15px !important;
  color: var(--mm-blue);
  font-size: 1.55rem;
  font-weight: 350;
}

.mm-used-step h3 {
  margin: 0 0 9px;
  font-size: 1.12rem;
}

.mm-used-step p {
  margin: 0;
  color: var(--mm-muted);
  font-size: .89rem;
}

/* dark trust band */
.mm-used-trust {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  margin-bottom: 64px !important;
  padding: 44px 46px !important;
}

.mm-used-trust-grid {
  display: grid !important;
  grid-template-columns: 1.2fr .8fr !important;
  gap: 34px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
}

.mm-used-trust h2 {
  margin-top: 0;
  color: #fff !important;
  font-size: clamp(2rem,3vw,2.8rem);
}

.mm-used-trust p {
  color: #bfd0e8;
}

.mm-used-trust-list {
  display: grid;
  gap: 12px;
}

.mm-used-trust-list div {
  position: relative;
  padding: 12px 14px 12px 44px;
  border-radius: 12px;
  background: rgba(255,255,255,.06);
  color: #fff;
  font-weight: 650;
}

.mm-used-trust-list div::before {
  content: "✓";
  position: absolute;
  left: 15px;
  top: 10px;
  color: #63a8ff;
  font-weight: 900;
}

@media (max-width: 1000px) {
  .mm-used-catalog .wp-block-post-template,
  .mm-used-demo-grid {
    grid-template-columns: 1fr !important;
  }

  .mm-used-process-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  .mm-used-trust-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .mm-used-page,
  .mm-used-process,
  .mm-used-trust {
    width: min(100% - 28px,1240px) !important;
  }

  .mm-used-process-grid {
    grid-template-columns: 1fr !important;
  }

  .mm-used-trust {
    padding: 34px 26px !important;
  }
}


/* ==========================================
   v1.1 — ASSISTENZA page
   ========================================== */

.mm-service-page {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding-top: 64px;
  padding-bottom: 64px;
}

.mm-service-head {
  max-width: 820px;
  margin: 0 auto 38px;
  text-align: center;
}

.mm-service-head h2 {
  margin-bottom: 12px;
  font-size: clamp(2rem, 3.5vw, 3.35rem);
  line-height: 1.02;
  text-wrap: balance;
}

.mm-service-head p {
  margin: 0;
  color: var(--mm-muted);
  font-size: 1.05rem;
}

.mm-service-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
}

.mm-service-grid > .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
}

.mm-service-card {
  height: 100%;
  padding: 26px !important;
  border: 1px solid var(--mm-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(7,26,61,.055);
  transition: transform .2s ease, box-shadow .2s ease;
}

.mm-service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 48px rgba(7,26,61,.095);
}

.mm-service-icon {
  width: 56px;
  height: 56px;
  margin: 0 0 18px !important;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: #eef5ff;
  color: var(--mm-blue);
  font-size: 1.65rem;
  font-weight: 500;
}

.mm-service-card h3 {
  margin: 0 0 10px;
  font-size: 1.2rem;
}

.mm-service-card p {
  margin: 0;
  color: var(--mm-muted);
  font-size: .91rem;
  line-height: 1.52;
}

/* priority / request bar */
.mm-service-priority {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  margin-bottom: 64px !important;
  padding: 0 !important;
  overflow: hidden;
  border-radius: 24px;
}

.mm-service-priority-grid {
  display: grid !important;
  grid-template-columns: 1.15fr .85fr !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
}

.mm-service-priority-copy {
  padding: 46px 48px;
}

.mm-service-priority-copy h2 {
  margin-top: 0;
  margin-bottom: 14px;
  color: #fff !important;
  font-size: clamp(2rem,3.2vw,3rem);
  line-height: 1.06;
}

.mm-service-priority-copy p {
  color: #c5d5ec;
  max-width: 660px;
}

.mm-service-priority-actions {
  padding: 40px 42px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  background: rgba(255,255,255,.045);
}

.mm-service-priority-action {
  position: relative;
  padding: 16px 18px 16px 50px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 13px;
  color: #fff;
  background: rgba(255,255,255,.04);
}

.mm-service-priority-action::before {
  content: "→";
  position: absolute;
  left: 18px;
  top: 14px;
  color: #63a8ff;
  font-weight: 900;
}

.mm-service-priority-action strong {
  display: block;
  margin-bottom: 2px;
}

.mm-service-priority-action span {
  color: #b9c9e2;
  font-size: .83rem;
}

/* process */
.mm-assistance-process {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding: 58px 0 68px;
}

.mm-assistance-process-head {
  max-width: 760px;
  margin: 0 auto 32px;
  text-align: center;
}

.mm-assistance-process-head h2 {
  margin-bottom: 10px;
  font-size: clamp(2rem,3.3vw,3rem);
}

.mm-assistance-process-head p {
  color: var(--mm-muted);
}

.mm-assistance-process-grid {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: none !important;
}

.mm-assistance-step {
  position: relative;
  height: 100%;
  padding: 25px !important;
  border: 1px solid var(--mm-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 9px 28px rgba(7,26,61,.045);
}

.mm-assistance-step-number {
  margin: 0 0 15px !important;
  color: var(--mm-blue);
  font-size: 1.5rem;
  font-weight: 350;
}

.mm-assistance-step h3 {
  margin: 0 0 9px;
  font-size: 1.12rem;
}

.mm-assistance-step p {
  margin: 0;
  color: var(--mm-muted);
  font-size: .89rem;
}

/* maintenance / trust band */
.mm-maintenance-band {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  margin-bottom: 64px !important;
  padding: 0 !important;
  overflow: hidden;
}

.mm-maintenance-grid {
  display: grid !important;
  grid-template-columns: .9fr 1.1fr !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
}

.mm-maintenance-visual {
  position: relative;
  min-height: 430px;
  background:
    radial-gradient(circle at 50% 50%, rgba(75,199,221,.24), transparent 25%),
    linear-gradient(135deg,#102f66,#071a3d);
}

.mm-maintenance-visual::before {
  content: "";
  position: absolute;
  inset: 76px;
  border: 2px solid rgba(93,162,255,.32);
  border-radius: 50%;
}

.mm-maintenance-visual::after {
  content: "⚙";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #5da2ff;
  font-size: 7.2rem;
}

.mm-maintenance-copy {
  padding: 48px 50px;
  background: #fff;
}

.mm-maintenance-copy h2 {
  margin-top: 0;
  margin-bottom: 14px;
  font-size: clamp(2rem,3vw,2.8rem);
  line-height: 1.08;
}

.mm-maintenance-copy > p {
  color: var(--mm-muted);
}

.mm-maintenance-list {
  display: grid;
  gap: 11px;
  margin-top: 24px;
}

.mm-maintenance-list div {
  position: relative;
  padding: 12px 14px 12px 44px;
  border-radius: 12px;
  background: #f7faff;
  color: var(--mm-navy);
  font-weight: 650;
}

.mm-maintenance-list div::before {
  content: "✓";
  position: absolute;
  left: 16px;
  top: 10px;
  color: var(--mm-blue);
  font-weight: 900;
}

/* service sectors */
.mm-service-sectors {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding-bottom: 60px;
}

.mm-service-sector-grid {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: none !important;
  margin-top: 28px;
}

.mm-service-sector {
  padding: 18px 20px !important;
  border: 1px solid var(--mm-line);
  border-radius: 15px;
  background: #fff;
}

.mm-service-sector strong {
  display: block;
  margin-bottom: 4px;
  color: var(--mm-navy);
}

.mm-service-sector span {
  color: var(--mm-muted);
  font-size: .84rem;
}

@media (max-width: 1000px) {
  .mm-service-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  .mm-service-priority-grid,
  .mm-maintenance-grid {
    grid-template-columns: 1fr !important;
  }

  .mm-assistance-process-grid,
  .mm-service-sector-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  .mm-maintenance-visual {
    min-height: 300px;
  }
}

@media (max-width: 640px) {
  .mm-service-page,
  .mm-service-priority,
  .mm-assistance-process,
  .mm-maintenance-band,
  .mm-service-sectors {
    width: min(100% - 28px,1240px) !important;
  }

  .mm-service-grid,
  .mm-assistance-process-grid,
  .mm-service-sector-grid {
    grid-template-columns: 1fr !important;
  }

  .mm-service-priority-copy,
  .mm-service-priority-actions,
  .mm-maintenance-copy {
    padding: 32px 26px;
  }
}


/* ==========================================
   v1.2 — SERVIZI page
   ========================================== */

.mm-services-page {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding-top: 64px;
  padding-bottom: 62px;
}

.mm-services-head {
  max-width: 840px;
  margin: 0 auto 38px;
  text-align: center;
}

.mm-services-head h2 {
  margin-bottom: 12px;
  font-size: clamp(2rem,3.55vw,3.4rem);
  line-height: 1.02;
  text-wrap: balance;
}

.mm-services-head p {
  margin: 0;
  color: var(--mm-muted);
  font-size: 1.05rem;
}

/* Main services */
.mm-services-grid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
}

.mm-services-grid > .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
}

.mm-services-card {
  position: relative;
  min-height: 275px;
  height: 100%;
  overflow: hidden;
  padding: 27px !important;
  border: 1px solid var(--mm-line);
  border-radius: 20px;
  background:
    radial-gradient(circle at 100% 0%, rgba(42,134,255,.10), transparent 34%),
    #fff;
  box-shadow: 0 12px 34px rgba(7,26,61,.055);
  transition: transform .2s ease, box-shadow .2s ease;
}

.mm-services-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 48px rgba(7,26,61,.095);
}

.mm-services-number {
  margin: 0 0 22px !important;
  color: var(--mm-blue);
  font-size: 1.55rem;
  font-weight: 350;
}

.mm-services-card h3 {
  margin: 0 0 10px;
  font-size: 1.22rem;
}

.mm-services-card p {
  margin: 0 0 18px;
  color: var(--mm-muted);
  font-size: .91rem;
  line-height: 1.52;
}

.mm-services-card a {
  font-weight: 800;
  text-decoration: none;
}

/* Journey band */
.mm-services-journey {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  margin-bottom: 64px !important;
  overflow: hidden;
  padding: 0 !important;
}

.mm-services-journey-grid {
  display: grid !important;
  grid-template-columns: .95fr 1.05fr !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  align-items: stretch !important;
}

.mm-services-journey-copy {
  padding: 50px 48px;
}

.mm-services-journey-copy h2 {
  margin-top: 0;
  margin-bottom: 14px;
  color: #fff !important;
  font-size: clamp(2rem,3vw,2.9rem);
  line-height: 1.07;
}

.mm-services-journey-copy p {
  color: #c4d4ea;
}

.mm-services-journey-steps {
  padding: 38px;
  display: grid;
  gap: 12px;
  background: rgba(255,255,255,.04);
}

.mm-services-journey-step {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 13px;
  background: rgba(255,255,255,.04);
}

.mm-services-journey-step b {
  color: #67aaff;
  font-size: 1.08rem;
}

.mm-services-journey-step strong {
  display: block;
  color: #fff;
  margin-bottom: 3px;
}

.mm-services-journey-step span {
  color: #b8c8df;
  font-size: .83rem;
}

/* Service clusters */
.mm-services-cluster {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding-bottom: 62px;
}

.mm-services-cluster-head {
  max-width: 760px;
  margin: 0 auto 30px;
  text-align: center;
}

.mm-services-cluster-head h2 {
  margin-bottom: 10px;
  font-size: clamp(2rem,3.2vw,3rem);
}

.mm-services-cluster-head p {
  color: var(--mm-muted);
}

.mm-services-cluster-grid {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
}

.mm-services-cluster-card {
  height: 100%;
  padding: 30px !important;
  border: 1px solid var(--mm-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(7,26,61,.05);
}

.mm-services-cluster-card h3 {
  margin-top: 0;
  margin-bottom: 8px;
  font-size: 1.25rem;
}

.mm-services-cluster-card > p {
  color: var(--mm-muted);
}

.mm-services-checks {
  display: grid;
  gap: 9px;
  margin-top: 18px;
}

.mm-services-checks div {
  position: relative;
  padding: 10px 12px 10px 38px;
  border-radius: 11px;
  background: #f7faff;
  color: var(--mm-navy);
  font-size: .87rem;
  font-weight: 650;
}

.mm-services-checks div::before {
  content: "✓";
  position: absolute;
  left: 14px;
  color: var(--mm-blue);
  font-weight: 900;
}

/* service promise */
.mm-services-promise {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  margin-bottom: 64px !important;
  padding: 42px 46px !important;
}

.mm-services-promise-grid {
  display: grid !important;
  grid-template-columns: 1.1fr .9fr !important;
  gap: 34px !important;
  width: 100% !important;
  max-width: none !important;
  align-items: center !important;
}

.mm-services-promise h2 {
  margin: 0 0 12px;
  color: #fff !important;
  font-size: clamp(2rem,3vw,2.8rem);
}

.mm-services-promise p {
  margin: 0;
  color: #bfd0e8;
}

.mm-services-promise-list {
  display: grid;
  gap: 10px;
}

.mm-services-promise-list div {
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(255,255,255,.06);
  color: #fff;
  font-weight: 650;
}

@media (max-width: 1000px) {
  .mm-services-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  .mm-services-journey-grid,
  .mm-services-promise-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 700px) {
  .mm-services-page,
  .mm-services-journey,
  .mm-services-cluster,
  .mm-services-promise {
    width: min(100% - 28px,1240px) !important;
  }

  .mm-services-grid,
  .mm-services-cluster-grid {
    grid-template-columns: 1fr !important;
  }

  .mm-services-journey-copy,
  .mm-services-journey-steps,
  .mm-services-promise {
    padding: 30px 26px !important;
  }
}


/* ==========================================
   v1.3 — CHI SIAMO / AZIENDA
   ========================================== */

.mm-about-page {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding-top: 66px;
  padding-bottom: 66px;
}

.mm-about-intro {
  display: grid !important;
  grid-template-columns: 1.05fr .95fr !important;
  gap: 52px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
}

.mm-about-intro > .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
}

.mm-about-copy .mm-kicker {
  margin-bottom: 16px;
}

.mm-about-copy h2 {
  margin-top: 0;
  margin-bottom: 18px;
  font-size: clamp(2.25rem,4vw,4rem);
  line-height: 1.02;
  text-wrap: balance;
}

.mm-about-copy p {
  color: var(--mm-muted);
  font-size: 1.03rem;
}

.mm-about-visual {
  position: relative;
  min-height: 470px;
  overflow: hidden;
  border: 1px solid var(--mm-line);
  border-radius: 26px;
  background:
    radial-gradient(circle at 70% 28%, rgba(75,199,221,.20), transparent 24%),
    radial-gradient(circle at 30% 70%, rgba(18,94,232,.17), transparent 31%),
    linear-gradient(145deg,#f5f9ff,#eaf3ff);
  box-shadow: 0 18px 52px rgba(7,26,61,.08);
}

.mm-about-visual::before {
  content: "";
  position: absolute;
  width: 270px;
  height: 270px;
  right: 40px;
  top: 50px;
  border-radius: 50%;
  border: 2px solid rgba(18,94,232,.18);
}

.mm-about-visual::after {
  content: "";
  position: absolute;
  width: 150px;
  height: 150px;
  right: 100px;
  top: 110px;
  border-radius: 50%;
  border: 2px solid rgba(75,199,221,.34);
}

.mm-about-mark {
  position: absolute;
  left: 44px;
  bottom: 42px;
  z-index: 2;
  color: var(--mm-navy);
  font-size: clamp(2.6rem,5vw,5.2rem);
  font-weight: 820;
  line-height: .9;
  letter-spacing: -.055em;
}

.mm-about-mark span {
  display: block;
  color: var(--mm-blue);
}

.mm-about-note {
  position: absolute;
  right: 40px;
  bottom: 42px;
  z-index: 2;
  width: 190px;
  padding: 16px;
  border-radius: 15px;
  background: rgba(255,255,255,.84);
  backdrop-filter: blur(8px);
  color: var(--mm-muted);
  font-size: .82rem;
  box-shadow: 0 10px 28px rgba(7,26,61,.08);
}

/* Values */
.mm-about-values {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding-bottom: 66px;
}

.mm-about-section-head {
  max-width: 800px;
  margin: 0 auto 34px;
  text-align: center;
}

.mm-about-section-head h2 {
  margin-bottom: 10px;
  font-size: clamp(2rem,3.3vw,3.1rem);
  text-wrap: balance;
}

.mm-about-section-head p {
  color: var(--mm-muted);
}

.mm-about-value-grid {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: none !important;
}

.mm-about-value-grid > .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
}

.mm-about-value-card {
  height: 100%;
  padding: 25px !important;
  border: 1px solid var(--mm-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(7,26,61,.045);
}

.mm-about-value-num {
  margin: 0 0 14px !important;
  color: var(--mm-blue);
  font-size: 1.45rem;
  font-weight: 350;
}

.mm-about-value-card h3 {
  margin: 0 0 8px;
  font-size: 1.14rem;
}

.mm-about-value-card p {
  margin: 0;
  color: var(--mm-muted);
  font-size: .89rem;
}

/* Commercial + technical band */
.mm-about-dual {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  margin-bottom: 66px !important;
  overflow: hidden;
  padding: 0 !important;
}

.mm-about-dual-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  width: 100% !important;
  max-width: none !important;
  gap: 0 !important;
}

.mm-about-dual-side {
  min-height: 390px;
  padding: 46px 46px 42px;
}

.mm-about-dual-side:first-child {
  background: #071a3d;
}

.mm-about-dual-side:last-child {
  background: #10346f;
}

.mm-about-dual-side h2 {
  margin-top: 0;
  margin-bottom: 14px;
  color: #fff !important;
  font-size: clamp(1.9rem,3vw,2.75rem);
}

.mm-about-dual-side p {
  color: #c3d3e9;
}

.mm-about-dual-list {
  display: grid;
  gap: 10px;
  margin-top: 22px;
}

.mm-about-dual-list div {
  position: relative;
  padding-left: 28px;
  color: #fff;
  font-weight: 650;
}

.mm-about-dual-list div::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #67aaff;
}

/* Timeline / story */
.mm-about-story {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding-bottom: 66px;
}

.mm-about-story-grid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
  margin-top: 30px;
}

.mm-about-story-card {
  position: relative;
  height: 100%;
  padding: 28px !important;
  border: 1px solid var(--mm-line);
  border-radius: 20px;
  background:
    radial-gradient(circle at 100% 0%, rgba(42,134,255,.08), transparent 32%),
    #fff;
  box-shadow: 0 10px 30px rgba(7,26,61,.045);
}

.mm-about-story-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 28px;
  width: 44px;
  height: 3px;
  background: var(--mm-blue);
}

.mm-about-story-card h3 {
  margin-top: 6px;
  margin-bottom: 10px;
  font-size: 1.18rem;
}

.mm-about-story-card p {
  margin: 0;
  color: var(--mm-muted);
  font-size: .89rem;
}

/* Trust / final */
.mm-about-trust {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  margin-bottom: 64px !important;
  padding: 42px 46px !important;
}

.mm-about-trust-grid {
  display: grid !important;
  grid-template-columns: 1.15fr .85fr !important;
  gap: 34px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
}

.mm-about-trust h2 {
  margin: 0 0 12px;
  color: #fff !important;
  font-size: clamp(2rem,3vw,2.8rem);
}

.mm-about-trust p {
  margin: 0;
  color: #bfd0e8;
}

.mm-about-trust-boxes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.mm-about-trust-boxes div {
  padding: 14px;
  border-radius: 12px;
  background: rgba(255,255,255,.06);
  color: #fff;
  font-weight: 650;
  font-size: .88rem;
}

/* partner section integration */
.mm-about-values + .mm-stats-wrap {
  margin-top: 0 !important;
}

@media (max-width: 1000px) {
  .mm-about-intro,
  .mm-about-dual-grid,
  .mm-about-trust-grid {
    grid-template-columns: 1fr !important;
  }

  .mm-about-value-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  .mm-about-story-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 650px) {
  .mm-about-page,
  .mm-about-values,
  .mm-about-dual,
  .mm-about-story,
  .mm-about-trust {
    width: min(100% - 28px,1240px) !important;
  }

  .mm-about-value-grid {
    grid-template-columns: 1fr !important;
  }

  .mm-about-visual {
    min-height: 390px;
  }

  .mm-about-dual-side,
  .mm-about-trust {
    padding: 32px 26px !important;
  }

  .mm-about-trust-boxes {
    grid-template-columns: 1fr;
  }
}


/* ==========================================
   v1.4 — institutional polish, contacts, location
   ========================================== */

/* About visual fix */
.mm-about-mark {
  left: 34px !important;
  right: 220px !important;
  bottom: 34px !important;
  font-size: clamp(2.2rem,4.2vw,4.55rem) !important;
  white-space: nowrap;
}

.mm-about-note {
  right: 28px !important;
  bottom: 30px !important;
  width: 175px !important;
}

/* Stats readability */
.mm-stats-wrap {
  padding: 24px 20px !important;
}

.mm-stat {
  min-height: 116px !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.mm-stat-value,
.mm-stat--service .mm-stat-value {
  display: block !important;
  width: 100%;
  margin-bottom: 8px !important;
  line-height: 1 !important;
}

.mm-stat-label,
.mm-stat--service .mm-stat-label {
  display: block !important;
  max-width: 155px !important;
  line-height: 1.3 !important;
}

/* Partner logos */
.mm-partner-card {
  padding: 18px !important;
  min-height: 100px !important;
}

.mm-partner-logo {
  margin: 0 !important;
  width: 100%;
  height: 62px;
  display: grid;
  place-items: center;
}

.mm-partner-logo img {
  display: block;
  max-width: 138px;
  max-height: 52px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .72;
  transition: filter .18s ease, opacity .18s ease, transform .18s ease;
}

.mm-partner-card:hover .mm-partner-logo img {
  filter: grayscale(0);
  opacity: 1;
  transform: scale(1.03);
}

/* Contact page */
.mm-contact-page {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding-top: 64px;
  padding-bottom: 68px;
}

.mm-contact-grid {
  display: grid !important;
  grid-template-columns: .85fr 1.15fr !important;
  gap: 24px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: none !important;
}

.mm-contact-info,
.mm-contact-form-panel {
  border: 1px solid var(--mm-line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(7,26,61,.055);
}

.mm-contact-info {
  padding: 32px !important;
  position: sticky;
  top: 105px;
}

.mm-contact-info h2 {
  margin: 0 0 12px;
  font-size: 2rem;
}

.mm-contact-info > p {
  color: var(--mm-muted);
}

.mm-contact-list {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.mm-contact-item {
  padding: 15px 16px;
  border-radius: 13px;
  background: #f7faff;
}

.mm-contact-item strong {
  display: block;
  margin-bottom: 4px;
  color: var(--mm-navy);
}

.mm-contact-item a {
  text-decoration: none;
  font-weight: 700;
}

.mm-contact-legal {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--mm-line);
  color: var(--mm-muted);
  font-size: .8rem;
  line-height: 1.55;
}

.mm-contact-form-panel {
  padding: 34px !important;
}

.mm-contact-form-panel h2 {
  margin-top: 0;
  font-size: 2rem;
}

.mm-contact-form-panel .wp-block-post-content {
  max-width: none !important;
}

.mm-contact-form-panel .wpforms-container {
  margin-top: 20px !important;
}

.mm-contact-form-panel .wpforms-field {
  padding-block: 8px !important;
}

.mm-contact-form-panel .wpforms-field-label {
  color: var(--mm-navy);
  font-weight: 700 !important;
}

.mm-contact-form-panel .wpforms-submit {
  background: var(--mm-blue) !important;
  color: #fff !important;
  border-radius: 11px !important;
  padding: 13px 22px !important;
  height: auto !important;
}

/* Location page */
.mm-location-page {
  max-width: 1240px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding-top: 64px;
  padding-bottom: 68px;
}

.mm-location-grid {
  display: grid !important;
  grid-template-columns: .8fr 1.2fr !important;
  gap: 22px !important;
  width: 100% !important;
  max-width: none !important;
  align-items: stretch !important;
}

.mm-location-info {
  padding: 34px !important;
  border: 1px solid var(--mm-line);
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0%, rgba(18,94,232,.08), transparent 34%),
    #fff;
  box-shadow: 0 12px 36px rgba(7,26,61,.055);
}

.mm-location-info h2 {
  margin-top: 0;
  margin-bottom: 14px;
  font-size: 2rem;
}

.mm-location-address {
  margin: 22px 0;
  padding: 18px;
  border-radius: 14px;
  background: #f7faff;
}

.mm-location-address strong {
  display: block;
  margin-bottom: 5px;
  color: var(--mm-navy);
}

.mm-location-times {
  display: grid;
  gap: 10px;
  margin-top: 22px;
}

.mm-location-times div {
  position: relative;
  padding-left: 28px;
  color: var(--mm-muted);
}

.mm-location-times div::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--mm-blue);
  font-weight: 900;
}

.mm-location-map {
  overflow: hidden;
  min-height: 500px;
  border: 1px solid var(--mm-line);
  border-radius: 22px;
  box-shadow: 0 12px 36px rgba(7,26,61,.055);
  background: #eef5ff;
}

.mm-location-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 500px;
  border: 0;
}

/* Header final navigation */
.mm-header .wp-block-navigation-item__content {
  white-space: nowrap;
}

/* Footer legal improvements */
.mm-footer-legal {
  margin-top: 12px;
  color: #8298bb;
  font-size: .76rem;
  line-height: 1.55;
}

@media (max-width: 1000px) {
  .mm-contact-grid,
  .mm-location-grid {
    grid-template-columns: 1fr !important;
  }

  .mm-contact-info {
    position: static;
  }
}

@media (max-width: 650px) {
  .mm-contact-page,
  .mm-location-page {
    width: min(100% - 28px,1240px) !important;
  }

  .mm-contact-info,
  .mm-contact-form-panel,
  .mm-location-info {
    padding: 26px !important;
  }

  .mm-about-mark {
    right: 30px !important;
    font-size: 3.15rem !important;
  }

  .mm-about-note {
    display: none;
  }
}


/* ==========================================
   v1.5 — contact cleanup + precise location
   ========================================== */

.mm-contact-form-panel .mm-contact-form-intro {
  max-width: 660px;
  margin-bottom: 22px;
  color: var(--mm-muted);
}

.mm-contact-form-panel .wpforms-container {
  margin-bottom: 0 !important;
}

.mm-contact-form-panel .wpforms-field-container {
  max-width: none !important;
}

.mm-contact-form-panel .wpforms-field input,
.mm-contact-form-panel .wpforms-field select,
.mm-contact-form-panel .wpforms-field textarea {
  max-width: none !important;
}

.mm-contact-form-panel .wpforms-submit-container {
  padding-top: 10px !important;
}

/* Location: make map and info align more cleanly */
.mm-location-grid {
  align-items: stretch !important;
}

.mm-location-info,
.mm-location-map {
  min-height: 500px;
}

.mm-location-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.mm-location-map iframe {
  min-height: 500px !important;
}

.mm-location-warning {
  margin-top: 12px;
  color: var(--mm-muted);
  font-size: .76rem;
}

@media (max-width: 1000px) {
  .mm-location-info,
  .mm-location-map {
    min-height: auto;
  }

  .mm-location-map iframe {
    min-height: 420px !important;
  }
}

/* ===== SOURCE: assets/css/v1.6-preproduction.css ===== */
/* MyMedical 2026 — v1.6 pre-production overrides */

/* Accessibility */
:where(a,button,input,select,textarea,.wp-element-button):focus-visible{
  outline:3px solid rgba(18,94,232,.42)!important;
  outline-offset:3px!important
}
a,button,.wp-element-button{-webkit-tap-highlight-color:rgba(18,94,232,.12)}
.mm-mobile-nav-only{display:none!important}

/* Text/image safety */
.mm-page-hero h1,.mm-page-hero h2,.mm-hero-title,.mm-about-copy h2,
.mm-services-head h2,.mm-service-head h2,.mm-used-head h2,.mm-equipment-head h2{
  overflow-wrap:normal;word-break:normal;hyphens:none
}
.mm-hero-visual img,.mm-feature-media img,.mm-category-image img,
.mm-equipment-visual img,.mm-used-demo-img img,.mm-demo-img img,
.mm-assistance-image img,.mm-partner-logo img{backface-visibility:hidden}
.mm-footer-list a{display:inline-block;padding-block:3px}

/* Header and hamburger */
.mm-header-row{gap:18px}
.mm-header .wp-block-navigation__responsive-container-open,
.mm-header .wp-block-navigation__responsive-container-close{border-radius:12px}
.mm-header .wp-block-navigation__responsive-container-open{
  width:46px;height:46px;align-items:center;justify-content:center
}
.mm-header .wp-block-navigation__responsive-container-open svg,
.mm-header .wp-block-navigation__responsive-container-close svg{width:28px;height:28px}

@media(max-width:1040px){
  .mm-header{position:sticky!important;top:0!important;min-height:72px}
  .admin-bar .mm-header{top:32px!important}
  .mm-header-row{min-height:72px!important;flex-wrap:nowrap!important;padding-block:8px!important}
  .mm-brand-link img{width:158px!important}
  .mm-header-actions{display:none!important}
  .mm-header .wp-block-navigation{width:auto!important;margin-left:auto!important;order:initial!important}

  .mm-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
  .mm-header .wp-block-navigation__responsive-container-open{display:flex!important;color:var(--mm-navy)}
  .mm-header .wp-block-navigation__responsive-container.is-menu-open{
    position:fixed!important;inset:0!important;z-index:100000!important;
    display:flex!important;padding:24px!important;
    background:radial-gradient(circle at 90% 5%,rgba(42,134,255,.13),transparent 24%),#fff!important;
    color:var(--mm-navy)!important
  }
  .admin-bar .mm-header .wp-block-navigation__responsive-container.is-menu-open{top:32px!important}
  .mm-header .wp-block-navigation__responsive-container-close{
    top:18px!important;right:18px!important;display:flex!important;align-items:center;justify-content:center;
    width:46px;height:46px;color:var(--mm-navy)!important;background:#f4f8fd
  }
  .mm-header .wp-block-navigation__responsive-container-content{
    width:min(100%,600px);margin-inline:auto;padding-top:76px!important;align-items:stretch!important
  }
  .mm-header .wp-block-navigation__container{width:100%;gap:0!important;align-items:stretch!important}
  .mm-header .wp-block-navigation-item{width:100%}
  .mm-header .wp-block-navigation-item__content{
    width:100%;box-sizing:border-box;padding:15px 4px!important;border-bottom:1px solid #e7edf6;
    font-size:1.32rem!important;line-height:1.2;font-weight:760!important
  }
  .mm-header .mm-mobile-nav-only{display:flex!important}
  .mm-header .mm-mobile-store .wp-block-navigation-item__content,
  .mm-header .mm-mobile-account .wp-block-navigation-item__content{
    margin-top:12px;padding:14px 18px!important;justify-content:center;border:0;border-radius:12px;text-align:center
  }
  .mm-header .mm-mobile-store .wp-block-navigation-item__content{background:var(--mm-blue);color:#fff!important}
  .mm-header .mm-mobile-account .wp-block-navigation-item__content{
    border:1.5px solid var(--mm-navy);background:#fff;color:var(--mm-navy)!important
  }
}

/* Tablet */
@media(max-width:900px){
  .mm-shell,.mm-page-hero-inner,.mm-page-content,.mm-equipment-page,.mm-equipment-service,
  .mm-used-page,.mm-used-process,.mm-used-trust,.mm-service-page,.mm-service-priority,
  .mm-assistance-process,.mm-maintenance-band,.mm-service-sectors,.mm-services-page,
  .mm-services-journey,.mm-services-cluster,.mm-services-promise,.mm-about-page,
  .mm-about-values,.mm-about-dual,.mm-about-story,.mm-about-trust,.mm-contact-page,
  .mm-location-page,.mm-stats-wrap,.mm-cta-premium,.mm-internal-feature{
    width:min(100% - 36px,1240px)!important
  }

  .mm-page-hero{padding-block:52px 48px!important}
  .mm-page-hero .wp-block-post-title,.mm-page-hero h1{
    font-size:clamp(2.55rem,8vw,4.2rem)!important
  }
  .mm-hero{padding-block:46px 42px!important}
  .mm-hero-cols{gap:34px!important}
  .mm-hero-title{font-size:clamp(3rem,8.5vw,4.3rem)!important}
  .mm-hero-visual,.mm-hero-visual img{min-height:360px!important}

  .mm-feature-cards,.mm-assistance-cols,.mm-about-intro,.mm-about-dual-grid,
  .mm-about-trust-grid,.mm-services-journey-grid,.mm-services-promise-grid,
  .mm-service-priority-grid,.mm-maintenance-grid,.mm-used-trust-grid,
  .mm-equipment-service-grid,.mm-contact-grid,.mm-location-grid,.mm-cta-inner{
    grid-template-columns:1fr!important
  }

  .mm-category-grid,.mm-equipment-grid,.mm-service-grid,.mm-services-grid,
  .mm-about-value-grid,.mm-assistance-process-grid,.mm-used-process-grid,
  .mm-service-sector-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important
  }

  .mm-partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .mm-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:32px!important}
  .mm-contact-info{position:static!important}
  .mm-about-visual{min-height:410px!important}
}

/* Smartphone */
@media(max-width:700px){
  .admin-bar .mm-header{top:46px!important}
  .mm-header-row{min-height:66px!important}
  .mm-brand-link img{width:142px!important}

  .mm-shell,.mm-page-hero-inner,.mm-page-content,.mm-equipment-page,.mm-equipment-service,
  .mm-used-page,.mm-used-process,.mm-used-trust,.mm-service-page,.mm-service-priority,
  .mm-assistance-process,.mm-maintenance-band,.mm-service-sectors,.mm-services-page,
  .mm-services-journey,.mm-services-cluster,.mm-services-promise,.mm-about-page,
  .mm-about-values,.mm-about-dual,.mm-about-story,.mm-about-trust,.mm-contact-page,
  .mm-location-page,.mm-stats-wrap,.mm-cta-premium,.mm-internal-feature{
    width:min(100% - 28px,1240px)!important
  }

  .mm-page-hero{padding-block:42px 38px!important}
  .mm-page-hero .wp-block-post-title,.mm-page-hero h1{
    font-size:clamp(2.3rem,11vw,3.15rem)!important;line-height:1.02!important
  }
  .mm-page-hero-intro{font-size:1rem!important}

  .mm-hero{padding-block:38px 34px!important}
  .mm-hero-title{font-size:clamp(2.65rem,13vw,3.55rem)!important;margin-bottom:18px!important}
  .mm-hero-copy{font-size:1.03rem!important;line-height:1.48!important}
  .mm-hero-visual,.mm-hero-visual img{min-height:285px!important;border-radius:22px!important}

  .mm-hero-actions,.mm-selection-cta{
    width:100%;flex-direction:column!important;align-items:stretch!important
  }
  .mm-hero-actions .wp-block-button,.mm-selection-cta .wp-block-button,
  .mm-hero-actions .wp-block-button__link,.mm-selection-cta .wp-block-button__link{
    width:100%;box-sizing:border-box;text-align:center
  }

  .mm-category-grid,.mm-equipment-grid,.mm-service-grid,.mm-services-grid,
  .mm-about-value-grid,.mm-assistance-process-grid,.mm-used-process-grid,
  .mm-service-sector-grid,.mm-services-cluster-grid,.mm-about-story-grid,
  .mm-used-demo-grid,.mm-used-catalog .wp-block-post-template,
  .mm-product-grid .wp-block-post-template{
    grid-template-columns:1fr!important
  }

  .mm-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mm-stats-grid{grid-template-columns:1fr!important}
  .mm-stat{min-height:90px!important;align-items:center!important;text-align:center}
  .mm-stat-value,.mm-stat-label,.mm-stat--service .mm-stat-value,.mm-stat--service .mm-stat-label{
    max-width:none!important;text-align:center
  }
  .mm-stat::after{left:16px!important;right:16px!important}

  .mm-services-card,.mm-service-card,.mm-about-value-card,.mm-assistance-step,
  .mm-used-step,.mm-internal-mini-card{padding:23px!important}

  .mm-service-priority-copy,.mm-service-priority-actions,.mm-maintenance-copy,
  .mm-services-journey-copy,.mm-services-journey-steps,.mm-about-dual-side,
  .mm-contact-info,.mm-contact-form-panel,.mm-location-info{padding:28px 24px!important}

  .mm-cta-inner{padding:30px 24px!important}
  .mm-cta-inner h2{font-size:2rem!important}
  .mm-cta-inner .wp-block-button,.mm-cta-inner .wp-block-button__link{
    width:100%;box-sizing:border-box;text-align:center
  }

  .mm-about-mark{
    left:26px!important;right:26px!important;font-size:clamp(2.7rem,14vw,4rem)!important
  }
  .mm-location-map iframe{min-height:360px!important}

  .mm-footer{padding-top:46px!important}
  .mm-footer-grid{grid-template-columns:1fr!important;gap:28px!important}
  .mm-footer-brand{font-size:1.8rem!important}
  .mm-footer-bottom,.mm-footer-legal{line-height:1.55}
}

@media(max-width:390px){
  .mm-brand-link img{width:132px!important}
  .mm-header .wp-block-navigation__responsive-container.is-menu-open{padding:18px!important}
  .mm-header .wp-block-navigation-item__content{font-size:1.18rem!important}
  .mm-hero-title{font-size:2.55rem!important}
  .mm-page-hero .wp-block-post-title,.mm-page-hero h1{font-size:2.25rem!important}
}

/* Respect reduced-motion preference */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important
  }
}

/* ===== SOURCE: assets/css/v1.7-mobile-header-fix.css ===== */
/* ==========================================================
   MyMedical 2026 v1.7
   Robust mobile header fix
   ========================================================== */

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

.mm-header,
.mm-header-row {
  max-width: 100%;
}

/* Desktop only actions: explicit structural selector as fallback */
@media (max-width: 1040px) {
  .mm-header-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 52px !important;
    align-items: center !important;
    width: min(100% - 28px, 1240px) !important;
    min-height: 70px !important;
    padding: 8px 0 !important;
    gap: 12px !important;
  }

  .mm-header-row > .mm-brand-link,
  .mm-header-row > .wp-block-html {
    min-width: 0 !important;
  }

  .mm-brand-link {
    display: inline-flex !important;
    align-items: center !important;
    width: max-content !important;
    max-width: 175px !important;
  }

  .mm-brand-link img {
    display: block !important;
    width: 150px !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* Hide BOTH the intended class and any direct Buttons block,
     so cached/block-rendered markup cannot leave the desktop CTAs visible. */
  .mm-header .mm-header-actions,
  .mm-header-row > .wp-block-buttons {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .mm-header-row > .wp-block-navigation {
    display: flex !important;
    justify-self: end !important;
    align-self: center !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    margin: 0 !important;
  }

  .mm-header .wp-block-navigation__responsive-container-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .mm-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }

  /* Mobile-only Store/Reserved links remain hidden until overlay opens */
  .mm-header .mm-mobile-nav-only {
    display: none !important;
  }

  .mm-header .wp-block-navigation__responsive-container.is-menu-open .mm-mobile-nav-only {
    display: flex !important;
    width: 100% !important;
  }

  .mm-header .wp-block-navigation__responsive-container.is-menu-open {
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .mm-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content {
    box-sizing: border-box !important;
    width: min(100%, 600px) !important;
    max-width: 100% !important;
  }

  .mm-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container {
    width: 100% !important;
    max-width: 100% !important;
  }

  .mm-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item,
  .mm-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content {
    max-width: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
  }
}

@media (max-width: 700px) {
  .mm-header-row {
    grid-template-columns: minmax(0, 1fr) 48px !important;
    min-height: 64px !important;
    width: min(100% - 24px, 1240px) !important;
  }

  .mm-brand-link {
    max-width: 155px !important;
  }

  .mm-brand-link img {
    width: 140px !important;
  }

  .mm-header .wp-block-navigation__responsive-container-open {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
  }

  /* Slightly calmer mobile hero */
  .mm-hero-title {
    font-size: clamp(2.35rem, 11.2vw, 3rem) !important;
    line-height: 1.035 !important;
    letter-spacing: -.035em !important;
  }

  .mm-hero-copy {
    font-size: 1rem !important;
  }

  .mm-kicker {
    font-size: .75rem !important;
    letter-spacing: .105em !important;
  }
}

@media (max-width: 390px) {
  .mm-brand-link img {
    width: 132px !important;
  }

  .mm-hero-title {
    font-size: 2.28rem !important;
  }
}

/* ===== SOURCE: assets/css/v1.8-mobile-runtime-fix.css ===== */
/* ==========================================================
   MyMedical 2026 v1.8
   Mobile runtime header fix for DB-saved WordPress template parts
   ========================================================== */

.mm-runtime-mobile-action {
  display: none !important;
}

@media (max-width: 1040px) {

  /*
   * IMPORTANT:
   * This deliberately does not depend on .mm-header-actions or .mm-header-row.
   * It also works if WordPress is rendering an older Header template part
   * saved in wp_template_part / Site Editor.
   */
  body header .wp-block-buttons,
  body .wp-block-template-part header .wp-block-buttons,
  body header .wp-block-button,
  body .wp-block-template-part header .wp-block-button {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    max-width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  /*
   * Safety fallback for old CTA anchors when the Buttons wrapper has
   * been altered by the Site Editor.
   */
  body header a[data-mm-desktop-action="1"] {
    display: none !important;
  }

  /* Runtime injected items: visible only in the open hamburger menu. */
  body header .wp-block-navigation__responsive-container.is-menu-open
  .mm-runtime-mobile-action {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 12px !important;
  }

  body header .wp-block-navigation__responsive-container.is-menu-open
  .mm-runtime-mobile-action .wp-block-navigation-item__content {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 54px !important;
    padding: 14px 18px !important;
    box-sizing: border-box !important;
    border-bottom: 0 !important;
    border-radius: 12px !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.2 !important;
  }

  body header .mm-runtime-store .wp-block-navigation-item__content {
    background: #1260e8 !important;
    color: #fff !important;
  }

  body header .mm-runtime-account .wp-block-navigation-item__content {
    background: #fff !important;
    color: #071a3d !important;
    border: 2px solid #071a3d !important;
  }

  /*
   * Kill the large empty header produced by stale flex sizing.
   */
  body header,
  body .wp-block-template-part header {
    min-height: 0 !important;
  }

  body header > .wp-block-group,
  body .wp-block-template-part header > .wp-block-group {
    min-height: 64px !important;
    height: auto !important;
  }
}

@media (max-width: 700px) {
  body header > .wp-block-group,
  body .wp-block-template-part header > .wp-block-group {
    min-height: 62px !important;
  }
}

/* ===== SOURCE: assets/css/v1.9-standalone-mobile-header.css ===== */
/* =========================================================
   MyMedical 2026 v1.9
   Standalone mobile header — independent from WP Site Editor
   ========================================================= */

#mm-mobile-header-runtime {
  display: none;
}

@media (max-width: 1040px) {

  /* Completely remove the WordPress-rendered header on tablet/mobile. */
  body > header,
  body > .wp-site-blocks > header,
  body .wp-site-blocks > .wp-block-template-part:first-child,
  body .wp-site-blocks > header.wp-block-template-part {
    display: none !important;
  }

  #mm-mobile-header-runtime {
    display: block;
    position: sticky;
    top: 0;
    z-index: 99999;
    width: 100%;
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid #e6edf6;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .admin-bar #mm-mobile-header-runtime {
    top: 32px;
  }

  .mm-mobile-header-inner {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(100% - 28px, 1240px);
    min-height: 70px;
    margin-inline: auto;
  }

  .mm-mobile-brand {
    display: inline-flex;
    align-items: center;
    max-width: 170px;
    text-decoration: none;
  }

  .mm-mobile-brand img {
    display: block;
    width: 150px;
    max-width: 100%;
    height: auto;
  }

  .mm-mobile-menu-button {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background: #f5f8fd;
    color: #071a3d;
    cursor: pointer;
  }

  .mm-mobile-menu-button svg {
    width: 28px;
    height: 28px;
  }

  .mm-mobile-menu-button:focus-visible {
    outline: 3px solid rgba(18,96,232,.35);
    outline-offset: 2px;
  }

  #mm-mobile-menu-panel {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: none;
    overflow-y: auto;
    overflow-x: hidden;
    background:
      radial-gradient(circle at 92% 7%, rgba(34,116,238,.13), transparent 23%),
      #fff;
  }

  #mm-mobile-menu-panel.is-open {
    display: block;
  }

  body.mm-mobile-menu-open {
    overflow: hidden !important;
    touch-action: none;
  }

  .mm-mobile-menu-shell {
    box-sizing: border-box;
    width: min(100% - 36px, 620px);
    min-height: 100%;
    margin-inline: auto;
    padding: 22px 0 38px;
  }

  .mm-mobile-menu-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 58px;
    margin-bottom: 40px;
  }

  .mm-mobile-menu-top .mm-mobile-brand img {
    width: 145px;
  }

  .mm-mobile-menu-close {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 13px;
    background: #f4f8fd;
    color: #071a3d;
    cursor: pointer;
  }

  .mm-mobile-menu-close svg {
    width: 29px;
    height: 29px;
  }

  .mm-mobile-menu-nav {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .mm-mobile-menu-nav li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #e5ecf5;
  }

  .mm-mobile-menu-nav a {
    display: flex;
    align-items: center;
    min-height: 68px;
    padding: 8px 6px;
    color: #071a3d;
    text-decoration: none;
    font-size: clamp(1.45rem, 5.7vw, 2rem);
    font-weight: 780;
    line-height: 1.15;
    letter-spacing: -.02em;
  }

  .mm-mobile-menu-actions {
    display: grid;
    gap: 12px;
    margin-top: 28px;
  }

  .mm-mobile-menu-action {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    min-height: 58px;
    padding: 14px 20px;
    border-radius: 13px;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
  }

  .mm-mobile-menu-action--store {
    background: #1260e8;
    color: #fff;
  }

  .mm-mobile-menu-action--account {
    border: 2px solid #071a3d;
    background: #fff;
    color: #071a3d;
  }

  .mm-mobile-menu-contact {
    margin-top: 28px;
    padding: 18px;
    border-radius: 14px;
    background: #f5f8fd;
    color: #667894;
    font-size: .88rem;
    line-height: 1.55;
  }

  .mm-mobile-menu-contact strong {
    display: block;
    margin-bottom: 4px;
    color: #071a3d;
  }
}

@media (max-width: 782px) {
  .admin-bar #mm-mobile-header-runtime {
    top: 46px;
  }
}

@media (max-width: 700px) {
  .mm-mobile-header-inner {
    width: min(100% - 24px, 1240px);
    min-height: 64px;
  }

  .mm-mobile-brand img {
    width: 140px;
  }

  .mm-mobile-menu-button {
    width: 44px;
    height: 44px;
  }

  .mm-mobile-menu-shell {
    width: min(100% - 30px, 620px);
    padding-top: 16px;
  }

  .mm-mobile-menu-top {
    margin-bottom: 28px;
  }

  .mm-mobile-menu-nav a {
    min-height: 62px;
    font-size: 1.52rem;
  }
}

@media (max-width: 390px) {
  .mm-mobile-brand img,
  .mm-mobile-menu-top .mm-mobile-brand img {
    width: 132px;
  }

  .mm-mobile-menu-nav a {
    font-size: 1.4rem;
  }
}

/* ===== SOURCE: assets/css/v2.1-mobile-home-polish.css ===== */
/* =========================================================
   MyMedical 2026 v2.1 — homepage mobile polish
   Desktop layout remains unchanged.
   ========================================================= */

@media (max-width: 700px) {
  /* Tighter vertical rhythm after the hero */
  .mm-feature-wrap {
    padding-top: 22px !important;
    padding-bottom: 42px !important;
  }

  /* Nuovo / Usato / Assistenza: compact horizontal cards */
  .mm-feature-cards {
    gap: 14px !important;
  }

  .mm-feature-card {
    min-height: 0 !important;
    border-radius: 19px !important;
  }

  .mm-feature-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 61%) minmax(0, 39%) !important;
    min-height: 188px !important;
    align-items: stretch !important;
  }

  .mm-feature-copy {
    padding: 21px 10px 20px 20px !important;
  }

  .mm-feature-number {
    margin-bottom: 8px !important;
    font-size: 1.05rem !important;
  }

  .mm-feature-card h3 {
    margin-bottom: 7px !important;
    font-size: 1.18rem !important;
  }

  .mm-feature-card p {
    margin-top: 0 !important;
    margin-bottom: 9px !important;
    font-size: .82rem !important;
    line-height: 1.42 !important;
  }

  .mm-feature-card .mm-link-arrow {
    margin-top: auto !important;
    font-size: .81rem !important;
  }

  .mm-feature-media {
    min-height: 188px !important;
    height: 100% !important;
    border-top: 0 !important;
    border-left: 1px solid var(--mm-line) !important;
  }

  .mm-feature-media img {
    min-height: 188px !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* Main assistance panel */
  .mm-assistance-band {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-radius: 22px !important;
  }

  .mm-assistance-copy {
    padding: 30px 24px 26px !important;
  }

  .mm-assistance-copy h2 {
    margin-bottom: 20px !important;
    font-size: 2rem !important;
    line-height: 1.08 !important;
  }

  .mm-assistance-copy .wp-block-button,
  .mm-assistance-copy .wp-block-button__link {
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  .mm-assistance-image,
  .mm-assistance-image img {
    min-height: 245px !important;
    height: 245px !important;
  }

  .mm-service-panel {
    padding: 22px 24px 28px !important;
  }

  .mm-service-list li {
    padding: 13px 0 13px 42px !important;
    font-size: .9rem !important;
  }

  .mm-service-list li::before {
    width: 25px !important;
    height: 25px !important;
    top: 12px !important;
  }

  /* Categories: 2 columns instead of seven long full-width cards */
  .mm-category-section {
    padding-top: 58px !important;
    padding-bottom: 52px !important;
  }

  .mm-category-section > h2 {
    font-size: 2rem !important;
    line-height: 1.08 !important;
  }

  .mm-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 26px !important;
  }

  .mm-category-card {
    min-height: 166px !important;
    padding: 14px 10px 13px !important;
    border-radius: 16px !important;
  }

  .mm-category-image {
    max-width: 78px !important;
    margin-bottom: 5px !important;
  }

  .mm-category-card h4 {
    margin: 3px 0 5px !important;
    font-size: .82rem !important;
  }

  .mm-category-card p {
    font-size: .76rem !important;
  }

  /* Selection / used products */
  .mm-selection {
    padding-top: 50px !important;
    padding-bottom: 48px !important;
  }

  .mm-selection h2 {
    font-size: 2rem !important;
  }

  .mm-product-grid,
  .mm-demo-products {
    margin-top: 25px !important;
  }

  .mm-demo-card,
  .mm-product-grid .wp-block-post {
    padding: 14px !important;
    border-radius: 17px !important;
  }

  .mm-demo-img,
  .mm-product-grid .wp-block-post-featured-image {
    margin-bottom: 12px !important;
  }

  .mm-demo-img img,
  .mm-product-grid .wp-block-post-featured-image img {
    min-height: 0 !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: contain !important;
  }

  .mm-demo-card::after {
    top: 20px !important;
    right: 20px !important;
    font-size: .58rem !important;
  }

  .mm-demo-note {
    font-size: .77rem !important;
  }

  .mm-selection-cta {
    margin-top: 22px !important;
  }

  /* Stats: 2x2 compact grid */
  .mm-stats-wrap {
    margin-top: 38px !important;
    margin-bottom: 44px !important;
    padding: 12px !important;
    border-radius: 20px !important;
  }

  .mm-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
  }

  .mm-stat {
    min-height: 105px !important;
    padding: 18px 12px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .mm-stat-value,
  .mm-stat--service .mm-stat-value {
    font-size: 1.65rem !important;
    max-width: none !important;
    text-align: center !important;
  }

  .mm-stat-label,
  .mm-stat--service .mm-stat-label {
    max-width: 135px !important;
    margin-inline: auto !important;
    font-size: .76rem !important;
    text-align: center !important;
  }

  .mm-stat::after {
    display: none !important;
  }

  .mm-stats-grid > .wp-block-column:nth-child(odd) .mm-stat {
    border-right: 1px solid rgba(255,255,255,.13);
  }

  .mm-stats-grid > .wp-block-column:nth-child(-n+2) .mm-stat {
    border-bottom: 1px solid rgba(255,255,255,.13);
  }

  /* Partners */
  .mm-partners {
    padding-bottom: 46px !important;
  }

  .mm-partners h3 {
    font-size: 1.65rem !important;
  }

  .mm-partner-grid {
    gap: 9px !important;
    margin-top: 22px !important;
  }

  .mm-partner-card {
    min-height: 82px !important;
    padding: 12px !important;
    border-radius: 14px !important;
  }

  .mm-partner-logo {
    height: 50px !important;
  }

  .mm-partner-logo img {
    max-width: 118px !important;
    max-height: 44px !important;
  }

  /* Final CTA */
  .mm-cta-premium {
    margin-bottom: 50px !important;
    border-radius: 20px !important;
  }

  .mm-cta-inner {
    gap: 22px !important;
    padding: 28px 22px !important;
  }

  .mm-cta-inner h2 {
    font-size: 1.85rem !important;
    line-height: 1.08 !important;
  }

  .mm-cta-inner p {
    font-size: .94rem !important;
  }
}

@media (max-width: 370px) {
  .mm-feature-inner {
    grid-template-columns: minmax(0, 64%) minmax(0, 36%) !important;
  }

  .mm-feature-copy {
    padding-left: 17px !important;
  }

  .mm-feature-card p {
    font-size: .78rem !important;
  }

  .mm-category-card {
    min-height: 154px !important;
  }

  .mm-category-image {
    max-width: 68px !important;
  }
}

/* ===== SOURCE: assets/css/v2.2-woocommerce-catalog.css ===== */
/* ==========================================================
   MyMedical 2026 v2.2 — WooCommerce professional catalogue
   ========================================================== */

.mm-shop-page,
.mm-product-page {
  width: min(1240px, calc(100% - 48px));
  max-width: 1240px;
  margin-inline: auto;
}

.mm-shop-page {
  padding: 62px 0 72px;
}

/* Catalogue intro / controls */
.mm-shop-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: end;
  margin-bottom: 30px;
}

.mm-shop-intro h2 {
  max-width: 760px;
  margin: 0 0 10px;
  font-size: clamp(2rem, 3.5vw, 3.25rem);
  line-height: 1.04;
  color: var(--mm-navy);
}

.mm-shop-intro p {
  max-width: 760px;
  margin: 0;
  color: var(--mm-muted);
  font-size: 1rem;
  line-height: 1.55;
}

.mm-shop-search {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 180px auto;
  gap: 10px;
  width: min(100%, 650px);
}

.mm-shop-search input,
.mm-shop-search select {
  box-sizing: border-box;
  width: 100%;
  min-height: 46px;
  padding: 10px 13px;
  border: 1px solid #d8e3f1;
  border-radius: 11px;
  background: #fff;
  color: var(--mm-navy);
  font: inherit;
}

.mm-shop-search input:focus,
.mm-shop-search select:focus {
  outline: 3px solid rgba(18,94,232,.15);
  border-color: #8eb5ef;
}

.mm-shop-search button {
  min-height: 46px;
  padding: 10px 18px;
  border: 0;
  border-radius: 11px;
  background: var(--mm-blue);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

/* Category filter */
.mm-shop-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 30px;
}

.mm-shop-filter {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 7px 12px;
  border: 1px solid #d7e3f2;
  border-radius: 999px;
  background: #fff;
  color: var(--mm-navy);
  text-decoration: none;
  font-size: .82rem;
  font-weight: 750;
}

.mm-shop-filter:hover,
.mm-shop-filter.is-active {
  border-color: #8fb7ef;
  background: #edf5ff;
  color: var(--mm-blue);
}

.mm-shop-filter small {
  margin-left: 6px;
  color: var(--mm-muted);
  font-size: .7rem;
}

/* Catalogue grid */
.mm-shop-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 20px;
}

.mm-shop-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--mm-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 38px rgba(7,26,61,.06);
  transition: transform .2s ease, box-shadow .2s ease;
}

.mm-shop-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 52px rgba(7,26,61,.10);
}

.mm-shop-card-media {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background:
    radial-gradient(circle at 90% 5%, rgba(42,134,255,.11), transparent 30%),
    linear-gradient(180deg,#f9fbfe,#edf4fb);
}

.mm-shop-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 18px;
  box-sizing: border-box;
  transition: transform .22s ease;
}

.mm-shop-card:hover .mm-shop-card-media img {
  transform: scale(1.025);
}

.mm-shop-card-placeholder {
  display: grid;
  place-items: center;
  height: 100%;
  color: #9babc1;
  font-size: .86rem;
  font-weight: 700;
}

.mm-shop-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 20px;
}

.mm-shop-card-topline {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  margin-bottom: 10px;
}

.mm-shop-category,
.mm-shop-brand {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.mm-shop-category {
  background: #eef5ff;
  color: var(--mm-blue);
}

.mm-shop-brand {
  background: #f3f6fa;
  color: #61738f;
}

.mm-shop-card h3 {
  margin: 0 0 10px;
  font-size: 1.14rem;
  line-height: 1.22;
  color: var(--mm-navy);
}

.mm-shop-card h3 a {
  color: inherit;
  text-decoration: none;
}

.mm-shop-card-copy {
  margin: 0 0 18px;
  color: var(--mm-muted);
  font-size: .88rem;
  line-height: 1.48;
}

.mm-shop-card-link {
  display: inline-flex;
  align-items: center;
  margin-top: auto;
  color: var(--mm-blue);
  text-decoration: none;
  font-weight: 800;
}

.mm-shop-card-link::after {
  content: "→";
  margin-left: 7px;
  transition: transform .18s ease;
}

.mm-shop-card-link:hover::after {
  transform: translateX(3px);
}

/* Empty catalogue */
.mm-shop-empty {
  padding: 46px 28px;
  border: 1px dashed #cfdced;
  border-radius: 18px;
  background: #f8fbff;
  text-align: center;
}

.mm-shop-empty h3 {
  margin: 0 0 8px;
  color: var(--mm-navy);
  font-size: 1.4rem;
}

.mm-shop-empty p {
  margin: 0;
  color: var(--mm-muted);
}

/* Pagination */
.mm-shop-pagination {
  display: flex;
  justify-content: center;
  margin-top: 38px;
}

.mm-shop-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  margin: 3px;
  padding: 7px 10px;
  border: 1px solid #d8e3f1;
  border-radius: 10px;
  background: #fff;
  color: var(--mm-navy);
  text-decoration: none;
  font-weight: 750;
}

.mm-shop-pagination .page-numbers.current {
  border-color: var(--mm-blue);
  background: var(--mm-blue);
  color: #fff;
}

/* ==========================================================
   Single product
   ========================================================== */

.mm-product-page {
  padding: 54px 0 70px;
}

.mm-product-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 24px;
  color: var(--mm-muted);
  font-size: .82rem;
}

.mm-product-breadcrumb a {
  color: var(--mm-blue);
  text-decoration: none;
}

.mm-product-hero {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
  gap: 46px;
  align-items: start;
}

.mm-product-gallery {
  min-width: 0;
}

.mm-product-main-image {
  overflow: hidden;
  display: grid;
  place-items: center;
  min-height: 510px;
  border: 1px solid var(--mm-line);
  border-radius: 24px;
  background:
    radial-gradient(circle at 88% 8%, rgba(42,134,255,.11), transparent 31%),
    linear-gradient(180deg,#fafcff,#edf4fb);
  box-shadow: 0 14px 42px rgba(7,26,61,.06);
}

.mm-product-main-image img {
  display: block;
  width: 100%;
  max-height: 510px;
  object-fit: contain;
  padding: 28px;
  box-sizing: border-box;
}

.mm-product-thumbs {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 12px 2px 3px;
  scrollbar-width: thin;
}

.mm-product-thumb {
  flex: 0 0 88px;
  width: 88px;
  height: 72px;
  overflow: hidden;
  padding: 5px;
  border: 1px solid #dce5f0;
  border-radius: 11px;
  background: #fff;
  cursor: pointer;
}

.mm-product-thumb.is-active {
  border-color: var(--mm-blue);
  box-shadow: 0 0 0 2px rgba(18,94,232,.12);
}

.mm-product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.mm-product-kicker {
  margin: 0 0 13px;
  color: var(--mm-blue);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.mm-product-info h1 {
  margin: 0 0 18px;
  color: var(--mm-navy);
  font-size: clamp(2.4rem,4vw,4rem);
  line-height: 1.01;
  letter-spacing: -.04em;
}

.mm-product-short {
  margin-bottom: 24px;
  color: var(--mm-muted);
  font-size: 1.06rem;
  line-height: 1.58;
}

.mm-product-facts {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin: 0 0 24px;
}

.mm-product-fact {
  padding: 13px 14px;
  border-radius: 12px;
  background: #f6f9fd;
}

.mm-product-fact span {
  display: block;
  margin-bottom: 3px;
  color: #8190a6;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.mm-product-fact strong {
  display: block;
  color: var(--mm-navy);
  font-size: .9rem;
  overflow-wrap: anywhere;
}

.mm-product-attributes {
  margin: 0 0 26px;
  overflow: hidden;
  border: 1px solid var(--mm-line);
  border-radius: 15px;
}

.mm-product-attribute {
  display: grid;
  grid-template-columns: 155px minmax(0,1fr);
  gap: 14px;
  padding: 11px 14px;
  border-bottom: 1px solid var(--mm-line);
  font-size: .86rem;
}

.mm-product-attribute:last-child {
  border-bottom: 0;
}

.mm-product-attribute dt {
  margin: 0;
  color: #7889a2;
  font-weight: 700;
}

.mm-product-attribute dd {
  margin: 0;
  color: var(--mm-navy);
  font-weight: 700;
}

.mm-product-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
}

.mm-product-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 11px 19px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 820;
}

.mm-product-action--primary {
  background: var(--mm-blue);
  color: #fff;
}

.mm-product-action--secondary {
  border: 1.7px solid var(--mm-navy);
  background: #fff;
  color: var(--mm-navy);
}

/* Description */
.mm-product-description {
  display: grid;
  grid-template-columns: 250px minmax(0,1fr);
  gap: 46px;
  margin-top: 72px;
  padding-top: 52px;
  border-top: 1px solid var(--mm-line);
}

.mm-product-description-label .mm-kicker {
  margin-bottom: 8px;
}

.mm-product-description-label h2 {
  margin: 0;
  color: var(--mm-navy);
  font-size: 1.7rem;
}

.mm-product-description-content {
  color: #485a73;
  line-height: 1.7;
}

.mm-product-description-content > *:first-child {
  margin-top: 0;
}

.mm-product-description-content h2,
.mm-product-description-content h3,
.mm-product-description-content h4 {
  color: var(--mm-navy);
}

.mm-product-description-content img {
  max-width: 100%;
  height: auto;
  border-radius: 16px;
}

/* Related */
.mm-related-products {
  margin-top: 70px;
}

.mm-related-head {
  max-width: 700px;
  margin-bottom: 26px;
}

.mm-related-head h2 {
  margin: 0 0 8px;
  color: var(--mm-navy);
  font-size: clamp(1.9rem,3vw,2.7rem);
}

.mm-related-head p {
  margin: 0;
  color: var(--mm-muted);
}

.mm-related-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
}

/* Contact product context */
.mm-contact-product-context {
  margin-bottom: 18px;
  padding: 14px 16px;
  border: 1px solid #cfe0f8;
  border-radius: 12px;
  background: #f1f7ff;
  color: var(--mm-navy);
  font-size: .9rem;
}

.mm-contact-product-context strong {
  color: var(--mm-blue);
}

/* Tablet */
@media (max-width: 980px) {
  .mm-shop-grid,
  .mm-related-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .mm-product-hero {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .mm-product-main-image {
    min-height: 430px;
  }

  .mm-product-description {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* Mobile */
@media (max-width: 700px) {
  .mm-shop-page,
  .mm-product-page {
    width: min(100% - 28px,1240px);
  }

  .mm-shop-page {
    padding: 42px 0 54px;
  }

  .mm-shop-intro {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 22px;
  }

  .mm-shop-intro h2 {
    font-size: 2rem;
  }

  .mm-shop-search {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .mm-shop-search button {
    width: 100%;
  }

  .mm-shop-filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 5px;
    margin-right: -14px;
    scrollbar-width: thin;
  }

  .mm-shop-filter {
    flex: 0 0 auto;
  }

  .mm-shop-grid,
  .mm-related-grid {
    grid-template-columns: 1fr;
  }

  .mm-shop-card-body {
    padding: 18px;
  }

  .mm-product-page {
    padding: 36px 0 54px;
  }

  .mm-product-breadcrumb {
    margin-bottom: 17px;
  }

  .mm-product-main-image {
    min-height: 310px;
    border-radius: 19px;
  }

  .mm-product-main-image img {
    max-height: 330px;
    padding: 18px;
  }

  .mm-product-thumb {
    flex-basis: 76px;
    width: 76px;
    height: 64px;
  }

  .mm-product-info h1 {
    font-size: clamp(2.15rem,10vw,3rem);
  }

  .mm-product-short {
    font-size: 1rem;
  }

  .mm-product-facts {
    grid-template-columns: 1fr 1fr;
  }

  .mm-product-attribute {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .mm-product-actions {
    flex-direction: column;
  }

  .mm-product-action {
    width: 100%;
    box-sizing: border-box;
  }

  .mm-product-description {
    margin-top: 48px;
    padding-top: 38px;
  }

  .mm-related-products {
    margin-top: 50px;
  }
}


/* ==========================================================
   v2.3 — WooCommerce is MyMedical Selection / USATO only
   ========================================================== */

.mm-used-status {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: .65rem;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.mm-used-status--available {
  border: 1px solid #cbe9d8;
  background: #effaf4;
  color: #177444;
}

.mm-used-status--reserved {
  border: 1px solid #f1ddb0;
  background: #fff8e9;
  color: #8a6308;
}

.mm-used-status--sold {
  border: 1px solid #e8c8cc;
  background: #fff1f2;
  color: #9d3340;
}

.mm-used-product-ribbon {
  display: inline-flex;
  align-items: center;
  margin-bottom: 14px;
  padding: 6px 9px;
  border-radius: 999px;
  background: #071a3d;
  color: #fff;
  font-size: .67rem;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.mm-used-catalog-note {
  margin: 0 0 28px;
  padding: 14px 16px;
  border: 1px solid #d7e5f8;
  border-radius: 13px;
  background: #f5f9ff;
  color: #5d6f88;
  font-size: .86rem;
  line-height: 1.5;
}

.mm-used-catalog-note strong {
  color: #071a3d;
}


/* ==========================================================
   v2.4 — Ricerca usato per categorie
   ========================================================== */

.mm-used-category-panel {
  margin-bottom: 30px;
  padding: 18px;
  border: 1px solid #dbe6f2;
  border-radius: 18px;
  background: #f8fbff;
}

.mm-used-category-panel-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
}

.mm-used-category-panel-head h3 {
  margin: 0;
  color: var(--mm-navy);
  font-size: 1.05rem;
}

.mm-used-category-panel-head p {
  margin: 3px 0 0;
  color: var(--mm-muted);
  font-size: .8rem;
}

.mm-used-category-reset {
  flex: 0 0 auto;
  color: var(--mm-blue);
  text-decoration: none;
  font-size: .78rem;
  font-weight: 800;
}

.mm-used-categories {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
}

.mm-used-category-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid #d8e4f1;
  border-radius: 12px;
  background: #fff;
  color: var(--mm-navy);
  text-decoration: none;
  transition: .18s ease;
}

.mm-used-category-card:hover,
.mm-used-category-card.is-active {
  border-color: #91b9ef;
  background: #edf5ff;
  color: var(--mm-blue);
}

.mm-used-category-card-main {
  min-width: 0;
}

.mm-used-category-card strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .84rem;
}

.mm-used-category-card small {
  display: block;
  margin-top: 2px;
  color: #8796aa;
  font-size: .67rem;
}

.mm-used-category-count {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 27px;
  height: 27px;
  padding: 0 7px;
  border-radius: 999px;
  background: #eef3f8;
  color: #60718a;
  font-size: .68rem;
  font-weight: 850;
}

.mm-used-category-card.is-active .mm-used-category-count {
  background: var(--mm-blue);
  color: #fff;
}

.mm-used-subcategories {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #dce6f1;
}

.mm-used-subcategory {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #d7e2ef;
  color: #5e718c;
  text-decoration: none;
  font-size: .72rem;
  font-weight: 750;
}

.mm-used-subcategory:hover,
.mm-used-subcategory.is-active {
  border-color: #8fb7ef;
  color: var(--mm-blue);
  background: #eef6ff;
}

.mm-shop-active-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: -8px 0 22px;
  color: #657792;
  font-size: .79rem;
}

.mm-shop-active-filter strong {
  color: var(--mm-navy);
}

@media(max-width:900px){
  .mm-used-categories{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .mm-used-category-panel{
    margin-left:0;
    margin-right:0;
    padding:14px;
  }

  .mm-used-category-panel-head{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }

  .mm-used-categories{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .mm-used-category-card{
    padding:10px;
  }

  .mm-used-category-card strong{
    font-size:.78rem;
  }

  .mm-used-category-count{
    min-width:24px;
    height:24px;
  }

  .mm-used-subcategories{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:3px;
  }

  .mm-used-subcategory{
    flex:0 0 auto;
  }
}

/* ===== SOURCE: assets/css/v2.6-equipment-categories.css ===== */
/* ==========================================================
   MyMedical 2026 v2.6 — Attrezzature category landing pages
   ========================================================== */

.mm-eqcat {
  width: min(1240px, calc(100% - 48px));
  margin-inline: auto;
  padding: 56px 0 76px;
}

.mm-eqcat-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr);
  gap: clamp(30px,5vw,72px);
  align-items: center;
  min-height: 430px;
  margin-bottom: 64px;
  padding: clamp(40px,5vw,66px);
  border: 1px solid #dce7f4;
  border-radius: 28px;
  background:
    radial-gradient(circle at 88% 16%, rgba(42,134,255,.18), transparent 31%),
    linear-gradient(135deg,#fafdff 0%,#edf5ff 100%);
  box-shadow: 0 22px 60px rgba(7,26,61,.075);
}

.mm-eqcat-hero::before {
  content:"";
  position:absolute;
  width: 430px;
  height: 430px;
  right:-130px;
  top:-160px;
  border: 2px solid rgba(18,94,232,.11);
  border-radius:50%;
}

.mm-eqcat-hero-copy {
  position:relative;
  z-index:2;
}

.mm-eqcat-breadcrumb {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 22px;
  color:#71839d;
  font-size:.78rem;
}

.mm-eqcat-breadcrumb a {
  color:var(--mm-blue);
  text-decoration:none;
  font-weight:750;
}

.mm-eqcat-kicker {
  margin:0 0 12px;
  color:var(--mm-blue);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.105em;
  text-transform:uppercase;
}

.mm-eqcat-hero h1 {
  max-width: 700px;
  margin:0 0 18px;
  color:var(--mm-navy);
  font-size:clamp(3rem,5vw,5.2rem);
  line-height:.98;
  letter-spacing:-.05em;
}

.mm-eqcat-hero-copy > p:last-of-type {
  max-width:680px;
  margin:0;
  color:#657791;
  font-size:clamp(1.04rem,1.5vw,1.22rem);
  line-height:1.58;
}

.mm-eqcat-hero-visual {
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  min-height:320px;
}

.mm-eqcat-hero-visual img {
  display:block;
  width:min(100%,420px);
  max-height:330px;
  object-fit:contain;
  filter:drop-shadow(0 18px 28px rgba(7,26,61,.10));
}

/* intro */
.mm-eqcat-intro {
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:clamp(34px,5vw,68px);
  align-items:start;
  margin-bottom:62px;
}

.mm-eqcat-intro-side {
  position:sticky;
  top:120px;
}

.mm-eqcat-intro-side h2 {
  margin:0;
  color:var(--mm-navy);
  font-size:clamp(2rem,3.1vw,3.1rem);
  line-height:1.04;
  letter-spacing:-.035em;
}

.mm-eqcat-intro-copy {
  color:#53657f;
  font-size:1rem;
  line-height:1.72;
}

.mm-eqcat-intro-copy p:first-child {
  margin-top:0;
}

/* subcategories */
.mm-eqcat-subhead {
  max-width:760px;
  margin:0 auto 30px;
  text-align:center;
}

.mm-eqcat-subhead .mm-eqcat-kicker {
  margin-bottom:10px;
}

.mm-eqcat-subhead h2 {
  margin:0 0 12px;
  color:var(--mm-navy);
  font-size:clamp(2.2rem,4vw,3.6rem);
  line-height:1.02;
  letter-spacing:-.04em;
}

.mm-eqcat-subhead p {
  margin:0;
  color:var(--mm-muted);
  font-size:1rem;
  line-height:1.55;
}

.mm-eqcat-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-bottom:66px;
}

.mm-eqcat-card {
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:330px;
  border:1px solid #dfe8f3;
  border-radius:20px;
  background:#fff;
  box-shadow:0 13px 38px rgba(7,26,61,.06);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.mm-eqcat-card:hover {
  transform:translateY(-5px);
  border-color:#bfd4ef;
  box-shadow:0 22px 52px rgba(7,26,61,.10);
}

.mm-eqcat-card-visual {
  display:grid;
  place-items:center;
  min-height:170px;
  padding:20px;
  background:
    radial-gradient(circle at 85% 12%,rgba(42,134,255,.14),transparent 34%),
    linear-gradient(180deg,#f9fcff,#eff6fd);
}

.mm-eqcat-card-visual img {
  width:min(100%,190px);
  height:145px;
  object-fit:contain;
}

.mm-eqcat-card-number {
  position:absolute;
  top:15px;
  left:15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#fff;
  color:var(--mm-blue);
  box-shadow:0 4px 14px rgba(7,26,61,.08);
  font-size:.72rem;
  font-weight:850;
}

.mm-eqcat-card-body {
  display:flex;
  flex:1;
  flex-direction:column;
  padding:20px;
}

.mm-eqcat-card h3 {
  margin:0 0 8px;
  color:var(--mm-navy);
  font-size:1.22rem;
  line-height:1.15;
}

.mm-eqcat-card p {
  margin:0 0 16px;
  color:#667892;
  font-size:.86rem;
  line-height:1.5;
}

.mm-eqcat-card a {
  display:inline-flex;
  align-items:center;
  margin-top:auto;
  color:var(--mm-blue);
  text-decoration:none;
  font-size:.84rem;
  font-weight:820;
}

.mm-eqcat-card a::after {
  content:"→";
  margin-left:7px;
  transition:transform .18s ease;
}

.mm-eqcat-card:hover a::after {
  transform:translateX(3px);
}

/* expertise strip */
.mm-eqcat-expertise {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  overflow:hidden;
  margin-bottom:64px;
  border-radius:24px;
  background:
    radial-gradient(circle at 70% 50%,rgba(18,94,232,.28),transparent 35%),
    linear-gradient(135deg,#071a3d,#0d2c61);
  color:#fff;
  box-shadow:0 24px 62px rgba(7,26,61,.16);
}

.mm-eqcat-expertise-copy {
  padding:42px;
}

.mm-eqcat-expertise-copy .mm-eqcat-kicker {
  color:#65a7ff;
}

.mm-eqcat-expertise-copy h2 {
  margin:0 0 16px;
  font-size:clamp(2rem,3.3vw,3rem);
  line-height:1.05;
}

.mm-eqcat-expertise-copy p {
  margin:0;
  color:#c0cee2;
  line-height:1.6;
}

.mm-eqcat-expertise-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  padding:26px 32px;
  background:rgba(255,255,255,.035);
}

.mm-eqcat-expertise-item {
  position:relative;
  padding:18px 18px 18px 42px;
  border-bottom:1px solid rgba(255,255,255,.10);
  color:#fff;
  font-size:.89rem;
  line-height:1.45;
}

.mm-eqcat-expertise-item::before {
  content:"✓";
  position:absolute;
  left:4px;
  top:16px;
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  border:1px solid #448df5;
  border-radius:50%;
  color:#68a8ff;
  font-weight:850;
}

.mm-eqcat-expertise-item strong {
  display:block;
  margin-bottom:2px;
}

/* legacy content kept but visually integrated */
.mm-eqcat-existing {
  margin-top:58px;
  padding-top:48px;
  border-top:1px solid var(--mm-line);
}

.mm-eqcat-existing > .mm-eqcat-subhead {
  margin-bottom:28px;
}

.mm-eqcat-existing-content {
  overflow:hidden;
  padding:34px;
  border:1px solid #e0e8f2;
  border-radius:20px;
  background:#fff;
}

.mm-eqcat-existing-content > *:first-child {
  margin-top:0;
}

.mm-eqcat-existing-content img {
  max-width:100%;
  height:auto;
  border-radius:14px;
}

.mm-eqcat-existing-content .wp-block-columns {
  gap:30px;
  align-items:center;
}

.mm-eqcat-existing-content .wp-block-button__link {
  border-radius:11px;
}

/* Tablet */
@media(max-width:980px){
  .mm-eqcat-hero{
    grid-template-columns:1fr;
    min-height:auto;
  }

  .mm-eqcat-hero-visual{
    min-height:250px;
  }

  .mm-eqcat-intro{
    grid-template-columns:1fr;
  }

  .mm-eqcat-intro-side{
    position:static;
  }

  .mm-eqcat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .mm-eqcat-expertise{
    grid-template-columns:1fr;
  }
}

/* Mobile */
@media(max-width:700px){
  .mm-eqcat{
    width:min(100% - 28px,1240px);
    padding:34px 0 54px;
  }

  .mm-eqcat-hero{
    gap:24px;
    margin-bottom:46px;
    padding:28px 24px;
    border-radius:21px;
  }

  .mm-eqcat-hero h1{
    font-size:clamp(2.6rem,12vw,3.6rem);
  }

  .mm-eqcat-hero-visual{
    min-height:205px;
  }

  .mm-eqcat-hero-visual img{
    max-height:220px;
  }

  .mm-eqcat-intro{
    margin-bottom:46px;
  }

  .mm-eqcat-subhead{
    text-align:left;
  }

  .mm-eqcat-subhead h2{
    font-size:2.25rem;
  }

  .mm-eqcat-grid{
    grid-template-columns:1fr;
    gap:14px;
    margin-bottom:48px;
  }

  .mm-eqcat-card{
    display:grid;
    grid-template-columns:125px minmax(0,1fr);
    min-height:0;
  }

  .mm-eqcat-card-visual{
    min-height:100%;
    padding:12px;
  }

  .mm-eqcat-card-visual img{
    width:100%;
    height:110px;
  }

  .mm-eqcat-card-number{
    width:28px;
    height:28px;
    top:10px;
    left:10px;
  }

  .mm-eqcat-card-body{
    padding:17px;
  }

  .mm-eqcat-card h3{
    font-size:1.04rem;
  }

  .mm-eqcat-card p{
    font-size:.78rem;
    line-height:1.42;
    margin-bottom:10px;
  }

  .mm-eqcat-expertise-copy{
    padding:28px 24px;
  }

  .mm-eqcat-expertise-list{
    grid-template-columns:1fr;
    padding:12px 22px 22px;
  }

  .mm-eqcat-existing-content{
    padding:22px;
  }
}

@media(max-width:420px){
  .mm-eqcat-card{
    grid-template-columns:105px minmax(0,1fr);
  }

  .mm-eqcat-card-visual img{
    height:92px;
  }
}


/* ==========================================================
   v2.7 — vere sottocategorie navigabili
   ========================================================== */

.mm-eqcat-card-title-link {
  color: inherit !important;
  text-decoration: none !important;
}

.mm-eqcat-card-title-link:hover {
  color: var(--mm-blue) !important;
}

.mm-eqcat-card-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 13px;
  margin-top: auto;
}

.mm-eqcat-card-actions a {
  margin-top: 0;
}

.mm-eqcat-card-actions .mm-eqcat-explore {
  color: var(--mm-blue);
}

.mm-eqcat-card-actions .mm-eqcat-inquire {
  color: #687b96;
  font-size: .76rem;
}

.mm-eqcat-card-actions .mm-eqcat-inquire::after {
  content: "";
  margin-left: 0;
}

/* Subcategory detail */
.mm-eqsub-back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 23px;
  color: var(--mm-blue);
  text-decoration: none;
  font-size: .82rem;
  font-weight: 800;
}

.mm-eqsub-back::before {
  content: "←";
}

.mm-eqsub-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(340px,.92fr);
  gap: clamp(30px,5vw,68px);
  align-items: center;
  min-height: 420px;
  margin-bottom: 58px;
  padding: clamp(38px,5vw,64px);
  border: 1px solid #dce7f4;
  border-radius: 28px;
  background:
    radial-gradient(circle at 87% 14%, rgba(42,134,255,.18), transparent 30%),
    linear-gradient(135deg,#fbfdff,#eef6ff);
}

.mm-eqsub-hero::after {
  content:"";
  position:absolute;
  right:-130px;
  bottom:-210px;
  width:430px;
  height:430px;
  border:2px solid rgba(18,94,232,.10);
  border-radius:50%;
}

.mm-eqsub-hero-copy,
.mm-eqsub-hero-visual {
  position: relative;
  z-index: 2;
}

.mm-eqsub-hero h1 {
  margin: 0 0 17px;
  color: var(--mm-navy);
  font-size: clamp(2.8rem,4.8vw,4.8rem);
  line-height: .99;
  letter-spacing: -.045em;
}

.mm-eqsub-hero-copy > p:last-child {
  max-width: 680px;
  margin: 0;
  color: #627590;
  font-size: 1.08rem;
  line-height: 1.62;
}

.mm-eqsub-hero-visual {
  display: grid;
  place-items: center;
  min-height: 290px;
}

.mm-eqsub-hero-visual img {
  width: min(100%,390px);
  max-height: 310px;
  object-fit: contain;
  filter: drop-shadow(0 18px 30px rgba(7,26,61,.10));
}

.mm-eqsub-content {
  display: grid;
  grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
  gap: clamp(34px,5vw,70px);
  align-items: start;
  margin-bottom: 58px;
}

.mm-eqsub-content h2 {
  margin: 0;
  color: var(--mm-navy);
  font-size: clamp(2rem,3vw,3rem);
  line-height: 1.04;
  letter-spacing: -.035em;
}

.mm-eqsub-content-copy {
  color: #52647d;
  font-size: 1rem;
  line-height: 1.7;
}

.mm-eqsub-content-copy p:first-child {
  margin-top: 0;
}

.mm-eqsub-points {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
  margin-bottom: 58px;
}

.mm-eqsub-point {
  padding: 24px;
  border: 1px solid #dde7f2;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 11px 30px rgba(7,26,61,.05);
}

.mm-eqsub-point span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin-bottom: 16px;
  border-radius: 10px;
  background: #edf5ff;
  color: var(--mm-blue);
  font-size: .8rem;
  font-weight: 850;
}

.mm-eqsub-point h3 {
  margin: 0 0 7px;
  color: var(--mm-navy);
  font-size: 1rem;
}

.mm-eqsub-point p {
  margin: 0;
  color: #667892;
  font-size: .84rem;
  line-height: 1.5;
}

.mm-eqsub-cta {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 28px;
  align-items: center;
  padding: 34px 38px;
  border-radius: 21px;
  background:
    radial-gradient(circle at 80% 20%,rgba(34,116,238,.28),transparent 34%),
    #071a3d;
  color: #fff;
}

.mm-eqsub-cta h2 {
  margin: 0 0 8px;
  font-size: clamp(1.8rem,3vw,2.7rem);
  line-height: 1.05;
}

.mm-eqsub-cta p {
  margin: 0;
  max-width: 720px;
  color: #c3d0e2;
  line-height: 1.55;
}

.mm-eqsub-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 19px;
  border-radius: 12px;
  background: #fff;
  color: var(--mm-navy);
  text-decoration: none;
  font-weight: 850;
  white-space: nowrap;
}

@media(max-width:900px){
  .mm-eqsub-hero,
  .mm-eqsub-content{
    grid-template-columns:1fr;
  }

  .mm-eqsub-hero-visual{
    min-height:230px;
  }

  .mm-eqsub-points{
    grid-template-columns:1fr 1fr;
  }

  .mm-eqsub-cta{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .mm-eqcat-card-actions{
    gap:8px;
  }

  .mm-eqcat-card-actions .mm-eqcat-inquire{
    display:none;
  }

  .mm-eqsub-hero{
    gap:20px;
    min-height:0;
    padding:28px 24px;
    border-radius:21px;
  }

  .mm-eqsub-hero h1{
    font-size:clamp(2.4rem,11vw,3.25rem);
  }

  .mm-eqsub-hero-visual{
    min-height:180px;
  }

  .mm-eqsub-hero-visual img{
    max-height:205px;
  }

  .mm-eqsub-content{
    margin-bottom:42px;
  }

  .mm-eqsub-points{
    grid-template-columns:1fr;
    margin-bottom:42px;
  }

  .mm-eqsub-point{
    padding:20px;
  }

  .mm-eqsub-cta{
    padding:27px 23px;
  }

  .mm-eqsub-cta a{
    width:100%;
    box-sizing:border-box;
  }
}


/* ==========================================================
   v2.8 — Contrast + integration of existing page content
   ========================================================== */

/* Remove arrows from image/title links; keep it only on Explore. */
.mm-eqcat-card-visual::after,
.mm-eqcat-card-title-link::after,
.mm-eqcat-inquire::after {
  content: none !important;
  display: none !important;
}

.mm-eqcat-explore::after {
  content: "→" !important;
  display: inline !important;
  margin-left: 7px;
}

/* Fix dark-on-dark title in the blue expertise band. */
.mm-eqcat-expertise {
  background:
    radial-gradient(circle at 70% 50%,rgba(58,139,255,.24),transparent 36%),
    linear-gradient(100deg,#092452 0%,#0b2d61 50%,#173f7c 100%) !important;
}

.mm-eqcat-expertise-copy {
  background: rgba(0,0,0,.045);
}

.mm-eqcat-expertise-copy .mm-eqcat-kicker {
  color: #78b8ff !important;
}

.mm-eqcat-expertise-copy h2 {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 2px 18px rgba(0,0,0,.16);
}

.mm-eqcat-expertise-copy p {
  color: #d6e2f2 !important;
}

.mm-eqcat-expertise-list {
  background: rgba(255,255,255,.055) !important;
}

.mm-eqcat-expertise-item,
.mm-eqcat-expertise-item strong {
  color: #ffffff !important;
}

.mm-eqcat-expertise-item {
  border-bottom-color: rgba(255,255,255,.14) !important;
}

/* Existing content is now part of the category, not a technical "legacy" area. */
.mm-eqcat-category-content {
  margin: 8px 0 62px;
  padding: 0;
  border-top: 0;
}

.mm-eqcat-category-content > .mm-eqcat-subhead {
  max-width: 820px;
  margin-bottom: 30px;
}

.mm-eqcat-category-content .mm-eqcat-existing-content,
.mm-eqsub-legacy-content {
  padding: clamp(24px,3.4vw,42px);
  border-color: #dce7f3;
  box-shadow: 0 14px 44px rgba(7,26,61,.055);
}

/* Override restrictive widths from the old WordPress page. */
.mm-eqcat-existing-content > *,
.mm-eqcat-existing-content .wp-block-group,
.mm-eqcat-existing-content .wp-block-columns,
.mm-eqcat-existing-content .wp-block-column,
.mm-eqcat-existing-content .wp-block-media-text,
.mm-eqsub-legacy-content > *,
.mm-eqsub-legacy-content .wp-block-group,
.mm-eqsub-legacy-content .wp-block-columns,
.mm-eqsub-legacy-content .wp-block-column,
.mm-eqsub-legacy-content .wp-block-media-text {
  max-width: 100% !important;
}

.mm-eqcat-existing-content .wp-block-columns,
.mm-eqsub-legacy-content .wp-block-columns {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  gap: clamp(24px,4vw,52px) !important;
}

.mm-eqcat-existing-content h2,
.mm-eqcat-existing-content h3,
.mm-eqcat-existing-content h4,
.mm-eqsub-legacy-content h2,
.mm-eqsub-legacy-content h3,
.mm-eqsub-legacy-content h4 {
  color: var(--mm-navy) !important;
  line-height: 1.12;
}

.mm-eqcat-existing-content p,
.mm-eqsub-legacy-content p {
  color: #50627b;
  line-height: 1.65;
}

.mm-eqcat-existing-content .wp-block-button__link,
.mm-eqsub-legacy-content .wp-block-button__link {
  border-radius: 11px !important;
  background: var(--mm-blue) !important;
  color: #fff !important;
  font-weight: 800;
}

/* Content automatically associated with a virtual subcategory. */
.mm-eqsub-legacy {
  margin: 0 0 58px;
}

.mm-eqsub-legacy-head {
  display: grid;
  grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr);
  gap: clamp(28px,5vw,62px);
  align-items: end;
  margin-bottom: 24px;
}

.mm-eqsub-legacy-head h2 {
  margin: 0;
  color: var(--mm-navy);
  font-size: clamp(2rem,3.2vw,3.1rem);
  line-height: 1.04;
  letter-spacing: -.035em;
}

.mm-eqsub-legacy-head p:last-child {
  margin: 0;
  color: #687a93;
  line-height: 1.55;
}

.mm-eqsub-legacy-content {
  overflow: hidden;
  border: 1px solid #dce7f3;
  border-radius: 20px;
  background: #fff;
}

/* A matched old content block often already contains its own heading.
   Avoid excessive top whitespace. */
.mm-eqsub-legacy-content > *:first-child,
.mm-eqsub-legacy-content .wp-block-columns:first-child {
  margin-top: 0 !important;
}

@media(max-width:900px){
  .mm-eqsub-legacy-head{
    grid-template-columns:1fr;
    gap:12px;
  }
}

@media(max-width:700px){
  .mm-eqcat-category-content{
    margin-bottom:46px;
  }

  .mm-eqcat-category-content .mm-eqcat-existing-content,
  .mm-eqsub-legacy-content{
    padding:20px;
  }

  .mm-eqsub-legacy{
    margin-bottom:42px;
  }

  .mm-eqcat-existing-content .wp-block-columns,
  .mm-eqsub-legacy-content .wp-block-columns{
    flex-direction:column !important;
  }
}


/* ==========================================================
   v2.9 — CTA contrast + product pages inside new Attrezzature UI
   ========================================================== */

/* Absolute contrast fix for the dark subcategory CTA. */
body .mm-eqsub-cta {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 78% 18%, rgba(73,150,255,.34), transparent 35%),
    linear-gradient(115deg,#0b2858 0%,#123b78 100%) !important;
}

body .mm-eqsub-cta::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 380px;
  height: 380px;
  right: -155px;
  top: -220px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
}

body .mm-eqsub-cta h2,
body .mm-eqsub-cta h2.wp-block-heading,
body .mm-eqsub-cta div h2 {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.18) !important;
}

body .mm-eqsub-cta p,
body .mm-eqsub-cta div p {
  color: #dce8f7 !important;
  opacity: 1 !important;
}

body .mm-eqsub-cta > a,
body .mm-eqsub-cta .wp-element-button {
  background: #ffffff !important;
  color: #071a3d !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
}

body .mm-eqsub-cta > a:hover {
  background: #eaf3ff !important;
  color: #071a3d !important;
}

/* Product-list page reached from "Scopri i prodotti". */
.mm-eqproducts-back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 23px;
  color: var(--mm-blue);
  text-decoration: none;
  font-size: .82rem;
  font-weight: 800;
}

.mm-eqproducts-back::before {
  content: "←";
}

.mm-eqproducts-hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 48px;
  padding: clamp(38px,5vw,64px);
  border: 1px solid #dce7f4;
  border-radius: 28px;
  background:
    radial-gradient(circle at 90% 12%,rgba(42,134,255,.18),transparent 32%),
    linear-gradient(135deg,#fbfdff,#edf5ff);
}

.mm-eqproducts-hero::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -170px;
  bottom: -250px;
  border: 2px solid rgba(18,94,232,.10);
  border-radius: 50%;
}

.mm-eqproducts-hero > * {
  position: relative;
  z-index: 2;
}

.mm-eqproducts-hero h1 {
  max-width: 840px;
  margin: 0 0 16px;
  color: var(--mm-navy);
  font-size: clamp(2.7rem,4.7vw,4.7rem);
  line-height: .99;
  letter-spacing: -.045em;
}

.mm-eqproducts-hero > p:last-child {
  max-width: 760px;
  margin: 0;
  color: #63758f;
  font-size: 1.06rem;
  line-height: 1.6;
}

.mm-eqproducts-source {
  margin-bottom: 54px;
}

.mm-eqproducts-head {
  display: grid;
  grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr);
  gap: clamp(28px,5vw,62px);
  align-items: end;
  margin-bottom: 24px;
}

.mm-eqproducts-head h2 {
  margin: 0;
  color: var(--mm-navy);
  font-size: clamp(2rem,3.2vw,3.15rem);
  line-height: 1.04;
  letter-spacing: -.035em;
}

.mm-eqproducts-head p:last-child {
  margin: 0;
  color: #687a93;
  line-height: 1.55;
}

.mm-eqproducts-content {
  overflow: hidden;
  padding: clamp(24px,3.4vw,42px);
  border: 1px solid #dce7f3;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 15px 45px rgba(7,26,61,.06);
}

.mm-eqproducts-content > *,
.mm-eqproducts-content .wp-block-group,
.mm-eqproducts-content .wp-block-columns,
.mm-eqproducts-content .wp-block-column,
.mm-eqproducts-content .wp-block-media-text {
  max-width: 100% !important;
}

.mm-eqproducts-content .wp-block-columns {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  gap: clamp(22px,4vw,48px) !important;
}

.mm-eqproducts-content h1,
.mm-eqproducts-content h2,
.mm-eqproducts-content h3,
.mm-eqproducts-content h4 {
  color: var(--mm-navy) !important;
  line-height: 1.12;
}

.mm-eqproducts-content p,
.mm-eqproducts-content li {
  color: #52647d;
  line-height: 1.65;
}

.mm-eqproducts-content img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 14px;
}

.mm-eqproducts-content .wp-block-button__link,
.mm-eqproducts-content .wp-element-button {
  border-radius: 11px !important;
  background: var(--mm-blue) !important;
  color: #fff !important;
  font-weight: 800;
}

.mm-eqproducts-empty {
  padding: 42px 30px;
  border: 1px dashed #cbdbee;
  border-radius: 20px;
  background: #f7fbff;
  text-align: center;
}

.mm-eqproducts-empty h2 {
  margin: 0 0 10px;
  color: var(--mm-navy);
}

.mm-eqproducts-empty p {
  margin: 0 auto;
  max-width: 680px;
  color: #687a93;
  line-height: 1.6;
}

@media(max-width:900px){
  .mm-eqproducts-head{
    grid-template-columns:1fr;
    gap:12px;
  }
}

@media(max-width:700px){
  body .mm-eqsub-cta h2,
  body .mm-eqsub-cta h2.wp-block-heading {
    font-size: 1.85rem !important;
    line-height: 1.08 !important;
  }

  .mm-eqproducts-hero{
    padding:28px 24px;
    border-radius:21px;
  }

  .mm-eqproducts-hero h1{
    font-size:clamp(2.35rem,11vw,3.2rem);
  }

  .mm-eqproducts-content{
    padding:20px;
  }

  .mm-eqproducts-content .wp-block-columns{
    flex-direction:column !important;
  }
}


/* ==========================================================
   v3.0 — contenuto specifico direttamente sotto il titolo
   ========================================================== */

.mm-eqsub-hero.mm-eqsub-hero--compact {
  grid-template-columns: 1fr !important;
  min-height: 0 !important;
  margin-bottom: 28px !important;
  padding-bottom: 40px !important;
}

.mm-eqsub-hero.mm-eqsub-hero--compact .mm-eqsub-hero-visual {
  display: none !important;
}

.mm-eqsub-hero.mm-eqsub-hero--compact .mm-eqsub-hero-copy > p:last-child {
  max-width: 840px;
}

.mm-eqsub-primary {
  margin: 0 0 56px;
}

.mm-eqsub-primary-content {
  overflow: hidden;
  padding: clamp(28px,3.7vw,46px);
  border: 1px solid #dce7f3;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 48px rgba(7,26,61,.065);
}

.mm-eqsub-primary-content > *,
.mm-eqsub-primary-content .wp-block-group,
.mm-eqsub-primary-content .wp-block-columns,
.mm-eqsub-primary-content .wp-block-column,
.mm-eqsub-primary-content .wp-block-media-text {
  max-width: 100% !important;
}

.mm-eqsub-primary-content .wp-block-columns {
  width: 100% !important;
  margin: 0 !important;
  gap: clamp(30px,5vw,64px) !important;
  align-items: center !important;
}

.mm-eqsub-primary-content figure {
  margin: 0 !important;
}

.mm-eqsub-primary-content img {
  display: block;
  max-width: 100% !important;
  height: auto !important;
  margin-inline: auto;
  border-radius: 14px;
}

.mm-eqsub-primary-content h1,
.mm-eqsub-primary-content h2,
.mm-eqsub-primary-content h3,
.mm-eqsub-primary-content h4 {
  color: var(--mm-navy) !important;
  line-height: 1.12;
}

.mm-eqsub-primary-content p {
  color: #52647d;
  font-size: 1rem;
  line-height: 1.68;
}

.mm-eqsub-primary-content .wp-block-button__link,
.mm-eqsub-primary-content .wp-element-button {
  border-radius: 11px !important;
  background: var(--mm-blue) !important;
  color: #fff !important;
  font-weight: 800;
}

.mm-eqsub-primary-fallback {
  display: grid;
  grid-template-columns: minmax(260px,.85fr) minmax(0,1.15fr);
  gap: clamp(30px,5vw,64px);
  align-items: center;
  padding: clamp(28px,3.7vw,46px);
  border: 1px solid #dce7f3;
  border-radius: 22px;
  background:
    radial-gradient(circle at 12% 18%,rgba(42,134,255,.10),transparent 30%),
    #fff;
  box-shadow: 0 16px 48px rgba(7,26,61,.065);
}

.mm-eqsub-primary-fallback img {
  display: block;
  width: min(100%,360px);
  max-height: 290px;
  margin-inline: auto;
  object-fit: contain;
}

.mm-eqsub-primary-fallback p {
  margin: 0;
  color: #52647d;
  font-size: 1.03rem;
  line-height: 1.68;
}

/* Safety against old cached HTML */
.mm-eqsub-legacy {
  display: none !important;
}

@media(max-width:900px){
  .mm-eqsub-primary-fallback{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .mm-eqsub-hero.mm-eqsub-hero--compact{
    margin-bottom:22px !important;
    padding-bottom:30px !important;
  }

  .mm-eqsub-primary{
    margin-bottom:42px;
  }

  .mm-eqsub-primary-content,
  .mm-eqsub-primary-fallback{
    padding:20px;
    border-radius:18px;
  }

  .mm-eqsub-primary-content .wp-block-columns{
    flex-direction:column !important;
    gap:24px !important;
  }

  .mm-eqsub-primary-content p,
  .mm-eqsub-primary-fallback p{
    font-size:.96rem;
  }
}

/* ===== SOURCE: assets/css/v3.1-riuniti-sample.css ===== */
/* ==========================================================
   MyMedical 2026 v3.1
   Pagina campione approvata: Riuniti odontoiatrici
   ========================================================== */

.mm-riuniti-page {
  width: 100%;
  overflow: hidden;
}

.mm-riuniti-hero {
  position: relative;
  isolation: isolate;
  padding: 34px 0 26px;
  background:
    radial-gradient(circle at 50% 26%, rgba(48,132,255,.12), transparent 32%),
    linear-gradient(110deg,#f9fcff 0%,#edf5ff 58%,#f9fcff 100%);
  border-bottom: 1px solid #e0e9f4;
}

.mm-riuniti-hero::before,
.mm-riuniti-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 50%;
  pointer-events: none;
}

.mm-riuniti-hero::before {
  width: 720px;
  height: 720px;
  left: -420px;
  bottom: -420px;
}

.mm-riuniti-hero::after {
  width: 640px;
  height: 640px;
  right: -360px;
  top: -365px;
}

.mm-riuniti-hero-inner,
.mm-riuniti-models,
.mm-riuniti-valueband,
.mm-riuniti-technical {
  width: min(1240px, calc(100% - 48px));
  margin-inline: auto;
}

.mm-riuniti-hero-inner {
  display: grid;
  grid-template-columns: minmax(250px,.86fr) minmax(360px,1.08fr) minmax(330px,.94fr);
  gap: 18px;
  align-items: stretch;
}

.mm-riuniti-title-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 34px 14px 34px 0;
}

.mm-riuniti-title-panel h1 {
  margin: 0 0 18px;
  color: var(--mm-navy);
  font-size: clamp(3.25rem,5vw,5.35rem);
  line-height: .96;
  letter-spacing: -.055em;
}

.mm-riuniti-title-panel > p {
  max-width: 390px;
  margin: 0;
  color: #61748e;
  font-size: clamp(1.05rem,1.5vw,1.23rem);
  line-height: 1.56;
}

.mm-riuniti-photo-card,
.mm-riuniti-info-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dce6f2;
  border-radius: 24px;
  background: rgba(255,255,255,.93);
  box-shadow: 0 18px 50px rgba(7,26,61,.075);
}

.mm-riuniti-photo-card {
  display: grid;
  place-items: center;
  min-height: 405px;
  padding: 24px;
}

.mm-riuniti-photo-card img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 390px;
  object-fit: contain;
  filter: drop-shadow(0 18px 25px rgba(7,26,61,.08));
}

.mm-riuniti-photo-placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 350px;
  color: #8798ad;
  background:
    radial-gradient(circle at 85% 12%,rgba(42,134,255,.13),transparent 34%),
    #f8fbff;
  text-align: center;
  font-weight: 750;
}

.mm-riuniti-info-card {
  display: flex;
  flex-direction: column;
  padding: 28px 28px 24px;
}

.mm-riuniti-info-head {
  display: grid;
  grid-template-columns: 50px minmax(0,1fr);
  gap: 12px;
  align-items: start;
  margin-bottom: 13px;
}

.mm-riuniti-info-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #edf5ff;
  color: var(--mm-blue);
}

.mm-riuniti-info-icon svg {
  width: 25px;
  height: 25px;
}

.mm-riuniti-info-head h2 {
  margin: 1px 0 0;
  color: var(--mm-navy);
  font-size: 1.03rem;
  line-height: 1.34;
}

.mm-riuniti-info-copy {
  margin: 0 0 16px;
  color: #61738d;
  font-size: .9rem;
  line-height: 1.55;
}

.mm-riuniti-benefits {
  display: grid;
  gap: 5px;
  margin: auto 0 18px;
}

.mm-riuniti-benefit {
  display: grid;
  grid-template-columns: 35px minmax(0,1fr);
  gap: 10px;
  align-items: center;
  min-height: 39px;
}

.mm-riuniti-benefit-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #f0f6ff;
  color: var(--mm-blue);
  font-size: .9rem;
  font-weight: 900;
}

.mm-riuniti-benefit strong {
  color: var(--mm-navy);
  font-size: .82rem;
}

.mm-riuniti-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.mm-riuniti-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 47px;
  padding: 10px 13px;
  border-radius: 11px;
  text-decoration: none;
  text-align: center;
  font-size: .82rem;
  font-weight: 850;
}

.mm-riuniti-action-primary {
  background: var(--mm-blue);
  color: #fff;
}

.mm-riuniti-action-secondary {
  border: 1.7px solid var(--mm-navy);
  background: #fff;
  color: var(--mm-navy);
}

.mm-riuniti-action-secondary::after {
  content: "→";
  margin-left: 7px;
}

/* ----------------------------------------------------------
   Models & configurations
   ---------------------------------------------------------- */

.mm-riuniti-models {
  padding: 42px 0 14px;
}

.mm-riuniti-section-kicker {
  margin: 0 0 6px;
  color: var(--mm-blue);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.mm-riuniti-models-head {
  margin-bottom: 18px;
}

.mm-riuniti-models-head h2 {
  margin: 0 0 5px;
  color: var(--mm-navy);
  font-size: clamp(1.75rem,3vw,2.65rem);
  line-height: 1.04;
  letter-spacing: -.035em;
}

.mm-riuniti-models-head p {
  margin: 0;
  color: #73849b;
  font-size: .86rem;
}

.mm-riuniti-models-content {
  min-width: 0;
}

/* Turn existing old columns/groups into premium cards. */
.mm-riuniti-models-content > .wp-block-columns,
.mm-riuniti-models-content .wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.mm-riuniti-models-content .wp-block-column,
.mm-riuniti-model-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: 17px !important;
  border: 1px solid #dbe6f2;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(7,26,61,.045);
}

.mm-riuniti-models-content .wp-block-column {
  display: grid;
  grid-template-columns: 42% minmax(0,1fr);
  gap: 14px;
  align-items: center;
}

.mm-riuniti-models-content figure {
  margin: 0 !important;
}

.mm-riuniti-models-content img {
  display: block;
  width: 100%;
  max-height: 135px;
  object-fit: contain;
}

.mm-riuniti-models-content h2,
.mm-riuniti-models-content h3,
.mm-riuniti-models-content h4 {
  margin: 0 0 7px !important;
  color: var(--mm-navy) !important;
  font-size: 1rem !important;
  line-height: 1.16 !important;
}

.mm-riuniti-models-content p {
  margin: 0 0 8px;
  color: #697b94;
  font-size: .76rem;
  line-height: 1.45;
}

.mm-riuniti-models-content a {
  color: var(--mm-blue);
  font-size: .76rem;
  font-weight: 850;
  text-decoration: none;
}

.mm-riuniti-models-empty {
  padding: 30px;
  border: 1px dashed #cbdbee;
  border-radius: 17px;
  background: #f8fbff;
  color: #667993;
  text-align: center;
}

/* ----------------------------------------------------------
   Technical benefits
   ---------------------------------------------------------- */

.mm-riuniti-technical {
  padding: 34px 0 18px;
}

.mm-riuniti-technical-head {
  max-width: 760px;
  margin: 0 auto 22px;
  text-align: center;
}

.mm-riuniti-technical-head h2 {
  margin: 0 0 8px;
  color: var(--mm-navy);
  font-size: clamp(1.9rem,3vw,2.8rem);
  line-height: 1.04;
  letter-spacing: -.035em;
}

.mm-riuniti-technical-head p {
  margin: 0;
  color: #71839a;
  line-height: 1.55;
}

.mm-riuniti-feature-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}

.mm-riuniti-feature {
  padding: 22px;
  border: 1px solid #dbe6f2;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(7,26,61,.045);
}

.mm-riuniti-feature-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-bottom: 14px;
  border-radius: 50%;
  background: #edf5ff;
  color: var(--mm-blue);
  font-weight: 900;
}

.mm-riuniti-feature h3 {
  margin: 0 0 7px;
  color: var(--mm-navy);
  font-size: .97rem;
}

.mm-riuniti-feature p {
  margin: 0;
  color: #687a93;
  font-size: .79rem;
  line-height: 1.5;
}

/* ----------------------------------------------------------
   Dark value band: approved mockup direction
   ---------------------------------------------------------- */

.mm-riuniti-valueband {
  display: grid;
  grid-template-columns: .8fr repeat(4,1fr);
  gap: 0;
  overflow: hidden;
  margin-top: 22px;
  margin-bottom: 56px;
  border-radius: 20px;
  background:
    radial-gradient(circle at 5% 95%,rgba(28,105,235,.25),transparent 22%),
    radial-gradient(circle at 98% 100%,rgba(28,105,235,.18),transparent 22%),
    linear-gradient(105deg,#071b3f,#0b2f68);
  box-shadow: 0 20px 50px rgba(7,26,61,.13);
}

.mm-riuniti-value-title,
.mm-riuniti-value-item {
  padding: 28px 25px;
}

.mm-riuniti-value-title {
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 1.55rem;
  font-weight: 850;
  line-height: 1.08;
}

.mm-riuniti-value-item {
  position: relative;
  border-left: 1px solid rgba(255,255,255,.12);
  color: #d8e4f4;
}

.mm-riuniti-value-item span {
  display: grid;
  place-items: center;
  width: 39px;
  height: 39px;
  margin-bottom: 11px;
  border: 1px solid #458df3;
  border-radius: 50%;
  color: #75b1ff;
  font-size: .85rem;
  font-weight: 900;
}

.mm-riuniti-value-item strong {
  display: block;
  margin-bottom: 4px;
  color: #fff;
  font-size: .83rem;
}

.mm-riuniti-value-item p {
  margin: 0;
  color: #c7d5e7;
  font-size: .72rem;
  line-height: 1.47;
}

/* ----------------------------------------------------------
   Responsive
   ---------------------------------------------------------- */

@media(max-width:1080px) {
  .mm-riuniti-hero-inner {
    grid-template-columns: .82fr 1.18fr;
  }

  .mm-riuniti-info-card {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    column-gap: 26px;
  }

  .mm-riuniti-info-head,
  .mm-riuniti-info-copy {
    grid-column: 1;
  }

  .mm-riuniti-benefits,
  .mm-riuniti-actions {
    grid-column: 2;
  }

  .mm-riuniti-benefits {
    grid-row: 1 / span 2;
  }

  .mm-riuniti-valueband {
    grid-template-columns: repeat(2,1fr);
  }

  .mm-riuniti-value-title {
    grid-column: 1 / -1;
  }

  .mm-riuniti-value-item:nth-of-type(odd) {
    border-left: 0;
  }
}

@media(max-width:820px) {
  .mm-riuniti-hero-inner {
    grid-template-columns: 1fr;
  }

  .mm-riuniti-title-panel {
    padding: 18px 0 6px;
  }

  .mm-riuniti-title-panel h1 {
    font-size: clamp(3rem,10vw,4rem);
  }

  .mm-riuniti-photo-card {
    min-height: 350px;
  }

  .mm-riuniti-info-card {
    display: flex;
  }

  .mm-riuniti-models-content > .wp-block-columns,
  .mm-riuniti-models-content .wp-block-columns {
    grid-template-columns: 1fr !important;
  }

  .mm-riuniti-feature-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px) {
  .mm-riuniti-hero-inner,
  .mm-riuniti-models,
  .mm-riuniti-valueband,
  .mm-riuniti-technical {
    width: min(100% - 28px,1240px);
  }

  .mm-riuniti-hero {
    padding-top: 18px;
  }

  .mm-riuniti-title-panel h1 {
    font-size: clamp(2.75rem,13vw,3.55rem);
  }

  .mm-riuniti-title-panel > p {
    font-size: 1rem;
  }

  .mm-riuniti-photo-card,
  .mm-riuniti-info-card {
    border-radius: 19px;
  }

  .mm-riuniti-photo-card {
    min-height: 290px;
    padding: 16px;
  }

  .mm-riuniti-photo-card img {
    max-height: 290px;
  }

  .mm-riuniti-info-card {
    padding: 22px;
  }

  .mm-riuniti-actions {
    grid-template-columns: 1fr;
  }

  .mm-riuniti-models {
    padding-top: 34px;
  }

  .mm-riuniti-models-content .wp-block-column {
    grid-template-columns: 115px minmax(0,1fr);
  }

  .mm-riuniti-feature-grid {
    grid-template-columns: 1fr;
  }

  .mm-riuniti-valueband {
    grid-template-columns: 1fr;
  }

  .mm-riuniti-value-title,
  .mm-riuniti-value-item {
    border-left: 0;
    border-bottom: 1px solid rgba(255,255,255,.10);
    padding: 22px;
  }

  .mm-riuniti-value-item:last-child {
    border-bottom: 0;
  }
}


/* ==========================================================
   v3.2 — foto hero migliore + card modelli ricostruite
   ========================================================== */

.mm-riuniti-photo-card {
  position: relative;
  background:
    radial-gradient(circle at 75% 15%,rgba(42,134,255,.08),transparent 28%),
    #fff;
}

.mm-riuniti-photo-card img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 390px !important;
  object-fit: contain !important;
}

/* Clean cards generated by the theme: do not inherit the old page grid. */
.mm-riuniti-model-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
}

.mm-riuniti-model-grid.is-single {
  grid-template-columns: minmax(0,720px);
}

.mm-riuniti-model-grid.is-two {
  grid-template-columns: repeat(2,minmax(0,1fr));
}

.mm-riuniti-model-card {
  display: grid;
  grid-template-columns: minmax(135px,.8fr) minmax(0,1.2fr);
  gap: 16px;
  align-items: center;
  min-width: 0;
  min-height: 190px;
  padding: 18px;
  border: 1px solid #dbe6f2;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 11px 32px rgba(7,26,61,.05);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.mm-riuniti-model-card:hover {
  transform: translateY(-4px);
  border-color: #bdd3ef;
  box-shadow: 0 18px 42px rgba(7,26,61,.09);
}

.mm-riuniti-model-media {
  display: grid;
  place-items: center;
  min-height: 145px;
  padding: 8px;
  border-radius: 13px;
  background:
    radial-gradient(circle at 80% 10%,rgba(42,134,255,.10),transparent 32%),
    #f8fbff;
  text-decoration: none;
}

.mm-riuniti-model-media img {
  display: block;
  width: 100%;
  max-width: 185px;
  height: 135px;
  object-fit: contain;
}

.mm-riuniti-model-media-placeholder {
  display: grid;
  place-items: center;
  min-height: 125px;
  color: #8a9aaf;
  font-size: .75rem;
  font-weight: 750;
  text-align: center;
}

.mm-riuniti-model-body {
  min-width: 0;
}

.mm-riuniti-model-brand {
  display: block;
  margin-bottom: 5px;
  color: var(--mm-blue);
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mm-riuniti-model-card h3 {
  margin: 0 0 8px;
  color: var(--mm-navy);
  font-size: 1.03rem;
  line-height: 1.18;
}

.mm-riuniti-model-card h3 a {
  color: inherit;
  text-decoration: none;
}

.mm-riuniti-model-card p {
  display: -webkit-box;
  overflow: hidden;
  margin: 0 0 11px;
  color: #687a93;
  font-size: .78rem;
  line-height: 1.48;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.mm-riuniti-model-link {
  display: inline-flex;
  align-items: center;
  color: var(--mm-blue);
  text-decoration: none;
  font-size: .77rem;
  font-weight: 850;
}

.mm-riuniti-model-link::after {
  content: "→";
  margin-left: 6px;
  transition: transform .18s ease;
}

.mm-riuniti-model-card:hover .mm-riuniti-model-link::after {
  transform: translateX(3px);
}

.mm-riuniti-models-note {
  margin-top: 12px;
  color: #8290a4;
  font-size: .72rem;
}

@media(max-width:1000px){
  .mm-riuniti-model-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .mm-riuniti-model-grid.is-single{
    grid-template-columns:minmax(0,720px);
  }
}

@media(max-width:700px){
  .mm-riuniti-model-grid,
  .mm-riuniti-model-grid.is-single,
  .mm-riuniti-model-grid.is-two{
    grid-template-columns:1fr;
  }

  .mm-riuniti-model-card{
    grid-template-columns:115px minmax(0,1fr);
    gap:13px;
    min-height:155px;
    padding:15px;
  }

  .mm-riuniti-model-media{
    min-height:120px;
  }

  .mm-riuniti-model-media img{
    height:110px;
  }
}


/* ==========================================================
   v3.3 — correzione proporzioni HERO Riuniti
   ========================================================== */

@media (min-width:1081px) {
  .mm-riuniti-hero-inner {
    width: min(1340px, calc(100% - 40px)) !important;
    grid-template-columns:
      minmax(390px, 1.02fr)
      minmax(410px, 1.07fr)
      minmax(390px, 1fr) !important;
    gap: 18px !important;
  }

  .mm-riuniti-title-panel {
    padding-right: 22px !important;
  }

  .mm-riuniti-title-panel h1 {
    max-width: none !important;
    font-size: clamp(3.35rem, 4vw, 4.45rem) !important;
    line-height: .98 !important;
    letter-spacing: -.048em !important;
    overflow: visible !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  .mm-riuniti-title-panel > p {
    max-width: 370px !important;
  }

  .mm-riuniti-photo-card {
    min-height: 410px !important;
    height: 410px !important;
    padding: 10px !important;
  }

  .mm-riuniti-photo-card img {
    width: 116% !important;
    max-width: 116% !important;
    max-height: 430px !important;
    transform: scale(1.08);
    transform-origin: center center;
  }

  .mm-riuniti-info-card {
    min-width: 0 !important;
    width: auto !important;
    padding: 25px 26px 22px !important;
  }

  .mm-riuniti-info-head {
    grid-template-columns: 48px minmax(0,1fr) !important;
    width: 100% !important;
  }

  .mm-riuniti-info-head h2 {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    font-size: 1.02rem !important;
    line-height: 1.34 !important;
  }

  .mm-riuniti-info-copy {
    width: 100% !important;
    max-width: none !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  .mm-riuniti-benefit strong {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
}

/* Medium desktop / notebook */
@media (min-width:1081px) and (max-width:1380px) {
  .mm-riuniti-hero-inner {
    width: min(1280px, calc(100% - 34px)) !important;
    grid-template-columns:
      minmax(350px, .98fr)
      minmax(390px, 1.06fr)
      minmax(360px, 1fr) !important;
  }

  .mm-riuniti-title-panel h1 {
    font-size: clamp(3.15rem, 4.1vw, 4rem) !important;
  }

  .mm-riuniti-photo-card {
    height: 390px !important;
    min-height: 390px !important;
  }

  .mm-riuniti-photo-card img {
    max-height: 405px !important;
  }
}

/* Make sure no inherited page typography can squeeze hero text */
.mm-riuniti-page .mm-riuniti-info-card h2,
.mm-riuniti-page .mm-riuniti-info-card p,
.mm-riuniti-page .mm-riuniti-info-card strong,
.mm-riuniti-page .mm-riuniti-title-panel h1,
.mm-riuniti-page .mm-riuniti-title-panel p {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

/* ===== SOURCE: assets/css/v3.4-riuniti-mockup-lock.css ===== */
/* ==========================================================
   MyMedical 2026 v3.4
   RIUNITI — MOCKUP LOCK
   Layout rebuilt to match approved mockup.
   ========================================================== */

.mm-riuniti-v34 {
  width: 100%;
  overflow: hidden;
  background: #fff;
}

.mm-riuniti-v34 * {
  box-sizing: border-box;
}

.mm-riuniti-v34-hero {
  padding: 20px 0 0;
  background:
    radial-gradient(circle at 52% 26%, rgba(45,126,246,.10), transparent 31%),
    linear-gradient(112deg,#f8fbff 0%,#edf5ff 60%,#fafcff 100%);
  border-bottom: 1px solid #e6edf6;
}

.mm-riuniti-v34-hero-inner,
.mm-riuniti-v34-models,
.mm-riuniti-v34-band {
  width: min(1320px, calc(100% - 48px));
  margin-inline: auto;
}

.mm-riuniti-v34-hero-inner {
  display: grid;
  grid-template-columns: 1.02fr 1.12fr 1fr;
  gap: 18px;
  align-items: stretch;
  min-height: 445px;
}

.mm-riuniti-v34-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 24px 34px 0;
}

.mm-riuniti-v34-title h1 {
  margin: 0 0 22px !important;
  color: #071a3d !important;
  font-size: clamp(4rem, 4.9vw, 5.6rem) !important;
  line-height: .94 !important;
  letter-spacing: -.055em !important;
  font-weight: 820 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.mm-riuniti-v34-title h1 span {
  display: block;
}

.mm-riuniti-v34-title p {
  max-width: 410px;
  margin: 0 !important;
  color: #5d6f88 !important;
  font-size: clamp(1.12rem,1.4vw,1.35rem) !important;
  line-height: 1.58 !important;
}

.mm-riuniti-v34-photo,
.mm-riuniti-v34-info {
  align-self: stretch;
  border: 1px solid #dbe5f1;
  border-radius: 24px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 14px 40px rgba(7,26,61,.07);
}

.mm-riuniti-v34-photo {
  display: grid;
  place-items: center;
  min-height: 425px;
  padding: 14px;
  overflow: hidden;
}

.mm-riuniti-v34-photo img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 415px !important;
  object-fit: contain !important;
  object-position: center center !important;
}

.mm-riuniti-v34-info {
  display: flex;
  flex-direction: column;
  padding: 26px 28px 22px;
}

.mm-riuniti-v34-info-top {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 12px;
  align-items: start;
  margin-bottom: 12px;
}

.mm-riuniti-v34-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #eef5ff;
  color: #1565e8;
  font-size: 1.2rem;
  font-weight: 900;
}

.mm-riuniti-v34-info h2 {
  margin: 2px 0 0 !important;
  color: #071a3d !important;
  font-size: 1.13rem !important;
  line-height: 1.33 !important;
  font-weight: 780 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  writing-mode: horizontal-tb !important;
}

.mm-riuniti-v34-info-copy {
  margin: 0 0 14px !important;
  color: #61738d !important;
  font-size: .92rem !important;
  line-height: 1.55 !important;
}

.mm-riuniti-v34-benefits {
  display: grid;
  gap: 6px;
  margin: 2px 0 18px;
}

.mm-riuniti-v34-benefit {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  align-items: center;
  min-height: 38px;
}

.mm-riuniti-v34-benefit b {
  color: #071a3d !important;
  font-size: .84rem !important;
  line-height: 1.3 !important;
  font-weight: 760 !important;
  white-space: normal !important;
}

.mm-riuniti-v34-benefit span {
  display: grid;
  place-items: center;
  width: 33px;
  height: 33px;
  border-radius: 50%;
  background: #eff6ff;
  color: #1565e8;
  font-size: .7rem;
  font-weight: 900;
}

.mm-riuniti-v34-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: auto;
}

.mm-riuniti-v34-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 14px;
  border-radius: 10px;
  text-decoration: none !important;
  text-align: center;
  font-size: .84rem !important;
  font-weight: 820 !important;
}

.mm-riuniti-v34-primary {
  background: #1260e8;
  color: #fff !important;
}

.mm-riuniti-v34-secondary {
  border: 1.7px solid #071a3d;
  background: #fff;
  color: #071a3d !important;
}

.mm-riuniti-v34-secondary::after {
  content: "→";
  margin-left: 7px;
}

/* MODELS */
.mm-riuniti-v34-models {
  padding: 20px 0 14px;
}

.mm-riuniti-v34-eyebrow {
  margin: 0 0 5px;
  color: #1260e8;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.mm-riuniti-v34-models h2 {
  margin: 0 0 5px !important;
  color: #071a3d !important;
  font-size: clamp(1.95rem,2.6vw,2.75rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em !important;
}

.mm-riuniti-v34-models > p {
  margin: 0 0 16px !important;
  color: #75869b !important;
  font-size: .86rem !important;
}

.mm-riuniti-v34-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
}

.mm-riuniti-v34-grid.is-one {
  grid-template-columns: minmax(0,780px);
}

.mm-riuniti-v34-grid.is-two {
  grid-template-columns: repeat(2,minmax(0,1fr));
}

.mm-riuniti-v34-card {
  display: grid;
  grid-template-columns: 42% 1fr;
  gap: 12px;
  align-items: center;
  min-height: 145px;
  padding: 13px 16px;
  border: 1px solid #d9e4f0;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(7,26,61,.045);
}

.mm-riuniti-v34-card-photo {
  display: grid;
  place-items: center;
  min-height: 115px;
  text-decoration: none;
}

.mm-riuniti-v34-card-photo img {
  width: 100% !important;
  height: 110px !important;
  object-fit: contain !important;
}

.mm-riuniti-v34-card-body {
  min-width: 0;
}

.mm-riuniti-v34-brand {
  display: block;
  margin-bottom: 4px;
  color: #1260e8;
  font-size: .63rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mm-riuniti-v34-card h3 {
  margin: 0 0 6px !important;
  color: #071a3d !important;
  font-size: 1rem !important;
  line-height: 1.18 !important;
}

.mm-riuniti-v34-card p {
  margin: 0 0 7px !important;
  color: #6c7d95 !important;
  font-size: .74rem !important;
  line-height: 1.42 !important;
}

.mm-riuniti-v34-card a {
  color: #1260e8;
  text-decoration: none !important;
  font-size: .74rem;
  font-weight: 820;
}

.mm-riuniti-v34-card a:last-child::after {
  content: "→";
  margin-left: 5px;
}

/* DARK BAND */
.mm-riuniti-v34-band {
  display: grid;
  grid-template-columns: .8fr repeat(4,1fr);
  gap: 0;
  overflow: hidden;
  margin-top: 14px;
  margin-bottom: 48px;
  border-radius: 17px;
  background:
    radial-gradient(circle at 4% 96%,rgba(37,117,255,.2),transparent 24%),
    radial-gradient(circle at 96% 96%,rgba(37,117,255,.18),transparent 22%),
    linear-gradient(110deg,#071a3d,#0c2f66);
}

.mm-riuniti-v34-band-title,
.mm-riuniti-v34-band-item {
  padding: 24px 22px;
}

.mm-riuniti-v34-band-title {
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 1.45rem;
  line-height: 1.08;
  font-weight: 840;
}

.mm-riuniti-v34-band-item {
  border-left: 1px solid rgba(255,255,255,.12);
}

.mm-riuniti-v34-band-item span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin-bottom: 9px;
  border: 1px solid #4e92ed;
  border-radius: 50%;
  color: #79b4ff;
  font-size: .72rem;
  font-weight: 900;
}

.mm-riuniti-v34-band-item strong {
  display: block;
  margin-bottom: 4px;
  color: #fff !important;
  font-size: .81rem;
}

.mm-riuniti-v34-band-item p {
  margin: 0 !important;
  color: #c9d6e8 !important;
  font-size: .7rem !important;
  line-height: 1.45 !important;
}

/* TABLET */
@media(max-width:1100px){
  .mm-riuniti-v34-hero-inner{
    grid-template-columns:1fr 1.08fr;
  }

  .mm-riuniti-v34-info{
    grid-column:1 / -1;
  }

  .mm-riuniti-v34-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .mm-riuniti-v34-band{
    grid-template-columns:repeat(2,1fr);
  }

  .mm-riuniti-v34-band-title{
    grid-column:1 / -1;
  }
}

/* MOBILE */
@media(max-width:700px){
  .mm-riuniti-v34-hero-inner,
  .mm-riuniti-v34-models,
  .mm-riuniti-v34-band{
    width:min(100% - 28px,1320px);
  }

  .mm-riuniti-v34-hero-inner{
    grid-template-columns:1fr;
    min-height:0;
  }

  .mm-riuniti-v34-title{
    padding:16px 0 4px;
  }

  .mm-riuniti-v34-title h1{
    font-size:clamp(3rem,13vw,3.8rem) !important;
  }

  .mm-riuniti-v34-photo{
    min-height:300px;
  }

  .mm-riuniti-v34-info{
    padding:21px;
  }

  .mm-riuniti-v34-actions{
    grid-template-columns:1fr;
  }

  .mm-riuniti-v34-grid,
  .mm-riuniti-v34-grid.is-one,
  .mm-riuniti-v34-grid.is-two{
    grid-template-columns:1fr;
  }

  .mm-riuniti-v34-card{
    grid-template-columns:115px 1fr;
  }

  .mm-riuniti-v34-band{
    grid-template-columns:1fr;
  }

  .mm-riuniti-v34-band-title,
  .mm-riuniti-v34-band-item{
    border-left:0;
    border-bottom:1px solid rgba(255,255,255,.1);
  }

  .mm-riuniti-v34-band-item:last-child{
    border-bottom:0;
  }
}


/* ==========================================================
   v3.5 — STRUCTURAL FULL-WIDTH FIX
   The Gutenberg shortcode parent was constraining the approved layout.
   These rules remove that parent constraint and lock the desktop
   proportions to the approved mockup.
   ========================================================== */

.mm-equipment-runtime-full,
.wp-site-blocks > .mm-equipment-runtime-full {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.mm-equipment-runtime-full > .wp-block-shortcode,
.mm-equipment-runtime-full .wp-block-shortcode {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.mm-equipment-runtime-full .mm-riuniti-v34 {
  width: 100% !important;
  max-width: none !important;
}

/* Approved mockup proportions at desktop sizes. */
@media (min-width: 1181px) {
  .mm-equipment-runtime-full .mm-riuniti-v34-hero {
    padding-top: 18px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-hero-inner {
    width: min(1410px, calc(100vw - 64px)) !important;
    max-width: 1410px !important;
    min-height: 432px !important;
    grid-template-columns:
      minmax(410px, 0.98fr)
      minmax(455px, 1.05fr)
      minmax(420px, 0.99fr) !important;
    column-gap: 18px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-title {
    padding: 42px 28px 38px 0 !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-title h1 {
    margin-bottom: 24px !important;
    font-size: clamp(4.15rem, 4.55vw, 4.75rem) !important;
    line-height: .93 !important;
    letter-spacing: -.055em !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-title p {
    max-width: 410px !important;
    font-size: 1.18rem !important;
    line-height: 1.55 !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-photo,
  .mm-equipment-runtime-full .mm-riuniti-v34-info {
    height: 430px !important;
    min-height: 430px !important;
    align-self: center !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-photo {
    padding: 8px !important;
  }

  /*
   * Existing image assets often contain a large white margin.
   * Scale the image inside the clipped card to reproduce the
   * strong product presence of the approved mockup.
   */
  .mm-equipment-runtime-full .mm-riuniti-v34-photo img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    transform: scale(1.18);
    transform-origin: center center;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-info {
    padding: 25px 28px 22px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-info h2 {
    font-size: 1.08rem !important;
    line-height: 1.32 !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-info-copy {
    font-size: .91rem !important;
    line-height: 1.52 !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-benefits {
    gap: 5px !important;
    margin-bottom: 17px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-models,
  .mm-equipment-runtime-full .mm-riuniti-v34-band {
    width: min(1410px, calc(100vw - 64px)) !important;
    max-width: 1410px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-models {
    padding-top: 14px !important;
    padding-bottom: 10px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-models h2 {
    font-size: 2rem !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-grid {
    gap: 14px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-card {
    min-height: 137px !important;
    padding: 11px 15px !important;
    grid-template-columns: 43% 57% !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-card-photo {
    min-height: 110px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-card-photo img {
    height: 108px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-band {
    margin-top: 4px !important;
    margin-bottom: 42px !important;
    min-height: 137px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-band-title,
  .mm-equipment-runtime-full .mm-riuniti-v34-band-item {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }
}

/* Notebook widths: retain mockup hierarchy instead of collapsing early. */
@media (min-width: 1001px) and (max-width: 1180px) {
  .mm-equipment-runtime-full .mm-riuniti-v34-hero-inner {
    width: calc(100vw - 40px) !important;
    max-width: none !important;
    grid-template-columns: minmax(330px,.95fr) minmax(370px,1.05fr) minmax(340px,1fr) !important;
    gap: 14px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-title h1 {
    font-size: 3.55rem !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-photo,
  .mm-equipment-runtime-full .mm-riuniti-v34-info {
    min-height: 390px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-models,
  .mm-equipment-runtime-full .mm-riuniti-v34-band {
    width: calc(100vw - 40px) !important;
    max-width: none !important;
  }
}


/* ==========================================================
   v3.6 — RIGHT INFO PANEL TEXT / CONTENT FIX
   Align the right descriptive card to the approved mockup:
   - wider information column
   - normal headline wrapping
   - benefits and CTA stay INSIDE the card
   ========================================================== */

@media (min-width: 1181px) {
  .mm-equipment-runtime-full .mm-riuniti-v34-hero-inner {
    width: min(1440px, calc(100vw - 56px)) !important;
    max-width: 1440px !important;
    grid-template-columns:
      minmax(390px, 0.90fr)
      minmax(455px, 1.02fr)
      minmax(485px, 1.08fr) !important;
    column-gap: 16px !important;
    min-height: 446px !important;
    align-items: stretch !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-photo {
    height: 430px !important;
    min-height: 430px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-info {
    height: auto !important;
    min-height: 430px !important;
    padding: 28px 30px 24px !important;
    overflow: hidden !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-info-top {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 14px !important;
    margin-bottom: 14px !important;
    align-items: start !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-info-top > * {
    min-width: 0 !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-icon {
    width: 42px !important;
    height: 42px !important;
    font-size: 1rem !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-info h2 {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    font-size: 1.08rem !important;
    line-height: 1.38 !important;
    letter-spacing: -0.01em !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-info-copy {
    margin: 0 0 16px !important;
    max-width: none !important;
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-benefits {
    gap: 10px !important;
    margin: 0 0 18px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-benefit {
    grid-template-columns: 36px minmax(0, 1fr) !important;
    gap: 12px !important;
    min-height: 0 !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-benefit b {
    font-size: 0.98rem !important;
    line-height: 1.28 !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-actions {
    grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr) !important;
    gap: 12px !important;
    margin-top: auto !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-actions a {
    min-height: 50px !important;
    padding: 11px 16px !important;
    border-radius: 12px !important;
    font-size: 1rem !important;
    white-space: nowrap !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-models,
  .mm-equipment-runtime-full .mm-riuniti-v34-band {
    width: min(1440px, calc(100vw - 56px)) !important;
    max-width: 1440px !important;
  }
}

@media (min-width: 1001px) and (max-width: 1180px) {
  .mm-equipment-runtime-full .mm-riuniti-v34-hero-inner {
    grid-template-columns:
      minmax(300px, 0.92fr)
      minmax(350px, 1fr)
      minmax(360px, 1.06fr) !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-info {
    height: auto !important;
    min-height: 390px !important;
    overflow: hidden !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-info h2 {
    max-width: none !important;
    line-height: 1.36 !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-benefit b {
    font-size: 0.94rem !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-actions a {
    white-space: nowrap !important;
  }
}

/* ===== SOURCE: assets/css/v3.7-riuniti-right-panel.css ===== */
/* ==========================================================
   MyMedical v3.7 — Right panel rebuilt, independent component
   ========================================================== */
.mm-riuniti-v37-info,.mm-riuniti-v37-info *{box-sizing:border-box;writing-mode:horizontal-tb!important;text-orientation:mixed!important}
.mm-riuniti-v37-info{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;width:100%!important;min-width:0!important;height:430px!important;min-height:430px!important;padding:26px 29px 22px!important;overflow:hidden!important;border:1px solid #dbe5f1!important;border-radius:24px!important;background:rgba(255,255,255,.97)!important;box-shadow:0 14px 40px rgba(7,26,61,.07)!important}
.mm-riuniti-v37-head{display:flex!important;flex:0 0 auto!important;flex-direction:row!important;align-items:flex-start!important;width:100%!important;min-width:0!important;gap:14px!important;margin:0 0 14px!important}
.mm-riuniti-v37-tooth{display:flex!important;flex:0 0 46px!important;align-items:center!important;justify-content:center!important;width:46px!important;height:46px!important;margin:0!important;border-radius:50%!important;background:#edf5ff!important;color:#1260e8!important}
.mm-riuniti-v37-tooth svg{display:block!important;width:25px!important;height:25px!important}
.mm-riuniti-v37-headline{display:block!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important;margin:2px 0 0!important;padding:0!important;color:#071a3d!important;font-family:inherit!important;font-size:1.08rem!important;font-weight:800!important;line-height:1.34!important;letter-spacing:-.012em!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
.mm-riuniti-v37-copy{display:block!important;flex:0 0 auto!important;width:100%!important;max-width:none!important;margin:0 0 15px!important;padding:0!important;color:#61738d!important;font-family:inherit!important;font-size:.91rem!important;font-weight:400!important;line-height:1.55!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
.mm-riuniti-v37-benefits{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;justify-content:center!important;width:100%!important;min-width:0!important;gap:7px!important;margin:0 0 15px!important;padding:0!important}
.mm-riuniti-v37-benefit{display:flex!important;flex-direction:row!important;align-items:center!important;width:100%!important;min-width:0!important;min-height:36px!important;gap:11px!important;margin:0!important;padding:0!important}
.mm-riuniti-v37-benefit>span{display:flex!important;flex:0 0 33px!important;align-items:center!important;justify-content:center!important;width:33px!important;height:33px!important;border-radius:50%!important;background:#eff6ff!important;color:#1260e8!important;font-size:.68rem!important;font-weight:900!important}
.mm-riuniti-v37-benefit>strong{display:block!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;color:#071a3d!important;font-family:inherit!important;font-size:.84rem!important;font-weight:780!important;line-height:1.25!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important}
.mm-riuniti-v37-actions{display:flex!important;flex:0 0 auto!important;flex-direction:row!important;align-items:stretch!important;width:100%!important;gap:10px!important;margin:0!important}
.mm-riuniti-v37-actions>a{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;min-height:48px!important;padding:10px 14px!important;border-radius:11px!important;font-family:inherit!important;font-size:.82rem!important;font-weight:820!important;line-height:1.2!important;text-align:center!important;text-decoration:none!important;white-space:nowrap!important}
.mm-riuniti-v37-primary{flex:1.08 1 0!important;border:2px solid #1260e8!important;background:#1260e8!important;color:#fff!important}
.mm-riuniti-v37-secondary{flex:.92 1 0!important;border:1.7px solid #071a3d!important;background:#fff!important;color:#071a3d!important}
@media(min-width:1181px){.mm-equipment-runtime-full .mm-riuniti-v34-hero-inner{grid-template-columns:minmax(390px,.90fr) minmax(455px,1.02fr) minmax(475px,1.08fr)!important}}
@media(min-width:1001px) and (max-width:1180px){.mm-riuniti-v37-info{height:auto!important;min-height:390px!important}.mm-riuniti-v37-headline{font-size:1rem!important}.mm-riuniti-v37-actions>a{font-size:.76rem!important}}
@media(max-width:1000px){.mm-riuniti-v37-info{height:auto!important;min-height:0!important}}
@media(max-width:700px){.mm-riuniti-v37-info{padding:22px!important}.mm-riuniti-v37-actions{flex-direction:column!important}.mm-riuniti-v37-actions>a{width:100%!important}}

/* ===== SOURCE: assets/css/v3.8-riuniti-models-polish.css ===== */
/* ==========================================================
   MyMedical 2026 v3.8
   Riuniti: photo framing + models section polish
   ========================================================== */

/* Keep the approved v3.7 right panel untouched. */

/* Central product image: show the complete unit, not a cropped zoom. */
@media (min-width: 1001px) {
  .mm-equipment-runtime-full .mm-riuniti-v34-photo {
    padding: 18px !important;
    overflow: hidden !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-photo img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: scale(.93) !important;
    transform-origin: center center !important;
  }
}

/* Models section closer to approved mockup. */
.mm-equipment-runtime-full .mm-riuniti-v34-models {
  padding-top: 16px !important;
  padding-bottom: 12px !important;
}

.mm-equipment-runtime-full .mm-riuniti-v34-grid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 16px !important;
}

.mm-equipment-runtime-full .mm-riuniti-v34-grid.is-one {
  grid-template-columns: minmax(0,760px) !important;
}

.mm-equipment-runtime-full .mm-riuniti-v34-grid.is-two {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
}

.mm-equipment-runtime-full .mm-riuniti-v34-card {
  display: grid !important;
  grid-template-columns: 43% minmax(0,57%) !important;
  align-items: center !important;
  min-height: 138px !important;
  height: 138px !important;
  gap: 13px !important;
  padding: 12px 15px !important;
  overflow: hidden !important;
  border: 1px solid #d9e4f0 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(7,26,61,.045) !important;
}

.mm-equipment-runtime-full .mm-riuniti-v34-card-photo {
  display: grid !important;
  place-items: center !important;
  min-width: 0 !important;
  min-height: 112px !important;
  height: 112px !important;
  padding: 4px !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  background:
    radial-gradient(circle at 80% 15%,rgba(42,134,255,.07),transparent 33%),
    #fbfdff !important;
}

.mm-equipment-runtime-full .mm-riuniti-v34-card-photo img {
  display: block !important;
  width: 100% !important;
  height: 106px !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}

.mm-equipment-runtime-full .mm-riuniti-v34-card-body {
  min-width: 0 !important;
  overflow: hidden !important;
}

.mm-equipment-runtime-full .mm-riuniti-v34-brand {
  margin-bottom: 5px !important;
  font-size: .66rem !important;
  letter-spacing: .09em !important;
}

.mm-equipment-runtime-full .mm-riuniti-v34-card h3 {
  margin: 0 0 6px !important;
  max-width: 100% !important;
  color: #071a3d !important;
  font-size: 1rem !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.mm-equipment-runtime-full .mm-riuniti-v34-card p {
  display: -webkit-box !important;
  overflow: hidden !important;
  margin: 0 0 7px !important;
  color: #6b7c94 !important;
  font-size: .75rem !important;
  line-height: 1.42 !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

.mm-equipment-runtime-full .mm-riuniti-v34-card a:last-child {
  display: inline-flex !important;
  align-items: center !important;
  color: #1260e8 !important;
  font-size: .75rem !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}

/* Do not allow brand/logo graphics to dominate card photos. */
.mm-equipment-runtime-full .mm-riuniti-v34-card-photo img.mm-model-fallback-image {
  transform: scale(.90) !important;
}

/* Desktop band closer to mockup */
@media (min-width: 1181px) {
  .mm-equipment-runtime-full .mm-riuniti-v34-models,
  .mm-equipment-runtime-full .mm-riuniti-v34-band {
    width: min(1440px, calc(100vw - 56px)) !important;
    max-width: 1440px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-models h2 {
    font-size: 2.05rem !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-models > p {
    margin-bottom: 14px !important;
  }
}

@media (max-width: 1000px) {
  .mm-equipment-runtime-full .mm-riuniti-v34-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-grid.is-one {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 700px) {
  .mm-equipment-runtime-full .mm-riuniti-v34-grid,
  .mm-equipment-runtime-full .mm-riuniti-v34-grid.is-one,
  .mm-equipment-runtime-full .mm-riuniti-v34-grid.is-two {
    grid-template-columns: 1fr !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-card {
    grid-template-columns: 112px minmax(0,1fr) !important;
    height: auto !important;
    min-height: 142px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-card-photo {
    height: 110px !important;
  }
}

/* ===== SOURCE: assets/css/v3.9-riuniti-fit-fix.css ===== */
/* ==========================================================
   MyMedical 2026 v3.9
   Fix mirato: foto contenuta + CTA destre non tagliate
   ========================================================== */

/* FOTO CENTRALE: deve rimanere completamente dentro la card */
.mm-equipment-runtime-full .mm-riuniti-v34-photo {
  overflow: hidden !important;
  padding: 24px !important;
}

.mm-equipment-runtime-full .mm-riuniti-v34-photo img {
  display: block !important;
  width: 92% !important;
  height: 92% !important;
  max-width: 92% !important;
  max-height: 92% !important;
  margin: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

/* RIQUADRO DESTRO: altezza libera, mai tagliare pulsanti */
.mm-equipment-runtime-full .mm-riuniti-v34-hero-inner {
  align-items: stretch !important;
}

.mm-equipment-runtime-full .mm-riuniti-v34-info {
  height: auto !important;
  min-height: 448px !important;
  overflow: visible !important;
  padding-bottom: 26px !important;
}

.mm-equipment-runtime-full .mm-riuniti-v34-actions {
  margin-top: auto !important;
  padding-top: 10px !important;
  padding-bottom: 0 !important;
}

.mm-equipment-runtime-full .mm-riuniti-v34-actions a {
  min-height: 50px !important;
  line-height: 1.2 !important;
  overflow: visible !important;
}

/* Su desktop allineiamo visivamente foto e pannello destro */
@media (min-width: 1181px) {
  .mm-equipment-runtime-full .mm-riuniti-v34-photo,
  .mm-equipment-runtime-full .mm-riuniti-v34-info {
    height: auto !important;
    min-height: 448px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-hero-inner {
    min-height: 448px !important;
  }
}

/* Notebook */
@media (min-width: 1001px) and (max-width: 1180px) {
  .mm-equipment-runtime-full .mm-riuniti-v34-photo,
  .mm-equipment-runtime-full .mm-riuniti-v34-info {
    height: auto !important;
    min-height: 420px !important;
  }
}

/* Mobile/tablet: nessun taglio */
@media (max-width: 1000px) {
  .mm-equipment-runtime-full .mm-riuniti-v34-photo {
    min-height: 320px !important;
    padding: 18px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-info {
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v34-actions {
    margin-top: 18px !important;
  }
}

/* ===== SOURCE: assets/css/v4.0-riuniti-real-fix.css ===== */
/* ==========================================================
   MyMedical 2026 v4.0
   REAL FIX:
   - current right panel is .mm-riuniti-v37-info
   - complete product image preferred for hero
   ========================================================== */

/* HERO PHOTO — no zoom, full image visible */
.mm-equipment-runtime-full .mm-riuniti-v34-photo {
  min-height: 448px !important;
  height: 448px !important;
  padding: 22px !important;
  overflow: hidden !important;
}

.mm-equipment-runtime-full .mm-riuniti-v34-photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

/* RIGHT PANEL — target the CURRENT v3.7 component */
.mm-equipment-runtime-full .mm-riuniti-v37-info {
  height: auto !important;
  min-height: 448px !important;
  overflow: hidden !important;
  padding: 26px 29px 24px !important;
}

.mm-equipment-runtime-full .mm-riuniti-v37-benefits {
  flex: 0 0 auto !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  margin-bottom: 18px !important;
}

.mm-equipment-runtime-full .mm-riuniti-v37-actions {
  display: flex !important;
  flex: 0 0 auto !important;
  margin-top: auto !important;
  padding-top: 8px !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
}

.mm-equipment-runtime-full .mm-riuniti-v37-actions > a {
  min-height: 48px !important;
  height: auto !important;
  padding-top: 11px !important;
  padding-bottom: 11px !important;
  overflow: visible !important;
}

/* Hero row grows to fit the right card */
.mm-equipment-runtime-full .mm-riuniti-v34-hero-inner {
  min-height: 448px !important;
  align-items: stretch !important;
}

@media (min-width: 1181px) {
  .mm-equipment-runtime-full .mm-riuniti-v34-photo,
  .mm-equipment-runtime-full .mm-riuniti-v37-info {
    min-height: 448px !important;
    height: 448px !important;
  }
}

@media (min-width: 1001px) and (max-width: 1180px) {
  .mm-equipment-runtime-full .mm-riuniti-v34-photo {
    min-height: 420px !important;
    height: 420px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v37-info {
    min-height: 420px !important;
    height: auto !important;
  }
}

@media (max-width: 1000px) {
  .mm-equipment-runtime-full .mm-riuniti-v34-photo {
    min-height: 320px !important;
    height: 320px !important;
    padding: 18px !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v37-info {
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .mm-equipment-runtime-full .mm-riuniti-v37-actions {
    margin-top: 18px !important;
  }
}

/* ===== SOURCE: assets/css/v4.2-equipment-subcategory-template.css ===== */
/* ==========================================================
   MyMedical 2026 v4.2
   Pagina tipo definitiva per le sottocategorie Attrezzature.
   Riuniti odontoiatrici resta sulla v4.1 approvata.
   ========================================================== */

.mm-eq42 {
  width: 100%;
  overflow: hidden;
  background: #fff;
}

.mm-eq42 * { box-sizing: border-box; }

.mm-eq42-hero {
  padding: 20px 0 0;
  background:
    radial-gradient(circle at 50% 24%,rgba(45,126,246,.10),transparent 31%),
    linear-gradient(112deg,#f8fbff 0%,#edf5ff 60%,#fbfdff 100%);
  border-bottom: 1px solid #e6edf6;
}

.mm-eq42-hero-inner,
.mm-eq42-models,
.mm-eq42-band {
  width: min(1410px, calc(100vw - 56px));
  max-width: 1410px;
  margin-inline: auto;
}

.mm-eq42-hero-inner {
  display: grid;
  grid-template-columns: minmax(390px,.94fr) minmax(430px,1.03fr) minmax(430px,1.03fr);
  gap: 18px;
  align-items: stretch;
  min-height: 480px;
}

.mm-eq42-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 38px 24px 38px 0;
  min-width: 0;
}

.mm-eq42-title h1 {
  margin: 0 0 22px !important;
  color: #071a3d !important;
  font-size: clamp(3.55rem,4.3vw,4.8rem) !important;
  line-height: .95 !important;
  letter-spacing: -.05em !important;
  font-weight: 820 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.mm-eq42-title p {
  max-width: 410px;
  margin: 0 !important;
  color: #5f718a !important;
  font-size: 1.12rem !important;
  line-height: 1.58 !important;
}

.mm-eq42-photo,
.mm-eq42-info {
  border: 1px solid #dbe5f1;
  border-radius: 24px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 14px 40px rgba(7,26,61,.07);
}

.mm-eq42-photo {
  display: grid;
  place-items: center;
  min-height: 480px;
  height: 480px;
  padding: 30px;
  overflow: hidden;
}

.mm-eq42-photo img {
  display: block;
  width: 84%;
  height: 84%;
  max-width: 84%;
  max-height: 84%;
  margin: auto;
  object-fit: contain;
  object-position: center center;
}

.mm-eq42-info {
  display: flex;
  flex-direction: column;
  min-height: 480px;
  padding: 28px 30px 30px;
  overflow: visible;
}

.mm-eq42-info-top {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 14px;
}

.mm-eq42-icon {
  flex: 0 0 44px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #eef5ff;
  color: #1260e8;
  font-size: .78rem;
  font-weight: 900;
}

.mm-eq42-headline {
  flex: 1 1 auto;
  min-width: 0;
  padding-top: 2px;
  color: #071a3d;
  font-size: 1.08rem;
  line-height: 1.36;
  font-weight: 820;
  word-break: normal;
  overflow-wrap: break-word;
}

.mm-eq42-copy {
  margin: 0 0 18px !important;
  color: #61738d !important;
  font-size: .94rem !important;
  line-height: 1.58 !important;
}

.mm-eq42-benefits {
  display: grid;
  gap: 9px;
  margin-bottom: 18px;
}

.mm-eq42-benefit {
  display: grid;
  grid-template-columns: 36px minmax(0,1fr);
  gap: 11px;
  align-items: center;
}

.mm-eq42-benefit span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #eff6ff;
  color: #1260e8;
  font-size: .7rem;
  font-weight: 900;
}

.mm-eq42-benefit b {
  color: #071a3d !important;
  font-size: .93rem !important;
  line-height: 1.28 !important;
  font-weight: 780 !important;
}

.mm-eq42-actions {
  display: flex;
  gap: 14px;
  margin-top: auto;
  padding-top: 14px;
}

.mm-eq42-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 11px 18px;
  border-radius: 11px;
  text-decoration: none !important;
  font-size: .92rem;
  font-weight: 820;
}

.mm-eq42-primary {
  flex: 1.05 1 0;
  background: #1260e8;
  color: #fff !important;
}

.mm-eq42-secondary {
  flex: .95 1 0;
  border: 1.7px solid #071a3d;
  background: #fff;
  color: #071a3d !important;
}

.mm-eq42-secondary::after {
  content: "→";
  margin-left: 7px;
}

/* Models */
.mm-eq42-models {
  padding: 16px 0 12px;
}

.mm-eq42-eyebrow {
  margin: 0 0 5px !important;
  color: #1260e8 !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

.mm-eq42-models h2 {
  margin: 0 0 5px !important;
  color: #071a3d !important;
  font-size: 2.05rem !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em !important;
}

.mm-eq42-models > p {
  margin: 0 0 14px !important;
  color: #75869b !important;
  font-size: .86rem !important;
}

.mm-eq42-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
}

.mm-eq42-grid.is-one { grid-template-columns: minmax(0,760px); }
.mm-eq42-grid.is-two { grid-template-columns: repeat(2,minmax(0,1fr)); }

.mm-eq42-card {
  display: grid;
  grid-template-columns: 43% minmax(0,57%);
  align-items: center;
  min-height: 140px;
  gap: 13px;
  padding: 12px 15px;
  overflow: hidden;
  border: 1px solid #d9e4f0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(7,26,61,.045);
}

.mm-eq42-card-photo {
  display: grid;
  place-items: center;
  min-height: 112px;
  height: 112px;
  padding: 4px;
  overflow: hidden;
  border-radius: 12px;
  background: #fbfdff;
  text-decoration: none;
}

.mm-eq42-card-photo img {
  width: 100%;
  height: 106px;
  object-fit: contain;
}

.mm-eq42-card-body { min-width: 0; }

.mm-eq42-brand {
  display: block;
  margin-bottom: 5px;
  color: #1260e8;
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mm-eq42-card h3 {
  margin: 0 0 6px !important;
  color: #071a3d !important;
  font-size: 1rem !important;
  line-height: 1.18 !important;
}

.mm-eq42-card p {
  display: -webkit-box;
  overflow: hidden;
  margin: 0 0 7px !important;
  color: #6b7c94 !important;
  font-size: .75rem !important;
  line-height: 1.42 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.mm-eq42-card a:last-child {
  color: #1260e8 !important;
  text-decoration: none !important;
  font-size: .75rem;
  font-weight: 850;
}

.mm-eq42-card a:last-child::after {
  content: "→";
  margin-left: 5px;
}

/* Band */
.mm-eq42-band {
  display: grid;
  grid-template-columns: .8fr repeat(4,1fr);
  overflow: hidden;
  margin-top: 4px;
  margin-bottom: 48px;
  border-radius: 17px;
  background:
    radial-gradient(circle at 4% 96%,rgba(37,117,255,.2),transparent 24%),
    radial-gradient(circle at 96% 96%,rgba(37,117,255,.18),transparent 22%),
    linear-gradient(110deg,#071a3d,#0c2f66);
}

.mm-eq42-band-title,
.mm-eq42-band-item { padding: 24px 22px; }

.mm-eq42-band-title {
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 1.45rem;
  line-height: 1.08;
  font-weight: 840;
}

.mm-eq42-band-item { border-left: 1px solid rgba(255,255,255,.12); }

.mm-eq42-band-item span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin-bottom: 9px;
  border: 1px solid #4e92ed;
  border-radius: 50%;
  color: #79b4ff;
  font-size: .72rem;
  font-weight: 900;
}

.mm-eq42-band-item strong {
  display: block;
  margin-bottom: 4px;
  color: #fff !important;
  font-size: .81rem;
}

.mm-eq42-band-item p {
  margin: 0 !important;
  color: #c9d6e8 !important;
  font-size: .7rem !important;
  line-height: 1.45 !important;
}

@media(max-width:1180px) {
  .mm-eq42-hero-inner {
    width: calc(100vw - 40px);
    grid-template-columns: minmax(300px,.9fr) minmax(350px,1fr) minmax(360px,1.05fr);
    gap: 14px;
  }
  .mm-eq42-hero-inner,
  .mm-eq42-models,
  .mm-eq42-band { width: calc(100vw - 40px); }
  .mm-eq42-title h1 { font-size: 3.35rem !important; }
}

@media(max-width:1000px) {
  .mm-eq42-hero-inner { grid-template-columns: 1fr 1.08fr; }
  .mm-eq42-info { grid-column: 1 / -1; min-height: 0; }
  .mm-eq42-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mm-eq42-band { grid-template-columns: repeat(2,1fr); }
  .mm-eq42-band-title { grid-column: 1 / -1; }
}

@media(max-width:700px) {
  .mm-eq42-hero-inner,
  .mm-eq42-models,
  .mm-eq42-band { width: min(100% - 28px,1410px); }

  .mm-eq42-hero-inner { grid-template-columns: 1fr; min-height: 0; }
  .mm-eq42-title { padding: 16px 0 4px; }
  .mm-eq42-title h1 { font-size: clamp(2.8rem,12vw,3.6rem) !important; }
  .mm-eq42-photo { height: 320px; min-height: 320px; padding: 20px; }
  .mm-eq42-info { padding: 22px; }
  .mm-eq42-actions { flex-direction: column; }
  .mm-eq42-grid,
  .mm-eq42-grid.is-one,
  .mm-eq42-grid.is-two { grid-template-columns: 1fr; }
  .mm-eq42-card { grid-template-columns: 112px minmax(0,1fr); min-height: 142px; }
  .mm-eq42-band { grid-template-columns: 1fr; }
  .mm-eq42-band-title,
  .mm-eq42-band-item { border-left: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
  .mm-eq42-band-item:last-child { border-bottom: 0; }
}

/* ===== SOURCE: assets/css/v4.3-equipment-riuniti-clone.css ===== */
/* ==========================================================
   MyMedical 2026 v4.3
   Other equipment subcategories now use the EXACT approved
   Riuniti components/classes. Only title adaptation is added.
   ========================================================== */

.mm-equipment-clone-v43 .mm-riuniti-v34-title h1 {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* For longer names such as "Sensori e imaging digitale". */
@media (min-width: 1181px) {
  .mm-equipment-clone-v43 .mm-riuniti-v34-title h1 {
    font-size: clamp(3.5rem,4.3vw,4.75rem) !important;
  }
}

@media (max-width:700px) {
  .mm-equipment-clone-v43 .mm-riuniti-v34-title h1 {
    font-size: clamp(2.75rem,12vw,3.55rem) !important;
  }
}

/* ===== SOURCE: assets/css/v4.4-equipment-uniformity.css ===== */
/* ==========================================================
   MyMedical 2026 v4.4
   Uniformità sottocategorie Attrezzature.
   Riuniti approvato resta invariato.
   ========================================================== */

/* Exact same top alignment and equal-size right/image cards */
@media (min-width: 1001px) {
  .mm-equipment-clone-v44 .mm-riuniti-v34-hero-inner {
    height: 500px !important;
    min-height: 500px !important;
    align-items: stretch !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v34-photo,
  .mm-equipment-clone-v44 .mm-riuniti-v37-info {
    height: 500px !important;
    min-height: 500px !important;
    max-height: 500px !important;
    align-self: stretch !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* Long names cannot overlap the image card */
.mm-equipment-clone-v44 .mm-riuniti-v34-title {
  min-width: 0 !important;
  overflow: visible !important;
  padding-right: 28px !important;
}

.mm-equipment-clone-v44 .mm-equipment-dynamic-title {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 22px !important;
  font-size: clamp(3.55rem,4.2vw,4.55rem) !important;
  line-height: .95 !important;
  letter-spacing: -.05em !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.mm-equipment-clone-v44 .mm-equipment-dynamic-title.mm-eq-title-long {
  font-size: clamp(3.15rem,3.65vw,3.85rem) !important;
}

.mm-equipment-clone-v44 .mm-equipment-dynamic-title.mm-eq-title-xlong {
  font-size: clamp(2.8rem,3.25vw,3.45rem) !important;
}

/* Generic fallback illustrations are intentionally smaller than real photos */
.mm-equipment-clone-v44 .mm-equipment-fallback-visual {
  background:
    radial-gradient(circle at 80% 15%,rgba(42,134,255,.08),transparent 32%),
    #fff !important;
}

.mm-equipment-clone-v44 .mm-equipment-fallback-visual img {
  width: 62% !important;
  height: 62% !important;
  max-width: 62% !important;
  max-height: 62% !important;
}

/* Right panel compact but readable inside the fixed 500px box */
.mm-equipment-clone-v44 .mm-riuniti-v37-headline {
  font-size: 1rem !important;
  line-height: 1.34 !important;
}

.mm-equipment-clone-v44 .mm-riuniti-v37-copy {
  margin-bottom: 11px !important;
  font-size: .84rem !important;
  line-height: 1.48 !important;
}

.mm-equipment-clone-v44 .mm-riuniti-v37-benefit {
  min-height: 31px !important;
  gap: 10px !important;
}

.mm-equipment-clone-v44 .mm-riuniti-v37-benefit span {
  width: 31px !important;
  height: 31px !important;
  flex-basis: 31px !important;
}

.mm-equipment-clone-v44 .mm-riuniti-v37-benefit strong {
  font-size: .79rem !important;
  line-height: 1.22 !important;
}

/* Every model card has the same physical dimensions.
   1 or 2 available models DO NOT stretch. */
.mm-equipment-clone-v44 .mm-riuniti-v34-grid,
.mm-equipment-clone-v44 .mm-riuniti-v34-grid.is-one,
.mm-equipment-clone-v44 .mm-riuniti-v34-grid.is-two {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 16px !important;
  justify-content: start !important;
}

.mm-equipment-clone-v44 .mm-riuniti-v34-card {
  width: 100% !important;
  height: 142px !important;
  min-height: 142px !important;
  max-height: 142px !important;
}

/* Do not let one fallback visual dominate a model card */
.mm-equipment-clone-v44 .mm-riuniti-v34-card-photo img {
  max-height: 105px !important;
  object-fit: contain !important;
}

/* Notebook */
@media (min-width:1001px) and (max-width:1180px) {
  .mm-equipment-clone-v44 .mm-riuniti-v34-hero-inner {
    grid-template-columns:minmax(310px,.84fr) minmax(360px,1fr) minmax(360px,1fr)!important;
  }

  .mm-equipment-clone-v44 .mm-equipment-dynamic-title {
    font-size: 3.15rem !important;
  }

  .mm-equipment-clone-v44 .mm-equipment-dynamic-title.mm-eq-title-long {
    font-size: 2.85rem !important;
  }

  .mm-equipment-clone-v44 .mm-equipment-dynamic-title.mm-eq-title-xlong {
    font-size: 2.55rem !important;
  }
}

/* Tablet/mobile return to natural height */
@media (max-width:1000px) {
  .mm-equipment-clone-v44 .mm-riuniti-v34-hero-inner {
    height: auto !important;
    min-height: 0 !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v34-photo,
  .mm-equipment-clone-v44 .mm-riuniti-v37-info {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v34-grid,
  .mm-equipment-clone-v44 .mm-riuniti-v34-grid.is-one,
  .mm-equipment-clone-v44 .mm-riuniti-v34-grid.is-two {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:700px) {
  .mm-equipment-clone-v44 .mm-equipment-dynamic-title,
  .mm-equipment-clone-v44 .mm-equipment-dynamic-title.mm-eq-title-long,
  .mm-equipment-clone-v44 .mm-equipment-dynamic-title.mm-eq-title-xlong {
    font-size: clamp(2.55rem,11vw,3.35rem) !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v34-grid,
  .mm-equipment-clone-v44 .mm-riuniti-v34-grid.is-one,
  .mm-equipment-clone-v44 .mm-riuniti-v34-grid.is-two {
    grid-template-columns: 1fr !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v34-card {
    height: auto !important;
    min-height: 142px !important;
    max-height: none !important;
  }
}

/* ===== SOURCE: assets/css/v4.5-equipment-card-equalizer.css ===== */
/* ==========================================================
   MyMedical 2026 v4.5
   Equalizzazione esatta card centrale / card destra
   Solo sottocategorie generiche: Riuniti resta invariato.
   ========================================================== */

@media (min-width: 1001px) {
  .mm-equipment-clone-v44 .mm-riuniti-v34-hero-inner {
    align-items: start !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v34-photo,
  .mm-equipment-clone-v44 .mm-riuniti-v37-info {
    box-sizing: border-box !important;
    height: 500px !important;
    min-height: 500px !important;
    max-height: 500px !important;
    align-self: start !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    top: auto !important;
    bottom: auto !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v34-photo {
    padding: 30px !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v37-info {
    padding: 27px 30px 26px !important;
    overflow: hidden !important;
  }
}

/* ===== SOURCE: assets/css/v4.7-generic-renderer-fix.css ===== */
/* ==========================================================
   MyMedical 2026 v4.7
   Scoped to generic Attrezzature pages only.
   The decisive dimensions are inline in PHP.
   ========================================================== */

@media (min-width:1001px) {
  .mm-equipment-clone-v44 .mm-riuniti-v34-hero-inner {
    align-items: start !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v34-title {
    overflow: hidden !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v34-photo,
  .mm-equipment-clone-v44 .mm-riuniti-v37-info {
    box-sizing: border-box !important;
    height: 480px !important;
    min-height: 480px !important;
    max-height: 480px !important;
    align-self: start !important;
  }
}

@media (max-width:1000px) {
  .mm-equipment-clone-v44 .mm-riuniti-v34-hero-inner,
  .mm-equipment-clone-v44 .mm-riuniti-v34-photo,
  .mm-equipment-clone-v44 .mm-riuniti-v37-info {
    height: auto !important;
    max-height: none !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v34-title {
    max-width: none !important;
    overflow: visible !important;
  }
}

/* ===== SOURCE: assets/css/v4.8-equipment-models.css ===== */
/* ==========================================================
   MyMedical 2026 v4.8
   Rifinitura "Modelli e configurazioni"
   La hero v4.7 NON viene modificata.
   ========================================================== */

/* Always preserve the approved three-card rhythm on desktop. */
.mm-equipment-clone-v44 .mm-equipment-model-grid-v48,
.mm-equipment-clone-v44 .mm-riuniti-v34-grid.mm-equipment-model-grid-v48 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  justify-content: start !important;
}

/* One or two products never become oversized. */
.mm-equipment-clone-v44 .mm-equipment-model-grid-v48 > article {
  width: 100% !important;
  min-width: 0 !important;
}

.mm-equipment-clone-v44 .mm-equipment-model-card-v48,
.mm-equipment-clone-v44 .mm-equipment-fallback-model-v48 {
  display: grid !important;
  grid-template-columns: 42% minmax(0, 58%) !important;
  gap: 14px !important;
  align-items: center !important;
  box-sizing: border-box !important;
  height: 154px !important;
  min-height: 154px !important;
  max-height: 154px !important;
  padding: 14px 16px !important;
  overflow: hidden !important;
  border-radius: 16px !important;
}

/* Image remains readable and never dominates the card. */
.mm-equipment-clone-v44 .mm-equipment-model-card-v48 .mm-riuniti-v34-card-photo,
.mm-equipment-clone-v44 .mm-equipment-fallback-model-v48 .mm-riuniti-v34-card-photo {
  display: grid !important;
  place-items: center !important;
  box-sizing: border-box !important;
  height: 122px !important;
  min-height: 122px !important;
  max-height: 122px !important;
  padding: 6px !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  background: #fbfdff !important;
}

.mm-equipment-clone-v44 .mm-equipment-model-card-v48 .mm-riuniti-v34-card-photo img,
.mm-equipment-clone-v44 .mm-equipment-fallback-model-v48 .mm-riuniti-v34-card-photo img {
  display: block !important;
  width: 100% !important;
  height: 108px !important;
  max-width: 100% !important;
  max-height: 108px !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}

/* Text hierarchy */
.mm-equipment-clone-v44 .mm-equipment-model-card-v48 .mm-riuniti-v34-brand,
.mm-equipment-clone-v44 .mm-equipment-fallback-model-v48 .mm-riuniti-v34-brand {
  display: block !important;
  margin-bottom: 4px !important;
  font-size: .64rem !important;
  line-height: 1.1 !important;
}

.mm-equipment-clone-v44 .mm-equipment-model-card-v48 h3,
.mm-equipment-clone-v44 .mm-equipment-fallback-model-v48 h3 {
  display: -webkit-box !important;
  overflow: hidden !important;
  margin: 0 0 6px !important;
  color: #071a3d !important;
  font-size: .98rem !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

.mm-equipment-clone-v44 .mm-equipment-model-card-v48 p,
.mm-equipment-clone-v44 .mm-equipment-fallback-model-v48 p {
  display: -webkit-box !important;
  overflow: hidden !important;
  margin: 0 0 7px !important;
  color: #6c7d95 !important;
  font-size: .73rem !important;
  line-height: 1.4 !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

.mm-equipment-clone-v44 .mm-equipment-model-card-v48 .mm-riuniti-v34-card-body > a:last-child,
.mm-equipment-clone-v44 .mm-equipment-fallback-model-v48 .mm-riuniti-v34-card-body > a:last-child {
  display: inline-flex !important;
  align-items: center !important;
  color: #1260e8 !important;
  font-size: .74rem !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}

/* Keep a fallback card visually consistent but slightly quieter. */
.mm-equipment-clone-v44 .mm-equipment-fallback-model-v48 {
  background: #fff !important;
}

/* Tablet */
@media (max-width:1000px) {
  .mm-equipment-clone-v44 .mm-equipment-model-grid-v48,
  .mm-equipment-clone-v44 .mm-riuniti-v34-grid.mm-equipment-model-grid-v48 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .mm-equipment-clone-v44 .mm-equipment-model-card-v48,
  .mm-equipment-clone-v44 .mm-equipment-fallback-model-v48 {
    height: 158px !important;
    min-height: 158px !important;
    max-height: 158px !important;
  }
}

/* Smartphone */
@media (max-width:700px) {
  .mm-equipment-clone-v44 .mm-equipment-model-grid-v48,
  .mm-equipment-clone-v44 .mm-riuniti-v34-grid.mm-equipment-model-grid-v48 {
    grid-template-columns: 1fr !important;
  }

  .mm-equipment-clone-v44 .mm-equipment-model-card-v48,
  .mm-equipment-clone-v44 .mm-equipment-fallback-model-v48 {
    grid-template-columns: 112px minmax(0,1fr) !important;
    height: auto !important;
    min-height: 145px !important;
    max-height: none !important;
  }

  .mm-equipment-clone-v44 .mm-equipment-model-card-v48 .mm-riuniti-v34-card-photo,
  .mm-equipment-clone-v44 .mm-equipment-fallback-model-v48 .mm-riuniti-v34-card-photo {
    height: 112px !important;
    min-height: 112px !important;
    max-height: 112px !important;
  }
}

/* ===== SOURCE: assets/css/v4.9-category-interest-cards.css ===== */
/* ==========================================================
   MyMedical 2026 v4.9
   Foto e descrizioni direttamente nelle card "Scegli area".
   ========================================================== */

.mm-eqcat-grid {
  align-items: stretch !important;
}

.mm-eqcat-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 430px !important;
  overflow: hidden !important;
}

.mm-eqcat-card-visual {
  display: grid !important;
  place-items: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
  padding: 18px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 82% 16%,rgba(42,134,255,.08),transparent 32%),
    #f6faff !important;
}

.mm-eqcat-card-visual-photo img {
  display: block !important;
  width: 100% !important;
  height: 184px !important;
  max-width: 100% !important;
  max-height: 184px !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}

.mm-eqcat-card-visual-icon img {
  display: block !important;
  width: 42% !important;
  height: 42% !important;
  max-width: 150px !important;
  max-height: 150px !important;
  object-fit: contain !important;
}

.mm-eqcat-card-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  padding: 22px !important;
}

.mm-eqcat-card-body h3 {
  margin-bottom: 9px !important;
}

.mm-eqcat-card-body > p {
  margin: 0 0 18px !important;
  color: #64768f !important;
  font-size: .9rem !important;
  line-height: 1.55 !important;
}

.mm-eqcat-card-actions {
  margin-top: auto !important;
}

/* Protect against stale cached legacy markup. */
.mm-eqcat-category-content {
  display: none !important;
}

@media(max-width:700px) {
  .mm-eqcat-card {
    min-height: 0 !important;
  }

  .mm-eqcat-card-visual {
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
  }

  .mm-eqcat-card-visual-photo img {
    height: 158px !important;
    max-height: 158px !important;
  }
}

/* ===== SOURCE: assets/css/v5.0-attrezzature-global-cards.css ===== */
/* ==========================================================
   MyMedical 2026 v5.0
   Regola globale ATTREZZATURE:
   foto + descrizione nelle card "Scegli area di interesse"
   per TUTTE le categorie.
   ========================================================== */

/* All top-level equipment category pages */
.mm-eqcat-v50 .mm-eqcat-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.mm-eqcat-v50 .mm-eqcat-card-v50 {
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  height: 100% !important;
  min-height: 430px !important;
  overflow: hidden !important;
}

.mm-eqcat-v50 .mm-eqcat-card-visual {
  flex: 0 0 220px !important;
  width: 100% !important;
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
}

.mm-eqcat-v50 .mm-eqcat-card-visual-photo img {
  width: 100% !important;
  height: 184px !important;
  max-width: 100% !important;
  max-height: 184px !important;
  object-fit: contain !important;
  object-position: center !important;
}

.mm-eqcat-v50 .mm-eqcat-card-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
}

.mm-eqcat-v50 .mm-eqcat-card-body > p {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4 !important;
}

.mm-eqcat-v50 .mm-eqcat-card-actions {
  margin-top: auto !important;
}

/* The old duplicated category content must never reappear. */
.mm-eqcat-v50 .mm-eqcat-category-content,
.mm-eqcat-v50 .mm-eqcat-existing {
  display: none !important;
}

/* 4-subcategory areas retain equal card dimensions on second row. */
.mm-eqcat-v50 .mm-eqcat-card-v50:nth-last-child(1) {
  align-self: stretch !important;
}

@media (max-width:1000px) {
  .mm-eqcat-v50 .mm-eqcat-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}

@media (max-width:700px) {
  .mm-eqcat-v50 .mm-eqcat-grid {
    grid-template-columns: 1fr !important;
  }

  .mm-eqcat-v50 .mm-eqcat-card-v50 {
    min-height: 0 !important;
  }

  .mm-eqcat-v50 .mm-eqcat-card-visual {
    flex-basis: 190px !important;
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
  }
}

/* ===== SOURCE: assets/css/v5.1-attrezzature-responsive.css ===== */
/* ==========================================================
   MyMedical 2026 v5.1
   Responsive finale ATTREZZATURE.
   Desktop >= 1001px resta invariato.
   ========================================================== */

/* ----------------------------------------------------------
   DESKTOP LOCK — generic subcategories
   ---------------------------------------------------------- */
@media (min-width:1001px) {
  .mm-equipment-clone-v44 .mm-riuniti-v34-hero-inner {
    height: 480px !important;
    min-height: 480px !important;
    max-height: 480px !important;
    align-items: start !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v34-photo,
  .mm-equipment-clone-v44 .mm-riuniti-v37-info {
    box-sizing: border-box !important;
    height: 480px !important;
    min-height: 480px !important;
    max-height: 480px !important;
    align-self: start !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* ----------------------------------------------------------
   TABLET — category pages
   ---------------------------------------------------------- */
@media (max-width:1000px) {
  .mm-eqcat-v50 .mm-eqcat {
    width: 100% !important;
  }

  .mm-eqcat-v50 .mm-eqcat-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 16px !important;
  }

  .mm-eqcat-v50 .mm-eqcat-card-v50 {
    min-height: 410px !important;
  }

  .mm-eqcat-v50 .mm-eqcat-card-visual {
    height: 205px !important;
    min-height: 205px !important;
    max-height: 205px !important;
    flex-basis: 205px !important;
  }

  .mm-eqcat-v50 .mm-eqcat-card-visual-photo img {
    height: 170px !important;
    max-height: 170px !important;
  }

  /* Generic subcategory hero becomes 2 columns:
     title + image; info card full width below. */
  .mm-equipment-clone-v44 .mm-riuniti-v34-hero-inner {
    display: grid !important;
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr) !important;
    gap: 16px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    align-items: stretch !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v34-title {
    align-self: center !important;
    max-width: none !important;
    padding-right: 18px !important;
    overflow: visible !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v34-photo {
    height: 370px !important;
    min-height: 370px !important;
    max-height: 370px !important;
    align-self: stretch !important;
    padding: 22px !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v37-info {
    grid-column: 1 / -1 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    align-self: stretch !important;
    padding: 25px 28px 25px !important;
    overflow: hidden !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v37-benefits {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 8px 20px !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v37-actions {
    margin-top: 18px !important;
  }

  /* Models */
  .mm-equipment-clone-v44 .mm-equipment-model-grid-v48,
  .mm-equipment-clone-v44 .mm-riuniti-v34-grid.mm-equipment-model-grid-v48 {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  /* Navy band: 2 columns */
  .mm-equipment-clone-v44 .mm-riuniti-v34-band {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v34-band-title {
    grid-column: 1 / -1 !important;
  }
}

/* ----------------------------------------------------------
   SMARTPHONE
   ---------------------------------------------------------- */
@media (max-width:700px) {
  /* Top-level category cards */
  .mm-eqcat-v50 .mm-eqcat-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .mm-eqcat-v50 .mm-eqcat-card-v50 {
    min-height: 0 !important;
    border-radius: 17px !important;
  }

  .mm-eqcat-v50 .mm-eqcat-card-visual {
    height: 185px !important;
    min-height: 185px !important;
    max-height: 185px !important;
    flex-basis: 185px !important;
    padding: 14px !important;
  }

  .mm-eqcat-v50 .mm-eqcat-card-visual-photo img {
    height: 154px !important;
    max-height: 154px !important;
  }

  .mm-eqcat-v50 .mm-eqcat-card-body {
    padding: 19px !important;
  }

  .mm-eqcat-v50 .mm-eqcat-card-body > p {
    -webkit-line-clamp: 5 !important;
  }

  /* Subcategory: exact reading order
     title -> photo -> info -> models -> navy band */
  .mm-equipment-clone-v44 .mm-riuniti-v34-hero-inner {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v34-title {
    grid-column: 1 !important;
    padding: 18px 0 4px !important;
  }

  .mm-equipment-clone-v44 .mm-equipment-dynamic-title,
  .mm-equipment-clone-v44 .mm-equipment-dynamic-title.mm-eq-title-long,
  .mm-equipment-clone-v44 .mm-equipment-dynamic-title.mm-eq-title-xlong {
    font-size: clamp(2.55rem,11vw,3.35rem) !important;
    line-height: .97 !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v34-title p {
    font-size: 1rem !important;
    line-height: 1.52 !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v34-photo {
    grid-column: 1 !important;
    height: 310px !important;
    min-height: 310px !important;
    max-height: 310px !important;
    padding: 18px !important;
    border-radius: 19px !important;
  }

  .mm-equipment-clone-v44 .mm-equipment-fallback-visual img {
    width: 55% !important;
    height: 55% !important;
    max-width: 180px !important;
    max-height: 180px !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v37-info {
    grid-column: 1 !important;
    padding: 21px !important;
    border-radius: 19px !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v37-head {
    gap: 12px !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v37-headline {
    font-size: 1rem !important;
    line-height: 1.34 !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v37-copy {
    font-size: .88rem !important;
    line-height: 1.5 !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v37-benefits {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v37-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 18px !important;
    padding-top: 0 !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v37-actions > a {
    width: 100% !important;
    min-height: 50px !important;
    height: auto !important;
  }

  /* Models one per row */
  .mm-equipment-clone-v44 .mm-equipment-model-grid-v48,
  .mm-equipment-clone-v44 .mm-riuniti-v34-grid.mm-equipment-model-grid-v48 {
    grid-template-columns: 1fr !important;
  }

  .mm-equipment-clone-v44 .mm-equipment-model-card-v48,
  .mm-equipment-clone-v44 .mm-equipment-fallback-model-v48 {
    grid-template-columns: 108px minmax(0,1fr) !important;
    height: auto !important;
    min-height: 145px !important;
    max-height: none !important;
  }

  /* Navy band one item per row */
  .mm-equipment-clone-v44 .mm-riuniti-v34-band {
    grid-template-columns: 1fr !important;
    border-radius: 17px !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v34-band-title,
  .mm-equipment-clone-v44 .mm-riuniti-v34-band-item {
    grid-column: 1 !important;
    border-left: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    padding: 21px !important;
  }

  .mm-equipment-clone-v44 .mm-riuniti-v34-band-item:last-child {
    border-bottom: 0 !important;
  }
}

/* ===== SOURCE: assets/css/v5.2-product-pages.css ===== */
/* ==========================================================
   MyMedical 2026 v5.2
   Pagine prodotto Attrezzature
   ========================================================== */

/* The outer product card can now use its full width. */
.mm-eqproducts-content-v52 {
  padding: clamp(22px,2.6vw,34px) !important;
}

.mm-product-v52 {
  width: 100%;
}

.mm-product-v52-title {
  margin-bottom: 22px;
  padding: 4px 4px 20px;
  border-bottom: 1px solid #e2eaf4;
}

.mm-product-v52-title h2 {
  max-width: 980px;
  margin: 4px 0 0 !important;
  color: #071a3d !important;
  font-size: clamp(1.55rem,2.25vw,2.15rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.025em !important;
}

.mm-product-v52-sections {
  display: grid;
  gap: 18px;
}

.mm-product-v52-row {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
  gap: clamp(30px,4.8vw,70px);
  align-items: center;
  box-sizing: border-box;
  min-height: 390px;
  padding: clamp(28px,3.8vw,48px);
  overflow: hidden;
  border: 1px solid #e0e9f4;
  border-radius: 20px;
  background:
    radial-gradient(circle at 10% 12%,rgba(18,96,232,.045),transparent 28%),
    #fff;
}

.mm-product-v52-row.is-image-right .mm-product-v52-media {
  order: 2;
}

.mm-product-v52-row.is-image-right .mm-product-v52-copy {
  order: 1;
}

.mm-product-v52-media {
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 100%;
  min-height: 315px;
  margin: 0;
  padding: 18px;
  overflow: hidden;
  border-radius: 17px;
  background: #fff;
}

.mm-product-v52-media img {
  display: block !important;
  width: 100% !important;
  height: 300px !important;
  max-width: 100% !important;
  max-height: 300px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 0 !important;
  transform: none !important;
}

.mm-product-v52-copy {
  min-width: 0;
  padding: 4px 0;
}

.mm-product-v52-copy p {
  max-width: none !important;
  margin: 0 0 15px !important;
  color: #52647d !important;
  font-size: clamp(.98rem,1.05vw,1.08rem) !important;
  line-height: 1.65 !important;
}

.mm-product-v52-copy p:last-child {
  margin-bottom: 0 !important;
}

/* The old legacy navigation/contact buttons are no longer rendered.
   Hide any cached remnants as an extra safeguard. */
.mm-eqproducts-content-v52 .wp-block-buttons,
.mm-eqproducts-content-v52 .wp-block-button,
.mm-eqproducts-content-v52 a[href*="contatt"],
.mm-eqproducts-content-v52 a[href*="javascript:history"],
.mm-eqproducts-content-v52 a[href="#"] {
  display: none !important;
}

/* The bottom MyMedical CTA is the sole contact action for product pages. */
.mm-eqproducts-source + .mm-eqsub-cta {
  margin-top: 0;
}

/* Tablet */
@media (max-width:1000px) {
  .mm-product-v52-row {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 24px;
    min-height: 330px;
    padding: 26px;
  }

  .mm-product-v52-media {
    min-height: 270px;
  }

  .mm-product-v52-media img {
    height: 250px !important;
    max-height: 250px !important;
  }
}

/* Smartphone */
@media (max-width:700px) {
  .mm-eqproducts-content-v52 {
    padding: 14px !important;
  }

  .mm-product-v52-title {
    margin-bottom: 14px;
    padding: 4px 4px 15px;
  }

  .mm-product-v52-row,
  .mm-product-v52-row.is-image-right {
    grid-template-columns: 1fr;
    gap: 18px;
    min-height: 0;
    padding: 18px;
    border-radius: 17px;
  }

  .mm-product-v52-row.is-image-right .mm-product-v52-media,
  .mm-product-v52-row.is-image-right .mm-product-v52-copy {
    order: initial;
  }

  .mm-product-v52-media {
    min-height: 245px;
    padding: 12px;
  }

  .mm-product-v52-media img {
    height: 225px !important;
    max-height: 225px !important;
  }

  .mm-product-v52-copy p {
    font-size: .96rem !important;
    line-height: 1.58 !important;
  }
}

/* ===== SOURCE: assets/css/v5.4-footer-spacing.css ===== */
/* ==========================================================
   MyMedical 2026 v5.4
   Footer più ampio e con maggiore respiro verticale.
   Funziona anche con template-part salvato nel database.
   ========================================================== */

.mm-footer {
  box-sizing: border-box !important;
  padding-top: 78px !important;
  padding-bottom: 54px !important;
}

.mm-footer-inner {
  box-sizing: border-box !important;
  width: min(1240px, calc(100% - 64px)) !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.mm-footer-grid {
  gap: 54px !important;
  align-items: start !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.mm-footer-grid > .wp-block-column {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.mm-footer-brand {
  margin-top: 0 !important;
  margin-bottom: 20px !important;
}

.mm-footer-copy {
  margin-top: 0 !important;
  line-height: 1.6 !important;
}

.mm-footer-title {
  margin-top: 0 !important;
  margin-bottom: 17px !important;
}

.mm-footer-list li {
  margin-bottom: 10px !important;
}

/* Separate the legal area clearly from the navigation columns. */
.mm-footer-bottom {
  margin-top: 48px !important;
  margin-bottom: 0 !important;
  padding-top: 24px !important;
}

.mm-footer-legal {
  margin-top: 14px !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Tablet */
@media (max-width:1000px) {
  .mm-footer {
    padding-top: 64px !important;
    padding-bottom: 48px !important;
  }

  .mm-footer-inner {
    width: min(100% - 48px, 920px) !important;
  }

  .mm-footer-grid {
    gap: 38px 44px !important;
  }

  .mm-footer-bottom {
    margin-top: 42px !important;
  }
}

/* Smartphone */
@media (max-width:640px) {
  .mm-footer {
    padding-top: 54px !important;
    padding-bottom: 42px !important;
  }

  .mm-footer-inner {
    width: calc(100% - 36px) !important;
  }

  .mm-footer-grid {
    gap: 32px !important;
  }

  .mm-footer-brand {
    margin-bottom: 15px !important;
  }

  .mm-footer-bottom {
    margin-top: 38px !important;
    padding-top: 22px !important;
  }

  .mm-footer-legal {
    margin-top: 12px !important;
    line-height: 1.65 !important;
  }
}

/* ===== SOURCE: assets/css/v5.5-logo-mymedical.css ===== */
/* ==========================================================
   MyMedical 2026 v5.5
   Inserimento logo utente MY Medical
   ========================================================== */

.mm-brand-link {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  text-decoration: none !important;
}

.mm-brand-link img {
  width: 320px !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}

.mm-footer-brand-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  background: #ffffff !important;
  border-radius: 16px !important;
  padding: 10px 14px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.12) !important;
}

.mm-footer-brand-img {
  width: 260px !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}

.mm-footer-brand {
  display: none !important;
}

@media (max-width: 1200px) {
  .mm-brand-link img {
    width: 280px !important;
  }
}

@media (max-width: 1000px) {
  .mm-brand-link img {
    width: 235px !important;
  }
  .mm-footer-brand-img {
    width: 220px !important;
  }
}

@media (max-width: 640px) {
  .mm-brand-link img {
    width: 190px !important;
  }
  .mm-footer-brand-link {
    border-radius: 14px !important;
    padding: 8px 12px !important;
  }
  .mm-footer-brand-img {
    width: 190px !important;
  }
}

/* ===== SOURCE: assets/css/v5.6-footer-logo-inverse.css ===== */
/* ==========================================================
   MyMedical 2026 v5.6
   Logo inverso trasparente nel footer
   ========================================================== */

.mm-footer-brand-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  max-width: 100% !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.mm-footer-brand-img {
  display: block !important;
  width: 250px !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  object-fit: contain !important;
  object-position: left center !important;
}

/* Override the temporary white-card treatment introduced in v5.5. */
.mm-footer .mm-footer-brand-link,
.mm-footer .mm-footer-brand-link:hover,
.mm-footer .mm-footer-brand-link:focus {
  background: transparent !important;
  box-shadow: none !important;
  outline-offset: 5px;
}

@media (max-width:1000px) {
  .mm-footer-brand-img {
    width: 225px !important;
  }
}

@media (max-width:640px) {
  .mm-footer-brand-link {
    margin-bottom: 16px !important;
  }

  .mm-footer-brand-img {
    width: 205px !important;
  }
}

/* ===== SOURCE: assets/css/v5.7-remove-top-back-links.css ===== */
/* ==========================================================
   MyMedical 2026 v5.7
   Rimuove la navigazione esterna sottolineata sopra al hero
   ========================================================== */

.mm-eqsub-back,
.mm-eqproducts-back {
  display: none !important;
}

/* ===== SOURCE: assets/css/v5.8-product-standard.css ===== */
/* ==========================================================
   MyMedical 2026 v5.8
   Standard definitivo pagine prodotto ATTREZZATURE
   ========================================================== */

/* Cleaner introduction: no nested "box inside box". */
.mm-eqproducts-source-v58 {
  margin-bottom: 46px !important;
}

.mm-eqproducts-source-v58 .mm-eqproducts-head {
  align-items: end !important;
  margin-bottom: 28px !important;
}

.mm-eqproducts-source-v58 .mm-eqproducts-head > p:last-child {
  max-width: 670px !important;
  justify-self: end !important;
  color: #62758f !important;
  font-size: .98rem !important;
  line-height: 1.62 !important;
}

.mm-eqproducts-content-v58 {
  overflow: visible !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Main product title. */
.mm-product-v58 .mm-product-v52-title {
  box-sizing: border-box !important;
  margin-bottom: 22px !important;
  padding: 24px 30px !important;
  border: 1px solid #dce7f3 !important;
  border-radius: 18px !important;
  background: #fff !important;
}

.mm-product-v58 .mm-product-v52-title .mm-eqcat-kicker {
  margin-bottom: 7px !important;
}

.mm-product-v58 .mm-product-v52-title h2 {
  max-width: none !important;
  margin: 0 !important;
  font-size: clamp(1.65rem,2.45vw,2.45rem) !important;
  line-height: 1.12 !important;
}

/* Every photo/text block has the same polished rhythm. */
.mm-product-v58 .mm-product-v52-sections {
  gap: 22px !important;
}

.mm-product-v58 .mm-product-v52-row {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
  gap: clamp(34px,4.4vw,64px) !important;
  min-height: 420px !important;
  padding: clamp(30px,3.4vw,46px) !important;
  border: 1px solid #dce7f3 !important;
  border-radius: 21px !important;
  background: #fff !important;
  box-shadow: 0 14px 42px rgba(7,26,61,.045) !important;
}

/* The photographic zone stays pure white so legacy images blend naturally. */
.mm-product-v58 .mm-product-v52-media {
  min-height: 350px !important;
  padding: 20px !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.mm-product-v58 .mm-product-v52-media img {
  width: 100% !important;
  height: 330px !important;
  max-width: 100% !important;
  max-height: 330px !important;
  object-fit: contain !important;
  object-position: center !important;
}

/* Copy */
.mm-product-v58 .mm-product-v52-copy {
  align-self: center !important;
  padding: 8px 0 !important;
}

.mm-product-v58 .mm-product-v52-copy h3 {
  margin: 0 0 16px !important;
  color: #071a3d !important;
  font-size: clamp(1.35rem,1.75vw,1.75rem) !important;
  line-height: 1.16 !important;
  letter-spacing: -.025em !important;
}

.mm-product-v58 .mm-product-v52-copy p {
  margin: 0 0 15px !important;
  color: #52647d !important;
  font-size: 1rem !important;
  line-height: 1.68 !important;
}

.mm-product-v58 .mm-product-v52-copy p:last-of-type {
  margin-bottom: 0 !important;
}

/* Structured product features recovered from the original page. */
.mm-product-v58 .mm-product-v58-features {
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid #e3eaf3 !important;
}

.mm-product-v58 .mm-product-v58-features > strong {
  display: block !important;
  margin-bottom: 12px !important;
  color: #071a3d !important;
  font-size: .86rem !important;
  font-weight: 850 !important;
  letter-spacing: .02em !important;
}

.mm-product-v58 .mm-product-v58-features ul {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.mm-product-v58 .mm-product-v58-features li {
  position: relative !important;
  margin: 0 !important;
  padding: 0 0 0 25px !important;
  color: #52647d !important;
  font-size: .92rem !important;
  line-height: 1.48 !important;
}

.mm-product-v58 .mm-product-v58-features li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: .03em !important;
  display: grid !important;
  place-items: center !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: #eaf3ff !important;
  color: #1260e8 !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
}

/* The final navy band remains the only contact CTA on product pages. */
.mm-eqproducts-source-v58 + .mm-eqsub-cta {
  margin-top: 0 !important;
}

/* Tablet */
@media (max-width:1000px) {
  .mm-product-v58 .mm-product-v52-row {
    gap: 26px !important;
    min-height: 350px !important;
    padding: 28px !important;
  }

  .mm-product-v58 .mm-product-v52-media {
    min-height: 285px !important;
  }

  .mm-product-v58 .mm-product-v52-media img {
    height: 265px !important;
    max-height: 265px !important;
  }
}

/* Smartphone */
@media (max-width:700px) {
  .mm-eqproducts-source-v58 .mm-eqproducts-head {
    margin-bottom: 18px !important;
  }

  .mm-eqproducts-source-v58 .mm-eqproducts-head > p:last-child {
    justify-self: start !important;
  }

  .mm-product-v58 .mm-product-v52-title {
    padding: 20px !important;
    border-radius: 16px !important;
  }

  .mm-product-v58 .mm-product-v52-row,
  .mm-product-v58 .mm-product-v52-row.is-image-right {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    min-height: 0 !important;
    padding: 20px !important;
    border-radius: 17px !important;
  }

  .mm-product-v58 .mm-product-v52-row.is-image-right .mm-product-v52-media,
  .mm-product-v58 .mm-product-v52-row.is-image-right .mm-product-v52-copy {
    order: initial !important;
  }

  .mm-product-v58 .mm-product-v52-media {
    min-height: 250px !important;
    padding: 8px !important;
  }

  .mm-product-v58 .mm-product-v52-media img {
    height: 235px !important;
    max-height: 235px !important;
  }

  .mm-product-v58 .mm-product-v52-copy {
    padding: 0 !important;
  }

  .mm-product-v58 .mm-product-v52-copy h3 {
    font-size: 1.35rem !important;
  }

  .mm-product-v58 .mm-product-v52-copy p {
    font-size: .96rem !important;
    line-height: 1.6 !important;
  }
}

/* ===== SOURCE: assets/css/v5.9-homepage-final.css ===== */
/* ==========================================================
   MyMedical 2026 v5.9
   Revisione finale Homepage
   ========================================================== */

/* HERO */
.mm-hero {
  padding-top: 72px !important;
  padding-bottom: 58px !important;
}

.mm-hero-title {
  max-width: 720px !important;
}

.mm-hero-copy {
  max-width: 660px !important;
}

.mm-hero-visual {
  box-sizing: border-box !important;
  overflow: hidden !important;
  border: 1px solid #dce7f4 !important;
  background: #fff !important;
  box-shadow: 0 20px 60px rgba(7,26,61,.08) !important;
}

/* 3 PRIMARY AREAS */
.mm-feature-wrap {
  padding-top: 24px !important;
  padding-bottom: 72px !important;
}

.mm-feature-card {
  height: 100% !important;
  border: 1px solid #e0e8f3 !important;
}

.mm-feature-copy .mm-link-arrow {
  margin-top: auto !important;
}

/* EQUIPMENT CATEGORIES — 8 real categories, 4x2 desktop */
.mm-category-section {
  padding-top: 78px !important;
  padding-bottom: 78px !important;
}

.mm-category-section > p:not(.mm-kicker) {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.mm-category-grid {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 16px !important;
  margin-top: 36px !important;
}

.mm-category-card {
  box-sizing: border-box !important;
  min-height: 278px !important;
  padding: 22px 18px 20px !important;
  border: 1px solid #e0e8f3 !important;
  border-radius: 19px !important;
  background: #fff !important;
}

.mm-category-image {
  max-width: 122px !important;
  margin-bottom: 10px !important;
}

.mm-category-card h4 {
  margin: 4px 0 7px !important;
  color: #071a3d !important;
  font-size: 1.05rem !important;
  line-height: 1.2 !important;
}

.mm-category-card .mm-home-category-desc {
  min-height: 44px !important;
  margin: 0 0 13px !important;
  color: #697b93 !important;
  font-size: .78rem !important;
  line-height: 1.4 !important;
}

.mm-category-card > p:last-child {
  margin-top: auto !important;
}

.mm-category-card > p:last-child a {
  color: #1260e8 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* ASSISTANCE follows equipment and should feel like a strong break */
.mm-category-section + .mm-assistance-band {
  margin-top: 4px !important;
  margin-bottom: 76px !important;
}

/* USED */
.mm-selection {
  padding-top: 76px !important;
  padding-bottom: 76px !important;
}

.mm-selection .mm-shell > p:not(.mm-kicker) {
  max-width: 730px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Hide implementation-flavoured empty-state language if older cache survives. */
.mm-demo-note {
  color: #687a91 !important;
  font-size: .82rem !important;
  line-height: 1.45 !important;
}

/* STATS */
.mm-stats-wrap {
  margin-top: 70px !important;
  margin-bottom: 78px !important;
}

/* PARTNERS */
.mm-partners {
  padding-top: 14px !important;
  padding-bottom: 76px !important;
}

.mm-partners > .mm-kicker {
  margin-bottom: 8px !important;
}

.mm-partners > h2 {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
  font-size: clamp(2rem,3vw,3rem) !important;
  color: #071a3d !important;
}

.mm-partners > p:not(.mm-kicker) {
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.mm-partner-card {
  min-height: 112px !important;
}

/* FINAL CTA */
.mm-cta-premium {
  margin-top: 8px !important;
}

/* TABLET */
@media(max-width:1000px) {
  .mm-category-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  .mm-category-card {
    min-height: 255px !important;
  }
}

/* MOBILE */
@media(max-width:640px) {
  .mm-hero {
    padding-top: 44px !important;
    padding-bottom: 40px !important;
  }

  .mm-feature-wrap {
    padding-bottom: 52px !important;
  }

  .mm-category-section {
    padding-top: 58px !important;
    padding-bottom: 58px !important;
  }

  .mm-category-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .mm-category-card {
    min-height: 0 !important;
    padding: 20px !important;
  }

  .mm-category-card .mm-home-category-desc {
    min-height: 0 !important;
  }

  .mm-selection {
    padding-top: 58px !important;
    padding-bottom: 58px !important;
  }

  .mm-partners {
    padding-bottom: 58px !important;
  }
}

/* ===== SOURCE: assets/css/v5.10-usato-final.css ===== */
/* ==========================================================
   MyMedical 2026 v5.10
   Revisione finale USATO / MyMedical Selection
   ========================================================== */

/* Page hero */
body.page-template-page-usato .mm-page-hero,
.mm-page-hero:has(+ .mm-shop-page-v510) {
  padding-top: 68px !important;
  padding-bottom: 54px !important;
}

.mm-page-hero .mm-kicker {
  margin-bottom: 9px !important;
}

.mm-page-hero h1 {
  margin-top: 0 !important;
}

/* Catalog shell */
.mm-shop-page-v510 {
  padding-top: 62px !important;
  padding-bottom: 68px !important;
}

.mm-shop-page-v510 .mm-shop-intro {
  box-sizing: border-box !important;
  padding: 30px !important;
  border: 1px solid #dce7f3 !important;
  border-radius: 21px !important;
  background:
    radial-gradient(circle at 92% 10%,rgba(18,96,232,.07),transparent 30%),
    #fff !important;
  box-shadow: 0 14px 42px rgba(7,26,61,.045) !important;
}

.mm-shop-page-v510 .mm-shop-intro h2 {
  max-width: 650px !important;
  margin-top: 0 !important;
  font-size: clamp(2rem,3vw,3rem) !important;
}

.mm-shop-page-v510 .mm-shop-intro > div > p:last-child {
  max-width: 690px !important;
  line-height: 1.6 !important;
}

/* Search */
.mm-shop-page-v510 .mm-shop-search {
  padding: 9px !important;
  border: 1px solid #d8e3ef !important;
  border-radius: 16px !important;
  background: #f7faff !important;
}

.mm-shop-page-v510 .mm-shop-search input,
.mm-shop-page-v510 .mm-shop-search select {
  min-height: 48px !important;
  border-color: #d6e2ef !important;
  background: #fff !important;
}

.mm-shop-page-v510 .mm-shop-search button {
  min-height: 48px !important;
  border-radius: 11px !important;
}

/* Category selector */
.mm-shop-page-v510 .mm-used-category-panel {
  margin-top: 24px !important;
  margin-bottom: 30px !important;
  padding: 22px !important;
  border-radius: 19px !important;
  background: #f8fbff !important;
}

.mm-shop-page-v510 .mm-used-categories {
  gap: 11px !important;
}

.mm-shop-page-v510 .mm-used-category-card {
  min-height: 62px !important;
  padding: 13px 14px !important;
  border-radius: 13px !important;
}

.mm-shop-page-v510 .mm-used-category-card strong {
  font-size: .86rem !important;
}

.mm-shop-page-v510 .mm-used-category-card small {
  margin-top: 3px !important;
}

/* Results toolbar */
.mm-used-catalog-toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 4px 0 14px !important;
}

.mm-used-result-count {
  display: flex !important;
  align-items: baseline !important;
  gap: 7px !important;
  color: #697b93 !important;
  font-size: .86rem !important;
}

.mm-used-result-count strong {
  color: #071a3d !important;
  font-size: 1.2rem !important;
  font-weight: 900 !important;
}

.mm-used-clear-all {
  color: #1260e8 !important;
  font-size: .8rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.mm-shop-page-v510 .mm-used-catalog-note {
  margin-bottom: 22px !important;
  padding: 13px 15px !important;
}

/* Product cards */
.mm-shop-page-v510 .mm-shop-grid,
.mm-used-product-page-v510 .mm-related-grid {
  gap: 18px !important;
}

.mm-shop-page-v510 .mm-shop-card,
.mm-used-product-page-v510 .mm-shop-card {
  height: 100% !important;
  border-color: #dce6f1 !important;
  border-radius: 19px !important;
  box-shadow: 0 12px 34px rgba(7,26,61,.035) !important;
}

.mm-shop-page-v510 .mm-shop-card-media,
.mm-used-product-page-v510 .mm-shop-card-media {
  height: 245px !important;
  min-height: 245px !important;
  background: #fff !important;
}

.mm-shop-page-v510 .mm-shop-card-media img,
.mm-used-product-page-v510 .mm-shop-card-media img {
  width: 100% !important;
  height: 220px !important;
  max-height: 220px !important;
  padding: 14px !important;
  object-fit: contain !important;
  box-sizing: border-box !important;
}

.mm-shop-page-v510 .mm-shop-card-body,
.mm-used-product-page-v510 .mm-shop-card-body {
  display: flex !important;
  flex-direction: column !important;
  min-height: 235px !important;
}

.mm-shop-page-v510 .mm-shop-card-copy,
.mm-used-product-page-v510 .mm-shop-card-copy {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
}

.mm-shop-card-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-top: auto !important;
  padding-top: 15px !important;
  border-top: 1px solid #edf1f6 !important;
}

.mm-shop-card-bottom > span {
  color: #8795a8 !important;
  font-size: .69rem !important;
  line-height: 1.3 !important;
}

.mm-shop-card-bottom .mm-shop-card-link {
  flex: 0 0 auto !important;
}

/* Empty result */
.mm-shop-empty-v510 {
  padding: 54px 28px !important;
  border-radius: 20px !important;
}

.mm-shop-empty-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  margin-top: 12px !important;
  padding: 10px 18px !important;
  border-radius: 11px !important;
  background: #1260e8 !important;
  color: #fff !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* Single used product */
.mm-used-product-page-v510 {
  padding-top: 52px !important;
}

.mm-used-product-page-v510 .mm-product-hero {
  gap: clamp(38px,5vw,72px) !important;
  align-items: stretch !important;
  padding: 30px !important;
  border: 1px solid #dce7f3 !important;
  border-radius: 23px !important;
  background: #fff !important;
  box-shadow: 0 16px 48px rgba(7,26,61,.05) !important;
}

.mm-used-product-page-v510 .mm-product-main-image {
  height: 520px !important;
  min-height: 520px !important;
  max-height: 520px !important;
  border: 0 !important;
  background: #fff !important;
}

.mm-used-product-page-v510 .mm-product-main-image img {
  max-height: 480px !important;
  object-fit: contain !important;
}

.mm-used-product-page-v510 .mm-product-info {
  align-self: center !important;
}

.mm-used-product-page-v510 .mm-product-facts {
  gap: 9px !important;
}

.mm-used-product-page-v510 .mm-product-fact {
  border: 1px solid #e5ecf5 !important;
  background: #f8fbff !important;
}

.mm-used-product-page-v510 .mm-product-actions {
  margin-top: 2px !important;
}

/* Selection support strip */
.mm-used-product-support {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 8px !important;
  margin-top: 20px !important;
  padding-top: 18px !important;
  border-top: 1px solid #e3eaf3 !important;
}

.mm-used-product-support > div {
  min-width: 0 !important;
  padding: 11px !important;
  border-radius: 12px !important;
  background: #f7faff !important;
}

.mm-used-product-support span {
  display: block !important;
  margin-bottom: 5px !important;
  color: #1260e8 !important;
  font-size: .66rem !important;
  font-weight: 900 !important;
}

.mm-used-product-support strong {
  display: block !important;
  margin-bottom: 3px !important;
  color: #071a3d !important;
  font-size: .76rem !important;
  line-height: 1.2 !important;
}

.mm-used-product-support small {
  display: block !important;
  color: #76879d !important;
  font-size: .65rem !important;
  line-height: 1.35 !important;
}

/* Description */
.mm-used-product-page-v510 .mm-product-description {
  margin-top: 62px !important;
  padding-top: 46px !important;
}

.mm-used-product-page-v510 .mm-product-description-content {
  padding: 26px 30px !important;
  border: 1px solid #e0e8f2 !important;
  border-radius: 18px !important;
  background: #fff !important;
}

/* Process and trust sections */
.mm-used-process {
  padding-top: 74px !important;
  padding-bottom: 66px !important;
}

.mm-used-process-grid {
  gap: 14px !important;
}

.mm-used-step {
  height: 100% !important;
  border: 1px solid #e0e8f3 !important;
}

.mm-used-trust {
  margin-top: 18px !important;
  margin-bottom: 78px !important;
}

/* Tablet */
@media(max-width:980px) {
  .mm-used-product-page-v510 .mm-product-hero {
    padding: 24px !important;
  }

  .mm-used-product-page-v510 .mm-product-main-image {
    height: 430px !important;
    min-height: 430px !important;
    max-height: 430px !important;
  }

  .mm-used-product-page-v510 .mm-product-main-image img {
    max-height: 390px !important;
  }
}

/* Mobile */
@media(max-width:700px) {
  .mm-shop-page-v510 {
    padding-top: 44px !important;
  }

  .mm-shop-page-v510 .mm-shop-intro {
    padding: 20px !important;
  }

  .mm-shop-page-v510 .mm-used-categories {
    grid-template-columns: 1fr 1fr !important;
  }

  .mm-used-catalog-toolbar {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  .mm-shop-page-v510 .mm-shop-card-media,
  .mm-used-product-page-v510 .mm-shop-card-media {
    height: 220px !important;
    min-height: 220px !important;
  }

  .mm-shop-page-v510 .mm-shop-card-media img,
  .mm-used-product-page-v510 .mm-shop-card-media img {
    height: 200px !important;
    max-height: 200px !important;
  }

  .mm-shop-card-bottom {
    align-items: flex-end !important;
  }

  .mm-used-product-page-v510 .mm-product-hero {
    padding: 18px !important;
    border-radius: 18px !important;
  }

  .mm-used-product-page-v510 .mm-product-main-image {
    height: 310px !important;
    min-height: 310px !important;
    max-height: 310px !important;
  }

  .mm-used-product-page-v510 .mm-product-main-image img {
    max-height: 285px !important;
  }

  .mm-used-product-support {
    grid-template-columns: 1fr !important;
  }

  .mm-used-product-page-v510 .mm-product-description-content {
    padding: 20px !important;
  }
}

@media(max-width:480px) {
  .mm-shop-page-v510 .mm-used-categories {
    grid-template-columns: 1fr !important;
  }
}

/* ===== SOURCE: assets/css/v5.11-usato-banner.css ===== */
/* ==========================================================
   MyMedical 2026 v5.11
   Banner processo USATO
   ========================================================== */

.mm-used-process--banner {
  padding-top: 72px !important;
  padding-bottom: 40px !important;
}

.mm-used-process--banner .mm-used-process-banner {
  padding: 34px !important;
  border: 1px solid #dce7f3 !important;
  border-radius: 26px !important;
  background:
    linear-gradient(180deg, rgba(248,251,255,1) 0%, rgba(243,247,253,1) 100%) !important;
  box-shadow: 0 18px 44px rgba(7,26,61,.05) !important;
}

.mm-used-process--banner .mm-used-process-intro {
  max-width: 860px !important;
  margin: 0 auto 28px !important;
  text-align: center !important;
}

.mm-used-process--banner .mm-used-process-intro .mm-kicker,
.mm-used-process--banner .mm-used-process-intro p:first-child {
  display: inline-block !important;
  margin-bottom: 10px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: rgba(18,96,232,.08) !important;
  color: #1260e8 !important;
  font-size: .74rem !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.mm-used-process--banner .mm-used-process-intro h2 {
  margin: 0 0 12px !important;
  color: #071a3d !important;
  font-size: clamp(2rem, 3vw, 3.35rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
}

.mm-used-process--banner .mm-used-process-intro p:last-child {
  max-width: 740px !important;
  margin: 0 auto !important;
  color: #5b6e87 !important;
  font-size: 1.02rem !important;
  line-height: 1.7 !important;
}

.mm-used-process--banner .mm-used-process-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 16px !important;
  margin-top: 10px !important;
}

.mm-used-process--banner .mm-used-step {
  height: 100% !important;
  padding: 24px 22px !important;
  border: 1px solid #dbe5f1 !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 24px rgba(7,26,61,.035) !important;
}

.mm-used-process--banner .mm-used-step .mm-step-number {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  margin-bottom: 16px !important;
  border-radius: 999px !important;
  background: rgba(18,96,232,.1) !important;
  color: #1260e8 !important;
  font-size: .82rem !important;
  font-weight: 900 !important;
}

.mm-used-process--banner .mm-used-step h3 {
  margin: 0 0 10px !important;
  color: #071a3d !important;
  font-size: 1.08rem !important;
  line-height: 1.2 !important;
}

.mm-used-process--banner .mm-used-step p {
  margin: 0 !important;
  color: #667a93 !important;
  font-size: .95rem !important;
  line-height: 1.6 !important;
}

/* Give better spacing before trust section */
.mm-used-process--banner + .mm-used-trust,
.mm-used-process--banner ~ .mm-used-trust:first-of-type {
  margin-top: 26px !important;
}

/* Tablet */
@media (max-width: 1100px) {
  .mm-used-process--banner .mm-used-process-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}

/* Mobile */
@media (max-width: 700px) {
  .mm-used-process--banner {
    padding-top: 50px !important;
    padding-bottom: 20px !important;
  }

  .mm-used-process--banner .mm-used-process-banner {
    padding: 22px !important;
    border-radius: 20px !important;
  }

  .mm-used-process--banner .mm-used-process-intro {
    margin-bottom: 20px !important;
    text-align: left !important;
  }

  .mm-used-process--banner .mm-used-process-intro p:last-child {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .mm-used-process--banner .mm-used-process-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .mm-used-process--banner .mm-used-step {
    padding: 18px !important;
  }
}

/* ===== SOURCE: assets/css/v5.12-usato-process-banner.css ===== */
/* ==========================================================
   MyMedical 2026 v5.12
   Banner reale "Il metodo MyMedical"
   ========================================================== */

.mm-used-process-v512 {
  box-sizing: border-box !important;
  padding-top: 72px !important;
  padding-bottom: 34px !important;
}

.mm-used-process-v512 .mm-used-process-banner-v512 {
  box-sizing: border-box !important;
  padding: 44px 42px 40px !important;
  overflow: hidden !important;
  border: 1px solid #d7e5f6 !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(18,96,232,.10), transparent 31%),
    linear-gradient(135deg, #f7fbff 0%, #edf5ff 100%) !important;
  box-shadow: 0 20px 55px rgba(7,26,61,.065) !important;
}

.mm-used-process-v512 .mm-used-process-head-v512 {
  max-width: 850px !important;
  margin: 0 auto 34px !important;
  text-align: center !important;
}

.mm-used-process-v512 .mm-used-process-head-v512 .mm-kicker {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 31px !important;
  margin: 0 0 13px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: #1260e8 !important;
  color: #fff !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.mm-used-process-v512 .mm-used-process-head-v512 h2 {
  max-width: 810px !important;
  margin: 0 auto 15px !important;
  color: #071a3d !important;
  font-size: clamp(2.25rem,3.7vw,3.75rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.045em !important;
}

.mm-used-process-v512 .mm-used-process-head-v512 > p:last-child {
  max-width: 730px !important;
  margin: 0 auto !important;
  color: #5d718a !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
}

.mm-used-process-v512 .mm-used-process-grid-v512 {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 14px !important;
  margin: 0 !important;
}

.mm-used-process-v512 .mm-used-process-grid-v512 > .wp-block-column {
  margin: 0 !important;
}

.mm-used-process-v512 .mm-used-step-v512 {
  box-sizing: border-box !important;
  height: 100% !important;
  min-height: 176px !important;
  padding: 22px 20px !important;
  border: 1px solid rgba(203,218,238,.95) !important;
  border-radius: 17px !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 10px 28px rgba(7,26,61,.035) !important;
}

.mm-used-process-v512 .mm-used-step-v512 .mm-used-step-number {
  display: grid !important;
  place-items: center !important;
  width: 35px !important;
  height: 35px !important;
  margin: 0 0 16px !important;
  border-radius: 50% !important;
  background: #e9f2ff !important;
  color: #1260e8 !important;
  font-size: .73rem !important;
  font-weight: 900 !important;
}

.mm-used-process-v512 .mm-used-step-v512 h3 {
  margin: 0 0 9px !important;
  color: #071a3d !important;
  font-size: 1rem !important;
  line-height: 1.2 !important;
}

.mm-used-process-v512 .mm-used-step-v512 > p:last-child {
  margin: 0 !important;
  color: #64768f !important;
  font-size: .83rem !important;
  line-height: 1.55 !important;
}

/* Override older v5.10/v5.11 process styles decisively */
.mm-used-process-v512,
.mm-used-process-v512 .mm-used-process-head,
.mm-used-process-v512 .mm-used-process-grid,
.mm-used-process-v512 .mm-used-step {
  background-clip: padding-box !important;
}

@media (max-width:1000px) {
  .mm-used-process-v512 .mm-used-process-banner-v512 {
    padding: 34px !important;
  }

  .mm-used-process-v512 .mm-used-process-grid-v512 {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:700px) {
  .mm-used-process-v512 {
    padding-top: 52px !important;
    padding-bottom: 24px !important;
  }

  .mm-used-process-v512 .mm-used-process-banner-v512 {
    padding: 24px 20px !important;
    border-radius: 21px !important;
  }

  .mm-used-process-v512 .mm-used-process-head-v512 {
    margin-bottom: 24px !important;
    text-align: left !important;
  }

  .mm-used-process-v512 .mm-used-process-head-v512 h2 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    font-size: clamp(2rem,10vw,2.75rem) !important;
  }

  .mm-used-process-v512 .mm-used-process-head-v512 > p:last-child {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .mm-used-process-v512 .mm-used-process-grid-v512 {
    grid-template-columns: 1fr !important;
    gap: 11px !important;
  }

  .mm-used-process-v512 .mm-used-step-v512 {
    min-height: 0 !important;
  }
}

/* ===== SOURCE: assets/css/v5.13-usato-process-fullwidth.css ===== */
/* ==========================================================
   MyMedical 2026 v5.13
   Banner processo USATO a tutta larghezza pagina
   ========================================================== */

.mm-used-process-v513 {
  box-sizing: border-box !important;
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-top: 72px !important;
  padding-bottom: 34px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.mm-used-process-v513.wp-block-group.alignfull,
.wp-block-group.alignfull.mm-used-process-v513 {
  max-width: none !important;
  width: 100% !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

.mm-used-process-v513 .mm-used-process-banner-v513 {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 44px clamp(20px, 4vw, 56px) 40px !important;
  overflow: hidden !important;
  border-top: 1px solid #d7e5f6 !important;
  border-bottom: 1px solid #d7e5f6 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(18,96,232,.10), transparent 31%),
    linear-gradient(135deg, #f7fbff 0%, #edf5ff 100%) !important;
  box-shadow: 0 20px 55px rgba(7,26,61,.065) !important;
}

.mm-used-process-v513 .mm-used-process-head-v513 {
  max-width: 1180px !important;
  margin: 0 auto 34px !important;
  text-align: center !important;
}

.mm-used-process-v513 .mm-used-process-head-v513 .mm-kicker {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 31px !important;
  margin: 0 0 13px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: #1260e8 !important;
  color: #fff !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.mm-used-process-v513 .mm-used-process-head-v513 h2 {
  max-width: 980px !important;
  margin: 0 auto 15px !important;
  color: #071a3d !important;
  font-size: clamp(2.25rem,3.7vw,3.75rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.045em !important;
}

.mm-used-process-v513 .mm-used-process-head-v513 > p:last-child {
  max-width: 760px !important;
  margin: 0 auto !important;
  color: #5d718a !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
}

.mm-used-process-v513 .mm-used-process-grid-v513 {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  gap: 14px !important;
  margin: 0 auto !important;
}

.mm-used-process-v513 .mm-used-process-grid-v513 > .wp-block-column {
  margin: 0 !important;
}

.mm-used-process-v513 .mm-used-step-v513 {
  box-sizing: border-box !important;
  height: 100% !important;
  min-height: 176px !important;
  padding: 22px 20px !important;
  border: 1px solid rgba(203,218,238,.95) !important;
  border-radius: 17px !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 10px 28px rgba(7,26,61,.035) !important;
}

.mm-used-process-v513 .mm-used-step-v513 .mm-used-step-number {
  display: grid !important;
  place-items: center !important;
  width: 35px !important;
  height: 35px !important;
  margin: 0 0 16px !important;
  border-radius: 50% !important;
  background: #e9f2ff !important;
  color: #1260e8 !important;
  font-size: .73rem !important;
  font-weight: 900 !important;
}

.mm-used-process-v513 .mm-used-step-v513 h3 {
  margin: 0 0 9px !important;
  color: #071a3d !important;
  font-size: 1rem !important;
  line-height: 1.2 !important;
}

.mm-used-process-v513 .mm-used-step-v513 > p:last-child {
  margin: 0 !important;
  color: #64768f !important;
  font-size: .83rem !important;
  line-height: 1.55 !important;
}

@media (max-width:1000px) {
  .mm-used-process-v513 .mm-used-process-banner-v513 {
    padding: 34px 24px !important;
  }
  .mm-used-process-v513 .mm-used-process-grid-v513 {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:700px) {
  .mm-used-process-v513 {
    padding-top: 52px !important;
    padding-bottom: 24px !important;
  }
  .mm-used-process-v513 .mm-used-process-banner-v513 {
    padding: 24px 16px !important;
  }
  .mm-used-process-v513 .mm-used-process-head-v513 {
    margin-bottom: 24px !important;
    text-align: left !important;
  }
  .mm-used-process-v513 .mm-used-process-head-v513 h2 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    font-size: clamp(2rem,10vw,2.75rem) !important;
  }
  .mm-used-process-v513 .mm-used-process-head-v513 > p:last-child {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .mm-used-process-v513 .mm-used-process-grid-v513 {
    grid-template-columns: 1fr !important;
    gap: 11px !important;
  }
  .mm-used-process-v513 .mm-used-step-v513 {
    min-height: 0 !important;
  }
}

/* ===== SOURCE: assets/css/v5.14-assistenza-servizi.css ===== */
/* ==========================================================
   MyMedical 2026 v5.14
   Revisione finale ASSISTENZA + SERVIZI
   ========================================================== */

/* HERO */
body.page-template-page-assistenza .mm-page-hero,
body.page-template-page-servizi .mm-page-hero {
  padding-top: 68px !important;
  padding-bottom: 56px !important;
}

body.page-template-page-assistenza .mm-page-hero .mm-kicker,
body.page-template-page-servizi .mm-page-hero .mm-kicker {
  margin-bottom: 10px !important;
}

/* ==========================================================
   ASSISTENZA
   ========================================================== */

/* Main services — 3x2 clean grid */
.mm-service-page-v514 {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

.mm-service-page-v514 .mm-service-head {
  max-width: 880px !important;
  margin-bottom: 40px !important;
}

.mm-service-page-v514 .mm-service-grid-v514 {
  gap: 16px !important;
}

.mm-service-page-v514 .mm-service-card-v514 {
  display: flex !important;
  flex-direction: column !important;
  min-height: 245px !important;
  padding: 26px !important;
  border-color: #dce6f2 !important;
  border-radius: 19px !important;
  box-shadow: 0 12px 34px rgba(7,26,61,.04) !important;
}

.mm-service-page-v514 .mm-service-icon {
  width: 48px !important;
  height: 48px !important;
  margin-bottom: 18px !important;
  border-radius: 14px !important;
  background: #edf5ff !important;
  font-size: 1.28rem !important;
}

.mm-service-page-v514 .mm-service-card-v514 h3 {
  font-size: 1.14rem !important;
}

.mm-service-page-v514 .mm-service-card-v514 > p:last-child {
  margin-top: auto !important;
}

/* Full-width dark request banner */
.mm-service-priority-v514 {
  box-sizing: border-box !important;
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.mm-service-priority-v514 .mm-service-priority-grid-v514 {
  width: min(1280px, calc(100% - 48px)) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}

.mm-service-priority-v514 .mm-service-priority-copy {
  padding: 52px 46px !important;
}

.mm-service-priority-v514 .mm-service-priority-actions {
  margin: 20px 0 !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.055) !important;
}

.mm-service-priority-v514 .mm-service-priority-action {
  background: rgba(255,255,255,.045) !important;
}

/* Process becomes a pale full-width banner */
.mm-assistance-process-v514 {
  box-sizing: border-box !important;
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 72px 24px !important;
  background:
    radial-gradient(circle at 88% 8%, rgba(18,96,232,.07), transparent 27%),
    #f6f9fd !important;
  border-top: 1px solid #e2eaf4 !important;
  border-bottom: 1px solid #e2eaf4 !important;
}

.mm-assistance-process-v514 .mm-assistance-process-head {
  max-width: 820px !important;
  margin-bottom: 34px !important;
}

.mm-assistance-process-v514 .mm-assistance-process-grid-v514 {
  width: min(1240px, 100%) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}

.mm-assistance-process-v514 .mm-assistance-step-v514 {
  min-height: 195px !important;
  border-color: #dae5f1 !important;
  box-shadow: 0 10px 30px rgba(7,26,61,.035) !important;
}

.mm-assistance-process-v514 .mm-assistance-step-number {
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: #eaf3ff !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
}

/* Maintenance */
.mm-maintenance-band-v514 {
  margin-top: 72px !important;
  border: 1px solid #dce6f2 !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 42px rgba(7,26,61,.045) !important;
}

.mm-maintenance-band-v514 .mm-maintenance-visual {
  background:
    radial-gradient(circle at 50% 50%, rgba(75,199,221,.24), transparent 27%),
    linear-gradient(145deg,#0e326b,#071a3d) !important;
}

.mm-maintenance-band-v514 .mm-maintenance-visual::after {
  content: "MANUTENZIONE" !important;
  color: rgba(255,255,255,.9) !important;
  font-size: clamp(1.25rem,2vw,1.8rem) !important;
  font-weight: 850 !important;
  letter-spacing: .13em !important;
}

/* Areas: compact 4x2 */
.mm-service-sectors-v514 {
  padding-top: 8px !important;
  padding-bottom: 76px !important;
}

.mm-service-sectors-v514 .mm-service-sector {
  height: 100% !important;
  min-height: 98px !important;
  padding: 18px !important;
  border-color: #dfe7f1 !important;
  box-shadow: 0 8px 24px rgba(7,26,61,.025) !important;
}

/* ==========================================================
   SERVIZI
   ========================================================== */

.mm-services-page-v514 {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

.mm-services-page-v514 .mm-services-head {
  max-width: 900px !important;
  margin-bottom: 42px !important;
}

.mm-services-page-v514 .mm-services-grid-v514 {
  gap: 16px !important;
}

.mm-services-page-v514 .mm-services-card-v514 {
  display: flex !important;
  flex-direction: column !important;
  min-height: 285px !important;
  padding: 27px !important;
  border-color: #dce6f2 !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(18,96,232,.065), transparent 35%),
    #fff !important;
  box-shadow: 0 12px 34px rgba(7,26,61,.04) !important;
}

.mm-services-page-v514 .mm-services-card-v514 > p:last-child {
  margin-top: auto !important;
  margin-bottom: 0 !important;
}

/* Full-width project journey */
.mm-services-journey-v514 {
  box-sizing: border-box !important;
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-bottom: 72px !important;
  border-radius: 0 !important;
}

.mm-services-journey-v514 .mm-services-journey-grid-v514 {
  width: min(1280px, calc(100% - 48px)) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 22px 0 !important;
}

.mm-services-journey-v514 .mm-services-journey-copy {
  padding: 54px 48px !important;
}

.mm-services-journey-v514 .mm-services-journey-steps {
  margin: 18px 0 !important;
  border-radius: 20px !important;
}

.mm-services-journey-v514 .mm-services-journey-step {
  min-height: 66px !important;
  background: rgba(255,255,255,.045) !important;
}

/* Two situations */
.mm-services-cluster-v514 {
  padding-bottom: 72px !important;
}

.mm-services-cluster-v514 .mm-services-cluster-head {
  max-width: 820px !important;
}

.mm-services-cluster-v514 .mm-services-cluster-grid-v514 {
  gap: 18px !important;
}

.mm-services-cluster-v514 .mm-services-cluster-card {
  min-height: 310px !important;
  border-color: #dce6f2 !important;
  box-shadow: 0 12px 34px rgba(7,26,61,.04) !important;
}

/* Final promise: light, not another dark box */
.mm-services-promise-v514 {
  margin-bottom: 72px !important;
  padding: 44px 46px !important;
  border: 1px solid #d5e4f6 !important;
  border-radius: 23px !important;
  background:
    radial-gradient(circle at 92% 12%, rgba(18,96,232,.10), transparent 30%),
    #edf5ff !important;
  box-shadow: 0 14px 40px rgba(7,26,61,.045) !important;
}

.mm-services-promise-v514 h2 {
  color: #071a3d !important;
}

.mm-services-promise-v514 p {
  color: #5e718a !important;
}

.mm-services-promise-v514 .mm-kicker {
  color: #1260e8 !important;
}

.mm-services-promise-v514 .mm-services-promise-list div {
  border: 1px solid #d8e5f3 !important;
  background: rgba(255,255,255,.8) !important;
  color: #071a3d !important;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width:1000px) {
  .mm-service-priority-v514 .mm-service-priority-grid-v514,
  .mm-services-journey-v514 .mm-services-journey-grid-v514 {
    width: min(100% - 36px, 920px) !important;
  }

  .mm-service-priority-v514 .mm-service-priority-actions,
  .mm-services-journey-v514 .mm-services-journey-steps {
    margin: 0 0 24px !important;
  }

  .mm-services-promise-v514 {
    padding: 36px !important;
  }
}

@media (max-width:700px) {
  .mm-service-page-v514,
  .mm-services-page-v514 {
    padding-top: 52px !important;
    padding-bottom: 54px !important;
  }

  .mm-service-priority-v514 .mm-service-priority-grid-v514,
  .mm-services-journey-v514 .mm-services-journey-grid-v514 {
    width: calc(100% - 28px) !important;
  }

  .mm-service-priority-v514 .mm-service-priority-copy,
  .mm-services-journey-v514 .mm-services-journey-copy {
    padding: 36px 24px !important;
  }

  .mm-service-priority-v514 .mm-service-priority-actions,
  .mm-services-journey-v514 .mm-services-journey-steps {
    padding: 20px !important;
  }

  .mm-assistance-process-v514 {
    padding: 54px 14px !important;
  }

  .mm-maintenance-band-v514 {
    margin-top: 54px !important;
  }

  .mm-maintenance-band-v514 .mm-maintenance-visual {
    min-height: 220px !important;
  }

  .mm-services-promise-v514 {
    width: calc(100% - 28px) !important;
    padding: 28px 24px !important;
  }
}

/* ===== SOURCE: assets/css/v5.15-azienda-contatti-location.css ===== */
/* ==========================================================
   MyMedical 2026 v5.15
   AZIENDA + CONTATTI + DOVE SIAMO
   ========================================================== */

/* ---------------------------
   PAGE HERO
   --------------------------- */
body.page-template-page-chi-siamo .mm-page-hero,
body.page-template-page-contattaci .mm-page-hero,
body.page-template-page-dove-siamo .mm-page-hero {
  padding-top: 68px !important;
  padding-bottom: 56px !important;
}

body.page-template-page-chi-siamo .mm-page-hero .mm-kicker,
body.page-template-page-contattaci .mm-page-hero .mm-kicker,
body.page-template-page-dove-siamo .mm-page-hero .mm-kicker {
  margin-bottom: 9px !important;
}

/* ==========================================================
   AZIENDA
   ========================================================== */
.mm-about-page-v515 {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

.mm-about-page-v515 .mm-about-intro {
  gap: 60px !important;
}

.mm-about-page-v515 .mm-about-copy h2 {
  max-width: 650px !important;
}

.mm-about-visual-v515 {
  min-height: 460px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 48px !important;
  background:
    radial-gradient(circle at 78% 18%,rgba(42,134,255,.15),transparent 28%),
    radial-gradient(circle at 18% 82%,rgba(75,199,221,.14),transparent 30%),
    linear-gradient(145deg,#f9fcff,#eaf3ff) !important;
}

.mm-about-visual-v515::before,
.mm-about-visual-v515::after {
  opacity: .7 !important;
}

.mm-about-logo-v515 {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: min(420px,88%) !important;
  height: auto !important;
  margin: 0 auto 34px !important;
}

.mm-about-note-v515 {
  position: relative !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  max-width: 390px !important;
  margin: 0 auto !important;
  padding: 17px 19px !important;
  text-align: center !important;
  color: #52647d !important;
}

.mm-about-tags-v515 {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 17px !important;
}

.mm-about-tags-v515 span {
  padding: 7px 11px !important;
  border: 1px solid #d7e5f6 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.75) !important;
  color: #315070 !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
}

/* Values */
.mm-about-values-v515 {
  padding-bottom: 74px !important;
}

.mm-about-values-v515 .mm-about-value-card-v515 {
  min-height: 218px !important;
  padding: 27px !important;
  border-color: #dce6f2 !important;
  box-shadow: 0 12px 34px rgba(7,26,61,.035) !important;
}

/* Commercial + technical full width */
.mm-about-dual-v515 {
  box-sizing: border-box !important;
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-bottom: 76px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.mm-about-dual-v515 .mm-about-dual-grid-v515 {
  width: min(1280px,100%) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
}

.mm-about-dual-v515 .mm-about-dual-side-v515 {
  min-height: 410px !important;
  padding: 54px 52px !important;
}

.mm-about-dual-v515 .mm-about-dual-side-v515:first-child {
  background: #071a3d !important;
}

.mm-about-dual-v515 .mm-about-dual-side-v515:last-child {
  background: #103a7c !important;
}

/* Story */
.mm-about-story-v515 {
  padding-bottom: 74px !important;
}

.mm-about-story-v515 .mm-about-story-card {
  min-height: 220px !important;
}

/* Final trust becomes light */
.mm-about-trust-v515 {
  margin-bottom: 72px !important;
  padding: 44px 46px !important;
  border: 1px solid #d5e4f6 !important;
  border-radius: 23px !important;
  background:
    radial-gradient(circle at 92% 12%,rgba(18,96,232,.10),transparent 30%),
    #edf5ff !important;
  box-shadow: 0 14px 40px rgba(7,26,61,.045) !important;
}

.mm-about-trust-v515 h2 {
  color: #071a3d !important;
}

.mm-about-trust-v515 p {
  color: #5d718a !important;
}

.mm-about-trust-v515 .mm-kicker {
  color: #1260e8 !important;
}

.mm-about-trust-v515 .mm-about-trust-boxes div {
  border: 1px solid #d7e4f3 !important;
  background: rgba(255,255,255,.82) !important;
  color: #071a3d !important;
}

/* ==========================================================
   CONTATTI
   ========================================================== */
.mm-contact-page-v515 {
  padding-top: 70px !important;
  padding-bottom: 76px !important;
}

.mm-contact-page-v515 .mm-contact-grid-v515 {
  grid-template-columns: .88fr 1.12fr !important;
  gap: 26px !important;
}

.mm-contact-page-v515 .mm-contact-info,
.mm-contact-page-v515 .mm-contact-form-panel-v515 {
  border-color: #dce6f2 !important;
  box-shadow: 0 14px 42px rgba(7,26,61,.045) !important;
}

.mm-contact-page-v515 .mm-contact-info {
  padding: 34px !important;
}

.mm-contact-routes-v515 {
  display: grid !important;
  gap: 9px !important;
  margin-top: 24px !important;
}

.mm-contact-routes-v515 > div {
  display: grid !important;
  grid-template-columns: 34px minmax(0,1fr) !important;
  grid-template-areas:
    "num title"
    "num copy" !important;
  column-gap: 10px !important;
  padding: 13px 14px !important;
  border: 1px solid #e0e9f3 !important;
  border-radius: 13px !important;
  background: #fbfdff !important;
}

.mm-contact-routes-v515 span {
  grid-area: num !important;
  display: grid !important;
  place-items: center !important;
  width: 31px !important;
  height: 31px !important;
  border-radius: 50% !important;
  background: #eaf3ff !important;
  color: #1260e8 !important;
  font-size: .66rem !important;
  font-weight: 900 !important;
}

.mm-contact-routes-v515 strong {
  grid-area: title !important;
  color: #071a3d !important;
  font-size: .82rem !important;
}

.mm-contact-routes-v515 small {
  grid-area: copy !important;
  margin-top: 2px !important;
  color: #73849a !important;
  font-size: .72rem !important;
  line-height: 1.35 !important;
}

.mm-contact-form-panel-v515 {
  padding: 38px !important;
}

.mm-contact-form-panel-v515 h2 {
  font-size: clamp(1.8rem,2.7vw,2.45rem) !important;
}

.mm-contact-form-panel-v515 .wpforms-field input,
.mm-contact-form-panel-v515 .wpforms-field select,
.mm-contact-form-panel-v515 .wpforms-field textarea {
  box-sizing: border-box !important;
  width: 100% !important;
  border: 1px solid #d9e3ee !important;
  border-radius: 10px !important;
  background: #fbfdff !important;
}

.mm-contact-form-panel-v515 .wpforms-field input,
.mm-contact-form-panel-v515 .wpforms-field select {
  min-height: 48px !important;
}

.mm-contact-form-panel-v515 .wpforms-field textarea {
  min-height: 150px !important;
}

.mm-contact-form-panel-v515 .wpforms-submit {
  min-height: 50px !important;
  padding-inline: 24px !important;
}

/* ==========================================================
   DOVE SIAMO
   ========================================================== */
.mm-location-page-v515 {
  padding-top: 70px !important;
  padding-bottom: 76px !important;
}

.mm-location-page-v515 .mm-location-grid-v515 {
  grid-template-columns: .82fr 1.18fr !important;
  gap: 24px !important;
}

.mm-location-page-v515 .mm-location-info,
.mm-location-page-v515 .mm-location-map {
  border-color: #dce6f2 !important;
  box-shadow: 0 14px 42px rgba(7,26,61,.045) !important;
}

.mm-location-page-v515 .mm-location-info {
  padding: 38px !important;
}

.mm-location-page-v515 .mm-location-address {
  padding: 19px !important;
  border: 1px solid #e0e9f3 !important;
  background: #f8fbff !important;
}

.mm-location-visit-v515 {
  margin-top: 22px !important;
  padding: 16px !important;
  border: 1px solid #d9e6f5 !important;
  border-radius: 14px !important;
  background: #edf5ff !important;
}

.mm-location-visit-v515 strong,
.mm-location-visit-v515 span {
  display: block !important;
}

.mm-location-visit-v515 strong {
  margin-bottom: 5px !important;
  color: #071a3d !important;
  font-size: .88rem !important;
}

.mm-location-visit-v515 span {
  color: #61748c !important;
  font-size: .8rem !important;
  line-height: 1.5 !important;
}

.mm-location-page-v515 .mm-location-map,
.mm-location-page-v515 .mm-location-map iframe {
  min-height: 540px !important;
}

.mm-location-page-v515 .wp-block-buttons {
  gap: 10px !important;
}

.mm-location-page-v515 .wp-block-button.is-style-outline .wp-block-button__link {
  color: #071a3d !important;
  border-color: #071a3d !important;
  background: transparent !important;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */
@media(max-width:1000px) {
  .mm-about-dual-v515 .mm-about-dual-grid-v515 {
    grid-template-columns: 1fr !important;
  }

  .mm-about-dual-v515 .mm-about-dual-side-v515 {
    min-height: 0 !important;
  }

  .mm-contact-page-v515 .mm-contact-grid-v515,
  .mm-location-page-v515 .mm-location-grid-v515 {
    grid-template-columns: 1fr !important;
  }

  .mm-contact-page-v515 .mm-contact-info {
    position: static !important;
  }

  .mm-location-page-v515 .mm-location-map,
  .mm-location-page-v515 .mm-location-map iframe {
    min-height: 440px !important;
  }
}

@media(max-width:700px) {
  .mm-about-page-v515 {
    padding-top: 52px !important;
    padding-bottom: 58px !important;
  }

  .mm-about-visual-v515 {
    min-height: 360px !important;
    padding: 28px 22px !important;
  }

  .mm-about-logo-v515 {
    width: min(310px,92%) !important;
  }

  .mm-about-dual-v515 .mm-about-dual-side-v515 {
    padding: 36px 24px !important;
  }

  .mm-about-trust-v515 {
    width: calc(100% - 28px) !important;
    padding: 30px 24px !important;
  }

  .mm-contact-page-v515,
  .mm-location-page-v515 {
    width: calc(100% - 28px) !important;
    padding-top: 52px !important;
    padding-bottom: 58px !important;
  }

  .mm-contact-page-v515 .mm-contact-info,
  .mm-contact-page-v515 .mm-contact-form-panel-v515,
  .mm-location-page-v515 .mm-location-info {
    padding: 24px !important;
  }

  .mm-location-page-v515 .mm-location-map,
  .mm-location-page-v515 .mm-location-map iframe {
    min-height: 360px !important;
  }
}

/* ===== SOURCE: assets/css/v5.16-global-qa.css ===== */
/* ==========================================================
   MyMedical 2026 v5.16
   QA globale: coerenza, accessibilità e sicurezza responsive
   ========================================================== */

/* Predictable sizing across theme components */
.mm-header *,
.mm-page-hero *,
.mm-card *,
.mm-footer *,
.mm-shop-page *,
.mm-product-page *,
.mm-eqcat *,
.mm-contact-page *,
.mm-location-page * {
  box-sizing: border-box;
}

/* Images never overflow their containers */
main img,
.mm-header img,
.mm-footer img {
  max-width: 100%;
  height: auto;
}

/* Consistent keyboard focus */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.wp-block-button__link:focus-visible {
  outline: 3px solid rgba(42,134,255,.55) !important;
  outline-offset: 3px !important;
}

/* Accessible touch targets for important actions */
.wp-block-button__link,
.mm-product-action,
.mm-shop-card-link,
.mm-shop-empty-action,
.mm-used-clear-all {
  min-height: 44px;
}

.wp-block-button__link,
.mm-product-action,
.mm-shop-empty-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Forms */
.wpforms-container label,
.wpforms-container .wpforms-field-label {
  color: #071a3d !important;
  font-weight: 750 !important;
}

.wpforms-container input,
.wpforms-container select,
.wpforms-container textarea {
  font: inherit !important;
}

.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
  border-color: #2a86ff !important;
  box-shadow: 0 0 0 3px rgba(42,134,255,.12) !important;
}

/* Long headings and copy should not collide with cards */
main h1,
main h2,
main h3,
main h4,
.mm-footer,
.mm-header {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

/* Global button consistency */
.wp-block-button__link {
  line-height: 1.15 !important;
  text-decoration: none !important;
}

/* Footer: stable column alignment */
.mm-footer-grid {
  align-items: start !important;
}

.mm-footer-list a {
  text-underline-offset: 3px;
}

.mm-footer-list a:hover {
  text-decoration: underline;
}

/* Header navigation clarity */
.mm-header .wp-block-navigation-item__content {
  text-underline-offset: 4px;
}

.mm-header .wp-block-navigation-item__content:focus-visible {
  border-radius: 5px;
}

/* Empty/catalog states */
.mm-shop-empty {
  text-align: center;
}

.mm-shop-empty .mm-shop-empty-action {
  margin-left: auto;
  margin-right: auto;
}

/* 404 */
.mm-page-hero .mm-home-link-dynamic {
  min-height: 48px !important;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Tablet */
@media (max-width:1000px) {
  .mm-page-hero h1 {
    max-width: 100% !important;
  }

  .mm-header-row {
    gap: 16px !important;
  }

  .mm-footer-inner {
    max-width: none !important;
  }
}

/* Smartphone */
@media (max-width:640px) {
  .mm-page-hero {
    padding-top: 44px !important;
    padding-bottom: 42px !important;
  }

  .mm-page-hero h1 {
    font-size: clamp(2.45rem,11vw,3.4rem) !important;
    line-height: .99 !important;
  }

  .mm-page-hero-intro {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  .wp-block-buttons {
    gap: 10px !important;
  }

  .wp-block-buttons > .wp-block-button,
  .wp-block-buttons > .wp-block-button > .wp-block-button__link {
    max-width: 100% !important;
  }

  .mm-footer-list a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 38px !important;
  }
}

/* ===== SOURCE: v5.18 image manager ===== */
/* ==========================================================
   v5.18 — immagini gestibili dalla Libreria Media
   ========================================================== */

/* Custom hero photography */
.mm-managed-hero-v518.is-custom-image {
  min-height: 440px !important;
  background: #fff !important;
}

.mm-managed-hero-v518.is-custom-image img {
  width: 100% !important;
  height: clamp(430px, 42vw, 540px) !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Homepage cards */
.mm-managed-card-v518.is-custom-image {
  height: 100% !important;
  min-height: 268px !important;
  background: #eef4fb !important;
}

.mm-managed-card-v518.is-custom-image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 268px !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Homepage assistance image */
.mm-managed-assistance-v518.is-custom-image,
.mm-managed-assistance-v518.is-custom-image img {
  height: 100% !important;
  min-height: 420px !important;
}

.mm-managed-assistance-v518.is-custom-image img {
  width: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Company visual: use a real photograph when selected */
.mm-managed-about-v518.has-custom-photo {
  position: relative !important;
  padding: 0 !important;
  min-height: 460px !important;
  overflow: hidden !important;
  background: #dfeaf8 !important;
}

.mm-managed-about-v518.has-custom-photo::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(180deg,rgba(7,26,61,.02) 36%,rgba(7,26,61,.78) 100%) !important;
  opacity: 1 !important;
}

.mm-managed-about-v518.has-custom-photo::after {
  display: none !important;
}

.mm-managed-about-v518.has-custom-photo .mm-about-primary-image-v518 {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: cover !important;
}

.mm-managed-about-v518.has-custom-photo .mm-about-note-v515,
.mm-managed-about-v518.has-custom-photo .mm-about-tags-v515 {
  position: relative !important;
  z-index: 2 !important;
}

.mm-managed-about-v518.has-custom-photo .mm-about-note-v515 {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  color: #071a3d !important;
  background: rgba(255,255,255,.92) !important;
}

.mm-managed-about-v518.has-custom-photo .mm-about-tags-v515 {
  margin-bottom: 28px !important;
}

.mm-managed-about-v518.has-custom-photo .mm-about-tags-v515 span {
  background: rgba(255,255,255,.92) !important;
}

/* Assistance maintenance: optional photo */
.mm-maintenance-visual-v518.has-custom-photo {
  position: relative !important;
  background-image:
    linear-gradient(135deg,rgba(7,26,61,.22),rgba(7,26,61,.48)),
    var(--mm-maintenance-photo) !important;
  background-size: cover !important;
  background-position: center !important;
}

.mm-maintenance-visual-v518.has-custom-photo::after {
  content: "MANUTENZIONE" !important;
  position: relative !important;
  z-index: 2 !important;
  text-shadow: 0 2px 20px rgba(0,0,0,.32) !important;
}

/* Services journey: optional background photo with dark overlay */
.mm-services-journey-v518.has-custom-photo {
  position: relative !important;
  isolation: isolate !important;
  background-image:
    linear-gradient(90deg,rgba(7,26,61,.96),rgba(7,26,61,.86)),
    var(--mm-services-photo) !important;
  background-size: cover !important;
  background-position: center !important;
}

.mm-services-journey-v518.has-custom-photo > * {
  position: relative !important;
  z-index: 1 !important;
}

@media(max-width:700px) {
  .mm-managed-hero-v518.is-custom-image {
    min-height: 300px !important;
  }

  .mm-managed-hero-v518.is-custom-image img {
    height: 310px !important;
  }

  .mm-managed-card-v518.is-custom-image,
  .mm-managed-card-v518.is-custom-image img {
    min-height: 220px !important;
  }

  .mm-managed-about-v518.has-custom-photo {
    min-height: 390px !important;
  }

  .mm-managed-assistance-v518.is-custom-image,
  .mm-managed-assistance-v518.is-custom-image img {
    min-height: 300px !important;
  }
}

/* ==========================================================
   v5.18.2 — rifinitura foto istituzionale Chi siamo
   Mantiene la foto reale scelta dalla Libreria Media.
   ========================================================== */

.mm-managed-about-v518.has-custom-photo {
  border: 1px solid #dbe6f2 !important;
  border-radius: 22px !important;
  box-shadow: 0 16px 44px rgba(7,26,61,.055) !important;
}

/* Decorazione molto più discreta. */
.mm-managed-about-v518.has-custom-photo::before {
  background:
    linear-gradient(180deg,rgba(7,26,61,0) 52%,rgba(7,26,61,.28) 100%) !important;
  opacity: 1 !important;
}

.mm-managed-about-v518.has-custom-photo::after {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  top: -90px !important;
  right: -90px !important;
  width: 250px !important;
  height: 250px !important;
  border: 1px solid rgba(42,134,255,.12) !important;
  border-radius: 50% !important;
  background: transparent !important;
  opacity: .55 !important;
  pointer-events: none !important;
}

/* La fotografia rimane protagonista. */
.mm-managed-about-v518.has-custom-photo .mm-about-primary-image-v518 {
  filter: none !important;
}

/* Riquadro testo più piccolo, leggero e meno invasivo. */
.mm-managed-about-v518.has-custom-photo .mm-about-note-v515 {
  width: min(74%, 350px) !important;
  max-width: 350px !important;
  margin: auto auto 10px !important;
  padding: 12px 15px !important;
  border: 1px solid rgba(216,230,244,.9) !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,.90) !important;
  box-shadow: 0 8px 22px rgba(7,26,61,.075) !important;
  color: #17345d !important;
  font-size: .73rem !important;
  line-height: 1.45 !important;
  backdrop-filter: blur(5px) !important;
}

/* Pill più compatte. */
.mm-managed-about-v518.has-custom-photo .mm-about-tags-v515 {
  gap: 7px !important;
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}

.mm-managed-about-v518.has-custom-photo .mm-about-tags-v515 span {
  padding: 6px 10px !important;
  border: 1px solid rgba(216,230,244,.9) !important;
  background: rgba(255,255,255,.90) !important;
  box-shadow: 0 5px 16px rgba(7,26,61,.055) !important;
  color: #17345d !important;
  font-size: .65rem !important;
  backdrop-filter: blur(5px) !important;
}

@media (max-width:700px) {
  .mm-managed-about-v518.has-custom-photo::after {
    top: -70px !important;
    right: -80px !important;
    width: 210px !important;
    height: 210px !important;
  }

  .mm-managed-about-v518.has-custom-photo .mm-about-note-v515 {
    width: min(84%, 330px) !important;
    padding: 11px 13px !important;
  }

  .mm-managed-about-v518.has-custom-photo .mm-about-tags-v515 {
    margin-bottom: 14px !important;
  }
}

/* ==========================================================
   v5.18.3 — CHI SIAMO: versione approvata
   ========================================================== */

/* Hero aziendale più ampio e proporzionato come il mockup approvato. */
.mm-about-page-v5183 {
  max-width: 1360px !important;
  width: min(1360px, calc(100% - 64px)) !important;
  padding-top: 72px !important;
  padding-bottom: 76px !important;
}

.mm-about-page-v5183 .mm-about-intro-v5183 {
  display: grid !important;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr) !important;
  gap: clamp(48px, 5vw, 78px) !important;
  align-items: center !important;
}

.mm-about-page-v5183 .mm-about-copy-v5183 {
  max-width: 620px !important;
}

.mm-about-page-v5183 .mm-about-copy-v5183 .mm-kicker {
  margin-bottom: 20px !important;
  letter-spacing: .13em !important;
}

.mm-about-page-v5183 .mm-about-copy-v5183 h2 {
  max-width: 600px !important;
  margin-bottom: 24px !important;
  font-size: clamp(3rem, 4.35vw, 4.65rem) !important;
  line-height: .99 !important;
  letter-spacing: -.045em !important;
  text-wrap: balance !important;
}

.mm-about-page-v5183 .mm-about-copy-v5183 p {
  max-width: 590px !important;
  font-size: .98rem !important;
  line-height: 1.62 !important;
}

/* Photo card: the image itself owns the rounded frame and shadow.
   Overflow remains visible so the decorative circle can sit behind it. */
.mm-about-page-v5183 .mm-about-visual-v5183.has-custom-photo {
  position: relative !important;
  isolation: isolate !important;
  display: block !important;
  min-height: 500px !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Remove the dark gradient from earlier versions. */
.mm-about-page-v5183 .mm-about-visual-v5183.has-custom-photo::before {
  display: none !important;
}

/* Pale line circle, behind the image, like the approved mockup. */
.mm-about-page-v5183 .mm-about-visual-v5183.has-custom-photo::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 0 !important;
  top: -58px !important;
  left: -70px !important;
  right: auto !important;
  width: 255px !important;
  height: 255px !important;
  border: 1px solid rgba(42,134,255,.22) !important;
  border-radius: 50% !important;
  background: transparent !important;
  opacity: .72 !important;
  pointer-events: none !important;
}

.mm-about-page-v5183 .mm-about-visual-v5183.has-custom-photo .mm-about-primary-image-v518 {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  border: 1px solid #dce7f3 !important;
  border-radius: 23px !important;
  object-fit: cover !important;
  object-position: center !important;
  box-shadow: 0 20px 48px rgba(7,26,61,.10) !important;
  filter: none !important;
}

/* Floating message card. */
.mm-about-page-v5183 .mm-about-note-v5183 {
  position: absolute !important;
  z-index: 3 !important;
  left: 50% !important;
  right: auto !important;
  bottom: 68px !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
  width: min(66%, 470px) !important;
  max-width: 470px !important;
  margin: 0 !important;
  padding: 17px 24px !important;
  border: 1px solid rgba(223,232,242,.96) !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.96) !important;
  color: #17345d !important;
  font-size: .84rem !important;
  font-weight: 500 !important;
  line-height: 1.48 !important;
  text-align: center !important;
  box-shadow: 0 10px 28px rgba(7,26,61,.10) !important;
  backdrop-filter: blur(7px) !important;
}

/* Three small icon pills. */
.mm-about-page-v5183 .mm-about-tags-v5183 {
  position: absolute !important;
  z-index: 3 !important;
  left: 50% !important;
  bottom: 18px !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  gap: 10px !important;
  width: max-content !important;
  max-width: calc(100% - 40px) !important;
  margin: 0 !important;
}

.mm-about-page-v5183 .mm-about-tags-v5183 span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-height: 37px !important;
  padding: 7px 14px !important;
  border: 1px solid rgba(222,232,243,.96) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.96) !important;
  color: #17345d !important;
  font-size: .68rem !important;
  line-height: 1 !important;
  box-shadow: 0 7px 20px rgba(7,26,61,.09) !important;
  backdrop-filter: blur(6px) !important;
}

.mm-about-page-v5183 .mm-about-tags-v5183 span b {
  font: inherit !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.mm-about-page-v5183 .mm-about-tags-v5183 svg {
  flex: 0 0 19px !important;
  width: 19px !important;
  height: 19px !important;
  stroke: #1260e8 !important;
  stroke-width: 1.7 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Better visual transition into the 4 principles section. */
.mm-about-page-v5183 + .mm-about-values-v515 {
  padding-top: 8px !important;
}

@media (max-width: 1180px) {
  .mm-about-page-v5183 {
    width: min(100% - 44px, 1180px) !important;
  }

  .mm-about-page-v5183 .mm-about-intro-v5183 {
    grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr) !important;
    gap: 42px !important;
  }

  .mm-about-page-v5183 .mm-about-visual-v5183.has-custom-photo {
    min-height: 455px !important;
  }

  .mm-about-page-v5183 .mm-about-copy-v5183 h2 {
    font-size: clamp(2.75rem, 5vw, 4rem) !important;
  }
}

@media (max-width: 900px) {
  .mm-about-page-v5183 .mm-about-intro-v5183 {
    grid-template-columns: 1fr !important;
    gap: 46px !important;
  }

  .mm-about-page-v5183 .mm-about-copy-v5183,
  .mm-about-page-v5183 .mm-about-copy-v5183 h2,
  .mm-about-page-v5183 .mm-about-copy-v5183 p {
    max-width: 760px !important;
  }

  .mm-about-page-v5183 .mm-about-visual-v5183.has-custom-photo {
    min-height: clamp(430px, 65vw, 570px) !important;
  }
}

@media (max-width: 700px) {
  .mm-about-page-v5183 {
    width: calc(100% - 28px) !important;
    padding-top: 50px !important;
    padding-bottom: 58px !important;
  }

  .mm-about-page-v5183 .mm-about-copy-v5183 h2 {
    font-size: clamp(2.65rem, 12vw, 3.55rem) !important;
  }

  .mm-about-page-v5183 .mm-about-visual-v5183.has-custom-photo {
    min-height: 390px !important;
  }

  .mm-about-page-v5183 .mm-about-visual-v5183.has-custom-photo::after {
    top: -45px !important;
    left: -42px !important;
    width: 190px !important;
    height: 190px !important;
  }

  .mm-about-page-v5183 .mm-about-note-v5183 {
    bottom: 74px !important;
    width: calc(100% - 42px) !important;
    max-width: none !important;
    padding: 14px 16px !important;
    font-size: .76rem !important;
  }

  .mm-about-page-v5183 .mm-about-tags-v5183 {
    bottom: 18px !important;
    gap: 6px !important;
    max-width: calc(100% - 24px) !important;
  }

  .mm-about-page-v5183 .mm-about-tags-v5183 span {
    min-height: 34px !important;
    padding: 6px 9px !important;
    font-size: .59rem !important;
    gap: 5px !important;
  }

  .mm-about-page-v5183 .mm-about-tags-v5183 svg {
    flex-basis: 16px !important;
    width: 16px !important;
    height: 16px !important;
  }
}

/* ===== SOURCE: v5.18.4 isolated company hero ===== */
/* ==========================================================
   v5.18.4 — CHI SIAMO PIXEL-LOCK
   Namespace completamente isolato dal vecchio blocco Azienda.
   ========================================================== */

/* Section */
body .mm-company-section-v5184.alignfull {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
}

body .mm-company-section-v5184 .mm-company-hero-v5184 {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 500px) minmax(0, 720px) !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 68px !important;
  width: min(1288px, calc(100% - 64px)) !important;
  max-width: 1288px !important;
  margin: 0 auto !important;
  padding: 66px 0 72px !important;
}

/* Left column */
body .mm-company-copy-v5184 {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 500px !important;
  padding: 0 !important;
}

body .mm-company-kicker-v5184 {
  margin: 0 0 19px !important;
  color: #596d87 !important;
  font-size: .77rem !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: .155em !important;
  text-transform: uppercase !important;
}

body .mm-company-title-v5184 {
  max-width: 500px !important;
  margin: 0 0 24px !important;
  color: #071a3d !important;
  font-size: clamp(3.25rem, 3.7vw, 4rem) !important;
  font-weight: 850 !important;
  line-height: .99 !important;
  letter-spacing: -.045em !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

body .mm-company-text-v5184 {
  max-width: 485px !important;
  margin: 0 0 19px !important;
  color: #61758f !important;
  font-size: .93rem !important;
  font-weight: 400 !important;
  line-height: 1.68 !important;
}

body .mm-company-text-v5184 + .mm-company-text-v5184 {
  margin-top: 23px !important;
}

body .mm-company-cta-v5184 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  margin-top: 8px !important;
  padding: 11px 20px !important;
  border-radius: 10px !important;
  background: #1260e8 !important;
  color: #fff !important;
  font-size: .82rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 20px rgba(18,96,232,.16) !important;
}

/* Right stage */
body .mm-company-photo-stage-v5184 {
  position: relative !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 720px !important;
}

/* Circle is outside frame and behind it. */
body .mm-company-circle-v5184 {
  position: absolute !important;
  z-index: 0 !important;
  top: -57px !important;
  left: -54px !important;
  display: block !important;
  width: 248px !important;
  height: 248px !important;
  border: 1px solid rgba(42,134,255,.22) !important;
  border-radius: 50% !important;
  background: transparent !important;
  pointer-events: none !important;
}

/* Fixed visual composition */
body .mm-company-photo-frame-v5184 {
  position: relative !important;
  z-index: 1 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  aspect-ratio: 1.52 / 1 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid #dce6f1 !important;
  border-radius: 22px !important;
  background: #edf4fc !important;
  box-shadow: 0 18px 46px rgba(7,26,61,.09) !important;
}

/* Real photo from Media Library */
body .mm-company-photo-v5184 {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  filter: none !important;
}

/* If the site image has not been selected yet, the logo fallback is contained. */
body .mm-company-photo-stage-v5184:not(.has-custom-photo) .mm-company-photo-v5184 {
  object-fit: contain !important;
  padding: 80px !important;
  background: #f5f9ff !important;
}

/* Message box: locked to the approved position. */
body .mm-company-message-v5184 {
  position: absolute !important;
  z-index: 3 !important;
  left: 50% !important;
  bottom: 66px !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
  width: 59% !important;
  min-width: 390px !important;
  max-width: 445px !important;
  margin: 0 !important;
  padding: 17px 24px !important;
  border: 1px solid rgba(222,231,241,.98) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.97) !important;
  color: #18365f !important;
  font-size: .84rem !important;
  font-weight: 500 !important;
  line-height: 1.48 !important;
  text-align: center !important;
  box-shadow: 0 9px 24px rgba(7,26,61,.10) !important;
  backdrop-filter: blur(6px) !important;
}

/* Pills: locked at the bottom edge, never inherited from old CSS. */
body .mm-company-pills-v5184 {
  position: absolute !important;
  z-index: 4 !important;
  left: 50% !important;
  bottom: 17px !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  width: max-content !important;
  max-width: calc(100% - 30px) !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .mm-company-pills-v5184 > span {
  box-sizing: border-box !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-width: 0 !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 7px 14px !important;
  border: 1px solid rgba(220,230,241,.98) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.97) !important;
  color: #17345d !important;
  box-shadow: 0 6px 18px rgba(7,26,61,.09) !important;
  backdrop-filter: blur(5px) !important;
}

body .mm-company-pills-v5184 b {
  margin: 0 !important;
  color: inherit !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body .mm-company-pills-v5184 svg {
  display: block !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  stroke: #1260e8 !important;
  stroke-width: 1.75 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Keep the next section at the distance shown in the preview. */
body .mm-company-section-v5184 + .mm-about-values,
body .mm-company-section-v5184 + .mm-about-values-v515 {
  padding-top: 12px !important;
}

/* Desktop range where old wide-size rules were causing the mismatch. */
@media (min-width: 1181px) and (max-width: 1450px) {
  body .mm-company-section-v5184 .mm-company-hero-v5184 {
    grid-template-columns: 470px minmax(0, 690px) !important;
    gap: 62px !important;
    width: min(1222px, calc(100% - 56px)) !important;
  }

  body .mm-company-title-v5184 {
    font-size: 3.72rem !important;
  }
}

/* Tablet */
@media (max-width: 1180px) {
  body .mm-company-section-v5184 .mm-company-hero-v5184 {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
    gap: 42px !important;
    width: calc(100% - 44px) !important;
  }

  body .mm-company-title-v5184 {
    font-size: clamp(2.8rem, 5vw, 3.65rem) !important;
  }

  body .mm-company-message-v5184 {
    min-width: 0 !important;
    width: 68% !important;
  }

  body .mm-company-pills-v5184 > span {
    padding-inline: 11px !important;
  }
}

@media (max-width: 900px) {
  body .mm-company-section-v5184 .mm-company-hero-v5184 {
    grid-template-columns: 1fr !important;
    gap: 46px !important;
    width: min(760px, calc(100% - 40px)) !important;
  }

  body .mm-company-copy-v5184,
  body .mm-company-title-v5184,
  body .mm-company-text-v5184 {
    max-width: 100% !important;
  }

  body .mm-company-photo-stage-v5184 {
    max-width: 760px !important;
  }
}

/* Mobile */
@media (max-width: 700px) {
  body .mm-company-section-v5184 .mm-company-hero-v5184 {
    width: calc(100% - 28px) !important;
    gap: 34px !important;
    padding: 48px 0 58px !important;
  }

  body .mm-company-kicker-v5184 {
    margin-bottom: 14px !important;
  }

  body .mm-company-title-v5184 {
    margin-bottom: 20px !important;
    font-size: clamp(2.55rem, 11vw, 3.35rem) !important;
  }

  body .mm-company-text-v5184 {
    font-size: .92rem !important;
    line-height: 1.6 !important;
  }

  body .mm-company-circle-v5184 {
    top: -38px !important;
    left: -25px !important;
    width: 165px !important;
    height: 165px !important;
  }

  body .mm-company-photo-frame-v5184 {
    aspect-ratio: 1.14 / 1 !important;
    border-radius: 18px !important;
  }

  body .mm-company-message-v5184 {
    bottom: 67px !important;
    width: calc(100% - 30px) !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 13px 14px !important;
    font-size: .73rem !important;
  }

  body .mm-company-pills-v5184 {
    bottom: 15px !important;
    gap: 5px !important;
    max-width: calc(100% - 16px) !important;
  }

  body .mm-company-pills-v5184 > span {
    min-height: 34px !important;
    gap: 4px !important;
    padding: 6px 8px !important;
  }

  body .mm-company-pills-v5184 b {
    font-size: .57rem !important;
  }

  body .mm-company-pills-v5184 svg {
    flex-basis: 15px !important;
    width: 15px !important;
    height: 15px !important;
  }
}

@media (max-width: 420px) {
  body .mm-company-pills-v5184 b {
    font-size: .53rem !important;
  }

  body .mm-company-pills-v5184 > span {
    padding-inline: 6px !important;
  }
}

/* ===== SOURCE: v5.19 homepage photo controls ===== */
/* ==========================================================
   v5.19 — Homepage real-photo ready
   ========================================================== */

/* HERO: real photos get a stable editorial crop. */
.mm-managed-hero-v518.is-custom-image {
  min-height: 470px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
}

.mm-managed-hero-v518.is-custom-image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 470px !important;
  max-height: 520px !important;
  object-fit: cover !important;
}

/* 3 primary cards: equal photographic windows. */
.mm-managed-card-v518.is-custom-image {
  min-height: 268px !important;
  overflow: hidden !important;
}

.mm-managed-card-v518.is-custom-image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 268px !important;
  object-fit: cover !important;
}

/* Assistance photo keeps the same height as the whole navy banner. */
.mm-managed-assistance-v518.is-custom-image {
  overflow: hidden !important;
}

.mm-managed-assistance-v518.is-custom-image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 420px !important;
  object-fit: cover !important;
}

/* The position chosen in MyMedical > Immagini sito controls backgrounds too. */
.mm-maintenance-visual-v518.has-custom-photo {
  background-position: var(--mm-maintenance-position, center center) !important;
}

.mm-services-journey-v518.has-custom-photo {
  background-position: var(--mm-services-position, center center) !important;
}

/* A photo should never distort the approved company hero. */
.mm-company-photo-v5184 {
  object-fit: cover !important;
}

/* Tablet */
@media(max-width:1000px) {
  .mm-managed-hero-v518.is-custom-image,
  .mm-managed-hero-v518.is-custom-image img {
    min-height: 390px !important;
  }

  .mm-managed-card-v518.is-custom-image,
  .mm-managed-card-v518.is-custom-image img {
    min-height: 240px !important;
  }
}

/* Mobile */
@media(max-width:640px) {
  .mm-managed-hero-v518.is-custom-image,
  .mm-managed-hero-v518.is-custom-image img {
    min-height: 300px !important;
    max-height: 340px !important;
  }

  .mm-managed-card-v518.is-custom-image,
  .mm-managed-card-v518.is-custom-image img {
    min-height: 210px !important;
  }

  .mm-managed-assistance-v518.is-custom-image img {
    min-height: 285px !important;
  }
}

/* ===== SOURCE: v5.25.6 no-crop home cards ===== */
/* ==========================================================
   v5.25.6 — HOME CARDS: IMMAGINI INTERE, SENZA TAGLIO
   Nuovo / Usato / Assistenza
   ========================================================== */

/* Keep the card photographic area stable. */
.mm-managed-card-v518.is-custom-image {
  position: relative !important;
  min-height: 268px !important;
  overflow: hidden !important;
  background: #f7fbff !important;
}

/* Show the entire image instead of cropping it. */
.mm-managed-card-v518.is-custom-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 268px !important;
  max-height: 268px !important;
  margin: 0 !important;
  padding: 14px !important;
  border: 0 !important;
  background: #f7fbff !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* Preserve user-selected focus without forcing a crop. */
.mm-managed-card-v518.is-custom-image img[style*="object-position"] {
  object-fit: contain !important;
}

/* Slightly softer treatment for logos/illustrations on white. */
.mm-managed-card-v518.is-custom-image::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  box-shadow: inset 0 0 0 1px rgba(18,96,232,.02) !important;
}

/* Tablet */
@media (max-width: 1000px) {
  .mm-managed-card-v518.is-custom-image {
    min-height: 240px !important;
  }

  .mm-managed-card-v518.is-custom-image img {
    min-height: 240px !important;
    max-height: 240px !important;
    padding: 12px !important;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .mm-managed-card-v518.is-custom-image {
    min-height: 220px !important;
  }

  .mm-managed-card-v518.is-custom-image img {
    min-height: 220px !important;
    max-height: 220px !important;
    padding: 10px !important;
  }
}

/* ===== SOURCE: v5.25.8 integrated services ===== */
/* ==========================================================
   v5.25.8 — SERVIZI INTEGRATI DAL SITO PRECEDENTE
   ========================================================== */

.mm-services-page-v5258 .mm-services-grid-v5258 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.mm-services-page-v5258 .mm-services-card-v5258 {
  min-height: 300px !important;
  padding: 25px !important;
}

.mm-services-page-v5258 .mm-services-card-v5258 h3 {
  font-size: 1.08rem !important;
  line-height: 1.22 !important;
  text-wrap: balance !important;
}

.mm-services-page-v5258 .mm-services-card-v5258 > p:not(.mm-services-number):not(:last-child) {
  font-size: .91rem !important;
  line-height: 1.55 !important;
}

.mm-services-cluster-v5258 .mm-services-cluster-grid-v5258 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.mm-services-cluster-v5258 .mm-services-cluster-card {
  min-height: 335px !important;
}

@media (max-width: 1120px) {
  .mm-services-page-v5258 .mm-services-grid-v5258 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .mm-services-cluster-v5258 .mm-services-cluster-grid-v5258 {
    grid-template-columns: 1fr !important;
  }

  .mm-services-cluster-v5258 .mm-services-cluster-card {
    min-height: 0 !important;
  }
}

@media (max-width: 700px) {
  .mm-services-page-v5258 .mm-services-grid-v5258 {
    grid-template-columns: 1fr !important;
  }

  .mm-services-page-v5258 .mm-services-card-v5258 {
    min-height: 255px !important;
  }
}

/* ===== SOURCE: v5.25.9 actual legacy services ===== */
/* ==========================================================
   v5.25.9 — SERVIZI MYMEDICAL: CATEGORIE STORICHE REALI
   ========================================================== */

.mm-services-page-v5259 .mm-services-grid-v5259 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 17px !important;
}

.mm-services-page-v5259 .mm-services-card-v5259 {
  min-height: 292px !important;
  padding: 25px !important;
}

.mm-services-page-v5259 .mm-services-card-v5259 h3 {
  font-size: 1.08rem !important;
  line-height: 1.24 !important;
  text-wrap: balance !important;
}

.mm-services-page-v5259 .mm-services-card-v5259 > p:not(.mm-services-number):not(:last-child) {
  font-size: .91rem !important;
  line-height: 1.55 !important;
}

.mm-services-cluster-v5259 .mm-services-cluster-grid-v5259 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.mm-services-cluster-v5259 .mm-services-cluster-card {
  min-height: 320px !important;
}

@media (max-width: 1000px) {
  .mm-services-page-v5259 .mm-services-grid-v5259 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .mm-services-cluster-v5259 .mm-services-cluster-grid-v5259 {
    grid-template-columns: 1fr !important;
  }

  .mm-services-cluster-v5259 .mm-services-cluster-card {
    min-height: 0 !important;
  }
}

@media (max-width: 680px) {
  .mm-services-page-v5259 .mm-services-grid-v5259 {
    grid-template-columns: 1fr !important;
  }

  .mm-services-page-v5259 .mm-services-card-v5259 {
    min-height: 250px !important;
  }
}

/* ===== SOURCE: v5.25.10 centered service titles ===== */
/* ==========================================================
   v5.25.10 — SERVIZI: TITOLI CARD CENTRATI ANCHE SU 2 RIGHE
   ========================================================== */

.mm-services-page-v5259 .mm-services-card-v5259 h3 {
  display: block !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  text-wrap: balance !important;
}

.mm-services-page-v5259 .mm-services-card-v5259 h3 br {
  content: "" !important;
}

/* ===== SOURCE: v5.25.11 hide service card numbers ===== */
/* ==========================================================
   v5.25.11 — SERVIZI: RIMOZIONE NUMERAZIONE CARD
   ========================================================== */

.mm-services-page-v5259 .mm-services-number,
.mm-services-page-v5259 .mm-services-card-v5259 .mm-services-number {
  display: none !important;
}

.mm-services-page-v5259 .mm-services-card-v5259 {
  padding-top: 2rem !important;
}

/* ===== SOURCE: v5.25.12 integrated service icons ===== */
/* ==========================================================
   v5.25.12 — SERVIZI: ICONE INTEGRATE NEL TEMPLATE
   ========================================================== */

.mm-services-page-v52512 .mm-services-grid-v52512 {
  align-items: stretch !important;
}

.mm-services-page-v52512 .mm-services-card-v52512 {
  min-height: 420px !important;
  padding: 24px 24px 22px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

.mm-service-icon-v52512 {
  width: 150px !important;
  height: 150px !important;
  margin: 0 auto 14px !important;
  flex: 0 0 auto !important;
  overflow: hidden !important;
}

.mm-service-icon-v52512 img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.mm-services-page-v52512 .mm-services-card-v52512 h3 {
  width: 100% !important;
  margin: 0 auto 10px !important;
  min-height: 2.65em !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.22 !important;
}

.mm-services-page-v52512 .mm-services-card-v52512 > p:not(:last-child) {
  margin-top: 0 !important;
  text-align: left !important;
}

.mm-services-page-v52512 .mm-services-card-v52512 > p:last-child {
  margin-top: auto !important;
  padding-top: 18px !important;
  text-align: center !important;
}

@media (max-width: 1000px) {
  .mm-services-page-v52512 .mm-services-card-v52512 {
    min-height: 405px !important;
  }

  .mm-service-icon-v52512 {
    width: 142px !important;
    height: 142px !important;
  }
}

@media (max-width: 680px) {
  .mm-services-page-v52512 .mm-services-card-v52512 {
    min-height: 0 !important;
    padding: 22px 20px !important;
  }

  .mm-service-icon-v52512 {
    width: 132px !important;
    height: 132px !important;
    margin-bottom: 12px !important;
  }

  .mm-services-page-v52512 .mm-services-card-v52512 h3 {
    min-height: 0 !important;
  }
}

/* ===== SOURCE: v5.25.13 handpiece repair page ===== */
/* ==========================================================
   v5.25.13 — RIPARAZIONE MANIPOLERIA
   Contenuti recuperati dalla pagina MyMedical originale
   ========================================================== */

.mm-handpiece-service-v52513 {
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
}

.mm-handpiece-hero-v52513 {
  padding: 72px 24px 70px !important;
}

.mm-handpiece-hero-grid-v52513 {
  display: grid !important;
  grid-template-columns: minmax(0, .92fr) minmax(430px, 1.08fr) !important;
  gap: clamp(42px, 6vw, 88px) !important;
  align-items: center !important;
}

.mm-handpiece-hero-v52513 h1 {
  margin: 12px 0 20px !important;
  max-width: 650px !important;
  color: #071a3d !important;
  font-size: clamp(3.2rem, 5.5vw, 5.2rem) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}

.mm-handpiece-lead-v52513 {
  max-width: 630px !important;
  margin: 0 0 26px !important;
  color: #5f7590 !important;
  font-size: 1.06rem !important;
  line-height: 1.68 !important;
}

.mm-handpiece-visual-v52513 {
  min-height: 330px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 1px solid #dce7f5 !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 72% 20%, rgba(18,96,232,.10), transparent 32%),
    linear-gradient(145deg,#f9fcff 0%,#eef6ff 100%) !important;
  box-shadow: 0 24px 58px rgba(7,26,61,.08) !important;
}

.mm-handpiece-visual-v52513 img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 330px !important;
  object-fit: contain !important;
  object-position: center !important;
  mix-blend-mode: multiply !important;
}

.mm-handpiece-content-v52513 {
  padding: 12px 24px 82px !important;
}

.mm-handpiece-content-grid-v52513 {
  display: grid !important;
  grid-template-columns: minmax(0, 1.7fr) minmax(300px, .8fr) !important;
  gap: clamp(40px, 6vw, 82px) !important;
  align-items: start !important;
}

.mm-handpiece-content-v52513 .wp-block-column:first-child > p {
  margin: 0 0 20px !important;
  color: #263e62 !important;
  font-size: 1.03rem !important;
  line-height: 1.78 !important;
}

.mm-handpiece-content-v52513 strong {
  color: #071a3d !important;
}

.mm-handpiece-benefits-v52513 {
  padding: 28px !important;
  border: 1px solid #dbe6f3 !important;
  border-radius: 18px !important;
  background: #f7faff !important;
}

.mm-handpiece-benefits-v52513 h3 {
  margin: 8px 0 22px !important;
  color: #071a3d !important;
  font-size: 1.45rem !important;
  line-height: 1.18 !important;
}

.mm-handpiece-benefit-list-v52513 {
  display: grid !important;
  gap: 12px !important;
}

.mm-handpiece-benefit-list-v52513 > div {
  padding: 15px 16px !important;
  border: 1px solid #dfE9f5 !important;
  border-radius: 12px !important;
  background: #fff !important;
}

.mm-handpiece-benefit-list-v52513 strong,
.mm-handpiece-benefit-list-v52513 span {
  display: block !important;
}

.mm-handpiece-benefit-list-v52513 strong {
  margin-bottom: 4px !important;
  font-size: .9rem !important;
}

.mm-handpiece-benefit-list-v52513 span {
  color: #657990 !important;
  font-size: .82rem !important;
  line-height: 1.45 !important;
}

.mm-handpiece-cta-v52513 {
  padding: 0 24px 80px !important;
}

.mm-handpiece-cta-inner-v52513 {
  gap: 26px !important;
  padding: 34px 38px !important;
  border-radius: 20px !important;
  background: #071f4a !important;
  color: #fff !important;
}

.mm-handpiece-cta-inner-v52513 h2 {
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: clamp(1.65rem, 3vw, 2.3rem) !important;
}

.mm-handpiece-cta-inner-v52513 p {
  margin: 0 !important;
  color: #c2d3e9 !important;
}

.mm-handpiece-cta-inner-v52513 .wp-block-button__link {
  background: #1260e8 !important;
  color: #fff !important;
}

@media (max-width: 900px) {
  .mm-handpiece-hero-grid-v52513,
  .mm-handpiece-content-grid-v52513 {
    grid-template-columns: 1fr !important;
  }

  .mm-handpiece-hero-v52513 {
    padding-top: 52px !important;
  }

  .mm-handpiece-hero-v52513 h1 {
    font-size: clamp(2.8rem, 9vw, 4.5rem) !important;
  }

  .mm-handpiece-visual-v52513,
  .mm-handpiece-visual-v52513 img {
    min-height: 270px !important;
  }
}

@media (max-width: 600px) {
  .mm-handpiece-hero-v52513,
  .mm-handpiece-content-v52513,
  .mm-handpiece-cta-v52513 {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .mm-handpiece-hero-v52513 {
    padding-bottom: 44px !important;
  }

  .mm-handpiece-content-v52513 {
    padding-bottom: 54px !important;
  }

  .mm-handpiece-visual-v52513,
  .mm-handpiece-visual-v52513 img {
    min-height: 210px !important;
  }

  .mm-handpiece-benefits-v52513 {
    padding: 22px 18px !important;
  }

  .mm-handpiece-cta-inner-v52513 {
    padding: 27px 22px !important;
  }
}


/* ==========================================================
   v5.25.14 — FIX LARGHEZZA PAGINA RIPARAZIONE MANIPOLERIA
   Distribuisce testo e foto sulla larghezza del sito
   ========================================================== */
.mm-handpiece-hero-v52513 > .wp-block-group__inner-container,
.mm-handpiece-content-v52513 > .wp-block-group__inner-container {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.mm-handpiece-hero-grid-v52513,
.mm-handpiece-content-grid-v52513 {
  width: 100% !important;
}

.mm-handpiece-hero-grid-v52513 > .wp-block-column,
.mm-handpiece-content-grid-v52513 > .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
  flex-basis: auto !important;
}

.mm-handpiece-hero-grid-v52513 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: clamp(42px, 5vw, 78px) !important;
  align-items: center !important;
}

.mm-handpiece-hero-v52513 h1 {
  max-width: none !important;
  font-size: clamp(3rem, 4.9vw, 5rem) !important;
  line-height: 1.02 !important;
  text-wrap: balance !important;
}

.mm-handpiece-lead-v52513,
.mm-handpiece-content-v52513 .wp-block-column:first-child > p {
  max-width: none !important;
}

.mm-handpiece-visual-v52513 {
  width: 100% !important;
  min-height: 400px !important;
}

.mm-handpiece-visual-v52513 img {
  min-height: 400px !important;
  padding: 18px !important;
}

.mm-handpiece-content-v52513 {
  padding-top: 8px !important;
}

.mm-handpiece-content-grid-v52513 {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr) !important;
  gap: clamp(38px, 5vw, 72px) !important;
  align-items: start !important;
}

@media (max-width: 1100px) {
  .mm-handpiece-hero-v52513 > .wp-block-group__inner-container,
  .mm-handpiece-content-v52513 > .wp-block-group__inner-container {
    width: min(100%, calc(100% - 40px)) !important;
  }
}

@media (max-width: 900px) {
  .mm-handpiece-hero-grid-v52513,
  .mm-handpiece-content-grid-v52513 {
    grid-template-columns: 1fr !important;
  }

  .mm-handpiece-hero-v52513 h1 {
    font-size: clamp(2.7rem, 11vw, 4.25rem) !important;
    text-wrap: pretty !important;
  }

  .mm-handpiece-visual-v52513,
  .mm-handpiece-visual-v52513 img {
    min-height: 280px !important;
  }
}

@media (max-width: 600px) {
  .mm-handpiece-hero-v52513 > .wp-block-group__inner-container,
  .mm-handpiece-content-v52513 > .wp-block-group__inner-container {
    width: calc(100% - 32px) !important;
  }

  .mm-handpiece-visual-v52513,
  .mm-handpiece-visual-v52513 img {
    min-height: 220px !important;
  }
}


/* ==========================================================
   v5.25.15 — RIPARAZIONE MANIPOLERIA FULL WIDTH SENZA FOTO
   ========================================================== */
.mm-handpiece-hero-v52515,
.mm-handpiece-content-v52515,
.mm-handpiece-cta-v52515 {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.mm-handpiece-hero-v52515 {
  padding-top: 52px !important;
  padding-bottom: 48px !important;
}

.mm-handpiece-hero-v52515 > .wp-block-group__inner-container,
.mm-handpiece-content-v52515 > .wp-block-group__inner-container {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.mm-handpiece-hero-v52515 .wp-block-group__inner-container {
  max-width: 1240px !important;
}

.mm-handpiece-hero-v52515 h1 {
  margin: 12px 0 22px !important;
  max-width: 840px !important;
  color: #071a3d !important;
  font-size: clamp(3.7rem, 7vw, 5.7rem) !important;
  line-height: .97 !important;
  letter-spacing: -0.04em !important;
  text-wrap: balance !important;
}

.mm-handpiece-lead-v52515 {
  max-width: 760px !important;
  margin: 0 0 26px !important;
  color: #657990 !important;
  font-size: clamp(1.06rem, 1.45vw, 1.22rem) !important;
  line-height: 1.72 !important;
}

.mm-handpiece-content-v52515 {
  padding-top: 8px !important;
  padding-bottom: 72px !important;
}

.mm-handpiece-content-grid-v52515 {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr) !important;
  gap: clamp(38px, 5vw, 72px) !important;
  align-items: start !important;
  width: 100% !important;
}

.mm-handpiece-content-grid-v52515 > .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
  flex-basis: auto !important;
}

.mm-handpiece-content-v52515 .wp-block-column:first-child > p {
  max-width: none !important;
}

.mm-handpiece-benefits-v52515 {
  padding: 28px !important;
  border: 1px solid #dbe6f3 !important;
  border-radius: 18px !important;
  background: #f7faff !important;
}

.mm-handpiece-benefits-v52515 h3 {
  margin: 8px 0 22px !important;
  color: #071a3d !important;
  font-size: 1.45rem !important;
  line-height: 1.18 !important;
}

.mm-handpiece-benefit-list-v52515 {
  display: grid !important;
  gap: 12px !important;
}

.mm-handpiece-benefit-list-v52515 > div {
  padding: 15px 16px !important;
  border: 1px solid #dfe9f5 !important;
  border-radius: 12px !important;
  background: #fff !important;
}

.mm-handpiece-benefit-list-v52515 strong,
.mm-handpiece-benefit-list-v52515 span {
  display: block !important;
}

.mm-handpiece-benefit-list-v52515 strong {
  margin-bottom: 4px !important;
  font-size: .9rem !important;
}

.mm-handpiece-benefit-list-v52515 span {
  color: #657990 !important;
  font-size: .82rem !important;
  line-height: 1.45 !important;
}

.mm-handpiece-cta-v52515 {
  padding: 0 24px 80px !important;
}

.mm-handpiece-cta-inner-v52515 {
  gap: 26px !important;
  padding: 34px 38px !important;
  border-radius: 20px !important;
  background: #071f4a !important;
  color: #fff !important;
}

.mm-handpiece-cta-inner-v52515 h2 {
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: clamp(1.65rem, 3vw, 2.3rem) !important;
}

.mm-handpiece-cta-inner-v52515 p {
  margin: 0 !important;
  color: #c2d3e9 !important;
}

.mm-handpiece-cta-inner-v52515 .wp-block-button__link {
  background: #1260e8 !important;
  color: #fff !important;
}

@media (max-width: 1100px) {
  .mm-handpiece-hero-v52515 > .wp-block-group__inner-container,
  .mm-handpiece-content-v52515 > .wp-block-group__inner-container {
    width: min(100%, calc(100% - 40px)) !important;
  }

  .mm-handpiece-hero-v52515 h1 {
    max-width: 760px !important;
    font-size: clamp(3.3rem, 8.2vw, 5rem) !important;
  }
}

@media (max-width: 900px) {
  .mm-handpiece-content-grid-v52515 {
    grid-template-columns: 1fr !important;
  }

  .mm-handpiece-hero-v52515 {
    padding-top: 44px !important;
    padding-bottom: 38px !important;
  }

  .mm-handpiece-hero-v52515 h1 {
    max-width: none !important;
    font-size: clamp(2.9rem, 12vw, 4.5rem) !important;
    text-wrap: pretty !important;
  }

  .mm-handpiece-lead-v52515 {
    max-width: none !important;
  }
}

@media (max-width: 600px) {
  .mm-handpiece-hero-v52515,
  .mm-handpiece-content-v52515,
  .mm-handpiece-cta-v52515 {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .mm-handpiece-hero-v52515 > .wp-block-group__inner-container,
  .mm-handpiece-content-v52515 > .wp-block-group__inner-container {
    width: calc(100% - 32px) !important;
  }

  .mm-handpiece-benefits-v52515 {
    padding: 22px 18px !important;
  }

  .mm-handpiece-cta-inner-v52515 {
    padding: 27px 22px !important;
  }
}

/* ===== SOURCE: v5.25.16 centered/wide handpiece layout ===== */
/* ==========================================================
   v5.25.16 — RIPARAZIONE MANIPOLERIA
   Hero centrato + contenuto realmente wide
   ========================================================== */

/* Use the same 1240px visual width as the Services page. */
.mm-handpiece-service-v52516 .mm-handpiece-hero-v52515,
.mm-handpiece-service-v52516 .mm-handpiece-content-v52515 {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Hero: centered like the main heading on the Services page. */
.mm-handpiece-service-v52516 .mm-handpiece-hero-v52515 {
  padding-top: 58px !important;
  padding-bottom: 54px !important;
  text-align: center !important;
}

.mm-handpiece-service-v52516 .mm-handpiece-hero-v52515 > * {
  margin-left: auto !important;
  margin-right: auto !important;
}

.mm-handpiece-service-v52516 .mm-handpiece-hero-v52515 .mm-kicker {
  text-align: center !important;
}

.mm-handpiece-service-v52516 .mm-handpiece-hero-v52515 h1 {
  width: 100% !important;
  max-width: 1050px !important;
  margin: 12px auto 20px !important;
  text-align: center !important;
  font-size: clamp(3.7rem, 6.3vw, 5.7rem) !important;
  line-height: .97 !important;
  letter-spacing: -.045em !important;
  text-wrap: balance !important;
}

.mm-handpiece-service-v52516 .mm-handpiece-lead-v52515 {
  max-width: 820px !important;
  margin: 0 auto 27px !important;
  text-align: center !important;
  font-size: 1.08rem !important;
  line-height: 1.7 !important;
}

.mm-handpiece-service-v52516 .mm-handpiece-hero-v52515 .wp-block-buttons {
  justify-content: center !important;
}

/* Main content: remove the compressed central column feeling. */
.mm-handpiece-service-v52516 .mm-handpiece-content-v52515 {
  padding-top: 14px !important;
  padding-bottom: 76px !important;
}

.mm-handpiece-service-v52516 .mm-handpiece-content-grid-v52515 {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) minmax(300px, .78fr) !important;
  column-gap: clamp(58px, 6vw, 96px) !important;
  row-gap: 36px !important;
  align-items: start !important;
}

.mm-handpiece-service-v52516 .mm-handpiece-content-grid-v52515 > .wp-block-column {
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  flex-basis: auto !important;
}

.mm-handpiece-service-v52516 .mm-handpiece-content-v52515 .wp-block-column:first-child > p {
  max-width: 790px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  font-size: 1.03rem !important;
  line-height: 1.8 !important;
}

/* Slightly more compact sidebar so it doesn't squeeze the copy. */
.mm-handpiece-service-v52516 .mm-handpiece-benefits-v52515 {
  width: 100% !important;
  max-width: 355px !important;
  margin-left: auto !important;
  padding: 25px !important;
}

.mm-handpiece-service-v52516 .mm-handpiece-benefits-v52515 h3 {
  font-size: 1.38rem !important;
}

.mm-handpiece-service-v52516 .mm-handpiece-benefit-list-v52515 > div {
  padding: 14px 15px !important;
}

/* CTA aligned to the same wide grid. */
.mm-handpiece-service-v52516 .mm-handpiece-cta-v52515 {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.mm-handpiece-service-v52516 .mm-handpiece-cta-inner-v52515 {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 1000px) {
  .mm-handpiece-service-v52516 .mm-handpiece-content-grid-v52515 {
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, .85fr) !important;
    column-gap: 42px !important;
  }

  .mm-handpiece-service-v52516 .mm-handpiece-benefits-v52515 {
    max-width: none !important;
  }
}

@media (max-width: 820px) {
  .mm-handpiece-service-v52516 .mm-handpiece-hero-v52515,
  .mm-handpiece-service-v52516 .mm-handpiece-content-v52515 {
    width: calc(100% - 40px) !important;
  }

  .mm-handpiece-service-v52516 .mm-handpiece-content-grid-v52515 {
    grid-template-columns: 1fr !important;
  }

  .mm-handpiece-service-v52516 .mm-handpiece-content-v52515 .wp-block-column:first-child > p {
    max-width: none !important;
  }

  .mm-handpiece-service-v52516 .mm-handpiece-benefits-v52515 {
    max-width: none !important;
    margin-left: 0 !important;
  }

  .mm-handpiece-service-v52516 .mm-handpiece-hero-v52515 h1 {
    max-width: none !important;
    font-size: clamp(3rem, 11vw, 4.6rem) !important;
  }
}

@media (max-width: 600px) {
  .mm-handpiece-service-v52516 .mm-handpiece-hero-v52515,
  .mm-handpiece-service-v52516 .mm-handpiece-content-v52515 {
    width: calc(100% - 32px) !important;
  }

  .mm-handpiece-service-v52516 .mm-handpiece-hero-v52515 {
    padding-top: 44px !important;
    padding-bottom: 40px !important;
  }

  .mm-handpiece-service-v52516 .mm-handpiece-hero-v52515 h1 {
    font-size: clamp(2.75rem, 13vw, 3.8rem) !important;
  }

  .mm-handpiece-service-v52516 .mm-handpiece-cta-inner-v52515 {
    width: 100% !important;
  }
}

/* ===== SOURCE: v5.25.17 progettazione dedicated page ===== */
/* ==========================================================
   v5.25.17 — PROGETTAZIONE STUDI E LABORATORI
   ========================================================== */
.mm-project-service-v52517{margin:0!important;padding:0!important;background:#fff!important}
.mm-project-hero-v52517,.mm-project-content-v52517,.mm-project-gallery-v52517{width:min(1240px,calc(100% - 48px))!important;max-width:1240px!important;margin-left:auto!important;margin-right:auto!important}
.mm-project-hero-v52517{padding:58px 0 62px!important;text-align:center!important}
.mm-project-hero-v52517>*{margin-left:auto!important;margin-right:auto!important}
.mm-project-hero-v52517 .mm-kicker{text-align:center!important}
.mm-project-hero-v52517 h1{max-width:1100px!important;margin:12px auto 22px!important;color:#071a3d!important;font-size:clamp(3.25rem,5.8vw,5.35rem)!important;line-height:.99!important;letter-spacing:-.045em!important;text-align:center!important;text-wrap:balance!important}
.mm-project-lead-v52517{max-width:980px!important;margin:0 auto 28px!important;color:#60758f!important;font-size:1.04rem!important;line-height:1.74!important;text-align:center!important}
.mm-project-hero-v52517 .wp-block-buttons{justify-content:center!important}
.mm-project-content-v52517{padding:20px 0 70px!important}
.mm-project-content-grid-v52517{display:grid!important;grid-template-columns:minmax(0,1.42fr) minmax(340px,.86fr)!important;gap:clamp(46px,6vw,88px)!important;align-items:start!important}
.mm-project-content-grid-v52517>.wp-block-column{min-width:0!important;margin:0!important;flex-basis:auto!important}
.mm-project-copy-v52517 h2{margin:0 0 23px!important;color:#071a3d!important;font-size:clamp(1.8rem,3vw,2.45rem)!important;line-height:1.13!important}
.mm-project-copy-v52517 p{max-width:770px!important;margin:0 0 19px!important;color:#334c6d!important;font-size:1.01rem!important;line-height:1.78!important}
.mm-project-benefits-v52517{padding:28px!important;border:1px solid #d9e6f5!important;border-radius:20px!important;background:linear-gradient(145deg,#f9fcff,#eef6ff)!important;box-shadow:0 20px 44px rgba(7,26,61,.06)!important}
.mm-project-benefit-list-v52517{display:grid!important;gap:0!important;margin-top:12px!important}
.mm-project-benefit-list-v52517>div{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;gap:14px!important;align-items:start!important;padding:14px 0!important;border-bottom:1px solid #dce7f3!important}
.mm-project-benefit-list-v52517>div:last-child{border-bottom:0!important;padding-bottom:0!important}
.mm-project-benefit-icon-v52517{width:38px!important;height:38px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid #cfe0f4!important;border-radius:50%!important;background:#fff!important;color:#1260e8!important;font-size:.68rem!important;font-weight:800!important}
.mm-project-benefit-list-v52517 p{margin:0!important}.mm-project-benefit-list-v52517 strong,.mm-project-benefit-list-v52517 span{display:block!important}
.mm-project-benefit-list-v52517 strong{margin-bottom:3px!important;color:#071a3d!important;font-size:.9rem!important}
.mm-project-benefit-list-v52517 p>span{color:#687c94!important;font-size:.8rem!important;line-height:1.45!important}
.mm-project-gallery-v52517{padding:4px 0 78px!important}
.mm-project-gallery-v52517>.mm-kicker,.mm-project-gallery-v52517>h2{text-align:center!important}
.mm-project-gallery-v52517>h2{max-width:760px!important;margin:10px auto 30px!important;color:#071a3d!important;font-size:clamp(2rem,3.6vw,3rem)!important;line-height:1.1!important}
.mm-project-gallery-grid-v52517{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
.mm-project-plan-card-v52517{overflow:hidden!important;border:1px solid #dbe6f3!important;border-radius:18px!important;background:#fff!important;box-shadow:0 14px 34px rgba(7,26,61,.05)!important}
.mm-project-plan-card-v52517 img{display:block!important;width:100%!important;height:390px!important;padding:18px!important;object-fit:contain!important;object-position:center!important;background:#fff!important}
.mm-project-plan-card-wide-v52517{grid-column:1/-1!important}
.mm-project-plan-card-wide-v52517 img{height:510px!important;padding:24px!important}
.mm-project-plan-caption-v52517{padding:16px 20px 18px!important;border-top:1px solid #edf2f7!important;background:#fbfdff!important}
.mm-project-plan-caption-v52517 strong,.mm-project-plan-caption-v52517 span{display:block!important}
.mm-project-plan-caption-v52517 strong{margin-bottom:4px!important;color:#071a3d!important;font-size:.92rem!important}
.mm-project-plan-caption-v52517 span{color:#667b93!important;font-size:.8rem!important}
.mm-project-cta-v52517{padding:0 24px 80px!important}
.mm-project-cta-inner-v52517{width:min(1240px,calc(100% - 48px))!important;max-width:1240px!important;margin-left:auto!important;margin-right:auto!important;gap:28px!important;padding:34px 38px!important;border-radius:20px!important;background:#071f4a!important;color:#fff!important}
.mm-project-cta-inner-v52517 h2{margin:0 0 8px!important;color:#fff!important;font-size:clamp(1.7rem,3vw,2.35rem)!important}
.mm-project-cta-inner-v52517 p{margin:0!important;color:#c6d5e9!important}
.mm-project-cta-inner-v52517 .wp-block-button__link{background:#1260e8!important;color:#fff!important}
@media(max-width:920px){.mm-project-content-grid-v52517{grid-template-columns:1fr!important}.mm-project-copy-v52517 p{max-width:none!important}.mm-project-gallery-grid-v52517{grid-template-columns:1fr!important}.mm-project-plan-card-wide-v52517{grid-column:auto!important}.mm-project-plan-card-v52517 img,.mm-project-plan-card-wide-v52517 img{height:auto!important;min-height:300px!important}}
@media(max-width:700px){.mm-project-hero-v52517,.mm-project-content-v52517,.mm-project-gallery-v52517{width:calc(100% - 32px)!important}.mm-project-hero-v52517{padding-top:44px!important;padding-bottom:44px!important}.mm-project-hero-v52517 h1{font-size:clamp(2.65rem,12vw,4rem)!important}.mm-project-lead-v52517{font-size:.98rem!important}.mm-project-benefits-v52517{padding:22px 18px!important}.mm-project-plan-card-v52517 img,.mm-project-plan-card-wide-v52517 img{min-height:240px!important;padding:12px!important}.mm-project-cta-v52517{padding-left:16px!important;padding-right:16px!important}.mm-project-cta-inner-v52517{width:100%!important;padding:27px 22px!important}}

/* ===== SOURCE: v5.25.18 arredamento brand & collections ===== */
/* ==========================================================
   v5.25.18 — ARREDAMENTO: BRAND E COLLEZIONI
   ========================================================== */

.mm-arredo-solutions-v52518 {
  padding: 26px 24px 34px !important;
  background: #fff !important;
}

.mm-arredo-solutions-inner-v52518 {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}

.mm-arredo-solutions-head-v52518 {
  margin-bottom: 26px !important;
}

.mm-arredo-eyebrow-v52518 {
  margin: 0 0 8px !important;
  color: #5f7694 !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

.mm-arredo-solutions-head-v52518 h2 {
  margin: 0 0 8px !important;
  color: #071a3d !important;
  font-size: clamp(2rem, 3.3vw, 3rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.03em !important;
}

.mm-arredo-solutions-head-v52518 > p:last-child {
  max-width: 790px !important;
  margin: 0 !important;
  color: #667c96 !important;
  font-size: .98rem !important;
  line-height: 1.65 !important;
}

.mm-arredo-brands-grid-v52518 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-bottom: 18px !important;
}

.mm-arredo-brand-card-v52518 {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(220px, .88fr) !important;
  min-height: 255px !important;
  overflow: hidden !important;
  border: 1px solid #d9e6f4 !important;
  border-radius: 18px !important;
  background: #fff !important;
  color: inherit !important;
  text-decoration: none !important;
  box-shadow: 0 12px 30px rgba(7,26,61,.045) !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

.mm-arredo-brand-card-v52518:hover {
  transform: translateY(-3px) !important;
  border-color: #bdd5f3 !important;
  box-shadow: 0 22px 44px rgba(7,26,61,.085) !important;
}

.mm-arredo-brand-photo-v52518 {
  min-height: 255px !important;
  overflow: hidden !important;
  background: #f7fbff !important;
}

.mm-arredo-brand-photo-v52518 img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 255px !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform .32s ease !important;
}

.mm-arredo-brand-card-v52518:hover .mm-arredo-brand-photo-v52518 img {
  transform: scale(1.025) !important;
}

.mm-arredo-brand-body-v52518 {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 28px 26px !important;
}

.mm-arredo-brand-body-v52518 h3 {
  margin: 0 0 10px !important;
  color: #071a3d !important;
  font-size: 1.65rem !important;
  line-height: 1.08 !important;
}

.mm-arredo-brand-body-v52518 p {
  margin: 0 !important;
  color: #617792 !important;
  font-size: .92rem !important;
  line-height: 1.55 !important;
}

.mm-arredo-brand-cta-v52518 {
  align-self: flex-start !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 18px !important;
  border-radius: 9px !important;
  background: #1260e8 !important;
  color: #fff !important;
  font-size: .86rem !important;
  font-weight: 800 !important;
}

.mm-arredo-categories-grid-v52518 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.mm-arredo-category-card-v52518 {
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid #dbe6f3 !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: inherit !important;
  text-decoration: none !important;
  box-shadow: 0 9px 24px rgba(7,26,61,.035) !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

.mm-arredo-category-card-v52518:hover {
  transform: translateY(-3px) !important;
  border-color: #bed6f3 !important;
  box-shadow: 0 16px 34px rgba(7,26,61,.075) !important;
}

.mm-arredo-category-photo-v52518 {
  height: 150px !important;
  overflow: hidden !important;
  background: #f7fbff !important;
}

.mm-arredo-category-photo-v52518 img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform .32s ease !important;
}

.mm-arredo-category-card-v52518:hover .mm-arredo-category-photo-v52518 img {
  transform: scale(1.03) !important;
}

.mm-arredo-category-body-v52518 {
  padding: 16px 16px 18px !important;
}

.mm-arredo-category-body-v52518 h3 {
  margin: 0 0 7px !important;
  color: #071a3d !important;
  font-size: 1rem !important;
  line-height: 1.22 !important;
}

.mm-arredo-category-body-v52518 p {
  min-height: 3.9em !important;
  margin: 0 0 12px !important;
  color: #667b94 !important;
  font-size: .82rem !important;
  line-height: 1.5 !important;
}

.mm-arredo-category-body-v52518 span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #1260e8 !important;
  font-size: .8rem !important;
  font-weight: 800 !important;
}

.mm-arredo-brand-cta-v52518 b,
.mm-arredo-category-body-v52518 b {
  font-weight: 700 !important;
}

@media (max-width: 1050px) {
  .mm-arredo-brands-grid-v52518 {
    grid-template-columns: 1fr !important;
  }

  .mm-arredo-categories-grid-v52518 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .mm-arredo-solutions-v52518 {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .mm-arredo-solutions-inner-v52518 {
    width: 100% !important;
  }

  .mm-arredo-brand-card-v52518 {
    grid-template-columns: 1fr !important;
  }

  .mm-arredo-brand-photo-v52518,
  .mm-arredo-brand-photo-v52518 img {
    min-height: 220px !important;
  }

  .mm-arredo-brand-body-v52518 {
    padding: 22px 20px !important;
  }
}

@media (max-width: 540px) {
  .mm-arredo-categories-grid-v52518 {
    grid-template-columns: 1fr !important;
  }

  .mm-arredo-category-photo-v52518 {
    height: 190px !important;
  }

  .mm-arredo-category-body-v52518 p {
    min-height: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mm-arredo-brand-card-v52518,
  .mm-arredo-category-card-v52518,
  .mm-arredo-brand-photo-v52518 img,
  .mm-arredo-category-photo-v52518 img {
    transition: none !important;
  }
}

/* ===== SOURCE: v5.25.19 arredamento layout/photo fix ===== */
/* ==========================================================
   v5.25.19 — ARREDAMENTO: FIX FOTO + GRIGLIA DESKTOP
   ========================================================== */

/* Desktop: two principal brand cards side-by-side. */
.mm-equipment-clone-v44 .mm-arredo-brands-grid-v52518 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

/* Make each principal card a true horizontal photo/text card. */
.mm-equipment-clone-v44 .mm-arredo-brand-card-v52518 {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 260px !important;
  min-height: 260px !important;
  max-height: 260px !important;
}

.mm-equipment-clone-v44 .mm-arredo-brand-photo-v52518 {
  flex: 0 0 56% !important;
  width: 56% !important;
  height: 260px !important;
  min-height: 260px !important;
  max-height: 260px !important;
  overflow: hidden !important;
  background: #f6f9fd !important;
}

.mm-equipment-clone-v44 .mm-arredo-brand-photo-v52518 img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

.mm-equipment-clone-v44 .mm-arredo-brand-body-v52518 {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 260px !important;
  padding: 25px 23px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
}

.mm-equipment-clone-v44 .mm-arredo-brand-body-v52518 h3 {
  margin-top: 0 !important;
  font-size: 1.45rem !important;
}

.mm-equipment-clone-v44 .mm-arredo-brand-cta-v52518 {
  margin-top: 20px !important;
}

/* Desktop: all four secondary cards stay on one row. */
.mm-equipment-clone-v44 .mm-arredo-categories-grid-v52518 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

.mm-equipment-clone-v44 .mm-arredo-category-card-v52518 {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

.mm-equipment-clone-v44 .mm-arredo-category-photo-v52518 {
  flex: 0 0 155px !important;
  width: 100% !important;
  height: 155px !important;
  min-height: 155px !important;
  max-height: 155px !important;
  overflow: hidden !important;
}

.mm-equipment-clone-v44 .mm-arredo-category-photo-v52518 img {
  width: 100% !important;
  height: 155px !important;
  min-height: 155px !important;
  max-height: 155px !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

.mm-equipment-clone-v44 .mm-arredo-category-body-v52518 {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 16px 16px 18px !important;
}

.mm-equipment-clone-v44 .mm-arredo-category-body-v52518 h3 {
  min-height: 2.45em !important;
}

.mm-equipment-clone-v44 .mm-arredo-category-body-v52518 p {
  min-height: 4.5em !important;
}

.mm-equipment-clone-v44 .mm-arredo-category-body-v52518 > span {
  margin-top: auto !important;
}

/* Do not trigger tablet mode too early on scaled Windows desktops. */
@media (max-width: 760px) {
  .mm-equipment-clone-v44 .mm-arredo-brands-grid-v52518 {
    grid-template-columns: 1fr !important;
  }

  .mm-equipment-clone-v44 .mm-arredo-brand-card-v52518 {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .mm-equipment-clone-v44 .mm-arredo-brand-photo-v52518 {
    flex-basis: 48% !important;
    width: 48% !important;
    height: auto !important;
    min-height: 230px !important;
    max-height: none !important;
  }

  .mm-equipment-clone-v44 .mm-arredo-brand-body-v52518 {
    height: auto !important;
    min-height: 230px !important;
  }

  .mm-equipment-clone-v44 .mm-arredo-categories-grid-v52518 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  .mm-equipment-clone-v44 .mm-arredo-brand-card-v52518 {
    flex-direction: column !important;
  }

  .mm-equipment-clone-v44 .mm-arredo-brand-photo-v52518 {
    width: 100% !important;
    flex-basis: auto !important;
    height: 210px !important;
    min-height: 210px !important;
  }

  .mm-equipment-clone-v44 .mm-arredo-brand-body-v52518 {
    min-height: 0 !important;
    padding: 22px 20px !important;
  }

  .mm-equipment-clone-v44 .mm-arredo-categories-grid-v52518 {
    grid-template-columns: 1fr !important;
  }
}

/* ===== SOURCE: v5.25.20 internal furniture brand catalogs ===== */
/* ==========================================================
   v5.25.20 — ARREDAMENTO BRAND AFFIANCATI + CATALOGHI INTERNI
   ========================================================== */

.mm-arredo-solutions-v52520 {
  padding: 26px 24px 38px !important;
  background: #fff !important;
}

.mm-arredo-solutions-inner-v52520 {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}

.mm-arredo-solutions-head-v52520 {
  margin-bottom: 26px !important;
}

.mm-arredo-eyebrow-v52520 {
  margin: 0 0 8px !important;
  color: #607794 !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

.mm-arredo-solutions-head-v52520 h2 {
  margin: 0 0 8px !important;
  color: #071a3d !important;
  font-size: clamp(2rem,3.3vw,3rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.03em !important;
}

.mm-arredo-solutions-head-v52520 > p:last-child {
  max-width: 800px !important;
  margin: 0 !important;
  color: #667c96 !important;
  line-height: 1.65 !important;
}

/* Flex instead of CSS grid: this avoids the alternating empty-cell issue
   created by inherited theme grid rules on this page. */
.mm-arredo-brands-row-v52520 {
  width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 18px !important;
  margin: 0 0 18px !important;
}

.mm-arredo-brand-card-v52520 {
  flex: 1 1 0 !important;
  width: calc(50% - 9px) !important;
  min-width: 0 !important;
  height: 265px !important;
  display: flex !important;
  flex-direction: row !important;
  overflow: hidden !important;
  border: 1px solid #d9e6f4 !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(7,26,61,.045) !important;
  transition: transform .22s ease, box-shadow .22s ease !important;
}

.mm-arredo-brand-card-v52520:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 22px 44px rgba(7,26,61,.085) !important;
}

.mm-arredo-brand-image-link-v52520 {
  flex: 0 0 55% !important;
  width: 55% !important;
  height: 265px !important;
  overflow: hidden !important;
  background: #f7fbff !important;
}

.mm-arredo-brand-image-link-v52520 img {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform .3s ease !important;
}

.mm-arredo-brand-card-v52520:hover .mm-arredo-brand-image-link-v52520 img {
  transform: scale(1.025) !important;
}

.mm-arredo-brand-copy-v52520 {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding: 26px 23px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
}

.mm-arredo-brand-copy-v52520 h3 {
  margin: 0 0 9px !important;
  font-size: 1.5rem !important;
  line-height: 1.1 !important;
}

.mm-arredo-brand-copy-v52520 h3 a {
  color: #071a3d !important;
  text-decoration: none !important;
}

.mm-arredo-brand-copy-v52520 p {
  margin: 0 !important;
  color: #637993 !important;
  font-size: .9rem !important;
  line-height: 1.55 !important;
}

.mm-arredo-brand-button-v52520 {
  min-height: 44px !important;
  margin-top: 20px !important;
  padding: 0 17px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  border-radius: 9px !important;
  background: #1260e8 !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: .84rem !important;
  font-weight: 800 !important;
}

.mm-arredo-categories-row-v52520 {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 14px !important;
}

.mm-arredo-category-card-v52520 {
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid #dbe6f3 !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: inherit !important;
  text-decoration: none !important;
  box-shadow: 0 9px 24px rgba(7,26,61,.035) !important;
}

.mm-arredo-category-card-v52520 > img {
  display: block !important;
  width: 100% !important;
  height: 155px !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

.mm-arredo-category-card-v52520 > div {
  padding: 16px 16px 18px !important;
}

.mm-arredo-category-card-v52520 h3 {
  min-height: 2.4em !important;
  margin: 0 0 7px !important;
  color: #071a3d !important;
  font-size: 1rem !important;
  line-height: 1.2 !important;
}

.mm-arredo-category-card-v52520 p {
  min-height: 4.2em !important;
  margin: 0 0 12px !important;
  color: #667b94 !important;
  font-size: .81rem !important;
  line-height: 1.5 !important;
}

.mm-arredo-category-card-v52520 span {
  color: #1260e8 !important;
  font-size: .8rem !important;
  font-weight: 800 !important;
}

/* Internal brand catalogue pages */
.mm-arredo-brand-page-v52520 {
  background: #fff !important;
}

.mm-arredo-brand-hero-v52520,
.mm-arredo-brand-products-v52520,
.mm-arredo-brand-cta-v52520 {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.mm-arredo-brand-hero-v52520 {
  padding: 52px 0 52px !important;
}

.mm-arredo-brand-kicker-v52520 {
  margin: 20px 0 8px !important;
  color: #1260e8 !important;
  font-size: .76rem !important;
  font-weight: 800 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

.mm-arredo-brand-hero-v52520 h1 {
  margin: 0 0 16px !important;
  color: #071a3d !important;
  font-size: clamp(3.4rem,6vw,5.5rem) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}

.mm-arredo-brand-hero-v52520 > p:not(.mm-arredo-brand-kicker-v52520) {
  max-width: 760px !important;
  color: #60758f !important;
  font-size: 1.04rem !important;
  line-height: 1.7 !important;
}

.mm-arredo-brand-hero-actions-v52520 {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 24px !important;
}

.mm-arredo-brand-back-v52520,
.mm-arredo-brand-contact-v52520 {
  min-height: 46px !important;
  padding: 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 9px !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}

.mm-arredo-brand-back-v52520 {
  border: 1px solid #bcd0e9 !important;
  color: #071a3d !important;
  background: #fff !important;
}

.mm-arredo-brand-contact-v52520 {
  background: #1260e8 !important;
  color: #fff !important;
}

.mm-arredo-brand-products-v52520 {
  padding: 12px 0 72px !important;
}

.mm-arredo-brand-products-head-v52520 {
  margin-bottom: 28px !important;
}

.mm-arredo-brand-products-head-v52520 > p {
  margin: 0 0 7px !important;
  color: #1260e8 !important;
  font-size: .75rem !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.mm-arredo-brand-products-head-v52520 h2 {
  margin: 0 0 8px !important;
  color: #071a3d !important;
  font-size: clamp(2rem,3.6vw,3rem) !important;
}

.mm-arredo-brand-products-head-v52520 > span {
  color: #657b94 !important;
  line-height: 1.6 !important;
}

.mm-arredo-brand-products-content-v52520 .mm-product-v52-title {
  display: none !important;
}

.mm-arredo-brand-cta-v52520 {
  margin-bottom: 80px !important;
  padding: 32px 36px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 24px !important;
  border-radius: 20px !important;
  background: #071f4a !important;
  color: #fff !important;
}

.mm-arredo-brand-cta-v52520 h2 {
  margin: 0 0 7px !important;
  color: #fff !important;
}

.mm-arredo-brand-cta-v52520 p {
  margin: 0 !important;
  color: #c4d4e8 !important;
}

.mm-arredo-brand-cta-v52520 > a {
  flex: 0 0 auto !important;
  min-height: 48px !important;
  padding: 0 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 9px !important;
  background: #1260e8 !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}

@media (max-width: 900px) {
  .mm-arredo-brands-row-v52520 {
    flex-direction: column !important;
  }

  .mm-arredo-brand-card-v52520 {
    width: 100% !important;
  }

  .mm-arredo-categories-row-v52520 {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width: 620px) {
  .mm-arredo-solutions-v52520 {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .mm-arredo-solutions-inner-v52520,
  .mm-arredo-brand-hero-v52520,
  .mm-arredo-brand-products-v52520,
  .mm-arredo-brand-cta-v52520 {
    width: 100% !important;
  }

  .mm-arredo-brand-card-v52520 {
    height: auto !important;
    flex-direction: column !important;
  }

  .mm-arredo-brand-image-link-v52520 {
    width: 100% !important;
    height: 220px !important;
    flex-basis: auto !important;
  }

  .mm-arredo-categories-row-v52520 {
    grid-template-columns: 1fr !important;
  }

  .mm-arredo-brand-cta-v52520 {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 26px 22px !important;
  }
}

/* ===== SOURCE: v5.25.21 simplified furniture brands ===== */
/* ==========================================================
   v5.25.21 — ARREDAMENTO SEMPLIFICATO
   Solo DentalArt + RossiCaws
   ========================================================== */

.mm-arredo-solutions-v52520 {
  padding-bottom: 54px !important;
}

.mm-arredo-brands-row-v52520 {
  margin-bottom: 0 !important;
}

.mm-arredo-brand-card-v52520 {
  min-height: 285px !important;
  height: 285px !important;
}

.mm-arredo-brand-image-link-v52520 {
  height: 285px !important;
}

.mm-arredo-brand-copy-v52520 {
  padding: 30px 26px !important;
}

/* Hide any legacy/older secondary furniture grids that might still be
   emitted by cached markup or inherited template fragments. */
.mm-arredo-solutions-v52520 .mm-arredo-categories-row-v52520,
.mm-arredo-solutions-v52518 .mm-arredo-categories-grid-v52518 {
  display: none !important;
}

/* ===== SOURCE: v5.25.22 furniture lines & details ===== */
/* ==========================================================
   v5.25.22 — LINEE DENTALART / ROSSICAWS
   ========================================================== */

.mm-arredo-brand-page-v52522 {
  background: #fff !important;
}

.mm-arredo-brand-hero-v52522,
.mm-arredo-lines-v52522,
.mm-arredo-brand-cta-v52522,
.mm-arredo-line-hero-v52522,
.mm-arredo-line-content-v52522,
.mm-arredo-line-cta-v52522 {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.mm-arredo-brand-hero-v52522 {
  padding: 48px 0 48px !important;
}

.mm-arredo-brand-kicker-v52522,
.mm-arredo-line-kicker-v52522 {
  margin: 20px 0 8px !important;
  color: #1260e8 !important;
  font-size: .76rem !important;
  font-weight: 800 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

.mm-arredo-brand-hero-v52522 h1,
.mm-arredo-line-hero-v52522 h1 {
  margin: 0 0 16px !important;
  color: #071a3d !important;
  font-size: clamp(3.3rem, 6vw, 5.4rem) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}

.mm-arredo-brand-lead-v52522,
.mm-arredo-line-lead-v52522 {
  max-width: 820px !important;
  margin: 0 !important;
  color: #60758f !important;
  font-size: 1.04rem !important;
  line-height: 1.7 !important;
}

.mm-arredo-brand-actions-v52522,
.mm-arredo-line-actions-v52522 {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 24px !important;
}

.mm-arredo-brand-back-v52522,
.mm-arredo-brand-contact-v52522,
.mm-arredo-line-back-v52522,
.mm-arredo-line-contact-v52522 {
  min-height: 46px !important;
  padding: 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 9px !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}

.mm-arredo-brand-back-v52522,
.mm-arredo-line-back-v52522 {
  border: 1px solid #bdd0e8 !important;
  background: #fff !important;
  color: #071a3d !important;
}

.mm-arredo-brand-contact-v52522,
.mm-arredo-line-contact-v52522 {
  background: #1260e8 !important;
  color: #fff !important;
}

/* Brand landing page with furniture lines */
.mm-arredo-lines-v52522 {
  padding: 14px 0 72px !important;
}

.mm-arredo-lines-head-v52522 {
  margin-bottom: 28px !important;
}

.mm-arredo-lines-head-v52522 > p {
  margin: 0 0 7px !important;
  color: #5f7693 !important;
  font-size: .76rem !important;
  font-weight: 800 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

.mm-arredo-lines-head-v52522 h2 {
  margin: 0 0 8px !important;
  color: #071a3d !important;
  font-size: clamp(2rem, 3.6vw, 3rem) !important;
  line-height: 1.1 !important;
}

.mm-arredo-lines-head-v52522 > span {
  color: #657a93 !important;
  line-height: 1.6 !important;
}

.mm-arredo-lines-grid-v52522 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.mm-arredo-line-card-v52522 {
  min-width: 0 !important;
  min-height: 285px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(210px, .9fr) !important;
  overflow: hidden !important;
  border: 1px solid #d9e6f4 !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(7,26,61,.045) !important;
  transition: transform .22s ease, box-shadow .22s ease !important;
}

.mm-arredo-line-card-v52522:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 22px 44px rgba(7,26,61,.085) !important;
}

.mm-arredo-line-card-photo-v52522 {
  min-height: 285px !important;
  overflow: hidden !important;
  background: #f7faff !important;
}

.mm-arredo-line-card-photo-v52522 img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 285px !important;
  margin: 0 !important;
  padding: 18px !important;
  object-fit: contain !important;
  object-position: center !important;
  transition: transform .3s ease !important;
}

.mm-arredo-line-card-v52522:hover .mm-arredo-line-card-photo-v52522 img {
  transform: scale(1.025) !important;
}

.mm-arredo-line-card-body-v52522 {
  min-width: 0 !important;
  padding: 26px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
}

.mm-arredo-line-card-body-v52522 h3 {
  margin: 0 0 10px !important;
  color: #071a3d !important;
  font-size: 1.48rem !important;
  line-height: 1.12 !important;
}

.mm-arredo-line-card-body-v52522 h3 a {
  color: inherit !important;
  text-decoration: none !important;
}

.mm-arredo-line-card-body-v52522 p {
  margin: 0 !important;
  color: #637993 !important;
  font-size: .9rem !important;
  line-height: 1.55 !important;
}

.mm-arredo-line-card-link-v52522 {
  margin-top: 20px !important;
  min-height: 43px !important;
  padding: 0 17px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  border-radius: 9px !important;
  background: #1260e8 !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: .84rem !important;
  font-weight: 800 !important;
}

.mm-arredo-brand-cta-v52522,
.mm-arredo-line-cta-v52522 {
  margin-bottom: 78px !important;
  padding: 32px 36px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 24px !important;
  border-radius: 20px !important;
  background: #071f4a !important;
  color: #fff !important;
}

.mm-arredo-brand-cta-v52522 h2,
.mm-arredo-line-cta-v52522 h2 {
  margin: 0 0 7px !important;
  color: #fff !important;
}

.mm-arredo-brand-cta-v52522 p,
.mm-arredo-line-cta-v52522 p {
  margin: 0 !important;
  color: #c4d4e8 !important;
}

.mm-arredo-brand-cta-v52522 > a,
.mm-arredo-line-cta-v52522 > a {
  flex: 0 0 auto !important;
  min-height: 48px !important;
  padding: 0 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 9px !important;
  background: #1260e8 !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}

/* Single line detail */
.mm-arredo-line-page-v52522 {
  background: #fff !important;
}

.mm-arredo-line-hero-v52522 {
  padding: 48px 0 44px !important;
}

.mm-arredo-line-content-v52522 {
  padding: 10px 0 72px !important;
}

.mm-arredo-line-content-v52522 .mm-product-v52-title {
  display: none !important;
}

.mm-arredo-line-content-v52522 .mm-product-v52 {
  width: 100% !important;
  max-width: none !important;
}

.mm-arredo-line-content-v52522 .mm-product-v52-row {
  width: 100% !important;
}

/* Desktop / tablet */
@media (max-width: 980px) {
  .mm-arredo-lines-grid-v52522 {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 680px) {
  .mm-arredo-brand-hero-v52522,
  .mm-arredo-lines-v52522,
  .mm-arredo-brand-cta-v52522,
  .mm-arredo-line-hero-v52522,
  .mm-arredo-line-content-v52522,
  .mm-arredo-line-cta-v52522 {
    width: calc(100% - 32px) !important;
  }

  .mm-arredo-line-card-v52522 {
    grid-template-columns: 1fr !important;
  }

  .mm-arredo-line-card-photo-v52522,
  .mm-arredo-line-card-photo-v52522 img {
    min-height: 230px !important;
  }

  .mm-arredo-brand-cta-v52522,
  .mm-arredo-line-cta-v52522 {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 26px 22px !important;
  }
}

/* ===== SOURCE: v5.25.23 button/image centering ===== */
/* ==========================================================
   v5.25.23 — CENTRATURA BOTTONI E IMMAGINI
   ========================================================== */

/* CTA blu: testo perfettamente centrato */
.mm-arredo-line-card-link-v52522,
.mm-arredo-brand-contact-v52522,
.mm-arredo-line-contact-v52522,
.mm-arredo-brand-cta-v52522 > a,
.mm-arredo-line-cta-v52522 > a {
  justify-content: center !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.mm-arredo-line-card-link-v52522 span {
  display: inline-flex !important;
  align-items: center !important;
}

/* Card DentalArt / RossiCaws della sezione "Brand e collezioni" */
.mm-arredo-brand-card-v52520 .mm-arredo-brand-card-media,
.mm-arredo-brand-card-v52520 .mm-arredo-brand-card-photo,
.mm-arredo-brand-card-v52520 .mm-arredo-brand-card-image,
.mm-arredo-brand-card-v52520 .mm-arredo-brand-card-thumb {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: #f7faff !important;
}

.mm-arredo-brand-card-v52520 .mm-arredo-brand-card-media img,
.mm-arredo-brand-card-v52520 .mm-arredo-brand-card-photo img,
.mm-arredo-brand-card-v52520 .mm-arredo-brand-card-image img,
.mm-arredo-brand-card-v52520 .mm-arredo-brand-card-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* Card delle linee interne (TAO, FRINGE, ecc.) */
.mm-arredo-line-card-photo-v52522 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.mm-arredo-line-card-photo-v52522 img {
  width: 100% !important;
  height: 100% !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* Pulsanti brand in alto: testo allineato come nel mockup precedente */
.mm-arredo-brand-card-v52520 .mm-arredo-brand-card-link,
.mm-arredo-brand-card-v52520 .mm-arredo-brand-card-button,
.mm-arredo-brand-card-v52520 .mm-arredo-brand-card-cta,
.mm-arredo-brand-card-v52520 .mm-arredo-brand-card-body .wp-block-button__link,
.mm-arredo-brand-card-v52520 .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* ===== SOURCE: v5.25.24 furniture card refinement ===== */
/* ==========================================================
   v5.25.24 — RIFINITURA CARD ARREDAMENTO
   ========================================================== */

/* ----------------------------------------------------------
   BRAND PRINCIPALI — DentalArt / RossiCaws
   ---------------------------------------------------------- */

.mm-arredo-brands-row-v52520 {
  gap: 20px !important;
  align-items: stretch !important;
}

.mm-arredo-brand-card-v52520 {
  height: 290px !important;
  min-height: 290px !important;
  max-height: 290px !important;
  align-items: stretch !important;
}

.mm-arredo-brand-image-link-v52520 {
  flex: 0 0 55% !important;
  width: 55% !important;
  height: 290px !important;
  min-height: 290px !important;
  max-height: 290px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  overflow: hidden !important;
  padding: 18px !important;
  background: #f7faff !important;
}

.mm-arredo-brand-image-link-v52520 img {
  display: block !important;

  /* Same visual footprint for very different source images. */
  width: 92% !important;
  height: 92% !important;
  max-width: 92% !important;
  max-height: 92% !important;

  margin: auto !important;
  padding: 0 !important;

  object-fit: contain !important;
  object-position: center center !important;

  transform-origin: center center !important;
}

.mm-arredo-brand-card-v52520:hover .mm-arredo-brand-image-link-v52520 img {
  transform: scale(1.02) !important;
}

.mm-arredo-brand-copy-v52520 {
  height: 290px !important;
  min-height: 290px !important;
  max-height: 290px !important;

  padding: 28px 25px !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
}

.mm-arredo-brand-copy-v52520 h3 {
  min-height: 1.25em !important;
  margin: 0 0 10px !important;
}

.mm-arredo-brand-copy-v52520 p {
  min-height: 3.25em !important;
  margin: 0 !important;
}

.mm-arredo-brand-button-v52520 {
  min-width: 148px !important;
  min-height: 44px !important;

  margin-top: 20px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  text-align: center !important;
  white-space: nowrap !important;
}

/* ----------------------------------------------------------
   LINEE — TAO / FRINGE / altre
   ---------------------------------------------------------- */

.mm-arredo-lines-grid-v52522 {
  gap: 20px !important;
  align-items: stretch !important;
}

.mm-arredo-line-card-v52522 {
  height: 305px !important;
  min-height: 305px !important;
  max-height: 305px !important;

  grid-template-columns: minmax(0, 1.08fr) minmax(215px, .92fr) !important;
  align-items: stretch !important;
}

.mm-arredo-line-card-photo-v52522 {
  height: 305px !important;
  min-height: 305px !important;
  max-height: 305px !important;

  padding: 18px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #f7faff !important;
}

.mm-arredo-line-card-photo-v52522 img {
  display: block !important;

  width: 90% !important;
  height: 90% !important;
  min-height: 0 !important;
  max-width: 90% !important;
  max-height: 90% !important;

  margin: auto !important;
  padding: 0 !important;

  object-fit: contain !important;
  object-position: center center !important;

  transform-origin: center center !important;
}

.mm-arredo-line-card-v52522:hover .mm-arredo-line-card-photo-v52522 img {
  transform: scale(1.02) !important;
}

.mm-arredo-line-card-body-v52522 {
  height: 305px !important;
  min-height: 305px !important;
  max-height: 305px !important;

  padding: 27px 25px !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
}

.mm-arredo-line-card-body-v52522 h3 {
  min-height: 1.3em !important;
  margin: 0 0 10px !important;
}

.mm-arredo-line-card-body-v52522 p {
  min-height: 3.2em !important;
  margin: 0 !important;
}

.mm-arredo-line-card-link-v52522 {
  min-width: 132px !important;
  min-height: 43px !important;

  margin-top: 20px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  text-align: center !important;
  white-space: nowrap !important;
}

/* ----------------------------------------------------------
   BUTTON ALIGNMENT — all blue CTA labels
   ---------------------------------------------------------- */

.mm-arredo-brand-button-v52520,
.mm-arredo-line-card-link-v52522,
.mm-arredo-brand-contact-v52522,
.mm-arredo-line-contact-v52522,
.mm-arredo-brand-cta-v52522 > a,
.mm-arredo-line-cta-v52522 > a {
  text-align: center !important;
  justify-content: center !important;
}

/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */

@media (max-width: 900px) {
  .mm-arredo-brand-card-v52520 {
    height: 280px !important;
    min-height: 280px !important;
    max-height: 280px !important;
  }

  .mm-arredo-brand-image-link-v52520,
  .mm-arredo-brand-copy-v52520 {
    height: 280px !important;
    min-height: 280px !important;
    max-height: 280px !important;
  }

  .mm-arredo-line-card-v52522 {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
  }

  .mm-arredo-line-card-photo-v52522,
  .mm-arredo-line-card-body-v52522 {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
  }
}

@media (max-width: 680px) {
  .mm-arredo-brand-card-v52520 {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex-direction: column !important;
  }

  .mm-arredo-brand-image-link-v52520 {
    width: 100% !important;
    flex-basis: auto !important;

    height: 230px !important;
    min-height: 230px !important;
    max-height: 230px !important;
  }

  .mm-arredo-brand-copy-v52520 {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .mm-arredo-line-card-v52522 {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    grid-template-columns: 1fr !important;
  }

  .mm-arredo-line-card-photo-v52522 {
    height: 240px !important;
    min-height: 240px !important;
    max-height: 240px !important;
  }

  .mm-arredo-line-card-body-v52522 {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .mm-arredo-brand-copy-v52520 h3,
  .mm-arredo-brand-copy-v52520 p,
  .mm-arredo-line-card-body-v52522 h3,
  .mm-arredo-line-card-body-v52522 p {
    min-height: 0 !important;
  }
}


/* ===== SOURCE: v5.25.25 ripristino card linee arredamento ===== */
/* ==========================================================
   v5.25.25 — RIPRISTINO TESTI CARD LINEE ARREDAMENTO
   ========================================================== */

/* Le card delle linee (TAO, Fringe, ecc.) devono mostrare sempre
   titolo, descrizione e CTA nella colonna destra. */
.mm-arredo-lines-grid-v52522 {
  gap: 20px !important;
  align-items: stretch !important;
}

.mm-arredo-line-card-v52522 {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(260px, .92fr) !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

.mm-arredo-line-card-photo-v52522 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f7faff !important;
  padding: 18px !important;
}

.mm-arredo-line-card-photo-v52522 img {
  display: block !important;
  width: 90% !important;
  height: 90% !important;
  max-width: 90% !important;
  max-height: 90% !important;
  margin: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
}

.mm-arredo-line-card-body-v52522 {
  position: relative !important;
  z-index: 3 !important;

  width: 100% !important;
  min-width: 0 !important;

  padding: 28px 25px !important;
  background: #ffffff !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;

  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
}

.mm-arredo-line-card-body-v52522 > * {
  opacity: 1 !important;
  visibility: visible !important;
}

.mm-arredo-line-card-body-v52522 h3,
.mm-arredo-line-card-body-v52522 h3 a {
  display: block !important;
  color: #071a3d !important;
  text-decoration: none !important;
}

.mm-arredo-line-card-body-v52522 h3 {
  margin: 0 0 10px !important;
  font-size: 1.52rem !important;
  line-height: 1.14 !important;
}

.mm-arredo-line-card-body-v52522 p {
  display: block !important;
  margin: 0 !important;
  color: #637993 !important;
  font-size: .92rem !important;
  line-height: 1.55 !important;
}

.mm-arredo-line-card-link-v52522 {
  min-width: 132px !important;
  min-height: 43px !important;
  margin-top: 20px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  text-align: center !important;
  white-space: nowrap !important;
}

/* Migliore allineamento anche dei brand principali. */
.mm-arredo-brand-button-v52520 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.mm-arredo-brand-image-link-v52520,
.mm-arredo-line-card-photo-v52522 {
  overflow: hidden !important;
}

.mm-arredo-brand-image-link-v52520 img,
.mm-arredo-line-card-photo-v52522 img {
  object-position: center center !important;
}

/* Responsive */
@media (max-width: 900px) {
  .mm-arredo-line-card-v52522 {
    grid-template-columns: 1fr !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .mm-arredo-line-card-photo-v52522 {
    height: 240px !important;
    min-height: 240px !important;
    max-height: 240px !important;
  }

  .mm-arredo-line-card-body-v52522 {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}

/* ===== SOURCE: v5.25.26 definitive furniture line cards ===== */
/* ==========================================================
   v5.25.26 — CARD LINEE ARREDAMENTO DEFINITIVE
   Foto sopra + nome/descrizione/CTA sotto
   ========================================================== */

/* Grid: due card per riga su desktop */
.mm-arredo-lines-grid-v52522 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
  align-items: stretch !important;
}

/* Reset completo delle vecchie regole orizzontali */
.mm-arredo-line-card-v52522.mm-arredo-line-card-v52526 {
  display: flex !important;
  flex-direction: column !important;

  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  overflow: hidden !important;

  border: 1px solid #d9e6f4 !important;
  border-radius: 18px !important;

  background: #ffffff !important;
  box-shadow: 0 12px 30px rgba(7,26,61,.045) !important;
}

/* Foto: centro reale del riquadro */
.mm-arredo-line-card-v52526 .mm-arredo-line-card-photo-v52526 {
  width: 100% !important;
  height: 300px !important;
  min-height: 300px !important;
  max-height: 300px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 22px !important;

  overflow: hidden !important;
  background: #f7faff !important;
}

.mm-arredo-line-card-v52526 .mm-arredo-line-card-photo-v52526 img {
  display: block !important;

  width: auto !important;
  height: auto !important;
  max-width: 88% !important;
  max-height: 88% !important;

  min-width: 0 !important;
  min-height: 0 !important;

  margin: auto !important;
  padding: 0 !important;

  object-fit: contain !important;
  object-position: center center !important;

  opacity: 1 !important;
  visibility: visible !important;
}

/* Blocco testi sotto la fotografia */
.mm-arredo-line-card-v52526 .mm-arredo-line-card-body-v52526 {
  position: static !important;
  z-index: auto !important;

  width: 100% !important;
  height: auto !important;
  min-height: 175px !important;
  max-height: none !important;

  box-sizing: border-box !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;

  margin: 0 !important;
  padding: 22px 22px 24px !important;

  overflow: visible !important;

  background: #ffffff !important;

  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Nome linea */
.mm-arredo-line-card-v52526 .mm-arredo-line-title-v52526,
.mm-arredo-line-card-v52526 .mm-arredo-line-title-v52526 a {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #071a3d !important;

  font-size: 1.42rem !important;
  font-weight: 800 !important;
  line-height: 1.16 !important;

  text-decoration: none !important;

  opacity: 1 !important;
  visibility: visible !important;
}

.mm-arredo-line-card-v52526 .mm-arredo-line-title-v52526 {
  margin-bottom: 9px !important;
}

/* Descrizione */
.mm-arredo-line-card-v52526 .mm-arredo-line-description-v52526 {
  display: block !important;

  width: 100% !important;
  min-height: 0 !important;

  margin: 0 0 18px !important;
  padding: 0 !important;

  color: #637993 !important;

  font-size: .9rem !important;
  line-height: 1.55 !important;

  opacity: 1 !important;
  visibility: visible !important;
}

/* Pulsante */
.mm-arredo-line-card-v52526 .mm-arredo-line-card-link-v52526 {
  min-width: 132px !important;
  min-height: 43px !important;

  margin-top: auto !important;
  padding: 0 17px !important;

  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;

  border-radius: 9px !important;

  background: #1260e8 !important;
  color: #ffffff !important;

  font-size: .84rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;

  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.mm-arredo-line-card-v52526 .mm-arredo-line-card-link-v52526 span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: inherit !important;
}

/* Hover discreto */
.mm-arredo-line-card-v52522.mm-arredo-line-card-v52526:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 20px 42px rgba(7,26,61,.08) !important;
}

.mm-arredo-line-card-v52526:hover .mm-arredo-line-card-photo-v52526 img {
  transform: scale(1.02) !important;
}

/* Tablet / mobile */
@media (max-width: 900px) {
  .mm-arredo-lines-grid-v52522 {
    grid-template-columns: 1fr !important;
  }

  .mm-arredo-line-card-v52526 .mm-arredo-line-card-photo-v52526 {
    height: 270px !important;
    min-height: 270px !important;
    max-height: 270px !important;
  }
}

@media (max-width: 600px) {
  .mm-arredo-line-card-v52526 .mm-arredo-line-card-photo-v52526 {
    height: 230px !important;
    min-height: 230px !important;
    max-height: 230px !important;
  }

  .mm-arredo-line-card-v52526 .mm-arredo-line-card-body-v52526 {
    min-height: 0 !important;
    padding: 20px !important;
  }
}

/* ===== SOURCE: v5.25.27 furniture line image zoom ===== */
/* ==========================================================
   v5.25.27 — FOTO LINEE ARREDAMENTO INGRANDITE
   ========================================================== */

/*
 * Le immagini sorgente contengono molto margine bianco.
 * Per questo il semplice object-fit: contain le fa apparire piccole.
 * Applichiamo un vero zoom 2x mantenendo il soggetto centrato.
 */
.mm-arredo-line-card-v52526 .mm-arredo-line-card-photo-v52526 {
  position: relative !important;
  overflow: hidden !important;
}

.mm-arredo-line-card-v52526 .mm-arredo-line-card-photo-v52526 img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;

  object-fit: contain !important;
  object-position: center center !important;

  transform: scale(2) !important;
  transform-origin: center center !important;

  transition: transform .28s ease !important;
}

/* Hover appena più marcato, senza alterare il layout. */
.mm-arredo-line-card-v52526:hover .mm-arredo-line-card-photo-v52526 img {
  transform: scale(2.06) !important;
}

/* Manteniamo lo stesso ingrandimento anche su tablet. */
@media (max-width: 900px) {
  .mm-arredo-line-card-v52526 .mm-arredo-line-card-photo-v52526 img {
    transform: scale(2) !important;
  }

  .mm-arredo-line-card-v52526:hover .mm-arredo-line-card-photo-v52526 img {
    transform: scale(2.04) !important;
  }
}

/* Su smartphone riduciamo appena lo zoom per evitare tagli eccessivi. */
@media (max-width: 600px) {
  .mm-arredo-line-card-v52526 .mm-arredo-line-card-photo-v52526 img {
    transform: scale(1.75) !important;
  }
}


/* ===== SOURCE: v5.25.28 single-line product images larger ===== */
/* ----------------------------------------------------------
   Product pages for individual furniture lines (es. /dentalart/unica/)
   need larger, more present photos inside each white panel.
   We enlarge the image while keeping it centered and the layout intact.
   ---------------------------------------------------------- */
.mm-product-v58 .mm-product-v52-media {
  overflow: hidden !important;
}

.mm-product-v58 .mm-product-v52-media img {
  transform: scale(1.28) !important;
  transform-origin: center center !important;
  transition: transform .28s ease !important;
}

.mm-product-v58 .mm-product-v52-row:hover .mm-product-v52-media img {
  transform: scale(1.32) !important;
}

@media (max-width:1000px) {
  .mm-product-v58 .mm-product-v52-media img {
    transform: scale(1.18) !important;
  }

  .mm-product-v58 .mm-product-v52-row:hover .mm-product-v52-media img {
    transform: scale(1.2) !important;
  }
}

@media (max-width:700px) {
  .mm-product-v58 .mm-product-v52-media img {
    transform: scale(1.08) !important;
  }

  .mm-product-v58 .mm-product-v52-row:hover .mm-product-v52-media img {
    transform: scale(1.1) !important;
  }
}


/* ===== SOURCE: v5.25.29 slight rounded corners on furniture photos ===== */
.mm-product-v58 .mm-product-v52-media {
  border-radius: 18px !important;
}

.mm-product-v58 .mm-product-v52-media img {
  border-radius: 18px !important;
}

/* Rounded corners also on brand/line cards for visual consistency */
.mm-furniture-v55-card-media,
.mm-furniture-v55-card-media img,
.mm-line-v56-card-media,
.mm-line-v56-card-media img {
  border-radius: 16px !important;
}

/* ===== SOURCE: v5.25.30 equipment subsections in cards ===== */
/* ==========================================================
   v5.25.30 — ATTREZZATURE: SOTTOSEZIONI VISIBILI NELLE CARD
   ========================================================== */

.mm-category-card-v52530 {
  min-height: 430px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

.mm-category-card-v52530 .mm-category-image {
  align-self: center !important;
}

.mm-category-card-v52530 h4 {
  text-align: left !important;
}

.mm-category-card-v52530 .mm-home-category-desc {
  min-height: 58px !important;
  margin-bottom: 15px !important;
  text-align: left !important;
}

.mm-category-subsections-v52530 {
  width: 100% !important;
  margin: 0 0 17px !important;
  padding-top: 13px !important;
  border-top: 1px solid #e4ebf4 !important;
}

.mm-category-subsections-label-v52530 {
  display: block !important;
  margin: 0 0 6px !important;
  color: #6a7d96 !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}

.mm-category-subsections-list-v52530 {
  display: grid !important;
  gap: 0 !important;
}

.mm-category-subsections-list-v52530 a {
  min-height: 29px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 5px 0 !important;
  border-bottom: 1px solid #edf2f7 !important;
  color: #17345d !important;
  font-size: .77rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  transition: color .18s ease, padding-left .18s ease !important;
}

.mm-category-subsections-list-v52530 a:last-child {
  border-bottom: 0 !important;
}

.mm-category-subsections-list-v52530 a > span:last-child {
  flex: 0 0 auto !important;
  color: #1260e8 !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}

.mm-category-subsections-list-v52530 a:hover {
  padding-left: 3px !important;
  color: #1260e8 !important;
}

.mm-category-main-link-v52530 {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding-top: 5px !important;
  text-align: left !important;
}

.mm-category-main-link-v52530 a {
  color: #1260e8 !important;
  font-size: .8rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

@media (max-width: 1000px) {
  .mm-category-card-v52530 {
    min-height: 405px !important;
  }
}

@media (max-width: 640px) {
  .mm-category-card-v52530 {
    min-height: 0 !important;
  }

  .mm-category-card-v52530 .mm-home-category-desc {
    min-height: 0 !important;
  }

  .mm-category-subsections-list-v52530 a {
    min-height: 34px !important;
    font-size: .82rem !important;
  }
}

/* ===== SOURCE: v5.25.31 actual equipment-area cards ===== */
/* ==========================================================
   v5.25.31 — /ATTREZZATURE/: SOTTOSEZIONI NELLE CARD REALI
   ========================================================== */

.mm-equipment-tile-v52531 {
  min-height: 520px !important;
  display: flex !important;
  flex-direction: column !important;
}

.mm-equipment-copy-v52531 {
  flex: 1 1 auto !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

.mm-equipment-description-v52531 {
  min-height: 54px !important;
  margin-bottom: 14px !important;
}

.mm-equipment-subsections-v52531 {
  width: 100% !important;
  margin: 0 0 15px !important;
  padding-top: 12px !important;
  border-top: 1px solid #e1eaf5 !important;
}

.mm-equipment-subsections-label-v52531 {
  display: block !important;
  margin-bottom: 5px !important;
  color: #687e99 !important;
  font-size: .67rem !important;
  font-weight: 800 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}

.mm-equipment-subsections-list-v52531 {
  width: 100% !important;
  display: grid !important;
  gap: 0 !important;
}

.mm-equipment-subsections-list-v52531 a {
  min-height: 29px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  padding: 5px 0 !important;
  border-bottom: 1px solid #edf2f7 !important;
  color: #17345d !important;
  font-size: .76rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

.mm-equipment-subsections-list-v52531 a:last-child {
  border-bottom: 0 !important;
}

.mm-equipment-subsections-list-v52531 a > span:last-child {
  flex: 0 0 auto !important;
  color: #1260e8 !important;
  font-size: .95rem !important;
}

.mm-equipment-subsections-list-v52531 a:hover {
  color: #1260e8 !important;
}

.mm-equipment-link-v52531 {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding-top: 3px !important;
}

@media (max-width: 1050px) {
  .mm-equipment-tile-v52531 {
    min-height: 500px !important;
  }
}

@media (max-width: 650px) {
  .mm-equipment-tile-v52531 {
    min-height: 0 !important;
  }

  .mm-equipment-description-v52531 {
    min-height: 0 !important;
  }

  .mm-equipment-subsections-list-v52531 a {
    min-height: 34px !important;
    font-size: .82rem !important;
  }
}

/* ===== SOURCE: v5.25.32 all equipment sections like furniture ===== */
/* ==========================================================
   v5.25.32 — TUTTE LE SOTTOSEZIONI COME ARREDAMENTO
   ========================================================== */

.mm-generic-solutions-v52532 {
  padding: 28px 24px 42px !important;
  background: #fff !important;
}

.mm-generic-solutions-inner-v52532 {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}

.mm-generic-solutions-head-v52532 {
  margin: 0 0 27px !important;
}

.mm-generic-solutions-eyebrow-v52532 {
  margin: 0 0 8px !important;
  color: #607794 !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

.mm-generic-solutions-head-v52532 h2 {
  margin: 0 0 8px !important;
  color: #071a3d !important;
  font-size: clamp(2rem, 3.3vw, 3rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.03em !important;
}

.mm-generic-solutions-head-v52532 > p:last-child {
  max-width: 790px !important;
  margin: 0 !important;
  color: #667c96 !important;
  font-size: .98rem !important;
  line-height: 1.65 !important;
}

/* Two wide horizontal cards, same logic as DentalArt / RossiCaws. */
.mm-generic-solutions-grid-v52532 {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  align-items: stretch !important;
}

.mm-generic-solution-card-v52532 {
  flex: 0 1 calc(50% - 10px) !important;
  width: calc(50% - 10px) !important;
  min-width: 0 !important;
  min-height: 290px !important;

  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;

  overflow: hidden !important;

  border: 1px solid #d9e6f4 !important;
  border-radius: 18px !important;

  background: #fff !important;
  box-shadow: 0 12px 30px rgba(7,26,61,.045) !important;

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease !important;
}

.mm-generic-solution-card-v52532:hover {
  transform: translateY(-3px) !important;
  border-color: #bdd5f3 !important;
  box-shadow: 0 22px 44px rgba(7,26,61,.085) !important;
}

/* If there is only one solution, keep it centered and generous. */
.mm-generic-solutions-grid-v52532.is-single {
  justify-content: center !important;
}

.mm-generic-solutions-grid-v52532.is-single .mm-generic-solution-card-v52532 {
  flex-basis: min(760px, 100%) !important;
  width: min(760px, 100%) !important;
}

/* If an odd number of cards is present, center the last one. */
.mm-generic-solution-card-v52532:last-child:nth-child(odd):not(:first-child) {
  margin-left: auto !important;
  margin-right: auto !important;
}

.mm-generic-solution-photo-v52532 {
  flex: 0 0 55% !important;
  width: 55% !important;
  min-height: 290px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  overflow: hidden !important;
  padding: 20px !important;

  background: #f7faff !important;
}

.mm-generic-solution-photo-v52532 img {
  display: block !important;

  width: auto !important;
  height: auto !important;
  max-width: 90% !important;
  max-height: 88% !important;

  margin: auto !important;
  padding: 0 !important;

  object-fit: contain !important;
  object-position: center center !important;

  border-radius: 14px !important;

  transition: transform .3s ease !important;
}

.mm-generic-solution-card-v52532:hover .mm-generic-solution-photo-v52532 img {
  transform: scale(1.025) !important;
}

.mm-generic-solution-copy-v52532 {
  flex: 1 1 auto !important;
  min-width: 0 !important;

  padding: 28px 25px !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
}

.mm-generic-solution-brand-v52532 {
  display: block !important;
  margin: 0 0 7px !important;
  color: #1260e8 !important;
  font-size: .7rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.mm-generic-solution-copy-v52532 h3 {
  width: 100% !important;
  margin: 0 0 10px !important;

  color: #071a3d !important;
  font-size: 1.4rem !important;
  line-height: 1.14 !important;
}

.mm-generic-solution-copy-v52532 h3 a {
  color: inherit !important;
  text-decoration: none !important;
}

.mm-generic-solution-copy-v52532 p {
  width: 100% !important;
  margin: 0 !important;

  color: #637993 !important;
  font-size: .9rem !important;
  line-height: 1.55 !important;
}

.mm-generic-solution-button-v52532 {
  min-width: 132px !important;
  min-height: 44px !important;

  margin-top: 20px !important;
  padding: 0 17px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;

  border-radius: 9px !important;

  background: #1260e8 !important;
  color: #fff !important;

  font-size: .84rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.mm-generic-solution-button-v52532 span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Responsive */
@media (max-width: 980px) {
  .mm-generic-solution-card-v52532 {
    flex-basis: 100% !important;
    width: 100% !important;
  }

  .mm-generic-solution-card-v52532:last-child:nth-child(odd):not(:first-child) {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 680px) {
  .mm-generic-solutions-v52532 {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .mm-generic-solutions-inner-v52532 {
    width: 100% !important;
  }

  .mm-generic-solution-card-v52532 {
    flex-direction: column !important;
  }

  .mm-generic-solution-photo-v52532 {
    width: 100% !important;
    flex-basis: auto !important;
    min-height: 230px !important;
    height: 230px !important;
  }

  .mm-generic-solution-copy-v52532 {
    padding: 22px 20px 24px !important;
  }
}
