/* portal.shell.css — built from 5 sources */
/* Shared portal shell — skip link, confirm dialog, lobby empty states */

.portal-skip-link {
    position: absolute;
    left: -9999px;
    top: auto;
    z-index: 2000;
    padding: 10px 16px;
    background: #141414;
    color: #fffdf8;
    text-decoration: none;
    border: 1px solid #8aab5a;
    border-radius: 3px;
}

.portal-skip-link:focus {
    left: 12px;
    top: 12px;
}

.portal-confirm-overlay {
    position: fixed;
    inset: 0;
    z-index: 2500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: rgba(0, 0, 0, 0.72);
}

.portal-confirm-overlay[hidden] {
    display: none !important;
}

.portal-confirm-dialog {
    width: min(100%, 420px);
    padding: 20px 22px;
    background: #1a1a1a;
    border: 1px solid #4a4a4a;
    border-radius: 4px;
    color: #f5f0e6;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

.portal-confirm-message {
    margin: 0 0 18px;
    font-size: 1rem;
    line-height: 1.45;
}

.portal-confirm-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.portal-confirm-actions .portal-btn {
    min-width: 110px;
}

#newGameworlds .portal-flash {
    margin: 0 0 0.75rem;
    max-width: 100%;
}

.lobby-empty-state {
    margin: 0;
    padding: 28px 20px;
    text-align: center;
    color: #aeb6c8;
}

.lobby-browser .lobby-empty-state {
    border: 0;
    border-radius: 0;
    background: transparent;
}

.lobby-empty-state[hidden] {
    display: none !important;
}

.lobby-empty-state__title {
    margin: 0 0 8px;
    font-family: EasonProDisplayCaps, EasonPro, Times New Roman, serif;
    font-size: 1.15rem;
    letter-spacing: 0.04em;
}

.lobby-empty-state__body {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.45;
    opacity: 0.9;
}

.portal-page-form button[type="submit"].is-loading,
.portal-loginForm button[type="submit"].is-loading,
.pure-button-primary.is-loading {
    opacity: 0.72;
    cursor: wait;
    pointer-events: none;
}

@media (max-width: 720px) {
    .portal-page-main {
        padding-left: 12px;
        padding-right: 12px;
    }

    .portal-page-card {
        padding: 18px 16px;
    }

    .portal-confirm-dialog {
        padding: 16px;
    }
}

