
/* ==========================================================================
   DIRECTORY TEMPLATE EXTRACTED STYLES
   Extracted safely from directory.php
   ========================================================================== */

/* ==========================================================================
           ELITE 3D GLASS REDESIGN (MARBLE & TEAL) - DIRECTORY
           ========================================================================== */
        *, *::before, *::after { box-sizing: border-box; }
        
        :root { 
            --accent: #008a99 !important; /* Deep Teal */
            --text-main: #1e293b !important; /* Dark Slate */
            --text-muted: #64748b !important;
            --glass-bg: rgba(255, 255, 255, 0.6) !important;
        }

        body { 
            background: linear-gradient(135deg, #ffffff 0%, #e8f0f4 25%, #ffffff 50%, #e0e8ec 75%, #ffffff 100%) !important;
            background-size: 400% 400% !important;
            animation: MarbleFlow 15s ease infinite !important;
            color: var(--text-main); font-family: 'Inter', sans-serif; 
            padding-top: 120px; padding-bottom: 80px; margin: 0;
            -webkit-font-smoothing: antialiased;
        }
        @keyframes MarbleFlow { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }

        /* NUCLEAR CLEANUP */
        #sciFiBg, .cyber-grid, .soft-vignette, canvas { display: none !important; }

        .container { max-width: 1200px; margin: 0 auto; padding: 20px; position: relative; z-index: 10; }

        /* --- 1. THE 3D GLASS MASTER CONTAINER --- */
        .directory-box {
            background: var(--glass-bg);
            border: 3px solid var(--accent); /* THE BEZEL */
            border-radius: 30px;
            padding: 50px 40px;
            backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px);
            box-shadow: 0 40px 100px rgba(0, 138, 153, 0.15), inset 0 0 20px rgba(255,255,255,0.8);
        }

        h1 { 
            font-family: 'Orbitron', 'Inter', sans-serif; font-size: 2.8rem; 
            color: var(--text-main); text-align: center; margin: 0 0 10px 0; font-weight: 900; 
        }
        
        .subtitle { 
            text-align: center; color: var(--text-muted); font-size: 1.1rem; 
            font-weight: 600; margin-bottom: 40px; border-bottom: 2px solid #e2e8f0; padding-bottom: 30px; 
        }
        /* --- 2. DIRECTORY CARDS --- */
        .grid-dir {
            display:grid;
            grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
            gap:16px;
        }

        .dir-card{
            background:#fff;
            border:2px solid #e2e8f0;
            border-radius:18px;
            padding:18px;
            box-shadow:0 8px 22px rgba(15,23,42,.05);
            display:flex;
            flex-direction:column;
            gap:14px;
            min-height:180px;
        }

        .dir-card-top{
            display:flex;
            align-items:flex-start;
            justify-content:space-between;
            gap:12px;
        }

        .dir-time{
            margin:0;
            font-family:'Orbitron', sans-serif;
            font-size:1.4rem;
            line-height:1;
        }

        .dir-time a{
            color:var(--text-main);
            text-decoration:none;
        }

        .dir-time a:hover{
            color:var(--accent);
        }

        .dir-badge{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            min-height:30px;
            padding:0 10px;
            border-radius:999px;
            background:rgba(0, 138, 153, 0.10);
            color:var(--accent);
            font-size:.74rem;
            font-weight:900;
            text-transform:uppercase;
            letter-spacing:.05em;
            white-space:nowrap;
        }

        .dir-meta{
            display:flex;
            flex-wrap:wrap;
            gap:8px;
        }

        .dir-chip{
            display:inline-flex;
            align-items:center;
            min-height:32px;
            padding:0 10px;
            border-radius:999px;
            background:#f8fbff;
            border:1px solid #dbe5f2;
            color:#4b5f78;
            font-size:.78rem;
            font-weight:800;
            text-decoration:none;
        }

        .dir-chip:hover{
            border-color:var(--accent);
            color:var(--accent);
        }

        .dir-actions{
            display:flex;
            gap:10px;
            flex-wrap:wrap;
            margin-top:auto;
        }

        .dir-action{
            flex:1 1 140px;
            min-height:44px;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            border-radius:14px;
            text-decoration:none;
            font-weight:900;
            padding:0 14px;
            transition:.25s ease;
        }

        .dir-action--primary{
            background:linear-gradient(135deg, var(--accent), #22b8c7);
            color:#fff;
            box-shadow:0 10px 20px rgba(0, 138, 153, 0.18);
        }

        .dir-action--secondary{
            background:#fff;
            color:var(--text-main);
            border:1px solid #dbe5f2;
        }

        .dir-action:hover{
            transform:translateY(-2px);
        }

        .dir-linkhub{
            margin:22px 0 28px;
            padding:18px;
            border-radius:20px;
            background:linear-gradient(180deg, #f6fbff 0%, #ffffff 100%);
            border:1px solid #dbe5f2;
        }

        .dir-linkhub-title{
            font-size:1rem;
            font-weight:900;
            color:var(--text-main);
            margin:0 0 14px;
        }

        .dir-linkhub-grid{
            display:grid;
            grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
            gap:12px;
        }

        .dir-linkhub-card{
            display:flex;
            flex-direction:column;
            gap:6px;
            text-decoration:none;
            border-radius:16px;
            padding:14px 15px;
            background:#fff;
            border:1px solid #dbe5f2;
            transition:.25s ease;
            min-height:96px;
        }

        .dir-linkhub-card:hover{
            transform:translateY(-2px);
            box-shadow:0 10px 22px rgba(15, 23, 42, 0.08);
            border-color:#b8d8f4;
        }

        .dir-linkhub-card strong{
            color:var(--text-main);
            font-size:.98rem;
            line-height:1.3;
        }

        .dir-linkhub-card span{
            color:var(--text-soft);
            font-size:.92rem;
            line-height:1.45;
        }

        /* --- 3. MOBILE OPTIMIZATIONS --- */
        @media(max-width: 768px) {
            body { padding-top: 90px; }
            .directory-box { padding: 30px 20px; border-radius: 24px; }
            h1 { font-size: 2rem; }
            .grid-dir { grid-template-columns:1fr; gap:12px; }
            .dir-card { padding:16px; min-height:unset; }
            .dir-actions { flex-direction:column; }
            .dir-action { width:100%; }
        }

/* ==========================================================================
   DIRECTORY EXECUTIVE WOW PASS
   Premium flagship minute directory / enterprise authority alignment
   ========================================================================== */

:root{
    --dir-premium-shadow: 0 30px 70px rgba(15,23,42,.10), 0 10px 24px rgba(15,23,42,.05), inset 0 1px 0 rgba(255,255,255,.92), inset 0 0 0 1px rgba(15,23,42,.04);
    --dir-premium-shadow-hover: 0 38px 88px rgba(15,23,42,.14), 0 16px 34px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.96), inset 0 0 0 1px rgba(15,23,42,.05);
    --dir-copy: #475569;
    --dir-copy-strong: #334155;
    --dir-focus: 0 0 0 3px rgba(96,165,250,.22);
}

body{
    background:
        radial-gradient(circle at 50% -8%, rgba(96,165,250,.12), rgba(96,165,250,0) 28%),
        radial-gradient(circle at 100% 100%, rgba(16,185,129,.08), rgba(16,185,129,0) 24%),
        linear-gradient(180deg, #f8fbff 0%, #f1f6fb 44%, #edf3f8 100%) !important;
    background-size: auto !important;
    animation: none !important;
    line-height: 1.65 !important;
}

body > .container{
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 20px !important;
    position: relative;
    z-index: 10;
}

.directory-box{
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 0%, rgba(96,165,250,.14), rgba(96,165,250,0) 40%),
        linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,250,252,.86)) !important;
    border: 1px solid rgba(255,255,255,.94) !important;
    border-radius: 34px !important;
    padding: 42px 38px !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: var(--dir-premium-shadow-hover) !important;
}

