/* ============================================================
 * RD-CMS Default Theme — Components
 * ============================================================ */

/* ===== Button ===== */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-6);
    font-weight: 600;
    border-radius: var(--radius);
    border: 0;
    cursor: pointer;
    text-decoration: none;
    transition: var(--transition);
    line-height: 1.3;
    text-align: center;
}
.btn:hover { text-decoration: none; transform: translateY(-1px); }

.btn-primary {
    background: var(--color-primary);
    color: var(--color-text-inverse);
}
.btn-primary:hover { background: var(--color-primary-dark); }

.btn-outline {
    background: transparent;
    border: 2px solid currentColor;
    color: var(--color-primary);
}
.btn-outline:hover { background: var(--color-primary); color: #fff; }

.btn-lg { padding: var(--space-4) var(--space-8); font-size: var(--text-lg); }
.btn-sm { padding: var(--space-2) var(--space-4); font-size: var(--text-sm); }

/* ===== Card ===== */
.card {
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    transition: var(--transition);
}
.card:hover {
    border-color: var(--color-primary-light);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}
.card-icon {
    color: var(--color-primary);
    font-size: var(--text-3xl);
    margin-bottom: var(--space-3);
}

/* ===== Article cards ===== */
.article-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--space-6);
}
.article-card {
    background: var(--color-bg);
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid var(--color-border);
    transition: var(--transition);
}
.article-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
    border-color: var(--color-primary-light);
}
.article-card-cover img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}
.article-card-body { padding: var(--space-5); }
.article-card-body h3 { font-size: var(--text-lg); margin-bottom: var(--space-2); }
.article-card-body h3 a { color: var(--color-secondary); }
.article-card-body h3 a:hover { color: var(--color-primary); }
.article-card-meta {
    display: flex;
    gap: var(--space-3);
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    margin-top: var(--space-3);
}

/* ===== Article detail ===== */
.article-detail .article-header { margin-bottom: var(--space-8); }
.article-detail .article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    margin-top: var(--space-3);
}
.article-detail .article-meta time { font-style: italic; }

.article-detail .article-cover img {
    width: 100%;
    border-radius: var(--radius-lg);
}

.article-detail .article-lead {
    font-size: var(--text-xl);
    color: var(--color-text-muted);
    margin-block: var(--space-6);
    border-left: 4px solid var(--color-primary);
    padding-left: var(--space-4);
}

.article-detail .article-body { font-size: var(--text-lg); line-height: 1.8; }
.article-detail .article-body img { border-radius: var(--radius); margin-block: var(--space-4); }

/* ===== Editör içeriği — yatay taşma / scroll önleme ===== */
.page-body,
.article-body,
.text-body,
.popup-body,
.rd-contact-intro.page-content,
.page-content .rd-contact-block {
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
    overflow-wrap: anywhere;
    word-wrap: break-word;
}

.page-body :where(img, video, iframe, embed, object, svg, canvas, picture),
.article-body :where(img, video, iframe, embed, object, svg, canvas, picture),
.text-body :where(img, video, iframe, embed, object, svg, canvas, picture),
.popup-body :where(img, video, iframe, embed, object, svg, canvas, picture),
.rd-contact-intro :where(img, video, iframe, embed, object, svg, canvas, picture) {
    max-width: 100%;
    height: auto;
}

.page-body :where(figure, figcaption),
.article-body :where(figure, figcaption),
.text-body :where(figure, figcaption),
.popup-body :where(figure, figcaption) {
    max-width: 100%;
}

/* ===== AI üretilen görseller (rd-article-image) — metin yanına hizalı, responsive =====
   Görsel tam ekran kaplamaz; geniş ekranda dönüşümlü sağ/sol float ile metnin
   yanında akar, mobilde tam genişlik bloğa düşer. Okuyucuyu yormayan ferah düzen. */
.article-body .rd-article-image,
.page-body .rd-article-image {
    margin: 0 0 var(--space-5);
}
.article-body .rd-article-image img,
.page-body .rd-article-image img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    border-radius: var(--radius-lg);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
}
.article-body .rd-article-image figcaption,
.page-body .rd-article-image figcaption {
    margin-top: var(--space-2);
    font-size: var(--text-sm);
    line-height: 1.5;
    color: var(--color-text-muted);
    text-align: center;
    font-style: italic;
}

@media (min-width: 768px) {
    .article-body .rd-article-image,
    .page-body .rd-article-image {
        width: 42%;
        max-width: 360px;
        margin-block: var(--space-2) var(--space-4);
        float: right;                          /* varsayılan: sağ */
        margin-left: var(--space-7, 2rem);
    }
    .article-body .rd-article-image--left,
    .page-body .rd-article-image--left {
        float: left;
        margin-left: 0;
        margin-right: var(--space-7, 2rem);
    }
}

/* Başlıklar float'ı temizlesin: her bölüm temiz başlasın, görseller bölümler arasına taşmasın */
.article-body h2,
.article-body h3,
.page-body h2,
.page-body h3 {
    clear: both;
}

/* Gövde bittiğinde kalan float'ları kapat (clearfix) */
.article-body::after,
.page-body::after {
    content: "";
    display: block;
    clear: both;
}

/* Mobil: görsel tam genişlik, float yok — dar ekranda metni sıkıştırmasın */
@media (max-width: 767px) {
    .article-body .rd-article-image,
    .page-body .rd-article-image {
        float: none;
        width: 100%;
        max-width: 100%;
        margin-inline: 0;
        margin-block: var(--space-4);
    }
}

.page-body :where(pre, code, kbd, samp),
.article-body :where(pre, code, kbd, samp),
.text-body :where(pre, code, kbd, samp),
.popup-body :where(pre, code, kbd, samp) {
    max-width: 100%;
}

.page-body pre,
.article-body pre,
.text-body pre,
.popup-body pre {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.page-body .rd-table-scroll,
.article-body .rd-table-scroll,
.text-body .rd-table-scroll,
.popup-body .rd-table-scroll {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-block: var(--space-4);
}

.page-body .rd-table-scroll table,
.article-body .rd-table-scroll table,
.text-body .rd-table-scroll table,
.popup-body .rd-table-scroll table {
    width: max-content;
    min-width: 100%;
    margin-bottom: 0;
}

.page-body :where(.rd-row, [class*="rd-row"]),
.article-body :where(.rd-row, [class*="rd-row"]),
.text-body :where(.rd-row, [class*="rd-row"]),
.popup-body :where(.rd-row, [class*="rd-row"]) {
    max-width: 100%;
    min-width: 0;
}

.page-body :where(.rd-row, [class*="rd-row"]) > *,
.article-body :where(.rd-row, [class*="rd-row"]) > *,
.text-body :where(.rd-row, [class*="rd-row"]) > *,
.popup-body :where(.rd-row, [class*="rd-row"]) > * {
    min-width: 0;
    max-width: 100%;
}

/* Editör sütun düzeni — mobilde alt alta (data-rd-stack="mobile") */
@media (max-width: 768px) {
    .page-body .rd-row[data-rd-stack="mobile"],
    .article-body .rd-row[data-rd-stack="mobile"],
    .text-body .rd-row[data-rd-stack="mobile"],
    .popup-body .rd-row[data-rd-stack="mobile"] {
        grid-template-columns: 1fr !important;
    }
}

.page-body :where(div, section)[style*="display:flex"],
.article-body :where(div, section)[style*="display:flex"],
.text-body :where(div, section)[style*="display:flex"],
.popup-body :where(div, section)[style*="display:flex"] {
    flex-wrap: wrap;
    max-width: 100%;
}

.page-body :where(div, section)[style*="display:grid"],
.article-body :where(div, section)[style*="display:grid"],
.text-body :where(div, section)[style*="display:grid"],
.popup-body :where(div, section)[style*="display:grid"] {
    max-width: 100%;
}

.page-body iframe:not(.rd-video-embed__inner iframe):not(.rd-pdf-embed__frame iframe):not(.rd-spotify-embed > iframe),
.article-body iframe:not(.rd-video-embed__inner iframe):not(.rd-pdf-embed__frame iframe):not(.rd-spotify-embed > iframe),
.text-body iframe:not(.rd-video-embed__inner iframe):not(.rd-pdf-embed__frame iframe):not(.rd-spotify-embed > iframe),
.popup-body iframe:not(.rd-video-embed__inner iframe):not(.rd-pdf-embed__frame iframe):not(.rd-spotify-embed > iframe) {
    max-width: 100%;
    border: 0;
}

/* Editörde paragraf içi kısmi "başlık" vurgusu (gerçek H etiketi değil) */
.page-body .rd-inline-heading,
.article-body .rd-inline-heading {
    display: inline;
    margin: 0;
    padding: 0;
    line-height: inherit;
}
.page-body .rd-inline-heading--h2,
.article-body .rd-inline-heading--h2 { font-size: 1.35em; font-weight: 700; }
.page-body .rd-inline-heading--h3,
.article-body .rd-inline-heading--h3 { font-size: 1.2em; font-weight: 600; }
.page-body .rd-inline-heading--h4,
.article-body .rd-inline-heading--h4 { font-size: 1.1em; font-weight: 600; }
.page-body .rd-inline-heading--h5,
.article-body .rd-inline-heading--h5 { font-size: 1.05em; font-weight: 600; }
.page-body .rd-inline-heading--h6,
.article-body .rd-inline-heading--h6 { font-size: 1em; font-weight: 600; }

/* R7: Paragrafın TAMAMI inline-heading ise (span tek çocuk), gerçek başlıkla
 * birebir aynı görünür — eski içerikler yeniden kaydedilmeden düzelir.
 * (Editörde tam satır seçilip H uygulandığında içerik böyle kaydedilmişti.) */
.page-body p > .rd-inline-heading:only-child,
.article-body p > .rd-inline-heading:only-child {
    display: block;
    font-weight: 700;
    line-height: 1.2;
    color: var(--color-secondary);
}
.page-body p > .rd-inline-heading--h2:only-child,
.article-body p > .rd-inline-heading--h2:only-child { font-size: clamp(1.5rem, 3vw, var(--text-3xl)); }
.page-body p > .rd-inline-heading--h3:only-child,
.article-body p > .rd-inline-heading--h3:only-child { font-size: clamp(1.25rem, 2.5vw, var(--text-2xl)); }
.page-body p > .rd-inline-heading--h4:only-child,
.article-body p > .rd-inline-heading--h4:only-child { font-size: var(--text-xl); }
.page-body p > .rd-inline-heading--h5:only-child,
.article-body p > .rd-inline-heading--h5:only-child { font-size: var(--text-lg); }
.page-body p > .rd-inline-heading--h6:only-child,
.article-body p > .rd-inline-heading--h6:only-child { font-size: var(--text-base); }

.article-tags {
    margin-block: var(--space-6);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    align-items: center;
}
.article-tags a {
    background: var(--color-bg-muted);
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-full);
    font-size: var(--text-sm);
    color: var(--color-text-muted);
}
.article-tags a:hover { background: var(--color-primary); color: #fff; text-decoration: none; }

.article-author {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: var(--space-4);
    background: var(--color-bg-alt);
    padding: var(--space-6);
    border-radius: var(--radius-lg);
    margin-block: var(--space-8);
}
.author-avatar img,
.author-initial {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var(--color-primary);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-3xl);
    font-weight: 700;
    overflow: hidden;
}
.author-bio h4 { margin-top: 0; }

