/* Mar Menor Mobility · web (minimalista) */
.mmm {
	--az: #2D439E; --az2: #1C2A66; --nar: #F58718; --nar2: #E07A12; --tin: #141B33; --txt: #3B4256; --gris: #5B6378;
	--lin: #E3E7F1; --suave: #F3F5FB; --r: 18px;
	font-family: Montserrat, system-ui, sans-serif; color: var(--txt); font-size: 16px; line-height: 1.55;
}
.mmm *, .mmm *::before, .mmm *::after { box-sizing: border-box; }
.mmm a { text-decoration: none; }
.mmm h1, .mmm h2, .mmm h3 { font-family: Montserrat, system-ui, sans-serif; color: var(--tin); letter-spacing: -.02em; margin: 0; line-height: 1.15; }
.mmm .mmm-ico { flex: 0 0 auto; }
.mmm-pagina { max-width: 1280px; margin: 0 auto; padding: 48px 24px 88px; }

/* Reset frente a los estilos de botones del tema */
.mmm button { font-family: inherit; text-transform: none; letter-spacing: normal; text-decoration: none; line-height: 1.2; box-shadow: none; }
.mmm button:focus-visible, .mmm a:focus-visible { outline: 2px solid var(--az); outline-offset: 2px; }

/* Botones */
.mmm-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 26px; border-radius: 10px; font-weight: 700; font-size: 16px; border: 0; cursor: pointer; transition: background .2s, color .2s, box-shadow .2s; }
.mmm a.mmm-btn-nar { background: var(--nar); color: var(--tin); }
.mmm a.mmm-btn-nar:hover { background: var(--nar2); color: var(--tin); }
.mmm a.mmm-btn-azul-borde { box-shadow: inset 0 0 0 2px var(--az); color: var(--az); background: #fff; }
.mmm a.mmm-btn-azul-borde:hover { background: var(--az); color: #fff; }
.mmm a.mmm-btn-sec { box-shadow: inset 0 0 0 2px var(--tin); color: var(--tin); background: #fff; }
.mmm a.mmm-btn-sec:hover { background: var(--tin); color: #fff; }
.mmm a.mmm-btn-txt { color: var(--az); min-height: 44px; padding: 0 4px; text-decoration: underline; text-underline-offset: 4px; }

/* Filtros */
.mmm-filtros { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.mmm button.mmm-filtro { min-height: 44px; padding: 0 20px; border-radius: 999px; border: 1.5px solid var(--lin); background: #fff; color: var(--tin); font: 600 15px Montserrat, system-ui, sans-serif; cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
.mmm button.mmm-filtro, .mmm button.mmm-filtro:hover, .mmm button.mmm-filtro:focus { background: #fff !important; color: var(--tin) !important; border: 1.5px solid var(--lin) !important; }
.mmm button.mmm-filtro:hover { border-color: var(--tin) !important; }
.mmm button.mmm-filtro.on { background: var(--tin) !important; border-color: var(--tin) !important; color: #fff !important; }

/* Barra de filtros con marca */
.mmm-filtros-barra { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; justify-content: space-between; margin-bottom: 28px; }
.mmm-filtros-barra .mmm-filtros { margin-bottom: 0; }
.mmm .mmm-filtro-marca select { min-height: 44px; min-width: 200px; padding: 0 40px 0 18px; border-radius: 999px; border: 1.5px solid var(--lin); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23141B33' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center; appearance: none; -webkit-appearance: none; font: 600 15px Montserrat, system-ui, sans-serif; color: var(--tin); cursor: pointer; }
.mmm .mmm-filtro-marca select:hover { border-color: var(--tin); }
.mmm-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mmm-ficha-marca { display: flex; align-items: center; gap: 12px; }
.mmm .mmm-logo-marca { width: auto !important; max-width: 120px; object-fit: contain; display: block; }
.mmm-archivo-cab .mmm-logo-marca { margin-bottom: 14px; }

/* Rejilla y tarjeta */
.mmm-rejilla { display: grid; gap: 28px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mmm-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mmm-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mmm-cols-1 { grid-template-columns: minmax(0, 1fr); }
.mmm-card { display: flex; flex-direction: column; background: #fff; border-radius: var(--r); box-shadow: 0 0 0 1px var(--lin); overflow: hidden; transition: box-shadow .25s, transform .25s; }
.mmm-card:hover { box-shadow: 0 0 0 1px var(--lin), 0 18px 40px rgba(20,27,51,.10); transform: translateY(-2px); }
.mmm-card[hidden] { display: none; }
.mmm-card-foto { position: relative; display: block; aspect-ratio: 16 / 10; background: var(--suave); overflow: hidden; }
.mmm .mmm-card-foto img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; display: block; transition: transform .5s; }
.mmm-card:hover .mmm-card-foto img { transform: scale(1.03); }
.mmm-sin-foto { display: block; width: 100%; height: 100%; background: var(--suave); }
.mmm-badges { position: absolute; top: 14px; left: 14px; display: flex; gap: 6px; }
.mmm-badge { background: rgba(255,255,255,.95); color: var(--tin); font-size: 12px; font-weight: 700; letter-spacing: .02em; padding: 5px 10px; border-radius: 999px; }
.mmm-badge-oferta { background: var(--nar); color: var(--tin); }
.mmm-card-cuerpo { padding: 22px 22px 20px; display: flex; flex-direction: column; gap: 6px; flex-grow: 1; }
.mmm-card-tipo { font-size: 12px; font-weight: 700; color: var(--gris); text-transform: uppercase; letter-spacing: .1em; }
.mmm-card-titulo { font-size: 21px; font-weight: 800; }
.mmm .mmm-card-titulo a { color: var(--tin); }
.mmm .mmm-card-titulo a:hover { color: var(--az); }
.mmm-card-version { margin: 0; font-size: 14px; color: var(--gris); }
.mmm-datos { display: flex; flex-wrap: wrap; gap: 6px 16px; list-style: none; margin: 8px 0 0; padding: 0; font-size: 14px; }
.mmm-datos li { display: inline-flex; align-items: center; gap: 6px; margin: 0; color: var(--txt); }
.mmm-datos .mmm-ico { color: var(--gris); }
.mmm-card-pie { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--lin); margin-top: 18px; }
.mmm-precios { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.mmm-precio small { display: block; font-size: 12px; color: var(--gris); }
.mmm-precio span { display: inline-flex; align-items: baseline; gap: 6px; }
.mmm-precio s { color: var(--gris); font-size: 14px; }
.mmm-precio b { font-size: 22px; font-weight: 800; color: var(--tin); letter-spacing: -.02em; }
.mmm-precio i { font-style: normal; font-size: 13px; color: var(--gris); margin-left: -3px; }
.mmm-card-btn { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--suave); color: var(--tin); transition: background .2s, color .2s; }
.mmm-card:hover .mmm-card-btn, .mmm-card-btn:hover { background: var(--az); color: #fff; }

/* No disponible */
.mmm-card-no .mmm-card-foto img { filter: grayscale(1); opacity: .55; }
.mmm-card-no .mmm-precio b { color: var(--gris); }
.mmm-no-disp { position: absolute; left: 14px; right: 14px; bottom: 14px; background: rgba(20,27,51,.88); color: #fff; border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; backdrop-filter: blur(4px); }
.mmm-no-disp b { font-size: 15px; font-weight: 700; }
.mmm-no-disp span { font-size: 13px; color: #D6DCF0; }
.mmm-no-disp-g { left: 20px; right: auto; bottom: 20px; padding: 14px 18px; }

.mmm-vacio { padding: 40px 0; color: var(--gris); text-align: center; }
.mmm-vacio[hidden] { display: none; }

/* Tipos */
.mmm-tipos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; }
.mmm-tipos li { margin: 0; }
.mmm-tipos a { display: flex; flex-direction: column; gap: 2px; padding: 20px 22px; border-radius: 14px; background: var(--suave); color: var(--tin); transition: background .2s, color .2s; }
.mmm-tipos a span { font-weight: 700; font-size: 17px; }
.mmm-tipos a small { color: var(--gris); font-size: 13px; }
.mmm-tipos a:hover { background: var(--az); color: #fff; }
.mmm-tipos a:hover small { color: #D6DCF0; }
.mmm-tipos-lista { list-style: none; margin: 0; padding: 0; }
.mmm-tipos-lista a { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--lin); color: var(--tin); font-weight: 600; }
.mmm-tipos-lista small { color: var(--gris); font-weight: 500; }

/* Archivo */
.mmm-archivo-cab { margin-bottom: 36px; max-width: 760px; }
.mmm-archivo-cab h1 { font-size: clamp(34px, 4.4vw, 54px); font-weight: 800; }
.mmm-archivo-cab p { font-size: 18px; color: var(--gris); margin: 12px 0 0; }

/* Ficha */
.mmm-migas { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; color: var(--gris); margin-bottom: 24px; }
.mmm-migas a { color: var(--gris); }
.mmm-migas a:hover { color: var(--az); }
.mmm-migas [aria-current] { color: var(--tin); font-weight: 600; }
.mmm-ficha-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.mmm-galeria-principal { position: relative; border-radius: 22px; overflow: hidden; aspect-ratio: 4 / 3; background: var(--suave); }
.mmm .mmm-galeria-principal img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; display: block; }
.mmm-miniaturas { display: flex; gap: 10px; margin-top: 12px; overflow-x: auto; padding-bottom: 4px; }
.mmm .mmm-miniaturas button { flex: 0 0 96px; height: 68px; padding: 0; border: 2px solid transparent; border-radius: 12px; overflow: hidden; cursor: pointer; background: none; opacity: .65; transition: opacity .2s, border-color .2s; }
.mmm .mmm-miniaturas button.on, .mmm .mmm-miniaturas button:hover { background: none; opacity: 1; border-color: var(--tin); }
.mmm .mmm-miniaturas img { width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; display: block; }
.mmm-ficha-info { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 8px; }
.mmm-ficha-titulo { font-size: clamp(32px, 3.6vw, 46px); font-weight: 800; }
.mmm-specs { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.mmm-specs li { display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--lin); margin: 0; font-size: 15px; }
.mmm-specs .mmm-ico { color: var(--gris); }
.mmm-specs span { color: var(--gris); }
.mmm-specs b { color: var(--tin); font-weight: 700; text-align: right; }
.mmm-eti { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; font-size: 9px; font-weight: 800; color: #fff !important; background: #6B7280; }
.mmm-eti-0 { background: #1D63B8; } .mmm-eti-eco { background: #1F8F4E; } .mmm-eti-c { background: #2E9E4A; } .mmm-eti-b { background: #E0B000; }
.mmm-ficha-precios { display: flex; flex-wrap: wrap; gap: 16px 40px; margin-top: 24px; }
.mmm-ficha-precio small { display: block; font-size: 13px; color: var(--gris); }
.mmm-ficha-precio .mmm-dias-min { margin-top: 4px; font-weight: 600; color: var(--tinta); }
.mmm-ficha-precio p { margin: 0; display: flex; align-items: baseline; gap: 8px; }
.mmm-ficha-precio s { color: var(--gris); font-size: 18px; }
.mmm-ficha-precio b { font-size: 40px; font-weight: 800; color: var(--tin); letter-spacing: -.03em; line-height: 1.1; }
.mmm-ficha-precio i { font-style: normal; color: var(--gris); font-size: 15px; }
.mmm-oferta-hasta { margin: 4px 0 0; font-size: 14px; font-weight: 600; color: #B85A00; }
.mmm-ficha-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 24px; }
.mmm-ficha-btns .mmm-btn-nar, .mmm-ficha-btns .mmm-btn-sec { flex: 1 1 200px; }
.mmm-ficha-desc { max-width: 760px; margin-top: 72px; }
.mmm-ficha-desc h2, .mmm-relacionados h2 { font-size: 28px; font-weight: 800; margin-bottom: 16px; }
.mmm-relacionados { margin-top: 80px; padding-top: 56px; border-top: 1px solid var(--lin); }
.mmm-relacionados .mmm-flota { font-size: 16px; }

@media (max-width: 1024px) {
	.mmm-rejilla, .mmm-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mmm-ficha-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.mmm-ficha-info { position: static; }
}
@media (max-width: 640px) {
	.mmm-rejilla, .mmm-cols-2, .mmm-cols-3, .mmm-cols-4 { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.mmm-pagina { padding: 28px 16px 64px; }
	.mmm-specs { grid-template-columns: minmax(0, 1fr); }
	.mmm-ficha-precio b { font-size: 34px; }
}
@media (prefers-reduced-motion: reduce) { .mmm * { transition: none !important; } }

/* ---------- Reserva en la web ---------- */
.mmm-reserva { max-width: 1180px; width: 100%; margin: 0 auto; container: mmmreserva / inline-size; }
.mmm-pasos { list-style: none; margin: 0 0 32px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 28px; counter-reset: none; }
.mmm-pasos li { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--gris); font-weight: 600; font-size: 15px; }
.mmm-pasos li span { width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; border: 1.5px solid var(--lin); font-weight: 700; font-size: 14px; }
.mmm-pasos li.actual { color: var(--tin); }
.mmm-pasos li.actual span { background: var(--tin); border-color: var(--tin); color: #fff; }
.mmm-pasos li.hecho span { background: var(--suave); border-color: var(--suave); color: var(--az); }
.mmm-alerta { background: #FEF0E2; color: #7A3E00; border-radius: 12px; padding: 14px 18px; margin-bottom: 24px; font-weight: 600; }
.mmm-nota { color: var(--gris); font-size: 14px; margin: 12px 0 0; }

.mmm-buscador { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1.1fr) auto; gap: 12px; align-items: end; background: #fff; border-radius: 18px; padding: 20px; box-shadow: 0 0 0 1px var(--lin), 0 18px 40px rgba(20,27,51,.06); }
.mmm-buscador label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; color: var(--gris); margin: 0; }
.mmm .mmm-buscador select, .mmm .mmm-buscador input, .mmm .mmm-campos-web input, .mmm .mmm-campos-web textarea, .mmm .mmm-campos-web select {
	width: 100%; min-height: 52px; border: 0; border-radius: 10px; background: var(--suave); padding: 0 14px; font: 500 15px Montserrat, system-ui, sans-serif; color: var(--tin); box-shadow: none; margin: 0;
}
.mmm .mmm-campos-web textarea { padding: 12px 14px; min-height: 90px; resize: vertical; }
.mmm .mmm-buscador select:focus, .mmm .mmm-buscador input:focus, .mmm .mmm-campos-web input:focus, .mmm .mmm-campos-web textarea:focus { outline: 2px solid var(--az); outline-offset: 0; background: #fff; }
.mmm-doble { display: flex; gap: 6px; }
.mmm .mmm-doble input { flex: 1 1 auto; min-width: 0; }
.mmm .mmm-doble select { flex: 0 0 96px; width: 96px; }
.mmm-buscador .mmm-btn { min-height: 52px; }
.mmm-buscador-compacto { margin-bottom: 24px; }

.mmm-resumen-fechas { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 40px; padding: 18px 24px; border-radius: 16px; background: var(--suave); margin-bottom: 24px; }
.mmm-resumen-fechas small { display: block; font-size: 12px; color: var(--gris); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.mmm-resumen-fechas b { display: block; color: var(--tin); font-size: 16px; }
.mmm-resumen-fechas span { font-size: 13px; color: var(--gris); }
.mmm-resumen-fechas .mmm-btn { margin-left: auto; min-height: 44px; padding: 0 20px; }
.mmm-cambiar[hidden] { display: none; }
.mmm-filtro-activo { margin: 0 0 16px; color: var(--gris); }

.mmm-lista-reserva { display: flex; flex-direction: column; gap: 16px; }
.mmm-opcion { display: grid; grid-template-columns: 260px minmax(0, 1fr) 220px; gap: 24px; align-items: center; background: #fff; border-radius: 18px; padding: 16px; box-shadow: 0 0 0 1px var(--lin); transition: box-shadow .2s; }
.mmm-opcion:hover { box-shadow: 0 0 0 1px var(--lin), 0 14px 32px rgba(20,27,51,.08); }
.mmm-opcion-foto { position: relative; aspect-ratio: 16 / 10; border-radius: 12px; overflow: hidden; background: var(--suave); }
.mmm .mmm-opcion-foto img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; }
.mmm-opcion-info { display: flex; flex-direction: column; gap: 4px; }
.mmm-opcion-info .mmm-card-titulo small { font-size: 14px; font-weight: 500; color: var(--gris); letter-spacing: 0; }
.mmm-opcion-km { margin: 6px 0 0; font-size: 14px; color: var(--gris); }
.mmm-opcion-precio { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; text-align: right; padding-right: 8px; }
.mmm-opcion-precio > b { font-size: 30px; font-weight: 800; color: var(--tin); letter-spacing: -.03em; line-height: 1.1; }
.mmm-opcion-precio small { color: var(--gris); font-size: 13px; margin-bottom: 8px; }
.mmm-opcion-precio .mmm-btn { min-height: 48px; min-width: 150px; }
.mmm-opcion-no { opacity: .65; }
.mmm-opcion-no .mmm-opcion-foto img { filter: grayscale(1); }
.mmm-btn-off { background: var(--suave); color: var(--gris); cursor: not-allowed; }

.mmm-reserva-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr); gap: 40px; align-items: start; }
.mmm-bloque { padding: 0 0 28px; margin-bottom: 28px; border-bottom: 1px solid var(--lin); }
.mmm-bloque:last-child { border: 0; }
.mmm-bloque h2 { font-size: 22px; font-weight: 800; margin-bottom: 16px; }
.mmm-campos-web { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.mmm-campos-web label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; color: var(--gris); margin: 0; }
.mmm-campos-web label small { font-weight: 500; }
.mmm-campos-web .mmm-ancho { grid-column: 1 / -1; }
.mmm-campos-web [hidden] { display: none; }
.mmm-extras { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.mmm-extra { position: relative; display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 12px; box-shadow: inset 0 0 0 1.5px var(--lin); cursor: pointer; margin: 0; transition: box-shadow .15s, background .15s; }
.mmm-extra input { position: absolute; opacity: 0; pointer-events: none; }
.mmm-extra-txt { flex: 1; display: flex; flex-direction: column; }
.mmm-extra-txt b { color: var(--tin); font-size: 15px; }
.mmm-extra-txt small { color: var(--gris); font-size: 13px; }
.mmm-extra-check { width: 22px; height: 22px; border-radius: 6px; box-shadow: inset 0 0 0 1.5px var(--lin); flex: 0 0 auto; }
.mmm-extra:has(input:checked) { box-shadow: inset 0 0 0 2px var(--az); background: #F7F8FD; }
.mmm-extra:has(input:checked) .mmm-extra-check { background: var(--az) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center no-repeat; box-shadow: none; }
.mmm-extra:has(input:focus-visible) { outline: 2px solid var(--az); outline-offset: 2px; }
.mmm-segmento { display: inline-flex; padding: 4px; background: var(--suave); border-radius: 12px; margin-bottom: 18px; }
.mmm-segmento label { margin: 0; }
.mmm-segmento input { position: absolute; opacity: 0; pointer-events: none; }
.mmm-segmento span { display: inline-flex; align-items: center; min-height: 42px; padding: 0 18px; border-radius: 9px; font-weight: 700; font-size: 14px; color: var(--gris); cursor: pointer; }
.mmm-segmento input:checked + span { background: #fff; color: var(--tin); box-shadow: 0 2px 8px rgba(20,27,51,.08); }
.mmm-segmento input:focus-visible + span { outline: 2px solid var(--az); }
.mmm-pagos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 20px; }
.mmm-pago { display: block; margin: 0; cursor: pointer; }
.mmm-pago input { position: absolute; opacity: 0; pointer-events: none; }
.mmm-pago span { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border-radius: 12px; box-shadow: inset 0 0 0 1.5px var(--lin); height: 100%; }
.mmm-pago b { color: var(--tin); }
.mmm-pago small { color: var(--gris); font-size: 13px; line-height: 1.4; }
.mmm-pago input:checked + span { box-shadow: inset 0 0 0 2px var(--az); background: #F7F8FD; }
.mmm-pago input:focus-visible + span { outline: 2px solid var(--az); }
.mmm-acepto { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; margin: 0 0 20px; }
.mmm-acepto input { width: 20px; height: 20px; margin: 1px 0 0; flex: 0 0 auto; }
.mmm-acepto a { color: var(--az); text-decoration: underline; }
.mmm-btn-grande { width: 100%; min-height: 58px; font-size: 17px; }
.mmm-reserva-resumen { position: sticky; top: 110px; }
.mmm-resumen-caja { background: #fff; border-radius: 18px; padding: 22px; box-shadow: 0 0 0 1px var(--lin), 0 18px 40px rgba(20,27,51,.06); }
.mmm-resumen-coche { display: flex; gap: 14px; align-items: center; padding-bottom: 16px; margin-bottom: 8px; border-bottom: 1px solid var(--lin); }
.mmm .mmm-resumen-coche img { width: 96px !important; height: 64px !important; object-fit: cover; border-radius: 10px; flex: 0 0 auto; }
.mmm-resumen-coche b { display: block; color: var(--tin); font-size: 17px; }
.mmm-resumen-coche small { color: var(--gris); }
.mmm-resumen-coche a { color: var(--az); text-decoration: underline; }
.mmm-desglose { list-style: none; margin: 0; padding: 0; font-size: 15px; }
.mmm-desglose li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--lin); margin: 0; }
.mmm-desglose li b { color: var(--tin); white-space: nowrap; font-variant-numeric: tabular-nums; }
.mmm-desglose li.descuento b { color: #1F7A4D; }
.mmm-desglose li.total { border: 0; padding-top: 16px; font-weight: 700; color: var(--tin); font-size: 17px; }
.mmm-desglose li.total small { font-weight: 500; color: var(--gris); font-size: 12px; }
.mmm-desglose li.total b { font-size: 28px; font-weight: 800; letter-spacing: -.02em; }
.mmm-desglose-nota { font-size: 13px; color: var(--gris); margin: 6px 0 0; }

.mmm-gracias { max-width: 720px; margin: 0 auto; text-align: center; padding: 24px 0; }
.mmm-gracias-ico { width: 72px; height: 72px; border-radius: 50%; background: #E8F5EE; color: #1F7A4D; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.mmm-gracias h2 { font-size: 32px; font-weight: 800; margin-bottom: 12px; }
.mmm-gracias > p { font-size: 17px; }
.mmm-gracias-resumen { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; text-align: left; background: var(--suave); border-radius: 16px; padding: 22px; margin: 28px 0 8px; }
.mmm-gracias-resumen small { display: block; font-size: 12px; color: var(--gris); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
.mmm-gracias-resumen b { display: block; color: var(--tin); }
.mmm-gracias-resumen span { font-size: 14px; color: var(--gris); }

@container mmmreserva (max-width: 980px) {
	.mmm-buscador { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mmm-buscador .mmm-btn { grid-column: 1 / -1; }
	.mmm-reserva-grid { grid-template-columns: minmax(0, 1fr); }
	.mmm-reserva-resumen { position: static; order: -1; }
	.mmm-opcion { grid-template-columns: 200px minmax(0, 1fr); }
	.mmm-opcion-precio { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; text-align: left; padding: 0; }
}
@container mmmreserva (max-width: 600px) {
	.mmm-buscador, .mmm-campos-web, .mmm-extras, .mmm-pagos, .mmm-gracias-resumen { grid-template-columns: minmax(0, 1fr); }
	.mmm-opcion { grid-template-columns: minmax(0, 1fr); }
	.mmm-pasos li { font-size: 0; gap: 0; }
	.mmm-pasos li.actual { font-size: 14px; gap: 8px; }
	.mmm-resumen-fechas .mmm-btn { margin-left: 0; width: 100%; }
}

/* Botones propios por encima de los estilos del tema */
.mmm button.mmm-btn-nar, .mmm button.mmm-btn-nar:hover, .mmm button.mmm-btn-nar:focus { background: var(--nar) !important; color: var(--tin) !important; border: 0 !important; }
.mmm button.mmm-btn-nar:hover { background: var(--nar2) !important; }
.mmm button.mmm-btn-sec, .mmm button.mmm-btn-sec:focus { background: #fff !important; color: var(--tin) !important; border: 0 !important; box-shadow: inset 0 0 0 2px var(--tin) !important; }
.mmm button.mmm-btn-sec:hover { background: var(--tin) !important; color: #fff !important; }
.mmm button[disabled] { opacity: .6; cursor: wait; }
.mmm-nota-rot { margin: 0 0 28px; padding: 12px 16px; border-radius: 12px; background: var(--suave); color: var(--txt); }
.mmm-ver-rot { display: inline-flex; padding: 4px; background: var(--suave); border-radius: 12px; margin-top: 12px; }
.mmm .mmm-ver-rot button { min-height: 40px; padding: 0 16px; border: 0 !important; border-radius: 9px; background: transparent !important; color: var(--gris) !important; font: 700 14px Montserrat, system-ui, sans-serif; cursor: pointer; }
.mmm .mmm-ver-rot button.on { background: #fff !important; color: var(--tin) !important; box-shadow: 0 2px 8px rgba(20,27,51,.08); }

.mmm-todos { margin-top: 56px; }
.mmm-todos > h2 { font-size: clamp(26px, 3vw, 34px); font-weight: 800; }
.mmm-todos > .mmm-nota { margin: 8px 0 24px; }

/* Formularios (contacto, renting, talleres) */
.mmm-form .mmm-campos-web { margin-bottom: 18px; }
.mmm-form .mmm-trampa { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.mmm-form .mmm-segmento { position: relative; flex-wrap: wrap; }
.mmm-form .mmm-btn-grande { margin-top: 4px; }
.mmm-form-ok { display: flex; flex-direction: column; gap: 6px; padding: 24px 26px; border-radius: 16px; background: #E8F5EE; color: #1F5A3A; }
.mmm-form-ok b { font-size: 18px; color: #12442A; }
.mmm-form-ok a { color: #12442A; font-weight: 700; text-decoration: underline; }
@media (max-width: 600px) { .mmm-form .mmm-campos-web { grid-template-columns: 1fr; } }
.mmm-form .mmm-segmento { display: flex; width: 100%; max-width: 460px; }
.mmm-form .mmm-segmento label { flex: 1 1 0; }
.mmm-form .mmm-segmento span { justify-content: center; width: 100%; padding: 0 10px; }

/* ---------- Área de clientes ---------- */
.mmm-area { --nar: #F58718; max-width: 1180px; margin: 0 auto; }
.mmm-area h2, .mmm-area h3 { margin: 0; }
.mmm.mmm-area .mmm-area-ok { background: #E8F5EE; color: #1F5A3A; border-radius: 12px; padding: 14px 18px; margin-bottom: 20px; font-weight: 600; }
.mmm.mmm-area .mmm-area-form { margin-bottom: 8px; }
.mmm.mmm-area .mmm-area-form .mmm-acepto { margin: 0; }
.mmm.mmm-area .mmm-area-acceso { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); gap: 24px; align-items: stretch; }
.mmm.mmm-area .mmm-area-una { grid-template-columns: minmax(0, 520px); justify-content: center; }
.mmm.mmm-area .mmm-area-caja { padding: 40px; border-radius: 22px; background: #fff; box-shadow: 0 0 0 1px var(--lin), 0 24px 60px rgba(20,27,51,.07); }
.mmm.mmm-area .mmm-area-caja h2 { font-size: 28px; font-weight: 600; }
.mmm.mmm-area .mmm-area-sub { margin: 8px 0 24px; color: var(--gris); }
.mmm.mmm-area .mmm-area-links { margin: 16px 0 0; font-size: 14px; }
.mmm.mmm-area .mmm-area-links a, .mmm.mmm-area .mmm-area-info a:not(.mmm-btn), .mmm.mmm-area .mmm-area-nota a { color: var(--az); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.mmm.mmm-area .mmm-area-info { padding: 40px; border-radius: 22px; background: var(--suave); display: flex; flex-direction: column; gap: 12px; }
.mmm.mmm-area .mmm-area-info h3 { font-size: 20px; font-weight: 600; color: var(--tin); }
.mmm.mmm-area .mmm-area-info .mmm-btn { align-self: flex-start; margin-top: auto; }
.mmm.mmm-area .mmm-area-cuenta { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 40px; align-items: start; }
.mmm.mmm-area .mmm-area-lado { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 18px; padding: 24px; border-radius: 20px; background: var(--suave); }
.mmm.mmm-area .mmm-area-yo { display: flex; align-items: center; gap: 12px; }
.mmm.mmm-area .mmm-area-yo > span { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: var(--az); color: #fff; font-weight: 700; font-size: 18px; }
.mmm.mmm-area .mmm-area-yo b { display: block; color: var(--tin); }
.mmm.mmm-area .mmm-area-yo small { display: block; font-size: 12px; color: var(--gris); word-break: break-all; }
.mmm.mmm-area .mmm-area-lado nav { display: flex; flex-direction: column; gap: 2px; }
.mmm.mmm-area .mmm-area-lado nav a { padding: 10px 12px; border-radius: 10px; color: var(--txt); font-weight: 600; font-size: 15px; }
.mmm.mmm-area .mmm-area-lado nav a:hover { background: #fff; color: var(--tin); }
.mmm.mmm-area .mmm-area-lado nav a.on { background: #fff; color: var(--tin); box-shadow: 0 1px 0 var(--lin); }
.mmm.mmm-area .mmm-area-lado .mmm-btn { min-height: 46px; }
.mmm.mmm-area .mmm-area-h { font-size: 28px; font-weight: 600; margin-bottom: 20px !important; }
.mmm.mmm-area .mmm-area-h span { font-size: 16px; font-weight: 500; color: var(--gris); }
.mmm.mmm-area .mmm-area-sub-h { font-size: 13px !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--gris) !important; margin: 24px 0 10px !important; }
.mmm.mmm-area .mmm-area-vacio { padding: 32px; border-radius: 18px; background: var(--suave); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.mmm.mmm-area .mmm-area-vacio p { margin: 0; }
.mmm.mmm-area .mmm-area-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.mmm.mmm-area .mmm-area-lista li { margin: 0; }
.mmm.mmm-area .mmm-area-lista a, .mmm.mmm-area .mmm-area-lista li > div { display: grid; grid-template-columns: 84px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 14px 18px 14px 14px; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px var(--lin); color: var(--txt); transition: box-shadow .2s; }
.mmm.mmm-area .mmm-area-sol li > div { grid-template-columns: minmax(0, 1fr) auto; padding-left: 20px; }
.mmm.mmm-area .mmm-area-lista a:hover { box-shadow: 0 0 0 1px var(--lin), 0 12px 28px rgba(20,27,51,.08); }
.mmm.mmm-area .mmm-area-foto { width: 84px; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: var(--suave); position: relative; }
.mmm.mmm-area .mmm-area-foto img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; }
.mmm.mmm-area .mmm-area-txt small { display: block; font-size: 12px; font-weight: 600; color: var(--gris); letter-spacing: .04em; }
.mmm.mmm-area .mmm-area-txt b { display: block; color: var(--tin); font-size: 17px; }
.mmm.mmm-area .mmm-area-txt span { display: block; font-size: 14px; color: var(--gris); }
.mmm.mmm-area .mmm-area-der { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.mmm.mmm-area .mmm-area-der b { color: var(--tin); font-size: 17px; }
.mmm.mmm-area .mmm-est-r { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; background: var(--suave); color: var(--txt); }
.mmm.mmm-area .mmm-est-r-pendiente { background: #FEF0E2; color: #B85A00; }
.mmm.mmm-area .mmm-est-r-confirmada { background: #E8F5EE; color: #1F7A47; }
.mmm.mmm-area .mmm-est-r-en_curso { background: #E8ECF8; color: var(--az); }
.mmm.mmm-area .mmm-est-r-cancelada { background: #FDECEA; color: #B3261E; }
.mmm.mmm-area .mmm-area-volver { margin: 0 0 14px; font-size: 14px; }
.mmm.mmm-area .mmm-area-volver a { color: var(--az); font-weight: 600; }
.mmm.mmm-area .mmm-area-res-cab { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px; }
.mmm.mmm-area .mmm-area-res-cab small { font-size: 13px; font-weight: 600; color: var(--gris); }
.mmm.mmm-area .mmm-area-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.mmm.mmm-area .mmm-area-bloque { padding: 26px; border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px var(--lin); }
.mmm.mmm-area .mmm-area-bloque h3 { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--gris); margin: 0 0 6px; }
.mmm.mmm-area .mmm-area-bloque p { margin: 0 0 16px; }
.mmm.mmm-area .mmm-area-bloque p b { color: var(--tin); }
.mmm.mmm-area .mmm-area-desglose { list-style: none; margin: 0 0 14px; padding: 0; }
.mmm.mmm-area .mmm-area-desglose li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--lin); font-size: 15px; }
.mmm.mmm-area .mmm-area-desglose li b { color: var(--tin); white-space: nowrap; }
.mmm.mmm-area .mmm-area-desglose li.total { border-bottom: 2px solid var(--tin); font-weight: 700; color: var(--tin); }
.mmm.mmm-area .mmm-area-desglose li.pend b { color: #B85A00; }
.mmm.mmm-area .mmm-area-nota { font-size: 14px; color: var(--gris); }
.mmm.mmm-area .mmm-area-iban { padding: 12px 14px; border-radius: 10px; background: var(--suave); font-size: 14px; }
.mmm.mmm-area .mmm-area-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 20px; }
.mmm.mmm-area .mmm-area-acciones form { margin: 0; }
.mmm.mmm-area button.mmm-area-cancelar { background: #fff !important; color: #B3261E !important; box-shadow: inset 0 0 0 1.5px #E7B4AF; border: 0 !important; }
.mmm.mmm-area button.mmm-area-cancelar:hover { background: #FDECEA !important; }
.mmm.mmm-area button.mmm-btn-sec { background: #fff !important; color: var(--tin) !important; box-shadow: inset 0 0 0 2px var(--tin); border: 0 !important; }
.mmm.mmm-area button.mmm-btn-sec:hover { background: var(--tin) !important; color: #fff !important; }
@media (max-width: 900px) {
	.mmm.mmm-area .mmm-area-acceso, .mmm.mmm-area .mmm-area-cuenta, .mmm.mmm-area .mmm-area-grid { grid-template-columns: 1fr; }
	.mmm.mmm-area .mmm-area-lado { position: static; }
	.mmm.mmm-area .mmm-area-lado nav { flex-direction: row; flex-wrap: wrap; }
}
@media (max-width: 600px) {
	.mmm.mmm-area .mmm-area-caja, .mmm.mmm-area .mmm-area-info { padding: 24px 18px; }
	.mmm.mmm-area .mmm-area-lista a { grid-template-columns: 64px minmax(0, 1fr); }
	.mmm.mmm-area .mmm-area-foto { width: 64px; }
	.mmm.mmm-area .mmm-area-der { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; }
}
@media print {
	.mmm.mmm-area .mmm-area-lado, .mmm.mmm-area .mmm-area-acciones, .mmm.mmm-area .mmm-area-volver { display: none !important; }
	.mmm.mmm-area .mmm-area-cuenta { display: block; }
}

.mmm.mmm-area .mmm-campos-web .mmm-acepto input { width: 20px !important; height: 20px; min-height: 0 !important; padding: 0 !important; background: #fff !important; }
.mmm.mmm-area .mmm-campos-web .mmm-acepto { flex-direction: row; align-items: center; font-size: 14px; color: var(--txt); }
.mmm.mmm-area .mmm-area-bloque h3 + p { margin-top: 0; }
.mmm.mmm-area .mmm-area-bloque p + h3 { margin-top: 8px; }
.mmm.mmm-area .mmm-acepto input[type="checkbox"] { -webkit-appearance: none !important; appearance: none !important; display: inline-block !important; width: 20px !important; height: 20px !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border: 1.5px solid #B9C0D4 !important; border-radius: 5px !important; background: #fff !important; cursor: pointer; position: relative; flex: 0 0 20px; }
.mmm.mmm-area .mmm-acepto input[type="checkbox"]:checked { background: #2D439E !important; border-color: #2D439E !important; }
.mmm.mmm-area .mmm-acepto input[type="checkbox"]:checked::after { content: ""; position: absolute; left: 6px; top: 2px; width: 5px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
