/* ==========================================================================
   modern.css — docsibir.ru Theme Modernization v3.2
   Brand Identity:
     - Primary Ruby/Crimson: #b3001a (hover: #d0083c, border: #930c2f)
     - Secondary Accent: #930c2f
     - Night Plum / Eggplant: #20161e / #251824 / #32212f
     - Warm Gold: #f8ecb5 / #e5d290
     - Soft Background: #fbf9fa / #ffffff
     - Border Gray: #ebd9dc / #e2e8f0
   ========================================================================== */

/* --- RESET & BOX SIZING --- */
*, *::before, *::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.65;
    color: #2a2428;
    background-color: #f4f2f4;
}

/* OVERRIDE ANCIENT BLUEPRINT / FIXED 960PX */
#wrapper,
.header-align,
.container,
.span-24,
.span-14,
.span-5 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

#contentwrap {
    background: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    box-sizing: border-box !important;
}

.docsibir-page-wrapper {
    background: #ffffff;
    min-height: 100vh;
}

/* --- TOP UTILITY BAR --- */
.docsibir-top-bar {
    background-color: #1a1118;
    color: #d1c5cf;
    font-size: 13px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.docsibir-top-bar-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 8px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}
.docsibir-top-badge {
    background: rgba(179, 0, 26, 0.4);
    color: #f8ecb5;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 600;
    margin-right: 8px;
}
.docsibir-top-hours {
    color: #b5a4b2;
}
.docsibir-top-quick {
    display: flex;
    gap: 16px;
    align-items: center;
}
.docsibir-top-link {
    color: #f8ecb5;
    text-decoration: none;
    transition: color 0.2s;
}
.docsibir-top-link:hover {
    color: #ffffff;
    text-decoration: underline;
}

/* --- MAIN HEADER WITH AUTHENTIC NIGHT BRIDGE --- */
.docsibir-main-header {
    position: relative;
    background: #251824 url('../images/head_back.png') right center no-repeat;
    background-size: auto 100%;
    min-height: 140px;
    border-bottom: 1px solid #4a3348;
}
.docsibir-header-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(32,22,30,0.95) 0%, rgba(32,22,30,0.85) 45%, rgba(32,22,30,0.4) 100%);
    pointer-events: none;
}
.docsibir-header-content {
    position: relative;
    z-index: 2;
    max-width: 1280px;
    margin: 0 auto;
    padding: 16px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}
