.ck-hidden { display:none!important; }
#ck-banner,#ck-modal { font-family:Inter,Arial,sans-serif; color:#57483c; -webkit-font-smoothing:antialiased; }
#ck-banner { position:fixed; left:18px; right:18px; bottom:18px; max-width:480px; z-index:9980; }
.ck-banner-inner { background:#fffcf8f5; border:1px solid #e4d3c3; border-radius:19px; padding:23px; display:flex; flex-direction:column; gap:20px; box-shadow:0 12px 44px #62452b24; backdrop-filter:blur(18px); }
.ck-banner-head { display:flex; align-items:flex-start; gap:15px; }
.ck-banner-icon { display:grid; place-items:center; width:48px; height:48px; flex:0 0 48px; background:linear-gradient(145deg,#fcf3e7,#eddfcc); border:1px solid #e5cfb3; border-radius:14px; }
.ck-banner-icon svg { width:38px; height:38px; }
.ck-banner-title { font:400 28px/1.05 'Cormorant Garamond',Georgia,serif; letter-spacing:-.3px; color:#41362e; margin:1px 0 10px; }
.ck-banner-text { color:#847160; font-size:12px; line-height:1.7; margin:0; }
.ck-banner-text a { color:#b15b35; text-decoration:underline; text-underline-offset:3px; }
.ck-banner-btns { display:grid; grid-template-columns:.85fr 1.4fr 1fr; gap:8px; }
.ck-btn { display:inline-flex; align-items:center; justify-content:center; border:1px solid transparent; cursor:pointer; font-family:inherit; font-size:11px; font-weight:500; padding:12px 9px; border-radius:9px; text-align:center; line-height:1.4; min-height:42px; }
.ck-btn:hover { filter:brightness(.97); }
.ck-btn:focus-visible,.ck-modal-close:focus-visible,.ck-toggle:focus-visible { outline:2px solid #c35f36; outline-offset:3px; }
.ck-btn-ghost { background:transparent; border-color:#deccba; color:#7b624f; }
.ck-btn-secondary { background:#f2e9df; border-color:#e4d4c3; color:#6a5544; }
.ck-btn-primary { background:linear-gradient(135deg,#d4784b,#b6532d); color:#fff; border-color:#be623b; box-shadow:0 3px 10px #b4633214; }
#ck-modal { position:fixed; inset:0; z-index:9990; display:flex; align-items:center; justify-content:center; background:#3c2e2466; backdrop-filter:blur(5px); padding:18px; }
.ck-modal-panel { width:100%; max-width:480px; background:#fffcf8; border:1px solid #e4d3c3; border-radius:20px; overflow:hidden; box-shadow:0 16px 55px #3c2c2333; }
.ck-modal-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:23px 24px; border-bottom:1px solid #e9ddcf; }
.ck-modal-title { font:400 30px/1.1 'Cormorant Garamond',Georgia,serif; color:#41362e; margin:0; }
.ck-modal-close { background:#f2e9de; border:1px solid #e4d3bf; cursor:pointer; width:32px; height:32px; display:flex; align-items:center; justify-content:center; border-radius:50%; color:#92755e; flex-shrink:0; }
.ck-modal-close:hover { background:#ebdcca; }
.ck-modal-body { padding:23px 24px; display:flex; flex-direction:column; gap:23px; max-height:60vh; overflow-y:auto; }
.ck-category { display:flex; align-items:flex-start; gap:18px; }
.ck-category-info { flex:1; min-width:0; }
.ck-category-name { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:9px; }
.ck-category-label { color:#57483c; font-size:13px; font-weight:500; }
.ck-always-badge { font-size:9px; font-weight:500; color:#6d8978; background:#eaf0e7; border:1px solid #dce5d6; padding:3px 7px; border-radius:20px; }
.ck-category-desc { color:#847160; font-size:12px; line-height:1.7; margin:0; }
.ck-divider { height:1px; background:#e9ddcf; margin:0; }
.ck-toggle { flex-shrink:0; margin-top:2px; width:40px; height:22px; border-radius:11px; border:0; cursor:pointer; padding:2px; display:flex; align-items:center; background:#c35f36; transition:background .2s; }
.ck-toggle--off { background:#d9cabc; }
.ck-toggle--disabled { background:#b9c8b8; cursor:not-allowed; }
.ck-toggle-dot { width:18px; height:18px; background:#fffdf9; border-radius:50%; box-shadow:0 1px 4px #6b4c3325; transition:transform .2s; pointer-events:none; }
.ck-toggle-dot--on { transform:translateX(18px); }
.ck-toggle-dot--off { transform:translateX(0); }
.ck-modal-footer { padding:18px 24px; border-top:1px solid #e9ddcf; background:#faf4ed; }
@keyframes ck-slide-up { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
#ck-banner:not(.ck-hidden) { animation:ck-slide-up .3s ease-out both; }
@media(max-width:479px) {
  #ck-banner { left:12px; right:12px; bottom:12px; }
  .ck-banner-inner { padding:19px; gap:17px; }
  .ck-banner-head { gap:12px; }
  .ck-banner-icon { width:40px; height:40px; flex-basis:40px; border-radius:12px; }
  .ck-banner-icon svg { width:32px; height:32px; }
  .ck-banner-title { font-size:25px; }
  .ck-banner-btns { grid-template-columns:1fr 1.5fr; }
  .ck-banner-btns .ck-btn-primary { grid-column:1/-1; }
  #ck-modal { padding:12px; }
  .ck-modal-header,.ck-modal-body,.ck-modal-footer { padding:20px; }
  .ck-modal-title { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) { #ck-banner:not(.ck-hidden) { animation:none; } .ck-toggle,.ck-toggle-dot { transition:none; } }

/* Keep controls reachable on short landscape screens. */
.ck-modal-panel { display:flex; flex-direction:column; max-height:calc(100vh - 36px); max-height:calc(100dvh - 36px); }
.ck-modal-header,.ck-modal-footer { flex-shrink:0; }
.ck-modal-body { flex:1; min-height:0; max-height:none; }
.ck-banner-inner { max-height:calc(100vh - 36px); max-height:calc(100dvh - 36px); overflow-y:auto; }
@media(max-width:479px) { .ck-modal-panel,.ck-banner-inner { max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); } }