/* Country flag sprite positions (shared portal + in-game flag picker) */
.flags img {
    height: 11px;
    width: 16px;
    background-image: url('/assets/skin/graphics_ltr/misc/flags/country_sprite.png');
    background-repeat: no-repeat;
}
.flag_ad {
    background-position: 0 0
}
.flag_ae {
    background-position: -16px 0
}
.flag_ar-AE,
.flag_arabia {
    background-position: -3968px 0
}
.flag_af {
    background-position: -32px 0
}
.flag_ag {
    background-position: -48px 0
}
.flag_ai {
    background-position: -64px 0
}
.flag_al {
    background-position: -80px 0
}
.flag_am {
    background-position: -96px 0
}
.flag_an {
    background-position: -112px 0
}
.flag_ao {
    background-position: -128px 0
}
.flag_ar {
    background-position: -144px 0
}
.flag_as {
    background-position: -160px 0
}
.flag_at {
    background-position: -176px 0
}
.flag_au {
    background-position: -192px 0
}
.flag_aw {
    background-position: -208px 0
}
.flag_ax {
    background-position: -224px 0
}
.flag_az {
    background-position: -240px 0
}
.flag_bs-BA-Latn,
.flag_ba {
    background-position: -256px 0
}
.flag_bb {
    background-position: -272px 0
}
.flag_bd {
    background-position: -288px 0
}
.flag_be {
    background-position: -304px 0
}
.flag_bf {
    background-position: -320px 0
}
.flag_bg-BG,
.flag_bg {
    background-position: -336px 0
}
.flag_bh {
    background-position: -352px 0
}
.flag_bi {
    background-position: -368px 0
}
.flag_bj {
    background-position: -384px 0
}
.flag_bm {
    background-position: -400px 0
}
.flag_bn {
    background-position: -416px 0
}
.flag_bo {
    background-position: -432px 0
}
.flag_pt-BR,
.flag_br {
    background-position: -448px 0
}
.flag_bs {
    background-position: -464px 0
}
.flag_bt {
    background-position: -480px 0
}
.flag_bv {
    background-position: -496px 0
}
.flag_bw {
    background-position: -512px 0
}
.flag_by {
    background-position: -528px 0
}
.flag_bz {
    background-position: -544px 0
}
.flag_ca {
    background-position: -560px 0
}
.flag_catalonia {
    background-position: -576px 0
}
.flag_cc {
    background-position: -592px 0
}
.flag_cd {
    background-position: -608px 0
}
.flag_cf {
    background-position: -624px 0
}
.flag_cg {
    background-position: -640px 0
}
.flag_ch {
    background-position: -656px 0
}
.flag_ci {
    background-position: -672px 0
}
.flag_ck {
    background-position: -688px 0
}
.flag_es-CL,
.flag_cl {
    background-position: -704px 0
}
.flag_cm {
    background-position: -720px 0
}
.flag_cn {
    background-position: -736px 0
}
.flag_co {
    background-position: -752px 0
}
.flag_cr {
    background-position: -768px 0
}
.flag_cs {
    background-position: -784px 0
}
.flag_cu {
    background-position: -800px 0
}
.flag_cv {
    background-position: -816px 0
}
.flag_cx {
    background-position: -832px 0
}
.flag_cy {
    background-position: -848px 0
}
.flag_cs-CZ,
.flag_cz {
    background-position: -864px 0
}
.flag_de-DE,
.flag_de {
    background-position: -880px 0
}
.flag_dj {
    background-position: -896px 0
}
.flag_da-DK,
.flag_dk {
    background-position: -912px 0
}
.flag_dm {
    background-position: -928px 0
}
.flag_do {
    background-position: -944px 0
}
.flag_dz {
    background-position: -960px 0
}
.flag_ec {
    background-position: -976px 0
}
.flag_et-EE,
.flag_ee {
    background-position: -992px 0
}
.flag_eg {
    background-position: -1008px 0
}
.flag_eh {
    background-position: -1024px 0
}
.flag_en {
    background-position: -1040px 0
}
.flag_er {
    background-position: -1056px 0
}
.flag_es-ES,
.flag_es,
.flag_net {
    background-position: -1072px 0
}
.flag_et {
    background-position: -1088px 0
}
.flag_europeanunion {
    background-position: -1104px 0
}
.flag_fam {
    background-position: -1120px 0
}
.flag_fi-FI,
.flag_fi {
    background-position: -1136px 0
}
.flag_fj {
    background-position: -1152px 0
}
.flag_fk {
    background-position: -1168px 0
}
.flag_fm {
    background-position: -1184px 0
}
.flag_fo {
    background-position: -1200px 0
}
.flag_fr-FR,
.flag_fr {
    background-position: -1216px 0
}
.flag_ga {
    background-position: -1232px 0
}
.flag_uk,
.flag_gb {
    background-position: -1248px 0
}
.flag_gd {
    background-position: -1264px 0
}
.flag_ge {
    background-position: -1280px 0
}
.flag_gf {
    background-position: -1296px 0
}
.flag_gh {
    background-position: -1312px 0
}
.flag_gi {
    background-position: -1328px 0
}
.flag_gl {
    background-position: -1344px 0
}
.flag_gm {
    background-position: -1360px 0
}
.flag_gn {
    background-position: -1376px 0
}
.flag_gp {
    background-position: -1392px 0
}
.flag_gq {
    background-position: -1408px 0
}
.flag_el-GR,
.flag_gr {
    background-position: -1424px 0
}
.flag_gs {
    background-position: -1440px 0
}
.flag_gt {
    background-position: -1456px 0
}
.flag_gu {
    background-position: -1472px 0
}
.flag_gw {
    background-position: -1488px 0
}
.flag_gy {
    background-position: -1504px 0
}
.flag_hk {
    background-position: -1520px 0
}
.flag_hm {
    background-position: -1536px 0
}
.flag_hn {
    background-position: -1552px 0
}
.flag_hr-HR,
.flag_hr {
    background-position: -1568px 0
}
.flag_ht {
    background-position: -1584px 0
}
.flag_hu-HU,
.flag_hu {
    background-position: -1600px 0
}
.flag_id-ID,
.flag_id {
    background-position: -1616px 0
}
.flag_ie {
    background-position: -1632px 0
}
.flag_he-IL,
.flag_il {
    background-position: -1648px 0
}
.flag_in {
    background-position: -1664px 0
}
.flag_io {
    background-position: -1680px 0
}
.flag_iq {
    background-position: -1696px 0
}
.flag_is {
    background-position: -1728px 0
}
.flag_it-IT,
.flag_it {
    background-position: -1744px 0
}
.flag_jm {
    background-position: -1760px 0
}
.flag_jo {
    background-position: -1776px 0
}
.flag_ja-JP,
.flag_jp {
    background-position: -1792px 0
}
.flag_ke {
    background-position: -1808px 0
}
.flag_kg {
    background-position: -1824px 0
}
.flag_kh {
    background-position: -1840px 0
}
.flag_ki {
    background-position: -1856px 0
}
.flag_km {
    background-position: -1872px 0
}
.flag_kn {
    background-position: -1888px 0
}
.flag_kp {
    background-position: -1904px 0
}
.flag_kr {
    background-position: -1920px 0
}
.flag_kw {
    background-position: -1936px 0
}
.flag_ky {
    background-position: -1952px 0
}
.flag_kz {
    background-position: -1968px 0
}
.flag_la {
    background-position: -1984px 0
}
.flag_lb {
    background-position: -2000px 0
}
.flag_lc {
    background-position: -2016px 0
}
.flag_li {
    background-position: -2032px 0
}
.flag_lk {
    background-position: -2048px 0
}
.flag_lr {
    background-position: -2064px 0
}
.flag_ls {
    background-position: -2080px 0
}
.flag_lt-LT,
.flag_lt {
    background-position: -2096px 0
}
.flag_lu {
    background-position: -2112px 0
}
.flag_lv-LV,
.flag_lv {
    background-position: -2128px 0
}
.flag_ly {
    background-position: -2144px 0
}
.flag_ma {
    background-position: -2160px 0
}
.flag_mc {
    background-position: -2176px 0
}
.flag_md {
    background-position: -2192px 0
}
.flag_me {
    background-position: -2208px 0
}
.flag_mg {
    background-position: -2224px 0
}
.flag_mh {
    background-position: -2240px 0
}
.flag_mk {
    background-position: -2256px 0
}
.flag_ml {
    background-position: -2272px 0
}
.flag_mm {
    background-position: -2288px 0
}
.flag_mn {
    background-position: -2304px 0
}
.flag_mo {
    background-position: -2320px 0
}
.flag_mp {
    background-position: -2336px 0
}
.flag_mq {
    background-position: -2352px 0
}
.flag_mr {
    background-position: -2368px 0
}
.flag_ms {
    background-position: -2384px 0
}
.flag_mt {
    background-position: -2400px 0
}
.flag_mu {
    background-position: -2416px 0
}
.flag_mv {
    background-position: -2432px 0
}
.flag_mw {
    background-position: -2448px 0
}
.flag_mx {
    background-position: -2464px 0
}
.flag_ms-MY,
.flag_my {
    background-position: -2480px 0
}
.flag_mz {
    background-position: -2496px 0
}
.flag_na {
    background-position: -2512px 0
}
.flag_nc {
    background-position: -2528px 0
}
.flag_ne {
    background-position: -2544px 0
}
.flag_nf {
    background-position: -2560px 0
}
.flag_ng {
    background-position: -2576px 0
}
.flag_ni {
    background-position: -2592px 0
}
.flag_nl-NL,
.flag_nl {
    background-position: -2608px 0
}
.flag_no-NO,
.flag_no {
    background-position: -2624px 0
}
.flag_np {
    background-position: -2640px 0
}
.flag_nr {
    background-position: -2656px 0
}
.flag_nu {
    background-position: -2672px 0
}
.flag_nz {
    background-position: -2688px 0
}
.flag_om {
    background-position: -2704px 0
}
.flag_pa {
    background-position: -2720px 0
}
.flag_pe {
    background-position: -2736px 0
}
.flag_pf {
    background-position: -2752px 0
}
.flag_pg {
    background-position: -2768px 0
}
.flag_ph {
    background-position: -2784px 0
}
.flag_pk {
    background-position: -2800px 0
}
.flag_pl-PL,
.flag_pl {
    background-position: -2816px 0
}
.flag_pm {
    background-position: -2832px 0
}
.flag_pn {
    background-position: -2848px 0
}
.flag_pr {
    background-position: -2864px 0
}
.flag_ps {
    background-position: -2880px 0
}
.flag_pt-PT,
.flag_pt {
    background-position: -2896px 0
}
.flag_pw {
    background-position: -2912px 0
}
.flag_py {
    background-position: -2928px 0
}
.flag_qa {
    background-position: -2944px 0
}
.flag_re {
    background-position: -2960px 0
}
.flag_ro-RO,
.flag_ro {
    background-position: -2976px 0
}
.flag_sr-RS-Cyrl,
.flag_rs {
    background-position: -2992px 0
}
.flag_ru-RU,
.flag_ru {
    background-position: -3008px 0
}
.flag_rw {
    background-position: -3024px 0
}
.flag_sa {
    background-position: -3040px 0
}
.flag_sb {
    background-position: -3056px 0
}
.flag_sc {
    background-position: -3072px 0
}
.flag_scotland {
    background-position: -3088px 0
}
.flag_sd {
    background-position: -3104px 0
}
.flag_sv-SE,
.flag_se {
    background-position: -3120px 0
}
.flag_sg {
    background-position: -3136px 0
}
.flag_sh {
    background-position: -3152px 0
}
.flag_sl-SI,
.flag_si {
    background-position: -3168px 0
}
.flag_sj {
    background-position: -3184px 0
}
.flag_sk-SK,
.flag_sk {
    background-position: -3200px 0
}
.flag_sl {
    background-position: -3216px 0
}
.flag_sm {
    background-position: -3232px 0
}
.flag_sn {
    background-position: -3248px 0
}
.flag_so {
    background-position: -3264px 0
}
.flag_sr {
    background-position: -3280px 0
}
.flag_st {
    background-position: -3296px 0
}
.flag_sv {
    background-position: -3312px 0
}
.flag_sy {
    background-position: -3328px 0
}
.flag_sz {
    background-position: -3344px 0
}
.flag_tc {
    background-position: -3360px 0
}
.flag_td {
    background-position: -3376px 0
}
.flag_tf {
    background-position: -3392px 0
}
.flag_tg {
    background-position: -3408px 0
}
.flag_th-TH,
.flag_asia,
.flag_th {
    background-position: -3424px 0
}
.flag_tj {
    background-position: -3440px 0
}
.flag_tk {
    background-position: -3456px 0
}
.flag_tl {
    background-position: -3472px 0
}
.flag_tm {
    background-position: -3488px 0
}
.flag_tn {
    background-position: -3504px 0
}
.flag_to {
    background-position: -3520px 0
}
.flag_tr-TR,
.flag_tr {
    background-position: -3536px 0
}
.flag_tt {
    background-position: -3552px 0
}
.flag_tv {
    background-position: -3568px 0
}
.flag_zh-TW,
.flag_tw {
    background-position: -3584px 0
}
.flag_tz {
    background-position: -3600px 0
}
.flag_uk-UA,
.flag_ua {
    background-position: -3616px 0
}
.flag_ug {
    background-position: -3632px 0
}
.flag_um {
    background-position: -3648px 0
}
.flag_en-US,
.flag_us {
    background-position: -3664px 0
}
.flag_uy {
    background-position: -3680px 0
}
.flag_uz {
    background-position: -3696px 0
}
.flag_va {
    background-position: -3712px 0
}
.flag_vc {
    background-position: -3728px 0
}
.flag_ve {
    background-position: -3744px 0
}
.flag_vg {
    background-position: -3760px 0
}
.flag_vi {
    background-position: -3776px 0
}
.flag_vi-VN,
.flag_vn {
    background-position: -3792px 0
}
.flag_vu {
    background-position: -3808px 0
}
.flag_wales {
    background-position: -3824px 0
}
.flag_wf {
    background-position: -3840px 0
}
.flag_ws {
    background-position: -3856px 0
}
.flag_ye {
    background-position: -3872px 0
}
.flag_yt {
    background-position: -3888px 0
}
.flag_za {
    background-position: -3904px 0
}
.flag_zm {
    background-position: -3920px 0
}
.flag_zw {
    background-position: -3936px 0
}
.flag_com {
    background-position: -3952px 0
}