.docsibir-header-brand {
    flex: 0 0 auto;
}
.docsibir-logo-img {
    max-width: 280px;
    height: auto;
    display: block;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,0.4));
}
.docsibir-header-actions {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}
.docsibir-header-contact-box {
    text-align: right;
}
.docsibir-contact-city {
    font-size: 13px;
    color: #f8ecb5;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}
.docsibir-header-phone-main {
    font-size: 24px;
    font-weight: 800;
    color: #ffffff;
    text-decoration: none;
    display: block;
    line-height: 1.2;
    letter-spacing: -0.5px;
    transition: color 0.2s;
}
.docsibir-header-phone-main:hover {
    color: #f8ecb5;
}
.docsibir-header-email-sub {
    font-size: 13px;
    color: #ab97a7;
    margin-top: 4px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}
.docsibir-header-email-sub a {
    color: #ab97a7;
    text-decoration: none;
}
.docsibir-header-email-sub a:hover {
    color: #ffffff;
}
.docsibir-status-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 8px #22c55e;
    vertical-align: middle;
}
.docsibir-consult-status {
    color: #86efac;
    font-size: 12px;
}
.docsibir-btn-calc-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #d0083c 0%, #b3001a 100%);
    color: #ffffff !important;
    text-decoration: none !important;
    padding: 12px 22px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 14px;
    box-shadow: 0 4px 15px rgba(179, 0, 26, 0.45);
    transition: all 0.25s ease;
    border: 1px solid #ff4d6d;
}
.docsibir-btn-calc-cta:hover {
    background: linear-gradient(135deg, #e60a44 0%, #c4001d 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(179, 0, 26, 0.6);
}

/* --- NAVIGATION BAR --- */
.docsibir-navbar {
    background-color: #251824;
    border-bottom: 3px solid #b3001a;
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: 0 2px 10px rgba(0,0,0,0.15);
}
.docsibir-nav-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
}
.docsibir-mobile-header {
    display: none;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    color: #ffffff;
}
.docsibir-mobile-title {
    font-weight: 700;
    font-size: 16px;
    color: #f8ecb5;
}
.docsibir-nav-toggle {
    background: #32212f;
    border: 1px solid #4a3348;
    border-radius: 6px;
    padding: 8px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.docsibir-hamburger-bar {
    display: block;
    width: 22px;
    height: 2px;
    background: #ffffff;
    border-radius: 2px;
}
.docsibir-nav-list {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}
.docsibir-nav-list > li {
    position: relative;
}
.docsibir-nav-list > li > a {
    display: block;
    padding: 14px 18px;
    color: #e0c7db;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.2px;
    transition: all 0.2s;
}
.docsibir-nav-list > li:hover > a,
.docsibir-nav-list > li.current-menu-item > a {
    color: #ffffff;
    background-color: #382436;
}
.docsibir-nav-list > li.current-menu-item > a {
    box-shadow: inset 0 -3px 0 #f8ecb5;
    color: #f8ecb5;
}

/* --- MAIN CONTAINER & 3-COLUMN GRID (FIX LEFT GREY GAP) --- */
#container.docsibir-container,
.docsibir-container {
    background: transparent !important;
    margin: 0 auto !important;
    max-width: 1280px !important;
    width: 100% !important;
    padding: 24px 20px 60px 20px !important;
    box-sizing: border-box !important;
}
.docsibir-layout-wrap {
    display: grid !important;
    grid-template-columns: 240px minmax(0, 1fr) 280px !important;
    gap: 24px !important;
    align-items: start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* --- SIDEBARS (LEFT & RIGHT) --- */
.docsibir-sidebar {
    font-size: 14px;
}
.docsibir-sidebar-inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.docsibir-widget-box {
    background: #ffffff;
    border: 1px solid #ebd9dc;
    border-radius: 10px;
    padding: 18px;
    box-shadow: 0 2px 10px rgba(37, 24, 36, 0.04);
}
.docsibir-widget-title {
    font-size: 16px;
    font-weight: 700;
    color: #251824;
    margin: 0 0 14px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #b3001a;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Left Sidebar Menu */
.docsibir-sidebar-left .widget_nav_menu ul.menu,
.docsibir-fallback-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}
.docsibir-sidebar-left .widget_nav_menu ul.menu > li,
.docsibir-fallback-menu > li {
    margin-bottom: 6px;
}

/* Defensive override for sidebar menu buttons (fixes text overlap bug) */
#menu-left_menu > li > a,
.widget_nav_menu ul.menu > li > a,
.docsibir-sidebar-left .widget_nav_menu ul.menu > li > a,
.docsibir-fallback-menu > li > a,
#dc_jqaccordion_widget-2-item ul a.dcjq-parent,
.sidebar.sidebar-right .menu-bazy-container li a,
[id^="menu-item-"] > a,
#menu-item-256 a,
#menu-item-264 a,
#menu-item-349 a,
#menu-item-362 a,
#menu-item-375 a,
#menu-item-385 a,
#menu-item-25692 a,
#menu-item-25694 a,
#menu-item-25695 a,
#menu-item-25696 a,
#menu-item-25699 a {
    height: auto !important;
    min-height: 40px !important;
    line-height: 1.35 !important;
    padding: 10px 12px !important;
    word-wrap: break-word !important;
    white-space: normal !important;
    display: flex !important;
    align-items: center !important;
    border-radius: 6px !important;
    margin-bottom: 6px !important;
    box-sizing: border-box !important;
    text-decoration: none;
    transition: all 0.2s;
}

.docsibir-sidebar-left .widget_nav_menu ul.menu > li > a,
.docsibir-fallback-menu > li > a {
    background: #fdfbfb;
    border: 1px solid #ebd9dc;
    color: #251824;
    font-weight: 600;
    font-size: 13px;
}

.docsibir-sidebar-left .widget_nav_menu ul.menu > li > a:hover,
.docsibir-fallback-menu > li > a:hover,
#menu-left_menu > li > a:hover,
.sidebar.sidebar-right .menu-bazy-container li a:hover {
    background: #b3001a !important;
    color: #ffffff !important;
    border-color: #b3001a !important;
    transform: translateX(3px);
}

/* Left Sidebar Accordion Chevrons & Interactive States */
#menu-left_menu > li.menu-item-has-children > a,
.widget_nav_menu ul.menu > li.menu-item-has-children > a {
    cursor: pointer !important;
    position: relative;
    justify-content: space-between !important;
}
#menu-left_menu > li.menu-item-has-children > a::after,
.widget_nav_menu ul.menu > li.menu-item-has-children > a::after {
    content: '▾';
    font-size: 14px;
    margin-left: auto;
    transition: transform 0.2s ease;
}
#menu-left_menu > li.menu-item-has-children.abierto > a::after,
.widget_nav_menu ul.menu > li.menu-item-has-children.abierto > a::after,
#menu-left_menu > li.current-menu-item > a::after,
.widget_nav_menu ul.menu > li.current-menu-item > a::after,
#menu-left_menu > li.current-menu-ancestor > a::after,
.widget_nav_menu ul.menu > li.current-menu-ancestor > a::after {
    transform: rotate(180deg);
}

.docsibir-sidebar-left .sub-menu {
    list-style: none;
    padding: 6px 0 6px 12px;
    margin: 0;
}
.docsibir-sidebar-left .sub-menu li a {
    display: block;
    padding: 5px 8px;
    color: #604d5e;
    text-decoration: none;
    font-size: 13px;
    border-left: 2px solid #ebd9dc;
    transition: all 0.2s;
}
.docsibir-sidebar-left .sub-menu li a:hover {
    color: #b3001a;
    border-left-color: #b3001a;
    padding-left: 12px;
}
.docsibir-widget-help {
    background: linear-gradient(135deg, #fbf7f8 0%, #faedf0 100%);
    border-color: #ebd9dc;
}
.docsibir-help-title {
    margin: 0 0 6px 0;
    font-size: 15px;
    color: #930c2f;
}
.docsibir-help-desc {
    font-size: 13px;
    color: #554452;
    margin: 0 0 10px 0;
}
.docsibir-help-phone {
    font-size: 16px;
    font-weight: 800;
    color: #251824;
    text-decoration: none;
    display: block;
    margin-bottom: 4px;
}
.docsibir-help-hours {
    font-size: 12px;
    color: #7b6878;
    margin-bottom: 12px;
}
.docsibir-vk-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #4680C2;
    color: #ffffff !important;
    text-decoration: none !important;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    transition: background 0.2s;
}
.docsibir-vk-btn:hover {
    background: #396fa8;
}

/* Right Sidebar Widgets */
.docsibir-search-form {
    display: flex;
    gap: 6px;
}
.docsibir-search-input {
    flex: 1 1 auto;
    padding: 9px 12px;
    border: 1px solid #ebd9dc;
    border-radius: 6px;
    font-size: 13px;
    outline: none;
    transition: border-color 0.2s;
}
.docsibir-search-input:focus {
    border-color: #b3001a;
}
.docsibir-search-btn {
    background: #251824;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    padding: 0 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}
.docsibir-search-btn:hover {
    background: #b3001a;
}

/* Manager Card Widget */
.docsibir-widget-manager {
    background: #ffffff;
    border-top: 3px solid #b3001a;
}
.docsibir-manager-badge {
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 700;
    color: #b3001a;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}
.docsibir-manager-card {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.docsibir-manager-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #f8ecb5;
    flex-shrink: 0;
}
.docsibir-manager-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.docsibir-manager-name {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #251824;
}
.docsibir-manager-role {
    margin: 2px 0 0 0;
    font-size: 12px;
    color: #7b6878;
}
.docsibir-manager-text {
    font-size: 13px;
    color: #4a3e47;
    margin: 0 0 12px 0;
    line-height: 1.5;
}
.docsibir-manager-contacts {
    margin-bottom: 14px;
}
.docsibir-manager-phone {
    font-size: 16px;
    font-weight: 800;
    color: #251824;
    text-decoration: none;
    display: block;
}
.docsibir-manager-phone:hover {
    color: #b3001a;
}
.docsibir-manager-email {
    font-size: 13px;
    color: #604d5e;
    text-decoration: none;
    display: block;
    margin-top: 2px;
}
.docsibir-manager-btn {
    display: block;
    text-align: center;
    background: #fdfbfb;
    border: 1px solid #b3001a;
    color: #b3001a !important;
    text-decoration: none !important;
    padding: 9px 14px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 13px;
    transition: all 0.2s;
}
.docsibir-manager-btn:hover {
    background: #b3001a;
    color: #ffffff !important;
}

/* Guarantees List */
.docsibir-guarantees-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.docsibir-guarantees-list li {
    display: flex;
    gap: 12px;
    margin-bottom: 14px;
}
.docsibir-guarantees-list li:last-child {
    margin-bottom: 0;
}
.docsibir-g-icon {
    font-size: 20px;
    flex-shrink: 0;
    line-height: 1.2;
}
.docsibir-guarantees-list strong {
    display: block;
    font-size: 13px;
    color: #251824;
    margin-bottom: 2px;
}
.docsibir-guarantees-list p {
    font-size: 12px;
    color: #6d5b69;
    margin: 0;
    line-height: 1.4;
}

/* --- MAIN CONTENT AREA --- */
.docsibir-main-content {
    background: #ffffff !important;
    border-radius: 12px !important;
    border: 1px solid #ebd9dc !important;
    padding: 28px 32px !important;
    box-shadow: 0 4px 20px rgba(37, 24, 36, 0.05) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}
.docsibir-article {
    background: #ffffff;
    border-radius: 10px;
}

/* Hero Section */
.docsibir-hero-section {
    position: relative;
    background: #1c121a url('../images/hero_bg.jpg') right center no-repeat;
    background-size: cover;
    border: 1px solid #4a3043;
    border-radius: 14px;
    padding: 36px 32px;
    margin-bottom: 34px;
    box-shadow: 0 8px 32px rgba(28, 18, 26, 0.35);
    color: #ffffff;
    overflow: hidden;
}
.docsibir-hero-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(28, 18, 26, 0.94) 0%, rgba(28, 18, 26, 0.88) 55%, rgba(28, 18, 26, 0.45) 100%);
    pointer-events: none;
    z-index: 1;
}
.docsibir-hero-section > * {
    position: relative;
    z-index: 2;
}
.docsibir-hero-badge {
    display: inline-block;
    background: rgba(179, 0, 26, 0.6);
    color: #f8ecb5;
    border: 1px solid rgba(248, 236, 181, 0.3);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 4px 10px;
    border-radius: 4px;
    margin-bottom: 12px;
}
.docsibir-hero-title {
    font-size: 28px;
    font-weight: 800;
    color: #ffffff;
    margin: 0 0 14px 0;
    line-height: 1.25;
    text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}
.docsibir-hero-desc {
    font-size: 16px;
    color: #ebdce7;
    margin: 0 0 20px 0;
    line-height: 1.6;
}
.docsibir-hero-features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    margin-bottom: 26px;
}
.docsibir-feat-item {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(37, 24, 36, 0.75);
    border: 1px solid rgba(235, 217, 220, 0.2);
    color: #ffffff;
    backdrop-filter: blur(4px);
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
}
.docsibir-feat-icon {
    color: #f8ecb5;
    font-weight: 900;
}

