/* =========================================
   NEW DESIGN - بيت اللغات الدولية
   Clean, Modern - Arabic RTL First
   ========================================= */

/* ---------- CSS Variables ---------- */
:root {
    --primary:        #e63946;
    --primary-dark:   #c1121f;
    --secondary:      #1d3557;
    --accent:         #f4a261;
    --bg-light:       #f5f5f5;
    --bg-white:       #ffffff;
    --text-dark:      #1a1a1a;
    --text-muted:     #777;
    --border:         #e8e8e8;
    --price-final:    #e63946;
    --price-original: #aaa;
    --radius:         10px;
    --radius-sm:      10px;
    --shadow:         0 2px 12px rgba(0,0,0,0.08);
    --shadow-hover:   0 6px 24px rgba(0,0,0,0.14);
    --transition:     all 0.25s ease;
    --header-h:       60px;
    --nav-h:          48px;
}

/* ---------- Reset & Base ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
    max-width: 100%;
}

body.new-design {
    font-family: 'Cairo', 'Segoe UI', sans-serif;
    font-size: 14px;
    color: var(--text-dark);
    background: var(--bg-light);
    overflow-x: hidden;
    max-width: 100%;
    min-height: 100vh;
    /* direction is controlled by <html dir="..."> — do NOT hardcode here */
}

body.new-design a { text-decoration: none; color: inherit; }
body.new-design img { max-width: 100%; display: block; }
body.new-design ul { list-style: none; padding: 0; margin: 0; }

/* ---------- HEADER ---------- */
.nd-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

/* Push page content below the fixed header */
body.new-design { padding-top: var(--header-total-h, 140px); }

@media (max-width: 768px) {
    body.new-design { padding-top: 108px; }
}

/* ── Main Bar ── */
.nd-header-main {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 32px;
    background: #fff;
    border-bottom: 1px solid var(--border);
    min-height: 76px;
}

/* Logo */
.nd-logo {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}

.nd-logo img {
    height: 46px;
    width: auto;
    object-fit: contain;
    filter: brightness(0);
}

.nd-logo-texts {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
}

.nd-logo-name {
    font-size: 15px;
    font-weight: 800;
    color: #111;
}

.nd-logo-tagline {
    font-size: 11px;
    color: var(--text-muted);
    font-weight: 500;
}

/* Search */
.nd-search-form {
    flex: 1;
    display: flex;
    align-items: center;
    background: #fff;
    border: 2px solid #e0e0e0;
    border-radius: var(--radius);
    overflow: hidden;
    transition: var(--transition);
    max-width: 580px;
    margin: 0 auto;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.nd-search-form:focus-within {
    border-color: var(--primary);
    box-shadow: 0 2px 12px rgba(230,57,70,0.15);
}

.nd-search-icon {
    padding: 0 14px;
    color: #aaa;
    font-size: 16px;
    flex-shrink: 0;
}

.nd-search-form:focus-within .nd-search-icon {
    color: var(--primary);
}

.nd-search-input {
    flex: 1;
    border: none;
    background: transparent;
    padding: 13px 6px;
    font-size: 14px;
    font-family: 'Cairo', sans-serif;
    color: var(--text-dark);
    outline: none;
    min-width: 0;
}

.nd-search-input::placeholder { color: #bbb; }

.nd-search-btn {
    background: var(--primary);
    border: none;
    color: #fff;
    padding: 13px 24px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    font-family: 'Cairo', sans-serif;
    transition: var(--transition);
    flex-shrink: 0;
    white-space: nowrap;
    border-radius: 0;
}

.nd-search-btn:hover { background: var(--primary-dark); }

.nd-rtl .nd-search-btn { border-radius: var(--radius) 0 0 var(--radius); }
.nd-ltr .nd-search-btn { border-radius: 0 var(--radius) var(--radius) 0; }

/* Cart in nav bar */
.nd-nav-cart {
    margin-inline-start: auto;
    padding: 7px 20px;
    font-size: 13.5px;
    align-self: center;
}

.nd-nav-cart .nd-action-badge {
    position: static;
    background: #fff;
    color: var(--primary);
    font-weight: 800;
    min-width: 18px;
    height: 18px;
    font-size: 11px;
    border-radius: 50% !important;
}

/* Cart standalone button */
.nd-cart-standalone {
    position: relative;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 9px 18px;
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: var(--radius);
    font-family: 'Cairo', sans-serif;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: var(--transition);
    flex-shrink: 0;
    white-space: nowrap;
}

.nd-cart-standalone:hover { background: var(--primary-dark); color: #fff; }

.nd-cart-standalone .nd-action-badge {
    position: static;
    background: #fff;
    color: var(--primary);
    font-weight: 800;
    min-width: 20px;
    height: 20px;
    font-size: 11px;
}

/* Action Icons */
.nd-header-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.nd-action-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: transparent;
    border: none;
    cursor: pointer;
    color: #555;
    font-size: 17px;
    transition: var(--transition);
    text-decoration: none;
}

.nd-action-btn:hover { background: #f5f5f5; color: var(--primary); }

.nd-action-badge {
    position: absolute;
    top: 2px;
    inset-inline-end: 2px;
    background: var(--primary);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    min-width: 17px;
    height: 17px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
    line-height: 1;
    pointer-events: none;
}

/* ── User Dropdown (custom, no Bootstrap) ── */
.nd-user-dropdown {
    position: relative;
    flex-shrink: 0;
}

.nd-user-pill {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border-radius: var(--radius);
    background: #f5f5f5;
    border: 1.5px solid var(--border);
    cursor: pointer;
    font-family: 'Cairo', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-dark);
    transition: var(--transition);
    white-space: nowrap;
}

.nd-user-pill:hover,
.nd-user-dropdown.open .nd-user-pill {
    border-color: var(--primary);
    color: var(--primary);
}

.nd-user-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
}

.nd-user-name { max-width: 80px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nd-user-caret { font-size: 10px; opacity: 0.6; transition: var(--transition); }
.nd-user-dropdown.open .nd-user-caret { transform: rotate(180deg); }

.nd-user-menu {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    inset-inline-start: 0;
    min-width: 230px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: 0 8px 32px rgba(0,0,0,0.14);
    z-index: 2000;
    overflow: hidden;
    animation: nd-dropIn 0.15s ease;
}

.nd-user-dropdown.open .nd-user-menu { display: block; }

.nd-user-menu-header {
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    background: #fafafa;
}
.nd-user-menu-name { font-weight: 700; font-size: 14px; color: var(--text-dark); }
.nd-user-menu-email { font-size: 12px; color: var(--text-muted); }

.nd-menu-divider { margin: 4px 0; border: none; border-top: 1px solid var(--border); }

.nd-menu-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    font-size: 13.5px;
    font-family: 'Cairo', sans-serif;
    color: var(--text-dark);
    text-decoration: none;
    transition: var(--transition);
}
.nd-menu-item i { width: 16px; text-align: center; color: var(--text-muted); }
.nd-menu-item:hover { background: #f9f9f9; color: var(--primary); }
.nd-menu-item:hover i { color: var(--primary); }
.nd-menu-logout { color: var(--primary) !important; }
.nd-menu-logout i { color: var(--primary) !important; }
.nd-menu-dashboard { color: var(--secondary) !important; font-weight: 700; }
.nd-menu-dashboard i { color: var(--secondary) !important; }
.nd-menu-dashboard:hover { background: var(--secondary) !important; color: #fff !important; }
.nd-menu-dashboard:hover i { color: #fff !important; }

/* Login btn */
.nd-login-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    border-radius: var(--radius);
    background: var(--primary);
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    transition: var(--transition);
    text-decoration: none;
    white-space: nowrap;
}
.nd-login-btn i { color: #fff !important; }
.nd-login-btn:hover { background: var(--primary-dark); color: #fff !important; }

/* Lang button */
/* Logo group (logo + mobile lang) */
.nd-logo-group {
    display: flex;
    align-items: center;
    gap: 0;
    flex-shrink: 0;
}

/* Mobile slot hidden on desktop */
.nd-lang-mobile-slot { display: none !important; }

.nd-lang-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--radius);
    border: 1.5px solid var(--border);
    background: #fff;
    color: var(--text-dark);
    font-size: 12px;
    font-weight: 800;
    transition: var(--transition);
    text-decoration: none;
    flex-shrink: 0;
}
.nd-lang-btn:hover { border-color: var(--primary); color: var(--primary); }

/* ── Bottom Nav ── */
.nd-nav {
    background: #fff;
    height: 56px;
    display: flex;
    align-items: center;
    padding: 0 32px;
    gap: 2px;
    position: relative;
    border-bottom: 2px solid var(--border);
}

.nd-nav-link {
    color: #333;
    font-size: 13.5px;
    font-weight: 700;
    padding: 10px 16px;
    border-radius: var(--radius);
    white-space: nowrap;
    transition: var(--transition);
    background: none;
    border: none;
    cursor: pointer;
    font-family: 'Cairo', sans-serif;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 5px;
}

.nd-nav-link:hover { color: var(--primary); background: rgba(230,57,70,0.06); }

.nd-nav-link.active {
    color: var(--primary);
    background: rgba(230,57,70,0.08);
}

/* Books dropdown */
.nd-nav-dropdown { position: relative; }

.nd-nav-has-drop { display: flex; align-items: center; gap: 5px; }

.nd-nav-drop-menu {
    display: none;
    position: absolute;
    top: 100%;
    inset-inline-start: 0;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow-hover);
    min-width: 180px;
    z-index: 999;
    padding: 6px 0;
    /* bridge gap with padding-top so mouse doesn't leave hover area */
    margin-top: 0;
}

/* invisible bridge between button and menu */
.nd-nav-drop-menu::before {
    content: '';
    position: absolute;
    top: -8px;
    inset-inline-start: 0;
    width: 100%;
    height: 8px;
}

.nd-nav-dropdown:hover .nd-nav-drop-menu { display: block; }

.nd-nav-drop-item {
    display: block;
    padding: 9px 16px;
    font-size: 13.5px;
    color: var(--text-dark);
    transition: var(--transition);
    text-decoration: none;
    font-family: 'Cairo', sans-serif;
}

.nd-nav-drop-item:hover { background: #f9f9f9; color: var(--primary); padding-inline-start: 20px; }

.nd-nav-drop-all {
    border-top: 1px solid var(--border);
    margin-top: 4px;
    color: var(--primary);
    font-weight: 700;
    font-size: 13px;
}

/* ---------- HERO SLIDER ---------- */
/* ── Hero Keyframes ── */
@keyframes heroUp {
    from { opacity: 0; transform: translateY(28px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes heroLineGrow {
    from { width: 0; opacity: 0; }
    to   { width: 56px; opacity: 1; }
}
@keyframes kenBurns {
    from { transform: scale(1); }
    to   { transform: scale(1.08); }
}

.nd-hero {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.nd-hero-swiper {
    width: 100%;
    height: 72vh;
    min-height: 520px;
    max-height: 780px;
}

.nd-hero-slide {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--secondary);
}

.nd-hero-bg-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transform-origin: center center;
}

/* Ken Burns only on active slide */
.swiper-slide-active .nd-hero-bg-img {
    animation: kenBurns 7s ease-in-out both;
}

.nd-hero-slide-fallback {
    background: linear-gradient(135deg, var(--secondary) 0%, #2d4a7a 100%);
}

.nd-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to bottom, transparent 40%, rgba(0,0,0,0.45) 100%),
        linear-gradient(to left, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.25) 55%, transparent 100%);
}

.nd-ltr .nd-hero-overlay {
    background:
        linear-gradient(to bottom, transparent 40%, rgba(0,0,0,0.45) 100%),
        linear-gradient(to right, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.25) 55%, transparent 100%);
}

.nd-hero-content {
    position: relative;
    z-index: 2;
    max-width: 600px;
    padding: 0 64px;
    text-align: right;
}

.nd-ltr .nd-hero-content { text-align: left; }

/* Accent line */
.nd-hero-line {
    height: 4px;
    width: 0;
    background: var(--primary);
    border-radius: 2px;
    margin-bottom: 20px;
    margin-right: 0;
    margin-left: auto;
}
.nd-ltr .nd-hero-line { margin-left: 0; margin-right: auto; }

.swiper-slide-active .nd-hero-line {
    animation: heroLineGrow 0.6s cubic-bezier(.4,0,.2,1) 0.15s both;
}

.nd-hero-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--primary);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: var(--radius);
    margin-bottom: 16px;
}

.nd-hero-title {
    font-size: 38px;
    font-weight: 800;
    color: #fff;
    line-height: 1.45;
    margin-bottom: 14px;
    text-shadow: 0 2px 16px rgba(0,0,0,0.35);
    opacity: 0;
}

.nd-hero-subtitle {
    font-size: 16px;
    color: rgba(255,255,255,0.88);
    margin-bottom: 32px;
    line-height: 1.9;
    opacity: 0;
}

.nd-hero-actions {
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
    opacity: 0;
}

