/* ==========================================================================
   Responsive — tüm @media kuralları (geniş → dar)
   ========================================================================== */

/* ---- Gezinme çubuğu (geniş → dar) ----
   1240 ↓  logo alt yazısı ve arama düğmesinin yazısı gizlenir, arama yalnızca simge
   1100 ↓  menü, menü düğmesiyle açılan panele dönüşür; arka sayfa kararır ve kaymaz (main.js)
    768 ↓  çubuk 64 px, denetimler dokunmaya uygun 40 px
    560 ↓  panel ekranı kaplar; dil seçici çubuktan panelin sonuna iner (çubukta logo, arama, menü düğmesi) */
@media (max-width: 1240px) {
    .navbar .brand-tagline {
        display: none;
    }

    .nav-search {
        padding: 0;
    }

    .nav-search-label,
    .nav-search kbd {
        display: none;
    }
}

@media (max-width: 1100px) {
    .hamburger {
        display: flex;
    }

    /* Panel: menü düğmesinin altından açılan yaprak */
    .nav-menu,
    html[lang="ar"] .nav-menu {
        position: fixed;
        z-index: 1;
        top: var(--navbar-height);
        inset-inline: auto 0;
        width: min(24rem, 100%);
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        margin: 0;
        padding: 0.4rem var(--gutter) 1.5rem;
        max-height: calc(100dvh - var(--navbar-height));
        overflow-y: auto;
        overscroll-behavior: contain;
        background: var(--paper);
        border-bottom: 1px solid var(--rule-strong);
        border-inline-start: 1px solid var(--rule-strong);
        box-shadow: 0 28px 44px -30px rgba(74, 56, 28, 0.5);
        opacity: 0;
        transform: translateY(-0.6rem);
        visibility: hidden;
        transition: opacity 0.2s ease, transform 0.35s var(--ease-out), visibility 0s linear 0.35s;
    }

    .nav-menu.active,
    html[lang="ar"] .nav-menu.active {
        opacity: 1;
        transform: none;
        visibility: visible;
        transition: opacity 0.2s ease, transform 0.35s var(--ease-out), visibility 0s;
    }

    /* Panelin altındaki sayfa kararır; dokununca menü kapanır (main.js) */
    .navbar::after {
        content: '';
        position: fixed;
        top: var(--navbar-height);
        inset-inline: 0;
        height: 100dvh;
        background: rgba(23, 21, 15, 0.3);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.25s ease, visibility 0s linear 0.25s;
    }

    .navbar.menu-open::after {
        opacity: 1;
        visibility: visible;
        transition: opacity 0.25s ease, visibility 0s;
    }

    .navbar.menu-open {
        background: var(--paper);
        border-bottom-color: var(--rule);
    }

    .nav-menu > li {
        border-bottom: 1px solid var(--rule);
    }

    .nav-menu > li > a,
    html[lang="ar"] .nav-menu > li > a {
        display: flex;
        align-items: center;
        min-height: 3.25rem;
        padding: 0.5rem 0;
        font-family: var(--font-display);
        font-size: 1.3rem;
        font-weight: 400;
        white-space: normal;
    }

    /* Bulunulan sayfa: satırın başında sürh şerit (masaüstündeki alt çizginin karşılığı) */
    .nav-menu > li > a::after {
        display: none;
        inset-inline-start: calc(-1 * var(--gutter));
        inset-inline-end: auto;
        top: 0.85rem;
        bottom: 0.85rem;
        width: 3px;
        height: auto;
        transform: none;
        transition: none;
    }

    .nav-menu > li > a.active:not(.nav-cta)::after {
        display: block;
    }

    .nav-menu > .nav-cta-item {
        border-bottom: none;
        padding-top: 1.1rem;
    }

    .nav-menu .nav-cta,
    html[lang="ar"] .nav-menu .nav-cta {
        justify-content: space-between;
        width: 100%;
        min-height: 3rem;
        height: auto;
        padding: 0 1.1rem;
        font-family: var(--font-body);
        font-size: 1rem;
        font-weight: 500;
        background: var(--ink);
        color: var(--paper);
    }

    .nav-menu .nav-cta:hover {
        background: var(--ink-soft);
    }
}

@media (max-width: 768px) {
    .navbar {
        --nav-ctl: 2.5rem;
    }

    .navbar .brand-mark {
        width: 32px;
        height: 32px;
    }

    .navbar .brand-name {
        font-size: 1.3rem;
    }
}