/* Sprite placeholders — use <i class="…"> instead of x.gif overlay images. */

i.unit,
i.gold,
i.goldCoin_medium,
i.del,
i.carry,
i.silver,
i.reportImage,
i.online,
i.iReport,
i.heroStatus101,
i.xp,
i.favorIcon,
i.goldIcon,
i.build_logo,
i.clock,
i.att1,
i.att2,
i.def1,
i.def2,
i.def3,
i.reportInfo,
i.messageStatus,
i.enumerableElementsImage,
i.unitBig,
i.spriteIcon {
    display: inline-block;
    font-style: normal;
    vertical-align: text-bottom;
    border: 0;
    line-height: 0;
}

i.dynamic_img {
    display: inline-block;
    font-style: normal;
    border: 0;
    padding: 0;
    cursor: pointer;
    background: transparent;
}

button.dynamic_img {
    border: 0;
    padding: 0;
    background: transparent;
    cursor: pointer;
}

/* Shared black site footer (index, lobby) */
.stella-site-footer {
    --portal-footer-text: #fffdf8;
    --portal-footer-muted: rgba(255, 253, 248, 0.72);
    --portal-footer-faint: rgba(255, 253, 248, 0.48);
    /* lobby.css sets these on global a:hover (green icons) */
    --linkColor: var(--portal-footer-text);
    --linkHoverColor: var(--portal-footer-text);
    --linkActiveColor: var(--portal-footer-text);
    --fontColor: var(--portal-footer-text);
    position: relative;
    z-index: 30;
    margin-top: auto;
    padding: 32px 16px 40px;
    background: #0a0a0a;
    color: var(--portal-footer-muted);
}

