/* JBenmbark Portfolio - discreet consent banner / v1 */
#jb-consent-panel[hidden], #jb-consent-preferences[hidden] { display:none !important; }
#jb-consent-panel {
 position:fixed; right:clamp(12px,2vw,24px); bottom:clamp(12px,2vw,24px);
 width:min(408px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); overflow:auto;
 z-index:9999; box-sizing:border-box; padding:20px 21px 18px;
 background:#fffdf8; color:#102c32; border:1px solid #cbd9d0;
 border-top:3px solid #24796e; border-radius:15px;
 box-shadow:0 14px 55px rgba(16,44,50,.22);
 font:400 13px/1.5 Arial,Helvetica,sans-serif; text-align:left;
 animation:jb-consent-enter .28s ease-out both;
}
@keyframes jb-consent-enter {from {opacity:0;transform:translateY(9px)} to {opacity:1;transform:translateY(0)}}
#jb-consent-panel *,#jb-consent-panel *::before,#jb-consent-panel *::after {box-sizing:border-box;}
#jb-consent-panel .jb-consent-eyebrow {display:flex; align-items:center; gap:8px; margin:0 0 8px; color:#24796e; font:700 10px/1.3 Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase;}
#jb-consent-panel .jb-consent-dot {height:7px; width:7px; border-radius:50%; background:#24796e; flex:none;}
#jb-consent-panel .jb-consent-title {color:#102c32; font:700 17px/1.3 Arial,sans-serif; letter-spacing:-.02em; margin:0 0 7px;}
#jb-consent-panel .jb-consent-description {color:#415b56; font:400 12px/1.65 Arial,sans-serif; margin:0 0 15px;}
#jb-consent-panel .jb-consent-actions {display:grid; grid-template-columns:1fr 1fr; gap:9px;}
#jb-consent-panel .jb-consent-button {cursor:pointer; font:700 12px/1.3 Arial,sans-serif; min-height:39px; margin:0; padding:10px 12px; border-radius:9px; transition:background-color .2s, border-color .2s, transform .2s;}
#jb-consent-panel .jb-consent-button:hover {transform:translateY(-1px)}
#jb-consent-panel .jb-consent-accept {border:1px solid #102c32; background:#102c32; color:#fffdf8;}
#jb-consent-panel .jb-consent-accept:hover {background:#24796e; border-color:#24796e;}
#jb-consent-panel .jb-consent-reject {border:1px solid #75968c; background:#fffdf8; color:#102c32;}
#jb-consent-panel .jb-consent-reject:hover {background:#e6eee8;}
#jb-consent-panel .jb-consent-customize {cursor:pointer; display:inline-flex; align-items:center; gap:6px; border:0; background:none; text-decoration:underline; text-underline-offset:3px; color:#24796e; font:700 11px/1.4 Arial,sans-serif; margin:11px 0 0; padding:3px 0;}
#jb-consent-panel .jb-consent-customize:hover {color:#102c32;}
#jb-consent-panel .jb-consent-preferences {margin-top:13px; padding:14px; border:1px solid #cdded4; border-radius:10px; background:#f2f5ee;}
#jb-consent-panel .jb-consent-toggle-row {display:flex; align-items:center; justify-content:space-between; gap:12px; color:#102c32; font:700 12px/1.4 Arial,sans-serif; margin-bottom:10px;}
#jb-consent-panel .jb-consent-checkbox {width:18px; height:18px; flex:none; accent-color:#24796e; cursor:pointer;}
#jb-consent-panel .jb-consent-details {margin:0 0 12px; color:#435a55; font:400 11px/1.65 Arial,sans-serif;}
#jb-consent-panel .jb-consent-details a {color:#1b5f56; font-weight:700; text-decoration:underline;}
#jb-consent-panel .jb-consent-save {background:#24796e; border:1px solid #24796e; color:#fffdf8; width:100%;}
#jb-consent-panel .jb-consent-save:hover {background:#1b5f56;}
#jb-consent-panel button:focus-visible,#jb-consent-panel a:focus-visible {outline:3px solid #24796e; outline-offset:3px;}
.jb-consent-footer-link {border:0 !important; padding:0 !important; margin:0 !important; background:transparent !important; color:inherit !important; font:inherit !important; cursor:pointer; text-decoration:underline; text-underline-offset:3px;}
.jb-consent-footer-link:hover {color:#c8db88 !important;}
.jb-consent-footer-link:focus-visible {outline:2px solid #c8db88; outline-offset:4px;}
@media(max-width:480px) {
 #jb-consent-panel {right:10px; left:10px; bottom:10px; width:auto; padding:16px 16px 14px; border-radius:13px;}
 #jb-consent-panel .jb-consent-title {font-size:16px;}
 #jb-consent-panel .jb-consent-description {font-size:12px; margin-bottom:13px;}
 #jb-consent-panel .jb-consent-button {min-height:42px;}
}
@media(prefers-reduced-motion:reduce){#jb-consent-panel {animation:none;} #jb-consent-panel .jb-consent-button {transition:none;}}
