/* =========================================================
   HRIZEN — Premium Forms & Contact Styles  v2.0
   API: https://api.ablyworks.com/api/v1/enquiries
   Covers: .hrizen-consult-section (home) + .hrizen-contact-section (contact page)
   ========================================================= */

/* ─── Design Tokens ─────────────────────────────────────── */
:root {
    --hri-blue:    #0865f8;
    --hri-blue-dk: #054ed4;
    --hri-pink:    #F02C6E;
    --hri-dark:    #0d1b2a;
    --hri-gray:    #64748b;
    --hri-border:  #e2e8f0;
    --hri-bg:      #f8fafc;
    --hri-white:   #ffffff;
    --hri-radius:  12px;
    --hri-shadow:  0 4px 24px rgba(8,101,248,.12);
    --hri-trans:   all .25s ease;
}

/* ─── Animated Badge ─────────────────────────────────────── */
.hrizen-form-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: rgba(8,101,248,.1);
    color: var(--hri-blue);
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .5px;
    text-transform: uppercase;
    margin-bottom: 18px;
}
.hrizen-form-badge.dark {
    background: rgba(255,255,255,.15);
    color: #fff;
}
.badge-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--hri-blue);
    animation: hri-pulse 1.6s ease-in-out infinite;
}
.hrizen-form-badge.dark .badge-dot { background: #fff; }
@keyframes hri-pulse {
    0%,100% { transform:scale(1); opacity:1; }
    50%      { transform:scale(1.45); opacity:.55; }
}

/* ─── Shared Field Styles ────────────────────────────────── */
.hrizen-field-group   { display:flex; flex-direction:column; gap:6px; }
.hrizen-label         { font-size:13px; font-weight:600; color:var(--hri-dark); letter-spacing:.3px; }

.hrizen-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
    background: var(--hri-white);
    border: 1.5px solid var(--hri-border);
    border-radius: var(--hri-radius);
    transition: var(--hri-trans);
    overflow: hidden;
}
.hrizen-input-wrap:focus-within {
    border-color: var(--hri-blue);
    box-shadow: 0 0 0 4px rgba(8,101,248,.1);
}

.hrizen-field-icon {
    position: absolute;
    left: 14px;
    font-size: 18px;
    color: var(--hri-gray);
    pointer-events: none;
    transition: color .2s;
}
.hrizen-input-wrap:focus-within .hrizen-field-icon { color: var(--hri-blue); }

.hrizen-input {
    width: 100%;
    border: none;
    outline: none;
    background: transparent;
    padding: 13px 14px 13px 44px;
    font-size: 14.5px;
    color: var(--hri-dark);
    font-family: inherit;
}
.hrizen-input::placeholder { color: #94a3b8; }

/* Phone prefix */
.hrizen-phone-wrap   { padding-left: 0; }
.hrizen-phone-code {
    display: flex;
    align-items: center;
    padding: 0 12px;
    min-width: 82px;
    font-size: 14px;
    font-weight: 600;
    color: var(--hri-dark);
    border-right: 1.5px solid var(--hri-border);
    white-space: nowrap;
    background: #f1f5f9;
    user-select: none;
}
.hrizen-phone-input { padding-left: 14px !important; }

/* Select */
.hrizen-select-wrap .hrizen-select { padding-left: 44px; appearance: none; cursor: pointer; }
.hrizen-select-arrow {
    position: absolute; right: 14px;
    font-size: 18px; color: var(--hri-gray); pointer-events: none;
}

/* Textarea */
.hrizen-textarea-wrap   { align-items: flex-start; }
.hrizen-textarea-icon   { top: 13px; position: absolute; }
.hrizen-textarea        { padding-top: 13px !important; resize: vertical; min-height: 120px; }

/* Validation error */
.hrizen-field-error {
    font-size: 12px;
    color: #e74c3c;
    min-height: 16px;
    font-weight: 500;
    transition: opacity .2s;
}

/* ─── Submit Button ─────────────────────────────────────── */
.hrizen-submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 14px 32px;
    background: linear-gradient(135deg, var(--hri-blue) 0%, #3a8dff 100%);
    color: #fff;
    border: none;
    border-radius: var(--hri-radius);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--hri-trans);
    box-shadow: 0 6px 24px rgba(8,101,248,.35);
    letter-spacing: .3px;
    font-family: inherit;
}
.hrizen-submit-btn:hover:not(:disabled) {
    background: linear-gradient(135deg, var(--hri-blue-dk) 0%, var(--hri-blue) 100%);
    transform: translateY(-2px);
    box-shadow: 0 10px 32px rgba(8,101,248,.45);
}
.hrizen-submit-btn:active  { transform: translateY(0); }
.hrizen-submit-btn:disabled { opacity: .7; cursor: not-allowed; transform: none !important; }
.btn-icon { font-size: 20px; transition: transform .2s; }
.hrizen-submit-btn:hover:not(:disabled) .btn-icon { transform: translateX(4px); }

