/* Tema desain dokumen */
.doc-sheet.theme-formal .doc-head { border-bottom-color: #0f172a; }
.doc-sheet.theme-formal .doc-title { letter-spacing: .14em; }
.doc-sheet.theme-formal .doc-table th { background: #f1f5f9; }

.doc-sheet.theme-modern .doc-head { border-bottom: none; border-left: 4px solid #2563eb; padding-left: 1rem; }
.doc-sheet.theme-modern .doc-title { color: #2563eb; letter-spacing: .06em; }
.doc-sheet.theme-modern .doc-table th { background: #2563eb; color: #fff; }
.doc-sheet.theme-modern .doc-nominal-box { background: #eff6ff; border-color: #bfdbfe; }

.doc-sheet.theme-minimal .doc-head { border-bottom: 1px solid #e2e8f0; }
.doc-sheet.theme-minimal .doc-co h1 { font-size: 1rem; font-weight: 600; }
.doc-sheet.theme-minimal .doc-title { font-size: .95rem; letter-spacing: .2em; font-weight: 600; }
.doc-sheet.theme-minimal .doc-table th { background: #fff; font-weight: 600; }
.doc-sheet.theme-minimal .doc-sign .line { height: 40px; }

.doc-theme-picker { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.doc-theme-btn {
    padding: .35rem .75rem; border-radius: .5rem; font-size: .78rem; font-weight: 600;
    border: 2px solid #e2e8f0; background: #fff; cursor: pointer; font-family: inherit;
}
.doc-theme-btn.active { border-color: #2563eb; background: #eff6ff; color: #1d4ed8; }

/* Upsell banner */
.tools-upsell { max-width: 80rem; margin: 1.5rem auto; padding: 0 1rem; }
.tools-upsell-inner {
    background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 60%, #4f46e5 100%);
    border-radius: 1rem; padding: 1.25rem 1.5rem; color: #fff;
    display: grid; gap: 1rem;
}
@media (min-width: 768px) {
    .tools-upsell-inner { grid-template-columns: 1fr auto; align-items: center; }
}
.tools-upsell-badge {
    display: inline-block; font-size: .68rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: .08em; background: rgba(255,255,255,.15); padding: .2rem .55rem; border-radius: 999px; margin-bottom: .35rem;
}
.tools-upsell-copy h3 { font-size: 1.05rem; font-weight: 800; margin: 0 0 .35rem; }
.tools-upsell-copy p { font-size: .82rem; opacity: .9; margin: 0; max-width: 36rem; line-height: 1.5; }
.tools-upsell-apps { display: flex; flex-direction: column; gap: .5rem; min-width: 220px; }
.tools-upsell-app {
    display: flex; align-items: flex-start; gap: .5rem; padding: .5rem .65rem;
    background: rgba(255,255,255,.12); border-radius: .5rem; text-decoration: none; color: #fff;
    font-size: .78rem; transition: background .15s;
}
.tools-upsell-app:hover { background: rgba(255,255,255,.22); }
.tools-upsell-app strong { display: block; font-size: .82rem; }
.tools-upsell-app small { opacity: .85; line-height: 1.3; }
.tools-upsell-cta {
    grid-column: 1 / -1; display: inline-flex; justify-self: start;
    background: #fff; color: #1d4ed8; font-weight: 700; font-size: .85rem;
    padding: .5rem 1rem; border-radius: .5rem; text-decoration: none;
}
.tools-upsell-cta:hover { background: #eff6ff; }

/* Related tools */
.tools-related { max-width: 80rem; margin: 2rem auto; padding: 0 1rem; }
.tools-related h3 { font-size: .9rem; font-weight: 700; color: #64748b; margin-bottom: .75rem; text-transform: uppercase; letter-spacing: .06em; }
.tools-related-grid { display: flex; flex-wrap: wrap; gap: .5rem; }
.tools-related-grid a {
    font-size: .82rem; padding: .4rem .75rem; background: #fff; border: 1px solid #e2e8f0;
    border-radius: 999px; color: #2563eb; text-decoration: none; font-weight: 600;
}
.tools-related-grid a:hover { background: #eff6ff; border-color: #93c5fd; }

/* FAQ SEO block */
.tools-faq { max-width: 48rem; margin: 2rem auto; padding: 0 1rem; }
.tools-faq h3 { font-size: 1.1rem; font-weight: 800; margin-bottom: 1rem; color: #0f172a; }
.tools-faq details { background: #fff; border: 1px solid #e2e8f0; border-radius: .75rem; padding: .85rem 1rem; margin-bottom: .5rem; }
.tools-faq summary { font-weight: 600; cursor: pointer; color: #0f172a; }
.tools-faq p { margin: .5rem 0 0; font-size: .85rem; color: #64748b; line-height: 1.55; }
