/* --- Páginas CMS (info/*, aviso legal, categorías legales) --- */

.page-cms #wrapper .columns-container,
.page-cms #wrapper .columns-container.container {
  max-width: var(--mp-wrap);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 3vw, 32px);
  padding-right: clamp(16px, 3vw, 32px);
}

.page-cms #center-column {
  width: 100%;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.page-cms .breadcrumb__wrapper .container-md {
  max-width: var(--mp-wrap);
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 3vw, 32px);
  padding-right: clamp(16px, 3vw, 32px);
}

.mp-cms {
  margin-bottom: 2.5rem;
  width: 100%;
}

.mp-cms__header {
  padding-top: 0.35rem;
  margin-bottom: 1.25rem;
}

.page-cms .mp-page-title,
.page-cms .page-title-section {
  margin-bottom: 0;
}

.mp-cms__body {
  max-width: 72ch;
}

/* Evitar H1 duplicado si el editor CMS mete un título en el HTML */
.mp-cms__body h1 {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.35rem, 2.8vw, 1.85rem);
  line-height: 1.05;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0 0 1rem;
}

.mp-cms__hooks {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line);
}

.mp-cms__hooks:empty {
  display: none;
  margin: 0;
  padding: 0;
  border: 0;
}

.mp-cms__hooks .btn,
.mp-cms__hooks button {
  margin-top: 0.5rem;
}

/* --- Índice de categoría CMS --- */
.mp-cms--category {
  max-width: 640px;
}

.mp-cms__section + .mp-cms__section {
  margin-top: 2rem;
}

.mp-cms__section-title {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lime-dark);
  margin: 0 0 1rem;
}

.mp-cms__nav {
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1.5px solid var(--ink);
  background: var(--white);
}

.mp-cms__nav-item + .mp-cms__nav-item {
  border-top: 1px solid var(--line);
}

.mp-cms__nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  color: var(--ink);
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.mp-cms__nav-link:hover,
.mp-cms__nav-link:focus-visible {
  background: var(--concrete);
  color: var(--ink);
}

.mp-cms__nav-label {
  min-width: 0;
}

.mp-cms__nav-arrow {
  flex-shrink: 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 14px;
  color: var(--lime-dark);
  transition: transform 0.15s ease;
}

.mp-cms__nav-link:hover .mp-cms__nav-arrow,
.mp-cms__nav-link:focus-visible .mp-cms__nav-arrow {
  transform: translateX(3px);
}

@media (prefers-reduced-motion: reduce) {
  .mp-cms__nav-link,
  .mp-cms__nav-arrow {
    transition: none;
  }

  .mp-cms__nav-link:hover .mp-cms__nav-arrow,
  .mp-cms__nav-link:focus-visible .mp-cms__nav-arrow {
    transform: none;
  }
}

@media (max-width: 859px) {
  .mp-cms__body {
    max-width: none;
  }

  .mp-cms--category {
    max-width: none;
  }
}

/* --- Quiénes somos / Sobre nosotros --- */
.page-cms:has(.mp-about) .breadcrumb__wrapper {
  display: none;
}

.page-cms:has(.mp-about) #wrapper .columns-container,
.page-cms:has(.mp-about) #wrapper .columns-container.container,
.page-cms:has(.mp-about) #center-column,
.page-cms:has(.mp-about) .mp-cms,
.page-cms:has(.mp-about) .page-content {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.page-cms:has(.mp-about) .mp-cms {
  margin-bottom: 0;
}

.page-cms:has(.mp-about) #center-column {
  padding-top: 0;
  padding-bottom: 0;
}

.mp-about {
  --mp-about-container: var(--mp-wrap, 1400px);
  --mp-about-gutter: clamp(12px, 1.5vw, 16px);
  --mp-about-grey: #6b6b68;
  --mp-about-grey-light: #b9b9b6;
  --mp-about-card: #1a1a1a;
  --mp-about-card-border: #333;
  /* Alias para reutilizar clases mp-stores__* en el hero */
  --mp-stores-container: var(--mp-about-container);
  --mp-stores-gutter: var(--mp-about-gutter);
  --mp-stores-grey: var(--mp-about-grey);
  color: var(--ink);
  overflow-x: clip;
  background: var(--white);
}

/* Reset estilos rich-text del editor CMS dentro de mp-about */
.mp-about p,
.mp-about h1,
.mp-about h2,
.mp-about h3,
.mp-about ul,
.mp-about ol {
  margin-top: 0;
}

.mp-about img {
  max-width: 100%;
  height: auto;
}

.mp-about__wrap {
  width: 100%;
  max-width: var(--mp-about-container);
  margin-inline: auto;
  padding-inline: var(--mp-about-gutter);
  box-sizing: border-box;
}

/* Hero: mismas clases mp-stores__* que en nuestras-tiendas */
.mp-about > .mp-cms-block__wrap:first-child, .mp-about > .mp-stores__wrap:first-child{
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: max(var(--mp-stores-gutter), calc((100vw - var(--mp-stores-container)) / 2));
  padding-top: clamp(40px, 6vw, 72px);
  padding-bottom: clamp(36px, 5vw, 56px);
  background: var(--concrete);
  border-bottom: 1.5px solid var(--ink);
  box-sizing: border-box;
}

.mp-about > .mp-cms-block__wrap:first-child .mp-cms-block__hero-grid, .mp-about > .mp-stores__wrap:first-child .mp-stores__hero-grid{
  max-width: var(--mp-stores-container);
  margin: 0 auto;
}

/* Bloques alternos */
.mp-about__section {
  padding: clamp(48px, 7vw, 80px) 0;
  border-top: 1px solid var(--line);
}

.mp-about__section:nth-of-type(even) {
  background: linear-gradient(180deg, var(--white) 0%, #fafaf8 100%);
}

.mp-about__split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 5vw, 64px);
  align-items: center;
}

.mp-about__split--reverse .mp-about__figure {
  order: 2;
}

.mp-about__kicker {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--lime-dark);
  margin: 0 0 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.mp-about__kicker::before {
  content: '';
  width: 28px;
  height: 2px;
  background: var(--lime);
  flex-shrink: 0;
}

.mp-about__copy h2 {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.75rem, 3.5vw, 2.35rem);
  line-height: 0.95;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0 0 18px;
  text-align: left;
}

.mp-about__copy p {
  color: var(--mp-about-grey);
  font-size: 15.5px;
  line-height: 1.65;
  margin: 0 0 14px;
}

.mp-about__copy p:last-of-type {
  margin-bottom: 0;
}

.mp-about__copy a {
  color: var(--ink);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--lime);
  text-underline-offset: 3px;
}

.mp-about__copy a:hover,
.mp-about__copy a:focus-visible {
  color: var(--lime-dark);
}

.mp-about__note {
  margin-top: 20px !important;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #8a8a83 !important;
}

.mp-about__figure {
  min-height: 300px;
  background: var(--concrete);
  border: 1.5px solid var(--ink);
  overflow: hidden;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%);
}

.mp-about__figure img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 300px;
  object-fit: cover;
  margin: 0;
  border: 0;
}

.mp-about__figure--icon {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  background: var(--concrete);
  clip-path: none;
  box-shadow: 6px 6px 0 var(--lime);
}

.mp-about__figure--icon img {
  width: 80px;
  height: auto;
  min-height: 0;
  object-fit: contain;
}

.mp-about__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.mp-about__timeline {
  margin-top: 28px;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-left: 2px solid var(--lime);
  padding-left: 20px;
}

.mp-about__timeline-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}

.mp-about__timeline-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.mp-about__timeline-year {
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 600;
  font-size: 12px;
  background: var(--ink);
  color: var(--lime);
  padding: 5px 10px;
  flex-shrink: 0;
  letter-spacing: 0.06em;
}

.mp-about__timeline-text {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--mp-about-grey);
  padding-top: 3px;
}

.mp-about__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-top: 28px;
  border: 1.5px solid var(--ink);
  background: var(--concrete);
}

.mp-about__stat {
  padding: 22px 16px;
  border-right: 1.5px solid var(--ink);
  text-align: center;
}

.mp-about__stat:last-child {
  border-right: 0;
}

.mp-about__stat b {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(28px, 4vw, 38px);
  line-height: 1;
  display: block;
  color: var(--ink);
}

.mp-about__stat span {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  text-transform: uppercase;
  color: var(--mp-about-grey);
  letter-spacing: 0.06em;
  display: block;
  margin-top: 6px;
}

.mp-about__pay-list {
  margin-top: 24px;
  display: grid;
  gap: 10px;
}

