/* Restyling encapsulado: solo pagina de presupuesto, sin afectar el resto. */
#tdm-presupuesto{--tdm-ink:#203c36;--tdm-green:#28594c;--tdm-line:#dfe8e2;--tdm-bg:#f5f7f4;color:var(--tdm-ink);font-family:Arial,Helvetica,sans-serif;max-width:100%;box-sizing:border-box;clear:both}
#tdm-presupuesto *,#tdm-presupuesto *::before,#tdm-presupuesto *::after{box-sizing:border-box}
#tdm-presupuesto .tdm-pre-hero{background:linear-gradient(120deg,#edf2ea,#f8f7f2);border:1px solid var(--tdm-line);border-radius:16px;padding:28px 26px;margin:0 0 18px;overflow:hidden}
#tdm-presupuesto .tdm-pre-kicker{font-size:11px;letter-spacing:1.8px;font-weight:700;color:var(--tdm-green);margin:0 0 11px}
#tdm-presupuesto .tdm-pre-hero h2{font-size:clamp(23px,3vw,32px);font-weight:700;color:#233e37;line-height:1.2;margin:0 0 10px}
#tdm-presupuesto .tdm-pre-hero>p:not(.tdm-pre-kicker){max-width:650px;font-size:15px;line-height:1.7;color:#55665e;margin:0 0 17px}
#tdm-presupuesto .tdm-pre-ventajas{display:flex;flex-wrap:wrap;gap:8px}
#tdm-presupuesto .tdm-pre-ventajas span{font-size:12px;font-weight:600;border:1px solid #d4e1d5;background:#fff;border-radius:30px;padding:7px 12px;color:#315b4e}
#tdm-presupuesto>div[itemscope]{margin:12px 0}
#tdm-presupuesto .h1_index{font-size:23px!important;line-height:1.3!important;color:#28493f!important;margin:18px 0 10px!important}
#tdm-presupuesto .tdm-pre-formulario{clear:both;width:100%;max-width:100%;overflow-x:auto;margin:15px 0 25px;scrollbar-width:thin}
#tdm-presupuesto .tdm-pre-formulario>table{width:100%!important;min-width:600px;max-width:100%;border-spacing:0}
#tdm-presupuesto .tdm-pre-formulario>table>tbody>tr>td{padding:10px 8px;vertical-align:top}
#tdm-presupuesto #matcom,#tdm-presupuesto #contenidox,#tdm-presupuesto #contenido_lineas,#tdm-presupuesto #contenido_confirma,#tdm-presupuesto #contenido8,#tdm-presupuesto #contenido_pie,#tdm-presupuesto #contenido9{max-width:100%;box-sizing:border-box;}
#tdm-presupuesto #matcom,#tdm-presupuesto #contenidox,#tdm-presupuesto #contenido_lineas,#tdm-presupuesto #contenido8,#tdm-presupuesto #contenido9{background:#fff;border:1px solid var(--tdm-line);border-radius:12px;padding:15px!important;margin:0 0 10px;float:none!important;height:auto!important;min-height:45px;box-shadow:0 4px 18px rgba(30,60,40,.035)}
#tdm-presupuesto #contenido_lineas{border-bottom:1px solid var(--tdm-line)!important;overflow-x:auto}
#tdm-presupuesto #contenido_confirma{float:none!important;width:100%!important}
#tdm-presupuesto #contenido_pie{width:100%!important;float:none!important}
#tdm-presupuesto input:focus,#tdm-presupuesto textarea:focus,#tdm-presupuesto select:focus{outline:2px solid #87ad9b;outline-offset:1px}
#tdm-presupuesto input[type=button],#tdm-presupuesto input[type=submit],#tdm-presupuesto button{border:1px solid #28594c;border-radius:7px;background:#28594c;color:#fff;font-weight:700;font-size:13px;padding:9px 15px;cursor:pointer;min-height:35px}
#tdm-presupuesto input[type=button]:hover,#tdm-presupuesto input[type=submit]:hover,#tdm-presupuesto button:hover{background:#204d40}
#tdm-presupuesto a{color:#28594c}
#tdm-presupuesto table{border-color:#e2ebe5}
#tdm-presupuesto #contenido_lineas table,#tdm-presupuesto #contenidox table{max-width:100%}
@media(max-width:700px){#tdm-presupuesto .tdm-pre-hero{padding:20px 16px}#tdm-presupuesto .tdm-pre-formulario>table{min-width:560px}#tdm-presupuesto .tdm-pre-formulario>table>tbody>tr>td{padding:7px 4px}#tdm-presupuesto #matcom,#tdm-presupuesto #contenidox,#tdm-presupuesto #contenido_lineas,#tdm-presupuesto #contenido8,#tdm-presupuesto #contenido9{padding:11px!important}}


/* Ajuste visual 2: banners de categorías más grandes, tipografía blanca. */
#tdm-presupuesto #matcom .contenido22 {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:54px !important;
  min-width:120px;
  margin:5px 6px 5px 0 !important;
  padding:0 !important;
  background:#28594c !important;
  border:1px solid #204a3e !important;
  border-radius:9px !important;
  box-shadow:0 3px 8px rgba(23,58,47,.15);
  width:auto !important;
  height:auto !important;
}
#tdm-presupuesto #matcom .contenido22 a,
#tdm-presupuesto #matcom .contenido22 a:link,
#tdm-presupuesto #matcom .contenido22 a:visited {
  display:flex !important;
  align-items:center;
  justify-content:center;
  min-height:54px !important;
  padding:12px 17px !important;
  color:#ffffff !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  text-align:center;
  text-decoration:none !important;
  text-shadow:none !important;
  white-space:normal !important;
}
#tdm-presupuesto #matcom .contenido22:hover {background:#1b4538 !important;}
/* Desplegables más compactos sin ocultar opciones. */
@media(max-width:700px) {
  #tdm-presupuesto #matcom .contenido22 {min-width:105px;min-height:48px !important;}
  #tdm-presupuesto #matcom .contenido22 a {min-height:48px !important;padding:10px 12px !important;font-size:12px !important;}
}