/* Top hairline — lobby.css @layer global zeros div { border: 0 } */
.stella-site-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(255, 253, 248, 0.08);
    pointer-events: none;
}

.stella-site-footer a {
    color: var(--portal-footer-text);
    text-decoration: none;
}

.stella-site-footer a:hover,
.stella-site-footer a:focus {
    --fontColor: var(--portal-footer-text);
    color: var(--portal-footer-text);
    outline: none;
    text-decoration: underline;
}

.stella-site-footer a svg {
    fill: currentColor;
}

.stella-site-footer__inner {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.stella-site-footer__social {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 0 20px;
}

.stella-site-footer__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(255, 253, 248, 0.22);
    border-radius: 50%;
    color: var(--portal-footer-text);
    text-decoration: none;
    transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

.stella-site-footer__social-link:hover,
.stella-site-footer__social-link:focus {
    color: var(--portal-footer-text);
    border-color: rgba(255, 253, 248, 0.45);
    background-color: rgba(255, 253, 248, 0.08);
    outline: none;
    text-decoration: none;
}

.stella-site-footer__social-link svg {
    width: 17px;
    height: 17px;
}

.stella-site-footer__studio {
    margin: 0 0 14px;
}

.stella-site-footer__studio-link {
    display: inline-block;
    color: inherit;
    text-decoration: none;
}

.stella-site-footer__studio-link:hover .stella-site-footer__studio-ring,
.stella-site-footer__studio-link:focus .stella-site-footer__studio-ring {
    border-color: rgba(255, 253, 248, 0.45);
    outline: none;
}

.stella-site-footer__studio-ring {
    display: inline-flex;
    overflow: hidden;
    width: 52px;
    height: 52px;
    border: 2px solid rgba(255, 253, 248, 0.16);
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35);
}

