/* Scoped controls use GFCH's existing typography and flag colours. */
.gfch-cookie-banner,.gfch-cookie-dialog,.gfch-cookie-footer,.gfch-cookie-status,.gfch-embed-notice,.gfch-cookie-noscript{font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.55;color:#0f2b4c;box-sizing:border-box;text-align:left}
.gfch-cookie-banner *, .gfch-cookie-dialog *{box-sizing:border-box}
.gfch-cookie-banner[hidden],.gfch-embed-notice[hidden]{display:none!important}
.gfch-cookie-banner{position:fixed;z-index:100000;bottom:0;left:0;right:0;background:#fff;border-top:4px solid #1b4f8a;padding:22px max(24px,calc((100vw - 1200px)/2)) max(22px,env(safe-area-inset-bottom));box-shadow:0 -6px 28px #0f2b4c1c;display:flex;gap:28px;align-items:center;max-height:90vh;max-height:90dvh;overflow:auto}
.gfch-cookie-banner::before{content:"";position:absolute;top:-4px;left:0;right:0;height:4px;background:linear-gradient(to right,#d42a35 0 25%,#1b4f8a 25% 50%,#e8960c 50% 75%,#1e7a3e 75%)}
.gfch-cookie-copy{flex:1;min-width:0}
.gfch-cookie-banner h2,.gfch-cookie-dialog h2{font-family:"DM Sans",Arial,sans-serif;font-weight:800;color:#0f2b4c;font-size:23px;line-height:1.25;letter-spacing:-.3px;text-align:left;margin:0 0 8px;padding:0;border:0}
.gfch-cookie-banner h2::after,.gfch-cookie-dialog h2::after{display:none}
.gfch-cookie-banner p,.gfch-cookie-dialog p{font-size:15px;line-height:1.6;margin:0;color:#31465e}
.gfch-cookie-banner a,.gfch-cookie-dialog a,.gfch-embed-notice a{color:#1b4f8a;text-decoration:underline;text-underline-offset:3px}
.gfch-cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex:0 0 328px}
.gfch-cookie-banner button,.gfch-cookie-dialog button{font-family:"DM Sans",Arial,sans-serif;font-size:15px;line-height:1.3;font-weight:700;min-height:48px;padding:12px 17px;border:2px solid #1b4f8a;border-radius:8px;cursor:pointer;color:#fff;background:#1b4f8a;white-space:normal;box-shadow:none;text-transform:none;letter-spacing:normal;margin:0}
.gfch-cookie-banner [data-gfch-reject]{background:#1b4f8a;color:#fff}
.gfch-cookie-banner .gfch-cookie-settings{grid-column:1/-1;background:#fff;color:#1b4f8a;border-color:#9cabbc;min-height:44px}
.gfch-cookie-banner button:hover,.gfch-cookie-dialog button:hover{background:#0f2b4c;border-color:#0f2b4c;color:#fff}
.gfch-cookie-banner button:focus-visible,.gfch-cookie-dialog button:focus-visible,.gfch-cookie-dialog input:focus-visible,.gfch-cookie-footer button:focus-visible,.gfch-embed-notice button:focus-visible{outline:3px solid #1b4f8a;outline-offset:4px}
.gfch-cookie-dialog{border:0;border-top:4px solid #1b4f8a;border-radius:14px;background:#fff;padding:28px;width:calc(100% - 32px);max-width:620px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 20px 80px #0f2b4c40;margin:auto}
.gfch-cookie-dialog::backdrop{background:#0f2b4c88}
.gfch-cookie-dialog:not([open]){display:none}
.gfch-cookie-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.gfch-cookie-dialog-heading h2{margin:0}
.gfch-cookie-dialog button.gfch-cookie-close{flex:none;width:44px;min-height:44px;padding:0;font:28px/1 Arial,sans-serif;background:#edf2f8;color:#0f2b4c;border-color:transparent}
.gfch-cookie-category{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid #d7dfe8}
.gfch-cookie-category>div{min-width:0}
.gfch-cookie-category h3,.gfch-cookie-category label{display:block;font-family:"DM Sans",Arial,sans-serif;font-size:17px;line-height:1.35;font-weight:700;color:#0f2b4c;margin:0 0 5px;text-transform:none;letter-spacing:normal}
.gfch-cookie-category label{cursor:pointer}
.gfch-cookie-category p{font-size:14px}
.gfch-cookie-always{flex:none;font-size:13px;font-weight:700;color:#1e6334;white-space:nowrap;background:#ebf5ee;padding:5px 9px;border-radius:6px}
.gfch-cookie-category input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:0 0 52px;width:52px;height:30px;min-height:30px;margin:0;border:2px solid #687b92;border-radius:20px;background:#edf2f8;position:relative;cursor:pointer;box-shadow:none;opacity:1}
.gfch-cookie-category input[type=checkbox]::before{content:"";display:block;position:absolute;left:3px;top:3px;width:20px;height:20px;background:#52677f;border-radius:50%;transition:transform .15s ease}
.gfch-cookie-category input[type=checkbox]:checked{background:#1b4f8a;border-color:#1b4f8a}
.gfch-cookie-category input[type=checkbox]:checked::before{background:#fff;transform:translateX(22px)}
.gfch-cookie-dialog p.gfch-cookie-detail{font-size:13px;margin:18px 0;color:#465d75}
.gfch-cookie-dialog-actions{display:flex;flex-wrap:wrap;gap:10px}
.gfch-cookie-dialog-actions button{flex:1}
.gfch-cookie-dialog-actions [data-gfch-reject]{background:#fff;color:#1b4f8a}
.gfch-cookie-footer{text-align:center;background:#0f2b4c;padding:12px 20px}
.gfch-cookie-footer button{font:600 14px/1.5 Inter,Arial,sans-serif;min-height:44px;padding:9px 16px;color:#fff;text-decoration:underline;text-underline-offset:4px;background:transparent;border:1px solid #8eabc9;border-radius:6px;cursor:pointer}
.gfch-cookie-footer button:hover{background:#1b4f8a}
.gfch-cookie-footer button:focus-visible{outline-color:#fff}
.gfch-cookie-status{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:100002;background:#0f2b4c;color:#fff;border-radius:8px;padding:12px 18px;max-width:calc(100vw - 32px);width:max-content;font-size:14px;box-shadow:0 3px 16px #0f2b4c33;pointer-events:none}
.gfch-cookie-status:empty{display:none}
.gfch-embed-notice{padding:18px;background:#edf2f8;border:1px solid #ccd8e5;border-radius:8px;font-size:15px}
.gfch-embed-notice button{font:inherit;color:#1b4f8a;text-decoration:underline;background:transparent;border:0;cursor:pointer;padding:4px 0;min-height:44px}
.gfch-cookie-noscript{padding:16px;text-align:center;background:#edf2f8}
html{scroll-padding-bottom:var(--gfch-cookie-offset,0px)}
body{padding-bottom:var(--gfch-cookie-offset,0px)}
@media(max-width:850px){.gfch-cookie-banner{flex-direction:column;align-items:stretch;gap:16px;padding:18px 20px max(18px,env(safe-area-inset-bottom))}.gfch-cookie-actions{flex:auto;grid-template-columns:1fr 1fr}.gfch-cookie-actions .gfch-cookie-settings{grid-column:1/-1}.gfch-cookie-banner h2{font-size:21px}.gfch-cookie-dialog{padding:22px}.gfch-cookie-category{gap:16px}}
@media(max-width:360px){.gfch-cookie-banner{padding:16px}.gfch-cookie-banner p{font-size:14px}.gfch-cookie-actions{gap:8px}.gfch-cookie-banner button{padding:11px 9px}.gfch-cookie-dialog{padding:18px}.gfch-cookie-category{gap:10px}.gfch-cookie-always{padding:4px 6px}}
@media(prefers-reduced-motion:reduce){.gfch-cookie-category input[type=checkbox]::before{transition:none}}

/* The live theme gives every button important global styles. Keep consent controls explicit. */
#gfch-cookie-banner button,#gfch-cookie-dialog button{background:#1b4f8a!important;color:#fff!important;border-radius:8px!important;transform:none!important;box-shadow:none!important;transition:background-color .15s ease!important}
#gfch-cookie-banner .gfch-cookie-settings,#gfch-cookie-dialog [data-gfch-reject]{background:#fff!important;color:#1b4f8a!important}
#gfch-cookie-dialog .gfch-cookie-close{background:#edf2f8!important;color:#0f2b4c!important}
#gfch-cookie-banner button:hover,#gfch-cookie-dialog button:hover{background:#0f2b4c!important;color:#fff!important}
.gfch-cookie-footer button{background:transparent!important;color:#fff!important;border-radius:6px!important;transform:none!important;box-shadow:none!important}
.gfch-cookie-footer button:hover{background:#1b4f8a!important}
.gfch-embed-notice button{background:transparent!important;color:#1b4f8a!important;border-radius:0!important;transform:none!important;box-shadow:none!important}
.gfch-cookie-dialog[aria-modal="true"]{position:fixed;z-index:100001;left:50%;top:50%;transform:translate(-50%,-50%);margin:0}
@media(prefers-reduced-motion:reduce){#gfch-cookie-banner button,#gfch-cookie-dialog button{transition:none!important}}