.article-eat {
    background: #fef3c7;
    border-radius: var(--radius);
    padding: var(--space-4) var(--space-5);
    margin-block: var(--space-6);
    font-size: var(--text-sm);
}
.article-eat ul { list-style: none; padding: 0; margin: 0; }
.article-eat li + li { margin-top: var(--space-2); }
.article-eat .badge { display: inline-block; padding: var(--space-1) var(--space-3); background: var(--color-success); color: #fff; border-radius: var(--radius-full); font-weight: 600; }
.article-disclaimer { color: var(--color-text-muted); }

.article-detail .article-source {
    margin-block: var(--space-5);
    font-size: var(--text-sm);
    color: var(--color-text-muted);
    word-break: break-word;
}
.article-detail .article-source a { color: var(--color-primary); }

.article-reactions {
    text-align: center;
    padding: var(--space-6);
    background: var(--color-bg-alt);
    border-radius: var(--radius-lg);
    margin-block: var(--space-6);
}
.reaction-buttons { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-3); }
.reaction-buttons button {
    width: 56px; height: 56px;
    border-radius: 50%;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    font-size: var(--text-2xl);
    cursor: pointer;
    transition: var(--transition);
}
.reaction-buttons button:hover { transform: scale(1.1); border-color: var(--color-primary); }
.reaction-buttons button.is-active { background: var(--color-primary); }

/* ===== Comments ===== */
.comment-list { list-style: none; padding: 0; margin-block: var(--space-6); }
.comment {
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: var(--space-4);
    margin-bottom: var(--space-3);
}
.comment-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: var(--space-2);
}
.comment-header time { color: var(--color-text-muted); font-size: var(--text-sm); }
.comment-form { margin-top: var(--space-6); }
.comment-form .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
}
.comment-form .form-row textarea { grid-column: 1/-1; }

/* ===== Forms ===== */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="url"],
input[type="number"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="file"],
select,
textarea {
    width: 100%;
    padding: var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    background: var(--color-bg);
    transition: border-color var(--transition);
    font-family: inherit;
}
input:focus, select:focus, textarea:focus {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: 0 0 0 3px rgba(14,165,233,.1);
}
label {
    display: block;
    margin-bottom: var(--space-2);
    font-weight: 500;
}
.required { color: var(--color-error); }

.form-builder {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-4);
    background: var(--color-bg-alt);
    padding: var(--space-6);
    border-radius: var(--radius-lg);
}
.form-builder .form-title,
.form-builder .form-description,
.form-builder .form-field-full { grid-column: 1 / -1; }
.form-builder .form-field-half { grid-column: span 1; }

.form-help {
    display: block;
    font-size: var(--text-sm);
    color: var(--color-text-muted);
    margin-top: var(--space-1);
}

/* ============================================================
   RD-FORM (yeni Builder schema renderer)
   form/render.blade.php tarafından üretilen yapıya stil uygular.
   ============================================================ */

.rd-form-wrap {
    border-radius: var(--radius-lg, 14px);
    padding: var(--space-6, 28px);
    margin: var(--space-4, 16px) 0;
}

.rd-form__title {
    margin: 0 0 var(--space-2, 8px);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-text, #0f172a);
}
.rd-form__description {
    margin: 0 0 var(--space-5, 20px);
    color: var(--color-text-muted, #64748b);
    font-size: 0.95rem;
    line-height: 1.55;
}

.rd-form__alert {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3, 12px);
    padding: var(--space-3, 12px) var(--space-4, 16px);
    border-radius: var(--radius, 10px);
    margin-bottom: var(--space-4, 16px);
    font-size: 0.95rem;
    line-height: 1.5;
}
.rd-form__alert--success {
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid #a7f3d0;
}
.rd-form__alert--error {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}
.rd-form__alert ul { margin: 6px 0 0; padding-left: 18px; }

.rd-form {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--space-4, 18px);
}

.rd-form__field {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
}
.rd-form__field--text,
.rd-form__field--email,
.rd-form__field--tel,
.rd-form__field--number,
.rd-form__field--date,
.rd-form__field--time,
.rd-form__field--datetime,
.rd-form__field--select,
.rd-form__field--rating { grid-column: span 6; }

@media (max-width: 720px) {
    .rd-form__field--text,
    .rd-form__field--email,
    .rd-form__field--tel,
    .rd-form__field--number,
    .rd-form__field--date,
    .rd-form__field--time,
    .rd-form__field--datetime,
    .rd-form__field--select,
    .rd-form__field--rating { grid-column: 1 / -1; }
}