/* Lead Calculator Box */
.docsibir-calc-box {
    background: #ffffff;
    border: 1px solid #ebd9dc;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 4px 15px rgba(37, 24, 36, 0.06);
}
.docsibir-calc-head h3 {
    margin: 0 0 4px 0;
    font-size: 18px;
    color: #930c2f;
    font-weight: 700;
}
.docsibir-calc-head p {
    margin: 0 0 16px 0;
    font-size: 13px;
    color: #6d5b69;
}
.docsibir-calc-fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
    align-items: flex-end;
}
.docsibir-form-group label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #382436;
    margin-bottom: 5px;
}
.docsibir-input-text,
.docsibir-input-select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ebd9dc;
    border-radius: 6px;
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
    background: #ffffff;
}
.docsibir-input-text:focus,
.docsibir-input-select:focus {
    border-color: #b3001a;
}
.docsibir-btn-submit {
    width: 100%;
    padding: 11px 16px;
    background: linear-gradient(135deg, #d0083c 0%, #b3001a 100%);
    color: #ffffff;
    border: none;
    border-radius: 6px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(179,0,26,0.35);
    transition: all 0.2s;
}
.docsibir-btn-submit:hover {
    background: linear-gradient(135deg, #e60a44 0%, #c4001d 100%);
    transform: translateY(-1px);
}
.docsibir-calc-privacy {
    margin-top: 10px;
    font-size: 11px;
    color: #8c7889;
}
.docsibir-calc-privacy a {
    color: #930c2f;
}

/* Services Cards Section */
.docsibir-services-section {
    margin-bottom: 34px;
}
.docsibir-sec-heading h2 {
    font-size: 22px;
    font-weight: 800;
    color: #251824;
    margin: 0 0 6px 0;
}
.docsibir-sec-heading p {
    font-size: 14px;
    color: #6d5b69;
    margin: 0 0 20px 0;
}
.docsibir-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 18px;
}
.docsibir-card {
    background: #ffffff;
    border: 1px solid #ebd9dc;
    border-radius: 10px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    transition: all 0.25s ease;
}
.docsibir-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(37, 24, 36, 0.08);
    border-color: #b3001a;
}
.docsibir-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}
.docsibir-card-badge {
    background: #fae8eb;
    color: #b3001a;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 4px;
}
.docsibir-badge-blue { background: #e0f2fe; color: #0284c7; }
.docsibir-badge-dark { background: #f1f5f9; color: #475569; }
.docsibir-badge-green { background: #dcfce7; color: #15803d; }
.docsibir-badge-purple { background: #f3e8ff; color: #7e22ce; }
.docsibir-badge-gold { background: #fef3c7; color: #b45309; }

.docsibir-card-time {
    font-size: 12px;
    color: #7b6878;
    font-weight: 600;
}
.docsibir-card-title {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
}
.docsibir-card-title a {
    color: #251824;
    text-decoration: none;
}
.docsibir-card-title a:hover {
    color: #b3001a;
}
.docsibir-card-text {
    font-size: 13px;
    color: #554452;
    margin: 0 0 16px 0;
    flex: 1 1 auto;
    line-height: 1.5;
}
.docsibir-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 12px;
    border-top: 1px solid #f2e9ec;
}
.docsibir-card-price {
    font-size: 15px;
    font-weight: 800;
    color: #930c2f;
}
.docsibir-card-btn {
    font-size: 13px;
    font-weight: 700;
    color: #b3001a;
    text-decoration: none;
    transition: transform 0.2s;
}
.docsibir-card-btn:hover {
    transform: translateX(3px);
}

/* Stats Section */
.docsibir-stats-section {
    background: #251824;
    color: #ffffff;
    border-radius: 10px;
    padding: 24px 20px;
    margin-bottom: 34px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 20px;
    text-align: center;
}
.docsibir-stat-number {
    font-size: 32px;
    font-weight: 900;
    color: #f8ecb5;
    margin-bottom: 4px;
}
.docsibir-stat-label {
    font-size: 13px;
    color: #d1c5cf;
    line-height: 1.4;
}

/* 4 Steps Section */
.docsibir-process-section {
    margin-bottom: 34px;
}
.docsibir-steps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 16px;
}
.docsibir-step-card {
    background: #ffffff;
    border: 1px solid #ebd9dc;
    border-radius: 8px;
    padding: 16px;
    position: relative;
}
.docsibir-step-num {
    font-size: 24px;
    font-weight: 900;
    color: #b3001a;
    opacity: 0.8;
    margin-bottom: 8px;
}
.docsibir-step-card h4 {
    margin: 0 0 6px 0;
    font-size: 15px;
    color: #251824;
}
.docsibir-step-card p {
    margin: 0;
    font-size: 12px;
    color: #604d5e;
    line-height: 1.5;
}

/* Inner Page Header */
.docsibir-inner-header {
    margin-bottom: 24px;
}
.docsibir-breadcrumbs {
    font-size: 13px;
    color: #8c7889;
    margin-bottom: 8px;
}
.docsibir-breadcrumbs a {
    color: #8c7889;
    text-decoration: none;
}
.docsibir-breadcrumbs a:hover {
    color: #b3001a;
}
.docsibir-crumb-sep {
    margin: 0 6px;
    color: #c9b8c6;
}
.docsibir-crumb-current {
    color: #251824;
    font-weight: 600;
}
.docsibir-page-title {
    font-size: 28px;
    font-weight: 800;
    color: #251824;
    margin: 0 0 10px 0;
    line-height: 1.25;
}

/* Article Content & Typography */
.docsibir-article-content {
    font-size: 15px;
    line-height: 1.7;
    color: #2a2428;
}
.docsibir-article-content p {
    margin-bottom: 18px;
}
.docsibir-article-content h2 {
    font-size: 20px;
    color: #251824;
    font-weight: 800;
    margin: 32px 0 14px 0;
    padding-left: 12px;
    border-left: 4px solid #b3001a;
}
.docsibir-article-content h3 {
    font-size: 17px;
    color: #930c2f;
    font-weight: 700;
    margin: 24px 0 10px 0;
}
.docsibir-article-content ul,
.docsibir-article-content ol {
    margin: 0 0 20px 20px;
    padding: 0;
}
.docsibir-article-content li {
    margin-bottom: 8px;
}
/* Bulletproof Table Styling — Fix White-on-White & Inline Style Overrides */
.docsibir-article-content table,
.entry table,
table {
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: collapse !important;
    margin: 24px 0 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    background: #ffffff !important;
}

.docsibir-article-content table th,
.entry table th,
table th,
th {
    background-color: #251824 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-align: left !important;
    padding: 12px 16px !important;
    border: 1px solid #4a3348 !important;
    vertical-align: middle !important;
}

.docsibir-article-content table th *,
.entry table th *,
table th * {
    color: #ffffff !important;
}

.docsibir-article-content table td,
.entry table td,
table td,
td {
    color: #2a2428 !important;
    padding: 12px 16px !important;
    border: 1px solid #ebd9dc !important;
    vertical-align: top !important;
    background-color: #ffffff !important;
}

.docsibir-article-content table tr:nth-child(even) td,
.entry table tr:nth-child(even) td,
table tr:nth-child(even) td {
    background-color: #fbf9fa !important;
}

.docsibir-article-content table tr:hover td,
.entry table tr:hover td,
table tr:hover td {
    background-color: #f6eef1 !important;
}

.docsibir-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 20px 0;
    border-radius: 8px;
    border: 1px solid #ebd9dc;
}

/* Bottom Expert Callout Banner */
.docsibir-expert-banner {
    background: linear-gradient(135deg, #fdf8f9 0%, #faedf0 100%);
    border: 1px solid #ebd9dc;
    border-radius: 12px;
    padding: 24px;
    margin-top: 36px;
    display: flex;
    gap: 20px;
    align-items: center;
}
.docsibir-expert-photo-wrap {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 3px solid #ffffff;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.docsibir-expert-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.docsibir-expert-banner-info h3 {
    margin: 0 0 6px 0;
    font-size: 18px;
    color: #930c2f;
    font-weight: 800;
}
.docsibir-expert-banner-info p {
    margin: 0 0 14px 0;
    font-size: 14px;
    color: #4a3e47;
    line-height: 1.5;
}
.docsibir-expert-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.docsibir-btn-expert-call {
    display: inline-block;
    background: #251824;
    color: #f8ecb5 !important;
    text-decoration: none !important;
    padding: 10px 18px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 13px;
    transition: all 0.2s;
}
.docsibir-btn-expert-call:hover {
    background: #3a2538;
}
.docsibir-btn-expert-calc {
    display: inline-block;
    background: #b3001a;
    color: #ffffff !important;
    text-decoration: none !important;
    padding: 10px 18px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 13px;
    transition: all 0.2s;
}
.docsibir-btn-expert-calc:hover {
    background: #d0083c;
}

/* Post Cards in Archive & Index */
.docsibir-posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}
.docsibir-post-card {
    background: #ffffff;
    border: 1px solid #ebd9dc;
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: all 0.2s;
}
.docsibir-post-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(37,24,36,0.08);
}
.docsibir-post-body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}
.docsibir-post-meta {
    font-size: 12px;
    color: #8c7889;
    margin-bottom: 6px;
}
.docsibir-post-title {
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 10px 0;
    line-height: 1.35;
}
.docsibir-post-title a {
    color: #251824;
    text-decoration: none;
}
.docsibir-post-title a:hover {
    color: #b3001a;
}
.docsibir-post-excerpt {
    font-size: 13px;
    color: #554452;
    margin-bottom: 14px;
    flex: 1 1 auto;
    line-height: 1.5;
}
.docsibir-btn-more {
    font-size: 13px;
    font-weight: 700;
    color: #b3001a;
    text-decoration: none;
}