.stella-site-footer__studio-ring img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.stella-site-footer__copy {
    margin: 0 0 14px;
    color: var(--portal-footer-muted);
    font-size: 12px;
    letter-spacing: 0.03em;
}

.stella-site-footer__legal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 0 16px;
}

.stella-site-footer__legal a {
    color: var(--portal-footer-text);
    font-size: 12px;
    letter-spacing: 0.04em;
    text-decoration: none;
    text-transform: uppercase;
}

.stella-site-footer__legal a:hover,
.stella-site-footer__legal a:focus {
    color: var(--portal-footer-text);
    outline: none;
    text-decoration: underline;
}

.stella-site-footer__sep {
    color: var(--portal-footer-faint);
    font-size: 11px;
    user-select: none;
}

.stella-site-footer__trademark {
    max-width: 520px;
    margin: 0 auto;
    color: var(--portal-footer-faint);
    font-size: 10px;
    line-height: 1.5;
}

/* index.php: .register.gw2 a { color: var(--red3) } */
#portalRoot.register.gw2 .stella-site-footer a,
.register.gw2 .stella-site-footer a {
    color: var(--portal-footer-text);
}

body.portal-shell:has(> #root + .stella-site-footer) {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

body.portal-shell:has(> #root + .stella-site-footer) > #root {
    flex: 1 0 auto;
}

body.portal-shell:has(> #root + .stella-site-footer) > .stella-site-footer {
    flex-shrink: 0;
    margin-top: 0;
}

/* Bottom vignette sits on the viewport edge and stacks with the site footer bar */
body.portal-shell:has(> #root + .stella-site-footer) #root .portal-page-vignette-b {
    display: none;
}

#portalRoot.register.gw2 {
    display: flex;
    flex-direction: column;
}

