/**
 * KURS SCRIPTI v1 - Custom CSS
 * Education CMS Theme
 * Navy Blue (#315B46) + Cyan (#5E946B)
 */

/* =====================================================
   CSS VARIABLES
   ===================================================== */
:root {
    /* Primary Colors - Navy Blue Theme */
    --primary-color: #315B46;
    --primary-dark: #244333;
    --primary-light: #47765A;
    
    /* Accent Colors - Cyan/Blue */
    --accent-color: #5E946B;
    --accent-dark: #447A53;
    --accent-light: #8DBB91;
    
    /* Neutral Colors */
    --text-dark: #1a1a1a;
    --text-light: #6c757d;
    --text-muted: #9ca3af;
    --bg-light: #f5f3e9;
    --bg-white: #fffdf7;
    --border-color: #e4e6d9;
    
    /* Semantic Colors */
    --success-color: #10b981;
    --warning-color: #f59e0b;
    --danger-color: #ef4444;
    --info-color: #3b82f6;
    
    /* Shadows */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    
    /* Transitions */
    --transition: all 0.3s ease;
    --transition-fast: all 0.15s ease;
    
    /* Border Radius */
    --radius-sm: 0.375rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;
    --radius-2xl: 1.5rem;
    --radius-full: 9999px;
}

/* =====================================================
   BASE STYLES
   ===================================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: var(--text-dark);
    background: var(--bg-white);
    overflow-x: hidden;
    line-height: 1.6;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
}

/* =====================================================
   PAGE LOADER
   ===================================================== */
.page-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.page-loader.hidden {
    opacity: 0;
    visibility: hidden;
}

.loader-content {
    text-align: center;
}

.spinner-modern {
    width: 50px;
    height: 50px;
    border: 4px solid rgba(255,255,255,0.2);
    border-top-color: var(--accent-color);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto 15px;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

.loader-text {
    color: white;
    font-size: 0.875rem;
    opacity: 0.8;
}

/* =====================================================
   NAVIGATION
   ===================================================== */
.navbar {
    background: var(--primary-color) !important;
    padding: 0.75rem 0;
    box-shadow: var(--shadow-lg);
    transition: var(--transition);
}

.navbar.scrolled {
    background: rgba(27, 42, 65, 0.98) !important;
    backdrop-filter: blur(10px);
}

/* Ana sayfada kaydırma sonrası menü açık mavi ve yarı şeffaf olsun */
.navbar.home-transparent-nav.scrolled {
    background: rgba(0, 184, 217, 0.92) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.navbar-brand {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
}

.brand-icon {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, var(--accent-color), var(--accent-light));
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.25rem;
}

.brand-text {
    color: white;
    font-size: 1.25rem;
    letter-spacing: -0.025em;
}

.navbar-logo {
    height: 40px;
    max-width: 180px;
    object-fit: contain;
}

.nav-link {
    font-weight: 500;
    font-size: 0.938rem;
    padding: 0.5rem 1rem !important;
    color: rgba(255,255,255,0.85) !important;
    transition: var(--transition);
    position: relative;
}

.nav-link:hover,
.nav-link.active {
    color: var(--accent-color) !important;
}

.nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: 0;
    left: 50%;
    background: var(--accent-color);
    transition: var(--transition);
    transform: translateX(-50%);
}

.nav-link:hover::after,
.nav-link.active::after {
    width: 80%;
}

.dropdown-menu-dark {
    background: var(--primary-dark);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--radius-lg);
    padding: 0.5rem;
}

.dropdown-item {
    border-radius: var(--radius-md);
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
}

.dropdown-item:hover {
    background: rgba(0, 184, 217, 0.1);
    color: var(--accent-color);
}

/* =====================================================
   BUTTONS
   ===================================================== */
.btn {
    font-weight: 600;
    padding: 0.625rem 1.25rem;
    border-radius: var(--radius-full);
    transition: var(--transition);
    border: none;
}

.btn-accent {
    background: linear-gradient(135deg, var(--accent-color), var(--accent-light));
    color: white;
    box-shadow: 0 4px 15px rgba(66, 119, 79, 0.22);
}

.btn-accent:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(66, 119, 79, 0.30);
    color: white;
}

.btn-primary {
    background: var(--primary-color);
    color: white;
}

.btn-primary:hover {
    background: var(--primary-dark);
    transform: translateY(-2px);
}

.btn-outline-accent {
    background: transparent;
    border: 2px solid var(--accent-color);
    color: var(--accent-color);
}

.btn-outline-accent:hover {
    background: var(--accent-color);
    color: white;
    transform: translateY(-2px);
}

.btn-outline-light {
    background: transparent;
    border: 2px solid rgba(255,255,255,0.5);
    color: white;
}

.btn-outline-light:hover {
    background: white;
    color: var(--primary-color);
    border-color: white;
}

.btn-lg {
    padding: 0.875rem 2rem;
    font-size: 1rem;
}

/* =====================================================
   HERO SECTION
   ===================================================== */
.hero-section {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
    color: white;
    padding: 160px 0 100px;
    position: relative;
    overflow: hidden;
}

.hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: radial-gradient(circle at top right, rgba(0, 184, 217, 0.15), transparent 60%);
}

.hero-section::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 200px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%23ffffff' fill-opacity='0.05' d='M0,128L48,138.7C96,149,192,171,288,165.3C384,160,480,128,576,133.3C672,139,768,181,864,181.3C960,181,1056,139,1152,128C1248,117,1344,139,1392,149.3L1440,160L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3C/svg%3E") no-repeat bottom;
    background-size: cover;
}

.hero-content {
    position: relative;
    z-index: 2;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(0, 184, 217, 0.15);
    color: var(--accent-color);
    padding: 0.5rem 1rem;
    border-radius: var(--radius-full);
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 1.5rem;
    border: 1px solid rgba(66, 119, 79, 0.22);
}

.hero-title {
    font-size: 3.5rem;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 1.5rem;
    letter-spacing: -0.025em;
}

.hero-title .text-accent {
    color: var(--accent-color);
}

.hero-subtitle {
    font-size: 1.25rem;
    color: rgba(255,255,255,0.8);
    margin-bottom: 2rem;
    max-width: 500px;
}

.hero-buttons {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.hero-stats {
    display: flex;
    gap: 3rem;
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(255,255,255,0.1);
}

.hero-stat-item h3 {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--accent-color);
    margin-bottom: 0.25rem;
}

.hero-stat-item p {
    font-size: 0.938rem;
    color: rgba(255,255,255,0.7);
    margin: 0;
}

.hero-image {
    position: relative;
    z-index: 2;
}

.hero-graphic {
    position: relative;
    width: 100%;
    height: 400px;
}

.floating-card {
    position: absolute;
    background: white;
    border-radius: var(--radius-xl);
    padding: 1.25rem;
    box-shadow: var(--shadow-xl);
    animation: float 6s ease-in-out infinite;
}

.floating-card.card-1 {
    top: 10%;
    right: 10%;
    animation-delay: 0s;
}

.floating-card.card-2 {
    bottom: 20%;
    left: 5%;
    animation-delay: 2s;
}

.floating-card.card-3 {
    top: 50%;
    right: 5%;
    animation-delay: 4s;
}

@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-20px); }
}

/* =====================================================
   SECTION STYLES
   ===================================================== */
section {
    padding: 80px 0;
}

.section-header {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 3rem;
}

