/* ============================================================
   Sitioideal — Diseño «Domicilio» (aire acondicionado, limpieza, fumigación, jardinería, lavandería,
   purificadoras y mudanzas) · paso 7.z.22
   Va encima de sitio.css. Vamos a tu casa: cielo claro, la colonia dibujada abajo de la portada
   (casitas del color del negocio), la foto recortada en forma de casa con chimenea, una ruta
   punteada que sale de un punto del mapa con la camioneta en el camino, la tarjeta para agendar
   por WhatsApp, un techito sobre cada título, los servicios con su precio y el tiempo que tardan,
   y los trabajos recientes con su palomita. Todo en Rubik.
   Los textos usan un tono tinta (el color principal oscurecido) para que siempre se lean.
   HTML propio: app/vistas/sitio/disenos/domicilio/
   ============================================================ */

.diseno-domicilio {
    --dm-letra: "Rubik", "Archivo", system-ui, sans-serif;
    --dm-cielo: color-mix(in srgb, var(--c-primario) 9%, #F3F8FC);
    --dm-papel: color-mix(in srgb, var(--c-fondo) 25%, #FFFFFF);
    --dm-alterna: color-mix(in srgb, var(--c-primario) 6%, #F4F7FA);
    --dm-tinta: color-mix(in srgb, var(--c-primario) 22%, #14202E);
    --dm-principal: var(--c-primario);
    --dm-whatsapp: #1A9E50;
    --dm-sombra: 0 18px 36px -24px rgba(20, 32, 46, .45);
    --dm-borde: color-mix(in srgb, var(--dm-tinta) 10%, transparent);

    /* Superficies (sitio.css) */
    --s-fondo: var(--dm-papel);
    --s-alterna: var(--dm-alterna);
    --s-tarjeta: #fff;
    --s-tarjeta-alterna: #fff;
    --s-encabezado: #fff;
    --s-texto: var(--dm-tinta);
    --s-titulo: var(--dm-principal);
    --s-linea: var(--dm-borde);
    --s-linea-fuerte: color-mix(in srgb, var(--dm-tinta) 18%, transparent);

    background: var(--dm-papel);
    font-family: var(--dm-letra);
    font-size: 1.05rem;
}

/* El color principal para textos: nunca tan claro que no se lea sobre lo claro */
@supports (color: oklch(from red l c h)) {
    .diseno-domicilio {
        --dm-principal: oklch(from var(--c-primario) min(l, .5) c h);
        --dm-tinta: oklch(from color-mix(in srgb, var(--c-primario) 22%, #14202E) min(l, .3) c h);
    }
}

.diseno-domicilio h1,
.diseno-domicilio h2,
.diseno-domicilio h3,
.diseno-domicilio h4,
.diseno-domicilio .logo__nombre,
.diseno-domicilio .especial__titulo,
.diseno-domicilio .equipo__titulo,
.diseno-domicilio .persona__nombre,
.diseno-domicilio .promocion__titulo,
.diseno-domicilio .servicio__nombre,
.diseno-domicilio .sucursal__nombre,
.diseno-domicilio .redes__titulo,
.diseno-domicilio .menu a {
    font-family: var(--dm-letra);
    font-stretch: normal;
    letter-spacing: -.01em;
}
.diseno-domicilio h1,
.diseno-domicilio h2 { font-weight: 800; }
.diseno-domicilio h3,
.diseno-domicilio h4 { font-weight: 700; }

/* ---------- Encabezado ---------- */
.diseno-domicilio .encabezado {
    border-bottom: 1px solid var(--s-linea);
    background: color-mix(in srgb, #fff 92%, transparent);
    backdrop-filter: saturate(1.4) blur(10px);
}
.diseno-domicilio .logo__nombre { color: var(--dm-tinta); font-weight: 800; }
.diseno-domicilio .menu a { color: var(--dm-tinta); font-weight: 500; }
.diseno-domicilio .menu a:hover { color: var(--dm-principal); }

/* ---------- Botones ---------- */
.diseno-domicilio .boton {
    border-radius: 14px;
    font-family: var(--dm-letra);
    font-stretch: normal;
    font-weight: 700;
    transition: transform .12s ease, box-shadow .12s ease;
}
.diseno-domicilio .boton--principal {
    border: 2px solid transparent;
    background: var(--c-primario);
    color: var(--c-sobre-primario);
    box-shadow: 0 14px 24px -14px color-mix(in srgb, var(--c-primario) 80%, #000);
}
.diseno-domicilio .boton--secundario {
    border: 2px solid color-mix(in srgb, var(--dm-principal) 35%, transparent);
    background: #fff;
    color: var(--dm-tinta);
}
.diseno-domicilio .boton:hover { transform: translateY(-2px); }
.diseno-domicilio .boton-chico { border-radius: 12px; font-weight: 700; }

@media (prefers-reduced-motion: reduce) {
    .diseno-domicilio .boton { transition: none; }
    .diseno-domicilio .boton:hover { transform: none; }
}

/* ---------- Portada: el cielo, la casita y la colonia ---------- */
.dm-portada {
    position: relative;
    padding-block: clamp(44px, 7vw, 90px) clamp(100px, 10vw, 132px);
    overflow: hidden;
    background: linear-gradient(180deg, var(--dm-cielo), #fff 88%);
    color: var(--dm-tinta);
}

/* La colonia: casitas del color del negocio a lo ancho, abajo */
.dm-colonia {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 70px;
    background: color-mix(in srgb, var(--c-primario) 14%, transparent);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 70'%3E%3Cpath d='M0 70V42L18 28L36 42V70ZM42 70V36L64 18L86 36V70ZM72 25V12H79V31ZM92 70V48H122V70ZM96 48V43H118V48ZM136 70V58H139V70ZM150 70V38L172 20L194 38V70ZM200 70V48L220 34L240 48V70Z'/%3E%3Ccircle cx='137.5' cy='50' r='10'/%3E%3C/svg%3E") left bottom / 240px 70px repeat-x;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 70'%3E%3Cpath d='M0 70V42L18 28L36 42V70ZM42 70V36L64 18L86 36V70ZM72 25V12H79V31ZM92 70V48H122V70ZM96 48V43H118V48ZM136 70V58H139V70ZM150 70V38L172 20L194 38V70ZM200 70V48L220 34L240 48V70Z'/%3E%3Ccircle cx='137.5' cy='50' r='10'/%3E%3C/svg%3E") left bottom / 240px 70px repeat-x;
    pointer-events: none;
}

.dm-portada__rejilla {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 44px;
    align-items: center;
}

@media (min-width: 900px) {
    .dm-portada__rejilla { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 60px; }
}

.dm-etiqueta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    max-width: 100%;
    margin: 0 0 18px;
    padding: 5px 18px 5px 5px;
    border-radius: 999px;
    background: #fff;
    color: var(--dm-tinta);
    font-size: .95rem;
    font-weight: 600;
    box-shadow: 0 10px 22px -16px rgba(20, 32, 46, .6);
}
.dm-etiqueta > span:last-child { overflow-wrap: anywhere; }
.dm-etiqueta__icono {
    display: grid;
    flex: none;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--c-primario);
    color: var(--c-sobre-primario);
}
.dm-etiqueta__icono .icono { width: 18px; height: 18px; }

.dm-portada__nombre {
    margin: 0 0 16px;
    color: var(--dm-tinta);
    font-size: clamp(2.6rem, 1.5rem + 4.4vw, 4.9rem);
    line-height: 1.02;
    letter-spacing: -.025em !important;
    overflow-wrap: anywhere;
}
.dm-portada__nombre--medio { font-size: clamp(2.3rem, 1.4rem + 3.6vw, 4.1rem); }
.dm-portada__nombre--largo { font-size: clamp(2rem, 1.2rem + 3vw, 3.4rem); }

.dm-portada__eslogan {
    max-width: 36ch;
    margin: 0 0 30px;
    font-size: clamp(1.1rem, 1rem + .5vw, 1.35rem);
    line-height: 1.5;
}

.dm-portada__botones { gap: 14px; }
.dm-portada__estado { margin-top: 26px; }
.diseno-domicilio .estado-ahora--claro { border: 0; background: #fff; box-shadow: 0 10px 22px -16px rgba(0, 0, 0, .5); }

/* La casita con la foto, la ruta, el punto, la camioneta y la tarjeta para agendar */
.dm-portada__visual {
    position: relative;
    justify-self: center;
    width: min(100%, 450px);
    padding: 0 0 70px 70px;
}

.dm-casa { position: relative; z-index: 1; filter: drop-shadow(0 26px 26px rgba(20, 32, 46, .26)); }
.dm-casa__marco,
.dm-casa__foto {
    clip-path: polygon(0 42%, 50% 0, 72% 18.5%, 72% 6%, 82% 6%, 82% 26.9%, 100% 42%, 100% 100%, 0 100%);
}
.dm-casa__marco { padding: 14px; background: #fff; }
.dm-casa__foto {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: var(--dm-cielo);
}
.dm-casa__foto picture,
.dm-casa__foto picture img { width: 100%; height: 100%; }
.dm-casa__foto picture img { object-fit: cover; }
.dm-casa__foto--logo { display: grid; place-items: center; padding-top: 22%; background: #fff; }
.dm-casa__logo { width: 62%; height: auto; }
.dm-casa__inicial { color: var(--dm-principal); font-size: 7.5rem; font-weight: 800; line-height: 1; }

/* La ruta va en la franja de abajo (no se encima en la foto): del punto a la casa */
.dm-ruta {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 70px;
    overflow: visible;
    fill: none;
    stroke: var(--dm-principal);
    stroke-width: 3;
    stroke-dasharray: 1 9;
    stroke-linecap: round;
    vector-effect: non-scaling-stroke;
}
.dm-ruta path { vector-effect: non-scaling-stroke; }

.dm-pin {
    position: absolute;
    z-index: 2;
    left: -8px;
    bottom: -6px;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #fff;
    color: var(--c-acento);
    box-shadow: 0 10px 18px -10px rgba(20, 32, 46, .6);
}
.dm-pin .icono { width: 24px; height: 24px; }

.dm-camioneta {
    position: absolute;
    z-index: 2;
    left: calc(34.7% - 24px);
    bottom: -6px;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: var(--c-primario);
    color: var(--c-sobre-primario);
    box-shadow: 0 12px 20px -12px rgba(20, 32, 46, .7);
    animation: dm-avanza 2.6s ease-in-out infinite alternate;
}
.dm-camioneta .icono { width: 28px; height: 28px; }

@keyframes dm-avanza {
    from { translate: 0 0; }
    to   { translate: 7px -4px; }
}

.dm-agenda {
    position: absolute;
    z-index: 3;
    top: 30px;
    left: -40px;   /* 7.z.34: arriba a la izquierda, junto al techo (antes abajo a la derecha, donde la tapaba el botón de «Promociones») */
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px 10px 10px;
    border-radius: 16px;
    background: #fff;
    color: var(--dm-tinta);
    line-height: 1.2;
    text-decoration: none;
    box-shadow: 0 18px 30px -18px rgba(20, 32, 46, .6);
}
.dm-agenda__icono {
    display: grid;
    flex: none;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--dm-whatsapp);
    color: #fff;
}
.dm-agenda__icono .icono { width: 22px; height: 22px; }
.dm-agenda small { display: block; font-size: .8rem; font-weight: 500; opacity: .75; }
.dm-agenda strong { display: block; font-size: 1.08rem; font-weight: 700; white-space: nowrap; }
.dm-agenda:hover strong { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 599.98px) {
    .dm-portada { padding-bottom: 96px; }
    .dm-portada__visual { width: min(100%, 340px); padding: 0 0 62px 44px; }
    .dm-ruta { height: 62px; }
    .dm-pin { width: 38px; height: 38px; left: -4px; }
    .dm-camioneta { width: 40px; height: 40px; left: calc(34.7% - 20px); bottom: -4px; }
    .dm-camioneta .icono { width: 24px; height: 24px; }
    .dm-agenda { top: auto; left: auto; right: -6px; bottom: -22px; padding: 8px 12px 8px 8px; }   /* 7.z.34: en el celular, abajo a la derecha (ahí el botón de promociones va a la izquierda) */
    .dm-agenda__icono { width: 34px; height: 34px; }
    .dm-agenda strong { font-size: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
    .dm-camioneta { animation: none; }
}

/* ---------- Secciones ---------- */
.diseno-domicilio .seccion { padding-block: clamp(56px, 7vw, 86px); }

.diseno-domicilio .seccion h2 {
    color: var(--dm-tinta);
    font-size: clamp(2rem, 1.4rem + 2vw, 2.9rem);
    line-height: 1.08;
}
/* Un techito sobre cada título */
.diseno-domicilio .seccion h2::before {
    content: "";
    display: block;
    width: 48px;
    height: 18px;
    margin-bottom: 10px;
    background: var(--c-primario);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 18'%3E%3Cpath d='M3 16 24 3l21 13' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") left center / 100% 100% no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 18'%3E%3Cpath d='M3 16 24 3l21 13' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") left center / 100% 100% no-repeat;
}

.dm-cabeza { margin-bottom: 26px; }
.dm-cabeza h2 { margin: 0 !important; }
/* En las secciones propias el techito va arriba de todo (sobre el antetítulo) */
.diseno-domicilio .dm-cabeza h2::before { content: none; }
.dm-cabeza::before {
    content: "";
    display: block;
    width: 48px;
    height: 18px;
    margin-bottom: 10px;
    background: var(--c-primario);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 18'%3E%3Cpath d='M3 16 24 3l21 13' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") left center / 100% 100% no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 18'%3E%3Cpath d='M3 16 24 3l21 13' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") left center / 100% 100% no-repeat;
}

.dm-antetitulo {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 6px;
    color: var(--dm-principal);
    font-size: .9rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.dm-antetitulo .icono { width: 20px; height: 20px; }

/* ---------- Servicios ---------- */
.diseno-domicilio .catalogo__indice a {
    border: 1.5px solid color-mix(in srgb, var(--dm-principal) 30%, transparent);
    border-radius: 999px;
    background: #fff;
    color: var(--dm-tinta);
    font-weight: 600;
}
.diseno-domicilio .catalogo__indice a:hover { background: var(--dm-cielo); }

.dm-grupo + .dm-grupo { margin-top: 44px; }

.dm-grupo__nombre {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 6px;
    color: var(--dm-tinta);
    font-size: clamp(1.25rem, 1.1rem + .6vw, 1.6rem);
}
.dm-grupo__icono {
    display: grid;
    flex: none;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: var(--dm-cielo);
    color: var(--dm-principal);
}
.dm-grupo__icono .icono { width: 22px; height: 22px; }
.dm-grupo__descripcion { max-width: 64ch; margin: 0 0 16px; opacity: .82; }

.dm-lista {
    display: grid;
    gap: 18px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 900px) {
    .dm-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 22px; }
}

.dm-servicio {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 18px;
    border: 1px solid var(--dm-borde);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--dm-sombra);
}
.dm-servicio--destacado { border: 2px solid var(--c-primario); }

.dm-servicio__foto {
    position: relative;
    flex: none;
    width: 92px;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 16px;
    background: var(--dm-cielo);
}
.dm-servicio__foto img { width: 100%; height: 100%; object-fit: cover; }

.dm-servicio__texto { flex: 1; min-width: 0; }

.dm-servicio__sello {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 8px;
    padding: 3px 11px;
    border-radius: 999px;
    background: var(--c-acento);
    color: var(--c-sobre-acento);
    font-size: .78rem;
    font-weight: 700;
}
.dm-servicio__sello .icono { width: 14px; height: 14px; fill: currentColor; }

.dm-servicio__nombre { margin: 0; color: var(--dm-tinta); font-size: 1.16rem; line-height: 1.25; }
.dm-servicio__descripcion { margin: 6px 0 0; font-size: .97rem; line-height: 1.5; opacity: .82; }
.dm-servicio__tiempo {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 10px 0 0;
    padding: 3px 12px 3px 8px;
    border-radius: 999px;
    background: var(--dm-cielo);
    color: var(--dm-principal);
    font-size: .88rem;
    font-weight: 600;
}
.dm-servicio__tiempo .icono { width: 17px; height: 17px; }
.dm-servicio .ficha-ver { margin-top: 10px; }
.dm-servicio .marca-ia--texto { display: block; margin-top: 6px; }

.dm-servicio__lado {
    display: flex;
    flex: none;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
    max-width: 150px;
    text-align: right;
}

.dm-precio { display: flex; flex-direction: column; align-items: flex-end; margin: 0; line-height: 1.1; }
.dm-precio small { color: var(--dm-tinta); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .65; }
.dm-precio strong { color: var(--dm-principal); font-size: 1.45rem; font-weight: 800; white-space: nowrap; }
.dm-precio .dm-precio__unidad { margin-top: 2px; font-size: .82rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.dm-precio .dm-precio__sin { font-size: 1rem; font-weight: 700; white-space: normal; }

.dm-agendar {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 16px;
    border-radius: 12px;
    background: var(--c-primario);
    color: var(--c-sobre-primario);
    font-size: .92rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 10px 18px -12px color-mix(in srgb, var(--c-primario) 80%, #000);
}
.dm-agendar .icono { width: 17px; height: 17px; }
.dm-agendar:hover { filter: brightness(1.08); }

/* En el celular, el precio y «Agendar» abajo, a lo ancho */
@media (max-width: 599.98px) {
    .dm-servicio { flex-wrap: wrap; gap: 12px; padding: 16px; }
    .dm-servicio__foto { width: 72px; border-radius: 14px; }
    .dm-servicio__texto { flex-basis: calc(100% - 84px); }
    .dm-servicio:not(.dm-servicio--foto) .dm-servicio__texto { flex-basis: 100%; }
    .dm-servicio__lado {
        flex-direction: row;
        flex-basis: 100%;
        justify-content: space-between;
        align-items: center;
        max-width: none;
        padding-top: 12px;
        border-top: 1px dashed var(--s-linea-fuerte);
        text-align: left;
    }
    .dm-precio { align-items: flex-start; }
}

/* ---------- Trabajos recientes ---------- */
.dm-trabajos__lista {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.galeria__mas > .dm-trabajos__lista { margin-top: 18px; }

.diseno-domicilio .dm-trabajo__enlace {
    position: relative;
    display: block;
    border-radius: 20px;
    box-shadow: var(--dm-sombra);
}
.dm-trabajo__palomita {
    position: absolute;
    top: 10px;
    right: 10px;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--c-primario);
    color: var(--c-sobre-primario);
    box-shadow: 0 6px 12px -6px rgba(0, 0, 0, .5);
}
.dm-trabajo__palomita .icono { width: 18px; height: 18px; stroke-width: 3; }
.dm-trabajo__pie {
    position: absolute;
    top: 10px;
    left: 10px;
    max-width: calc(100% - 58px);
    padding: 4px 11px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, .94);
    color: var(--dm-tinta);
    font-size: .85rem;
    font-weight: 600;
    line-height: 1.3;
    white-space: nowrap;
    text-overflow: ellipsis;
}

@media (max-width: 599.98px) {
    .dm-trabajos__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .diseno-domicilio .dm-trabajo__enlace { border-radius: 16px; }
    .dm-trabajo__palomita { top: 7px; right: 7px; width: 26px; height: 26px; }
    .dm-trabajo__palomita .icono { width: 15px; height: 15px; }
    .dm-trabajo__pie { top: 7px; left: 7px; max-width: calc(100% - 44px); padding: 3px 8px; font-size: .74rem; }
}

/* ---------- Lo demás: tarjetas blancas redondas ---------- */
.diseno-domicilio .promocion,
.diseno-domicilio .testimonio,
.diseno-domicilio .pregunta,
.diseno-domicilio .contacto__item,
.diseno-domicilio .sucursal,
.diseno-domicilio .especial__punto,
.diseno-domicilio .persona,
.diseno-domicilio .servicio { border-color: var(--dm-borde); border-radius: 20px; box-shadow: var(--dm-sombra); }
.diseno-domicilio .promocion__foto { border-radius: 20px 20px 0 0; }
.diseno-domicilio .testimonio > .icono { color: var(--dm-principal); opacity: .4; }
.diseno-domicilio .testimonio__iniciales,
.diseno-domicilio .contacto__icono,
.diseno-domicilio .especial__marca,
.diseno-domicilio .persona__foto--iniciales,
.diseno-domicilio .pregunta__signo { background: var(--dm-cielo); color: var(--dm-principal); }
.diseno-domicilio .contacto__icono { border-radius: 14px; }
.diseno-domicilio .nosotros__foto img { border-radius: 24px; box-shadow: var(--dm-sombra); }
.diseno-domicilio .nosotros__desde { border-radius: 999px; background: var(--dm-cielo); color: var(--dm-tinta); }
.diseno-domicilio .nosotros__desde strong,
.diseno-domicilio .nosotros__desde .icono { color: var(--dm-principal); }
.diseno-domicilio .galeria__ver-mas { border-radius: 14px; }
.diseno-domicilio .mapa { border: 0; border-radius: 20px; }
.diseno-domicilio .horario__tabla { overflow: hidden; border-radius: 20px; background: #fff; box-shadow: var(--dm-sombra); }
.diseno-domicilio .horario__tabla th,
.diseno-domicilio .horario__tabla td { padding-inline: 20px; }
.diseno-domicilio .horario__tabla tr:last-child th,
.diseno-domicilio .horario__tabla tr:last-child td { border-bottom: 0; }
.diseno-domicilio .horario__hoy th,
.diseno-domicilio .horario__hoy td { background: var(--dm-cielo); }
.diseno-domicilio .horario__etiqueta { background: var(--c-primario); color: var(--c-sobre-primario); }

.diseno-domicilio .pie { background: var(--dm-tinta); color: color-mix(in srgb, #fff 86%, transparent); }
.diseno-domicilio .barra-acciones { background: color-mix(in srgb, #fff 95%, transparent); backdrop-filter: blur(10px); }
.diseno-domicilio .barra-acciones__boton--principal { border-radius: 14px; font-weight: 700; }

/* ---------- Imagen generada con IA (7.j) ---------- */
.dm-casa__foto > .marca-ia--foto { bottom: 10px; }
