/* Formular 230 — stiluri formular + document de listat */
.f230-wrap { max-width: 880px; margin: 0 auto; background: #fff; border: 1px solid #e6dcc4; border-radius: 12px; padding: 2.25rem; box-shadow: 0 4px 14px rgba(45,42,36,0.08); }
.f230-intro h3 { font-family: 'Cormorant Infant', Georgia, serif; font-size: 1.7rem; color: #3a2840; margin: 0 0 0.75rem; }
.f230-intro p { color: #545049; font-size: 1rem; line-height: 1.65; margin: 0 0 0.85rem; }
.f230-note { font-size: 0.92rem !important; background: #fbf7ee; border-left: 3px solid #9a7d3e; padding: 0.75rem 1rem; border-radius: 4px; }
.f230-sub { font-family: 'Inter', sans-serif; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.1em; color: #9a7d3e; font-weight: 600; margin: 1.75rem 0 0.75rem; }
.f230-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.85rem; }
.f230-field { display: flex; flex-direction: column; grid-column: span 2; min-width: 0; }
/* box-sizing pe TOATE controalele — altfel padding+border depășesc celula → ies din ramă */
.f230-wrap input, .f230-wrap select, .f230-wrap textarea { box-sizing: border-box; max-width: 100%; }
.f230-field.f230-narrow { grid-column: span 1; }
.f230-field.f230-wide { grid-column: span 3; }
@media (max-width: 640px) { .f230-grid { grid-template-columns: 1fr 1fr; } .f230-field, .f230-field.f230-narrow, .f230-field.f230-wide { grid-column: span 1; } }
.f230-field label { font-size: 0.8rem; font-weight: 600; color: #2d2a24; margin-bottom: 0.3rem; }
.f230-req { color: #b04545; font-weight: 700; }
.f230-field input { width: 100%; box-sizing: border-box; min-width: 0; padding: 0.6rem 0.7rem; border: 1.5px solid #e6dcc4; border-radius: 6px; font-family: inherit; font-size: 0.95rem; background: #fff; color: #2d2a24; }
.f230-field input:focus { outline: none; border-color: #9a7d3e; box-shadow: 0 0 0 3px rgba(154,125,62,0.22); }
.f230-file-error { color: #721c24; background: #f8d7da !important; border-color: #f1b9be !important; }
.pay-btn:disabled { opacity: 0.55; cursor: not-allowed; }
.f230-options { margin: 1.5rem 0; display: flex; flex-direction: column; gap: 0.5rem; }
.f230-options-title { font-size: 0.85rem; font-weight: 600; color: #2d2a24; }
.f230-check { display: flex; align-items: center; gap: 0.5rem; font-size: 0.95rem; color: #2d2a24; cursor: pointer; }
.f230-consent { margin: 1.5rem 0 0.5rem; padding: 1rem 1.25rem; background: #f6f1e6; border: 1px solid #e6dcc4; border-radius: 8px; }
.f230-consent-check { align-items: flex-start; gap: 0.6rem; font-size: 0.9rem; line-height: 1.5; }
.f230-consent-check input { margin-top: 0.2rem; flex-shrink: 0; }
.f230-consent-check a { color: #9a7d3e; font-weight: 600; text-decoration: underline; }
.f230-beneficiar { background: #fbf7ee; border: 1px solid #e6dcc4; border-radius: 8px; padding: 1.25rem 1.5rem; margin-top: 1rem; }
.f230-bene-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.85rem 1.5rem; }
@media (max-width: 640px) { .f230-bene-grid { grid-template-columns: 1fr; } }
.f230-bene-grid > div { display: flex; flex-direction: column; }
.f230-bene-grid span { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em; color: #8a8378; }
.f230-bene-grid strong { font-size: 0.98rem; color: #2d2a24; }
.f230-actions { margin-top: 1.75rem; text-align: center; }
.f230-hint { font-size: 0.85rem; color: #545049; margin-top: 0.75rem; font-style: italic; }
.f230-blank { text-align: center; margin-top: 1.5rem; font-size: 0.9rem; color: #545049; }
.f230-blank a { color: #9a7d3e; border-bottom: 1px solid #9a7d3e; }

/* Document de listat — ascuns pe ecran */
.f230-doc { display: none; }

/* La print: arată DOAR documentul */
@media print {
  @page { size: A4; margin: 0; }
  body.f230-printing * { visibility: hidden !important; }
  body.f230-printing #f230Doc, body.f230-printing #f230Doc * { visibility: visible !important; }
  body.f230-printing #f230Doc { display: block !important; position: absolute; left: 0; top: 0; width: 100%; max-width: 210mm; margin: 0 auto; padding: 1.2cm 1.5cm; box-sizing: border-box; }
  body.f230-printing .f230-doc-table { table-layout: fixed; }
  body.f230-printing .f230-doc-table td, body.f230-printing .f230-doc-table th { word-wrap: break-word; overflow-wrap: break-word; }
}
.f230-doc { font-family: 'Times New Roman', Georgia, serif; color: #000; font-size: 12pt; line-height: 1.5; }
.f230-doc-head { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 2px solid #000; padding-bottom: 0.5rem; margin-bottom: 0.5rem; }
.f230-doc-title { font-weight: bold; font-size: 13pt; text-transform: uppercase; }
.f230-doc-title span { font-size: 10pt; font-weight: normal; text-transform: none; }
.f230-doc-code { border: 1.5px solid #000; padding: 0.3rem 0.6rem; font-size: 11pt; }
.f230-doc-an { text-align: right; font-size: 11pt; margin: 0.3rem 0 0.75rem; }
.f230-doc-table { width: 100%; border-collapse: collapse; margin-bottom: 0.75rem; }
.f230-doc-table th { background: #eee; border: 1px solid #000; text-align: left; padding: 0.4rem 0.6rem; font-size: 10.5pt; }
.f230-doc-table td { border: 1px solid #000; padding: 0.4rem 0.6rem; vertical-align: top; }
.f230-doc-table td.lbl { width: 38%; font-size: 10.5pt; color: #222; }
.f230-doc-table td.val { font-weight: bold; }
.f230-doc-table td.mono { font-family: 'Courier New', monospace; letter-spacing: 1px; }
.f230-doc-legal { margin-top: 1.2rem; font-size: 9.5pt; line-height: 1.45; color: #000; text-align: justify; }
.f230-doc-sign { display: flex; justify-content: space-between; margin-top: 1.5rem; font-size: 11pt; }
.f230-doc-sign .sign-line { display: inline-block; width: 180px; border-bottom: 1px solid #000; height: 1.5rem; }
.f230-doc-foot { margin-top: 1.5rem; font-size: 9pt; color: #444; border-top: 1px solid #999; padding-top: 0.4rem; }

/* ─── F230 noi elemente (routes / attachments / contact info) ─── */
.f230-routes { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1.5rem 0 2rem; }
@media(max-width:640px){ .f230-routes { grid-template-columns:1fr; } }
.f230-route { background:#fbf7ee; border:1px solid #e6dcc4; border-radius:10px; padding:1.1rem 1.25rem; display:flex; gap:.85rem; align-items:flex-start; }
.f230-route-icon { font-size:1.6rem; line-height:1; flex-shrink:0; margin-top:.15rem; }
.f230-route-text strong { display:block; color:#3a2840; font-family:'Cormorant Infant',Georgia,serif; font-size:1.1rem; margin-bottom:.3rem; }
.f230-route-text p { color:#5b4a3a; font-size:.92rem; line-height:1.5; margin:0 0 .65rem; }
.pay-btn-secondary { display:inline-block; background:#fff !important; color:#9a7d3e !important; border:1.5px solid #9a7d3e !important; padding:.55rem 1rem !important; font-size:.92rem !important; }
.pay-btn-secondary:hover { background:#9a7d3e !important; color:#fff !important; }
.f230-route-online .f230-route-text strong { color:#7a5e2e; }

.f230-attach { margin:1.75rem 0 1rem; padding:1.1rem 1.25rem; background:#fbf7ee; border:1px dashed #c9b87b; border-radius:8px; }
.f230-attach .f230-sub { margin-top:0; }
.f230-attach-help { font-size:.88rem; color:#5b4a3a; margin:0 0 .85rem; line-height:1.5; }
.f230-attach input[type=file] { width:100%; padding:.5rem; background:#fff; border:1px solid #e6dcc4; border-radius:6px; cursor:pointer; }
.f230-attach-list { margin-top:.75rem; display:flex; flex-direction:column; gap:.35rem; }
.f230-file-item { background:#fff; padding:.45rem .75rem; border-radius:6px; font-size:.9rem; color:#3a2840; border:1px solid #e6dcc4; }

.f230-contact-info { margin-top:1.5rem; padding:1.1rem 1.25rem; background:#f9f3e7; border-left:3px solid #9a7d3e; border-radius:4px; }
.f230-contact-info p { margin:.35rem 0; font-size:.95rem; color:#3a2840; line-height:1.55; }
.f230-contact-info a { color:#9a7d3e; font-weight:600; }
