html:has(.xfg-privacy-dialog) { scrollbar-gutter:stable; }
html.xfg-privacy-open { overflow:hidden; }
.xfg-privacy-dialog {
    width:min(680px,calc(100vw - 32px));
    max-width:none;
    max-height:calc(100dvh - 32px);
    margin:auto;
    padding:0;
    overflow:hidden;
    border:1px solid #ccc;
    border-radius:3px;
    background:#fff;
    color:#202020;
    box-shadow:0 16px 60px #0007;
    font:400 13px/1.45 var(--shop-text,Arial,sans-serif);
    text-align:left;
    letter-spacing:0;
}
.xfg-privacy-dialog:not([open]) { display:none; }
.xfg-privacy-dialog::backdrop { background:rgb(0 0 0 / 58%); }
.xfg-privacy-dialog *, .xfg-privacy-dialog *::before, .xfg-privacy-dialog *::after { box-sizing:border-box; }
.xfg-privacy-form { display:flex; flex-direction:column; max-height:calc(100dvh - 34px); margin:0; }
.xfg-privacy-header { display:flex; flex:none; align-items:center; justify-content:space-between; gap:16px; padding:12px 16px 8px 24px; background:#fff; }
.xfg-privacy-header h2 { margin:0; color:#111; font:600 20px/1.2 var(--shop-display,Arial,sans-serif); text-transform:none; letter-spacing:0; }
.gear-shop-page .xfg-privacy-close { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:0; border-radius:0; background:#fff; color:#111; cursor:pointer; font:400 28px/1 Arial,sans-serif; }
.xfg-privacy-body { display:grid; grid-template-columns:156px minmax(0,1fr); gap:22px; height:320px; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 24px 18px; }
.xfg-privacy-tabs { display:flex; flex-direction:column; align-self:start; background:#000; border:1px solid #000; }
.gear-shop-page .xfg-privacy-tabs [role="tab"] { display:flex; align-items:center; justify-content:flex-start; width:100%; min-height:44px; margin:0; padding:10px 12px; border:0; border-bottom:1px solid #555; border-radius:0; background:#000; color:#fff; font:500 13px/1.3 var(--shop-text,Arial,sans-serif); letter-spacing:0; text-align:left; text-transform:none; cursor:pointer; }
.gear-shop-page .xfg-privacy-tabs [role="tab"]:last-child { border-bottom:0; }
.gear-shop-page .xfg-privacy-tabs [role="tab"][aria-selected="true"] { background:#fff; color:#111; }
.xfg-privacy-panels { min-width:0; }
.xfg-privacy-panel[hidden] { display:none; }
.xfg-privacy-panel { min-width:0; outline-offset:-2px; }
.xfg-privacy-panel__heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; min-height:44px; margin-bottom:8px; }
.xfg-privacy-panel h3 { margin:0; color:#111; font:600 16px/1.3 var(--shop-text,Arial,sans-serif); letter-spacing:0; }
.xfg-privacy-panel p { margin:0 0 14px; color:#333; font:inherit; }
.xfg-privacy-panel ul { margin:0 0 14px; padding-left:20px; color:#333; }
.xfg-privacy-panel a { color:#202020; text-decoration:underline; text-underline-offset:2px; }
.xfg-privacy-always-active { color:#326d20; font-size:12px; font-weight:600; }
.xfg-privacy-toggle { position:relative; display:flex; align-items:center; gap:8px; min-height:44px; cursor:pointer; }
.xfg-privacy-toggle input { position:absolute; width:1px; height:1px; margin:0; padding:0; opacity:0; }
.xfg-privacy-toggle__track { position:relative; display:block; width:38px; height:22px; border:1px solid #686868; border-radius:20px; background:#eee; }
.xfg-privacy-toggle__track::after { content:""; position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:50%; background:#555; transition:transform .12s ease; }
.xfg-privacy-toggle input:checked + .xfg-privacy-toggle__track { border-color:#111; background:#111; }
.xfg-privacy-toggle input:checked + .xfg-privacy-toggle__track::after { background:#fff; transform:translateX(16px); }
.xfg-privacy-toggle input:focus-visible + .xfg-privacy-toggle__track { outline:2px solid #145b9e; outline-offset:3px; }
.xfg-privacy-toggle__state { min-width:22px; color:#222; font-size:12px; }
.xfg-privacy-sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.xfg-privacy-inventory { width:100%; margin-top:18px; border-collapse:collapse; font-size:11px; table-layout:fixed; }
.xfg-privacy-inventory caption { margin-bottom:8px; color:#333; text-align:left; font-weight:600; }
.xfg-privacy-inventory :is(th,td) { padding:8px 5px; border-bottom:1px solid #ddd; overflow-wrap:anywhere; color:#222; text-align:left; }
.xfg-privacy-inventory th { background:#f3f3f3; font-weight:600; }
.xfg-privacy-feedback { flex:none; margin:0 24px 16px; padding:12px; border-left:3px solid #9d3018; background:#fff1e8; color:#5f2514; font:400 13px/1.4 var(--shop-text,Arial,sans-serif); }
.xfg-privacy-feedback:empty { display:none; }
.xfg-privacy-actions { display:flex; flex:none; justify-content:center; gap:10px; padding:16px 24px; border-top:1px solid #ddd; background:#fff; }
.gear-shop-page .xfg-privacy-button { min-width:116px; min-height:44px; margin:0; padding:10px 20px; border:1px solid #000; border-radius:2px; background:#000; color:#fff; cursor:pointer; font:600 14px/1.4 var(--shop-text,Arial,sans-serif); text-transform:none; }
.gear-shop-page .xfg-privacy-button:hover { background:#333; }
.xfg-privacy-dialog :is(button,a,[role="tabpanel"]):focus-visible { outline:2px solid #145b9e; outline-offset:2px; }
.gear-shop-page .xfg-privacy-tabs [role="tab"]:focus-visible { outline-offset:-3px; }
.xfg-cookie-notice { position:fixed; z-index:9000; inset:auto 0 0; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 20px; margin:0; padding:8px 24px; border-top:1px solid #555; background:#24272a; color:#f3f3f3; box-shadow:0 -2px 12px #0003; font:400 12px/1.4 var(--shop-text,Arial,sans-serif); letter-spacing:0; }
.xfg-cookie-notice[hidden], .xfg-cookie-notice-spacer[hidden] { display:none; }
.xfg-cookie-notice > p { flex:1 1 360px; margin:0; color:inherit; font:inherit; }
.xfg-cookie-notice a { color:inherit; text-decoration:underline; }
.xfg-cookie-notice__actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.gear-shop-page .xfg-cookie-notice button { min-height:44px; margin:0; padding:8px 12px; border:1px solid #e6e8eb; border-radius:1px; background:transparent; color:#fff; font:500 13px/1.35 var(--shop-text,Arial,sans-serif); letter-spacing:0; text-transform:none; cursor:pointer; }
.gear-shop-page .xfg-cookie-notice button[data-cookie-settings] { border-color:transparent; text-decoration:underline; }
.gear-shop-page .xfg-cookie-notice button[data-cookie-accept] { border-color:#ffd000; background:#ffd000; color:#111; }
.xfg-cookie-notice :is(a,button):focus-visible { outline:2px solid #fff; outline-offset:2px; }
.xfg-cookie-notice .xfg-cookie-notice__feedback { flex-basis:100%; color:#ffe0be; }
.xfg-cookie-notice__feedback:empty { display:none; }
.xfg-privacy-confirmation { position:fixed; z-index:10000; right:20px; bottom:20px; width:min(400px,calc(100vw - 40px)); margin:0; padding:16px 20px; border:1px solid #ccc; border-radius:3px; background:#fff; box-shadow:0 8px 30px #0005; color:#202020; font:400 14px/1.5 var(--shop-text,Arial,sans-serif); }
.xfg-privacy-confirmation[hidden] { display:none; }
@media(max-width:600px) {
    .xfg-privacy-dialog { width:calc(100% - 20px); max-height:calc(100dvh - 20px); }
    .xfg-privacy-form { max-height:calc(100dvh - 22px); }
    .xfg-privacy-header { padding:8px 8px 8px 16px; gap:10px; }
    .xfg-privacy-header h2 { font-size:20px; }
    .xfg-privacy-body { grid-template-columns:minmax(0,1fr); gap:16px; height:auto; min-height:0; padding:0 16px 16px; }
    .xfg-privacy-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
    .gear-shop-page .xfg-privacy-tabs [role="tab"] { width:100%; min-height:44px; padding:10px 12px; border-bottom:1px solid #555; border-right:1px solid #555; white-space:normal; }
    .gear-shop-page .xfg-privacy-tabs [role="tab"]:last-child { grid-column:1/-1; border-right:0; border-bottom:0; }
    .xfg-privacy-actions { padding:12px 16px; }
    .gear-shop-page .xfg-privacy-button { flex:1; min-width:0; }
    .xfg-cookie-notice { gap:10px; padding:12px 16px; }
    .xfg-cookie-notice > p { flex-basis:100%; }
    .xfg-cookie-notice__actions { justify-content:flex-start; gap:6px; }
    .gear-shop-page .xfg-cookie-notice button { padding-inline:9px; font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .xfg-privacy-toggle__track::after { transition:none; } }
