/* Netvidyalayalanding page (templates/landing/index.html.twig). Kept separate from css/app.css,
   whose .hero/.section/.carousel rules would clash with Bootstrap components used here. */
:root {
      --np-primary: #0b5d3b;
      --np-primary-2: #13a86b;
      --np-accent: #f5a524;
      --np-dark: #0a1f17;
      --np-soft: #eef7f2;
      --bs-primary: var(--np-primary);
      --bs-primary-rgb: 11, 93, 59;
      --bs-link-color: var(--np-primary);
      --bs-body-font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    }
    [data-bs-theme="dark"] {
      --np-soft: #10231b;
      --bs-body-bg: #07140f;
      --bs-link-color: #4fd49a;
    }
    body { background: var(--bs-body-bg); }
    .btn-primary { --bs-btn-bg: var(--np-primary); --bs-btn-border-color: var(--np-primary); --bs-btn-hover-bg: #094a2f; --bs-btn-hover-border-color: #094a2f; --bs-btn-active-bg: #073d27; }
    .btn-accent { background: var(--np-accent); color: #1b1300; font-weight: 700; border: none; }
    .btn-accent:hover { background: #e39313; color: #1b1300; }
    .text-accent { color: var(--np-accent) !important; }
    .bg-soft { background: var(--np-soft); }
    .section { padding: 5.5rem 0; }
    .eyebrow { font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--np-primary-2); }
    .navbar { backdrop-filter: blur(10px); background: rgba(255,255,255,.85); transition: box-shadow .2s; }
    [data-bs-theme="dark"] .navbar { background: rgba(7,20,15,.85); }
    .navbar.scrolled { box-shadow: 0 6px 24px rgba(0,0,0,.08); }
    .brand-mark { width: 36px; height: 36px; border-radius: 10px; background: linear-gradient(135deg, var(--np-primary), var(--np-primary-2)); display: grid; place-items: center; color: #fff; }

    /* Hero (white) */
    .hero { background: #ffffff; color: var(--np-dark); padding: 7.5rem 0 3.5rem; position: relative; overflow: hidden; border-bottom: 1px solid var(--bs-border-color); }
    [data-bs-theme="dark"] .hero { background: var(--bs-body-bg); color: #f1f7f4; }
    .hero h1 { font-weight: 800; letter-spacing: -.02em; color: inherit; }
    .hero .lead { color: #4b5b54; }
    [data-bs-theme="dark"] .hero .lead { color: rgba(241,247,244,.72); }
    .hero-hl { color: var(--np-primary-2); }
    .hero-card { background: #fff; color: var(--np-dark); border: 1px solid var(--bs-border-color); border-radius: 1.25rem; padding: 1.25rem; box-shadow: 0 20px 50px rgba(10,31,23,.08); }
    [data-bs-theme="dark"] .hero-card { background: #0c1d16; color: #f1f7f4; box-shadow: none; }
    .hero-card .muted { color: #6b7a73; }
    [data-bs-theme="dark"] .hero-card .muted { color: rgba(241,247,244,.6); }
    #candles, .hero-svg { width: 100%; height: 260px; display: block; }
    .chip { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .8rem; border-radius: 999px; background: var(--np-soft); border: 1px solid rgba(11,93,59,.15); color: var(--np-primary); font-size: .85rem; font-weight: 500; }
    [data-bs-theme="dark"] .chip { color: #4fd49a; border-color: rgba(79,212,154,.2); }
    /*.hero .carousel-item .row { min-height: 440px; }*/
    .commodity-tile { border: 1px solid var(--bs-border-color); border-radius: 1rem; padding: 1rem; height: 100%; }
    .commodity-tile i { font-size: 1.6rem; }

    /* Hero carousel navigation */
    .hero-nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2rem; }
    .hero .carousel-indicators { position: static; margin: 0; justify-content: flex-start; align-items: center; gap: .5rem; }
    .hero .carousel-indicators [data-bs-target] { width: 28px; height: 6px; margin: 0; border: 0; border-radius: 99px; background: var(--np-primary); opacity: .2; transition: width .3s, opacity .3s; }
    [data-bs-theme="dark"] .hero .carousel-indicators [data-bs-target] { background: #4fd49a; }
    .hero .carousel-indicators .active { width: 48px; opacity: 1; }
    .hero-counter { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--bs-secondary-color); font-size: .9rem; }
    .hero-arrow { width: 46px; height: 46px; border-radius: 50%; display: inline-grid; place-items: center; border: 1px solid var(--bs-border-color); background: var(--bs-body-bg); color: inherit; transition: background .2s, color .2s, border-color .2s; }
    .hero-arrow:hover, .hero-arrow:focus-visible { background: var(--np-primary); border-color: var(--np-primary); color: #fff; }

    .stat-num { font-size: 2.4rem; font-weight: 800; color: var(--np-primary); }
    [data-bs-theme="dark"] .stat-num { color: #4fd49a; }

    .course-card { border: 1px solid var(--bs-border-color); border-radius: 1rem; transition: transform .2s, box-shadow .2s; height: 100%; }
    .course-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(11,93,59,.12); }
    .course-icon { width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; font-size: 1.5rem; background: var(--np-soft); color: var(--np-primary); }
    [data-bs-theme="dark"] .course-icon { color: #4fd49a; }
    .filter-btn.active { background: var(--np-primary) !important; color: #fff !important; }
    .course-item { transition: opacity .25s; }

    .step { position: relative; padding-left: 4rem; }
    .step-num { position: absolute; left: 0; top: 0; width: 44px; height: 44px; border-radius: 50%; background: var(--np-primary); color: #fff; font-weight: 700; display: grid; place-items: center; }
    .step:not(:last-child)::after { content: ""; position: absolute; left: 21px; top: 48px; bottom: -12px; width: 2px; background: var(--bs-border-color); }

    .price-card { border-radius: 1.25rem; border: 1px solid var(--bs-border-color); height: 100%; }
    .price-card.featured { border: 2px solid var(--np-primary-2); box-shadow: 0 20px 50px rgba(19,168,107,.18); }
    .price { font-size: 2.4rem; font-weight: 800; }

    .calc-result { background: linear-gradient(135deg, var(--np-primary), var(--np-primary-2)); color: #fff; border-radius: 1rem; }
    .form-range::-webkit-slider-thumb { background: var(--np-primary); }
    .form-range::-moz-range-thumb { background: var(--np-primary); }

    .mentor-avatar { width: 88px; height: 88px; border-radius: 50%; display: grid; place-items: center; font-size: 1.8rem; font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--np-primary), var(--np-primary-2)); margin: 0 auto; }
    .placeholder-note { font-size: .75rem; border: 1px dashed var(--bs-border-color); border-radius: .5rem; padding: .25rem .6rem; display: inline-block; color: var(--bs-secondary-color); }

    .risk-banner { background: #fff6e5; border-left: 4px solid var(--np-accent); color: #5a3b00; }
    [data-bs-theme="dark"] .risk-banner { background: #2a1f08; color: #f3d9a4; }
    footer { background: var(--np-dark); color: rgba(255,255,255,.7); }
    footer a { color: rgba(255,255,255,.8); text-decoration: none; }
    footer a:hover { color: #fff; }
    .reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
    .reveal.show { opacity: 1; transform: none; }
    #backTop { position: fixed; right: 18px; bottom: 18px; z-index: 1030; display: none; }

    /* ===== Stock screener ===== */
    .screener-shell { border: 1px solid var(--bs-border-color); border-radius: 1rem; overflow: hidden; background: var(--bs-body-bg); box-shadow: 0 16px 40px rgba(10,31,23,.06); }
    @media (min-width: 992px) { .scr-side-col { border-right: 1px solid var(--bs-border-color); } }
    .scr-side-top { padding: .9rem 1rem; border-bottom: 1px solid var(--bs-border-color); }
    .scr-side-scroll { max-height: 640px; overflow-y: auto; }
    .scr-side .accordion-button { font-weight: 600; font-size: .92rem; padding: .85rem 1rem; background: transparent; box-shadow: none; color: var(--bs-body-color); }
    .scr-side .accordion-button:not(.collapsed) { background: var(--np-soft); }
    .scr-side .accordion-item { border-left: 0; border-right: 0; border-radius: 0 !important; }
    .scr-side .accordion-body { background: var(--np-soft); padding-top: .25rem; }
    .flt-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--np-primary-2); display: inline-block; margin-left: .5rem; }
    .scr-side-foot { padding: .85rem 1rem; border-top: 1px solid var(--bs-border-color); background: var(--bs-body-bg); }
    .sec-list { max-height: 220px; overflow-y: auto; }
    .dual-range { position: relative; height: 26px; margin-top: .5rem; }
    .dual-range .dual-track, .dual-range .dual-fill { position: absolute; top: 11px; height: 4px; border-radius: 4px; }
    .dual-range .dual-track { left: 0; right: 0; background: var(--bs-border-color); }
    .dual-range .dual-fill { background: var(--np-primary); }
    [data-bs-theme="dark"] .dual-range .dual-fill { background: #4fd49a; }
    .dual-range input[type=range] { position: absolute; left: 0; top: 4px; width: 100%; height: 18px; margin: 0; background: transparent; pointer-events: none; -webkit-appearance: none; appearance: none; }
    .dual-range input[type=range]::-webkit-slider-runnable-track { background: transparent; }
    .dual-range input[type=range]::-moz-range-track { background: transparent; }
    .dual-range input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 2px solid var(--np-primary); cursor: pointer; box-shadow: 0 1px 4px rgba(0,0,0,.2); }
    .dual-range input[type=range]::-moz-range-thumb { pointer-events: auto; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 2px solid var(--np-primary); cursor: pointer; }
    .scr-head { padding: 1rem 1.25rem; border-bottom: 1px solid var(--bs-border-color); }
    .scr-chip { display: inline-flex; align-items: center; gap: .35rem; font-size: .8rem; padding: .25rem .4rem .25rem .7rem; border-radius: 999px; background: var(--np-soft); border: 1px solid rgba(11,93,59,.15); }
    .scr-chip button { border: 0; background: transparent; line-height: 1; padding: 0 .2rem; color: inherit; opacity: .7; }
    .scr-chip button:hover { opacity: 1; }
    .scr-table-wrap { max-height: 560px; overflow: auto; }
    .scr-table { margin: 0; font-size: .9rem; }
    .scr-table thead th { position: sticky; top: 0; z-index: 1; background: var(--bs-tertiary-bg); font-weight: 500; color: var(--bs-secondary-color); white-space: nowrap; padding: .8rem .75rem; border-bottom: 1px solid var(--bs-border-color); }
    .scr-table thead th[data-sort] { cursor: pointer; user-select: none; }
    .scr-table thead th[data-sort]:hover { color: var(--bs-body-color); }
    .scr-table thead th.sorted { color: var(--bs-body-color); font-weight: 700; }
    .scr-table td { padding: .75rem; vertical-align: middle; white-space: nowrap; }
    .scr-table .num { text-align: right; font-variant-numeric: tabular-nums; }
    .scr-table tbody tr:hover { background: var(--np-soft); }
    .scr-table tbody tr.scr-row { cursor: pointer; }
    .scr-name-link { color: inherit; text-decoration: none; }
    .scr-name-link:hover, .scr-row:hover .scr-name-link { color: var(--np-primary-2); text-decoration: underline; }
    .scr-name-link .bi { opacity: 0; transition: opacity .15s; }
    .scr-row:hover .scr-name-link .bi, .scr-name-link:focus-visible .bi { opacity: 1; }
    .sec-cell { max-width: 230px; overflow: hidden; text-overflow: ellipsis; }
    .cap-badge { font-size: .68rem; font-weight: 600; padding: .1rem .4rem; border-radius: .35rem; background: var(--np-soft); color: var(--np-primary); }
    [data-bs-theme="dark"] .cap-badge { color: #4fd49a; }
    .scr-foot { padding: .75rem 1.25rem; border-top: 1px solid var(--bs-border-color); }
    /* Add-filter picker */
    .af-modal .modal-body { padding: 0; }
    .af-cats { border-right: 1px solid var(--bs-border-color); max-height: 460px; overflow-y: auto; }
    .af-cat { display: flex; justify-content: space-between; align-items: center; width: 100%; text-align: left; border: 0; background: transparent; padding: .6rem 1rem; font-weight: 500; color: var(--bs-body-color); }
    .af-cat:hover { background: var(--bs-tertiary-bg); }
    .af-cat.active { background: var(--np-soft); font-weight: 700; }
    .af-cat .badge { font-size: .68rem; }
    .af-list { max-height: 460px; overflow-y: auto; padding: .75rem 1.25rem; }
    .af-list .form-check { padding-top: .35rem; padding-bottom: .35rem; }
    .af-nodata { font-size: .68rem; color: var(--bs-secondary-color); border: 1px solid var(--bs-border-color); border-radius: .3rem; padding: 0 .35rem; margin-left: .35rem; white-space: nowrap; }
    @media (max-width: 767.98px) {
      .af-cats { border-right: 0; border-bottom: 1px solid var(--bs-border-color); max-height: none; display: flex; overflow-x: auto; }
      .af-cat { white-space: nowrap; width: auto; }
      .af-cat .bi-chevron-right { display: none; }
      .af-list { max-height: 50vh; }
    }
    @media (max-width: 575.98px) { .hero { padding-top: 7rem; } .section { padding: 4rem 0; } }
