/* ==========================================================================
   Expoint — Design tokens
   لوحة الألوان: Amber Signal (ذهبي العلامة) / Ink Night (الهيدر والفوتر)
   Bone Paper (خلفية الصفحة) / Palm Teal (لون ثانوي، البحث والثقة)
   Clay (لون ثالث للتمييز) / Graphite (نص أساسي)
   ========================================================================== */
:root{
    --amber:#F5A623;
    --amber-dark:#C97F0D;
    --ink:#14141C;
    --ink-soft:#23232E;
    --paper:#FAF7F1;
    --card:#F3EFE7;
    --teal:#146B5C;
    --teal-dark:#0E4F44;
    --clay:#C9542C;
    --graphite:#3A3733;
    --muted:#75726B;
    --border:#E5DFD2;
    --radius-sm:10px;
    --radius-md:16px;
    --radius-lg:28px;
    --shadow-card:0 18px 40px -20px rgba(20,20,28,0.25);
    --font-display:'Almarai', 'Plus Jakarta Sans', sans-serif;
    --font-body:'IBM Plex Sans Arabic', 'Plus Jakarta Sans', sans-serif;
    --font-data:'Plus Jakarta Sans', 'IBM Plex Sans Arabic', sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; height:100%;}
body{
    margin:0;
    background:var(--paper);
    color:var(--graphite);
    font-family:var(--font-body);
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    display:flex;
    flex-direction:column;
    min-height:100vh;
    min-height:100dvh; /* يحسب ارتفاع الشاشة الفعلي بالجوال مع مراعاة شريط أدوات المتصفح */
}
body > main{flex:1 0 auto; min-width:0;}
body > .site-footer{flex:none;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;}

h1,h2,h3{
    font-family:var(--font-display);
    font-weight:800;
    color:var(--ink);
    margin:0 0 .5em;
    line-height:1.25;
}

.container{
    max-width:1180px;
    margin-inline:auto;
    padding-inline:24px;
}

@media (prefers-reduced-motion: reduce){
    *{animation-duration:.01ms !important; transition-duration:.01ms !important;}
    html{scroll-behavior:auto;}
}