.directory-box::before{
    content:"";
    position:absolute;
    left:34px;
    right:34px;
    top:0;
    height:2px;
    border-radius:0 0 999px 999px;
    background:linear-gradient(90deg, rgba(255,255,255,0), rgba(96,165,250,.40), rgba(255,255,255,0));
    pointer-events:none;
}

.directory-box h1{
    max-width: 14ch;
    margin: 0 auto 10px !important;
    color: #132238 !important;
    font-family: 'Inter', 'Roboto', sans-serif !important;
    font-size: clamp(2.25rem, 4vw, 3.8rem) !important;
    font-weight: 900 !important;
    line-height: 1.02 !important;
    letter-spacing: -.04em !important;
    text-transform: none !important;
    text-align: center !important;
    text-shadow: 0 1px 0 rgba(255,255,255,.92);
}

.subtitle{
    max-width: 760px;
    margin: 0 auto 34px !important;
    padding: 0 0 28px !important;
    border-bottom: 1px solid rgba(226,232,240,.92) !important;
    color: var(--dir-copy-strong) !important;
    font-family: 'Inter', 'Roboto', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.76 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    text-align: center !important;
}

.dir-linkhub{
    margin: 0 0 28px !important;
    padding: 22px !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.92)) !important;
    border: 1px solid rgba(226,232,240,.92) !important;
    box-shadow: 0 16px 30px rgba(15,23,42,.05) !important;
}

