/* FariDocs 1.22.4 — public and generator mobile layout precision. */
html, body { max-width: 100%; overflow-x: clip; }
.site-header, .nav-wrap, .generator-main, .generator-intro, .generator-toolbar, .generator-layout, .form-column, .preview-column { min-width: 0; max-width: 100%; }

@media (max-width: 1000px) {
    .generator-main { width: 100%; }
    .generator-layout { width: 100%; }
    .form-column { width: 100%; }
    .preview-column { width: 100%; }
}

@media (max-width: 760px) {
    .nav-wrap { width: 100%; padding-inline: 12px; gap: 8px; }
    .brand.faridocs-image-brand { min-width: 102px; max-width: 118px; }
    .brand-logo { width: 100%; height: auto; object-fit: contain; }
    .theme-switch, .language-switcher { flex: 0 0 auto; }
    .generator-main { padding-inline: 10px; }
    .generator-intro { width: 100%; }
    .generator-intro h1 { font-size: clamp(25px, 8vw, 32px); line-height: 1.13; overflow-wrap: anywhere; }
    .generator-intro p { font-size: 11px; line-height: 1.6; }
    .free-usage { align-self: stretch; width: 100%; }
    .generator-toolbar { width: 100%; gap: 11px; padding: 13px; }
    .generator-toolbar select, .color-control { min-height: 44px; }
    .form-section { width: 100%; margin-bottom: 10px; border-radius: 10px; }
    .identity-grid, .form-grid.two, .calculation-layout { width: 100%; }
    .identity-grid > *, .form-grid.two > *, .calculation-layout > * { min-width: 0; }
    .field input, .field select { min-height: 44px; font-size: 16px; }
    .field textarea { font-size: 16px; line-height: 1.45; }
    .optional-buttons { flex-wrap: wrap; }
    .optional-buttons button { min-height: 38px; flex: 1 1 130px; }
    .mobile-actions { width: 100%; padding: 9px max(9px, env(safe-area-inset-right)) max(9px, env(safe-area-inset-bottom)) max(9px, env(safe-area-inset-left)); }
}

@media (max-width: 520px) {
    .generator-main { padding: 20px 8px 68px; }
    .generator-intro { gap: 11px; margin-bottom: 16px; }
    .generator-toolbar { grid-template-columns: 1fr; }
    .form-section { padding: 14px 11px; }
    .section-title { align-items: flex-start; margin-bottom: 15px; }
    .section-title h2 { font-size: 13px; }
    .identity-grid { gap: 13px; }
    .logo-uploader { min-height: 135px; }
    .item-row { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 8px; }
    .item-row label { min-width: 0; }
    .item-row label:first-child { grid-column: 1 / -1; }
    .item-row .item-amount { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
    .item-row .remove-item { justify-self: end; }
    .calculation-layout { gap: 18px; }
    .mobile-actions { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .mobile-actions button { min-width: 0; padding-inline: 8px; }
}

@media (max-width: 380px) {
    .nav-wrap { padding-inline: 8px; }
    .brand.faridocs-image-brand { min-width: 88px; max-width: 96px; }
    .item-row { grid-template-columns: 1fr; }
    .item-row label:first-child { grid-column: 1; }
    .optional-buttons button { flex-basis: 100%; }
}
