/* Recursos aislados al catálogo: no modifica el configurador ni el proceso de compra. */
body.pagina-plantillas { background:#f6f7f9; display:flex; flex-direction:column; min-height:100vh; margin:0; }
.pagina-plantillas .content-body-full { flex:1; }
.pagina-plantillas .tpl-contenedor { width:100%; max-width:1180px; padding:0 24px !important; margin:0 auto; }
.pagina-plantillas .tpl { padding:12px 0 48px; color:#343b43; font:14px/1.7 'Roboto',Arial,sans-serif; }
.tpl *, .tpl *::before, .tpl *::after { box-sizing:border-box; }
.tpl [hidden] { display:none !important; }
.tpl h1, .tpl h2, .tpl h3, .tpl h4 { color:#343b43; font-family:inherit; line-height:1.4; text-align:left; text-transform:none; letter-spacing:normal; }
.tpl p { margin:0; color:#626e7a; font-size:14px; line-height:1.7; text-align:left; }
.tpl .tpl-cabecera { margin-bottom:22px; }
.tpl .tpl-cabecera h1 { margin:0 0 10px; font-size:26px; font-weight:400; }
.tpl .tpl-cabecera p { max-width:800px; font-size:15px; }
.tpl .tpl-panel, .tpl .tpl-tarjeta { border:1px solid #dce3ea; border-radius:12px; background:#fff; box-shadow:0 3px 12px #21354704; min-width:0; }
.tpl .tpl-panel { padding:24px; }
.tpl h2 { margin:0 0 6px; font-size:21px; font-weight:500; }
.tpl .tpl-herramientas { margin-bottom:20px; }
.tpl .tpl-controles { margin-top:18px; }
.tpl .tpl-busqueda-label, .tpl .tpl-familias-mobile label { display:block; margin:0 0 7px; color:#465363; font-size:13px; font-weight:500; }
.tpl .tpl-busqueda { position:relative; }
.tpl .tpl-busqueda > i { position:absolute; left:16px; top:50%; transform:translateY(-50%); color:#738191; pointer-events:none; }
.tpl .tpl-busqueda input { display:block; width:100%; min-height:48px; padding:12px 14px 12px 44px; border:1px solid #ccd5df; border-radius:7px; background:#fff; color:#343b43; font:inherit; line-height:1.5; box-shadow:none; }
.tpl .tpl-busqueda input::placeholder { color:#697684; opacity:1; font-size:13px; }
.tpl .tpl-familias-desktop { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.tpl .tpl-filtro { display:inline-flex; align-items:center; gap:9px; min-height:44px; max-width:100%; padding:8px 12px; border:1px solid #dce3ea; border-radius:7px; color:#465363; background:#fff; font:500 13px/1.5 'Roboto',Arial,sans-serif; text-align:left; cursor:pointer; }
.tpl .tpl-filtro span { padding:0 6px; border-radius:4px; background:#f1f4f7; color:#626e7a; font-size:11px; font-weight:400; }
.tpl .tpl-filtro[aria-pressed="true"] { border-color:var(--color-principal,#0099ff); background:var(--color-principal-alfa10,#e5f5ff); color:#343b43; }
.tpl .tpl-filtro[aria-pressed="true"] span { background:#fff; }
.tpl .tpl-filtro:hover, .tpl .tpl-descarga:hover, .tpl .tpl-boton:hover { border-color:var(--color-principal,#0099ff); color:#343b43; background:#f6f8fa; }
.tpl .tpl-familias-mobile { display:none; margin-top:14px; }
.tpl .tpl-familias-mobile select { width:100%; min-height:44px; padding:10px 12px; border:1px solid #ccd5df; border-radius:7px; background:#fff; font:inherit; color:#343b43; }
.tpl .tpl-estado { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; margin-top:14px; }
.tpl .tpl-estado p { font-size:13px; }
.tpl .tpl-limpiar { padding:8px 0; min-height:44px; border:0; background:none; color:#465363; font:500 13px/1.5 'Roboto',Arial,sans-serif; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.tpl .tpl-listado { columns:2; column-gap:20px; }
.tpl .tpl-listado[data-visible-families="1"] { columns:1; }
.tpl .tpl-tarjeta { display:inline-block; vertical-align:top; width:100%; margin:0 0 20px; padding:24px; break-inside:avoid; }
.tpl .tpl-tarjeta-cabecera { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.tpl .tpl-icono { flex:0 0 40px; display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:10px; color:#465363; background:var(--color-principal-alfa10,#e5f5ff); font-size:19px; }
.tpl .tpl-tarjeta h3 { flex:1; min-width:0; margin:0; font-size:19px; font-weight:500; overflow-wrap:anywhere; }
.tpl .tpl-contador { padding:2px 8px; border-radius:5px; background:#f1f4f7; color:#626e7a; font-size:12px; }
.tpl .tpl-grupo + .tpl-grupo { margin-top:20px; }
.tpl .tpl-grupo h4 { margin:0 0 6px; font-size:14px; font-weight:500; }
.tpl .tpl-filas { list-style:none; margin:0; padding:0; }
.tpl .tpl-fila { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:58px; padding:6px 0; border-bottom:1px solid #edf0f3; }
.tpl .tpl-fila:last-child { border-bottom:0; }
.tpl .tpl-producto { min-width:0; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.tpl .tpl-descarga { flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:8px 11px; border:1px solid #dce3ea; border-radius:7px; background:#fff; color:#465363; font-size:12px; line-height:1.4; text-decoration:none; }
.tpl .tpl-formato { font-size:11px; color:#626e7a; }
.tpl .tpl-descarga > i, .tpl .tpl-descarga-texto, .tpl .tpl-boton > i { color:inherit; }
.tpl .tpl-vacio { text-align:center; }
.tpl .tpl-vacio .tpl-icono { margin:0 auto 12px; }
.tpl .tpl-vacio h3 { margin:0 0 8px; font-size:18px; font-weight:500; text-align:center; }
.tpl .tpl-vacio p { max-width:560px; margin:0 auto 18px; text-align:center; }
.tpl .tpl-seccion { margin-top:30px; }
.tpl .tpl-guia { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:18px 0 0; list-style:none; counter-reset:tpl-paso; }
.tpl .tpl-guia li { min-width:0; padding-left:24px; border-left:1px solid #e6ebef; }
.tpl .tpl-guia li:first-child { padding-left:0; border-left:0; }
.tpl .tpl-guia li::before { counter-increment:tpl-paso; content:counter(tpl-paso); display:flex; align-items:center; justify-content:center; width:30px; height:30px; margin-bottom:12px; border-radius:50%; background:var(--color-principal-alfa10,#e5f5ff); color:#465363; font-weight:500; }
.tpl .tpl-guia h3 { margin:0 0 8px; font-size:16px; font-weight:500; }
.tpl .tpl-guia p { font-size:13px; }
.tpl .tpl-preguntas { margin-top:18px; overflow:hidden; border:1px solid #dce3ea; border-radius:12px; background:#fff; }
.tpl .tpl-preguntas details { border-bottom:1px solid #e6ebef; }
.tpl .tpl-preguntas details:last-child { border:0; }
.tpl .tpl-preguntas summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 24px; list-style:none; color:#343b43; font-size:14px; font-weight:500; line-height:1.5; cursor:pointer; }
.tpl .tpl-preguntas summary::-webkit-details-marker { display:none; }
.tpl .tpl-preguntas summary > span { flex:0 0 12px; position:relative; width:12px; height:12px; }
.tpl .tpl-preguntas summary > span::before, .tpl .tpl-preguntas summary > span::after { content:''; position:absolute; background:#687786; border-radius:1px; }
.tpl .tpl-preguntas summary > span::before { top:5px; left:0; width:12px; height:2px; }
.tpl .tpl-preguntas summary > span::after { top:0; left:5px; width:2px; height:12px; }
.tpl .tpl-preguntas details[open] summary > span::after { display:none; }
.tpl .tpl-preguntas summary:hover { background:#f8fafb; }
.tpl .tpl-preguntas p { max-width:940px; padding:0 24px 20px; }
.tpl .tpl-ayuda { display:flex; align-items:center; gap:16px; margin-top:24px; }
.tpl .tpl-ayuda > div:not(.tpl-acciones) { flex:1; min-width:0; }
.tpl .tpl-ayuda h2 { margin:0 0 5px; font-size:18px; }
.tpl .tpl-ayuda p { font-size:13px; }
.tpl .tpl-acciones { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.tpl .tpl-boton { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 14px; border:1px solid #ccd5df; border-radius:7px; background:#fff; color:#465363; font-size:13px; font-weight:500; line-height:1.5; text-decoration:none; text-align:center; }
.tpl .tpl-boton-marca { border-color:transparent; background:var(--color-principal-alfa10,#e5f5ff); }
.tpl .tpl-boton i { font-size:16px; }
.tpl a:focus-visible, .tpl button:focus-visible, .tpl input:focus-visible, .tpl select:focus-visible, .tpl summary:focus-visible { outline:2px solid #465363; outline-offset:3px; }
/* La hoja heredada anula el foco de todos los botones con !important. */
.tpl button:focus-visible { outline:2px solid #465363 !important; }
@media (max-width:991px) {
    .tpl .tpl-ayuda { flex-wrap:wrap; }
    .tpl .tpl-acciones { margin-left:56px; }
    .tpl .tpl-descarga-texto { display:none; }
}
@media (max-width:767px) {
    .pagina-plantillas .tpl-contenedor { padding:0 16px !important; }
    .pagina-plantillas .tpl { padding:8px 0 32px; }
    .tpl .tpl-cabecera h1 { font-size:24px; }
    .tpl .tpl-cabecera p { font-size:14px; }
    .tpl .tpl-panel, .tpl .tpl-tarjeta { padding:20px; }
    .tpl .tpl-familias-desktop { display:none; }
    .tpl .tpl-familias-mobile { display:block; }
    .tpl .tpl-listado { columns:1; }
    .tpl .tpl-tarjeta { margin-bottom:14px; }
    .tpl .tpl-tarjeta h3 { font-size:18px; }
    .tpl .tpl-guia { grid-template-columns:minmax(0,1fr); gap:18px; }
    .tpl .tpl-guia li, .tpl .tpl-guia li:first-child { position:relative; padding:18px 0 0 44px; border-left:0; border-top:1px solid #e6ebef; }
    .tpl .tpl-guia li:first-child { padding-top:0; border-top:0; }
    .tpl .tpl-guia li::before { position:absolute; left:0; top:18px; margin:0; }
    .tpl .tpl-guia li:first-child::before { top:0; }
    .tpl .tpl-preguntas summary { padding:17px 20px; }
    .tpl .tpl-preguntas p { padding:0 20px 18px; }
    .tpl .tpl-ayuda { gap:12px; }
    .tpl .tpl-acciones { width:100%; margin-left:0; flex-wrap:wrap; }
    .tpl .tpl-acciones a { flex:1 1 130px; }
}

