/*
 * Zevo Temizlik — iç sayfalar (hizmet detayı, randevu, takip, formlar, yasal sayfalar, blog).
 * site.css değişkenlerini kullanır; temalar bu dosyanın üzerine yazabilir.
 */

/* ===================================================================== ortak */

.zt-page-hero-media img {
    width: 100%;
    border-radius: var(--zt-radius-lg);
    box-shadow: var(--zt-shadow);
}

.zt-empty {
    text-align: center;
    padding: 56px 20px;
    border: 2px dashed var(--zt-line);
    border-radius: var(--zt-radius);
    color: var(--zt-muted);
}

.zt-empty > .bi {
    font-size: 2.6rem;
    color: rgba(var(--zt-primary-rgb), .55);
    display: block;
    margin-bottom: 10px;
}

.zt-note-card {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    height: 100%;
    padding: 14px 16px;
    border-radius: var(--zt-radius-sm);
    background: rgba(var(--zt-primary-rgb), .07);
    border: 1px solid rgba(var(--zt-primary-rgb), .14);
    font-size: .92rem;
}

.zt-note-card > .bi {
    color: var(--zt-primary-dark);
    font-size: 1.15rem;
    line-height: 1.3;
}

.zt-pagination .page-link {
    border-radius: 999px !important;
    margin: 0 3px;
    min-width: 42px;
    text-align: center;
    color: var(--zt-dark);
    border-color: var(--zt-line);
}

.zt-pagination .page-item.active .page-link {
    background: var(--zt-primary);
    border-color: var(--zt-primary);
    color: var(--zt-on-primary);
}

.zt-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.zt-filter-chips .zt-chip {
    text-decoration: none;
    padding: 8px 14px;
    font-size: .88rem;
    background: var(--bs-body-bg);
    border: 1px solid var(--zt-line);
    color: var(--zt-dark);
}

.zt-filter-chips .zt-chip.is-active,
.zt-filter-chips .zt-chip:hover {
    background: var(--zt-primary);
    border-color: var(--zt-primary);
    color: var(--zt-on-primary);
}

.zt-sticky {
    position: sticky;
    top: calc(var(--zt-header-h) + 20px);
}

.zt-side-links li {
    padding: 7px 0;
    border-bottom: 1px dashed var(--zt-line);
}

.zt-side-links li:last-child {
    border-bottom: 0;
}

.zt-side-links a {
    text-decoration: none;
    color: var(--zt-dark);
}

.zt-side-links a:hover {
    color: var(--zt-primary-dark);
}

.zt-map {
    border-radius: var(--zt-radius);
    overflow: hidden;
    border: 1px solid var(--zt-line);
    aspect-ratio: 16 / 10;
    background:
        repeating-linear-gradient(45deg, rgba(var(--zt-primary-rgb), .05) 0 12px, transparent 12px 24px),
        var(--zt-light);
}

.zt-map iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.zt-map-placeholder {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
    gap: 8px;
}

/* ===================================================================== hizmetler */

.zt-group-block + .zt-group-block {
    margin-top: 56px;
}

.zt-group-title {
    font-size: 1.4rem;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.zt-group-title .bi {
    color: var(--zt-primary);
}

.zt-corporate-band {
    background:
        radial-gradient(400px 160px at 100% 0%, rgba(var(--zt-accent-rgb), .22), transparent 70%),
        var(--bs-body-bg);
}

.zt-service-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 22px 0 0;
}

.zt-service-facts li {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--bs-body-bg);
    border: 1px solid var(--zt-line);
    font-size: .9rem;
}

.zt-service-facts .bi {
    color: var(--zt-primary-dark);
}

.zt-service-facts span {
    color: var(--zt-muted);
}

.zt-service-visual {
    position: relative;
}