/* Pagination */
.docsibir-pagination {
    margin: 30px 0;
    text-align: center;
}
.docsibir-pagination .page-numbers {
    display: inline-block;
    padding: 8px 14px;
    margin: 0 3px;
    border: 1px solid #ebd9dc;
    border-radius: 6px;
    color: #251824;
    text-decoration: none;
    font-weight: 600;
}
.docsibir-pagination .page-numbers.current {
    background: #b3001a;
    color: #ffffff;
    border-color: #b3001a;
}

/* Single Post Navigation */
.docsibir-post-nav {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #ebd9dc;
    font-weight: 600;
    font-size: 14px;
}
.docsibir-post-nav a {
    color: #930c2f;
    text-decoration: none;
}
.docsibir-post-nav a:hover {
    text-decoration: underline;
}

/* --- FOOTER --- */
.docsibir-footer {
    background: #1e151c;
    color: #d1c5cf;
    border-top: 4px solid #b3001a;
    margin-top: 60px;
}
.docsibir-footer-top {
    max-width: 1280px;
    margin: 0 auto;
    padding: 50px 20px 40px 20px;
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.3fr;
    gap: 30px;
}
.docsibir-footer-logo {
    max-width: 200px;
    height: auto;
    display: block;
    margin-bottom: 14px;
    filter: brightness(1.1);
}
.docsibir-footer-desc {
    font-size: 13px;
    line-height: 1.6;
    color: #b5a4b2;
    margin: 0 0 14px 0;
}
.docsibir-footer-cert-note {
    font-size: 12px;
    color: #f8ecb5;
    font-weight: 600;
}
.docsibir-footer-heading {
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 16px 0;
    position: relative;
    padding-bottom: 8px;
    border-bottom: 2px solid #b3001a;
    display: inline-block;
}
.docsibir-footer-nav {
    list-style: none;
    padding: 0;
    margin: 0;
}
.docsibir-footer-nav li {
    margin-bottom: 8px;
}
.docsibir-footer-nav li a {
    color: #c4b5c2;
    text-decoration: none;
    font-size: 13px;
    transition: color 0.2s;
}
.docsibir-footer-nav li a:hover {
    color: #f8ecb5;
    padding-left: 3px;
}
.docsibir-footer-contact-item {
    margin-bottom: 10px;
    font-size: 13px;
}
.docsibir-contact-label {
    display: block;
    color: #8c7889;
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 700;
}
.docsibir-footer-phone {
    font-size: 18px;
    font-weight: 800;
    color: #f8ecb5;
    text-decoration: none;
}
.docsibir-footer-email {
    color: #ffffff;
    text-decoration: none;
}
.docsibir-footer-addr,
.docsibir-footer-hours {
    color: #ffffff;
}
.docsibir-footer-cta-wrap {
    margin-top: 14px;
}
.docsibir-btn-footer-call {
    display: inline-block;
    background: #b3001a;
    color: #ffffff !important;
    text-decoration: none !important;
    padding: 10px 16px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    transition: background 0.2s;
}
.docsibir-btn-footer-call:hover {
    background: #d0083c;
}
.docsibir-footer-bottom {
    background: #140e13;
    border-top: 1px solid rgba(255,255,255,0.06);
    padding: 18px 20px;
}
.docsibir-footer-bottom-inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12px;
    color: #8c7889;
}
.docsibir-disclaimer {
    max-width: 600px;
    text-align: right;
}