.mp-about__pay-item {
  padding: 16px 18px;
  border: 1.5px solid var(--line);
  background: var(--white);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.mp-about__pay-item:hover {
  border-color: var(--ink);
  box-shadow: 4px 4px 0 var(--lime);
}

.mp-about__pay-item b {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  font-family: 'IBM Plex Mono', monospace;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.mp-about__pay-item span {
  display: block;
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--mp-about-grey);
}

/* Tiendas — banda oscura full-bleed */
.mp-about__stores {
  background: var(--ink);
  color: var(--white);
  padding: clamp(56px, 8vw, 88px) 0;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.mp-about__stores .mp-about__kicker {
  color: var(--lime);
}

.mp-about__stores .mp-about__kicker::before {
  background: var(--lime);
}

.mp-about__stores h2 {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.75rem, 3.5vw, 2.35rem);
  line-height: 0.95;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: var(--white);
  margin: 0 0 12px;
}

.mp-about__stores-lead {
  color: var(--mp-about-grey-light);
  max-width: 36rem;
  margin: 0 0 40px;
  font-size: 15.5px;
  line-height: 1.65;
}

.mp-about__stores-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.mp-about__store-card {
  background: var(--mp-about-card);
  border: 1.5px solid var(--mp-about-card-border);
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.mp-about__store-card:hover {
  transform: translateY(-3px);
  border-color: var(--lime);
}

.mp-about__store-media {
  height: 210px;
  overflow: hidden;
  border-bottom: 1px solid var(--mp-about-card-border);
  background: #242424;
}

.mp-about__store-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin: 0;
  border: 0;
  transition: transform 0.35s ease;
}

.mp-about__store-card:hover .mp-about__store-media img {
  transform: scale(1.04);
}

.mp-about__store-body {
  padding: 24px;
}

.mp-about__store-body h3 {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: 22px;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--white);
  margin: 0 0 14px;
  text-align: left;
}

.mp-about__store-detail {
  display: flex;
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid #2a2a2a;
  font-size: 13.5px;
  line-height: 1.45;
}

.mp-about__store-detail:last-of-type {
  border-bottom: 0;
}

.mp-about__store-label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 9px;
  text-transform: uppercase;
  color: var(--lime);
  width: 88px;
  flex-shrink: 0;
  letter-spacing: 0.06em;
  padding-top: 3px;
}

.mp-about__store-val {
  color: #d8d8d6;
}

.mp-about__store-val a {
  color: #d8d8d6;
  text-decoration: underline;
  text-decoration-color: var(--lime);
  text-underline-offset: 3px;
}

.mp-about__store-val a:hover,
.mp-about__store-val a:focus-visible {
  color: var(--white);
}

.mp-about__store-body .btn {
  margin-top: 18px;
  width: 100%;
}

/* CTA */
.mp-about__cta {
  background: var(--lime);
  padding: clamp(40px, 6vw, 56px) 0;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.mp-about__cta-inner {
  text-align: center;
}

.mp-about__cta h2 {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.75rem, 3.5vw, 2.1rem);
  line-height: 0.95;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0 0 10px;
}

.mp-about__cta p {
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink);
  margin: 0 0 24px;
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
}

.mp-about__cta a:not(.btn) {
  color: var(--ink);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 860px) {
  .mp-about__split,
  .mp-about__split--reverse {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .mp-about__split--reverse .mp-about__figure {
    order: 0;
  }

  .mp-about__figure--icon {
    min-height: 160px;
    box-shadow: 4px 4px 0 var(--lime);
  }

  .mp-about__stores-grid {
    grid-template-columns: 1fr;
  }

  .mp-about__stats {
    grid-template-columns: 1fr;
  }

  .mp-about__stat {
    border-right: 0;
    border-bottom: 1.5px solid var(--ink);
    padding: 18px 14px;
  }

  .mp-about__stat:last-child {
    border-bottom: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mp-about__store-card,
  .mp-about__store-media img,
  .mp-about__pay-item {
    transition: none;
  }

  .mp-about__store-card:hover {
    transform: none;
  }

  .mp-about__store-card:hover .mp-about__store-media img {
    transform: none;
  }
}

/* --- CMS Landing: mp-cms-block__* (canónico) · mp-stores__* (alias) --- */
.page-cms:has(.mp-cms-landing) .breadcrumb__wrapper,
.page-cms:has(.mp-stores) .breadcrumb__wrapper {
  display: none;
}

.page-cms:has(.mp-cms-landing) #wrapper .columns-container,
.page-cms:has(.mp-stores) #wrapper .columns-container,
.page-cms:has(.mp-cms-landing) #wrapper .columns-container.container,
.page-cms:has(.mp-stores) #wrapper .columns-container.container,
.page-cms:has(.mp-cms-landing) #center-column,
.page-cms:has(.mp-stores) #center-column,
.page-cms:has(.mp-cms-landing) .mp-cms,
.page-cms:has(.mp-stores) .mp-cms,
.page-cms:has(.mp-cms-landing) .page-content,
.page-cms:has(.mp-stores) .page-content {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.page-cms:has(.mp-cms-landing) .mp-cms,
.page-cms:has(.mp-stores) .mp-cms {
  margin-bottom: 0;
}

.page-cms:has(.mp-cms-landing) #center-column,
.page-cms:has(.mp-stores) #center-column {
  padding-top: 0;
  padding-bottom: 0;
}

.mp-cms-landing,
.mp-stores {
  --mp-cms-block-container: var(--mp-wrap, 1400px);
  --mp-cms-block-gutter: clamp(12px, 1.5vw, 16px);
  --mp-cms-block-grey: #6b6b68;
  --mp-stores-container: var(--mp-cms-block-container);
  --mp-stores-gutter: var(--mp-cms-block-gutter);
  --mp-stores-grey: var(--mp-cms-block-grey);
  color: var(--ink);
  overflow-x: clip;
  background: var(--white);
}

.mp-cms-landing p,
.mp-stores p,
.mp-cms-landing h1,
.mp-stores h1,
.mp-cms-landing h2,
.mp-stores h2,
.mp-cms-landing h3,
.mp-stores h3,
.mp-cms-landing ul,
.mp-stores ul,
.mp-stores ol {
  margin-top: 0;
}

.mp-cms-landing img,
.mp-stores img {
  max-width: 100%;
  height: auto;
}

.mp-cms-block__wrap, .mp-stores__wrap{
  width: 100%;
  max-width: var(--mp-stores-container);
  margin-inline: auto;
  padding-inline: var(--mp-stores-gutter);
  box-sizing: border-box;
}

.mp-cms-block__band, .mp-stores__band{
  width: 100vw;
  max-width: 100vw;
  margin-inline: calc(50% - 50vw);
  padding-inline: max(var(--mp-stores-gutter), calc((100vw - var(--mp-stores-container)) / 2));
  box-sizing: border-box;
}

.mp-cms-block__hero, .mp-stores__hero{
  background: var(--concrete);
  padding-block: clamp(40px, 6vw, 72px) clamp(36px, 5vw, 56px);
  border-bottom: 1.5px solid var(--ink);
}

.mp-cms-block__hero-grid, .mp-stores__hero-grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  gap: clamp(24px, 4vw, 56px);
  align-items: end;
}

.mp-cms-block__hero-main, .mp-stores__hero-main{
  min-width: 0;
}

.mp-cms-block__hero-aside, .mp-stores__hero-aside{
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.mp-cms-block__jump, .mp-stores__jump{
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--white);
  border-bottom: 1.5px solid var(--ink);
}

.mp-cms-block__jump-list, .mp-stores__jump-list{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 14px 0;
}

.mp-cms-block__jump-list a, .mp-stores__jump-list a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1.5px solid var(--ink);
  background: var(--white);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--ink);
  transition: background 0.2s ease, box-shadow 0.2s ease;
}

.mp-cms-block__jump-list a::before, .mp-stores__jump-list a::before{
  content: '\2014';
  width: auto;
  height: auto;
  background: none;
  clip-path: none;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  color: var(--lime-dark);
  flex-shrink: 0;
}

.mp-cms-block__jump-list a:hover,
.mp-stores__jump-list a:hover,
.mp-cms-block__jump-list a:focus-visible, .mp-stores__jump-list a:focus-visible{
  background: var(--lime);
  box-shadow: 3px 3px 0 var(--ink);
}

.mp-cms-block__kicker, .mp-stores__kicker{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lime-dark);
}

.mp-cms-block__kicker::before, .mp-stores__kicker::before{
  content: '';
  display: block;
  width: 18px;
  height: 2px;
  background: var(--lime);
}

.mp-cms-block__title, .mp-stores__title{
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(2rem, 5vw, 3.25rem);
  line-height: 0.95;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0 0 16px;
  max-width: none;
}

.mp-cms-block__lead, .mp-stores__lead{
  margin: 0;
  max-width: 42rem;
  font-size: clamp(15px, 1.6vw, 16.5px);
  line-height: 1.65;
  color: var(--mp-stores-grey);
}

.mp-cms-block__stats, .mp-stores__stats{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1.5px solid var(--ink);
  background: var(--white);
  width: 100%;
  box-shadow: 6px 6px 0 var(--lime);
}

.mp-cms-block__stat, .mp-stores__stat{
  padding: 16px 14px;
  text-align: center;
  border-right: 1.5px solid var(--ink);
}

.mp-cms-block__stat:last-child, .mp-stores__stat:last-child{
  border-right: 0;
}

