/* Consent component: retain the approved artwork, palette and layout. */
@font-face{font-family:GBConsentTitle;src:url('/assets/fonts/gb-consent-marcellus-latin.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:GBConsentText;src:url('/assets/fonts/gb-consent-sourcesans3-latin.woff2') format('woff2');font-weight:200 900;font-display:swap}
.gb-consent{--gb-title:#efe6d2;--gb-text:#e6dcc6;--gb-muted:#b5a789;--gb-brass:#8a6d36;--gb-gold:#c9a24e;--gb-soul:#95e5df;position:relative;z-index:10000;box-sizing:border-box;display:grid;grid-template-columns:94px minmax(0,1fr);column-gap:16px;row-gap:4px;margin:0;padding:23px 26px 15px 18px;color:var(--gb-text);font:400 15px/1.45 GBConsentText,sans-serif;text-align:left;background:linear-gradient(140deg,#28241e,#1d1b17 55%,#161715) padding-box;border:4px solid transparent;border-image:url('/guildbound/consent/frame-filigran-40.webp') 112 / 17px / 1px stretch;border-radius:6px;box-shadow:0 14px 30px #0008;isolation:isolate}
.gb-consent *{box-sizing:border-box}
.gb-consent[hidden]{display:none!important}
.gbc-murloc{grid-column:1;grid-row:1/6;width:112px!important;max-width:none!important;height:auto!important;align-self:center;margin:0 0 0 -6px!important;filter:drop-shadow(0 5px 5px #0006);pointer-events:none}
.gbc-title{grid-column:2;margin:0!important;font:400 21px/1.22 GBConsentTitle,serif!important;-webkit-text-stroke:.3px currentColor;color:var(--gb-title)!important;text-wrap:balance}
.gbc-flavor{grid-column:2;margin:0!important;font:italic 14px/1.4 GBConsentText,sans-serif!important;color:var(--gb-muted)!important}
.gbc-description{grid-column:2;margin:8px 0 10px!important;font:400 15px/1.45 GBConsentText,sans-serif!important;color:var(--gb-text)!important;max-width:72ch}
.gbc-choices{grid-column:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gbc-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:0;margin:0;padding:8px 9px;background:linear-gradient(#2e2418,#18120b);border:1px solid var(--gb-brass);border-radius:3px;box-shadow:0 0 0 1px #000,inset 0 1px 0 #ffdc961f;font:400 15px/1.3 GBConsentTitle,serif;-webkit-text-stroke:.3px currentColor;color:#e8d7b0;cursor:pointer;text-align:center}
.gbc-button:hover{background:linear-gradient(#3a2e1f,#211910);border-color:var(--gb-gold)}
.gb-consent :focus-visible{outline:2px solid #95e5df;outline-offset:3px}
.gbc-links{grid-column:2;display:flex;gap:14px;align-items:center;min-height:44px;margin:0!important;position:relative;padding-right:44px}
.gbc-links a{font:400 13px/1.4 GBConsentText,sans-serif!important;color:var(--gb-muted)!important;text-decoration:underline!important;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:32px}
.gbc-settings{grid-column:1/-1;border-top:1px solid #5e4a28;margin-top:8px;padding-top:12px}
.gbc-settings[hidden]{display:none!important}
.gbc-settings label{display:flex;align-items:center;gap:8px;min-height:44px;font:400 15px GBConsentText,sans-serif}
.gbc-settings input{width:22px;height:22px;accent-color:#1d5e63}
.gbc-settings p{font:400 14px/1.5 GBConsentText,sans-serif;color:var(--gb-muted);margin:8px 0 12px}

body[data-consent-placement=bar] .gb-consent{position:fixed;left:16px;right:16px;bottom:14px;grid-template-columns:86px minmax(0,1fr) 312px;column-gap:22px;padding:18px 30px 14px 22px}
body[data-consent-placement=bar] .gbc-murloc{grid-column:1;grid-row:1/4;width:100px!important}
body[data-consent-placement=bar] .gbc-title{grid-column:2;grid-row:1}
body[data-consent-placement=bar] .gbc-flavor{grid-column:2;grid-row:2}
body[data-consent-placement=bar] .gbc-description{grid-column:2;grid-row:3;margin:4px 0 0!important}
body[data-consent-placement=bar] .gbc-choices{grid-column:3;grid-row:1/3;align-self:center}
body[data-consent-placement=bar] .gbc-links{grid-column:3;grid-row:3;align-self:start;justify-content:center}
@media(max-width:950px){
 body[data-consent-placement=bar] .gb-consent{grid-template-columns:78px minmax(0,1fr);column-gap:16px;padding:18px 24px 12px 18px}
 body[data-consent-placement=bar] .gbc-murloc{grid-column:1;grid-row:1/4;width:94px!important}
 body[data-consent-placement=bar] .gbc-title{grid-column:2;grid-row:1}
 body[data-consent-placement=bar] .gbc-flavor{grid-column:2;grid-row:2}
 body[data-consent-placement=bar] .gbc-description{grid-column:2;grid-row:3}
 body[data-consent-placement=bar] .gbc-choices{grid-column:1/-1;grid-row:4;margin-top:8px}
 body[data-consent-placement=bar] .gbc-links{grid-column:1/-1;grid-row:5;justify-content:center}
}
@media(max-width:600px){
body[data-consent-placement=bar] .gb-consent{grid-template-columns:64px minmax(0,1fr);column-gap:12px;row-gap:3px;padding:17px 18px 8px;border-image-width:14px}
 body[data-consent-placement=bar] .gb-consent{left:0;right:0;bottom:0;max-width:none;border-image-outset:0}
 body[data-consent-placement] .gbc-murloc{grid-column:1;grid-row:1/3;width:76px!important;margin:0 0 0 -7px!important}
 body[data-consent-placement] .gbc-title{grid-column:2;grid-row:1;font-size:20px!important;align-self:end}
 body[data-consent-placement] .gbc-flavor{grid-column:2;grid-row:2;font-size:13px!important;align-self:start}
 body[data-consent-placement] .gbc-description{grid-column:1/-1;grid-row:3;margin:8px 0 10px!important;font-size:14px!important;line-height:1.4!important}
 body[data-consent-placement] .gbc-choices{grid-column:1/-1;grid-row:4;margin-top:0;gap:7px}
 body[data-consent-placement] .gbc-links{grid-column:1/-1;grid-row:5;justify-content:center}
 .gbc-button{font-size:14px;padding-inline:6px;min-height:44px}
}

/* Integration only: preserve existing body spacing and keep the footer reachable. */
.gbc-reserve{height:0;pointer-events:none}
.gbc-feedback{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#gbc-error{grid-column:1/-1;color:var(--gb-text);margin:8px 0;font:400 14px/1.5 GBConsentText,sans-serif}
#gbc-error[hidden]{display:none!important}
.gb-consent{max-height:calc(100dvh - 28px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:600px){.gb-consent{max-height:100dvh}}

html[data-gbc-open]{scroll-padding-block-end:var(--gbc-safe-bottom,0px)}
.gb-consent .gbc-close{position:absolute;right:0;top:0;display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;margin:0;border:1px solid transparent;border-radius:3px;background:transparent;box-shadow:none;color:var(--gb-muted);font:400 26px/1 GBConsentText,sans-serif;cursor:pointer}
.gb-consent .gbc-close:hover{color:var(--gb-text);border-color:var(--gb-brass);background:#211a12}

/* Compact phone bar (release 0.1.36, handoff D3): same copy, same artwork, smaller layout.
   Murloc beside title and flavour, Datenschutz/Impressum beside the flavour where they fit,
   close button in the top corner, the three equal 44px choices in one row. */
@media(max-width:600px){
 body[data-consent-placement=bar] .gb-consent{grid-template-columns:46px minmax(0,1fr) auto;column-gap:10px;row-gap:0;padding:11px 12px 9px 12px;border-image-width:12px}
 body[data-consent-placement] .gbc-murloc{grid-column:1;grid-row:1/3;width:50px!important;align-self:center;margin:0 0 0 -4px!important}
 body[data-consent-placement] .gbc-title{grid-column:2/-1;grid-row:1;align-self:end;padding-right:34px;font-size:17px!important;line-height:1.2!important}
 body[data-consent-placement] .gbc-flavor{grid-column:2;grid-row:2;align-self:center;font-size:13px!important;line-height:1.3!important}
 body[data-consent-placement] .gbc-links{grid-column:3;grid-row:2;align-self:center;justify-content:flex-end;gap:12px;min-height:32px;padding-right:0;position:static}
 body[data-consent-placement] .gbc-links a{min-height:32px}
 body[data-consent-placement] .gb-consent .gbc-close{top:1px;right:1px}
 body[data-consent-placement] .gbc-description{grid-column:1/-1;grid-row:3;margin:6px 0 8px!important;font-size:14px!important;line-height:1.35!important}
 body[data-consent-placement] .gbc-choices{grid-column:1/-1;grid-row:4;gap:7px}
 body[data-consent-placement] .gbc-settings{margin-top:8px;padding-top:8px}
}
/* Too narrow for flavour and links side by side: links get their own short row. */
@media(max-width:379px){
 body[data-consent-placement] .gbc-flavor{grid-column:2/-1}
 body[data-consent-placement] .gbc-links{grid-column:1/-1;grid-row:5;justify-content:center;margin-top:2px!important}
}