.zt-service-visual img {
    width: 100%;
    border-radius: var(--zt-radius-lg);
    box-shadow: var(--zt-shadow-lg);
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.zt-service-visual::after {
    content: "";
    position: absolute;
    width: 90px;
    height: 90px;
    bottom: -18px;
    inset-inline-start: -18px;
    background: var(--zt-accent);
    clip-path: polygon(50% 0, 61% 39%, 100% 50%, 61% 61%, 50% 100%, 39% 61%, 0 50%, 39% 39%);
    animation: zt-twinkle 4s ease-in-out infinite;
}

/* ===================================================================== randevu */

.zt-booking:not(.is-js) [data-next],
.zt-booking:not(.is-js) [data-prev],
.zt-booking:not(.is-js) .zt-steps-nav,
.zt-booking:not(.is-js) [data-step="4"] [data-review-list] {
    display: none !important;
}

.zt-booking:not(.is-js) .zt-bstep + .zt-bstep {
    margin-top: 24px;
}

.zt-bstep {
    border: 1px solid var(--zt-line);
}

.zt-bstep legend {
    float: none;
    width: auto;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.zt-bstep legend .bi {
    color: var(--zt-primary);
}

.zt-bstep-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    border-top: 1px dashed var(--zt-line);
    margin-top: 26px;
    padding-top: 18px;
}

.is-invalid-group {
    outline: 2px solid var(--bs-danger);
    outline-offset: 6px;
    border-radius: var(--zt-radius-sm);
}

.zt-extra-qty {
    width: 64px;
    flex: 0 0 64px;
}

.zt-review-list {
    margin: 0;
}

.zt-review-list > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px dashed var(--zt-line);
}

.zt-review-list > div:last-child {
    border-bottom: 0;
}

.zt-review-list dt {
    font-weight: 500;
    color: var(--zt-muted);
}

.zt-review-list dd {
    margin: 0;
    font-weight: 600;
    text-align: end;
    color: var(--zt-dark);
}

.zt-booking-trust p {
    display: flex;
    gap: 8px;
    color: var(--zt-muted);
    margin-bottom: 8px;
}

.zt-booking-trust .bi {
    color: var(--zt-primary-dark);
}

@media (max-width: 991.98px) {
    .zt-booking .zt-summary {
        position: static;
    }
}

/* ===================================================================== başarı, takip */

.zt-code-box {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px 10px 18px;
    border-radius: 999px;
    border: 2px dashed rgba(var(--zt-primary-rgb), .45);
    background: rgba(var(--zt-primary-rgb), .06);
}

.zt-code-box strong {
    font-family: var(--zt-font-heading);
    font-size: 1.45rem;
    letter-spacing: .08em;
    color: var(--zt-dark);
}

.zt-next-steps {
    list-style: none;
    padding: 0;
    display: grid;
    gap: 10px;
}

.zt-next-steps li {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 12px 16px;
    border-radius: var(--zt-radius-sm);
    background: var(--zt-light);
}

.zt-next-steps .bi {
    font-size: 1.3rem;
    color: var(--zt-primary-dark);
}

.zt-star-input {
    display: inline-flex;
    flex-direction: row-reverse;
    gap: 6px;
}

.zt-star-input input {
    position: absolute;
    opacity: 0;
}

.zt-star-input label {
    font-size: 2.2rem;
    color: rgba(var(--zt-text-rgb), .2);
    cursor: pointer;
    transition: color .15s, transform .15s;
}

.zt-star-input label:hover,
.zt-star-input label:hover ~ label,
.zt-star-input input:checked ~ label {
    color: #f5b301;
}

.zt-star-input label:hover {
    transform: scale(1.12);
}

.zt-star-input input:focus-visible + label {
    outline: 3px solid rgba(var(--zt-primary-rgb), .5);
    border-radius: 6px;
}

/* ===================================================================== paketler, yorumlar */

.zt-compare th,
.zt-compare td {
    padding: 14px 16px;
}

