/* ============================================================
   Maison Photobooth — sistema 4a (blanco y fucsia)
   Opt-in: no pisa el negro/dorado vigente.
   Solo actúa sobre clases .m4a y .m4a-*.
   Se carga después de maison-refinado.css.
   ============================================================ */

:root {
  --m4a-bg: #ffffff;
  --m4a-ink: #141414;
  --m4a-muted: #4a4a4a;
  --m4a-muted-2: #3a3a3a;
  --m4a-fuchsia: #C6A75E;
  --m4a-neon: #C6A75E;
  --m4a-blush: #F4F1EB;
  --m4a-line: #14141414;
  --m4a-dash: #14141444;
  --m4a-wa: #25d366;
  --m4a-sans: "Archivo", "Arial Narrow", Helvetica, sans-serif;
  --m4a-elite: "Special Elite", "Courier New", monospace;
  --m4a-max: 1280px;
}

/* ---------- tipo ---------- */
.m4a,
.m4a-btn,
.m4a-head,
.m4a-mob,
.m4a-foot,
.m4a-panel {
  font-family: var(--m4a-sans);
  color: var(--m4a-ink);
  -webkit-font-smoothing: antialiased;
}

.m4a {
  background: var(--m4a-bg);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
}

.m4a-display,
.m4a-h,
.m4a-sub,
.m4a-card-title,
.m4a-ticket-name,
.m4a-svc-name,
.m4a-zones-title,
.m4a-mark,
.m4a-panel h1,
.m4a-panel h2 {
  font-family: var(--m4a-sans);
  font-weight: 900;
  font-stretch: 72%;
  text-transform: uppercase;
  line-height: 0.88;
  letter-spacing: -0.02em;
  margin: 0;
}

.m4a-display {
  font-size: clamp(80px, 10.5vw, 150px);
  max-width: 100%;
  word-break: keep-all;
  display: block;
}

.m4a-h {
  font-size: clamp(40px, 6.6vw, 84px);
  text-align: center;
}

.m4a-sub {
  font-size: clamp(32px, 4.4vw, 56px);
}

.m4a-neon-word {
  color: var(--m4a-neon);
  font-style: normal;
  text-shadow: 0 0 18px #C6A75E66;
}

.m4a-kicker,
.m4a-elite,
.m4a-card-num,
.m4a-card-more,
.m4a-ticket-admit,
.m4a-ticket-sub,
.m4a-strip figcaption,
.m4a-mq--a,
.m4a-zones-eye,
.m4a-panel .m4a-lab {
  font-family: var(--m4a-elite);
  font-weight: 400;
  font-stretch: normal;
  text-transform: none;
  letter-spacing: 0;
}

.m4a-kicker {
  color: var(--m4a-fuchsia);
  font-size: 15px;
  margin: 0 0 14px;
}

.m4a-lead {
  max-width: 460px;
  margin: 18px 0 0;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.55;
  color: var(--m4a-muted-2);
}

.m4a-mark {
  font-weight: 800;
  font-stretch: 115%;
  letter-spacing: 0.14em;
  line-height: 1;
  font-size: 18px;
}

/* ---------- botones neón ---------- */
.m4a-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 14px 26px;
  border-radius: 999px;
  border: 2px solid transparent;
  background: var(--m4a-neon);
  color: #fff;
  font-family: var(--m4a-sans);
  font-weight: 800;
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 0 8px #C6A75E, 0 0 24px #C6A75E77;
  transition: box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease;
}

.m4a-btn:hover {
  box-shadow: 0 0 12px #C6A75E, 0 0 40px #C6A75E;
  color: #fff;
}

.m4a-btn--pulse {
  animation: m4a-neon 2.4s ease-in-out infinite;
}

.m4a-btn--line {
  background: transparent;
  color: var(--m4a-ink);
  border: 1.5px solid var(--m4a-ink);
  box-shadow: none;
  font-weight: 700;
}

.m4a-btn--line:hover {
  background: var(--m4a-ink);
  color: #fff;
  box-shadow: none;
}

.m4a-btn--ghost {
  background: transparent;
  color: var(--m4a-fuchsia);
  border: 2px solid var(--m4a-neon);
  box-shadow: 0 0 10px #C6A75E55, inset 0 0 10px #C6A75E33;
}

.m4a-btn--ghost:hover {
  background: var(--m4a-neon);
  color: #fff;
  box-shadow: 0 0 12px #C6A75E, 0 0 40px #C6A75E;
}

.m4a-btn--on {
  background: #fff;
  color: var(--m4a-fuchsia);
  box-shadow: 0 0 10px #fff, 0 0 30px #fff8;
}

.m4a-btn--on:hover {
  color: var(--m4a-fuchsia);
  box-shadow: 0 0 14px #fff, 0 0 42px #fff;
}

.m4a-btn:focus-visible,
.m4a-head a:focus-visible,
.m4a-mob a:focus-visible,
.m4a-foot a:focus-visible {
  outline: 2px solid var(--m4a-ink);
  outline-offset: 3px;
}

@keyframes m4a-neon {
  0%,
  100% {
    box-shadow: 0 0 6px #C6A75E, 0 0 18px #C6A75E, 0 0 42px #C6A75E77;
  }
  50% {
    box-shadow: 0 0 4px #C6A75E, 0 0 10px #C6A75E, 0 0 24px #C6A75E66;
  }
}

/* ---------- barra superior y cabecera ---------- */
.m4a-top {
  background: var(--m4a-fuchsia);
  color: #fff;
  text-align: center;
  font-family: var(--m4a-sans);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 10px 16px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.m4a-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 28px;
  background: #fff;
  border-bottom: 1px solid var(--m4a-line);
  position: sticky;
  top: 0;
  z-index: 40;
}