.section-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(0, 184, 217, 0.1);
    color: var(--accent-color);
    padding: 0.375rem 1rem;
    border-radius: var(--radius-full);
    font-size: 0.813rem;
    font-weight: 600;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.section-title {
    font-size: 2.5rem;
    font-weight: 800;
    margin-bottom: 1rem;
    color: var(--primary-color);
    letter-spacing: -0.025em;
}

.section-subtitle {
    color: var(--text-light);
    font-size: 1.125rem;
    line-height: 1.7;
}

/* =====================================================
   COURSE CARDS
   ===================================================== */
.course-card {
    background: white;
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: var(--transition);
    height: 100%;
    border: 1px solid var(--border-color);
}

.course-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-xl);
    border-color: var(--accent-color);
}

.course-card-image {
    position: relative;
    height: 200px;
    overflow: hidden;
}

.course-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.course-card:hover .course-card-image img {
    transform: scale(1.05);
}

.course-card-badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    background: var(--accent-color);
    color: white;
    padding: 0.375rem 0.75rem;
    border-radius: var(--radius-full);
    font-size: 0.75rem;
    font-weight: 600;
}

.course-card-badge.featured {
    background: linear-gradient(135deg, #f59e0b, #f97316);
}

.course-card-body {
    padding: 1.5rem;
}

.course-card-category {
    display: inline-block;
    color: var(--accent-color);
    font-size: 0.813rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.course-card-title {
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
    color: var(--primary-color);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.course-card-title a:hover {
    color: var(--accent-color);
}

.course-card-desc {
    color: var(--text-light);
    font-size: 0.875rem;
    margin-bottom: 1rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.course-card-meta {
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem;
    font-size: 0.813rem;
    color: var(--text-light);
}

.course-card-meta span {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.course-card-meta i {
    color: var(--accent-color);
}

.course-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 1rem;
    border-top: 1px solid var(--border-color);
}

.course-card-price {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--primary-color);
}

.course-card-price .old-price {
    font-size: 0.875rem;
    color: var(--text-muted);
    text-decoration: line-through;
    font-weight: 500;
    margin-right: 0.5rem;
}

.course-card-trainer {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.course-card-trainer img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
}

.course-card-trainer span {
    font-size: 0.813rem;
    color: var(--text-light);
}

/* =====================================================
   TRAINER CARDS
   ===================================================== */
.trainer-card {
    background: white;
    border-radius: var(--radius-xl);
    padding: 2rem;
    text-align: center;
    box-shadow: var(--shadow-md);
    transition: var(--transition);
    border: 1px solid var(--border-color);
    height: 100%;
}

.trainer-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-xl);
    border-color: var(--accent-color);
}

.trainer-card-image {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto 1.5rem;
    border: 4px solid var(--accent-color);
    padding: 4px;
    background: white;
}

.trainer-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.trainer-card-name {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 0.25rem;
}

.trainer-card-title {
    color: var(--accent-color);
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 1rem;
}

.trainer-card-bio {
    color: var(--text-light);
    font-size: 0.875rem;
    margin-bottom: 1rem;
    line-height: 1.6;
}

.trainer-card-stats {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-bottom: 1.5rem;
    padding: 1rem 0;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
}

.trainer-card-stats .stat {
    text-align: center;
}

.trainer-card-stats .stat-value {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--primary-color);
}

.trainer-card-stats .stat-label {
    font-size: 0.75rem;
    color: var(--text-muted);
}

.trainer-card-social {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
}

.trainer-card-social a {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--bg-light);
    color: var(--text-light);
    transition: var(--transition);
}

.trainer-card-social a:hover {
    background: var(--accent-color);
    color: white;
}

/* =====================================================
   FEATURE CARDS
   ===================================================== */
.feature-card {
    text-align: center;
    padding: 2rem;
    background: white;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-md);
    transition: var(--transition);
    height: 100%;
    border: 1px solid var(--border-color);
}

.feature-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-xl);
}

.feature-card-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, var(--accent-color), var(--accent-light));
    border-radius: var(--radius-xl);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
    font-size: 2rem;
    color: white;
    box-shadow: 0 10px 25px rgba(0, 184, 217, 0.25);
}

.feature-card h4 {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
    color: var(--primary-color);
}

.feature-card p {
    color: var(--text-light);
    font-size: 0.938rem;
    margin: 0;
}

/* =====================================================
   STATS SECTION
   ===================================================== */
.stats-section {
    background: var(--primary-color);
    padding: 60px 0;
    position: relative;
}

.stat-item {
    text-align: center;
    padding: 1.5rem;
}

.stat-item .stat-icon {
    width: 60px;
    height: 60px;
    background: rgba(0, 184, 217, 0.15);
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    font-size: 1.5rem;
    color: var(--accent-color);
}

.stat-item .stat-value {
    font-size: 2.5rem;
    font-weight: 800;
    color: white;
    margin-bottom: 0.25rem;
}

.stat-item .stat-label {
    color: rgba(255,255,255,0.7);
    font-size: 0.938rem;
}

/* =====================================================
   CTA SECTION
   ===================================================== */
.cta-section {
    background: var(--primary-color);
    padding: 80px 0;
    color: white;
    position: relative;
    overflow: hidden;
}

.cta-section::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(255,255,255,0.1), transparent 60%);
    border-radius: 50%;
}

.cta-content {
    position: relative;
    z-index: 2;
}

.cta-title {
    font-size: 2.5rem;
    font-weight: 800;
    margin-bottom: 1rem;
}

.cta-subtitle {
    font-size: 1.125rem;
    opacity: 0.9;
    margin-bottom: 2rem;
}

/* =====================================================
   PAGE HEADER (Internal Pages)
   ===================================================== */
.page-header {
    background: linear-gradient(135deg, var(--primary-color), var(--primary-dark));
    padding: 140px 0 60px;
    color: white;
    position: relative;
}

.page-header::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 40%;
    height: 100%;
    background: radial-gradient(circle at right, rgba(0, 184, 217, 0.1), transparent);
}

.page-header .container {
    position: relative;
    z-index: 2;
}

.page-header-title {
    font-size: 2.5rem;
    font-weight: 800;
    margin-bottom: 0.5rem;
}

.page-header-subtitle {
    color: rgba(255,255,255,0.8);
    font-size: 1.125rem;
}

.breadcrumb {
    background: transparent;
    margin-bottom: 0;
    padding: 0;
}

.breadcrumb-item {
    font-size: 0.875rem;
}

.breadcrumb-item a {
    color: rgba(255,255,255,0.7);
}

.breadcrumb-item a:hover {
    color: var(--accent-color);
}

.breadcrumb-item.active {
    color: var(--accent-color);
}

.breadcrumb-item + .breadcrumb-item::before {
    color: rgba(255,255,255,0.5);
}

/* =====================================================
   FORMS
   ===================================================== */
.form-control,
.form-select {
    border: 2px solid var(--border-color);
    border-radius: var(--radius-lg);
    padding: 0.75rem 1rem;
    font-size: 0.938rem;
    transition: var(--transition);
    background: white;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--accent-color);
    box-shadow: 0 0 0 4px rgba(0, 184, 217, 0.1);
}

.form-label {
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--text-dark);
}

.form-floating > .form-control,
.form-floating > .form-select {
    height: calc(3.5rem + 4px);
    padding: 1rem;
}

