/* Cookie consent banner + settings modal — Studio 129 */

#s129-cookie-banner {
    position: fixed; left: 0; right: 0; bottom: 0;
    z-index: 9000;
    background: #fff; color: #222;
    border-top: 1px solid #d8cfbf;
    box-shadow: 0 -8px 30px rgba(0,0,0,.12);
    padding: 18px 20px;
    font-family: inherit;
}
#s129-cookie-banner .s129-cc-inner {
    max-width: 1200px; margin: 0 auto;
    display: flex; flex-wrap: wrap; align-items: center; gap: 16px;
}
#s129-cookie-banner .s129-cc-text {
    flex: 1 1 320px; margin: 0;
    font-size: .9rem; line-height: 1.5; color: #444;
}
#s129-cookie-banner .s129-cc-text a {
    color: var(--primary-color, #a47a4f); text-decoration: underline;
}
#s129-cookie-banner .s129-cc-actions {
    display: flex; flex-wrap: wrap; gap: 8px;
}
.s129-cc-btn {
    border: 1px solid transparent; border-radius: 4px;
    padding: 10px 18px;
    font-size: .9rem; font-family: inherit; font-weight: 600;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.s129-cc-btn-primary {
    background: var(--primary-color, #a47a4f);
    color: #fff;
}
.s129-cc-btn-primary:hover {
    background: #8e6740;
}
.s129-cc-btn-secondary {
    background: #fff;
    color: #333;
    border-color: #b8a98e;
}
.s129-cc-btn-secondary:hover {
    background: #f5efe5;
    border-color: var(--primary-color, #a47a4f);
}

/* Settings modal */
#s129-cookie-settings {
    position: fixed; inset: 0;
    z-index: 9100;
    display: flex; align-items: center; justify-content: center;
    padding: 20px;
}
#s129-cookie-settings .s129-cs-backdrop {
    position: absolute; inset: 0;
    background: rgba(20, 20, 20, .55);
}
#s129-cookie-settings .s129-cs-panel {
    position: relative;
    background: #fff; color: #222;
    max-width: 560px; width: 100%;
    max-height: 90vh; overflow-y: auto;
    border-radius: 6px;
    padding: 28px;
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
}
#s129-cookie-settings h2 {
    font-family: Georgia, serif;
    color: var(--primary-color, #a47a4f);
    margin: 0 0 12px; font-size: 1.4rem;
}
#s129-cookie-settings .s129-cs-panel > p {
    margin: 0 0 18px;
    color: #555; font-size: .92rem; line-height: 1.5;
}
.s129-cs-row {
    display: flex; gap: 12px; align-items: flex-start;
    padding: 14px 0;
    border-top: 1px solid #eee5d5;
    font-size: .9rem; line-height: 1.45;
    color: #444;
    cursor: pointer;
}
.s129-cs-row:last-of-type { border-bottom: 1px solid #eee5d5; }
.s129-cs-row input[type="checkbox"] { margin-top: 3px; flex: 0 0 auto; }
.s129-cs-row strong { color: #222; }
.s129-cs-actions {
    display: flex; justify-content: flex-end; gap: 10px;
    margin-top: 22px;
}

@media (max-width: 640px) {
    #s129-cookie-banner { padding: 14px; }
    #s129-cookie-banner .s129-cc-actions { width: 100%; }
    #s129-cookie-banner .s129-cc-actions .s129-cc-btn { flex: 1 1 auto; padding: 10px 12px; font-size: .85rem; }
    #s129-cookie-settings .s129-cs-panel { padding: 20px; }
}
