/* O'Wellness Beytepe — sayfa içi (inline) referans stilleri + tema ekleri. Referans: owellness.tr/sky */
/* ==== from sky ==== */
/* ══════════════════════════════════════════════
Ultra Premium Hero Overrides
══════════════════════════════════════════════ */

/* Cinematic overlay: left vignette + bottom fade */
.sky-hero-overlay {
background:
linear-gradient(105deg,
rgba(10,7,5,.92) 0%,
rgba(10,7,5,.6) 40%,
rgba(10,7,5,.15) 70%,
transparent 100%),
linear-gradient(to top,
rgba(10,7,5,.98) 0%,
rgba(10,7,5,.4) 35%,
transparent 65%);
}

/* Film grain texture */
.sky-hero-grain {
position: absolute;
inset: 0;
z-index: 2;
pointer-events: none;
opacity: .045;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
background-size: 220px;
background-repeat: repeat;
}

/* Content: left-aligned, lower third */
.sky-hero-content {
position: absolute;
left: 0;
right: 0;
bottom: 110px;
top: auto;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: flex-end;
text-align: left;
padding: 0 clamp(32px, 7vw, 110px);
z-index: 5;
}

/* Title / Logo */
.sky-hero-title {
margin-bottom: 16px;
animation: fadeInUp .7s ease .25s both;
}
.sky-hero-logo {
height: clamp(50px, 9vw, 110px);
width: auto;
display: block;
filter: brightness(0) invert(1);
}

/* Subtitle */
.sky-hero-subtitle {
max-width: 420px;
font-size: clamp(13px, 1.1vw, 15px);
color: rgba(255,255,255,.5);
line-height: 1.8;
margin-bottom: 28px;
animation: fadeInUp .7s ease .4s both;
}

/* Actions */
.sky-hero-actions {
justify-content: flex-start;
animation: fadeInUp .7s ease .55s both;
}

/* ── Bottom bar ── */
.sky-hero-bottom {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 76px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 clamp(32px, 7vw, 110px);
background: rgba(10,7,5,.55);
backdrop-filter: blur(24px);
-webkit-backdrop-filter: blur(24px);
border-top: 1px solid rgba(255,255,255,.07);
z-index: 6;
animation: fadeIn 1s ease .8s both;
}

.sky-hero-stats {
display: flex;
align-items: center;
gap: 0;
flex-wrap: nowrap;
overflow: hidden;
}
.sky-stat {
display: flex;
flex-direction: column;
gap: 2px;
padding: 0 28px;
flex-shrink: 0;
}
.sky-stat:first-child { padding-left: 0; }
.sky-stat-num {
font-size: 13px;
font-weight: 600;
color: rgba(255,255,255,.9);
letter-spacing: .02em;
white-space: nowrap;
}
.sky-stat-label {
font-size: 9px;
color: rgba(255,255,255,.3);
letter-spacing: .18em;
text-transform: uppercase;
white-space: nowrap;
}
.sky-stat-sep {
width: 1px;
height: 32px;
background: rgba(255,255,255,.1);
flex-shrink: 0;
}

/* Scroll hint */
.sky-scroll-hint {
display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
flex-shrink: 0;
}
.sky-scroll-line {
width: 1px;
height: 28px;
background: linear-gradient(to bottom, rgba(201,169,110,.7), transparent);
animation: scrollPulse 2.2s ease-in-out infinite;
transform-origin: top;
}
@keyframes scrollPulse {
0%, 100% { opacity: .35; transform: scaleY(.7); }
50% { opacity: 1; transform: scaleY(1); }
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}

/* Mobile: center hero content, hide actions & bottom bar */
@media (max-width: 768px) {
.sky-hero-content {
bottom: 0;
top: 0;
padding: 0 32px;
align-items: center;
justify-content: center;
text-align: center;
}
.sky-hero-subtitle { display: none; }
.sky-hero-actions { display: none !important; }
.sky-hero-bottom { display: none; }
.sky-hero-logo { height: clamp(50px, 14vw, 80px); }
}

/* ==== from sky ==== */
.cookie-consent {
        position: fixed;
        bottom: 16px;
        left: 50%;
        z-index: 9998;
        max-width: 640px;
        width: calc(100% - 32px);
        background: rgba(15, 13, 10, 0.88);
        backdrop-filter: blur(18px) saturate(140%);
        -webkit-backdrop-filter: blur(18px) saturate(140%);
        border: 1px solid rgba(201, 169, 110, 0.18);
        border-radius: 999px;
        box-shadow: 0 12px 40px -8px rgba(0, 0, 0, 0.55);
        opacity: 0;
        transform: translate(-50%, 16px);
        transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        pointer-events: none;
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    }

    .cookie-consent.show {
        opacity: 1;
        transform: translate(-50%, 0);
        pointer-events: auto;
    }

    .cookie-consent-inner {
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 8px 10px 8px 18px;
    }

    .cookie-consent-icon {
        flex-shrink: 0;
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background: rgba(201, 169, 110, 0.12);
        display: flex;
        align-items: center;
        justify-content: center;
        color: #c9a96e;
    }

    .cookie-consent-icon svg {
        width: 16px;
        height: 16px;
    }

    .cookie-consent-body {
        flex: 1;
        min-width: 0;
    }

    .cookie-consent-eyebrow {
        font-size: 9.5px;
        font-weight: 700;
        letter-spacing: 1.6px;
        text-transform: uppercase;
        color: #c9a96e;
        margin-bottom: 4px;
        line-height: 1;
    }

    .cookie-consent-text {
        font-size: 12.5px;
        line-height: 1.5;
        color: rgba(255, 255, 255, 0.78);
        margin: 0;
    }

    .cookie-consent-text a {
        color: #c9a96e;
        text-decoration: none;
        border-bottom: 1px solid rgba(201, 169, 110, 0.4);
        transition: border-color 0.2s ease;
    }

    .cookie-consent-text a:hover {
        border-bottom-color: #c9a96e;
    }

    .cookie-consent-actions {
        display: flex;
        align-items: center;
        gap: 4px;
        flex-shrink: 0;
    }

    .cookie-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 8px 18px;
        font-family: inherit;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.8px;
        text-transform: uppercase;
        border-radius: 999px;
        border: none;
        cursor: pointer;
        transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
        background: linear-gradient(135deg, #c9a96e 0%, #b89254 100%);
        color: #0a0705;
        white-space: nowrap;
    }

    .cookie-btn:hover {
        transform: translateY(-1px);
        box-shadow: 0 4px 12px -2px rgba(201, 169, 110, 0.5);
    }

    .cookie-btn:active {
        transform: translateY(0);
    }

    .cookie-consent-close {
        flex-shrink: 0;
        width: 26px;
        height: 26px;
        background: transparent;
        border: none;
        color: rgba(255, 255, 255, 0.4);
        font-size: 18px;
        line-height: 1;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: color 0.2s ease;
        font-family: inherit;
        border-radius: 50%;
    }

    .cookie-consent-close:hover {
        color: #c9a96e;
    }

    @media (max-width: 640px) {
        .cookie-consent {
            border-radius: 14px;
        }

        .cookie-consent-inner {
            flex-wrap: wrap;
            padding: 12px 14px 12px 16px;
            gap: 10px;
        }

        .cookie-consent-icon {
            width: 24px;
            height: 24px;
        }

        .cookie-consent-icon svg {
            width: 14px;
            height: 14px;
        }

        .cookie-consent-text {
            font-size: 12px;
            flex: 1 1 100%;
            order: 2;
        }

        .cookie-consent-icon {
            order: 1;
        }

        .cookie-consent-close {
            order: 1;
            margin-left: auto;
        }

        [dir="rtl"] .cookie-consent-close {
            margin-left: 0;
            margin-right: auto;
        }

        .cookie-consent-actions {
            order: 3;
            width: 100%;
            justify-content: flex-end;
        }

        .cookie-btn {
            padding: 8px 16px;
            font-size: 10.5px;
        }
    }