.mp-cms-block__stat b, .mp-stores__stat b{
  display: block;
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.5rem, 3vw, 1.85rem);
  line-height: 1;
  color: var(--ink);
}

.mp-cms-block__stat span, .mp-stores__stat span{
  display: block;
  margin-top: 6px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mp-stores-grey);
  line-height: 1.35;
}

.mp-cms-block__list, .mp-stores__list{
  display: flex;
  flex-direction: column;
  width: 100%;
  box-sizing: border-box;
}

/* BO/TinyMCE a veces quita .mp-*__wrap por sección — el listado pasa a ser el contenedor */
.mp-cms-block__list:not(:has(> .mp-cms-block__wrap)),
.mp-stores__list:not(:has(> .mp-stores__wrap)) {
  max-width: var(--mp-stores-container);
  margin-inline: auto;
  padding-inline: var(--mp-stores-gutter);
}

@media (min-width: 861px) {
  .mp-cms-block__list:not(:has(> .mp-cms-block__wrap)),
  .mp-stores__list:not(:has(> .mp-stores__wrap)) {
    padding-inline: 0;
  }
}

.mp-cms-block__list:not(:has(> .mp-cms-block__wrap)) > .mp-cms-block__section-layout,
.mp-cms-block__list:not(:has(> .mp-cms-block__wrap)) > .mp-cms-block__store-layout,
.mp-cms-block__list:not(:has(> .mp-cms-block__wrap)) > .mp-cms-block__spotlight,
.mp-stores__list:not(:has(> .mp-stores__wrap)) > .mp-stores__store-layout {
  padding-bottom: clamp(40px, 6vw, 64px);
  border-bottom: 1px solid var(--line);
}

.mp-cms-block__list:not(:has(> .mp-cms-block__wrap)) > .mp-cms-block__section-layout:last-of-type,
.mp-cms-block__list:not(:has(> .mp-cms-block__wrap)) > .mp-cms-block__store-layout:last-of-type,
.mp-cms-block__list:not(:has(> .mp-cms-block__wrap)) > .mp-cms-block__spotlight:last-of-type,
.mp-stores__list:not(:has(> .mp-stores__wrap)) > .mp-stores__store-layout:last-of-type {
  border-bottom: 0;
  padding-bottom: 0;
}

.mp-cms-block__list:not(:has(> .mp-cms-block__wrap)) > h2:not(:first-of-type),
.mp-stores__list:not(:has(> .mp-stores__wrap)) > h2:not(:first-of-type) {
  padding-top: clamp(40px, 6vw, 64px);
}

.mp-cms-block__store, .mp-stores__store{
  padding: clamp(40px, 6vw, 64px) 0;
  border-bottom: 1px solid var(--line);
}

.mp-cms-block__store--alt, .mp-stores__store--alt{
  background: var(--white);
}

.mp-cms-block__store-head, .mp-stores__store-head{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  margin-bottom: clamp(20px, 3vw, 28px);
  padding-bottom: 16px;
  border-bottom: 1.5px solid var(--ink);
}

.mp-cms-block__store-head .tag, .mp-stores__store-head .tag{
  margin-bottom: 0;
}

.mp-cms-block__store-head h2, .mp-stores__store-head h2{
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.65rem, 3.5vw, 2.25rem);
  line-height: 0.98;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
}

/* Layout nuevo: galería + panel lateral (section-layout = genérico CMS) */
.mp-cms-block__section-layout,
.mp-cms-block__store-layout, .mp-stores__store-layout{
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr);
  gap: clamp(20px, 3vw, 32px);
  align-items: start;
}

.mp-cms-block__store--alt .mp-cms-block__store-media, .mp-stores__store--alt .mp-stores__store-media{
  order: 2;
}

.mp-cms-block__store--alt .mp-cms-block__store-panel, .mp-stores__store--alt .mp-stores__store-panel{
  order: 1;
}

.mp-cms-block__section-media,
.mp-cms-block__store-media,
.mp-stores__store-media,
.mp-cms-block__section-panel,
.mp-cms-block__store-panel, .mp-stores__store-panel{
  min-width: 0;
}

/* Icono ilustrativo — DEPRECATED: usar mp-cms-block__spotlight */
.mp-cms-block__section-media--icon,
.mp-cms-block__store-media--icon {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(160px, 24vw, 220px);
  padding: clamp(24px, 4vw, 40px);
  border: 1.5px solid var(--ink);
  background: var(--concrete);
  box-shadow: 6px 6px 0 var(--lime);
}

.mp-cms-block__section-media--icon img,
.mp-cms-block__store-media--icon img {
  width: clamp(56px, 10vw, 70px);
  height: auto;
  display: block;
}

/* Bloque icono + contenido (envío, pagos…) — icono compacto, texto ocupa el resto */
.mp-cms-block__spotlight {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(16px, 2.5vw, 28px);
  align-items: start;
}

.mp-cms-block__spotlight-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(72px, 9vw, 88px);
  height: clamp(72px, 9vw, 88px);
  padding: 14px;
  border: 1.5px solid var(--ink);
  background: var(--concrete);
  box-shadow: 4px 4px 0 var(--lime);
  box-sizing: border-box;
  flex-shrink: 0;
}

.mp-cms-block__spotlight-mark img {
  width: clamp(40px, 5.5vw, 52px);
  height: auto;
  display: block;
}

.mp-cms-block__spotlight-content {
  min-width: 0;
}

.mp-cms-block__spotlight-content > .mp-cms-block__info,
.mp-cms-block__spotlight-content > .mp-stores__info {
  border: 1.5px solid var(--ink);
  background: var(--white);
  padding: clamp(20px, 3vw, 28px);
}

.mp-cms-block__chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 6px 0 16px;
}

.mp-cms-block__chip-row .tag {
  margin: 0;
}

/* Panel de texto suelto en listado (sin layout de 2 columnas) */
.mp-cms-block__list > .mp-cms-block__store-panel,
.mp-cms-block__list > .mp-cms-block__section-panel,
.mp-stores__list > .mp-stores__store-panel {
  max-width: var(--mp-stores-container);
  margin-inline: auto;
  padding-bottom: clamp(40px, 6vw, 64px);
  border-bottom: 1px solid var(--line);
}

.mp-cms-block__store-panel, .mp-stores__store-panel{
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Layout legacy CMS: mapa+info arriba, galería abajo */
.mp-cms-block__store-grid, .mp-stores__store-grid{
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 20px;
  align-items: stretch;
  margin-bottom: 20px;
}

.mp-cms-block__map, .mp-stores__map{
  min-height: 220px;
  border: 1.5px solid var(--ink);
  background: var(--white);
  box-shadow: 6px 6px 0 var(--lime);
  overflow: hidden;
}

.mp-cms-block__store--alt .mp-cms-block__map, .mp-stores__store--alt .mp-stores__map{
  background: var(--white);
}

.mp-cms-block__map iframe, .mp-stores__map iframe{
  display: block;
  width: 100%;
  height: 100%;
  min-height: 220px;
  border: 0;
}

.mp-cms-block__info, .mp-stores__info{
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 22px 22px 20px;
  border: 1.5px solid var(--ink);
  background: var(--white);
}

.mp-cms-block__store--alt .mp-cms-block__info, .mp-stores__store--alt .mp-stores__info{
  background: var(--white);
}

.mp-cms-block__detail, .mp-stores__detail{
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.mp-cms-block__detail:last-of-type, .mp-stores__detail:last-of-type{
  border-bottom: 0;
  padding-bottom: 0;
}

.mp-cms-block__label, .mp-stores__label{
  font-family: 'IBM Plex Mono', monospace;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--lime-dark);
}

.mp-cms-block__val, .mp-stores__val{
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink);
}

.mp-cms-block__maps-btn, .mp-stores__maps-btn{
  margin-top: auto;
  padding-top: 18px;
  width: 100%;
}

/* --- CTAs contextuales (maps / online / contacto) --- */
.mp-cms-block__btn, .mp-stores__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 14px 18px;
  border: 1.5px solid var(--ink);
  border-radius: 0;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.mp-cms-block__btn svg, .mp-stores__btn svg{
  flex-shrink: 0;
}

.mp-cms-block__info-actions, .mp-stores__info-actions{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: auto;
  padding-top: 18px;
}

/* Texto largo en paneles (quienes-somos) */
.mp-cms-block__info > p, .mp-stores__info > p{
  font-size: 15px;
  line-height: 1.65;
  color: var(--mp-stores-grey);
  margin: 0 0 14px;
}

.mp-cms-block__info > p:last-child, .mp-stores__info > p:last-child{
  margin-bottom: 0;
}

.mp-cms-block__info > p a, .mp-stores__info > p a{
  color: var(--ink);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--lime);
  text-underline-offset: 3px;
}

.mp-cms-block__info .tag, .mp-stores__info .tag{
  margin: 0 8px 8px 0;
}

