/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   Necox Locations — 10 Stil + Animasyonlar
   v2.38.5
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* --- Ortak Grid --- */
.necox-loc-grid { display: grid; gap: var(--necox-loc-gap, 14px); }

/* --- Ortak Buyuk Kart (V4/V6/V8/V9) --- */
.necox-loc-card {
    position: relative;
    border-radius: var(--necox-loc-border-radius, 14px);
    overflow: hidden;
    cursor: pointer;
    aspect-ratio: 4/3;
    text-decoration: none;
    color: #ffffff;
    display: block;
    box-shadow: var(--necox-loc-shadow, none);
    font-family: var(--necox-loc-name-font, inherit);
    background: var(--necox-loc-card-bg, var(--necox-primary));
    border-width: var(--necox-loc-border-width, 0);
    border-style: solid;
    border-color: var(--necox-loc-border-color, transparent);
}
.necox-loc-card:hover {
    background: var(--necox-loc-hover-bg, var(--necox-loc-card-bg, var(--necox-primary)));
    box-shadow: var(--necox-loc-hover-shadow, var(--necox-loc-shadow, none));
    border-color: var(--necox-loc-hover-border, var(--necox-loc-border-color, transparent));
}

.necox-loc-card__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
    transition: transform 0.5s ease;
}

.necox-loc-card:hover .necox-loc-card__bg { transform: scale(1.08); }

.necox-loc-card__name { font-size: var(--necox-loc-name-size, 15px); font-weight: var(--necox-loc-name-weight, 500); font-family: var(--necox-loc-name-font, inherit); display: block; text-shadow: 0 1px 3px rgba(0,0,0,0.3); color: var(--necox-loc-name-color, var(--necox-white)); }
.necox-loc-card__count { font-size: var(--necox-loc-count-size, 12px); font-weight: var(--necox-loc-count-weight, inherit); display: block; text-shadow: 0 1px 2px rgba(0,0,0,0.3); color: var(--necox-loc-count-color, rgba(255,255,255,0.85)); }

.necox-loc-card__static-name {
    position: absolute; bottom: 12px; left: 14px; z-index: 2;
    color: var(--necox-loc-name-color, var(--necox-white)); font-size: var(--necox-loc-name-size, 14px); font-weight: var(--necox-loc-name-weight, 500);
    font-family: var(--necox-loc-name-font, inherit);
    text-shadow: 0 1px 4px rgba(0,0,0,0.5);
    transition: opacity 0.3s;
}
.necox-loc-card:hover .necox-loc-card__static-name { opacity: 0; }

/* ━━━ V4 — Sagdan kayan gradient ━━━ */
.necox-loc-card--v4 .necox-loc-card__slide-right {
    position: absolute; right: -100%; top: 0; bottom: 0; width: 65%;
    padding: 20px; display: flex; flex-direction: column; justify-content: flex-end;
    align-items: flex-end; text-align: right;
    background: linear-gradient(to left, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.3) 80%, transparent 100%);
    z-index: 3; transition: right 0.4s cubic-bezier(.25,.46,.45,.94);
}
.necox-loc-card--v4:hover .necox-loc-card__slide-right { right: 0; }

/* ━━━ V6 — Yukaridan buzlu cam panel ━━━ */
.necox-loc-card--v6 .necox-loc-card__slide-top {
    position: absolute; top: -100%; left: 12px; right: 12px;
    padding: 14px 16px; border-radius: 10px; z-index: 3;
    background: rgba(255,255,255,0.12); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255,255,255,0.2);
    transition: all 0.4s cubic-bezier(.25,.46,.45,.94);
    opacity: 0;
}
.necox-loc-card--v6:hover .necox-loc-card__slide-top { top: 12px; opacity: 1; }