.m4a-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--m4a-ink);
  text-decoration: none;
  min-height: 44px;
}

.m4a-brand img {
  height: 42px;
  width: auto;
  display: block;
}

.m4a-nav {
  display: flex;
  align-items: center;
  gap: 4px;
}

.m4a-nav > a,
.m4a-drop > button {
  min-height: 44px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  background: none;
  border: 0;
  color: var(--m4a-ink);
  font-family: var(--m4a-sans);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
}

.m4a-nav > a:hover,
.m4a-drop > button:hover {
  color: var(--m4a-fuchsia);
}

.m4a-drop {
  position: relative;
}

.m4a-drop-panel {
  display: none;
  position: absolute;
  top: calc(100% - 4px);
  left: 0;
  min-width: 280px;
  padding: 18px 18px 14px;
  background: #fff;
  border: 1px solid var(--m4a-line);
  box-shadow: 0 18px 40px #14141418;
  z-index: 50;
}

.m4a-drop:hover .m4a-drop-panel,
.m4a-drop:focus-within .m4a-drop-panel,
.m4a-drop.is-open .m4a-drop-panel {
  display: block;
}

.m4a-drop-label {
  display: block;
  margin: 12px 0 6px;
  color: var(--m4a-fuchsia);
  font-family: var(--m4a-elite);
  font-size: 13px;
}

.m4a-drop-label:first-child {
  margin-top: 0;
}

.m4a-drop-panel a {
  display: flex;
  align-items: center;
  min-height: 36px;
  color: var(--m4a-ink);
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
}

.m4a-drop-panel a:hover {
  color: var(--m4a-fuchsia);
}

.m4a-head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.m4a-burger {
  display: none;
  width: 44px;
  height: 44px;
  border: 1.5px solid var(--m4a-ink);
  border-radius: 999px;
  background: #fff;
  padding: 0;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
}

.m4a-burger span {
  display: block;
  width: 16px;
  height: 1.5px;
  background: var(--m4a-ink);
}

.m4a-mob {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 70;
  background: #fff;
  flex-direction: column;
  padding: 18px 22px 24px;
  overflow: auto;
}

.m4a-mob.is-open {
  display: flex;
}

.m4a-mob-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.m4a-mob a {
  display: flex;
  align-items: center;
  min-height: 48px;
  color: var(--m4a-ink);
  text-decoration: none;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--m4a-line);
}

.m4a-mob-group {
  margin-top: 8px;
  color: var(--m4a-fuchsia);
  font-family: var(--m4a-elite);
  font-size: 14px;
}

.m4a-mob-reserve {
  margin-top: auto;
  padding-top: 18px;
  position: sticky;
  bottom: 0;
  background: #fff;
}

.m4a-mob-reserve .m4a-btn {
  width: 100%;
}

/* ---------- hero ---------- */
.m4a-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 48px;
  align-items: start;
  padding: 12px 40px 24px;
  max-width: 1440px;
  margin: 0 auto;
}
.m4a-hero-copy {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  padding-right: 12px;
}

.m4a-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.m4a-hero-photo {
  display: block;
  width: calc(100% - 48px);
  max-width: 1360px;
  height: 580px;
  margin: 18px auto 0;
  object-fit: cover;
  border-radius: 28px;
}

/* tira de fotomatón */
.m4a-strip {
  width: 100%;
  margin: 0;
  background: #fff;
  padding: 14px 14px 40px;
  box-shadow: 0 18px 40px #14141433, 0 0 0 1px #14141410;
  transform-origin: 50% 0;
  animation: m4a-sway 6s ease-in-out infinite;
}

.m4a-strip img {
.m4a-strip img:last-of-type { margin-bottom: 0; }
  width: 100%;
  height: 170px;
  object-fit: cover;
  display: block;
  filter: sepia(0.35) contrast(1.05);
  margin-bottom: 8px;
  border: 1px solid rgba(20,20,20,.08);
  box-shadow: 0 2px 6px rgba(20,20,20,.06);
  border-radius: 2px;
}

.m4a-strip figcaption {
  margin-top: 10px;
  text-align: center;
  font-size: 13px;
  color: var(--m4a-ink);
}

@keyframes m4a-sway {
  0%,
  100% {
    transform: rotate(3deg);
  }
  50% {
    transform: rotate(-1deg) translateY(-6px);
  }
}

/* ---------- rótulos en movimiento ---------- */
.m4a-mq {
  overflow: hidden;
  white-space: nowrap;
}

.m4a-mq-track {
  display: flex;
  width: max-content;
  animation: m4a-mq var(--m4a-mq-dur, 32s) linear infinite;
}

.m4a-mq-track > span {
  display: inline-flex;
  align-items: center;
  gap: 28px;
  padding-right: 28px;
  flex: none;
}

.m4a-mq i {
  font-style: normal;
}

.m4a-mq--a {
  background: #141414;
  color: #fff;
  font-size: 24px;
  padding: 16px 0;
  --m4a-mq-dur: 32s;
}

.m4a-mq--a i {
  color: var(--m4a-neon);
  text-shadow: 0 0 10px #C6A75E;
}

.m4a-mq--b {
  background: var(--m4a-neon);
  color: #fff;
  font-family: var(--m4a-sans);
  font-weight: 900;
  font-stretch: 72%;
  font-size: 40px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  padding: 14px 0;
  --m4a-mq-dur: 26s;
}

.m4a-mq--b i {
  color: #141414;
  text-shadow: none;
  font-family: var(--m4a-sans);
}