/* --- COMMERCIAL INNER PAGE TEMPLATES & COMPONENTS --- */
.docsibir-inner-commercial-banner {
    background: linear-gradient(135deg, #251824 0%, #362033 100%);
    border: 1px solid #4a3043;
    border-radius: 12px;
    padding: 24px 28px;
    margin-bottom: 24px;
    color: #ffffff;
}
.docsibir-inner-commercial-banner h2 {
    color: #f8ecb5;
    margin-top: 0;
    border-left: none;
    padding-left: 0;
}
.docsibir-commercial-quick-calc {
    background: #ffffff;
    border: 1px solid #ebd9dc;
    border-radius: 10px;
    padding: 22px;
    margin: 28px 0;
    box-shadow: 0 4px 16px rgba(37, 24, 36, 0.06);
}

/* Inner Page Trust Badges Bar */
.docsibir-inner-trust-bar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin: 18px 0 24px 0;
    padding: 14px;
    background: #fbf9fa;
    border: 1px solid #ebd9dc;
    border-radius: 10px;
}
.docsibir-trust-pill {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #ffffff;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid #f0e4e6;
    box-shadow: 0 2px 6px rgba(37, 24, 36, 0.03);
}
.docsibir-trust-icon {
    font-size: 22px;
    line-height: 1;
    flex-shrink: 0;
}
.docsibir-trust-text strong {
    display: block;
    font-size: 13px;
    color: #251824;
    font-weight: 700;
    line-height: 1.25;
}
.docsibir-trust-text span {
    display: block;
    font-size: 11px;
    color: #7a6876;
    line-height: 1.25;
}