.mp-stores__cta-panel a:not(.mp-stores__btn) {
  color: var(--lime);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mp-cms-block__btn svg, .mp-stores__btn svg{
  display: none !important;
}

/* Cómo llegar — acción de navegación, no CTA de compra */
.mp-cms-block__btn--maps, .mp-stores__btn--maps{
  background: var(--white);
  color: var(--ink);
  box-shadow: 4px 4px 0 var(--lime);
}

.mp-cms-block__btn--maps::before, .mp-stores__btn--maps::before{
  content: '';
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}

.mp-cms-block__btn--maps:hover,
.mp-stores__btn--maps:hover,
.mp-cms-block__btn--maps:focus-visible, .mp-stores__btn--maps:focus-visible{
  background: var(--ink);
  color: var(--white);
  box-shadow: 4px 4px 0 var(--lime);
  transform: translateY(-1px);
}

/* Llamar a la tienda — secundario compacto */
.mp-cms-block__btn--phone, .mp-stores__btn--phone{
  background: var(--concrete);
  color: var(--ink);
  border-color: var(--line);
  box-shadow: none;
  font-size: 11px;
}

.mp-cms-block__btn--phone::before, .mp-stores__btn--phone::before{
  content: '';
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}

.mp-cms-block__btn--phone:hover,
.mp-stores__btn--phone:hover,
.mp-cms-block__btn--phone:focus-visible, .mp-stores__btn--phone:focus-visible{
  background: var(--white);
  border-color: var(--ink);
  color: var(--ink);
}

/* Tienda online — CTA principal del bloque final */
.mp-cms-block__btn--online, .mp-stores__btn--online{
  background: var(--ink);
  color: var(--white);
  border-color: var(--ink);
  box-shadow: 5px 5px 0 rgba(16, 16, 16, 0.18);
  min-width: min(100%, 280px);
  width: auto;
}

.mp-cms-block__btn--online:hover,
.mp-stores__btn--online:hover,
.mp-cms-block__btn--online:focus-visible, .mp-stores__btn--online:focus-visible{
  background: #2a2a2a;
  color: var(--white);
  transform: translateY(-2px);
  box-shadow: 6px 6px 0 rgba(16, 16, 16, 0.22);
}

/* Contacto — contraste sobre banda lima */
.mp-cms-block__btn--contact, .mp-stores__btn--contact{
  background: transparent;
  color: var(--ink);
  border: 2px solid var(--ink);
  min-width: min(100%, 240px);
  width: auto;
}

.mp-cms-block__btn--contact:hover,
.mp-stores__btn--contact:hover,
.mp-cms-block__btn--contact:focus-visible, .mp-stores__btn--contact:focus-visible{
  background: var(--ink);
  color: var(--white);
}

.mp-cms-block__gallery, .mp-stores__gallery{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.mp-cms-block__store-grid + .mp-cms-block__gallery, .mp-stores__store-grid + .mp-stores__gallery{
  margin-top: 0;
}

.mp-cms-block__photo,
.mp-stores__photo,
a.mp-cms-block__photo, a.mp-stores__photo{
  display: block;
  overflow: hidden;
  border: 1.5px solid var(--ink);
  background: var(--white);
  aspect-ratio: 4 / 3;
  color: inherit;
  text-decoration: none;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.mp-cms-block__photo--wide, .mp-stores__photo--wide{
  grid-column: span 2;
}

.mp-cms-block__photo img, .mp-stores__photo img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin: 0;
  border: 0;
  transition: transform 0.35s ease;
}

.mp-cms-block__photo:hover,
.mp-stores__photo:hover,
.mp-cms-block__photo:focus-visible, .mp-stores__photo:focus-visible{
  box-shadow: 4px 4px 0 var(--lime);
  transform: translateY(-2px);
}

.mp-cms-block__photo:hover img,
.mp-stores__photo:hover img,
.mp-cms-block__photo:focus-visible img, .mp-stores__photo:focus-visible img{
  transform: scale(1.03);
}

.mp-cms-block__cta, .mp-stores__cta{
  background: transparent;
  padding: clamp(48px, 7vw, 72px) 0;
  width: 100%;
  max-width: none;
  margin: 0;
}

.mp-cms-block__cta-inner, .mp-stores__cta-inner{
  display: block;
  max-width: var(--mp-stores-container);
  margin: 0 auto;
  padding-left: clamp(16px, 3vw, 32px);
  padding-right: clamp(16px, 3vw, 32px);
}

.mp-cms-block__cta-panel, .mp-stores__cta-panel{
  background: var(--ink);
  border: 1.5px solid var(--ink);
  box-shadow: 8px 8px 0 var(--lime);
  padding: clamp(28px, 4vw, 40px);
  color: var(--white);
}

.mp-cms-block__cta-kicker, .mp-stores__cta-kicker{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lime);
}

.mp-cms-block__cta-kicker::before, .mp-stores__cta-kicker::before{
  content: '';
  width: 22px;
  height: 2px;
  background: var(--lime);
}

.mp-cms-block__cta-panel h2,
.mp-stores__cta-panel h2,
.mp-cms-block__cta-copy h2, .mp-stores__cta-copy h2{
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.75rem, 3.5vw, 2.35rem);
  line-height: 0.95;
  text-transform: uppercase;
  color: var(--white);
  margin: 0 0 12px;
}

.mp-cms-block__cta-lead,
.mp-stores__cta-lead,
.mp-cms-block__cta-panel p,
.mp-stores__cta-panel p,
.mp-cms-block__cta-copy p, .mp-stores__cta-copy p{
  font-size: 15px;
  line-height: 1.6;
  color: #b9b9b6;
  margin: 0 0 28px;
  max-width: 40rem;
}

.mp-cms-block__cta-cards, .mp-stores__cta-cards{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.mp-cms-block__cta-card, .mp-stores__cta-card{
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 100%;
  padding: 22px 20px;
  border: 1.5px solid #333;
  background: #1a1a1a;
  text-decoration: none;
  color: var(--white);
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.mp-cms-block__cta-card:hover,
.mp-stores__cta-card:hover,
.mp-cms-block__cta-card:focus-visible, .mp-stores__cta-card:focus-visible{
  border-color: var(--lime);
  transform: translateY(-2px);
  box-shadow: 4px 4px 0 rgba(160, 197, 66, 0.35);
}

.mp-cms-block__cta-card-head, .mp-stores__cta-card-head{
  display: flex;
  align-items: center;
  gap: 12px;
}

.mp-cms-block__cta-card-icon, .mp-stores__cta-card-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  border: 1.5px solid #333;
  background: #242424;
  color: var(--lime);
}

.mp-cms-block__cta-card-title, .mp-stores__cta-card-title{
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--white);
}

.mp-cms-block__cta-card-text, .mp-stores__cta-card-text{
  font-size: 13px;
  line-height: 1.5;
  color: #b9b9b6;
  margin: 0;
}

.mp-cms-block__cta-card-cta, .mp-stores__cta-card-cta{
  margin-top: auto;
  padding-top: 6px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lime);
}

/* Legacy: bloque anterior con botones sueltos */
.mp-cms-block__cta-copy, .mp-stores__cta-copy{
  min-width: 0;
}

.mp-cms-block__cta h2, .mp-stores__cta h2{
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.75rem, 3.5vw, 2.1rem);
  line-height: 0.95;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0 0 10px;
}

.mp-cms-block__cta p, .mp-stores__cta p{
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink);
  margin: 0;
  max-width: 36rem;
}

.mp-cms-block__cta-actions, .mp-stores__cta-actions{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
  align-items: center;
  min-width: min(100%, 520px);
}