@keyframes m4a-mq {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

/* ---------- servicios (3 tarjetas) ---------- */
.m4a-section {
  padding: 72px 40px;
  max-width: 1440px;
  margin: 0 auto;
}

.m4a-section-head {
  margin-bottom: 28px;
}

.m4a-services {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.m4a-svc {
  position: relative;
  display: block;
  height: 520px;
  border-radius: 28px;
  overflow: hidden;
  color: var(--m4a-ink);
  text-decoration: none;
}

.m4a-svc img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.m4a-svc-pill {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  min-height: 52px;
  padding: 12px 18px 12px 22px;
  border-radius: 999px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 15px;
}

.m4a-svc-pill b {
  color: var(--m4a-neon);
  font-weight: 800;
}

/* ---------- catálogo vintage ---------- */
.m4a-catalog {
  background: var(--m4a-blush);
  padding: 72px 40px 80px;
}

.m4a-catalog-in {
  max-width: 1440px;
  margin: 0 auto;
}

.m4a-cards {
  display: grid;
  grid-template-columns: 1.45fr 0.85fr 0.85fr 0.85fr;
  gap: 22px;
  align-items: start;
  margin-top: 28px;
}

.m4a-card {
  background: #fff;
  padding: 14px 14px 22px;
  border-radius: 0;
  box-shadow: 0 12px 30px #14141418;
  color: var(--m4a-ink);
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.m4a-card:nth-child(1) { transform: rotate(-2deg); }
.m4a-card:nth-child(2) { transform: rotate(1.5deg); }
.m4a-card:nth-child(3) { transform: rotate(-1deg); }
.m4a-card:nth-child(4) { transform: rotate(2deg); }

.m4a-card-photo {
  position: relative;
  height: 260px;
  overflow: hidden;
}

.m4a-card--star .m4a-card-photo {
  height: 420px;
}

.m4a-card-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: sepia(0.2);
}

.m4a-card--star .m4a-card-photo img {
  filter: sepia(0.48) contrast(1.06);
}

.m4a-card-tag {
  position: absolute;
  top: 10px;
  left: 10px;
  background: var(--m4a-fuchsia);
  color: #fff;
  border-radius: 999px;
  padding: 6px 12px;
  font-family: var(--m4a-sans);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.m4a-card-num {
  color: var(--m4a-fuchsia);
  font-size: 14px;
}

.m4a-card-title {
  font-size: 30px;
  line-height: 0.9;
}

.m4a-card--star .m4a-card-title {
  font-size: clamp(34px, 3vw, 46px);
}

.m4a-card p {
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
  color: var(--m4a-muted);
}

.m4a-card-more {
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px dashed var(--m4a-dash);
  color: var(--m4a-ink);
  font-size: 14px;
}

.m4a-card-price {
  display: block;
  font-family: var(--m4a-sans);
  font-weight: 900;
  font-stretch: 72%;
  font-size: 32px;
  letter-spacing: -0.04em;
  line-height: 1;
  color: var(--m4a-ink);
}

/* ---------- galería ---------- */
.m4a-gal {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}

.m4a-gal img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  border-radius: 20px;
  display: block;
}

/* ---------- packs tipo entrada ---------- */
.m4a-packs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  align-items: start;
}

.m4a-ticket {
  background: #fff;
  border: 2px dashed var(--m4a-fuchsia);
  border-radius: 0;
  text-align: center;
  padding: 32px 26px 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.m4a-ticket-admit {
  color: var(--m4a-fuchsia);
  font-size: 15px;
}

.m4a-ticket-name {
  font-size: 48px;
  line-height: 0.9;
}

.m4a-ticket-sub {
  font-size: 14px;
  padding: 8px 0;
  border-top: 1px solid var(--m4a-ink);
  border-bottom: 1px solid var(--m4a-ink);
}

.m4a-ticket ul {
  list-style: none;
  margin: 4px 0 8px;
  padding: 0;
  text-align: left;
}

.m4a-ticket li {
  padding: 8px 0;
  border-bottom: 1px solid var(--m4a-line);
  font-size: 15px;
  color: var(--m4a-muted-2);
}

.m4a-ticket .m4a-btn {
  width: 100%;
  margin-top: auto;
}

/* ---------- bloques que se conservan (formulario, proceso, filosofía) ---------- */
.m4a-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}

.m4a-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.m4a-step-n {
  font-family: var(--m4a-elite);
  color: var(--m4a-fuchsia);
  font-size: 18px;
}

.m4a-quote {
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
  font-family: var(--m4a-sans);
  font-weight: 500;
  font-stretch: 72%;
  font-size: clamp(26px, 3vw, 40px);
  line-height: 1.15;
  text-transform: uppercase;
}

.m4a-form label {
  display: block;
  margin: 14px 0 6px;
  font-family: var(--m4a-elite);
  font-size: 14px;
  color: var(--m4a-fuchsia);
}

.m4a-form input,
.m4a-form textarea,
.m4a-form select {
  width: 100%;
  min-height: 48px;
  border: 0;
  border-bottom: 1px solid var(--m4a-ink);
  background: transparent;
  font-family: var(--m4a-sans);
  font-size: 16px;
  color: var(--m4a-ink);
  border-radius: 0;
  padding: 10px 0;
}

.m4a-form textarea {
  min-height: 110px;
  resize: vertical;
}

.m4a-form input:focus,
.m4a-form textarea:focus,
.m4a-form select:focus {
  outline: none;
  border-bottom-color: var(--m4a-neon);
}

/* ---------- ciudades ---------- */
.m4a-zones-wrap {
  padding: 10px 24px 24px;
}

.m4a-zones {
  background: var(--m4a-fuchsia);
  color: #fff;
  border-radius: 32px;
  padding: 64px 40px 56px;
  text-align: center;
}

.m4a-zones-eye {
  font-size: 16px;
  margin-bottom: 16px;
}

.m4a-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 28px;
}

.m4a-pill {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 18px;
  border-radius: 999px;
  background: #fff;
  color: var(--m4a-fuchsia);
  text-decoration: none;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 14px;
}