.dir-linkhub-title{
    margin: 0 0 14px !important;
    color: #132238 !important;
    font-family: 'Inter', 'Roboto', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
}

.dir-linkhub-grid{
    display:grid !important;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
    gap: 14px !important;
}

.dir-linkhub-card{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    min-height: 104px !important;
    padding: 16px !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(248,250,252,.94)) !important;
    border: 1px solid rgba(226,232,240,.92) !important;
    box-shadow: 0 12px 24px rgba(15,23,42,.04) !important;
    text-decoration: none !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

.dir-linkhub-card:hover{
    transform: translateY(-3px) !important;
    border-color: rgba(96,165,250,.24) !important;
    box-shadow: 0 18px 30px rgba(15,23,42,.08) !important;
}

.dir-linkhub-card strong{
    color: #132238 !important;
    font-family: 'Inter', 'Roboto', sans-serif !important;
    font-size: .98rem !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    letter-spacing: -.01em !important;
    text-transform: none !important;
}

.dir-linkhub-card span{
    color: var(--dir-copy) !important;
    font-family: 'Inter', 'Roboto', sans-serif !important;
    font-size: .92rem !important;
    font-weight: 500 !important;
    line-height: 1.58 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
}

.grid-dir{
    display:grid !important;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
    gap: 18px !important;
}

.dir-card{
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.92)) !important;
    border: 1px solid rgba(226,232,240,.92) !important;
    border-radius: 22px !important;
    padding: 20px !important;
    box-shadow: 0 16px 30px rgba(15,23,42,.05) !important;
    display:flex;
    flex-direction:column;
    gap:14px;
    min-height: 206px !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

.dir-card:hover{
    transform: translateY(-4px) !important;
    border-color: rgba(96,165,250,.22) !important;
    box-shadow: var(--dir-premium-shadow-hover) !important;
}

.dir-card-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.dir-time{
    margin:0 !important;
    font-family:'Inter', 'Roboto', sans-serif !important;
    font-size:1.38rem !important;
    font-weight:900 !important;
    line-height:1.04 !important;
    letter-spacing:-.03em !important;
}

.dir-time a{
    color:#132238 !important;
    text-decoration:none !important;
}

.dir-time a:hover{
    color:#2563eb !important;
}

.dir-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:0 10px;
    border-radius:999px !important;
    background: linear-gradient(180deg, rgba(239,246,255,.98), rgba(219,234,254,.88)) !important;
    color:#2563eb !important;
    border:1px solid rgba(96,165,250,.18) !important;
    font-family:'Inter', 'Roboto', sans-serif !important;
    font-size:.72rem !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    letter-spacing:.10em !important;
    white-space:nowrap;
    box-shadow: 0 10px 20px rgba(59,130,246,.08) !important;
}

.dir-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.dir-chip{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 11px;
    border-radius:999px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.92)) !important;
    border:1px solid rgba(226,232,240,.92) !important;
    color:#4b5f78 !important;
    font-family:'Inter', 'Roboto', sans-serif !important;
    font-size:.78rem !important;
    font-weight:700 !important;
    letter-spacing:.01em !important;
    text-decoration:none !important;
    box-shadow: 0 10px 20px rgba(15,23,42,.04) !important;
}