.rd-form__label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    color: var(--color-text, #0f172a);
    font-size: 0.92rem;
    letter-spacing: 0.01em;
}
.rd-form__required {
    color: #dc2626;
    margin-left: 2px;
}
.rd-form__input,
.rd-form .rd-form__textarea,
.rd-form .rd-form__select {
    width: 100%;
    padding: 11px 14px;
    border: 1px solid var(--color-border, #d1d5db);
    border-radius: var(--radius, 10px);
    background: #fff;
    font-family: inherit;
    font-size: 0.95rem;
    color: var(--color-text, #0f172a);
    transition: border-color .2s, box-shadow .2s;
}
.rd-form__input:focus,
.rd-form__textarea:focus,
.rd-form__select:focus {
    border-color: var(--color-primary, #0ea5e9);
    outline: none;
    box-shadow: 0 0 0 3px rgba(14,165,233,.15);
}
.rd-form__textarea { min-height: 110px; resize: vertical; line-height: 1.55; }

.rd-form__hint {
    display: block;
    margin-top: 6px;
    font-size: 0.82rem;
    color: var(--color-text-muted, #64748b);
}
.rd-form__error {
    display: block;
    margin-top: 6px;
    font-size: 0.85rem;
    color: #dc2626;
    font-weight: 500;
}
.rd-form__field.is-invalid .rd-form__input,
.rd-form__field.is-invalid .rd-form__textarea,
.rd-form__field.is-invalid .rd-form__select {
    border-color: #dc2626;
    box-shadow: 0 0 0 3px rgba(220,38,38,.08);
}

.rd-form__radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3, 12px);
}
.rd-form__radio-group--vertical { flex-direction: column; gap: 8px; }
.rd-form__option {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 8px;
    transition: background .15s;
    color: var(--color-text, #0f172a);
}
.rd-form__option:hover { background: rgba(14,165,233,.08); }
.rd-form__option input { margin: 0; }
.rd-form__option--checkbox { padding: 0; }

.rd-form__rating {
    display: inline-flex;
    flex-direction: row-reverse;
    gap: 4px;
}
.rd-form__rating input { display: none; }
.rd-form__rating label {
    cursor: pointer;
    font-size: 1.6rem;
    color: #d1d5db;
    transition: color .15s;
    margin: 0;
}
.rd-form__rating label:hover,
.rd-form__rating label:hover ~ label,
.rd-form__rating input:checked ~ label { color: #f59e0b; }

.rd-form__section {
    grid-column: 1 / -1;
    border-top: 1px dashed var(--color-border, #e5e7eb);
    padding-top: var(--space-4, 16px);
    margin-top: var(--space-2, 8px);
}
.rd-form__section-title { margin: 0 0 4px; font-size: 1.1rem; font-weight: 700; color: var(--color-text, #0f172a); }
.rd-form__section-desc  { margin: 0; color: var(--color-text-muted, #64748b); font-size: 0.92rem; }

.rd-form__field--submit {
    grid-column: 1 / -1;
    margin-top: var(--space-2, 8px);
}
.rd-form__submit {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 26px;
    background: var(--color-primary, #0ea5e9);
    color: #fff;
    border: 0;
    border-radius: var(--radius, 10px);
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    transition: background .2s, transform .1s;
    box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.rd-form__submit:hover { background: var(--color-primary-hover, #0284c7); transform: translateY(-1px); }
.rd-form__submit:active { transform: translateY(0); }
.rd-form__submit:disabled { opacity: .6; cursor: not-allowed; }

/* ===== Gallery ===== */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-4);
}

.gallery-photo .gallery-item img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    border-radius: var(--radius);
    transition: transform var(--transition);
}
.gallery-photo .gallery-item:hover img { transform: scale(1.04); }

/* Slider */
.gallery-slider { position: relative; }
.slider-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-lg);
}
.slider-track { position: relative; height: clamp(280px, 50vw, 540px); }
.slider-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.6s ease;
    pointer-events: none;
}
.slider-slide.active { opacity: 1; pointer-events: auto; }
.slider-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.slide-caption {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    background: linear-gradient(to top, rgba(0,0,0,.7), transparent);
    color: #fff;
    padding: var(--space-8);
}
.slide-caption h2 { color: #fff; }

.slider-prev, .slider-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,.4);
    border: 0;
    color: #fff;
    font-size: 2rem;
    width: 48px; height: 48px;
    border-radius: 50%;
    cursor: pointer;
}
.slider-prev { left: var(--space-4); }
.slider-next { right: var(--space-4); }

.builder-slider .slider-prev,
.builder-slider .slider-next,
.builder-slider .slider-dots {
    z-index: 10;
    pointer-events: auto;
}

.slider-dots {
    position: absolute;
    bottom: var(--space-3);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: var(--space-2);
}
.slider-dots button {
    width: 12px; height: 12px;
    border-radius: 50%;
    border: 0;
    background: rgba(255,255,255,.5);
    cursor: pointer;
}
.slider-dots button.active { background: #fff; }

/* ──────────────────────────────────────────────────────────────────
   Builder Slider — overlay (renk katmanı) ve responsive (mobil/masaüstü)
   ────────────────────────────────────────────────────────────────── */

/* Slider tam genişlik / yükseklik olduğundan .section padding'ini sıfırla */
.builder-slider.section {
    padding-block: 0;
}

/* Ana sayfa slider: dış köşelerde border-radius olmasın (köşeli, tam genişlik) */
.builder-slider .slider-wrapper,
.builder-slider .slider-track {
    border-radius: 0;
}

.builder-slider .slider-slide__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.builder-slider .slider-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.builder-slider .slider-overlay--dark {
    background: linear-gradient(180deg, rgba(0,0,0,.20) 0%, rgba(0,0,0,.65) 100%);
}

.builder-slider .slider-overlay--light {
    background: linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.55) 100%);
}

/* "none" sınıfı zaten render edilmiyor; yine de güvence: */
.builder-slider .slider-overlay--none { display: none; }

.builder-slider .slider-slide__content {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    pointer-events: none;
}
@media (max-width:768px)
{
    .builder-slider .slider-slide__content {
    align-items: flex-end;

}

}
/* R16 (kritik): Buton tıklanabilirliği YALNIZ aktif slayta verilir.
 * Eski kural görünmez slaytların butonlarını da tıklanabilir bırakıyordu;
 * slaytlar üst üste (absolute) durduğu için tüm tıklamalar DOM'daki son
 * slaytın linkine gidiyordu. */
.builder-slider .slider-slide.active .slider-slide__content a,
.builder-slider .slider-slide.active .slider-slide__content button {
    pointer-events: auto;
}
.builder-slider .slider-slide:not(.active) .slider-slide__content a,
.builder-slider .slider-slide:not(.active) .slider-slide__content button {
    pointer-events: none;
}
.builder-slider .slider-slide.active { z-index: 1; }

.builder-slider .slider-slide__inner {
    max-width: 640px;
    padding-block: 2rem;
    color: #fff;
}

.builder-slider .slider-slide__inner--light {
    color: #111;
}

.builder-slider .slider-slide__title {
    font-size: clamp(1.6rem, 4vw, 2.8rem);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: .75rem;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .35);
}
.builder-slider .slider-slide__inner--light .slider-slide__title {
    text-shadow: 0 1px 2px rgba(255, 255, 255, .6);
}
.builder-slider .slider-slide__inner--none .slider-slide__title {
    text-shadow: 0 2px 12px rgba(0, 0, 0, .55);
}

.builder-slider .slider-slide__subtitle {
    font-size: clamp(1rem, 2vw, 1.2rem);
    line-height: 1.5;
    opacity: .92;
    margin-bottom: 1.5rem;
    text-shadow: 0 1px 4px rgba(0, 0, 0, .35);
}
.builder-slider .slider-slide__inner--light .slider-slide__subtitle {
    text-shadow: none;
    opacity: .85;
}

.builder-slider .slider-slide__cta { margin-top: .25rem; }

/* ── Mobil / Masaüstü ayrımı ───────────────────────────────────────
   Slider için ayrı mobil track aktifse (data-has-mobile="1"), masaüstü
   track'i mobilde, mobil track'i masaüstünde gizleriz. */

.builder-slider--has-mobile .slider-track--desktop-only { display: block; }
.builder-slider--has-mobile .slider-track--mobile-only  { display: none;  }

@media (max-width: 768px) {
    .builder-slider--has-mobile .slider-track--desktop-only { display: none;  }
    .builder-slider--has-mobile .slider-track--mobile-only  { display: block; }
}

/* Geçiş / hiza / nav — varsayılan (mobil ayrı track veya tek track mobil kuralları) */
.builder-slider .builder-slider-track--fade .slider-slide {
    transition: opacity 0.6s ease;
}
.builder-slider .builder-slider-track--slide .slider-slide {
    opacity: 0;
    transform: translateX(28px);
    transition: opacity 0.5s ease, transform 0.55s ease;
}
.builder-slider .builder-slider-track--slide .slider-slide.active {
    opacity: 1;
    transform: translateX(0);
}
.builder-slider .builder-slider-track--zoom .slider-slide {
    opacity: 0;
    transform: scale(1.06);
    transition: opacity 0.55s ease, transform 0.6s ease;
}
.builder-slider .builder-slider-track--zoom .slider-slide.active {
    opacity: 1;
    transform: scale(1);
}

.builder-slider .builder-slider--align-center .slider-slide__inner {
    margin-inline: auto;
    text-align: center;
}
.builder-slider .builder-slider--align-right .slider-slide__inner {
    margin-left: auto;
    text-align: right;
}

.builder-slider .builder-slider--nav-arrows .slider-dots,
.builder-slider .builder-slider--nav-dots .slider-prev,
.builder-slider .builder-slider--nav-dots .slider-next,
.builder-slider .builder-slider--nav-minimal .slider-prev,
.builder-slider .builder-slider--nav-minimal .slider-next {
    display: none;
}

/* Tek track: masaüstünde masaüstü şablon geçişi mobil data-* kurallarını ezmesin */
@media (min-width: 769px) {
    .builder-slider:not(.builder-slider--has-mobile) .builder-slider-track--fade .slider-slide {
        transform: none;
    }
    .builder-slider:not(.builder-slider--has-mobile) .builder-slider-track--slide .slider-slide {
        opacity: 0;
        transform: translateX(28px);
    }
    .builder-slider:not(.builder-slider--has-mobile) .builder-slider-track--slide .slider-slide.active {
        opacity: 1;
        transform: translateX(0);
    }
    .builder-slider:not(.builder-slider--has-mobile) .builder-slider-track--zoom .slider-slide {
        opacity: 0;
        transform: scale(1.06);
    }
    .builder-slider:not(.builder-slider--has-mobile) .builder-slider-track--zoom .slider-slide.active {
        opacity: 1;
        transform: scale(1);
    }
    .builder-slider:not(.builder-slider--has-mobile) .builder-slider--align-center .slider-slide__inner {
        margin-inline: auto;
        text-align: center;
    }
    .builder-slider:not(.builder-slider--has-mobile) .builder-slider--align-right .slider-slide__inner {
        margin-left: auto;
        text-align: right;
    }
    .builder-slider:not(.builder-slider--has-mobile) .builder-slider--nav-arrows .slider-dots,
    .builder-slider:not(.builder-slider--has-mobile) .builder-slider--nav-dots .slider-prev,
    .builder-slider:not(.builder-slider--has-mobile) .builder-slider--nav-dots .slider-next,
    .builder-slider:not(.builder-slider--has-mobile) .builder-slider--nav-minimal .slider-prev,
    .builder-slider:not(.builder-slider--has-mobile) .builder-slider--nav-minimal .slider-next {
        display: none;
    }
}
.slider-dots--minimal button {
    width: 6px;
    height: 6px;
}

/* Köşe — sınıf track wrapper üzerinde */
.builder-slider .slider-wrapper.builder-slider--radius-none,
.builder-slider--radius-none .slider-wrapper,
.builder-slider .slider-wrapper.builder-slider--radius-none .slider-track,
.builder-slider--radius-none .slider-track {
    border-radius: 0;
}
.builder-slider .slider-wrapper.builder-slider--radius-pill,
.builder-slider--radius-pill .slider-wrapper {
    border-radius: 1.25rem;
    overflow: hidden;
}

/* Tek track: mobilde mobil şablon (ayrı slayt listesi yokken) */
@media (max-width: 768px) {
    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-height="sm"] .slider-track {
        height: clamp(300px, 68vw, 460px);
    }
    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-height="md"] .slider-track {
        height: clamp(360px, 82vw, 580px);
    }
    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-height="lg"] .slider-track {
        height: clamp(400px, 92vw, 680px);
    }
    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-height="full"] .slider-track {
        height: 100svh;
    }

    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-radius="none"] .slider-wrapper,
    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-radius="none"] .slider-track {
        border-radius: 0;
    }
    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-radius="pill"] .slider-wrapper {
        border-radius: 1.25rem;
        overflow: hidden;
    }
    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-radius="rounded"] .slider-wrapper {
        border-radius: var(--radius-lg);
    }

    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-nav="arrows"] .slider-dots,
    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-nav="dots"] .slider-prev,
    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-nav="dots"] .slider-next,
    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-nav="minimal"] .slider-prev,
    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-nav="minimal"] .slider-next {
        display: none;
    }

    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-transition="slide"] .slider-slide {
        opacity: 0;
        transform: translateX(24px);
        transition: opacity 0.5s ease, transform 0.55s ease;
    }
    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-transition="slide"] .slider-slide.active {
        opacity: 1;
        transform: translateX(0);
    }
    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-transition="zoom"] .slider-slide {
        opacity: 0;
        transform: scale(1.05);
        transition: opacity 0.55s ease, transform 0.6s ease;
    }
    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-transition="zoom"] .slider-slide.active {
        opacity: 1;
        transform: scale(1);
    }
    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-transition="fade"] .slider-slide {
        transform: none;
    }
    .builder-slider:not(.builder-slider--has-mobile) .slider-slide__inner {
        margin-inline: unset;
        margin-left: unset;
        text-align: left;
    }
    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-align="center"] .slider-slide__inner {
        margin-inline: auto;
        text-align: center;
    }
    .builder-slider:not(.builder-slider--has-mobile)[data-mobile-align="right"] .slider-slide__inner {
        margin-left: auto;
        text-align: right;
    }
}

