/* ==========================================================================
   Motivum Consent – banner és beállítások panel.
   A téma tokenjeit (theme.json CSS-változók) használja; más témában a
   tartalék értékek érvényesek. Minden választási gomb azonos megjelenésű.
   ========================================================================== */
:root {
	--mwc-primary: var(--wp--preset--color--primary, #102E46);
	--mwc-text: var(--wp--preset--color--text, #18232C);
	--mwc-bg: var(--wp--preset--color--white, #fff);
	--mwc-panel: var(--wp--preset--color--panel, #F4F1EA);
	--mwc-border: var(--wp--preset--color--border, #D9E0E4);
	--mwc-accent: var(--wp--preset--color--accent, #B99A4A);
	--mwc-focus: var(--wp--preset--color--accent-deep, #8C7230);
	--mwc-font: var(--wp--preset--font-family--body, system-ui, sans-serif);
	--mwc-font-ui: var(--wp--preset--font-family--ui, system-ui, sans-serif);
	--mwc-font-display: var(--wp--preset--font-family--display, var(--mwc-font-ui));
	--mwc-radius: var(--wp--custom--radius--lg, 16px);
	--mwc-radius-sm: var(--wp--custom--radius--md, 8px);
	--mwc-pill: var(--wp--custom--radius--pill, 999px);
	--mwc-shadow: var(--wp--preset--shadow--deep, 0 20px 50px rgba(16, 46, 70, .18));
	--mwc-gap: var(--wp--preset--spacing--30, 16px);
	--mwc-gap-lg: var(--wp--preset--spacing--40, 24px);
}

.mwc-banner[hidden], .mwc-modal[hidden] { display: none !important; }

.mwc-banner,
.mwc-modal {
	font-family: var(--mwc-font);
	font-size: 16px;
	line-height: 1.55;
	color: var(--mwc-text);
}
.mwc-banner *, .mwc-modal * { box-sizing: border-box; }

/* Banner – első réteg: kártya a bal alsó sarokban. Nem sötétíti el és nem blokkolja
   az oldalt (nincs sütifal); a három választás egyforma. Az X döntés nélkül csuk be. */
.mwc-banner {
	position: fixed;
	z-index: 99990;
	left: 24px;
	bottom: 24px;
	width: min(560px, calc(100% - 48px));
	padding: 18px 24px 22px;
	background: var(--wp--preset--color--base, #F7F5F0);
	border: 1px solid var(--mwc-border);
	border-radius: var(--mwc-radius);
	box-shadow: 0 12px 40px rgba(16, 46, 70, .18);
}
.mwc-banner__head { position: relative; display: flex; align-items: center; justify-content: center; min-height: 40px; margin-bottom: 10px; }
.mwc-banner .mwc-title { font-weight: 500; text-align: center; padding-inline: 48px; }
.mwc-banner__close { position: absolute; right: -10px; top: 50%; transform: translateY(-50%); border: 0 !important; font-size: 28px !important; }
.mwc-title {
	margin: 0;
	font-family: var(--mwc-font-ui);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--mwc-primary);
}
.mwc-text { margin: 0; font-size: 14px; line-height: 1.6; }
.mwc-links { display: flex; flex-wrap: wrap; gap: 2px 16px; margin: 8px 0 0; font-family: var(--mwc-font-ui); font-size: 13px; font-weight: 600; }
.mwc-links a { color: var(--mwc-primary); text-decoration: underline; text-underline-offset: .2em; }
.mwc-modal .mwc-links { margin-top: 12px; font-weight: 400; font-size: 14px; }

.mwc-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 18px; }
.mwc-modal__actions { display: flex; margin-top: 0; }

/* Egyforma gombok: az elfogadás és az elutasítás azonos súlyú */
.mwc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 8px 12px;
	font-family: var(--mwc-font-ui);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
	color: var(--mwc-primary);
	background: var(--mwc-bg);
	border: 1px solid rgba(16, 46, 70, .35);
	border-radius: var(--mwc-radius-sm);
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.mwc-btn:hover { background: var(--mwc-primary); border-color: var(--mwc-primary); color: var(--mwc-bg); }

.mwc-banner :focus-visible,
.mwc-modal :focus-visible,
.mwc-placeholder :focus-visible {
	outline: 3px solid var(--mwc-focus);
	outline-offset: 3px;
}

/* Panel (modal) */
.mwc-modal { position: fixed; inset: 0; z-index: 99995; display: flex; align-items: center; justify-content: center; padding: 16px; }
.mwc-modal__backdrop { position: absolute; inset: 0; background: rgba(16, 46, 70, .55); }
.mwc-modal__panel {
	position: relative;
	display: flex;
	flex-direction: column;
	width: min(640px, 100%);
	max-height: calc(100vh - 32px);
	max-height: calc(100dvh - 32px);
	background: var(--mwc-bg);
	border-radius: var(--mwc-radius);
	box-shadow: var(--mwc-shadow);
	outline: none;
}
.mwc-modal__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 28px 12px; }
.mwc-modal__head .mwc-title { margin: 0; font-family: var(--mwc-font-display); font-size: 22px; font-weight: 500; }
.mwc-close {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; flex: none;
	font-size: 26px; line-height: 1; color: var(--mwc-primary);
	background: transparent; border: 1px solid var(--mwc-border); border-radius: var(--mwc-pill); cursor: pointer;
}
.mwc-modal__body { overflow-y: auto; padding: 0 28px 8px; }
.mwc-modal__body > .mwc-text { margin-bottom: var(--mwc-gap); }
.mwc-modal__actions { flex-direction: row; flex-wrap: wrap; padding: 16px 28px 24px; border-top: 1px solid var(--mwc-border); }
.mwc-modal__actions .mwc-btn { flex: 1 1 160px; min-width: 0; min-height: 46px; font-size: 13px; }

.mwc-subtitle { margin: var(--mwc-gap-lg) 0 4px; font-family: var(--mwc-font-ui); font-size: 15px; font-weight: 600; color: var(--mwc-primary); }
.mwc-cat { padding: 14px 0; border-bottom: 1px solid var(--mwc-border); }
.mwc-cat__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.mwc-cat__label { font-family: var(--mwc-font-ui); font-weight: 600; color: var(--mwc-primary); }
.mwc-cat__always { font-family: var(--mwc-font-ui); font-size: 13px; color: var(--mwc-text); white-space: nowrap; }
.mwc-cat__desc { margin: 6px 0 0; font-size: 14px; }
.mwc-cat__desc a { color: var(--mwc-primary); text-decoration: underline; }

/* Kapcsoló: valódi checkbox (role="switch"), a címke egésze kattintható */
.mwc-switch { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex: 1 1 auto; cursor: pointer; min-height: 44px; }
.mwc-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.mwc-switch__ui {
	position: relative; flex: none; width: 48px; height: 28px;
	background: #fff; border: 2px solid #5F6A74; border-radius: 999px;
	transition: background-color .18s ease, border-color .18s ease;
}
.mwc-switch__ui::after {
	content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px;
	background: #5F6A74; border-radius: 50%; transition: transform .18s ease, background-color .18s ease;
}
.mwc-switch input:checked + .mwc-switch__ui { background: var(--mwc-primary); border-color: var(--mwc-primary); }
.mwc-switch input:checked + .mwc-switch__ui::after { transform: translateX(20px); background: #fff; }
.mwc-switch input:disabled + .mwc-switch__ui { opacity: .55; }
.mwc-switch input:focus-visible + .mwc-switch__ui { outline: 3px solid var(--mwc-focus); outline-offset: 3px; }
.mwc-cat:has(input:disabled) .mwc-switch { cursor: default; }

/* Helyőrző a blokkolt beágyazások helyén */
.mwc-placeholder {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
	padding: 32px 24px; text-align: center;
	font-family: var(--mwc-font); font-size: 15px; color: var(--mwc-text);
	background: var(--mwc-panel); border: 1px dashed var(--mwc-accent); border-radius: var(--mwc-radius-sm);
}
.mwc-placeholder p { margin: 0; max-width: 52ch; }
.mwc-placeholder__service { font-family: var(--mwc-font-display); font-size: 18px; font-weight: 500; color: var(--mwc-primary); }
.mwc-placeholder__provider { font-size: 13px; }
.mwc-placeholder__provider a { color: var(--mwc-primary); text-decoration: underline; }
.mwc-placeholder__btn { margin-top: 6px; min-height: 46px; padding-inline: 24px; }

.mwc-tab[hidden] { display: none !important; }
/* Választás után: kis fül a bal alsó sarokban (újranyitja a beállítások panelt) */
.mwc-tab {
	position: fixed;
	z-index: 99980;
	left: 56px;
	bottom: 0;
	padding: 12px 16px 11px;
	font-family: var(--mwc-font);
	font-size: 14px;
	line-height: 1.2;
	color: var(--mwc-text);
	background: var(--wp--preset--color--base, #F7F5F0);
	border: 1px solid var(--mwc-border);
	border-bottom: 0;
	border-radius: 12px 12px 0 0;
	box-shadow: 0 -2px 14px rgba(16, 46, 70, .10);
	cursor: pointer;
	transition: padding-bottom .18s ease;
}
.mwc-tab:hover { padding-bottom: 14px; }
.mwc-tab:focus-visible { outline: 3px solid var(--mwc-focus); outline-offset: 2px; }
.mwc-modal-open .mwc-tab { visibility: hidden; }

.mwc-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mwc-modal-open { overflow: hidden; }

@media (max-width: 860px) {
	.mwc-tab { left: 16px; font-size: 13px; padding: 10px 14px 9px; }
	.mwc-banner { left: 8px; right: 8px; bottom: 8px; width: auto; padding: 14px 16px 16px; max-height: calc(100dvh - 16px); overflow-y: auto; }
	.mwc-banner .mwc-actions { grid-template-columns: 1fr; gap: 8px; margin-top: 14px; }
	.mwc-modal { padding: 0; align-items: flex-end; }
	.mwc-modal__panel { width: 100%; max-height: 100dvh; border-radius: var(--mwc-radius) var(--mwc-radius) 0 0; }
	.mwc-modal__head, .mwc-modal__body, .mwc-modal__actions { padding-left: 20px; padding-right: 20px; }
	.mwc-modal__actions { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
	.mwc-btn, .mwc-switch__ui, .mwc-switch__ui::after { transition: none; }
}
@media (min-width: 861px) {
	.mwc-banner .mwc-btn { white-space: nowrap; padding-inline: 8px; font-size: 13.5px; }
}