.dir-chip:hover{
    border-color:#93c5fd !important;
    color:#2563eb !important;
}

.dir-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:auto;
}

.dir-action{
    flex:1 1 140px;
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:16px !important;
    text-decoration:none !important;
    font-family:'Inter', 'Roboto', sans-serif !important;
    font-size:.82rem !important;
    font-weight:800 !important;
    letter-spacing:.01em !important;
    padding:0 14px;
    transition:.22s ease !important;
}

.dir-action--primary{
    background: linear-gradient(135deg, #60a5fa, #2563eb) !important;
    color:#fff !important;
    border:1px solid rgba(59,130,246,.28) !important;
    box-shadow: 0 16px 30px rgba(37,99,235,.20) !important;
}

.dir-action--secondary{
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.92)) !important;
    color:#132238 !important;
    border:1px solid rgba(226,232,240,.92) !important;
    box-shadow: 0 10px 20px rgba(15,23,42,.04) !important;
}

.dir-action:hover{
    transform:translateY(-2px) !important;
}

/* related strip */
.fc-ui-strip-v2--directory{
    margin-top: 28px !important;
}

.fc-ui-strip-v2--directory .fc-ui-strip-v2__shell{
    border-radius: 28px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.90), rgba(248,250,252,.82)) !important;
    border: 1px solid rgba(255,255,255,.94) !important;
    box-shadow: var(--dir-premium-shadow) !important;
}

.fc-ui-strip-v2--directory .fc-ui-strip-v2__card,
.fc-ui-strip-v2--directory .fc-ui-strip-v2__cta{
    border-radius: 18px !important;
}

.fc-ui-strip-v2--directory .fc-ui-strip-v2__cta:focus-visible,
.fc-ui-strip-v2--directory .fc-ui-strip-v2__card:focus-visible,
.dir-linkhub-card:focus-visible,
.dir-action:focus-visible,
.dir-chip:focus-visible{
    outline:none !important;
    border-color: rgba(59,130,246,.42) !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,.92), var(--dir-focus), 0 18px 34px rgba(15,23,42,.10) !important;
}

@media (prefers-reduced-motion: reduce){
    body{
        animation:none !important;
    }

    .dir-card,
    .dir-linkhub-card,
    .dir-action{
        transition:none !important;
    }
}

@media (max-width: 768px){
    body{
        padding-top: 96px !important;
        padding-bottom: 64px !important;
    }

    body > .container{
        padding: 14px !important;
    }

    .directory-box{
        padding: 28px 18px !important;
        border-radius: 24px !important;
    }

    .directory-box h1{
        font-size: clamp(1.95rem, 8vw, 2.8rem) !important;
    }

    .subtitle{
        font-size: .95rem !important;
        line-height: 1.68 !important;
        padding-bottom: 22px !important;
        margin-bottom: 24px !important;
    }

    .grid-dir{
        grid-template-columns:1fr !important;
        gap:14px !important;
    }

    .dir-card{
        padding:18px !important;
        min-height:unset !important;
        border-radius:20px !important;
    }

    .dir-actions{
        flex-direction:column !important;
    }

    .dir-action{
        width:100% !important;
    }

    .fc-ui-strip-v2--directory .fc-ui-strip-v2__shell{
        border-radius: 22px !important;
    }
}/* ==========================================================================
   DIRECTORY FINAL QUIET POLISH PASS
   Conservative premium refinement
   ========================================================================== */

.dir-sr-only{
    position:absolute !important;
    left:-9999px !important;
    top:auto !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
}

body.directory-modern{
    padding-top: 118px;
}

.directory-box{
    padding: 38px 34px !important;
    border-radius: 30px !important;
    box-shadow: 0 24px 58px rgba(15,23,42,.09) !important;
}

.directory-box h1{
    letter-spacing: .01em;
    margin-bottom: 14px !important;
}

.directory-box p{
    max-width: 64ch;
    line-height: 1.72;
}