/* ==========================================================================
   Buttons
   ========================================================================== */
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:13px 26px;
    border-radius:999px;
    font-weight:600;
    font-size:15px;
    border:1.5px solid transparent;
    cursor:pointer;
    transition:transform .15s ease, background .2s ease, border-color .2s ease;
    white-space:nowrap;
}
.btn:active{transform:scale(.97);}
.btn-primary{background:var(--amber); color:var(--ink);}
.btn-primary:hover{background:var(--amber-dark);}
.btn-lg{padding:16px 34px; font-size:16px;}
.btn-ghost{background:transparent; color:var(--paper); border-color:rgba(250,247,241,.35);}
.btn-ghost:hover{border-color:var(--paper);}
.btn-ghost-light{background:transparent; color:var(--ink); border-color:var(--ink);}
.btn-ghost-light:hover{background:var(--ink); color:var(--paper);}
.btn-search{background:var(--teal); color:#fff; padding:13px 30px;}
.btn-search:hover{background:var(--teal-dark);}

/* ==========================================================================
   Header
   ========================================================================== */
.site-header{
    background:var(--ink);
    position:sticky;
    top:0;
    z-index:50;
}
.header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding-block:14px;
}
.brand{display:flex; align-items:center;}
.brand-mark{height:36px; width:auto;}
.main-nav{display:flex; gap:28px;}
.main-nav a{color:#D9D6CC; font-size:15px; font-weight:500; transition:color .2s;}
.main-nav a:hover{color:var(--amber);}
.header-actions{display:flex; align-items:center; gap:14px;}
.lang-switch{
    font-family:var(--font-data);
    font-weight:600;
    font-size:13px;
    color:var(--paper);
    border:1px solid rgba(250,247,241,.35);
    border-radius:999px;
    padding:6px 12px;
}
.lang-switch:hover{border-color:var(--amber); color:var(--amber);}
.nav-toggle{
    display:none;
    background:transparent;
    border:none;
    color:var(--paper);
    font-size:20px;
    cursor:pointer;
    padding:6px;
}
.mobile-nav-overlay{
    display:none; position:fixed; inset:0; background:rgba(20,20,28,.5); z-index:90;
    opacity:0; transition:opacity .3s ease;
}
.mobile-nav-overlay.open{display:block; opacity:1;}
.mobile-nav{
    position:fixed; top:0; inset-inline-end:0; height:100%; width:min(320px, 84vw);
    background:var(--ink); z-index:95; display:flex; flex-direction:column;
    transform:translateX(100%); transition:transform .35s cubic-bezier(.4,0,.2,1);
    box-shadow:-10px 0 40px rgba(0,0,0,.25);
}
[dir="rtl"] .mobile-nav{inset-inline-end:0; transform:translateX(-100%);}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav-head{display:flex; align-items:center; justify-content:space-between; padding:20px 22px; border-bottom:1px solid rgba(255,255,255,.08);}
.mobile-nav-brand{font-family:var(--font-display); font-weight:800; font-size:18px; color:var(--amber);}
.mobile-nav-close{background:rgba(255,255,255,.08); border:none; color:#fff; width:34px; height:34px; border-radius:10px; font-size:15px; cursor:pointer; display:flex; align-items:center; justify-content:center;}
.mobile-nav-close:hover{background:rgba(255,255,255,.16);}
.mobile-nav-links{flex:1; display:flex; flex-direction:column; padding:12px 14px; overflow-y:auto;}
.mobile-nav-links a{
    display:flex; align-items:center; gap:14px; color:#D9D6CC; padding:14px 12px; border-radius:10px;
    font-size:15px; font-weight:600; transition:background .15s;
}
.mobile-nav-links a i{width:18px; text-align:center; color:var(--amber); font-size:15px;}
.mobile-nav-links a:hover, .mobile-nav-links a:active{background:rgba(255,255,255,.06);}
.mobile-nav-foot{padding:16px 20px 24px; border-top:1px solid rgba(255,255,255,.08);}

@media (max-width:860px){
    .main-nav, .header-actions .btn-ghost, .header-actions .btn-primary{display:none;}
    .nav-toggle{display:inline-flex;}
}

/* ==========================================================================
   Hero — الإشارة البصرية الأساسية: القوس الذهبي المستوحى من الشعار
   ========================================================================== */
.hero{
    position:relative;
    background:var(--ink);
    min-height:560px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-block:80px;
}
.hero-bg-clip{position:absolute; inset:0; overflow:hidden; z-index:0;}
.hero-arc{
    position:absolute;
    inset-inline:0;
    top:0;
    height:200px;
    pointer-events:none;
}
.hero-arc svg{width:100%; height:100%;}
.hero-grid{
    position:absolute;
    inset:0;
    background-image:radial-gradient(rgba(250,247,241,.07) 1px, transparent 1px);
    background-size:26px 26px;
    -webkit-mask-image:linear-gradient(to bottom, black, transparent 85%);
    mask-image:linear-gradient(to bottom, black, transparent 85%);
}
.hero-content{
    position:relative;
    z-index:1;
    text-align:center;
    max-width:720px;
    margin-inline:auto;
    padding-top:24px;
}
.hero-content h1{
    color:var(--paper);
    font-size:clamp(32px, 5vw, 52px);
}
.hero-subtitle{
    color:#C8C5BC;
    font-size:18px;
    margin-bottom:28px;
}
.hero-content > a.btn{margin-bottom:8px;}
/* ==========================================================================
   Search bar — own plain section below the hero (no overlap, no z-index,
   no backdrop-filter). Native selects styled modernly: reliable by
   construction on every browser and device.
   ========================================================================== */
/* ==========================================================================
   Search bar — floats over the hero via a negative-margin sibling technique
   (never a descendant of an overflow:hidden ancestor → immune to clipping).
   Uses OKLCH design tokens + native CSS nesting + <details> disclosure
   (zero custom JS state machine — the browser owns open/close natively).
   ========================================================================== */
:root{
    --sg-accent: oklch(64% 0.13 165);       /* تركوازي دافئ — نفس روح --teal بترميز OKLCH */
    --sg-accent-dark: oklch(52% 0.12 165);
    --sg-ink: oklch(22% 0.02 280);
    --sg-glass: oklch(100% 0 0 / 88%);
    --sg-radius: 999px;
}

.search-glass{
    & {
        position:relative;
        display:flex;
        align-items:center;
        max-width:640px;
        margin:32px auto 0;
        height:60px;
        padding:6px;
        background:var(--sg-glass);
        backdrop-filter:blur(18px) saturate(1.4);
        -webkit-backdrop-filter:blur(18px) saturate(1.4);
        border-radius:var(--sg-radius);
        box-shadow:0 24px 48px -18px oklch(20% 0.02 280 / 45%), 0 0 0 1px oklch(100% 0 0 / 60%) inset;
    }
    @supports not (backdrop-filter: blur(1px)) {
        background:#fff;
    }
}

.sg-dd{
    flex:1;
    min-width:0;
    position:relative;

    & summary{
        display:flex;
        align-items:center;
        gap:8px;
        height:48px;
        padding-inline:16px;
        border-radius:calc(var(--sg-radius) - 4px);
        cursor:pointer;
        list-style:none;
        font-size:13.5px;
        font-weight:700;
        color:var(--sg-ink);
        transition:background .18s ease;
        -webkit-tap-highlight-color:transparent;
    }
    & summary::-webkit-details-marker{display:none;}
    & summary::after{
        content:'\f078';
        font-family:'Font Awesome 6 Free';
        font-weight:900;
        font-size:8px;
        color:oklch(55% 0.01 280);
        margin-inline-start:auto;
        transition:transform .2s ease;
    }
    & summary i{color:var(--sg-accent); font-size:13px; flex:none;}
    & summary:hover{background:oklch(96% 0.005 280);}
    &[open] summary::after{transform:rotate(180deg);}
    &[open] summary{background:oklch(95% 0.01 165);}
}

.sg-label{white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

.sg-menu{
    position:absolute;
    top:calc(100% + 10px);
    inset-inline-start:0;
    min-width:230px;
    max-width:280px;
    max-height:min(340px, 60vh);
    overflow-y:auto;
    background:#fff;
    border-radius:18px;
    box-shadow:0 20px 50px -12px oklch(20% 0.02 280 / 30%), 0 0 0 1px oklch(0% 0 0 / 6%);
    padding:8px;
    z-index:30;
    transform-origin:top center;

    /* رسم دخول سلس ومرن — CSS بحت، بدون أي جافاسكربت */
    animation:sg-menu-in .28s cubic-bezier(.16,1,.3,1) both;
}
@keyframes sg-menu-in{
    from{ opacity:0; transform:translateY(-10px) scale(.94); }
    60%{ opacity:1; }
    to{ opacity:1; transform:translateY(0) scale(1); }
}

.sg-group{
    display:block;
    font-size:10.5px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:oklch(60% 0.01 280);
    padding:10px 12px 4px;
}

.sg-opt{
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    text-align:start;
    background:none;
    border:none;
    font-family:inherit;
    font-size:13.5px;
    color:var(--sg-ink);
    padding:10px 12px;
    border-radius:10px;
    cursor:pointer;
    transition:background .12s ease;

    & i{color:var(--sg-accent); width:16px; text-align:center; font-size:12px;}
    &:hover{background:oklch(97% 0.005 280);}
    &.is-active{background:oklch(95% 0.05 165); color:var(--sg-accent-dark); font-weight:700;}
}

.sg-sep{width:1px; height:24px; background:oklch(85% 0.01 280); flex:none; margin-inline:2px;}

.sg-submit{
    flex:none;
    border:none;
    cursor:pointer;
    border-radius:50%;
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
    background:var(--sg-accent);
    color:#fff;
    transition:background .2s ease, transform .15s ease;

    &:hover{background:var(--sg-accent-dark);}
    &:active{transform:scale(.94);}
}

@media (max-width:640px){
    .search-glass{max-width:100%; height:54px; padding:5px; margin-top:40px;}
    .sg-dd summary{height:44px; padding-inline:12px; font-size:12.5px; gap:6px;}
    .sg-sep{height:20px;}
    .sg-submit{width:42px; height:42px; font-size:14px;}
    .sg-menu{
        position:fixed;
        inset-inline:16px;
        top:auto;
        bottom:16px;
        max-width:none;
        min-width:0;
        animation:sg-menu-in-mobile .32s cubic-bezier(.16,1,.3,1) both;
    }
}
@keyframes sg-menu-in-mobile{
    from{ opacity:0; transform:translateY(24px) scale(.98); }
    to{ opacity:1; transform:translateY(0) scale(1); }
}/* ==========================================================================
   Events
   ========================================================================== */
.eyebrow{
    font-family:var(--font-data);
    font-weight:700;
    font-size:13px;
    letter-spacing:.04em;
    color:var(--teal);
    text-transform:uppercase;
    margin:0 0 8px;
}
.eyebrow.center{text-align:center;}
.events-section{padding-block:80px;}
.section-heading-row{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:16px;
    margin-bottom:36px;
}
.section-heading-row h2{margin:0; font-size:clamp(24px,3vw,32px);}
.text-link{font-weight:600; color:var(--teal); font-size:14px; white-space:nowrap;}
.text-link:hover{color:var(--teal-dark);}

.events-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:22px;
}
@media (max-width:960px){.events-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.events-grid{grid-template-columns:1fr;}}

.event-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    overflow:hidden;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.event-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-card); border-color:transparent;}
.event-card-top{
    position:relative;
    height:120px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.event-icon{font-size:34px; color:rgba(255,255,255,.9);}
.date-badge{
    position:absolute;
    top:14px;
    inset-inline-start:14px;
    background:#fff;
    border-radius:0 0 10px 10px;
    padding:8px 12px 6px;
    text-align:center;
    line-height:1.1;
    box-shadow:0 6px 14px -8px rgba(0,0,0,.4);
}
.date-badge::before{
    content:'';
    position:absolute;
    top:-8px;
    inset-inline-start:0;
    width:100%;
    height:8px;
    background:#fff;
    border-radius:50% 50% 0 0 / 100% 100% 0 0;
}
.date-day{display:block; font-family:var(--font-data); font-weight:700; font-size:18px; color:var(--ink);}
.date-month{display:block; font-family:var(--font-data); font-size:11px; font-weight:600; color:var(--muted); text-transform:uppercase;}
.event-card-body{padding:18px 18px 22px;}
.event-tag{
    display:inline-block;
    font-size:11px;
    font-weight:700;
    padding:3px 10px;
    border-radius:999px;
    background:rgba(20,20,28,.06);
    color:var(--graphite);
    margin-bottom:10px;
}
.event-card-body h3{font-size:17px; margin-bottom:6px;}
.event-card-body p{margin:0; font-size:13px; color:var(--muted); display:flex; align-items:center; gap:6px;}

.c-coral .event-card-top{background:var(--clay);}
.c-teal .event-card-top{background:var(--teal);}
.c-clay .event-card-top{background:#8B5E3C;}
.c-ink .event-card-top{background:var(--ink);}

/* ==========================================================================
   Trust + Stats
   ========================================================================== */
.trust-section{background:var(--ink); color:var(--paper); padding-block:88px 56px;}
.trust-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:36px;
    align-items:center;
}
@media (max-width:860px){.trust-grid{grid-template-columns:1fr; gap:28px;}}
.trust-copy h2{color:var(--paper); font-size:clamp(24px,3vw,34px);}
.trust-copy p{color:#C8C5BC; font-size:16px; max-width:50ch; line-height:1.8;}
.trust-list{margin:22px 0 30px; display:flex; flex-direction:column; gap:12px;}
.trust-list li{display:flex; align-items:flex-start; gap:10px; font-size:15px; color:#E8E5DC;}
.trust-list i{color:var(--amber); margin-top:3px;}
.trust-visual{display:flex; align-items:center; justify-content:center;}
.trust-visual svg{width:100%; max-width:340px; height:auto; margin-inline:auto; display:block;}

.trust-bar{transform-box:fill-box; transform-origin:bottom; animation:trust-bar-grow .7s cubic-bezier(.2,.8,.3,1) both;}
.trust-bar-1{animation-delay:.05s;}
.trust-bar-2{animation-delay:.2s;}
.trust-bar-3{animation-delay:.35s;}
@keyframes trust-bar-grow{from{transform:scaleY(0); opacity:0;} to{transform:scaleY(1); opacity:1;}}
.trust-bar rect{animation:trust-bar-float 3.5s ease-in-out infinite;}
.trust-bar-1 rect{animation-delay:0s;}
.trust-bar-2 rect{animation-delay:.4s;}
.trust-bar-3 rect{animation-delay:.8s;}
@keyframes trust-bar-float{0%,100%{transform:translateY(0);} 50%{transform:translateY(-6px);}}
.trust-arc{stroke-dasharray:6 6; animation:trust-arc-dash 20s linear infinite;}
@keyframes trust-arc-dash{to{stroke-dashoffset:-240;}}
.trust-orbit{animation:trust-orbit-pulse 3s ease-in-out infinite;}
.trust-orbit-2{animation-delay:.5s;}
@keyframes trust-orbit-pulse{0%,100%{opacity:.15; transform:scale(1);} 50%{opacity:.3; transform:scale(1.08);}}

.stats-row{
    margin-top:64px;
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:24px;
    border-top:1px solid rgba(250,247,241,.12);
    padding-top:40px;
}
@media (max-width:960px){.stats-row{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.stats-row{grid-template-columns:repeat(2,1fr); gap:28px 16px;}}
.stat{text-align:center;}
.stat-num{display:block; font-family:var(--font-data); font-weight:700; font-size:clamp(22px,2.6vw,30px); color:var(--amber);}
.stat-label{display:block; font-size:12.5px; color:#B9B6AD; margin-top:4px;}

/* ==========================================================================
   Partners
   ========================================================================== */
.partners-section{padding-block:64px; text-align:center;}
.partners-row{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:14px;
    margin-top:8px;
}
.partner-badge{
    font-family:var(--font-data);
    font-weight:600;
    font-size:13.5px;
    color:var(--muted);
    background:var(--card);
    border:1px solid var(--border);
    border-radius:999px;
    padding:9px 18px;
    transition:color .2s, border-color .2s;
}
.partner-badge:hover{color:var(--teal); border-color:var(--teal);}

/* ==========================================================================
   Final CTA
   ========================================================================== */
.final-cta{
    position:relative;
    background:var(--teal);
    padding-block:76px;
    overflow:hidden;
}
.final-cta-arc{position:absolute; inset-inline:0; bottom:0; height:160px; opacity:.5;}
.final-cta-arc svg{width:100%; height:100%;}
.final-cta-content{position:relative; text-align:center; max-width:640px; margin-inline:auto;}
.final-cta-content h2{color:#fff; font-size:clamp(24px,3vw,32px);}
.final-cta-content p{color:rgba(255,255,255,.85); margin-bottom:26px;}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer{background:var(--ink); color:#B9B6AD; padding-top:64px; position:relative;}
.site-footer::before{
    content:'';
    position:absolute;
    top:0; inset-inline:0;
    height:2px;
    background:linear-gradient(to right, transparent, var(--amber), transparent);
}
.footer-inner{
    display:grid;
    grid-template-columns:1fr 1fr 1fr 1.2fr;
    gap:32px;
    padding-bottom:48px;
    border-bottom:1px solid rgba(250,247,241,.1);
}
@media (max-width:860px){.footer-inner{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.footer-inner{grid-template-columns:1fr;}}
.footer-col h3{color:var(--paper); font-size:14px; font-weight:700; margin-bottom:16px;}
.footer-col ul{display:flex; flex-direction:column; gap:10px;}
.footer-col a{font-size:14px; color:#B9B6AD; transition:color .2s;}
.footer-col a:hover{color:var(--amber);}
.social-row{display:flex; gap:12px; margin-top:0;}
.footer-brand .social-row{margin-bottom:16px;}
.social-row a{
    width:34px; height:34px;
    border:1px solid rgba(250,247,241,.2);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:14px;
}
.social-row a:hover{border-color:var(--amber); color:var(--amber);}
.footer-brand p{font-size:13px; margin-top:14px; max-width:26ch; color:#8C897F;}
.footer-bottom{padding-block:22px; text-align:center; font-size:13px; color:#8C897F;}

/* ==========================================================================
   Page header (صفحات داخلية غير الرئيسية)
   ========================================================================== */
.page-header{
    position:relative;
    background:var(--ink);
    padding-block:56px 64px;
    overflow:hidden;
}
.page-header-content{position:relative; text-align:center; max-width:640px; margin-inline:auto;}
.page-header-content h1{color:var(--paper); font-size:clamp(28px,4vw,40px); margin-bottom:10px;}
.page-header-content p{color:#C8C5BC; font-size:16px; margin:0;}

/* ==========================================================================
   Filters bar
   ========================================================================== */
.events-page-header{padding-block:40px 36px; background-size:cover; background-position:center;}
.filters-section{padding-block:16px; background:var(--card); border-bottom:1px solid var(--border);}
.filters-bar{
    display:flex;
    flex-wrap:wrap;
    align-items:end;
    gap:18px;
}
.filter-field{display:flex; flex-direction:column; gap:6px; min-width:150px;}
.filter-keyword{flex:1 1 240px;}
.filter-field label{font-size:12px; font-weight:600; color:var(--muted);}
.filter-field select{
    height:44px;
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    background:#fff;
    padding:0 14px;
    font-family:inherit;
    font-size:14px;
    font-weight:600;
    color:var(--ink);
}
.input-icon{
    position:relative;
    display:flex;
    align-items:center;
}
.input-icon i{
    position:absolute;
    inset-inline-start:14px;
    color:var(--muted);
    font-size:14px;
    pointer-events:none;
}
.input-icon input{
    width:100%;
    height:44px;
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    background:#fff;
    padding-inline-start:38px;
    padding-inline-end:14px;
    font-family:inherit;
    font-size:14px;
    color:var(--ink);
}
.input-icon input::placeholder{color:var(--muted);}
.filter-actions{display:flex; gap:10px;}
.filter-actions .btn{height:44px; padding-inline:22px;}

/* ==========================================================================
   Results state
   ========================================================================== */
.results-section{padding-top:44px; background:var(--card);}
.results-count{font-family:var(--font-data); font-weight:700; color:var(--ink); font-size:15px; margin:0 0 28px;}
.empty-state{
    text-align:center;
    padding:64px 20px;
    background:var(--card);
    border-radius:var(--radius-md);
}
.empty-state i{font-size:34px; color:var(--muted); margin-bottom:16px;}
.empty-state h3{margin-bottom:8px;}
.empty-state p{color:var(--muted); max-width:40ch; margin-inline:auto 0; margin-bottom:22px;}

/* ==========================================================================
   Pagination
   ========================================================================== */
.pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    margin-top:48px;
}
.page-btn{
    width:40px; height:40px;
    border:1px solid var(--border);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:var(--ink);
    transition:border-color .2s, color .2s;
}
.page-btn:hover{border-color:var(--teal); color:var(--teal);}
.page-btn.disabled{opacity:.35; pointer-events:none;}
.page-info{font-family:var(--font-data); font-size:14px; font-weight:600; color:var(--muted);}

@media (max-width:700px){
    .filters-bar{flex-direction:column; align-items:stretch;}
    .filter-field{min-width:0;}
}

/* ==========================================================================
   Event card as link wrapper
   ========================================================================== */
.event-card-link{display:block;}

/* ==========================================================================
   Event details page
   ========================================================================== */
.details-banner{padding-block:28px 64px; color:#fff; position:relative; background-size:cover; background-position:center;}
.details-banner.has-photo{overflow:hidden;}
.details-banner.has-photo::before{
    content:'';
    position:absolute; inset:0;
    background:linear-gradient(to top, rgba(20,20,28,.75), rgba(20,20,28,.35));
}
.details-banner .container{position:relative; z-index:1;}
.details-banner.c-coral{background:var(--clay);}
.details-banner.c-teal{background:var(--teal);}
.details-banner.c-clay{background:#8B5E3C;}
.details-banner.c-ink{background:var(--ink);}
.breadcrumb{display:flex; align-items:center; gap:8px; font-size:13px; color:rgba(255,255,255,.75); margin-bottom:28px;}
.breadcrumb i{font-size:10px;}
.breadcrumb a:hover{color:#fff;}
.details-banner-row{display:flex; align-items:center; gap:22px;}
.details-icon{font-size:48px; color:rgba(255,255,255,.85);}
.details-banner-row h1{color:#fff; margin:6px 0;}
.details-banner-row p{margin:0; color:rgba(255,255,255,.85); font-size:14px;}
.event-tag.light{background:rgba(255,255,255,.2); color:#fff;}

.details-section{padding-block:56px;}
.details-grid{
    display:grid;
    grid-template-columns:1.6fr 1fr;
    gap:48px;
    align-items:start;
}
@media (max-width:860px){.details-grid{grid-template-columns:1fr;}}
.details-main h2{font-size:22px;}
.details-main p{color:var(--graphite); font-size:15.5px; max-width:62ch;}

.info-card{
    background:var(--card);
    border-radius:var(--radius-md);
    padding:26px;
    position:sticky;
    top:100px;
}
.info-card h3{font-size:16px; margin-bottom:16px;}
.info-list{display:flex; flex-direction:column; gap:16px; margin-bottom:22px;}
.info-list li{display:flex; align-items:center; gap:12px;}
.info-list i{color:var(--teal); font-size:16px; width:20px; text-align:center;}
.info-label{display:block; font-size:12px; color:var(--muted);}
.info-value{display:block; font-size:14px; font-weight:600; color:var(--ink);}
.btn-block{width:100%; margin-bottom:12px;}
.info-actions{display:flex; gap:8px;}
.btn-sm{flex:1; padding:9px 10px; font-size:13px;}

/* ==========================================================================
   Create event — action bar
   ========================================================================== */
.action-bar{background:var(--ink-soft); border-bottom:1px solid rgba(250,247,241,.1); position:sticky; top:69px; z-index:40;}
.action-bar-inner{display:flex; align-items:center; justify-content:space-between; padding-block:12px; gap:16px; flex-wrap:wrap;}
.action-bar-title{color:var(--paper); font-weight:700; font-size:14px; display:flex; align-items:center; gap:8px;}
.action-bar-title i{color:var(--amber);}
.action-bar-buttons{display:flex; gap:10px;}
.action-bar-buttons .btn-sm{padding:9px 18px;}

/* ==========================================================================
   Builder form
   ========================================================================== */
.builder-section{padding-block:44px 80px;}
.builder-grid{display:grid; grid-template-columns:1.7fr 1fr; gap:40px; align-items:start;}
@media (max-width:960px){.builder-grid{grid-template-columns:1fr;}}

.builder-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:26px; margin-bottom:22px;}
.builder-card-head{display:flex; gap:14px; margin-bottom:22px;}
.builder-card-head i{
    width:38px; height:38px; flex:none;
    background:var(--card); color:var(--teal);
    border-radius:10px;
    display:flex; align-items:center; justify-content:center;
    font-size:16px;
}
.builder-card-head h2{font-size:17px; margin-bottom:4px;}
.builder-card-head p{margin:0; font-size:13.5px; color:var(--muted);}

.form-row{margin-bottom:18px;}
.form-row label{display:block; font-size:13px; font-weight:600; color:var(--graphite); margin-bottom:6px;}
.form-row input[type="text"],
.form-row input[type="number"],
.form-row input[type="date"],
.form-row input[type="datetime-local"],
.form-row select{
    width:100%;
    height:44px;
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    background:#fff;
    padding:0 14px;
    font-family:inherit;
    font-size:14px;
    color:var(--ink);
}
.form-row .input-icon input{width:100%;}
.form-row-split{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.form-row-triple{grid-template-columns:1fr 1fr 1fr;}
.form-row-quad{grid-template-columns:repeat(4,1fr);}
@media (max-width:700px){.form-row-quad{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.form-row-split{grid-template-columns:1fr;}}

.repeatable-row{
    display:flex; align-items:end; gap:12px; flex-wrap:wrap;
    background:var(--card); border-radius:var(--radius-sm);
    padding:14px; margin-bottom:10px;
}
.repeatable-field{flex:1 1 140px; display:flex; flex-direction:column; gap:6px;}
.repeatable-field label{font-size:12px; font-weight:600; color:var(--muted);}
.repeatable-field input{
    height:40px; border:1px solid var(--border); border-radius:var(--radius-sm);
    background:#fff; padding:0 12px; font-family:inherit; font-size:13.5px; color:var(--ink);
}
.repeatable-field input[type="file"]{padding-top:8px; font-size:12px;}
.repeatable-remove{
    width:36px; height:36px; border-radius:50%; border:none;
    background:#fff; color:var(--clay); cursor:pointer; flex:none;
    display:flex; align-items:center; justify-content:center;
}
.repeatable-remove:hover{background:var(--clay); color:#fff;}

.form-actions{display:flex; justify-content:flex-end; gap:12px; margin-top:8px;}

/* ==========================================================================
   Builder sidebar — uploads + live preview
   ========================================================================== */
.builder-sidebar{position:sticky; top:150px; display:flex; flex-direction:column; gap:16px;}
.upload-box{
    display:flex; align-items:center; gap:10px;
    border:1.5px dashed var(--border);
    border-radius:var(--radius-sm);
    padding:18px;
    color:var(--muted);
    font-size:13.5px;
    font-weight:600;
    cursor:pointer;
    transition:border-color .2s, color .2s;
}
.upload-box:hover{border-color:var(--teal); color:var(--teal);}
.upload-box-lg{padding:32px 18px; flex-direction:column; text-align:center;}
.upload-box i{font-size:20px;}
.preview-card{background:var(--card); border-radius:var(--radius-md); padding:18px;}
.preview-label{font-size:12px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.03em; margin:0 0 12px;}

/* ==========================================================================
   Auth (login / register)
   ========================================================================== */
.auth-section{position:relative; background:var(--ink); padding-block:64px 96px;}
.auth-container{position:relative; display:flex; justify-content:center;}
.auth-card{background:#fff; border-radius:var(--radius-lg); box-shadow:var(--shadow-card); padding:36px; width:100%; max-width:460px;}
.auth-tabs{display:flex; background:var(--card); border-radius:999px; padding:4px; margin-bottom:28px;}
.auth-tab{
    flex:1; border:none; background:transparent; border-radius:999px;
    padding:10px; font-weight:700; font-size:14px; color:var(--muted); cursor:pointer;
    transition:background .2s, color .2s;
}
.auth-tab.active{background:var(--ink); color:#fff;}
.auth-panel{display:none;}
.auth-panel.active{display:block;}
.auth-panel h1{font-size:22px; margin-bottom:6px;}
.auth-lead{color:var(--muted); font-size:14px; margin-bottom:22px;}
.auth-row-between{display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; font-size:13.5px;}
.checkbox-label{display:flex; align-items:center; gap:6px; color:var(--graphite);}
.auth-switch{text-align:center; font-size:13.5px; color:var(--muted); margin-top:20px;}
.link-btn{background:none; border:none; color:var(--teal); font-weight:700; font-size:13.5px; cursor:pointer; padding:0;}
.role-toggle{display:flex; gap:12px;}
.role-option{
    flex:1; display:flex; align-items:center; gap:8px;
    border:1px solid var(--border); border-radius:var(--radius-sm);
    padding:10px 14px; font-size:14px; cursor:pointer;
}
.btn-google{
    background:#fff; border:1px solid var(--border); color:var(--graphite);
    gap:10px; margin-bottom:18px;
}
.btn-google:hover{border-color:var(--muted); background:var(--card);}
.btn-google i{color:#4285F4; font-size:16px;}
.auth-divider{
    display:flex; align-items:center; gap:12px;
    margin:0 0 18px; color:var(--muted); font-size:12.5px;
}
.auth-divider::before, .auth-divider::after{content:''; flex:1; height:1px; background:var(--border);}

/* ==========================================================================
   Profile page
   ========================================================================== */
.profile-header{display:flex; flex-direction:column; align-items:center; gap:10px;}

/* ==========================================================================
   Profile page — SaaS-style card, avatar upload, verification
   ========================================================================== */
.profile-hero{padding-block:44px;}
.profile-card{
    display:flex; align-items:center; gap:22px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1);
    border-radius:var(--radius-lg); padding:24px 28px; flex-wrap:wrap;
}
.profile-card-avatar-form{flex:none;}
.profile-card-avatar-wrap{position:relative; display:block; cursor:pointer; width:88px; height:88px;}
.profile-card-avatar{width:88px; height:88px; border-radius:50%; object-fit:cover; border:2px solid rgba(255,255,255,.2);}
.profile-card-avatar-initials{background:var(--amber); color:var(--ink); display:flex; align-items:center; justify-content:center; font-weight:800; font-family:var(--font-display); font-size:32px;}
.profile-card-avatar-edit{
    position:absolute; bottom:0; inset-inline-end:0; width:28px; height:28px; border-radius:50%;
    background:var(--teal); color:#fff; display:flex; align-items:center; justify-content:center; font-size:11px;
    border:2px solid var(--ink);
}
.profile-card-info{flex:1; min-width:200px;}
.profile-card-info h1{color:#fff; font-size:22px; display:flex; align-items:center; gap:8px;}
.profile-verified-badge{color:var(--teal); font-size:17px;}
.profile-card-title{color:var(--amber); font-size:13.5px; font-weight:600; margin-top:4px;}
.profile-card-city{color:#B9B6AD; font-size:12.5px; margin-top:4px;}
@media (max-width:600px){
    .profile-card{flex-direction:column; text-align:center; padding:22px 18px;}
    .profile-card-info{text-align:center;}
    .profile-card-info h1{justify-content:center;}
}

.profile-verify-row{display:flex; align-items:center; gap:14px; flex-wrap:wrap;}
.profile-verify-code-form{display:flex; gap:8px;}
.profile-verify-code-form input{width:130px; text-align:center; letter-spacing:.1em; font-weight:700;}
.profile-verified-line{color:var(--teal-dark); font-weight:700; font-size:14px; display:flex; align-items:center; gap:8px;}
@media (max-width:560px){.profile-verify-row{flex-direction:column; align-items:stretch;} .profile-verify-code-form{flex-direction:column;}}
.profile-header h1{margin:4px 0 0;}
.profile-header p{color:#C8C5BC; margin:0;}
.avatar-lg{
    width:72px; height:72px; border-radius:50%;
    background:var(--amber); color:var(--ink);
    display:flex; align-items:center; justify-content:center;
    font-family:var(--font-display); font-weight:800; font-size:24px;
}
.profile-section{padding-block:44px 80px;}
.profile-grid{display:grid; grid-template-columns:240px 1fr; gap:36px; align-items:start;}
@media (max-width:780px){.profile-grid{grid-template-columns:1fr; gap:18px;}}
.profile-nav{
    display:flex; flex-direction:column; gap:4px;
    background:#fff; border:1px solid var(--border); border-radius:var(--radius-md);
    padding:10px; position:sticky; top:100px;
}
.profile-nav-item{
    display:flex; align-items:center; gap:10px;
    padding:12px 14px; border-radius:var(--radius-sm);
    border:none; background:transparent; cursor:pointer;
    font-size:14px; font-weight:600; color:var(--graphite); text-align:start;
}
.profile-nav-item i{width:18px; color:var(--muted);}
.profile-nav-item.active{background:var(--card); color:var(--ink);}
.profile-nav-item.active i{color:var(--teal);}
.profile-logout{color:var(--clay);}
.profile-logout i{color:var(--clay);}
.profile-panel{display:none;}
.profile-panel.active{display:block;}

/* الجوال: شريط تبويبات أفقي قابل للتمرير بدل القائمة الجانبية اللاصقة —
   يمنع تغطية المحتوى ويعطي إحساس تنقل عصري بلمسة واحدة */
@media (max-width:780px){
    .profile-nav{
        position:static;
        flex-direction:row;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        gap:8px;
        padding:8px;
        scrollbar-width:none;
    }
    .profile-nav::-webkit-scrollbar{display:none;}
    .profile-nav-item{
        flex:none;
        white-space:nowrap;
        padding:10px 16px;
        border-radius:999px;
        border:1px solid var(--border);
        font-size:13px;
    }
    .profile-nav-item.active{border-color:var(--teal); background:rgba(29,158,117,.08);}
    .profile-nav-item i{width:auto;}
}

/* ==========================================================================
   Dashboards (organizer + admin)
   ========================================================================== */
.dashboard-section{padding-block:44px 80px;}
.stats-cards{
    display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
    margin-bottom:36px;
}
@media (max-width:780px){.stats-cards{grid-template-columns:repeat(2,1fr);}}
.stat-card{
    display:flex; align-items:center; gap:14px;
    background:#fff; border:1px solid var(--border); border-radius:var(--radius-md);
    padding:20px;
}
.stat-card i{
    width:44px; height:44px; flex:none;
    background:var(--card); color:var(--teal);
    border-radius:12px;
    display:flex; align-items:center; justify-content:center;
    font-size:18px;
}
.stat-card-highlight i{background:rgba(201,84,44,.12); color:var(--clay);}
.stat-card-num{display:block; font-family:var(--font-data); font-weight:700; font-size:22px; color:var(--ink);}
.stat-card-label{display:block; font-size:12.5px; color:var(--muted);}

.dashboard-table-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:26px;}
.table-wrap{overflow-x:auto;}
.data-table{width:100%; border-collapse:collapse; font-size:14px;}
.data-table th{
    text-align:start; padding:10px 12px; font-size:12.5px;
    color:var(--muted); text-transform:uppercase; letter-spacing:.03em;
    border-bottom:1px solid var(--border);
}
.data-table td{padding:14px 12px; border-bottom:1px solid var(--border); color:var(--graphite);}
.data-table tr:last-child td{border-bottom:none;}
.cell-title{font-weight:600; color:var(--ink);}
.cell-actions{display:flex; gap:14px; white-space:nowrap;}

.status-pill{display:inline-block; padding:4px 12px; border-radius:999px; font-size:12px; font-weight:700;}
.status-published{background:rgba(29,158,117,.12); color:var(--teal-dark);}
.status-pending{background:rgba(245,166,35,.15); color:var(--amber-dark);}
.status-draft{background:rgba(58,55,51,.08); color:var(--muted);}

.btn-approve{background:var(--teal); color:#fff; padding:8px 16px;}
.btn-approve:hover{background:var(--teal-dark);}
.btn-reject{background:transparent; border-color:var(--border); color:var(--clay); padding:8px 16px;}
.btn-reject:hover{border-color:var(--clay); background:rgba(201,84,44,.08);}

/* ==========================================================================
   About page
   ========================================================================== */
.about-vision{display:flex; gap:24px; align-items:flex-start; max-width:820px; margin-inline:auto;}
.about-vision-icon{
    width:56px; height:56px; flex:none;
    background:var(--card); color:var(--teal);
    border-radius:16px;
    display:flex; align-items:center; justify-content:center;
    font-size:22px;
}
.about-vision p{color:var(--graphite); font-size:16px; max-width:60ch;}

.value-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:28px;}
@media (max-width:780px){.value-grid{grid-template-columns:repeat(2,1fr);}}
.value-card{
    background:var(--ink-soft); border-radius:var(--radius-md);
    padding:24px; text-align:center;
}
.value-card i{font-size:22px; color:var(--amber); margin-bottom:12px; display:block;}
.value-card p{color:#E8E5DC; font-size:14px; margin:0;}

.roles-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:36px;}
@media (max-width:860px){.roles-grid{grid-template-columns:1fr;}}
.role-card{
    background:var(--card); border-radius:var(--radius-md);
    padding:28px; text-align:center;
}
.role-card-accent{background:var(--ink); color:#fff;}
.role-card i{font-size:26px; color:var(--teal); margin-bottom:14px; display:block;}
.role-card-accent i{color:var(--amber);}
.role-card h3{font-size:17px; margin-bottom:8px;}
.role-card-accent h3{color:#fff;}
.role-card p{font-size:14px; color:var(--muted); margin:0;}
.role-card-accent p{color:#C8C5BC;}

.form-row textarea{
    width:100%;
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    background:#fff;
    padding:12px 14px;
    font-family:inherit;
    font-size:14px;
    color:var(--ink);
    resize:vertical;
}

/* ==========================================================================
   Contact page
   ========================================================================== */
.contact-grid{display:grid; grid-template-columns:1.4fr 1fr; gap:36px; align-items:start;}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr;}}
.contact-info-card{background:var(--ink); color:#fff; border-radius:var(--radius-md); padding:28px;}
.contact-info-card h3{color:#fff; font-size:17px; margin-bottom:20px;}
.contact-info-card .info-list i{color:var(--amber);}
.contact-info-card .info-label{color:#B9B6AD;}
.contact-info-card .info-value{color:#fff;}
.social-row-dark a{border-color:rgba(255,255,255,.2); color:#fff;}
.social-row-dark a:hover{border-color:var(--amber); color:var(--amber);}

/* ==========================================================================
   FAQ accordion
   ========================================================================== */
.faq-container{max-width:760px; margin-inline:auto;}
.faq-item{
    border-bottom:1px solid var(--border);
    padding-block:18px;
}
.faq-item summary{
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    cursor:pointer; list-style:none;
    font-weight:700; font-size:16px; color:var(--ink);
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary i{color:var(--muted); transition:transform .2s; flex:none;}
.faq-item[open] summary i{transform:rotate(180deg);}
.faq-item p{color:var(--muted); font-size:14.5px; margin:14px 0 0; max-width:64ch;}

/* ==========================================================================
   Alerts + success state + image previews
   ========================================================================== */
.alert{
    display:flex; gap:12px; align-items:flex-start;
    background:rgba(201,84,44,.08); border:1px solid rgba(201,84,44,.3);
    border-radius:var(--radius-sm); padding:14px 16px; margin-bottom:22px;
}
.alert i{color:var(--clay); margin-top:2px;}
.alert ul{margin:0; padding-inline-start:18px; font-size:14px; color:var(--clay); list-style:disc;}
.alert-error ul{color:#8B3A1F;}
.success-state i{color:var(--teal);}
.upload-hint{font-size:12px; color:var(--muted); margin:-6px 0 4px; text-align:center;}
.event-card-top.has-photo{background-size:cover; background-position:center;}
.event-card-top.has-photo .event-icon{display:none;}
.event-card-top.has-photo::after{
    content:'';
    position:absolute; inset:0;
    z-index:1;
    background:linear-gradient(to top, rgba(20,20,28,.55), rgba(20,20,28,0) 60%);
}
.event-card-top .date-badge{z-index:2;}
.event-card-top{background-size:cover; background-position:center;}

/* ==========================================================================
   Hero — نسخة الصور المتحركة (تُفعّل تلقائياً بمجرد رفع الأدمن لصور الهيدر)
   ========================================================================== */
.hero-photo{background:var(--ink);}
.hero-slides{position:absolute; inset:0; overflow:hidden;}
.hero-slide{
    position:absolute; inset:0;
    background-size:cover; background-position:center;
    opacity:0;
    animation:kenburns 16s ease-in-out infinite;
    transition:opacity 1.4s ease;
}
.hero-slide.active{opacity:1; z-index:1;}
@keyframes kenburns{
    0%   { transform:scale(1); }
    50%  { transform:scale(1.08); }
    100% { transform:scale(1); }
}
.hero-photo-overlay{
    position:absolute; inset:0; z-index:2;
    background:linear-gradient(to bottom, rgba(20,20,28,.55), rgba(20,20,28,.75) 70%, var(--ink) 100%);
}
.hero-photo .hero-content, .hero-photo .search-card{position:relative; z-index:3;}
.hero-photo .hero-arc{z-index:3;}
@media (prefers-reduced-motion: reduce){
    .hero-slide{animation:none;}
}

/* ==========================================================================
   Homepage organizer cards
   ========================================================================== */
.organizers-section{padding-block:64px; background:var(--card);}
.organizers-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:8px;}
@media (max-width:860px){.organizers-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.organizers-grid{grid-template-columns:1fr;}}

.organizer-card{
    background:#fff; border-radius:var(--radius-lg); border:1px solid var(--border);
    overflow:hidden; box-shadow:0 1px 3px rgba(20,20,28,.04);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    display:flex; flex-direction:column;
}
.organizer-card:hover{transform:translateY(-5px); box-shadow:0 20px 40px -14px rgba(20,20,28,.18); border-color:rgba(245,166,35,.4);}
.organizer-card-main{display:block; width:100%; text-align:start; font-family:inherit; background:none; border:none; padding:0; cursor:pointer;}

.organizer-card-cover{
    position:relative; height:130px;
    background:linear-gradient(135deg, var(--ink), var(--ink-soft)) center/cover;
    display:flex; align-items:flex-end; justify-content:center;
}
.organizer-logo-frame{
    position:relative; z-index:1; transform:translateY(50%);
    width:96px; height:68px; border-radius:12px; background:#fff;
    display:flex; align-items:center; justify-content:center; overflow:hidden;
    box-shadow:0 8px 20px rgba(20,20,28,.18); flex:none;
    border:1px solid var(--border);
}
.organizer-logo-frame .organizer-logo{width:100%; height:100%; object-fit:contain; padding:8px;}
.organizer-initials{
    width:100%; height:100%; border-radius:12px;
    background:var(--ink); color:var(--amber);
    display:flex; align-items:center; justify-content:center;
    font-family:var(--font-display); font-weight:800; font-size:22px;
}

.organizer-service-mini{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px;}
.service-mini-chip{
    font-size:10.5px; font-weight:600; color:var(--teal-dark);
    background:rgba(29,158,117,.08); padding:3px 9px; border-radius:999px;
}
.service-mini-more{color:var(--muted); background:var(--card);}

.organizer-card-footer{
    display:flex; gap:8px; padding:14px 16px; border-top:1px solid var(--border); margin-top:auto;
}
.organizer-quick-action{
    flex:1; display:flex; align-items:center; justify-content:center;
    height:38px; border-radius:10px; background:var(--card); color:var(--graphite); font-size:14px;
    text-decoration:none; transition:background .15s, color .15s, transform .15s;
}
.organizer-quick-action:hover{background:var(--ink); color:#fff; transform:translateY(-1px);}
.organizer-quick-action-primary{background:var(--teal); color:#fff;}
.organizer-quick-action-primary:hover{background:var(--teal-dark); color:#fff;}

.org-modal-actions{display:flex; gap:10px; margin-bottom:14px;}
.org-modal-actions .btn{flex:1; justify-content:center; font-size:12.5px; padding:10px 14px;}
.org-modal-actions .btn{flex:1;}
.org-modal-info .info-value a{color:var(--teal-dark); text-decoration:none;}
.org-modal-info .info-value a:hover{text-decoration:underline;}

.organizer-card-body{padding:56px 20px 22px; text-align:center;}
.organizer-card-body h3{
    font-size:15.5px; margin-bottom:2px; color:var(--ink);
    display:flex; align-items:center; justify-content:center; gap:6px;
}
.organizer-verified-check{color:var(--amber); font-size:14px;}
.organizer-verified-label{
    display:block; font-size:10.5px; font-weight:700; color:var(--amber-dark);
    text-transform:uppercase; letter-spacing:.04em; margin-bottom:10px;
}
.organizer-bio{
    font-size:12.5px; line-height:1.6; color:var(--muted); margin:0 0 12px;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
    min-height:2.6em;
}
.organizer-meta-row{display:flex; flex-direction:column; align-items:center; gap:6px; margin-bottom:14px;}
.organizer-rating-row{
    display:flex; align-items:center; justify-content:center; gap:3px;
    padding-top:12px; border-top:1px solid var(--border);
}
.organizer-rating-row .star-filled{color:var(--amber); font-size:12px;}
.organizer-rating-row .star-empty{color:var(--border); font-size:12px;}
.organizer-rating-num{font-size:11px; color:var(--muted); margin-inline-start:6px; font-weight:600;}
.meta-chip{
    display:inline-flex; align-items:center; gap:6px;
    font-size:11.5px; font-weight:600; color:var(--graphite);
    unicode-bidi:isolate;
}
.meta-chip i{
    width:18px; height:18px; border-radius:50%;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:9px; color:#fff; flex:none;
}
.meta-chip i.c-coral-icon{background:var(--clay);}
.meta-chip i.c-teal-icon{background:var(--teal);}

.verified-badge{
    display:inline-flex; align-items:center; gap:5px;
    font-size:10.5px; font-weight:700; color:#fff;
    background:rgba(29,158,117,.9); padding:4px 10px; border-radius:999px;
    backdrop-filter:blur(2px);
}
.service-tag{
    font-size:11px; font-weight:600; color:var(--teal-dark);
    background:rgba(29,158,117,.1); padding:3px 10px; border-radius:999px;
}

/* ==========================================================================
   Organizer detail modal
   ========================================================================== */
.org-modal-backdrop{
    display:none;
    position:fixed; inset:0; z-index:100;
    background:rgba(20,20,28,.6);
    align-items:center; justify-content:center;
    padding:20px;
}
.org-modal-backdrop.open{display:flex;}
.org-modal{
    position:relative;
    background:#fff; border-radius:var(--radius-lg);
    padding:32px; max-width:460px; width:100%;
    max-height:88vh; overflow-y:auto;
}
.org-modal-close{
    position:absolute; top:16px; inset-inline-end:16px;
    width:32px; height:32px; border-radius:50%; border:none;
    background:var(--card); color:var(--muted); cursor:pointer;
    display:flex; align-items:center; justify-content:center;
}
.org-modal-close:hover{background:var(--border); color:var(--ink);}
.org-modal-head{display:flex; align-items:center; gap:14px; margin-bottom:16px;}
.organizer-logo-lg{width:72px; height:72px; font-size:22px; flex:none; border:1px solid var(--border); border-radius:14px; background:#fff; overflow:hidden;}
.organizer-logo-lg img{width:100%; height:100%; border-radius:0; object-fit:contain; padding:6px;}
.org-modal-head h3{font-size:18px; margin-bottom:6px;}
.org-modal-bio{font-size:14px; color:var(--graphite); margin-bottom:20px;}
.org-modal-info{margin-bottom:20px;}
.org-modal-services{margin-bottom:22px;}
.org-modal-services .preview-label{margin-bottom:10px;}

.footer-logo-chip{
    display:inline-flex; align-items:center; justify-content:center;
    background:#fff; border-radius:12px; padding:8px 14px;
}
.footer-logo-chip img{max-height:32px; width:auto; display:block;}

.alert-success{background:rgba(29,158,117,.1); border-color:rgba(29,158,117,.35);}
.alert-success i{color:var(--teal-dark);}
.alert-success ul{color:var(--teal-dark); list-style:none; padding:0;}

.admin-tabs{display:flex; gap:8px; margin-bottom:24px; border-bottom:1px solid var(--border);}
.admin-tab{
    padding:10px 18px; font-size:14px; font-weight:600; color:var(--muted);
    border-bottom:2px solid transparent; margin-bottom:-1px;
}
.admin-tab:hover{color:var(--ink);}
.admin-tab.active{color:var(--ink); border-bottom-color:var(--amber);}
.cell-actions form{display:inline;}

.current-logo-preview{
    background:var(--card); border-radius:var(--radius-sm);
    padding:18px; display:flex; align-items:center; margin-bottom:18px;
}
.current-logo-preview img{max-height:44px; width:auto;}
.inline-upload-form{display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
.inline-upload-form input[type="file"]{font-size:13px; color:var(--muted);}

.hero-images-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); gap:14px; margin-bottom:20px;}
.hero-image-item{position:relative; border-radius:var(--radius-sm); overflow:hidden; aspect-ratio:16/9;}
.hero-image-item img{width:100%; height:100%; object-fit:cover; display:block;}
.hero-image-item form{position:absolute; top:6px; inset-inline-end:6px;}
.hero-image-remove{
    width:28px; height:28px; border-radius:50%; border:none;
    background:rgba(20,20,28,.7); color:#fff; cursor:pointer;
    display:flex; align-items:center; justify-content:center; font-size:12px;
}
.hero-image-remove:hover{background:var(--clay);}

/* ==========================================================================
   Event page v2 — hero
   ========================================================================== */
.ev-hero{
    position:relative; color:#fff; padding-block:26px 34px;
    background-size:cover; background-position:center;
}
.ev-hero.c-coral{background-color:var(--clay);}
.ev-hero.c-teal{background-color:var(--teal);}
.ev-hero.c-clay{background-color:#8B5E3C;}
.ev-hero.c-ink{background-color:var(--ink);}
.ev-hero.has-photo::before{
    content:''; position:absolute; inset:0;
    background:linear-gradient(to top, rgba(15,15,20,.88), rgba(15,15,20,.5) 55%, rgba(15,15,20,.35));
}
.ev-hero .container{position:relative; z-index:1;}
.ev-hero-row{display:flex; align-items:center; gap:20px; margin-top:18px; flex-wrap:wrap;}
.ev-hero-logo{
    height:76px; width:auto; max-width:220px; min-width:76px;
    border-radius:14px; object-fit:contain;
    border:3px solid rgba(255,255,255,.85); box-shadow:0 8px 20px rgba(0,0,0,.25);
    flex:none; background:#fff; padding:6px;
}
.ev-hero-logo-icon{
    width:76px; height:76px; border-radius:18px;
    display:flex; align-items:center; justify-content:center;
    font-size:28px; color:#fff; background:rgba(255,255,255,.15);
}
.ev-hero-text h1{color:#fff; font-size:clamp(24px,4vw,34px); margin:6px 0 10px;}
.ev-hero-meta{display:flex; flex-wrap:wrap; gap:16px; font-size:13.5px; color:rgba(255,255,255,.92);}
.ev-hero-meta span{display:flex; align-items:center; gap:6px;}
.ev-hero-actions{display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:24px;}
.ev-hero-actions .btn-ghost{border-color:rgba(255,255,255,.4);}
.ev-social-row{display:flex; gap:8px; margin-inline-start:auto;}
.ev-social-icon{
    width:36px; height:36px; border-radius:50%;
    background:rgba(255,255,255,.15); color:#fff;
    display:flex; align-items:center; justify-content:center; font-size:14px;
}
.ev-social-icon:hover{background:rgba(255,255,255,.3);}

/* ==========================================================================
   Sticky sub-nav
   ========================================================================== */
.ev-subnav{
    background:#fff; border-bottom:1px solid var(--border);
    position:sticky; top:69px; z-index:39;
    overflow-x:auto;
}
.ev-subnav-inner{display:flex; gap:6px; white-space:nowrap;}
.ev-subnav a, .ev-subnav button{
    padding:14px 16px; font-size:13.5px; font-weight:600; color:var(--muted);
    border-bottom:2px solid transparent; background:none; border-inline:none; border-top:none;
    font-family:inherit; cursor:pointer;
}
.ev-subnav a:hover, .ev-subnav button:hover{color:var(--ink);}
.ev-subnav a.active{color:var(--ink); border-bottom-color:var(--amber);}

/* ==========================================================================
   Event content sections
   ========================================================================== */
.ev-section{margin-bottom:52px; scroll-margin-top:150px;}
.ev-section h2{font-size:21px; margin-bottom:18px;}
.ev-section:first-child p{font-size:15.5px; color:var(--graphite); max-width:62ch;}

.speakers-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(140px,1fr)); gap:18px;}
.speaker-card{text-align:center;}
.speaker-photo{
    width:84px; height:84px; border-radius:50%; object-fit:cover;
    margin-inline:auto; margin-bottom:10px;
}
.speaker-initials{
    background:var(--ink); color:var(--amber);
    display:flex; align-items:center; justify-content:center;
    font-family:var(--font-display); font-weight:800; font-size:26px;
}
.speaker-card h4{font-size:14px; margin-bottom:2px; color:var(--ink);}
.speaker-card p{font-size:12px; color:var(--muted); margin:0;}

.timeline{position:relative; padding-inline-start:24px; border-inline-start:2px solid var(--border);}
.timeline-item{position:relative; padding-bottom:24px;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-dot{
    position:absolute; inset-inline-start:-31px; top:4px;
    width:12px; height:12px; border-radius:50%;
    background:var(--teal); border:3px solid var(--paper);
}
.timeline-time{display:block; font-family:var(--font-data); font-size:12px; font-weight:700; color:var(--teal-dark); margin-bottom:4px;}
.timeline-body h4{font-size:15px; margin-bottom:4px; color:var(--ink);}
.timeline-body p{font-size:13px; color:var(--muted); margin:0;}

.sponsors-row{display:flex; flex-wrap:wrap; gap:16px; align-items:center;}
.sponsor-badge{
    display:flex; align-items:center; justify-content:center;
    background:var(--card); border-radius:var(--radius-sm);
    padding:14px 22px; min-height:64px;
}
.sponsor-badge img{max-height:40px; max-width:140px; object-fit:contain;}
.sponsor-badge span{font-size:13px; font-weight:700; color:var(--graphite);}
.sponsor-badge.tier-platinum{padding:20px 32px; min-height:84px;}
.sponsor-badge.tier-platinum img{max-height:52px; max-width:180px;}
.sponsor-badge.tier-gold img{max-height:44px;}

.gallery-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr)); gap:14px;}
.gallery-item{
    border:none; padding:0; cursor:pointer; border-radius:var(--radius-sm); overflow:hidden;
    aspect-ratio:4/3; background:var(--card);
}
.gallery-item img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s;}
.gallery-item:hover img{transform:scale(1.05);}
.gallery-video{aspect-ratio:16/9; cursor:default;}
.gallery-video iframe{width:100%; height:100%; border:none;}

.lightbox-backdrop{
    display:none; position:fixed; inset:0; z-index:110;
    background:rgba(10,10,14,.92);
    align-items:center; justify-content:center; padding:30px;
}
.lightbox-backdrop.open{display:flex;}
.lightbox-backdrop img{max-width:100%; max-height:88vh; border-radius:var(--radius-sm);}
.lightbox-backdrop .org-modal-close{position:fixed; top:20px; inset-inline-end:20px; background:rgba(255,255,255,.15); color:#fff;}

/* ==========================================================================
   Organizer dashboard — per-event cards with real metrics
   ========================================================================== */
.organizer-events-list{display:flex; flex-direction:column; gap:16px;}
.organizer-event-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:22px;}
.organizer-event-head{display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:18px; flex-wrap:wrap;}
.organizer-event-head h3{font-size:16px; margin-bottom:8px;}
.organizer-metrics-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:14px; border-top:1px solid var(--border); padding-top:16px;}
@media (max-width:860px){.organizer-metrics-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:520px){.organizer-metrics-grid{grid-template-columns:repeat(2,1fr);}}
.metric{text-align:center;}
.metric-num{display:block; font-family:var(--font-data); font-weight:700; font-size:19px; color:var(--ink);}
.metric-label{display:block; font-size:11px; color:var(--muted); margin-top:2px;}

/* ==========================================================================
   Ticket selection (register.php)
   ========================================================================== */
.ticket-options{display:flex; flex-direction:column; gap:10px;}
.ticket-option{
    display:flex; align-items:center; gap:12px;
    border:1.5px solid var(--border); border-radius:var(--radius-sm);
    padding:14px 16px; cursor:pointer; transition:border-color .2s;
}
.ticket-option:has(input:checked){border-color:var(--teal); background:rgba(29,158,117,.05);}
.ticket-option.disabled{opacity:.5; cursor:not-allowed;}
.ticket-option-name{font-weight:700; font-size:14px; color:var(--ink); flex:1;}
.ticket-option-price{font-family:var(--font-data); font-weight:700; color:var(--teal-dark); font-size:13.5px;}
.ticket-option-soldout{font-size:11px; color:var(--clay); font-weight:700;}

/* ==========================================================================
   Profile — my events, ratings
   ========================================================================== */
.my-events-list{display:flex; flex-direction:column; gap:14px;}
.my-event-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:18px 20px;}
.my-event-info h4{font-size:15px; margin-bottom:4px;}
.my-event-info p{font-size:12.5px; color:var(--muted); margin:0;}
.my-event-actions{display:flex; gap:16px; margin-top:12px; flex-wrap:wrap;}
.rate-form{display:flex; align-items:center; gap:10px; margin-top:14px; padding-top:14px; border-top:1px solid var(--border); flex-wrap:wrap;}
.rate-form input[type="text"]{
    flex:1; min-width:160px; height:36px; border:1px solid var(--border); border-radius:var(--radius-sm);
    padding:0 12px; font-family:inherit; font-size:13px;
}
.star-rating{display:flex; flex-direction:row-reverse; gap:2px;}
.star-rating input{display:none;}
.star-rating label{font-size:18px; color:var(--border); cursor:pointer;}
.star-rating input:checked ~ label,
.star-rating label:hover,
.star-rating label:hover ~ label{color:var(--amber);}

.admin-preview-banner{background:var(--ink); border-bottom:2px solid var(--amber);}
.admin-preview-inner{display:flex; align-items:center; gap:16px; padding-block:10px; color:#fff; font-size:13.5px; flex-wrap:wrap;}
.admin-preview-inner i{color:var(--amber);}

.admin-review-row{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.reject-form{display:flex; align-items:center; gap:6px;}
.reject-form input[type="text"]{
    height:34px; border:1px solid var(--border); border-radius:var(--radius-sm);
    padding:0 10px; font-size:12.5px; width:150px; font-family:inherit;
}
.inline-role-form select{
    height:32px; border:1px solid var(--border); border-radius:var(--radius-sm);
    padding:0 8px; font-size:12.5px; font-family:inherit; background:#fff;
}

.terms-box{
    background:var(--card); border-radius:var(--radius-sm);
    padding:18px; margin-top:8px;
}
.terms-box h3{font-size:14px; margin-bottom:8px;}
.terms-box p{font-size:12.5px; color:var(--muted); line-height:1.8; margin:0 0 14px;}
.terms-box .checkbox-label{font-size:13px; font-weight:600; color:var(--ink);}

.mock-gateway-banner{
    display:flex; align-items:center; gap:10px;
    background:rgba(245,166,35,.12); border:1px solid rgba(245,166,35,.35);
    border-radius:var(--radius-sm); padding:12px 16px; margin-bottom:18px;
    font-size:13px; color:var(--amber-dark); font-weight:600;
}
.mock-gateway-banner i{font-size:16px;}
.order-summary-row{display:flex; justify-content:space-between; font-size:13.5px; padding:8px 0; color:var(--graphite);}
.order-summary-total{border-top:1px solid var(--border); margin-top:6px; padding-top:12px; font-size:15px; color:var(--ink);}

.payment-method-options{display:flex; gap:12px; flex-wrap:wrap;}
.payment-method-option{
    flex:1; min-width:160px;
    display:flex; flex-direction:column; align-items:center; gap:8px;
    border:1.5px solid var(--border); border-radius:var(--radius-sm);
    padding:16px; cursor:pointer; text-align:center;
    transition:border-color .2s, background .2s;
}
.payment-method-option i{font-size:20px; color:var(--muted);}
.payment-method-option span{font-size:13px; font-weight:600; color:var(--graphite);}
.payment-method-option:has(input:checked){border-color:var(--teal); background:rgba(29,158,117,.06);}
.payment-method-option:has(input:checked) i{color:var(--teal);}

/* ==========================================================================
   Organizer features showcase
   ========================================================================== */
.features-section{position:relative; background:var(--ink); padding-block:76px 90px; overflow:hidden;}
.features-arc{position:absolute; inset-inline:0; top:0; height:160px; opacity:.6;}
.features-arc svg{width:100%; height:100%;}
.features-headline{
    position:relative; text-align:center; max-width:760px; margin:0 auto 52px;
    font-size:clamp(22px,3.4vw,32px); color:#fff; line-height:1.6; font-weight:800;
}
.features-headline span{display:block; color:#B9B6AD; font-size:.72em; font-weight:600; margin-top:10px;}

.features-grid{
    position:relative;
    display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
}
@media (max-width:960px){.features-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.features-grid{grid-template-columns:1fr;}}

.feature-card{
    position:relative; overflow:hidden;
    background:var(--ink-soft); border:1px solid rgba(250,247,241,.08);
    border-radius:var(--radius-md); padding:26px 22px;
    opacity:0; transform:translateY(22px);
    transition:opacity .55s ease, transform .55s ease, border-color .25s ease, background .25s ease;
}
.feature-card.in-view{opacity:1; transform:translateY(0);}
.feature-card:hover{border-color:rgba(245,166,35,.4); background:#292933;}
.feature-num{
    position:absolute; top:8px; inset-inline-end:14px;
    font-family:var(--font-data); font-weight:800; font-size:38px;
    color:rgba(250,247,241,.06); line-height:1; pointer-events:none;
}
.feature-icon{
    width:42px; height:42px; border-radius:12px;
    background:rgba(245,166,35,.12); color:var(--amber);
    display:flex; align-items:center; justify-content:center; font-size:17px;
    margin-bottom:16px; position:relative;
}
.feature-sub{
    display:block; font-family:var(--font-data); font-size:11px; font-weight:700;
    color:var(--teal); text-transform:uppercase; letter-spacing:.03em; margin-bottom:6px;
}
.feature-card h3{color:#fff; font-size:16px; margin-bottom:8px;}
.feature-card p{color:#B9B6AD; font-size:13px; line-height:1.7; margin:0;}

@media (prefers-reduced-motion: reduce){
    .feature-card{transition:none; opacity:1; transform:none;}
}

/* ==========================================================================
   Audience Cloud
   ========================================================================== */
.event-picker-form{display:flex; align-items:center; gap:12px; margin-bottom:24px; flex-wrap:wrap;}
.event-picker-form label{font-size:13px; font-weight:700; color:var(--muted);}
.event-picker-form select{
    height:42px; border:1px solid var(--border); border-radius:var(--radius-sm);
    padding:0 14px; font-family:inherit; font-size:14px; background:#fff; min-width:240px;
}
.interest-chips{display:flex; flex-wrap:wrap; gap:10px;}
.interest-chip{
    display:flex; align-items:center; gap:8px;
    border:1.5px solid var(--border); border-radius:999px;
    padding:9px 16px; cursor:pointer; font-size:13px; font-weight:600; color:var(--graphite);
    transition:border-color .2s, background .2s;
}
.interest-chip input{display:none;}
.interest-chip i{color:var(--muted); font-size:13px;}
.interest-chip:has(input:checked){border-color:var(--teal); background:rgba(29,158,117,.08); color:var(--teal-dark);}
.interest-chip:has(input:checked) i{color:var(--teal);}

.audience-stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin:24px 0;}
@media (max-width:860px){.audience-stats-grid{grid-template-columns:repeat(2,1fr);}}
.audience-stat-card{
    background:var(--ink); color:#fff; border-radius:var(--radius-md);
    padding:22px 18px; text-align:center;
}
.audience-stat-card i{font-size:18px; color:var(--amber); margin-bottom:10px; display:block;}
.audience-stat-num{display:block; font-family:var(--font-data); font-weight:800; font-size:26px;}
.audience-stat-label{display:block; font-size:11.5px; color:#B9B6AD; margin-top:6px; line-height:1.5;}
.audience-stat-pct{display:block; font-size:10.5px; color:var(--teal); font-weight:700; margin-top:4px;}
.audience-stat-highlight{background:var(--teal);}
.audience-stat-highlight i{color:#fff;}
.audience-stat-highlight .audience-stat-label{color:rgba(255,255,255,.85);}

/* ==========================================================================
   Poster studio — 5 templates, native canvas rendering
   ========================================================================== */
.poster-template-row{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:22px;}
.poster-template-btn{
    display:flex; flex-direction:column; align-items:center; gap:8px;
    background:#fff; border:1.5px solid var(--border); border-radius:var(--radius-sm);
    padding:10px; font-family:inherit; font-size:11.5px; font-weight:700; color:var(--muted); cursor:pointer;
    width:84px;
}
.poster-template-btn.active{border-color:var(--teal); color:var(--teal-dark); background:rgba(29,158,117,.06);}
.poster-template-thumb{width:100%; height:52px; border-radius:6px; display:block; background:var(--ink);}
.poster-template-thumb.tpl-2{background:linear-gradient(135deg, var(--paper), var(--border));}
.poster-template-thumb.tpl-3{background:linear-gradient(135deg, var(--teal), var(--teal-dark));}
.poster-template-thumb.tpl-4{background:linear-gradient(135deg, var(--clay), #8B5E3C);}
.poster-template-thumb.tpl-5{background:linear-gradient(135deg, var(--amber), var(--amber-dark));}

.poster-studio-layout{display:grid; grid-template-columns:1fr 340px; gap:28px; align-items:start;}
@media (max-width:960px){.poster-studio-layout{grid-template-columns:1fr;}}
.poster-preview-wrap{display:flex; justify-content:center; position:sticky; top:100px;}
.poster-controls{display:flex; flex-direction:column; gap:16px;}

.poster-row-controls{display:flex; flex-direction:column; gap:14px; margin-bottom:22px;}
.poster-size-row{display:flex; gap:8px; flex-wrap:wrap;}
.poster-size-btn{
    padding:9px 16px; border:1.5px solid var(--border); border-radius:999px;
    background:#fff; font-family:inherit; font-size:12.5px; font-weight:700; color:var(--muted); cursor:pointer;
}
.poster-size-btn.active{border-color:var(--amber-dark); color:var(--amber-dark); background:rgba(245,166,35,.08);}

.poster-canvas-el{
    width:100%; max-width:420px; height:auto; max-height:640px;
    border-radius:18px; box-shadow:var(--shadow-card); background:var(--ink);
    object-fit:contain;
}

.color-input{height:42px; padding:4px; cursor:pointer;}
.poster-icon-options{display:flex; flex-wrap:wrap; gap:8px;}
.poster-icon-btn{
    width:40px; height:40px; border-radius:10px; border:1.5px solid var(--border);
    background:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:17px;
}
.poster-icon-btn.active{border-color:var(--teal); background:rgba(29,158,117,.08);}

.sponsor-chips{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px;}
.sponsor-chip{position:relative; display:inline-block;}
.sponsor-chip img{width:44px; height:44px; object-fit:contain; background:var(--card); border-radius:8px; padding:4px;}
.sponsor-chip button{
    position:absolute; top:-6px; inset-inline-end:-6px;
    width:18px; height:18px; border-radius:50%; border:none;
    background:var(--clay); color:#fff; font-size:9px; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
}

.header-points-mini{
    display:flex; align-items:center; gap:6px;
    background:rgba(245,166,35,.15); color:var(--amber);
    padding:7px 12px; border-radius:999px; font-weight:700; font-size:12px;
}
.header-points-mini:hover{background:rgba(245,166,35,.25);}

.bell-link{
    position:relative; color:var(--paper); font-size:16px;
    width:38px; height:38px; display:flex; align-items:center; justify-content:center;
    border-radius:50%; transition:background .2s;
}
.bell-link:hover{background:rgba(250,247,241,.1);}
.bell-badge{
    position:absolute; top:2px; inset-inline-end:2px;
    background:var(--clay); color:#fff; font-size:9px; font-weight:800;
    min-width:15px; height:15px; border-radius:999px;
    display:flex; align-items:center; justify-content:center; padding:0 3px;
}

/* ==========================================================================
   Check-in station
   ========================================================================== */
.checkin-stats-row{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:24px;}
.checkin-stat{background:var(--ink); color:#fff; border-radius:var(--radius-md); padding:20px; text-align:center;}
.checkin-stat-good{background:var(--teal);}
.checkin-stat-num{display:block; font-family:var(--font-data); font-weight:800; font-size:30px;}
.checkin-stat-label{display:block; font-size:12px; color:rgba(255,255,255,.8); margin-top:4px;}

.checkin-panel{margin-top:20px;}
.checkin-camera-wrap{
    position:relative; width:100%; max-width:420px; margin-inline:auto;
    aspect-ratio:1/1; border-radius:var(--radius-md); overflow:hidden; background:var(--ink);
}
.checkin-camera-wrap video{width:100%; height:100%; object-fit:cover;}

.checkin-result{
    display:flex; align-items:flex-start; gap:14px;
    border-radius:var(--radius-md); padding:18px 20px; margin:20px 0;
    font-size:14px;
}
.checkin-result i{font-size:24px; margin-top:2px;}
.checkin-result p{margin:4px 0 0; font-size:13px; opacity:.85;}
.checkin-result-ok{background:rgba(29,158,117,.1); color:var(--teal-dark);}
.checkin-result-ok i{color:var(--teal);}
.checkin-result-error{background:rgba(201,84,44,.1); color:#8B3A1F;}
.checkin-result-error i{color:var(--clay);}

.checkin-confirm-card{border:2px solid var(--teal); margin-bottom:20px;}
.checkin-confirm-body{text-align:center; margin-bottom:16px;}
.checkin-confirm-body strong{font-size:17px;}

/* ==========================================================================
   Expoints — loyalty program
   ========================================================================== */
.header-points-chip{
    display:inline-flex; align-items:center; gap:8px; margin-top:12px;
    background:rgba(245,166,35,.15); color:var(--amber);
    padding:8px 18px; border-radius:999px; font-weight:700; font-size:13px;
}
.points-nav-badge{
    margin-inline-start:auto; background:var(--amber); color:var(--ink);
    font-size:10.5px; font-weight:800; padding:2px 8px; border-radius:999px;
}
.points-rules-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:24px;}
@media (max-width:780px){.points-rules-grid{grid-template-columns:repeat(2,1fr);}}
.points-rule-card{background:var(--card); border-radius:var(--radius-md); padding:22px; text-align:center;}
.points-rule-card i{font-size:22px; color:var(--teal); margin-bottom:10px; display:block;}
.points-rule-pts{display:block; font-family:var(--font-data); font-weight:800; font-size:20px; color:var(--ink); margin-bottom:6px;}
.points-rule-card p{font-size:12.5px; color:var(--muted); margin:0;}
.points-rule-highlight{background:var(--ink);}
.points-rule-highlight i{color:var(--amber);}
.points-rule-highlight .points-rule-pts{color:var(--amber);}
.points-rule-highlight p{color:#C8C5BC;}

.points-balance-card{
    display:flex; align-items:center; gap:18px;
    background:var(--ink); color:#fff; border-radius:var(--radius-md);
    padding:24px; margin-bottom:20px;
}
.points-balance-card i{font-size:30px; color:var(--amber);}
.points-balance-card > div{flex:1;}
.points-balance-num{display:block; font-family:var(--font-data); font-weight:800; font-size:28px;}
.points-balance-label{display:block; font-size:12.5px; color:#B9B6AD; margin-top:2px;}

.rewards-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:16px;}
.reward-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:20px; position:relative;}
.reward-card-locked{opacity:.6;}
.reward-type-badge{
    display:inline-block; font-size:10.5px; font-weight:700; color:var(--teal-dark);
    background:rgba(29,158,117,.1); padding:3px 10px; border-radius:999px; margin-bottom:10px;
}
.reward-card h3{font-size:15px; margin-bottom:6px;}
.reward-desc{font-size:12.5px; color:var(--muted); margin:0 0 8px;}
.reward-sponsor{font-size:11.5px; color:var(--muted); margin:0 0 10px; font-style:italic;}
.reward-cost{display:block; font-family:var(--font-data); font-weight:800; font-size:17px; color:var(--amber-dark);}

.points-steps-row{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:26px;}
@media (max-width:780px){.points-steps-row{grid-template-columns:repeat(2,1fr);}}
.points-step{text-align:center; position:relative;}
.points-step-num{
    display:flex; align-items:center; justify-content:center;
    width:38px; height:38px; border-radius:50%; margin:0 auto 12px;
    background:var(--ink); color:var(--amber); font-family:var(--font-data); font-weight:800; font-size:16px;
}
.points-step h3{font-size:14.5px; margin-bottom:6px;}
.points-step p{font-size:12.5px; color:var(--muted); margin:0;}
.points-examples-icons{display:flex; justify-content:center; gap:18px; margin-top:26px;}
.points-examples-icons span{
    width:52px; height:52px; border-radius:50%; background:#fff;
    display:flex; align-items:center; justify-content:center; color:var(--teal); font-size:18px;
    box-shadow:var(--shadow-card);
}

.expoints-card{
    position:relative; overflow:hidden;
    max-width:460px; margin-inline:auto;
    aspect-ratio:16/9.5;
    border-radius:20px;
    padding:26px 28px;
    background:
        radial-gradient(circle at 85% 15%, rgba(245,166,35,.18), transparent 55%),
        linear-gradient(135deg, #1c1c22 0%, #0a0a0d 55%, #14141a 100%);
    border:1px solid rgba(245,166,35,.35);
    box-shadow:0 25px 50px -18px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.06);
    display:flex; flex-direction:column; justify-content:space-between;
    color:#fff;
    font-family:'Almarai','Plus Jakarta Sans',sans-serif;
}
.expoints-card-shine{
    position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(115deg, transparent 40%, rgba(245,166,35,.10) 50%, transparent 60%);
}
.expoints-card-arc{position:absolute; top:0; inset-inline:0; height:70px; width:100%; opacity:.7;}
.expoints-card-top{position:relative; display:flex; align-items:center; justify-content:space-between;}
.expoints-card-logo{
    font-weight:800; font-size:19px; letter-spacing:.02em;
    background:linear-gradient(90deg, #F5D68A, #F5A623 55%, #C97F0D);
    -webkit-background-clip:text; background-clip:text; color:transparent;
    display:inline-flex; align-items:center; gap:4px;
}
.expoints-card-dot{width:6px; height:6px; border-radius:50%; background:#F5A623; display:inline-block;}
.expoints-card-chip{
    width:38px; height:28px; border-radius:6px;
    background:linear-gradient(135deg, #F5D68A, #C97F0D 60%, #8a5a08);
    position:relative;
}
.expoints-card-chip::before, .expoints-card-chip::after{
    content:''; position:absolute; inset-inline:6px; height:1px; background:rgba(0,0,0,.35);
}
.expoints-card-chip::before{top:9px;}
.expoints-card-chip::after{top:18px;}

.expoints-card-mid{position:relative; margin-block:10px;}
.expoints-card-label{
    display:block; font-family:var(--font-data); font-size:10.5px; font-weight:700;
    letter-spacing:.08em; color:#D9BB7A; margin-bottom:8px; text-transform:uppercase;
}
.expoints-card-label-alt{opacity:.6; font-weight:500;}
.expoints-card-num{
    display:block; font-family:var(--font-data); font-weight:800; font-size:clamp(30px,7vw,42px);
    background:linear-gradient(90deg, #fff, #F5D68A 70%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
    letter-spacing:.01em;
}

.expoints-card-bottom{position:relative; display:flex; align-items:flex-end; justify-content:space-between; gap:14px;}
.expoints-card-holder{display:flex; flex-direction:column; gap:4px; min-width:0;}
.expoints-card-holder-label{font-size:9px; letter-spacing:.06em; color:#9a9690; text-transform:uppercase;}
.expoints-card-holder-name{font-size:15px; font-weight:700; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.expoints-card-tier{
    display:inline-flex; align-items:center; gap:6px; flex:none;
    font-family:var(--font-data); font-size:10.5px; font-weight:800; letter-spacing:.05em;
    color:#0a0a0d; background:linear-gradient(90deg, #F5D68A, #F5A623);
    padding:6px 12px; border-radius:999px;
}

/* ==========================================================================
   Expoint Sponsorship Hub
   ========================================================================== */
.sponsor-packages-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(240px,1fr)); gap:16px;}
.sponsor-package-card{
    background:#fff; border:2px solid var(--border); border-radius:var(--radius-md);
    padding:22px; text-align:center; position:relative;
}
.sponsor-package-card.tier-platinum{border-color:#B9B6AD; background:linear-gradient(180deg,#fff,#F5F4F1);}
.sponsor-package-card.tier-gold{border-color:var(--amber);}
.sponsor-package-card.tier-silver{border-color:#C8C5BC;}
.sponsor-package-card.tier-partner{border-color:var(--teal);}
.sponsor-package-tier{
    display:inline-block; font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
    color:var(--muted); margin-bottom:8px;
}
.sponsor-package-price{display:block; font-family:var(--font-data); font-weight:800; font-size:24px; color:var(--ink); margin-bottom:12px;}
.sponsor-package-card p{font-size:13px; color:var(--graphite); line-height:1.7; margin-bottom:14px;}

.match-score-badge{
    display:inline-block; font-family:var(--font-data); font-weight:800; font-size:14px;
    padding:4px 12px; border-radius:999px; background:var(--card); color:var(--graphite);
}
.match-score-high{background:rgba(29,158,117,.12); color:var(--teal-dark);}
.match-recommended{font-size:10.5px; font-weight:700; color:var(--teal-dark); text-transform:uppercase; letter-spacing:.03em;}

.coming-soon-badge{
    display:inline-block; background:rgba(245,166,35,.15); color:var(--amber-dark);
    font-size:12px; font-weight:700; padding:6px 16px; border-radius:999px; margin-bottom:16px;
}

.booths-modal{max-width:640px;}
.booths-modal-floorplan{width:100%; border-radius:var(--radius-sm); margin-bottom:6px;}
.booths-modal-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(150px,1fr)); gap:10px;}
.booth-mini-card{
    background:var(--card); border:1px solid var(--border); border-radius:var(--radius-sm);
    padding:12px; text-align:center;
}
.booth-mini-tier{display:block; font-size:11px; font-weight:700; color:var(--muted); margin-bottom:4px;}
.booth-mini-price{display:block; font-family:var(--font-data); font-weight:800; font-size:15px; color:var(--ink); margin-bottom:6px;}
.booth-mini-card p{font-size:10.5px; color:var(--muted); margin:0 0 8px; line-height:1.5;}
.booth-mini-form{display:flex; flex-direction:column; gap:6px;}
.booth-mini-form input[type="text"]{
    height:32px; border:1px solid var(--border); border-radius:var(--radius-sm);
    padding:0 8px; font-size:12px; text-align:center; font-family:inherit;
}

.booth-legend{display:flex; flex-wrap:wrap; gap:14px; margin-bottom:18px;}
.booth-legend-item{display:flex; align-items:center; gap:6px; font-size:12.5px; color:var(--graphite); font-weight:600;}
.booth-legend-dot{width:10px; height:10px; border-radius:3px; background:var(--teal); display:inline-block;}

.booth-hall-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(76px,1fr)); gap:10px;}
.booth-unit{
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
    aspect-ratio:1/1; border-radius:10px; border:1.5px solid var(--border);
    font-family:var(--font-data); text-decoration:none;
}
.booth-unit-num{font-weight:800; font-size:14px;}
.booth-unit-price{font-size:10px; opacity:.8;}
.booth-unit-available{background:rgba(29,158,117,.08); border-color:var(--teal); color:var(--teal-dark); cursor:pointer; transition:transform .15s;}
.booth-unit-available:hover{transform:translateY(-2px); background:rgba(29,158,117,.16);}
.booth-unit-pending{background:rgba(245,166,35,.1); border-color:var(--amber); color:var(--amber-dark); cursor:not-allowed;}
.booth-unit-booked{background:var(--card); border-color:var(--border); color:var(--muted); cursor:not-allowed;}

.booth-admin-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(64px,1fr)); gap:8px;}
.booth-admin-unit{
    position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center;
    aspect-ratio:1/1; border-radius:8px; font-family:var(--font-data); font-size:12px; font-weight:700;
    border:1px solid var(--border);
}
.booth-admin-available{background:rgba(29,158,117,.08); color:var(--teal-dark);}
.booth-admin-pending{background:rgba(245,166,35,.1); color:var(--amber-dark);}
.booth-admin-booked{background:var(--card); color:var(--muted);}
.booth-admin-unit small{font-size:9px; opacity:.75; font-weight:600;}
.booth-admin-delete{
    position:absolute; top:-6px; inset-inline-end:-6px;
    width:16px; height:16px; border-radius:50%; border:none;
    background:var(--clay); color:#fff; font-size:8px; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
}

.booth-category-section{
    border-radius:var(--radius-lg); padding:22px; margin-bottom:22px;
    border:1.5px solid var(--border); border-inline-start:5px solid var(--teal);
    background:#fff;
}
.booth-cat-coral{border-inline-start-color:var(--clay);}
.booth-cat-teal{border-inline-start-color:var(--teal);}
.booth-cat-amber{border-inline-start-color:var(--amber);}
.booth-cat-ink{border-inline-start-color:var(--ink);}
.booth-cat-clay{border-inline-start-color:#8B5E3C;}

.booth-category-head{display:flex; align-items:center; gap:16px; margin-bottom:18px; flex-wrap:wrap;}
.booth-category-image{width:64px; height:64px; border-radius:12px; object-fit:cover; flex:none;}
.booth-category-head h2{font-size:18px; margin-bottom:4px;}
.booth-category-head p{font-size:12.5px; color:var(--muted); margin:0 0 4px;}
.booth-category-count{font-size:11.5px; font-weight:700; color:var(--teal-dark);}

.booth-unit-occupant{font-size:8.5px; opacity:.85; max-width:90%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.booth-pdf-list{display:flex; flex-wrap:wrap; gap:10px;}
.booth-pdf-list-spaced{margin-top:16px; padding-top:16px; border-top:1px solid var(--border);}

/* ==========================================================================
   Expoint Marketplace
   ========================================================================== */
.mkt-filters-bar{
    display:flex; gap:10px; flex-wrap:wrap; align-items:center;
    background:#fff; border:1px solid var(--border); border-radius:var(--radius-md);
    padding:14px; margin-bottom:26px;
}
.mkt-filter-search{flex:1; min-width:180px; height:42px; border:1px solid var(--border); border-radius:var(--radius-sm); padding:0 14px;}
.mkt-filters-bar select{height:42px; border:1px solid var(--border); border-radius:var(--radius-sm); padding:0 10px; font-family:inherit;}

.mkt-requests-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(280px,1fr)); gap:18px;}
.mkt-request-card{
    background:#fff; border:1px solid var(--border); border-radius:var(--radius-md);
    padding:20px; display:flex; flex-direction:column; gap:8px;
}
.mkt-request-top{display:flex; align-items:center; justify-content:space-between;}
.mkt-request-cat{font-size:11px; font-weight:700; color:var(--teal-dark); background:rgba(29,158,117,.08); padding:3px 10px; border-radius:999px;}
.mkt-request-card h3{font-size:16px; margin:4px 0 0;}
.mkt-request-requester{font-size:12px; color:var(--muted); margin:0;}
.mkt-request-meta{display:flex; gap:14px; flex-wrap:wrap; font-size:12px; color:var(--graphite);}
.mkt-request-stats{display:flex; gap:16px; font-size:12.5px; color:var(--graphite); margin-top:4px;}
.mkt-request-deadline{font-size:11.5px; color:var(--amber-dark); margin:4px 0 0;}
.mkt-request-actions{display:flex; gap:8px; margin-top:10px;}
.mkt-offers-detail{display:grid; gap:16px; margin-top:20px;}

.mkt-teaser-section{
    position:relative; padding-block:80px; overflow:hidden;
    background:radial-gradient(circle at 15% 20%, rgba(200,90,48,.35), transparent 55%), linear-gradient(135deg, var(--ink) 0%, #241a2e 100%);
}
.mkt-teaser-arc{position:absolute; top:0; inset-inline:0; height:100px; opacity:.6;}
.mkt-teaser-head{
    position:relative; display:flex; align-items:center;
    gap:32px; max-width:760px; margin-inline:auto; text-align:start;
}
@media (max-width:700px){.mkt-teaser-head{flex-direction:column; text-align:center;}}
.mkt-teaser-icon{
    flex:none; width:88px; height:88px; border-radius:22px;
    background:linear-gradient(135deg, var(--amber), var(--clay));
    display:flex; align-items:center; justify-content:center;
    font-size:34px; color:#fff;
    box-shadow:0 16px 36px -12px rgba(245,166,35,.5);
}
.mkt-teaser-copy{flex:1;}
.mkt-teaser-head h2{color:#fff; font-size:clamp(22px,3vw,30px); max-width:560px; margin:6px 0 10px;}
.mkt-teaser-sub{font-size:14.5px; color:#C8C5BC; max-width:520px; margin-bottom:20px;}
.mkt-teaser-actions{display:flex; gap:12px; flex-wrap:wrap;}
@media (max-width:700px){.mkt-teaser-actions{justify-content:center;}}
.mkt-teaser-btn-primary{
    background:var(--amber); color:var(--ink); font-weight:700; border-radius:999px;
    padding:13px 26px; transition:transform .15s, box-shadow .15s;
}
.mkt-teaser-btn-primary:hover{transform:translateY(-2px); box-shadow:0 12px 24px -10px rgba(245,166,35,.55);}
.mkt-teaser-btn-ghost{
    background:rgba(255,255,255,.08); color:#fff; border:1.5px solid rgba(255,255,255,.35);
    font-weight:600; border-radius:999px; padding:13px 24px; transition:background .15s;
}
.mkt-teaser-btn-ghost:hover{background:rgba(255,255,255,.16);}

.account-type-toggle{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.account-type-option{
    display:flex; align-items:center; justify-content:center; gap:8px;
    border:1.5px solid var(--border); border-radius:var(--radius-sm);
    padding:12px; cursor:pointer; font-size:13.5px; font-weight:600; color:var(--graphite);
    transition:border-color .15s, background .15s;
}
.account-type-option input{position:absolute; opacity:0; width:0; height:0;}
.account-type-option:has(input:checked){border-color:var(--teal); background:rgba(29,158,117,.06); color:var(--teal-dark);}

/* ==========================================================================
   EXPOINT Speakers Hub
   ========================================================================== */
.sph-hero{
    position:relative; padding-block:70px 60px; text-align:center;
    background:linear-gradient(160deg, var(--ink), var(--ink-soft));
    background-size:cover; background-position:center;
}
.sph-hero-content{max-width:680px; margin-inline:auto; position:relative;}
.sph-hero h1{color:#fff; font-size:clamp(26px,4vw,38px); margin:6px 0 12px;}
.sph-hero .hero-subtitle{color:#D9D6CE; margin-bottom:22px;}

.sph-filterbar{background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); margin-bottom:24px; overflow:hidden;}
.sph-filterbar-toggle{
    width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px;
    background:none; border:none; padding:16px 20px; cursor:pointer; font-size:13.5px; font-weight:700; color:var(--ink);
}
.sph-filterbar-toggle > span:first-child{display:flex; align-items:center; gap:8px;}
.sph-filterbar-toggle i:first-child{color:var(--teal);}
.sph-filterbar-badge{background:var(--amber); color:var(--ink); font-size:10.5px; font-weight:800; padding:2px 8px; border-radius:999px; margin-inline-start:6px;}
.sph-filterbar-panel{display:none; padding:0 20px 20px; border-top:1px solid var(--border);}
.sph-filterbar-panel.open{display:block;}
.sph-filterbar-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:14px; margin-top:18px;}
.sph-fee-options{display:flex; flex-direction:column; gap:6px;}
.sph-fee-radio{display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--graphite); cursor:pointer;}
.sph-filterbar-actions{display:flex; gap:10px; margin-top:18px;}
@media (max-width:600px){.sph-filterbar-grid{grid-template-columns:1fr;}}

.sph-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;}
@media (max-width:1100px){.sph-grid{grid-template-columns:repeat(2, 1fr);}}
@media (max-width:600px){.sph-grid{grid-template-columns:1fr;}}

.sph-card{
    background:#fff; border:1px solid var(--border); border-radius:var(--radius-md);
    padding:20px; display:flex; flex-direction:column; gap:12px;
    transition:transform .2s, box-shadow .2s;
}
.sph-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-card);}
.sph-card-head{display:flex; align-items:flex-start; gap:12px;}
.sph-avatar{width:56px; height:56px; border-radius:50%; object-fit:cover; flex:none;}
.sph-avatar-initials{
    background:var(--ink); color:var(--amber); display:flex; align-items:center; justify-content:center;
    font-family:var(--font-display); font-weight:800; font-size:20px;
}
.sph-card-head h3{font-size:15px; margin-bottom:2px;}
.sph-card-title{font-size:12px; color:var(--graphite); margin:0 0 4px;}
.sph-card-region{font-size:11px; color:var(--muted);}
.sph-card-bio{font-size:12.5px; color:var(--graphite); line-height:1.7; margin:0;}
.sph-tags{display:flex; flex-wrap:wrap; gap:6px;}
.sph-tag{font-size:10.5px; font-weight:600; color:var(--ink); background:var(--card); padding:4px 10px; border-radius:6px; border:1px solid var(--border);}
.sph-tag-more{color:var(--muted);}
.sph-card-footer{display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:12px; border-top:1px solid var(--border); margin-top:auto;}
.sph-fee{font-size:12px; font-weight:700; color:var(--teal-dark); display:flex; align-items:center; gap:5px;}

.sph-card-v2{padding:0; overflow:hidden;}
.sph-cover{
    position:relative; height:150px; background-size:cover; background-position:center top;
    background-color:var(--card); display:flex; align-items:flex-end;
    padding:14px 16px;
}
.sph-cover::after{
    content:''; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(20,20,28,0) 40%, rgba(20,20,28,.75) 100%);
}
.sph-cover-initials{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    font-family:var(--font-display); font-weight:800; font-size:36px; color:var(--amber); background:var(--ink);
}
.sph-verified-badge{
    position:absolute; top:12px; inset-inline-end:12px; z-index:2;
    width:24px; height:24px; border-radius:50%; background:#2563EB; color:#fff;
    display:flex; align-items:center; justify-content:center; font-size:11px;
    box-shadow:0 2px 6px rgba(0,0,0,.25);
}
.sph-cover-name{position:relative; z-index:1; color:#fff;}
.sph-cover-name h3{font-size:16px; margin:0; color:#fff;}
.sph-name-en{font-size:11px; color:#D9D6CE; display:block;}

.sph-card-v2-body{padding:16px;}
.sph-card-v2-footer{display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:12px; border-top:1px solid var(--border); margin-top:12px;}
.sph-fee-v2{font-size:12px; font-weight:700; color:var(--graphite);}

.sph-about-section{
    padding-block:64px;
    background:linear-gradient(135deg, rgba(29,158,117,.06), rgba(245,166,35,.06)), #fff;
}
.sph-about-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:18px; margin-top:30px;}
@media (max-width:860px){.sph-about-grid{grid-template-columns:repeat(2, 1fr);}}
.sph-about-card{background:#fff; border-radius:var(--radius-md); padding:24px; text-align:center; box-shadow:0 8px 24px -12px rgba(20,20,28,.12);}
.sph-about-icon{
    width:52px; height:52px; border-radius:14px; margin:0 auto 14px;
    background:linear-gradient(135deg, var(--teal), var(--teal-dark));
    display:flex; align-items:center; justify-content:center; color:#fff; font-size:18px;
}
.sph-about-card h3{font-size:14.5px; margin-bottom:8px;}
.sph-about-card p{font-size:12.5px; color:var(--muted); line-height:1.7; margin:0;}

.sph-home-banner{
    display:flex; min-height:340px;
    width:100%;
}
@media (max-width:780px){.sph-home-banner{flex-direction:column; min-height:0;}}

.sph-home-text{
    flex:1 1 50%; position:relative;
    background:linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 55%, var(--ink) 130%);
    display:flex; align-items:center;
    padding:60px 60px;
}
@media (max-width:1000px){.sph-home-text{padding:40px 32px;}}
.sph-home-text::before{
    content:''; position:absolute; inset:0;
    background-image:radial-gradient(rgba(245,166,35,.25) 1.5px, transparent 1.5px);
    background-size:18px 18px;
    opacity:.5;
    mask-image:linear-gradient(135deg, black, transparent 70%);
}
.sph-home-text-inner{position:relative; z-index:1; max-width:520px;}
.sph-home-text h2{color:#fff; font-size:clamp(24px,3.2vw,34px); line-height:1.35; margin-bottom:16px;}
.sph-home-text p{color:rgba(255,255,255,.85); font-size:15px; line-height:1.85; margin-bottom:22px;}
.sph-home-brand{
    display:block; font-family:var(--font-data); font-size:11.5px; font-weight:700;
    letter-spacing:.08em; color:var(--amber); margin-bottom:22px;
}
.sph-home-brand strong{display:block; font-family:var(--font-display); font-size:23px; letter-spacing:0; color:#fff; margin-top:3px;}
.sph-home-btn{
    background:var(--amber); color:var(--ink); font-weight:700;
    padding:14px 30px; border-radius:999px; display:inline-block; text-decoration:none;
    transition:transform .15s, box-shadow .15s;
}
.sph-home-btn:hover{transform:translateY(-2px); box-shadow:0 10px 20px -8px rgba(245,166,35,.5);}

.sph-home-image{
    flex:1 1 50%; background-size:cover; background-position:center;
    background-color:var(--ink); display:flex; align-items:center; justify-content:center;
    min-height:340px;
}
.sph-home-image i{font-size:52px; color:rgba(255,255,255,.25);}

.partner-logo-img{height:36px; width:auto; max-width:140px; object-fit:contain; filter:grayscale(1); opacity:.7; transition:filter .2s, opacity .2s;}
.partner-logo-img:hover{filter:grayscale(0); opacity:1;}
.partner-logo-link{display:inline-flex; align-items:center;}

/* ==========================================================================
   Unified Messaging System
   ========================================================================== */
.msg-layout{display:grid; grid-template-columns:300px 1fr; gap:0; background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; min-height:560px;}
@media (max-width:780px){
    .msg-layout{grid-template-columns:1fr;}
    .msg-list{display:block;}
    .msg-thread{display:none;}
    .msg-layout.msg-thread-open .msg-list{display:none;}
    .msg-layout.msg-thread-open .msg-thread{display:flex;}
}
.msg-back-btn{display:none; align-items:center; gap:6px; font-size:13px; font-weight:700; color:var(--teal-dark); text-decoration:none; margin-bottom:10px;}
@media (max-width:780px){.msg-back-btn{display:flex;}}

.msg-list{border-inline-end:1px solid var(--border); overflow-y:auto; max-height:720px;}
.msg-list-item{display:block; padding:16px 18px; border-bottom:1px solid var(--border); text-decoration:none; transition:background .15s;}
.msg-list-item:hover{background:var(--card);}
.msg-list-item.active{background:rgba(29,158,117,.08); border-inline-start:3px solid var(--teal);}
.msg-list-item-top{display:flex; align-items:center; justify-content:space-between; gap:8px;}
.msg-list-subject{font-size:13.5px; font-weight:700; color:var(--ink);}
.msg-unread-dot{width:8px; height:8px; border-radius:50%; background:var(--amber); flex:none;}
.msg-list-preview{font-size:12px; color:var(--muted); margin:4px 0 6px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.msg-list-time{font-size:10.5px; color:var(--muted);}

.msg-thread{display:flex; flex-direction:column; height:100%;}
.msg-thread-head{padding:18px 22px; border-bottom:1px solid var(--border);}
.msg-thread-head h2{font-size:16px; margin-bottom:2px;}
.msg-thread-head p{font-size:12px; color:var(--muted);}
.msg-thread-body{flex:1; padding:20px 22px; overflow-y:auto; display:flex; flex-direction:column; gap:12px; max-height:480px;}
.msg-bubble-row{display:flex;}
.msg-bubble-row.mine{justify-content:flex-end;}
.msg-bubble{max-width:70%; background:var(--card); border-radius:14px; padding:10px 14px;}
.msg-bubble-row.mine .msg-bubble{background:var(--teal); color:#fff;}
.msg-bubble-sender{display:block; font-size:11px; font-weight:700; color:var(--teal-dark); margin-bottom:3px;}
.msg-bubble p{font-size:13.5px; line-height:1.6; margin:0;}
.msg-bubble-time{display:block; font-size:10px; opacity:.65; margin-top:5px;}
.msg-thread-composer{display:flex; gap:10px; padding:16px 22px; border-top:1px solid var(--border);}
.msg-thread-composer textarea{flex:1; border:1px solid var(--border); border-radius:var(--radius-sm); padding:10px 12px; resize:none; font-family:inherit;}

/* ==========================================================================
   Marketing — Audience Charts & Smart Suggestions
   ========================================================================== */
.audience-chart-bars{display:flex; flex-direction:column; gap:14px; margin-top:6px;}
.audience-bar-row{display:grid; grid-template-columns:140px 1fr 70px; align-items:center; gap:12px;}
@media (max-width:560px){.audience-bar-row{grid-template-columns:100px 1fr 60px; font-size:11.5px;}}
.audience-bar-label{font-size:12.5px; color:var(--graphite); font-weight:600;}
.audience-bar-track{height:12px; border-radius:999px; background:var(--card); overflow:hidden;}
.audience-bar-fill{height:100%; border-radius:999px; background:linear-gradient(90deg, var(--teal), var(--teal-dark));}
.audience-bar-value{font-size:12.5px; font-weight:700; color:var(--ink); text-align:end;}

.audience-gender-split{margin-top:24px; padding-top:20px; border-top:1px solid var(--border);}
.gender-split-bar{display:flex; height:30px; border-radius:8px; overflow:hidden; margin:10px 0;}
.gender-split-male{background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700;}
.gender-split-female{background:var(--clay); color:#fff; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700;}
.gender-split-legend{display:flex; gap:18px; font-size:12px; color:var(--graphite); margin-bottom:8px;}

.target-suggestions{display:flex; flex-direction:column; gap:10px; margin-top:20px;}
.target-suggestion{display:flex; gap:10px; align-items:flex-start; padding:12px 14px; border-radius:var(--radius-sm); font-size:12.5px; line-height:1.7;}
.target-suggestion i{margin-top:2px; flex:none;}
.target-suggestion-info{background:rgba(29,158,117,.07); color:var(--teal-dark);}
.target-suggestion-info i{color:var(--teal);}
.target-suggestion-warning{background:rgba(200,90,48,.08); color:#8a3d20;}
.target-suggestion-warning i{color:var(--clay);}
.target-suggestion-tip{background:rgba(245,166,35,.08); color:#7a5410;}
.target-suggestion-tip i{color:var(--amber);}

.poster-studio-showcase{
    display:flex; align-items:center; gap:32px; margin-top:24px;
    background:linear-gradient(135deg, var(--ink), var(--ink-soft));
    border-radius:var(--radius-lg); padding:36px 40px; overflow:hidden;
}
@media (max-width:760px){.poster-studio-showcase{flex-direction:column; text-align:center; padding:28px 24px;}}
.poster-studio-copy{flex:1;}
.poster-studio-copy h2{color:#fff; font-size:22px; margin:6px 0 10px;}
.poster-studio-copy p{color:#D9D6CE; font-size:13.5px; line-height:1.8; margin-bottom:20px; max-width:480px;}
.poster-studio-preview{display:flex; flex:none;}
.poster-swatch{
    width:90px; height:126px; border-radius:12px; box-shadow:0 12px 28px -10px rgba(0,0,0,.5);
    display:flex; align-items:flex-end; padding:10px; border:3px solid rgba(255,255,255,.15);
}
.poster-swatch span{width:100%; height:6px; border-radius:3px; background:rgba(255,255,255,.85);}
.poster-swatch-1{background:linear-gradient(160deg, var(--teal), var(--teal-dark)); margin-inline-end:-24px; transform:rotate(-8deg);}
.poster-swatch-2{background:linear-gradient(160deg, var(--amber), var(--clay)); z-index:1;}
.poster-swatch-3{background:linear-gradient(160deg, #4a4358, var(--ink)); margin-inline-start:-24px; transform:rotate(8deg);}

/* ==========================================================================
   Marketing Landing Page (public, no login)
   ========================================================================== */
.mkt-land-hero{position:relative; padding-block:90px 70px; overflow:hidden; text-align:center;}
.mkt-land-hero-bg{
    position:absolute; inset:0;
    background:radial-gradient(circle at 20% 15%, rgba(29,158,117,.25), transparent 55%),
               radial-gradient(circle at 85% 30%, rgba(245,166,35,.2), transparent 50%),
               linear-gradient(160deg, var(--ink), #241a2e);
}
.mkt-land-hero-content{position:relative; max-width:760px; margin-inline:auto;}
.mkt-land-hero h1{color:#fff; font-size:clamp(28px,4.2vw,44px); line-height:1.3; margin:10px 0 16px;}
.mkt-land-hero-sub{color:#D9D6CE; font-size:15px; line-height:1.85; margin-bottom:28px; max-width:600px; margin-inline:auto;}
.mkt-land-cta{
    background:var(--amber); color:var(--ink); font-weight:800; font-size:16px;
    padding:16px 38px; border-radius:999px; display:inline-flex; align-items:center; gap:10px;
    transition:transform .15s, box-shadow .15s;
}
.mkt-land-cta:hover{transform:translateY(-3px); box-shadow:0 16px 30px -10px rgba(245,166,35,.55);}

.mkt-land-stats{display:flex; justify-content:center; gap:44px; flex-wrap:wrap; margin-top:48px;}
.mkt-land-stat span{display:block; font-family:var(--font-display); font-size:28px; font-weight:800; color:#fff;}
.mkt-land-stat p{font-size:12px; color:#B8B4AA; margin-top:4px;}

.mkt-land-services{display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; margin-top:36px;}
@media (max-width:900px){.mkt-land-services{grid-template-columns:1fr;}}
.mkt-land-service-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:28px; transition:transform .2s, box-shadow .2s;}
.mkt-land-service-card:hover{transform:translateY(-5px); box-shadow:var(--shadow-card);}
.mkt-land-service-icon{width:56px; height:56px; border-radius:16px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:22px; margin-bottom:18px;}
.mkt-land-service-card h3{font-size:17px; margin-bottom:10px;}
.mkt-land-service-card p{font-size:13px; color:var(--graphite); line-height:1.75; margin-bottom:16px;}
.mkt-land-service-list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px;}
.mkt-land-service-list li{font-size:12.5px; color:var(--ink); display:flex; align-items:flex-start; gap:8px;}
.mkt-land-service-list i{color:var(--teal); margin-top:3px;}

.mkt-land-viz-section{padding-block:70px; background:var(--card);}
.mkt-land-viz-grid{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center;}
@media (max-width:860px){.mkt-land-viz-grid{grid-template-columns:1fr;}}
.mkt-land-viz-copy h2{font-size:clamp(22px,3vw,28px); margin:8px 0 14px;}
.mkt-land-viz-copy p{font-size:14px; color:var(--graphite); line-height:1.85; margin-bottom:20px;}
.mkt-land-viz-chart{background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:26px;}

.event-picker-hero{
    background:linear-gradient(135deg, var(--teal), var(--teal-dark));
    border-radius:var(--radius-lg); padding:22px 26px; margin-bottom:24px;
    box-shadow:0 16px 32px -14px rgba(20,90,70,.4);
}
.event-picker-hero label{color:#fff; font-size:14px; font-weight:700; display:block; margin-bottom:10px;}
.event-picker-hero label i{color:var(--amber); margin-inline-end:6px;}
.event-picker-select-hero{
    width:100%; height:56px; border-radius:var(--radius-md); border:none;
    background:#fff; padding:0 18px; font-size:16px; font-weight:700; color:var(--ink);
    cursor:pointer; box-shadow:0 4px 14px rgba(0,0,0,.15);
}

.campaign-progress-wrap{margin-top:16px;}
.campaign-progress-track{height:10px; border-radius:999px; background:var(--card); overflow:hidden;}
.campaign-progress-fill{height:100%; width:1%; border-radius:999px; background:linear-gradient(90deg, var(--amber), var(--teal)); transition:width .3s linear;}
.campaign-progress-pct{font-size:12px; font-weight:700; color:var(--graphite); margin-top:6px; text-align:center;}

.ugc-creator-grid{display:grid; grid-template-columns:repeat(5, 1fr); gap:12px; margin-bottom:8px;}
@media (max-width:860px){.ugc-creator-grid{grid-template-columns:repeat(2, 1fr);}}
.ugc-creator-card{
    position:relative; display:flex; flex-direction:column; align-items:center; text-align:center;
    border:2px solid var(--border); border-radius:var(--radius-md); padding:16px 10px; cursor:pointer;
    transition:border-color .15s, background .15s;
}
.ugc-creator-card:has(.ugc-creator-radio:checked){border-color:var(--teal); background:rgba(29,158,117,.06);}
.ugc-creator-radio{position:absolute; opacity:0; width:0; height:0;}
.ugc-creator-avatar-wrap{position:relative; margin-bottom:10px;}
.ugc-creator-avatar{width:56px; height:56px; border-radius:50%; object-fit:cover;}
.ugc-creator-initials{background:var(--ink); color:var(--amber); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:800; font-size:20px;}
.ugc-creator-check{
    position:absolute; bottom:-2px; inset-inline-end:-2px; width:20px; height:20px; border-radius:50%;
    background:var(--border); color:#fff; display:flex; align-items:center; justify-content:center; font-size:10px;
    transition:background .15s;
}
.ugc-creator-card:has(.ugc-creator-radio:checked) .ugc-creator-check{background:var(--teal);}
.ugc-creator-name{font-size:12.5px; font-weight:700; color:var(--ink);}
.ugc-creator-title{font-size:10.5px; color:var(--muted); margin-top:2px;}
.ugc-creator-fee{font-size:11px; font-weight:700; color:var(--teal-dark); margin-top:6px;}

.mkt-land-extra{padding-block:60px;}
.mkt-land-extra-centered .mkt-land-extra-inner{max-width:680px; margin-inline:auto; text-align:center;}
.mkt-land-extra-cta{background:linear-gradient(135deg, var(--ink), #241a2e);}
.mkt-land-extra-cta .mkt-land-extra-inner{max-width:680px; margin-inline:auto; text-align:center;}
.mkt-land-extra-cta h2{color:#fff;}
.mkt-land-extra-cta p{color:#D9D6CE;}
.mkt-land-extra-image_left .mkt-land-extra-inner,
.mkt-land-extra-image_right .mkt-land-extra-inner{display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center;}
@media (max-width:780px){.mkt-land-extra-image_left .mkt-land-extra-inner, .mkt-land-extra-image_right .mkt-land-extra-inner{grid-template-columns:1fr;}}
.mkt-land-extra-image_right .mkt-land-extra-img{order:2;}
.mkt-land-extra-img{height:280px; border-radius:var(--radius-lg); background-size:cover; background-position:center; box-shadow:var(--shadow-card);}
.mkt-land-extra-copy h2{font-size:clamp(20px,2.8vw,26px); margin-bottom:12px;}
.mkt-land-extra-copy p{font-size:14px; color:var(--graphite); line-height:1.85; margin-bottom:16px; white-space:pre-line;}

/* ==========================================================================
   Expoint Ecosystem — homepage 6-box services showcase
   ========================================================================== */
.eco-section{padding-block:70px;}
.eco-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; margin-top:36px;}
@media (max-width:900px){.eco-grid{grid-template-columns:repeat(2, 1fr);}}
@media (max-width:560px){.eco-grid{grid-template-columns:1fr;}}

.eco-card{
    position:relative; display:block; border-radius:var(--radius-lg); padding:26px;
    overflow:hidden; text-decoration:none; color:#fff;
    transition:transform .22s ease, box-shadow .22s ease;
    min-height:170px;
}
.eco-card:hover{transform:translateY(-6px); box-shadow:0 22px 40px -16px rgba(20,20,28,.35);}
.eco-card::after{
    content:''; position:absolute; inset:0; opacity:0; transition:opacity .22s;
    background:radial-gradient(circle at 85% 15%, rgba(255,255,255,.22), transparent 55%);
}
.eco-card:hover::after{opacity:1;}

.eco-card-icon{
    width:48px; height:48px; border-radius:13px; background:rgba(255,255,255,.16);
    display:flex; align-items:center; justify-content:center; font-size:19px; margin-bottom:16px;
    backdrop-filter:blur(2px);
}
.eco-card h3{font-size:16px; margin-bottom:4px; color:#fff;}
.eco-card-en{display:block; font-size:11px; font-weight:600; color:rgba(255,255,255,.7); letter-spacing:.03em; margin-bottom:10px; text-transform:uppercase;}
.eco-card p{font-size:12.5px; line-height:1.7; color:rgba(255,255,255,.85); margin:0 0 18px; max-width:88%;}
.eco-card-arrow{
    position:absolute; bottom:22px; inset-inline-end:22px;
    width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.18);
    display:flex; align-items:center; justify-content:center; font-size:13px;
    transition:background .2s, transform .2s;
}
.eco-card:hover .eco-card-arrow{background:rgba(255,255,255,.32); transform:translateX(3px);}
[dir="rtl"] .eco-card:hover .eco-card-arrow{transform:translateX(-3px);}

.eco-grad-1{background:linear-gradient(140deg, var(--teal) 0%, var(--teal-dark) 100%);}
.eco-grad-2{background:linear-gradient(140deg, var(--amber) 0%, var(--clay) 100%);}
.eco-grad-3{background:linear-gradient(140deg, #2f6fa8 0%, #163a5c 100%);}
.eco-grad-4{background:linear-gradient(140deg, #e08a52 0%, #b8562e 100%);}
.eco-grad-5{background:linear-gradient(140deg, #8467c9 0%, #4f3b85 100%);}
.eco-grad-6{background:linear-gradient(140deg, #4a4358 0%, var(--ink) 100%);}

/* ==========================================================================
   Content Creators Hub — full landing page
   ========================================================================== */
.cc-hero{position:relative; padding-block:80px 60px; text-align:center; overflow:hidden;}
.cc-hero-bg{
    position:absolute; inset:0;
    background:radial-gradient(circle at 20% 20%, rgba(147,112,219,.25), transparent 55%),
               radial-gradient(circle at 85% 25%, rgba(245,166,35,.2), transparent 50%),
               linear-gradient(160deg, var(--ink), #241a2e);
}
.cc-hero-content{position:relative; max-width:740px; margin-inline:auto;}
.cc-hero-content h1{color:#fff; font-size:clamp(26px,4vw,40px); line-height:1.3; margin:10px 0 16px;}
.cc-hero-sub{color:#D9D6CE; font-size:15px; line-height:1.85; margin-bottom:26px; max-width:600px; margin-inline:auto;}
.cc-hero-actions{display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:44px;}
.cc-hero-cta{background:var(--amber); color:var(--ink); font-weight:800; padding:14px 30px; border-radius:999px; transition:transform .15s;}
.cc-hero-cta:hover{transform:translateY(-2px);}
.cc-hero-stats{display:flex; justify-content:center; gap:40px; flex-wrap:wrap;}
.cc-hero-stat span{display:block; font-family:var(--font-display); font-size:26px; font-weight:800; color:#fff;}
.cc-hero-stat p{font-size:12px; color:#B8B4AA; margin-top:4px;}

.cc-info-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:44px; align-items:center;}
@media (max-width:860px){.cc-info-grid{grid-template-columns:1fr;}}
.cc-info-copy h2{font-size:clamp(20px,2.8vw,26px); margin:8px 0 14px;}
.cc-info-copy p{font-size:14px; color:var(--graphite); line-height:1.85; margin-bottom:14px;}
.cc-info-visual{display:flex; flex-direction:column; gap:14px;}
.cc-info-badge{
    display:flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--border);
    border-radius:var(--radius-md); padding:16px 20px; box-shadow:0 8px 20px -12px rgba(20,20,28,.12);
}
.cc-info-badge i{width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:15px; flex:none;}
.cc-info-badge span{font-size:13.5px; font-weight:700; color:var(--ink);}
.cc-info-badge-1{margin-inline-start:0;} .cc-info-badge-1 i{background:linear-gradient(135deg, #9370db, #6a4ba8);}
.cc-info-badge-2{margin-inline-start:24px;} .cc-info-badge-2 i{background:linear-gradient(135deg, var(--teal), var(--teal-dark));}
.cc-info-badge-3{margin-inline-start:48px;} .cc-info-badge-3 i{background:linear-gradient(135deg, var(--amber), var(--clay));}

.cc-creators-about{padding-block:60px; background:var(--card);}
.cc-info-visual-2{
    height:260px; border-radius:var(--radius-lg); background:linear-gradient(135deg, #9370db, var(--ink));
    display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.5); font-size:64px;
}

.cc-timeline{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; margin-top:32px;}
@media (max-width:860px){.cc-timeline{grid-template-columns:1fr;}}
.cc-timeline-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:26px; position:relative;}
.cc-timeline-card i{font-size:24px; margin:12px 0 14px; display:block; color:var(--teal);}
.cc-timeline-card h3{font-size:15.5px; margin-bottom:12px;}
.cc-timeline-card ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px;}
.cc-timeline-card li{font-size:12.5px; color:var(--graphite); padding-inline-start:16px; position:relative;}
.cc-timeline-card li::before{content:'•'; position:absolute; inset-inline-start:0; color:var(--teal);}
.cc-timeline-badge{display:inline-block; font-size:10.5px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; padding:4px 12px; border-radius:999px; color:#fff;}
.cc-timeline-before .cc-timeline-badge{background:var(--amber);}
.cc-timeline-during .cc-timeline-badge{background:var(--teal);}
.cc-timeline-after .cc-timeline-badge{background:#9370db;}
.cc-timeline-during i{color:var(--teal);} .cc-timeline-after i{color:#9370db;} .cc-timeline-before i{color:var(--amber-dark);}

.cc-market-section{padding-block:64px; background:linear-gradient(135deg, var(--ink), #241a2e);}
.cc-market-grid{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center;}
@media (max-width:860px){.cc-market-grid{grid-template-columns:1fr;}}
.cc-market-copy h2{color:#fff; font-size:clamp(20px,2.8vw,26px); margin:8px 0 14px;}
.cc-market-copy p{color:#D9D6CE; font-size:14px; line-height:1.85;}
.cc-market-video-el{width:100%; border-radius:var(--radius-lg); display:block;}
.cc-market-video-placeholder{
    aspect-ratio:16/10; border-radius:var(--radius-lg); background:rgba(255,255,255,.06); border:1px dashed rgba(255,255,255,.25);
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:rgba(255,255,255,.5);
}
.cc-market-video-placeholder i{font-size:30px;}
.cc-market-video-placeholder p{font-size:12.5px;}

.cc-matching-card{
    display:flex; align-items:center; gap:32px; background:var(--card); border-radius:var(--radius-lg); padding:36px;
}
@media (max-width:760px){.cc-matching-card{flex-direction:column; text-align:center;}}
.cc-matching-icon{
    width:80px; height:80px; border-radius:20px; flex:none;
    background:linear-gradient(135deg, #9370db, var(--ink)); color:#fff;
    display:flex; align-items:center; justify-content:center; font-size:30px;
}
.cc-matching-copy h2{font-size:clamp(19px,2.6vw,24px); margin-bottom:10px;}
.cc-matching-copy p{font-size:13.5px; color:var(--graphite); line-height:1.8; margin-bottom:16px;}

.cc-verified-badge{
    position:absolute; top:12px; inset-inline-end:12px; z-index:2;
    width:24px; height:24px; border-radius:50%; background:#b39ddb; color:#fff;
    display:flex; align-items:center; justify-content:center; font-size:11px;
    box-shadow:0 2px 6px rgba(0,0,0,.25);
}

/* ==========================================================================
   Governance & Ownership section (homepage)
   ========================================================================== */
.gov-section{padding-block:64px; background:linear-gradient(180deg, var(--card), #fff);}
.gov-inner{max-width:760px; margin-inline:auto; text-align:center;}
.gov-inner h2{font-size:clamp(21px,3vw,28px); margin:8px 0 14px;}
.gov-body{font-size:14px; color:var(--graphite); line-height:1.85; margin-bottom:36px; max-width:620px; margin-inline:auto;}
.gov-logos-row{display:flex; justify-content:center; align-items:center; gap:48px; flex-wrap:wrap;}
.gov-logo-item{display:flex; flex-direction:column; align-items:center; gap:10px; max-width:160px;}
.gov-logo-item img{max-height:64px; max-width:150px; object-fit:contain; filter:grayscale(15%);}
.gov-logo-placeholder{
    width:64px; height:64px; border-radius:16px; background:var(--card); border:1px solid var(--border);
    display:flex; align-items:center; justify-content:center; color:var(--teal); font-size:22px;
}
.gov-logo-name{font-size:12px; font-weight:700; color:var(--ink); text-align:center; line-height:1.5;}

/* ==========================================================================
   Content Creators Hub — search bar, matching section, request modal
   ========================================================================== */
.cc-search-bar{
    display:flex; flex-wrap:wrap; gap:10px; background:#fff; border:1px solid var(--border);
    border-radius:999px; padding:8px; margin:28px 0 36px; box-shadow:0 10px 26px -16px rgba(20,20,28,.16);
}
.cc-search-field{flex:1; min-width:150px; display:flex; align-items:center; gap:10px; padding:8px 14px; border-inline-end:1px solid var(--border);}
.cc-search-field:last-of-type{border-inline-end:none;}
.cc-search-field i{color:var(--teal); font-size:14px; flex:none;}
.cc-search-field input{border:none; outline:none; width:100%; font-size:13.5px; background:transparent;}
.cc-search-btn{border-radius:999px; padding:12px 26px; flex:none;}
@media (max-width:780px){
    .cc-search-bar{flex-direction:column; border-radius:var(--radius-lg); padding:14px;}
    .cc-search-field{border-inline-end:none; border-bottom:1px solid var(--border); padding:10px 6px;}
    .cc-search-field:last-of-type{border-bottom:none;}
    .cc-search-btn{width:100%; justify-content:center;}
}

.cc-matching-section{padding-block:64px; background:linear-gradient(135deg, #f3effa, var(--card));}
.cc-matching-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:44px; align-items:center;}
@media (max-width:860px){.cc-matching-grid{grid-template-columns:1fr;}}
.cc-matching-visual img{width:100%; border-radius:var(--radius-lg); box-shadow:var(--shadow-card); display:block;}
.cc-matching-visual-placeholder{
    aspect-ratio:4/3; border-radius:var(--radius-lg); background:linear-gradient(135deg, #9370db, var(--ink));
    display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.55); font-size:56px;
}
.cc-matching-copy2 h2{font-size:clamp(21px,3vw,27px); margin:8px 0 14px;}
.cc-matching-copy2 p{font-size:14px; color:var(--graphite); line-height:1.85; margin-bottom:18px;}
.cc-matching-list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px;}
.cc-matching-list li{font-size:13px; color:var(--ink); font-weight:600; display:flex; align-items:center; gap:8px;}
.cc-matching-list i{color:#9370db;}

.cc-modal-backdrop{
    position:fixed; inset:0; background:rgba(20,20,28,.6); display:flex; align-items:center; justify-content:center;
    padding:20px; z-index:200; opacity:0; pointer-events:none; transition:opacity .2s;
}
.cc-modal-backdrop.open{opacity:1; pointer-events:auto;}
.cc-modal{position:relative; background:#fff; border-radius:var(--radius-lg); padding:30px; max-width:480px; width:100%; max-height:88vh; overflow-y:auto;}
.cc-modal h3{font-size:16.5px; margin-bottom:16px; padding-inline-end:24px;}

.event-license-tag{display:block; font-size:9.5px; color:var(--muted); margin-top:2px; letter-spacing:.01em;}

.submit-overlay{
    position:fixed; inset:0; background:rgba(20,20,28,.75); z-index:500;
    display:flex; align-items:center; justify-content:center;
    opacity:0; pointer-events:none; transition:opacity .2s;
}
.submit-overlay.show{opacity:1; pointer-events:auto;}
.submit-overlay-box{background:#fff; border-radius:var(--radius-lg); padding:36px 40px; text-align:center; max-width:320px;}
.submit-overlay-spinner{
    width:44px; height:44px; border-radius:50%; margin:0 auto 18px;
    border:4px solid var(--card); border-top-color:var(--teal); animation:submit-spin .8s linear infinite;
}
@keyframes submit-spin{to{transform:rotate(360deg);}}
.submit-overlay-box p{font-size:14px; font-weight:700; color:var(--ink); margin-bottom:6px;}
.submit-overlay-box span{font-size:12px; color:var(--muted);}

/* ==========================================================================
   Speakers Hub — smart pitch box, top specialties, real data insights
   ========================================================================== */
.sph-pitch-section{
    padding-block:56px; background:linear-gradient(135deg, var(--ink), #241a2e); position:relative; overflow:hidden;
}
.sph-pitch-inner{max-width:720px; margin-inline:auto; text-align:center; position:relative;}
.sph-pitch-inner h2{color:#fff; font-size:clamp(21px,3vw,28px); margin-bottom:10px;}
.sph-pitch-inner > p{color:#D9D6CE; font-size:14px; margin-bottom:26px;}
.sph-pitch-form{
    display:flex; align-items:center; gap:10px; background:#fff; border-radius:999px; padding:8px 8px 8px 22px;
    box-shadow:0 16px 34px -16px rgba(0,0,0,.4);
}
[dir="rtl"] .sph-pitch-form{padding:8px 22px 8px 8px;}
.sph-pitch-form i{color:var(--teal); font-size:15px;}
.sph-pitch-form input{flex:1; border:none; outline:none; font-size:14px; background:transparent;}
.sph-pitch-form button{background:var(--amber); color:var(--ink); font-weight:800; border:none; padding:13px 26px; border-radius:999px; cursor:pointer; white-space:nowrap;}

.sph-pitch-results{margin-top:34px; text-align:start;}
.sph-pitch-empty{color:#D9D6CE; text-align:center; font-size:13.5px; margin-bottom:14px;}
.sph-pitch-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:16px;}
.sph-pitch-card{
    background:#fff; border-radius:var(--radius-lg); padding:18px; display:flex; gap:14px; align-items:flex-start;
}
.sph-pitch-avatar{width:52px; height:52px; border-radius:50%; object-fit:cover; flex:none;}
.sph-pitch-avatar-initials{background:var(--ink); color:var(--amber); display:flex; align-items:center; justify-content:center; font-weight:800; font-family:var(--font-display);}
.sph-pitch-copy{flex:1;}
.sph-pitch-message{font-size:13px; line-height:1.7; color:var(--ink); margin-bottom:12px;}
.sph-pitch-message i{color:var(--teal); font-size:10px; margin-inline-end:4px;}

.sph-specialty-chips{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:28px;}
.sph-specialty-chip{
    display:flex; align-items:center; gap:8px; background:#fff; border:1.5px solid var(--border);
    border-radius:999px; padding:10px 18px; text-decoration:none; transition:border-color .15s, transform .15s;
}
.sph-specialty-chip:hover{border-color:var(--teal); transform:translateY(-2px);}
.sph-specialty-chip span:first-child{font-size:13px; font-weight:700; color:var(--ink);}
.sph-specialty-count{font-size:11px; color:var(--teal-dark); font-weight:700; background:rgba(29,158,117,.1); padding:2px 9px; border-radius:999px;}

.sph-insight-section{padding-block:56px; background:var(--card);}
.sph-insight-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:18px; margin-top:28px;}
.sph-insight-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:24px;}
.sph-insight-card i{color:var(--teal); font-size:20px; margin-bottom:12px; display:block;}
.sph-insight-fact{font-size:13.5px; font-weight:700; color:var(--ink); line-height:1.7; margin-bottom:10px;}
.sph-insight-verdict{font-size:12.5px; color:var(--graphite); line-height:1.7;}

.venue-demo-badge{
    position:absolute; top:12px; inset-inline-start:12px; z-index:2;
    background:rgba(245,166,35,.92); color:var(--ink); font-size:10px; font-weight:800;
    padding:4px 10px; border-radius:999px; display:flex; align-items:center; gap:4px;
}

/* ==========================================================================
   Organizer Alliances — collaborative event building
   ========================================================================== */
.ally-hero{position:relative; padding-block:70px 56px; text-align:center; overflow:hidden; background:linear-gradient(160deg, var(--ink), #241a2e);}
.ally-hero-content{max-width:680px; margin-inline:auto;}
.ally-hero-content h1{color:#fff; font-size:clamp(26px,3.6vw,36px); margin:8px 0 14px;}
.ally-hero-content p{color:#D9D6CE; font-size:14.5px; line-height:1.8; margin-bottom:24px;}

.ally-status-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:22px; margin-bottom:24px; text-align:center;}
.ally-status-badge{display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:700; margin-bottom:14px; color:var(--amber-dark, #a56c10);}
.ally-status-badge.ready{color:var(--teal-dark);}
.ally-progress-track{height:12px; border-radius:999px; background:var(--card); overflow:hidden;}
.ally-progress-fill{height:100%; border-radius:999px; background:linear-gradient(90deg, var(--amber), var(--teal)); transition:width .5s ease;}
.ally-progress-label{display:block; font-size:12px; font-weight:700; color:var(--graphite); margin-top:8px;}
.ally-ready-msg{margin-top:12px; font-size:14px; font-weight:700; color:var(--teal-dark);}

.ally-needs-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:22px; margin-bottom:18px;}
.ally-needs-card h2{font-size:15px; margin-bottom:16px; display:flex; align-items:center; gap:8px;}
.ally-needs-card h2 i{color:var(--teal);}
.ally-need-row{display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--border);}
.ally-need-row:last-child{border-bottom:none;}
.ally-need-row.fulfilled{opacity:.7;}
.ally-need-icon{font-size:15px; flex:none;}
.ally-need-title{flex:1; font-size:13.5px; font-weight:600; color:var(--ink);}
.ally-fulfilled-tag{font-size:11px; font-weight:700; color:var(--teal-dark); background:rgba(29,158,117,.1); padding:4px 10px; border-radius:999px;}

.ally-timeline-row{display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--border);}
.ally-timeline-row:last-child{border-bottom:none;}
.ally-timeline-dot{width:10px; height:10px; border-radius:50%; background:var(--teal); flex:none; margin-top:6px;}
.ally-timeline-row p{font-size:13px; margin-bottom:4px;}
.ally-timeline-text{color:var(--graphite); font-size:12.5px !important;}
.ally-timeline-time{font-size:11px; color:var(--muted);}

.ally-feed-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:18px; margin-top:32px;}
.ally-feed-card{
    display:block; background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:22px;
    text-decoration:none; transition:transform .2s, box-shadow .2s;
}
.ally-feed-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-card);}
.ally-feed-card-top{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:12px;}
.ally-status-mini{font-size:11px; font-weight:700; color:#a56c10;}
.ally-status-mini.ready{color:var(--teal-dark);}
.ally-feed-card h3{font-size:15.5px; color:var(--ink); margin-bottom:8px;}
.ally-feed-meta{font-size:12px; color:var(--muted);}

/* ==========================================================================
   Alliances — idea section, stats, premium countdown cards
   ========================================================================== */
.ally-idea-section{padding-block:64px; background:var(--card);}
.ally-idea-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;}
@media (max-width:860px){.ally-idea-grid{grid-template-columns:1fr;}}
.ally-idea-copy h2{font-size:clamp(22px,3vw,28px); margin:8px 0 16px;}
.ally-idea-copy p{font-size:14px; color:var(--graphite); line-height:1.9; margin-bottom:14px;}
.ally-timeline-flow{position:relative; display:flex; flex-direction:column; gap:28px; padding-inline-start:26px;}
.ally-timeline-flow-line{position:absolute; top:22px; bottom:22px; inset-inline-start:22px; width:2px; background:linear-gradient(180deg, var(--teal), #2f6fa8);}
.ally-timeline-flow-step{position:relative; display:flex; align-items:flex-start; gap:16px;}
.ally-timeline-flow-dot{
    position:relative; z-index:1; width:44px; height:44px; border-radius:50%; flex:none;
    display:flex; align-items:center; justify-content:center; color:#fff; font-size:16px;
    box-shadow:0 0 0 5px var(--card);
}
.ally-timeline-flow-text{padding-top:6px;}
.ally-timeline-flow-text span{font-family:var(--font-display); font-size:11px; font-weight:800; color:var(--muted); letter-spacing:.05em;}
.ally-timeline-flow-text h4{font-size:14.5px; margin:2px 0 4px;}
.ally-timeline-flow-text p{font-size:12px; color:var(--muted); margin:0;}

.ally-stats-section{background:var(--ink); padding-block:40px;}
.ally-stats-row{display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; text-align:center;}
@media (max-width:600px){.ally-stats-row{grid-template-columns:repeat(2, 1fr);}}
.ally-stat span{display:block; font-family:var(--font-display); font-size:28px; font-weight:800; color:var(--amber);}
.ally-stat p{font-size:12px; color:#B9B6AD; margin-top:4px;}

.ally-feed-card-v2{
    display:block; background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:0;
    text-decoration:none; transition:transform .2s, box-shadow .2s; overflow:hidden;
}
.ally-feed-card-v2:hover{transform:translateY(-5px); box-shadow:var(--shadow-card);}
.ally-feed-card-v2-head{display:flex; align-items:center; gap:10px; padding:18px 20px 0;}
.ally-feed-icon{
    width:38px; height:38px; border-radius:11px; background:linear-gradient(135deg, var(--teal), var(--teal-dark));
    color:#fff; display:flex; align-items:center; justify-content:center; font-size:14px; flex:none;
}
.ally-feed-cat-tag{font-size:11px; font-weight:700; color:var(--teal-dark); background:rgba(29,158,117,.1); padding:3px 10px; border-radius:999px;}
.ally-feed-card-v2 h3{font-size:15.5px; color:var(--ink); margin:14px 20px 8px;}
.ally-feed-card-v2 .ally-feed-meta{margin:0 20px;}
.ally-feed-card-v2 .ally-progress-track{margin-inline:20px; width:calc(100% - 40px);}
.ally-feed-card-v2 .ally-progress-label{margin-inline:20px; display:block;}
.ally-countdown{
    display:flex; align-items:center; gap:8px; margin:16px 20px 0; padding:12px 16px 24px;
    border-top:1px solid var(--border); font-size:12px; font-weight:700; color:#a56c10;
}
.ally-countdown i{color:var(--amber);}
.ally-countdown.urgent{color:var(--clay);}
.ally-countdown.urgent i{color:var(--clay); animation:ally-pulse 1s ease-in-out infinite;}
.ally-countdown.expired{color:var(--muted);}
.ally-countdown.expired i{color:var(--muted);}
@keyframes ally-pulse{0%,100%{opacity:1;} 50%{opacity:.4;}}

/* ==========================================================================
   Alliances — creator card, need editing, contributor cards
   ========================================================================== */
.ally-creator-card{
    display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
    background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:20px 24px; margin-bottom:18px;
}
.ally-creator-main{display:flex; align-items:center; gap:14px;}
.ally-creator-avatar{width:56px; height:56px; border-radius:50%; object-fit:cover; flex:none;}
.ally-creator-avatar-initials{background:var(--ink); color:var(--amber); display:flex; align-items:center; justify-content:center; font-weight:800; font-family:var(--font-display); font-size:20px;}
.ally-creator-label{font-size:11px; color:var(--muted); display:block;}
.ally-creator-card h3{font-size:16px; margin:2px 0 4px;}
.ally-creator-goal{font-size:12.5px; color:var(--teal-dark); font-weight:600;}
.ally-creator-goal i{margin-inline-end:4px;}
.ally-creator-actions{display:flex; align-items:center; gap:10px;}
.ally-icon-btn{
    width:40px; height:40px; border-radius:50%; border:1.5px solid var(--border); background:#fff;
    display:flex; align-items:center; justify-content:center; color:var(--ink); cursor:pointer; transition:background .15s, border-color .15s;
}
.ally-icon-btn:hover{background:var(--card); border-color:var(--teal);}

.ally-need-title-wrap{flex:1; display:flex; flex-direction:column;}
.ally-need-desc{font-size:11.5px; color:var(--muted); margin-top:2px;}
.ally-need-edit-btn{
    width:28px; height:28px; border-radius:50%; border:1px solid var(--border); background:#fff;
    display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:11px; cursor:pointer; flex:none;
}
.ally-need-edit-btn:hover{color:var(--teal); border-color:var(--teal);}

.ally-contributor-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:14px;}
.ally-contributor-card{
    border-inline-end:4px solid var(--teal); background:var(--card); border-radius:var(--radius-md);
    padding:16px 18px; display:flex; flex-direction:column; gap:10px;
}
.ally-contributor-main{display:flex; align-items:flex-start; justify-content:space-between; gap:12px;}
.ally-contributor-info{flex:1;}
.ally-contributor-info h4{font-size:14px; margin-bottom:3px;}
.ally-contributor-need{font-size:11.5px; color:var(--muted);}
.ally-contributor-avatar{width:44px; height:44px; border-radius:50%; object-fit:cover; flex:none;}
.ally-contributor-avatar-initials{background:var(--ink); color:var(--amber); display:flex; align-items:center; justify-content:center; font-weight:800; font-family:var(--font-display); font-size:16px;}

/* ==========================================================================
   Alliances — wide people cards (creator + contributors)
   ========================================================================== */
.ally-creator-eyebrow{font-size:12px; font-weight:700; color:var(--muted); margin-bottom:8px;}
.ally-people-card{
    display:flex; align-items:stretch; gap:0; background:#fff; border:1px solid var(--border);
    border-radius:var(--radius-lg); overflow:hidden; margin-bottom:18px;
}
@media (max-width:640px){.ally-people-card{flex-direction:column;}}
.ally-people-card-photo-wrap{
    flex:none; width:200px; background:var(--card); display:flex; flex-direction:column;
    align-items:center; justify-content:center; padding:20px; gap:8px; text-align:center;
}
@media (max-width:640px){.ally-people-card-photo-wrap{width:100%; flex-direction:row; justify-content:flex-start;}}
.ally-people-card-photo{width:88px; height:88px; border-radius:50%; object-fit:cover;}
.ally-people-card-photo-initials{background:var(--ink); color:var(--amber); display:flex; align-items:center; justify-content:center; font-weight:800; font-family:var(--font-display); font-size:30px;}
.ally-people-card-name{font-size:13.5px; font-weight:700; color:var(--ink);}
.ally-people-card-city{font-size:11.5px; color:var(--muted);}
.ally-people-card-text{flex:1; padding:22px 26px; display:flex; flex-direction:column; justify-content:center;}
.ally-people-card-label{font-size:12px; font-weight:700; color:var(--teal-dark); margin-bottom:4px;}
.ally-people-card-body{font-size:13.5px; color:var(--graphite); line-height:1.75;}
.ally-people-card-actions{display:flex; align-items:center; gap:10px; margin-top:14px;}

.ally-people-card-sm .ally-people-card-photo-wrap{width:140px; padding:16px;}
.ally-people-card-sm .ally-people-card-photo-sm{width:56px; height:56px; font-size:20px;}
.ally-people-card-sm .ally-people-card-text{padding:16px 20px;}
.ally-contributor-stack{display:flex; flex-direction:column; gap:12px;}
.ally-need-contrib-count{font-size:10.5px; color:var(--teal-dark); font-weight:700; margin-top:2px;}

/* ==========================================================================
   Certificate & badge designer — mode toggles, size selector, live preview
   ========================================================================== */
.design-mode-toggle{display:flex; gap:12px; flex-wrap:wrap;}
.design-mode-option{
    flex:1; min-width:220px; display:flex; align-items:center; gap:10px; cursor:pointer;
    border:1.5px solid var(--border); border-radius:var(--radius-sm); padding:14px 16px; transition:border-color .15s, background .15s;
}
.design-mode-option:has(input:checked){border-color:var(--teal); background:rgba(29,158,117,.06);}
.design-mode-option input{margin:0;}
.design-mode-option span{font-size:13px; font-weight:600; display:flex; align-items:center; gap:8px;}

.badge-size-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:14px;}
@media (max-width:700px){.badge-size-grid{grid-template-columns:1fr;}}
.badge-size-option{
    display:flex; flex-direction:column; gap:4px; border:1.5px solid var(--border); border-radius:var(--radius-sm);
    padding:16px; cursor:pointer; text-align:center; transition:border-color .15s, background .15s;
}
.badge-size-option.selected, .badge-size-option:has(input:checked){border-color:var(--teal); background:rgba(29,158,117,.06);}
.badge-size-option input{display:none;}
.badge-size-name{font-size:13px; font-weight:700; color:var(--ink);}
.badge-size-mm{font-size:15px; font-weight:800; color:var(--teal-dark); font-family:var(--font-data);}
.badge-size-best{font-size:11px; color:var(--muted);}

.design-preview-grid{display:grid; grid-template-columns:2fr 1fr; gap:24px; align-items:start;}
@media (max-width:760px){.design-preview-grid{grid-template-columns:1fr;}}
.design-preview-col{background:var(--card); border-radius:var(--radius-sm); padding:14px; text-align:center;}
.design-preview-frame{width:100%; border:none; border-radius:6px; background:#EDE9E0;}
.design-preview-frame-cert{aspect-ratio:297/210; min-height:260px;}
.design-preview-frame-badge{aspect-ratio:3/4.2; min-height:340px;}
/* ==========================================================================
   Event Marketing Kit — monochrome editorial re-skin (inspired by minimal
   agency decks): black/cream base, one accent used sparingly, huge clean
   type, thin arrow-links, hairline borders instead of color blocks.
   ========================================================================== */
body.kit-standalone-body{margin:0; background:#F7F5F0; font-family:'Almarai', 'Plus Jakarta Sans', sans-serif;}
.kit-page *:not([class*="fa-"]){font-family:inherit;}
.kit-hero-brand{position:absolute; top:20px; inset-inline-start:24px; z-index:5; opacity:.85; transition:opacity .2s;}
.kit-hero-brand:hover{opacity:1;}
.kit-hero-brand img{height:20px;}
.kit-hero-brand span{font-family:var(--font-display); font-weight:800; font-size:14px; color:#fff;}
.kit-minifooter{background:#14141C; padding:34px; text-align:center;}
.kit-minifooter img{height:22px; opacity:.9; display:block; margin:0 auto 8px;}
.kit-minifooter span{font-family:var(--font-display); font-weight:800; color:#fff; letter-spacing:.05em; font-size:16px; display:block; margin-bottom:8px;}
.kit-minifooter p{color:#8B8880; font-size:12px; letter-spacing:.05em; margin:0;}

.kit-page{overflow-x:hidden; background:#F7F5F0; color:var(--ink);}

/* ---------- الغلاف ---------- */
.kit-cover{
    position:relative; min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center;
    background:#14141C; background-size:cover; background-position:center;
    color:#fff; padding:100px 24px 60px; text-align:center; overflow:hidden;
}
.kit-event-logo{max-height:70px; max-width:220px; object-fit:contain; margin:0 auto 22px; display:block;}
.kit-cover-inner{max-width:900px; text-align:center;}
.kit-meta-badges{display:flex; justify-content:center; gap:0; flex-wrap:wrap; margin-bottom:30px; gap:28px;}
.kit-badge{background:none; border:none; border-bottom:1px solid rgba(255,255,255,.4); border-radius:0; padding:0 0 6px; font-size:12px; font-weight:600; color:#EFEBE1; letter-spacing:.05em;}
.kit-badge i{color:#fff; margin-inline-end:8px; opacity:.7;}
.kit-eyebrow{color:#fff; opacity:.55; font-weight:600; letter-spacing:.35em; text-transform:uppercase; font-size:11px; margin-bottom:22px;}
.kit-cover-title{font-family:var(--font-display); font-weight:800; line-height:1.1; margin-bottom:20px; letter-spacing:-.01em; text-align:center;}
.kit-cover-tagline{font-weight:700; margin-bottom:14px; text-align:center; display:flex; flex-direction:column; gap:4px;}
.kit-tagline-line{display:block;}
.kit-cover-secondary{font-size:14px; color:#B9B6AD; margin-top:4px; margin-bottom:40px; text-align:center;}

.kit-countdown-wrap{margin-top:36px; display:flex; justify-content:center;}
.kit-countdown-flat{display:flex; justify-content:center; align-items:baseline; gap:0;}
.kit-countdown-flat > div{display:flex; flex-direction:column; align-items:center; min-width:76px; padding:0 12px;}
.kit-countdown-flat span{font-family:var(--font-display); font-size:clamp(28px,4.2vw,44px); font-weight:800; color:#fff; line-height:1;}
.kit-countdown-flat label{font-size:10px; color:#8B8880; letter-spacing:.15em; text-transform:uppercase; margin-top:8px;}
.kit-cd-sep{font-size:clamp(20px,3vw,32px); color:#4a4a58; font-weight:200; align-self:center;}
.kit-countdown-live{
    display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2);
    padding:12px 24px; border-radius:999px; font-size:13px; font-weight:700; color:#fff;
}

/* ---------- أقسام عامة ---------- */
.kit-section{position:relative; padding:100px 24px; max-width:1000px; margin-inline:auto;}
.kit-section-dark{background:#14141C; max-width:none; padding-inline:24px; color:#fff;}
.kit-section-dark > *{max-width:1000px; margin-inline:auto;}
.kit-tag-label{display:block; text-align:center; font-size:11px; font-weight:600; letter-spacing:.3em; text-transform:uppercase; color:#A39E8F; margin-bottom:14px;}
.kit-tag-label-light{color:#8B8880;}
.kit-h2{font-family:var(--font-display); font-size:clamp(26px,4vw,46px); font-weight:800; text-align:center; margin-bottom:36px; color:var(--ink); letter-spacing:-.01em;}
.kit-h2-light{color:#fff;}
.kit-h2-start{text-align:start;}
.kit-body-text{font-size:16px; line-height:2; color:#4a4a52; text-align:center; max-width:680px; margin-inline:auto; font-weight:400;}
.kit-body-text-start{text-align:start; max-width:none; margin-inline:0;}

.kit-logos-section{text-align:center; padding-block:60px;}
.kit-section-eyebrow{font-size:12px; color:#A39E8F; font-weight:700; letter-spacing:.15em; margin-bottom:26px; text-transform:uppercase;}
.kit-logos-row{display:flex; justify-content:center; align-items:center; gap:48px; flex-wrap:wrap;}
.kit-logos-row img{width:auto; opacity:.55; filter:grayscale(1); transition:opacity .2s; object-fit:contain;}
.kit-logos-row img:hover{opacity:1;}

/* ---------- نبذة ---------- */
.kit-about-section{display:grid; grid-template-columns:1fr 1.3fr; gap:60px; align-items:center;}
@media (max-width:760px){.kit-about-section{grid-template-columns:1fr;}}
.kit-about-media{aspect-ratio:4/5; overflow:hidden;}
.kit-about-media img, .kit-about-media iframe{width:100%; height:100%; object-fit:cover; filter:grayscale(.15); border:none;}
.kit-about-media-placeholder{width:100%; height:100%; background:#EFEBE1; display:flex; align-items:center; justify-content:center; color:#B5B0A2; font-size:36px;}

/* ---------- الحدث في أرقام ---------- */
.kit-bignum-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)); gap:20px;}
.kit-bignum-card{text-align:center; padding:26px 16px 20px; border-top:3px solid; background:rgba(255,255,255,.03); border-radius:0 0 10px 10px;}
.kit-bignum-icon{width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; font-size:16px;}
.kit-bignum{display:block; font-family:var(--font-display); font-size:clamp(30px,4vw,42px); font-weight:800; line-height:1;}
.kit-bignum-underline{display:block; width:32px; height:2px; margin:14px auto; border-radius:2px;}
.kit-bignum-label{display:block; font-size:12px; color:#B9B6AD; font-weight:600; letter-spacing:.03em;}

/* ---------- الثيم (شريط منقسم يشبه قسم "منصة الخبراء" بالرئيسية) ---------- */
.kit-theme-banner{display:flex; min-height:340px;}
@media (max-width:780px){.kit-theme-banner{flex-direction:column; min-height:0;}}
.kit-theme-banner-text{
    flex:1 1 50%; position:relative; background:linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 55%, var(--ink) 130%);
    display:flex; align-items:center; padding:60px;
}
@media (max-width:1000px){.kit-theme-banner-text{padding:40px 32px;}}
.kit-theme-banner-text-inner{max-width:520px; position:relative; z-index:1;}
.kit-theme-banner-icon{font-size:26px; color:var(--amber); display:block; margin:12px 0;}
.kit-theme-banner-text h2{color:#fff; font-family:var(--font-display); font-size:clamp(24px,3.2vw,34px); line-height:1.35; margin:8px 0 16px; font-weight:800;}
.kit-theme-banner-text p{color:rgba(255,255,255,.85); font-size:15px; line-height:1.85;}
.kit-theme-banner-image{flex:1 1 50%; background-size:cover; background-position:center; background-color:var(--ink); display:flex; align-items:center; justify-content:center; min-height:340px;}
.kit-theme-banner-image i{font-size:52px; color:rgba(255,255,255,.25);}

.kit-theme-section{
    min-height:70vh; display:flex; align-items:center; justify-content:center; text-align:center;
    background:#14141C; background-size:cover; background-position:center; padding:80px 24px;
}
.kit-theme-inner{max-width:760px; opacity:0; transform:translateY(28px); transition:opacity 1s ease, transform 1s ease;}
.kit-theme-inner.kit-in-view{opacity:1; transform:translateY(0);}
.kit-theme-title{font-family:var(--font-display); font-size:clamp(28px,5.5vw,58px); font-weight:800; color:#fff; margin:16px 0 20px; line-height:1.15;}
.kit-theme-body{font-size:15.5px; color:#B9B6AD; line-height:1.95; font-style:italic;}

/* ---------- لماذا هذا الحدث — بطاقات محايدة برقم ---------- */
.kit-importance-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:1px; background:#E4E0D6; border:1px solid #E4E0D6;}
.kit-importance-box{
    background:#F7F5F0; padding:34px 28px; opacity:0; transform:translateY(16px);
    transition:opacity .6s ease, transform .6s ease; position:relative;
}
.kit-importance-box.kit-in-view{opacity:1; transform:translateY(0);}
.kit-importance-box::before{content:attr(data-index); position:absolute; top:20px; inset-inline-end:24px; font-family:var(--font-display); font-size:12px; font-weight:700; color:#C9C4B4;}
.kit-importance-box p{font-size:14.5px; line-height:1.85; margin:0; font-weight:400; color:#3a3a42;}

/* ---------- فعاليات الحدث ---------- */
.kit-cards-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:1px; background:#E4E0D6; border:1px solid #E4E0D6;}
.kit-activity-card{background:#F7F5F0;}
.kit-activity-media{height:110px; background:#EFEBE1; display:flex; align-items:center; justify-content:center; color:#A39E8F; font-size:26px;}
.kit-activity-body{padding:24px;}
.kit-activity-body h4{font-size:15px; margin-bottom:10px; color:var(--ink); font-weight:700;}
.kit-activity-body p{font-size:12.5px; color:#6a6a70; line-height:1.8;}

/* ---------- مميزات المشاركة ---------- */
.kit-benefits-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:36px 28px;}
@media (max-width:760px){.kit-benefits-grid{grid-template-columns:repeat(2, 1fr);}}
@media (max-width:480px){.kit-benefits-grid{grid-template-columns:1fr;}}
.kit-icon-card{text-align:center; padding:10px;}
.kit-icon-circle{width:54px; height:54px; border-radius:50%; border:1px solid rgba(255,255,255,.3); background:none; color:#fff; display:flex; align-items:center; justify-content:center; font-size:18px; margin:0 auto 18px;}
.kit-icon-card h4{color:#fff; font-size:14px; margin-bottom:9px; font-weight:700;}
.kit-icon-card p{color:#8B8880; font-size:12px; line-height:1.8;}

/* ---------- القطاعات ---------- */
.kit-sector-infographic{display:flex; flex-wrap:wrap; justify-content:center; gap:16px;}
.kit-sector-node{display:flex; flex-direction:column; align-items:center; gap:10px; width:120px; text-align:center;}
.kit-sector-icon{width:56px; height:56px; border-radius:50%; border:1.5px solid; display:flex; align-items:center; justify-content:center; flex:none;}
.kit-sector-icon i{font-size:18px;}
.kit-sector-node span{font-size:12.5px; font-weight:700; line-height:1.4;}

/* ---------- خطة الترويج — بطاقات محايدة بسهم ---------- */
.kit-promo-geo-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:1px; background:rgba(255,255,255,.1);}
.kit-promo-geo{
    position:relative; padding:32px 30px; color:#fff; text-align:start; opacity:0; transform:translateY(16px);
    transition:opacity .6s ease, transform .6s ease; background:#14141C; clip-path:none;
}
.kit-promo-geo.kit-in-view{opacity:1; transform:translateY(0);}
.kit-promo-geo-a, .kit-promo-geo-b{background:#1a1a24;}
.kit-promo-geo-num{display:block; font-family:var(--font-display); font-size:28px; font-weight:800; margin-bottom:8px;}
.kit-promo-geo-label{display:block; font-size:12px; color:#8B8880;}
.kit-promo-geo::after{content:'→'; position:absolute; bottom:20px; inset-inline-end:24px; color:#4a4a58; font-size:18px;}
html[dir="rtl"] .kit-promo-geo::after{content:'←';}

/* ---------- فرص الرعاية ---------- */
.kit-sponsor-table{display:flex; flex-direction:column;}
.kit-sponsor-row{
    background:none; border:none; border-bottom:1px solid #E4E0D6; border-radius:0; padding:32px 4px;
    transition:padding-inline-start .3s ease;
}
.kit-sponsor-row:hover{padding-inline-start:16px;}
.kit-sponsor-row-top{border-bottom:1px solid var(--ink);}
.kit-sponsor-row-head{display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; margin-bottom:16px; border:none; padding-bottom:0;}
.kit-sponsor-row-head h3{font-size:22px; color:var(--ink); flex:1; font-weight:800; font-family:var(--font-display);}
.kit-sponsor-price{font-family:var(--font-display); font-weight:800; font-size:17px; color:var(--ink);}
.kit-sponsor-crown{background:none; color:#A39E8F; font-size:10px; font-weight:700; padding:0; letter-spacing:.15em; text-transform:uppercase; border:1px solid #D9D4C6; padding:4px 10px;}
.kit-sponsor-row-items{display:flex; flex-wrap:wrap; gap:10px 26px;}
.kit-sponsor-item{font-size:13px; color:#6a6a70; display:inline-flex; align-items:center; gap:8px;}
.kit-sponsor-item i{color:var(--ink); font-size:8px;}

/* ---------- استمارة طلب رعاية ---------- */
.kit-request-section{background:#14141C; max-width:none; text-align:center;}
.kit-request-section > *{max-width:640px; margin-inline:auto;}
.kit-form-inline{display:flex; flex-direction:column; gap:0; margin-top:32px; text-align:start;}
.kit-form-inline input, .kit-form-inline select{
    background:none; border:none; border-bottom:1px solid rgba(255,255,255,.25); color:#fff;
    padding:16px 4px; font-family:inherit; font-size:15px; border-radius:0; margin-bottom:8px;
}
.kit-form-inline select{background:#14141C;}
.kit-form-inline select option{background:#14141C; color:#fff;}
.kit-form-inline input::placeholder{color:#6a6a70;}
.kit-form-inline input:focus, .kit-form-inline select:focus{outline:none; border-color:#fff;}
.kit-form-inline button{align-self:flex-start; margin-top:20px; background:none; border:1px solid #fff; color:#fff; border-radius:0; padding:14px 32px;}
.kit-form-inline button:hover{background:#fff; color:#14141C;}

/* ---------- الخاتمة ---------- */
.kit-closing{
    min-height:60vh; display:flex; align-items:center; justify-content:center; flex-direction:column; text-align:center;
    background:#14141C; background-size:cover; background-position:center; color:#fff; padding:80px 24px;
}
.kit-closing h2{font-family:var(--font-display); font-size:clamp(26px,4.2vw,42px); font-weight:800; margin-bottom:16px;}
.kit-closing p{color:#8B8880; font-size:14.5px; max-width:480px;}

.kit-download-bar{position:sticky; bottom:0; display:flex; justify-content:center; gap:12px; padding:20px 16px; background:#14141C; flex-wrap:wrap;}
.kit-download-bar button{background:var(--ink); color:#fff; border-radius:0; border:none; padding:14px 30px;}

@media print{
    .no-print{display:none !important;}
    .kit-section, .kit-cover, .kit-closing, .kit-theme-section{page-break-inside:avoid; break-inside:avoid;}
    *{-webkit-print-color-adjust:exact !important; print-color-adjust:exact !important; color-adjust:exact !important;}
    body.kit-standalone-body{background:#F7F5F0;}
}

/* ==========================================================================
   Event Manage — secondary section nav (lives inside the organizer admin shell)
   ========================================================================== */
.event-manage-grid{display:grid; grid-template-columns:240px 1fr; gap:28px; align-items:start;}
@media (max-width:860px){.event-manage-grid{grid-template-columns:1fr; gap:16px;}}
.event-manage-nav{
    display:flex; flex-direction:column; gap:3px;
    background:#fff; border:1px solid var(--border); border-radius:var(--radius-md);
    padding:10px; position:sticky; top:20px;
}
.event-manage-nav-item{
    display:flex; align-items:center; gap:10px;
    padding:11px 14px; border-radius:var(--radius-sm);
    font-size:13.5px; font-weight:600; color:var(--graphite); text-align:start;
    text-decoration:none; transition:background .15s, color .15s;
}
.event-manage-nav-item i{width:18px; color:var(--muted); font-size:13px;}
.event-manage-nav-item:hover{background:var(--card);}
.event-manage-nav-item.active{background:var(--amber); color:var(--ink);}
.event-manage-nav-item.active i{color:var(--ink);}
.event-manage-nav-sep{height:1px; background:var(--border); margin:8px 6px;}
@media (max-width:860px){
    .event-manage-nav{
        position:static; flex-direction:row; overflow-x:auto; -webkit-overflow-scrolling:touch;
        gap:6px; padding:8px; scrollbar-width:none;
    }
    .event-manage-nav::-webkit-scrollbar{display:none;}
    .event-manage-nav-item{white-space:nowrap; flex:none;}
    .event-manage-nav-sep{width:1px; height:auto; margin:0 4px;}
}
.event-manage-content{min-width:0;}

/* ==========================================================================
   Event Marketing Kit — additions for the fully structured card system
   ========================================================================== */
.kit-countdown-bottom{position:relative; z-index:1; margin-top:40px;}
.kit-hero-dots{position:absolute; bottom:130px; inset-inline:0; display:flex; justify-content:center; gap:8px; z-index:1;}
.kit-hero-dot{width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.35); transition:background .3s, transform .3s;}
.kit-hero-dot.active{background:var(--amber); transform:scale(1.3);}

.kit-about-image-left .kit-about-media{order:-1;}

.kit-theme-gallery-grid{
    display:grid; grid-template-columns:repeat(4, 1fr); grid-auto-rows:90px; gap:8px;
    max-width:600px; margin:32px auto 0; position:relative; z-index:1;
}
.kit-theme-gallery-item{border-radius:10px; overflow:hidden;}
.kit-theme-gallery-item img{width:100%; height:100%; object-fit:cover; display:block;}
.kit-theme-gallery-item-0{grid-column:span 2; grid-row:span 2;}

.kit-importance-box-card{background:#fff; border:1px solid var(--border); text-align:center; padding:28px 22px;}
.kit-importance-img{width:100%; height:110px; object-fit:cover; border-radius:var(--radius-sm); margin-bottom:14px;}
.kit-importance-box-card i{font-size:22px; color:var(--clay); margin-bottom:10px; display:block;}
.kit-importance-num{display:block; font-family:var(--font-display); font-size:24px; font-weight:800; color:var(--ink); margin-bottom:6px;}
.kit-importance-box-card p{color:var(--graphite); font-size:13.5px; line-height:1.7;}

.kit-activities-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:24px;}
.kit-activity-card-v{background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius-md); overflow:hidden;}
.kit-activity-media-v{height:190px;}
.kit-activity-media-v img{width:100%; height:100%; object-fit:cover;}
.kit-activity-media-placeholder{width:100%; height:100%; background:rgba(255,255,255,.06); display:flex; align-items:center; justify-content:center; color:#8B8880; font-size:32px;}
.kit-activity-body-v{padding:24px;}
.kit-activity-icon-v{color:var(--amber); font-size:17px; margin-bottom:10px; display:block;}
.kit-activity-body-v h4{color:#fff; font-size:17px; margin-bottom:8px; font-weight:800;}
.kit-activity-body-v p{color:#B9B6AD; font-size:13.5px; line-height:1.8;}

.kit-benefits-cards-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:20px;}
.kit-benefit-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:26px 22px; text-align:center;}
.kit-benefit-icon{width:52px; height:52px; border-radius:14px; background:var(--card); color:var(--teal); display:flex; align-items:center; justify-content:center; font-size:19px; margin:0 auto 16px;}
.kit-benefit-card h4{font-size:15px; color:var(--ink); margin-bottom:8px; font-weight:800;}
.kit-benefit-card p{font-size:12.5px; color:var(--graphite); line-height:1.75;}

.kit-promo-tiles{display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:0; border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden;}
.kit-promo-tile{position:relative; padding:22px 18px; border-inline-end:1px solid var(--border); border-bottom:1px solid var(--border); background:#fff;}
.kit-promo-tile i{position:absolute; top:14px; inset-inline-end:14px; color:var(--amber); font-size:16px;}
.kit-promo-tile-num{display:block; font-family:var(--font-display); font-size:24px; font-weight:800; color:var(--clay);}
.kit-promo-tile-text{display:block; font-size:12px; color:var(--graphite); margin-top:6px;}

.kit-sponsor-cards-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:24px;}
.kit-sponsor-pcard{background:#20202e; border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-md); overflow:hidden; display:flex; flex-direction:column;}
.kit-sponsor-pcard-tier{
    padding:14px 18px; color:#fff; font-weight:800; font-size:13px; text-align:center;
    border:none; width:100%; cursor:pointer; font-family:inherit; display:flex; align-items:center; justify-content:center; gap:8px;
}
.kit-sponsor-pcard-tier i{font-size:11px; transition:transform .25s ease;}
.kit-sponsor-collapsed .kit-sponsor-pcard-tier i{transform:rotate(-90deg);}
.kit-sponsor-pcard-price{font-family:var(--font-display); font-size:30px; font-weight:800; color:#fff; text-align:center; padding-top:20px;}
.kit-sponsor-pcard-price span{font-size:13px; color:#8B8880; font-weight:600;}
.kit-sponsor-pcard-collapsible{display:grid; grid-template-rows:1fr; transition:grid-template-rows .3s ease; overflow:hidden;}
.kit-sponsor-collapsed .kit-sponsor-pcard-collapsible{grid-template-rows:0fr;}
.kit-sponsor-pcard-collapsible-inner{overflow:hidden; min-height:0;}
.kit-sponsor-pcard-label{text-align:center; font-size:11px; color:#8B8880; font-weight:700; letter-spacing:.05em; text-transform:uppercase; margin:10px 0;}
.kit-sponsor-pcard-list{padding:0 18px 18px;}
.kit-sponsor-pcard-list p{font-size:12.5px; color:#D9D6CE; padding:9px 0; border-bottom:1px solid rgba(255,255,255,.08); margin:0; text-align:center;}
.kit-sponsor-pcard-list p:last-child{border-bottom:none;}
.kit-interest-btn{
    display:block; text-align:center; margin:0 18px 18px; padding:11px 16px; border-radius:8px;
    border:1.5px solid; font-size:13px; font-weight:700; text-decoration:none; transition:background .2s, color .2s;
}
.kit-interest-btn:hover{background:currentColor;}
.kit-interest-btn:hover{color:#20202e !important;}

/* ==========================================================================
   Profile completion nudge — gentle, dismissible, never blocking
   ========================================================================== */
.profile-nudge-banner{background:#146B5C; color:#fff; padding:10px 0;}
.profile-nudge-inner{display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; font-size:13px;}
.profile-nudge-inner i{color:#F5A623;}
.profile-nudge-actions{display:flex; align-items:center; gap:14px;}
.profile-nudge-actions a{color:#fff; font-weight:700; text-decoration:underline; text-underline-offset:2px;}
.profile-nudge-actions button{background:none; border:none; color:rgba(255,255,255,.7); cursor:pointer; font-size:13px; padding:4px;}
.profile-nudge-actions button:hover{color:#fff;}

/* ==========================================================================
   Target Companies — protected viewing page
   ========================================================================== */
.target-co-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:20px;}
.target-co-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:22px; text-align:center;}
.target-co-avatar{
    width:52px; height:52px; border-radius:50%; background:linear-gradient(135deg, var(--amber), var(--clay));
    color:#fff; font-weight:800; font-size:20px; display:flex; align-items:center; justify-content:center; margin:0 auto 12px;
}
.target-co-card h3{font-size:15.5px; margin-bottom:6px; color:var(--ink);}
.target-co-sector{display:inline-block; font-size:11px; font-weight:700; color:var(--teal-dark); background:rgba(29,158,117,.08); padding:3px 12px; border-radius:999px; margin-bottom:14px;}
.target-co-details{text-align:start; border-top:1px solid var(--border); padding-top:14px; margin-top:4px;}
.target-co-details p{font-size:12.5px; color:var(--graphite); margin:6px 0; display:flex; align-items:center; gap:8px;}
.target-co-details i{color:var(--muted); width:14px;}
.target-co-details a{color:inherit; text-decoration:none;}
.target-co-notes{font-size:11.5px; color:var(--muted); font-style:italic; margin-top:12px; padding-top:12px; border-top:1px dashed var(--border);}

/* ==========================================================================
   Focus visibility (accessibility)
   ========================================================================== */
a:focus-visible, button:focus-visible, select:focus-visible{
    outline:2px solid var(--amber);
    outline-offset:2px;
}