/* ==== from sky-classes ==== */
.lm-overlay {
        display: none;
        position: fixed;
        z-index: 99999;
        inset: 0;
        background: rgba(0, 0, 0, 0.8);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        animation: lmFadeIn 0.3s ease;
    }

    .lm-dialog {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        max-width: 440px;
        background: #141211;
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 24px;
        overflow: hidden;
        animation: lmSlideIn 0.45s cubic-bezier(0.16, 1, 0.3, 1);
        box-shadow: 0 40px 100px rgba(0, 0, 0, 0.6);
    }

    .lm-gold-line {
        height: 2px;
        background: linear-gradient(90deg, transparent 10%, var(--brand-gold) 50%, transparent 90%);
    }

    .lm-close {
        position: absolute;
        top: 20px;
        right: 20px;
        z-index: 10;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        border: 1px solid rgba(255, 255, 255, 0.08);
        background: rgba(255, 255, 255, 0.04);
        color: rgba(255, 255, 255, 0.4);
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: all 0.3s ease;
    }

    .lm-close:hover {
        background: rgba(255, 255, 255, 0.1);
        color: #fff;
        transform: rotate(90deg);
    }

    .lm-header {
        padding: 40px 40px 0;
        text-align: center;
    }

    .lm-brand {
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 4px;
        color: var(--brand-gold);
        margin-bottom: 16px;
        opacity: 0.7;
    }

    .lm-title {
        font-size: 22px;
        font-weight: 700;
        color: #fff;
        margin: 0 0 10px;
        letter-spacing: -0.02em;
    }

    .lm-subtitle {
        font-size: 13px;
        color: rgba(255, 255, 255, 0.45);
        line-height: 1.6;
        margin: 0;
        max-width: 85%;
        margin-left: auto;
        margin-right: auto;
    }

    .lm-form {
        padding: 32px 40px 24px;
    }

    .lm-field {
        position: relative;
        margin-bottom: 20px;
    }

    .lm-field label {
        display: block;
        margin-bottom: 8px;
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 1.2px;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.4);
        transition: color 0.3s ease;
    }

    .lm-field input {
        width: 100%;
        padding: 14px 18px;
        background: rgba(255, 255, 255, 0.04);
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 12px;
        color: #fff;
        font-family: 'Inter', sans-serif;
        font-size: 15px;
        outline: none;
        transition: all 0.3s ease;
    }

    .lm-field input::placeholder {
        color: rgba(255, 255, 255, 0.2);
    }

    .lm-field input:focus {
        border-color: rgba(201, 169, 110, 0.4);
        background: rgba(201, 169, 110, 0.04);
    }

    .lm-field:focus-within label {
        color: var(--brand-gold);
    }

    .lm-submit {
        width: 100%;
        margin-top: 8px;
        padding: 16px;
        font-family: 'Inter', sans-serif;
        font-size: 13px;
        letter-spacing: 2px;
        font-weight: 700;
        text-transform: uppercase;
        background: var(--brand-gold);
        border: none;
        border-radius: 12px;
        color: #0a0705;
        cursor: pointer;
        transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
        position: relative;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }

    .lm-submit:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 32px rgba(201, 169, 110, 0.3);
    }

    .lm-submit:active {
        transform: translateY(0);
    }

    .lm-submit:disabled {
        opacity: 0.6;
        cursor: not-allowed;
        transform: none;
        box-shadow: none;
    }

    .lm-submit-loading svg {
        animation: lmSpin 1s linear infinite;
    }

    .lm-message {
        margin-top: 16px;
        text-align: center;
        font-size: 13px;
        display: none;
        padding: 12px 16px;
        border-radius: 10px;
    }

    .lm-message.success {
        display: block;
        background: rgba(76, 175, 80, 0.1);
        border: 1px solid rgba(76, 175, 80, 0.2);
        color: #66bb6a;
    }

    .lm-message.error {
        display: block;
        background: rgba(244, 67, 54, 0.1);
        border: 1px solid rgba(244, 67, 54, 0.2);
        color: #ef5350;
    }

    .lm-footer {
        padding: 0 40px 28px;
        text-align: center;
        font-size: 11px;
        color: rgba(255, 255, 255, 0.25);
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
    }

    .lm-footer svg {
        color: rgba(255, 255, 255, 0.2);
        flex-shrink: 0;
    }

    .lm-footer a {
        color: rgba(255, 255, 255, 0.35);
        text-decoration: underline;
        text-underline-offset: 2px;
    }

    @media (max-width: 500px) {
        .lm-dialog {
            width: 92%;
            border-radius: 20px;
        }

        .lm-header {
            padding: 32px 28px 0;
        }

        .lm-form {
            padding: 24px 28px 20px;
        }

        .lm-footer {
            padding: 0 28px 24px;
        }
    }

    @keyframes lmFadeIn {
        from {
            opacity: 0;
        }

        to {
            opacity: 1;
        }
    }

    @keyframes lmSlideIn {
        from {
            transform: translate(-50%, -45%);
            opacity: 0;
        }

        to {
            transform: translate(-50%, -50%);
            opacity: 1;
        }
    }

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

/* ==== from sky-contact ==== */
/* ── Grid ── */
.cp-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: stretch;
}
.cp-left {
display: flex;
flex-direction: column;
}
.cp-left-header { margin-bottom: 28px; }
.cp-right {
display: flex;
flex-direction: column;
}

/* ── Form Card ── */
.cp-form-card {
flex: 1;
display: flex;
flex-direction: column;
background: rgba(255,255,255,.025);
border: 1px solid rgba(255,255,255,.07);
border-radius: 20px;
padding: 36px 32px;
gap: 12px;
}

