/* ==========================================================================
   Klima Starter — Elementor Override Stilleri
   Elementor'un varsayılan stillerini tema tasarımına uyumlu hale getirir.
   ========================================================================== */

/* Container genişliği — Elementor ayarlarıyla uyum */
.elementor-section.elementor-section-boxed>.elementor-container {
    max-width: var(--container-max);
}

/* Elementor sayfa şablonları kullanıldığında extra padding kaldır */
.elementor-page .site-main,
.elementor-default .site-main {
    padding: 0;
}

/* Elementor sayfalarında WordPress sayfa başlığını gizle */
.elementor-page .entry-title,
.elementor-page .entry-header,
.elementor-page .page-title,
.elementor-default .entry-title,
.elementor-default .entry-header,
body.page-template-elementor_header_footer .entry-title,
body.page-template-elementor_header_footer .entry-header,
body.page-template-elementor_header_footer .page-title {
    display: none !important;
}

/* Elementor Canvas template — header/footer gizle */
body.elementor-template-canvas .top-bar,
body.elementor-template-canvas .site-header,
body.elementor-template-canvas .site-footer,
body.elementor-template-canvas .mobile-cta-bar {
    display: none !important;
}

body.elementor-template-canvas .site-content {
    min-height: auto;
}

/* Elementor Full Width template */
body.elementor-template-full_width .site-content {
    max-width: 100%;
}

/* Elementor buton stillerini tema ile uyumlu hale getir */
.elementor-button {
    font-family: var(--font-primary);
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: var(--radius-md) !important;
    transition: all var(--transition-base) !important;
}

.elementor-button:hover {
    transform: translateY(-2px);
}

/* Elementor başlık widget'ı — tema fontları */
.elementor-heading-title {
    font-family: var(--font-heading);
}

/* Elementor dikey çizgi */
.elementor-divider-separator {
    border-color: var(--color-gray-200) !important;
}

/* ── Global SVG containment — Elementor renders SVGs without w/h attributes ── */
.elementor-icon svg {
    width: 1em;
    height: 1em;
}

/* Elementor icon box — tema uyumlu premium kart stili */
.elementor-widget-icon-box .elementor-icon-box-wrapper {
    background: var(--color-white);
    border: 1px solid var(--color-gray-100);
    border-radius: var(--radius-xl);
    padding: var(--spacing-xl);
    text-align: center;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    overflow: hidden;
}

.elementor-widget-icon-box .elementor-icon-box-wrapper::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) scaleX(0);
    width: 60%;
    height: 3px;
    background: linear-gradient(90deg, var(--color-secondary), var(--color-accent-light));
    border-radius: 3px 3px 0 0;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.elementor-widget-icon-box:hover .elementor-icon-box-wrapper {
    transform: translateY(-6px);
    box-shadow: 0 12px 40px rgba(var(--color-primary-rgb), 0.08);
    border-color: rgba(var(--color-secondary-rgb), 0.15);
}

.elementor-widget-icon-box:hover .elementor-icon-box-wrapper::after {
    transform: translateX(-50%) scaleX(1);
}

.elementor-icon-box-icon .elementor-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    background: conic-gradient(from 0deg, var(--color-secondary), var(--color-accent-light), var(--color-secondary)) !important;
    padding: 2.5px !important;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.elementor-icon-box-icon .elementor-icon i,
.elementor-icon-box-icon .elementor-icon svg {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 59px;
    height: 59px;
    border-radius: 50%;
    background: var(--color-white);
    color: var(--color-secondary) !important;
    font-size: 1.4rem;
    fill: var(--color-secondary);
}

.elementor-widget-icon-box:hover .elementor-icon {
    transform: rotate(180deg);
}

.elementor-icon-box-title {
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: var(--font-size-lg) !important;
    margin-top: var(--spacing-md) !important;
}

.elementor-icon-box-description {
    font-size: var(--font-size-sm) !important;
    line-height: 1.7 !important;
    color: var(--color-gray-500) !important;
}

