/* Motor de presentación del archivo: todas las reglas quedan dentro de su página. */
.web-composicion { position:relative; isolation:isolate; font-family:var(--dt-fuente-texto); line-height:1.6; background:var(--dt-crema); color:var(--dt-texto); overflow-x:clip; }
.web-composicion *, .web-composicion *::before, .web-composicion *::after { box-sizing:border-box; }
.web-composicion .dl-nodo, .web-composicion .dl-item { position:relative; min-width:0; overflow-wrap:anywhere; }
.web-composicion .dl-grupo { isolation:isolate; }
.web-composicion .dl-texto>*, .web-composicion .dl-texto p { margin:0; }
.web-composicion .dl-encabezado-h1 { font:500 clamp(44px,5vw,72px)/1.08 var(--dt-fuente-titulos); }
.web-composicion .dl-encabezado-h2 { font:500 clamp(34px,4vw,48px)/1.15 var(--dt-fuente-titulos); }
.web-composicion .dl-encabezado-h3 { font:500 28px/1.2 var(--dt-fuente-titulos); }
.web-composicion .dl-texto>:not(.web-editar), .web-composicion .dl-texto>:not(.web-editar) * { font-family:inherit!important; font-size:inherit!important; line-height:inherit!important; letter-spacing:inherit!important; color:inherit!important; text-align:inherit!important; }
.web-composicion .dl-texto h1, .web-composicion .dl-texto h2, .web-composicion .dl-texto h3 { font-weight:inherit; text-wrap:balance; }
.web-composicion .dl-imagen { margin:0; overflow:hidden; background:var(--dt-arena); min-height:24px; }
.web-composicion .dl-imagen img { width:100%; height:100%; display:block; object-fit:cover; }
.web-composicion .dl-logo img { object-fit:contain; transform:none!important; }
.web-composicion .dl-fondo { position:absolute; z-index:-1; inset:0; }
.web-composicion .dl-fondo::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#140c08e8,#140c08b5 55%,#140c0838); pointer-events:none; }
.web-composicion .dl-sin-imagen { display:grid; place-content:center; height:100%; min-height:120px; padding:24px; font-size:13px; text-align:center; }
.web-composicion .dl-enlace { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; max-width:100%; font:500 14px/1.5 var(--dt-fuente-texto); border-radius:var(--dt-boton); padding:11px 24px; text-align:center; transition:transform .2s; }
.web-composicion .dl-enlace:hover { transform:translateY(-2px); }
.web-composicion .dl-enlace-principal { color:var(--dt-espresso); background:var(--dt-dorado); border:1px solid var(--dt-dorado); }
.web-composicion .dl-enlace-contorno { border:1px solid currentColor; color:inherit; background:transparent; }
.web-composicion .dl-enlace-texto { padding:6px 0; border-radius:0; color:inherit; text-align:inherit; justify-content:flex-start; }
.web-composicion .dl-lista { display:grid; grid-template-columns:repeat(var(--web-productos-cantidad,3),minmax(0,1fr)); gap:24px; align-items:stretch; }
.web-composicion .dl-item { height:100%; }
.web-composicion .dl-item>.dl-grupo { min-height:100%; }
.web-composicion .dl-elegir-sedes { position:absolute; z-index:4; right:0; top:-44px; }
.web-composicion .web-volver { background:var(--dt-dorado); color:var(--dt-espresso); border-color:var(--dt-dorado); }
.web-composicion .dl-imagen>.web-editar, .web-composicion .dl-item>.web-editar { z-index:5; }
.web-composicion.web-editable .dl-texto:has(>.web-editar), .web-composicion.web-editable .dl-accion:has(>.web-editar) { outline:1px dashed #a77e4d80; outline-offset:2px; }
.web-composicion.web-editable .web-editar { width:28px; height:28px; min-height:0; padding:4px; top:2px; right:2px; font:16px/1 Arial,sans-serif; letter-spacing:normal; color:var(--dt-espresso); }
.web-composicion.web-editable .web-editar i { font-size:16px; line-height:1; }
.web-composicion .dl-texto a { border-bottom:1px solid currentColor; }
.web-diseno-previa { background:#fff; }
@media(max-width:650px) { .web-composicion .dl-lista { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .web-composicion * { transition:none!important; scroll-behavior:auto!important; } }
/* Las fotos opcionales acompañan el texto de cada valor, también en diseños ya guardados. */
.web-composicion .dl-valor-layout { display:grid; grid-template-columns:clamp(64px,24%,112px) minmax(0,1fr); align-items:start; gap:16px; width:100%; }
.web-composicion .dl-valor-layout>.dl-imagen { width:100%; aspect-ratio:1; border-radius:10px; }
.web-composicion .dl-valor-layout>.dl-imagen .dl-sin-imagen { min-height:0; padding:30px 5px 5px; font-size:10px; }
.web-composicion .dl-valor-contenido { display:grid; gap:12px; min-width:0; }
/* El borde pertenece al enlace; el contenedor del archivo no dibuja otro botón. */
.web-composicion .dl-nodo.dl-social { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.web-composicion .dl-social>.dl-enlace { width:100%; min-height:44px; padding:10px 16px; border:1px solid var(--dt-marron); border-radius:var(--dt-boton); background:transparent; color:var(--dt-marron); justify-content:center; text-align:center; font:500 14px/1.5 var(--dt-fuente-texto); text-decoration:none; }
.web-composicion .dl-social>.dl-enlace:hover { background:var(--dt-arena); }
.web-composicion .dl-social>.dl-enlace:focus-visible { outline:2px solid var(--dt-marron); outline-offset:3px; }
/* Sitios de formato 3: estilos limitados al contenido público y sus iframes. */
.web-sitio:not(:where([data-dt4-base="plantilla"])) { min-height:100dvh; background:var(--dt-crema); color:var(--dt-texto); font-family:var(--dt-fuente-texto); }
.web-sitio:not(:where([data-dt4-base="plantilla"])) header { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.5rem; background:var(--dt-espresso); color:var(--dt-blanco); }
.web-sitio:not(:where([data-dt4-base="plantilla"])) header .dl-enlace { color:inherit; }
.web-sitio:not(:where([data-dt4-base="plantilla"])) .dl-nodo { position:relative; min-width:0; }
.web-sitio:not(:where([data-dt4-base="plantilla"])) figure { overflow:hidden; }
.web-sitio:not(:where([data-dt4-base="plantilla"])) figure img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.web-sitio:not(:where([data-dt4-base="plantilla"])) figure.dl-logo img { object-fit:contain; }
.web-sitio:not(:where([data-dt4-base="plantilla"])) [data-web-componente] .btn { min-height:var(--app-control-altura,44px); }
.web-sitio:not(:where([data-dt4-base="plantilla"])) footer { padding:2rem; background:var(--dt-espresso); color:var(--dt-blanco); }
.web-sitio:not(:where([data-dt4-base="plantilla"])) footer a { color:inherit; }
.web-sitio:not(:where([data-dt4-base="plantilla"])) .dt-bloque { scroll-margin-top:calc(var(--web-cabecera-alto,80px) + 16px); }
.web-sitio:not(:where([data-dt4-base="plantilla"])) .dt-bloque { position:relative; }
.web-sitio:not(:where([data-dt4-base="plantilla"])) .dt-asa-bloque { position:absolute; top:0; left:0; z-index:10; touch-action:none; cursor:grab; }
.web-sitio:not(:where([data-dt4-base="plantilla"])) .dt-producto-foto { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:.6rem; }
.web-sitio:not(:where([data-dt4-base="plantilla"])) [data-web-componente] { min-width:0; margin-block:1.5rem; }
.web-sitio:not(:where([data-dt4-base="plantilla"])) [data-web-componente] article { position:relative; }
.web-sitio:not(:where([data-dt4-base="plantilla"])) [data-web-componente] h2 { margin-top:0; }
.web-sitio:not(:where([data-dt4-base="plantilla"])) input,.web-sitio:not(:where([data-dt4-base="plantilla"])) select,.web-sitio:not(:where([data-dt4-base="plantilla"])) textarea { max-width:100%; }
.web-sitio:not(:where([data-dt4-base="plantilla"])) .dt-animar-aparecer { animation:dt-aparecer .6s ease both; }
.web-sitio:not(:where([data-dt4-base="plantilla"])) .dt-animar-subir { animation:dt-subir .6s ease both; }
@keyframes dt-aparecer { from { opacity:0; } to { opacity:1; } }
@keyframes dt-subir { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .web-sitio:not(:where([data-dt4-base="plantilla"])) [class*="dt-animar-"] { animation:none; } }
/* Base neutra V4. Los estilos JSON se generan después, dentro de .web-motor:not(:where([data-dt4-base="plantilla"])). */
.web-motor:not(:where([data-dt4-base="plantilla"])) { overflow-x: clip; }
.web-motor:not(:where([data-dt4-base="plantilla"])) *, .web-motor:not(:where([data-dt4-base="plantilla"])) *::before, .web-motor:not(:where([data-dt4-base="plantilla"])) *::after { box-sizing:border-box; }
.web-motor:not(:where([data-dt4-base="plantilla"])) > header { display:block; padding:0; background:transparent; color:inherit; transition:translate 250ms ease; }
.web-motor:not(:where([data-dt4-base="plantilla"])) > footer { padding:0; background:transparent; color:inherit; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-nodo { min-width:0; position:relative; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-nodo h1,.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-nodo h2,.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-nodo h3 { color:inherit; }
.web-motor:not(:where([data-dt4-base="plantilla"])) :is(h1,h2,h3) { font-family:var(--dt-fuente-titulos); }
.web-motor:not(:where([data-dt4-base="plantilla"])) a { color:inherit; text-decoration:none; }
.web-motor:not(:where([data-dt4-base="plantilla"])) figure { margin:0; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-nodo img { display:block; width:100%; height:100%; object-fit:inherit; aspect-ratio:inherit; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-nodo > a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.45rem .8rem; font:inherit; color:inherit; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-nodo > :is(h1,h2,h3,p) { margin-top:0; }
.web-motor:not(:where([data-dt4-base="plantilla"])) [hidden] { display:none !important; }
.web-motor:not(:where([data-dt4-base="plantilla"])) button { cursor:pointer; font:inherit; }
.web-motor:not(:where([data-dt4-base="plantilla"])) button:focus-visible,.web-motor:not(:where([data-dt4-base="plantilla"])) a:focus-visible,.web-motor:not(:where([data-dt4-base="plantilla"])) summary:focus-visible { outline:3px solid var(--dt-dorado); outline-offset:3px; }
.web-motor:not(:where([data-dt4-base="plantilla"])) [data-dt4-modal] { position:fixed; max-width:min(90vw,800px); max-height:85dvh; padding:1.25rem; border:1px solid var(--dt-dorado); border-radius:.75rem; color:var(--dt-texto); background:var(--dt-crema); }
.web-motor:not(:where([data-dt4-base="plantilla"])) [data-dt4-modal]::backdrop { background:#0009; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-modal-cabecera { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1rem; }
.web-motor:not(:where([data-dt4-base="plantilla"])) [role=tablist] { display:flex; gap:.5rem; overflow-x:auto; }
.web-motor:not(:where([data-dt4-base="plantilla"])) [role=tab], .web-motor:not(:where([data-dt4-base="plantilla"])) [role=tab].dt4-boton { border:0; border-bottom:2px solid transparent; border-radius:0; padding:.8rem; background:transparent; color:inherit; white-space:nowrap; }
.web-motor:not(:where([data-dt4-base="plantilla"])) [role=tab][aria-selected=true] { border-color:var(--dt-dorado); }
.web-motor:not(:where([data-dt4-base="plantilla"])) summary { cursor:pointer; padding:1rem; }
.web-motor:not(:where([data-dt4-base="plantilla"])) [data-dt4-acordeon] details::details-content { block-size:0; opacity:0; overflow:clip; interpolate-size:allow-keywords; transition:block-size 250ms ease,opacity 250ms ease,content-visibility 250ms allow-discrete; }
.web-motor:not(:where([data-dt4-base="plantilla"])) [data-dt4-acordeon] details[open]::details-content { block-size:auto; opacity:1; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-miniaturas { display:flex; gap:.5rem; overflow-x:auto; padding:.5rem; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-miniaturas button { flex:0 0 5rem; height:5rem; border:2px solid transparent; padding:0; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-miniaturas button[aria-pressed=true] { border-color:var(--dt-dorado); }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-miniaturas img { object-fit:contain; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-catalogo { margin:0; --dt4-columnas:3; --dt4-proporcion:4/3; --dt4-duracion:250ms; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-barra { position:relative; display:flex; flex-wrap:wrap; gap:1rem; padding:1rem; background:var(--dt-blanco); border-radius:.75rem; box-shadow:0 8px 28px #0002; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-barra label { flex:1 1 12rem; min-width:0; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-categorias { margin:1.5rem 0; border-bottom:1px solid var(--dt-arena); }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-rejilla { display:grid; grid-template-columns:repeat(var(--dt4-columnas),minmax(0,1fr)); align-items:start; gap:1.25rem; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-tarjeta { overflow:hidden; border:1px solid var(--dt-arena); border-radius:.8rem; background:var(--dt-blanco); transition-property:border-color,box-shadow,translate; transition-duration:var(--dt4-duracion); }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-tarjeta[data-seleccionado=true] { border-color:var(--dt-dorado); box-shadow:0 8px 26px #0002; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-tarjeta:hover { translate:0 -2px; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-tarjeta-cuerpo { padding:1rem; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-tarjeta .dt4-foto { width:100%; height:auto; aspect-ratio:var(--dt4-proporcion); object-fit:cover; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-nombre { font-family:var(--dt-fuente-titulos); font-size:1.6rem; overflow-wrap:anywhere; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-descripcion { overflow-wrap:anywhere; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-boton,.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-cerrar { border:1px solid var(--dt-dorado); border-radius:2rem; padding:.6rem .9rem; min-height:44px; background:var(--dt-dorado); color:var(--dt-espresso); }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-cerrar { background:transparent; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-detalle { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:1.5rem; padding:1.25rem; animation:dt-aparecer var(--dt4-duracion) ease both; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-detalle .dt4-foto { width:100%; height:auto; aspect-ratio:var(--dt4-proporcion); object-fit:cover; border-radius:.5rem; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-informacion { min-width:0; display:flex; flex-direction:column; align-items:start; gap:.8rem; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-catalogo .dt4-panel { grid-column:1 / -1; border:1px solid var(--dt-dorado); border-radius:.8rem; background:var(--dt-blanco); box-shadow:0 12px 30px #0002; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-tarjeta.is-expanded { grid-column:1 / -1; }
.web-motor:not(:where([data-dt4-base="plantilla"])) [data-dt4-vista=movil] .dt4-detalle { grid-template-columns:minmax(0,1fr); }
.web-motor:not(:where([data-dt4-base="plantilla"])) [data-dt4-vista=movil][data-dt4-descripcion-movil=false] .dt4-tarjeta:not(.is-expanded) .dt4-descripcion { display:none; }
.web-motor:not(:where([data-dt4-base="plantilla"])) [data-dt4-vista=movil] .dt4-tarjeta-cuerpo { padding:.65rem; }
.web-motor:not(:where([data-dt4-base="plantilla"])) [data-dt4-vista=movil] .dt4-nombre { font-size:1.25rem; }
.web-menu-publico.web-menu-panel { inset:0; width:100%; height:100dvh; max-height:100dvh; min-height:0; border-radius:0; }
@media(prefers-reduced-motion:reduce) { .web-motor:not(:where([data-dt4-base="plantilla"])) *, .web-motor:not(:where([data-dt4-base="plantilla"])) *::details-content { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
/* Controles exclusivos del editor: fuera de recortes y estilos del diseño importado. */
.web-publica.web-editable .web-editar[popover] {
  position:fixed!important; inset:auto!important; margin:0!important; display:inline-flex!important;
  align-items:center!important; justify-content:center!important; box-sizing:border-box!important;
  width:32px!important; min-width:32px!important; max-width:32px!important;
  height:32px!important; min-height:32px!important; max-height:32px!important;
  padding:6px!important; border:1px solid #c3982b!important; border-radius:5px!important;
  font:16px/1 Arial,sans-serif!important; letter-spacing:normal!important; text-transform:none!important;
  background:#ecd793!important; color:#684b10!important; overflow:hidden!important;
  transform:none!important; translate:none!important; scale:none!important;
}
.web-publica.web-editable .web-editar[popover]:not(:popover-open) { display:none!important; }
.web-publica.web-editable .web-editar[popover] i,
.web-publica.web-editable .web-editar[popover] i::before { font-size:16px!important; line-height:1!important; }
.web-orden-opciones[popover] { position:fixed; inset:auto; margin:0; padding:6px; border:1px solid var(--bs-border-color); border-radius:8px; background:var(--bs-body-bg); box-shadow:0 4px 16px #0003; gap:6px; }
.web-orden-opciones:popover-open { display:flex; }
.web-orden-opciones .btn { min-height:40px; font:14px/1.3 Arial,sans-serif; }
.web-editable .dt-asa-bloque { width:36px; height:36px; min-height:36px; padding:6px; font:16px/1 Arial,sans-serif; }
.web-editable .dt-asa-bloque i { font-size:16px; }
.web-editable .dt-bloque.is-dragging { opacity:.6; outline:2px dashed var(--dt-dorado); }
.web-editable .documento-insercion { height:4px; background:var(--dt-dorado); pointer-events:none; }
/* Sedes dinámicas: imagen y contacto permanecen en la misma tarjeta. */
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-sedes-rejilla { grid-template-columns:repeat(auto-fit,minmax(min(100%,max(var(--dt4-sede-minimo,480px),calc((100% - 24px * (var(--dt4-sedes-columnas,2) - 1)) / var(--dt4-sedes-columnas,2)))),1fr)); gap:24px; align-items:stretch; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-sede { container-type:inline-size; min-width:0; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-sede .dt4-sede-foto { position:relative; min-width:0; overflow:hidden; aspect-ratio:var(--dt4-sede-proporcion,4/3); margin:0; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-sede-foto img { width:100%; height:100%; object-fit:inherit; aspect-ratio:inherit; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-sede-foto { object-fit:cover; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-sede .dt4-informacion { position:relative; padding:20px; min-width:0; flex:1; display:flex; flex-direction:column; gap:10px; overflow-wrap:break-word; word-break:normal; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-sede :is(h3,p) { margin:0; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-sede-enlaces { display:grid; grid-auto-rows:1fr; gap:8px; width:100%; margin-top:auto; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-sede .dt4-boton { white-space:normal; overflow-wrap:anywhere; max-width:100%; text-align:center; }
/* Presentación pública flotante. El diálogo reutiliza el runtime nativo de V4. */
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-carrito-flotante { min-height:0; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-botonFlotante { position:fixed; inset:auto; margin:0; display:inline-flex; align-items:center; justify-content:center; gap:10px; width:auto; min-height:48px; max-width:calc(100vw - 24px); font:600 16px/1.3 var(--dt-fuente-texto); box-shadow:0 6px 24px #0003; overflow-wrap:anywhere; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-botonFlotante:not(:popover-open) { display:none; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-contador { display:inline-grid; place-items:center; min-width:26px; min-height:26px; padding:3px 6px; background:var(--dt-espresso); color:var(--dt-blanco); border-radius:999px; font-size:13px; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-carrito-modal { width:min(92vw,820px); max-width:calc(100vw - 24px); max-height:90dvh; padding:0; overflow:hidden; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-carrito-modal[open] { display:flex; flex-direction:column; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-carrito-modal>.dt4-cabecera { position:static; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 20px; background:var(--dt-crema); color:var(--dt-texto); flex-shrink:0; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-carrito-modal h2 { margin:0; font-size:28px; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-carrito-modal>.dt4-cuerpo { flex:1; padding:20px; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-carrito-modal>.dt4-pie { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; flex-shrink:0; padding:16px 20px; background:var(--dt-crema); color:var(--dt-texto); border-top:1px solid var(--dt-arena); }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-carrito-modal fieldset { display:grid; gap:16px; min-width:0; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-carrito-modal label { display:block; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-carrito-modal :is(input,textarea,select) { width:100%; min-height:44px; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-carrito-modal :is(button,a) { min-height:44px; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-carrito-modal .dt4-tarjeta { margin-bottom:12px; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-carrito-modal .dt4-error { white-space:pre-wrap; overflow-wrap:anywhere; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-carrito-modal .dt4-resumen { overflow-wrap:anywhere; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-alternativas { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-tarjeta-cuerpo>.dt4-agregar { margin-top:8px; }
/* Marcos compartidos V4: el recurso nunca determina el tamaño del contenido. */
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-imagen { position:relative; display:block; width:100%; min-width:0; margin:0; overflow:hidden; background:var(--dt-arena); color:var(--dt-secundario); aspect-ratio:var(--dt4-imagen-proporcion,4/3); object-fit:var(--dt4-imagen-ajuste,cover); }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-imagen>img { position:absolute; inset:0; display:block; width:100%; height:100%; aspect-ratio:auto; object-fit:inherit; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-imagen[data-estado=cargando]>img { opacity:0; }
.web-motor:not(:where([data-dt4-base="plantilla"])) figure.dt4-nodo>.dt4-imagen { height:100%; aspect-ratio:inherit; object-fit:inherit; background:inherit; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-fotoMensaje { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:12px; text-align:center; font-size:14px; line-height:1.4; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-fotoIndicador { position:absolute; top:calc(50% - 10px); left:calc(50% - 10px); width:20px; height:20px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:dt4-carga 1s linear infinite; }
@keyframes dt4-carga { to { rotate:360deg; } }
@media(prefers-reduced-motion:reduce) { .web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-fotoIndicador { animation:none; } }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-miniaturas .dt4-imagen { width:100%; height:100%; aspect-ratio:1; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-catalogo .dt4-acciones { display:grid; grid-auto-rows:1fr; gap:8px; margin-top:12px; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-catalogo>.dt4-rejilla { align-items:stretch; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-catalogo .dt4-tarjeta:not(.is-expanded) { display:flex; flex-direction:column; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-catalogo .dt4-tarjeta-cuerpo { display:flex; flex-direction:column; flex:1; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-catalogo .dt4-tarjeta>.dt4-imagen { flex:0 0 auto; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-catalogo .dt4-tarjeta-cuerpo>.dt4-acciones { margin-top:auto; padding-top:12px; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-catalogo .dt4-tarjeta-cuerpo>.dt4-nombre { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:var(--dt4-nombre-lineas,2); overflow:hidden; text-overflow:ellipsis; line-height:1.3; min-height:calc(var(--dt4-nombre-lineas,2) * 1lh); overflow-wrap:anywhere; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-catalogo .dt4-detalle :is(.dt4-nombre,.dt4-descripcion) { display:block; overflow:visible; -webkit-line-clamp:unset; max-height:none; height:auto; white-space:normal; overflow-wrap:anywhere; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-acciones>[role=status]:empty { display:none; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-acciones>[role=status]:not(:empty) { grid-row:3; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-catalogo .dt4-acciones>.dt4-boton { display:flex; align-items:center; justify-content:center; width:100%; height:100%; min-width:0; min-height:48px; margin:0; white-space:normal; overflow-wrap:break-word; line-height:1.4; padding:10px; text-align:center; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-catalogo .dt4-verDetalles { background:var(--dt-espresso); color:var(--dt-blanco); border-color:var(--dt-espresso); }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-catalogo .dt4-agregar { background:var(--dt-dorado); color:var(--dt-espresso); }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-catalogo .dt4-boton:hover { filter:brightness(.94); }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-boton:disabled { opacity:.55; cursor:not-allowed; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-sede-layout { display:flex; flex-direction:var(--dt4-sede-direccion,row); height:100%; min-width:0; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-sede-layout>.dt4-sede-foto { flex:0 0 auto; width:var(--dt4-sede-foto-ancho,38%); align-self:stretch; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-sede-enlaces>.dt4-boton { display:flex; align-items:center; justify-content:center; width:100%; height:100%; min-height:48px; padding:10px 12px; line-height:1.4; word-break:normal; overflow-wrap:break-word; }
.web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-tarjeta .dt4-imagen, .web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-detalle .dt4-imagen { aspect-ratio:var(--dt4-imagen-proporcion,4/3); }
@container(max-width:440px) { .web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-sede-layout { flex-direction:column; } .web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-sede-layout>.dt4-sede-foto { width:100%; flex:0 0 auto; } }
@media(max-width:650px) { .web-motor:not(:where([data-dt4-base="plantilla"])) .dt4-carrito-modal { inset:0; margin:0; width:100vw; height:100dvh; max-width:100vw; max-height:100dvh; border:0; border-radius:0; } }
