/* Silktide Consent Manager - Full Stylesheet */
/*
  Source: /cookie-banner/silktide-consent-manager.css
*/
/* -------------------------------- Global Styles -------------------------------- */
#silktide-wrapper { --focus: 0 0 0 2px #ffffff, 0 0 0 4px #000000, 0 0 0 6px #ffffff; --boxShadow: -5px 5px 10px 0px #00000012, 0px 0px 50px 0px #0000001a; --fontFamily: Helvetica Neue, Segoe UI, Arial, sans-serif; --primaryColor: #1774FF; --backgroundColor: #ffffff; --textColor: #4b494b; --backdropBackgroundColor: #00000033; --backdropBackgroundBlur: 0px; --cookieIconColor: #1774FF; --cookieIconBackgroundColor: #FFFFFF; position: fixed; bottom: 0; right: 0; width: 100%; height: 100%; z-index: 99999; pointer-events: none; border: 0px; display: flex; justify-content: center; align-items: center }
#silktide-backdrop-global { position: fixed; top:0; left:0; width:100%; height:100%; pointer-events:auto; border:0; display:none; }
#silktide-wrapper a { all:unset; display:inline-block; color:var(--primaryColor); text-decoration:underline; }
#silktide-wrapper a:hover { cursor:pointer; color:var(--textColor); }
#silktide-wrapper a:focus, #silktide-wrapper #silktide-banner button:focus, #silktide-wrapper #silktide-modal button:focus, #silktide-wrapper #silktide-cookie-icon:focus { outline:none; box-shadow:0 0 0 2px #ffffff, 0 0 0 4px #1774FF; /* removed black ring */ border-radius:5px; }
#silktide-wrapper #silktide-cookie-icon:focus { border-radius:50%; }
#silktide-wrapper .st-button { color:var(--backgroundColor); background-color:var(--primaryColor); border:2px solid var(--primaryColor); padding:10px 20px; text-decoration:none; text-align:center; display:inline-block; font-size:16px; line-height:24px; cursor:pointer; border-radius:5px; }
#silktide-wrapper .st-button--primary { border:2px solid transparent !important; }
#silktide-wrapper .st-button--primary:hover { border:2px solid var(--primaryColor) !important; }
#silktide-wrapper .st-button--primary:hover { background-color:var(--backgroundColor); color:var(--primaryColor); }
#silktide-wrapper .st-button--secondary { background-color:#e0e0e0; color:#333; border:2px solid #e0e0e0; }
#silktide-wrapper .st-button--secondary:hover { background-color:#d5d5d5; color:#333; }
/* Override: remove borders from consent buttons and remove black layer from focus ring */
#silktide-wrapper .st-button, 
#silktide-wrapper .st-button--secondary { border:0 !important; }
/* -------------------------------- Banner -------------------------------- */
#silktide-banner { font-family:var(--fontFamily); color:var(--textColor); background-color:var(--backgroundColor); box-sizing:border-box; padding:32px; border-radius:5px; pointer-events:auto; border:0; position:fixed; bottom:16px; right:16px; width:600px; overflow:auto; max-width:calc(100% - 32px); max-height:calc(100vh - 32px); transform:translate(0,-20px); opacity:0; animation:silktide-slideInDown 350ms ease-out forwards; animation-delay:.3s; box-shadow:-5px 5px 10px 0px #00000012, 0px 0px 50px 0px #0000001a; }
#silktide-banner:focus { border-radius:50%; }
#silktide-banner.center { top:50%; left:50%; bottom:auto; right:auto; position:fixed; transform:translate(-50%, calc(-50% - 20px)); animation:silktide-slideInDown-center 350ms ease-out forwards; }
#silktide-banner.bottomLeft { bottom:16px; left:16px; position:fixed; }
#silktide-banner.bottomCenter { bottom:16px; left:50%; position:fixed; transform:translate(-50%, -20px); animation:silktide-slideInDown-bottomCenter 350ms ease-out forwards; }
#silktide-banner .preferences { display:flex; gap:5px; border:none; padding:15px 0; background:transparent; color:var(--primaryColor); cursor:pointer; font-size:16px; }
#silktide-banner .preferences span { display:block; white-space:nowrap; text-decoration:underline; }
#silktide-banner .preferences span:hover { color:var(--textColor); }
#silktide-banner .preferences:after { display:block; content:'>'; }
#silktide-banner p { font-size:16px; line-height:24px; margin:0 0 15px; }
#silktide-banner a { display:inline-block; color:var(--primaryColor); text-decoration:underline; background-color:var(--backgroundColor); }
#silktide-banner a:hover { color:var(--textColor); }
#silktide-banner a.silktide-logo { display:flex; align-items:center; justify-content:center; fill:var(--primaryColor); margin-left:auto; width:48px; height:48px; }
#silktide-banner .actions { display:flex; gap:16px; flex-direction:column; margin-top:24px; }
@media (min-width:600px){ #silktide-banner .actions { flex-direction:row; align-items:center; } }
#silktide-banner .actions-row { display:flex; gap:16px; flex-direction:row; align-items:center; justify-content:space-between; flex-grow:1; }
@media (max-width: 640px) {
  #silktide-banner {
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    border-radius:14px 14px 0 0 !important;
    transform:none !important;
    padding:16px 18px  calc(16px + env(safe-area-inset-bottom)) !important;
    box-shadow:0 -2px 12px 0 #0000001a !important;
  }
  #silktide-banner footer, #silktide-banner .buttons, #silktide-banner .actions {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
  }
  #silktide-banner .st-button { flex:1 1 auto; justify-content:center; }
  #silktide-banner .preferences { padding:10px 0 !important; }
}
/* -------------------------------- Modal -------------------------------- */
#silktide-modal { display:none; pointer-events:auto; overflow:auto; width:800px; max-width:100%; max-height:100%; border:0; transform:translate(0,-20px); opacity:0; animation:silktide-slideInUp-center 350ms ease-out forwards; box-shadow:-5px 5px 10px 0px #00000012,0 0 50px 0 #0000001a; font-family:var(--fontFamily); color:var(--textColor); flex-direction:column; padding:30px; background-color:var(--backgroundColor); border-radius:5px; box-sizing:border-box; }
#silktide-modal header { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; gap:16px; }
#silktide-modal h1 { font-family:var(--fontFamily); color:var(--textColor); font-size:24px; font-weight:500; margin:0; }
#silktide-modal .modal-close { display:inline-flex; border:none; padding:13px; cursor:pointer; background:var(--backgroundColor); color:var(--primaryColor); }
#silktide-modal .modal-close svg { fill:var(--primaryColor); }
#silktide-modal section { flex:1; margin-top:32px; }
#silktide-modal section::-webkit-scrollbar { display:block; width:5px; }
#silktide-modal section::-webkit-scrollbar-thumb { background-color:var(--textColor); border-radius:10px; }
#silktide-modal p { font-size:16px; line-height:24px; color:var(--textColor); margin:0 0 15px; }
#silktide-modal p:last-of-type { margin:0; }
#silktide-modal fieldset { padding:0; border:none; margin:0 0 32px; }
#silktide-modal fieldset:last-of-type { margin:0; }
#silktide-modal legend { padding:0; margin:0 0 10px; font-weight:700; color:var(--textColor); font-size:16px; }
#silktide-modal .cookie-type-content { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
/* Switches */
#silktide-modal .switch { flex-shrink:0; position:relative; display:inline-block; height:34px; width:74px; cursor:pointer; }
#silktide-modal .switch:focus-within { outline:none; box-shadow:var(--focus); border-radius:25px; }
#silktide-modal .switch input { opacity:0; position:absolute; }
#silktide-modal .switch__pill { position:relative; display:block; height:34px; width:74px; background:var(--textColor); border-radius:25px; }
#silktide-modal .switch__dot { position:absolute; top:2px; left:2px; display:block; height:30px; width:30px; background:var(--backgroundColor); border-radius:50%; transition:left 150ms ease-out; }
#silktide-modal .switch__off, #silktide-modal .switch__on { text-transform:uppercase; font-size:15px; font-weight:500; color:var(--backgroundColor); position:absolute; top:7px; right:8px; transition:right 150ms ease-out, opacity 150ms ease-out; }
#silktide-modal .switch__off { opacity:1; }
#silktide-modal .switch__on { opacity:0; }
#silktide-modal .switch input:checked + .switch__pill { background:var(--primaryColor); }
#silktide-modal .switch input:checked ~ .switch__dot { left:calc(100% - 32px); }
#silktide-modal .switch input:checked ~ .switch__off { right:calc(100% - 32px); opacity:0; }
#silktide-modal .switch input:checked ~ .switch__on { right:calc(100% - 34px); opacity:1; }
#silktide-modal .switch input:disabled + .switch__pill { opacity:.65; cursor:not-allowed; }
/* Modal Footer */
#silktide-modal footer { display:flex; flex-direction:column; gap:16px; margin-top:24px; }
@media (min-width:600px){ #silktide-modal footer { flex-direction:row; align-items:center; } }
#silktide-modal footer a { margin-left:auto; padding:14px 0; }
/* Cookie Icon */
#silktide-cookie-icon { display:none; position:fixed; bottom:10px; left:10px; justify-content:center; align-items:center; width:60px; height:60px; border-radius:50%; padding:0; border:none; background-color:var(--cookieIconColor); cursor:pointer; box-shadow:0 0 6px 0 #0000001a; pointer-events:auto; animation:silktide-fadeIn .3s ease-in-out forwards; }
#silktide-cookie-icon.bottomRight { left:auto; right:10px; }
#silktide-cookie-icon svg { fill:var(--cookieIconBackgroundColor); }
/* Backdrop */
#silktide-backdrop { display:none; position:absolute; top:0; left:0; width:100%; height:100%; background-color:var(--backdropBackgroundColor); backdrop-filter:blur(var(--backdropBackgroundBlur)); pointer-events:all; }
/* Animations */
@keyframes silktide-fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes silktide-slideInDown { from { opacity:0; transform:translateY(-20px);} to { opacity:1; transform:translateY(0);} }
@keyframes silktide-slideInDown-center { from { opacity:0; transform:translate(-50%, calc(-50% - 20px)); } to { opacity:1; transform:translate(-50%, -50%); } }
@keyframes silktide-slideInDown-bottomCenter { from { opacity:0; transform:translate(-50%, -20px);} to { opacity:1; transform:translate(-50%, 0);} }
@keyframes silktide-slideInUp-center { from { opacity:0; transform:translate(0,20px);} to { opacity:1; transform:translate(0,0);} }

/* Override focus styling: only show ring on real keyboard focus */
#silktide-wrapper a:focus,
#silktide-wrapper #silktide-banner button:focus,
#silktide-wrapper #silktide-modal button:focus,
#silktide-wrapper #silktide-cookie-icon:focus { box-shadow:none !important; }
#silktide-wrapper a:focus-visible,
#silktide-wrapper #silktide-banner button:focus-visible,
#silktide-wrapper #silktide-modal button:focus-visible,
#silktide-wrapper #silktide-cookie-icon:focus-visible { outline:none; box-shadow:0 0 0 2px #ffffff, 0 0 0 4px #1774FF; border-radius:5px; }

#silktide-wrapper { pointer-events:none; }
#silktide-banner, #silktide-modal { pointer-events:auto; }