/* Elementor ikon listesi — bullet noktalarını kaldır */
.elementor-icon-list-items {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-icon-list-items .elementor-icon-list-item {
    list-style: none !important;
}

.elementor-icon-list-items .elementor-icon-list-item a {
    transition: all var(--transition-fast);
    text-decoration: none;
}

.elementor-icon-list-items .elementor-icon-list-item a:hover {
    padding-left: 6px;
}

/* Elementor görsel widget'ı */
.elementor-widget-image img {
    border-radius: var(--radius-md);
}

/* Elementor text editor — paragraf aralıkları */
.elementor-widget-text-editor p {
    margin-bottom: var(--spacing-md);
}

.elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}

/* Elementor accordion — tema uyumu */
.elementor-accordion .elementor-accordion-item {
    border: 1px solid var(--color-gray-200) !important;
    border-radius: var(--radius-md) !important;
    margin-bottom: var(--spacing-sm);
    overflow: hidden;
}

.elementor-accordion .elementor-tab-title {
    font-family: var(--font-primary) !important;
    font-weight: 600 !important;
    padding: var(--spacing-md) var(--spacing-lg) !important;
}

.elementor-accordion .elementor-tab-content {
    font-family: var(--font-primary);
    padding: var(--spacing-md) var(--spacing-lg) !important;
    border-top: 1px solid var(--color-gray-100) !important;
}

/* Elementor tab widget — tema uyumu */
.elementor-tabs .elementor-tab-title {
    font-family: var(--font-primary) !important;
}

/* Elementor form — tema form stilleri */
.elementor-form .elementor-field {
    font-family: var(--font-primary);
    border: 2px solid var(--color-gray-200) !important;
    border-radius: var(--radius-md) !important;
    padding: 0.75rem 1rem !important;
    transition: border-color var(--transition-fast) !important;
}

.elementor-form .elementor-field:focus {
    border-color: var(--color-secondary) !important;
    box-shadow: 0 0 0 3px rgba(var(--color-secondary-rgb), 0.1) !important;
}

.elementor-form .elementor-button {
    border-radius: var(--radius-md) !important;
}

/* Elementor testimonial */
.elementor-testimonial-wrapper {
    font-family: var(--font-primary);
}

/* Elementor counter */
.elementor-counter-number-wrapper {
    font-family: var(--font-heading);
}

/* Elementor alert */
.elementor-alert {
    border-radius: var(--radius-md) !important;
}

/* Elementor sosyal ikonlar */
.elementor-social-icon {
    transition: all var(--transition-base) !important;
}

.elementor-social-icon:hover {
    transform: translateY(-3px) !important;
}

/* ==========================================================================
   Elementor Editör & Preview — Başlık Renk Düzeltmesi
   theme.css'deki h1-h6 { color: var(--color-primary) } kuralı Elementor
   editöründe kullanıcının ayarladığı renkleri eziyor.
   !important ile Elementor'un inline style'larına kesin öncelik veriyoruz.
   ========================================================================== */

/* Elementor Editör — tüm metin renkleri inherit */
body.elementor-editor-active .elementor-element h1,
body.elementor-editor-active .elementor-element h2,
body.elementor-editor-active .elementor-element h3,
body.elementor-editor-active .elementor-element h4,
body.elementor-editor-active .elementor-element h5,
body.elementor-editor-active .elementor-element h6,
body.elementor-editor-active .elementor-heading-title,
body.elementor-editor-active .elementor-widget-heading .elementor-heading-title {
    color: inherit !important;
}

body.elementor-editor-active .elementor-widget-text-editor,
body.elementor-editor-active .elementor-widget-text-editor p,
body.elementor-editor-active .elementor-widget-text-editor span,
body.elementor-editor-active .elementor-icon-box-title,
body.elementor-editor-active .elementor-icon-box-description,
body.elementor-editor-active .elementor-icon-list-text {
    color: inherit !important;
}