/* ━━━ V8 — Soldan kayan renkli serit ━━━ */
.necox-loc-card--v8 .necox-loc-card__slide-left {
    position: absolute; bottom: 0; left: -100%; width: 100%;
    padding: 16px; z-index: 3;
    background: linear-gradient(135deg, rgba(0,165,145,0.85) 0%, rgba(0,119,182,0.85) 100%);
    backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
    transition: left 0.4s cubic-bezier(.25,.46,.45,.94);
}
.necox-loc-card--v8:hover .necox-loc-card__slide-left { left: 0; }
.necox-loc-card--v8 .necox-loc-card__row { display: flex; justify-content: space-between; align-items: center; }
.necox-loc-card--v8 .necox-loc-card__arrow {
    width: 28px; height: 28px; border-radius: 50%;
    background: rgba(255,255,255,0.25); display: flex; align-items: center; justify-content: center;
}
.necox-loc-card--v8 .necox-loc-card__arrow svg { width: 14px; height: 14px; color: #ffffff; }

/* ━━━ V9 — Asagidan yukselen yari cam + kademeli ━━━ */
.necox-loc-card--v9 { aspect-ratio: 3/4; }
.necox-loc-card--v9 .necox-loc-card__split {
    position: absolute; bottom: 0; left: 0; right: 0; height: 0;
    background: rgba(255,255,255,0.1); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    border-top: 1px solid rgba(255,255,255,0.2);
    transition: height 0.4s cubic-bezier(.25,.46,.45,.94);
    overflow: hidden; display: flex; flex-direction: column; justify-content: center;
    padding: 0 20px; z-index: 3;
}
.necox-loc-card--v9:hover .necox-loc-card__split { height: 45%; padding-top: 16px; padding-bottom: 16px; }
.necox-loc-card--v9 .necox-loc-card__stagger-1,
.necox-loc-card--v9 .necox-loc-card__stagger-2 { opacity: 0; transform: translateY(10px); transition: all 0.3s; }
.necox-loc-card--v9 .necox-loc-card__stagger-1 { transition-delay: 0.15s; }
.necox-loc-card--v9 .necox-loc-card__stagger-2 { transition-delay: 0.2s; }
.necox-loc-card--v9:hover .necox-loc-card__stagger-1,
.necox-loc-card--v9:hover .necox-loc-card__stagger-2 { opacity: 1; transform: translateY(0); }

/* ━━━ ROW — Yatay liste + kucuk gorsel ━━━ */
.necox-loc-rows { display: flex; flex-direction: column; gap: 6px; }
.necox-loc-row {
    display: flex; align-items: center; gap: 14px;
    padding: var(--necox-loc-padding, 14px 16px);
    border-radius: var(--necox-loc-border-radius, var(--necox-radius-lg));
    border-width: var(--necox-loc-border-width, 0.5px); border-style: solid; border-color: var(--necox-loc-border-color, var(--necox-border));
    background: var(--necox-loc-card-bg, var(--necox-white));
    text-decoration: none; color: inherit;
    transition: all 0.2s; box-shadow: var(--necox-loc-shadow, none);
}
.necox-loc-row:hover { background: var(--necox-loc-hover-bg, var(--necox-bg)); transform: translateX(4px); box-shadow: var(--necox-loc-hover-shadow, none); border-color: var(--necox-loc-hover-border, var(--necox-loc-border-color, #e5e7eb)); }
.necox-loc-row__img {
    width: 56px; height: 56px; border-radius: 10px; flex-shrink: 0;
    background-size: cover; background-position: center;
}
.necox-loc-row__icon { width: 56px; height: 56px; border-radius: 10px; background: var(--necox-loc-icon-bg, var(--necox-bg)); display: flex; align-items: center; justify-content: center; color: var(--necox-loc-icon-color, var(--necox-muted)); flex-shrink: 0; }
.necox-loc-row__info { flex: 1; }
.necox-loc-row__name { font-size: var(--necox-loc-name-size, 14px); font-weight: var(--necox-loc-name-weight, 500); font-family: var(--necox-loc-name-font, inherit); color: var(--necox-loc-name-color, var(--necox-text)); display: block; }
.necox-loc-row__count { font-size: var(--necox-loc-count-size, 12px); font-weight: var(--necox-loc-count-weight, inherit); color: var(--necox-loc-count-color, var(--necox-muted)); }
.necox-loc-row__arrow { color: var(--necox-loc-count-color, var(--necox-muted)); flex-shrink: 0; }
.necox-loc-row__arrow svg { width: 16px; height: 16px; }

/* ━━━ M2 — Mini kare gorsel grid ━━━ */
.necox-loc-mini--m2 {
    position: relative; aspect-ratio: 1/1; border-radius: 10px; overflow: hidden;
    display: block; text-decoration: none; transition: transform 0.25s;
    background: var(--necox-loc-card-bg, var(--necox-primary));
}
.necox-loc-mini--m2:hover { transform: translateY(-2px); background: var(--necox-loc-hover-bg, var(--necox-loc-card-bg, var(--necox-primary))); }
.necox-loc-mini__bg { position: absolute; inset: 0; background-size: cover; background-position: center; background-repeat: no-repeat; z-index: 0; transition: transform 0.4s; }
.necox-loc-mini--m2:hover .necox-loc-mini__bg { transform: scale(1.1); }
.necox-loc-mini__overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.35); transition: background 0.3s; }
.necox-loc-mini--m2:hover .necox-loc-mini__overlay { background: rgba(0,0,0,0.5); }
.necox-loc-mini__center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #ffffff; text-align: center; z-index: 1; }
.necox-loc-mini__name { font-size: var(--necox-loc-name-size, 11px); font-weight: var(--necox-loc-name-weight, 500); font-family: var(--necox-loc-name-font, inherit); color: var(--necox-loc-name-color, var(--necox-white)); line-height: 1.2; }
.necox-loc-mini__count { font-size: var(--necox-loc-count-size, 9px); font-weight: var(--necox-loc-count-weight, inherit); color: var(--necox-loc-count-color, rgba(255,255,255,0.75)); margin-top: 2px; }

/* ━━━ M3 — Mini bar liste ━━━ */
.necox-loc-mini-list { display: flex; flex-direction: column; gap: 4px; }
.necox-loc-mini-bar {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 12px; border-radius: 8px;
    border-width: var(--necox-loc-border-width, 0.5px); border-style: solid; border-color: var(--necox-loc-border-color, var(--necox-border));
    background: var(--necox-loc-card-bg, var(--necox-white));
    text-decoration: none; color: inherit; transition: all 0.2s;
    box-shadow: var(--necox-loc-shadow, none);
}
.necox-loc-mini-bar:hover { background: var(--necox-loc-hover-bg, var(--necox-bg)); transform: translateX(3px); border-color: var(--necox-loc-hover-border, var(--necox-loc-border-color, #e5e7eb)); box-shadow: var(--necox-loc-hover-shadow, none); }
.necox-loc-mini-bar__img { width: 24px; height: 24px; border-radius: 6px; flex-shrink: 0; background-size: cover; background-position: center; }
.necox-loc-mini-bar__icon { color: var(--necox-loc-icon-color, var(--necox-muted)); flex-shrink: 0; }
.necox-loc-mini-bar__name { font-size: var(--necox-loc-name-size, 13px); font-weight: var(--necox-loc-name-weight, 500); font-family: var(--necox-loc-name-font, inherit); flex: 1; color: var(--necox-loc-name-color, var(--necox-text)); }
.necox-loc-mini-bar__count { font-size: var(--necox-loc-count-size, 11px); font-weight: var(--necox-loc-count-weight, inherit); color: var(--necox-loc-count-color, var(--necox-muted)); }
.necox-loc-mini-bar__arrow { color: var(--necox-loc-count-color, var(--necox-muted)); }
.necox-loc-mini-bar__arrow svg { width: 12px; height: 12px; }

/* ━━━ M5 — Yatay scroll strip ━━━ */
.necox-loc-scroll-strip { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; -webkit-overflow-scrolling: touch; }
.necox-loc-scroll-strip::-webkit-scrollbar { height: 4px; }
.necox-loc-scroll-strip::-webkit-scrollbar-track { background: transparent; }
.necox-loc-scroll-strip::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.1); border-radius: 2px; }
.necox-loc-strip-card {
    flex-shrink: 0; width: 100px; position: relative; aspect-ratio: 3/4;
    border-radius: 10px; overflow: hidden; display: block;
    text-decoration: none; transition: transform 0.2s;
    background: var(--necox-loc-card-bg, var(--necox-primary));
}
.necox-loc-strip-card:hover { transform: translateY(-2px); background: var(--necox-loc-hover-bg, var(--necox-loc-card-bg, var(--necox-primary))); }
.necox-loc-strip-card__bg { position: absolute; inset: 0; background-size: cover; background-position: center; background-repeat: no-repeat; z-index: 0; transition: transform 0.4s; }
.necox-loc-strip-card:hover .necox-loc-strip-card__bg { transform: scale(1.08); }
.necox-loc-strip-card__info { position: absolute; bottom: 0; left: 0; right: 0; padding: 8px; background: linear-gradient(to top, rgba(0,0,0,0.7), transparent); color: #fff; z-index: 1; }
.necox-loc-strip-card__name { font-size: var(--necox-loc-name-size, 11px); font-weight: var(--necox-loc-name-weight, 500); font-family: var(--necox-loc-name-font, inherit); color: var(--necox-loc-name-color, var(--necox-white)); display: block; }
.necox-loc-strip-card__count { font-size: var(--necox-loc-count-size, 9px); font-weight: var(--necox-loc-count-weight, inherit); color: var(--necox-loc-count-color, rgba(255,255,255,0.75)); }

/* ━━━ M7 — 2 sutun kompakt liste ━━━ */
.necox-loc-compact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; }
.necox-loc-compact-card {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 12px; border-radius: 8px;
    border-width: var(--necox-loc-border-width, 0.5px); border-style: solid; border-color: var(--necox-loc-border-color, var(--necox-border));
    background: var(--necox-loc-card-bg, var(--necox-white));
    text-decoration: none; color: inherit; transition: all 0.2s;
    box-shadow: var(--necox-loc-shadow, none);
}
.necox-loc-compact-card:hover { background: var(--necox-loc-hover-bg, var(--necox-bg)); border-color: var(--necox-loc-hover-border, var(--necox-loc-border-color, #e5e7eb)); box-shadow: var(--necox-loc-hover-shadow, none); }
.necox-loc-compact-card__img { width: 32px; height: 32px; border-radius: 8px; flex-shrink: 0; background-size: cover; background-position: center; }
.necox-loc-compact-card__icon { width: 32px; height: 32px; border-radius: 8px; background: var(--necox-loc-icon-bg, var(--necox-bg)); display: flex; align-items: center; justify-content: center; color: var(--necox-loc-icon-color, var(--necox-muted)); flex-shrink: 0; }
.necox-loc-compact-card__name { font-size: var(--necox-loc-name-size, 12px); font-weight: var(--necox-loc-name-weight, 500); font-family: var(--necox-loc-name-font, inherit); color: var(--necox-loc-name-color, var(--necox-text)); display: block; }
.necox-loc-compact-card__count { font-size: var(--necox-loc-count-size, 10px); font-weight: var(--necox-loc-count-weight, inherit); color: var(--necox-loc-count-color, var(--necox-muted)); }

/* ━━━ M8 — Micro badge ━━━ */
.necox-loc-badges { display: flex; flex-wrap: wrap; gap: 4px; }
.necox-loc-badge {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 3px 8px 3px 3px; border-radius: 99px;
    background: var(--necox-loc-card-bg, var(--necox-white));
    border-width: var(--necox-loc-border-width, 0.5px); border-style: solid; border-color: var(--necox-loc-border-color, var(--necox-border));
    text-decoration: none; color: inherit; font-size: 11px;
    transition: all 0.15s; box-shadow: var(--necox-loc-shadow, none);
}
.necox-loc-badge:hover { background: var(--necox-loc-hover-bg, var(--necox-bg)); border-color: var(--necox-loc-hover-border, var(--necox-border)); box-shadow: var(--necox-loc-hover-shadow, none); }
.necox-loc-badge__dot { width: 16px; height: 16px; border-radius: 50%; flex-shrink: 0; background-size: cover; background-position: center; }
.necox-loc-badge__dot--default { background: var(--necox-loc-icon-color, var(--necox-muted)); }
.necox-loc-badge__name { font-weight: var(--necox-loc-name-weight, 500); font-family: var(--necox-loc-name-font, inherit); color: var(--necox-loc-name-color, var(--necox-text)); }
.necox-loc-badge__count { color: var(--necox-loc-count-color, var(--necox-muted)); font-size: var(--necox-loc-count-size, 10px); font-weight: var(--necox-loc-count-weight, inherit); }

/* ━━━ Hero text-align reset ━━━ */
.necox-hero__el--locations { text-align: left; }

/* ━━━ Responsive ━━━ */
@media (max-width: 767px) {
    .necox-loc-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .necox-loc-grid--m2 { grid-template-columns: repeat(3, 1fr) !important; }
    .necox-loc-compact-grid { grid-template-columns: 1fr; }
    .necox-loc-card--v4 .necox-loc-card__slide-right,
    .necox-loc-card--v8 .necox-loc-card__slide-left { width: 100%; }
    .necox-loc-strip-card { width: 85px; }
}

/* ── Elementor Katman 3 — CSS Degisken Override Destegi ── */
/* Widget wrapper'a yazilan CSS degiskenleri tum kart tiplerine uygulanir */
.necox-loc-card,
.necox-loc-row,
.necox-loc-mini-bar,
.necox-loc-compact-card,
.necox-loc-badge,
.necox-loc-mini--m2,
.necox-loc-strip-card {
    backdrop-filter: var(--necox-loc-glass-blur, none);
    -webkit-backdrop-filter: var(--necox-loc-glass-blur, none);
}

.necox-loc-card:hover,
.necox-loc-row:hover,
.necox-loc-mini-bar:hover,
.necox-loc-compact-card:hover,
.necox-loc-badge:hover,
.necox-loc-mini--m2:hover,
.necox-loc-strip-card:hover {
    backdrop-filter: var(--necox-loc-glass-hover-blur, var(--necox-loc-glass-blur, none));
    -webkit-backdrop-filter: var(--necox-loc-glass-hover-blur, var(--necox-loc-glass-blur, none));
}

/* Konum Adi Hover Renk (v2.48.0) */
.necox-loc-card__name:hover,
.necox-loc-card__static-name:hover,
.necox-loc-row__name:hover,
.necox-loc-mini__name:hover,
.necox-loc-mini-bar__name:hover,
.necox-loc-strip-card__name:hover,
.necox-loc-compact-card__name:hover,
.necox-loc-badge__name:hover {
    color: var(--necox-loc-name-hover-color, inherit);
}

/* Konum Adi Gradient — has-gradient class'i eklendiginde aktif (v2.48.0) */
.necox-locations--has-gradient .necox-loc-card__name,
.necox-locations--has-gradient .necox-loc-card__static-name,
.necox-locations--has-gradient .necox-loc-row__name,
.necox-locations--has-gradient .necox-loc-mini__name,
.necox-locations--has-gradient .necox-loc-mini-bar__name,
.necox-locations--has-gradient .necox-loc-strip-card__name,
.necox-locations--has-gradient .necox-loc-compact-card__name,
.necox-locations--has-gradient .necox-loc-badge__name {
    background: var(--necox-loc-name-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