.m4a-pill:hover {
  box-shadow: 0 0 10px #fff, 0 0 30px #fff8;
}

.m4a-zones-title {
  font-size: clamp(42px, 8.6vw, 110px);
  color: #fff;
  margin: 8px 0 28px;
}

/* ---------- footer ---------- */
.m4a-foot {
  background: #fff;
  color: var(--m4a-ink);
  border-top: 1px solid var(--m4a-line);
  padding: 48px 40px 36px;
}

.m4a-foot-grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 28px;
}

.m4a-foot a {
  color: var(--m4a-ink);
  text-decoration: none;
}

.m4a-foot a:hover {
  color: var(--m4a-fuchsia);
}

.m4a-foot-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 15px;
}

.m4a-foot-col strong {
  font-family: var(--m4a-elite);
  font-weight: 400;
  color: var(--m4a-fuchsia);
  margin-bottom: 4px;
}

.m4a-foot small {
  display: block;
  margin-top: 22px;
  color: var(--m4a-muted);
  font-size: 13px;
}

/* burbuja WhatsApp — solo si se añade la clase; no toca #wa actual */
.m4a-wa {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 60;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--m4a-wa);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px #14141433;
  text-decoration: none;
}

.m4a-wa-tip {
  position: absolute;
  right: 72px;
  bottom: 12px;
  background: #fff;
  color: var(--m4a-ink);
  border-radius: 999px;
  padding: 10px 14px;
  font-family: var(--m4a-sans);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  box-shadow: 0 8px 24px #14141422;
}

/* ---------- móvil ---------- */
@media (max-width: 980px) {
  .m4a-nav,
  .m4a-head-actions {
    display: none;
  }

  .m4a-burger {
    display: inline-flex;
  }

  .m4a-hero {
    grid-template-columns: 1fr;
    padding: 28px 20px 8px;
    justify-items: center;
  }

  .m4a-hero-copy {
    width: 100%;
  }

  .m4a-display {
    font-size: clamp(36px, 10vw, 56px);
  }

  .m4a-strip {
    width: min(290px, 78vw);
  }

  .m4a-hero-photo {
    width: calc(100% - 32px);
    height: 360px;
    border-radius: 22px;
  }

  .m4a-section,
  .m4a-catalog {
    padding-left: 20px;
    padding-right: 20px;
  }

  .m4a-services,
  .m4a-packs,
  .m4a-steps,
  .m4a-split,
  .m4a-foot-grid {
    grid-template-columns: 1fr;
  }

  .m4a-svc {
    height: 420px;
  }

  .m4a-cards {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 12px 4px 20px;
    -webkit-overflow-scrolling: touch;
  }

  .m4a-card {
    flex: 0 0 78%;
    scroll-snap-align: center;
  }

  .m4a-card--star {
    flex-basis: 86%;
  }

  .m4a-card--star .m4a-card-photo {
    height: 300px;
  }

  .m4a-gal {
    grid-template-columns: 1fr 1fr;
  }

  .m4a-gal img {
    height: 200px;
  }

  .m4a-mq--a {
    font-size: 16px;
  }

  .m4a-mq--b {
    font-size: 22px;
  }

  .m4a-zones {
    padding: 40px 18px;
    border-radius: 24px;
  }

  .m4a-foot {
    padding-bottom: 108px;
  }

  .m4a-ticket-name {
    font-size: 40px;
  }
}

@media (max-width: 640px) {
  .m4a-gal {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .m4a-mq-track,
  .m4a-strip,
  .m4a-btn--pulse {
    animation: none !important;
  }

  .m4a-strip {
    transform: none;
  }
}

/* ---------- panel (fase posterior). Sobrio: sin rótulos ni balanceo ---------- */
.m4a-panel {
  background: #fff;
  color: var(--m4a-ink);
  min-height: 100vh;
}

.m4a-panel .m4a-mq,
.m4a-panel .m4a-strip {
  display: none;
}

.m4a-panel .m4a-btn--pulse {
  animation: none;
}

.m4a-panel-shell {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  min-height: 100vh;
}

.m4a-side {
  border-right: 1px solid var(--m4a-line);
  padding: 22px 16px;
  background: #fff;
}

.m4a-side a {
  display: flex;
  align-items: center;
  min-height: 44px;
  color: var(--m4a-ink);
  text-decoration: none;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 13px;
}

.m4a-side a.is-on,
.m4a-side a:hover {
  color: var(--m4a-fuchsia);
}

.m4a-panel-main {
  padding: 28px 28px 64px;
}

.m4a-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.m4a-table th,
.m4a-table td {
  text-align: left;
  padding: 12px 10px;
  border-bottom: 1px solid var(--m4a-line);
  vertical-align: middle;
}

.m4a-table th {
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--m4a-muted);
  font-weight: 700;
}

.m4a-status {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--m4a-blush);
  color: var(--m4a-fuchsia);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.m4a-field {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--m4a-line);
  background: #fff;
  color: var(--m4a-ink);
  font-family: var(--m4a-sans);
  font-size: 15px;
  padding: 10px 12px;
  border-radius: 0;
}

.m4a-field:focus {
  outline: none;
  border-color: var(--m4a-neon);
}

.m4a-lab {
  display: block;
  margin: 0 0 6px;
  font-size: 13px;
  color: var(--m4a-fuchsia);
}