@media (max-width: 860px) {
.mp-cms-block__hero-grid, .mp-stores__hero-grid{
    grid-template-columns: 1fr;
  }

.mp-cms-block__hero-main .mp-cms-block__lead, .mp-stores__hero-main .mp-stores__lead{
    margin-bottom: 24px;
  }

.mp-cms-block__hero-aside, .mp-stores__hero-aside{
    justify-content: flex-start;
  }

.mp-cms-block__stats, .mp-stores__stats{
    grid-template-columns: 1fr;
    box-shadow: 4px 4px 0 var(--lime);
  }

.mp-cms-block__stat, .mp-stores__stat{
    border-right: 0;
    border-bottom: 1.5px solid var(--ink);
  }

.mp-cms-block__stat:last-child, .mp-stores__stat:last-child{
    border-bottom: 0;
  }

.mp-cms-block__jump-list, .mp-stores__jump-list{
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 12px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

.mp-cms-block__jump-list::-webkit-scrollbar, .mp-stores__jump-list::-webkit-scrollbar{
    display: none;
  }

.mp-cms-block__jump-list a, .mp-stores__jump-list a{
    flex-shrink: 0;
  }

  .mp-cms-block__section-layout,
  .mp-cms-block__store-layout,
  .mp-stores__store-layout,
  .mp-cms-block__store-grid, .mp-stores__store-grid{
    grid-template-columns: 1fr;
  }

  .mp-cms-block__store--alt .mp-cms-block__store-media,
  .mp-stores__store--alt .mp-stores__store-media,
.mp-cms-block__store--alt .mp-cms-block__store-panel, .mp-stores__store--alt .mp-stores__store-panel{
    order: unset;
  }

.mp-cms-block__map, .mp-stores__map{
    box-shadow: 4px 4px 0 var(--lime);
  }

.mp-cms-block__gallery, .mp-stores__gallery{
    grid-template-columns: 1fr;
  }

.mp-cms-block__photo--wide, .mp-stores__photo--wide{
    grid-column: span 1;
  }

.mp-cms-block__cta-inner, .mp-stores__cta-inner{
    padding-left: clamp(16px, 3vw, 32px);
    padding-right: clamp(16px, 3vw, 32px);
  }

.mp-cms-block__cta-panel, .mp-stores__cta-panel{
    box-shadow: 5px 5px 0 var(--lime);
  }

.mp-cms-block__cta-cards, .mp-stores__cta-cards{
    grid-template-columns: 1fr;
  }

.mp-cms-block__shop-cta-btn, .mp-stores__shop-cta-btn{
    width: 100%;
    justify-content: center;
    align-self: stretch;
  }

.mp-cms-block__shop-cta-card, .mp-stores__shop-cta-card{
    grid-template-columns: 1fr;
    box-shadow: 5px 5px 0 var(--lime);
  }

.mp-cms-block__shop-cta-media, .mp-stores__shop-cta-media{
    order: -1;
    min-height: clamp(200px, 42vw, 280px);
  }

.mp-cms-block__shop-cta-media::before, .mp-stores__shop-cta-media::before{
    background: linear-gradient(180deg, transparent 35%, rgba(16, 16, 16, 0.55) 100%);
  }

.mp-cms-block__shop-cta-copy, .mp-stores__shop-cta-copy{
    padding: clamp(24px, 5vw, 32px);
  }

.mp-cms-block__cta-actions, .mp-stores__cta-actions{
    flex-direction: column;
    align-items: stretch;
    min-width: 0;
  }

  .mp-cms-block__cta-actions .btn,
  .mp-stores__cta-actions .btn,
.mp-cms-block__cta-actions .mp-cms-block__btn, .mp-stores__cta-actions .mp-stores__btn{
    width: 100%;
  }
}

@media (max-width: 520px) {
.mp-cms-block__gallery, .mp-stores__gallery{
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mp-cms-block__photo,
  .mp-stores__photo,
  .mp-cms-block__photo img,
  .mp-stores__photo img,
  .mp-cms-block__jump-list a,
  .mp-stores__jump-list a,
.mp-cms-block__cta-card, .mp-stores__cta-card{
    transition: none;
  }

  .mp-cms-block__photo:hover,
  .mp-stores__photo:hover,
.mp-cms-block__photo:focus-visible, .mp-stores__photo:focus-visible{
    transform: none;
  }

  .mp-cms-block__photo:hover img,
  .mp-stores__photo:hover img,
.mp-cms-block__photo:focus-visible img, .mp-stores__photo:focus-visible img{
    transform: none;
  }

.mp-cms-block__shop-cta-btn, .mp-stores__shop-cta-btn{
    transition: none;
  }

  .mp-cms-block__shop-cta-btn:hover,
  .mp-stores__shop-cta-btn:hover,
.mp-cms-block__shop-cta-btn:focus-visible, .mp-stores__shop-cta-btn:focus-visible{
    transform: none;
  }
}

/* --- CTA tienda online (fin de página) — split card --- */
.mp-cms-block__shop-cta,
.mp-stores__shop-cta,
.mp-cms-landing > .mp-cms-block__wrap.mp-cms-block__shop-cta,
.mp-cms-landing > .mp-stores__wrap.mp-stores__shop-cta,
.mp-stores > .mp-stores__wrap.mp-stores__shop-cta {
  padding-block: clamp(40px, 6vw, 72px);
  background: var(--white);
  border-top: 1px solid var(--line);
}

.mp-cms-block__shop-cta-card, .mp-stores__shop-cta-card{
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  align-items: stretch;
  border: 1.5px solid var(--ink);
  background: var(--ink);
  box-shadow: 8px 8px 0 var(--lime);
  overflow: hidden;
}

.mp-cms-block__shop-cta-copy, .mp-stores__shop-cta-copy{
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  padding: clamp(28px, 4.5vw, 44px) clamp(24px, 4vw, 40px);
  color: var(--white);
  z-index: 1;
}

.mp-cms-block__shop-cta-kicker, .mp-stores__shop-cta-kicker{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lime);
}

.mp-cms-block__shop-cta-kicker::before, .mp-stores__shop-cta-kicker::before{
  content: '';
  width: 22px;
  height: 2px;
  background: var(--lime);
}

.mp-cms-block__shop-cta h2, .mp-stores__shop-cta h2{
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(2rem, 4.5vw, 3.15rem);
  line-height: 0.95;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: var(--white);
  margin: 0 0 14px;
  max-width: 14ch;
}

.mp-cms-block__shop-cta-lead, .mp-stores__shop-cta-lead{
  margin: 0 0 16px;
  max-width: 36rem;
  font-size: clamp(15px, 1.6vw, 16.5px);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.82);
}

.mp-cms-block__shop-cta-lead a,
.mp-stores__shop-cta-lead a {
  color: var(--lime);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(160, 197, 66, 0.5);
  text-underline-offset: 3px;
}

.mp-cms-block__shop-cta-lead a:hover,
.mp-cms-block__shop-cta-lead a:focus-visible,
.mp-stores__shop-cta-lead a:hover,
.mp-stores__shop-cta-lead a:focus-visible {
  color: var(--white);
  text-decoration-color: var(--lime);
}

.mp-cms-block__shop-cta-trust, .mp-stores__shop-cta-trust{
  margin: 0 0 28px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.55);
}

.mp-cms-block__shop-cta-btn, .mp-stores__shop-cta-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  gap: 12px;
  padding: 16px 28px;
  background: var(--white);
  color: var(--ink);
  border: 2px solid var(--ink);
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: 5px 5px 0 var(--lime);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.mp-cms-block__shop-cta-btn::after, .mp-stores__shop-cta-btn::after{
  content: '';
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}

.mp-cms-block__shop-cta-btn:hover,
.mp-stores__shop-cta-btn:hover,
.mp-cms-block__shop-cta-btn:focus-visible, .mp-stores__shop-cta-btn:focus-visible{
  background: var(--white);
  color: var(--ink);
  transform: translate(-1px, -1px);
  box-shadow: 6px 6px 0 var(--lime);
}

.mp-cms-block__shop-cta-media, .mp-stores__shop-cta-media{
  position: relative;
  min-height: 100%;
  min-width: 0;
}

.mp-cms-block__shop-cta-media::before, .mp-stores__shop-cta-media::before{
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, var(--ink) 0%, rgba(16, 16, 16, 0.72) 18%, rgba(16, 16, 16, 0.15) 48%, transparent 72%);
  pointer-events: none;
}

.mp-cms-block__shop-cta-media img, .mp-stores__shop-cta-media img{
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(260px, 36vw, 380px);
  object-fit: cover;
  object-position: center;
}

/* CTA del template gana sobre duplicado del BO */
.mp-cms-landing .mp-cms-block__wrap.mp-cms-block__shop-cta:not(:last-child),
.mp-cms-landing .mp-stores__wrap.mp-stores__shop-cta:not(:last-child),
.mp-stores .mp-stores__wrap.mp-stores__shop-cta:not(:last-child) {
  display: none !important;
}

/* CTA antiguo — ocultar si queda en el HTML del BO */
.mp-cms-landing > .mp-cms-block__wrap.mp-cms-block__cta-inner,
.mp-cms-landing > .mp-stores__wrap.mp-stores__cta-inner,
.mp-stores > .mp-stores__wrap.mp-stores__cta-inner,
.mp-cms-landing > .mp-cms-block__wrap:has(> .mp-cms-block__cta-panel):not(.mp-cms-block__cta),
.mp-cms-landing > .mp-stores__wrap:has(> .mp-stores__cta-panel):not(.mp-stores__cta),
.mp-stores > .mp-stores__wrap:has(> .mp-stores__cta-panel):not(.mp-stores__cta),
.mp-cms-landing > .mp-cms-block__wrap:has(> h2:first-child):not(.mp-cms-block__shop-cta):not(:first-child):not(:has(> .mp-cms-block__jump-list)):not(:has(> .mp-cms-block__store-layout)):not(:has(> .mp-cms-block__section-layout)),
.mp-cms-landing > .mp-stores__wrap:has(> h2:first-child):not(.mp-stores__shop-cta):not(:first-child):not(:has(> .mp-stores__jump-list)):not(:has(> .mp-stores__store-layout)),
.mp-stores > .mp-stores__wrap:has(> h2:first-child):not(.mp-stores__shop-cta):not(:first-child):not(:has(> .mp-stores__jump-list)):not(:has(> .mp-stores__store-layout)),
.mp-cms-landing .mp-about__cta {
  display: none;
}

