:root{--blue-900:#0c2340;--blue-800:#123a5c;--blue-600:#2563a8;--blue-100:#e8f0f9;--red-700:#b00020;--red-600:#c1121f;--red-100:#fde8ea;--white:#fff;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-600:#475569;--gray-700:#334155;--gray-900:#0f172a;--shadow-sm:0 1px 3px rgba(12,35,64,.08);--shadow-md:0 12px 34px rgba(12,35,64,.12);--radius:12px;--container:1450px;--header-h:72px;--tr:.25s ease}
*,:before,:after{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:"Outfit","Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--gray-700);background:#f3f5f9;line-height:1.6;overflow-x:hidden} p{font-size:16px}
ul,ol{list-style:none;margin:0;padding:0}
main,#main-content,.page-main{display:block;margin:0;padding-top:0}
.container{width:95%;max-width:var(--container);margin:0 auto;} @media(min-width:768px){.container{}}
.page-header{padding:1.25rem 0}.page-header h1{margin:0;color:var(--blue-900);font-size:calc(clamp(1.6rem,2vw + 1rem,2.2rem) + 0.375rem)}
.programs-section{padding:1.25rem 0 2.5rem}.programs-layout{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:980px){.programs-layout{grid-template-columns:380px minmax(0,1fr);align-items:start}}
.filters{position:relative}.filters-card{background:#fff;border:1px solid var(--gray-200);border-radius:14px;box-shadow:var(--shadow-sm);padding:1rem}
@media(min-width:980px){.filters-card{position:sticky;top:calc(var(--header-h) + 12px)}}
.filters-title{margin:0 0 1rem;color:var(--blue-900);font-size:28px;padding-bottom:.75rem;border-bottom:1px solid var(--gray-200)}
.filter-group{border:0;margin:0 0 1rem;padding:0}.filter-label{display:block;font-weight:700;color:var(--gray-900);margin:0 0 .55rem;font-size:1.05rem}
input[type=text],select{width:100%;padding:.75rem .85rem;border:1px solid var(--gray-200);border-radius:8px;background:#fff;font:inherit;font-size:1.02rem}
input[type=text]:focus,select:focus{outline:none;border-color:var(--blue-600);box-shadow:0 0 0 3px rgba(37,99,168,.15)}
.checkbox{display:flex;align-items:center;gap:.55rem;margin:.4rem 0;color:var(--gray-700);font-size:1rem}
.reset-btn{width:100%;border:1px solid var(--gray-200);background:var(--gray-50);padding:.78rem .9rem;border-radius:8px;font-weight:700;cursor:pointer;font-size:1rem}.reset-btn:hover{background:var(--blue-100)}
.program-list{display:grid;gap:1rem}
.program-list{scroll-margin-top:14px}
.program-list.is-fading{animation:pgFade .18s ease}
@keyframes pgFade{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}
.program-card{background:#fff;border:1px solid var(--gray-200);border-radius:14px;display:grid;grid-template-columns:1fr;box-shadow:var(--shadow-sm);overflow:hidden;transition:transform var(--tr),box-shadow var(--tr)}
.program-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)} @media(min-width:760px){.program-card{grid-template-columns:1fr 170px}}
.program-main{padding:1rem 1.1rem}.program-faculty{margin:0;color:var(--gray-600);font-size:1rem;line-height:1.55}.program-title{margin:.35rem 0 .6rem;color:var(--blue-900);font-size:25px;line-height:1.25}
.meta{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem;color:var(--gray-700);font-size:.92rem}.meta li{background:var(--gray-50);border:1px solid var(--gray-200);padding:.25rem .55rem;border-radius:999px}
.program-side{padding:1rem;border-top:1px solid var(--gray-200);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:linear-gradient(180deg,#fff,#f8fbff)}
@media(min-width:760px){.program-side{border-top:0;border-left:1px solid var(--gray-200)}}
.price{margin:0;color:var(--blue-900);font-weight:800;font-size:1.3rem}.per{margin:.1rem 0 .8rem;color:var(--gray-600);font-size:.85rem}
.apply{display:inline-flex;align-items:center;justify-content:center;padding:.6rem .95rem;border-radius:999px;background:linear-gradient(135deg,var(--red-700),var(--red-600));color:#fff;text-decoration:none;font-weight:700;box-shadow:0 12px 26px rgba(176,0,32,.22)}.apply:hover{filter:brightness(.98);transform:translateY(-1px);box-shadow:0 16px 34px rgba(176,0,32,.28)}
.no-results{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:1.25rem;text-align:center}.no-results h3{margin:0 0 .4rem;color:var(--blue-900)}.no-results p{margin:0;color:var(--gray-600)}

/* Pagination (production style) */
.pagination{
  margin-top:1.15rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  flex-wrap:wrap;
}
.pg-pages{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;justify-content:center}
.pg-btn,.pg-page{
  border:1px solid var(--gray-200);
  background:#fff;
  color:var(--gray-700);
  border-radius:999px;
  padding:.55rem .85rem;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  transition:transform var(--tr),box-shadow var(--tr),background var(--tr),border-color var(--tr),color var(--tr);
  box-shadow:0 6px 16px rgba(15,23,42,.06);
}
.pg-btn:hover:not(:disabled),.pg-page:hover:not(.is-active){
  transform:translateY(-2px);
  border-color:rgba(193,18,31,.35);
  box-shadow:0 10px 24px rgba(15,23,42,.10);
}
.pg-page.is-active{
  background:var(--red-600);
  color:#fff;
  border-color:var(--red-600);
  box-shadow:0 14px 30px rgba(176,0,32,.28);
}
.pg-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
  box-shadow:none;
}
.pg-ellipsis{
  padding:0 .2rem;
  color:var(--gray-600);
  font-weight:800;
  user-select:none;
}
@media(max-width:520px){
  .pg-btn{padding:.5rem .75rem}
  .pg-page{padding:.5rem .7rem}
}

/* Mobile usability improvements */
@media (max-width: 900px){
  .programs-section{padding:1rem 0 2rem}
  .programs-layout{gap:.85rem}

  .filters-card{
    padding:.9rem;
    border-radius:12px;
  }
  .filters-title{
    font-size:1.35rem;
    line-height:1.25;
    margin-bottom:.8rem;
    padding-bottom:.6rem;
  }
  .filter-group{margin-bottom:.85rem}
  .filter-label{font-size:1rem}

  input[type=text],select{
    min-height:44px;
    font-size:1rem;
    padding:.68rem .75rem;
  }

  .checkbox{
    min-height:40px;
    margin:.2rem 0;
    font-size:.98rem;
  }
  .checkbox input[type="checkbox"]{
    width:18px;
    height:18px;
    flex:0 0 auto;
  }

  .reset-btn{
    min-height:44px;
    font-size:.98rem;
    padding:.68rem .8rem;
  }

  .program-list{gap:.85rem}
  .program-card{
    border-radius:16px;
    border-color:rgba(226,232,240,.95);
    box-shadow:
      0 1px 0 rgba(255,255,255,.88) inset,
      0 14px 34px rgba(12,35,64,.10);
  }
  .program-card:hover{
    transform:translateY(-3px);
    box-shadow:
      0 1px 0 rgba(255,255,255,.92) inset,
      0 22px 48px rgba(12,35,64,.14);
  }
  .program-main{padding:.9rem .95rem}
  .program-faculty{
    font-size:.95rem;
    color:var(--gray-600);
  }
  .program-title{
    font-size:1.14rem;
    font-weight:800;
    letter-spacing:-.015em;
    line-height:1.3;
    margin:.3rem 0 .5rem;
  }
  .meta{
    gap:.45rem;
    font-size:.82rem;
  }
  .meta li{
    padding:.24rem .52rem;
    background:rgba(241,245,249,.9);
    border-color:rgba(203,213,225,.9);
    color:var(--gray-700);
  }

  .program-side{
    padding:.85rem .95rem .95rem;
    align-items:stretch;
    background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,251,255,.85));
  }
  .price{
    font-size:1.22rem;
    letter-spacing:-.015em;
  }
  .per{
    margin:.05rem 0 .65rem;
    font-size:.82rem;
    color:var(--gray-600);
  }
  .apply{
    width:100%;
    min-height:44px;
    justify-content:center;
    border-radius:12px;
    font-size:.94rem;
    box-shadow:0 14px 30px rgba(176,0,32,.24);
  }
  .apply:hover{transform:translateY(-1px);box-shadow:0 18px 38px rgba(176,0,32,.30)}

  .pagination{
    gap:.45rem;
    margin-top:1rem;
  }
}

.page-header.page-hero{position:relative;min-height:58vh;display:grid;place-items:center;text-align:center;color:#fff;padding:clamp(2.5rem,6vw,4rem) 0;background:url("https://images.unsplash.com/photo-1541339907198-e08756dedf3f?auto=format&fit=crop&w=2000&q=80") center/cover no-repeat}
.page-hero .hero-overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(12,35,64,.78),rgba(18,58,102,.52))}
.page-header.page-hero .page-header-inner{position:relative;z-index:1;max-width:62rem;margin-inline:auto;width:100%}
.page-header.page-hero h1{margin:0;color:#fff;max-width:min(36ch,100%);margin-inline:auto}

a {
    color: inherit;
    text-decoration: none;
}
.btn-apply {
    background: linear-gradient(135deg, var(--brand-red-700), var(--brand-red-600));
    color: var(--white);
    box-shadow: 0 14px 30px rgba(176, 0, 32, 0.22);
}

    .btn-apply:hover {
        background: linear-gradient(135deg, var(--brand-red-900), var(--brand-red-700));
        transform: translateY(-2px);
        box-shadow: 0 18px 40px rgba(176, 0, 32, 0.28);
    }
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: .72rem 1.25rem;
    border-radius: 12px;
    border: 1px solid transparent;
    font-weight: 700;
    cursor: pointer;
    transition: all .2s ease;
}
.not-found {
    text-align: center;
    padding: 60px 20px;
    background: #f8fafc;
    border-radius: 16px;
    margin-top: 20px;
}

.not-found-icon {
    font-size: 48px;
    margin-bottom: 10px;
}

.not-found h2 {
    font-size: 24px;
    margin-bottom: 10px;
    color: #0f172a;
}

.not-found p {
    color: #64748b;
    margin-bottom: 20px;
}
@media (max-width: 900px) {

    .program-card {
        border-radius: 14px;
        box-shadow: 0 10px 24px rgba(12,35,64,.08);
    }

    .program-main {
        padding: .75rem .8rem;
    }

    .program-title {
        font-size: 1.05rem; /* daha kiçik */
        margin: .25rem 0 .45rem;
    }

    .program-faculty {
        font-size: .9rem;
    }

    .meta {
        font-size: .78rem;
        gap: .35rem;
    }

        .meta li {
            padding: .2rem .45rem;
        }

    .program-side {
        padding: .7rem .8rem;
    }

    .price {
        font-size: 1.1rem;
    }

    .apply {
        min-height: 40px; /* daha kompakt button */
        font-size: .9rem;
        padding: .55rem .8rem;
    }
}