/* Ajuste 3 (20-10-2026): familias un 20 % más compactas. */
#tdm-presupuesto #matcom .contenido22 {
  min-width:96px !important;
  min-height:43px !important;
  margin:4px 5px 4px 0 !important;
}
#tdm-presupuesto #matcom .contenido22 a,
#tdm-presupuesto #matcom .contenido22 a:link,
#tdm-presupuesto #matcom .contenido22 a:visited {
  min-height:43px !important;
  padding:9px 13px !important;
  color:#fff !important;
  font-weight:800 !important;
  font-size:13px !important;
}
/* Acciones del presupuesto: contraste de los textos en el interior. */
#tdm-presupuesto input[type="submit"],
#tdm-presupuesto input[type="button"],
#tdm-presupuesto button,
#tdm-presupuesto .botones_formulario,
#tdm-presupuesto .boton_abajo,
#tdm-presupuesto a.botones_formulario,
#tdm-presupuesto a.boton_abajo {
  color:#fff !important;
  font-weight:800 !important;
  background-color:#28594c !important;
}
#tdm-presupuesto button *,
#tdm-presupuesto .botones_formulario *,
#tdm-presupuesto .boton_abajo * {color:#fff !important;}
/* Botón Grabar: 20 % mayor que el resto de controles. */
#tdm-presupuesto #grabar,
#tdm-presupuesto input[name="grabar" i],
#tdm-presupuesto button[name="grabar" i] {
  font-size:16px !important;
  min-height:44px !important;
  padding:11px 19px !important;
  color:#fff !important;
  font-weight:800 !important;
}
@media(max-width:700px){
  #tdm-presupuesto #matcom .contenido22 {min-width:84px !important;min-height:38px !important;}
  #tdm-presupuesto #matcom .contenido22 a {min-height:38px !important;padding:7px 10px !important;font-size:12px !important;}
}

/* Ajuste: texto blanco dentro de todas las bandas de familias y acciones.
   Respetar dimensiones naturales de selects e inputs del /css/pedidos.css original. */
#tdm-presupuesto #matcom .contenido22,
#tdm-presupuesto #matcom .contenido22 a,
#tdm-presupuesto #matcom .contenido22 a:link,
#tdm-presupuesto #matcom .contenido22 a:visited,
#tdm-presupuesto #matcom .contenido22 a:hover,
#tdm-presupuesto #matcom .contenido22 a:focus,
#tdm-presupuesto #matcom .contenido22 span,
#tdm-presupuesto #matcom .contenido22 strong,
#tdm-presupuesto #matcom .contenido22 label,
#tdm-presupuesto #matcom .contenido22 a * {
  color:#fff !important;
  font-weight:800 !important;
  opacity:1 !important;
}
#tdm-presupuesto #matcom .contenido22 a {
  background-color:#28594c !important;
}
#tdm-presupuesto #matcom .contenido22 a:hover {background-color:#1b4538 !important;}
#tdm-presupuesto .botones_formulario,
#tdm-presupuesto .boton_abajo,
#tdm-presupuesto .botones_formulario *,
#tdm-presupuesto .boton_abajo *,
#tdm-presupuesto input[type=submit],
#tdm-presupuesto input[type=button],
#tdm-presupuesto button {color:#fff !important;font-weight:800 !important;}

/* Correccion 20-10-2026: ancho responsable, sin invadir la columna lateral.
   Se elimina el ancho forzado de 900px y el overflow:visible de la plantilla.
   Las tablas amplias se desplazan DENTRO del presupuesto si falta espacio. */
#tdm-presupuesto {
  display:block;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