.form-floating > label {
    padding: 1rem;
}

textarea.form-control {
    min-height: 150px;
    resize: vertical;
}

/* =====================================================
   APPLICATION FORM
   ===================================================== */
.application-form {
    background: white;
    border-radius: var(--radius-2xl);
    padding: 2.5rem;
    box-shadow: var(--shadow-xl);
}

.application-form-header {
    text-align: center;
    margin-bottom: 2rem;
}

.application-form-header h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 0.5rem;
}

.application-form-header p {
    color: var(--text-light);
}

/* =====================================================
   CONTACT CARDS
   ===================================================== */
.contact-card {
    background: white;
    border-radius: var(--radius-xl);
    padding: 2rem;
    text-align: center;
    box-shadow: var(--shadow-md);
    transition: var(--transition);
    border: 2px solid transparent;
    height: 100%;
}

.contact-card:hover {
    transform: translateY(-5px);
    border-color: var(--accent-color);
    box-shadow: var(--shadow-xl);
}

.contact-card-icon {
    width: 70px;
    height: 70px;
    border-radius: var(--radius-lg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    color: white;
    margin-bottom: 1.25rem;
}

.contact-card h5 {
    font-weight: 700;
    margin-bottom: 0.75rem;
    color: var(--primary-color);
}

.contact-card p {
    color: var(--text-light);
    margin-bottom: 0;
    font-size: 0.938rem;
}

.contact-card a {
    color: var(--accent-color);
    font-weight: 600;
}

.contact-card a:hover {
    text-decoration: underline;
}

/* =====================================================
   BLOG CARDS
   ===================================================== */
.blog-card {
    background: white;
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: var(--transition);
    height: 100%;
    border: 1px solid var(--border-color);
}

.blog-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-xl);
}

.blog-card-image {
    height: 200px;
    overflow: hidden;
}

.blog-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.blog-card:hover .blog-card-image img {
    transform: scale(1.05);
}

.blog-card-body {
    padding: 1.5rem;
}

.blog-card-category {
    display: inline-block;
    background: rgba(0, 184, 217, 0.1);
    color: var(--accent-color);
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-full);
    font-size: 0.75rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
}

.blog-card-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 0.75rem;
    line-height: 1.4;
}

.blog-card-title a:hover {
    color: var(--accent-color);
}

.blog-card-excerpt {
    color: var(--text-light);
    font-size: 0.875rem;
    margin-bottom: 1rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.blog-card-meta {
    display: flex;
    gap: 1rem;
    font-size: 0.813rem;
    color: var(--text-muted);
}

/* =====================================================
   FOOTER
   ===================================================== */
.modern-footer {
    background: var(--primary-dark);
    color: white;
}

.footer-newsletter {
    background: linear-gradient(135deg, var(--primary-color), var(--primary-dark));
    padding: 60px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.newsletter-form {
    max-width: 500px;
    margin-left: auto;
}

.newsletter-form .input-group {
    box-shadow: var(--shadow-xl);
    border-radius: var(--radius-full);
    overflow: hidden;
}

.newsletter-form .form-control {
    border: none;
    padding: 1rem 1.5rem;
    border-radius: var(--radius-full) 0 0 var(--radius-full);
    background: white;
}

.newsletter-form .btn {
    border-radius: 0 var(--radius-full) var(--radius-full) 0;
    padding: 1rem 1.5rem;
}

.footer-main {
    padding: 80px 0 40px;
}

.footer-widget-title {
    color: white;
    font-weight: 700;
    margin-bottom: 1.5rem;
    position: relative;
    padding-bottom: 0.75rem;
}

.footer-widget-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40px;
    height: 3px;
    background: var(--accent-color);
    border-radius: var(--radius-full);
}

.footer-text {
    color: rgba(255,255,255,0.7);
    line-height: 1.8;
}

.footer-stat h4 {
    color: var(--accent-color);
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 0.75rem;
}

.footer-links a {
    color: rgba(255,255,255,0.7);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: var(--transition);
}

.footer-links a:hover {
    color: var(--accent-color);
    padding-left: 5px;
}

.footer-links i {
    font-size: 0.75rem;
    color: var(--accent-color);
}

.footer-contact {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-contact li {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.25rem;
    color: rgba(255,255,255,0.7);
}

.footer-contact li i {
    color: var(--accent-color);
    font-size: 1.125rem;
    margin-top: 0.25rem;
}

.footer-contact strong {
    display: block;
    color: white;
    margin-bottom: 0.25rem;
}

.footer-contact a {
    color: rgba(255,255,255,0.7);
}

.footer-contact a:hover {
    color: var(--accent-color);
}

.social-icons {
    display: flex;
    gap: 0.75rem;
}

.social-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,0.1);
    color: white;
    transition: var(--transition);
}

.social-icon:hover {
    transform: translateY(-3px);
    color: white;
}