/* Elementor Ön Yüz (Frontend) — renk inherit */
.elementor-page h1,
.elementor-page h2,
.elementor-page h3,
.elementor-page h4,
.elementor-page h5,
.elementor-page h6,
.elementor .elementor-heading-title,
.elementor .elementor-widget-heading .elementor-heading-title {
    color: inherit !important;
}

.elementor .elementor-widget-text-editor,
.elementor .elementor-icon-box-title,
.elementor .elementor-icon-box-description {
    color: inherit !important;
}

/* Elementor widget'larının kendi renk ayarları inline style ile gelir.
   Eğer kullanıcı bir renk belirlemediyse, Elementor varsayılanı (koyu metin)
   devreye girer. Bu sayede hem editörde hem ön izlemede doğru renk görünür. */

/* Elementor editör panel label'ları — okunabilirlik */
body.elementor-editor-active .elementor-control-title {
    color: inherit;
}

/* ==========================================================================
   Global Widget & Section Spacing
   Elementor default widget margin is 0 — this fixes widgets sticking together
   ========================================================================== */

/* Widget-to-widget spacing within a column */
.elementor-widget:not(:last-child) {
    margin-bottom: var(--spacing-lg) !important;
}

/* Spacer widgets should not add extra margin */
.elementor-widget-spacer {
    margin-bottom: 0 !important;
}

/* Section header widgets need more bottom space */
.elementor-widget-heading+.elementor-widget-heading {
    margin-top: calc(-1 * var(--spacing-sm)) !important;
}

/* Reduce spacing for tightly coupled elements like tag + title pairs */
.elementor-widget-heading+.elementor-widget-text-editor,
.elementor-widget-heading+.elementor-widget-image {
    margin-top: 0 !important;
}

/* Custom widgets (klima_*) already have internal padding via --spacing-section.
   Set outer margin to 0 to prevent double-spacing between sections. */
[class*="elementor-widget-klima_"]:not(:last-child) {
    margin-bottom: 0 !important;
}

/* Elementor sections — enforce consistent vertical padding on all sections.
   This ensures that even sections without custom klima widgets get the same
   standardized spacing across all pages. */
.elementor-section:not(.klima-page-hero):not(.elementor-inner-section) {
    padding-top: var(--spacing-section) !important;
    padding-bottom: var(--spacing-section) !important;
}

/* Reset padding for sections that contain klima widgets with internal padding.
   These sections should not add their own padding since the widget handles it. */
.elementor-section:not(.klima-page-hero):not(.elementor-inner-section):has([class*="elementor-widget-klima_"]) {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Ensure klima widget sections have consistent margin gap between them */
.elementor-section:not(.klima-page-hero):not(.elementor-inner-section)+.elementor-section:not(.klima-page-hero):not(.elementor-inner-section) {
    margin-top: 0;
}

/* Inner sections (nested columns) should not get section-level padding */
.elementor-inner-section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Elementor section inner container — consistent horizontal padding */
.elementor-section>.elementor-container {
    padding-left: var(--container-pad);
    padding-right: var(--container-pad);
}

/* Column gap within sections */
.elementor-column-gap-default>.elementor-column>.elementor-element-populated {
    padding: var(--spacing-md);
}

/* Prevent double padding on full-width sections */
.elementor-section-full_width>.elementor-container {
    padding-left: 0;
    padding-right: 0;
}

/* First section after hero — no extra top padding (hero handles transition) */
.klima-page-hero+.elementor-section {
    padding-top: 0 !important;
}

/* Reduce spacing for mobile — sections breathe but don't waste space */
@media (max-width: 768px) {
    .elementor-section:not(.klima-page-hero):not(.elementor-inner-section) {
        padding-top: var(--spacing-3xl) !important;
        padding-bottom: var(--spacing-3xl) !important;
    }

    .elementor-section:not(.klima-page-hero):not(.elementor-inner-section):has([class*="elementor-widget-klima_"]) {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}