#tdm-presupuesto .tdm-pre-formulario {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:auto !important;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
}
#tdm-presupuesto .tdm-pre-formulario > table {
  width:100% !important;
  min-width:800px !important;
  max-width:none !important;
}
#tdm-presupuesto #contenido_lineas,
#tdm-presupuesto #matcom,
#tdm-presupuesto #contenidox,
#tdm-presupuesto #contenido8,
#tdm-presupuesto #contenido9 {
  min-width:0 !important;
  max-width:100% !important;
}
#tdm-presupuesto #contenido_lineas {overflow-x:auto !important;}

/* Texto blanco visible dentro de banners y botones del formulario. */
#tdm-presupuesto #matcom .contenido22,
#tdm-presupuesto #matcom .contenido22 *,
#tdm-presupuesto #matcom .contenido22 a:hover,
#tdm-presupuesto #matcom .contenido22 a:visited {
  color:#fff !important;
  font-weight:800 !important;
}
#tdm-presupuesto input[type=submit],
#tdm-presupuesto input[type=button],
#tdm-presupuesto button,
#tdm-presupuesto .botones_formulario,
#tdm-presupuesto .botones_formulario *,
#tdm-presupuesto .boton_abajo,
#tdm-presupuesto .boton_abajo * {
  color:#fff !important;
  font-weight:800 !important;
  opacity:1 !important;
}

/* Contraste reforzado de la botonera del presupuesto (20-10-2026).
   El contenido de seleccion se carga dinamicamente dentro de #matcom y #contenidox.
   No tocar enlaces de fotografias (enlaces que contienen img). */
#tdm-presupuesto #matcom .contenido22,
#tdm-presupuesto #matcom .contenido22 *,
#tdm-presupuesto #contenidox .contenido22,
#tdm-presupuesto #contenidox .contenido22 *,
#tdm-presupuesto #matcom a:not(:has(img)),
#tdm-presupuesto #contenidox a:not(:has(img)) {
  color:#fff !important;
  font-weight:800 !important;
  text-shadow:none !important;
  -webkit-text-fill-color:#fff !important;
}
/* Los enlaces de texto que actuan como selector muestran siempre fondo oscuro,
   incluso si el estilo heredado era turquesa con letras negras. */
#tdm-presupuesto #matcom a:not(:has(img)),
#tdm-presupuesto #contenidox a:not(:has(img)) {
  background-color:#28594c !important;
}
#tdm-presupuesto #matcom a:not(:has(img)):hover,
#tdm-presupuesto #contenidox a:not(:has(img)):hover {
  background-color:#1b4538 !important;
}
/* Botoneras de accion, incluidos elementos hijos y estados de enlace. */
#tdm-presupuesto .botones_formulario,
#tdm-presupuesto .botones_formulario *,
#tdm-presupuesto .boton_abajo,
#tdm-presupuesto .boton_abajo *,
#tdm-presupuesto input[type=submit],
#tdm-presupuesto input[type=button],
#tdm-presupuesto button {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-weight:800 !important;
}

/* Ajuste solicitado: registro verde, y tablas/campos dentro de su columna.
   No se modifica la botonera de Guardar, Imprimir, Descartar o Confirmar. */
#tdm-presupuesto #pre_acceso_registro + div {
  width:100% !important;
  float:none !important;
  clear:both !important;
  text-align:center !important;
}
#tdm-presupuesto #pre_acceso_registro + div > div {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  width:min(600px,100%) !important;
  max-width:100% !important;
  min-height:45px !important;
  height:auto !important;
  padding:7px 12px !important;
  background:#28594c !important;
  background-image:none !important;
  border-radius:8px !important;
}
#tdm-presupuesto #pre_acceso_registro + div > div > div {
  width:100% !important;
  padding:0 !important;
}
#tdm-presupuesto #pre_acceso_registro + div a.glow,
#tdm-presupuesto #pre_acceso_registro + div a.glow *,
#tdm-presupuesto #pre_acceso_registro + div a.glow:visited {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-weight:800 !important;
  text-decoration:none !important;
  text-shadow:none !important;
  background:transparent !important;
}
/* Los bloques con tablas heredadas de anchura fija deben permanecer accesibles:
   si no caben, solo se desplaza el bloque y no el documento entero. */
#tdm-presupuesto .tdm-pre-formulario {
  overflow-x:auto !important;
  overflow-y:visible;
  max-width:100% !important;
}
#tdm-presupuesto .tdm-pre-formulario > table {
  min-width:800px !important;
  width:800px !important;
  max-width:none !important;
}
#tdm-presupuesto #matcom,
#tdm-presupuesto #contenidox,
#tdm-presupuesto #contenido_lineas,
#tdm-presupuesto #contenido8 {
  max-width:100% !important;
  overflow-x:auto !important;
  scrollbar-width:thin;
}
#tdm-presupuesto #contenido_lineas table,
#tdm-presupuesto #contenidox table {
  max-width:none !important;
}