/* --- DEDICATED STYLES FOR FAQ, CONTACTS, AND REVIEWS --- */

/* 1. FAQ Accordion */
.docsibir-faq-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 24px 0;
}
.docsibir-faq-item {
    background: #ffffff;
    border: 1px solid #ebd9dc;
    border-radius: 8px;
    overflow: hidden;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.docsibir-faq-item:hover {
    border-color: #d0083c;
    box-shadow: 0 4px 14px rgba(37, 24, 36, 0.06);
}
.docsibir-faq-item details summary,
.docsibir-faq-q {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 700;
    color: #251824;
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: background-color 0.2s, color 0.2s;
}
.docsibir-faq-item details summary::-webkit-details-marker {
    display: none;
}
.docsibir-faq-item details summary:hover,
.docsibir-faq-q:hover {
    color: #b3001a;
    background-color: #fdfafb;
}
.docsibir-faq-item details summary::after,
.docsibir-faq-q::after {
    content: '›';
    font-size: 22px;
    line-height: 1;
    color: #b3001a;
    font-weight: 800;
    transition: transform 0.25s ease;
    margin-left: 12px;
    flex-shrink: 0;
}
.docsibir-faq-item details[open] summary::after {
    transform: rotate(90deg);
}
.docsibir-faq-item details[open] summary {
    border-bottom: 1px solid #f2e6e8;
    background-color: #faf5f6;
}
.docsibir-faq-a {
    padding: 16px 20px;
    font-size: 14px;
    line-height: 1.65;
    color: #4a3e47;
    background: #ffffff;
}
.docsibir-faq-a p:last-child {
    margin-bottom: 0;
}

/* 2. Contacts Page */
.docsibir-contacts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
    margin: 26px 0;
}
.docsibir-contact-card {
    background: #ffffff;
    border: 1px solid #ebd9dc;
    border-radius: 10px;
    padding: 22px;
    box-shadow: 0 4px 14px rgba(37, 24, 36, 0.04);
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
    display: flex;
    flex-direction: column;
}
.docsibir-contact-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(37, 24, 36, 0.09);
    border-color: #b3001a;
}
.docsibir-contact-icon {
    font-size: 28px;
    margin-bottom: 12px;
    color: #b3001a;
    line-height: 1;
}
.docsibir-contact-title {
    font-size: 16px;
    font-weight: 700;
    color: #251824;
    margin: 0 0 8px 0;
}
.docsibir-contact-val {
    font-size: 15px;
    color: #4a3e47;
    line-height: 1.5;
    margin-bottom: 6px;
}
.docsibir-contact-val a {
    color: #b3001a;
    text-decoration: none;
    font-weight: 700;
}
.docsibir-contact-val a:hover {
    color: #d0083c;
    text-decoration: underline;
}
.docsibir-contact-note {
    font-size: 13px;
    color: #7a6876;
    margin-top: auto;
    padding-top: 8px;
}
.docsibir-map-box {
    margin-top: 30px;
    border: 1px solid #ebd9dc;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(37, 24, 36, 0.06);
    background: #fdfafb;
}
.docsibir-map-box iframe {
    display: block;
    width: 100%;
    height: 380px;
    border: 0;
}

/* 3. Reviews Page */
.docsibir-reviews-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin: 26px 0;
}
.docsibir-review-card {
    background: #ffffff;
    border: 1px solid #ebd9dc;
    border-radius: 10px;
    padding: 22px;
    box-shadow: 0 4px 14px rgba(37, 24, 36, 0.04);
    display: flex;
    flex-direction: column;
    transition: transform 0.2s, box-shadow 0.2s;
    position: relative;
}
.docsibir-review-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 22px rgba(37, 24, 36, 0.08);
}
.docsibir-review-rating {
    color: #f39c12;
    font-size: 17px;
    letter-spacing: 2px;
    margin-bottom: 12px;
}
.docsibir-review-text {
    font-size: 14px;
    line-height: 1.6;
    color: #4a3e47;
    font-style: italic;
    margin-bottom: 16px;
    flex-grow: 1;
    position: relative;
}
.docsibir-review-author {
    display: flex;
    align-items: center;
    gap: 12px;
    border-top: 1px solid #f2e6e8;
    padding-top: 12px;
}
.docsibir-review-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #faedf0;
    color: #930c2f;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    flex-shrink: 0;
    border: 1px solid #ebd9dc;
}
.docsibir-review-info {
    min-width: 0;
}
.docsibir-review-name {
    font-weight: 700;
    font-size: 14px;
    color: #251824;
}
.docsibir-review-company {
    font-size: 12px;
    color: #7a6876;
}

/* ==========================================================================
   CONTACT FORM 7 MODERN STYLING (.wpcf7-form)
   ========================================================================== */
.wpcf7-form {
    background: #ffffff;
    border: 1px solid #ebd9dc;
    border-radius: 12px;
    padding: 28px;
    box-shadow: 0 4px 16px rgba(37, 24, 36, 0.05);
    margin: 24px 0;
}
.wpcf7-form p {
    margin-bottom: 16px;
}
.wpcf7-form label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #251824;
    margin-bottom: 6px;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea,