/* ── Icon Fields ── */
.cp-field {
position: relative;
display: flex;
align-items: center;
}
.cp-field-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}
.cp-field-icon {
position: absolute;
left: 16px;
top: 50%;
transform: translateY(-50%);
display: flex;
pointer-events: none;
z-index: 1;
}
.cp-field-icon svg {
width: 15px;
height: 15px;
fill: rgba(201,169,110,.5);
transition: fill .3s;
}
.cp-field-icon-top {
top: 18px;
transform: none;
}
.cp-field input,
.cp-field select,
.cp-field textarea {
width: 100%;
padding: 15px 16px 15px 44px;
background: rgba(255,255,255,.04);
border: 1px solid rgba(255,255,255,.08);
border-radius: 12px;
color: #fff;
font-size: 14px;
font-family: 'Inter', sans-serif;
outline: none;
transition: border-color .3s, background .3s, box-shadow .3s;
-webkit-appearance: none;
appearance: none;
}
.cp-field input::placeholder,
.cp-field textarea::placeholder {
color: rgba(255,255,255,.22);
}
.cp-field input:focus,
.cp-field select:focus,
.cp-field textarea:focus {
border-color: rgba(201,169,110,.5);
background: rgba(255,255,255,.06);
box-shadow: 0 0 0 3px rgba(201,169,110,.07);
}
.cp-field:focus-within .cp-field-icon svg { fill: rgba(201,169,110,.9); }
.cp-field-select select {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23C9A96E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 14px center;
background-size: 14px;
color: rgba(255,255,255,.35);
}
.cp-field-select select option { background: #1a1510; color: #fff; }
.cp-field-textarea { align-items: flex-start; }
.cp-field-textarea textarea { resize: vertical; min-height: 110px; flex: 1; }

/* ── Map ── */
.cp-map {
height: 280px;
border-radius: 16px;
overflow: hidden;
flex-shrink: 0;
margin-bottom: 0;
}

/* ── Info Box ── */
.cp-info-box {
flex: 1;
background: rgba(255,255,255,.02);
border: 1px solid rgba(255,255,255,.07);
border-radius: 16px;
padding: 28px 24px;
margin-top: 16px;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.cp-info-strip { display: flex; flex-direction: column; gap: 0; }
.cp-info-item {
padding: 16px 0;
border-bottom: 1px solid rgba(255,255,255,.06);
}
.cp-info-item:last-child { border-bottom: none; padding-bottom: 0; }
.cp-info-item .ch-item-label {
font-size: 10px;
font-weight: 700;
letter-spacing: 2px;
text-transform: uppercase;
color: rgba(255,255,255,.3);
margin-bottom: 6px;
}
.cp-info-item .ch-item-value {
font-size: 13px;
color: rgba(255,255,255,.8);
line-height: 1.7;
margin: 0;
}
.cp-info-item .ch-item-value a {
color: rgba(255,255,255,.8);
text-decoration: none;
transition: color .3s;
}
.cp-info-item .ch-item-value a:hover { color: var(--brand-gold); }

@media (max-width: 960px) {
.cp-grid { grid-template-columns: 1fr; gap: 40px; }
.cp-right { order: -1; }
.cp-map { height: 220px; }
.cp-form-card { padding: 28px 20px; }
.cp-field-row { grid-template-columns: 1fr; }
}
/* ==== Tema ekleri (WordPress) ==== */
.skip-link:focus{position:fixed;left:16px;top:16px;width:auto;height:auto;clip:auto;padding:10px 16px;background:var(--brand-gold);color:#000;z-index:10000;border-radius:6px}
.sky-header .sky-lang-dropdown .trp-language-switcher, .sky-lang-dropdown ul{list-style:none;margin:0;padding:0}
.sky-lang-dropdown .trp-ls-shortcode-language, .sky-lang-dropdown a{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:13px;white-space:nowrap}
.sky-lang-dropdown img{width:18px;height:auto}
.sky-header .sky-nav-links a.active{color:var(--brand-gold)}
.sky-mobile-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
/* breadcrumb */
.crumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:28px}
.crumb a{color:rgba(255,255,255,.55)}.crumb a:hover{color:var(--brand-gold)}.crumb-sep{color:rgba(255,255,255,.2)}
.cls-body-left .crumb{margin-bottom:20px}
/* form notices */
.form-notice{background:rgba(201,169,110,.12);border:1px solid rgba(201,169,110,.4);color:#fff;padding:14px 18px;border-radius:8px;margin-bottom:18px;font-size:14px}
.form-notice.is-error{background:rgba(220,60,60,.12);border-color:rgba(220,60,60,.5)}
.lm-message{display:none;margin-top:12px;font-size:13px;padding:10px 14px;border-radius:6px}
.lm-message.success{display:block;background:rgba(201,169,110,.12);border:1px solid rgba(201,169,110,.4);color:#fff}
.lm-message.error{display:block;background:rgba(220,60,60,.12);border:1px solid rgba(220,60,60,.5);color:#fff}
.ows-form input.is-invalid, .ows-form select.is-invalid{border-color:#d9534f!important}
.lm-field select{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);color:#fff;padding:14px 16px;border-radius:8px;font-family:inherit;font-size:14px}
.lm-field select option{color:#000}
.lm-overlay{align-items:center;justify-content:center}
.lm-overlay.is-open{display:flex}
/* service split */
.svc-split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:48px;align-items:start}
.svc-aside{position:sticky;top:100px}
.branch-seo-prose h3{font-size:17px;color:var(--brand-gold);margin:28px 0 10px;font-weight:600}
.branch-seo-prose ul.cls-benefits{margin:0 0 18px}
.branch-seo-prose a{color:var(--brand-gold);text-decoration:underline;text-underline-offset:3px}
.branch-seo-prose strong{color:#fff}
.cls-sch-more{display:inline-block;margin-top:8px;font-size:12px;color:var(--brand-gold);letter-spacing:.06em;text-transform:uppercase}
.cls-schedule-card .cls-sch-trainer a{color:inherit;border-bottom:1px dotted rgba(255,255,255,.3)}
/* trainer single */
.trainer-single{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:48px;align-items:start}
.trainer-single-media img{width:100%;height:auto;border-radius:16px;object-fit:cover;aspect-ratio:4/5}
.trainer-spec{color:var(--brand-gold);font-size:14px;letter-spacing:.04em;margin-bottom:16px}
.trainer-card{display:block}
/* other classes row */
.cls-others-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.cls-other-card{display:block;position:relative;border-radius:12px;overflow:hidden;background:var(--surface-2);aspect-ratio:4/3}
.cls-other-card img{width:100%;height:100%;object-fit:cover;opacity:.7;transition:transform .5s,opacity .3s}
.cls-other-card:hover img{transform:scale(1.05);opacity:1}
.cls-other-name{position:absolute;left:16px;bottom:28px;font-weight:600;font-size:16px;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.cls-other-level{position:absolute;left:16px;bottom:10px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-gold)}
.cls-others-inner{padding:60px clamp(20px,4vw,80px)}
.cls-others-head{margin-bottom:24px}.cls-others-title{font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:600}
/* blog */
.blog-cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.blog-cats a{font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:8px 14px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:rgba(255,255,255,.6)}
.blog-cats a.active,.blog-cats a:hover{border-color:var(--brand-gold);color:var(--brand-gold)}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}
.blog-card{display:flex;flex-direction:column;background:var(--surface-2);border:1px solid rgba(255,255,255,.06);border-radius:16px;overflow:hidden;transition:transform .35s,border-color .35s}
.blog-card:hover{transform:translateY(-4px);border-color:rgba(201,169,110,.4)}
.blog-card-media{aspect-ratio:3/2;overflow:hidden;background:var(--surface-3)}
.blog-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.blog-card:hover .blog-card-media img{transform:scale(1.05)}
.blog-card-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px}
.blog-card-cat{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-gold)}
.blog-card-title{font-size:18px;font-weight:600;line-height:1.35;color:#fff}
.blog-card-excerpt{font-size:14px;line-height:1.7;color:rgba(255,255,255,.55)}
.blog-card-meta{font-size:12px;color:rgba(255,255,255,.35);margin-top:auto}
.pagination{display:flex;gap:8px;justify-content:center;margin-top:40px}
.pagination .page-numbers{padding:8px 14px;border:1px solid rgba(255,255,255,.12);border-radius:8px;font-size:13px;color:rgba(255,255,255,.6)}
.pagination .page-numbers.current,.pagination .page-numbers:hover{border-color:var(--brand-gold);color:var(--brand-gold)}
.page-hero--post .page-hero-content{max-width:900px}
.post-title{font-size:clamp(1.6rem,3.4vw,2.6rem)!important;line-height:1.2}
.post-hero-meta{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-top:18px}
.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}
.post-aside{position:sticky;top:100px}
.prose{max-width:760px;font-size:16.5px;line-height:1.85;color:rgba(255,255,255,.78)}
.prose p{margin:0 0 1.35em}.prose h2{font-size:clamp(1.35rem,2.4vw,1.8rem);font-weight:600;color:#fff;margin:2.2em 0 .8em;line-height:1.3}
.prose h3{font-size:1.15rem;font-weight:600;color:var(--brand-gold-light);margin:1.8em 0 .6em}
.prose ul,.prose ol{margin:0 0 1.4em 1.3em;list-style:disc}.prose ol{list-style:decimal}.prose li{margin-bottom:.5em}
.prose a{color:var(--brand-gold);text-decoration:underline;text-underline-offset:3px}
.prose strong{color:#fff}.prose blockquote{border-left:2px solid var(--brand-gold);padding:6px 0 6px 22px;margin:1.6em 0;color:#fff;font-style:italic}
.prose table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:14.5px}
.prose th,.prose td{border:1px solid rgba(255,255,255,.1);padding:10px 12px;text-align:left;vertical-align:top}
.prose th{background:rgba(201,169,110,.1);color:#fff;font-weight:600}
.prose img{border-radius:12px;margin:1.4em 0}
.prose .wp-block-image figcaption{font-size:13px;color:rgba(255,255,255,.4)}
.post-lead{font-size:19px;line-height:1.7;color:#fff;font-weight:300;margin-bottom:1.6em!important}
.post-toc{background:var(--surface-2);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:22px 26px;margin:0 0 2.2em}
.post-toc h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-gold);margin-bottom:12px}
.post-toc ol{margin:0 0 0 1.2em;list-style:decimal}.post-toc li{margin:4px 0;font-size:14.5px}.post-toc a{color:rgba(255,255,255,.75);text-decoration:none}.post-toc a:hover{color:var(--brand-gold)}
.post-tags{margin-top:2em;font-size:13px}.post-tags a{color:rgba(255,255,255,.45);margin-right:10px;text-decoration:none}
.post-author-box{margin-top:3em;padding:22px 26px;border:1px solid rgba(201,169,110,.25);border-radius:14px;background:rgba(201,169,110,.05);font-size:14px}
.post-author-box strong{display:block;color:var(--brand-gold);margin-bottom:6px}.post-author-box p{margin:0;color:rgba(255,255,255,.6)}
.faq-block details{border-bottom:1px solid rgba(255,255,255,.08);padding:14px 0}.faq-block summary{cursor:pointer;font-weight:600;color:#fff;list-style:none}
.legal-prose{max-width:860px}.legal-prose h2{font-size:1.25rem}.legal-prose h3{font-size:1.05rem}
/* section header (studio) reuse */
.section-header .section-title span, .section-title span{color:var(--brand-gold)}
@media (max-width:960px){.svc-split,.trainer-single,.post-layout{grid-template-columns:1fr}.svc-aside,.post-aside{position:static}}
@media (max-width:768px){.cls-others-inner{padding:40px 20px}}

/* Header: menü 9 link olduğu için mobil menü eşiği 1280px'e çekildi (referans: 991px) */
@media (max-width: 1279px) {
  .sky-header {
        height: 68px;
        padding: 0 20px;
    }
  .sky-header-logo img {
        height: 36px;
    }
  .sky-header.scrolled {
        height: 60px;
    }
  .sky-header.scrolled .sky-header-logo img {
        height: 30px;
    }
  .sky-header-nav {
        position: fixed;
        inset: 0;
        height: 100vh;
        height: 100dvh;
        width: 100vw;
        background: rgba(8, 8, 8, 0.97);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        padding: 0 40px;
        gap: 0;
        border-bottom: none;
        transform: translateX(100%);
        opacity: 1;
        pointer-events: none;
        transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        z-index: 9999;
    }
  .sky-header-nav.open {
        transform: translateX(0);
        pointer-events: auto;
    }
  /* Mobilde sarmalayıcı etkisiz: linkler nav'ın kolon menüsüne akar */
    .sky-nav-links {
        display: contents;
    }
  .sky-header-nav a {
        width: 100%;
        padding: 14px 0;
        font-size: 28px;
        font-weight: 300;
        color: rgba(255, 255, 255, 0.5);
        border-radius: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        letter-spacing: -0.3px;
        text-transform: none;
        transition: color 0.2s ease;
    }
  .sky-header-nav a::after {
        display: none;
    }
  .sky-header-nav a:hover,
    .sky-header-nav a.active {
        background: transparent;
        color: var(--white);
    }
  .sky-header-nav a.sky-nav-cta {
        margin-top: 24px;
        margin-left: 0;
        padding: 11px 24px;
        width: auto;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 1.2px;
        text-transform: uppercase;
        background: var(--brand-gold);
        color: #0a0705;
        border: 1px solid var(--brand-gold);
        border-radius: 6px;
        text-align: center;
    }
  .sky-header-lang {
        position: absolute;
        bottom: 40px;
        left: 40px;
        margin: 0;
        width: auto;
    }
  .sky-header-lang .sky-lang-trigger {
        width: fit-content;
        padding: 0;
        font-size: 11px;
        color: rgba(255, 255, 255, 0.25);
        letter-spacing: 2px;
        border: none;
        background: transparent;
    }
  .sky-header-lang .sky-lang-trigger svg {
        display: none;
    }
  .sky-lang-dropdown {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        background: transparent;
        border: none;
        box-shadow: none;
        padding: 8px 0 0 0;
        display: none;
    }
  .sky-header-lang.active .sky-lang-dropdown {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
    }
  .sky-header-lang.active .sky-lang-dropdown a {
        font-size: 11px;
        padding: 6px 12px;
        color: rgba(255, 255, 255, 0.4);
        border-bottom: none;
    }
  .sky-header-lang.active .sky-lang-dropdown a.active {
        color: var(--brand-gold);
    }
  .sky-mobile-btn {
        display: flex;
        z-index: 10000;
    }
}

/* ══════════════════════════════════════════════
   Erişilebilirlik ve dayanıklılık düzeltmeleri
   ══════════════════════════════════════════════ */

/* 1) İçerik, JavaScript çalışmasa da görünür olmalı.
   Referans tema .animate-on-scroll öğelerini opacity:0 ile gizleyip
   görünürlüğü IntersectionObserver'a bağlıyor; script engellenir veya
   hata verirse sayfanın tamamı boş kalıyordu. Artık gizleme yalnızca
   <html class="js"> varken uygulanır (sınıf head'de anında eklenir). */
.animate-on-scroll { opacity: 1; transform: none; }
html.js .animate-on-scroll:not(.visible) { opacity: 0; transform: translateY(30px); }

/* 2) Hareket azaltma tercihi: giriş animasyonları kapatılır, içerik
   anında görünür olur. Aksi hâlde animasyon atlanınca öğeler
   (hero butonları, alt bilgi çubuğu) kalıcı olarak gizli kalıyordu. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-delay: 0ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
  .animate-on-scroll { opacity: 1 !important; transform: none !important; }
  .sky-hero-title, .sky-hero-subtitle, .sky-hero-actions, .sky-hero-bottom,
  .sky-hero-logo, .lead-runway-grid { opacity: 1 !important; transform: none !important; }
  .sky-preloader { display: none !important; }
}

/* 3) Klavye odağı görünür olsun (referans temada odak halkası yoktu). */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--brand-gold);
  outline-offset: 3px;
  border-radius: 4px;
}

/* 4) Hero: poster arka planda sabit durur; video ancak gerçekten oynamaya
   başlayınca görünür olur. Otomatik oynatma engellenirse veya video hiç
   yüklenmezse (mobil, yavaş bağlantı) hero siyah kalmaz. */
.sky-hero { background-size: cover; background-position: center; background-repeat: no-repeat; background-color: var(--black); }
.sky-hero-video { opacity: 0; transition: opacity .8s ease; }
.sky-hero-video.is-playing { opacity: 1; }

/* ══════════════════════════════════════════════
   Mobil menü düzeltmeleri
   ══════════════════════════════════════════════ */

/* 5) Menü açıkken arkadaki sayfa kaymasın. */
body.nav-open { overflow: hidden; touch-action: none; }

@media (max-width: 1279px) {
  /* 6) Menü içeriği kısa ekranlarda (ör. iPhone SE) taşıyordu ve alttaki
     "Bilgi Formu" ile dil seçenekleri erişilemiyordu. Panel artık kendi
     içinde kayar ve başlık çubuğunun altından başlar. */
  .sky-header-nav {
    justify-content: flex-start;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 96px 40px calc(56px + env(safe-area-inset-bottom, 0px));
  }
  .sky-header-nav .sky-nav-cta { margin-top: 24px; }
  .sky-header-nav .sky-header-lang { margin-top: 20px; margin-bottom: 8px; }

  /* 7) Menü açıkken logo ve kapatma düğmesi panelin üstünde kalsın;
     önceden panel (z-index 9999) başlığı örtüyordu. */
  body.nav-open .sky-header { z-index: 10000; background: rgba(8, 8, 8, .97); }
  body.nav-open .sky-header-logo,
  body.nav-open .sky-mobile-btn { position: relative; z-index: 10001; }

  /* 9) Menü açıkken alttaki hızlı erişim çubuğu gizlenir; panelin arkasından
     görünüp dil bağlantılarının üstüne biniyordu. */
  body.nav-open .sky-bottom-nav { display: none; }

  /* 8) Dokunma hedefleri en az 44px (mobil erişilebilirlik ölçütü). */
  .sky-mobile-btn { width: 44px; height: 44px; }
  .sky-bottom-nav-item { min-height: 48px; }
  .sky-header-nav a { min-height: 44px; display: flex; align-items: center; }
}

/* 10) Başvuru modalı kısa ekranlarda (iPhone SE vb.) taşıyordu; artık
   ekran yüksekliğini aşınca kendi içinde kayar. */
.lm-dialog { max-height: calc(100dvh - 32px); max-height: calc(100vh - 32px); overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }

/* 11) Program sayfası gün sekmeleri mobilde 32px'di; dokunma hedefi büyütüldü. */
@media (max-width: 991px) {
  .day-btn { min-height: 44px; padding-inline: 14px; }
  .sched-card .card-header { min-height: 56px; }
}

/* 12) Menüye "Fitness" eklenince 10 bağlantı oluştu ve orta genişlikteki
   masaüstlerinde "Bilgi Formu" butonuyla çakışıyordu. Bağlantılar
   genişliğe göre sıkıştırılır; 1500px altında Sky kompleksinin dış
   bağlantıları menüden çıkar (alt menüde ve ana sayfadaki hizmet
   bloğunda erişilebilir durumda kalır). */
@media (min-width: 1280px) and (max-width: 1699px) {
  /* Referans temada menü mutlak konumla sayfaya ortalanıyor; 10 bağlantıda
     bu, "Bilgi Formu" butonunun üstüne biniyordu. Bu aralıkta menü normal
     akışa alınır, böylece logo ile buton arasına taşmadan yerleşir. */
  .sky-nav-links { position: static; transform: none; top: auto; left: auto; flex-wrap: nowrap; }
  .sky-header-nav { gap: 6px; justify-content: flex-end; }
  .sky-header-nav a { padding: 10px 9px; letter-spacing: .06em; font-size: 10.5px; }
}
@media (min-width: 1280px) and (max-width: 1499px) {
  .sky-nav-links a[target="_blank"] { display: none; }
}

/* 13) Footer ajans künyesi (Alien Road) — alt barda kendi satırında, sağa hizalı */
.bft-agency { flex-basis: 100%; text-align: right; margin-top: 4px; }
.bft-agency a {
  color: rgba(255, 255, 255, .55);
  letter-spacing: .04em;
  white-space: nowrap;
  border-bottom: 1px solid transparent;
  transition: color .3s ease, border-color .3s ease;
}
.bft-agency a:hover { color: var(--brand-gold); border-bottom-color: rgba(201, 169, 110, .5); }
@media (max-width: 768px) { .bft-agency { text-align: center; } .bft-agency a { white-space: normal; } }

/* ══════════════════════════════════════════════
   14) Mobil dokunma hedefleri (WCAG 2.5.5 / 44px)
   Görsel tasarım değişmez; yalnızca dokunulabilir alan büyütülür.
   Kural yalnızca dokunmatik cihazlarda ve dar ekranlarda uygulanır.
   ══════════════════════════════════════════════ */
@media (max-width: 1279px) {
  /* Başlık logosu dokunma alanı */
  .sky-header-logo { display: inline-flex; align-items: center; min-height: 44px; }

  /* Çerez bildirimi: kabul ve kapat düğmeleri 29px/26px idi */
  .cookie-btn { min-height: 44px; padding-inline: 20px; }
  .cookie-consent-close { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; }

  /* Footer: sosyal ikonlar 34px, yasal bağlantılar 19px idi */
  .bft-social a { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  .bft-bottom a { display: inline-block; padding: 12px 2px; }
  .bft-col ul li a { display: inline-block; padding: 7px 0; }

  /* Breadcrumb bağlantıları */
  .crumb a, .crumb span { display: inline-block; padding: 11px 0; }
  .crumb { margin-bottom: 14px; }

  /* Haftalık program: eğitmen ve "ders detayı" bağlantıları 17–19px idi */
  .profile-name a,
  .cls-sch-more,
  .cls-sch-trainer a { display: inline-block; padding: 12px 0; }

  /* Blog kategori filtreleri ve sayfalama */
  .blog-cats a { min-height: 44px; display: inline-flex; align-items: center; }
  .pagination .page-numbers { min-height: 44px; display: inline-flex; align-items: center; }

  /* SSS başlıkları */
  .branch-faq-item summary { min-height: 48px; display: flex; align-items: center; }
}

/* Dokunmatik cihazlarda metin içi bağlantılar da rahat hedeflensin */
@media (hover: none) and (pointer: coarse) {
  .prose a, .branch-seo-prose a, .cls-prose a { padding: 2px 0; }
}

/* ══════════════════════════════════════════════
   15) Açılır pencere (popup) — 20 sn sonra açılır
   Tasarım dili referans siteyle aynı: koyu zemin, altın çizgi,
   Copperplate başlık, sola görsel / sağa form.
   ══════════════════════════════════════════════ */
.ows-popup[hidden] { display: none; }
.ows-popup { position: fixed; inset: 0; z-index: 10050; display: flex; align-items: center; justify-content: center; padding: 20px; }
.ows-popup__backdrop { position: absolute; inset: 0; background: rgba(6, 5, 4, .78); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); opacity: 0; transition: opacity .45s ease; }
.ows-popup.is-open .ows-popup__backdrop { opacity: 1; }
.ows-popup__dialog {
  position: relative; display: grid; grid-template-columns: 0.85fr 1fr;
  width: min(880px, 100%); max-height: calc(100dvh - 40px); max-height: calc(100vh - 40px);
  overflow: hidden; border-radius: 18px;
  background: var(--surface-2, #1a1410); border: 1px solid rgba(201, 169, 110, .22);
  box-shadow: 0 40px 90px rgba(0, 0, 0, .6);
  opacity: 0; transform: translateY(26px) scale(.98); transition: opacity .5s ease, transform .5s cubic-bezier(.22,.9,.3,1);
}
.ows-popup.is-open .ows-popup__dialog { opacity: 1; transform: none; }
.ows-popup__line { position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--brand-gold, #c9a96e), transparent); z-index: 2; }
.ows-popup__media { background-size: cover; background-position: center; position: relative; min-height: 320px; }
.ows-popup__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(10,7,5,.1) 0%, rgba(26,20,16,.85) 92%); }
.ows-popup__body { padding: 38px 34px 30px; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.ows-popup__close { position: absolute; top: 12px; right: 12px; z-index: 3; width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid rgba(255,255,255,.14); background: rgba(10,7,5,.55); color: rgba(255,255,255,.75); cursor: pointer; transition: all .3s ease; }
.ows-popup__close:hover { color: var(--brand-gold, #c9a96e); border-color: rgba(201,169,110,.5); }
.ows-popup__eyebrow { display: block; font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--brand-gold, #c9a96e); margin-bottom: 12px; }
.ows-popup__title { font-family: 'Copperplate', Georgia, serif; font-size: clamp(1.35rem, 2.4vw, 1.85rem); line-height: 1.25; color: #fff; margin: 0 0 12px; font-weight: 600; }
.ows-popup__title em { font-style: normal; color: var(--brand-gold, #c9a96e); }
.ows-popup__text { font-size: 14px; line-height: 1.7; color: rgba(255,255,255,.55); margin: 0 0 22px; }
body.popup-open { overflow: hidden; }

@media (max-width: 760px) {
  .ows-popup { padding: 12px; align-items: flex-end; }
  .ows-popup__dialog { grid-template-columns: 1fr; border-radius: 18px 18px 14px 14px; max-height: calc(100dvh - 24px); }
  .ows-popup__media { min-height: 130px; }
  .ows-popup__media::after { background: linear-gradient(180deg, rgba(10,7,5,.15) 0%, rgba(26,20,16,.92) 92%); }
  .ows-popup__body { padding: 24px 20px calc(22px + env(safe-area-inset-bottom, 0px)); }
  .ows-popup__title { font-size: 1.25rem; }
  .ows-popup__text { font-size: 13.5px; margin-bottom: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .ows-popup__backdrop, .ows-popup__dialog { transition: none; }
}

/* ══════════════════════════════════════════════
   16) Footer tam genişlik + WhatsApp penceresi
   ══════════════════════════════════════════════ */

/* Footer artık 1100px kutuya sıkışmaz; ekranın tamamına yayılır.
   Yanlardaki boşluk ekran genişliğiyle büyür, çok geniş ekranlarda
   sütunlar kopmasın diye ızgara esnek sütunlara geçer. */
.bft-inner,
.bft-bottom { max-width: none; width: 100%; }
.bft-inner { padding-inline: clamp(20px, 4.5vw, 96px); }
.bft-bottom { padding-inline: clamp(20px, 4.5vw, 96px); }
.bft-grid { grid-template-columns: minmax(260px, 1.6fr) repeat(4, minmax(150px, 1fr)); gap: clamp(28px, 3vw, 64px); }
.bft-brand { max-width: 340px; }
@media (min-width: 1800px) {
  .bft-inner { padding-inline: clamp(96px, 8vw, 220px); }
  .bft-bottom { padding-inline: clamp(96px, 8vw, 220px); }
}
@media (max-width: 1100px) {
  .bft-grid { grid-template-columns: repeat(3, minmax(140px, 1fr)); }
  .bft-brand { grid-column: 1 / -1; max-width: 520px; }
}
@media (max-width: 768px) {
  .bft-grid { grid-template-columns: 1fr 1fr; }
  .bft-brand { max-width: none; }
}
@media (max-width: 480px) {
  .bft-grid { grid-template-columns: 1fr; }
}

/* WhatsApp butonları — form yerine yönlendirme */
.ows-popup__actions { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.ows-popup__wa {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 54px; padding: 14px 22px; border-radius: 10px; text-decoration: none;
  background: linear-gradient(135deg, #1faa58, #25d366); color: #06250f;
  font-family: inherit; font-size: 12.5px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase;
  transition: filter .3s ease, transform .3s ease, border-color .3s ease, color .3s ease;
}
.ows-popup__wa svg { flex: 0 0 auto; }
.ows-popup__wa:hover { filter: brightness(1.07); transform: translateY(-1px); }
.ows-popup__wa--ghost {
  background: transparent; color: rgba(255, 255, 255, .82);
  border: 1px solid rgba(255, 255, 255, .22);
}
.ows-popup__wa--ghost:hover { color: var(--brand-gold, #c9a96e); border-color: rgba(201, 169, 110, .55); filter: none; }
.ows-popup__note { margin: 16px 0 0; font-size: 11.5px; line-height: 1.6; color: rgba(255, 255, 255, .4); }

@media (max-width: 760px) {
  .ows-popup__actions { gap: 9px; }
  .ows-popup__wa { min-height: 52px; font-size: 12px; letter-spacing: .1em; padding-inline: 16px; }
  .ows-popup__note { margin-top: 13px; }
}
/* Dar telefonlarda uzun buton yazısı taşmasın */
@media (max-width: 380px) {
  .ows-popup__wa { font-size: 11px; letter-spacing: .06em; gap: 8px; }
}

/* Mobil footer: dokunma alanları 44px, sabit alt çubuğun altında kalmasın */
@media (max-width: 1279px) {
  .bft-col ul li a { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 0; }
  .bft-bottom a { min-height: 44px; display: inline-flex; align-items: center; }
}
@media (max-width: 900px) {
  .bft-bottom { padding-bottom: calc(22px + env(safe-area-inset-bottom, 0px)); }
}

/* ══════════════════════════════════════════════
   17) Sabit iletişim düğmeleri (solda arama, sağda WhatsApp)
   Tasarım ospa.com.tr ile aynı. Renkler temanın kendi altın
   değişkenlerinden okunur; başka bir temaya taşındığında
   --brand-gold / --brand-gold-light değerleri neyse onu alır.
   ══════════════════════════════════════════════ */
:root {
  --ows-wa: #25d366;
  --ows-gold-soft: var(--brand-gold-light, #e0c992);
  --ows-gold-deep: var(--brand-gold, #c9a96e);
  --ows-gold-ink: #241a10;
}
.float-btn {
  position: fixed; bottom: 20px; z-index: 998;
  width: 54px; height: 54px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px; color: #fff; overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease, filter .3s ease;
}
.float-btn svg { flex: 0 0 auto; }
.float-btn:hover, .float-btn:focus-visible { transform: translateY(-2px); }
.float-btn--left { left: 20px; }
.float-btn--right { right: 20px; }
.float-btn--wa {
  background: var(--ows-wa);
  box-shadow: 0 12px 28px -12px rgba(37, 211, 102, .75);
}
.float-btn--wa:hover { filter: brightness(1.05); }
.float-btn--call {
  background: linear-gradient(135deg, var(--ows-gold-soft), var(--ows-gold-deep));
  color: var(--ows-gold-ink);
  box-shadow: 0 12px 28px -12px rgba(201, 169, 110, .8);
}
@supports (color: color-mix(in srgb, red 50%, transparent)) {
  .float-btn--call { box-shadow: 0 12px 28px -12px color-mix(in srgb, var(--ows-gold-deep) 80%, transparent); }
}
.float-btn--call:hover, .float-btn--call:focus-visible { color: var(--ows-gold-ink); filter: brightness(1.04); }

/* Mobilde sabit alt çubuk (65px) var; düğmeler onun üstünde durur. */
@media (max-width: 768px) {
  .float-btn { width: 52px; height: 52px; bottom: calc(79px + env(safe-area-inset-bottom, 0px)); }
  .float-btn--left { left: 14px; }
  .float-btn--right { right: 14px; }
}
/* Çerez bildirimi ekranın altını kaplıyorsa düğmeler onun üstüne çıkar
   (yükseklik JS ile ölçülür, bkz. main.js). */
.float-btn { bottom: var(--ows-float-lift, 20px); }
@media (max-width: 768px) {
  .float-btn { bottom: var(--ows-float-lift, calc(79px + env(safe-area-inset-bottom, 0px))); }
}

/* Mobil menü veya pencere açıkken ekranı kapatmasınlar. */
body.nav-open .float-btn, body.popup-open .float-btn { opacity: 0; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .float-btn { transition: none; } }

/* ══════════════════════════════════════════════
   18) İletişim sayfası — Dragos düzeni
   Dört sütunlu bilgi şeridi + solda harita / sağda form.
   Sosyal bağlantılar düz metin yerine ikonlu düğmelerdir.
   ══════════════════════════════════════════════ */
.ows-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .08);
  margin-bottom: clamp(48px, 7vw, 86px);
}
.ows-info-cell { background: #0a0705; padding: clamp(26px, 2.6vw, 34px) clamp(20px, 2.2vw, 30px); }
.ows-info-cell > span {
  display: block; margin-bottom: 14px;
  font-size: 10px; letter-spacing: .24em; text-transform: uppercase;
  color: var(--brand-gold, #c9a96e);
}
.ows-info-cell p,
.ows-info-cell > a {
  display: block; margin: 0;
  font-size: .98rem; line-height: 1.75;
  color: rgba(255, 255, 255, .72); text-decoration: none;
  transition: color .3s ease;
}
.ows-info-cell > a:hover { color: var(--brand-gold, #c9a96e); }

/* Sosyal düğmeler */
.ows-social { display: flex; flex-direction: column; gap: 9px; }
.ows-social__btn {
  display: inline-flex; align-items: center; gap: 11px;
  min-height: 44px; padding: 10px 16px;
  border: 1px solid rgba(255, 255, 255, .12); border-radius: 10px;
  background: rgba(255, 255, 255, .03);
  color: rgba(255, 255, 255, .8); text-decoration: none;
  font-size: 13px; letter-spacing: .02em;
  transition: color .3s ease, border-color .3s ease, background .3s ease, transform .3s ease;
}
.ows-social__btn svg { flex: 0 0 auto; opacity: .85; transition: opacity .3s ease, color .3s ease; }
.ows-social__btn:hover { transform: translateX(2px); background: rgba(255, 255, 255, .06); }
.ows-social__btn:hover svg { opacity: 1; }
.ows-social__btn--ig:hover  { color: #e1306c; border-color: rgba(225, 48, 108, .45); }
.ows-social__btn--wa:hover  { color: #25d366; border-color: rgba(37, 211, 102, .45); }
.ows-social__btn--map:hover { color: var(--brand-gold, #c9a96e); border-color: rgba(201, 169, 110, .45); }

/* Form bölümü */
.ows-lead-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 90px); align-items: start; }
.ows-eyebrow {
  display: inline-flex; align-items: center; gap: 14px; margin-bottom: 22px;
  font-size: 11px; letter-spacing: .32em; text-transform: uppercase; color: var(--brand-gold, #c9a96e);
}
.ows-eyebrow::before { content: ''; width: 34px; height: 1px; background: currentColor; opacity: .7; }
.ows-lead-title {
  font-family: 'Copperplate', Georgia, serif; font-weight: 600;
  font-size: clamp(1.9rem, 4vw, 3.1rem); line-height: 1.12; color: #fff; margin: 0 0 24px;
}
.ows-lead-text { font-size: clamp(1rem, 1.5vw, 1.1rem); line-height: 1.8; color: rgba(255, 255, 255, .55); max-width: 62ch; margin: 0; }
.ows-map-embed {
  width: 100%; aspect-ratio: 16 / 7; margin-top: 34px; display: block;
  border: 1px solid rgba(255, 255, 255, .08);
  filter: grayscale(1) invert(.92) contrast(.85);
}
.ows-lead-form { display: grid; gap: 16px; }
.ows-lead-form__title { font-family: 'Copperplate', Georgia, serif; font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1.2; color: #fff; margin: 0 0 10px; font-weight: 600; }
.ows-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ows-field { display: grid; gap: 8px; }
.ows-field label { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: rgba(255, 255, 255, .38); }
.ows-field input,
.ows-field select,
.ows-field textarea {
  width: 100%; padding: 14px 2px; border: 0; border-bottom: 1px solid rgba(255, 255, 255, .14);
  border-radius: 0; background: transparent; color: #fff;
  font-family: inherit; font-size: .95rem;
  transition: border-color .4s ease;
}
.ows-field select {
  appearance: none; -webkit-appearance: none; padding-right: 26px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a96e' stroke-width='1.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 2px center; background-size: 18px;
}
.ows-field select option { background: #141010; color: #fff; }
.ows-field textarea { resize: vertical; min-height: 96px; }
.ows-field input::placeholder, .ows-field textarea::placeholder { color: rgba(255, 255, 255, .25); }
.ows-field input:focus, .ows-field select:focus, .ows-field textarea:focus { outline: 0; border-bottom-color: var(--brand-gold, #c9a96e); }
.ows-field input.is-invalid, .ows-field select.is-invalid, .ows-field textarea.is-invalid { border-bottom-color: #d9534f; }
.ows-lead-form__submit {
  width: 100%; min-height: 54px; margin-top: 6px; border: 0; border-radius: 6px; cursor: pointer;
  background: var(--brand-gold, #c9a96e); color: #0a0705;
  font-family: inherit; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  transition: background .3s ease, transform .3s ease, box-shadow .3s ease;
}
.ows-lead-form__submit:hover { background: var(--brand-gold-light, #e0c992); transform: translateY(-1px); box-shadow: 0 4px 14px rgba(201, 169, 110, .22); }
.ows-lead-form__submit:disabled { opacity: .6; cursor: wait; transform: none; }
.ows-form-note { font-size: .78rem; line-height: 1.6; color: rgba(255, 255, 255, .35); margin: 6px 0 0; }
.ows-form-note a { color: var(--brand-gold, #c9a96e); }

@media (max-width: 900px) {
  .ows-lead-wrap { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .ows-form-row { grid-template-columns: 1fr; }
  .ows-info-cell { padding: 24px 20px; }
  .ows-map-embed { aspect-ratio: 4 / 3; margin-top: 26px; }
}

/* ══════════════════════════════════════════════
   19) Tüm site tam genişlik
   .container artık 1200px kutuya sıkışmaz; ekranın tamamına yayılır.
   Yan boşluk ekranla birlikte büyür. Kendi max-width'i olan uzun metin
   blokları (SEO yazıları, blog gövdesi) okunabilirlik için dar kalır.
   ══════════════════════════════════════════════ */
.container { max-width: none; padding-inline: clamp(20px, 4.5vw, 96px); }
.section { padding-inline: 0; }
.section > .container { padding-inline: clamp(20px, 4.5vw, 96px); }
@media (min-width: 1800px) {
  .container { padding-inline: clamp(96px, 8vw, 220px); }
  .section > .container { padding-inline: clamp(96px, 8vw, 220px); }
}
/* Satır uzunluğu okunabilir kalsın: uzun metin blokları ortalanır. */
.branch-seo-prose:not(.container),
.prose:not(.container) { max-width: 80ch; }
.container.branch-seo-prose,
.container.prose { max-width: min(100%, 1100px); }

/* İletişim hücresindeki e-posta ve telefon da 44px dokunma alanı olsun */
@media (max-width: 1279px) {
  .ows-info-cell > a { min-height: 44px; display: flex; align-items: center; }
  .ows-info-cell > a + a { margin-top: 2px; }
}

/* Bölüm içi ızgara ve sarmalayıcılar da tam genişliğe açılır.
   Metin ölçüsü olan bloklar (hero açıklaması, alt başlık, kart metni,
   SEO yazıları) okunabilirlik için dar bırakıldı. */
.classes-grid,
.cta-banner,
.lead-runway-grid,
.private-services-grid,
.pvt-grid,
.schedule-container,
.spa-services-grid,
.spa-detail-layout,
.class-detail-layout,
.cls-body,
.cls-body-inner,
.cls-body-split,
.cls-others,
.cls-others-inner,
.profile-container,
.trainer-profile-section,
.contact-hub-body,
.team-page-inner,
.team-page-wrapper,
.event-detail-inner,
.event-detail-wrapper,
.footer-grid,
.footer-bottom { max-width: none; }

/* Kart ızgaraları sabit sütun sayısıyla kurgulanmıştı; tam genişlikte
   kartlar aşırı uzuyordu. Sütun sayısı artık alana göre belirleniyor —
   1200px ve altında eski düzenin aynısı, geniş ekranlarda bir sütun fazla. */
.classes-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 560px), 1fr)); }
.pvt-grid     { grid-template-columns: repeat(auto-fill, minmax(min(100%, 520px), 1fr)); }
.spa-services-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }

/* Beytepe: hero logo kilidi */
.sky-hero-logo.ob-hero-lockup{width:clamp(260px,30vw,440px);height:auto}

/* Beytepe: "Çok yakında" etiketi ve 4'lü iletişim şeridi */
.sky-hero-eyebrow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--brand-gold,#c9a96e);margin:18px 0 10px;animation:fadeInUp .7s ease .3s both}
@media (min-width:769px){.contact-hub-strip{grid-template-columns:repeat(2,1fr);column-gap:32px}}

/* Beytepe: hero okunurluğu — açık render üzerinde metin kontrastı */
html body .sky-hero:not(:has(.sky-hero-video)) .sky-hero-overlay{background:linear-gradient(90deg,rgba(10,7,5,.88) 0%,rgba(10,7,5,.7) 38%,rgba(10,7,5,.3) 70%,rgba(10,7,5,.15) 100%),linear-gradient(to top,rgba(10,7,5,.85) 0%,rgba(10,7,5,0) 45%)!important}
.sky-hero-subtitle{color:rgba(255,255,255,.92)!important;max-width:520px;text-shadow:0 1px 12px rgba(0,0,0,.55)}
.sky-hero-eyebrow{color:#e0c992!important;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.sky-hero-actions .btn-outline{background:rgba(10,7,5,.45);border-color:rgba(255,255,255,.45)!important;color:#fff!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.sky-hero-actions .btn-primary{text-shadow:none}
.sky-stat-num,.sky-stat-label{text-shadow:0 1px 8px rgba(0,0,0,.6)}
@media (max-width:768px){html body .sky-hero:not(:has(.sky-hero-video)) .sky-hero-overlay{background:linear-gradient(to top,rgba(10,7,5,.92) 0%,rgba(10,7,5,.6) 50%,rgba(10,7,5,.35) 100%)!important}}

/* Beytepe: koyu formlarda yazı her durumda açık renk (otomatik doldurma dahil) */
.ows-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.ows-form textarea,.ows-form select,.lead-modern-form input,.lm-form input,.lm-form select,.lm-form textarea{color:#fff!important;-webkit-text-fill-color:#fff!important;caret-color:#c9a96e}
.ows-form input:focus,.ows-form textarea:focus,.ows-form select:focus,.ows-form input:active{color:#fff!important;-webkit-text-fill-color:#fff!important}
.ows-form input:-webkit-autofill,.ows-form input:-webkit-autofill:hover,.ows-form input:-webkit-autofill:focus,.ows-form input:-webkit-autofill:active,
.ows-form textarea:-webkit-autofill,.ows-form select:-webkit-autofill{-webkit-text-fill-color:#fff!important;caret-color:#c9a96e;-webkit-box-shadow:0 0 0 1000px #1a1510 inset!important;box-shadow:0 0 0 1000px #1a1510 inset!important;transition:background-color 9999s ease-out 0s}
.ows-form input:autofill{color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 0 0 1000px #1a1510 inset!important}
.ows-form input::placeholder,.ows-form textarea::placeholder{color:rgba(255,255,255,.55)!important;-webkit-text-fill-color:rgba(255,255,255,.55)!important}
.ows-form select option{color:#111;background:#fff;-webkit-text-fill-color:#111}
.ows-form select:invalid,.ows-form select:has(option[value=""]:checked){color:rgba(255,255,255,.7)!important;-webkit-text-fill-color:rgba(255,255,255,.7)!important}
