/* ---------- Base (önceki dosyalarla uyumlu) ---------- */
        

        

        /* ---------- Section background ---------- */
        .section-bg {
            background:
                radial-gradient(ellipse 60% 40% at 15% 20%, rgba(20, 35, 102, 0.5) 0%, transparent 60%),
                radial-gradient(ellipse 55% 45% at 85% 80%, rgba(30, 58, 138, 0.4) 0%, transparent 60%),
                linear-gradient(165deg, #050B26 0%, #0A1647 55%, #0B1B5C 100%);
        }

        /* ---------- Title ---------- */
        .title-display {
            font-family: var(--font-display);
            letter-spacing: -0.005em;
            line-height: 1;
        }
        .title-underline {
            display: inline-block;
            height: 3px;
            background: linear-gradient(90deg,
                rgba(255, 255, 255, 0.95) 0%,
                rgba(127, 200, 248, 0.85) 40%,
                rgba(127, 200, 248, 0) 100%);
            border-radius: 2px;
            box-shadow: 0 0 18px rgba(127, 200, 248, 0.55);
        }

        /* ---------- Day tabs (yönetim panelinden eklenen günler) ---------- */
        .day-tab {
            display: inline-flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 0.25rem;
            padding: 0.85rem 1.4rem;
            border-radius: 14px;
            background: rgba(184, 220, 251, 0.06);
            border: 1.2px solid rgba(127, 200, 248, 0.22);
            color: rgba(255, 255, 255, 0.78);
            transition: all 0.3s cubic-bezier(.2,.7,.2,1);
            cursor: pointer;
            min-width: 140px;
            text-align: left;
        }
        .day-tab:hover {
            background: rgba(184, 220, 251, 0.12);
            border-color: rgba(127, 200, 248, 0.5);
            color: #fff;
            transform: translateY(-1px);
        }
        .day-tab.is-active {
            background: rgba(127, 200, 248, 0.18);
            border-color: var(--c-accent);
            color: #fff;
            box-shadow:
                0 8px 24px rgba(127, 200, 248, 0.22),
                0 0 0 1px rgba(127, 200, 248, 0.25) inset;
        }
        .day-tab .day-label {
            font-family: var(--font-body);
            font-weight: 800;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            font-size: 0.7rem;
            color: var(--c-accent);
        }
        .day-tab .day-date {
            font-family: var(--font-display);
            font-size: 1.05rem;
            line-height: 1;
        }

        /* ---------- Timeline ---------- */
        .timeline {
            position: relative;
            padding-left: 28px;
        }
        @media (min-width: 768px) {
            .timeline { padding-left: 38px; }
        }
        @media (min-width: 1024px) {
            .timeline { padding-left: 0; }
        }

        /* Vertical line — sol kenarda (mobile) veya orta civarında (desktop split mode YOK, hep sol) */
        .timeline::before {
            content: "";
            position: absolute;
            top: 8px;
            bottom: 8px;
            left: 11px;
            width: 2px;
            background: linear-gradient(180deg,
                transparent 0%,
                rgba(127, 200, 248, 0.6) 8%,
                rgba(127, 200, 248, 0.4) 50%,
                rgba(127, 200, 248, 0.15) 92%,
                transparent 100%);
            border-radius: 2px;
            box-shadow: 0 0 14px rgba(127, 200, 248, 0.4);
        }
        @media (min-width: 1024px) {
            .timeline::before { left: 95px; }
        }

        .tl-item {
            position: relative;
        }
        .tl-item + .tl-item { margin-top: 1.5rem; }

        /* Dot on the line */
        .tl-dot {
            position: absolute;
            left: -28px;
            top: 14px;
            width: 24px;
            height: 24px;
            border-radius: 9999px;
            background: var(--c-bg-1);
            border: 2px solid var(--c-accent);
            box-shadow: 0 0 0 4px rgba(5, 11, 38, 1), 0 0 18px rgba(127, 200, 248, 0.55);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 2;
        }
        .tl-dot::after {
            content: "";
            width: 8px; height: 8px;
            border-radius: 9999px;
            background: var(--c-accent);
            box-shadow: 0 0 12px var(--c-accent);
        }
        @media (min-width: 768px) {
            .tl-dot { left: -38px; }
        }
        @media (min-width: 1024px) {
            .tl-dot { left: 84px; }
        }

        /* Item is highlighted (current/now) */
        .tl-item.is-now .tl-dot {
            background: var(--c-accent);
            animation: pulseDot 2.2s ease-in-out infinite;
        }
        .tl-item.is-now .tl-dot::after {
            background: #fff;
            box-shadow: 0 0 14px #fff;
        }
        @keyframes pulseDot {
            0%, 100% { box-shadow: 0 0 0 4px rgba(5, 11, 38, 1), 0 0 18px rgba(127, 200, 248, 0.6); }
            50%      { box-shadow: 0 0 0 4px rgba(5, 11, 38, 1), 0 0 28px rgba(127, 200, 248, 0.95); }
        }

        /* Time column (lg+ shown to the left of the card) */
        .tl-time {
            font-family: var(--font-display);
            font-size: 1.1rem;
            line-height: 1.1;
            color: #fff;
            letter-spacing: 0.02em;
        }
        .tl-time-sub {
            font-family: var(--font-body);
            font-weight: 600;
            font-size: 0.78rem;
            color: var(--c-accent);
            letter-spacing: 0.06em;
            text-transform: uppercase;
            margin-top: 0.15rem;
        }

        /* Card */
        .tl-card {
            position: relative;
            border-radius: 16px;
            background: linear-gradient(180deg,
                rgba(14, 30, 110, 0.55) 0%,
                rgba(8, 18, 70, 0.55) 100%);
            border: 1px solid rgba(127, 200, 248, 0.18);
            box-shadow:
                0 14px 30px rgba(0, 0, 0, 0.35),
                0 0 0 1px rgba(255, 255, 255, 0.03) inset,
                0 0 24px rgba(15, 40, 144, 0.18);
            padding: 1.1rem 1.25rem;
            transition: transform 0.35s cubic-bezier(.2,.7,.2,1),
                        border-color 0.3s ease,
                        box-shadow 0.3s ease;
            backdrop-filter: blur(2px);
        }
        @media (min-width: 640px) {
            .tl-card { padding: 1.25rem 1.5rem; }
        }
        .tl-card:hover {
            transform: translateY(-2px);
            border-color: rgba(127, 200, 248, 0.45);
            box-shadow:
                0 18px 40px rgba(0, 0, 0, 0.45),
                0 0 0 1px rgba(127, 200, 248, 0.18) inset,
                0 0 32px rgba(127, 200, 248, 0.22);
        }

        .tl-card-title {
            font-family: var(--font-body);
            font-weight: 700;
            color: #fff;
            letter-spacing: 0.005em;
            line-height: 1.3;
        }
        .tl-card-desc {
            color: rgba(255, 255, 255, 0.78);
            font-weight: 500;
            line-height: 1.55;
        }

        /* Meta row icons */
        .meta-row {
            display: flex;
            flex-wrap: wrap;
            gap: 0.65rem 1.2rem;
            color: rgba(184, 220, 251, 0.85);
            font-size: 0.85rem;
            font-weight: 600;
        }
        .meta-row .meta-icon {
            color: var(--c-accent);
            display: inline-flex;
            margin-right: 0.4rem;
            vertical-align: middle;
        }

        /* Tag chips (type indicator) */
        .tl-chip {
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            padding: 0.3rem 0.65rem;
            border-radius: 9999px;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            border: 1px solid currentColor;
        }
        .chip-opening   { color: #B9DCFB; }
        .chip-session   { color: #7FC8F8; }
        .chip-break     { color: #FCD34D; }
        .chip-keynote   { color: #C4B5FD; }
        .chip-closing   { color: #6EE7B7; }

        /* Mobile-only inline time inside card head */
        .tl-time-inline {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            color: var(--c-accent);
            font-family: var(--font-display);
            font-size: 0.95rem;
        }

        /* ---------- Animations ---------- */
        @keyframes riseIn {
            from { opacity: 0; transform: translateY(16px); }
            to   { opacity: 1; transform: translateY(0); }
        }
        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
        @keyframes drawLine { from { transform: scaleX(0); } to { transform: scaleX(1); } }

        .anim-rise { opacity: 0; animation: riseIn 0.8s cubic-bezier(.2,.7,.2,1) forwards; }
        .anim-fade { opacity: 0; animation: fadeIn 1s ease forwards; }
        .anim-line { transform-origin: left center; transform: scaleX(0); animation: drawLine 0.9s cubic-bezier(.2,.7,.2,1) 0.35s forwards; }

        /* Day-switch transition */
        .day-panel {
            animation: riseIn 0.5s cubic-bezier(.2,.7,.2,1);
        }

        /* ---------- Responsive sizing ---------- */
        .title-size { font-size: clamp(1.8rem, 5vw, 4.25rem); }
        .card-title-size { font-size: clamp(1rem, 1.5vw, 1.2rem); }
        .card-desc-size  { font-size: clamp(0.9rem, 1.15vw, 1rem); }