.wpcf7-form select {
    width: 100% !important;
    padding: 12px 14px !important;
    border: 1px solid #ebd9dc !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    color: #2a2428 !important;
    background: #fdfbfb !important;
    transition: all 0.2s ease !important;
    outline: none !important;
    box-sizing: border-box !important;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
    border-color: #b3001a !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(179, 0, 26, 0.1) !important;
}
.wpcf7-form textarea {
    min-height: 120px;
    resize: vertical;
}
.wpcf7-form input[type="submit"] {
    background: linear-gradient(135deg, #d0083c 0%, #b3001a 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 13px 28px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(179, 0, 26, 0.35) !important;
    transition: all 0.2s ease !important;
}
.wpcf7-form input[type="submit"]:hover {
    background: linear-gradient(135deg, #e60a44 0%, #c4001d 100%) !important;
    transform: translateY(-1px) !important;
}
.wpcf7-not-valid-tip {
    font-size: 12px !important;
    color: #b3001a !important;
    margin-top: 5px !important;
    display: block !important;
}
.wpcf7-response-output {
    border-radius: 8px !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    margin: 16px 0 !important;
    border-width: 1px !important;
}
div.wpcf7 .ajax-loader {
    margin-left: 10px;
}

/* ==========================================================================
   MCC_QUESTIONS HIGH-CONVERTING Q&A LANDING PAGE STYLING
   ========================================================================== */
.docsibir-qa-article {
    background: transparent;
}
.docsibir-qa-header {
    margin-bottom: 24px;
}
.docsibir-qa-badge-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #faedf0;
    color: #930c2f;
    border: 1px solid #ebd9dc;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 700;
    margin: 12px 0 8px 0;
}
.docsibir-qa-badge-icon {
    font-size: 14px;
}
.docsibir-qa-title {
    font-size: 26px;
    font-weight: 800;
    color: #251824;
    line-height: 1.3;
    margin: 10px 0 14px 0;
}

/* Client Question Box */
.docsibir-qa-question-box {
    background: #fdf9fa;
    border: 1px solid #ebd9dc;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 24px;
    position: relative;
    box-shadow: 0 2px 12px rgba(37, 24, 36, 0.03);
}
.docsibir-qa-q-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f2e6e8;
    flex-wrap: wrap;
}
.docsibir-qa-client-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #ebd9dc;
    color: #7a6876;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}
.docsibir-qa-client-info {
    flex-grow: 1;
}
.docsibir-qa-client-name {
    font-weight: 700;
    font-size: 16px;
    color: #251824;
}
.docsibir-qa-client-meta {
    font-size: 13px;
    color: #7a6876;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 2px;
}
.docsibir-qa-badge-client {
    background: #f0e6eb;
    color: #7b446a;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.docsibir-qa-q-body {
    font-size: 15px;
    line-height: 1.7;
    color: #332b31;
}
.docsibir-qa-q-body p {
    margin-bottom: 12px;
}
.docsibir-qa-q-body p:last-child {
    margin-bottom: 0;
}

/* Official Expert Answer Box */
.docsibir-qa-answer-box {
    background: #ffffff;
    border: 1px solid #ebd9dc;
    border-top: 4px solid #b3001a;
    border-radius: 12px;
    padding: 28px;
    margin-bottom: 28px;
    box-shadow: 0 4px 20px rgba(37, 24, 36, 0.06);
    position: relative;
}
.docsibir-qa-a-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid #f2e6e8;
    flex-wrap: wrap;
}
.docsibir-qa-expert-photo-wrap {
    position: relative;
    width: 64px;
    height: 64px;
    flex-shrink: 0;
}
.docsibir-qa-expert-photo {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #b3001a;
    display: block;
}
.docsibir-qa-verified-badge {
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 22px;
    height: 22px;
    background: #22c55e;
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 800;
    border: 2px solid #ffffff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}
.docsibir-qa-expert-details {
    flex-grow: 1;
}
.docsibir-qa-expert-role {
    font-size: 12px;
    font-weight: 700;
    color: #b3001a;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
}
.docsibir-qa-expert-name {
    font-size: 18px;
    font-weight: 800;
    color: #251824;
    line-height: 1.2;
}
.docsibir-qa-expert-title {
    font-size: 13px;
    color: #7a6876;
    margin-top: 2px;
}
.docsibir-qa-expert-contacts {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
    font-size: 13px;
    flex-wrap: wrap;
}
.docsibir-qa-exp-phone {
    color: #b3001a;
    font-weight: 700;
    text-decoration: none;
}
.docsibir-qa-exp-phone:hover {
    text-decoration: underline;
    color: #d0083c;
}
.docsibir-qa-exp-email {
    color: #554452;
    text-decoration: none;
}
.docsibir-qa-exp-email:hover {
    color: #b3001a;
}
.docsibir-qa-a-body {
    font-size: 15px;
    line-height: 1.75;
    color: #2a2428;
}
.docsibir-qa-a-body p {
    margin-bottom: 14px;
}
.docsibir-qa-a-body p:last-child {
    margin-bottom: 0;
}
.docsibir-qa-a-body ul,
.docsibir-qa-a-body ol {
    margin: 14px 0;
    padding-left: 24px;
}
.docsibir-qa-a-body li {
    margin-bottom: 8px;
}

/* Inner Trust Bar in QA Page */
.docsibir-qa-trust-bar {
    margin: 28px 0 !important;
}

/* Fallback legacy MCC styling */
#mcc-seo-question,
.mcc-seo-block#mcc-seo-question {
    background: #fdf9fa;
    border: 1px solid #ebd9dc;
    border-radius: 12px;
    padding: 22px 24px;
    margin: 20px 0;
    font-weight: normal;
}
#mcc-seo-question .mcc-sign {
    font-size: 14px;
    color: #7a6876;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid #f2e6e8;
}
#mcc-seo-question .mcc-sign b {
    color: #251824;
    font-size: 15px;
}
#mcc-seo-answer,
.mcc-seo-block#mcc-seo-answer {
    background: #ffffff;
    border: 1px solid #ebd9dc;
    border-top: 4px solid #b3001a;
    border-radius: 12px;
    padding: 26px;
    margin: 24px 0;
    box-shadow: 0 4px 18px rgba(37, 24, 36, 0.05);
}
#mcc-seo-answer .mcc-seo-answer-name {
    display: inline-block;
    font-weight: 700;
    color: #b3001a;
    font-size: 16px;
    margin-bottom: 12px;
}

