/* DINAMO Sync — Catálogo de seminuevas. Coherente con Lexrider/DINAMO: fondo #1a1a1a, principal #d66a17, títulos Teko. */
.dms-wrap,.dms-scope,.dms-elementor{--dms-primary:#d66a17;--dms-primary-2:#f28d2c;--dms-bg:#1a1a1a;--dms-card:#232323;--dms-line:#333;--dms-text:#c9c9c9;--dms-muted:#8e8e8e;--dms-white:#fff}
.dms-wrap{max-width:1320px;margin:0 auto;padding:0 16px;box-sizing:border-box}
.dms-wrap *,.dms-scope *,.dms-wrap *::before,.dms-wrap *::after,.dms-scope *::before,.dms-scope *::after{box-sizing:border-box}
.dms-catalog .site-content{overflow-x:hidden}
.dms-hero{padding:40px 0 18px;border-bottom:1px solid var(--dms-line);margin-bottom:24px}
.dms-hero__title,.dms-single__title{font-family:Teko,sans-serif;font-weight:500;color:var(--dms-white);text-transform:uppercase;letter-spacing:.5px;line-height:1;margin:0}
.dms-hero__title{font-size:clamp(40px,6vw,64px)}
.dms-hero__lead{color:var(--dms-text);max-width:760px;margin:10px 0 0;font-size:16px}

/* Filtros */
.dms-filters{background:var(--dms-card);border:1px solid var(--dms-line);border-radius:6px;padding:18px;margin-bottom:18px}
.dms-filters__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dms-filters label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--dms-muted);text-transform:uppercase;letter-spacing:.4px;min-width:0}
.dms-filters select,.dms-filters input{width:100%;min-width:0;height:42px;padding:0 10px;background:#131313;border:1px solid #3a3a3a;border-radius:4px;color:var(--dms-white);font-size:15px;text-transform:none;letter-spacing:0}
.dms-filters select:focus,.dms-filters input:focus{outline:2px solid var(--dms-primary);outline-offset:1px}
.dms-filters__actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.dms-count{color:var(--dms-muted);margin:0 0 14px;font-size:14px}

/* Botones */
.dms-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border-radius:4px;border:1px solid transparent;font-family:Teko,sans-serif;font-size:20px;letter-spacing:.5px;text-transform:uppercase;text-decoration:none;cursor:pointer;line-height:1}
.dms-btn--primary{background:var(--dms-primary);color:#fff}
.dms-btn--primary:hover,.dms-btn--primary:focus{background:var(--dms-primary-2);color:#fff}
.dms-btn--ghost{background:transparent;border-color:#555;color:var(--dms-text)}
.dms-btn--ghost:hover{border-color:var(--dms-primary);color:#fff}
.dms-btn--block{width:100%}
.dms-btn--wa{background:#1fa855;color:#fff;width:100%}
.dms-btn--wa[disabled]{background:#3a3a3a;color:#9a9a9a;cursor:not-allowed}

/* Rejilla de tarjetas */
.dms-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.dms-card{background:var(--dms-card);border:1px solid var(--dms-line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.dms-card:hover{border-color:var(--dms-primary)}
.dms-card__media{position:relative;display:block;aspect-ratio:4/3;background:#111}
.dms-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.dms-badge{position:absolute;top:10px;left:10px;background:var(--dms-primary);color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;padding:4px 8px;border-radius:3px}
.dms-card__body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px;flex:1}
.dms-card__title{font-family:Teko,sans-serif;font-weight:500;font-size:26px;line-height:1.05;margin:0;text-transform:uppercase;overflow-wrap:anywhere}
.dms-card__title a{color:var(--dms-white);text-decoration:none}
.dms-card__title a:hover{color:var(--dms-primary-2)}
.dms-specs{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:14px;color:var(--dms-text)}
.dms-specs li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed #333;padding-bottom:3px}
.dms-specs span{color:var(--dms-muted)}
.dms-price{margin-top:auto;display:flex;flex-direction:column}
.dms-price del{color:var(--dms-muted);font-size:14px}
.dms-price strong{color:var(--dms-primary-2);font-family:Teko,sans-serif;font-size:34px;font-weight:500;line-height:1}
.dms-price small{color:var(--dms-muted);font-size:12px;text-transform:uppercase}

/* Sin imagen */
.dms-noimg{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:160px;background:repeating-linear-gradient(45deg,#1d1d1d,#1d1d1d 12px,#202020 12px,#202020 24px);color:var(--dms-muted);text-align:center;font-size:13px;padding:16px}
.dms-noimg--large{aspect-ratio:4/3;border-radius:6px;font-size:15px}

/* Estados */
.dms-state{background:var(--dms-card);border:1px solid var(--dms-line);border-radius:6px;padding:40px 24px;text-align:center;color:var(--dms-text)}
.dms-state h2{font-family:Teko,sans-serif;font-weight:500;color:#fff;font-size:30px;margin:0 0 8px}
.dms-state a{color:var(--dms-primary-2)}

/* Paginación */
.dms-pagination{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:28px 0 8px}
.dms-pagination .page-numbers{display:inline-flex;min-width:42px;height:42px;align-items:center;justify-content:center;padding:0 12px;border:1px solid #3a3a3a;border-radius:4px;color:var(--dms-text);text-decoration:none}
.dms-pagination .page-numbers.current,.dms-pagination .page-numbers:hover{background:var(--dms-primary);border-color:var(--dms-primary);color:#fff}
.dms-legal{color:var(--dms-muted);font-size:12px;margin:20px 0 40px}

/* Ficha */
.dms-back{margin:24px 0 12px}
.dms-back a{color:var(--dms-primary-2);text-decoration:none}
.dms-single__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;align-items:start}
.dms-gallery__main{margin:0;background:#111;border-radius:6px;overflow:hidden;aspect-ratio:4/3}
.dms-gallery__main img{width:100%;height:100%;object-fit:contain;display:block}
.dms-gallery__thumbs{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.dms-thumb{padding:0;border:2px solid transparent;border-radius:4px;background:#111;cursor:pointer;width:100%;aspect-ratio:1/1;overflow:hidden}
.dms-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.dms-thumb.is-active,.dms-thumb:hover,.dms-thumb:focus{border-color:var(--dms-primary)}
.dms-single__title{font-size:clamp(36px,5vw,56px);overflow-wrap:anywhere}
.dms-single__sub{color:var(--dms-muted);margin:4px 0 18px;text-transform:uppercase;letter-spacing:.4px}
.dms-pricebox{background:var(--dms-card);border:1px solid var(--dms-line);border-radius:6px;padding:16px 18px;margin-bottom:18px}
.dms-pricebox__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;color:var(--dms-text);border-top:1px solid #2e2e2e}
.dms-pricebox__row:first-child{border-top:0}
.dms-pricebox__row span{color:var(--dms-muted);font-size:14px}
.dms-pricebox__row del{color:var(--dms-muted)}
.dms-pricebox__row b{color:#fff}
.dms-pricebox__row--main strong{color:var(--dms-primary-2);font-family:Teko,sans-serif;font-size:44px;font-weight:500;line-height:1}
.dms-datasheet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin:0 0 20px}
.dms-datasheet div{border-bottom:1px solid #2e2e2e;padding:8px 0;min-width:0}
.dms-datasheet dt{color:var(--dms-muted);font-size:12px;text-transform:uppercase;letter-spacing:.4px}
.dms-datasheet dd{margin:2px 0 0;color:#fff;overflow-wrap:anywhere}
.dms-finance{margin:0 0 20px}
.dms-finance h2{font-family:Teko,sans-serif;font-weight:500;font-size:30px;color:#fff;margin:0 0 10px;text-transform:uppercase}
.dms-finance__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dms-finance__opt{background:var(--dms-card);border:1px solid var(--dms-line);border-left:3px solid var(--dms-primary);border-radius:6px;padding:14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.dms-finance__label{color:var(--dms-muted);font-size:12px;text-transform:uppercase;letter-spacing:.4px}
.dms-finance__opt strong{color:#fff;font-size:22px}
.dms-finance__pay{color:var(--dms-primary-2);font-weight:700;font-size:18px}
.dms-finance__pay small{color:var(--dms-muted);font-weight:400;font-size:12px}
.dms-finance__term{color:var(--dms-muted);font-size:13px}
.dms-finance__note{color:var(--dms-muted);font-size:12px;margin:10px 0 0}
.dms-cta{margin:6px 0 4px}
.dms-cta__local{color:var(--dms-muted);font-size:12px;margin:6px 0 0}

@media (max-width:1100px){.dms-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dms-filters__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){.dms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dms-filters__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dms-single__grid{grid-template-columns:1fr}}
@media (max-width:520px){.dms-grid{grid-template-columns:1fr}.dms-filters__grid{grid-template-columns:1fr}.dms-finance__grid,.dms-datasheet{grid-template-columns:1fr}.dms-filters__actions .dms-btn{flex:1}}

/* Lexrider deja vacío su H1 en archivos de CPT: se oculta para no mostrar un título vacío. */
.dms-catalog.post-type-archive .page-title-bar .page-title:empty{display:none}
.dms-catalog #primary{width:100%;max-width:100%}

/* Diseño con Elementor (widgets "DINAMO Seminuevas"). Los colores se ajustan desde el panel de estilo de cada widget. */
.dms-scope{min-width:0}
.dms-scope .dms-card{height:100%}
.dms-scope .dms-card--tpl{background:none;border:0;border-radius:0;overflow:visible}
.dms-scope .dms-card--tpl:hover{border:0}
.dms-scope .dms-card--tpl>.elementor{height:100%}
.dms-scope .dms-card__media{border-radius:inherit}
.dms-field{margin:0;overflow-wrap:anywhere}
.dms-field__label{color:var(--dms-muted)}
.dms-field a{color:inherit;text-decoration:none}
.dms-field del{color:inherit}
.dms-btnw .dms-btn{max-width:100%}
.dms-btnw--link .dms-btn{background:none;border:0;padding:0;min-height:0;color:var(--dms-primary-2);font-family:inherit;font-size:inherit;text-transform:none;letter-spacing:0}
.dms-editor-note{border:1px dashed var(--dms-primary);color:var(--dms-text);background:rgba(214,106,23,.08);padding:8px 10px;font-size:12px;margin:0 0 8px;border-radius:4px}
.dms-elementor{overflow-x:hidden}
.dms-catalog .dms-elementor .dms-specs,.dms-catalog .dms-elementor .dms-grid{margin:0}
@media (max-width:767px){.dms-scope .dms-datasheet{grid-template-columns:1fr}}
/* Elementor aplica .elementor img{height:auto}: se refuerza el recorte de fotos y miniaturas dentro de los widgets. */
.dms-scope .dms-card__media{overflow:hidden}
.dms-scope .dms-card__media img,.dms-scope .dms-thumb img{width:100%;height:100%;object-fit:cover;max-width:none}
.dms-scope .dms-gallery__main img{width:100%;height:100%;max-width:none}
.dms-scope .dms-card__media .dms-noimg{position:absolute;inset:0;min-height:0}
.dms-card--tpl>.elementor,.dms-card--tpl>.elementor>.e-con{height:100%}
/* Lexrider fija .next/.prev.page-numbers a un cuadrado con icono: en el catálogo se muestran como texto. */
.dms-pagination .next.page-numbers,.dms-pagination .prev.page-numbers{width:auto;font-size:15px;white-space:nowrap}
.dms-pagination .next.page-numbers:after,.dms-pagination .prev.page-numbers:after{content:none;display:none}
/* Hero (Slider Revolution) y migas de pan de Breadcrumb NavXT en el diseño de Elementor (DINAMO_015 §15). */
.dms-breadcrumbs .breadcrumbs{font-size:14px;color:#8e8e8e;line-height:1.6}
.dms-breadcrumbs .breadcrumbs a{color:#f28d2c;text-decoration:none}
.dms-breadcrumbs .breadcrumbs a:hover{color:#fff}
.dms-breadcrumbs .breadcrumbs i{font-style:normal;margin:0 8px;color:#777}
.dms-breadcrumbs .breadcrumbs i::before{content:"\203A";font-family:inherit;font-size:16px}
.dms-breadcrumbs .breadcrumbs .current-item{color:#c9c9c9}
/* Páginas con hero: igual que las páginas de modelo de DINAMO (plantilla page-elementor de Lexrider), el contenido
   empieza arriba, bajo el encabezado transparente. El ancho completo lo da la sección "estirada" de Elementor. */
body.dms-hero-page #content{padding-top:0!important;padding-bottom:0!important}
/* La sección estirada sobresale de #content/#primary: el recorte horizontal se hace en el contenedor de ancho completo. */
body.dms-hero-page.dms-catalog .site-content,body.dms-hero-page .dms-elementor{overflow-x:visible}
body.dms-hero-page .site-content-contain{overflow-x:hidden}