/* ── Builder About (Hızlı Erişim — Hakkımda) ─────────────────────── */

.builder-about.section {
    padding-block: clamp(3rem, 7vw, 6rem);
    margin-top: -80px;
}

.builder-about__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: center;
}

.builder-about__media {
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0, 0, 0, .12);
}

.builder-about__media img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.builder-about__media-placeholder {
    aspect-ratio: 4 / 3;
    background: var(--color-bg-soft, #f8fafc);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text-muted, #94a3b8);
}

.builder-about__media-placeholder svg {
    width: 5rem;
    height: 5rem;
    opacity: .35;
}

.builder-about__title {
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 .75rem;
}

.builder-about__subtitle {
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--color-primary, #0ea5e9);
    margin: 0 0 1rem;
}

.builder-about__body {
    line-height: 1.7;
    color: var(--color-text-muted, #64748b);
    margin-bottom: 1.25rem;
}

.builder-about__stats {
    display: grid;
    gap: .65rem;
    margin-bottom: 1.25rem;
}

.builder-about__stats--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.builder-about__stats--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.builder-about__stats--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.builder-about__stat {
    text-align: center;
    padding: .55rem .5rem;
    background: var(--color-bg-soft, #f8fafc);
    border-radius: .65rem;
}

.builder-about__stat-icon {
    display: block;
    font-size: 1.1rem;
    line-height: 1;
    margin-bottom: .15rem;
}

.builder-about__stat-value {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--color-primary, #0ea5e9);
    line-height: 1.2;
}

.builder-about__stat-label {
    font-size: .72rem;
    color: var(--color-text-muted, #64748b);
    margin-top: .15rem;
    line-height: 1.25;
}

.builder-about__cta { margin-top: .25rem; }

.builder-about--image-right .builder-about__inner {
    direction: rtl;
}
.builder-about--image-right .builder-about__inner > * {
    direction: ltr;
}

.builder-about--centered .builder-about__inner {
    grid-template-columns: 1fr;
    text-align: center;
}
.builder-about--centered .builder-about__media {
    max-width: 640px;
    margin-inline: auto;
    width: 100%;
}
.builder-about--centered .builder-about__stats {
    max-width: 720px;
    margin-inline: auto;
}

.builder-about--text-only .builder-about__inner {
    grid-template-columns: 1fr;
}

@media (max-width: 768px) {
    .builder-about__inner,
    .builder-about--image-right .builder-about__inner {
        grid-template-columns: 1fr;
        direction: ltr;
    }

    .builder-about__stats--cols-3,
    .builder-about__stats--cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Video gallery */
.video-trigger {
    position: relative;
    width: 100%;
    border: 0;
    padding: 0;
    cursor: pointer;
    background: transparent;
}
.video-trigger img { border-radius: var(--radius); }
.video-play-icon {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: var(--text-4xl);
    background: rgba(0,0,0,.4);
    border-radius: var(--radius);
}

/* Before-after */
.ba-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--space-4);
}
.ba-item .ba-images {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius);
    cursor: ew-resize;
}
.ba-item img { display: block; width: 100%; }
.ba-before-wrap {
    position: absolute;
    top: 0; left: 0;
    overflow: hidden;
}
.ba-before-wrap img { width: 100%; }
.ba-slider {
    position: absolute;
    top: 0; bottom: 0;
    left: 50%;
    width: 4px;
    background: #fff;
    cursor: ew-resize;
}
.ba-handle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--color-primary);
    color: #fff;
    border-radius: 50%;
    width: 36px; height: 36px;
    display: flex; align-items: center; justify-content: center;
}
.ba-label {
    position: absolute;
    top: var(--space-2);
    padding: var(--space-1) var(--space-3);
    background: rgba(0,0,0,.7);
    color: #fff;
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
}
.ba-label-before { left: var(--space-2); }
.ba-label-after { right: var(--space-2); }

/* ===== Builder sections ===== */
.builder-hero {
    position: relative;
    padding-block: var(--space-24);
    color: #fff;
    text-align: center;
    overflow: hidden;
}
.builder-hero .hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: -1;
}
.builder-hero .hero-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.4);
}
.builder-hero h1 {
    color: #fff;
    font-size: clamp(2rem, 5vw, var(--text-5xl));
}
.builder-cta {
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
    color: #fff;
    padding-block: var(--space-16);
}
.builder-cta h2 { color: #fff; }
.cta-box { text-align: center; }
.cta-actions { display: flex; gap: var(--space-3); justify-content: center; flex-wrap: wrap; margin-top: var(--space-6); }

.cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--space-6);
}

/* ===== Popup ===== */
.popup {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: var(--space-4);
}
.popup.is-open { display: flex; }
.popup[hidden] { display: none !important; }
body.popup-open { overflow: hidden; }
.popup-title { margin: 0 0 var(--space-3); font-size: var(--text-xl); }
.popup-body { margin-bottom: var(--space-4); line-height: 1.6; }
.popup-cta-group { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-4); }
.popup-image img { max-width: 100%; height: auto; border-radius: var(--radius-md); margin-bottom: var(--space-4); }
.popup-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.5);
}
.popup-content {
    position: relative;
    max-width: 480px;
    background: var(--color-bg);
    border-radius: var(--radius-lg);
    padding: var(--space-8);
    box-shadow: var(--shadow-xl);
    z-index: 1;
}
.popup-close {
    position: absolute;
    top: var(--space-2);
    right: var(--space-2);
    width: 36px; height: 36px;
    border-radius: 50%;
    border: 0;
    background: var(--color-bg-muted);
    cursor: pointer;
    font-size: var(--text-xl);
}
.popup-cta { display: inline-block; margin-top: var(--space-4); }

/* Bar popup variant */
.popup-bar { align-items: flex-start; padding: 0; }
.popup-bar .popup-content {
    width: 100%;
    max-width: 100%;
    border-radius: 0;
    padding: var(--space-3) var(--space-6);
    text-align: center;
}