.grid-dir{
    gap: 20px !important;
    margin-top: 22px;
}

.dir-card{
    border-radius: 24px !important;
    box-shadow: 0 12px 28px rgba(15,23,42,.05) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.dir-card:hover{
    transform: translateY(-3px) !important;
    box-shadow: 0 20px 38px rgba(15,23,42,.08) !important;
}

.dir-card-top{
    margin-bottom: 14px;
}

.dir-badge{
    min-height: 32px;
    padding: 0 11px;
    border-radius: 999px;
    letter-spacing: .04em;
}

.dir-linkhub-grid{
    gap: 14px !important;
    margin-top: 18px;
}

.dir-linkhub-card{
    border-radius: 22px !important;
    padding: 18px 18px !important;
    box-shadow: 0 10px 24px rgba(15,23,42,.04) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease !important;
}

.dir-linkhub-card:hover{
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 30px rgba(15,23,42,.07) !important;
}

.fc-ui-strip-v2--directory{
    margin-top: 30px !important;
}

.fc-ui-strip-v2--directory .fc-ui-strip-v2__shell{
    border-radius: 28px !important;
    box-shadow: 0 18px 42px rgba(15,23,42,.08) !important;
}

.fc-ui-strip-v2--directory .fc-ui-strip-v2__card,
.fc-ui-strip-v2--directory .fc-ui-strip-v2__cta{
    border-radius: 20px !important;
}

@media (max-width: 900px){
    .directory-box{
        padding: 26px 20px !important;
        border-radius: 24px !important;
    }

    .grid-dir{
        gap: 16px !important;
    }

    .dir-card{
        padding: 16px !important;
    }
}

@media (max-width: 640px){
    body.directory-modern{
        padding-top: 108px;
    }

    .directory-box{
        padding: 22px 16px !important;
    }

    .dir-linkhub-card{
        padding: 16px !important;
    }
}

/* FC_DIRECTORY_MOBILE_COMFORT_START
   Mobile comfort / overflow-safe polish for Directory.
   Scope: directory page only. No PHP, SEO, routing, or i18n changes.
*/

body.directory-modern {
    overflow-x: hidden;
}

body.directory-modern .container,
body.directory-modern .directory-box,
body.directory-modern .grid-dir,
body.directory-modern .dir-linkhub,
body.directory-modern .dir-linkhub-grid,
body.directory-modern .fc-ui-strip-v2--directory {
    max-width: 100%;
    min-width: 0;
}

body.directory-modern .directory-box,
body.directory-modern .dir-card,
body.directory-modern .dir-linkhub-card,
body.directory-modern .fc-ui-strip-v2--directory .fc-ui-strip-v2__shell,
body.directory-modern .fc-ui-strip-v2--directory .fc-ui-strip-v2__card,
body.directory-modern .fc-ui-strip-v2--directory .fc-ui-strip-v2__cta {
    overflow: hidden;
}

body.directory-modern .directory-box h1,
body.directory-modern .directory-box .subtitle,
body.directory-modern .dir-time,
body.directory-modern .dir-time a,
body.directory-modern .dir-chip,
body.directory-modern .dir-action,
body.directory-modern .dir-linkhub-card strong,
body.directory-modern .dir-linkhub-card span,
body.directory-modern .fc-ui-strip-v2--directory .fc-ui-strip-v2__title,
body.directory-modern .fc-ui-strip-v2--directory .fc-ui-strip-v2__desc,
body.directory-modern .fc-ui-strip-v2--directory .fc-ui-strip-v2__card-title,
body.directory-modern .fc-ui-strip-v2--directory .fc-ui-strip-v2__card-desc,
body.directory-modern .fc-ui-strip-v2--directory .fc-ui-strip-v2__cta {
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: normal;
}

@media (max-width: 900px) {
    body.directory-modern .container {
        width: min(100% - 28px, 1180px) !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.directory-modern .directory-box {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 30px 20px !important;
        border-radius: 26px !important;
    }

    body.directory-modern .directory-box h1 {
        font-size: clamp(2rem, 8vw, 3.15rem) !important;
        line-height: 1.04 !important;
        letter-spacing: -0.045em !important;
    }

    body.directory-modern .directory-box .subtitle {
        font-size: 1rem !important;
        line-height: 1.65 !important;
        margin-left: auto;
        margin-right: auto;
    }

    body.directory-modern .dir-linkhub-grid,
    body.directory-modern .grid-dir {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        width: 100%;
    }

    body.directory-modern .dir-card,
    body.directory-modern .dir-linkhub-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.directory-modern .dir-card {
        padding: 18px !important;
        border-radius: 22px !important;
    }

    body.directory-modern .dir-card-top,
    body.directory-modern .dir-meta,
    body.directory-modern .dir-actions {
        max-width: 100%;
        min-width: 0;
    }

    body.directory-modern .dir-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100%;
    }

    body.directory-modern .dir-action {
        width: 100% !important;
        min-height: 46px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        white-space: normal !important;
        line-height: 1.15;
    }

    body.directory-modern .dir-chip {
        white-space: normal !important;
        line-height: 1.2;
    }

    body.directory-modern .fc-ui-strip-v2--directory .fc-ui-strip-v2__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    body.directory-modern .fc-ui-strip-v2--directory .fc-ui-strip-v2__cta {
        width: 100% !important;
        min-height: 48px;
        justify-content: center;
        text-align: center;
        white-space: normal !important;
    }
}

@media (max-width: 640px) {
    body.directory-modern .container {
        width: min(100% - 22px, 1180px) !important;
    }

    body.directory-modern .directory-box {
        padding: 24px 14px !important;
        border-radius: 22px !important;
    }

    body.directory-modern .directory-box h1 {
        font-size: clamp(1.85rem, 11vw, 2.7rem) !important;
    }

    body.directory-modern .directory-box .subtitle {
        font-size: 0.95rem !important;
    }

    body.directory-modern .dir-linkhub-title {
        font-size: 0.78rem !important;
        line-height: 1.35 !important;
    }

    body.directory-modern .dir-linkhub-card {
        padding: 16px !important;
        border-radius: 20px !important;
    }

    body.directory-modern .dir-card {
        padding: 16px !important;
        border-radius: 20px !important;
    }

    body.directory-modern .dir-card-top {
        gap: 10px !important;
    }

    body.directory-modern .dir-time {
        font-size: clamp(1.55rem, 11vw, 2.05rem) !important;
        line-height: 1 !important;
    }

    body.directory-modern .dir-meta {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    body.directory-modern .dir-chip {
        max-width: 100%;
        min-height: 36px;
        padding: 8px 10px !important;
    }
}

@media (max-width: 380px) {
    body.directory-modern .directory-box {
        padding: 22px 12px !important;
    }

    body.directory-modern .dir-card,
    body.directory-modern .dir-linkhub-card {
        padding: 14px !important;
    }

    body.directory-modern .dir-action {
        font-size: 0.82rem !important;
    }
}

/* FC_DIRECTORY_MOBILE_COMFORT_END */

/* ==========================================================================
   FC_D2_DESKTOP_SHELL_RHYTHM_START
   Desktop shell rhythm polish.
   Scope: directory desktop/tablet only. No mobile, no routes, no DB/cards logic.
   ========================================================================== */

@media (min-width: 1025px) {
    body.directory-modern {
        padding-top: 116px !important;
    }

    body.directory-modern .container {
        width: min(calc(100% - 48px), 1200px) !important;
        max-width: 1200px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.directory-modern .directory-box {
        margin-top: 0 !important;
    }
}

@media (min-width: 1600px) {
    body.directory-modern .container {
        width: min(calc(100% - 64px), 1220px) !important;
        max-width: 1220px !important;
    }
}

/* ==========================================================================
   FC_D2_DESKTOP_SHELL_RHYTHM_END
   ========================================================================== */

/* ==========================================================================
   FC_DIRECTORY_D7_DESKTOP_POLISH_START
   Directory desktop polish.
   Scope: desktop/tablet >=1025px only. No mobile, no routes, no DB/cards logic.
   ========================================================================== */

@media (min-width: 1025px) {
    body.directory-modern .directory-box {
        padding: 34px 34px !important;
        border-radius: 34px !important;
        box-shadow:
            0 34px 90px rgba(15,23,42,0.10),
            0 1px 0 rgba(255,255,255,0.90) inset !important;
    }

    body.directory-modern .directory-box h1 {
        font-size: clamp(2.5rem, 3.5vw, 4.35rem) !important;
        line-height: 0.96 !important;
        letter-spacing: -0.055em !important;
        max-width: 860px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.directory-modern .directory-box .subtitle {
        max-width: 740px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        font-size: 1.04rem !important;
        line-height: 1.62 !important;
    }

    body.directory-modern .dir-linkhub {
        margin-top: 26px !important;
        margin-bottom: 28px !important;
    }

    body.directory-modern .dir-linkhub-grid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    body.directory-modern .dir-linkhub-card {
        min-height: 112px !important;
        padding: 18px !important;
        border-radius: 24px !important;
        box-shadow:
            0 18px 46px rgba(15,23,42,0.07),
            0 1px 0 rgba(255,255,255,0.90) inset !important;
        transform: none !important;
    }

    body.directory-modern .dir-linkhub-card:hover {
        transform: translateY(-3px) !important;
    }

    body.directory-modern .dir-linkhub-title {
        line-height: 1.25 !important;
        overflow-wrap: anywhere !important;
    }

    body.directory-modern .grid-dir {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 18px !important;
        align-items: stretch !important;
    }

    body.directory-modern .dir-card {
        display: flex !important;
        flex-direction: column !important;
        min-height: 256px !important;
        padding: 20px !important;
        border-radius: 26px !important;
        box-shadow:
            0 22px 54px rgba(15,23,42,0.08),
            0 1px 0 rgba(255,255,255,0.90) inset !important;
        transform: none !important;
    }

    body.directory-modern .dir-card:hover {
        transform: translateY(-3px) !important;
        box-shadow:
            0 30px 70px rgba(15,23,42,0.11),
            0 1px 0 rgba(255,255,255,0.92) inset !important;
    }

    body.directory-modern .dir-card-top {
        gap: 14px !important;
        align-items: flex-start !important;
        margin-bottom: 14px !important;
    }

    body.directory-modern .dir-time {
        font-size: clamp(2rem, 2.4vw, 2.85rem) !important;
        line-height: 0.96 !important;
        letter-spacing: -0.055em !important;
    }

    body.directory-modern .dir-badge {
        min-height: 34px !important;
        padding: 7px 10px !important;
        border-radius: 999px !important;
        line-height: 1.12 !important;
    }

    body.directory-modern .dir-meta {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        margin-top: auto !important;
        padding-top: 12px !important;
    }

    body.directory-modern .dir-chip {
        min-height: 34px !important;
        padding: 7px 10px !important;
        border-radius: 999px !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
    }

    body.directory-modern .dir-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        margin-top: 16px !important;
    }

    body.directory-modern .dir-action {
        min-height: 44px !important;
        border-radius: 15px !important;
        justify-content: center !important;
        text-align: center !important;
        white-space: normal !important;
        line-height: 1.14 !important;
    }

    body.directory-modern .dir-action--primary {
        box-shadow: 0 16px 32px rgba(37,99,235,0.16) !important;
    }

    body.directory-modern .fc-ui-strip-v2--directory {
        border-radius: 30px !important;
        box-shadow:
            0 24px 64px rgba(15,23,42,0.08),
            0 1px 0 rgba(255,255,255,0.90) inset !important;
    }
}

@media (min-width: 1025px) and (max-width: 1279px) {
    body.directory-modern .dir-linkhub-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.directory-modern .grid-dir {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 1440px) {
    body.directory-modern .grid-dir {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    body.directory-modern .directory-box {
        padding: 38px 38px !important;
    }
}

@media (prefers-reduced-motion: reduce) and (min-width: 1025px) {
    body.directory-modern .dir-card,
    body.directory-modern .dir-linkhub-card,
    body.directory-modern .dir-action {
        transition: none !important;
        animation: none !important;
        transform: none !important;
    }
}

/* ==========================================================================
   FC_DIRECTORY_D7_DESKTOP_POLISH_END
   ========================================================================== */
