/* --- General Styles --- */
        body, html {
            margin: 0;
            padding: 0;
            min-height: 100%;
            width: 100%;
            font-family: 'Tajawal', sans-serif;
            overflow-x: hidden; /* السماح بالتمرير العمودي لقراءة تفاصيل الدورة */
        }

        /* --- Background and Layout Container --- */
        .page-container {
            min-height: 100vh;
            width: 100%;
            /* Local background derived from img/3D.webp (4x upscale, LANCZOS) — works offline via the Service Worker */
            background-image: url("../img/dorh-bg.webp");
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            
            /* Flexbox for centering content */
            display: flex;
            flex-direction: column;
            justify-content: center; /* Vertically centers the content block */
            align-items: center; /* Horizontally centers the content block */
            position: relative;
        }
        
        /* --- Dark Overlay for Readability --- */
        .page-container::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            /* The overlay is semi-transparent to let the background show through */
            background-color: rgba(0, 0, 0, 0.55); 
            z-index: 1;
        }

        /* --- Content Wrapper --- */
        .content {
            position: relative; /* To appear above the overlay */
            z-index: 2;
            text-align: center;
            padding: 40px 20px; /* Increased padding */
            display: flex;
            flex-direction: column;
            justify-content: space-between; /* Pushes content to top and bottom */
            align-items: center;
            min-height: 100vh;
            width: 100%;
            box-sizing: border-box; /* Ensures padding is included in height/width */
        }

        /* ===== تفاصيل الدورة: المدة والدروس ومخرجات التعلّم والمدرّب ===== */
        .details {
            background: #ffffff;
            color: #264653;
            padding: 48px 20px 24px;
            direction: rtl;
            text-align: justify;
            line-height: 1.9;
        }
        .details .inner { max-width: 980px; margin: 0 auto; }
        .details h2 {
            font-size: 1.8rem;
            color: #1f6f63;
            border-bottom: 3px solid #2a9d8f;
            padding-bottom: 8px;
            margin: 40px 0 16px;
        }
        .details h2:first-of-type { margin-top: 0; }
        .facts {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            gap: 14px;
            margin-bottom: 8px;
        }
        .fact {
            background: #f1f8f6;
            border: 2px solid #d8ece7;
            border-radius: 14px;
            padding: 16px;
            text-align: center;
        }
        .fact .num { display: block; font-size: 1.9rem; font-weight: 700; color: #2a9d8f; }
        .fact .lbl { font-size: .95rem; color: #4a6b64; }
        .details ol, .details ul { padding-inline-start: 1.4em; margin: 0 0 12px; }
        .details li { margin-bottom: 10px; }
        .free-badge {
            display: inline-block;
            background: #e9f7ef;
            border: 2px solid #2a9d8f;
            color: #1f6f63;
            font-weight: 700;
            border-radius: 50px;
            padding: 8px 20px;
            margin-bottom: 18px;
        }
        .teacher {
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
            align-items: center;
            background: #f7f5f2;
            border-inline-start: 6px solid #2a9d8f;
            border-radius: 14px;
            padding: 20px;
        }
        .teacher img { width: 120px; height: 120px; object-fit: cover; border-radius: 14px; border: 3px solid #2a9d8f; }
        .teacher .who { flex: 1 1 260px; }
        .teacher .who strong { font-size: 1.25rem; color: #1f6f63; }
        .details .foot-links { display: flex; flex-wrap: wrap; gap: 10px 18px; justify-content: center; padding: 26px 0; font-weight: 600; }
        .details .foot-links a { color: #1f6f63; text-decoration: none; }
        .details .foot-links a:hover { text-decoration: underline; }
        .details .legal { text-align: center; color: #6b7c78; font-size: .9rem; padding-bottom: 20px; }

        /* --- Welcome Message --- */
        .welcome-message {
            color: #ffffff;
            font-size: 2.8rem;
            font-weight: 700;
            text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
        }

        /* --- Button Container --- */
        .button-wrapper {
            display: flex;
            flex-direction: column;
            gap: 20px;
            align-items: center;
            margin: 20px 0;
            width: 100%;
            max-width: 600px;
        }

        /* --- The Button --- */
        .action-button {
            display: inline-block;
            background-color: #2a9d8f; /* A nice teal color */
            color: #ffffff;
            padding: 18px 45px;
            font-size: 1.6rem;
            font-weight: 700;
            text-decoration: none;
            border-radius: 50px; /* Fully rounded corners */
            border: 2px solid #ffffff;
            cursor: pointer;
            text-align: center;
            min-width: 280px;
            
            /* The 3D "protruding" effect */
            box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
            
            /* Smooth transition for hover effect */
            transition: all 0.3s ease-in-out;
        }

        .action-button:hover {
            background-color: #e9c46a; /* A contrasting gold color on hover */
            color: #264653; /* Dark text on hover */
            border-color: #264653;
            transform: translateY(-5px); /* Lifts the button up */
            box-shadow: 0 15px 25px rgba(0, 0, 0, 0.4);
        }

        /* --- Responsive Adjustments for different screen sizes --- */
        @media (max-width: 768px) {
            .welcome-message {
                font-size: 1.8rem;
                padding: 0 10px;
            }
            .action-button {
                font-size: 1.2rem;
                padding: 15px 30px;
                min-width: 250px;
            }
            .button-wrapper {
                gap: 15px;
                margin: 15px 0;
            }
        }

        @media (max-width: 480px) {
            .welcome-message {
                font-size: 1.5rem;
                padding: 0 15px;
            }
            .action-button {
                font-size: 1.1rem;
                padding: 12px 25px;
                min-width: 200px;
            }
            .button-wrapper {
                gap: 12px;
                margin: 12px 0;
            }
            .content {
                padding: 20px 15px;
            }
        }

        @media (max-width: 320px) {
            .welcome-message {
                font-size: 1.3rem;
            }
            .action-button {
                font-size: 1rem;
                padding: 10px 20px;
                min-width: 180px;
            }
        }
    
.skip-link{position:absolute;right:-9999px;top:0;z-index:9999;background:#2c3a34;color:#fff;
padding:10px 18px;border-radius:0 0 8px 0;text-decoration:none;font-weight:700}
.skip-link:focus{right:0}