/* Correccion focalizada 20-10-2026: anchuras reales de las secciones PHP.
   pedidos_carga_matcom.php: dos filas de familias flotantes.
   pedidos_lineas.php: cabecera y filas usan 800px fijos.
   pedidos_portes.php: selects y campos flotantes con anchuras en linea. */
/* Evitar que el bloque principal ensanche la plantilla o quede recortado. */
#tdm-presupuesto,
#tdm-presupuesto .tdm-pre-formulario {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
#tdm-presupuesto .tdm-pre-formulario {overflow-x:auto !important; overflow-y:visible !important;}
/* La tabla estructural principal no debe desbordar el presupuesto. */
#tdm-presupuesto .tdm-pre-formulario > table {
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  table-layout:fixed !important;
}
#tdm-presupuesto .tdm-pre-formulario > table > tbody > tr > td {
  min-width:0 !important;
  max-width:100% !important;
}
/* Familias: envolver las etiquetas en la misma columna, sin ocultar la ultima. */
#tdm-presupuesto #matcom {width:100% !important; min-width:0 !important; overflow-x:hidden !important;}
#tdm-presupuesto #matcom > div:first-child,
#tdm-presupuesto #matcom table {width:100% !important; max-width:100% !important;}
#tdm-presupuesto #matcom table td {max-width:100% !important;}
#tdm-presupuesto #matcom .contenido22 {float:none !important; display:inline-flex !important; vertical-align:top !important; max-width:100% !important;}
#tdm-presupuesto #matcom .contenido22 a {overflow-wrap:anywhere !important;}
/* El configurador AJAX tiene medidas internas fijas: desplazamiento SOLO en este bloque. */
#tdm-presupuesto #contenidox {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  scrollbar-width:auto;
}
#tdm-presupuesto #contenidox select {max-width:100% !important;}
/* El listado incluye filas y cabeceras de 800px: conservarlas y permitir navegar hasta editar/eliminar. */
#tdm-presupuesto #contenido_lineas {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  scrollbar-width:auto;
}
#tdm-presupuesto #contenido_lineas > div,
#tdm-presupuesto #contenido_lineas #contenido7,
#tdm-presupuesto #contenido_lineas #contenido7_lineas {min-width:800px !important;}
#tdm-presupuesto #contenido_lineas #tabla_pedidos_lineas {width:800px !important; min-width:800px !important; max-width:none !important;}
/* Portes: mismo orden y funciones, sin que el Importe desaparezca. */
#tdm-presupuesto #contenido8 {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  scrollbar-width:auto;
}
#tdm-presupuesto #contenido8 #pais {width:160px !important; max-width:100% !important;}
#tdm-presupuesto #contenido8 #portes_provincia {width:150px !important;}
#tdm-presupuesto #contenido8 #provincia {width:100% !important; max-width:100% !important;}
#tdm-presupuesto #contenido8 #con87 {width:90px !important;}
#tdm-presupuesto #contenido8 #importe {width:85px !important; max-width:100% !important;}
/* Los cuatro botones inferiores quedan igual; no se alteran sus reglas. */

/* Ajuste final de familias: una fila para siete materiales y una para seis complementos.
   Solo los selectores superiores, no las piezas dinamicas del configurador. */
@media (min-width: 780px) {
  #tdm-presupuesto #matcom > div:first-child > table {
    display:table !important;
    width:100% !important;
    table-layout:fixed !important;
    border-collapse:collapse !important;
  }
  #tdm-presupuesto #matcom > div:first-child > table > tbody > tr > td {
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    justify-content:space-between !important;
    gap:4px !important;
    overflow:visible !important;
  }
  #tdm-presupuesto #matcom > div:first-child > table > tbody > tr > td > .contenido22 {
    float:none !important;
    display:flex !important;
    flex:0 1 auto !important;
    min-width:0 !important;
    min-height:30px !important;
    height:30px !important;
    width:auto !important;
    margin:2px 0 !important;
    border-radius:5px !important;
    box-shadow:none !important;
  }
  #tdm-presupuesto #matcom > div:first-child > table > tbody > tr > td > .contenido22 > a {
    display:flex !important;
    min-width:0 !important;
    min-height:30px !important;
    height:30px !important;
    width:100% !important;
    padding:4px 6px !important;
    font-size:10px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    overflow-wrap:normal !important;
    letter-spacing:0 !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    font-weight:800 !important;
  }
}
/* En pantallas estrechas, las dos familias se conservan como grupos,
   pero cada grupo puede envolver sus propias etiquetas. */
@media (max-width:779px) {
  #tdm-presupuesto #matcom > div:first-child > table > tbody > tr > td {
    display:flex !important;
    flex-wrap:wrap !important;
    gap:4px !important;
  }
  #tdm-presupuesto #matcom > div:first-child .contenido22 {
    min-height:30px !important;
    margin:2px !important;
  }
  #tdm-presupuesto #matcom > div:first-child .contenido22 a {
    min-height:30px !important;
    padding:4px 7px !important;
    font-size:11px !important;
  }
}