.social-icon.facebook:hover { background: #1877f2; }
.social-icon.twitter:hover { background: #1da1f2; }
.social-icon.instagram:hover { background: linear-gradient(135deg, #e4405f, #d6249f); }
.social-icon.linkedin:hover { background: #0077b5; }
.social-icon.youtube:hover { background: #ff0000; }

.footer-bottom {
    background: rgba(0,0,0,0.2);
    padding: 1.5rem 0;
}

.footer-bottom p {
    color: rgba(255,255,255,0.6);
    margin: 0;
}

.footer-bottom-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 1.5rem;
    justify-content: flex-end;
}

.footer-bottom-links a {
    color: rgba(255,255,255,0.6);
    font-size: 0.875rem;
}

.footer-bottom-links a:hover {
    color: var(--accent-color);
}

/* Back to Top */
.back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background: var(--accent-color);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-lg);
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
    z-index: 99;
}

.back-to-top.visible {
    opacity: 1;
    visibility: visible;
}

.back-to-top:hover {
    background: var(--accent-dark);
    transform: translateY(-5px);
    color: white;
}

/* WhatsApp Float */
.whatsapp-float {
    position: fixed;
    bottom: 100px;
    right: 30px;
    width: 60px;
    height: 60px;
    background: #25d366;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.4);
    z-index: 99;
    transition: var(--transition);
}

.whatsapp-float:hover {
    transform: scale(1.1);
    color: white;
}

/* =====================================================
   UTILITY CLASSES
   ===================================================== */
.text-accent { color: var(--accent-color) !important; }
.bg-accent { background: var(--accent-color) !important; }
.bg-primary-custom { background: var(--primary-color) !important; }

.text-gradient {
    background: linear-gradient(135deg, var(--accent-color), var(--accent-light));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* =====================================================
   ALERTS
   ===================================================== */
.alert {
    border: none;
    border-radius: var(--radius-lg);
    padding: 1rem 1.25rem;
}

.alert-success {
    background: rgba(16, 185, 129, 0.1);
    color: var(--success-color);
}

.alert-danger {
    background: rgba(239, 68, 68, 0.1);
    color: var(--danger-color);
}

.alert-warning {
    background: rgba(245, 158, 11, 0.1);
    color: var(--warning-color);
}

.alert-info {
    background: rgba(0, 184, 217, 0.1);
    color: var(--accent-color);
}

/* =====================================================
   LEVEL BADGES
   ===================================================== */
.badge-level {
    padding: 0.375rem 0.75rem;
    border-radius: var(--radius-full);
    font-size: 0.75rem;
    font-weight: 600;
}

.badge-level.beginner {
    background: rgba(16, 185, 129, 0.1);
    color: var(--success-color);
}

.badge-level.intermediate {
    background: rgba(245, 158, 11, 0.1);
    color: var(--warning-color);
}

.badge-level.advanced {
    background: rgba(239, 68, 68, 0.1);
    color: var(--danger-color);
}

/* =====================================================
   RESPONSIVE STYLES
   ===================================================== */
@media (max-width: 991.98px) {
    .hero-section {
        padding: 120px 0 60px;
    }
    
    .hero-title {
        font-size: 2.5rem;
    }
    
    .hero-stats {
        gap: 2rem;
    }
    
    .hero-stat-item h3 {
        font-size: 2rem;
    }
    
    .section-title {
        font-size: 2rem;
    }
    
    .navbar-collapse {
        background: var(--primary-dark);
        padding: 1rem;
        border-radius: var(--radius-lg);
        margin-top: 1rem;
    }
    
    .nav-link {
        padding: 0.75rem 1rem !important;
    }
}

@media (max-width: 767.98px) {
    .hero-title {
        font-size: 2rem;
    }
    
    .hero-subtitle {
        font-size: 1rem;
    }
    
    .hero-buttons {
        flex-direction: column;
    }
    
    .hero-buttons .btn {
        width: 100%;
    }
    
    .hero-stats {
        flex-direction: column;
        gap: 1.5rem;
        align-items: flex-start;
    }
    
    section {
        padding: 60px 0;
    }
    
    .section-title {
        font-size: 1.75rem;
    }
    
    .footer-newsletter {
        padding: 40px 0;
    }
    
    .footer-bottom-links {
        justify-content: center;
        flex-wrap: wrap;
    }
}

@media (max-width: 575.98px) {
    .hero-title {
        font-size: 1.75rem;
    }
    
    .page-header-title {
        font-size: 1.75rem;
    }
    
    .cta-title {
        font-size: 1.75rem;
    }
    
    .application-form {
        padding: 1.5rem;
    }
}

/* =====================================================
   ANIMATIONS
   ===================================================== */
[data-aos] {
    pointer-events: auto !important;
}

@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

.pulse {
    animation: pulse 2s ease-in-out infinite;
}

/* Modern centered authentication pages */
.auth-shell{min-height:calc(100vh - 100px);padding:145px 18px 70px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 15% 15%,rgba(0,184,217,.12),transparent 36%),radial-gradient(ellipse at 90% 85%,rgba(27,42,65,.09),transparent 38%),#f5f8fc}
.auth-card{width:100%;max-width:480px;padding:38px 40px 30px;background:rgba(255,255,255,.97);border:1px solid rgba(226,232,240,.9);border-radius:22px;box-shadow:0 24px 70px rgba(20,39,67,.12)}
.auth-card-register{max-width:570px;padding-top:32px}
.auth-mark{width:58px;height:58px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;border-radius:17px;color:#fff;font-size:24px;background:linear-gradient(135deg,#315B46,#00aeca);box-shadow:0 9px 22px rgba(0,184,217,.22)}
.auth-heading{text-align:center;margin-bottom:26px}.auth-eyebrow{font-size:11px;font-weight:800;letter-spacing:1.7px;color:#009dbb}.auth-heading h1{font-size:28px;font-weight:800;letter-spacing:-.7px;color:#17263b;margin:7px 0 8px}.auth-heading p{font-size:14px;color:#718096;margin:0}
.auth-form{display:flex;flex-direction:column;gap:9px}.auth-form>label,.auth-password-label label{font-size:13px;font-weight:700;color:#344256;margin:5px 0 0}.auth-label-hint{font-size:11px;font-weight:500;color:#8b97a8;margin-left:5px}.auth-password-label{display:flex;justify-content:space-between;align-items:center;margin-top:5px}.auth-password-label a{font-size:12px;font-weight:700;color:#009fbd}.auth-password-label a:hover,.auth-switch a:hover{color:#087f98;text-decoration:underline}
.auth-input-wrap{position:relative}.auth-input-wrap>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);z-index:2;color:#8b98a9;font-size:14px}.auth-input-wrap .form-control{height:49px;padding:11px 14px 11px 43px;border:1px solid #dce4ee;border-radius:11px;background:#fbfcfe;color:#17263b;font-size:14px;box-shadow:none;transition:border-color .2s,box-shadow .2s}.auth-input-wrap .form-control:focus{border-color:#00aeca;background:#fff;box-shadow:0 0 0 3px rgba(0,184,217,.12)}.auth-textarea-wrap>i{top:18px;transform:none}.auth-input-wrap textarea.form-control{height:76px;resize:vertical}.auth-submit{width:100%;height:50px;margin-top:13px;display:flex;align-items:center;justify-content:center;border:0;border-radius:11px;background:linear-gradient(110deg,#315B46,#087e9a);color:#fff;font-weight:700;box-shadow:0 8px 18px rgba(27,42,65,.16);transition:transform .2s,box-shadow .2s}.auth-submit:hover,.auth-submit:focus{color:#fff;transform:translateY(-1px);box-shadow:0 12px 24px rgba(27,42,65,.22)}.auth-switch{text-align:center;padding-top:22px;margin-top:22px;border-top:1px solid #edf0f5;font-size:13px;color:#66758a}.auth-switch a{color:#009fbd;font-weight:800;margin-left:3px}.auth-secure{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:20px;font-size:11px;color:#96a1b0}.auth-secure i{color:#1ba784}
@media(max-width:575.98px){.auth-shell{padding:115px 13px 45px;min-height:auto}.auth-card,.auth-card-register{padding:28px 21px 24px;border-radius:17px}.auth-heading h1{font-size:25px}.auth-mark{width:52px;height:52px}}

/* Üst bar: tüm ekranlarda kenarlardan boşluklu ve oval */
.navbar.navbar.fixed-top {
    top: 12px;
    left: 18px;
    right: 18px;
    width: auto;
    border-radius: 24px;
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
    box-shadow: 0 8px 24px rgba(10, 24, 45, 0.22);
    overflow: visible;
}

@media (min-width: 992px) {
    .navbar.navbar.fixed-top > .container {
        max-width: 1440px;
    }
}

@media (max-width: 991.98px) {
    .navbar.navbar.fixed-top {
        top: 10px;
        left: 12px;
        right: 12px;
        border-radius: 22px;
        padding: 0.65rem 0;
    }
}

/* Mobil menü: ana sayfanın açık/koyu bölümlerinden bağımsız yüksek kontrast */
@media (max-width: 991.98px) {
    .navbar .navbar-collapse {
        background: #17243a !important;
        border: 1px solid rgba(255, 255, 255, 0.14);
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.24);
    }

    .navbar .navbar-collapse .nav-link,
    .navbar .navbar-collapse .nav-link:hover,
    .navbar .navbar-collapse .nav-link:focus,
    .navbar .navbar-collapse .nav-link.active {
        color: #ffffff !important;
    }

    .navbar .navbar-collapse .nav-link:hover,
    .navbar .navbar-collapse .nav-link:focus,
    .navbar .navbar-collapse .nav-link.active {
        background: rgba(255, 255, 255, 0.09);
        border-radius: 6px;
    }

    .navbar .navbar-collapse .dropdown-menu,
    .navbar .navbar-collapse .dropdown-menu-dark {
        background: #ffffff !important;
        border: 1px solid #dce3ec;
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.14);
    }

    .navbar .navbar-collapse .dropdown-item,
    .navbar .navbar-collapse .dropdown-item:focus {
        color: #17243a !important;
    }

    .navbar .navbar-collapse .dropdown-item:hover,
    .navbar .navbar-collapse .dropdown-item:active {
        color: #006f87 !important;
        background: #e8f8fb !important;
    }

    .navbar .navbar-collapse .dropdown-divider {
        border-top-color: #dce3ec;
    }
}


/* Mobil alt navigasyon çubuğu */
.mobile-bottom-nav {
    display: none;
}
@media (max-width: 767.98px) {
    body { padding-bottom: 78px; }
    .mobile-bottom-nav {
        position: fixed;
        z-index: 1050;
        left: 12px;
        right: 12px;
        bottom: max(10px, env(safe-area-inset-bottom));
        min-height: 62px;
        display: flex;
        align-items: center;
        justify-content: space-around;
        gap: 2px;
        padding: 7px 5px;
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 22px;
        background: rgba(0, 184, 217, 0.96);
        box-shadow: 0 8px 26px rgba(10,24,45,.20);
        border-color: rgba(255,255,255,.35);
    }
    .mobile-bottom-nav a {
        flex: 1 1 0;
        min-width: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        padding: 4px 1px;
        border-radius: 12px;
        color: rgba(255,255,255,.96);
        text-decoration: none;
        font-size: 10px;
        font-weight: 600;
        line-height: 1.15;
        white-space: nowrap;
    }
    .mobile-bottom-nav a i { font-size: 17px; line-height: 1; }
    .mobile-bottom-nav a.active,
    .mobile-bottom-nav a:focus-visible {
        color: #fff;
        background: rgba(255,255,255,.22);
    }
    .mobile-bottom-nav a.active i { color: #ffffff; }
    .back-to-top { bottom: 88px; right: 16px; }
    .whatsapp-float { bottom: 155px; right: 16px; width: 48px; height: 48px; font-size: 1.4rem; }
}



/* Sağdan Sola Akan Sonsuz Döngü Kapsayıcısı */
.reviews-marquee-wrapper {
    overflow: hidden;
    width: 100%;
    position: relative;
    padding: 15px 0;
    /* Kenarlara yumuşak solma efekti */
    mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
}

.reviews-marquee-track {
    display: flex;
    gap: 24px;
    width: max-content;
    animation: marqueeScroll 35s linear infinite;
}

/* Üzerine gelindiğinde kaymayı durdur */
.reviews-marquee-wrapper:hover .reviews-marquee-track {
    animation-play-state: paused;
}

/* Oval Kutucuk ve Kart Tasarımı */
.modern-review-card {
    width: 360px;
    flex-shrink: 0;
    border-radius: 24px !important; /* Oval köşeler */
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    transition: all 0.3s ease;
}

.modern-review-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08) !important;
}

.review-comment {
    font-size: 0.92rem;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 4; /* Çok uzun yorumları taşmaması için 4 satırda sınırlar */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.review-avatar {
    width: 46px;
    height: 46px;
    background: linear-gradient(135deg, #7c3aed, #a78bfa);
    font-size: 1.1rem;
    flex-shrink: 0;
}

/* Kayma Animasyonu */
@keyframes marqueeScroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

/* Ana sayfa: sade kırık beyaz hero tasarımı */
.home-hero-minimal{position:relative;overflow:hidden;background:#f8f7f3;padding:155px 0 105px;color:#262c32;isolation:isolate}
.home-hero-minimal:before{content:"";position:absolute;z-index:-1;width:480px;height:480px;left:-230px;top:20px;border:1px solid rgba(69,93,85,.10);border-radius:50%;box-shadow:0 0 0 45px rgba(69,93,85,.025),0 0 0 90px rgba(69,93,85,.02)}
.home-hero-copy{padding-top:10px}.home-eyebrow{display:inline-flex;align-items:center;gap:10px;color:#687b6f;font-size:.76rem;font-weight:700;letter-spacing:.19em;margin-bottom:25px}.home-eyebrow:before{content:"";width:28px;height:1px;background:#8d9b8f}
.home-hero-title{font-family:inherit;font-size:clamp(2.8rem,5.2vw,5rem);line-height:1.08;letter-spacing:-.055em;font-weight:600;color:#252d2a;margin:0 0 25px}.home-hero-title span{color:#788b7b;font-family:Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.04em}
.home-hero-subtitle{max-width:520px;color:#737873;font-size:1.08rem;line-height:1.9;margin-bottom:32px}.home-hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.home-primary-btn{background:#344c40;color:#fff;border:1px solid #344c40;border-radius:5px;padding:15px 22px;font-weight:600;transition:all .2s}.home-primary-btn:hover{background:#24372e;color:#fff;transform:translateY(-2px)}.home-secondary-link{color:#39443d;text-decoration:none;font-size:.95rem;font-weight:600;border-bottom:1px solid #b5bdb5;padding:8px 0}.home-secondary-link:hover{color:#788b7b}
.home-hero-note{display:flex;align-items:center;gap:10px;margin-top:42px;color:#888d87;font-size:.83rem}.home-note-dot{width:7px;height:7px;background:#9cac9b;border-radius:50%;display:inline-block}
.home-portrait-wrap{position:relative;max-width:470px;margin:0 auto;padding:22px 20px 35px 35px}.home-portrait-wrap:before{content:"";position:absolute;inset:0 0 35px 35px;border:1px solid #d8ddd5;border-radius:48% 48% 5px 5px;transform:rotate(3deg)}.home-owner-portrait{position:relative;display:block;width:100%;height:520px;object-fit:cover;object-position:center top;border-radius:48% 48% 5px 5px;background:#e9e9e1;z-index:1}.home-portrait-placeholder{position:relative;z-index:1;width:100%;height:520px;border-radius:48% 48% 5px 5px;background:linear-gradient(145deg,#e6e8df,#d9dfd5);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#687b6f;gap:12px}.home-portrait-placeholder i{font-size:4rem;opacity:.65}.home-portrait-placeholder span{font-size:1.05rem;font-weight:600}.home-portrait-placeholder small{font-size:.75rem;color:#818b81}.home-portrait-caption{position:absolute;right:-4px;bottom:0;z-index:2;display:flex;align-items:center;gap:10px;max-width:290px;padding:16px 20px;background:#fff;border:1px solid #ecece5;box-shadow:0 12px 35px rgba(35,47,39,.07);color:#606960;font-family:Georgia,serif;font-style:italic;font-size:.95rem}.caption-mark{font-size:2.5rem;line-height:.7;color:#91a18f}.home-portrait-orbit{position:absolute;border:1px solid rgba(120,139,123,.25);border-radius:50%;z-index:0}.orbit-one{width:100px;height:100px;right:-23px;top:40px}.orbit-two{width:16px;height:16px;right:17px;top:80px;background:#9cad9a;border:0}
.relationship-categories{background:#fff!important}.home-transparent-nav{transition:background .25s,box-shadow .25s}.home-transparent-nav:not(.scrolled){background:rgba(248,247,243,.94)!important;backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(40,50,42,.06)}.home-transparent-nav:not(.scrolled) .nav-link,.home-transparent-nav:not(.scrolled) .brand-text{color:#343d36!important}.home-transparent-nav:not(.scrolled) .navbar-toggler{border-color:#aab3aa}.home-transparent-nav:not(.scrolled) .navbar-toggler-icon{filter:invert(.7)}.home-transparent-nav:not(.scrolled) .btn-outline-light{color:#344c40!important;border-color:#aeb9ae!important}
@media(max-width:991.98px){.home-hero-minimal{padding:125px 0 70px}.home-hero-copy{padding-top:0}.home-hero-title{font-size:clamp(2.65rem,9vw,4rem)}.home-portrait-wrap{max-width:420px;margin-top:15px}.home-owner-portrait,.home-portrait-placeholder{height:440px}.home-hero-note{margin-top:28px}}
@media(max-width:575.98px){.home-hero-minimal{padding:110px 0 55px}.home-hero-subtitle{font-size:1rem}.home-hero-actions{gap:16px}.home-portrait-wrap{padding:14px 12px 28px 22px}.home-owner-portrait,.home-portrait-placeholder{height:370px}.home-portrait-caption{right:-2px;max-width:245px;padding:12px 14px;font-size:.84rem}.home-portrait-placeholder small{font-size:.65rem}}
/* Ana sayfa genel renk uyumu */
body:has(.home-hero-minimal){background:#f8f7f3}
body:has(.home-hero-minimal) main>section:not(.home-hero-minimal){background-color:#f8f7f3}
body:has(.home-hero-minimal) main>section.bg-light{background-color:#fff!important}
body:has(.home-hero-minimal) .section-badge{color:#788b7b}
body:has(.home-hero-minimal) .cta-section{background:var(--primary-color)!important}
body:has(.home-hero-minimal) .course-card,body:has(.home-hero-minimal) .blog-card{border:1px solid #e9e9e1;box-shadow:0 8px 26px rgba(35,47,39,.045)}

/* Modern oval tasarım: ana sayfa, header ve mobil alt navigasyon */
.home-hero-actions .home-primary-btn,
.home-hero-actions .home-secondary-btn,
.home-hero-actions a,
.home-hero-actions button{border-radius:999px!important;padding:14px 24px!important;box-shadow:0 8px 22px rgba(47,69,55,.09);transition:transform .2s ease,box-shadow .2s ease}
.home-hero-actions a:hover,.home-hero-actions button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(47,69,55,.14)}
.home-hero-note{display:inline-flex;align-items:center;gap:10px;padding:11px 17px;border:1px solid rgba(61,83,67,.12);border-radius:999px;background:rgba(255,255,255,.72);color:#4d5c50}
.home-portrait-caption{border-radius:22px!important;box-shadow:0 16px 40px rgba(36,47,39,.12)}
.home-portrait-placeholder,.home-owner-portrait{border-radius:34px!important}
.navbar.home-transparent-nav{background:rgba(250,246,236,.90)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(48,61,50,.08);box-shadow:0 5px 24px rgba(35,45,37,.045)}
.navbar.home-transparent-nav .nav-link{color:#303b32!important;font-weight:600;text-shadow:none!important;border-radius:999px;padding:.62rem .9rem;transition:background .2s,color .2s}
.navbar.home-transparent-nav .nav-link:hover,.navbar.home-transparent-nav .nav-link.active{background:rgba(72,99,77,.10);color:#294b35!important}
.navbar.home-transparent-nav .navbar-brand,.navbar.home-transparent-nav .brand-text{color:#28372d!important}
.navbar.home-transparent-nav .dropdown-menu{border:1px solid rgba(48,61,50,.1);border-radius:18px;background:rgba(255,255,252,.98);box-shadow:0 16px 38px rgba(30,40,32,.12);padding:9px;overflow:hidden}
.navbar.home-transparent-nav .dropdown-menu .dropdown-item{color:#303b32;border-radius:11px;padding:10px 14px}
.navbar.home-transparent-nav .dropdown-menu .dropdown-item:hover{background:#f0f2eb;color:#294b35}
.navbar.home-transparent-nav.scrolled{background:rgba(250,246,236,.97)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.mobile-bottom-nav{background:rgba(250,246,236,.90)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(48,61,50,.12)!important;box-shadow:0 8px 30px rgba(32,43,34,.12)!important;border-radius:26px!important}
.mobile-bottom-nav a{color:#58645a!important;border-radius:18px!important;transition:background .2s ease,color .2s ease}
.mobile-bottom-nav a.active,.mobile-bottom-nav a:focus-visible{background:#405b46!important;color:#fff!important;box-shadow:0 5px 14px rgba(45,69,50,.2)}
.mobile-bottom-nav a.active i{color:#fff!important}
@media(max-width:991.98px){.navbar.home-transparent-nav .navbar-collapse{margin-top:10px;padding:12px;background:rgba(250,246,236,.99);border:1px solid rgba(48,61,50,.09);border-radius:22px;box-shadow:0 12px 30px rgba(30,40,32,.09)}.navbar.home-transparent-nav .nav-link{margin:2px 0}.home-hero-actions a{display:inline-flex;align-items:center;justify-content:center}}
@media(max-width:575.98px){.home-hero-actions .home-primary-btn,.home-hero-actions .home-secondary-btn,.home-hero-actions a{padding:12px 19px!important}.mobile-bottom-nav{left:12px!important;right:12px!important;bottom:10px!important;border-radius:23px!important}}

/* GLOBAL HEADER OVERRIDE: tüm sayfalarda açık, okunaklı navigasyon */
.navbar,
.navbar.scrolled,
.navbar.home-transparent-nav.scrolled {
    background: rgba(255, 255, 255, 0.97) !important;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(20, 35, 55, 0.08);
    box-shadow: 0 8px 24px rgba(20, 35, 55, 0.10);
}
.navbar .brand-text,
.navbar .nav-link,
.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link.active,
.navbar .navbar-toggler {
    color: #17243a !important;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link.active {
    background: rgba(0, 157, 187, 0.08);
    border-radius: 999px;
}
.navbar .navbar-toggler {
    border-color: rgba(23, 36, 58, 0.22);
}
.navbar .navbar-toggler-icon {
    filter: none;
}
@media (max-width: 991.98px) {
    .navbar .navbar-collapse {
        background: #ffffff !important;
        border: 1px solid #e4e9ef !important;
        border-radius: 20px !important;
        box-shadow: 0 14px 32px rgba(20, 35, 55, 0.12) !important;
    }
    .navbar .navbar-collapse .nav-link,
    .navbar .navbar-collapse .nav-link:hover,
    .navbar .navbar-collapse .nav-link:focus,
    .navbar .navbar-collapse .nav-link.active {
        color: #17243a !important;
        border-radius: 999px;
    }
    .navbar .navbar-collapse .nav-link:hover,
    .navbar .navbar-collapse .nav-link:focus,
    .navbar .navbar-collapse .nav-link.active {
        background: #eef8fa !important;
    }
}


/* Marka alt başlığı: tüm sayfalarda ortak header */
.navbar .navbar-brand-lockup {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    line-height: 1.15;
    max-width: 100%;
}
.navbar .navbar-brand-main {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}
.navbar .navbar-brand-tagline {
    display: block;
    margin-top: 4px;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: .015em;
    color: #30343b;
    white-space: normal;
}
@media (max-width: 575.98px) {
    .navbar .navbar-brand-tagline { font-size: 9px; margin-top: 3px; }
    .navbar .navbar-brand { max-width: calc(100% - 64px); }
    .navbar .navbar-logo { max-width: 190px; height: auto; }
}


/* Header polish: text-only brand and stable mobile navigation */
.navbar .navbar-brand-lockup { min-width: 0; }
.navbar .navbar-brand-main { display: flex; align-items: center; }
.navbar .navbar-brand .brand-text { display: block; color: #171717 !important; font-size: 1.08rem; font-weight: 700; line-height: 1.15; white-space: nowrap; }
.navbar .navbar-brand-tagline { color: #454545 !important; font-size: 10px; white-space: nowrap; }
.navbar .navbar-toggler {
    flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 42px; padding: 0; margin-left: auto;
    background: #f0f0f0 !important; border: 1px solid #a6a6a6 !important;
    border-radius: 12px !important; box-shadow: 0 2px 6px rgba(0,0,0,.08);
}
.navbar .navbar-toggler-icon {
    width: 22px; height: 22px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(20,20,20,0.95)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
    filter: none !important;
}
@media (max-width: 991.98px) {
    .navbar > .container { display: flex; flex-wrap: nowrap !important; align-items: center; gap: 10px; }
    .navbar .navbar-brand { flex: 1 1 auto; min-width: 0; max-width: calc(100% - 54px); margin-right: 0; white-space: normal; }
    .navbar .navbar-brand-lockup { max-width: 100%; }
    .navbar .navbar-brand-tagline { font-size: 9px; line-height: 1.2; white-space: normal; }
    .navbar .navbar-collapse { flex-basis: 100%; width: 100%; }
}
@media (max-width: 380px) {
    .navbar .navbar-brand .brand-text { font-size: .98rem; }
    .navbar .navbar-brand-tagline { font-size: 8px; }
}


/* Krem-beyaz ve doğal yeşil tema: ortak bileşenler */
:root {
    --primary-color: #315B46;
    --primary-dark: #244333;
    --primary-light: #47765A;
    --accent-color: #5E946B;
    --accent-dark: #447A53;
    --accent-light: #8DBB91;
    --bg-light: #F2EBDD;
    --bg-white: #FAF6EC;
    --border-color: #E4E6D9;
}
body, main, .main-content { background-color: var(--bg-white); }
.bg-light, .card, .course-card, .blog-card, .testimonial-card,
.relationship-category-card, .modal-content, .dropdown-menu:not(.dropdown-menu-dark) {
    background-color: var(--bg-light);
}
.btn-accent, .btn-primary, .btn-success, .pop-login, .ds-button,
button[type="submit"], input[type="submit"] {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: #fff;
}
.btn-accent:hover, .btn-primary:hover, .btn-success:hover, .ds-button:hover,
button[type="submit"]:hover, input[type="submit"]:hover {
    background: var(--accent-dark);
    border-color: var(--accent-dark);
    color: #fff;
}
.btn-outline-accent { color: var(--primary-color); border-color: var(--accent-color); }
.btn-outline-accent:hover { background: var(--accent-color); color: #fff; }
.text-accent, .course-card-price, .ds-price, .price, .product-price,
.breadcrumb-item a, .breadcrumb-item.active, .breadcrumb-item a:hover,
.footer-stat h4, .course-card-category, .blog-card-category {
    color: var(--primary-color) !important;
}
.breadcrumb { color: var(--primary-color); }
.breadcrumb-item + .breadcrumb-item::before { color: var(--accent-dark); }
.page-header, .page-header-section { background: linear-gradient(135deg, var(--primary-color), var(--primary-dark)); }
.modern-footer { background: var(--primary-dark); color: #fffdf7; }
.footer-newsletter { background: linear-gradient(135deg, var(--primary-color), var(--primary-dark)); }
.footer-bottom { background: rgba(0,0,0,.18); }
.navbar .dropdown-menu { border-color: var(--border-color); }
.navbar .dropdown-item:hover, .navbar .dropdown-item:focus { background: #e5eee3; color: var(--primary-dark); }

.ds-panel .h2, .ds-panel .h3, .ds-price, .course-card-price, .product-price { color: var(--primary-color) !important; }
.ds-button { background: var(--accent-color) !important; color: #fff !important; border-color: var(--accent-color) !important; }
.ds-button:hover { background: var(--accent-dark) !important; border-color: var(--accent-dark) !important; }


/* FINAL HEADER FIX: desktop'ta toggler gizli, mobilde marka satiri sabit */
@media (min-width: 992px) {
    .navbar .navbar-toggler {
        display: none !important;
    }
    .navbar.navbar-expand-lg > .container > .navbar-collapse {
        display: flex !important;
        flex-basis: auto !important;
        width: auto !important;
    }
}
@media (max-width: 991.98px) {
    .navbar.navbar-expand-lg > .container {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        row-gap: 0 !important;
    }
    .navbar.navbar-expand-lg > .container > .navbar-brand {
        order: 1 !important;
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 58px) !important;
        margin-right: 8px !important;
        align-self: center !important;
    }
    .navbar.navbar-expand-lg > .container > .navbar-toggler {
        order: 2 !important;
        flex: 0 0 44px !important;
        display: inline-flex !important;
        margin-left: auto !important;
        align-self: center !important;
    }
    .navbar.navbar-expand-lg > .container > .navbar-collapse {
        order: 3 !important;
        flex: 0 0 100% !important;
        width: 100% !important;
        min-width: 100% !important;
        margin-top: 10px !important;
    }
    .navbar.navbar-expand-lg > .container > .navbar-brand,
    .navbar.navbar-expand-lg > .container > .navbar-toggler {
        transform: none !important;
        position: relative !important;
        top: auto !important;
        bottom: auto !important;
    }
}

/* Tüm sayfalarda içerik üstündeki breadcrumb (Ana Sayfa > ... yolu) gizle */
nav[aria-label="breadcrumb"],
nav[aria-label="Breadcrumb"],
.breadcrumb {
    display: none !important;
}











.guvenli-odeme-alani {
    margin-top: 15px;
    padding: 12px;
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    text-align: center;
}

.guvenli-odeme-alani p {
    font-size: 13px;
    color: #6c757d;
    margin-bottom: 8px;
    font-weight: 500;
}

.odeme-logolari {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    font-size: 24px;
    color: #495057;
}

.odeme-logolari i {
    transition: color 0.2s;
}

.odeme-logolari i:hover {
    color: #007bff;
}

.badge-paytr {
    font-size: 14px;
    font-weight: bold;
    background: #e7f1ff;
    color: #0d6efd;
    padding: 2px 8px;
    border-radius: 4px;
}
/* 2026-10 | Site genelinde yumuşak kırık beyaz / krem yüzeyler */
:root { --warm-page:#f8f6f0; --warm-section:#f5f2e9; --warm-surface:#fdfbf6; }
html, body, body.bg-white, body.bg-light { background-color:var(--warm-page) !important; }
body main, main, .page-wrapper, .site-wrapper { background-color:transparent; }
body .bg-white, body .bg-light, body .bg-body, body .bg-body-tertiary,
body section.bg-white, body section.bg-light,
body:has(.home-hero-minimal) main>section.bg-light,
body .relationship-categories { background-color:var(--warm-section) !important; }
body .card, body .course-card, body .digital-card, body .product-card,
body .modal-content, body .dropdown-menu, body .accordion-item {
  background-color:var(--warm-surface);
}
body .form-control, body .form-select, body input:not([type=checkbox]):not([type=radio]), body textarea {
  background-color:#fffdf9;
}
body .form-control:focus, body .form-select:focus { background-color:#fffdf9; }
/* Açık menüler de aynı sıcak renk ailesinde kalsın */
body .navbar:not(.bg-dark), body .home-transparent-nav, body .mobile-bottom-nav {
  background-color:rgba(250,248,243,.97) !important;
}
/* Koyu alanlar, markalı butonlar ve PayTR iframe içeriği değiştirilmez. */

/* PageSpeed 2026-10-25: native section animations, no external AOS dependency. */
@media (prefers-reduced-motion: no-preference) {
    [data-aos].motion-pending { opacity:0; transform:translate3d(0,16px,0); }
    [data-aos] { transition:opacity .45s ease,transform .45s ease; }
}
/* If a pre-existing page inserts the legacy loader, it must never mask content. */
.page-loader { display:none!important; }


/* Desktop floating navbar v3: readable text, stable proportions and smooth resizing. */
@media (min-width: 992px) {
  body > nav.navbar.fixed-top {
    top: 12px !important;
    left: 50% !important;
    right: auto !important;
    width: calc(100% - 32px) !important;
    max-width: 1620px;
    transform: translate3d(-50%, 0, 0);
    border-radius: 28px !important;
    padding: 14px 9px !important;
    transition: max-width .42s cubic-bezier(.22,1,.36,1),
                padding .42s cubic-bezier(.22,1,.36,1),
                border-radius .42s cubic-bezier(.22,1,.36,1),
                box-shadow .42s ease;
    z-index: 1035;
  }
  body > nav.navbar.fixed-top.scrolled {
    max-width: 1390px;
    padding: 9px 9px !important;
    border-radius: 26px !important;
    box-shadow: 0 12px 32px rgba(20,35,55,.14) !important;
  }
  body > nav.navbar.fixed-top > .container {max-width: 100%;gap: 8px;}
  /* Keep type size identical in both states: only container padding and width change. */
  body > nav.navbar.fixed-top .nav-link,
  body > nav.navbar.fixed-top.scrolled .nav-link {
    white-space: nowrap;
    font-size: 14px;
    line-height: 1.35;
    padding: 10px 9px;
    transition: background-color .2s ease,color .2s ease;
  }
  body > nav.navbar.fixed-top .navbar-brand,
  body > nav.navbar.fixed-top.scrolled .navbar-brand {margin-right: 10px;}
  body > nav.navbar.fixed-top .navbar-brand-tagline,
  body > nav.navbar.fixed-top.scrolled .navbar-brand-tagline {font-size: 10px !important;}
  body > nav.navbar.fixed-top .cart-header-button,
  body > nav.navbar.fixed-top.scrolled .cart-header-button {
    padding: 10px 13px;
    margin-left: 6px;
    font-size: 13px;
  }
  body > nav.navbar.fixed-top .navbar-nav .btn,
  body > nav.navbar.fixed-top.scrolled .navbar-nav .btn {
    padding: 9px 12px !important;
    font-size: 13px;
    white-space: nowrap;
  }
  body > nav.navbar.fixed-top .navbar-collapse {min-width: 0;}
}
/* Smaller desktop screens: no forced oversized nav, no text collapse. */
@media (min-width: 992px) and (max-width: 1430px) {
  body > nav.navbar.fixed-top .nav-link,
  body > nav.navbar.fixed-top.scrolled .nav-link {font-size: 13px;padding: 9px 6px;}
  body > nav.navbar.fixed-top,
  body > nav.navbar.fixed-top.scrolled {width: calc(100% - 24px) !important;}
  body > nav.navbar.fixed-top .cart-header-button,
  body > nav.navbar.fixed-top.scrolled .cart-header-button {margin-left: 3px;padding: 9px 10px;}
}
@media (min-width: 992px) and (max-width: 1150px) {
  body > nav.navbar.fixed-top .nav-link,
  body > nav.navbar.fixed-top.scrolled .nav-link {font-size: 12.5px;padding: 8px 4px;}
  body > nav.navbar.fixed-top .navbar-nav .btn,
  body > nav.navbar.fixed-top.scrolled .navbar-nav .btn {padding: 8px 7px !important;font-size: 12px;}
}

/* Header boyutu ve kaydirma davranisi yukaridaki V3 kurallarinda tanimlidir.
   Cam/blur yalnizca admin > Tema ve Gorunum ayarlarinca belirlenir. */

/* V5.4.3 – Tüm CTA alanları yönetici panelindeki Ana Tema Rengi ile aynı.
   Anasayfa eski sabit #344c40 arka planı ve genel açık bölüm kuralları ezilir. */
body .cta-section,
body:has(.home-hero-minimal) main > section.cta-section {
  background: var(--primary-color) !important;
  background-color: var(--primary-color) !important;
  color: var(--theme-cta-text, #ffffff) !important;
}
body .cta-section .cta-title,
body .cta-section .cta-subtitle {
  color: var(--theme-cta-text, #ffffff) !important;
}


/* V6.2.3: E-posta bülteni ana footer içeriğine gömülü, arka plansız. */
.modern-footer .footer-main .footer-newsletter-embedded {
    background: transparent;
    border: 0;
    border-top: 1px solid rgba(255,255,255,.16);
    margin-top: 36px;
    padding: 26px 0 0;
}
.modern-footer .footer-newsletter-embedded .footer-newsletter-heading {
    color: #fff;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.35;
}
.modern-footer .footer-newsletter-embedded .footer-newsletter-heading i {
    color: var(--accent-color, #a6d4bb);
}
.modern-footer .footer-newsletter-embedded .footer-newsletter-description {
    color: rgba(255,255,255,.77);
    font-size: .875rem;
    line-height: 1.55;
}
.modern-footer .footer-newsletter-embedded .newsletter-form {
    max-width: 450px;
    margin-left: auto;
}
.modern-footer .footer-newsletter-embedded .newsletter-form .input-group {
    border-radius: 12px;
    box-shadow: none;
    overflow: hidden;
}
.modern-footer .footer-newsletter-embedded .newsletter-form .form-control {
    min-width: 0;
    border: 1px solid rgba(255,255,255,.25);
    background: #fff;
    padding: .75rem 1rem;
    border-radius: 12px 0 0 12px;
    color: #1b2721;
    font-size: .875rem;
}
.modern-footer .footer-newsletter-embedded .newsletter-form .btn {
    border-radius: 0 12px 12px 0;
    padding: .75rem 1.2rem;
    font-size: .875rem;
    font-weight: 650;
    white-space: nowrap;
}
.modern-footer .footer-newsletter-embedded .newsletter-form .form-control:focus {
    box-shadow: inset 0 0 0 1px var(--accent-color, #11785e);
}
@media (max-width: 991.98px) {
    .modern-footer .footer-newsletter-embedded .newsletter-form {
        max-width: 100%;
        margin-left: 0;
    }
}
@media (max-width: 575.98px) {
    .modern-footer .footer-main .footer-newsletter-embedded {
        margin-top: 28px;
        padding-top: 24px;
    }
    .modern-footer .footer-newsletter-embedded .newsletter-form .input-group {
        display: flex;
        flex-wrap: nowrap;
    }
    .modern-footer .footer-newsletter-embedded .newsletter-form .btn {
        padding: .7rem .9rem;
    }
}
