/*
 * ARIENT ziyaretçi arayüzü — yalnızca tablet ve mobil kırılımları
 * Ortak ve masaüstü kuralları desktop.css dosyasındadır. Her iki dosya da
 * ziyaretçi sayfasında birlikte yüklenir; bu dosyadaki kurallar yalnızca
 * ilgili medya sorgularında devreye girer.
 */
@media (max-width: 1120px) {
    :root { --header-height: 80px; }
    .menu-toggle { display: block; }
    .primary-nav { position: fixed; inset: 0 0 0 auto; z-index: 120; width: min(420px, 100%); height: 100vh; display: flex; flex-direction: column; align-items: stretch; gap: 2px; padding: 26px; background: var(--mobile-menu-bg-color, #001426); box-shadow: -30px 0 80px var(--shadow-color, rgba(0,0,0,.28)); transform: translateX(105%); transition: transform 350ms ease; overflow-y: auto; }
    .primary-nav.is-open { transform: none; }
    .mobile-nav-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 30px; padding-bottom: 18px; border-bottom: 1px solid var(--border-color, #16445f); }
    .mobile-nav-head strong { color: var(--heading-color, #fff); font-size: 20px; }
    .mobile-nav-head button { width: 40px; height: 40px; border: 1px solid var(--border-color, #16445f); border-radius: 50%; background: transparent; color: var(--heading-color, #fff); }
    .primary-nav > a, .nav-dropdown-toggle { width: 100%; min-height: 54px; justify-content: space-between; padding: 12px 4px; border-bottom: 1px solid var(--divider-color, #16445f); font-size: 16px; text-align: left; }
    .primary-nav > a::after, .nav-dropdown-toggle::after { display: none; }
    .nav-cta { margin: 20px 0 0; justify-content: center !important; border-bottom: 1px solid var(--button-border-color, #00ffff) !important; }
    .nav-dropdown-menu { position: static; display: none; min-width: 0; margin: 0 0 10px 12px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
    .nav-dropdown.is-open .nav-dropdown-menu { display: block; }
    .mobile-socials { display: flex; gap: 10px; margin-top: auto; padding-top: 28px; }
    .mobile-socials a { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--border-color, #16445f); border-radius: 50%; color: var(--accent-color, #00ffff); }
    .hero-slide-inner { grid-template-columns: 1fr; min-height: auto; padding: 95px 0 150px; }
    .hero-stage { min-height: 440px; max-width: 640px; width: 100%; margin: -20px auto 0; }
    .hero-copy h1, .hero-copy .hero-slide-title { max-width: 900px; }
    .editorial-heading { grid-template-columns: 1fr; gap: 28px; }
    .service-grid, .service-grid-wide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .process-section .container, .faq-layout { grid-template-columns: 1fr; gap: 55px; }
    .process-intro, .faq-intro { position: static; }
    .about-grid { gap: 55px; }
    .reference-grid, .reference-grid-archive { grid-template-columns: 1fr; }
    .contact-grid, .content-layout, .detail-hero-grid { grid-template-columns: 1fr; }
    .detail-symbol { min-height: var(--detail-symbol-min-height-mobile, 280px); }
    .content-aside { position: static; }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .cta-inner { grid-template-columns: 90px 1fr; }
    .cta-inner > .btn-site { grid-column: 2; justify-self: start; }
}

@media (max-width: 760px) {
    .container, .narrow { width: min(calc(100% - 30px), var(--container)); }
    .section { padding: 82px 0; }
    .header-shell { min-height: 72px; }
    .brand img { max-width: 155px; max-height: 46px; }
    .brand-copy strong { font-size: 17px; }
    .hero { min-height: auto; }
    .hero-swiper { min-height: 0; }
    .hero-slide-inner { padding: 74px 0 130px; gap: 40px; }
    .hero-copy h1, .hero-copy .hero-slide-title { font-size: var(--slide-title-size-mobile, 42px); }
    .hero-copy > p { font-size: var(--slide-description-size-mobile, 16px); }
    .hero-actions { flex-direction: column; align-items: stretch; }
    .hero-stage { min-height: 360px; }
    .hero-stage-card { min-width: 145px; padding: 13px; }
    .card-top { right: 0; }
    .card-bottom { left: 0; }
    .hero-controls { bottom: 25px; }
    .hero-index { display: none; }
    .hero-side-word { display: none; }
    .logo-ribbon-item { width: 185px; height: 76px; }
    .metrics-grid { grid-template-columns: repeat(2, 1fr); }
    .metrics-grid article { min-height: 160px; border-bottom: 1px solid var(--divider-color, #16445f); }
    .metrics-grid article:nth-child(2n) { border-right: 0; }
    .editorial-heading h2, .process-intro h2, .about-copy h2, .faq-intro h2 { font-size: 43px; }
    .service-grid, .service-grid-wide { grid-template-columns: 1fr; }
    .service-card { min-height: 340px; }
    .process-list article { grid-template-columns: 44px 1fr 28px; gap: 12px; }
    .process-list h3 { font-size: 22px; }
    .about-grid { grid-template-columns: 1fr; }
    .about-visual { min-height: 430px; }
    .about-values { grid-template-columns: 1fr; gap: 12px; margin: 30px 0 32px; }
    .about-value-item { grid-template-columns: 50px minmax(0, 1fr); min-height: 84px; padding: 15px 18px; border-radius: 18px; box-shadow: 0 14px 34px color-mix(in srgb, var(--shadow-color, rgba(0,0,0,.24)) 58%, transparent); }
    .about-value-item:hover { transform: none; }
    .about-value-icon { width: 50px; height: 50px; border-radius: 15px; font-size: 17px; }
    .about-value-copy strong { font-size: 15px; }
    .about-value-copy > span { margin-top: 2px; font-size: 11px; }
    .about-value-item small { top: 12px; right: 14px; font-size: 9px; }
    .reference-card { grid-template-columns: 1fr; }
    .reference-logo { min-height: 180px; border-right: 0; border-bottom: 1px solid var(--divider-color, #16445f); }
    .faq-item button { grid-template-columns: 38px 1fr 38px; gap: 8px; }
    .faq-item button strong { font-size: 16px; }
    .faq-item.is-open .faq-answer > p { padding: 0 44px 24px 46px; }
    .blog-grid { grid-template-columns: 1fr; }
    .cta-inner { grid-template-columns: 1fr; }
    .cta-number { width: 78px; height: 78px; padding: 13px; }
    .cta-title { font-size: var(--cta-title-size-mobile, 38px); }
    .cta-description { font-size: var(--cta-description-size-mobile, 14px); }
    .cta-inner > .btn-site { grid-column: 1; }
    .page-hero, .detail-hero { padding: 92px 0 72px; }
    .page-hero h1, .detail-hero h1 { font-size: 52px; }
    .page-hero p, .detail-hero p { font-size: 15px; }
    .page-hero-grid { grid-template-columns: 1fr; gap: 20px; }
    .form-row { grid-template-columns: 1fr; gap: 0; }
    .contact-form { padding: 24px; }
    .footer-topline { align-items: flex-start; flex-direction: column; justify-content: center; }
    .footer-topline span { font-size: var(--footer-topline-label-size-mobile, 12px); }
    .footer-grid { grid-template-columns: 1fr; gap: 34px; }
    .footer-bottom-inner { align-items: flex-start; flex-direction: column; padding: 18px 0; }
    .floating-whatsapp { right: 16px; bottom: 16px; }
    .back-to-top { right: 22px; bottom: 80px; }
}

@media (max-width: 430px) {
    .metrics-grid { grid-template-columns: 1fr; }
    .metrics-grid article { border-right: 0; }
    .hero-stage { min-height: 330px; }
    .hero-stage-card {
        display: block;
        width: clamp(116px, 41vw, 145px);
        min-width: 0;
        max-width: 44%;
        padding: 10px 11px;
        border-radius: 12px;
        box-sizing: border-box;
        background: color-mix(in srgb, var(--card-bg-color, #001a31) 94%, transparent);
        box-shadow: 0 12px 30px color-mix(in srgb, var(--shadow-color, rgba(0,0,0,.28)) 72%, transparent);
    }
    .hero-stage-card i { font-size: 13px; }
    .hero-stage-card span { font-size: 7.5px; line-height: 1.3; letter-spacing: .11em; }
    .hero-stage-card strong { margin-top: 3px; font-size: 12.5px; line-height: 1.2; }
    .card-top { top: 4%; right: 0; }
    .card-bottom { left: 0; bottom: 4%; }
    .hero-monogram { width: 62%; }
}

@media (max-width: 350px) {
    .hero-stage { min-height: 300px; }
    .hero-stage-card {
        width: clamp(108px, 40vw, 126px);
        max-width: 42%;
        padding: 9px 10px;
    }
    .hero-stage-card i { font-size: 12px; }
    .hero-stage-card span { font-size: 7px; }
    .hero-stage-card strong { font-size: 11.5px; }
    .card-top { top: 2%; right: 0; }
    .card-bottom { left: 0; bottom: 2%; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media(max-width:1050px){
    .reference-showcase-card,.reference-showcase-card.is-featured,.reference-showcase-card:nth-child(2),.reference-showcase-archive .reference-showcase-card,.reference-showcase-archive .reference-showcase-card.is-featured,.reference-showcase-archive .reference-showcase-card:nth-child(2){grid-column:span 6}
    .references-archive-heading{grid-template-columns:1fr;gap:24px}
}

@media(max-width:720px){
    .reference-showcase-card,.reference-showcase-card.is-featured,.reference-showcase-card:nth-child(2),.reference-showcase-archive .reference-showcase-card,.reference-showcase-archive .reference-showcase-card.is-featured,.reference-showcase-archive .reference-showcase-card:nth-child(2){grid-column:1/-1;min-height:280px}
    .reference-showcase-footer{align-items:flex-start;flex-direction:column}
    .reference-showcase-footer>span{font-size:var(--references-footer-text-size-mobile,11px)}
    .references-page-hero{padding:110px 0 80px}
    .references-hero-grid h1{font-size:clamp(48px,15vw,72px)}
    .references-hero-aside{margin-top:30px}
    .reference-ribbon-item{width:180px;height:90px}
    .reference-logo-only-card .reference-brand-plate{min-height:244px;padding:24px}
    .reference-logo-only-card .reference-brand-plate img{width:92%;height:125px;max-height:125px}
    .maintenance-page>.maintenance-shell{padding:34px 24px;border-radius:24px}
    .maintenance-brand{margin-bottom:36px}
    .maintenance-contact{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){.reference-logo-ribbon-track{animation:none}}

/* Additional full-responsive behavior */
@media (max-width: 1280px) {
    :root { --container: 1120px; }
    .section { padding-block: clamp(5rem, 8vw, 7rem); }
    .hero-slide-inner { gap: clamp(2.5rem, 5vw, 4.5rem); }
    .editorial-heading { gap: clamp(2rem, 5vw, 5rem); }
}

@media (max-width: 900px) {
    .container,
    .narrow { width: min(calc(100% - 2rem), var(--container)); }
    .section { padding-block: clamp(4.25rem, 10vw, 5.5rem); }
    .hero-copy h1,
    .hero-copy .hero-slide-title,
    .page-hero h1,
    .detail-hero h1,
    .references-hero-grid h1 { overflow-wrap: anywhere; }
    .contact-grid { gap: 2.5rem; }
    .verification-row { grid-template-columns: 1fr minmax(0, 1.2fr) auto; }
    .footer-grid { gap: 2.5rem; }
}

@media (max-width: 640px) {
    html { font-size: 16px; }
    .container,
    .narrow { width: min(calc(100% - 1.5rem), var(--container)); }
    .section { padding-block: 4.25rem; }
    .site-header { backdrop-filter: none; }
    .header-shell { gap: .75rem; }
    .brand { min-width: 0; max-width: calc(100% - 60px); }
    .brand img { width: auto; height: auto; }
    .primary-nav { width: min(92vw, 390px); padding: 1.25rem; }
    .primary-nav > a,
    .nav-dropdown-toggle { min-height: 52px; font-size: 1rem; }
    .btn-site { width: 100%; min-height: 50px; }
    .hero-actions .btn-site { justify-content: center; }
    .hero-copy h1, .hero-copy .hero-slide-title { font-size: var(--slide-title-size-mobile, 42px); }
    .hero-copy > p { font-size: 1rem; }
    .hero-proof { align-items: flex-start; }
    .hero-stage { min-height: clamp(270px, 78vw, 350px); }
    .editorial-heading h2,
    .process-intro h2,
    .about-copy h2,
    .faq-intro h2,
    .references-archive-heading h2 { font-size: clamp(2.25rem, 10vw, 3.2rem); }
    .service-card { min-height: 310px; padding: 1.35rem; }
    .process-list article { min-height: auto; padding-block: 24px; }
    .about-visual { min-height: min(105vw, 410px); }
    .about-values { gap: 10px; margin-top: 28px; }
    .about-value-item { min-height: 80px; padding: 14px 16px; }
    .about-value-item::after { right: -36px; bottom: -48px; }
    .faq-item button { min-height: 88px; }
    .contact-info h2 { font-size: clamp(2.25rem, 10vw, 3rem); }
    .contact-form { padding: 1.1rem; }
    .verification-row { grid-template-columns: 1fr auto; }
    .verification-code { grid-column: 1 / -1; }
    .verification-input-wrap { grid-column: 1; }
    .verification-refresh { grid-column: 2; }
    .map-section iframe { height: 340px; }
    .footer-topline a { font-size: clamp(1.05rem, 5vw, 1.3rem); }
    .footer-grid { padding-block: 3.5rem; }
    .floating-whatsapp { width: 50px; height: 50px; }
    .admin-preview-bar { left: .65rem; right: .65rem; bottom: .65rem; justify-content: center; font-size: .72rem; }
}

@media (max-width: 380px) {
    .container,
    .narrow { width: min(calc(100% - 1rem), var(--container)); }
    .primary-nav { width: 100vw; }
    .hero-copy h1, .hero-copy .hero-slide-title { font-size: var(--slide-title-size-mobile, 42px); }
    .metrics-grid { grid-template-columns: 1fr; }
    .contact-form { padding: .9rem; }
    .verification-code { letter-spacing: .16em; }
}

@media (hover: none) and (pointer: coarse) {
    .btn-site:hover,
    .service-card:hover,
    .blog-card:hover,
    .reference-showcase-card:hover { transform: none; }
    .primary-nav > a,
    .nav-dropdown-toggle,
    .faq-item button,
    .footer-socials a { min-height: 44px; }
}

/* R5: Slider altı akış responsive */
@media(max-width:1100px){
    .hero-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .hero-flow-item:nth-child(2n){border-right:1px solid var(--divider-color,#16445f)}
    .hero-flow-item:nth-child(n+3){border-top:1px solid var(--divider-color,#16445f)}
}
@media(max-width:640px){
    .hero-flow-grid{grid-template-columns:1fr}
    .hero-flow-item{min-height:auto;padding:20px 18px;border-left:1px solid var(--divider-color,#16445f);border-right:1px solid var(--divider-color,#16445f)}
    .hero-flow-item+ .hero-flow-item{border-top:1px solid var(--divider-color,#16445f)}
    .page-hero,.detail-hero{padding:58px 0 42px}
    .page-hero h1,.detail-hero h1{font-size:clamp(34px,11vw,48px)}
    .references-page-hero{padding:64px 0 48px}
}



/* R7: FAQ page and preview responsive rules */
@media(max-width:900px){
    .faq-archive-layout{grid-template-columns:1fr;gap:42px}
    .faq-archive-aside{position:static}
    .faq-question-bubble{width:fit-content}
}
@media(max-width:640px){
    .faq-item button{min-height:80px;grid-template-columns:38px 1fr 38px;gap:10px;padding:16px 0}
    .faq-item button strong{font-size:16px}
    .faq-item button i{width:36px;height:36px}
    .faq-item.is-open .faq-answer>p{padding:0 44px 24px 48px}
}

/* R8 mobile FAQ and floating controls */
@media(max-width:900px){
    .faq-section .faq-intro{position:static;padding:28px}
    .faq-section .faq-intro h2{max-width:none}
    .faq-list-actions{margin-top:18px}
}
@media(max-width:640px){
    .faq-question-bubble{width:100%;justify-content:flex-start}
    .faq-list-actions .faq-all-button{width:100%;min-width:0}
    .faq-section .faq-list{padding-inline:15px;border-radius:18px}
    .floating-whatsapp{left:16px;right:auto;bottom:16px}
    .back-to-top{right:12px;bottom:12px;width:54px;height:54px;font-size:18px}
}

/* Yönetici ziyaretçi önizlemesi — mobil */
@media(max-width:760px){
    body.is-admin-preview .admin-preview-bar{
        top:var(--header-height,72px);
        max-width:calc(100vw - 8px);
        min-height:36px;
        padding:7px 10px;
        font-size:10px;
    }
}

/* R16: mobil iletişim telefonu ve CTA */
@media(max-width:1120px){
    .contact-form .iti__country-selector{position:fixed!important;left:12px!important;right:12px!important;top:50%!important;width:auto!important;min-width:0!important;max-height:min(72vh,560px);transform:translateY(-50%)}
    .contact-form .iti__country-list{max-height:min(55vh,420px)}
    .cta-description{font-size:var(--cta-description-size-mobile,14px)}
}


/* R18: tüm ziyaretçi bileşenleri için mobil taşma ve dokunma iyileştirmeleri */
@media (max-width: 1120px) {
    .cta-inner { grid-template-columns: 90px minmax(0, 1fr); gap: 28px; }
    .cta-inner > .cta-button { grid-column: 2; justify-self: start; width: auto; }
    .footer-grid > *, .contact-grid > *, .about-grid > *, .detail-hero-grid > *, .content-layout > * { min-width: 0; }
}

@media (max-width: 760px) {
    .cta-section { padding: 72px 0; }
    .cta-inner { grid-template-columns: 1fr; gap: 24px; }
    .cta-number { width: 76px; height: 76px; }
    .cta-copy { width: 100%; }
    .cta-title { max-width: 100%; font-size: var(--cta-title-size-mobile, 38px); }
    .cta-description { max-width: 100%; font-size: var(--cta-description-size-mobile, 14px); }
    .cta-inner > .cta-button { grid-column: 1; width: 100%; justify-self: stretch; }
    .consent-field { display: grid !important; grid-template-columns: 48px minmax(0, 1fr); align-items: start; }
    .check-field-copy { font-size: 11px; }
    .rich-content table { display: block; width: 100%; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .rich-content img, .rich-content iframe, .rich-content video { max-width: 100%; height: auto; }
    .article-meta { flex-wrap: wrap; }
    .footer-bottom-inner div { flex-wrap: wrap; }
}

@media (max-width: 480px) {
    .cta-section::after { right: -12%; bottom: -8%; font-size: 100px; }
    .cta-title { line-height: 1.06; letter-spacing: -.035em; }
    .contact-list strong, .footer-topline a, .footer-grid a, .footer-grid p { overflow-wrap: anywhere; }
    .contact-form input, .contact-form textarea, .contact-form select { min-width: 0; font-size: 16px; }
    .contact-form .iti input[data-intl-phone] { padding-left: 98px !important; }
    .verification-row { gap: 10px; }
    .verification-refresh { width: 46px; min-width: 46px; }
    .faq-item button strong, .service-card h3, .service-card h2, .blog-card h3, .blog-card h2 { overflow-wrap: anywhere; }
    .footer-socials a { max-width: 100%; overflow-wrap: anywhere; }
}

/* R22: footer iletişim alanı mobil */
@media(max-width:768px){
    .footer-contact-list{gap:10px}
    .site-footer .footer-contact-list .footer-contact-item{min-height:44px}
    .footer-contact-icon{flex-basis:40px;width:40px;height:40px;border-radius:12px;font-size:14px}
    .footer-contact-copy{justify-content:center;min-height:40px}
    .footer-contact-copy strong{font-size:12px}
}

/* R24: Mobil footer sütunları ve yasal bağlantı hizası */
@media (max-width: 760px) {
    .footer-grid {
        grid-template-columns: minmax(104px, .72fr) minmax(0, 1.28fr);
        column-gap: 14px;
        row-gap: 34px;
    }
    .footer-intro,
    .footer-note {
        grid-column: 1 / -1;
    }
    .footer-links {
        grid-column: 1;
        min-width: 0;
    }
    .footer-contact {
        grid-column: 2;
        min-width: 0;
    }
    .footer-links > a {
        font-size: 11px;
        overflow-wrap: anywhere;
    }
    .footer-contact-list {
        gap: 8px;
    }
    .site-footer .footer-contact-list .footer-contact-item {
        gap: 8px;
    }
    .footer-contact-icon {
        flex-basis: 34px;
        width: 34px;
        height: 34px;
        border-radius: 10px;
        font-size: 12px;
    }
    .footer-contact-copy {
        min-height: 34px;
    }
    .footer-contact-copy strong {
        font-size: 10px;
        line-height: 1.45;
    }
    .footer-bottom-inner .footer-legal {
        align-self: center;
        justify-content: center;
        width: 100%;
        text-align: center;
    }
    .other-services-heading {
        align-items: stretch;
        flex-direction: column;
        gap: 22px;
    }
    .other-services-all {
        width: fit-content;
    }
    .other-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .other-service-card {
        grid-template-columns: 44px minmax(0, 1fr) 22px;
        min-height: 170px;
        gap: 13px;
        padding: 20px;
    }
    .other-service-icon {
        width: 44px;
        height: 44px;
        font-size: 15px;
    }
    .other-service-copy strong {
        font-size: 17px;
    }
}

@media (max-width: 560px) {
    .other-services-grid {
        grid-template-columns: 1fr;
    }
    .other-services-all {
        width: 100%;
    }
}

@media (max-width: 360px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }
    .footer-intro,
    .footer-links,
    .footer-contact,
    .footer-note {
        grid-column: 1;
    }
}

/* R24: Hizmetler sayfası banner mobil yazı boyutları panelden yönetilir. */
@media (max-width: 760px) {
    .page-hero.services-page-hero .eyebrow {
        font-size: var(--services-banner-eyebrow-size-mobile, 12px);
    }
    .page-hero.services-page-hero h1 {
        font-size: var(--services-banner-title-size-mobile, 44px);
    }
    .page-hero.services-page-hero p {
        font-size: var(--services-banner-description-size-mobile, 15px);
    }
}

@media(hover:none){
    .logo-ribbon-item:hover img{filter:none;opacity:1}
}

/* R35: Referans vitrini mobil metinleri ve aktif menü göstergesi */
@media (max-width: 760px) {
    .references-archive-heading > .eyebrow {
        font-size: var(--references-showcase-eyebrow-size-mobile, 12px);
    }
    .references-archive-heading-copy h2 {
        font-size: var(--references-showcase-title-size-mobile, 46px);
    }
    .references-archive-heading-copy p {
        margin-top: 18px;
        font-size: var(--references-showcase-description-size-mobile, 15px);
        line-height: 1.65;
    }
}
@media (max-width: 1100px) {
    .primary-nav > a.is-active:not(.nav-cta),
    .primary-nav > a[aria-current="page"]:not(.nav-cta),
    .nav-dropdown-toggle.is-active {
        border-bottom-color: var(--menu-active-color, #00ffff);
        box-shadow: inset 0 -2px 0 var(--menu-active-color, #00ffff);
    }
    .nav-dropdown-menu a.is-active,
    .nav-dropdown-menu a[aria-current="page"] {
        background: var(--dropdown-hover-bg-color, #07304a);
        box-shadow: inset 3px 0 0 var(--menu-active-color, #00ffff);
    }
}