/* TDM 2026-10-20: corregir selectores reales del HTML de pedidos_carga_matcom.php.
   Dos rejillas independientes (7 materiales, 6 complementos), sin alterar AJAX. */
@media (min-width: 760px) {
  #tdm-presupuesto #matcom {width:100% !important; min-width:0 !important; overflow:hidden !important;}
  #tdm-presupuesto #matcom table:has(#mid4),
  #tdm-presupuesto #matcom table:has(#cid1) {
    display:table !important; width:100% !important; max-width:100% !important;
    min-width:0 !important; table-layout:fixed !important; border-collapse:collapse !important;
  }
  #tdm-presupuesto #matcom table:has(#mid4) > tbody > tr > td,
  #tdm-presupuesto #matcom table:has(#cid1) > tbody > tr > td {
    display:block !important; min-width:0 !important; width:100% !important;
    max-width:100% !important; padding:0 !important; overflow:visible !important;
  }
  #tdm-presupuesto #matcom table:has(#mid4) > tbody > tr > td {
    display:grid !important;
    grid-template-columns:minmax(0,.78fr) minmax(0,.98fr) minmax(0,.9fr) minmax(0,1.2fr) minmax(0,1.48fr) minmax(0,.75fr) minmax(0,1.25fr) !important;
    gap:4px !important; align-items:stretch !important;
  }
  #tdm-presupuesto #matcom table:has(#cid1) > tbody > tr > td > div:first-child {
    display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,2.15fr) minmax(0,1.1fr) minmax(0,.78fr) minmax(0,.72fr) minmax(0,.65fr) !important;
    gap:4px !important; width:100% !important; max-width:100% !important;
    min-width:0 !important; float:none !important; align-items:stretch !important;
  }
  #tdm-presupuesto #matcom .contenido22[id^="mid"],
  #tdm-presupuesto #matcom .contenido22[id^="cid"] {
    display:flex !important; float:none !important; margin:0 !important; padding:0 !important;
    width:100% !important; min-width:0 !important; max-width:100% !important;
    height:42px !important; min-height:42px !important; box-shadow:none !important;
    border-radius:5px !important; align-items:stretch !important; overflow:hidden !important;
  }
  #tdm-presupuesto #matcom .contenido22[id^="mid"] > a,
  #tdm-presupuesto #matcom .contenido22[id^="cid"] > a {
    display:flex !important; align-items:center !important; justify-content:center !important;
    width:100% !important; min-width:0 !important; max-width:100% !important;
    height:100% !important; min-height:0 !important; padding:3px 2px !important;
    font-size:10px !important; line-height:1.15 !important; letter-spacing:0 !important;
    white-space:normal !important; overflow-wrap:normal !important; word-break:normal !important;
    text-align:center !important; color:white !important; -webkit-text-fill-color:white !important;
    font-weight:800 !important; text-shadow:none !important;
  }
}
/* Pantallas estrechas: no reducir las letras hasta hacerlas ilegibles.
   Cada grupo puede envolver; nunca solapar botones. */
@media (max-width:759px) {
  #tdm-presupuesto #matcom .contenido22[id^="mid"],
  #tdm-presupuesto #matcom .contenido22[id^="cid"] {float:none !important; vertical-align:top !important;}
}


/* Remates 2026-10-20: alineacion visual, sin modificar formularios ni operaciones. */
@media(min-width:760px){
  /* Primer material: no recortar la M final ni dejar que se superponga al siguiente. */
  #tdm-presupuesto #matcom table:has(#mid4)>tbody>tr>td {
    grid-template-columns:minmax(0,.98fr) minmax(0,1.06fr) minmax(0,.96fr) minmax(0,1.22fr) minmax(0,1.48fr) minmax(0,.79fr) minmax(0,1.31fr) !important;
  }
  #tdm-presupuesto #matcom #mid4,
  #tdm-presupuesto #matcom #mid4 a {overflow:visible !important;}
  #tdm-presupuesto #matcom #mid4 a {font-size:9px !important;white-space:nowrap !important;padding:2px 1px !important;}
  /* Portes: el importe debe compartir la fila con Pais y Provincia. */
  #tdm-presupuesto #contenido8 > div[style*="border-top"] {
    display:flex !important;flex-wrap:nowrap !important;align-items:center !important;
    column-gap:5px !important;width:100% !important;min-width:0 !important;
  }
  #tdm-presupuesto #contenido8 > div[style*="border-top"] > div {
    float:none !important;flex-shrink:1 !important;min-width:0 !important;
  }
  #tdm-presupuesto #contenido8 #con81 {flex:0 0 58px !important;width:58px !important;}
  #tdm-presupuesto #contenido8 .con82 {flex:0 0 52px !important;width:52px !important;}
  #tdm-presupuesto #contenido8 .con83 {flex:1 1 140px !important;width:auto !important;}
  #tdm-presupuesto #contenido8 #portes_provincia {flex:1 1 130px !important;width:auto !important;}
  #tdm-presupuesto #contenido8 #con86 {flex:0 0 60px !important;width:60px !important;}
  #tdm-presupuesto #contenido8 #con87 {flex:0 0 85px !important;width:85px !important;}
  #tdm-presupuesto #contenido8 #pais,
  #tdm-presupuesto #contenido8 #provincia {width:100% !important;max-width:100% !important;min-width:0 !important;}
  #tdm-presupuesto #contenido8 #importe {width:100% !important;max-width:100% !important;}
}
/* Lista de lineas: ancho nativo de 800px, accesible sin cortar botones. */
#tdm-presupuesto #contenido_lineas {overflow-x:auto !important;scrollbar-width:auto;}
#tdm-presupuesto #contenido_lineas > div[style*="800px"],
#tdm-presupuesto #contenido_lineas #contenido7_lineas div[style*="800px"] {max-width:none !important;}
/* Resumen de importe: desplazar el grupo de 300px al lateral derecho sin cambiar sus datos. */
#tdm-presupuesto #contenido_pie2 {margin-left:auto !important;float:right !important;}
#tdm-presupuesto #contenido_pie1 {max-width:100% !important;}
@media(max-width:850px){
  /* En ventanas mas pequenas, los bloques conservan el desplazamiento interior. */
  #tdm-presupuesto #contenido8 > div[style*="border-top"] {min-width:720px !important;}
  #tdm-presupuesto #contenido_pie2 {float:none !important;margin-left:0 !important;}
}