/* Animate content on active slide */
.swiper-slide-active .nd-hero-title {
    animation: heroUp 0.75s cubic-bezier(.4,0,.2,1) 0.3s both;
}
.swiper-slide-active .nd-hero-subtitle {
    animation: heroUp 0.75s cubic-bezier(.4,0,.2,1) 0.5s both;
}
.swiper-slide-active .nd-hero-actions {
    animation: heroUp 0.65s cubic-bezier(.4,0,.2,1) 0.7s both;
}

.nd-hero-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--primary);
    color: #fff;
    padding: 13px 32px;
    border-radius: var(--radius);
    font-size: 14px;
    font-weight: 700;
    transition: var(--transition);
    text-decoration: none;
    border: 2px solid var(--primary);
    box-shadow: 0 4px 20px rgba(220,38,38,0.35);
}

.nd-hero-cta:hover {
    background: var(--primary-dark);
    border-color: var(--primary-dark);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(220,38,38,0.45);
}

.nd-hero-cta-outline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.12);
    color: #fff;
    padding: 13px 28px;
    border-radius: var(--radius);
    font-size: 14px;
    font-weight: 700;
    transition: var(--transition);
    text-decoration: none;
    border: 2px solid rgba(255,255,255,0.6);
    backdrop-filter: blur(4px);
}

.nd-hero-cta-outline:hover {
    background: rgba(255,255,255,0.25);
    color: #fff;
    transform: translateY(-2px);
}

/* Hero Pagination */
.nd-hero .swiper-pagination {
    bottom: 24px;
}

.nd-hero .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: rgba(255,255,255,0.45);
    opacity: 1;
    transition: all 0.3s;
}

.nd-hero .swiper-pagination-bullet-active {
    background: #fff;
    width: 32px;
    border-radius: 4px;
}

/* Hero Arrows — styled on Swiper default buttons */
.nd-hero .swiper-button-prev,
.nd-hero .swiper-button-next {
    width: 48px !important;
    height: 48px !important;
    margin-top: -24px !important;
    background: rgba(255,255,255,0.15) !important;
    border: 2px solid rgba(255,255,255,0.45) !important;
    border-radius: 50% !important;
    backdrop-filter: blur(6px);
    color: #fff !important;
    transition: all 0.25s ease !important;
    outline: none !important;
}
.nd-hero .swiper-button-prev:hover,
.nd-hero .swiper-button-next:hover {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    transform: translateY(-50%) scale(1.1) !important;
    box-shadow: 0 4px 20px rgba(230,57,70,0.4);
}
.nd-hero .swiper-button-prev::after,
.nd-hero .swiper-button-next::after {
    font-size: 16px !important;
    font-weight: 900 !important;
    color: #fff !important;
}
.nd-hero .swiper-button-disabled {
    opacity: 0.3 !important;
}
@media (max-width: 480px) {
    .nd-hero .swiper-button-prev,
    .nd-hero .swiper-button-next { width: 38px !important; height: 38px !important; margin-top: -19px !important; }
}

/* ---------- ANNOUNCEMENT BAR ---------- */
.nd-announcement {
    background: #fff;
    color: var(--text-dark);
    text-align: center;
    padding: 9px 24px;
    font-size: 13px;
    font-weight: 600;
    border-bottom: 1px solid var(--border);
}

.nd-announcement a { color: var(--primary); text-decoration: underline; margin-right: 8px; }

/* ---------- CATEGORIES SECTION ---------- */
.nd-categories {
    padding: 32px 0 28px;
    background: #f8f9fa;
    border-bottom: 1px solid var(--border);
}

.nd-categories-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    gap: 12px;
    padding: 0 24px;
    box-sizing: border-box;
}

.nd-categories-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--primary);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 4px;
}

.nd-categories-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--text-dark);
    margin: 0;
}

.nd-categories-see-all {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 700;
    color: var(--primary);
    text-decoration: none;
    white-space: nowrap;
    padding: 6px 14px;
    border: 2px solid var(--primary);
    border-radius: var(--radius);
    transition: var(--transition);
    flex-shrink: 0;
}
.nd-categories-see-all:hover {
    background: var(--primary);
    color: #fff;
}

/* Horizontal scroll strip — full width */
.nd-categories .nd-container {
    max-width: 100%;
    padding: 0;
}

/* Categories horizontal scroll */
.nd-categories-grid {
    display: flex;
    flex-direction: row;
    gap: 10px;
    padding: 4px 24px 12px;
    overflow-x: auto;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.nd-categories-grid::-webkit-scrollbar { display: none; }

/* App-icon style card */
.nd-cat-card {
    flex: 0 0 auto;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 88px;
    height: 88px;
    padding: 8px 10px;
    border-radius: 20px;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.2s;
    cursor: pointer;
}
.nd-cat-card-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.35);
    border-radius: inherit;
}
.nd-cat-card-photo .nd-cat-name,
.nd-cat-card-photo .nd-cat-chip {
    position: relative;
    z-index: 1;
}
.nd-cat-card-photo .nd-cat-name { color: #fff !important; text-shadow: 0 1px 4px rgba(0,0,0,0.5); }
.nd-cat-card:hover {
    transform: translateY(-2px);
}

/* Decorative background icon */
.nd-cat-deco-icon {
    position: absolute;
    bottom: -10px;
    right: -8px;
    font-size: 64px;
    color: rgba(255,255,255,0.28);
    pointer-events: none;
    line-height: 1;
    z-index: 0;
}

.nd-cat-name {
    display: block;
    font-size: 11px;
    font-weight: 800;
    color: #000;
    text-align: center;
    line-height: 1.35;
    word-break: break-word;
    white-space: normal;
    position: relative;
    z-index: 1;
}

.nd-cat-chip {
    display: none;
}

@media (max-width: 768px) {
    .nd-categories { padding: 14px 0 10px; }
    .nd-categories-grid { gap: 8px; padding: 4px 12px 8px; }
    .nd-categories-header { padding: 0 12px; }
    .nd-categories-title { font-size: 15px; }
    .nd-cat-card { width: 76px; height: 76px; border-radius: 18px; }
    .nd-cat-name { font-size: 10px; }
}
@media (max-width: 480px) {
    .nd-cat-card { width: 70px; height: 70px; border-radius: 16px; }
    .nd-cat-name { font-size: 9px; }
}

/* ---------- SECTION STYLES ---------- */
.nd-section {
    padding: 16px 0;
    background: var(--bg-white);
    margin-bottom: 4px;
    overflow-x: clip;
}

.nd-section-alt {
    background: var(--bg-light);
}

.nd-container {
    max-width: 100%;
    padding: 0 24px;
    box-sizing: border-box;
}

.nd-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.nd-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 20px;
    font-weight: 800;
    color: var(--text-dark);
    position: relative;
}

.nd-cat-name {
    position: relative;
}

.nd-cat-name::before {
    content: "";
    position: absolute;
    inset: -5px -8px;
    background: #fff;
    border-radius: 30px;
    transform: rotate(-2deg);
    z-index: -1;
    pointer-events: none;
}
.nd-categories-grid .nd-cat-card:nth-child(2) .nd-cat-name::before {
    border-radius: 8px 28px 8px 28px;
    transform: rotate(1.5deg);
}
.nd-categories-grid .nd-cat-card:nth-child(3) .nd-cat-name::before {
    border-radius: 40px 8px 40px 8px;
    transform: rotate(-1deg);
}
.nd-categories-grid .nd-cat-card:nth-child(4) .nd-cat-name::before {
    border-radius: 16px 40px 16px 40px;
    transform: rotate(2deg);
}
.nd-categories-grid .nd-cat-card:nth-child(5) .nd-cat-name::before {
    border-radius: 50% 30% 50% 30% / 30% 50% 30% 50%;
    transform: rotate(-1.5deg);
}
.nd-categories-grid .nd-cat-card:nth-child(6) .nd-cat-name::before {
    border-radius: 4px 24px 4px 24px;
    transform: rotate(1deg);
}
.nd-categories-grid .nd-cat-card:nth-child(7) .nd-cat-name::before {
    border-radius: 24px 4px 24px 4px;
    transform: rotate(-2deg);
}
.nd-categories-grid .nd-cat-card:nth-child(8) .nd-cat-name::before {
    border-radius: 20px 40px 20px 40px;
    transform: rotate(1.5deg);
}

.nd-section-title-icon {
    font-size: 20px;
}

.nd-section-badge {
    background: var(--primary);
    color: #fff;
    font-size: 11px;
    padding: 3px 10px;
    border-radius: var(--radius);
    font-weight: 700;
}

.nd-see-all {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 700;
    color: var(--primary);
    text-decoration: none;
    white-space: nowrap;
    padding: 6px 14px;
    border: 2px solid var(--primary);
    border-radius: var(--radius);
    transition: var(--transition);
    flex-shrink: 0;
}
.nd-see-all:hover {
    background: var(--primary);
    color: #fff;
}

/* ---------- BOOK CARD ---------- */
.nd-book-card {
    background: #fff;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
    transition: var(--transition);
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid var(--border);
}

.nd-book-card-link {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.nd-book-card:hover {
    box-shadow: var(--shadow-hover);
    transform: translateY(-4px);
}

.nd-book-img-wrap {
    position: relative;
    overflow: hidden;
    background: #f0f0f0;
    flex-shrink: 0;
    height: 80px;
}

.nd-book-img-wrap a { display: block; height: 100%; }

/* Shimmer placeholder */
@keyframes ndShimmer {
    0%   { background-position: -400px 0; }
    100% { background-position: 400px 0; }
}
.nd-book-img-placeholder {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 800px 100%;
    animation: ndShimmer 1.4s infinite linear;
    z-index: 1;
    /* Book icon in center */
    display: flex;
    align-items: center;
    justify-content: center;
}
.nd-book-img-placeholder::after {
    content: '\f02d';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 40px;
    color: #ccc;
}

.nd-book-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
    position: relative;
    z-index: 2;
}

.nd-book-card:hover .nd-book-img { transform: scale(1.04); }

.nd-book-discount-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background: var(--primary);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: var(--radius);
    z-index: 2;
}

.nd-book-fav-btn {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fff;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--text-muted);
    font-size: 15px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
    transition: var(--transition);
    z-index: 2;
}

.nd-book-fav-btn:hover { color: var(--primary); transform: scale(1.1); }
.nd-book-fav-btn.active { color: var(--primary); }

/* Card Body */
.nd-book-body {
    padding: 4px 6px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.nd-book-title {
    font-size: 10px;
    font-weight: 700;
    color: var(--text-dark);
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-align: right;
}

.nd-book-author {
    display: none;
    font-size: 12.5px;
    color: var(--text-muted);
    font-weight: 500;
    text-align: right;
}

.nd-book-stars {
    display: none;
    gap: 2px;
    flex-direction: row-reverse;
    justify-content: flex-start;
}

.nd-book-stars i {
    color: #f4c430;
    font-size: 12px;
}

.nd-book-stars i.empty { color: #ddd; }

/* Price */
.nd-book-price-row {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-end;
    margin-top: auto;
}

.nd-book-price-final {
    font-size: 11px;
    font-weight: 800;
    color: var(--primary);
}

.nd-book-price-original {
    font-size: 12px;
    color: var(--price-original);
    text-decoration: line-through;
    font-weight: 500;
}

/* Points badge on regular card */
.nd-book-points {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: #fffbea;
    color: #c8950a;
    font-size: 9px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 20px;
    border: 1px solid #f0d060;
    margin: 0 6px 4px;
    width: fit-content;
}
.nd-book-points .fas { font-size: 8px; }

/* Points badge on offer card */
.nd-offer-points {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: #fffbea;
    color: #c8950a;
    font-size: 9px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 20px;
    border: 1px solid #f0d060;
    margin: 2px 10px 0;
    width: fit-content;
}
.nd-offer-points .fas { font-size: 8px; }

/* Card Footer */
.nd-book-footer {
    padding: 0 6px 6px;
    display: flex;
    gap: 4px;
}

.nd-cart-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: var(--radius-sm);
    padding: 6px 8px;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
    transition: var(--transition);
    font-family: 'Cairo', sans-serif;
    white-space: nowrap;
}

.nd-cart-btn:hover { background: var(--primary-dark); }

.nd-cart-btn i { font-size: 14px; }

.nd-details-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--radius-sm);
    background: var(--bg-light);
    border: 1.5px solid var(--border);
    color: var(--text-dark);
    font-size: 15px;
    transition: var(--transition);
    flex-shrink: 0;
}

.nd-details-btn:hover { border-color: var(--primary); color: var(--primary); }

/* ---------- SWIPER IN SECTIONS ---------- */
.nd-books-swiper {
    padding: 8px 4px 16px !important;
    overflow: visible !important;
}

.nd-books-swiper .swiper-slide {
    height: auto;
    width: 108px !important;
}

.nd-swiper-nav {
    display: flex;
    gap: 8px;
    align-items: center;
}