@media (max-width: 800px) {
  .m4a-panel-shell {
    grid-template-columns: 1fr;
  }

  .m4a-side {
    border-right: 0;
    border-bottom: 1px solid var(--m4a-line);
    display: flex;
    gap: 8px;
    overflow-x: auto;
  }

  .m4a-side a {
    white-space: nowrap;
  }
}
/* La home (body.m4a) deja el negro. El resto de páginas no usa esta clase. */
body.m4a {
  background: #fff !important;
  color: #141414 !important;
  cursor: auto !important;
  font-family: "Archivo", "Arial Narrow", Helvetica, sans-serif !important;
  font-weight: 400;
}
body.m4a::after { content: none !important; display: none !important; }
body.m4a #cur,
body.m4a #curR { display: none !important; }

body.m4a #nav {
  position: sticky;
  top: 0;
  left: auto;
  right: auto;
  padding: 14px 28px !important;
  background: #fff !important;
  border-bottom: 1px solid #14141414 !important;
  backdrop-filter: none;
  z-index: 40;
}
body.m4a #nav.sc {
  padding: 14px 28px !important;
  background: #fff !important;
}
body.m4a .hbg { display: none; background: none; border: 0; cursor: pointer; }
body.m4a .hbg span { background: #141414; width: 16px; height: 1.5px; }
body.m4a .mob {
  display: none;
  opacity: 1;
  pointer-events: none;
  background: #fff !important;
  color: #141414 !important;
  align-items: stretch;
  justify-content: flex-start;
  padding: 20px 22px 28px !important;
  text-align: left;
}
body.m4a .mob.on { display: flex; pointer-events: auto; }
body.m4a .mob a {
  font-family: "Archivo", sans-serif !important;
  font-style: normal !important;
  font-weight: 800;
  font-size: 18px !important;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: left;
  color: #141414 !important;
  min-height: 48px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #14141414;
}
body.m4a .mob .m4a-btn { color: #fff !important; border: 0; justify-content: center; margin-top: 18px; }

body.m4a #hero,
body.m4a #servicios,
body.m4a #galeria,
body.m4a #bodas,
body.m4a #packs,
body.m4a #testi,
body.m4a #proceso,
body.m4a #nosotros,
body.m4a #contacto,
body.m4a footer {
  display: block !important;
  background: transparent !important;
  color: #141414 !important;
  min-height: 0 !important;
  border: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.m4a #contacto { background: #fff !important; }
body.m4a #packs,
body.m4a #proceso { background: #fff !important; }
body.m4a #testi::before { content: none !important; }
body.m4a h1,
body.m4a h2,
body.m4a h3,
body.m4a h4,
body.m4a p { opacity: 1 !important; animation: none !important; }
body.m4a h1 em,
body.m4a .m4a-h em { font-style: italic; color: #C6A75E; }

body.m4a .m4a-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: 1100px;
  margin: 28px auto 0;
  padding: 8px 40px 10px;
}
body.m4a .m4a-stats div {
  padding: 16px 18px;
  border-left: 1px solid #14141414;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
body.m4a .m4a-stats strong {
  font-family: "Archivo", sans-serif;
  font-weight: 900;
  font-stretch: 72%;
  font-size: 36px;
  line-height: 0.9;
  letter-spacing: -0.02em;
}
body.m4a .m4a-stats span {
  font-size: 14px;
  color: #4a4a4a;
}

body.m4a .tc-q {
  font-family: "Archivo", sans-serif !important;
  font-weight: 500;
  font-stretch: 72%;
  font-style: normal !important;
  text-transform: uppercase;
  color: #141414 !important;
  font-size: clamp(22px, 2.6vw, 34px) !important;
  line-height: 1.15 !important;
}
body.m4a .tc-a { color: #C6A75E !important; letter-spacing: 0.08em; }
body.m4a .tc-a::before,
body.m4a .tc-a::after { background: #14141422 !important; }
body.m4a .tn-a { color: #141414 !important; min-width: 44px; min-height: 44px; cursor: pointer; }
body.m4a .tn-d { background: #14141433 !important; cursor: pointer; min-height: 44px; }
body.m4a .tn-d.on { background: #C6A75E !important; }

body.m4a .cf label {
  font-family: "Special Elite", monospace !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #C6A75E !important;
}
body.m4a .cf { border-bottom-color: #141414 !important; }
body.m4a .cf input,
body.m4a .cf textarea {
  font-family: "Archivo", sans-serif !important;
  color: #141414 !important;
  font-size: 16px !important;
}
body.m4a .cf:focus-within { border-bottom-color: #C6A75E !important; }
body.m4a .btn-dark {
  background: #C6A75E !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-family: "Archivo", sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  box-shadow: 0 0 8px #C6A75E, 0 0 24px #C6A75E77;
  cursor: pointer;
}
body.m4a .ct-tx,
body.m4a .ct-tx a,
body.m4a .ct-alt,
body.m4a .ct-alt a { color: #3a3a3a !important; }
body.m4a .ct-alt a { color: #C6A75E !important; }

body.m4a footer {
  background: #fff !important;
  padding: 48px 40px 120px !important;
}
body.m4a #ck {
  background: #fff !important;
  color: #141414 !important;
  border-top: 1px solid #14141414 !important;
}
body.m4a .ck-in p,
body.m4a .ck-in p a { color: #3a3a3a !important; }
body.m4a .ck-ok {
  background: #C6A75E !important;
  color: #fff !important;
  border-radius: 999px;
  min-height: 44px;
  padding: 0 18px;
  cursor: pointer;
}
body.m4a .ck-no {
  color: #141414 !important;
  border: 1.5px solid #141414 !important;
  border-radius: 999px;
  min-height: 44px;
  background: #fff !important;
  cursor: pointer;
}
body.m4a #langbar {
  background: #fff !important;
  color: #141414 !important;
  border: 1px solid #C6A75E !important;
}
body.m4a #langbar a { color: #C6A75E !important; }
body.m4a .mp-install {
  background: #fff !important;
  color: #141414 !important;
  border: 1px solid #C6A75E !important;
}
body.m4a .mp-install button { color: #C6A75E !important; }
body.m4a .mp-install button.mp-add {
  background: #C6A75E !important;
  color: #fff !important;
  border-radius: 999px;
}

@media (max-width: 980px) {
  body.m4a .hbg { display: inline-flex !important; }
  body.m4a .m4a-stats { grid-template-columns: 1fr 1fr; padding: 8px 20px; }
}
@media (max-width: 768px) {
  body.m4a .mp-bar {
    background: #fff !important;
    border-top: 1px solid #14141414 !important;
  }
  body.m4a .mp-bar-cta {
    background: #C6A75E !important;
    color: #fff !important;
    border-radius: 999px;
    box-shadow: 0 0 8px #C6A75E, 0 0 24px #C6A75E77;
    font-family: "Archivo", sans-serif !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
  }
  body.m4a .mp-bar-wa {
    border: 2px solid #C6A75E !important;
    color: #C6A75E !important;
    border-radius: 999px;
    background: #fff !important;
  }
  body.m4a #ck { bottom: 80px; }
  body.m4a footer { padding-bottom: 130px !important; }
}

/* texto legible sobre blanco aunque la página traiga el CSS antiguo */
body.m4a p,
body.m4a li { color: #3a3a3a; }
body.m4a h1,
body.m4a h2,
body.m4a h3,
body.m4a h4 { color: #141414; }
body.m4a .m4a-kicker,
body.m4a .m4a-kicker a,
body.m4a .m4a-card-num,
body.m4a .m4a-ticket-admit,
body.m4a .m4a-step-n { color: #C6A75E; }
body.m4a .m4a-neon-word { color: #C6A75E; }
body.m4a .m4a-btn,
body.m4a .m4a-btn:hover { color: #fff; }
body.m4a .m4a-btn--ghost { color: #C6A75E; }
body.m4a .m4a-btn--ghost:hover { color: #fff; }
body.m4a .m4a-nav a[aria-current="page"] { color: #C6A75E; }
body.m4a .m4a-foot a { color: #141414; }
body.m4a .m4a-foot a:hover { color: #C6A75E; }
.m4a-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.m4a-tag {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 4px 12px;
  border: 1px solid #14141422;
  border-radius: 999px;
  font-family: "Archivo", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #141414;
}

/* Fase 4: el resto de páginas, sin reescribir su contenido. */
body.m4a:not(:has(#nav)) .m4a-top { position: fixed; top: 0; left: 0; right: 0; z-index: 80; }
body.m4a:not(:has(.m4a-head)) #nav,
body.m4a:not(:has(.m4a-head)) #nav.sc {
  background: #fff !important;
  border-bottom: 1px solid #14141414 !important;
  backdrop-filter: none !important;
}
body.m4a:not(:has(.m4a-head)) .n-right a {
  color: #141414 !important;
  font-family: "Archivo", sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.04em !important;
}
body.m4a:not(:has(.m4a-head)) .n-right a:hover,
body.m4a:not(:has(.m4a-head)) .n-right a.active { color: #C6A75E !important; }
body.m4a:not(:has(.m4a-head)) .n-cta {
  background: #C6A75E !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 12px 18px !important;
  min-height: 44px;
  box-shadow: 0 0 8px #C6A75E, 0 0 22px #C6A75E88;
  font-family: "Archivo", sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
}
body.m4a:not(:has(.m4a-head)) .hero-int,
body.m4a:not(:has(.m4a-head)) .art-hero,
body.m4a:not(:has(.m4a-head)) .blog-hero {
  padding-top: 72px !important;
  min-height: 0 !important;
  color: #141414 !important;
}
body.m4a:not(:has(.m4a-head)) h1,
body.m4a:not(:has(.m4a-head)) h2,
body.m4a:not(:has(.m4a-head)) h3,
body.m4a:not(:has(.m4a-head)) .bp-title,
body.m4a:not(:has(.m4a-head)) .pk-name,
body.m4a:not(:has(.m4a-head)) .finca-name,
body.m4a:not(:has(.m4a-head)) .faq-q,
body.m4a:not(:has(.m4a-head)) .form-h {
  font-family: "Archivo", "Arial Narrow", sans-serif !important;
  font-weight: 900 !important;
  font-stretch: 72%;
  letter-spacing: -0.02em !important;
  text-transform: uppercase;
  color: #141414 !important;
  line-height: 0.95 !important;
}
body.m4a:not(:has(.m4a-head)) h1 { font-size: clamp(36px, 4.8vw, 68px) !important; }
body.m4a:not(:has(.m4a-head)) h1 em,
body.m4a:not(:has(.m4a-head)) h2 em,
body.m4a:not(:has(.m4a-head)) h3 em,
body.m4a:not(:has(.m4a-head)) .form-h em { color: #C6A75E !important; font-style: italic; }
body.m4a .hi-sub,
body.m4a .art-body p,
body.m4a .art-cta p,
body.m4a .faq-a,
body.m4a .faq-a p,
body.m4a .finca-desc,
body.m4a .finca-loc,
body.m4a .bp-excerpt,
body.m4a .blog-sub,
body.m4a .val-d,
body.m4a .pk-feat li,
body.m4a .split-cap,
body.m4a .form-sub,
body.m4a .form-alt,
body.m4a .ct-tx,
body.m4a .ct-tx a,
body.m4a .guide,
body.m4a .cl-link,
body.m4a .finca-table td,
body.m4a .finca-table th {
  color: #3a3a3a !important;
}
body.m4a .ed-tag,
body.m4a .blog-tag,
body.m4a .bp-tag,
body.m4a .hi-bread,
body.m4a .hi-bread a,
body.m4a .pk-badge,
body.m4a .art-tag,
body.m4a .form-tag,
body.m4a .tag,
body.m4a .detail,
body.m4a .bp-more,
body.m4a .cl-tag {
  color: #C6A75E !important;
  font-family: "Special Elite", monospace !important;
}
body.m4a .ed-tag::before,
body.m4a .gold-line,
body.m4a .gold-sep,
body.m4a .form-line,
body.m4a .line-t,
body.m4a .line-b { background: #C6A75E !important; }
body.m4a .hero-int::before,
body.m4a .art-hero::after { background: #C6A75E !important; }
body.m4a .btn-g,
body.m4a .btn-dark,
body.m4a .pk-cta,
body.m4a a.b.p,
body.m4a .mp-bar-cta {
  background: #C6A75E !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-family: "Archivo", sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  box-shadow: 0 0 8px #C6A75E, 0 0 24px #C6A75E77;
  min-height: 44px;
}
body.m4a .btn-s,
body.m4a a.b:not(.p),
body.m4a .mp-bar-wa {
  background: #fff !important;
  color: #C6A75E !important;
  border: 2px solid #C6A75E !important;
  border-radius: 999px !important;
  box-shadow: 0 0 10px #C6A75E55;
  font-family: "Archivo", sans-serif !important;
  font-weight: 800 !important;
  min-height: 44px;
}
body.m4a .btn-g:hover,
body.m4a .btn-s:hover,
body.m4a .pk-cta:hover,
body.m4a a.b:hover,
body.m4a a.b.p:hover { color: #fff !important; background: #C6A75E !important; }
body.m4a footer,
body.m4a .ft-copy,
body.m4a .ft-leg a,
body.m4a .ft-nav a,
body.m4a .ft-s { color: #141414 !important; }
body.m4a footer { background: #fff !important; border-top: 1px solid #14141414 !important; }
body.m4a .ft-s { border-color: #14141422 !important; }
body.m4a .ft-div { background: #14141414 !important; }
body.m4a .ft-logo img,
body.m4a .logo img { height: 64px !important; }
body.m4a .blog-post,
body.m4a .pk-card,
body.m4a .pk-card.ft,
body.m4a .pk-card.featured,
body.m4a .finca,
body.m4a .finca-card,
body.m4a .art-cta,
body.m4a .ct-form,
body.m4a .cross-links,
body.m4a .val,
body.m4a .guide {
  background: #fff !important;
  border-color: #14141418 !important;
  color: #141414 !important;
}
body.m4a .blog-post:hover,
body.m4a .pk-card:hover,
body.m4a .finca:hover,
body.m4a .finca-card:hover { background: #F4F1EB !important; border-color: #C6A75E !important; }
body.m4a .form-section { background: #F4F1EB !important; color: #141414 !important; border-top-color: #14141414 !important; }
body.m4a .ct-form { background: #F4F1EB !important; }
body.m4a .faq-item { border-color: #14141418 !important; }
body.m4a .faq-q { color: #141414 !important; }
body.m4a .faq-q::after { color: #C6A75E !important; }
body.m4a .split-img,
body.m4a .bp-thumb,
body.m4a .gc,
body.m4a .venue-imgs figure,
body.m4a .lomo-gal figure { background: #f6f6f6 !important; }
body.m4a .split-img img,
body.m4a .bp-thumb img,
body.m4a .gc img,
body.m4a .nos-media-photo { filter: none !important; }
body.m4a .gc-ov { display: none !important; }
body.m4a .ff,
body.m4a .cf { border-bottom-color: #141414 !important; }
body.m4a .ff label,
body.m4a .cf label { color: #C6A75E !important; font-family: "Special Elite", monospace !important; letter-spacing: 0 !important; text-transform: none !important; }
body.m4a .ff input,
body.m4a .ff textarea,
body.m4a .ff select,
body.m4a .cf input,
body.m4a .cf textarea,
body.m4a .cf select { color: #141414 !important; background: transparent !important; font-family: "Archivo", sans-serif !important; }
body.m4a .ff select option,
body.m4a .cf select option { background: #fff !important; color: #141414 !important; }
body.m4a .check { border-color: #C6A75E !important; }
body.m4a .en,
body.m4a .en a { color: #C6A75E !important; }
@media (max-width: 768px) {
  body.m4a:not(:has(.m4a-head)) .hero-int,
  body.m4a:not(:has(.m4a-head)) .art-hero,
  body.m4a:not(:has(.m4a-head)) .blog-hero { padding-top: 36px !important; }
  body.m4a:not(:has(.m4a-head)) h1 { font-size: clamp(32px, 9vw, 48px) !important; }
}

/* H1 home: tres renglones, grandes, sin invadir la foto. */
#hero h1.m4a-display{
  font-size: clamp(90px, 10.75vw, 160px) !important;
  max-width: 100% !important;
  line-height: 0.86 !important;
  letter-spacing: -0.035em;
}
#hero h1.m4a-display br{display:block!important}
#hero h1.m4a-display .ln{
  display:block!important;
  white-space:nowrap;
}
#hero .m4a-hero{
  align-items:center;
  padding-top:18px;
  padding-bottom:28px;
  gap:64px;
}
#hero .m4a-hero-copy{
  position:relative;
  z-index:2;
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
#hero .m4a-strip{
  position:relative;
  z-index:1;
  justify-self:end;
}

/* Foto de invitadas: el recorte enseña las caras, no el suelo. */
#hero .m4a-strip img[src*="invitadas-sombreros"],
.m4a-svc img.m4a-face{
  object-position:center 16%;
}

/* Móvil: la tira sigue balanceándose, pequeña, a la derecha del título. */
@media (max-width: 980px){
  #hero .m4a-hero{
    position:relative;
    display:block;
  }
  #hero .m4a-hero-copy{
    overflow:visible;
  }
  #hero .m4a-lead{
    padding-right:124px;
  }
  #hero .m4a-strip{
    position:absolute;
    top:108px;
    right:12px;
    width:108px;
    margin:0;
    padding:6px 6px 16px;
    z-index:3;
    animation:m4a-sway 6s ease-in-out infinite;
  }
  #hero .m4a-strip img{
    height:48px;
  }
  #hero .m4a-strip figcaption{
    margin-top:4px;
    font-size:8px;
  }
}

/* La barra fija no duplica el botón de la portada. */
@media (max-width: 768px){
  body.m4a-home .mp-bar{
    transition:transform .28s ease, opacity .28s ease;
  }
  body.m4a-home .mp-bar.is-hold{
    transform:translateY(130%);
    opacity:0;
    pointer-events:none;
  }
}

/* Botones: un acento, no un foco. */
.m4a-btn,
body.m4a .m4a-btn,
body.m4a .btn-g,
body.m4a .btn-dark,
body.m4a .pk-cta,
body.m4a a.b.p,
body.m4a .mp-bar-cta,
body.m4a:not(:has(.m4a-head)) .n-cta,
body.m4a .ck-ok{
  box-shadow: 0 6px 14px rgba(20, 20, 20, 0.10) !important;
}
.m4a-btn:hover,
body.m4a .m4a-btn:hover,
body.m4a .btn-g:hover,
body.m4a .pk-cta:hover,
body.m4a .mp-bar-cta:hover{
  box-shadow: 0 8px 16px rgba(198, 167, 94, 0.28) !important;
}
.m4a-btn--ghost,
body.m4a .m4a-btn--ghost,
body.m4a .btn-s,
body.m4a a.b:not(.p),
body.m4a .mp-bar-wa{
  box-shadow: none !important;
}
.m4a-btn--ghost:hover,
body.m4a .m4a-btn--ghost:hover{
  box-shadow: none !important;
}
@keyframes m4a-neon{
  0%, 100%{ box-shadow: 0 6px 14px rgba(20, 20, 20, 0.10); }
  50%{ box-shadow: 0 8px 16px rgba(198, 167, 94, 0.22); }
}
.m4a-neon-word,
body.m4a .m4a-neon-word{
  text-shadow: none;
}

/* Móvil: la página llega a los dos bordes. Nada se sale y recorta la izquierda. */
html,
body.m4a{
  overflow-x: clip;
  max-width: 100%;
}
@media (max-width: 980px){
  body.m4a #nav,
  body.m4a .m4a-top,
  body.m4a #hero,
  body.m4a .m4a-catalog,
  body.m4a .m4a-mq,
  body.m4a .m4a-section,
  body.m4a footer{
    max-width: 100%;
    box-sizing: border-box;
  }
  #hero .m4a-hero{
    width: 100%;
    padding-left: 16px;
    padding-right: 16px;
    margin-left: 0;
    margin-right: 0;
  }
  #hero .m4a-hero-copy{
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    padding-right: 0;
  }
  #hero h1.m4a-display{
    font-size: clamp(46px, 12.2vw, 72px) !important;
    max-width: 100% !important;
  }
  #hero .m4a-lead{
    padding-right: 112px;
  }
  .m4a-cards{
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }
  .m4a-card{
    transform: none;
  }
  .m4a-section,
  .m4a-catalog{
    padding-left: 16px;
    padding-right: 16px;
  }
}


@media (max-width: 980px){
  #hero h1.m4a-display{ font-size: clamp(70px, 16.25vw, 110px) !important; }
  #hero .m4a-hero{ align-items:start; gap:28px; }
}

/* Dorado de marca. El texto de botón va en negro para que se lea. */
body.m4a .m4a-top,
body.m4a .m4a-btn,
body.m4a .btn-g,
body.m4a .btn-dark,
body.m4a .pk-cta,
body.m4a a.b.p,
body.m4a .mp-bar-cta,
body.m4a .n-cta,
body.m4a .ck-ok,
body.m4a .m4a-card-tag,
body.m4a .m4a-zones,
body.m4a .m4a-zones-title,
body.m4a .m4a-btn--on{
  color: #0B0B0B !important;
}
body.m4a .m4a-btn--ghost,
body.m4a .btn-s,
body.m4a a.b:not(.p),
body.m4a .mp-bar-wa{
  color: #0B0B0B !important;
  border-color: #C6A75E !important;
  background: #fff !important;
}
body.m4a .m4a-pill{ color: #0B0B0B !important; }
body.m4a .m4a-brand img,
body.m4a .n-logo img,
body.m4a .ft-logo img,
body.m4a .logo img,
body.m4a footer img[alt="Maison Photobooth"]{
  height: auto !important;
  width: auto !important;
  max-height: 44px !important;
  max-width: 168px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
body.m4a .m4a-brand img,
body.m4a .n-logo img{
  max-height: 36px !important;
  max-width: 120px !important;
}

/* Títulos de la primera sección: claros sobre la foto oscura. */
body.m4a .hero-int,
body.m4a .hero-int h1,
body.m4a .hero-int h2,
body.m4a .hero-int .hi-sub,
body.m4a .hero-int .hi-bread,
body.m4a .hero-int .hi-bread a,
body.m4a .art-hero,
body.m4a .art-hero h1,
body.m4a .art-hero p{
  color: #F4F1EB !important;
  text-shadow: 0 1px 8px rgba(11,11,11,.45);
}
body.m4a .hero-int h1 em,
body.m4a .art-hero h1 em,
body.m4a .hero-int em{ color: #C6A75E !important; }
body.m4a .hero-int{ background-position: center top !important; }
.m4a-card-photo img,
.m4a-hero-photo,
.m4a-svc img,
#hero .m4a-strip img{
  object-position: center 8% !important;
}