/* Remate focalizado 20-10-2026: configurador y tabla de lineas solamente.
   Se conservan familias en dos filas, portes, totales y acciones inferiores. */
/* No reservar altura fija en el contenedor que recibe el formulario por AJAX.
   La barra horizontal sigue accesible; la vertical exterior desaparece. */
#tdm-presupuesto #contenidox {
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  overscroll-behavior-x:contain;
}
/* Los selects de tratamientos no deben ampliar aun mas la columna. */
#tdm-presupuesto #contenidox select {
  box-sizing:border-box !important;
  max-width:100% !important;
  min-width:0 !important;
}
/* Un solo desplazamiento horizontal para toda la tabla (encabezado y filas).
   No modificar anchos de columnas ni los iconos de editar/eliminar. */
#tdm-presupuesto #contenido_lineas {
  height:auto !important;
  max-height:none !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scrollbar-width:auto;
  overscroll-behavior-x:contain;
}
#tdm-presupuesto #contenido_lineas #contenido7,
#tdm-presupuesto #contenido_lineas #contenido7_lineas,
#tdm-presupuesto #contenido_lineas #tabla_pedidos_lineas {
  overflow:visible !important;
  max-height:none !important;
}
/* Espacio para poder distinguir y pulsar los iconos al final de cada linea. */
#tdm-presupuesto #contenido_lineas .con7edit {
  min-width:18px !important;
  width:18px !important;
}
#tdm-presupuesto #contenido_lineas .con7edit a {
  display:inline-block;
  min-width:16px;
  min-height:16px;
}


/* 20-10-2026: ocultar SOLO las barras horizontales senaladas.
   Se mantiene el desplazamiento para acceder a opciones fuera del area visible. */
#tdm-presupuesto #contenidox,
#tdm-presupuesto #contenido_lineas {
  overflow-x:auto !important;
  scrollbar-width:none !important; /* Firefox */
  -ms-overflow-style:none !important;
}
#tdm-presupuesto #contenidox::-webkit-scrollbar,
#tdm-presupuesto #contenido_lineas::-webkit-scrollbar {
  display:none !important; /* Chrome, Edge y Safari */
  height:0 !important;
}


/* 20-10-2026: compactar solo los desplegables largos del configurador.
   Los controles ya pequenos conservan sus dimensiones originales.
   Mantener ocultas las barras y accesible el contenido mediante desplazamiento. */
#tdm-presupuesto #contenidox select {
  max-width: min(240px, calc(100% - 12px)) !important;
  box-sizing: border-box !important;
  text-overflow: ellipsis;
}


/* Ajuste puntual 20-10-2026: medida legible, sin cambiar tratamientos. */
#tdm-presupuesto #contenidox select#medida {
  width:100px !important;
  min-width:100px !important;
  max-width:100px !important;
  padding-left:5px !important;
  padding-right:18px !important;
  text-overflow:clip !important;
  box-sizing:border-box !important;
}
/* Resumen: acercarlo a la altura de la linea de peso.
   Solo afecta al panel de importes, no a sus valores. */
@media (min-width:760px) {
  #tdm-presupuesto #contenido_pie2 {
    margin-top:-28px !important;
  }
}

/* Remates finales: separar medida de unidades y de grueso. */
#tdm-presupuesto #contenidox select#medida {
  margin-right:12px !important;
}
/* Subir el bloque de importes otros 15px respecto del ajuste anterior. */
@media (min-width:760px) {
  #tdm-presupuesto #contenido_pie2 {
    margin-top:-43px !important;
  }
}

