/**
 * Consent Suite - Banner CSS. Desarrollado por Pixel Innova.
 * Variables --pic-* inyectadas inline desde JS según configuración.
 */
.pic-cmp, .pic-cmp *, .pic-modal, .pic-modal *, .pic-reopen, .pic-reopen *, .pic-banner-backdrop {
	box-sizing: border-box !important;
}

/*
 * Capa de aislamiento visual.
 *
 * Los temas y constructores suelen declarar estilos globales para button, h3,
 * p, img o [role="dialog"]. Los controles nativos de Consent Suite se resetean
 * y se reconstruyen con sus propios tokens para que conserven exactamente la
 * misma geometría, tipografía y estados, aunque el CSS del tema se cargue más
 * tarde o utilice !important.
 */
.pic-cmp,
.pic-modal,
.pic-reopen {
	--pic-ui-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	--pic-control-height: 42px;
	--pic-control-radius: max(4px, calc(var(--pic-radius, 10px) - 2px));
}

.pic-cmp,
.pic-modal {
	text-align: left !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	word-spacing: normal !important;
	font-family: var(--pic-ui-font) !important;
	font-style: normal !important;
	font-variant: normal !important;
	font-stretch: normal !important;
	font-synthesis: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	isolation: isolate;
}

/* Reset fuerte de todos los botones propios. "all" evita herencias de Hello
 * Elementor, Elementor Pro, Astra, Divi, Avada, Bootstrap y CSS personalizados. */
html body .pic-cmp button.pic-btn,
html body .pic-modal button.pic-btn,
html body .pic-cmp button.pic-close,
html body .pic-modal button.pic-modal-close,
html body button.pic-reopen {
	all: unset !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	box-sizing: border-box !important;
	font-family: var(--pic-ui-font) !important;
	font-style: normal !important;
	font-variant: normal !important;
	font-stretch: normal !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	word-spacing: normal !important;
	text-decoration: none !important;
	text-indent: 0 !important;
	text-shadow: none !important;
	cursor: pointer !important;
	-webkit-tap-highlight-color: transparent !important;
}

/* Botones de decisión del banner y del panel granular. */
html body .pic-cmp button.pic-btn,
html body .pic-modal button.pic-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	vertical-align: middle !important;
	width: auto !important;
	height: auto !important;
	min-height: var(--pic-control-height) !important;
	min-width: 120px !important;
	max-width: 100% !important;
	padding: 10px 18px !important;
	margin: 0 !important;
	border-width: 1px !important;
	border-style: solid !important;
	border-color: transparent !important;
	border-radius: var(--pic-control-radius) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	white-space: normal !important;
	box-shadow: none !important;
	filter: none !important;
	transform: none !important;
	overflow: visible !important;
	opacity: 1 !important;
	transition: background-color .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}
