/* NeyinNesi'nin ortak çerez ekranı; yalnızca ac- sınıflarını etkiler. */
.ac-banner[hidden], .ac-settings[hidden] { display: none !important; }
.ac-banner, .ac-settings { color: #0f172a; font-family: system-ui, -apple-system, 'Segoe UI', sans-serif; font-size: 14px; line-height: 1.55; }
.ac-banner *, .ac-settings * { box-sizing: border-box; }
.ac-banner { position: fixed; z-index: 1100; right: 18px; left: 18px; bottom: max(18px, env(safe-area-inset-bottom)); max-width: 1180px; margin-inline: auto; background: #fff; border: 1px solid #e2e8f0; border-top: 3px solid var(--hs-primary, #dc2626); border-radius: 18px; box-shadow: 0 16px 65px rgba(15, 23, 42, .2); }
.ac-banner-inner { display: flex; align-items: center; gap: 18px; padding: 22px 24px; }
.ac-cookie-icon { display: grid; place-items: center; flex: 0 0 50px; height: 50px; border-radius: 15px; color: var(--hs-primary, #dc2626); background: #f8fafc; background: color-mix(in srgb, var(--hs-primary, #dc2626) 7%, #fff); }
.ac-cookie-icon svg { width: 32px; height: 32px; }
.ac-banner-copy { flex: 1; min-width: 0; }
.ac-eyebrow { display: block; color: #64748b; font-size: 10px; font-weight: 700; letter-spacing: .045em; }
.ac-banner h2, .ac-panel h2 { margin: 3px 0 6px; font-size: 19px; font-weight: 750; letter-spacing: -.035em; line-height: 1.25; color: #0f172a; }
.ac-banner p { margin: 0; max-width: 670px; color: #475569; font-size: 12.5px; }
.ac-banner a, .ac-settings a { color: var(--hs-primary, #dc2626); text-decoration: underline; text-underline-offset: 3px; }
.ac-banner-actions { display: flex; gap: 8px; flex-shrink: 0; }
.ac-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; padding: 10px 17px; border: 1px solid #cbd5e1; border-radius: 10px; font: inherit; font-size: 13px; font-weight: 650; line-height: 1.35; cursor: pointer; text-align: center; transition: background .15s, border-color .15s; }
.ac-button-primary { background: var(--hs-primary, #dc2626); border-color: var(--hs-primary, #dc2626); color: #fff; }
.ac-button-primary:hover { background: var(--hs-primary, #dc2626); border-color: var(--hs-primary, #dc2626); background: color-mix(in srgb, var(--hs-primary, #dc2626) 90%, #000); border-color: color-mix(in srgb, var(--hs-primary, #dc2626) 90%, #000); }
.ac-button-outline { background: #fff; color: #0f172a; }
.ac-button-outline:hover { background: #f1f5f9; border-color: #94a3b8; }
.ac-button:focus-visible, .ac-close:focus-visible, .ac-settings a:focus-visible, .ac-banner a:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.ac-settings { position: fixed; z-index: 1110; inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; }
.ac-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .55); backdrop-filter: blur(4px); }
.ac-panel { position: relative; display: flex; flex-direction: column; width: 100%; max-width: 530px; max-height: calc(100vh - 40px); max-height: calc(100dvh - 40px); overflow: hidden; background: #fff; border-radius: 20px; box-shadow: 0 25px 80px rgba(15, 23, 42, .3); }
.ac-panel-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 24px 24px 15px; border-bottom: 1px solid #e2e8f0; }
.ac-panel h2 { font-size: 24px; margin-bottom: 0; }
.ac-close { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border: 1px solid #e2e8f0; border-radius: 12px; background: #f8fafc; color: #0f172a; font-size: 25px; line-height: 1; cursor: pointer; }
.ac-panel-content { padding: 18px 24px; overflow-y: auto; overscroll-behavior: contain; }
.ac-panel-content > p { color: #475569; font-size: 13px; margin: 0 0 18px; }
.ac-category { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 10px; padding: 17px; border: 1px solid #e2e8f0; border-radius: 13px; background: #f8fafc; }
label.ac-category { cursor: pointer; }
.ac-category h3, .ac-category-title { display: block; margin: 0 0 4px; font-size: 14px; font-weight: 700; line-height: 1.35; color: #0f172a; }
.ac-category p, .ac-category-description { display: block; margin: 0; font-size: 12px; color: #64748b; line-height: 1.55; }
.ac-required { max-width: 72px; flex: 0 0 72px; font-size: 10px; line-height: 1.4; text-align: center; padding: 6px; border-radius: 8px; background: #e2e8f0; color: #475569; font-weight: 700; }
.ac-switch { position: relative; display: block; flex: 0 0 42px; width: 42px; height: 26px; }
.ac-switch input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; z-index: 1; }
.ac-switch > span { display: block; width: 100%; height: 100%; background: #94a3b8; border-radius: 20px; transition: background .15s; }
.ac-switch > span::after { content: ''; display: block; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .15s; box-shadow: 0 1px 3px rgba(15, 23, 42, .15); }
.ac-switch input:checked + span { background: var(--hs-primary, #dc2626); }
.ac-switch input:checked + span::after { transform: translateX(16px); }
.ac-switch input:focus-visible + span { outline: 3px solid #2563eb; outline-offset: 4px; }
.ac-panel-content .ac-policy-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 18px 0 0; font-size: 12px; }
.ac-panel-footer { display: flex; gap: 10px; padding: 16px 24px 24px; border-top: 1px solid #e2e8f0; }
.ac-panel-footer .ac-button { flex: 1; }
body.ac-settings-open { overflow: hidden; }
@media (max-width: 1050px) { .ac-banner-inner { flex-wrap: wrap; } .ac-banner-copy { flex-basis: calc(100% - 70px); } .ac-banner-actions { margin-left: 68px; } }
@media (max-width: 600px) {
  .ac-banner { left: 10px; right: 10px; bottom: max(10px, env(safe-area-inset-bottom)); border-radius: 16px; max-height: calc(100vh - 24px); overflow-y: auto; }
  .ac-banner-inner { padding: 16px; gap: 12px; }
  .ac-cookie-icon { flex-basis: 38px; height: 38px; border-radius: 11px; }
  .ac-cookie-icon svg { width: 26px; height: 26px; }
  .ac-banner-copy { flex-basis: calc(100% - 50px); }
  .ac-eyebrow { font-size: 9px; }
  .ac-banner h2 { font-size: 17px; }
  .ac-banner p { font-size: 11.5px; }
  .ac-banner-actions { width: 100%; margin-left: 0; gap: 7px; }
  .ac-banner-actions .ac-button { flex: 1; padding: 10px 8px; font-size: 12px; }
  .ac-settings { padding: 12px; padding-bottom: max(12px, env(safe-area-inset-bottom)); }
  .ac-panel { max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); border-radius: 17px; }
  .ac-panel-header { padding: 20px 18px 14px; }
  .ac-panel h2 { font-size: 22px; }
  .ac-panel-content { padding: 16px 18px; }
  .ac-category { gap: 12px; padding: 14px; }
  .ac-panel-footer { padding: 14px 18px 18px; }
  .ac-panel-footer .ac-button { padding-inline: 8px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .ac-button, .ac-switch > span, .ac-switch > span::after { transition: none; } }