/* ─── Spinner (loading state) ───────────────────────────── */
.cb-spinner, .spinner {
    display: inline-block;
    width: 16px; height: 16px;
    border: 2px solid rgba(255,255,255,.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: hri-spin .7s linear infinite;
    vertical-align: middle;
}
@keyframes hri-spin { to { transform:rotate(360deg); } }

/* ─── Form note & inline message ────────────────────────── */
.hrizen-form-note {
    margin: 14px 0 0;
    font-size: 12.5px;
    color: var(--hri-gray);
    display: flex;
    align-items: center;
    gap: 6px;
    justify-content: center;
}
.hrizen-form-note i { color: #22c55e; font-size: 14px; }

.form-msg {
    padding: 12px 16px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 14px;
    margin-top: 12px;
    text-align: center;
}
.form-msg.success { background:#dcfce7; color:#15803d; border:1px solid #86efac; }
.form-msg.error   { background:#fee2e2; color:#dc2626; border:1px solid #fca5a5; }


/* ==========================================================
   HOME PAGE — .hrizen-consult-section
   ========================================================== */
.hrizen-consult-section {
    position: relative;
    padding: 90px 0;
    background: linear-gradient(160deg, #0d1b2a 0%, #102044 60%, #0d1b2a 100%);
    overflow: hidden;
}

.hrizen-consult-bg-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    opacity: .22;
    pointer-events: none;
}
.blob-1 { width:520px; height:520px; background:var(--hri-blue); top:-140px; left:-120px; }
.blob-2 { width:420px; height:420px; background:var(--hri-pink);  bottom:-100px; right:-80px; }

.hrizen-consult-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    position: relative;
    z-index: 1;
}

/* Form panel (glassmorphism) */
.hrizen-form-panel {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-radius: 20px;
    padding: 44px 40px;
}
.hrizen-form-title {
    font-size: 30px;
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
    margin: 0 0 10px;
}
.hrizen-form-title span      { color: #60a5fa; }
.hrizen-form-subtitle        { font-size: 14.5px; color: rgba(255,255,255,.7); margin-bottom: 28px; }
.hrizen-form                 { display: flex; flex-direction: column; gap: 18px; }

/* Dark-themed input overrides */
.hrizen-form .hrizen-input-wrap          { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.15); }
.hrizen-form .hrizen-input-wrap:focus-within { border-color:#60a5fa; box-shadow:0 0 0 4px rgba(96,165,250,.15); }
.hrizen-form .hrizen-input               { color:#fff; }
.hrizen-form .hrizen-input::placeholder  { color:rgba(255,255,255,.4); }
.hrizen-form .hrizen-field-icon          { color:rgba(255,255,255,.5); }
.hrizen-form .hrizen-input-wrap:focus-within .hrizen-field-icon { color:#60a5fa; }
.hrizen-form .hrizen-phone-code          { background:rgba(255,255,255,.1); border-right-color:rgba(255,255,255,.15); color:#fff; }
.hrizen-form .hrizen-select              { background:transparent; color:rgba(255,255,255,.65); }
.hrizen-form .hrizen-select option       { background:#1e293b; color:#fff; }
.hrizen-form .hrizen-select-arrow        { color:rgba(255,255,255,.5); }
.hrizen-form .hrizen-field-error         { color:#f87171; }
.hrizen-form .hrizen-form-note           { color:rgba(255,255,255,.5); }
.hrizen-form .hrizen-form-note i         { color:#4ade80; }

/* Info / image panel (right) */
.hrizen-info-panel  { position: relative; }
.hrizen-info-image  { position:relative; border-radius:20px; overflow:hidden; height:380px; }
.hrizen-info-image img { width:100%; height:100%; object-fit:cover; display:block; }
.hrizen-info-overlay {
    position:absolute; inset:0;
    background:linear-gradient(to top, rgba(8,26,62,.7) 0%, transparent 60%);
}

/* Floating stats card */
.hrizen-stats-card {
    position: absolute;
    bottom: -24px; left: 50%;
    transform: translateX(-50%);
    background: #fff;
    border-radius: 14px;
    padding: 18px 28px;
    display: flex;
    align-items: center;
    gap: 20px;
    box-shadow: 0 16px 48px rgba(8,101,248,.22);
    white-space: nowrap;
    z-index: 2;
}
.hrizen-stat         { text-align:center; }
.stat-number         { display:block; font-size:22px; font-weight:800; color:var(--hri-blue); line-height:1; }
.stat-label          { display:block; font-size:11px; color:var(--hri-gray); font-weight:500; margin-top:4px; }
.hrizen-stat-divider { width:1px; height:40px; background:var(--hri-border); }

/* Trust badges */
.hrizen-trust-row {
    display: flex;
    gap: 10px;
    margin-top: 52px;
    justify-content: center;
    flex-wrap: wrap;
}
.hrizen-trust-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50px;
    color: rgba(255,255,255,.85);
    font-size: 13px;
    font-weight: 500;
    backdrop-filter: blur(8px);
}
.hrizen-trust-badge i { font-size:16px; color:#60a5fa; }


/* ==========================================================
   CONTACT PAGE — .hrizen-contact-section
   ========================================================== */
.hrizen-contact-section { background: var(--hri-bg); }

.hrizen-contact-grid {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 40px;
    align-items: start;
}

/* Left info panel */
.hrizen-contact-info-panel {
    background: linear-gradient(160deg, #0865f8 0%, #054ed4 100%);
    border-radius: 20px;
    overflow: hidden;
    position: sticky;
    top: 100px;
}
.hrizen-contact-info-inner    { padding: 40px 36px; }
.hrizen-contact-info-title {
    font-size: 26px;
    font-weight: 700;
    color: #fff;
    line-height: 1.35;
    margin: 0 0 12px;
}
.hrizen-contact-info-title span { color: #bfdbfe; }
.hrizen-contact-info-desc  { font-size:14px; color:rgba(255,255,255,.75); margin-bottom:32px; line-height:1.7; }

.hrizen-contact-details    { display:flex; flex-direction:column; gap:22px; margin-bottom:36px; }
.hrizen-contact-detail-item{ display:flex; align-items:flex-start; gap:14px; }
.detail-icon {
    width:42px; height:42px;
    background:rgba(255,255,255,.15);
    border-radius:10px;
    display:flex; align-items:center; justify-content:center;
    font-size:20px; color:#fff; flex-shrink:0;
}
.detail-label  { display:block; font-size:11px; color:rgba(255,255,255,.6); font-weight:600; text-transform:uppercase; letter-spacing:.5px; }
.detail-value  { display:block; font-size:15px; color:#fff; font-weight:600; margin-top:2px; text-decoration:none; }
.detail-value:hover { color:#bfdbfe; }

.hrizen-contact-socials { border-top:1px solid rgba(255,255,255,.15); padding-top:24px; }
.socials-label  { display:block; font-size:12px; color:rgba(255,255,255,.6); font-weight:600; text-transform:uppercase; letter-spacing:.5px; margin-bottom:14px; }
.socials-icons  { display:flex; gap:10px; }
.social-chip {
    width:38px; height:38px;
    background:rgba(255,255,255,.15);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:#fff; font-size:16px;
    text-decoration:none;
    transition: var(--hri-trans);
}
.social-chip:hover { background:#fff; color:var(--hri-blue); transform:translateY(-3px); }

/* Right form panel */
.hrizen-contact-form-panel {
    background: #fff;
    border-radius: 20px;
    padding: 40px 40px 36px;
    box-shadow: 0 4px 32px rgba(0,0,0,.06);
    border: 1px solid var(--hri-border);
}
.hrizen-contact-form-heading {
    font-size: 22px;
    font-weight: 700;
    color: var(--hri-dark);
    margin-bottom: 28px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--hri-border);
}
.hrizen-contact-form   { display:flex; flex-direction:column; gap:20px; }
.hrizen-contact-row    { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.hrizen-contact-footer { display:flex; flex-direction:column; gap:0; margin-top:6px; }


/* ==========================================================
   Responsive
   ========================================================== */
@media (max-width: 1100px) {
    .hrizen-consult-container { grid-template-columns:1fr; gap:40px; }
    .hrizen-info-panel        { order:-1; }
    .hrizen-info-image        { height:280px; }
    .hrizen-stats-card        { position:relative; bottom:auto; left:auto; transform:none; margin-top:16px; width:100%; justify-content:center; }
    .hrizen-contact-grid      { grid-template-columns:1fr; }
    .hrizen-contact-info-panel{ position:static; }
}

@media (max-width: 768px) {
    .hrizen-form-panel         { padding:28px 20px; }
    .hrizen-form-title         { font-size:24px; }
    .hrizen-contact-form-panel { padding:24px 18px; }
    .hrizen-contact-row        { grid-template-columns:1fr; }
    .hrizen-stats-card         { flex-wrap:wrap; gap:14px; }
    .hrizen-consult-section    { padding:60px 0; }
}

/* ==========================================================
   TRIAL FORM — Compact overrides (.trial-form context)
   ========================================================== */
.trial-form .hrizen-input-wrap:focus-within {
    border-color: rgba(255,255,255,.6);
    box-shadow: 0 0 0 3px rgba(255,255,255,.12);
}
.trial-form .hrizen-input {
    padding: 10px 12px 10px 40px;
    font-size: 14px;
}
.trial-form .hrizen-field-icon {
    font-size: 16px;
    left: 12px;
}
.trial-form .hrizen-field-group {
    gap: 4px;
}
.trial-form .hrizen-field-error {
    font-size: 11.5px;
    min-height: 14px;
}
.trial-form .hrizen-textarea {
    min-height: 80px !important;
    padding-top: 10px !important;
}
.trial-form .hrizen-textarea-icon {
    top: 10px;
}
.trial-form .send-btn {
    margin-top: 6px;
}