#portalRoot.register.gw2 > .stella-site-footer {
    flex-shrink: 0;
}

.portal-legal-body {
    color: #444;
    font-size: 0.95rem;
    line-height: 1.6;
}

.portal-legal-body h2 {
    margin: 1.6em 0 0.5em;
    color: #4a4035;
    font-family: EasonProDisplayCaps, EasonPro, Times New Roman, serif;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.portal-legal-body h2:first-child {
    margin-top: 0;
}

.portal-legal-body p,
.portal-legal-body ul,
.portal-legal-body ol {
    margin: 0 0 0.85em;
}

.portal-legal-body ul,
.portal-legal-body ol {
    padding-left: 1.25em;
}

.portal-legal-body ol {
    list-style: decimal;
}

.portal-legal-body a {
    color: #545454;
}

.portal-legal-body a:hover,
.portal-legal-body a:focus {
    color: #333;
    text-decoration: underline;
}

.portal-legal-updated {
    margin: 0 0 1.25em;
    color: #666;
    font-size: 0.88rem;
}

/* GDPR cookie banner + portal settings form */

.portal-gdpr-intro,
.portal-gdpr-section-intro {
    color: #555;
    font-size: 0.95rem;
    line-height: 1.55;
    margin: 0 0 16px;
}

.portal-gdpr-section-intro:last-child {
    margin-bottom: 0;
}

.portal-gdpr-links {
    margin: 12px 0 0;
    font-size: 0.95rem;
    line-height: 1.55;
}

.portal-inline-sep {
    margin: 0 0.2em;
}

.portal-gdpr-links a {
    color: #820e0c;
    text-decoration: none;
}

.portal-gdpr-links a:hover,
.portal-gdpr-links a:focus {
    text-decoration: underline;
}

.portal-gdpr-form {
    margin-top: 8px;
}

.portal-gdpr-option {
    border: 1px solid #e8e2d8;
    border-radius: 3px;
    margin: 0 0 12px;
    padding: 12px 14px;
    background: #fffdf8;
}

.portal-gdpr-option.is-locked {
    background: #f5f2ec;
}

.portal-gdpr-option__head {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.portal-gdpr-option__label {
    color: #4a4035;
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0;
}

.portal-gdpr-option__desc {
    color: #666;
    font-size: 0.88rem;
    line-height: 1.45;
    margin: 8px 0 0;
}

.portal-gdpr-badge {
    background: #e8e2d8;
    border-radius: 2px;
    color: #4a4035;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    padding: 3px 8px;
    text-transform: uppercase;
    white-space: nowrap;
}

.portal-gdpr-option input[type="checkbox"] {
    flex-shrink: 0;
    height: 18px;
    margin: 0;
    width: 18px;
}

#gdprCookieNotice {
    background-color: #141414;
    box-sizing: border-box;
    color: #f2f2f2;
    left: 0;
    padding: 12px 16px;
    position: fixed;
    right: 0;
    text-align: center;
    z-index: 9999999999999999;
}

#gdprCookieNotice.is-bottom {
    bottom: 0;
}

