/* ============================================================
   ARTHEA¹⁷ — Capa móvil compartida
   ------------------------------------------------------------
   Solo actúa por debajo de 768px. Mantiene intacta la identidad
   de escritorio (tipografías, paleta, limpieza) y reordena la
   estructura para teléfono: header mínimo + menú hamburguesa,
   catálogos paginados, fichas de artista colapsables, carrusel
   de comunidad, sección de eventos aligerada y footer reducido.
   El markup se inyecta desde mobile.js; aquí solo va el estilo.
   ============================================================ */

/* Chrome móvil oculto en escritorio (se inyecta siempre) */
.m-header, .m-menu, .m-overlay, .m-footer { display: none; }

@media (max-width: 768px) {

  /* ── Ocultar el chrome de escritorio ───────────────────── */
  #nav,
  #top-widgets,
  .grain,
  .cur { display: none !important; }

  body { cursor: auto; }
  body.m-lock { overflow: hidden; }

  /* ── HEADER MÓVIL (sticky, mínimo) ─────────────────────── */
  /* Hamburguesa a la izquierda, logo centrado y fijo al hacer scroll */
  .m-header {
    display: flex; align-items: center; justify-content: center;
    position: sticky; top: 0; z-index: 9000;
    padding: .55rem 1.2rem;
    min-height: 52px;
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 1px 0 rgba(10,10,10,.07);
  }
  .m-header .m-brand {
    font-family: var(--font-ui); font-weight: 300;
    font-size: .92rem; letter-spacing: .2em; text-transform: uppercase;
    color: var(--red);
  }
  .m-header .m-brand .ia { font-style: italic; }
  .m-header .m-brand sup { font-size: .5em; vertical-align: super; }

  /* Botón hamburguesa — anclado a la izquierda */
  .m-burger {
    width: 30px; height: 22px;
    position: absolute; left: 1.2rem; top: 50%; transform: translateY(-50%);
    background: none; border: none; padding: 0; cursor: pointer;
  }
  .m-burger span {
    position: absolute; left: 0; height: 1.5px; width: 100%;
    background: var(--black); border-radius: 2px;
    transition: transform .3s ease, opacity .2s ease, top .3s ease;
  }
  .m-burger span:nth-child(1) { top: 2px; }
  .m-burger span:nth-child(2) { top: 10px; }
  .m-burger span:nth-child(3) { top: 18px; }
  body.m-lock .m-burger span:nth-child(1) { top: 10px; transform: rotate(45deg); }
  body.m-lock .m-burger span:nth-child(2) { opacity: 0; }
  body.m-lock .m-burger span:nth-child(3) { top: 10px; transform: rotate(-45deg); }

  /* Mi cuenta + Carrito — grupo alineado a la derecha de la cabecera */
  .m-header .m-actions {
    position: absolute; right: 1.2rem; top: 50%; transform: translateY(-50%);
    display: flex; align-items: center; gap: .6rem;
  }
  .m-header .m-user,
  .m-header .m-cart {
    position: relative; width: 24px; height: 24px;
    display: flex; align-items: center; justify-content: center;
  }
  .m-header .m-user svg,
  .m-header .m-cart svg {
    width: 21px; height: 21px; stroke: var(--black); fill: none;
    stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
  }
  .m-header .m-cart-count {
    position: absolute; top: -5px; right: -6px;
    min-width: 15px; height: 15px; padding: 0 3px; border-radius: 8px;
    background: var(--red); color: #fff;
    font-family: var(--font-ui); font-size: .5rem; font-weight: 800;
    display: none; align-items: center; justify-content: center;
  }
  .m-header .m-cart-count.has { display: flex; }

  /* ── OVERLAY + PANEL DESLIZANTE ────────────────────────── */
  .m-overlay {
    display: block;
    position: fixed; inset: 0; z-index: 9400;
    background: rgba(10,10,10,.32);
    opacity: 0; pointer-events: none; transition: opacity .3s ease;
  }
  .m-overlay.open { opacity: 1; pointer-events: auto; }

  .m-menu {
    display: flex; flex-direction: column;
    position: fixed; top: 0; right: 0; z-index: 9500;
    width: min(86vw, 360px); height: 100%;
    background: var(--white);
    padding: 1.4rem 1.8rem 2rem;
    transform: translateX(105%);
    transition: transform .35s cubic-bezier(.4,0,.2,1);
    overflow-y: auto;
    box-shadow: -8px 0 40px rgba(10,10,10,.12);
  }
  .m-menu.open { transform: translateX(0); }

  .m-menu-top {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 2.4rem;
  }
  .m-menu-top .m-brand {
    font-family: var(--font-ui); font-weight: 300;
    font-size: .9rem; letter-spacing: .2em; text-transform: uppercase;
    color: var(--red);
  }
  .m-menu-top .m-brand .ia { font-style: italic; }
  .m-menu-top .m-brand sup { font-size: .5em; vertical-align: super; }
  .m-close {
    background: none; border: none; cursor: pointer;
    font-size: 1.4rem; line-height: 1; color: var(--black);
    width: 32px; height: 32px;
  }

  /* Índice principal: compacto y en mayúsculas */
  .m-nav { display: flex; flex-direction: column; }
  .m-nav a {
    font-family: var(--font-ui); font-weight: 400;
    font-size: .88rem; letter-spacing: .12em; text-transform: uppercase;
    color: var(--black);
    padding: .72rem 0;
    border-bottom: 1px solid rgba(10,10,10,.06);
  }
  .m-nav a.active { color: var(--red); }

  /* Wishlist, Carrito y Gift Card: mismo índice, todo en negro */
  .m-nav a.m-extra { color: var(--black); }
  .m-nav a.m-extra.active { color: var(--red); }
  .m-nav a.m-gift { color: var(--black); }

  /* Cuenta y ayuda: grupo secundario en negro, más pequeño, bajo idioma/moneda */
  .m-account { display: flex; flex-direction: column; margin-top: 1.4rem; }
  .m-account a.m-sec {
    font-family: var(--font-ui); font-weight: 400; color: var(--black);
    font-size: .62rem; letter-spacing: .12em; text-transform: uppercase;
    padding: .42rem 0;
  }
  .m-account a.m-sec.active { color: var(--red); }

  /* Selector de idioma — desplegable */
  .m-lang { margin-top: 1.8rem; position: relative; }
  .m-lang-label {
    font-family: var(--font-ui); font-weight: 800;
    font-size: .52rem; letter-spacing: .18em; text-transform: uppercase;
    color: rgba(10,10,10,.35); margin-bottom: .5rem;
  }
  .m-lang-toggle {
    width: 100%; display: flex; align-items: center; justify-content: space-between;
    font-family: var(--font-ui); font-weight: 600; font-size: .8rem;
    letter-spacing: .06em; text-transform: uppercase;
    padding: .7rem .9rem; background: #fff; color: var(--black);
    border: 1.5px solid rgba(10,10,10,.18); cursor: pointer;
  }
  .m-lang-toggle .m-caret { transition: transform .25s ease; font-size: .7rem; }
  .m-lang.open .m-lang-toggle { border-color: var(--black); }
  .m-lang.open .m-lang-toggle .m-caret { transform: rotate(180deg); }
  .m-lang-options {
    display: none; flex-direction: column;
    border: 1.5px solid rgba(10,10,10,.18); border-top: none;
  }
  .m-lang.open .m-lang-options { display: flex; }
  .m-lang-options button {
    text-align: left; background: #fff; border: none; cursor: pointer;
    font-family: var(--font-ui); font-weight: 600; font-size: .76rem;
    letter-spacing: .06em; text-transform: uppercase;
    padding: .6rem .9rem; color: rgba(10,10,10,.7);
    border-top: 1px solid rgba(10,10,10,.07);
  }
  .m-lang-options button.on { color: var(--red); }

  /* Moneda — más sutil que el idioma */
  .m-cur { margin-top: 1.1rem; display: flex; align-items: center; justify-content: space-between; }
  .m-cur-label {
    font-family: var(--font-ui); font-weight: 800; font-size: .5rem;
    letter-spacing: .18em; text-transform: uppercase; color: rgba(10,10,10,.3);
  }
  .m-cur-opts { display: flex; gap: .2rem; }
  .m-cur-opts button {
    background: none; border: none; cursor: pointer;
    font-family: var(--font-ui); font-weight: 700; font-size: .64rem;
    letter-spacing: .03em; color: rgba(10,10,10,.38); padding: .2rem .35rem;
  }
  .m-cur-opts button.on { color: var(--red); }

  /* Sección legal — al fondo, tipografía pequeña y gris clarito */
  .m-menu-legal {
    margin-top: auto; padding-top: 2.2rem;
    display: flex; flex-wrap: wrap; gap: .35rem .9rem;
  }
  .m-menu-legal a {
    font-family: var(--font-bd);
    font-size: .64rem; letter-spacing: .02em;
    color: rgba(10,10,10,.38);
  }
  .m-menu-legal a:active { color: var(--red); }

  /* ── PAGINACIÓN (tienda / artistas) ────────────────────── */
  .m-hidden { display: none !important; }
  .m-pager {
    display: flex; align-items: center; justify-content: center;
    gap: 1.4rem; padding: 2.2rem 1rem 1rem;
  }
  .m-pager-btn {
    width: 44px; height: 44px; border-radius: 50%;
    border: 1.5px solid rgba(10,10,10,.2); background: #fff;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; color: var(--black);
    transition: border-color .2s, background .2s, color .2s;
  }
  .m-pager-btn:active { background: var(--red); border-color: var(--red); color: #fff; }
  .m-pager-btn[disabled] { opacity: .3; pointer-events: none; }
  .m-pager-btn svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; }
  .m-pager-info {
    font-family: var(--font-ui); font-weight: 700;
    font-size: .64rem; letter-spacing: .14em; text-transform: uppercase;
    color: rgba(10,10,10,.55); min-width: 56px; text-align: center;
  }
  .m-pager-info b { color: var(--red); font-weight: 800; }

  /* ── FICHAS DE ARTISTA (tarjetas de color + expandible) ── */
  .artists-list { grid-template-columns: 1fr !important; gap: 1.1rem !important; padding: 0 1rem !important; }
  .artist-row.m-artist {
    display: block; border: none; border-radius: 18px; padding: 1rem 1rem 1.2rem;
    transition: background .3s;
  }
  /* Fichas reducidas: foto más compacta (cuadrada) y a todo color */
  .artist-row.m-artist .artist-photo-wrap { aspect-ratio: 1 / 1; overflow: hidden; }
  .artist-row.m-artist .artist-photo-wrap img { width: 100%; height: 100%; object-fit: cover; filter: none !important; }
  .artist-row.m-artist .artist-info .artist-num,
  .artist-row.m-artist .artist-info .artist-discipline,
  .artist-row.m-artist .artist-info .artist-bio,
  .artist-row.m-artist .artist-info .artist-events,
  .artist-row.m-artist .artist-info .artist-ctas { display: none; }
  /* Vista general: foto + 2 miniaturas + nombre */
  .artist-row.m-artist .artist-obras-strip .artist-obra-thumb { display: none; }
  .artist-row.m-artist .artist-obras-strip .artist-obra-thumb:nth-child(1),
  .artist-row.m-artist .artist-obras-strip .artist-obra-thumb:nth-child(2) { display: block; }
  .artist-row.m-artist .artist-name { font-size: 1.2rem; margin-top: .6rem; cursor: pointer; }
  .artist-row.m-artist .artist-name::after {
    content: '+'; float: right; color: var(--red); font-weight: 300;
    font-family: var(--font-ui);
  }
  /* Estado expandido: bio + técnicas + 2 fotos adicionales */
  .artist-row.m-artist.m-open .artist-info .artist-discipline,
  .artist-row.m-artist.m-open .artist-info .artist-bio,
  .artist-row.m-artist.m-open .artist-info .artist-ctas { display: block; }
  .artist-row.m-artist.m-open .artist-obras-strip .artist-obra-thumb:nth-child(3),
  .artist-row.m-artist.m-open .artist-obras-strip .artist-obra-thumb:nth-child(4) { display: block; }
  .artist-row.m-artist.m-open .artist-name::after { content: '–'; }
  .artist-row.m-artist .artist-obras-strip {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem; margin-top: .8rem;
  }

  /* ── COMUNIDAD — los dos bloques van seguidos (sin slide) ─ */
  .perks-grid, .tiers-grid { grid-template-columns: 1fr !important; }

  /* ── EVENTOS — aligerar (máx. 8 imágenes) ──────────────── */
  .evt-grid.m-evt-trim > *:nth-child(n+9) { display: none !important; }
  /* El bloque "24 imágenes · un adelanto…" se pisaba: apilar y centrar */
  .evt-intro {
    flex-direction: column !important; align-items: center !important;
    justify-content: center !important; text-align: center !important;
    gap: .45rem; padding: 2rem 1.5rem 1.4rem !important;
  }
  .evt-intro p { line-height: 1.5; }

  /* ── HOME — manifiesto: pilares centrados + estrella ───── */
  #manifiesto .pillars {
    grid-template-columns: 1fr !important;
    gap: 1.8rem; text-align: center;
    max-width: 320px; margin: 1.4rem auto 0;
  }
  #manifiesto .pillar { text-align: center !important; }
  /* Estrella separadora (como las del marquee) entre manifiesto y pilares */
  .m-star {
    display: block; text-align: center; color: #fff;
    font-size: 1.1rem; margin: 1.8rem 0 .2rem;
  }

  /* ── PRIMER TEXTO A LA IZQUIERDA (tienda / artistas) ───── */
  .page-hero {
    flex-direction: column !important; align-items: flex-start !important;
    gap: 1rem; padding: 2.4rem 1.5rem 1.8rem !important; text-align: left !important;
  }
  .page-hero-r { text-align: left !important; max-width: none; }

  /* ── TIENDA — barra superior (← Volver + 02 / TIENDA) ──── */
  .m-tienda-top {
    display: flex; flex-direction: column; align-items: flex-start; gap: .7rem;
    padding: 1.2rem 1.5rem .2rem;
  }
  /* El subrayado solo bajo "← VOLVER", no a todo lo ancho */
  .m-tienda-top .back-link { margin-bottom: 0 !important; width: max-content; align-self: flex-start; }

  /* ── TIENDA — catálogo a 2 columnas (20/pág = 2×10) ────── */
  #printsGrid, .prints-grid, .product-grid, .obras-grid, .merch-grid, .disc-grid, #obraGrid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  /* Colecciones: ENCUADRE GRANDE (imagen 16/9 a todo el ancho). El título
     "Empieza tu colección" queda arriba y visible; las 3 colecciones debajo;
     el texto descriptivo se mueve al final (tras merch) para ganar aire arriba. */
  .pop-section { padding: .3rem 1.5rem .8rem !important; }
  .pop-section-label { margin-bottom: .45rem !important; }
  .pop-grid { grid-template-columns: 1fr !important; gap: .45rem !important; }
  .pop-grid .pop-card:last-child { grid-column: auto !important; max-width: 100% !important; margin: 0 !important; }
  /* Imágenes un poco más apaisadas (recortadas) para que las 3 colecciones + el
     título quepan sin scroll. Alto ESTABLE (no 100vh: en móvil cambia al
     ocultarse la barra del navegador). */
  .pop-card-img-wrap { aspect-ratio: 3 / 1 !important; height: auto !important; }
  .pop-card-body { padding: .4rem .2rem .5rem !important; }
  .pop-name { font-size: 1.4rem !important; line-height: .95 !important; }
  .pop-card .pop-count { display: none !important; } /* fuera el contador para ganar alto */
  /* El título "Empieza tu colección" queda arriba y visible, colecciones debajo. */
  .page-hero { overflow: visible !important; }
  /* Hero de tienda compacto: solo el título (el texto descriptivo va abajo). */
  .m-tienda-top + .page-hero { padding: .8rem 1.5rem .6rem !important; gap: .35rem !important; }
  /* Texto descriptivo reubicado tras las colecciones. */
  .m-shop-note { padding: .2rem 1.5rem 1.6rem !important; font-size: .8rem !important; line-height: 1.5 !important; color: rgba(10,10,10,.55) !important; }
  /* "Explorar por artista": fondo negro, texto blanco, menos aire */
  .explore-row { background: #0a0a0a !important; padding: 1.3rem 1.5rem !important; }
  .explore-link, .explore-link .el-arrow { color: #fff !important; }
  .m-hide { display: none !important; }
  /* Badge NEW en las miniaturas de "New Arrivals" (home) */
  #thumbGrid .thumb-img { position: relative; }
  .m-new-badge {
    position: absolute; top: 8px; right: 8px; z-index: 2;
    background: var(--red); color: #fff;
    font-family: var(--font-ui); font-size: .46rem; font-weight: 800;
    letter-spacing: .12em; padding: 3px 7px; border-radius: 3px;
  }
  /* CTA "¿Eres artista?" — discreto y elegante, bajo la línea, antes del footer */
  .m-artist-cta {
    display: flex; flex-direction: column; align-items: center; gap: .45rem;
    text-align: center; padding: 2.2rem 1.5rem;
    border-top: 1px solid rgba(10,10,10,.1); background: transparent;
    font-family: var(--font-ui);
  }
  .m-artist-cta .m-cta-k {
    font-size: .52rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase;
    color: rgba(10,10,10,.4);
  }
  .m-artist-cta .m-cta-l {
    font-size: .82rem; font-weight: 500; letter-spacing: .02em; color: var(--black);
    border-bottom: 1px solid rgba(10,10,10,.35); padding-bottom: 2px;
  }

  /* ── PRINTS (landing) — bloques adyacentes gris/blanco, línea verde solo en medio ── */
  .selector { grid-template-columns: 1fr !important; min-height: 0 !important; gap: 0 !important; padding: 0 1.2rem !important; }
  .sel-card {
    padding: 1.1rem 1.2rem !important; min-height: 0 !important; margin: 0 !important;
    border-radius: 0 !important; border: none !important;
  }
  .sel-card + .sel-card { border-top: 1px solid #2FD79E !important; } /* separador central */
  .sel-card .sel-pill, .sel-card .sel-desc { display: none !important; } /* compacto: caben los dos */
  .sel-card .sel-title { font-size: 1.55rem !important; margin: .15rem 0 .6rem !important; }
  .sel-card .sel-cta { font-size: .58rem !important; }
  .sel-card--emergentes::before, .sel-card--dominio::before { display: none !important; }
  .sel-card .sel-tag, .sel-card .sel-title, .sel-card .sel-cta { color: #10243B !important; }
  .sel-card .sel-tag { opacity: .6; }
  .sel-card .sel-cta-arrow svg { stroke: #10243B !important; }

  /* Alternado: emergentes blanco (número gris) · archivo gris (número blanco) */
  .sel-card--emergentes { background: #ffffff !important; }
  .sel-card--emergentes .sel-num { color: #b9b6ae !important; opacity: 1 !important; transition: color .2s; }
  .sel-card--dominio { background: #d7d4cd !important; }
  .sel-card--dominio .sel-num { color: #ffffff !important; opacity: 1 !important; transition: color .2s; }
  /* Interacción: el número pasa al verde del borde */
  .sel-card:hover .sel-num,
  .sel-card:focus .sel-num,
  .sel-card:focus-within .sel-num,
  .sel-card:active .sel-num { color: #2FD79E !important; }

  /* ── EVENTOS — resaltar el adelanto ────────────────────── */
  .evt-intro p { font-size: .74rem !important; font-weight: 700 !important; color: rgba(10,10,10,.6) !important; }

  /* ── MERCH — banda intro centrada y compacta ───────────── */
  .intro-band {
    flex-direction: column !important; align-items: center !important;
    text-align: center !important; gap: 1rem !important; padding: 1.4rem 1.5rem !important;
  }
  .intro-feat { justify-content: center; }

  /* ── MAGAZINE — checkbox pequeño y pegado al botón ─────── */
  .nl-form { flex-direction: column !important; }
  .nl-check { margin: .55rem 0 0 !important; padding: 0 !important; }
  .nl-check span { font-size: .6rem !important; }

  /* ── Botones de acción más redondeados en móvil ────────── */
  .tier-cta, .comm-join-btn, .evt-collab-btn, .btn-dark, .btn-outline,
  .nl-form button, .cf-submit, .expone-btn, .form-submit,
  form button[type="submit"], button.submit {
    border-radius: 100px !important;
  }

  /* ── HOME — artistas como carrusel manual (foto + nombre, peek, flecha) ── */
  .artist-portraits.m-ap-wrap {
    overflow-x: auto !important; scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: .5rem 1rem 1rem !important;
  }
  .artist-portraits.m-ap-wrap::-webkit-scrollbar { display: none; }
  .m-ap-wrap .ap-track { animation: none !important; width: auto !important; gap: 14px !important; }
  .m-ap-wrap .ap-tile { flex: 0 0 76% !important; scroll-snap-align: center; }
  .m-ap-wrap .ap-photo {
    width: 100% !important; height: auto !important; aspect-ratio: 3 / 4;
    filter: grayscale(0) !important; border: none !important;
  }
  .m-ap-wrap .ap-name {
    font-size: .72rem !important; font-weight: 700; margin-top: .6rem;
    color: var(--black) !important; text-align: left; opacity: 1 !important;
  }
  .m-ap-nav { display: flex; justify-content: center; gap: 1.1rem; padding: .2rem 0 .6rem; }
  .m-ap-arrow {
    width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid rgba(10,10,10,.2);
    background: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer;
  }
  .m-ap-arrow svg { width: 16px; height: 16px; stroke: var(--black); fill: none; stroke-width: 2; }

  /* ── Gift Card — band promocional (home / tienda) ──────── */
  .m-gift-band {
    display: flex; flex-direction: column; align-items: center; gap: .4rem;
    text-align: center; padding: 2.7rem 1.5rem;
  }
  .m-gift-k {
    font-family: var(--font-ui); font-weight: 800; font-size: .55rem;
    letter-spacing: .2em; text-transform: uppercase;
  }
  .m-gift-t { font-family: Georgia, 'Times New Roman', serif; font-size: 2.3rem; line-height: 1.05; }
  .m-gift-t em { font-style: italic; }
  .m-gift-cta {
    font-family: var(--font-ui); font-weight: 700; font-size: .62rem;
    letter-spacing: .12em; text-transform: uppercase;
    border-bottom: 1px solid currentColor; padding-bottom: 2px; margin-top: .7rem;
  }
  /* Home → fondo azul violeta, letras blancas */
  .m-gift-home { background: var(--violet); }
  .m-gift-home .m-gift-k { color: rgba(255,255,255,.7); }
  .m-gift-home .m-gift-t, .m-gift-home .m-gift-t em, .m-gift-home .m-gift-cta { color: #fff; }
  /* Tienda → fondo amarillo cálido, letras negras */
  /* Tienda: fondo blanco, separador, sin kicker, "regala arte" violeta, CTA negro */
  .m-gift-tienda { background: #fff; border-top: 1px solid rgba(10,10,10,.1); }
  .m-gift-tienda .m-gift-k { display: none; }
  .m-gift-tienda .m-gift-t, .m-gift-tienda .m-gift-t em { color: var(--violet); }
  .m-gift-tienda .m-gift-cta { color: var(--black); }

  /* ── "Únete a la comunidad de artistas" — band ─────────── */
  .m-join-band { background: var(--violet); padding: 2.7rem 1.6rem; text-align: center; }
  .m-join-kicker {
    font-family: var(--font-ui); font-weight: 800; font-size: .5rem;
    letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.65); margin-bottom: .8rem;
  }
  .m-join-title {
    font-family: Georgia, 'Times New Roman', serif; font-weight: 400;
    font-size: 1.95rem; line-height: 1.12; color: #fff; margin-bottom: .7rem;
  }
  .m-join-title em { font-style: italic; }
  .m-join-sub {
    font-family: var(--font-bd); font-size: .82rem; line-height: 1.55;
    color: rgba(255,255,255,.85); max-width: 320px; margin: 0 auto 1.5rem;
  }
  .m-join-cta {
    display: inline-block; background: #fff; color: var(--violet);
    font-family: var(--font-ui); font-weight: 800; font-size: .6rem;
    letter-spacing: .12em; text-transform: uppercase; padding: .9rem 1.9rem; border-radius: 100px;
  }

  /* ── FOOTER MÍNIMO (logo grande + contacto) ────────────── */
  footer.m-collapsed > *:not(.m-footer) { display: none !important; }
  /* Fondo rompedor: degradado coral → violeta de marca, a sangre */
  footer.m-collapsed {
    background: linear-gradient(150deg, var(--red) 0%, #8b5cf6 55%, var(--violet) 100%) !important;
    padding: 0 !important; border: none !important;
  }
  .m-footer {
    display: flex; flex-direction: column; align-items: center; gap: .35rem;
    text-align: center; padding: 2rem 1rem 2.1rem;
  }
  /* Logo casi a todo el ancho */
  .m-footer .m-foot-brand {
    font-family: var(--font-ui); font-weight: 300;
    font-size: clamp(3rem, 19.5vw, 4.6rem); letter-spacing: 0; line-height: 1;
    text-transform: uppercase; color: #fff; white-space: nowrap;
  }
  .m-footer .m-foot-brand .ia { font-style: italic; }
  .m-footer .m-foot-brand sup { font-size: .5em; vertical-align: super; }
  /* Tagline ampliada y en mayúsculas */
  .m-footer .m-foot-tag {
    font-family: var(--font-ui); font-weight: 400;
    font-size: .9rem; letter-spacing: .1em; text-transform: uppercase;
    color: #fff; margin-top: .5rem;
  }
  .m-footer .m-foot-tag .sub {
    display: block; font-family: var(--font-bd); font-weight: 400;
    font-size: .66rem; letter-spacing: .14em; text-transform: uppercase;
    margin-top: .3rem; color: rgba(255,255,255,.7);
  }
  .m-footer .m-foot-contact { display: flex; flex-direction: column; gap: .5rem; margin-top: 1.3rem; }
  .m-footer .m-foot-contact a {
    display: inline-flex; align-items: center; justify-content: center;
    font-family: var(--font-bd); font-size: .82rem; letter-spacing: .02em;
    color: #fff;
  }
  .m-footer .m-foot-ico {
    width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 1.8;
    margin-right: 7px; flex-shrink: 0;
  }
}