@media (max-width: 560px) {
    .nav-menu,
    html[lang="ar"] .nav-menu {
        inset-inline: 0;
        width: auto;
        border-inline-start: none;
    }

    /* Yalnızca menüde karşılığı varsa (eski statik sayfalarda yok) */
    .navbar:has(.nav-lang-item) .nav-tools > .lang-switch {
        display: none;
    }

    .nav-menu > .nav-lang-item {
        display: block;
        border-bottom: none;
        padding-top: 0.9rem;
    }

    .nav-tools {
        gap: 0.4rem;
    }

    .brand {
        gap: 0.55rem;
    }

    .navbar .brand-name {
        font-size: 1.22rem;
    }
}

@media (max-width: 340px) {
    .navbar .brand-mark {
        width: 28px;
        height: 28px;
    }

    .navbar .brand-name {
        font-size: 1.1rem;
    }
}

/* ---- 1100px ve altı ---- */
@media (max-width: 1100px) {
    .pillar {
        grid-template-columns: 1.5fr 3.5fr 5fr;
    }

    .pillar-tool {
        display: none;
    }

    .eras {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 2.5rem;
    }

    .steps {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 3rem;
    }

    .steps::before {
        display: none;
    }

    .team-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .atlas-next,
    .method-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .method-item:nth-child(3) {
        padding-inline-start: 0;
        border-inline-start: none;
    }
}