/* --- RESPONSIVE MEDIA QUERIES --- */
@media (max-width: 1080px) {
    .docsibir-layout-wrap {
        grid-template-columns: 220px minmax(0, 1fr) !important;
    }
    .docsibir-sidebar-right {
        grid-column: span 2;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }
    .docsibir-sidebar-right .docsibir-sidebar-inner {
        display: contents;
    }
    .docsibir-footer-top {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 860px) {
    .docsibir-layout-wrap {
        grid-template-columns: 1fr !important;
    }
    .docsibir-main-content {
        order: 1;
        padding: 20px 16px !important;
    }
    .docsibir-sidebar-left {
        order: 2;
    }
    .docsibir-sidebar-right {
        order: 3;
        grid-column: span 1;
        display: flex;
        flex-direction: column;
    }
    .docsibir-sidebar-right .docsibir-sidebar-inner {
        display: flex;
    }
    .docsibir-mobile-header {
        display: flex;
    }
    .docsibir-nav-menu-wrap {
        display: none;
    }
    .docsibir-nav-menu-wrap.is-open {
        display: block;
        padding-bottom: 10px;
    }
    .docsibir-nav-list {
        flex-direction: column;
    }
    .docsibir-nav-list > li > a {
        padding: 10px 14px;
        border-bottom: 1px solid rgba(255,255,255,0.05);
    }
    .docsibir-header-content {
        justify-content: center;
        text-align: center;
    }
    .docsibir-header-contact-box {
        text-align: center;
    }
    .docsibir-header-email-sub {
        justify-content: center;
    }
    .docsibir-header-actions {
        justify-content: center;
    }
    .docsibir-hero-title {
        font-size: 22px;
    }
    .docsibir-footer-top {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .docsibir-disclaimer {
        text-align: left;
    }
}

/* ==========================================================================
   Commercial Service Pricing Block (Market Rates Grid)
   ========================================================================== */
.docsibir-pricing-block {
    background: #fcfafb;
    border: 1px solid #ebd9dc;
    border-radius: 12px;
    padding: 32px 24px;
    margin: 28px 0 32px 0;
    box-shadow: 0 4px 16px rgba(37, 24, 36, 0.04);
}

.docsibir-pricing-header {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 28px auto;
}

.docsibir-pricing-badge {
    display: inline-block;
    background: rgba(179, 0, 26, 0.08);
    color: #b3001a;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 5px 14px;
    border-radius: 20px;
    margin-bottom: 12px;
    border: 1px solid rgba(179, 0, 26, 0.15);
}

.docsibir-pricing-title {
    font-size: 24px;
    font-weight: 800;
    color: #251824;
    margin: 0 0 10px 0;
    line-height: 1.3;
}

.docsibir-pricing-subtitle {
    font-size: 14px;
    color: #604d5e;
    line-height: 1.6;
    margin: 0;
}

.docsibir-pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-bottom: 24px;
}

.docsibir-price-card {
    position: relative;
    background: #ffffff;
    border: 1px solid #ebd9dc;
    border-radius: 10px;
    padding: 24px 20px 20px 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 2px 8px rgba(37, 24, 36, 0.04);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.docsibir-price-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(179, 0, 26, 0.1);
    border-color: #d8b8bf;
}

.docsibir-price-card.is-featured {
    border: 2px solid #b3001a;
    box-shadow: 0 6px 20px rgba(179, 0, 26, 0.09);
    background: linear-gradient(180deg, #fffefe 0%, #fffbfc 100%);
}

.docsibir-price-popular {
    position: absolute;
    top: -11px;
    right: 16px;
    background: #b3001a;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 3px 12px;
    border-radius: 12px;
    box-shadow: 0 2px 6px rgba(179, 0, 26, 0.35);
}

.docsibir-price-top {
    margin-bottom: 14px;
}

.docsibir-price-name {
    font-size: 18px;
    font-weight: 700;
    color: #251824;
    margin: 0 0 6px 0;
    line-height: 1.35;
}

.docsibir-price-term {
    display: inline-block;
    font-size: 12px;
    color: #7b6578;
    background: #f8f4f6;
    padding: 3px 10px;
    border-radius: 4px;
    font-weight: 500;
}

.docsibir-price-amount {
    display: flex;
    align-items: baseline;
    gap: 4px;
    margin: 12px 0 16px 0;
    padding-bottom: 16px;
    border-bottom: 1px dashed #ebd9dc;
}

.docsibir-price-from {
    font-size: 15px;
    font-weight: 500;
    color: #7b6578;
}

.docsibir-price-num {
    font-size: 32px;
    font-weight: 800;
    color: #b3001a;
    line-height: 1;
    letter-spacing: -0.5px;
}

.docsibir-price-cur {
    font-size: 20px;
    font-weight: 700;
    color: #b3001a;
}

.docsibir-price-features {
    list-style: none !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    flex-grow: 1;
}

.docsibir-price-features li {
    font-size: 13px;
    color: #433541;
    line-height: 1.5;
    margin-bottom: 9px;
    padding-left: 22px;
    position: relative;
    list-style: none !important;
}

.docsibir-price-features li span {
    position: absolute;
    left: 0;
    top: 0;
    color: #b3001a;
    font-weight: 700;
    font-size: 14px;
}

.docsibir-price-btn {
    display: block;
    width: 100%;
    text-align: center;
    background: #b3001a;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 700;
    padding: 12px 18px;
    border-radius: 6px;
    text-decoration: none !important;
    transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
    box-shadow: 0 3px 10px rgba(179, 0, 26, 0.25);
    border: none;
    box-sizing: border-box;
}

.docsibir-price-btn:hover {
    background: #d0083c;
    color: #ffffff !important;
    box-shadow: 0 5px 14px rgba(208, 8, 60, 0.35);
    transform: translateY(-1px);
}

.docsibir-pricing-guarantee {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 16px;
    padding-top: 18px;
    border-top: 1px solid #ebd9dc;
}

.docsibir-guarantee-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #554252;
    font-weight: 500;
}

.docsibir-guarantee-icon {
    font-size: 16px;
    line-height: 1;
}

@media (max-width: 768px) {
    .docsibir-pricing-block {
        padding: 24px 16px;
        margin: 20px 0 24px 0;
    }
    .docsibir-pricing-title {
        font-size: 20px;
    }
    .docsibir-pricing-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .docsibir-pricing-guarantee {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

