/* ===== CSS extras din blocul <style> #1 din index.php ===== */

* {
            box-sizing: border-box;
        }

        body {
            margin: 0;
            font-family: "Segoe UI", Arial, sans-serif;
            background:
                radial-gradient(circle at 8% 14%, rgba(255, 214, 102, 0.34) 0 92px, transparent 94px),
                radial-gradient(circle at 92% 16%, rgba(255, 151, 186, 0.24) 0 96px, transparent 98px),
                radial-gradient(circle at 14% 88%, rgba(110, 231, 255, 0.22) 0 100px, transparent 102px),
                linear-gradient(180deg, #fff8df 0%, #eef8ff 48%, #f5f0ff 100%);
            color: #17325c;
            min-height: 100vh;
        }

        .wrap {
            width: 92vw;
            max-width: 1500px;
            margin: 0 auto;
            padding: 28px 0 54px;
        }

        .top {
            background: rgba(255,255,255,0.96);
            border: 2px solid rgba(141,199,255,0.65);
            border-radius: 30px;
            padding: 24px;
            box-shadow: 0 18px 42px rgba(36,64,145,0.13);
            margin-bottom: 22px;
        }

        .top h1 {
            margin: 0;
            color: #23419a;
            font-size: clamp(34px, 4vw, 56px);
            line-height: 1;
            letter-spacing: -0.04em;
        }

        .top p {
            margin: 12px 0 0;
            color: #49669c;
            font-size: 18px;
            font-weight: 750;
        }

        .back {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 42px;
            padding: 0 16px;
            margin-bottom: 16px;
            border-radius: 999px;
            background: #ffffff;
            color: #254c8f;
            border: 2px solid #8dc7ff;
            text-decoration: none;
            font-weight: 900;
            box-shadow: 0 6px 0 #6daeea;
        }

        .section-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
            gap: 22px;
        }

        .menu-card {
            display: block;
            text-decoration: none;
            background: #ffffff;
            border: 2px solid rgba(141,199,255,0.68);
            border-radius: 30px;
            padding: 24px;
            color: #17325c;
            min-height: 190px;
            box-shadow: 0 18px 42px rgba(36,64,145,0.13);
        }

        .menu-card h2 {
            margin: 0 0 10px;
            color: #23419a;
            font-size: 30px;
        }

        .menu-card p {
            margin: 0;
            color: #49669c;
            font-size: 17px;
            font-weight: 700;
            line-height: 1.45;
        }

        .lesson-shell {
            background: rgba(255,255,255,0.96);
            border: 2px solid rgba(141,199,255,0.68);
            border-radius: 34px;
            padding: clamp(18px, 2.2vw, 32px);
            box-shadow: 0 20px 50px rgba(36,64,145,0.15);
        }

        .lesson-head {
            display: grid;
            grid-template-columns: 1fr auto;
            gap: 18px;
            align-items: center;
            margin-bottom: 22px;
        }

        .lesson-title {
            margin: 0;
            color: #23419a;
            font-size: clamp(28px, 3.4vw, 48px);
            line-height: 1.05;
            letter-spacing: -0.04em;
        }

        .lesson-subtitle {
            margin: 8px 0 0;
            color: #49669c;
            font-size: 18px;
            font-weight: 800;
        }

        .counter {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 54px;
            padding: 0 20px;
            border-radius: 999px;
            background: #fff4b8;
            color: #23419a;
            border: 2px solid #facc15;
            font-size: 18px;
            font-weight: 950;
            white-space: nowrap;
        }

        .control-bar {
            display: flex;
            gap: 12px;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;
            margin: 16px 0 20px;
            padding: 12px;
            border-radius: 24px;
            background: #f8fbff;
            border: 2px solid #dbe6ff;
        }

        .control-bar.bottom {
            margin: 22px 0 0;
        }

        .control-bar button,
        .control-bar input {
            min-height: 46px;
            border-radius: 999px;
            border: 2px solid #8dc7ff;
            font-size: 15px;
            font-weight: 900;
        }

        .control-bar button {
            padding: 0 18px;
            background: #23419a;
            color: #ffffff;
            cursor: pointer;
            box-shadow: 0 5px 0 #172a72;
        }

        .control-bar button.secondary {
            background: #ffffff;
            color: #254c8f;
            box-shadow: 0 5px 0 #6daeea;
        }

        .control-bar input {
            width: 142px;
            padding: 0 16px;
            background: #ffffff;
            color: #17325c;
            outline: none;
        }

        .hint {
            color: #64748b;
            font-size: 13px;
            font-weight: 800;
            width: 100%;
            text-align: center;
        }

        .lesson-list {
            display: grid;
            gap: 12px;
        }

        .sentence-row {
            display: grid;
            grid-template-columns: 1fr 1.15fr auto;
            gap: 12px;
            align-items: center;
            background: #ffffff;
            border: 2px solid #dbe6ff;
            border-radius: 24px;
            padding: 12px;
            box-shadow: 0 10px 22px rgba(36,64,145,0.09);
        }

        .ro-panel,
        .en-panel {
            min-height: 62px;
            display: flex;
            align-items: center;
            justify-content: flex-start;
            border-radius: 18px;
            padding: 12px 16px;
            box-shadow: none;
        }

        .ro-panel {
            background: #fff7ed;
            border: 2px solid #fed7aa;
        }

        .en-panel {
            background: #eff6ff;
            border: 2px solid #bfdbfe;
        }

        .label,
        .position-badge {
            display: none;
        }

        .ro-text {
            font-size: clamp(18px, 1.75vw, 28px);
            font-weight: 900;
            color: #9a3412;
            line-height: 1.15;
        }

        .en-text {
            font-size: clamp(20px, 2vw, 32px);
            font-weight: 950;
            color: #1d4ed8;
            line-height: 1.12;
            letter-spacing: -0.025em;
            padding-right: 0;
        }

        .en-fixed {
            color: #23419a;
        }

        .en-focus {
            color: #dc2626;
        }

        .ro-focus-verb,
        .en-focus-verb {
            color: #dc2626;
            font-weight: 950;
        }

        .speak-btn {
            width: 52px;
            height: 52px;
            border-radius: 999px;
            border: 2px solid #23419a;
            background: #23419a;
            color: #ffffff;
            font-size: 22px;
            cursor: pointer;
            box-shadow: 0 5px 0 #172a72;
        }

        @media (max-width: 900px) {
            .wrap {
                width: 94vw;
            }

            .lesson-head {
                grid-template-columns: 1fr;
            }

            .sentence-row {
                grid-template-columns: 1fr;
            }

            .speak-btn {
                width: 100%;
            }
        }



