/*
 * T-Blocks Investor Access Form — tblocks-investor-form.css
 * Prefix: .tbif-  (scoped to avoid WordPress conflicts)
 *
 * WordPress: enqueue in functions.php:
 *   wp_enqueue_style('tbif', get_template_directory_uri().'/tblocks-investor-form.css', [], '1.0');
 */

 @import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap');

 .tbif-root {
   --tbif-black:    #000000;
   --tbif-navy:     #002B40;
   --tbif-sky:      #67BBD6;
   --tbif-white:    #FFFFFF;
   --tbif-grey:     #F5F7F9;
   --tbif-body:     #2D3E50;
   --tbif-border:   #D6DDE4;
   --tbif-muted:    #7A8C9A;
   --tbif-prefill:  #EEF7FA;
   --tbif-teal:     #1A5C6E;
   --tbif-warn:     #7A3D00;
   --tbif-warn-bg:  #FFF7ED;
   --tbif-warn-bd:  rgba(122,61,0,0.25);
   --tbif-red:      #C0392B;
   --tbif-red-bg:   #FEF2F2;
   --tbif-serif:    'Source Serif 4', Georgia, serif;
   --tbif-sans:     'Inter', system-ui, sans-serif;
 }
 .tbif-root *, .tbif-root *::before, .tbif-root *::after { box-sizing:border-box; margin:0; padding:0; }
 .tbif-root { font-family:var(--tbif-sans); font-size:14px; color:var(--tbif-body); background:var(--tbif-grey); min-height:100vh; line-height:1.5; -webkit-font-smoothing:antialiased; }
 .tbif-hidden { display:none !important; }
 
 /* Header */
 .tbif-header { background:var(--tbif-black); padding:0 40px; }
 .tbif-header-inner { max-width:900px; margin:0 auto; padding:28px 0 36px; }
 .tbif-header-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; }
 .tbif-logo-white { height:25px; width:auto; display:block; }
 .tbif-header-badge-line1 { font-size:9px; letter-spacing:0.14em; text-transform:uppercase; color:var(--tbif-sky); opacity:0.7; }
 .tbif-header-badge-line2 { font-size:9px; letter-spacing:0.09em; text-transform:uppercase; color:rgba(255,255,255,0.3); margin-top:3px; }
 .tbif-header-tag { font-size:10px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--tbif-sky); margin-bottom:8px; }
 .tbif-header-title { font-family:var(--tbif-serif); font-size:clamp(22px,3.5vw,34px); font-weight:500; color:var(--tbif-white); line-height:1.15; margin:0; }
 .tbif-header-subtitle { color:rgba(255,255,255,0.5); font-size:13px; line-height:1.75; margin-top:11px; max-width:560px; }
 
 /* Layout */
 .tbif-outer { max-width:900px; margin:0 auto; padding:28px 40px 52px; }
 .tbif-card { background:var(--tbif-white); border:1px solid var(--tbif-border); border-radius:2px; padding:22px 32px; }
 .tbif-card-logo-row { display:flex; justify-content:flex-end; margin-bottom:4px; }
 .tbif-logo-black { height:19px; width:auto; display:block; }
 
 /* Section bar */
 .tbif-section-bar { background:var(--tbif-navy); margin:24px -32px 18px; padding:7px 18px; display:flex; align-items:center; justify-content:space-between; border-left:4px solid var(--tbif-sky); }
 .tbif-section-bar-title { font-size:10px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--tbif-white); }
 .tbif-section-bar-sub { font-size:9px; letter-spacing:0.07em; text-transform:uppercase; color:var(--tbif-sky); opacity:0.75; }
 
 /* Grids */
 .tbif-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:13px 22px; }
 .tbif-grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:13px 18px; }
 .tbif-grid-intent { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
 .tbif-span-2 { grid-column:1/-1; }
 
 /* Fields */
 .tbif-field { display:flex; flex-direction:column; }
 .tbif-label { font-size:10px; font-weight:700; letter-spacing:0.13em; text-transform:uppercase; color:var(--tbif-muted); margin-bottom:5px; display:block; }
 .tbif-label-req { color:var(--tbif-sky); margin-left:3px; }
 
 /* Inputs */
 .tbif-input, .tbif-select, .tbif-textarea { width:100%; padding:10px 13px; font-size:13.5px; font-family:var(--tbif-sans); border:1px solid var(--tbif-border); border-radius:2px; background:var(--tbif-white); color:var(--tbif-body); outline:none; letter-spacing:0.01em; transition:border-color 0.15s; }
 .tbif-input:focus, .tbif-select:focus, .tbif-textarea:focus { border-color:var(--tbif-sky); box-shadow:0 0 0 2px rgba(103,187,214,0.12); }
 .tbif-select { appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237A8C9A' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; padding-right:32px; cursor:pointer; }
 .tbif-textarea { min-height:72px; resize:vertical; line-height:1.65; }
 
 /* Info boxes */
 .tbif-info-box { padding:10px 14px; background:var(--tbif-prefill); border:1px solid rgba(103,187,214,0.25); border-radius:2px; margin-bottom:16px; font-size:11px; color:var(--tbif-teal); line-height:1.65; }
 .tbif-note-box { padding:9px 13px; background:var(--tbif-grey); border:1px solid var(--tbif-border); border-radius:2px; margin-bottom:14px; font-size:11px; color:var(--tbif-muted); line-height:1.65; }
 .tbif-warn-box { padding:9px 13px; background:var(--tbif-warn-bg); border:1px solid var(--tbif-warn-bd); border-radius:2px; font-size:11px; color:var(--tbif-warn); line-height:1.6; }
 .tbif-error-box { padding:14px 18px; background:var(--tbif-red-bg); border:1px solid rgba(192,57,43,0.3); border-radius:2px; margin-bottom:16px; }
 .tbif-error-box-title { font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--tbif-red); margin-bottom:6px; }
 .tbif-error-box-body { font-size:12px; color:#7B2D2D; line-height:1.65; }
 
 /* Intent cards */
 .tbif-intent-card { padding:18px 20px; border:1.5px solid var(--tbif-border); border-radius:2px; cursor:pointer; text-align:left; background:var(--tbif-grey); transition:all 0.15s; width:100%; }
 .tbif-intent-card:hover { border-color:rgba(103,187,214,0.5); background:rgba(103,187,214,0.04); }
 .tbif-intent-card.tbif-selected { border-color:var(--tbif-sky); background:rgba(103,187,214,0.07); }
 .tbif-intent-card-header { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
 .tbif-radio-dot { width:18px; height:18px; border-radius:50%; border:2.5px solid var(--tbif-border); background:transparent; display:flex; align-items:center; justify-content:center; transition:all 0.15s; flex-shrink:0; }
 .tbif-intent-card.tbif-selected .tbif-radio-dot { border-color:var(--tbif-sky); background:var(--tbif-sky); }
 .tbif-radio-inner { width:6px; height:6px; border-radius:50%; background:var(--tbif-white); opacity:0; transition:opacity 0.15s; }
 .tbif-intent-card.tbif-selected .tbif-radio-inner { opacity:1; }
 .tbif-intent-card-title { font-size:13px; font-weight:700; color:var(--tbif-muted); transition:color 0.15s; }
 .tbif-intent-card.tbif-selected .tbif-intent-card-title { color:var(--tbif-navy); }
 .tbif-intent-card-desc { font-size:11.5px; color:var(--tbif-muted); line-height:1.6; padding-left:28px; }
 
 /* MiFID options */
 .tbif-class-opts { display:grid; gap:10px; margin-bottom:16px; }
 .tbif-class-opt { display:flex; align-items:flex-start; gap:12px; padding:12px 16px; background:var(--tbif-white); border:1.5px solid var(--tbif-border); border-radius:2px; cursor:pointer; text-align:left; width:100%; transition:all 0.15s; }
 .tbif-class-opt:hover { border-color:rgba(103,187,214,0.4); }
 .tbif-class-opt.tbif-selected { background:rgba(103,187,214,0.07); border-color:var(--tbif-sky); }
 .tbif-class-opt.tbif-none-opt { background:var(--tbif-grey); }
 .tbif-class-opt.tbif-none-opt.tbif-selected { background:var(--tbif-red-bg); border-color:var(--tbif-red); }
 .tbif-class-radio { width:17px; height:17px; min-width:17px; border-radius:50%; border:2px solid var(--tbif-border); background:transparent; display:flex; align-items:center; justify-content:center; margin-top:2px; transition:all 0.15s; flex-shrink:0; }
 .tbif-class-opt.tbif-selected .tbif-class-radio { border-color:var(--tbif-sky); background:var(--tbif-sky); }
 .tbif-class-opt.tbif-none-opt.tbif-selected .tbif-class-radio { border-color:var(--tbif-red); background:var(--tbif-red); }
 .tbif-class-radio-inner { width:5px; height:5px; border-radius:50%; background:var(--tbif-white); opacity:0; transition:opacity 0.15s; }
 .tbif-class-opt.tbif-selected .tbif-class-radio-inner { opacity:1; }
 .tbif-class-label { font-size:12.5px; font-weight:600; color:var(--tbif-navy); margin-bottom:3px; }
 .tbif-class-opt.tbif-none-opt .tbif-class-label { color:var(--tbif-muted); }
 .tbif-class-opt.tbif-none-opt.tbif-selected .tbif-class-label { color:var(--tbif-red); }
 .tbif-class-desc { font-size:11px; color:var(--tbif-muted); line-height:1.55; }
 
 /* Declaration checkboxes */
 .tbif-decl-group { display:grid; gap:10px; margin-bottom:4px; }
 /* ── Declaration checkboxes ──────────────────────────────── */
 .tbif-decl-intro { font-size:11px; color:var(--tbif-muted); margin:0 0 10px; }
 .tbif-decl-label {
   display:flex; align-items:center; gap:14px;
   padding:14px 16px; background:var(--tbif-grey);
   border:1px solid var(--tbif-border); border-radius:3px;
   cursor:pointer; transition:background 0.15s, border-color 0.15s;
   margin-bottom:8px; user-select:none;
 }
 .tbif-decl-label.tbif-pending {
   background:var(--tbif-warn-bg); border-color:var(--tbif-warn-bd);
 }
 .tbif-decl-label.tbif-checked {
   background:rgba(103,187,214,0.06); border-color:var(--tbif-sky);
 }
 .tbif-decl-input { display:none; }
 
 /* Left column — checkbox + labels stacked tightly */
 .tbif-decl-left {
   display:flex; flex-direction:column; align-items:center;
   gap:4px; flex-shrink:0; min-width:54px;
 }
 
 /* Checkbox button */
 .tbif-decl-check {
   display:flex; flex-direction:column; align-items:center; gap:3px;
 }
 .tbif-decl-box {
   width:22px; height:22px; border-radius:3px;
   border:2px solid var(--tbif-border);
   background:var(--tbif-white);
   display:flex; align-items:center; justify-content:center;
   transition:all 0.15s; flex-shrink:0;
   box-shadow:0 1px 2px rgba(0,0,0,0.07);
 }
 .tbif-decl-label.tbif-pending .tbif-decl-box {
   border-color:var(--tbif-warn); background:#fff8f0;
 }
 .tbif-decl-label.tbif-checked .tbif-decl-box {
   border-color:var(--tbif-sky); background:var(--tbif-sky);
   box-shadow:0 0 0 3px rgba(103,187,214,0.18);
 }
 .tbif-decl-box svg { display:none; }
 .tbif-decl-label.tbif-checked .tbif-decl-box svg { display:block; }
 
 /* "I Confirm" text */
 .tbif-decl-confirm-text {
   font-size:8px; font-weight:700; letter-spacing:0.05em;
   text-transform:uppercase; color:var(--tbif-muted);
   white-space:nowrap; line-height:1;
 }
 .tbif-decl-label.tbif-checked .tbif-decl-confirm-text { color:var(--tbif-sky); }
 
 /* Required / Confirmed pill */
 .tbif-decl-status {
   font-size:8px; font-weight:700; letter-spacing:0.05em;
   text-transform:uppercase; padding:2px 6px; border-radius:20px;
   white-space:nowrap; line-height:1.4;
 }
 .tbif-decl-status-pending {
   background:rgba(202,138,4,0.12); color:#92600a;
 }
 .tbif-decl-label.tbif-checked .tbif-decl-status {
   background:rgba(103,187,214,0.15); color:var(--tbif-sky);
 }
 .tbif-decl-text { font-size:12px; color:var(--tbif-body); line-height:1.6; }
 
 /* Check grid */
 .tbif-check-grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
 .tbif-check-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
 .tbif-check-item { display:flex; align-items:flex-start; gap:10px; padding:9px 12px; background:var(--tbif-white); border:1px solid var(--tbif-border); border-radius:2px; cursor:pointer; text-align:left; width:100%; transition:all 0.15s; }
 .tbif-check-item:hover { border-color:rgba(103,187,214,0.4); }
 .tbif-check-item.tbif-checked { background:rgba(103,187,214,0.08); border-color:var(--tbif-sky); }
 .tbif-check-box { width:15px; height:15px; min-width:15px; border-radius:2px; border:2px solid var(--tbif-border); background:transparent; display:flex; align-items:center; justify-content:center; margin-top:1px; transition:all 0.15s; flex-shrink:0; }
 .tbif-check-item.tbif-checked .tbif-check-box { border-color:var(--tbif-sky); background:var(--tbif-sky); }
 .tbif-check-box svg { display:none; }
 .tbif-check-item.tbif-checked .tbif-check-box svg { display:block; }
 .tbif-check-text { font-size:12px; font-weight:400; color:var(--tbif-muted); line-height:1.4; transition:all 0.15s; }
 .tbif-check-item.tbif-checked .tbif-check-text { font-weight:600; color:var(--tbif-navy); }
 
 /* Submit */
 .tbif-submit-btn { width:100%; padding:14px; font-size:11px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; border:none; border-radius:2px; cursor:not-allowed; display:flex; align-items:center; justify-content:center; gap:9px; background:var(--tbif-border); color:var(--tbif-muted); transition:all 0.2s; font-family:var(--tbif-sans); }
 .tbif-submit-btn.tbif-can-submit { background:var(--tbif-navy); color:var(--tbif-sky); cursor:pointer; }
 .tbif-submit-btn.tbif-can-submit:hover { background:var(--tbif-teal); }
 .tbif-submit-hint { text-align:center; font-size:11px; color:var(--tbif-muted); margin-top:8px; }
 
 /* Legal */
 .tbif-legal-block { margin-top:20px; border-top:2px solid var(--tbif-border); padding-top:20px; }
 .tbif-legal-title { font-size:9px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--tbif-navy); margin-bottom:12px; }
 .tbif-legal-text { font-size:11px; color:var(--tbif-muted); line-height:1.8; }
 .tbif-legal-text p { margin-bottom:10px; }
 .tbif-legal-uk-notice { padding:10px 14px; background:rgba(192,57,43,0.06); border:1px solid rgba(192,57,43,0.2); border-radius:2px; margin-bottom:10px; font-size:11px; color:var(--tbif-muted); }
 .tbif-legal-uk-notice strong { color:var(--tbif-red); }
 
 /* Success */
 .tbif-success { display:flex; align-items:center; justify-content:center; min-height:60vh; padding:52px 40px; }
 .tbif-success-inner { text-align:center; max-width:520px; }
 .tbif-success-icon { width:50px; height:50px; border-radius:50%; background:var(--tbif-navy); display:flex; align-items:center; justify-content:center; margin:0 auto 22px; }
 .tbif-success-title { font-family:var(--tbif-serif); font-size:26px; font-weight:600; color:var(--tbif-navy); margin-bottom:10px; }
 .tbif-success-body { color:var(--tbif-muted); font-size:13.5px; line-height:1.8; margin-bottom:22px; }
 .tbif-success-box { padding:15px 18px; background:var(--tbif-white); border:1px solid var(--tbif-border); border-radius:2px; text-align:left; }
 .tbif-success-box-title { font-size:9px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--tbif-muted); margin-bottom:8px; }
 .tbif-success-steps { font-size:13px; color:var(--tbif-body); line-height:2; }
 
 /* Responsive */
 @media (max-width:768px) {
   .tbif-header { padding:0 20px; }
   .tbif-outer  { padding:16px 20px 40px; }
   .tbif-card   { padding:18px 20px; }
   .tbif-section-bar { margin:20px -20px 14px; }
   .tbif-decl-label { gap:12px; }
   .tbif-decl-left { min-width:56px; }
   .tbif-grid-2, .tbif-grid-3, .tbif-grid-intent, .tbif-check-grid-2, .tbif-check-grid-3 { grid-template-columns:1fr; }
   .tbif-span-2 { grid-column:auto; }
 }
 
 /* ══════════════════════════════════════════════════════
    ISSUER FORM SPECIFICS
 ══════════════════════════════════════════════════════ */
 /* Stepper (issue size, coupon rate) */
 .tbif-stepper { display:flex; align-items:stretch; }
 .tbif-stepper-btn {
   padding:10px 11px; border:1px solid var(--tbif-border);
   background:var(--tbif-grey); cursor:pointer;
   font-size:15px; font-weight:500; color:var(--tbif-navy);
   transition:background 0.12s; line-height:1;
 }
 .tbif-stepper-btn:first-child { border-right:none; border-radius:2px 0 0 2px; }
 .tbif-stepper-btn:last-child  { border-left:none;  border-radius:0 2px 2px 0; }
 .tbif-stepper-btn:hover { background:var(--tbif-border); }
 .tbif-stepper-input { flex:1; border-radius:0; border-left:none; border-right:none; text-align:center; }
 
 /* Prefilled infra fields */
 .tbif-input-pre { background:var(--tbif-prefill); color:var(--tbif-teal); font-style:italic; border-color:rgba(103,187,214,0.3); cursor:default; }
 
 /* Logo upload zone */
 .tbif-logo-upload-label {
   display:flex; flex-direction:column; align-items:center; justify-content:center;
   height:78px; border:1px dashed var(--tbif-border); border-radius:2px;
   cursor:pointer; background:var(--tbif-grey); gap:5px;
   transition:border-color 0.15s;
 }
 .tbif-logo-upload-label:hover { border-color:var(--tbif-sky); }
 .tbif-logo-upload-label img { max-height:60px; max-width:88%; object-fit:contain; }
 .tbif-logo-upload-hint { font-size:10px; color:var(--tbif-muted); }
 
 /* File upload button */
 .tbif-file-upload-label {
   display:flex; align-items:center; gap:9px; padding:10px 13px;
   border:1px solid var(--tbif-border); border-radius:2px;
   cursor:pointer; background:var(--tbif-white); transition:all 0.15s;
 }
 .tbif-file-upload-label.tbif-has-file { background:var(--tbif-prefill); border-color:rgba(103,187,214,0.3); }
 .tbif-file-name { font-size:13px; color:var(--tbif-muted); }
 .tbif-file-upload-label.tbif-has-file .tbif-file-name { color:var(--tbif-teal); }
 
 /* Instrument selector (inside Instrument section) */
 .tbif-instr-note {
   padding:9px 13px; background:rgba(103,187,214,0.06);
   border:1px solid rgba(103,187,214,0.2); border-radius:2px;
   margin-bottom:14px; font-size:11px; color:var(--tbif-teal); line-height:1.65;
 }
 .tbif-instr-placeholder {
   padding:14px 16px; background:var(--tbif-grey);
   border:1px solid var(--tbif-border); border-radius:2px;
   margin-bottom:14px; font-size:12px; color:var(--tbif-muted); line-height:1.65;
 }
 
 /* Date field wrapper */
 .tbif-date-wrap { position:relative; }
 .tbif-date-wrap .tbif-date-icon { position:absolute; left:11px; top:50%; transform:translateY(-50%); pointer-events:none; }
 .tbif-date-wrap input[type="date"] { padding-left:30px; }
 
 /* Select with pre-filled style */
 .tbif-select-pre { background:var(--tbif-prefill); border-color:rgba(103,187,214,0.3); }
 
 /* 4-col grid */
 .tbif-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:13px 16px; }
 .tbif-grid-auto { display:grid; grid-template-columns:100px 1fr; gap:13px 18px; }
 
 /* Min size note */
 .tbif-field-min { font-size:10px; color:var(--tbif-muted); margin-top:4px; }
 
 /* Conditional tx sections — hidden until instrument selected */
 .tbif-tx-block { display:none; }
 .tbif-tx-block.tbif-active { display:block; }
 
 /* Progress dots */
 .tbif-progress { display:flex; align-items:center; gap:6px; margin-bottom:16px; }
 .tbif-progress-dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,0.2); transition:background 0.2s; }
 .tbif-progress-dot.active { background:var(--tbif-sky); }
 
 /* Legal text links */
 .tbif-legal-text a { color:var(--tbif-sky); text-decoration:underline; }
 
 @media (max-width:768px) {
   
   
   
   .tbif-grid-4    { grid-template-columns:1fr 1fr; }
   .tbif-grid-auto { grid-template-columns:1fr; }
 }
 @media (max-width:480px) {
   .tbif-grid-4 { grid-template-columns:1fr; }
   
 }