/* ==========================================================================
   Amie FinTax Solutions - premium features (WhatsApp float, deadline band,
   booking, client portal). Tokens inherited from main.css / Customizer.
   ========================================================================== */

/* ---- WhatsApp / chat float ---- */
.afx-wa{position:fixed;right:22px;bottom:88px;z-index:70;display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#fff;text-decoration:none;padding:13px 18px 13px 14px;border-radius:100px;box-shadow:0 16px 40px -14px rgba(0,0,0,.5);font-weight:700;font-size:14px;font-family:var(--afx-font-body)}
.afx-wa:hover{filter:brightness(1.05);color:#fff}
.afx-wa__ico{width:24px;height:24px;display:grid;place-items:center;font-size:18px}
@media(max-width:640px){.afx-wa__label{display:none}.afx-wa{padding:14px;border-radius:50%}}

/* ---- Deadline countdown band ---- */
.afx-deadline{background:var(--afx-gold);color:var(--afx-navy)}
.afx-deadline__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px;padding:20px 0}
.afx-deadline__count{display:flex;align-items:center;gap:18px}
.afx-deadline__num{font-family:var(--afx-font-head);font-size:46px;line-height:1}
.afx-deadline__unit{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;align-self:flex-end;margin:0 6px 6px -12px}
.afx-deadline__text strong{display:block;font-size:16px;line-height:1.2}
.afx-deadline__text span{font-size:13.5px;color:rgba(13,27,42,.75)}
.afx-deadline__form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.afx-deadline__form label{font-size:13.5px;font-weight:700}
.afx-deadline__form input{font-family:inherit;font-size:14px;padding:11px 14px;border:1px solid rgba(13,27,42,.3);border-radius:8px;background:rgba(255,255,255,.7);color:var(--afx-navy);outline:none;min-width:190px}
.afx-deadline__form input:focus{background:#fff;border-color:var(--afx-navy)}
.afx-deadline__form button{background:var(--afx-navy);color:#fff;border:none;font-family:inherit;font-size:14px;font-weight:700;padding:11px 20px;border-radius:8px;cursor:pointer}
.afx-deadline__form button:hover{background:var(--afx-navy-3)}
.afx-deadline__ok{display:flex;align-items:center;gap:9px;font-size:14.5px;font-weight:700}
.afx-deadline__ok span{width:26px;height:26px;border-radius:50%;background:var(--afx-navy);color:var(--afx-gold);display:grid;place-items:center;font-size:13px}

/* ---- Booking ---- */
.afx-booking{padding:clamp(32px,4vw,56px) 0 clamp(56px,8vw,96px)}
.afx-booking__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,32px);align-items:start}
.afx-card{background:var(--afx-paper);border:1px solid var(--afx-line);border-radius:16px;padding:clamp(22px,2.6vw,34px);box-shadow:0 30px 60px -48px rgba(13,27,42,.35)}
.afx-cal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.afx-cal__nav{width:40px;height:40px;border:1px solid var(--afx-line);background:var(--afx-paper-2);border-radius:10px;cursor:pointer;color:var(--afx-navy);font-size:16px}
.afx-cal__nav:hover{border-color:var(--afx-gold)}
.afx-cal__title{text-align:center}
.afx-cal__title b{font-family:var(--afx-font-head);font-weight:400;font-size:24px;color:var(--afx-navy);display:block;line-height:1}
.afx-cal__title span{font-size:12px;color:var(--afx-muted);letter-spacing:.04em}
.afx-cal__dow,.afx-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.afx-cal__dow span{text-align:center;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--afx-muted);padding:4px 0}
.afx-cal__grid{margin-top:6px}
.afx-cal__day{padding:11px 0;border-radius:9px;border:1px solid var(--afx-line);background:var(--afx-paper-2);color:var(--afx-navy);font-family:inherit;font-size:14.5px;cursor:pointer}
.afx-cal__day:hover:not(:disabled){border-color:var(--afx-gold)}
.afx-cal__day.is-empty{visibility:hidden;border:none;background:none}
.afx-cal__day:disabled{border:1px dashed var(--afx-line);background:transparent;color:var(--afx-muted);opacity:.5;cursor:not-allowed}
.afx-cal__day.is-sel{background:var(--afx-gold);border-color:var(--afx-gold);color:var(--afx-navy);font-weight:800}
.afx-slot{padding:11px 6px;border-radius:9px;border:1px solid var(--afx-line);background:var(--afx-paper-2);color:var(--afx-navy);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}
.afx-slot:hover:not(:disabled){border-color:var(--afx-gold)}
.afx-slot:disabled{border:1px dashed var(--afx-line);background:transparent;color:var(--afx-muted);text-decoration:line-through;opacity:.55;cursor:not-allowed}
.afx-slot.is-sel{background:var(--afx-navy);border-color:var(--afx-navy);color:#fff}
.afx-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:9px;margin-bottom:22px}
.afx-booking__empty{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--afx-muted)}
.afx-booking__field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}
.afx-booking__field span{font-size:12px;font-weight:700;color:var(--afx-slate)}
.afx-booking input,.afx-booking select{font-family:inherit;font-size:15px;padding:12px 13px;border:1px solid var(--afx-line);border-radius:9px;background:var(--afx-paper-2);color:var(--afx-ink);outline:none;width:100%}
.afx-booking input:focus,.afx-booking select:focus{border-color:var(--afx-gold);background:#fff}
.afx-booking__submit{width:100%;margin-top:8px;border:none;font-family:inherit;font-size:15.5px;font-weight:800;padding:16px;border-radius:10px;cursor:pointer;background:var(--afx-gold);color:var(--afx-navy)}
.afx-booking__submit:disabled{background:var(--afx-paper-2);color:var(--afx-muted);cursor:not-allowed}

/* ---- Client portal ---- */
.afx-portal{padding:clamp(32px,4vw,56px) 0 clamp(56px,8vw,96px)}
.afx-portal__grid{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(20px,3vw,32px);align-items:start}
.afx-portal__cats{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:18px}
.afx-portal__cat{border:1px solid var(--afx-line);background:var(--afx-paper-2);color:var(--afx-slate);font-family:inherit;font-size:12.5px;font-weight:700;padding:7px 13px;border-radius:100px;cursor:pointer}
.afx-portal__cat.is-on{border-color:var(--afx-gold);background:var(--afx-gold);color:var(--afx-navy)}
.afx-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:44px 20px;border-radius:14px;border:2px dashed var(--afx-line);background:var(--afx-paper);cursor:pointer;transition:border-color .2s,background .2s}
.afx-drop.is-drag{border-color:var(--afx-gold);background:rgba(199,154,58,.06)}
.afx-drop__ico{width:60px;height:60px;border-radius:14px;background:var(--afx-paper-2);display:grid;place-items:center;font-size:26px;color:var(--afx-gold-d);margin-bottom:16px}
.afx-drop b{font-family:var(--afx-font-head);font-weight:400;font-size:24px;color:var(--afx-navy)}
.afx-drop small{font-size:12px;color:var(--afx-muted);margin-top:12px}
.afx-file{display:flex;align-items:center;gap:14px;background:var(--afx-paper-2);border:1px solid var(--afx-line);border-radius:11px;padding:13px 15px;margin-top:10px}
.afx-file__ico{width:40px;height:40px;flex:none;border-radius:9px;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}
.afx-file__meta{flex:1;min-width:0}
.afx-file__name{font-size:14.5px;font-weight:600;color:var(--afx-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.afx-file__sub{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:12px;color:var(--afx-muted)}
.afx-file__sub .ok{color:#1f7a48;font-weight:700}
.afx-file__bar{height:4px;background:var(--afx-line);border-radius:100px;margin-top:8px;overflow:hidden}
.afx-file__bar span{display:block;height:100%;background:var(--afx-gold);border-radius:100px;width:0;transition:width .3s ease}
.afx-file__x{width:30px;height:30px;flex:none;border:none;background:transparent;color:var(--afx-muted);font-size:16px;cursor:pointer;border-radius:7px}
.afx-file__x:hover{background:var(--afx-line);color:var(--afx-ink)}
.afx-portal__send{width:100%;margin-top:18px;border:none;font-family:inherit;font-size:15.5px;font-weight:800;padding:16px;border-radius:10px;cursor:pointer;background:var(--afx-gold);color:var(--afx-navy)}
.afx-portal__send:disabled{background:var(--afx-paper-2);color:var(--afx-muted);cursor:not-allowed}
.afx-portal__aside{display:flex;flex-direction:column;gap:16px;position:sticky;top:96px}

.afx-success{background:var(--afx-paper);border:1px solid var(--afx-line);border-radius:18px;overflow:hidden;box-shadow:0 40px 80px -50px rgba(13,27,42,.5);text-align:center}
.afx-success__top{background:var(--afx-navy);color:#fff;padding:clamp(30px,4vw,48px)}
.afx-success__check{width:64px;height:64px;background:var(--afx-gold);border-radius:50%;display:grid;place-items:center;color:var(--afx-navy);font-size:30px;margin:0 auto 18px}
.afx-success h2{font-family:var(--afx-font-head);font-weight:400;font-size:32px;margin:0 0 8px}
.afx-success p{font-size:15.5px;color:rgba(255,255,255,.8);margin:0}
.afx-success__body{padding:clamp(24px,3vw,36px)}

@media(max-width:900px){.afx-booking__grid,.afx-portal__grid{grid-template-columns:1fr}.afx-portal__aside{position:static}}