/* Ajuste final 20-10-2026: posicion del peso y resumen de importes.
   No modifica dimensiones del configurador, controles o valores. */
@media (min-width:760px) {
  #tdm-presupuesto #contenido_pie1 {
    padding-right:85px !important;
    box-sizing:border-box !important;
  }
  #tdm-presupuesto #contenido_pie2 {
    margin-top:-58px !important;
  }
}

/* Ajuste 20-10-2026: resumen alineado con la primera linea de transporte.
   Peso centrado inmediatamente bajo el texto explicativo, no junto al resumen.
   Solo presentacion: importes y calculos permanecen intactos. */
@media (min-width:760px) {
  #tdm-presupuesto #contenido_pie1 {
    text-align:center !important;
    padding-right:0 !important;
    padding-left:0 !important;
    box-sizing:border-box !important;
  }
  #tdm-presupuesto #contenido_pie2 {
    margin-top:-88px !important;
    margin-left:auto !important;
    float:right !important;
  }
}

/* Ajuste aislado 2026-10-20: mover a la izquierda solo el parrafo
   explicativo del transporte, sin mover Peso ni totales. */
@media (min-width:760px) {
  #tdm-presupuesto #contenido_pie0 {
    position:relative !important;
    left:-18px !important;
  }
}

/* 20-10-2026: recuperar ancho util del dibujo de cantos.
   dibujo_losa.php dispone 20+252+20 = 292px de zonas clicables
   y 4px de borde en cada lado. Con border-box, 8px quedan fuera.
   No modificar funciones JS ni medidas de piezas. */
#tdm-presupuesto #canto_imagen {
  box-sizing: content-box !important;
  max-width: none !important;
}
#tdm-presupuesto #canto_imagen #canto_cd {
  position: relative !important;
  z-index: 2 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* Texto explicativo del transporte: aprovechar su columna sin recortar
   las palabras y sin invadir la columna de importes. */
@media (min-width:760px) {
  #tdm-presupuesto #contenido_pie0 {
    left: 0 !important;
    padding-right: 10px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }
}

/* Ajuste de visibilidad de importes y Editar/Eliminar.
   Mantiene las columnas flotantes originales del PHP. */

#tdm-presupuesto #contenido_lineas {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: auto !important;
    box-sizing: border-box !important;
}

#tdm-presupuesto #contenido_lineas::-webkit-scrollbar {
    display: block !important;
    height: 12px !important;
}

#tdm-presupuesto #contenido_lineas > div {
    width: 850px !important;
    min-width: 850px !important;
    max-width: none !important;
}

#tdm-presupuesto #contenido_lineas #contenido7 {
    width: 850px !important;
    min-width: 850px !important;
}

#tdm-presupuesto #contenido_lineas #tabla_pedidos_lineas {
    width: 850px !important;
    min-width: 850px !important;
    max-width: none !important;
}

#tdm-presupuesto #contenido_lineas .con7edit {
    width: 45px !important;
    min-width: 45px !important;
    overflow: visible !important;
    white-space: nowrap !important;
}

/* TDM: compactar el listado completo un 10%.
   Mantiene alineadas cabecera, lineas y tratamientos. */

@media (min-width: 900px) {
    #tdm-presupuesto #contenido_lineas > div {
        zoom: 0.90 !important;
    }

    #tdm-presupuesto #contenido_lineas {
        overflow-x: auto !important;
        scrollbar-width: auto !important;
    }
}

/* Ocultar la barra horizontal del listado de presupuesto
   sin impedir el desplazamiento si fuera necesario. */

#tdm-presupuesto #contenido_lineas {
    overflow-x: auto !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

#tdm-presupuesto #contenido_lineas::-webkit-scrollbar {
    display: none !important;
    height: 0 !important;
}

/* TDM 2026 - Ajuste localizado de galerias
   No afecta al listado de lineas del presupuesto. */

#tdm-presupuesto #contenidox #contenido1 {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    column-gap: 12px !important;
    row-gap: 10px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 175px !important;
}

/* Fotografias principales */
#tdm-presupuesto #contenidox #con_preview,
#tdm-presupuesto #contenidox #con_preview2 {
    float: none !important;
    flex: 0 0 166px !important;
    margin: 0 !important;
}

/* Contenedores de miniaturas */
#tdm-presupuesto #contenidox #con_slider_top,
#tdm-presupuesto #contenidox #con_slider_top2,
#tdm-presupuesto #contenidox #con_slider_top_mat {
    float: none !important;
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* Carruseles: eliminar las anchuras fijas
   heredadas de grupo-css1_nuevo.min.css */
#tdm-presupuesto #contenidox .slider,
#tdm-presupuesto #contenidox #slider0,
#tdm-presupuesto #contenidox #slider1,
#tdm-presupuesto #contenidox #slider2,
#tdm-presupuesto #contenidox #slider3 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    position: relative !important;
}

