#petz-cookie-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
#petz-cookie-overlay.petz-open { display: block; }

.petz-cookie-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.45);
}

.petz-cookie-modal {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: min(720px, 92vw);
    max-height: 85vh;
    overflow: auto;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0,0,0,.35);
    padding: 20px 20px 16px;
}

.petz-cookie-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}
.petz-cookie-title-wrap { display: flex; align-items: center; gap: 10px; }
.petz-cookie-emoji { font-size: 26px; }
#petz-cookie-title { margin: 0; color: #2f4f43; font-size: 20px; font-weight: 800; }
.petz-cookie-close {
    background: transparent; border: 0; font-size: 28px; line-height: 1;
    color: #7c7c7c; cursor: pointer; padding: 0 6px;
}

.petz-cookie-body { color: #333; }
.petz-cookie-intro { margin: 6px 0 14px; }

.petz-cookie-group { border: 1px solid #e6e6e6; border-radius: 10px; overflow: hidden; }
.petz-cookie-row {
    display: flex; align-items: center; justify-content: space-between;
    padding: 12px 14px; gap: 16px; background: #fff;
    border-bottom: 1px solid #eee;
}
.petz-cookie-row:last-child { border-bottom: 0; }
.petz-cookie-label strong { color: #2f4f43; }
.petz-cookie-label small { display:block; color:#6b6b6b; margin-top:2px; }

.petz-cookie-switch { position: relative; display: inline-flex; align-items: center; }
.petz-cookie-switch input { display:none; }
.petz-cookie-switch i {
    width: 44px; height: 24px; background: #cfd8d3; border-radius: 999px; position: relative; transition: background .2s;
}
.petz-cookie-switch i::after {
    content: ""; position: absolute; left: 2px; top: 2px; width: 20px; height: 20px; background: #fff; border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: transform .2s;
}
.petz-cookie-switch input:checked + i { background: #3B5F50; }
.petz-cookie-switch input:checked + i::after { transform: translateX(20px); }

.petz-cookie-actions {
    display: flex; gap: 10px; justify-content: flex-end; margin-top: 14px;
}
.petz-btn { border: 0; border-radius: 10px; padding: 10px 14px; font-weight: 700; cursor: pointer; }
.petz-btn-ghost { background: #eef4f1; color: #2f4f43; }
.petz-btn-outline { background: #fff; color: #2f4f43; border: 2px solid #cfe1d9; }
.petz-btn-primary { background: #3B5F50; color: #fff; }

a.petz-cookie-policy { display:inline-block; margin-top:12px; color:#2f4f43; text-decoration: underline; }

#petz-cookie-manage {
    position: fixed; left: 16px; bottom: 16px; z-index: 999998;
    background: #2f4f43; color: #fff; border: 0; border-radius: 999px;
    padding: 10px 14px; font-weight: 800; cursor: pointer; display: inline-flex; align-items:center; gap: 8px;
    box-shadow: 0 10px 25px rgba(0,0,0,.25);
}
#petz-cookie-manage .txt { white-space: nowrap; }

@media (max-width: 480px) {
    .petz-cookie-modal { padding: 16px 14px; }
}