/* --- Fallback: HTML pegado desde el BO sin wrappers semánticos --- */

/* Bandas full-bleed (hero, jump) */
.mp-cms-landing > .mp-cms-block__wrap:first-child,
.mp-cms-landing > .mp-stores__wrap:first-child,
.mp-cms-landing > .mp-cms-block__wrap:has(.mp-cms-block__jump-list),
.mp-cms-landing > .mp-stores__wrap:has(.mp-stores__jump-list),
.mp-stores > .mp-stores__wrap:first-child,
.mp-stores > .mp-stores__wrap:has(.mp-stores__jump-list),
.mp-cms-block__hero,
.mp-stores__hero,
.mp-cms-block__jump,
.mp-stores__jump {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: max(var(--mp-stores-gutter), calc((100vw - var(--mp-stores-container)) / 2));
  box-sizing: border-box;
}

/* Hero sin <section class="mp-*__hero"> */
.mp-cms-landing > .mp-cms-block__wrap:first-child,
.mp-cms-landing > .mp-stores__wrap:first-child,
.mp-stores > .mp-stores__wrap:first-child,
.mp-cms-block__hero,
.mp-stores__hero {
  max-width: none;
  padding-top: clamp(40px, 6vw, 72px);
  padding-bottom: clamp(36px, 5vw, 56px);
  background: var(--concrete);
  border-bottom: 1.5px solid var(--ink);
}

.mp-cms-landing > .mp-cms-block__wrap:first-child .mp-cms-block__hero-grid,
.mp-cms-landing > .mp-stores__wrap:first-child .mp-stores__hero-grid,
.mp-stores > .mp-stores__wrap:first-child .mp-stores__hero-grid {
  max-width: var(--mp-stores-container);
  margin: 0 auto;
}

/* Stats como hijo directo del hero-grid (sin hero-aside) */
.mp-cms-block__hero-grid > .mp-cms-block__stats,
.mp-stores__hero-grid > .mp-stores__stats {
  align-self: end;
}

/* Jump nav sin <nav class="mp-*__jump"> */
.mp-cms-landing > .mp-cms-block__wrap:has(.mp-cms-block__jump-list),
.mp-cms-landing > .mp-stores__wrap:has(.mp-stores__jump-list),
.mp-stores > .mp-stores__wrap:has(.mp-stores__jump-list),
.mp-cms-block__jump,
.mp-stores__jump {
  position: sticky;
  top: 0;
  z-index: 20;
  max-width: none;
  background: var(--white);
  border-bottom: 1.5px solid var(--ink);
}

.mp-cms-landing > .mp-cms-block__wrap:has(.mp-cms-block__jump-list) .mp-cms-block__jump-list,
.mp-cms-landing > .mp-stores__wrap:has(.mp-stores__jump-list) .mp-stores__jump-list,
.mp-stores > .mp-stores__wrap:has(.mp-stores__jump-list) .mp-stores__jump-list {
  max-width: var(--mp-stores-container);
  margin: 0 auto;
}

/* Tiendas como .mp-stores__wrap sueltos dentro del listado */
.mp-cms-block__list > .mp-cms-block__wrap, .mp-stores__list > .mp-stores__wrap{
  padding-top: clamp(40px, 6vw, 64px);
  padding-bottom: clamp(40px, 6vw, 64px);
  border-bottom: 1px solid var(--line);
  background: var(--white);
}

@media (min-width: 861px) {
.mp-cms-block__list > .mp-cms-block__wrap, .mp-stores__list > .mp-stores__wrap{
    padding-inline: 0;
  }
}

.mp-cms-block__list > .mp-cms-block__wrap:nth-child(even), .mp-stores__list > .mp-stores__wrap:nth-child(even){
  background: var(--white);
}

.mp-cms-block__list > .mp-cms-block__wrap > .tag,
.mp-stores__list > .mp-stores__wrap > .tag,
.mp-cms-block__store-head .tag, .mp-stores__store-head .tag{
  display: none;
}

/* Títulos — h2 sueltos en listado (BO/TinyMCE) o dentro de .mp-stores__wrap */
.mp-cms-block__list > h2,
.mp-stores__list > h2,
.mp-cms-block__list > .mp-cms-block__wrap > h2, .mp-stores__list > .mp-stores__wrap > h2{
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.65rem, 3.5vw, 2.25rem);
  line-height: 0.98;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0 0 clamp(20px, 3vw, 28px);
  padding-bottom: 16px;
  border-bottom: 1.5px solid var(--ink);
  scroll-margin-top: calc(var(--mp-header-height, 140px) + 52px);
}

.mp-cms-block__list > h2:first-of-type,
.mp-stores__list > h2:first-of-type,
.mp-cms-block__list > .mp-cms-block__wrap:first-child > h2, .mp-stores__list > .mp-stores__wrap:first-child > h2{
  padding-top: clamp(8px, 1.5vw, 16px);
}

/* --- Grid de tarjetas (landings SEO: categorías, servicios…) --- */
.mp-cms-block__cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
  gap: clamp(14px, 2vw, 20px);
}

.mp-cms-block__card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
  padding: clamp(20px, 3vw, 26px);
  border: 1.5px solid var(--ink);
  background: var(--white);
  box-shadow: 4px 4px 0 var(--lime);
}

.mp-cms-block__card h3 {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.15rem, 2.2vw, 1.35rem);
  line-height: 1.05;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
}

.mp-cms-block__card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--mp-stores-grey);
}

.mp-cms-block__card p + p {
  margin-top: 10px;
}

.mp-cms-block__card a {
  color: var(--lime-dark);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(124, 154, 50, 0.45);
  text-underline-offset: 3px;
}

.mp-cms-block__card a:hover,
.mp-cms-block__card a:focus-visible {
  color: var(--ink);
  text-decoration-color: var(--lime);
}

/* Bloque de texto ancho completo */
.mp-cms-block__prose > .mp-cms-block__info,
.mp-cms-block__prose > .mp-stores__info {
  border: 1.5px solid var(--ink);
  background: var(--white);
  padding: clamp(20px, 3vw, 28px);
}

/* FAQs con schema.org — legacy (usar accordion) */
.mp-cms-block__faq {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.mp-cms-block__faq > h2 {
  margin-bottom: clamp(20px, 3vw, 28px);
}

.mp-cms-block__faq-item {
  padding: clamp(18px, 3vw, 24px) 0;
  border-bottom: 1px solid var(--line);
}

.mp-cms-block__faq-item:first-of-type {
  border-top: 1.5px solid var(--ink);
}

.mp-cms-block__faq-item:last-child {
  border-bottom: 1.5px solid var(--ink);
  padding-bottom: clamp(18px, 3vw, 24px);
}

.mp-cms-block__faq-item h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: clamp(15px, 1.6vw, 16px);
  line-height: 1.45;
  color: var(--ink);
  margin: 0 0 10px;
}

.mp-cms-block__faq-item p {
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
  color: var(--mp-stores-grey);
}

/* Pills suaves (bancos, keywords) — sin borde grueso */
.mp-cms-block__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.mp-cms-block__pill {
  display: inline-block;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--mp-stores-grey);
  background: var(--concrete);
  padding: 6px 10px;
  line-height: 1.3;
}

/* Lista de categorías enlazables (sustituto de cards) */
.mp-cms-block__topics {
  display: flex;
  flex-direction: column;
  border: 1.5px solid var(--ink);
  background: var(--white);
}

.mp-cms-block__topic {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  gap: 4px 16px;
  align-items: center;
  padding: clamp(16px, 2.5vw, 20px) clamp(18px, 3vw, 24px);
  border-bottom: 1px solid var(--line);
  text-decoration: none;
  color: inherit;
  transition: background-color 0.15s ease;
}

.mp-cms-block__topic:last-child {
  border-bottom: 0;
}

.mp-cms-block__topic:hover,
.mp-cms-block__topic:focus-visible {
  background: var(--concrete);
}

.mp-cms-block__topic--featured {
  background: var(--concrete);
}

.mp-cms-block__topic--featured:hover,
.mp-cms-block__topic--featured:focus-visible {
  background: #eaeae4;
}

.mp-cms-block__topic-title {
  grid-column: 1;
  grid-row: 1;
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  line-height: 1.05;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--ink);
}

.mp-cms-block__topic-desc {
  grid-column: 1;
  grid-row: 2;
  font-size: 13px;
  line-height: 1.55;
  color: var(--mp-stores-grey);
}

.mp-cms-block__topic-arrow {
  grid-column: 2;
  grid-row: 1 / span 2;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 14px;
  font-weight: 600;
  color: var(--lime-dark);
  align-self: center;
}

/* Flecha vía CSS si TinyMCE elimina el span */
.mp-cms-block__topic:not(:has(.mp-cms-block__topic-arrow))::after {
  content: '\2192';
  grid-column: 2;
  grid-row: 1 / span 2;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 14px;
  font-weight: 600;
  color: var(--lime-dark);
  align-self: center;
}