/* ---- 992px ve altı (tablet) ---- */
@media (max-width: 992px) {
    .section-head,
    .page-header .header-content {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .section-label {
        padding-top: 0;
    }

    .page-header .crumb {
        padding-bottom: 0;
    }

    .hero-grid {
        grid-template-columns: 1fr;
    }

    .hero-globe {
        margin: -2rem calc(var(--gutter) * -1) 0;
        max-width: 640px;
        justify-self: center;
    }

    .hero-globe figcaption {
        margin-inline-end: var(--gutter);
    }

    .ledger {
        grid-template-columns: 1fr 1fr;
    }

    .ledger > div:nth-child(3) {
        padding-inline-start: 0;
        border-inline-start: none;
    }

    .ledger > div:nth-child(n + 3) {
        border-top: 1px solid var(--rule);
    }

    .rihla-grid {
        grid-template-columns: 1fr;
    }

    .rihla-ar {
        text-align: center;
        white-space: normal;
    }

    .manifesto {
        grid-template-columns: 1fr 1fr;
    }

    .manifesto p:first-child {
        grid-column: 1 / -1;
    }

    .manifesto p:nth-child(2) {
        grid-column: 1;
    }

    .manifesto .link-arrow {
        grid-column: 2;
        align-self: end;
    }

    .record-wrap,
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .record,
    .record-text,
    .contact-intro,
    .contact-form {
        grid-column: 1;
    }

    .record {
        max-width: 560px;
    }

    .regions {
        grid-template-columns: 1fr;
    }

    .invite {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .invite-actions {
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
    }

    .story {
        grid-template-columns: 1fr;
    }

    .story-label,
    .story-text,
    .story-aside {
        grid-column: 1;
    }

    .story-aside {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 2rem;
    }

    .pilot-section {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .principles {
        grid-template-columns: 1fr 1fr;
    }

    .principle:not(:nth-child(3n + 1)) {
        padding-inline-start: 0;
        border-inline-start: none;
    }

    .principle:nth-child(even) {
        padding-inline-start: 2rem;
        border-inline-start: 1px solid var(--rule-strong);
    }

    .closing {
        grid-template-columns: 1fr;
    }

    .atlas-panel {
        width: 310px;
    }

    .time-ah {
        font-size: 1.4rem;
    }

    .footer-content {
        grid-template-columns: 1fr 1fr;
    }

    .footer-content .footer-section:first-child {
        grid-column: 1 / -1;
    }
}

/* ---- 768px ve altı (mobil) ---- */
@media (max-width: 768px) {
    :root {
        --navbar-height: 64px;
    }

    .hero-title {
        font-size: clamp(2.8rem, 12vw, 4rem);
    }

    .hero-lead {
        font-size: 1.05rem;
    }

    .hero-globe figcaption {
        align-items: center;
        text-align: center;
        margin: 0.5rem 0 0;
    }

    /* Küre küçülünce etiketler okunur kalsın: büyüt, ikincilleri gizle */
    .globe-labels text {
        font-size: 25px;
        stroke-width: 6px;
    }

    .globe-labels text.is-minor {
        display: none;
    }

    .manifesto {
        grid-template-columns: 1fr;
    }

    .manifesto p:nth-child(2),
    .manifesto .link-arrow {
        grid-column: 1;
    }

    .pillar {
        grid-template-columns: 3.5rem 1fr;
        row-gap: 0.6rem;
    }

    .pillar p {
        grid-column: 2;
    }

    .pillar:hover {
        padding-inline: 0;
    }

    .record {
        transform: none;
        padding: 1.6rem 1.4rem 1.4rem;
    }

    .record-fields > div {
        grid-template-columns: 1fr;
        gap: 0.1rem;
    }

    .region {
        grid-template-columns: 2.2rem 1fr;
    }

    .region .flag {
        grid-column: 2;
    }

    .chrono {
        display: none;
    }

    .eras,
    .steps {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .step {
        display: grid;
        grid-template-columns: 4.5rem 1fr;
        column-gap: 1.2rem;
        align-items: start;
    }

    .step-num {
        width: 4.5rem;
        height: 4.5rem;
        font-size: 2.1rem;
        margin: 0;
        grid-row: span 3;
    }

    .step-now {
        position: static;
        padding: 0;
        margin-bottom: 0.3rem;
    }

    .article-card {
        grid-template-columns: 1fr;
        gap: 0.4rem;
    }

    .article-card:hover {
        padding-inline: 0;
    }

    .article-go {
        display: none;
    }

    .story-aside,
    .pilot-team,
    .pilot-methods,
    .mv-grid,
    .principles,
    .team-grid,
    .atlas-next {
        grid-template-columns: 1fr;
    }

    .mv-card + .mv-card {
        border-inline-start: none;
        padding-inline-start: 0;
        border-top: 1px solid var(--rule-strong);
        margin-top: 2rem;
    }

    .principle:nth-child(even) {
        padding-inline-start: 0;
        border-inline-start: none;
    }

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

    .article-meta-info {
        flex-direction: column;
        gap: 0.4rem;
    }

    .article-navigation {
        flex-direction: column;
    }

    .article-navigation .btn {
        width: 100%;
    }

    /* Atlas: harita tam ekran, panel üstte açılır, cetvel altta */
    .atlas-stage {
        --pad: 10px;
        --time-h: 196px;
        min-height: 560px;
    }

    .atlas-panel {
        width: auto;
        inset-inline-end: var(--pad);
    }

    .atlas-panel h1 {
        font-size: 1.45rem;
    }

    /* Yakınlaştırma ve kaynak bilgisi kapalı panelin altına insin */
    .atlas-map .leaflet-top {
        top: 94px;
    }

    .atlas-map .leaflet-control-zoom {
        margin-top: 0;
    }

    .atlas-time {
        padding: 0.65rem 0.8rem 0.45rem;
    }

    .time-head {
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
    }

    .time-ah {
        font-size: 1.25rem;
    }

    .time-controls {
        flex-wrap: nowrap;
    }

    .time-sizes {
        overflow-x: auto;
        scrollbar-width: none;
        flex: 1;
        min-width: 0;
    }

    .time-sizes .chip {
        white-space: nowrap;
    }

    .time-dhahabi span {
        display: none;
    }

    .time-tick:nth-child(odd):not(.is-start) {
        display: none;
    }

    .method-grid {
        grid-template-columns: 1fr;
    }

    .method-item,
    .method-item + .method-item {
        padding-inline-start: 0;
        border-inline-start: none;
    }

    .footer-content {
        grid-template-columns: 1fr;
    }
}

/* ---- 480px ve altı ---- */
@media (max-width: 480px) {
    .ledger {
        grid-template-columns: 1fr;
    }

    .ledger > div,
    .ledger > div + div {
        padding: 1.1rem 0;
        border-inline-start: none;
    }

    .ledger > div + div {
        border-top: 1px solid var(--rule);
    }

    .hero-actions {
        gap: 1.4rem;
    }

    .btn {
        min-height: 48px;
    }

    .invite {
        padding: 1.6rem;
    }
}

/* ---- Yazdırma: makale ve sayfalar temiz çıktı versin ---- */
@media print {
    @page {
        margin: 2cm 2.2cm;
    }

    body {
        background: #fff;
        color: #000;
        font-size: 11pt;
    }

    body::before,
    .navbar,
    .footer,
    .skip-link,
    .scroll-progress,
    .hamburger,
    .breadcrumb,
    .article-navigation,
    .hero-globe,
    .invite-section,
    .contact-form,
    .atlas-stage {
        display: none !important;
    }

    .js [data-reveal] {
        opacity: 1 !important;
        transform: none !important;
    }

    .section,
    .article-content,
    .page-header {
        padding: 0 0 1.5rem;
    }

    .section-sunk {
        background: none;
    }

    h1, h2, h3 {
        color: #000;
        break-after: avoid;
    }

    p, li, blockquote {
        orphans: 3;
        widows: 3;
    }

    .article-body {
        font-size: 11pt;
        color: #000;
    }

    .article-body a[href^="http"]::after {
        content: ' (' attr(href) ')';
        font-family: var(--font-mono);
        font-size: 8pt;
        color: #555;
    }

    .frame {
        box-shadow: none;
        outline: none;
    }
}
