/* =========================================================
   municipio-base.css
   Estilos generales centralizados.
   Las reglas específicas están separadas por clase de página
   para conservar exactamente la estética de cada ASP.
   ========================================================= */


/* ===== CtaCte.asp ===== */

		body.page-ctacte{
			--primary:#0b5c8f;
			--primary-dark:#083e66;
			--accent:#1c75bc;
			--accent-dark:#0f5f9f;
			--accent-soft:#e9f3fb;
			--bg:#eef3f8;
			--card:#ffffff;
			--text:#1d2939;
			--muted:#667085;
			--border:#d3dfeb;
			--success:#12715b;
			--shadow:0 12px 30px rgba(11, 92, 143, .10);
			--radius:18px;
		}

		body.page-ctacte *{box-sizing:border-box}
		html, body.page-ctacte{margin:0;padding:0}
		body.page-ctacte{
			font-family:"Inter",Arial,Helvetica,sans-serif;
			background:
				radial-gradient(circle at top left, rgba(15,76,129,.09), transparent 28%),
				linear-gradient(180deg, #f8fbff 0%, var(--bg) 100%);
			color:var(--text);
			line-height:1.5;
		}

		body.page-ctacte a{color:var(--primary);text-decoration:none}
		body.page-ctacte a:hover{text-decoration:underline}

		body.page-ctacte .page{
			width:100%;
			max-width:1180px;
			margin:0 auto;
			padding:24px 16px 40px;
		}

		body.page-ctacte .content-wrap{
			width:100%;
			max-width:980px;
			margin:0 auto;
		}

		body.page-ctacte .topbar{
			display:flex;
			align-items:center;
			justify-content:space-between;
			gap:16px;
			flex-wrap:wrap;
			margin-bottom:18px;
		}

		body.page-ctacte .brand{
			display:flex;
			align-items:center;
			gap:14px;
		}

		body.page-ctacte .brand img{
			width:210px;
			height:auto;
			display:block;
		}

		body.page-ctacte .brand-copy small{
			display:block;
			color:var(--muted);
			font-weight:600;
			letter-spacing:.04em;
			text-transform:uppercase;
			margin-bottom:4px;
		}

		body.page-ctacte .brand-copy h1{
			margin:0;
			font-size:clamp(1.5rem, 3vw, 2.35rem);
			line-height:1.15;
			color:var(--primary-dark);
		}

		body.page-ctacte .back-link{
			display:inline-flex;
			align-items:center;
			gap:8px;
			padding:12px 16px;
			border-radius:999px;
			background:#fff;
			border:1px solid var(--border);
			box-shadow:var(--shadow);
			font-weight:600;
		}

		body.page-ctacte .hero{
			background:linear-gradient(135deg, var(--primary-dark), var(--primary));
			color:#fff;
			border-radius:28px;
			padding:28px;
			box-shadow:0 18px 40px rgba(10,53,89,.24);
			margin-bottom:24px;
			position:relative;
			overflow:hidden;
		}

		body.page-ctacte .hero:after{
			content:"";
			position:absolute;
			right:-40px;
			top:-40px;
			width:180px;
			height:180px;
			background:rgba(255,255,255,.08);
			border-radius:50%;
		}

		body.page-ctacte .hero h2{
			margin:0 0 10px;
			font-size:clamp(1.4rem, 2.8vw, 2rem);
			line-height:1.2;
		}

		body.page-ctacte .hero p{
			margin:0;
			max-width:760px;
			color:rgba(255,255,255,.92);
			font-size:1rem;
		}

		body.page-ctacte .grid{
			display:grid;
			grid-template-columns:1fr;
			gap:24px;
			align-items:start;
			margin-bottom:24px;
		}

		body.page-ctacte .card{
			background:var(--card);
			border:1px solid rgba(219,228,238,.85);
			border-radius:var(--radius);
			box-shadow:var(--shadow);
		}

		body.page-ctacte .card-body{
			padding:24px;
		}

		body.page-ctacte .section-title{
			margin:0 0 8px;
			color:var(--primary-dark);
			font-size:1.3rem;
		}

		body.page-ctacte .section-text{
			margin:0 0 18px;
			color:var(--muted);
		}

		body.page-ctacte form .fields{
			display:grid;
			grid-template-columns:25ch 170px;
			column-gap:16px;
			row-gap:12px;
			align-items:end;
		}

		body.page-ctacte .field-tasa{
			grid-column:1 / -1;
		}

		body.page-ctacte .field-objeto input[type="text"]{
			width:25ch;
			max-width:100%;
		}

		body.page-ctacte .field{
			display:flex;
			flex-direction:column;
			gap:8px;
		}

		body.page-ctacte .field-objeto{
			align-self:end;
		}

		body.page-ctacte label{
			font-size:.96rem;
			font-weight:700;
			color:var(--primary-dark);
		}

		body.page-ctacte input[type="text"], body.page-ctacte select{
			width:100%;
			min-height:50px;
			padding:12px 14px;
			border:1px solid var(--border);
			border-radius:14px;
			background:#fff;
			font-size:1rem;
			color:var(--text);
			outline:none;
			transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
		}

		body.page-ctacte input[type="text"]:focus, body.page-ctacte select:focus{
			border-color:var(--primary);
			box-shadow:0 0 0 4px rgba(15,76,129,.12);
		}

		body.page-ctacte .actions{
			display:flex;
			align-items:flex-end;
			justify-content:flex-start;
			align-self:end;
			height:auto;
			padding-bottom:0;
		}

		body.page-ctacte .btn-primary, body.page-ctacte .btn-secondary{
			display:inline-flex;
			align-items:center;
			justify-content:center;
			height:50px;
			min-height:50px;
			padding:0 22px;
			border:none;
			border-radius:14px;
			cursor:pointer;
			font-size:1rem;
			font-weight:800;
			line-height:1;
			vertical-align:bottom;
			transition:transform .15s ease, box-shadow .2s ease, opacity .2s ease;
			text-decoration:none;
		}

		body.page-ctacte .btn-primary{
			width:170px;
			background:linear-gradient(135deg, var(--accent), var(--accent-dark));
			color:#fff;
			box-shadow:0 10px 22px rgba(28,117,188,.22);
		}

		body.page-ctacte .btn-primary:hover, body.page-ctacte .btn-secondary:hover{
			transform:translateY(-1px);
			text-decoration:none;
		}

		body.page-ctacte .btn-primary:disabled{
			opacity:.7;
			cursor:not-allowed;
			transform:none;
		}

		body.page-ctacte .btn-secondary{
			background:#fff4f1;
			color:#bb341f;
			border:1px solid #ffd6cf;
			padding:12px 18px;
		}

		body.page-ctacte .hint{
			margin-top:14px;
			font-size:.92rem;
			color:var(--muted);
		}

		body.page-ctacte .discount-card{
			height:100%;
			background:linear-gradient(180deg, #fff 0%, #fff9f8 100%);
		}

		body.page-ctacte .discount-badge{
			display:inline-flex;
			padding:6px 10px;
			border-radius:999px;
			background:#fff1ed;
			border:1px solid #ffd8d1;
			color:#bb341f;
			font-weight:800;
			font-size:.82rem;
			margin-bottom:12px;
		}

		body.page-ctacte .discount-card p{
			color:var(--muted);
			margin:0 0 16px;
		}

		body.page-ctacte .alert{
			margin:0 0 20px;
			padding:14px 16px;
			border-radius:14px;
			font-weight:600;
			border:1px solid;
		}

		body.page-ctacte .alert-error{
			background:#fff3f2;
			border-color:#ffd4cd;
			color:#b42318;
		}

		body.page-ctacte .summary{
			display:grid;
			grid-template-columns:repeat(2, minmax(0,1fr));
			gap:16px;
			margin-bottom:18px;
		}

		body.page-ctacte .summary-item{
			background:#f9fbfd;
			border:1px solid var(--border);
			border-radius:16px;
			padding:16px;
		}

		body.page-ctacte .summary-item strong{
			display:block;
			font-size:.84rem;
			text-transform:uppercase;
			letter-spacing:.04em;
			color:var(--muted);
			margin-bottom:8px;
		}

		body.page-ctacte .summary-item span{
			display:block;
			font-size:1.06rem;
			font-weight:800;
			color:var(--primary-dark);
		}

		body.page-ctacte .link-box{
			margin:18px 0 20px;
			padding:16px;
			border-radius:16px;
			background:linear-gradient(180deg,#f3f8fe 0%, #eef5fc 100%);
			border:1px solid #d5e5f5;
		}

		body.page-ctacte .link-box strong{
			color:var(--primary-dark);
		}

		body.page-ctacte .results-head{
			display:flex;
			align-items:center;
			justify-content:space-between;
			gap:12px;
			flex-wrap:wrap;
			margin-bottom:12px;
		}

		body.page-ctacte .results-head h3{
			margin:0;
			color:var(--primary-dark);
			font-size:1.2rem;
		}

		body.page-ctacte .results-count{
			color:var(--muted);
			font-weight:700;
			font-size:.92rem;
		}

		body.page-ctacte .result-table{
			width:100%;
			border-collapse:separate;
			border-spacing:0 10px;
		}

		body.page-ctacte .result-table thead th{
			position:sticky;
			top:0;
			z-index:30;
			text-align:center;
			vertical-align:middle;
			padding:12px 12px;
			color:#fff;
			font-size:.83rem;
			text-transform:uppercase;
			letter-spacing:.04em;
			background:linear-gradient(180deg, var(--accent) 0%, var(--accent-dark) 100%);
			box-shadow:0 2px 0 rgba(8,62,102,.12);
		}

		body.page-ctacte .result-table tbody td{
			padding:14px 12px;
			background:#fff;
			border-top:1px solid var(--border);
			border-bottom:1px solid var(--border);
			vertical-align:middle;
			text-align:center;
			font-size:.95rem;
		}


		body.page-ctacte .result-table thead th:first-child{
			border-radius:14px 0 0 14px;
		}

		body.page-ctacte .result-table thead th:last-child{
			border-radius:0 14px 14px 0;
		}

		body.page-ctacte .result-table tbody td:first-child{
			border-left:1px solid var(--border);
			border-radius:14px 0 0 14px;
		}

		body.page-ctacte .result-table tbody td:last-child{
			border-right:1px solid var(--border);
			border-radius:0 14px 14px 0;
		}

		body.page-ctacte .result-table tbody tr:hover td{
			background:#fbfdff;
		}

		body.page-ctacte .result-table tbody tr.row-juicio td{
			background:#fff3f1;
		}

		body.page-ctacte .result-table tbody tr.row-juicio:hover td{
			background:#ffe9e5;
		}

		body.page-ctacte .result-table tbody tr.row-intimado td{
			background:#fff7ee;
		}

		body.page-ctacte .result-table tbody tr.row-intimado:hover td{
			background:#ffefd9;
		}

		body.page-ctacte .amount{
			font-weight:800;
			color:var(--success);
			white-space:nowrap;
			text-align:right !important;
		}

		body.page-ctacte .result-table thead th.num-col{
			text-align:right;
		}

		body.page-ctacte .action-link{
			display:inline-flex;
			align-items:center;
			justify-content:center;
			padding:10px 14px;
			border-radius:12px;
			font-weight:700;
			border:1px solid var(--border);
			background:#fff;
			color:var(--primary-dark);
			text-decoration:none;
			white-space:nowrap;
		}

		body.page-ctacte .action-link:hover{
			background:#f7fbff;
			text-decoration:none;
		}

		body.page-ctacte .redlink-frame{
			width:220px;
			max-width:100%;
			height:60px;
			border:0;
			display:block;
			background:transparent;
		}

		body.page-ctacte .total-grid{
			display:grid;
			grid-template-columns:repeat(3, minmax(0,1fr));
			gap:16px;
			margin-top:16px;
		}

		body.page-ctacte .total-card{
			padding:18px;
			border-radius:16px;
			border:1px solid var(--border);
			background:#f9fbfd;
		}

		body.page-ctacte .total-card strong{
			display:block;
			color:var(--muted);
			font-size:.84rem;
			text-transform:uppercase;
			letter-spacing:.04em;
			margin-bottom:8px;
		}

		body.page-ctacte .total-card span{
			font-size:1.25rem;
			font-weight:800;
			color:var(--primary-dark);
		}

		body.page-ctacte .total-card.total-final{
			background:linear-gradient(135deg, var(--primary-dark), var(--primary));
			border-color:transparent;
		}

		body.page-ctacte .total-card.total-final strong, body.page-ctacte .total-card.total-final span{
			color:#fff;
		}

		body.page-ctacte .note{
			margin-top:16px;
			color:var(--muted);
			font-size:.9rem;
		}

		body.page-ctacte .footer{
			margin-top:34px;
			padding:22px;
			text-align:center;
			color:var(--muted);
			font-size:.95rem;
		}

		body.page-ctacte .footer img{
			width:74px;
			height:auto;
			display:block;
			margin:0 auto 12px;
		}

		body.page-ctacte .mobile-cards{
			display:none;
		}

		body.page-ctacte .mobile-card{
			border:1px solid var(--border);
			border-radius:16px;
			padding:14px;
			background:#fff;
			margin-bottom:12px;
		}

		body.page-ctacte .mobile-card.row-juicio{
			background:#fff3f1;
		}

		body.page-ctacte .mobile-card.row-intimado{
			background:#fff7ee;
		}

		body.page-ctacte .mobile-card-grid{
			display:grid;
			grid-template-columns:1fr 1fr;
			gap:10px 14px;
		}

		body.page-ctacte .mobile-card-item strong{
			display:block;
			font-size:.78rem;
			text-transform:uppercase;
			color:var(--muted);
			margin-bottom:4px;
		}

		body.page-ctacte .mobile-card-actions{
			display:flex;
			flex-wrap:wrap;
			gap:8px;
			margin-top:12px;
		}

		body.page-ctacte .info-col{
			width:58px;
			text-align:center;
		}

		body.page-ctacte .info-btn{
			display:inline-flex;
			align-items:center;
			justify-content:center;
			width:34px;
			height:34px;
			border-radius:50%;
			border:1px solid #b9d0e3;
			background:var(--accent-soft);
			color:var(--primary-dark);
			font-weight:800;
			font-size:1rem;
			cursor:pointer;
		}

		body.page-ctacte .info-btn:hover{
			background:#dcecf9;
		}

		body.page-ctacte .info-btn.is-empty{
			opacity:.45;
			cursor:default;
		}

		body.page-ctacte .modal-backdrop{
			position:fixed;
			inset:0;
			background:rgba(8,62,102,.48);
			display:none;
			align-items:center;
			justify-content:center;
			padding:18px;
			z-index:9999;
		}

		body.page-ctacte .modal-backdrop.open{
			display:flex;
		}

		body.page-ctacte .modal-card{
			width:100%;
			max-width:520px;
			background:#fff;
			border-radius:18px;
			box-shadow:0 22px 50px rgba(8,62,102,.24);
			border:1px solid var(--border);
			overflow:hidden;
		}

		body.page-ctacte .modal-head{
			display:flex;
			align-items:center;
			justify-content:space-between;
			gap:12px;
			padding:16px 18px;
			background:linear-gradient(135deg, var(--primary-dark), var(--primary));
			color:#fff;
		}

		body.page-ctacte .modal-head h4{
			margin:0;
			font-size:1.05rem;
		}

		body.page-ctacte .modal-close{
			border:none;
			background:rgba(255,255,255,.16);
			color:#fff;
			width:34px;
			height:34px;
			border-radius:50%;
			cursor:pointer;
			font-size:1.1rem;
		}

		body.page-ctacte .modal-body{
			padding:18px;
			color:var(--text);
			white-space:pre-line;
		}

		body.page-ctacte .hide{display:none!important}

		@media  (max-width: 980px){
			body.page-ctacte .grid{grid-template-columns:1fr}
			body.page-ctacte form .fields{grid-template-columns:minmax(220px, 1fr) 170px}
		}

		@media  (max-width: 760px){
			body.page-ctacte .page{padding:14px 12px 28px}
			body.page-ctacte .hero, body.page-ctacte .card-body{padding:18px}
			body.page-ctacte .topbar{align-items:flex-start}
			body.page-ctacte .brand img{width:147px}
			body.page-ctacte form .fields, body.page-ctacte .summary, body.page-ctacte .total-grid{grid-template-columns:1fr}
			body.page-ctacte .field-tasa{grid-column:auto}
			body.page-ctacte .field-objeto input[type="text"]{width:100%}
			body.page-ctacte .actions{display:block}
			body.page-ctacte .btn-primary{width:100%}
			body.page-ctacte .result-table{display:none}
			body.page-ctacte .mobile-cards{display:block}
			body.page-ctacte .back-link{width:100%;justify-content:center}
		}
	

/* ===== PagoOnline.asp ===== */

        body.page-pago-online *{
            box-sizing: border-box;
        }

        body.page-pago-online{
            font-family: Arial, sans-serif;
            background: #f4f6f9;
            margin: 0;
            color: #111827;
        }

        body.page-pago-online .container{
            width: 100%;
            max-width: 980px;
            margin: 0 auto;
            padding: 22px 18px;
        }

        body.page-pago-online .titulo{
            font-size: 22px;
            font-weight: 700;
            margin-bottom: 22px;
            text-align: center;
        }

        body.page-pago-online .grid{
            display: grid;
            grid-template-columns: 1fr;
            gap: 16px;
            width: 100%;
        }

        body.page-pago-online .card{
            background: #ffffff;
            border-radius: 10px;
            padding: 14px 14px 18px 14px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.10);
            border: 1px solid rgba(0,0,0,0.05);
            min-height: 170px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-start;
        }

        body.page-pago-online .card-header{
            width: 100%;
            font-weight: 700;
            margin-bottom: 14px;
            font-size: 16px;
            text-align: center;
        }

        body.page-pago-online .card-body{
            width: 100%;
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        body.page-pago-online .card a{
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            text-decoration: none;
        }

        body.page-pago-online .card img{
            display: block;
            width: auto;
            height: auto;
            max-width: 115px;
            max-height: 115px;
            object-fit: contain;
        }

        body.page-pago-online .card.qr-card img{
            max-width: 105px;
            max-height: 105px;
        }

        body.page-pago-online .card:hover{
            transform: translateY(-1px);
            transition: transform 0.12s ease, box-shadow 0.12s ease;
            box-shadow: 0 4px 12px rgba(0,0,0,0.12);
        }

        /* Celulares: siempre una tarjeta debajo de la otra */
        @media  (max-width: 767px) {
            body.page-pago-online .container{
                padding: 16px 14px;
            }

            body.page-pago-online .titulo{
                font-size: 18px;
                margin-bottom: 16px;
            }

            body.page-pago-online .grid{
                grid-template-columns: 1fr !important;
                gap: 14px;
            }

            body.page-pago-online .card{
                width: 100%;
                min-height: 155px;
            }

            body.page-pago-online .card-header{
                font-size: 15px;
                margin-bottom: 10px;
            }

            body.page-pago-online .card img{
                max-width: 100px;
                max-height: 100px;
            }

            body.page-pago-online .card.qr-card img{
                max-width: 95px;
                max-height: 95px;
            }
        }
        /* Tablets y PC */
        @media  (min-width: 768px) {
            body.page-pago-online.pago-cols-3 .grid{
                grid-template-columns: repeat(3, 1fr);
            }

            body.page-pago-online.pago-cols-2 .grid{
                grid-template-columns: repeat(2, 1fr);
            }
        }
/* ===== Error.asp ===== */

        body.page-error{
            --bg:#f4f7fa;
            --card:#ffffff;
            --primary:#0b5c8f;
            --primary-dark:#083e66;
            --text:#1b2430;
            --muted:#5e6b78;
            --border:#d5e0e8;
            --alert-bg:#fff4f4;
            --alert-border:#f0b9b9;
            --alert-text:#9b1c1c;
            --shadow:0 10px 30px rgba(11,92,143,.10);
            --radius:16px;
        }

        body.page-error *{box-sizing:border-box}

        html, body.page-error{height:100%;margin:0;padding:0}

        body.page-error{
            font-family:Arial,Helvetica,sans-serif;
            background:linear-gradient(180deg,#eef4f8 0%, var(--bg) 100%);
            color:var(--text);
            display:flex;
            align-items:center;
            justify-content:center;
            padding:24px;
        }

        body.page-error .wrap{
            width:100%;
            max-width:760px;
        }

        body.page-error .card{
            background:var(--card);
            border:1px solid var(--border);
            border-radius:var(--radius);
            box-shadow:var(--shadow);
            overflow:hidden;
        }

        body.page-error .header{
            padding:22px 26px;
            background:linear-gradient(135deg,var(--primary-dark),var(--primary));
            color:#fff;
        }

        body.page-error .header h1{
            margin:0 0 6px;
            font-size:28px;
            line-height:1.1;
        }

        body.page-error .header p{
            margin:0;
            font-size:15px;
            color:rgba(255,255,255,.92);
        }

        body.page-error .body{
            padding:28px 26px 30px;
        }

        body.page-error .label{
            display:block;
            margin-bottom:10px;
            font-size:13px;
            font-weight:bold;
            text-transform:uppercase;
            letter-spacing:.06em;
            color:var(--muted);
        }

        body.page-error .respuesta{
            padding:20px 22px;
            border:2px solid var(--alert-border);
            border-radius:14px;
            background:var(--alert-bg);
            color:var(--alert-text);
            font-size:24px;
            font-weight:bold;
            line-height:1.35;
            text-align:center;
            word-wrap:break-word;
            overflow-wrap:anywhere;
        }

        @media  (max-width: 640px){
            body.page-error .header{padding:18px 20px}
            body.page-error .body{padding:22px 20px 24px}
            body.page-error .header h1{font-size:24px}
            body.page-error .respuesta{font-size:20px;padding:16px 18px}
        }
    

/* ===== redlink.asp ===== */

    body.page-redlink *{
        box-sizing: border-box;
    }

    html, body.page-redlink{
        margin: 0;
        padding: 0;
        width: 100%;
        min-height: 100%;
        font-family: Arial, Helvetica, sans-serif;
        background: transparent;
    }

    body.page-redlink{
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 76px;
        padding: 8px;
        color: #1f2937;
    }

    body.page-redlink b{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 132px;
        min-height: 54px;
        padding: 10px 16px;
        border: 1px solid #d6e3f3;
        border-radius: 14px;
        background: linear-gradient(135deg, #ffffff 0%, #f3f8ff 100%);
        box-shadow: 0 8px 20px rgba(15, 23, 42, 0.10);
        color: #1d4ed8;
        font-size: 13px;
        line-height: 1.18;
        font-weight: 700;
        text-align: center;
        letter-spacing: 0.2px;
    }

    @media  (max-width: 480px) {
        body.page-redlink{
            min-height: 70px;
            padding: 6px;
        }

        body.page-redlink b{
            width: 100%;
            max-width: 180px;
            min-width: 0;
            min-height: 50px;
            padding: 9px 12px;
            border-radius: 12px;
            font-size: 12px;
        }
		
    }

/* ===== RL.asp ===== */
body.page-rl{
    margin:0;
    padding:8px;
    font-family:Arial, Helvetica, sans-serif;
    background:transparent;
    text-align:center;
}
body.page-rl p{margin:0;text-align:center;}
body.page-rl img{height:80%;width:50%;border:0;max-width:180px;}
body.page-rl a{display:inline-flex;align-items:center;justify-content:center;width:100%;}