/* Reservar espacio para las flechas */
#tdm-presupuesto #contenidox .slider .scroll {
    width: calc(100% - 64px) !important;
    max-width: calc(100% - 64px) !important;
    margin: 0 auto !important;
    overflow: hidden !important;
}

/* Flechas dentro del ancho disponible */
#tdm-presupuesto #contenidox .slider .scrollButtons.left {
    left: 0 !important;
}

#tdm-presupuesto #contenidox .slider .scrollButtons.right {
    right: 0 !important;
}

#tdm-presupuesto #contenidox #con_des_preview {
    flex-basis: 100%;
    clear: both;
}

/* TDM - Galerias compactas del configurador
   Mantener intactas las fotos grandes y el listado. */

/* Reducir el espacio ocupado por los carruseles */
#tdm-presupuesto #contenidox #con_slider_top,
#tdm-presupuesto #contenidox #con_slider_top2,
#tdm-presupuesto #contenidox #con_slider_top_mat {
    flex: 0 1 520px !important;
    width: 520px !important;
    max-width: calc(100% - 178px) !important;
    min-width: 0 !important;
    margin: 0 !important;
}

/* Ajustar cada carrusel a su contenedor */
#tdm-presupuesto #contenidox .slider {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* Ventana de miniaturas con espacio para las flechas */
#tdm-presupuesto #contenidox .slider .scroll {
    width: calc(100% - 76px) !important;
    max-width: calc(100% - 76px) !important;
    margin-left: 38px !important;
    margin-right: 38px !important;
}

/* Colocar las flechas dentro del carrusel */
#tdm-presupuesto #contenidox .slider .scrollButtons.left {
    left: 5px !important;
}

#tdm-presupuesto #contenidox .slider .scrollButtons.right {
    right: 5px !important;
}

/* TDM - Formulario de medidas y boton Guardar */

#tdm-presupuesto #contenidox #contenido3 {
    height: auto !important;
    min-height: 80px !important;
    display: flow-root !important;
    padding-bottom: 12px !important;
}

#tdm-presupuesto #contenidox #contenido3 > div {
    height: auto !important;
    min-height: 25px !important;
    display: flow-root !important;
}

/* TDM - Separacion de botones del formulario de medidas */

#tdm-presupuesto #contenidox #complemento_medidas {
    height: auto !important;
    min-height: 120px !important;
    display: flow-root !important;
    padding-bottom: 15px !important;
}

/* Las filas de medidas deben contener sus elementos flotantes */
#tdm-presupuesto #contenidox #complemento_medidas > div {
    height: auto !important;
    min-height: 25px !important;
    display: flow-root !important;
}

/* Guardar separado de los campos y del boton Subir */
#tdm-presupuesto #contenidox #contenido64xx {
    float: none !important;
    clear: both !important;
    display: table !important;
    width: 115px !important;
    min-width: 115px !important;
    height: auto !important;
    margin: 14px 0 12px 15px !important;
    padding: 10px 12px !important;
    text-align: center !important;
    position: relative !important;
}

#tdm-presupuesto #contenidox #contenido64xx a {
    display: block !important;
    color: #fff !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

/* TDM - Correccion conjunta de Subir y Guardar
   en el formulario de complementos */

#tdm-presupuesto #contenidox #complemento_medidas {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 800px !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 20px !important;
    box-sizing: border-box !important;
}

/* Primera fila: adjuntar dibujo y Subir */
#tdm-presupuesto #contenidox #complemento_medidas > div:first-child {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    height: auto !important;
    min-height: 65px !important;
    box-sizing: border-box !important;
}

/* Evitar que el formulario de subida se desborde */
#tdm-presupuesto #contenidox #myform {
    display: block !important;
    position: static !important;
    height: auto !important;
    min-height: 40px !important;
}

/* El boton Subir permanece en su propia fila */
#tdm-presupuesto #contenidox #myform input[type="submit"] {
    position: static !important;
    float: none !important;
    vertical-align: middle !important;
    margin: 4px 0 !important;
}

/* Filas interiores: respetar su contenido */
#tdm-presupuesto #contenidox #complemento_medidas > div:nth-child(2) {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    height: auto !important;
    min-height: 35px !important;
}

#tdm-presupuesto #contenidox #complemento_medidas > div:nth-child(3) {
    float: none !important;
    clear: both !important;
    display: flow-root !important;
    width: 100% !important;
    height: auto !important;
    min-height: 70px !important;
    padding-bottom: 10px !important;
    box-sizing: border-box !important;
}

/* Guardar: sin desplazamientos sobre Subir */
#tdm-presupuesto #contenidox #contenido64z {
    position: static !important;
    float: right !important;
    clear: both !important;
    display: block !important;
    width: 115px !important;
    height: auto !important;
    margin: 12px 20px 10px 0 !important;
    box-sizing: border-box !important;
}