html body .pic-cmp button.pic-btn:hover,
html body .pic-modal button.pic-btn:hover {
	filter: none !important;
	transform: none !important;
}
html body .pic-cmp button.pic-btn:active,
html body .pic-modal button.pic-btn:active {
	transform: translateY(1px) !important;
}
html body .pic-cmp button.pic-btn:focus,
html body .pic-modal button.pic-btn:focus {
	outline: none !important;
}
html body .pic-cmp button.pic-btn:focus-visible,
html body .pic-modal button.pic-btn:focus-visible {
	outline: 2px solid var(--pic-accept, #7AB8E0) !important;
	outline-offset: 2px !important;
}
html body .pic-cmp button.pic-btn:disabled,
html body .pic-modal button.pic-btn:disabled {
	opacity: .6 !important;
	cursor: not-allowed !important;
	transform: none !important;
}
html body .pic-cmp button.pic-btn-accept,
html body .pic-modal button.pic-btn-accept {
	background: var(--pic-accept, #7AB8E0) !important;
	color: #fff !important;
}
html body .pic-cmp button.pic-btn-accept:hover,
html body .pic-modal button.pic-btn-accept:hover {
	background: var(--pic-accept-hover, var(--pic-accept, #5FA3D0)) !important;
	color: #fff !important;
}
html body .pic-cmp button.pic-btn-reject,
html body .pic-modal button.pic-btn-reject {
	background: var(--pic-reject, #7AB8E0) !important;
	color: #fff !important;
}
html body .pic-cmp button.pic-btn-reject:hover,
html body .pic-modal button.pic-btn-reject:hover {
	background: var(--pic-reject-hover, var(--pic-reject, #5FA3D0)) !important;
	color: #fff !important;
}
html body .pic-cmp button.pic-btn-settings,
html body .pic-modal button.pic-btn-settings {
	background: var(--pic-settings, #e3e6ea) !important;
	color: var(--pic-text, #1f2733) !important;
}
html body .pic-cmp button.pic-btn-settings:hover,
html body .pic-modal button.pic-btn-settings:hover {
	background: var(--pic-settings-hover, var(--pic-settings, #cfd5dc)) !important;
	color: var(--pic-text, #1f2733) !important;
}

/* Botones de cierre del banner y del modal: tamaño fijo y centrado real del ×. */
html body .pic-cmp button.pic-close,
html body .pic-modal button.pic-modal-close {
	position: absolute !important;
	top: 10px !important;
	right: 10px !important;
	left: auto !important;
	bottom: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	max-width: 34px !important;
	min-height: 34px !important;
	max-height: 34px !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	color: var(--pic-text, #1f2733) !important;
	border: 1px solid transparent !important;
	border-radius: var(--pic-control-radius) !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-align: center !important;
	box-shadow: none !important;
	filter: none !important;
	transform: none !important;
	opacity: .72 !important;
	overflow: hidden !important;
	z-index: 3 !important;
	transition: opacity .15s ease, background-color .15s ease, color .15s ease !important;
}
html body .pic-cmp button.pic-close:hover,
html body .pic-modal button.pic-modal-close:hover {
	background: rgba(127,127,127,.14) !important;
	color: var(--pic-text, #1f2733) !important;
	opacity: 1 !important;
	filter: none !important;
	transform: none !important;
}
html body .pic-cmp button.pic-close:focus,
html body .pic-modal button.pic-modal-close:focus {
	outline: none !important;
}
html body .pic-cmp button.pic-close:focus-visible,
html body .pic-modal button.pic-modal-close:focus-visible {
	outline: 2px solid var(--pic-accept, #7AB8E0) !important;
	outline-offset: 2px !important;
	opacity: 1 !important;
}

/* Botón flotante de reapertura. También se resetean sus spans internos para
 * evitar que el tema añada márgenes, fondos, bordes o tipografías propias. */
html body button.pic-reopen {
	position: fixed !important;
	z-index: 2147483636 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	width: auto !important;
	height: auto !important;
	min-width: 44px !important;
	min-height: 44px !important;
	max-width: calc(100vw - 24px) !important;
	padding: 10px 16px !important;
	margin: 0 !important;
	background: var(--pic-float-color, #7AB8E0) !important;
	color: var(--pic-float-text, #fff) !important;
	border: 1px solid transparent !important;
	border-radius: var(--pic-float-radius, var(--pic-radius, 10px)) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	white-space: nowrap !important;
	box-shadow: 0 6px 20px rgba(0,0,0,.18) !important;
	filter: none !important;
	transform: none !important;
	overflow: visible !important;
	opacity: 1 !important;
	visibility: visible !important;
	transition: background-color .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease !important;
}
html body button.pic-reopen:hover {
	background: var(--pic-float-hover, var(--pic-float-color, #7AB8E0)) !important;
	color: var(--pic-float-text, #fff) !important;
	box-shadow: 0 8px 24px rgba(0,0,0,.22) !important;
	filter: none !important;
	transform: translateY(-1px) !important;
}
html body button.pic-reopen:active {
	transform: translateY(0) !important;
}
html body button.pic-reopen:focus {
	outline: none !important;
}
html body button.pic-reopen:focus-visible {
	outline: 2px solid var(--pic-float-focus, #fff) !important;
	outline-offset: 2px !important;
}
html body button.pic-reopen > .pic-reopen-ico,
html body button.pic-reopen > .pic-reopen-label {
	all: unset !important;
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	color: inherit !important;
	border: 0 !important;
	font-family: inherit !important;
	font-style: normal !important;
	font-variant: normal !important;
	font-weight: inherit !important;
	line-height: 1 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}
html body button.pic-reopen > .pic-reopen-ico {
	font-size: 16px !important;
	width: auto !important;
	height: auto !important;
	flex: 0 0 auto !important;
}
html body button.pic-reopen > .pic-reopen-label {
	font-size: 13px !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
}
html body button.pic-reopen-bottom_left  { left: 20px !important;  right: auto !important; bottom: 20px !important; top: auto !important; }
html body button.pic-reopen-bottom_right { right: 20px !important; left: auto !important;  bottom: 20px !important; top: auto !important; }
html body button.pic-reopen-top_left     { left: 20px !important;  right: auto !important; top: 20px !important; bottom: auto !important; }
html body button.pic-reopen-top_right    { right: 20px !important; left: auto !important;  top: 20px !important; bottom: auto !important; }

.pic-cmp .pic-title,
.pic-modal h3 {
	font-family: var(--pic-ui-font) !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	box-shadow: none !important;
}
.pic-cmp .pic-text,
.pic-modal p {
	padding: 0 !important;
	background: transparent !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}
.pic-cmp a,
.pic-modal a {
	font-family: var(--pic-ui-font) !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
	box-shadow: none !important;
}
.pic-cmp .pic-powered a {
	color: inherit !important;
}

html body .pic-cmp {
	position: fixed !important;
	z-index: 2147483638 !important;
	display: block !important;
	width: calc(100% - 40px) !important;
	max-width: 600px !important;
	min-width: 0 !important;
	height: auto !important;
	max-height: calc(100vh - 40px) !important;
	margin: 0 !important;
	background: var(--pic-bg, #fff) !important;
	color: var(--pic-text, #1f2733) !important;
	border: 1px solid rgba(0,0,0,.08) !important;
	border-radius: var(--pic-radius, 10px) !important;
	box-shadow: 0 8px 30px rgba(0,0,0,.18) !important;
	padding: 22px 26px !important;
	font-family: var(--pic-ui-font) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	opacity: 1 !important;
	visibility: visible !important;
}
html body .pic-cmp.pic-has-close { padding-right: 64px !important; }
html body .pic-cmp.pos-bottom_center { left: 50% !important; right: auto !important; top: auto !important; bottom: 20px !important; transform: translateX(-50%) !important; }
html body .pic-cmp.pos-bottom_right { right: 20px !important; left: auto !important; top: auto !important; bottom: 20px !important; transform: none !important; }
html body .pic-cmp.pos-bottom_left { left: 20px !important; right: auto !important; top: auto !important; bottom: 20px !important; transform: none !important; }
html body .pic-cmp.pos-bar_bottom { left: 0 !important; right: 0 !important; top: auto !important; bottom: 0 !important; width: 100% !important; max-width: none !important; border-radius: 0 !important; padding: 18px 48px !important; transform: none !important; }
html body .pic-cmp.pos-modal_center { left: 50% !important; right: auto !important; top: 50% !important; bottom: auto !important; transform: translate(-50%, -50%) !important; }

.pic-cmp .pic-title {
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	margin: 0 0 6px !important;
	color: var(--pic-text, #1f2733) !important;
}
.pic-cmp .pic-text {
	margin: 0 0 14px !important;
	font-size: 13.5px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	color: var(--pic-text, #1f2733) !important;
}
.pic-cmp .pic-text a { color: var(--pic-accept, #7AB8E0) !important; }
.pic-cmp .pic-actions,
.pic-modal .pic-actions {
	display: flex !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: center !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}
.pic-slot {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
	flex: 1 1 0;
	min-width: 0;
}
.pic-slot-left   { justify-content: flex-start; }
.pic-slot-center { justify-content: center; }
.pic-slot-right  { justify-content: flex-end; }
.pic-slot:empty { display: none; }

.pic-powered { margin-top: 10px; font-size: 11px; opacity: .65; text-align: center; }
.pic-powered a { color: inherit; text-decoration: underline; opacity: .9; }
.pic-powered a:hover { opacity: 1; }
.pic-logo { text-align: center; margin: 0 0 12px; }
.pic-logo img { max-height: 48px; max-width: 60%; height: auto; width: auto; display: inline-block; }

/* Capa propia del banner inicial: aplica el mismo blur visual del modal granular
   y bloquea la interacción con la página hasta que el usuario decida. */
.pic-banner-backdrop {
	position: fixed;
	inset: 0;
	z-index: 2147483637;
	background: rgba(0,0,0,.6);
	-webkit-backdrop-filter: blur(2px);
	        backdrop-filter: blur(2px);
	pointer-events: auto;
}
body.pic-banner-open { overflow: hidden; }
html.pic-cmp-open, body.pic-cmp-open { overscroll-behavior: contain; }
html.pic-scroll-locked, body.pic-scroll-locked { overflow: hidden !important; overscroll-behavior: none !important; }
body.pic-banner-open .pic-reopen { pointer-events: none; z-index: 2147483636; }

.pic-backdrop {
	position: fixed; inset: 0; z-index: 2147483640; background: rgba(0,0,0,.6);
	display: none; align-items: center; justify-content: center; padding: 20px;
	-webkit-backdrop-filter: blur(2px);
	        backdrop-filter: blur(2px);
}
.pic-backdrop.is-open { display: flex; }
.pic-backdrop.no-overlay {
	background: transparent;
	-webkit-backdrop-filter: none;
	        backdrop-filter: none;
	pointer-events: none;
}
.pic-backdrop.no-overlay .pic-modal { pointer-events: auto; }

html body .pic-modal {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: 460px !important;
	min-width: 0 !important;
	height: auto !important;
	max-height: 90vh !important;
	margin: 0 !important;
	padding: 22px 24px !important;
	background: var(--pic-bg, #fff) !important;
	color: var(--pic-text, #1f2733) !important;
	border: 0 !important;
	border-radius: var(--pic-radius, 10px) !important;
	box-shadow: 0 12px 40px rgba(0,0,0,.3) !important;
	font-family: var(--pic-ui-font) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	opacity: 1 !important;
	visibility: visible !important;
}
/* El botón .pic-modal-close se define en la capa de aislamiento superior. */
.pic-modal h3 {
	margin: 0 0 14px !important;
	padding: 0 42px 0 0 !important;
	font-size: 17px !important;
	color: var(--pic-text, #1f2733) !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}
.pic-modal,
.pic-modal h3,
.pic-modal p,
.pic-modal .pic-purpose-title,
.pic-modal .pic-purpose-desc,
.pic-modal .pic-modal-text {
	color: var(--pic-text, #1f2733);
}
.pic-modal .pic-purpose-desc { color: var(--pic-text, #1f2733); opacity: .75; }
.pic-modal .pic-purpose { border-top-color: rgba(127, 127, 127, .18); }
.pic-purpose { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; border-top: 1px solid rgba(0,0,0,.08); }
.pic-purpose:first-of-type { border-top: 0; }
.pic-purpose-body { flex: 1; }
.pic-purpose-title { font-weight: 600; font-size: 13.5px; }
.pic-purpose-desc { font-size: 12.5px; opacity: .8; }

.pic-switch { position: relative; flex: none; width: 42px; height: 24px; }
.pic-switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.pic-switch .track { display: block; width: 42px; height: 24px; border-radius: 13px; background: #cfd5dd; transition: background .18s; position: relative; }
.pic-switch .track::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .18s; box-shadow: 0 1px 2px rgba(0,0,0,.25); }
.pic-switch input:checked + .track { background: var(--pic-accept, #7AB8E0); }
.pic-switch input:checked + .track::after { transform: translateX(18px); }
.pic-switch input:disabled + .track { opacity: .6; }

.pic-modal-foot { margin-top: 18px; }

/* Layout específico del modal granular (segunda capa):
   - Fila 1: "Guardar preferencias" a ancho completo.
   - Fila 2: "Rechazar todas" y "Aceptar todas" en dos columnas iguales.
   Aceptar y Rechazar quedan al mismo nivel jerárquico (requisito AEPD).
   El orden DOM puede variar según button_order, pero el grid los recoloca
   por su data-act, así que el layout es estable. */
.pic-modal .pic-modal-foot.pic-actions {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	grid-template-areas:
		"save save"
		"reject accept" !important;
	gap: 10px !important;
	flex-wrap: initial !important;
}
.pic-modal .pic-modal-foot.pic-actions .pic-btn { flex: initial !important; width: 100% !important; }
.pic-modal .pic-modal-foot.pic-actions [data-act="save"]        { grid-area: save !important; }
.pic-modal .pic-modal-foot.pic-actions [data-act="reject-all"]  { grid-area: reject !important; }
.pic-modal .pic-modal-foot.pic-actions [data-act="accept-all"]  { grid-area: accept !important; }

/* El botón .pic-reopen se define en la capa de aislamiento superior. */

/* Layout: barra inferior completa */
html body .pic-cmp.pic-layout-bar{left:0 !important;right:0 !important;top:auto !important;bottom:0 !important;width:100% !important;max-width:none !important;border-radius:0 !important;border-left:0 !important;border-right:0 !important;border-bottom:0 !important;display:flex !important;align-items:center !important;gap:18px !important;flex-wrap:wrap !important;padding:18px 48px !important;transform:none !important}
html body .pic-cmp.pic-layout-bar.pic-has-close{padding-right:88px !important}
html body .pic-cmp.pic-layout-bar .pic-title{margin:0 !important;flex:0 0 auto !important}
html body .pic-cmp.pic-layout-bar .pic-text{margin:0 !important;flex:1 1 320px !important;min-width:200px !important}
html body .pic-cmp.pic-layout-bar .pic-actions{flex:0 0 auto !important;width:auto !important}
html body .pic-cmp.pic-layout-bar .pic-powered{position:absolute !important;right:14px !important;bottom:2px !important;margin:0 !important}

/* El botón .pic-close se define en la capa de aislamiento superior. */

/* Primera capa: los 3 botones al mismo nivel y mismo peso visual (AEPD) */
.pic-cmp .pic-actions .pic-btn{flex:1 1 auto !important;min-width:120px !important;text-align:center !important}

/* Etiqueta "siempre activas" */
.pic-always{font-size:11px;font-weight:500;color:var(--pic-accept,#7AB8E0);background:rgba(14,124,90,.1);padding:1px 7px;border-radius:10px;margin-left:6px;white-space:nowrap}

/* Texto introductorio dentro del modal (segunda capa) */
.pic-modal-text{font-size:12.5px;color:var(--pic-text,#1f2733);opacity:.85;margin:0 0 14px}
.pic-modal-text a{color:var(--pic-accept,#7AB8E0)}

@media (max-width: 600px) {
	html body .pic-cmp {
		left: 12px !important; right: 12px !important; width: auto !important; max-width: none !important;
		transform: none !important; padding: 18px 18px !important; max-height: calc(100vh - 24px) !important;
	}
	html body .pic-cmp.pos-bottom_center,
	html body .pic-cmp.pos-bottom_right,
	html body .pic-cmp.pos-bottom_left {
		left: 12px !important; right: 12px !important; top: auto !important; bottom: 12px !important; transform: none !important;
	}
	html body .pic-cmp.pos-modal_center { left: 12px !important; right: 12px !important; top: auto !important; bottom: 12px !important; transform: none !important; }
	html body .pic-cmp.pos-bar_bottom { left: 0 !important; right: 0 !important; top: auto !important; bottom: 0 !important; padding: 14px 16px !important; }
	html body .pic-cmp.pic-layout-bar { left: 0 !important; right: 0 !important; top: auto !important; bottom: 0 !important; padding: 14px 16px !important; gap: 10px !important; }
	html body .pic-cmp.pic-layout-bar .pic-powered { position: static !important; margin-top: 6px !important; }
	.pic-cmp .pic-actions, .pic-modal .pic-actions { flex-direction: column !important; align-items: stretch !important; width: 100% !important; }
	.pic-slot { flex: 0 0 auto; justify-content: center; }
	html body .pic-cmp .pic-actions .pic-btn, html body .pic-modal .pic-actions .pic-btn { flex: 1 1 100% !important; width: 100% !important; }
	html body .pic-cmp.pic-has-close { padding-right: 56px !important; }
	html body .pic-cmp.pic-layout-bar.pic-has-close { padding-right: 56px !important; }
	html body button.pic-reopen > .pic-reopen-label { display: none !important; }
	html body button.pic-reopen {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		max-width: 44px !important;
		max-height: 44px !important;
		padding: 0 !important;
		border-radius: 50% !important;
		gap: 0 !important;
	}
	.pic-cmp .pic-title { font-size: 15px !important; }
	.pic-cmp .pic-text { font-size: 13px !important; }
}

/* Breakpoint extra para móviles muy pequeños (<360px) */
@media (max-width: 360px) {
	html body .pic-cmp { left: 8px !important; right: 8px !important; padding: 14px 14px !important; }
	html body .pic-cmp.pic-has-close { padding-right: 52px !important; }
	html body .pic-cmp.pic-layout-bar, html body .pic-cmp.pos-bar_bottom { padding: 12px 12px !important; }
	html body .pic-cmp.pic-layout-bar.pic-has-close { padding-right: 52px !important; }
	.pic-cmp .pic-title { font-size: 14px !important; margin-bottom: 4px !important; }
	.pic-cmp .pic-text { font-size: 12.5px !important; margin-bottom: 10px !important; }
	html body .pic-cmp button.pic-btn, html body .pic-modal button.pic-btn { padding: 8px 12px !important; font-size: 13px !important; }
	.pic-logo img { max-height: 36px; }
}

/* ---- Política de cookies (shortcode [pixel_innova_cookies]) ---- */
.pic-legal { font-family: inherit; line-height: 1.65; color: #1f2733; max-width: 980px; margin: 0 auto; }
.pic-legal-header { text-align: center; margin: 0 0 28px; padding: 18px 0 16px; border-bottom: 1px solid #e3e6ea; }
.pic-legal-header h1 { margin: 0 0 6px; font-size: 30px; letter-spacing: .02em; font-weight: 700; line-height: 1.2; }
.pic-legal-header .pic-legal-site { margin: 0; font-size: 15px; color: #5b6573; font-weight: 500; }
.pic-legal h2 { margin: 28px 0 10px; font-size: 20px; font-weight: 650; padding-top: 6px; line-height: 1.3; }
.pic-legal h3 { margin: 20px 0 8px; font-size: 17px; font-weight: 600; line-height: 1.35; }
.pic-legal p { margin: 0 0 14px; }
.pic-legal ul { margin: 0 0 16px; padding-left: 20px; }
.pic-legal ul li { margin: 4px 0; }
.pic-legal a { color: #5FA3D0; text-decoration: none; }
.pic-legal a:hover { text-decoration: underline; }
.pic-legal-types li { margin: 6px 0; }
.pic-legal-company { font-weight: 600; }
.pic-legal-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 14px 0 22px;
	border: 1px solid #e3e6ea;
	border-radius: 6px;
	background:
		linear-gradient(to right, #fff, #fff),
		linear-gradient(to right, #fff, #fff),
		linear-gradient(to right, rgba(20,28,40,.10), rgba(255,255,255,0)),
		linear-gradient(to left, rgba(20,28,40,.10), rgba(255,255,255,0));
	background-position: left center, right center, left center, right center;
	background-repeat: no-repeat;
	background-color: #fff;
	background-size: 20px 100%, 20px 100%, 12px 100%, 12px 100%;
	background-attachment: local, local, scroll, scroll;
}
.pic-legal-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; }
.pic-legal-table th, .pic-legal-table td { text-align: left; padding: 9px 12px; border-bottom: 1px solid #f0f1f3; vertical-align: top; }
.pic-legal-table thead th { background: #f5f8fb; font-weight: 600; color: #1f2733; font-size: 12px; text-transform: uppercase; letter-spacing: .03em; border-bottom: 2px solid #e3e6ea; }
.pic-legal-table tbody tr:hover { background: #fafbfc; }
.pic-legal-table code { background: #f0f1f3; padding: 1px 6px; border-radius: 3px; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12px; }
.pic-legal-meta { margin-top: 24px; padding-top: 12px; border-top: 1px solid #e3e6ea; font-size: 12.5px; color: #5b6573; }
.pic-legal-disclaimer { font-size: 12px; color: #8a93a1; margin-top: 14px; }
@media (max-width: 720px) {
	.pic-legal-header h2 { font-size: 22px; }
	.pic-legal h3 { font-size: 15px; }
}


/* Botón/enlace permanente para reabrir preferencias desde textos legales */
.pic-cookie-settings-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 0;
	border-radius: 8px;
	padding: 10px 16px;
	background: #7AB8E0;
	color: #fff;
	font: inherit;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	text-decoration: none;
}
.pic-cookie-settings-button:hover,
.pic-cookie-settings-button:focus {
	background: #5FA3D0;
	color: #fff;
}
.pic-cookie-settings-button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}