.nd-swiper-btn {
    width: 36px;
    height: 36px;
    border-radius: var(--radius);
    border: none;
    background: var(--secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #fff;
    font-size: 14px;
    transition: var(--transition);
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(29,53,87,0.18);
}

.nd-swiper-btn:hover {
    background: var(--primary);
    transform: scale(1.08);
    box-shadow: 0 4px 14px rgba(230,57,70,0.28);
}
.nd-swiper-btn.swiper-button-disabled { opacity: 0.25; pointer-events: none; transform: none; }

/* ---------- FEATURES / WHY US ---------- */
.nd-features {
    background: #fff;
    padding: 48px 0;
    overflow-x: clip;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.nd-features-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.nd-feature-card {
    background: #f8f9fa;
    border: 1.5px solid var(--border);
    border-radius: var(--radius);
    padding: 28px 18px;
    text-align: center;
    transition: var(--transition);
}

.nd-feature-card:hover {
    background: #fff;
    transform: translateY(-4px);
    border-color: var(--primary);
    box-shadow: 0 8px 24px rgba(230,57,70,0.1);
}

.nd-feature-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    font-size: 24px;
    color: #fff;
    box-shadow: 0 6px 18px rgba(230,57,70,0.28);
}

.nd-feature-title {
    color: var(--text-dark);
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 8px;
}

.nd-feature-desc {
    color: var(--text-muted);
    font-size: 12.5px;
    line-height: 1.7;
}

/* ---------- REVIEWS ---------- */
.nd-reviews {
    background: #f8f9fa;
    padding: 56px 0;
    overflow-x: clip;
}

.nd-reviews-header {
    text-align: center;
    margin-bottom: 40px;
}

.nd-reviews-tag {
    display: inline-block;
    background: rgba(230,57,70,0.1);
    color: var(--primary);
    font-size: 12px;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: var(--radius);
    margin-bottom: 10px;
    letter-spacing: 0.5px;
}

.nd-reviews-title {
    font-size: 26px;
    font-weight: 800;
    color: var(--secondary);
    margin-bottom: 8px;
}

.nd-reviews-subtitle {
    color: var(--text-muted);
    font-size: 14px;
}

.nd-reviews-swiper {
    overflow: hidden;
    padding-bottom: 16px;
}

.nd-review-card {
    background: #fff;
    border-radius: var(--radius);
    padding: 28px 24px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.07);
    position: relative;
    transition: var(--transition);
    height: 100%;
}

.nd-review-card:hover {
    box-shadow: 0 8px 32px rgba(0,0,0,0.12);
    transform: translateY(-3px);
}

.nd-review-quote {
    font-size: 40px;
    color: var(--primary);
    opacity: 0.15;
    line-height: 1;
    margin-bottom: 10px;
    font-family: Georgia, serif;
}

.nd-review-stars {
    display: flex;
    gap: 3px;
    margin-bottom: 14px;
    color: #f59e0b;
    font-size: 14px;
}

.nd-review-text {
    color: #555;
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 20px;
    flex: 1;
}

.nd-review-author {
    display: flex;
    align-items: center;
    gap: 12px;
    border-top: 1px solid var(--border);
    padding-top: 16px;
}

.nd-review-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--primary);
    flex-shrink: 0;
}

.nd-review-avatar-placeholder {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 800;
    font-size: 18px;
    flex-shrink: 0;
}

.nd-review-name {
    font-weight: 700;
    color: var(--secondary);
    font-size: 14px;
}

.nd-review-role {
    color: var(--text-muted);
    font-size: 12px;
    margin-top: 2px;
}


/* ---------- FOOTER ---------- */
.nd-footer {
    background: var(--secondary) !important;
    background-image: none !important;
    color: rgba(255,255,255,0.75);
    margin-top: 40px;
    position: relative;
    border-top: 4px solid var(--primary);
    padding: 0 !important;
}

/* Top content area */
.nd-footer > .nd-container {
    padding-top: 52px;
    padding-bottom: 0;
}

.nd-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 48px;
    padding-bottom: 48px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* Brand */
.nd-footer-brand .nd-logo-text {
    color: #fff;
    font-size: 20px;
    font-weight: 900;
    letter-spacing: -0.3px;
}

.nd-footer-brand .nd-logo-text span { color: var(--primary); }

.nd-footer-desc {
    margin-top: 14px;
    font-size: 13px;
    line-height: 1.9;
    color: rgba(255,255,255,0.55);
    max-width: 300px;
}

/* Social icons */
.nd-footer-social {
    display: flex;
    gap: 10px;
    margin-top: 24px;
    flex-wrap: wrap;
}

.nd-social-btn {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.7);
    font-size: 15px;
    transition: var(--transition);
    text-decoration: none;
}
.nd-social-btn:hover {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
    transform: translateY(-2px);
}

/* Column titles */
.nd-footer-col-title {
    color: #fff;
    font-weight: 800;
    font-size: 14px;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--primary);
    display: inline-block;
    letter-spacing: 0.2px;
}

/* Links */
.nd-footer-links li { margin-bottom: 11px; }

.nd-footer-links a {
    color: rgba(255,255,255,0.58);
    font-size: 13px;
    transition: var(--transition);
    display: flex;
    align-items: center;
    gap: 7px;
    text-decoration: none;
}
.nd-footer-links a i {
    font-size: 10px;
    color: var(--primary);
    opacity: 0.7;
    transition: var(--transition);
}
.nd-footer-links a:hover {
    color: #fff;
    gap: 10px;
}
.nd-footer-links a:hover i { opacity: 1; }

/* Contact items */
.nd-footer-contact-item {
    display: flex;
    gap: 12px;
    margin-bottom: 14px;
    font-size: 13px;
    color: rgba(255,255,255,0.58);
    align-items: flex-start;
    line-height: 1.6;
}
.nd-footer-contact-item i {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(230,57,70,0.15);
    color: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    flex-shrink: 0;
    margin-top: 1px;
}

/* Bottom bar */
.nd-footer-bottom {
    background: rgba(0,0,0,0.2);
    padding: 16px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 12.5px;
    color: rgba(255,255,255,0.35);
    margin-top: 0;
}

/* ---------- SCROLL TOP ---------- */
.nd-scroll-top {
    position: fixed;
    bottom: 24px;
    left: 24px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 16px;
    box-shadow: 0 4px 16px rgba(230,57,70,0.4);
    transition: var(--transition);
    opacity: 0;
    pointer-events: none;
    z-index: 999;
}

.nd-scroll-top.visible { opacity: 1; pointer-events: auto; }
.nd-scroll-top:hover { background: var(--primary-dark); transform: translateY(-3px); }

/* ---------- CART SIDEBAR (keep existing) ---------- */
.nd-cart-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 1050;
}

.nd-cart-overlay.open { display: block; }

/* ---------- COUPON MODAL ---------- */
.nd-coupon-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1060;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.55);
    padding: 20px;
}

.nd-coupon-modal.open { display: flex; }

.nd-coupon-box {
    background: #fff;
    border-radius: var(--radius);
    overflow: hidden;
    max-width: 480px;
    width: 100%;
    box-shadow: 0 20px 60px rgba(0,0,0,0.25);
    position: relative;
}

.nd-coupon-close {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(0,0,0,0.1);
    border: none;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 16px;
    transition: var(--transition);
}

