.ct-banner{position:fixed;left:20px;bottom:20px;z-index:4000;width:calc(100% - 40px);max-width:440px;background:#fff;color:#333;border:1px solid rgba(107,91,149,.3);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:20px;font-family:'Montserrat',sans-serif;font-size:.88rem;line-height:1.55}
.ct-banner[hidden]{display:none}
.ct-banner:focus{outline:none}
.ct-title{font-family:'Playfair Display',serif;font-size:1.15rem;color:#6b5b95;margin:0 0 6px}
.ct-banner p{margin:0 0 12px}
.ct-banner a{color:#6b5b95}
.ct-prefs{margin:0 0 14px;padding:0;border:0}
.ct-prefs label{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid #eee;cursor:pointer}
.ct-prefs input{margin-top:3px;width:18px;height:18px;accent-color:#6b5b95;flex:none}
.ct-prefs small{display:block;color:#666}
.ct-actions{display:flex;flex-wrap:wrap;gap:8px}
.ct-btn{flex:1 1 auto;min-height:44px;padding:10px 16px;border-radius:50px;border:2px solid #6b5b95;font:600 .88rem 'Montserrat',sans-serif;cursor:pointer;background:#fff;color:#6b5b95}
.ct-btn.ct-primary{background:#6b5b95;color:#fff}
.ct-link{flex-basis:100%;background:none;border:0;color:#6b5b95;text-decoration:underline;font:500 .85rem 'Montserrat',sans-serif;cursor:pointer;padding:6px}
.ct-banner button:focus-visible,.ct-banner input:focus-visible,.ct-embed button:focus-visible{outline:3px solid #d4af37;outline-offset:2px}
.ct-embed{max-width:500px;height:280px;margin:0 auto;border-radius:15px;background:#f4f0fa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:20px;font-size:.9rem;color:#333}
.ct-embed .ct-btn{flex:none}
.ct-legal{margin-top:14px;font-size:.85rem}
@media (max-width:700px){.ct-banner{left:0;right:0;bottom:0;width:100%;max-width:none;border-radius:14px 14px 0 0}}