/* ===== CSS extras din blocul <style> #2 din index.php ===== */

.english-layout {
                display: grid;
                grid-template-columns: 230px minmax(0, 1fr) 210px;
                gap: 18px;
                align-items: start;
            }

            .grammar-menu,
            .lesson-menu {
                background: #f8fbff;
                border: 2px solid #dbe6ff;
                border-radius: 24px;
                padding: 14px;
                box-shadow: 0 10px 22px rgba(36,64,145,0.08);
                position: sticky;
                top: 18px;
                max-height: calc(100vh - 105px);
                overflow: hidden;
            }

            .grammar-menu-title,
            .grammar-subtitle {
                margin: 0 0 10px;
                color: #23419a;
                font-size: 15px;
                font-weight: 950;
            }

            .grammar-subtitle {
                margin-top: 12px;
                font-size: 13px;
                color: #49669c;
            }

            .grammar-menu-list {
                display: grid;
                gap: 8px;
            }

            .grammar-group {
                display: grid;
                gap: 6px;
            }

            .grammar-submenu {
                display: none;
                gap: 6px;
                margin: 0 0 4px 12px;
                padding-left: 10px;
                border-left: 3px solid #cfe0ff;
            }

            .grammar-submenu.open {
                display: grid;
            }

            .grammar-btn,
            .grammar-subbtn {
                width: 100%;
                min-height: 34px;
                display: flex;
                align-items: center;
                justify-content: flex-start;
                text-align: left;
                border-radius: 14px;
                border: 2px solid #cfe0ff;
                background: #ffffff;
                color: #254c8f;
                padding: 7px 10px;
                font-size: 12px;
                font-weight: 900;
                line-height: 1.1;
                cursor: pointer;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }

            .grammar-btn.active,
            .grammar-subbtn.active {
                background: #23419a;
                border-color: #23419a;
                color: #ffffff;
            }

            .lesson-menu-title {
                margin: 0 0 10px;
                color: #23419a;
                font-size: 15px;
                font-weight: 950;
            }

            .lesson-menu-list {
                display: grid;
                gap: 8px;
                max-height: calc(100vh - 285px);
                overflow-y: auto;
                padding-right: 8px;
                scrollbar-width: auto;
                scrollbar-gutter: stable;
            }

            .lesson-menu-list::-webkit-scrollbar {
                width: 23px;
            }

            .lesson-menu-list::-webkit-scrollbar-track {
                background: #eef4ff;
                border-radius: 999px;
            }

            .lesson-menu-list::-webkit-scrollbar-thumb {
                background: #6f96e8;
                border-radius: 999px;
            }

            .lesson-menu-list::-webkit-scrollbar-thumb:hover {
                background: #6f96e8;
            }

            .lesson-menu-link {
                display: block;
                text-decoration: none;
                color: #254c8f;
                background: #ffffff;
                border: 2px solid #cfe0ff;
                border-radius: 12px;
                padding: 7px 9px;
                font-size: 12px;
                font-weight: 900;
                line-height: 1;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }

            .lesson-menu-link.active {
                background: #23419a;
                border-color: #23419a;
                color: #ffffff;
            }

            .lesson-menu-link span {
                display: inline;
                font-size: inherit;
                opacity: 1;
                font-weight: inherit;
                margin-top: 0;
            }

            .lesson-main {
                min-width: 0;
            }

            @media (max-width: 1050px) {
                .english-layout {
                    grid-template-columns: 1fr;
                }

                .grammar-menu,
                .lesson-menu {
                    position: static;
                }

                .grammar-menu {
                    order: -2;
                }

                .lesson-menu {
                    order: -1;
                }

                .grammar-menu-list,
                .lesson-menu-list {
                    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
                }

                .grammar-submenu {
                    grid-template-columns: 1fr;
                }
            }

            /* ===== Accordion gramatica stanga ===== */
            .grammar-menu-list {
                display: grid;
                gap: 8px;
            }

            .grammar-group,
            .grammar-subgroup {
                display: grid;
                gap: 6px;
            }

            .grammar-submenu,
            .grammar-subsubmenu {
                display: none;
                gap: 6px;
            }

            .grammar-submenu.open,
            .grammar-subsubmenu.open {
                display: grid;
            }

            .grammar-submenu {
                margin: 2px 0 4px 10px;
                padding-left: 10px;
                border-left: 3px solid #cfe0ff;
            }

            .grammar-subsubmenu {
                margin: 2px 0 4px 12px;
                padding-left: 10px;
                border-left: 3px solid #d9cfff;
            }

            .grammar-btn,
            .grammar-subbtn,
            .grammar-subsubbtn {
                width: 100%;
                min-height: 34px;
                display: flex;
                align-items: center;
                justify-content: flex-start;
                text-align: left;
                border-radius: 14px;
                border: 2px solid #cfe0ff;
                background: #ffffff;
                color: #254c8f;
                padding: 7px 10px;
                font-size: 12px;
                font-weight: 900;
                line-height: 1.1;
                cursor: pointer;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }

            .grammar-subsubbtn {
                font-size: 11px;
                border-color: #ddd6fe;
            }

            .grammar-btn.active,
            .grammar-subbtn.active,
            .grammar-subsubbtn.active {
                background: #23419a;
                border-color: #23419a;
                color: #ffffff;
            }

            .grammar-btn[data-accordion-target]::after,
            .grammar-parent[data-accordion-target]::after {
                content: "▸";
                margin-left: auto;
                font-size: 11px;
            }

            .grammar-btn[data-accordion-target][aria-expanded="true"]::after,
            .grammar-parent[data-accordion-target][aria-expanded="true"]::after {
                content: "▾";
            }