#gdprCookieNotice.is-top {
    top: 0;
}

#gdprCookieNotice::after {
    background-image: linear-gradient(90deg, transparent 20%, #fff 35%, #fff 65%, transparent 80%);
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%;
}

#gdprCookieNotice.is-top::after {
    bottom: auto;
    top: 0;
}

#gdprCookieNotice .gdpr-cookie-text {
    display: block;
    font-size: 0.92rem;
    line-height: 1.45;
    margin: 0 auto 10px;
    max-width: 720px;
}

#gdprCookieNotice .gdpr-cookie-actions {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    justify-content: center;
}

button.gdpr-cookie-accept {
    background: linear-gradient(180deg, #b61410 0%, #3f0705);
    border: 1px solid #b61410;
    border-radius: 2px;
    color: #f2f2f2;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.85rem;
    letter-spacing: 0.04em;
    padding: 6px 14px;
    text-transform: uppercase;
}

button.gdpr-cookie-accept:hover,
button.gdpr-cookie-accept:focus {
    background: #b61410;
    border-color: #b61410;
    color: #fff;
    outline: none;
}

#gdprCookieNotice button,
#gdprCookieNotice a.gdpr-cookie-link {
    background: transparent;
    border: 1px solid #f2f2f2;
    border-radius: 2px;
    color: #f2f2f2;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.85rem;
    letter-spacing: 0.04em;
    padding: 6px 14px;
    text-decoration: none;
    text-transform: uppercase;
}

#gdprCookieNotice button:hover,
#gdprCookieNotice button:focus,
#gdprCookieNotice a.gdpr-cookie-link:hover,
#gdprCookieNotice a.gdpr-cookie-link:focus {
    outline: none;
    background: #b61410;
    border-color: #b61410;
    color: #fff;
}

body.gdpr-cookie-notice-visible.buildingsV3 #center,
body.gdpr-cookie-notice-visible.buildingsV3 #topBar {
    margin-top: 0;
}

@media screen and (max-width: 620px) {
    body.mobileOptimized.gdpr-cookie-notice-visible #gdprCookieNotice.is-bottom {
        bottom: 110px;
    }

    #gdprCookieNotice .gdpr-cookie-actions {
        flex-direction: column;
        width: 100%;
    }

    #gdprCookieNotice button,
    #gdprCookieNotice a.gdpr-cookie-link {
        width: 100%;
    }
}