/* Acordeón FAQ (<details>) */
.mp-cms-block__accordion {
  border: 1.5px solid var(--ink);
  background: var(--white);
  box-shadow: 6px 6px 0 var(--lime);
}

.mp-cms-block__accordion > h2 {
  margin: 0;
  padding: clamp(20px, 3vw, 28px) clamp(18px, 3vw, 24px) clamp(16px, 2.5vw, 20px);
  border-bottom: 1.5px solid var(--ink);
}

.mp-cms-block__accordion-item {
  border-bottom: 1px solid var(--line);
}

.mp-cms-block__accordion-item:last-child {
  border-bottom: 0;
}

.mp-cms-block__accordion-item summary {
  list-style: none;
  cursor: pointer;
  padding: clamp(16px, 2.5vw, 20px) clamp(18px, 3vw, 24px);
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: clamp(14px, 1.5vw, 15px);
  line-height: 1.45;
  color: var(--ink);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  transition: background-color 0.15s ease;
}

.mp-cms-block__accordion-trigger {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  margin: 0;
  padding: clamp(16px, 2.5vw, 20px) clamp(18px, 3vw, 24px);
  border: 0;
  background: transparent;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: clamp(14px, 1.5vw, 15px);
  line-height: 1.45;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.mp-cms-block__accordion-trigger:focus-visible {
  outline: 2px solid var(--lime);
  outline-offset: -2px;
}

.mp-cms-block__accordion-item summary::-webkit-details-marker {
  display: none;
}

.mp-cms-block__accordion-item summary::after {
  content: '+';
  flex-shrink: 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  color: var(--lime-dark);
  margin-top: 2px;
}

.mp-cms-block__accordion-trigger::after {
  content: '+';
  flex-shrink: 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  color: var(--lime-dark);
  margin-top: 2px;
}

.mp-cms-block__accordion-item[open] summary {
  background: var(--concrete);
}

.mp-cms-block__accordion-item.is-open .mp-cms-block__accordion-trigger {
  background: var(--concrete);
}

.mp-cms-block__accordion-item[open] summary::after {
  content: '\2212';
}

.mp-cms-block__accordion-item.is-open .mp-cms-block__accordion-trigger::after {
  content: '\2212';
}

.mp-cms-block__accordion-body.is-collapsed {
  display: none;
}

.mp-cms-block__accordion-body {
  padding: 0 clamp(18px, 3vw, 24px) clamp(16px, 2.5vw, 20px);
}

.mp-cms-block__accordion-body p {
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
  color: var(--mp-stores-grey);
}

.mp-cms-block__media img,
.mp-cms-block__section-media img {
  display: block;
  width: 100%;
  height: auto;
}

.mp-cms-block__list:not(:has(> .mp-cms-block__wrap)) > .mp-cms-block__cards,
.mp-cms-block__list:not(:has(> .mp-cms-block__wrap)) > .mp-cms-block__topics,
.mp-cms-block__list:not(:has(> .mp-cms-block__wrap)) > .mp-cms-block__prose,
.mp-cms-block__list:not(:has(> .mp-cms-block__wrap)) > .mp-cms-block__faq,
.mp-cms-block__list:not(:has(> .mp-cms-block__wrap)) > .mp-cms-block__accordion,
.mp-cms-block__list:not(:has(> .mp-cms-block__wrap)) > .mp-cms-block__band-inline {
  padding-bottom: clamp(40px, 6vw, 64px);
  border-bottom: 1px solid var(--line);
}

.mp-cms-block__list:not(:has(> .mp-cms-block__wrap)) > .mp-cms-block__section-layout:first-child {
  padding-top: clamp(40px, 6vw, 64px);
  padding-bottom: clamp(40px, 6vw, 64px);
  border-bottom: 1px solid var(--line);
}

/* Layout editorial 50/50 (intro, confianza…) */
.mp-cms-block__section-layout--split {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
}

/* Imagen / banner con marco (promos, GIFs) */
.mp-cms-block__figure {
  display: block;
  height: 100%;
  min-height: clamp(240px, 32vw, 360px);
  margin: 0;
  border: 1.5px solid var(--ink);
  background: var(--white);
  box-shadow: 6px 6px 0 var(--lime);
  overflow: hidden;
}

.mp-cms-block__figure img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

/* Etiquetas compactas (legacy — preferir pills) */
.mp-cms-block__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.mp-cms-block__tags .tag {
  margin: 0;
  font-size: 10px;
  padding: 6px 12px 6px 8px;
}

/* Grid 5 tarjetas: 3 + 2 centradas */
@media (min-width: 861px) {
  .mp-cms-block__cards--5 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .mp-cms-block__cards--5 > .mp-cms-block__card:nth-child(-n+3) {
    grid-column: span 2;
  }

  .mp-cms-block__cards--5 > .mp-cms-block__card:nth-child(4) {
    grid-column: 2 / span 2;
  }

  .mp-cms-block__cards--5 > .mp-cms-block__card:nth-child(5) {
    grid-column: 4 / span 2;
  }
}

.mp-cms-block__card--featured {
  background: var(--concrete);
  box-shadow: 6px 6px 0 var(--lime);
}

.mp-cms-block__card--featured h3 {
  color: var(--ink);
}

/* Strip de contacto en bloques prose */
.mp-cms-block__contact-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

.mp-cms-block__contact-strip a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border: 1.5px solid var(--ink);
  background: var(--white);
  box-shadow: 3px 3px 0 var(--lime);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--ink);
  transition: background 0.15s ease, transform 0.15s ease;
}

.mp-cms-block__contact-strip a:hover,
.mp-cms-block__contact-strip a:focus-visible {
  background: var(--lime);
  transform: translate(-1px, -1px);
}

/* CBD — banda compacta */
.mp-cms-block__band-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  padding: clamp(20px, 3vw, 28px);
  border: 1.5px solid var(--ink);
  background: var(--concrete);
  box-shadow: 4px 4px 0 var(--lime);
}

.mp-cms-block__band-inline p {
  margin: 0;
  flex: 1 1 16rem;
  font-size: 15px;
  line-height: 1.6;
  color: var(--mp-stores-grey);
}

.mp-cms-block__band-inline .mp-cms-block__chip-row {
  margin: 0;
  flex: 1 1 100%;
}

.mp-cms-block__band-inline .mp-cms-block__pills {
  margin: 0;
  flex: 1 1 100%;
}

.mp-cms-block__pill--link {
  text-decoration: none;
  color: var(--ink);
  transition: background-color 0.15s ease, color 0.15s ease;
}

.mp-cms-block__pill--link:hover,
.mp-cms-block__pill--link:focus-visible {
  background: var(--lime);
  color: var(--ink);
}

@media (max-width: 860px) {
  .mp-cms-block__section-layout--split {
    grid-template-columns: 1fr;
  }

  .mp-cms-block__figure {
    min-height: clamp(200px, 50vw, 280px);
  }

  .mp-cms-block__cards,
  .mp-cms-block__cards--5 {
    grid-template-columns: 1fr;
  }
}

/* --- Grow Shop Madrid — fixes BO/TinyMCE --- */

/* Panel editorial sin doble borde (info dentro de split) */
.mp-cms-block__section-layout--split .mp-cms-block__section-panel > .mp-cms-block__info {
  border: 0;
  padding: 0;
  background: transparent;
}

.mp-cms-block__section-copy {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
  padding: clamp(20px, 3vw, 28px);
  border: 1.5px solid var(--ink);
  background: var(--white);
  box-sizing: border-box;
}

.mp-cms-block__section-copy > p {
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
  color: var(--mp-stores-grey);
}

.mp-cms-block__section-copy > p a {
  color: var(--ink);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--lime);
  text-underline-offset: 3px;
}

.mp-cms-block__banks {
  margin: 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.04em;
  color: var(--mp-stores-grey);
}

.mp-cms-block__banks strong {
  color: var(--ink);
  font-weight: 600;
}

/* Banners horizontales en columna split (1110×300, GIF…) */
.mp-cms-block__section-media--banner {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(160px, 22vw, 240px);
  padding: clamp(12px, 2vw, 18px);
  border: 1.5px solid var(--ink);
  background: var(--white);
  box-shadow: 6px 6px 0 var(--lime);
  box-sizing: border-box;
}

.mp-cms-block__section-media--banner img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.mp-cms-block__media-banner {
  margin: clamp(16px, 3vw, 28px) 0 clamp(40px, 6vw, 64px);
  padding-bottom: clamp(40px, 6vw, 64px);
  border-bottom: 1px solid var(--line);
}

.mp-cms-block__media-banner img {
  display: block;
  width: 100%;
  height: auto;
  border: 1.5px solid var(--ink);
  box-shadow: 6px 6px 0 var(--lime);
}