.zt-compare thead th {
    font-family: var(--zt-font-heading);
    font-size: 1.05rem;
    border-bottom-width: 2px;
}

.zt-compare .is-featured {
    background: rgba(var(--zt-primary-rgb), .06);
}

.zt-freq-badge {
    text-align: center;
    padding: 16px 8px;
    border-radius: var(--zt-radius);
    background: var(--bs-body-bg);
    border: 1px solid var(--zt-line);
}

.zt-freq-badge strong {
    display: block;
    font-family: var(--zt-font-heading);
    font-size: 1.8rem;
    color: #138a52;
    line-height: 1;
}

.zt-freq-badge span {
    font-size: .85rem;
    color: var(--zt-muted);
}

.zt-dist-row {
    display: grid;
    grid-template-columns: 48px 1fr 40px;
    align-items: center;
    gap: 12px;
    padding: 4px 6px;
    border-radius: 8px;
    text-decoration: none;
    color: var(--zt-dark);
    font-size: .9rem;
}

.zt-dist-row:hover,
.zt-dist-row.is-active {
    background: rgba(var(--zt-primary-rgb), .07);
}

.zt-dist-row .bi {
    color: #f5b301;
}

.zt-dist-row .progress {
    height: 8px;
    border-radius: 999px;
    background: rgba(var(--zt-text-rgb), .08);
}

.zt-dist-row .progress-bar {
    background: #f5b301;
    border-radius: 999px;
}

/* ===================================================================== blog */

.zt-post-lead {
    display: block;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
}

.zt-post-lead-media {
    min-height: 280px;
    background: var(--zt-light);
}

.zt-post-lead-media img {
    object-fit: cover;
    min-height: 280px;
}

.zt-post-cover img {
    border-radius: var(--zt-radius-lg);
    aspect-ratio: 16 / 8;
    object-fit: cover;
}

.zt-share {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding-top: 22px;
    border-top: 1px solid var(--zt-line);
}

/* ===================================================================== iletişim, kariyer, çerez */

.zt-contact-tile {
    display: flex;
    flex-direction: column;
    gap: 6px;
    height: 100%;
    text-decoration: none;
    color: var(--zt-dark);
}

.zt-contact-tile .zt-icon-tile {
    margin-bottom: 6px;
}

.zt-contact-tile span:last-child {
    color: var(--zt-muted);
    font-size: .92rem;
}

.zt-hours-light div {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
    border-bottom: 1px dashed var(--zt-line);
    font-size: .92rem;
}

.zt-hours-light dd {
    margin: 0;
}

.zt-hours-light .is-today {
    font-weight: 700;
    color: var(--zt-primary-dark);
}

.zt-job {
    display: block;
    text-decoration: none;
    color: inherit;
}

.zt-job:hover .zt-arrow {
    background: var(--zt-primary);
    color: var(--zt-on-primary);
}

.zt-cookie-state {
    height: 100%;
    padding: 14px 16px;
    border-radius: var(--zt-radius-sm);
    border: 1px solid var(--zt-line);
}

.zt-cookie-state.is-on {
    border-color: rgba(25, 135, 84, .35);
    background: rgba(25, 135, 84, .05);
}

.zt-cookie-state strong {
    display: block;
    margin: 6px 0 2px;
}

[data-bs-theme="dark"] .zt-next-steps li,
[data-bs-theme="dark"] .zt-map {
    background: #11232c;
}

[data-bs-theme="dark"] .zt-review-list dd,
[data-bs-theme="dark"] .zt-code-box strong,
[data-bs-theme="dark"] .zt-contact-tile,
[data-bs-theme="dark"] .zt-dist-row,
[data-bs-theme="dark"] .zt-side-links a,
[data-bs-theme="dark"] .zt-filter-chips .zt-chip:not(.is-active) {
    color: #f1f7f9;
}

.zt-booking .zt-steps-nav {
    padding-inline-start: 0;
}
