/* =============================================================================
   PoyrazTechnology — Cookie Consent (PART 07A)
   Banner (sayfa altı) + tercih paneli (modal).
   Renk/spacing değişkenleri style.css :root içinden gelir.
   Yön mantıksal özelliklerle (inset-inline / margin-inline) gelir → RTL otomatik.
   ============================================================================= */

.pt-cookie[hidden] { display: none; }

/* ----------------------------------- Banner ------------------------------- */
.pt-cookie__banner {
    position: fixed;
    inset-inline: 0;
    inset-block-end: 0;
    z-index: 9000;
    background: var(--color-surface);
    border-block-start: 1px solid var(--color-border);
    box-shadow: var(--shadow-lg);
}
.pt-cookie__banner[hidden] { display: none; }

.pt-cookie__inner {
    max-width: var(--container-width);
    margin-inline: auto;
    padding: 18px var(--container-pad);
    display: flex;
    align-items: center;
    gap: 18px 24px;
    flex-wrap: wrap;
}

.pt-cookie__text { flex: 1 1 320px; min-width: 0; }

.pt-cookie__title {
    margin: 0 0 4px;
    font-size: 1.05rem;
    color: var(--color-primary);
}

.pt-cookie__desc {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.55;
    color: var(--color-text-soft);
}

.pt-cookie__policy {
    color: var(--color-accent-deep);
    text-decoration: underline;
    margin-inline-start: 4px;
}

.pt-cookie__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}
.pt-cookie__btn { white-space: nowrap; }

/* ----------------------------------- Modal -------------------------------- */
.pt-cookie__overlay {
    position: fixed;
    inset: 0;
    z-index: 9001;
    background: rgba(8, 26, 46, 0.55);
}
.pt-cookie__overlay[hidden] { display: none; }

.pt-cookie__modal {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 9002;
    width: min(560px, calc(100vw - 32px));
    max-height: min(82vh, 660px);
    overflow-y: auto;
    background: var(--color-surface);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
}
.pt-cookie__modal[hidden] { display: none; }

.pt-cookie__modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 20px;
    border-block-end: 1px solid var(--color-border);
}
.pt-cookie__modal-title {
    margin: 0;
    font-size: 1.15rem;
    color: var(--color-primary);
}
.pt-cookie__close {
    border: 0;
    background: transparent;
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
    color: var(--color-text-soft);
    padding: 4px 8px;
    border-radius: var(--radius-sm);
}
.pt-cookie__close:hover { color: var(--color-primary); }

.pt-cookie__modal-body { padding: 6px 20px 4px; }

.pt-cookie__cat {
    padding-block: 16px;
    border-block-end: 1px solid var(--color-border);
}
.pt-cookie__cat:last-child { border-block-end: 0; }

.pt-cookie__cat-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-block-end: 6px;
}
.pt-cookie__cat-name {
    font-weight: 600;
    color: var(--color-text);
}
.pt-cookie__cat-desc {
    margin: 0;
    font-size: 0.85rem;
    line-height: 1.5;
    color: var(--color-text-soft);
}
.pt-cookie__always {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--color-accent-deep);
    white-space: nowrap;
}

.pt-cookie__modal-foot {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
    padding: 16px 20px 20px;
    border-block-start: 1px solid var(--color-border);
}

/* --------------------------------- Switch --------------------------------- */
.pt-cookie__switch {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    flex-direction: row-reverse; /* metin solda (LTR) / sağda (RTL), anahtar dışta */
    margin-inline-end: auto;
}
.pt-cookie__switch input {
    position: absolute;
    width: 1px; height: 1px;
    opacity: 0;
    margin: 0;
}
.pt-cookie__slider {
    position: relative;
    inline-size: 42px;
    block-size: 24px;
    border-radius: var(--radius-pill);
    background: var(--color-border-strong);
    transition: background var(--transition);
    flex: none;
}
.pt-cookie__slider::after {
    content: "";
    position: absolute;
    inset-block-start: 3px;
    inset-inline-start: 3px;
    inline-size: 18px;
    block-size: 18px;
    border-radius: 50%;
    background: var(--color-white);
    box-shadow: var(--shadow-sm);
    transition: inset-inline-start var(--transition);
}
.pt-cookie__switch input:checked + .pt-cookie__slider {
    background: var(--color-accent-deep);
}
.pt-cookie__switch input:checked + .pt-cookie__slider::after {
    inset-inline-start: 21px;
}
.pt-cookie__switch input:focus-visible + .pt-cookie__slider {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

/* Klavye odak görünürlüğü (buton ve bağlantılar) */
.pt-cookie .btn:focus-visible,
.pt-cookie__policy:focus-visible,
.pt-cookie__close:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

/* --------------------------------- Responsive ----------------------------- */
@media (max-width: 640px) {
    .pt-cookie__inner { flex-direction: column; align-items: stretch; }
    .pt-cookie__actions { width: 100%; }
    .pt-cookie__actions .pt-cookie__btn { flex: 1 1 auto; text-align: center; }
    .pt-cookie__modal-foot { justify-content: stretch; }
    .pt-cookie__modal-foot .btn { flex: 1 1 auto; text-align: center; }
}

/* --------------------------------- Reduced motion ------------------------- */
@media (prefers-reduced-motion: reduce) {
    .pt-cookie__slider,
    .pt-cookie__slider::after { transition: none; }
}