.nd-coupon-close:hover { background: var(--primary); color: #fff; }

.nd-coupon-img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.nd-coupon-body {
    padding: 24px;
    text-align: center;
}

.nd-coupon-title {
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 8px;
}

.nd-coupon-desc {
    color: var(--text-muted);
    margin-bottom: 20px;
    font-size: 14px;
}

.nd-coupon-code-wrap {
    display: flex;
    gap: 8px;
    background: var(--bg-light);
    border-radius: var(--radius-sm);
    padding: 10px 14px;
    margin-bottom: 12px;
}

.nd-coupon-code-input {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 16px;
    font-weight: 700;
    font-family: 'Cairo', sans-serif;
    text-align: center;
    color: var(--secondary);
    outline: none;
}

.nd-coupon-copy-btn {
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: var(--radius-sm);
    padding: 8px 18px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: var(--transition);
    font-family: 'Cairo', sans-serif;
}

.nd-coupon-copy-btn:hover { background: var(--primary-dark); }

/* ---------- TOAST NOTIFICATIONS ---------- */
#nd-toast-container {
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.nd-toast {
    background: #fff;
    min-width: 280px;
    padding: 14px 18px;
    border-radius: var(--radius);
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    display: flex;
    align-items: center;
    gap: 12px;
    border-right: 4px solid #ccc;
    animation: nd-slideIn 0.3s ease forwards;
    font-size: 14px;
    font-weight: 600;
}

.nd-toast.success { border-right-color: #22c55e; }
.nd-toast.error   { border-right-color: #ef4444; }
.nd-toast.info    { border-right-color: #3b82f6; }

.nd-toast i.success { color: #22c55e; }
.nd-toast i.error   { color: #ef4444; }
.nd-toast i.info    { color: #3b82f6; }

@keyframes nd-slideIn {
    from { transform: translateX(-100%); opacity: 0; }
    to   { transform: translateX(0);     opacity: 1; }
}

/* ---------- HAMBURGER ---------- */
.nd-hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 38px;
    height: 38px;
    background: #f5f5f5;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    cursor: pointer;
    padding: 9px 8px;
    flex-shrink: 0;
    transition: background 0.2s;
}
.nd-hamburger:hover { background: #eee; }
.nd-hamburger span {
    display: block;
    width: 100%;
    height: 2px;
    background: var(--text-dark);
    border-radius: 2px;
    transition: all 0.28s ease;
    transform-origin: center;
}
.nd-hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.nd-hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nd-hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

/* ---------- MOBILE CART ICON ---------- */
.nd-mobile-cart {
    display: none;
    position: relative;
    width: 38px;
    height: 38px;
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: var(--radius);
    cursor: pointer;
    font-size: 15px;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: var(--transition);
}
.nd-mobile-cart:hover { background: var(--primary-dark); }
.nd-mobile-cart .nd-action-badge {
    position: absolute;
    top: -5px;
    inset-inline-end: -5px;
}

/* ---------- MOBILE SEARCH ROW ---------- */
.nd-mobile-search-row {
    display: none;
    padding: 8px 16px 10px;
    background: #fff;
    border-bottom: 1px solid var(--border);
}
.nd-mobile-search-row .nd-search-form {
    max-width: 100%;
    margin: 0;
    width: 100%;
}

/* ---------- SIDEBAR OVERLAY ---------- */
.nd-sidebar-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.52);
    z-index: 9998;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    backdrop-filter: blur(2px);
}
.nd-sidebar-overlay.open { opacity: 1; pointer-events: all; }

/* ---------- MOBILE SIDEBAR ---------- */
.nd-sidebar {
    position: fixed;
    top: 0;
    right: 0;
    width: 300px;
    max-width: 86vw;
    height: 100dvh;
    background: #fff;
    z-index: 9999;
    transform: translateX(110%);
    transition: transform 0.32s cubic-bezier(.4,0,.2,1);
    display: flex;
    flex-direction: column;
    box-shadow: -4px 0 32px rgba(0,0,0,0.18);
    overflow-y: auto;
    overflow-x: hidden;
}
.nd-sidebar.open { transform: translateX(0); }

.nd-ltr .nd-sidebar {
    right: auto;
    left: 0;
    transform: translateX(-110%);
    box-shadow: 4px 0 32px rgba(0,0,0,0.18);
}
.nd-ltr .nd-sidebar.open { transform: translateX(0); }

/* Sidebar Head */
.nd-sidebar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    background: var(--secondary);
    flex-shrink: 0;
}
.nd-sidebar-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    min-width: 0;
}
.nd-sidebar-logo img {
    height: 32px;
    flex-shrink: 0;
    filter: brightness(0) invert(1);
}
.nd-sidebar-logo span {
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.nd-sidebar-close {
    background: rgba(255,255,255,0.15);
    border: none;
    color: #fff;
    width: 34px;
    height: 34px;
    border-radius: var(--radius);
    cursor: pointer;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.2s;
}
.nd-sidebar-close:hover { background: rgba(255,255,255,0.3); }

/* Sidebar User */
.nd-sidebar-user {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    background: #f8f9fa;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}
.nd-sidebar-user-avatar {
    width: 42px;
    height: 42px;
    background: var(--primary);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
    flex-shrink: 0;
}
.nd-sidebar-user-info { min-width: 0; }
.nd-sidebar-user-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-dark);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.nd-sidebar-user-email {
    font-size: 11px;
    color: var(--text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Sidebar Nav */
.nd-sidebar-nav { flex: 1; }

.nd-sidebar-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 18px;
    color: var(--text-dark);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.18s, color 0.18s;
    background: none;
    width: 100%;
    border-left: none;
    border-right: none;
    border-top: none;
    font-family: 'Cairo', sans-serif;
    cursor: pointer;
}
.nd-sidebar-link:hover,
.nd-sidebar-link:active { background: #f5f5f5; color: var(--primary); }
.nd-sidebar-link i { width: 20px; text-align: center; color: var(--secondary); font-size: 14px; flex-shrink: 0; }

/* Books accordion */
.nd-sidebar-accordion { border-bottom: 1px solid #f0f0f0; }
.nd-sidebar-acc-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 13px 18px;
    background: none;
    border: none;
    font-family: 'Cairo', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-dark);
    cursor: pointer;
    transition: background 0.18s;
}
.nd-sidebar-acc-btn:hover { background: #f5f5f5; color: var(--primary); }
.nd-sidebar-acc-btn span { display: flex; align-items: center; gap: 12px; }
.nd-sidebar-acc-btn span i { width: 20px; text-align: center; color: var(--secondary); font-size: 14px; }
.nd-sidebar-acc-icon { transition: transform 0.3s; font-size: 11px; flex-shrink: 0; }
.nd-sidebar-accordion.open .nd-sidebar-acc-icon { transform: rotate(180deg); }
.nd-sidebar-acc-content { display: none; background: #f9f9f9; }
.nd-sidebar-accordion.open .nd-sidebar-acc-content { display: block; }
.nd-sidebar-sub-link {
    display: block;
    padding: 11px 18px 11px 44px;
    font-size: 13px;
    color: var(--text-dark);
    text-decoration: none;
    border-bottom: 1px solid #efefef;
    transition: background 0.18s, color 0.18s;
}
.nd-rtl .nd-sidebar-sub-link { padding: 11px 44px 11px 18px; }
.nd-sidebar-sub-link:hover { color: var(--primary); background: #fff; }
.nd-sidebar-sub-all { color: var(--primary) !important; font-weight: 700; }

/* Sidebar Actions */
.nd-sidebar-actions {
    padding: 14px 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    border-top: 2px solid var(--border);
    background: #fafafa;
}
.nd-sidebar-cart-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 18px;
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: var(--radius);
    font-family: 'Cairo', sans-serif;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    width: 100%;
    transition: var(--transition);
    margin-bottom: 4px;
}
.nd-sidebar-cart-btn:hover { background: var(--primary-dark); }
.nd-sidebar-dashboard { color: var(--secondary) !important; font-weight: 700 !important; }
.nd-sidebar-dashboard i { color: var(--secondary) !important; }
.nd-sidebar-logout { color: var(--primary) !important; }
.nd-sidebar-logout i { color: var(--primary) !important; }
.nd-sidebar-login-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 18px;
    background: var(--secondary);
    color: #fff !important;
    border-radius: var(--radius);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition);
    width: 100%;
}
.nd-sidebar-login-btn:hover { background: #2d4a7a; color: #fff !important; }

/* Sidebar Lang */
.nd-sidebar-lang {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 18px;
    border-top: 1px solid var(--border);
    flex-shrink: 0;
}
.nd-sidebar-lang-label { font-size: 12px; color: var(--text-muted); }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1024px) {
    .nd-footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
    /* ── Header: compact + show mobile elements ── */
    .nd-header-main { padding: 10px 14px; gap: 8px; min-height: 58px; }
    .nd-logo-tagline { display: none; }
    .nd-logo-name { font-size: 13px; }
    .nd-logo img { height: 36px; }
    .nd-logo-texts { display: none; }

    /* Hide desktop-only items from header */
    .nd-hide-mobile { display: none !important; }
    .nd-header-main .nd-search-form { display: none; }

    /* Show mobile elements */
    .nd-hamburger { display: flex; }
    .nd-mobile-cart { display: flex; }
    .nd-mobile-search-row { display: flex; }

    /* Mobile lang slot (hidden on desktop, shown on mobile) */
    .nd-lang-mobile-slot { display: flex; }
    .nd-logo-group { gap: 10px; }

    /* ── Mobile header order ──
       AR (RTL): right = burger+cart  |  left = logo+lang
       EN (LTR): left  = burger+cart  |  right = logo+lang
    */
    .nd-header-main { justify-content: space-between; }

    /* RTL mobile: logo-group (logo+lang) on LEFT, actions (burger+cart) on RIGHT */
    .nd-rtl .nd-logo-group       { order: 3; }
    .nd-rtl .nd-header-actions   { order: 1; }

    /* LTR mobile: actions (burger+cart) on LEFT, logo-group (logo+lang) on RIGHT */
    .nd-ltr .nd-header-actions   { order: 1; }
    .nd-ltr .nd-logo-group       { order: 3; }

    /* Hide desktop nav bar entirely */
    .nd-nav { display: none !important; }

    /* Hero */
    .nd-hero-swiper { height: 380px; min-height: unset; }
    .nd-hero-content { padding: 0 24px; max-width: 100%; }
    .nd-hero-line { margin-bottom: 14px; }
    .nd-hero-title { font-size: 22px; }
    .nd-hero-subtitle { font-size: 13px; margin-bottom: 18px; }

    /* Layout */
    .nd-container { padding: 0 16px; }
    .nd-footer-grid { grid-template-columns: 1fr; gap: 24px; }

    /* Features */
    .nd-features-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .nd-feature-card { padding: 22px 14px; }
    .nd-feature-icon { width: 52px; height: 52px; font-size: 22px; }

    /* Reviews */
    .nd-reviews-title { font-size: 20px; }

    /* إخفاء أسهم التقليب وعدد المنتجات في الأقسام على الموبايل */
    .nd-swiper-btn { display: none !important; }
    .nd-section-badge { display: none !important; }
    .nd-cat-count { display: none !important; }

}

@media (max-width: 480px) {
    body.new-design { zoom: 0.85; }
    .nd-books-swiper .swiper-slide { width: calc(33.333% - 4px) !important; }

    /* ── Section header smaller on mobile ── */
    .nd-section          { padding: 16px 0; margin-bottom: 4px; }
    .nd-section-header   { margin-bottom: 10px; }
    .nd-section-title    { font-size: 14px; gap: 6px; }
    .nd-section-title-icon { font-size: 14px; }
    .nd-see-all          { font-size: 11px; }
    .nd-container        { padding: 0 12px; }

    /* ── Book card: compact on mobile ── */
    .nd-book-img-wrap      { height: 110px; background: #fff; }
    .nd-book-img           { object-fit: contain; padding: 4px; }
    .nd-book-card:hover .nd-book-img { transform: none; }
    .nd-book-body          { padding: 5px 6px; gap: 2px; }
    .nd-book-title         { font-size: 10px; -webkit-line-clamp: 2; line-height: 1.3; }
    .nd-book-author        { display: none; }
    .nd-book-stars         { display: none; }
    .nd-book-price-final   { font-size: 11px; font-weight: 800; }
    .nd-book-price-original{ font-size: 9px; }
    .nd-book-footer        { padding: 0 6px 6px; gap: 4px; }
    .nd-cart-btn           { padding: 5px 4px; font-size: 7.5px; gap: 2px; border-radius: 6px; flex: 1; width: 100%; white-space: nowrap; }
    .nd-cart-btn i         { font-size: 9px; }
    .nd-details-btn        { display: none !important; }
    .nd-book-discount-badge{ font-size: 8px; padding: 1px 4px; top: 4px; right: 4px; }
    .nd-book-fav-btn       { width: 22px; height: 22px; font-size: 9px; top: 4px; left: 4px; }
}

@media (max-width: 480px) {
    /* Header: hide logo text, keep logo img + search + cart */
    .nd-logo-texts { display: none; }
    .nd-logo img { height: 36px; }
    .nd-search-btn { padding: 11px 14px; font-size: 12px; }
    .nd-lang-btn { width: 30px; height: 30px; font-size: 11px; }

    /* Hero */
    .nd-hero-swiper { height: 260px; }
    .nd-hero-content { padding: 0 16px; }
    .nd-hero-title { font-size: 18px; }
    .nd-hero-subtitle { display: none; }
    .nd-hero-cta, .nd-hero-cta-outline { padding: 10px 18px; font-size: 13px; }
}

/* =========================================
   LTR OVERRIDES (English mode)
   ========================================= */
.nd-ltr .nd-book-title,
.nd-ltr .nd-book-author,
.nd-ltr .nd-book-price-row { text-align: left; }

.nd-ltr .nd-book-price-row { justify-content: flex-start; }

.nd-ltr .nd-book-stars { flex-direction: row; justify-content: flex-start; }

.nd-ltr .nd-section-header { flex-direction: row; }

.nd-ltr .nd-hero-content { text-align: left; padding-left: 60px; padding-right: 0; margin-left: 0; margin-right: auto; }

.nd-ltr .nd-footer-links a:hover { gap: 10px; }

.nd-ltr .nd-search-input { text-align: left; }

.nd-ltr .nd-icon-badge { left: auto; right: 2px; }

.nd-ltr .nd-book-discount-badge { right: auto; left: 10px; }

.nd-ltr .nd-book-fav-btn { left: auto; right: 10px; }

.nd-ltr .nd-scroll-top { left: auto; right: 24px; }

.nd-ltr #nd-toast-container { left: auto; right: 20px; }

.nd-ltr .nd-toast { border-right: none; border-left: 4px solid #ccc; }
.nd-ltr .nd-toast.success { border-left-color: #22c55e; }
.nd-ltr .nd-toast.error   { border-left-color: #ef4444; }
.nd-ltr .nd-toast.info    { border-left-color: #3b82f6; }

@keyframes nd-slideIn-ltr {
    from { transform: translateX(100%); opacity: 0; }
    to   { transform: translateX(0);    opacity: 1; }
}
.nd-ltr .nd-toast { animation-name: nd-slideIn-ltr; }

/* ── Cart / Action Toast Notifications ─────────────────────────────── */
#toast-container {
    position: fixed;
    top: 80px;
    right: 20px;
    z-index: 999999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
    max-width: 340px;
}
.toast-notification {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 13px 16px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    box-shadow: 0 6px 24px rgba(0,0,0,.18);
    pointer-events: all;
    animation: toastSlideIn .3s ease;
    min-width: 260px;
}
.toast-notification.success { background: #2a7d4f; }
.toast-notification.warn    { background: #c9760a; }
.toast-notification.error   { background: #e63946; }
.toast-notification.info    { background: #1d3557; }

.toast-content {
    display: flex;
    align-items: center;
    gap: 10px;
}
.toast-icon { font-size: 16px; flex-shrink: 0; }
.toast-close {
    background: none;
    border: none;
    color: rgba(255,255,255,.75);
    cursor: pointer;
    font-size: 14px;
    padding: 0 2px;
    flex-shrink: 0;
    line-height: 1;
}
.toast-close:hover { color: #fff; }

@keyframes toastSlideIn {
    from { transform: translateX(120%); opacity: 0; }
    to   { transform: translateX(0);    opacity: 1; }
}
@keyframes fadeOutRight {
    from { transform: translateX(0);    opacity: 1; }
    to   { transform: translateX(120%); opacity: 0; }
}

/* ═══════════════════════════════════════════════════
   INNER PAGES – Shared styles
   ═══════════════════════════════════════════════════ */

/* ── Page Hero Banner ─────────────────────────────── */
.nd-page-hero {
    background: linear-gradient(135deg, var(--secondary) 0%, #2a4a6b 60%, var(--primary) 100%);
    padding: 48px 0 36px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.nd-page-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.nd-page-hero-inner {
    position: relative;
    z-index: 1;
    padding: 0 24px;
}
.nd-page-hero-title {
    font-size: 28px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 12px;
    letter-spacing: -0.3px;
}
.nd-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}
.nd-breadcrumb a {
    color: rgba(255,255,255,0.7);
    font-size: 13px;
    transition: color 0.2s;
}
.nd-breadcrumb a:hover { color: #fff; }
.nd-breadcrumb-sep { color: rgba(255,255,255,0.4); font-size: 12px; }
.nd-breadcrumb-current { color: rgba(255,255,255,0.9); font-size: 13px; }

/* ── Inner Page Container ─────────────────────────── */
.nd-inner-section {
    padding: 48px 0 64px;
    background: var(--bg-light);
    min-height: 60vh;
}
.nd-inner-section .nd-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ── Auth Pages (Login / Register / Confirm) ──────── */
.nd-auth-wrap {
    display: flex;
    justify-content: center;
    padding: 48px 20px;
    min-height: 60vh;
    background: var(--bg-light);
}
.nd-auth-card {
    background: #fff;
    border-radius: 16px;
    box-shadow: var(--shadow-hover);
    padding: 40px;
    width: 100%;
    max-width: 480px;
}
.nd-auth-card-wide {
    max-width: 900px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: var(--shadow-hover);
}
.nd-auth-left {
    background: linear-gradient(160deg, var(--secondary), #2a4a6b);
    padding: 48px 36px;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.nd-auth-left h3 {
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 14px;
    color: #fff;
}
.nd-auth-left p {
    font-size: 13px;
    line-height: 1.7;
    color: rgba(255,255,255,0.8);
    margin-bottom: 24px;
}
.nd-auth-right {
    background: #fff;
    padding: 48px 36px;
}
.nd-auth-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--secondary);
    margin-bottom: 6px;
}
.nd-auth-subtitle {
    font-size: 13px;
    color: var(--text-muted);
    margin-bottom: 24px;
}
.nd-form-group {
    margin-bottom: 16px;
}
.nd-form-group label {
    display: block;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 6px;
}
.nd-form-control {
    width: 100%;
    padding: 11px 14px;
    border: 1.5px solid var(--border);
    border-radius: 8px;
    font-size: 13.5px;
    font-family: inherit;
    color: var(--text-dark);
    background: #fff;
    transition: border-color 0.2s;
    outline: none;
}
.nd-form-control:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(230,57,70,0.08);
}
.nd-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 12px 28px;
    font-size: 14px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: var(--transition);
    text-decoration: none;
    width: 100%;
}
.nd-btn-primary:hover {
    background: var(--primary-dark);
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(230,57,70,.25);
    color: #fff;
}
.nd-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--secondary);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 12px 28px;
    font-size: 14px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: var(--transition);
    text-decoration: none;
    width: 100%;
}
.nd-btn-secondary:hover {
    background: #16294a;
    color: #fff;
    transform: translateY(-1px);
}
.nd-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: transparent;
    color: var(--secondary);
    border: 2px solid var(--secondary);
    border-radius: 8px;
    padding: 10px 24px;
    font-size: 14px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: var(--transition);
    text-decoration: none;
}
.nd-btn-outline:hover {
    background: var(--secondary);
    color: #fff;
}
.nd-google-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #f5f5f5;
    border: 1.5px solid var(--border);
    border-radius: 8px;
    padding: 11px 14px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--text-dark);
    text-decoration: none;
    transition: var(--transition);
    width: 100%;
    margin-bottom: 16px;
}
.nd-google-btn:hover {
    background: #eee;
    border-color: #ccc;
    color: var(--text-dark);
}
.nd-form-divider {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 16px 0;
    color: var(--text-muted);
    font-size: 12px;
}
.nd-form-divider::before, .nd-form-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--border);
}
.nd-form-link {
    color: var(--primary);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    margin-top: 8px;
}
.nd-form-link:hover { color: var(--primary-dark); text-decoration: underline; }
.nd-alert-error {
    background: #fff5f5;
    border: 1px solid #f5c2c7;
    color: #842029;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 13px;
    margin-bottom: 16px;
}
.nd-alert-success {
    background: #f0fff4;
    border: 1px solid #b7ebc6;
    color: #1a6c3c;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 13px;
    margin-bottom: 16px;
}

/* ── Account Pages (Profile / Orders / etc.) ──────── */
.nd-account-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 28px;
    padding: 40px 0;
    align-items: start;
}
.nd-rtl .nd-account-layout { direction: rtl; }

.nd-account-sidebar {
    background: #fff;
    border-radius: 14px;
    box-shadow: var(--shadow);
    overflow: hidden;
    position: sticky;
    top: calc(var(--header-h) + var(--nav-h) + 16px);
}
.nd-account-head {
    background: linear-gradient(135deg, var(--secondary), #2a4a6b);
    padding: 28px 20px;
    text-align: center;
    color: #fff;
}
.nd-account-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(255,255,255,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 800;
    color: #fff;
    margin: 0 auto 10px;
    border: 3px solid rgba(255,255,255,0.3);
}
.nd-account-name {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 2px;
}
.nd-account-email {
    font-size: 12px;
    color: rgba(255,255,255,0.7);
}
.nd-account-nav {
    padding: 8px 0;
}
.nd-account-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 20px;
    color: var(--text-dark);
    font-size: 13.5px;
    font-weight: 500;
    transition: var(--transition);
    border-right: 3px solid transparent;
    cursor: pointer;
    text-decoration: none;
}
[dir="ltr"] .nd-account-nav-item { border-right: none; border-left: 3px solid transparent; }
.nd-account-nav-item i {
    width: 18px;
    font-size: 14px;
    color: var(--text-muted);
    transition: color 0.2s;
    flex-shrink: 0;
}
.nd-account-nav-item:hover, .nd-account-nav-item.active {
    background: rgba(230,57,70,0.06);
    color: var(--primary);
    border-right-color: var(--primary);
}
[dir="ltr"] .nd-account-nav-item:hover,
[dir="ltr"] .nd-account-nav-item.active {
    border-right-color: transparent;
    border-left-color: var(--primary);
}
.nd-account-nav-item:hover i, .nd-account-nav-item.active i { color: var(--primary); }
.nd-account-nav-item.logout:hover, .nd-account-nav-item.logout:hover i {
    color: var(--primary);
    background: rgba(230,57,70,0.06);
    border-right-color: var(--primary);
}
.nd-account-nav-divider {
    height: 1px;
    background: var(--border);
    margin: 4px 0;
}

/* ── Account Content Card ─────────────────────────── */
.nd-account-content {
    min-width: 0;
}
.nd-content-card {
    background: #fff;
    border-radius: 14px;
    box-shadow: var(--shadow);
    padding: 32px;
}
.nd-content-card-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--secondary);
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--border);
    display: flex;
    align-items: center;
    gap: 10px;
}
.nd-content-card-title i { color: var(--primary); }

/* ── Inner Table ──────────────────────────────────── */
.nd-table-wrap {
    overflow-x: auto;
    border-radius: 10px;
}
.nd-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13.5px;
}
.nd-table thead tr {
    background: var(--secondary);
    color: #fff;
}
.nd-table thead th {
    padding: 13px 16px;
    font-weight: 600;
    font-size: 13px;
    white-space: nowrap;
}
.nd-table tbody tr {
    border-bottom: 1px solid var(--border);
    transition: background 0.15s;
}
.nd-table tbody tr:hover { background: #f8f9ff; }
.nd-table tbody td {
    padding: 13px 16px;
    vertical-align: middle;
    color: var(--text-dark);
}
.nd-table tbody td img {
    width: 48px;
    height: 64px;
    object-fit: cover;
    border-radius: 6px;
}
.nd-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
}
.nd-badge-success { background: #dcf5e6; color: #1a6c3c; }
.nd-badge-warning { background: #fff3cd; color: #856404; }
.nd-badge-danger  { background: #ffe0e3; color: #842029; }
.nd-badge-info    { background: #e0ecff; color: #1a3a6c; }
.nd-table-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 7px 14px;
    font-size: 12.5px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: var(--transition);
    text-decoration: none;
}
.nd-table-btn:hover { background: var(--primary-dark); color: #fff; }
.nd-table-btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    color: var(--primary);
    border: 1.5px solid var(--primary);
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 12.5px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: var(--transition);
    text-decoration: none;
}
.nd-table-btn-outline:hover { background: var(--primary); color: #fff; }
.nd-table-empty {
    text-align: center;
    padding: 48px 20px;
    color: var(--text-muted);
}
.nd-table-empty i { font-size: 40px; display: block; margin-bottom: 10px; opacity: 0.4; }

/* ── Favorites Grid ───────────────────────────────── */
.nd-fav-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px;
}

/* ── Content Pages (About, Contact, etc.) ─────────── */
.nd-content-section {
    padding: 56px 0;
    background: var(--bg-light);
}
.nd-content-section.bg-white { background: #fff; }
.nd-section-title {
    font-size: 26px;
    font-weight: 800;
    color: var(--secondary);
    margin-bottom: 8px;
}
.nd-section-subtitle {
    font-size: 14px;
    color: var(--text-muted);
    margin-bottom: 32px;
}

/* About Us */
/* ── Return Policy Section ── */
.nd-return-section {
    background: linear-gradient(135deg, var(--secondary) 0%, #243b55 100%);
    padding: 56px 0;
}
.nd-return-header {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 40px;
}
.nd-return-header-icon {
    width: 60px; height: 60px; flex-shrink: 0;
    background: rgba(255,255,255,0.12);
    border-radius: 16px;
    display: flex; align-items: center; justify-content: center;
    font-size: 24px; color: var(--primary);
}
.nd-return-title {
    color: #fff;
    font-size: 22px; font-weight: 800;
    margin: 0 0 4px;
}
.nd-return-sub {
    color: rgba(255,255,255,0.6);
    font-size: 13px; margin: 0;
}
.nd-return-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}
.nd-return-card {
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 14px;
    padding: 28px 20px;
    text-align: center;
    transition: background .2s, transform .2s;
}
.nd-return-card:hover {
    background: rgba(255,255,255,0.13);
    transform: translateY(-4px);
}
.nd-return-card-icon {
    width: 52px; height: 52px;
    background: var(--primary);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px; color: #fff;
    margin: 0 auto 16px;
}
.nd-return-card-text {
    color: rgba(255,255,255,0.88);
    font-size: 14px; font-weight: 600;
    line-height: 1.6; margin: 0;
}

.nd-about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}
.nd-about-imgs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.nd-about-img-main {
    grid-column: 1 / -1;
    border-radius: 14px;
    overflow: hidden;
    height: 240px;
}
.nd-about-img-main img { width: 100%; height: 100%; object-fit: cover; }
.nd-about-img-sub { border-radius: 14px; overflow: hidden; height: 160px; }
.nd-about-img-sub img { width: 100%; height: 100%; object-fit: cover; }
.nd-about-exp-badge {
    grid-column: 2;
    background: linear-gradient(135deg, var(--primary), #c1121f);
    border-radius: 14px;
    padding: 20px;
    color: #fff;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 160px;
}
.nd-about-exp-num { font-size: 40px; font-weight: 900; line-height: 1; }
.nd-about-exp-label { font-size: 13px; margin-top: 4px; opacity: 0.9; }
.nd-about-text { }
.nd-about-text h2 { font-size: 24px; font-weight: 800; color: var(--secondary); margin-bottom: 14px; }
.nd-about-text p { font-size: 14px; line-height: 1.8; color: #555; margin-bottom: 16px; }
.nd-check-list { list-style: none; padding: 0; }
.nd-check-list li {
    padding: 5px 0;
    font-size: 13.5px;
    color: var(--text-dark);
    display: flex;
    align-items: center;
    gap: 8px;
}
.nd-check-list li::before {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color: var(--primary);
    font-size: 11px;
    flex-shrink: 0;
}

/* Mission / Vision */
.nd-mission-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.nd-mission-card {
    background: #fff;
    border-radius: 14px;
    padding: 28px;
    box-shadow: var(--shadow);
    border-top: 4px solid var(--primary);
}
.nd-mission-card h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--secondary);
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.nd-mission-card h3 i { color: var(--primary); }
.nd-mission-card p { font-size: 13.5px; line-height: 1.8; color: #555; }

/* Values */
.nd-values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
}
.nd-value-card {
    background: #fff;
    border-radius: 14px;
    padding: 28px 20px;
    box-shadow: var(--shadow);
    text-align: center;
    transition: var(--transition);
}
.nd-value-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); }
.nd-value-card img { width: 56px; height: 56px; object-fit: contain; margin: 0 auto 14px; }
.nd-value-card h5 { font-size: 15px; font-weight: 700; color: var(--secondary); margin-bottom: 8px; }
.nd-value-card p { font-size: 13px; color: #666; line-height: 1.6; }

/* Stats */
.nd-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.nd-stat-card {
    background: #fff;
    border-radius: 14px;
    padding: 28px 16px;
    box-shadow: var(--shadow);
    text-align: center;
    transition: var(--transition);
}
.nd-stat-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-hover); }
.nd-stat-icon { font-size: 32px; color: var(--primary); margin-bottom: 10px; }
.nd-stat-num { font-size: 32px; font-weight: 900; color: var(--secondary); line-height: 1; }
.nd-stat-label { font-size: 13px; color: var(--text-muted); margin-top: 6px; }

/* Contact */
.nd-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 36px;
    align-items: start;
}
.nd-contact-info { }
.nd-contact-info-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 0;
    border-bottom: 1px solid var(--border);
}
.nd-contact-info-item:last-child { border-bottom: none; }
.nd-contact-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: rgba(230,57,70,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: var(--primary);
    flex-shrink: 0;
}
.nd-contact-label { font-size: 12px; color: var(--text-muted); margin-bottom: 3px; }
.nd-contact-value { font-size: 14px; font-weight: 600; color: var(--text-dark); }
.nd-map-wrapper {
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 32px;
    box-shadow: var(--shadow);
}

/* Portfolios */
.nd-portfolio-card {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: var(--shadow);
    margin-bottom: 24px;
    display: flex;
    gap: 0;
    transition: var(--transition);
}
.nd-portfolio-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.nd-portfolio-img {
    width: 200px;
    flex-shrink: 0;
    overflow: hidden;
}
.nd-portfolio-img img { width: 100%; height: 100%; object-fit: cover; }
.nd-portfolio-body { padding: 24px; flex: 1; }
.nd-portfolio-body h4 { font-size: 17px; font-weight: 700; color: var(--secondary); margin-bottom: 8px; }
.nd-portfolio-body p { font-size: 13.5px; line-height: 1.7; color: #555; }
.nd-portfolio-date { font-size: 12px; color: var(--text-muted); margin-top: 10px; }

/* Careers */
.nd-career-card {
    background: #fff;
    border-radius: 14px;
    padding: 28px;
    box-shadow: var(--shadow);
    margin-bottom: 20px;
    transition: var(--transition);
    border-right: 4px solid var(--primary);
    display: flex;
    flex-direction: column;
    gap: 8px;
}
[dir="ltr"] .nd-career-card { border-right: none; border-left: 4px solid var(--primary); }
.nd-career-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.nd-career-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; }
.nd-career-title { font-size: 17px; font-weight: 700; color: var(--secondary); }
.nd-career-tag {
    background: rgba(230,57,70,0.1);
    color: var(--primary);
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
}
.nd-career-desc { font-size: 13.5px; color: #666; line-height: 1.6; }
.nd-career-apply {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--primary);
    color: #fff;
    border-radius: 8px;
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition);
    align-self: flex-start;
    margin-top: 6px;
}
.nd-career-apply:hover { background: var(--primary-dark); color: #fff; transform: translateY(-1px); }

/* Pagination */
.nd-pagination {
    display: flex;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 32px;
}
.nd-page-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: #fff;
    border: 1.5px solid var(--border);
    color: var(--text-dark);
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    transition: var(--transition);
}
.nd-page-item:hover, .nd-page-item.active {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

/* ── Responsive ──────────────────────────────────── */
@media (max-width: 900px) {
    .nd-account-layout { grid-template-columns: 1fr; }
    .nd-account-sidebar { position: static; }
    .nd-about-grid { grid-template-columns: 1fr; }
    .nd-mission-grid { grid-template-columns: 1fr; }
    .nd-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .nd-contact-grid { grid-template-columns: 1fr; }
    .nd-translation-grid { grid-template-columns: 1fr !important; }
    .nd-books-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 8px !important; }
    .nd-auth-card-wide { grid-template-columns: 1fr; }
    .nd-auth-left { display: none; }
    .nd-portfolio-img { width: 130px; }
}
@media (max-width: 600px) {
    .nd-page-hero-title { font-size: 22px; }
    .nd-content-card { padding: 20px; }
    .nd-auth-card { padding: 24px; }
    .nd-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .nd-portfolio-card { flex-direction: column; }
    .nd-portfolio-img { width: 100%; height: 200px; }
    .nd-values-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ═══════════════════════════════════════════════════
   SECTION COVER BANNER
   ═══════════════════════════════════════════════════ */
.nd-section-cover {
    position: relative;
    width: 100%;
    height: 320px;
    overflow: hidden;
    background: #1a1a2e;
}
.nd-section-cover-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    z-index: 0;
}
.nd-section-cover-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,.35) 0%, rgba(0,0,0,.6) 100%);
    z-index: 1;
}
.nd-section-cover-inner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    text-align: center;
}
.nd-section-cover-title {
    font-size: 36px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 14px;
    text-shadow: 0 2px 8px rgba(0,0,0,.4);
    letter-spacing: -.3px;
}
.nd-breadcrumb-light a,
.nd-breadcrumb-light .nd-breadcrumb-sep,
.nd-breadcrumb-light .nd-breadcrumb-current {
    color: rgba(255,255,255,.85) !important;
}
.nd-breadcrumb-light a:hover { color: #fff !important; }
@media (max-width: 600px) {
    .nd-section-cover { height: 220px; }
    .nd-section-cover-title { font-size: 24px; }
}

/* ═══════════════════════════════════════════════════
   EVENTS LIST PAGE
   ═══════════════════════════════════════════════════ */
.nd-events-list-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 20px;
    padding: 10px 0;
}
.nd-event-cat-card {
    background: var(--card-bg);
    border-radius: 16px;
    overflow: hidden;
    border: 1.5px solid var(--border);
    transition: transform .2s, box-shadow .2s;
    display: flex; flex-direction: column;
}
.nd-event-cat-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,.1); }
.nd-event-cat-img-wrap { width: 100%; aspect-ratio: 16/9; overflow: hidden; }
.nd-event-cat-img-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nd-event-cat-icon {
    width: 100%; height: 120px;
    background: linear-gradient(135deg, #f0e8ff, #e0f0ff);
    display: flex; align-items: center; justify-content: center;
}
.nd-event-cat-icon i { font-size: 44px; color: var(--primary); }
.nd-event-cat-body { padding: 14px 16px; }
.nd-event-cat-title { font-size: 16px; font-weight: 700; color: var(--text-dark); margin: 0 0 6px; }
.nd-event-cat-desc { font-size: 13px; color: var(--text-muted); line-height: 1.6; margin: 0; }

/* ═══════════════════════════════════════════════════
   EVENTS HOMEPAGE CARDS
   ═══════════════════════════════════════════════════ */
.nd-events-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    padding: 10px 0;
}
@media (max-width: 900px) {
    .nd-events-cards-grid { grid-template-columns: repeat(2, 1fr); }
}
.nd-event-card {
    background: var(--card-bg);
    border-radius: 16px;
    overflow: hidden;
    border: 1.5px solid var(--border);
    display: flex; flex-direction: column;
    transition: transform .25s, box-shadow .25s;
    animation: nd-fadein-up .45s ease both;
    animation-delay: calc(var(--ev-idx, 0) * 0.08s);
}
.nd-event-card:hover { transform: translateY(-5px); box-shadow: 0 10px 32px rgba(0,0,0,.12); }
.nd-event-img-wrap { position: relative; width: 100%; aspect-ratio: 16/9; overflow: hidden; }
.nd-event-img-wrap .nd-event-img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s, opacity .4s; }
.nd-event-card:hover .nd-event-img { transform: scale(1.05); }
.nd-event-img-loading { opacity: 0; }
.nd-event-img-skeleton {
    position: absolute; inset: 0;
    background: linear-gradient(90deg, #e8edf5 25%, #f4f6fb 50%, #e8edf5 75%);
    background-size: 200% 100%;
    animation: nd-skeleton-shimmer 1.4s infinite linear;
    z-index: 1;
}
@keyframes nd-skeleton-shimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
.nd-event-img-placeholder {
    width: 100%; height: 100%;
    background: linear-gradient(135deg, #e8f0ff, #f0e8ff);
    display: flex; align-items: center; justify-content: center;
}
.nd-event-img-placeholder i { font-size: 48px; color: var(--primary); opacity: .5; }
.nd-event-date-badge {
    position: absolute; top: 12px; inset-inline-start: 12px;
    background: var(--primary);
    color: #fff;
    border-radius: 10px;
    padding: 6px 10px;
    text-align: center;
    line-height: 1.2;
    min-width: 46px;
    box-shadow: 0 3px 10px rgba(0,0,0,.2);
}
.nd-event-date-day { display: block; font-size: 20px; font-weight: 800; }
.nd-event-date-month { display: block; font-size: 11px; font-weight: 600; text-transform: uppercase; opacity: .9; }
.nd-event-body { padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.nd-event-title { font-size: 16px; font-weight: 700; color: var(--text-dark); margin: 0; line-height: 1.4; }
.nd-event-location { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--text-muted); }
.nd-event-location i { color: var(--primary); font-size: 12px; }
.nd-event-desc { font-size: 13px; color: var(--text-muted); line-height: 1.6; margin: 0;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nd-event-register-btn {
    display: inline-flex; align-items: center; justify-content: center;
    margin-top: auto; padding: 8px 18px;
    background: var(--primary); color: #fff;
    border-radius: 8px; font-size: 13px; font-weight: 600;
    text-decoration: none; transition: background .2s, transform .15s;
    align-self: flex-start;
}
.nd-event-register-btn:hover { background: var(--primary-dark, #6b46c1); transform: translateY(-1px); color: #fff; }
.nd-section-link {
    font-size: 14px; font-weight: 600; color: var(--primary);
    text-decoration: none; display: flex; align-items: center; gap: 6px;
    transition: gap .2s;
}
.nd-section-link:hover { gap: 10px; color: var(--primary); }
@media (max-width: 600px) {
    .nd-events-cards-grid { grid-template-columns: 1fr !important; }
}

/* ═══════════════════════════════════════════════════
   APP DOWNLOAD SECTION — REDESIGNED
   ═══════════════════════════════════════════════════ */
.nd-app-section {
    position: relative;
    background: #0f0f1a;
    overflow: hidden;
    padding: 60px 0;
    margin-bottom: 4px;
}
.nd-app-bg-shapes { position: absolute; inset: 0; pointer-events: none; }
.nd-app-shape {
    position: absolute; border-radius: 50%;
    filter: blur(60px); opacity: .35;
}
.nd-app-shape-1 { width: 300px; height: 300px; background: var(--primary); top: -80px; right: -60px; }
.nd-app-shape-2 { width: 200px; height: 200px; background: #38f9d7; bottom: -60px; left: 10%; }
.nd-app-shape-3 { width: 150px; height: 150px; background: #f093fb; top: 40%; left: 40%; }
.nd-app-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    position: relative;
    z-index: 1;
}
/* Phone mockup */
.nd-phone-mockup { flex-shrink: 0; }
.nd-phone-frame {
    width: 130px; height: 240px;
    background: #1a1a2e;
    border-radius: 22px;
    border: 3px solid rgba(255,255,255,.15);
    box-shadow: 0 20px 60px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.05);
    display: flex; flex-direction: column;
    align-items: center; padding: 10px 8px 10px;
    position: relative;
}
.nd-phone-notch { width: 40px; height: 8px; background: #0f0f1a; border-radius: 0 0 8px 8px; margin-bottom: 8px; }
.nd-phone-screen { flex: 1; width: 100%; background: #fff; border-radius: 10px; overflow: hidden; display: flex; flex-direction: column; }
.nd-phone-screen-header { background: var(--primary); padding: 6px 8px; display: flex; align-items: center; gap: 4px; }
.nd-phone-screen-logo { color: #fff; font-size: 11px; }
.nd-phone-screen-title { color: #fff; font-size: 10px; font-weight: 700; }
.nd-phone-screen-body { flex: 1; padding: 6px; display: flex; flex-direction: column; gap: 5px; background: #f5f5f5; }
.nd-phone-book-card { height: 28px; border-radius: 6px; background: linear-gradient(90deg,#e8d5ff,#c8e6ff); }
.nd-phone-book-card-2 { background: linear-gradient(90deg,#ffd5e8,#ffe8c8); }
.nd-phone-book-card-3 { height: 20px; background: linear-gradient(90deg,#d5ffe8,#d5e8ff); }
.nd-phone-home-btn { width: 28px; height: 28px; border: 2px solid rgba(255,255,255,.2); border-radius: 50%; margin-top: 6px; }
/* Content */
.nd-app-content { flex: 1; color: #fff; }
.nd-app-tag {
    display: inline-block;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2);
    color: rgba(255,255,255,.9);
    font-size: 12px; font-weight: 600;
    padding: 4px 12px; border-radius: 50px;
    margin-bottom: 12px; backdrop-filter: blur(4px);
}
.nd-app-title { font-size: 26px; font-weight: 800; color: #fff; margin-bottom: 10px; line-height: 1.3; }
.nd-app-desc { color: rgba(255,255,255,.7); font-size: 14px; line-height: 1.7; margin-bottom: 16px; }
.nd-app-features { display: flex; flex-direction: column; gap: 6px; margin-bottom: 24px; }
.nd-app-feature { color: rgba(255,255,255,.8); font-size: 13px; font-weight: 500; display: flex; align-items: center; gap: 8px; }
.nd-app-feature i { color: #43e97b; font-size: 14px; }
.nd-store-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.nd-store-btn {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 18px; border-radius: 12px;
    text-decoration: none;
    transition: transform .2s, box-shadow .2s;
    min-width: 140px;
}
.nd-store-btn:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,.4); }
.nd-store-google { background: #1a1a2e; border: 1.5px solid rgba(255,255,255,.2); color: #fff; }
.nd-store-apple { background: rgba(255,255,255,.12); border: 1.5px solid rgba(255,255,255,.25); color: #fff; }
.nd-store-icon { font-size: 24px; line-height: 1; }
.nd-store-google .nd-store-icon { color: #fff; }
.nd-store-apple .nd-store-icon { color: #fff; }
.nd-store-text { display: flex; flex-direction: column; line-height: 1.3; }
.nd-store-small { font-size: 10px; opacity: .7; font-weight: 400; }
.nd-store-name { font-size: 15px; font-weight: 700; }

/* ═══════════════════════════════════════════════════
   KIDS GAMES SECTION
   ═══════════════════════════════════════════════════ */
.nd-games-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 16px;
}
.nd-game-card {
    background: var(--card-bg);
    border-radius: 14px;
    overflow: hidden;
    border: 1.5px solid var(--border);
    text-decoration: none;
    color: var(--text-dark);
    transition: transform .2s, box-shadow .2s;
    display: flex; flex-direction: column;
}
.nd-game-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,.1); }
.nd-game-img-wrap {
    position: relative; width: 100%; aspect-ratio: 16/9;
    background: var(--bg-light); overflow: hidden;
}
.nd-game-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nd-game-play-overlay {
    position: absolute; inset: 0;
    background: rgba(0,0,0,.35);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: opacity .2s;
}
.nd-game-card:hover .nd-game-play-overlay { opacity: 1; }
.nd-game-play-overlay i { font-size: 36px; color: #fff; }
.nd-game-no-img {
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #f0e8ff, #e0f0ff);
}
.nd-game-no-img i { font-size: 40px; color: var(--primary); }
.nd-game-body { padding: 10px 12px; display: flex; flex-direction: column; gap: 4px; }
.nd-game-title { font-size: 13px; font-weight: 700; color: var(--text-dark); }
.nd-game-desc { font-size: 11px; color: var(--text-muted); }

@media (max-width: 600px) {
    .nd-app-inner { flex-direction: column-reverse; align-items: center; text-align: center; }
    .nd-app-features { align-items: center; }
    .nd-store-btns { justify-content: center; }
    .nd-games-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}

/* ═══════════════════════════════════════════════════
   SCALE-UP 125%  (website only, not dashboard)
   ═══════════════════════════════════════════════════ */
body.new-design {
    zoom: 1.25;
}

/* ═══════════════════════════════════════════════════
   FLASH SALE SECTION
   ═══════════════════════════════════════════════════ */
.nd-flash-sale {
    position: relative;
    background: #f4f4f5;
    overflow: hidden;
    padding: 12px 0 16px;
}
.nd-flash-overlay {
    display: none;
}
.nd-flash-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap;
}
.nd-flash-left {
    flex: 1;
    min-width: 260px;
}
.nd-flash-right {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    flex-shrink: 0;
}
.nd-flash-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #e63946;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 14px;
    animation: flashPulse 1.8s ease-in-out infinite;
}
@keyframes flashPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(230,57,70,.6); }
    50% { box-shadow: 0 0 0 10px rgba(230,57,70,0); }
}
.nd-flash-title {
    font-size: 36px;
    font-weight: 900;
    color: #1a1a2e;
    margin-bottom: 10px;
    line-height: 1.2;
}
.nd-flash-desc {
    font-size: 15px;
    color: #555;
    margin-bottom: 24px;
    max-width: 480px;
    line-height: 1.6;
}
.nd-flash-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #e63946;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    padding: 13px 30px;
    border-radius: 50px;
    transition: background .2s, transform .2s;
    text-decoration: none;
}
.nd-flash-btn:hover { background: #c1121f; transform: translateY(-2px); color: #fff; }

/* Discount badge */
.nd-flash-discount-badge {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: #e63946;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 4px solid rgba(255,255,255,.3);
    box-shadow: 0 0 40px rgba(230,57,70,.5);
}
.nd-flash-discount-num {
    font-size: 34px;
    font-weight: 900;
    color: #fff;
    line-height: 1;
}
.nd-flash-discount-lbl {
    font-size: 13px;
    font-weight: 700;
    color: rgba(255,255,255,.9);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Countdown */
.nd-flash-countdown {
    display: flex;
    align-items: center;
    gap: 8px;
}
.nd-flash-unit {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #fff;
    border: 1.5px solid #ddd;
    border-radius: 12px;
    padding: 10px 14px;
    min-width: 62px;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.nd-flash-unit-num {
    font-size: 28px;
    font-weight: 900;
    color: #1a1a2e;
    line-height: 1;
}
.nd-flash-unit-lbl {
    font-size: 10px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-top: 3px;
}
.nd-flash-sep {
    font-size: 28px;
    font-weight: 900;
    color: #e63946;
    margin-bottom: 18px;
}

/* Expired / Upcoming states */
.nd-flash-ended-badge,
.nd-flash-soon-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: 1.5px solid #ddd;
    border-radius: 12px;
    padding: 14px 24px;
    color: #555;
    font-size: 16px;
    font-weight: 600;
}
.nd-flash-expired .nd-flash-badge { background: #6c757d; animation: none; }
.nd-flash-expired .nd-flash-title { color: #999; }

@media (max-width: 768px) {
    .nd-flash-inner { flex-direction: column; align-items: flex-start; }
    .nd-flash-right { align-items: flex-start; width: 100%; }
    .nd-flash-title { font-size: 26px; }
    .nd-flash-countdown { flex-wrap: wrap; }
    .nd-flash-unit { min-width: 54px; padding: 8px 10px; }
    .nd-flash-unit-num { font-size: 22px; }
}

/* Flash Sale header layout */
.nd-flash-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 8px;
    position: relative;
    z-index: 1;
}
.nd-flash-header-left {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.nd-flash-header-right {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}
.nd-flash-swiper {
    position: relative;
    z-index: 1;
    padding: 4px 4px 10px !important;
    overflow: visible !important;
}
.nd-flash-swiper .swiper-wrapper { align-items: stretch; }
.nd-flash-swiper .swiper-slide   { width: 160px !important; height: auto; }

@media (min-width: 480px)  { .nd-flash-swiper .swiper-slide { width: 185px !important; } }
@media (min-width: 768px)  { .nd-flash-swiper .swiper-slide { width: 210px !important; } }
@media (min-width: 1024px) { .nd-flash-swiper .swiper-slide { width: 240px !important; } }
@media (max-width: 600px) {
    .nd-flash-header-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    .nd-flash-header-right {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 10px;
    }
    .nd-flash-countdown-wrap {
        width: 100%;
        align-items: flex-start;
    }
    .nd-flash-countdown-label {
        font-size: 12px;
        display: block;
        width: 100%;
        margin-bottom: 2px;
    }
    .nd-flash-countdown {
        flex-wrap: nowrap;
        gap: 4px;
        width: 100%;
    }
    .nd-flash-unit {
        min-width: 0;
        flex: 1;
        padding: 6px 4px;
    }
    .nd-flash-unit-num { font-size: 18px; }
    .nd-flash-unit-lbl { font-size: 9px; }
    .nd-flash-sep { font-size: 16px; margin-bottom: 14px; }
    .nd-flash-discount-badge { width: 68px; height: 68px; }
    .nd-flash-discount-num { font-size: 20px; }
}

/* ═══════════════════════════════════════════════════
   OFFER BOOK CARD  — bigger & distinctive
   ═══════════════════════════════════════════════════ */
.nd-offer-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    transition: transform .25s, box-shadow .25s;
    text-decoration: none;
    color: inherit;
    height: 100%;
    border: 1px solid #e8e8e8;
    box-shadow: 0 4px 16px rgba(0,0,0,.08);
    border-top: 3px solid #e63946;
}
.nd-offer-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(230,57,70,.18);
}

/* Image shimmer */
.nd-offer-img-shimmer {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #f0f0f0 25%, #e4e4e4 50%, #f0f0f0 75%);
    background-size: 800px 100%;
    animation: ndShimmer 1.4s infinite linear;
    z-index: 1;
}

/* Image */
.nd-offer-img-wrap {
    position: relative;
    width: 100%;
    height: 110px;
    background: #f5f5f5;
    overflow: hidden;
    flex-shrink: 0;
}
.nd-offer-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform .35s;
    position: relative;
    z-index: 2;
}
.nd-offer-card:hover .nd-offer-img { transform: scale(1.06); }

/* Ribbon discount badge */
.nd-offer-ribbon {
    position: absolute;
    top: 0;
    right: 0;
    background: #e63946;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    width: 42px;
    height: 42px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.1;
    z-index: 2;
    clip-path: polygon(100% 0, 100% 100%, 50% 78%, 0 100%, 0 0);
}
.nd-offer-ribbon span {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .5px;
}

/* Fav button */
.nd-book-fav-btn {
    position: absolute;
    bottom: 10px;
    left: 10px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #e63946;
    font-size: 15px;
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
    transition: background .2s, transform .2s;
    z-index: 3;
}
.nd-book-fav-btn:hover { background: #fff; transform: scale(1.1); }

/* Body */
.nd-offer-body {
    padding: 7px 10px 5px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-height: 70px;
}
.nd-offer-title {
    font-size: 11px;
    font-weight: 700;
    color: var(--text-dark);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.35;
}
.nd-offer-author {
    font-size: 10px;
    color: var(--text-muted);
}
.nd-offer-price-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-top: 4px;
    flex-wrap: wrap;
}
.nd-offer-price-original {
    font-size: 10px;
    color: #bbb;
    text-decoration: line-through;
}
.nd-offer-price-final {
    font-size: 14px;
    font-weight: 900;
    color: #e63946;
    line-height: 1;
}
.nd-offer-price-final small {
    font-size: 10px;
    font-weight: 700;
}
.nd-offer-saving {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: #fff0f1;
    color: #e63946;
    font-size: 9px;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 20px;
    border: 1px solid rgba(230,57,70,.25);
    width: fit-content;
}

/* Per-book countdown */
.nd-offer-timer {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    background: #fff8f8;
    border: 1px solid rgba(230,57,70,.2);
    border-radius: 5px;
    padding: 4px 8px;
    margin: 2px 10px 0;
    overflow: hidden;
}
.nd-offer-timer i {
    font-size: 9px;
    color: #e63946;
    flex-shrink: 0;
}
.nd-offer-timer-lbl {
    color: #888;
    font-weight: 500;
    font-size: 9px;
    white-space: nowrap;
    flex-shrink: 0;
}
.nd-offer-timer-val {
    font-weight: 800;
    font-size: 10px;
    letter-spacing: .3px;
    color: #e63946;
    white-space: nowrap;
}

/* Footer */
.nd-offer-footer {
    padding: 4px 10px 10px;
}
.nd-offer-cart-btn {
    width: 100%;
    background: #e63946;
    color: #fff;
    border: none;
    border-radius: 7px;
    padding: 7px 0;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s, transform .15s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: inherit;
    letter-spacing: .3px;
}
.nd-offer-cart-btn:hover { background: #c1121f; transform: translateY(-1px); }
.nd-offer-cart-btn--out { background: #ddd; color: #999; cursor: not-allowed; transform: none; }

/* Section-level countdown */
.nd-flash-countdown-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}
.nd-flash-countdown-label {
    font-size: 13px;
    color: #555;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

@media (max-width: 600px) {
    .nd-offer-img-wrap { height: 130px; }
    .nd-offer-body { padding: 10px 10px 6px; min-height: 90px; gap: 4px; }
    .nd-offer-title { font-size: 12px; }
    .nd-offer-author { font-size: 11px; }
    .nd-offer-price-final { font-size: 15px; }
    .nd-offer-price-original { font-size: 12px; }
    .nd-offer-saving { font-size: 10px; padding: 2px 7px; }
    .nd-offer-footer { padding: 6px 10px 10px; }
    .nd-offer-cart-btn { font-size: 12px; padding: 9px 0; }
    .nd-offer-timer { padding: 5px 10px; font-size: 11px; margin: 2px 10px 0; }
    .nd-flash-countdown-wrap { align-items: flex-start; }
}

/* ═══════════════════════════════════════════════════
   BOOK DETAILS PAGE
   ═══════════════════════════════════════════════════ */
.nd-book-detail-section {
    padding: 40px 0 60px;
    background: var(--bg-light);
    min-height: 60vh;
}
.nd-book-detail-wrap {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 40px;
    align-items: start;
}
@media (max-width: 900px) {
    .nd-book-detail-wrap { grid-template-columns: 1fr; gap: 24px; }
}

/* Image column */
.nd-book-detail-img-col {}
.nd-book-detail-main-img {
    width: 100%;
    border-radius: var(--radius);
    box-shadow: var(--shadow-hover);
    display: block;
    object-fit: cover;
}
.nd-book-detail-photos {
    display: flex;
    gap: 10px;
    margin-top: 14px;
    flex-wrap: wrap;
}
.nd-book-detail-photos img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 8px;
    cursor: pointer;
    border: 2px solid var(--border);
    transition: border-color .2s;
}
.nd-book-detail-photos img:hover { border-color: var(--primary); }

/* Content column */
.nd-book-detail-content-col {
    background: #fff;
    border-radius: var(--radius);
    padding: 32px;
    box-shadow: var(--shadow);
    border: 1px solid var(--border);
}
.nd-book-detail-title {
    font-size: 24px;
    font-weight: 800;
    color: var(--text-dark);
    margin-bottom: 12px;
    line-height: 1.3;
}
.nd-book-detail-social {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}
.nd-book-detail-social a {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--bg-light);
    border: 1.5px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    font-size: 14px;
    transition: var(--transition);
    text-decoration: none;
}
.nd-book-detail-social a:hover { background: var(--primary); color: #fff; border-color: var(--primary); }

/* Meta info */
.nd-book-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border);
}
.nd-book-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--text-muted);
    background: var(--bg-light);
    padding: 5px 12px;
    border-radius: 20px;
    border: 1px solid var(--border);
}
.nd-book-meta-item strong { color: var(--text-dark); font-weight: 700; }

/* Description */
.nd-book-detail-desc {
    font-size: 14px;
    color: #555;
    line-height: 1.8;
    margin-bottom: 24px;
}

/* Price row */
.nd-book-detail-price-row {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 8px;
}
.nd-book-detail-price-final {
    font-size: 28px;
    font-weight: 900;
    color: var(--primary);
}
.nd-book-detail-price-original {
    font-size: 16px;
    color: var(--price-original);
    text-decoration: line-through;
}

/* Points */
.nd-book-detail-points {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #fff8e1;
    color: #f59e0b;
    font-size: 13px;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: 20px;
    border: 1px solid #fde68a;
    margin-bottom: 20px;
}

/* Actions */
.nd-book-detail-actions {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}
.nd-book-detail-cart-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: var(--radius);
    padding: 13px 28px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    transition: var(--transition);
    text-decoration: none;
}
.nd-book-detail-cart-btn:hover { background: var(--primary-dark); color: #fff; transform: translateY(-2px); }
.nd-book-detail-cart-btn.out-of-stock { background: #dc3545; cursor: not-allowed; transform: none; }
.nd-book-detail-fav-btn {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 2px solid var(--border);
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--text-muted);
    font-size: 18px;
    transition: var(--transition);
}
.nd-book-detail-fav-btn:hover,
.nd-book-detail-fav-btn.active { border-color: var(--primary); color: var(--primary); }

/* CD/Download widget */
.nd-book-detail-download {
    background: #fff;
    border-radius: var(--radius);
    padding: 24px;
    box-shadow: var(--shadow);
    border: 1px solid var(--border);
    border-top: 3px solid var(--secondary);
}
.nd-book-detail-download h4 {
    font-size: 15px;
    font-weight: 700;
    color: var(--secondary);
    margin-bottom: 14px;
}
.nd-book-detail-download-btn {
    display: block;
    width: 100%;
    padding: 11px;
    text-align: center;
    border: 2px solid var(--secondary);
    border-radius: var(--radius);
    color: var(--secondary);
    font-size: 13px;
    font-weight: 700;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
    transition: var(--transition);
    margin-bottom: 8px;
}
.nd-book-detail-download-btn:hover { background: var(--secondary); color: #fff; }

/* Tabs */
.nd-book-detail-tabs {
    margin-top: 40px;
    background: #fff;
    border-radius: var(--radius);
    padding: 28px;
    box-shadow: var(--shadow);
    border: 1px solid var(--border);
}
.nd-tab-nav {
    display: flex;
    gap: 4px;
    border-bottom: 2px solid var(--border);
    margin-bottom: 24px;
    flex-wrap: wrap;
}
.nd-tab-btn {
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 700;
    font-family: inherit;
    color: var(--text-muted);
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    cursor: pointer;
    transition: var(--transition);
}
.nd-tab-btn:hover { color: var(--primary); }
.nd-tab-btn.active { color: var(--primary); border-bottom-color: var(--primary); }

/* Overview table */
.nd-book-overview-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.nd-book-overview-table th,
.nd-book-overview-table td {
    padding: 11px 14px;
    border-bottom: 1px solid var(--border);
    text-align: start;
}
.nd-book-overview-table th {
    width: 40%;
    color: var(--text-muted);
    font-weight: 600;
    background: var(--bg-light);
}
.nd-book-overview-table td { color: var(--text-dark); font-weight: 500; }

/* Audio section */
.nd-audio-card {
    background: var(--bg-light);
    border-radius: var(--radius);
    padding: 16px;
    border: 1px solid var(--border);
    margin-bottom: 12px;
}
.nd-audio-card h5 {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 10px;
}
.nd-audio-card audio { width: 100%; }

/* Competition banner */
.nd-competition-banner {
    background: linear-gradient(135deg, var(--secondary) 0%, #2a4a6b 60%, var(--primary) 100%);
    border-radius: var(--radius);
    padding: 32px;
    margin: 32px 0;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}
.nd-competition-banner h2 {
    font-size: 20px;
    font-weight: 800;
    color: #fff;
    margin: 0;
}
.nd-competition-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    color: var(--primary);
    font-size: 14px;
    font-weight: 700;
    padding: 11px 24px;
    border-radius: var(--radius);
    text-decoration: none;
    transition: var(--transition);
    white-space: nowrap;
}
.nd-competition-btn:hover { background: var(--primary); color: #fff; }

/* Popup lightbox */
.nd-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.85);
    z-index: 9999;
    align-items: center;
    justify-content: center;
}
.nd-lightbox.open { display: flex; }
.nd-lightbox img { max-width: 90vw; max-height: 90vh; border-radius: 8px; }
.nd-lightbox-close {
    position: absolute;
    top: 20px;
    right: 20px;
    color: #fff;
    font-size: 28px;
    cursor: pointer;
    background: none;
    border: none;
    line-height: 1;
}
.nd-lightbox-prev,
.nd-lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    font-size: 32px;
    cursor: pointer;
    background: rgba(255,255,255,.1);
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s;
}
.nd-lightbox-prev:hover,
.nd-lightbox-next:hover { background: rgba(255,255,255,.25); }
.nd-lightbox-prev { left: 20px; }
.nd-lightbox-next { right: 20px; }

/* ── Translation Section ── */
.nd-translation-section {
    padding: 72px 0;
    background: linear-gradient(160deg, #f0f4ff 0%, #fff 60%);
    position: relative;
    overflow: hidden;
}
.nd-translation-section::before {
    content: '';
    position: absolute;
    top: -80px; left: -80px;
    width: 340px; height: 340px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(29,53,87,.06), transparent 70%);
    pointer-events: none;
}

.nd-translation-header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
    margin-bottom: 52px;
}
.nd-rtl .nd-translation-header { direction: rtl; }

.nd-translation-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(29,53,87,.08);
    color: var(--secondary);
    font-size: 12px;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: 20px;
    margin-bottom: 14px;
    letter-spacing: .4px;
}
.nd-translation-title {
    font-size: clamp(22px, 3vw, 32px);
    font-weight: 900;
    color: var(--secondary);
    margin: 0 0 16px;
    line-height: 1.3;
}
.nd-translation-desc {
    font-size: 14px;
    line-height: 1.9;
    color: #555;
    margin-bottom: 24px;
}
.nd-translation-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--secondary);
    color: #fff;
    padding: 11px 26px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: background .2s, transform .2s;
}
.nd-translation-cta:hover {
    background: var(--primary);
    color: #fff;
    transform: translateY(-2px);
}
.nd-translation-img-wrap {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(29,53,87,.15);
    aspect-ratio: 4/3;
}
.nd-translation-img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s;
}
.nd-translation-img-wrap:hover .nd-translation-img { transform: scale(1.04); }

/* Stages */
.nd-translation-stages {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 18px;
}
.nd-stage-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #fff;
    border-radius: 14px;
    padding: 20px 18px;
    box-shadow: 0 2px 14px rgba(0,0,0,.06);
    border: 1.5px solid #e8edf5;
    transition: transform .2s, box-shadow .2s;
}
.nd-stage-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 28px rgba(29,53,87,.12);
}
.nd-stage-num {
    width: 40px; height: 40px;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 16px; font-weight: 900;
    flex-shrink: 0;
}
.nd-stage-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--secondary);
    margin-bottom: 6px;
    line-height: 1.5;
}
.nd-stage-desc {
    font-size: 12px;
    color: #777;
    line-height: 1.7;
}

@media (max-width: 768px) {
    .nd-translation-header { grid-template-columns: 1fr; }
    .nd-translation-img-wrap { order: -1; }
}

/* ── Child Talent Section ─────────────────────────────────────────── */
.nd-child-talent-section {
    position: relative;
    padding: 80px 0;
    overflow: hidden;
    background: linear-gradient(135deg, #fff8e1 0%, #fff3e0 40%, #fce4ec 100%);
}
.nd-child-talent-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}
.nd-ct-circle {
    position: absolute;
    border-radius: 50%;
    opacity: .12;
}
.nd-ct-circle-1 {
    width: 400px; height: 400px;
    background: #ff9800;
    top: -120px; left: -100px;
}
.nd-ct-circle-2 {
    width: 300px; height: 300px;
    background: #e91e63;
    bottom: -80px; right: -60px;
}
.nd-ct-circle-3 {
    width: 200px; height: 200px;
    background: #9c27b0;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
}
.nd-child-talent-inner { position: relative; z-index: 1; }

.nd-child-talent-header {
    text-align: center;
    margin-bottom: 48px;
}
.nd-ct-badge {
    display: inline-block;
    background: linear-gradient(135deg, #ff9800, #e91e63);
    color: #fff;
    padding: 6px 20px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 16px;
    letter-spacing: .5px;
}
.nd-ct-title {
    font-size: clamp(26px, 4vw, 40px);
    font-weight: 900;
    color: var(--secondary);
    margin-bottom: 12px;
    line-height: 1.3;
}
.nd-ct-subtitle {
    font-size: 15px;
    color: #666;
    max-width: 560px;
    margin: 0 auto;
    line-height: 1.8;
}

.nd-ct-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    max-width: 780px;
    margin: 0 auto;
}
.nd-ct-card {
    border-radius: 24px;
    padding: 48px 36px;
    text-align: center;
    box-shadow: 0 12px 40px rgba(0,0,0,.1);
    transition: transform .3s, box-shadow .3s;
    position: relative;
    overflow: hidden;
}
.nd-ct-card::before {
    content: '';
    position: absolute;
    inset: 0;
    opacity: .07;
    background: repeating-linear-gradient(45deg, #fff, #fff 4px, transparent 4px, transparent 20px);
}
.nd-ct-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 60px rgba(0,0,0,.18);
}
.nd-ct-card-draw {
    background: linear-gradient(135deg, #ff9800 0%, #ff5722 100%);
    color: #fff;
}
.nd-ct-card-story {
    background: linear-gradient(135deg, #9c27b0 0%, #e91e63 100%);
    color: #fff;
}
.nd-ct-card-icon {
    font-size: 56px;
    margin-bottom: 16px;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,.2));
}
.nd-ct-card-title {
    font-size: 22px;
    font-weight: 900;
    margin-bottom: 12px;
}
.nd-ct-card-desc {
    font-size: 14px;
    line-height: 1.7;
    opacity: .9;
    margin-bottom: 28px;
}
.nd-ct-card-btn {
    display: inline-block;
    background: rgba(255,255,255,.25);
    color: #fff;
    border: 2px solid rgba(255,255,255,.6);
    padding: 12px 32px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: background .2s, border-color .2s;
    backdrop-filter: blur(4px);
}
.nd-ct-card-btn:hover {
    background: rgba(255,255,255,.4);
    border-color: #fff;
    color: #fff;
}
@media (max-width: 600px) {
    .nd-ct-cards { grid-template-columns: 1fr; gap: 20px; }
    .nd-ct-card  { padding: 36px 24px; }
}

/* ── Child Talent Form Page ───────────────────────────────────────── */
.nd-talent-form-section {
    min-height: 100vh;
    padding: 60px 0 80px;
    background: linear-gradient(135deg, #fff8e1 0%, #fce4ec 100%);
}
.nd-talent-form-card {
    background: #fff;
    border-radius: 24px;
    padding: 48px 40px;
    box-shadow: 0 12px 60px rgba(0,0,0,.1);
    max-width: 680px;
    margin: 0 auto;
}
.nd-talent-form-icon {
    font-size: 56px;
    text-align: center;
    margin-bottom: 8px;
}
.nd-talent-form-title {
    font-size: 26px;
    font-weight: 900;
    color: var(--secondary);
    text-align: center;
    margin-bottom: 6px;
}
.nd-talent-form-sub {
    text-align: center;
    color: #888;
    font-size: 14px;
    margin-bottom: 36px;
}
.nd-talent-field {
    margin-bottom: 20px;
}
.nd-talent-field label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--secondary);
    margin-bottom: 6px;
}
.nd-talent-field input,
.nd-talent-field select,
.nd-talent-field textarea {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e8ecf0;
    border-radius: 12px;
    font-size: 14px;
    font-family: inherit;
    color: var(--text-dark);
    transition: border-color .2s;
    background: #fafbfc;
    box-sizing: border-box;
}
.nd-talent-field input:focus,
.nd-talent-field select:focus,
.nd-talent-field textarea:focus {
    outline: none;
    border-color: #ff9800;
    background: #fff;
}
.nd-talent-field input[type="file"] {
    padding: 10px 12px;
    cursor: pointer;
}
.nd-talent-submit-btn {
    width: 100%;
    padding: 16px;
    background: linear-gradient(135deg, #ff9800, #e91e63);
    color: #fff;
    border: none;
    border-radius: 14px;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    transition: opacity .2s, transform .2s;
    margin-top: 8px;
}
.nd-talent-submit-btn:hover {
    opacity: .92;
    transform: translateY(-2px);
}
.nd-talent-success-box {
    text-align: center;
    padding: 48px 24px;
}
.nd-talent-success-icon { font-size: 72px; margin-bottom: 16px; }
.nd-talent-success-title { font-size: 26px; font-weight: 900; color: var(--secondary); margin-bottom: 12px; }
.nd-talent-success-msg   { font-size: 15px; color: #666; line-height: 1.8; max-width: 440px; margin: 0 auto 28px; }
