:root {
	--arvenoa-consent-primary: var(--sg-primary, #03363d);
	--arvenoa-consent-secondary: var(--sg-secondary, #bdd9d7);
	--arvenoa-consent-tertiary: var(--sg-tertiary, #d8c9a8);
	--arvenoa-consent-surface: rgba(250, 253, 252, 0.96);
	--arvenoa-consent-text: #03363d;
}

.arvenoa-consent[hidden], .arvenoa-consent-panel[hidden], .arvenoa-consent-reopen[hidden] { display: none !important; }
.arvenoa-consent { position: fixed; z-index: 2147483000; inset: auto 18px 18px; font-family: var(--sg-font-body, inherit); }
.arvenoa-consent__banner { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(210px, 0.38fr); width: min(1380px, 100%); margin: auto; padding: clamp(20px, 2vw, 30px); gap: 20px; align-items: center; border: 1px solid rgba(3,54,61,.18); border-radius: 28px; background: var(--arvenoa-consent-surface); box-shadow: 0 24px 70px rgba(3,54,61,.22), 8px 9px 0 rgba(216,201,168,.8); color: var(--arvenoa-consent-text); backdrop-filter: blur(32px) saturate(120%); -webkit-backdrop-filter: blur(32px) saturate(120%); }
.arvenoa-consent__mark { display: grid; width: 58px; height: 58px; border-radius: 18px; background: var(--arvenoa-consent-secondary); place-items: center; }
.arvenoa-consent__mark svg, .arvenoa-consent-reopen svg { width: 30px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.arvenoa-consent__copy { min-width: 0; }
.arvenoa-consent__eyebrow { display: block; margin-bottom: 5px; font-family: var(--sg-font-display, inherit); font-size: .78rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; opacity: .68; }
.arvenoa-consent h2, .arvenoa-consent-panel h2 { margin: 0 0 8px !important; color: inherit !important; font-family: var(--sg-font-display, inherit) !important; font-size: clamp(1.45rem, 2.2vw, 2.15rem) !important; line-height: 1.08 !important; }
.arvenoa-consent__copy p { max-width: 860px; margin: 0 0 5px !important; color: inherit !important; font-size: clamp(.98rem, 1.25vw, 1.16rem) !important; line-height: 1.5 !important; opacity: .82; }
.arvenoa-consent__copy a { color: inherit; font-weight: 750; text-underline-offset: 3px; }
.arvenoa-consent__actions, .arvenoa-consent-panel footer { display: grid; gap: 8px; }
.arvenoa-consent__button { box-sizing: border-box; width: 100%; min-height: 52px; padding: 12px 18px; border: 1px solid var(--arvenoa-consent-primary); border-radius: 15px; background: transparent; color: var(--arvenoa-consent-primary); font-family: var(--sg-font-display, inherit); font-size: .9rem; font-weight: 850; letter-spacing: .035em; cursor: pointer; transition: transform .22s ease, background .22s ease, color .22s ease; }
.arvenoa-consent__button:hover, .arvenoa-consent__button:focus-visible { background: var(--arvenoa-consent-secondary); color: var(--arvenoa-consent-primary); transform: translateY(-2px); }
.arvenoa-consent__button[data-arvenoa-consent-accept],
.arvenoa-consent__button[data-arvenoa-consent-reject] { background: var(--arvenoa-consent-primary); color: #fff; }
.arvenoa-consent__button[data-arvenoa-consent-accept]:hover,
.arvenoa-consent__button[data-arvenoa-consent-accept]:focus-visible,
.arvenoa-consent__button[data-arvenoa-consent-reject]:hover,
.arvenoa-consent__button[data-arvenoa-consent-reject]:focus-visible { background: var(--arvenoa-consent-secondary); color: var(--arvenoa-consent-primary); }

.arvenoa-consent-panel { position: fixed; z-index: 2147483100; inset: 0; }
.arvenoa-consent-panel__backdrop { position: absolute; inset: 0; background: rgba(3,35,40,.44); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); }
.arvenoa-consent-panel__dialog { position: absolute; top: 50%; left: 50%; width: min(760px, calc(100% - 32px)); max-height: calc(100vh - 32px); padding: clamp(24px, 4vw, 42px); overflow: auto; transform: translate(-50%, -50%); border: 1px solid rgba(3,54,61,.18); border-radius: 30px; outline: 0; background: #f8fbfa; box-shadow: 12px 13px 0 rgba(216,201,168,.84); color: var(--arvenoa-consent-text); font-family: var(--sg-font-body, inherit); }
.arvenoa-consent-panel__dialog header { display: flex; gap: 20px; align-items: flex-start; justify-content: space-between; }
.arvenoa-consent-panel__close { display: grid; width: 50px; height: 50px; flex: 0 0 50px; padding: 0; border: 1px solid rgba(3,54,61,.18); border-radius: 15px; background: var(--arvenoa-consent-secondary); color: inherit; cursor: pointer; place-items: center; }
.arvenoa-consent-panel__close svg { display: block; width: 24px; height: 24px; margin: 0; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
.arvenoa-consent-panel__intro { margin: 0 0 22px !important; color: inherit !important; font-size: 1rem !important; line-height: 1.55 !important; opacity: .76; }
.arvenoa-consent-panel__categories { display: grid; gap: 10px; }
.arvenoa-consent-category { padding: 17px 18px; border: 1px solid rgba(3,54,61,.14); border-radius: 18px; background: rgba(189,217,215,.15); }
.arvenoa-consent-category > div, .arvenoa-consent-category label { display: flex; gap: 20px; align-items: center; justify-content: space-between; cursor: pointer; }
.arvenoa-consent-category h3, .arvenoa-consent-category strong { display: block; margin: 0 0 3px; color: inherit; font-family: var(--sg-font-display, inherit); font-size: 1.03rem; }
.arvenoa-consent-category p, .arvenoa-consent-category small { display: block; margin: 0 !important; color: inherit !important; font-size: .9rem !important; font-weight: 500; line-height: 1.45 !important; opacity: .72; }
.arvenoa-consent-category__required { flex: 0 0 auto; padding: 7px 10px; border-radius: 999px; background: var(--arvenoa-consent-tertiary); font-family: var(--sg-font-display, inherit); font-size: .73rem; font-weight: 850; text-transform: uppercase; }
.arvenoa-consent-switch { position: relative; width: 56px; height: 32px; flex: 0 0 56px; }
.arvenoa-consent-switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.arvenoa-consent-switch i { position: absolute; inset: 0; border: 1px solid rgba(3,54,61,.22); border-radius: 999px; background: #dce5e4; transition: background .2s ease; }
.arvenoa-consent-switch i::after { position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; box-shadow: 0 2px 7px rgba(3,54,61,.2); content: ''; transition: transform .2s ease; }
.arvenoa-consent-switch input:checked + i { background: var(--arvenoa-consent-primary); }
.arvenoa-consent-switch input:checked + i::after { transform: translateX(24px); }
.arvenoa-consent-switch input:focus-visible + i { outline: 3px solid var(--arvenoa-consent-tertiary); outline-offset: 2px; }
.arvenoa-consent-panel footer { grid-template-columns: repeat(3, 1fr); margin-top: 22px; }
.arvenoa-consent-reopen { position: fixed; z-index: 2147482000; right: 18px; bottom: 18px; display: flex; min-height: 46px; padding: 8px 13px; gap: 7px; align-items: center; border: 1px solid rgba(3,54,61,.2); border-radius: 15px; background: var(--arvenoa-consent-secondary); box-shadow: 4px 5px 0 rgba(216,201,168,.86); color: var(--arvenoa-consent-primary); font-family: var(--sg-font-display, inherit); font-weight: 850; cursor: pointer; }
.arvenoa-consent-reopen svg { width: 22px; }
.arvenoa-consent-panel-open { overflow: hidden; }

html[data-sg-theme="dark"] { --arvenoa-consent-surface: rgba(5,49,55,.96); --arvenoa-consent-text: #f2f8f7; }
html[data-sg-theme="dark"] .arvenoa-consent-panel__dialog { background: #07343a; color: #f2f8f7; }
html[data-sg-theme="dark"] .arvenoa-consent-category { border-color: rgba(189,217,215,.22); background: rgba(189,217,215,.08); }
html[data-sg-theme="dark"] .arvenoa-consent__button { border-color: var(--arvenoa-consent-secondary); color: #f2f8f7; }
html[data-sg-theme="dark"] .arvenoa-consent__button[data-arvenoa-consent-accept],
html[data-sg-theme="dark"] .arvenoa-consent__button[data-arvenoa-consent-reject] { background: var(--arvenoa-consent-secondary); color: var(--arvenoa-consent-primary); }

@media (max-width: 900px) {
	.arvenoa-consent__banner { grid-template-columns: auto 1fr; }
	.arvenoa-consent__actions { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
	.arvenoa-consent { inset: auto 10px 10px; }
	.arvenoa-consent__banner { grid-template-columns: 1fr; padding: 20px; border-radius: 22px; }
	.arvenoa-consent__mark { display: none; }
	.arvenoa-consent__actions { grid-column: auto; grid-template-columns: 1fr; }
	.arvenoa-consent__actions .arvenoa-consent__button { min-height: 48px; }
	.arvenoa-consent-panel__dialog { padding: 22px 16px; border-radius: 22px; }
	.arvenoa-consent-category > div, .arvenoa-consent-category label { align-items: flex-start; }
	.arvenoa-consent-panel footer { grid-template-columns: 1fr; }
	.arvenoa-consent-reopen span { display: none; }
	.arvenoa-consent-reopen { width: 46px; padding: 8px; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
	.arvenoa-consent *, .arvenoa-consent-panel * { scroll-behavior: auto !important; transition: none !important; }
}
