/**
 * ============================================================
 * Herramientas / Calculadoras (ITBIS, ISR, márgenes)
 * Reutiliza variables de modern-theme.css. Prefijo .calc-
 * ============================================================
 */

.calc-wrap { max-width: 640px; margin: 0 auto; }
.calc-card {
    background: var(--white); border: 1px solid var(--gray-200);
    border-radius: var(--rounded-2xl); box-shadow: var(--shadow-lg); overflow: hidden;
}
.calc-card__head { background: var(--gradient-primary); color: #fff; padding: 1.5rem 1.75rem; }
.calc-card__head h2 { margin: 0; font-size: 1.35rem; color: #fff; }
.calc-card__head p { margin: .3rem 0 0; color: rgba(255,255,255,.85); font-size: .92rem; }
.calc-card__body { padding: 1.75rem; }

.calc-field { margin-bottom: 1.1rem; }
.calc-field label { display:block; font-weight:600; font-size:.9rem; color:var(--gray-700); margin-bottom:.4rem; }
.calc-input-money { position: relative; }
.calc-input-money::before { content: "RD$"; position:absolute; left:12px; top:50%; transform:translateY(-50%); color:var(--gray-400); font-weight:600; font-size:.9rem; }
.calc-input { width:100%; padding:.85rem 1rem; border:1.5px solid var(--gray-200); border-radius:var(--rounded-md); font-size:1.05rem; font-family:inherit; background:var(--gray-50); }
.calc-input.pad { padding-left:48px; }
.calc-input:focus { outline:none; border-color:var(--primary); background:#fff; box-shadow:0 0 0 3px var(--primary-100); }
select.calc-input { cursor:pointer; }

.calc-toggle { display:flex; gap:.5rem; background:var(--gray-100); border-radius:var(--rounded-md); padding:.3rem; }
.calc-toggle button { flex:1; border:none; background:none; padding:.6rem; border-radius:calc(var(--rounded-md) - 2px); font:600 .9rem inherit; color:var(--gray-600); cursor:pointer; transition:var(--transition-fast); }
.calc-toggle button.on { background:#fff; color:var(--primary); box-shadow:var(--shadow-sm); }

.calc-results { margin-top:1.5rem; border-top:1px dashed var(--gray-200); padding-top:1.25rem; }
.calc-row { display:flex; justify-content:space-between; align-items:baseline; padding:.55rem 0; }
.calc-row span { color:var(--gray-600); }
.calc-row b { font-size:1.05rem; color:var(--gray-900); }
.calc-row--total { border-top:2px solid var(--gray-200); margin-top:.5rem; padding-top:.9rem; }
.calc-row--total span { font-weight:700; color:var(--gray-900); }
.calc-row--total b { font-size:1.6rem; color:var(--primary); }
.calc-row--hi b { color:var(--success); }

.calc-note { font-size:.8rem; color:var(--gray-400); margin-top:1rem; line-height:1.5; }
.calc-note a { color:var(--primary); }

/* Contenido explicativo */
.calc-article { max-width:820px; margin:0 auto; }
.calc-article h2 { font-size:1.5rem; margin:2rem 0 .75rem; color:var(--gray-900); }
.calc-article p, .calc-article li { color:var(--gray-700); line-height:1.8; font-size:1.05rem; }
.calc-article ul { margin:0 0 1rem 1.25rem; list-style:disc; }

/* Hub de herramientas */
.tools-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1.5rem; }
.tool-card { background:#fff; border:1px solid var(--gray-200); border-radius:var(--rounded-xl); padding:1.75rem; box-shadow:var(--shadow-sm); transition:var(--transition); display:flex; flex-direction:column; }
.tool-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:var(--primary-light); }
.tool-card__icon { width:52px; height:52px; border-radius:var(--rounded-lg); background:var(--gradient-primary); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.35rem; margin-bottom:1rem; }
.tool-card h2 { font-size:1.15rem; margin:0 0 .4rem; color:var(--gray-900); }
.tool-card p { font-size:.92rem; color:var(--gray-600); flex:1; margin:0 0 1rem; line-height:1.55; }
.tool-card__more { font-weight:600; color:var(--primary); font-size:.9rem; }