/* ===== Galeri grid & listeleme ===== */
.rd-gallery-root .gallery-grid--photo,
.gallery-type-index-grid {
    display: grid;
    gap: var(--space-4, 1rem);
}
.gallery-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gallery-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gallery-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gallery-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.gallery-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 1024px) {
    .gallery-cols-4, .gallery-cols-5, .gallery-cols-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .gallery-cols-3, .gallery-cols-4, .gallery-cols-5, .gallery-cols-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.gallery-item {
    display: block;
    border-radius: .5rem;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,.1);
    transition: transform .25s ease, box-shadow .25s ease;
}
.gallery-item:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.gallery-item figure { margin: 0; }
.gallery-item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.gallery-item figcaption { padding: .5rem .75rem; font-size: .8rem; color: var(--color-text-muted, #64748b); background: #fff; }
.gallery-infinite-sentinel { height: 1px; }
.gallery-load-more-btn {
    display: block;
    margin: 1.5rem auto 0;
    padding: .65rem 1.25rem;
    border-radius: 999px;
    border: 1px solid var(--color-border, #e2e8f0);
    background: #fff;
    cursor: pointer;
}
.gallery-pagination { display: flex; gap: .35rem; justify-content: center; flex-wrap: wrap; margin-top: 1.5rem; }
.gallery-pagination__btn {
    min-width: 2.25rem;
    height: 2.25rem;
    border-radius: .375rem;
    border: 1px solid var(--color-border, #e2e8f0);
    background: #fff;
    cursor: pointer;
}
.gallery-pagination__btn.is-active { background: var(--color-primary, #0d9488); color: #fff; border-color: transparent; }

/* Mini galeri (shortcode) */
.gallery-embed { position: relative; margin: 1.5rem 0; }
.gallery-embed__track {
    display: flex;
    gap: .75rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    padding-bottom: .25rem;
}
.gallery-embed__slide {
    flex: 0 0 min(280px, 85vw);
    scroll-snap-align: start;
    border-radius: .5rem;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,.12);
}
.gallery-embed__slide img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.gallery-embed__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    border: 0;
    background: rgba(255,255,255,.92);
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
    cursor: pointer;
    z-index: 2;
}
.gallery-embed__nav--prev { left: .35rem; }
.gallery-embed__nav--next { right: .35rem; }
.gallery-embed__slide--video { position: relative; display: block; color: inherit; text-decoration: none; }
.gallery-embed__play-icon {
    position: absolute;
    left: 50%;
    top: 42%;
    transform: translate(-50%, -50%);
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: rgba(0,0,0,.55);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .85rem;
}
.gallery-embed__slide-title {
    display: block;
    padding: .5rem .65rem;
    font-size: .8rem;
    background: #fff;
}

/* Hızlı erişim — fotoğraf galerisi (ana sayfa, card slider) */
.builder-gallery {
    padding-block: clamp(3rem, 7vw, 6rem);
    overflow: hidden;
}
.builder-gallery__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
}
.builder-gallery__header {
    flex: 1;
    min-width: 12rem;
}
.builder-gallery__title {
    font-size: clamp(1.3rem, 2.8vw, 1.9rem);
    font-weight: 700;
    margin: 0 0 0.35rem;
}
.builder-gallery__subtitle {
    color: var(--color-text-muted, #64748b);
    font-size: 0.95rem;
    margin: 0;
}
.builder-gallery__nav {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
}
.builder-gallery__nav-btn {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    border: 2px solid var(--color-primary, #2563eb);
    background: transparent;
    color: var(--color-primary, #2563eb);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    transition: background 0.15s, color 0.15s;
}
.builder-gallery__nav-btn:hover {
    background: var(--color-primary, #2563eb);
    color: #fff;
}
.builder-gallery__viewport {
    overflow: hidden;
    position: relative;
}
.builder-gallery__track {
    display: flex;
    gap: 1.25rem;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}
.rd-gallery-card {
    min-width: 0;
    border-radius: 0.875rem;
    overflow: hidden;
    background: var(--color-bg, #fff);
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.08);
    transition: transform 0.2s, box-shadow 0.2s;
}
.rd-gallery-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.13);
}
.builder-gallery__link {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--color-bg-soft, #f1f5f9);
}
.builder-gallery__link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s;
}
.builder-gallery__link:hover img {
    transform: scale(1.05);
}
.builder-gallery__card-title {
    margin: 0;
    padding: 0.85rem 1rem 1rem;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--color-text, #0f172a);
}
.builder-gallery__footer {
    text-align: center;
    margin-top: 2rem;
    margin-bottom: 0;
}

/* Hızlı erişim — video galerisi (ana sayfa) */
.builder-video {
    padding-block: clamp(3rem, 7vw, 6rem);
    background: var(--color-bg-soft, #f8fafc);
}
.builder-video__header {
    text-align: center;
    margin-bottom: 2.5rem;
}
.builder-video__title {
    font-size: clamp(1.4rem, 3vw, 2rem);
    font-weight: 700;
    margin: 0 0 0.5rem;
}
.builder-video__subtitle {
    color: var(--color-text-muted, #64748b);
    max-width: 36rem;
    margin-inline: auto;
}
.builder-video__grid {
    display: grid;
    gap: 1.25rem;
}
.builder-video__footer {
    text-align: center;
    margin-top: 2rem;
    margin-bottom: 0;
}

/* Video galeri kartları */
.gallery-grid--video { display: grid; gap: 1.25rem; }
.rd-gallery-root .gallery-grid.gallery-grid--video {
    display: grid;
    gap: 1.25rem;
}
.rd-gallery-root .video-card[hidden],
.rd-gallery-root .video-card.rd-gallery-item--hidden,
.rd-gallery-root .gallery-item[hidden],
.rd-gallery-root .gallery-item.rd-gallery-item--hidden,
.gallery-type-index-grid .gallery-card[hidden],
.gallery-type-index-grid .gallery-card.rd-gallery-item--hidden {
    display: none !important;
}
.gallery-grid--video .video-card {
    display: block;
    border-radius: .5rem;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
    text-decoration: none;
    color: inherit;
    transition: transform .2s, box-shadow .2s;
}
.gallery-grid--video .video-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,.2);
}
.gallery-grid--video .video-card__thumb {
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
    background: #e2e8f0;
}
.gallery-grid--video .video-card__thumb img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.gallery-grid--video .video-card__play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}
.gallery-grid--video .video-card__duration {
    position: absolute;
    right: .5rem;
    bottom: .5rem;
    background: rgba(0,0,0,.75);
    color: #fff;
    font-size: .75rem;
    padding: .15rem .45rem;
    border-radius: .25rem;
}
.gallery-grid--video .video-card__title {
    margin: 0;
    padding: .75rem 1rem;
    font-size: .95rem;
    font-weight: 600;
    background: #fff;
}

/* Video detay sayfası */
.page-video-detail .breadcrumb {
    font-size: .875rem;
    margin-bottom: 1rem;
    color: var(--color-text-muted, #64748b);
}
.page-video-detail .breadcrumb a { color: var(--color-primary, #0d9488); }

/* İki sütun: oynatıcı + yan panel */
.page-video-detail .video-detail__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 2rem;
    align-items: start;
}
.page-video-detail .video-detail__header h1 {
    font-size: clamp(1.25rem, 2.4vw, 1.7rem);
    line-height: 1.3;
    margin: 0 0 .35rem;
}
.page-video-detail .video-detail__meta {
    font-size: .85rem;
    color: var(--color-text-muted, #64748b);
    margin: 0 0 1rem;
}
.page-video-detail .video-detail__player {
    position: relative;
    aspect-ratio: 16/9;
    border-radius: .65rem;
    overflow: hidden;
    background: #000;
    margin-bottom: 1.5rem;
    box-shadow: 0 8px 32px rgba(0,0,0,.15);
}
.page-video-detail .video-detail__player iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
.page-video-detail .video-detail__description {
    margin-bottom: 2rem;
    color: var(--color-text-muted, #475569);
    line-height: 1.7;
}
.page-video-detail .video-detail__transcript {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid var(--color-border, #e2e8f0);
}
.page-video-detail .video-detail__transcript h2 {
    font-size: 1.25rem;
    margin-bottom: 1rem;
}
.page-video-detail .video-detail__transcript-body {
    font-size: .95rem;
    line-height: 1.75;
    color: var(--color-text, #334155);
}

/* Yan panel: aynı galerideki diğer videolar */
.page-video-detail .video-detail__sidebar {
    position: sticky;
    top: 1.5rem;
}
.page-video-detail .video-detail__sidebar-title {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 1rem;
    padding-bottom: .65rem;
    border-bottom: 2px solid var(--color-primary, #0d9488);
}
.page-video-detail .video-sidebar-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .9rem;
    max-height: 70vh;
    overflow-y: auto;
}
.page-video-detail .video-sidebar-link {
    display: grid;
    grid-template-columns: 128px 1fr;
    gap: .7rem;
    align-items: start;
    text-decoration: none;
    color: inherit;
    border-radius: .5rem;
    transition: background .15s;
}
.page-video-detail .video-sidebar-link:hover {
    background: var(--color-bg-soft, #f1f5f9);
}
.page-video-detail .video-sidebar-thumb {
    position: relative;
    display: block;
    aspect-ratio: 16/9;
    border-radius: .4rem;
    overflow: hidden;
    background: #e2e8f0;
}
.page-video-detail .video-sidebar-thumb img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.page-video-detail .video-sidebar-play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: .85;
    transition: opacity .15s;
}
.page-video-detail .video-sidebar-link:hover .video-sidebar-play { opacity: 1; }
.page-video-detail .video-sidebar-duration {
    position: absolute;
    right: .3rem;
    bottom: .3rem;
    background: rgba(0,0,0,.78);
    color: #fff;
    font-size: .68rem;
    line-height: 1;
    padding: .18rem .35rem;
    border-radius: .25rem;
}
.page-video-detail .video-sidebar-text {
    font-size: .85rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--color-text, #1e293b);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (max-width: 900px) {
    .page-video-detail .video-detail__layout {
        grid-template-columns: 1fr;
    }
    .page-video-detail .video-detail__sidebar {
        position: static;
    }
    .page-video-detail .video-sidebar-list {
        max-height: none;
    }
}

/* ===== Lightbox ===== */
body.rd-lightbox-open { overflow: hidden; }
.lightbox {
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(8, 12, 20, 0);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: background .3s ease, opacity .3s ease;
}
.lightbox.is-open {
    opacity: 1;
    pointer-events: auto;
    background: rgba(8, 12, 20, .92);
}
.lightbox.is-closing { opacity: 0; pointer-events: none; }
.lightbox-stage {
    max-width: min(94vw, 1200px);
    max-height: 90vh;
    transform: scale(.92);
    opacity: 0;
    transition: transform .35s cubic-bezier(.22, 1, .36, 1), opacity .35s ease;
}
.lightbox.is-open .lightbox-stage { transform: scale(1); opacity: 1; }
.lightbox-figure { margin: 0; text-align: center; }
.lightbox-image {
    max-width: 94vw;
    max-height: 78vh;
    border-radius: .5rem;
    box-shadow: 0 24px 64px rgba(0,0,0,.45);
    opacity: 0;
    transition: opacity .25s ease;
}
.lightbox-image.is-loaded { opacity: 1; }
.lightbox-caption {
    color: #e2e8f0;
    margin-top: .75rem;
    font-size: .95rem;
    max-width: 60ch;
    margin-inline: auto;
}
.lightbox-close, .lightbox-prev, .lightbox-next {
    position: absolute;
    background: rgba(255,255,255,.12);
    color: #fff;
    border: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(6px);
    transition: background .2s ease, transform .2s ease;
}
.lightbox-close:hover, .lightbox-prev:hover, .lightbox-next:hover {
    background: rgba(255,255,255,.22);
    transform: scale(1.05);
}
.lightbox-close { top: var(--space-4); right: var(--space-4); z-index: 2; }
.lightbox-prev { left: var(--space-4); top: 50%; transform: translateY(-50%); }
.lightbox-next { right: var(--space-4); top: 50%; transform: translateY(-50%); }
.lightbox-prev:hover, .lightbox-next:hover { transform: translateY(-50%) scale(1.05); }

/* ===== Empty states ===== */
.empty {
    text-align: center;
    padding: var(--space-12);
    color: var(--color-text-muted);
    font-size: var(--text-lg);
}

/* ===== Hero adjusted ===== */
.contact-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-8);
}
@media (min-width: 768px) {
    .contact-grid { grid-template-columns: 1fr 1.5fr; }
}
.contact-map { margin-top: var(--space-8); }
.contact-map iframe { width: 100%; min-height: 360px; border: 0; border-radius: var(--radius-lg); }

/* ===== Page header ===== */
.page-header {
    text-align: center;
    margin-bottom: var(--space-8);
}
.page-lead {
    font-size: var(--text-xl);
    color: var(--color-text-muted);
    max-width: 720px;
    margin-inline: auto;
}
.page-cover img {
    width: 100%;
    border-radius: var(--radius-lg);
    margin-bottom: var(--space-8);
}

/* ============================================================
 * RD Editor (Jodit) icerigi - sutun/grid layout, responsive
 * (Editorde inline style="display:grid" ile gelir; mobile'da
 *  mecburen alt alta dussun.)
 * ============================================================ */
.rd-row {
    display: grid;
    gap: 1rem;
    margin: 1rem 0;
}
@media (max-width: 768px) {
    .rd-row {
        grid-template-columns: 1fr !important;
    }
}

.rd-callout {
    background: #eff6ff;
    border-left: 4px solid #3b82f6;
    padding: 1rem 1.25rem;
    border-radius: 8px;
    margin: 1rem 0;
}
.rd-cta {
    text-align: center;
    background: var(--color-primary);
    color: #fff;
    padding: 2rem;
    border-radius: 12px;
    margin: 1.5rem 0;
}
.rd-cta h1, .rd-cta h2, .rd-cta h3 { color: #fff; margin: 0 0 .5rem; }
.rd-cta a {
    display: inline-block;
    background: #fff;
    color: var(--color-primary);
    padding: .75rem 1.5rem;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none;
}
.rd-pagebreak {
    border-top: 2px dashed #cbd5e1;
    margin: 1.5rem 0;
    text-align: center;
    font-size: 11px;
    color: #94a3b8;
    padding-top: .25rem;
}
.rd-table {
    border-collapse: collapse;
    width: 100%;
    margin: 1rem 0;
}
.rd-table th, .rd-table td {
    border: 1px solid #cbd5e1;
    padding: .5rem .75rem;
    text-align: left;
}
.rd-table th {
    background: #f1f5f9;
    font-weight: 600;
}

/* ──────────────────────────────────────────────────────────────────
   SSS / FAQ accordion ([faq slug=…] shortcode'u tarafından üretilir)
   ────────────────────────────────────────────────────────────────── */

.rd-faq {
    margin: 2.5rem 0;
    scroll-margin-top: 5rem;
}

.rd-faq.rd-toc-target {
    outline: 2px solid rgba(129, 140, 248, .55);
    outline-offset: 6px;
    border-radius: 1rem;
}

.rd-faq__heading {
    margin: 0 0 1.15rem;
    font-size: clamp(1.25rem, 2.5vw, 1.55rem);
    font-weight: 700;
    line-height: 1.25;
    color: var(--rd-color-heading, #0f172a);
    letter-spacing: -0.02em;
}

.rd-faq__list {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.rd-faq__item {
    background: #fff;
    border: 1px solid var(--color-border, #e2e8f0);
    border-radius: var(--radius, .75rem);
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
    overflow: hidden;
    transition: box-shadow .25s ease, border-color .25s ease, transform .15s ease;
}
.rd-faq__item:hover {
    border-color: var(--color-primary, #2563eb);
    box-shadow: 0 6px 18px rgba(37, 99, 235, .08);
}
.rd-faq__item[open] {
    border-color: var(--color-primary, #2563eb);
    box-shadow: 0 8px 24px rgba(37, 99, 235, .10);
}

.rd-faq__question {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.05rem 1.25rem;
    font-weight: 600;
    font-size: clamp(1rem, 1.1vw, 1.08rem);
    color: var(--color-text, #0f172a);
    line-height: 1.4;
    user-select: none;
}
.rd-faq__question::-webkit-details-marker { display: none; }
.rd-faq__question::marker { display: none; content: ''; }

.rd-faq__q-text {
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-weight: 600;
    color: inherit;
    line-height: inherit;
}

.rd-faq__icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(37, 99, 235, .08);
    color: var(--color-primary, #2563eb);
    transition: transform .25s ease, background .25s ease;
}
.rd-faq__item[open] .rd-faq__icon {
    transform: rotate(180deg);
    background: var(--color-primary, #2563eb);
    color: #fff;
}

.rd-faq__answer {
    padding: 0 1.25rem 1.15rem;
    color: var(--color-text-muted, #475569);
    font-size: .96rem;
    line-height: 1.65;
    border-top: 1px solid rgba(226, 232, 240, .8);
    animation: rdFaqSlide .25s ease;
}
.rd-faq__answer-body > *:first-child { margin-top: .9rem; }
.rd-faq__answer-body > *:last-child  { margin-bottom: 0; }
.rd-faq__answer-body p { margin: .65rem 0; }
.rd-faq__answer-body a {
    color: var(--color-primary, #2563eb);
    text-decoration: underline;
    text-underline-offset: 2px;
}

@keyframes rdFaqSlide {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0);    }
}

@media (max-width: 640px) {
    .rd-faq__question {
        padding: .9rem 1rem;
        font-size: .98rem;
        gap: .65rem;
    }
    .rd-faq__icon { width: 28px; height: 28px; }
    .rd-faq__answer { padding: 0 1rem 1rem; }
}

/* ──────────────────────────────────────────────────────────────────
   İçindekiler (Table of Contents) — [quick-content] shortcode'u
   tarafından üretilir. Eski CMS'teki "Hızlı İçerik" görünümünü taklit
   eden koyu/premium tema. Açılır-kapanır + smooth-scroll içerir.
   ────────────────────────────────────────────────────────────────── */

.rd-toc {
    --rd-toc-bg-from:    #1e293b;
    --rd-toc-bg-to:      #0f172a;
    --rd-toc-border:     rgba(148, 163, 184, .14);
    --rd-toc-text:       #e2e8f0;
    --rd-toc-text-soft:  #cbd5e1;
    --rd-toc-text-muted: #94a3b8;
    --rd-toc-accent:     #818cf8;
    --rd-toc-divider:    rgba(148, 163, 184, .10);

    display: block;
    margin: 2rem 0 2.5rem;
    background: linear-gradient(135deg, var(--rd-toc-bg-from), var(--rd-toc-bg-to));
    border: 1px solid var(--rd-toc-border);
    border-radius: 1rem;
    padding: 0;
    color: var(--rd-toc-text);
    box-shadow: 0 12px 32px -8px rgba(15, 23, 42, .35), 0 1px 0 rgba(255, 255, 255, .03) inset;
    overflow: hidden;
}

/* — Başlık çubuğu (tıklayınca aç/kapa) — */
.rd-toc__head {
    width: 100%;
    appearance: none;
    background: transparent;
    border: 0;
    cursor: pointer;
    color: inherit;
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: 1.05rem 1.25rem;
    font: inherit;
    text-align: left;
    transition: background .2s ease;
}
.rd-toc__head:hover {
    background: rgba(255, 255, 255, .025);
}
.rd-toc__head:focus-visible {
    outline: 2px solid var(--rd-toc-accent);
    outline-offset: -2px;
}

.rd-toc__head-icon {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    color: var(--rd-toc-text-soft);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.rd-toc__head-icon svg {
    width: 100%;
    height: 100%;
}

.rd-toc__title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: .2px;
}

.rd-toc__count {
    margin-left: .35rem;
    font-size: .78rem;
    font-weight: 600;
    line-height: 1;
    padding: .35rem .6rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    color: var(--rd-toc-text-soft);
    white-space: nowrap;
}

.rd-toc__chevron {
    margin-left: auto;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    border-radius: .55rem;
    background: rgba(255, 255, 255, .04);
    color: var(--rd-toc-text-soft);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform .3s cubic-bezier(.4, 0, .2, 1), background .2s ease;
}
.rd-toc__chevron svg { width: 14px; height: 14px; }
.rd-toc__head:hover .rd-toc__chevron {
    background: rgba(255, 255, 255, .08);
    color: #fff;
}
.rd-toc--collapsed .rd-toc__chevron {
    transform: rotate(-90deg);
}

/* — Liste (açılır/kapanır animasyonu) — */
.rd-toc__list {
    list-style: none;
    margin: 0;
    padding: .25rem .5rem .9rem;
    display: flex;
    flex-direction: column;
    gap: 0;
    max-height: 4000px;
    opacity: 1;
    overflow: hidden;
    transition:
        max-height .45s cubic-bezier(.4, 0, .2, 1),
        opacity   .25s ease,
        padding   .35s ease;
}
.rd-toc--collapsed .rd-toc__list {
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
}

/* — Tek bir madde — */
.rd-toc__item {
    border-top: 1px solid var(--rd-toc-divider);
    margin: 0;
    padding: 0;
}
.rd-toc__item:first-child { border-top: 0; }

.rd-toc__link {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .7rem .85rem;
    color: var(--rd-toc-text-soft);
    text-decoration: none;
    border-radius: .55rem;
    line-height: 1.45;
    font-size: .95rem;
    transition: color .15s ease, background .15s ease, transform .15s ease;
}
.rd-toc__link:hover,
.rd-toc__link:focus-visible {
    color: #fff;
    background: rgba(129, 140, 248, .08);
    outline: none;
}
.rd-toc__link:focus-visible {
    box-shadow: 0 0 0 2px rgba(129, 140, 248, .35);
}

.rd-toc__bullet {
    flex-shrink: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--rd-toc-text-muted);
    transition: background .15s ease, transform .15s ease;
}
.rd-toc__link:hover .rd-toc__bullet,
.rd-toc__link:focus-visible .rd-toc__bullet {
    background: var(--rd-toc-accent);
    transform: scale(1.5);
}

.rd-toc__text {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* — Hiyerarşi: relative_depth 1..5 — */
.rd-toc__item--lvl-1 .rd-toc__link { padding-left: .6rem;  font-weight: 600; color: #fff; }
.rd-toc__item--lvl-2 .rd-toc__link { padding-left: 1.85rem; }
.rd-toc__item--lvl-3 .rd-toc__link { padding-left: 3.1rem;  font-size: .92rem; }
.rd-toc__item--lvl-4 .rd-toc__link { padding-left: 4.35rem; font-size: .9rem;  color: var(--rd-toc-text-muted); }
.rd-toc__item--lvl-5 .rd-toc__link { padding-left: 5.6rem;  font-size: .88rem; color: var(--rd-toc-text-muted); }

/* h1 dolu, h2/h3 normal, h4/h5 daha pasif yuvarlak (görsel hiyerarşi) */
.rd-toc__item--lvl-1 .rd-toc__bullet { width: 7px; height: 7px; background: var(--rd-toc-accent); }
.rd-toc__item--lvl-2 .rd-toc__bullet { width: 6px; height: 6px; }
.rd-toc__item--lvl-4 .rd-toc__bullet,
.rd-toc__item--lvl-5 .rd-toc__bullet { width: 4px; height: 4px; }

/* — TOC tıklayınca hedef heading'i kısaca vurgula — */
.rd-toc-target {
    animation: rdTocHighlight 1.6s ease;
    scroll-margin-top: 80px;
}
@keyframes rdTocHighlight {
    0%   { background-color: rgba(129, 140, 248, .18); }
    60%  { background-color: rgba(129, 140, 248, .10); }
    100% { background-color: transparent; }
}

/* TOC içerisindeki tüm h1-h5'lere scroll-margin-top vermek istiyoruz —
   sticky header olduğu için sayfa içi anchor'lar başlığın üstüne otururdu. */
.page-content :is(h1, h2, h3, h4, h5)[id] {
    scroll-margin-top: 90px;
}

/* — Mobil — */
@media (max-width: 640px) {
    .rd-toc { margin: 1.5rem 0 2rem; border-radius: .85rem; }
    .rd-toc__head { padding: .9rem 1rem; gap: .65rem; }
    .rd-toc__title { font-size: .98rem; }
    .rd-toc__count { font-size: .72rem; padding: .3rem .5rem; }
    .rd-toc__chevron { width: 28px; height: 28px; }
    .rd-toc__list { padding: .15rem .35rem .7rem; }
    .rd-toc__link { padding: .6rem .7rem; font-size: .9rem; }

    /* Mobilde hiyerarşi indent'lerini biraz küçült */
    .rd-toc__item--lvl-1 .rd-toc__link { padding-left: .55rem; }
    .rd-toc__item--lvl-2 .rd-toc__link { padding-left: 1.45rem; }
    .rd-toc__item--lvl-3 .rd-toc__link { padding-left: 2.35rem; font-size: .87rem; }
    .rd-toc__item--lvl-4 .rd-toc__link { padding-left: 3.25rem; font-size: .85rem; }
    .rd-toc__item--lvl-5 .rd-toc__link { padding-left: 4.15rem; font-size: .83rem; }
}

/* — Açık temalı (light theme) override — koyu zemin üzerinde değil de
   açık zeminde göstermek istenirse `.rd-toc.rd-toc--light` ekleyin. */
.rd-toc--light {
    --rd-toc-bg-from:    #f8fafc;
    --rd-toc-bg-to:      #eef2ff;
    --rd-toc-border:     #e2e8f0;
    --rd-toc-text:       #0f172a;
    --rd-toc-text-soft:  #334155;
    --rd-toc-text-muted: #64748b;
    --rd-toc-accent:     #4f46e5;
    --rd-toc-divider:    rgba(148, 163, 184, .25);
    box-shadow: 0 8px 24px -10px rgba(15, 23, 42, .15);
}
.rd-toc--light .rd-toc__title { color: #0f172a; }
.rd-toc--light .rd-toc__count { background: rgba(15, 23, 42, .06); color: #475569; }
.rd-toc--light .rd-toc__chevron { background: rgba(15, 23, 42, .04); }
.rd-toc--light .rd-toc__head:hover { background: rgba(79, 70, 229, .04); }
.rd-toc--light .rd-toc__link:hover { background: rgba(79, 70, 229, .06); color: #1e293b; }
.rd-toc--light .rd-toc__item--lvl-1 .rd-toc__link { color: #0f172a; }

/* ===== Editörden gömülü video (YouTube / Vimeo) ===== */
.page-content .rd-video-embed,
.article-body .rd-video-embed {
    position: relative;
    max-width: 100%;
    clear: both;
    border-radius: var(--radius, 8px);
    background: #0f172a;
    box-sizing: border-box;
}
.page-content .rd-video-embed__inner,
.article-body .rd-video-embed__inner {
    position: relative;
    width: 100%;
    height: 0;
    overflow: hidden;
    border-radius: inherit;
}
.page-content .rd-video-embed__inner iframe,
.article-body .rd-video-embed__inner iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* ===== Editörden gömülü PDF ===== */
.page-content .rd-pdf-embed,
.article-body .rd-pdf-embed {
    display: block;
    max-width: 100%;
    margin: 1.25rem 0;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--radius, 12px);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .06);
    clear: both;
}
.page-content .rd-pdf-embed__header,
.article-body .rd-pdf-embed__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .75rem 1rem;
    border-bottom: 1px solid var(--border, #e2e8f0);
    background: var(--surface-muted, #f8fafc);
}
.page-content .rd-pdf-embed__meta,
.article-body .rd-pdf-embed__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem .75rem;
    min-width: 0;
    flex: 1 1 auto;
}
.page-content .rd-pdf-embed__badge,
.article-body .rd-pdf-embed__badge {
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #b91c1c;
    background: #fef2f2;
    padding: .2rem .5rem;
    border-radius: 4px;
}
.page-content .rd-pdf-embed__title,
.article-body .rd-pdf-embed__title {
    font-weight: 600;
    font-size: .9375rem;
}
.page-content .rd-pdf-embed__sub,
.article-body .rd-pdf-embed__sub {
    font-size: .75rem;
    opacity: .75;
}
.page-content .rd-pdf-embed__actions,
.article-body .rd-pdf-embed__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.page-content .rd-pdf-embed__action,
.article-body .rd-pdf-embed__action {
    font-size: .8125rem;
    font-weight: 500;
    padding: .35rem .75rem;
    border-radius: 6px;
    text-decoration: none;
    border: 1px solid var(--border, #cbd5e1);
    color: inherit;
}
.page-content .rd-pdf-embed__action--primary,
.article-body .rd-pdf-embed__action--primary {
    color: #fff;
    background: var(--primary, #0ea5e9);
    border-color: var(--primary, #0ea5e9);
}
.page-content .rd-pdf-embed__frame,
.article-body .rd-pdf-embed__frame {
    display: block;
    width: 100%;
    min-height: 280px;
    background: #e2e8f0;
}
.page-content .rd-pdf-embed__frame iframe,
.article-body .rd-pdf-embed__frame iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

/* ===== Editörden dosya indirme kartı ===== */
.page-content .rd-file-embed,
.article-body .rd-file-embed {
    margin: 1rem 0;
    max-width: 100%;
}
.page-content .rd-file-embed__link,
.article-body .rd-file-embed__link {
    display: flex;
    align-items: center;
    gap: .875rem;
    padding: .875rem 1rem;
    border: 1px solid var(--border, #cbd5e1);
    border-radius: var(--radius, 10px);
    background: var(--surface-muted, #f8fafc);
    color: inherit;
    text-decoration: none;
    transition: border-color .15s, box-shadow .15s;
}
.page-content .rd-file-embed__link:hover,
.article-body .rd-file-embed__link:hover {
    border-color: var(--primary, #0ea5e9);
    box-shadow: 0 4px 14px rgba(14, 165, 233, .12);
}
.page-content .rd-file-embed__icon,
.article-body .rd-file-embed__icon {
    width: 2.5rem;
    height: 2.5rem;
    flex-shrink: 0;
    color: var(--primary, #0ea5e9);
}
.page-content .rd-file-embed__icon svg,
.article-body .rd-file-embed__icon svg {
    width: 100%;
    height: 100%;
}
.page-content .rd-file-embed__meta,
.article-body .rd-file-embed__meta {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    min-width: 0;
}
.page-content .rd-file-embed__title,
.article-body .rd-file-embed__title {
    font-weight: 600;
}
.page-content .rd-file-embed__sub,
.article-body .rd-file-embed__sub {
    font-size: .75rem;
    opacity: .75;
}

/* ===== Editör şablonları — frontend ===== */
.page-content .rd-tpl-img,
.article-body .rd-tpl-img {
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    max-width: 100%;
}

/* R14: Görsel eklendiyse placeholder arkaplanı/çerçevesi kalkar,
 * resim kutunun tamamını kaplar (taşma imkânsız). */
.page-content .rd-tpl-img:has(img),
.article-body .rd-tpl-img:has(img),
.text-body .rd-tpl-img:has(img),
.popup-body .rd-tpl-img:has(img) {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    display: block !important;
}
.page-content .rd-tpl-img img,
.article-body .rd-tpl-img img,
.text-body .rd-tpl-img img,
.popup-body .rd-tpl-img img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    border-radius: 10px;
    margin: 0;
}

/* R15: Uzun başlık/kelime şablon hücresinden taşmaz — sarar */
.page-body :where(.rd-row, [class*="rd-row"]) *,
.article-body :where(.rd-row, [class*="rd-row"]) *,
.text-body :where(.rd-row, [class*="rd-row"]) *,
.popup-body :where(.rd-row, [class*="rd-row"]) * {
    overflow-wrap: break-word;
    word-break: break-word;
}
.page-content .rd-stats,
.page-content .rd-pricing {
    color: inherit;
}
@media (max-width: 768px) {
    .page-body :where(.rd-row, [class*="rd-row"], div[style*="grid-template-columns"]),
    .article-body :where(.rd-row, [class*="rd-row"], div[style*="grid-template-columns"]),
    .text-body :where(.rd-row, [class*="rd-row"], div[style*="grid-template-columns"]),
    .popup-body :where(.rd-row, [class*="rd-row"], div[style*="grid-template-columns"]) {
        grid-template-columns: 1fr !important;
    }

    .page-content .rd-stats,
    .page-content .rd-pricing,
    .page-content .rd-contact-strip,
    .page-content .rd-row[style*="repeat(4"],
    .page-content .rd-row[style*="repeat(3"] {
        grid-template-columns: 1fr !important;
    }
    .page-content .rd-doctor-card {
        grid-template-columns: 1fr !important;
        text-align: center;
    }
    .page-content .rd-doctor-card > div:first-child {
        margin: 0 auto;
        max-width: 180px;
    }
    .page-content .rd-cta a {
        display: block;
        margin: 0.35rem 0 !important;
    }
}
.rd-callout--warn { background: #fffbeb !important; border-left-color: #f59e0b !important; }
.rd-callout--ok { background: #ecfdf5 !important; border-left-color: #10b981 !important; }
.rd-callout--tip { background: #f5f3ff !important; border-left-color: #8b5cf6 !important; }

/* ===== Editör iletişim şablonları (rd-contact-block) ===== */
.rd-contact-block {
    max-width: 100%;
    min-width: 0;
    margin: 2rem 0;
}
.rd-contact-block > div[style*="grid-template-columns"] {
    max-width: 100%;
    min-width: 0;
    align-items: stretch;
}
.rd-contact-block > div > div {
    min-width: 0;
}
.rd-contact-block__map-col,
.rd-contact-block .rd-contact-map-embed {
    flex: 1;
    min-height: 320px;
    min-width: 0;
}
.rd-contact-block .rd-contact-map-embed {
    position: relative;
    overflow: hidden;
}
.rd-contact-block .rd-contact-map-embed iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 320px;
    border: 0;
}
.rd-contact-block .rd-contact-map-embed iframe ~ iframe {
    display: none !important;
}
.rd-contact-block .rd-contact-cards {
    margin-top: 0;
}
@media (max-width: 768px) {
    .rd-contact-block > div[style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
    }
    .rd-contact-block__map-col {
        min-height: 280px;
        order: 3;
    }
}

/* ===== İletişim sayfası düzenleri ===== */
.rd-contact-page__main.contact-grid {
    display: grid;
    gap: 2rem;
    margin-top: 1.5rem;
}
.rd-contact-page--sidebar-form .rd-contact-page__main {
    grid-template-columns: 1fr 1.1fr;
    align-items: start;
}
.rd-contact-page--split-map .rd-contact-page__main {
    grid-template-columns: 1fr 1fr 1fr;
    align-items: stretch;
}
.rd-contact-page--stacked .rd-contact-page__main,
.rd-contact-page--cards-form .rd-contact-page__main,
.rd-contact-page--map-top .rd-contact-page__main {
    grid-template-columns: 1fr;
}
.rd-contact-intro {
    margin-bottom: 1.5rem;
    max-width: 72ch;
}
.rd-contact-hours {
    margin: 1rem 0;
    padding: 0.75rem 1rem;
    background: var(--color-bg-soft, #f8fafc);
    border-radius: var(--radius, 8px);
    font-size: 0.95rem;
}
.rd-contact-social {
    margin-top: 1.5rem;
}
.rd-contact-map {
    margin-top: 2rem;
    border-radius: var(--radius, 10px);
    overflow: hidden;
}
.rd-contact-map--top {
    margin-top: 0;
    margin-bottom: 2rem;
}
.rd-contact-map .rd-contact-iframe iframe {
    width: 100%;
    min-height: 360px;
    border: 0;
    border-radius: var(--radius, 10px);
}
.rd-contact-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}
.rd-contact-card {
    border: 1px solid var(--color-border, #e2e8f0);
    border-radius: var(--radius, 10px);
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    transition: box-shadow 0.15s, border-color 0.15s;
}
.rd-contact-card:hover {
    border-color: var(--color-primary, #2563eb);
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.12);
}
.rd-contact-card__link,
.rd-contact-card__static {
    display: flex;
    gap: 0.85rem;
    padding: 1rem 1.1rem;
    text-decoration: none;
    color: inherit;
}
.rd-contact-card__icon {
    font-size: 1.5rem;
    line-height: 1;
    flex-shrink: 0;
}
.rd-contact-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-size: 0.9rem;
    line-height: 1.45;
}
.rd-contact-card__body strong {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-muted, #64748b);
}
.rd-contact-compact {
    margin: 1rem 0 0;
}
.rd-contact-compact__row {
    display: grid;
    grid-template-columns: minmax(120px, 34%) 1fr;
    gap: 0.5rem 1rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid var(--color-border, #e2e8f0);
}
.rd-contact-compact__row:last-child {
    border-bottom: none;
}
.rd-contact-compact__row dt {
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--color-muted, #64748b);
}
.rd-contact-compact__row dd {
    margin: 0;
    font-size: 0.95rem;
}
.rd-contact-compact__row a {
    color: var(--color-primary, #2563eb);
    font-weight: 500;
}
@media (max-width: 900px) {
    .rd-contact-page--sidebar-form .rd-contact-page__main,
    .rd-contact-page--split-map .rd-contact-page__main {
        grid-template-columns: 1fr;
    }
    .rd-contact-compact__row {
        grid-template-columns: 1fr;
    }
}

/* ===================================================================
 * Spotify gömülü oynatıcı — editörden eklenen wrapper
 * Wrapper CSS değişkenleriyle (--rd-sp-w / --rd-sp-h / --rd-sp-r)
 * parametrelendirilir. Tüm tasarım wrapper üzerinden kontrol edilir;
 * Spotify iframe içeriği yalnızca light/dark temayı destekler.
 * =================================================================== */

.page-content .rd-spotify-embed,
.article-body .rd-spotify-embed,
.text-body .rd-spotify-embed,
.popup-body .rd-spotify-embed,
.rd-content .rd-spotify-embed {
    position: relative;
    display: block;
    width: var(--rd-sp-w, 100%);
    max-width: 100%;
    box-sizing: border-box;
    border-radius: var(--rd-sp-r, 12px);
    overflow: hidden;
    clear: both;
    background: transparent;
}

.page-content .rd-spotify-embed > iframe,
.article-body .rd-spotify-embed > iframe,
.text-body .rd-spotify-embed > iframe,
.popup-body .rd-spotify-embed > iframe,
.rd-content .rd-spotify-embed > iframe {
    display: block;
    width: 100%;
    height: var(--rd-sp-h, 152px);
    border: 0;
    border-radius: var(--rd-sp-r, 12px);
    max-width: 100%;
}

/* Hizalama */
.page-content .rd-spotify-embed--align-center,
.article-body .rd-spotify-embed--align-center,
.text-body   .rd-spotify-embed--align-center,
.popup-body  .rd-spotify-embed--align-center,
.rd-content  .rd-spotify-embed--align-center { margin-left: auto;  margin-right: auto;  }

.page-content .rd-spotify-embed--align-left,
.article-body .rd-spotify-embed--align-left,
.text-body   .rd-spotify-embed--align-left,
.popup-body  .rd-spotify-embed--align-left,
.rd-content  .rd-spotify-embed--align-left   { margin-left: 0;     margin-right: auto;  }

.page-content .rd-spotify-embed--align-right,
.article-body .rd-spotify-embed--align-right,
.text-body   .rd-spotify-embed--align-right,
.popup-body  .rd-spotify-embed--align-right,
.rd-content  .rd-spotify-embed--align-right  { margin-left: auto;  margin-right: 0;     }

.page-content .rd-spotify-embed--align-full,
.article-body .rd-spotify-embed--align-full,
.text-body   .rd-spotify-embed--align-full,
.popup-body  .rd-spotify-embed--align-full,
.rd-content  .rd-spotify-embed--align-full   { width: 100%; margin-left: 0; margin-right: 0; }

/* Dikey boşluk varyantları */
.page-content .rd-spotify-embed--margin-compact,
.article-body .rd-spotify-embed--margin-compact,
.text-body   .rd-spotify-embed--margin-compact,
.popup-body  .rd-spotify-embed--margin-compact,
.rd-content  .rd-spotify-embed--margin-compact { margin-top: .5rem;   margin-bottom: .5rem;   }

.page-content .rd-spotify-embed--margin-normal,
.article-body .rd-spotify-embed--margin-normal,
.text-body   .rd-spotify-embed--margin-normal,
.popup-body  .rd-spotify-embed--margin-normal,
.rd-content  .rd-spotify-embed--margin-normal  { margin-top: 1rem;    margin-bottom: 1rem;    }

.page-content .rd-spotify-embed--margin-wide,
.article-body .rd-spotify-embed--margin-wide,
.text-body   .rd-spotify-embed--margin-wide,
.popup-body  .rd-spotify-embed--margin-wide,
.rd-content  .rd-spotify-embed--margin-wide    { margin-top: 1.75rem; margin-bottom: 1.75rem; }

/* Mobil: çok küçük genişliklerde wrapper'ı sıkıştır */
@media (max-width: 480px) {
    .page-content .rd-spotify-embed,
    .article-body .rd-spotify-embed,
    .text-body   .rd-spotify-embed,
    .popup-body  .rd-spotify-embed,
    .rd-content  .rd-spotify-embed { width: 100%; }
}