/* Topics sueltos cuando TinyMCE elimina __topics */
.mp-cms-block__list:not(:has(> .mp-cms-block__topics)) > #productos-destacados ~ a.mp-cms-block__topic {
  border-left: 1.5px solid var(--ink);
  border-right: 1.5px solid var(--ink);
}

.mp-cms-block__list:not(:has(> .mp-cms-block__topics)) > #productos-destacados + a.mp-cms-block__topic {
  border-top: 1.5px solid var(--ink);
}

.mp-cms-block__list:not(:has(> .mp-cms-block__topics)) > a.mp-cms-block__topic:last-of-type {
  border-bottom: 1.5px solid var(--ink);
}

/* Spotlight — texto directo sin caja info */
.mp-cms-block__spotlight-content > p {
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
  color: var(--mp-stores-grey);
}

.mp-cms-block__spotlight-content > p + p {
  margin-top: 10px;
}

.mp-cms-block__spotlight-content > p strong {
  color: var(--ink);
}

.mp-cms-block__list > h2#por-que-matillaplant + .mp-cms-block__spotlights-grid,
.mp-cms-block__list > h2#confianza + .mp-cms-block__spotlights-grid {
  margin-top: 0;
}

/* Confianza — grid 3 columnas compacto */
.mp-cms-block__spotlights-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(10px, 1.5vw, 14px);
}

.mp-cms-block__list:not(:has(> .mp-cms-block__wrap)) > .mp-cms-block__spotlights-grid {
  padding-bottom: clamp(24px, 4vw, 36px);
  border-bottom: 1px solid var(--line);
}

.mp-cms-block__spotlights-grid .mp-cms-block__spotlight {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding: clamp(14px, 2vw, 18px);
  border: 1.5px solid var(--ink);
  background: var(--white);
  margin: 0;
}

.mp-cms-block__spotlights-grid .mp-cms-block__spotlight-mark {
  width: 48px;
  height: 48px;
  padding: 9px;
  box-shadow: 3px 3px 0 var(--lime);
}

.mp-cms-block__spotlights-grid .mp-cms-block__spotlight-mark img {
  width: 28px;
}

.mp-cms-block__spotlights-grid .mp-cms-block__spotlight-content > p {
  font-size: 12px;
  line-height: 1.5;
}

@media (max-width: 860px) {
  .mp-cms-block__spotlights-grid {
    grid-template-columns: 1fr;
  }
}

/* Prose sin caja (experiencia) */
.mp-cms-block__prose--plain > p {
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--mp-stores-grey);
}

.mp-cms-block__prose--plain > p:last-of-type {
  margin-bottom: 0;
}

.mp-cms-block__prose--plain > .mp-cms-block__info {
  border: 0;
  padding: 0;
  background: transparent;
}

.mp-cms-block__prose--plain > .mp-cms-block__info > p {
  margin-bottom: 16px;
}

/* CBD — pills más visibles en banda */
.mp-cms-block__band-inline .mp-cms-block__pill--link {
  border: 1px solid var(--line);
  background: var(--white);
}

.mp-cms-block__band-inline .mp-cms-block__pill--link:hover,
.mp-cms-block__band-inline .mp-cms-block__pill--link:focus-visible {
  border-color: var(--ink);
}

/* --- Ventajas MatillaPlant (editorial, BO-safe: solo div/p/h2/h3/img) --- */
.mp-ventajas__hero {
  padding-block: clamp(40px, 6vw, 72px) clamp(28px, 4vw, 40px);
}

.mp-ventajas__hero .mp-cms-block__lead {
  margin-bottom: 0;
}

.mp-ventajas {
  width: 100%;
  max-width: var(--mp-stores-container, var(--mp-wrap, 1400px));
  padding-top: clamp(28px, 4vw, 40px);
  padding-bottom: clamp(48px, 7vw, 80px);
}

.mp-ventajas__lead {
  margin: 0 0 clamp(28px, 4vw, 36px);
  font-size: clamp(15px, 1.6vw, 16.5px);
  line-height: 1.65;
  color: var(--mp-stores-grey);
}

.mp-ventajas__lead strong {
  color: var(--ink);
}

.mp-ventajas > h2 {
  font-family: 'Anton', sans-serif;
  font-weight: 400;
  font-size: clamp(1.35rem, 2.8vw, 1.65rem);
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--ink);
  margin: clamp(32px, 5vw, 44px) 0 14px;
  padding-left: 14px;
  border-left: 4px solid var(--lime);
}

.mp-ventajas > h2:first-of-type {
  margin-top: 0;
}

.mp-ventajas > h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 17px;
  line-height: 1.35;
  color: var(--ink);
  margin: 26px 0 10px;
}

.mp-ventajas > p {
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--mp-stores-grey);
}

.mp-ventajas > p:last-child {
  margin-bottom: 0;
}

.mp-ventajas a {
  color: var(--lime-dark);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(124, 154, 50, 0.45);
  text-underline-offset: 3px;
}

.mp-ventajas a:hover,
.mp-ventajas a:focus-visible {
  color: var(--ink);
  text-decoration-color: var(--lime);
}

.mp-ventajas__media {
  margin: 0 0 24px;
}

.mp-ventajas__media img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}

.mp-ventajas__note {
  margin: 0 0 24px;
  padding: 14px 16px;
  background: var(--concrete);
  border-left: 3px solid var(--ink);
  font-size: 14px;
  line-height: 1.6;
  color: #3d3d3a;
}

.mp-ventajas__note strong {
  color: var(--ink);
}

/* --- Kits cultivo exterior (landing SEO) --- */
.mp-kits-ext .mp-cms-block__deck {
  margin: -8px 0 clamp(18px, 2.5vw, 24px);
  font-family: 'Inter', sans-serif;
  font-size: clamp(1rem, 1.7vw, 1.125rem);
  font-weight: 600;
  line-height: 1.45;
  color: var(--ink);
}

.mp-kits-ext .mp-cms-block__minihead {
  margin: clamp(22px, 3vw, 28px) 0 10px;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--ink);
}

.mp-kits-ext .mp-cms-block__minihead:first-of-type {
  margin-top: 8px;
}

.mp-kits-ext .mp-cms-block__prose--plain ul {
  margin: 0 0 18px;
  padding-left: 1.2rem;
  list-style: disc;
}

.mp-kits-ext .mp-cms-block__prose--plain li {
  margin-bottom: 8px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--mp-stores-grey);
}

.mp-kits-ext .mp-cms-block__prose--plain li:last-child {
  margin-bottom: 0;
}

.mp-kits-ext .mp-cms-block__actions {
  margin: 4px 0 0;
}

.mp-kits-ext .mp-cms-block__actions .mp-cms-block__btn {
  width: auto;
  min-width: min(100%, 280px);
}

.mp-kits-ext .mp-cms-block__media-banner {
  margin: clamp(20px, 3vw, 28px) 0 0;
}

.mp-kits-ext .mp-cms-block__media-banner img {
  display: block;
  width: 100%;
  height: auto;
  border: 1.5px solid var(--ink);
}

.mp-kits-ext__promo {
  background: var(--concrete);
  border-top: 1.5px solid var(--ink);
}

.mp-kits-ext__promo .mp-cms-block__deck {
  font-weight: 500;
  color: var(--mp-stores-grey);
}

@media (max-width: 860px) {
  .mp-kits-ext .mp-cms-block__actions .mp-cms-block__btn {
    width: 100%;
  }
}

/* Promo Agrobeta / Maria Green */
.mp-promo-aug .mp-cms-block__actions--duo {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.mp-promo-aug .mp-cms-block__actions--duo .mp-cms-block__btn {
  flex: 1 1 220px;
  width: auto;
  min-width: min(100%, 220px);
}

@media (max-width: 860px) {
  .mp-promo-aug .mp-cms-block__actions--duo .mp-cms-block__btn {
    flex: 1 1 100%;
    width: 100%;
  }
}

/* Grow Shop Granada — tiendas físicas + online */
.mp-granada-grow .mp-cms-block__media-banner {
  margin: 0 0 clamp(20px, 3vw, 28px);
}

.mp-granada-grow__features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(10px, 1.5vw, 14px);
}

.mp-granada-grow__features .mp-cms-block__spotlight {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding: clamp(14px, 2vw, 18px);
  border: 1.5px solid var(--ink);
  background: var(--white);
  margin: 0;
}

.mp-granada-grow__features .mp-cms-block__spotlight-content > h2 {
  margin: 0 0 8px;
  font-family: 'Inter', sans-serif;
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  font-weight: 700;
  line-height: 1.25;
  color: var(--ink);
}

.mp-granada-grow__features .mp-cms-block__spotlight-content > p {
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
  color: var(--mp-stores-grey);
}

.mp-granada-grow__features .mp-cms-block__spotlight-content > p a {
  color: var(--lime-dark);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.mp-granada-grow__closing {
  background: var(--concrete);
  border-top: 1.5px solid var(--ink);
}

.mp-granada-grow__closing p {
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
}

@media (max-width: 860px) {
  .mp-granada-grow__features {
    grid-template-columns: 1fr;
  }
}

