/* =========================================================
			   CAPA 1: BANNER INICIAL DE COOKIES
			   ========================================================= */
			#rgcookies-initial-banner {
				position: fixed;
				z-index: 999998;
				display: none;
				font-family: var(--rcc-font-family, inherit);
				box-sizing: border-box;
			}
			#rgcookies-initial-banner * {
				box-sizing: border-box;
			}
			#rgcookies-initial-banner.rgcookies-layout-bottom_bar {
				left: 0; right: 0; bottom: 0;
				width: 100%;
				padding: 0;
			}
			#rgcookies-initial-banner.rgcookies-layout-floating_left {
				left: 20px; bottom: 20px;
				width: calc(100% - 40px); max-width: 480px;
			}
			#rgcookies-initial-banner.rgcookies-layout-floating_right {
				right: 20px; bottom: 20px;
				width: calc(100% - 40px); max-width: 480px;
			}
			#rgcookies-initial-banner.rgcookies-layout-center_card {
				inset: 0;
				background: rgba(15, 23, 42, 0.55);
				align-items: center;
				justify-content: center;
				padding: 16px;
			}

			.rgcookies-banner-box {
				background: var(--rcc-banner-bg, #ffffff) !important;
				color: var(--rcc-banner-text, #1e293b) !important;
				box-shadow: 0 -10px 35px rgba(0, 0, 0, 0.16);
				border: var(--rcc-border-width, 1px) solid var(--rcc-border-color, rgba(148, 163, 184, 0.28)) !important;
				padding: 20px 26px;
				width: 100%;
			}
			#rgcookies-initial-banner.rgcookies-layout-bottom_bar .rgcookies-banner-box {
				border-left: none !important; border-right: none !important; border-bottom: none !important;
				border-radius: 0 !important;
			}
			#rgcookies-initial-banner.rgcookies-layout-floating_left .rgcookies-banner-box,
			#rgcookies-initial-banner.rgcookies-layout-floating_right .rgcookies-banner-box,
			#rgcookies-initial-banner.rgcookies-layout-center_card .rgcookies-banner-box {
				border-radius: var(--rcc-banner-radius, 14px) !important;
				box-shadow: 0 20px 45px rgba(0, 0, 0, 0.25);
				max-width: 560px;
			}

			.rgcookies-banner-inner {
				max-width: 1320px;
				margin: 0 auto;
				display: flex;
				align-items: center;
				justify-content: space-between;
				gap: 24px;
			}
			#rgcookies-initial-banner:not(.rgcookies-layout-bottom_bar) .rgcookies-banner-inner {
				flex-direction: column;
				align-items: stretch;
				gap: 16px;
			}

			.rgcookies-banner-content {
				flex: 1;
				font-size: 14px;
				line-height: 1.55;
			}
			.rgcookies-banner-top-row {
				display: flex;
				align-items: center;
				gap: 12px;
				margin-bottom: 6px;
				flex-wrap: wrap;
			}
			.rgcookies-banner-top-row img {
				max-height: var(--rcc-logo-height, 36px);
				width: auto;
				display: block;
			}
			.rgcookies-banner-title {
				margin: 0;
				font-size: 16px;
				font-weight: 700;
				color: var(--rcc-banner-text, #1e293b) !important;
			}
			.rgcookies-banner-text {
				margin: 0;
				font-size: 13.5px;
				color: var(--rcc-banner-text, #1e293b) !important;
				opacity: 0.92;
			}
			.rgcookies-banner-text a {
				color: var(--rcc-banner-text, #1e293b) !important;
				font-weight: 600;
				text-decoration: underline;
			}

			.rgcookies-banner-actions {
				display: grid;
				grid-template-columns: repeat(3, minmax(130px, 1fr));
				gap: 10px;
				flex-shrink: 0;
				align-items: center;
			}
			@media (max-width: 960px) {
				.rgcookies-banner-inner {
					flex-direction: column;
					align-items: stretch;
					gap: 16px;
				}
				.rgcookies-banner-actions {
					width: 100%;
					grid-template-columns: 1fr 1fr;
				}
				.rgcookies-banner-actions button.rgcookies-btn-settings-open {
					grid-column: 1 / -1;
				}
			}

			/* =========================================================
			   CAPA 2: MODAL DE CONFIGURACIÓN DETALLADA (CON BOTÓN X)
			   ========================================================= */
			#rgcookies-backdrop {
				position: fixed; inset: 0; z-index: 999999; display: none; padding: 16px;
				font-family: var(--rcc-font-family, inherit);
				align-items: center; justify-content: center;
				background: rgba(15, 23, 42, 0.65);
				box-sizing: border-box;
			}
			#rgcookies-backdrop * {
				box-sizing: border-box;
			}
			#rgcookies-dialog {
				pointer-events: auto;
				width: 100%; max-width: var(--rcc-modal-width, 740px);
				max-height: 90vh; display: flex; flex-direction: column;
				background: var(--rcc-banner-bg, #ffffff) !important;
				color: var(--rcc-banner-text, #1e293b) !important;
				border-radius: var(--rcc-modal-radius, 14px) !important;
				box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.32);
				border: var(--rcc-border-width, 1px) solid var(--rcc-border-color, rgba(148, 163, 184, 0.25)) !important;
				overflow: hidden;
			}
			.rgcookies-header {
				display: flex; align-items: center; justify-content: space-between;
				padding: 14px 22px; border-bottom: 1px solid rgba(148, 163, 184, 0.2);
				gap: 12px;
			}
			.rgcookies-header-logo img {
				max-height: var(--rcc-logo-height, 36px);
				width: auto; display: block;
			}
			.rgcookies-header-right {
				display: flex; align-items: center; gap: 14px;
			}
			.rgcookies-header-policy a {
				font-size: 13px; font-weight: 600; text-decoration: none;
				color: var(--rcc-banner-text, #1e293b) !important; opacity: 0.85;
			}
			.rgcookies-header-policy a:hover { opacity: 1; text-decoration: underline; }

			#rgcookies-dialog button.rgcookies-close-x {
				appearance: none; -webkit-appearance: none;
				background: rgba(148, 163, 184, 0.15) !important;
				color: var(--rcc-banner-text, #1e293b) !important;
				border: 1px solid rgba(148, 163, 184, 0.3) !important;
				width: 34px !important;
				height: 34px !important;
				border-radius: 8px !important;
				padding: 0 !important;
				margin: 0 !important;
				display: inline-flex !important;
				align-items: center !important;
				justify-content: center !important;
				font-size: 18px !important;
				line-height: 1 !important;
				font-weight: 600 !important;
				cursor: pointer !important;
				transition: background-color 0.2s, transform 0.1s !important;
				box-shadow: none !important;
				outline: none !important;
			}
			#rgcookies-dialog button.rgcookies-close-x:hover,
			#rgcookies-dialog button.rgcookies-close-x:focus {
				background: rgba(148, 163, 184, 0.3) !important;
				color: var(--rcc-banner-text, #1e293b) !important;
			}

			#rgcookies-dialog .rgcookies-nav-tabs {
				display: grid; grid-template-columns: repeat(3, 1fr);
				border-bottom: 1px solid rgba(148, 163, 184, 0.25);
				background: var(--rcc-tab-bg, #f8fafc) !important;
			}
			#rgcookies-dialog button.rgcookies-nav-btn {
				appearance: none; -webkit-appearance: none;
				background: var(--rcc-tab-bg, #f8fafc) !important;
				color: var(--rcc-tab-text, #475569) !important;
				border: none !important;
				border-bottom: 3px solid transparent !important;
				border-radius: 0 !important;
				box-shadow: none !important;
				outline: none !important;
				padding: 13px 10px !important;
				margin: 0 !important;
				font-size: 14px !important;
				font-weight: 600 !important;
				cursor: pointer !important;
				font-family: inherit !important;
				transition: background-color 0.2s, color 0.2s, border-color 0.2s !important;
				text-transform: none !important;
				line-height: 1.3 !important;
			}
			#rgcookies-dialog button.rgcookies-nav-btn:hover,
			#rgcookies-dialog button.rgcookies-nav-btn:focus {
				background: var(--rcc-tab-hover-bg, #f1f5f9) !important;
				color: var(--rcc-tab-hover-text, #0f172a) !important;
				outline: none !important;
				box-shadow: none !important;
			}
			#rgcookies-dialog button.rgcookies-nav-btn.active,
			#rgcookies-dialog button.rgcookies-nav-btn.active:hover,
			#rgcookies-dialog button.rgcookies-nav-btn.active:focus {
				background: var(--rcc-tab-active-bg, #ffffff) !important;
				color: var(--rcc-tab-active-text, #0f172a) !important;
				border-bottom: 3px solid var(--rcc-tab-active-border, #10b981) !important;
			}

			.rgcookies-body {
				padding: 22px 24px; overflow-y: auto; flex: 1; font-size: 14px; line-height: 1.55;
			}
			.rgcookies-body h4 {
				margin: 0 0 10px 0; font-size: 17px; font-weight: 700;
				color: var(--rcc-banner-text, #1e293b) !important;
			}
			.rgcookies-pane { display: none; }
			.rgcookies-pane.active { display: block; }

			.rgcookies-quick-toggles {
				display: grid; grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
				gap: 12px; margin-top: 20px; padding-top: 16px;
				border-top: 1px solid rgba(148, 163, 184, 0.2);
			}
			.rgcookies-toggle-card {
				display: flex; align-items: center; justify-content: space-between;
				padding: 10px 12px; border-radius: 8px;
				border: 1px solid rgba(148, 163, 184, 0.28);
				background: rgba(248, 250, 252, 0.45);
				font-weight: 600; font-size: 13px;
			}

			.rgcookies-switch {
				position: relative; display: inline-block; width: 42px; height: 24px; flex-shrink: 0; margin: 0;
			}
			.rgcookies-switch input { opacity: 0; width: 0; height: 0; }
			.rgcookies-slider {
				position: absolute; cursor: pointer; inset: 0;
				background-color: #cbd5e1; transition: .25s; border-radius: 24px;
			}
			.rgcookies-slider:before {
				position: absolute; content: ""; height: 18px; width: 18px;
				left: 3px; bottom: 3px; background-color: #fff;
				transition: .25s; border-radius: 50%;
			}
			.rgcookies-switch input:checked + .rgcookies-slider {
				background-color: var(--rcc-toggle-active, #10b981) !important;
			}
			.rgcookies-switch input:checked + .rgcookies-slider:before {
				transform: translateX(18px);
			}
			.rgcookies-switch input:disabled + .rgcookies-slider {
				opacity: 0.65; cursor: not-allowed;
			}

			.rgcookies-acc-item {
				border: 1px solid rgba(148, 163, 184, 0.28); border-radius: 8px;
				margin-bottom: 10px; overflow: hidden; background: rgba(255,255,255,0.6);
			}
			.rgcookies-acc-summary {
				display: flex; align-items: center; justify-content: space-between;
				padding: 12px 16px; cursor: pointer; list-style: none; user-select: none;
			}
			.rgcookies-acc-summary::-webkit-details-marker { display: none; }
			.rgcookies-acc-title-wrap { display: flex; align-items: center; gap: 8px; font-size: 14px; }
			.rgcookies-acc-badge {
				background: #e2e8f0; color: #0f172a; font-size: 11px; font-weight: 700;
				padding: 2px 8px; border-radius: 99px;
			}
			.rgcookies-always-active {
				font-size: 12px; font-weight: 600; color: var(--rcc-toggle-active, #10b981) !important;
			}
			.rgcookies-acc-body {
				padding: 0 16px 14px 16px; border-top: 1px solid rgba(148, 163, 184, 0.15);
			}
			.rgcookies-acc-desc { font-size: 13px; margin: 10px 0; opacity: 0.85; }
			.rgcookies-table-scroll { overflow-x: auto; }
			.rgcookies-cookie-table {
				width: 100%; border-collapse: collapse; font-size: 12px; text-align: left;
			}
			.rgcookies-cookie-table th, .rgcookies-cookie-table td {
				padding: 8px 10px; border-bottom: 1px solid rgba(148, 163, 184, 0.2);
			}
			.rgcookies-cookie-table th { font-weight: 700; background: rgba(241, 245, 249, 0.7); }

			.rgcookies-footer {
				display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
				padding: 16px 24px; border-top: 1px solid rgba(148, 163, 184, 0.2);
			}
			@media (max-width: 600px) {
				.rgcookies-footer { grid-template-columns: 1fr; }
			}

			/* =========================================================
			   BOTONES BLINDADOS
			   ========================================================= */
			#rgcookies-initial-banner button.rgcookies-btn {
				border-radius: var(--rcc-banner-btn-radius, 8px) !important;
			}
			#rgcookies-dialog button.rgcookies-btn {
				border-radius: var(--rcc-modal-btn-radius, 8px) !important;
			}
			#rgcookies-initial-banner button.rgcookies-btn,
			#rgcookies-dialog button.rgcookies-btn {
				appearance: none; -webkit-appearance: none;
				width: 100% !important;
				min-height: 44px !important;
				padding: 11px 18px !important;
				margin: 0 !important;
				font-size: 14px !important;
				line-height: 1.2 !important;
				font-weight: 600 !important;
				cursor: pointer !important;
				font-family: inherit !important;
				text-align: center !important;
				text-transform: none !important;
				box-shadow: none !important;
				outline: none !important;
				display: inline-flex !important;
				align-items: center !important;
				justify-content: center !important;
				transition: background-color 0.2s, transform 0.1s !important;
			}
			#rgcookies-initial-banner button.rgcookies-btn:active,
			#rgcookies-dialog button.rgcookies-btn:active {
				transform: scale(0.99);
			}

			/* Botones Aceptar todas y Rechazar todas: mismo color y tamaño */
			#rgcookies-initial-banner button.rgcookies-btn-equal,
			#rgcookies-dialog button.rgcookies-btn-equal {
				background-color: var(--rcc-primary, #111827) !important;
				color: var(--rcc-primary-text, #ffffff) !important;
				border: var(--rcc-border-width, 1px) solid var(--rcc-primary, #111827) !important;
			}
			#rgcookies-initial-banner button.rgcookies-btn-equal:hover,
			#rgcookies-initial-banner button.rgcookies-btn-equal:focus,
			#rgcookies-initial-banner button.rgcookies-btn-equal:active,
			#rgcookies-dialog button.rgcookies-btn-equal:hover,
			#rgcookies-dialog button.rgcookies-btn-equal:focus,
			#rgcookies-dialog button.rgcookies-btn-equal:active {
				background-color: var(--rcc-primary-hover, #374151) !important;
				color: var(--rcc-primary-text, #ffffff) !important;
				border-color: var(--rcc-primary-hover, #374151) !important;
			}

			/* Botón Secundario: Ajustes / Guardar Selección */
			#rgcookies-initial-banner button.rgcookies-btn-secondary,
			#rgcookies-dialog button.rgcookies-btn-secondary {
				background-color: var(--rcc-secondary-bg, #f3f4f6) !important;
				color: var(--rcc-secondary-text, #111827) !important;
				border: var(--rcc-border-width, 1px) solid var(--rcc-secondary-border, rgba(148, 163, 184, 0.35)) !important;
			}
			#rgcookies-initial-banner button.rgcookies-btn-secondary:hover,
			#rgcookies-initial-banner button.rgcookies-btn-secondary:focus,
			#rgcookies-initial-banner button.rgcookies-btn-secondary:active,
			#rgcookies-dialog button.rgcookies-btn-secondary:hover,
			#rgcookies-dialog button.rgcookies-btn-secondary:focus,
			#rgcookies-dialog button.rgcookies-btn-secondary:active {
				background-color: var(--rcc-secondary-hover, #e5e7eb) !important;
				color: var(--rcc-secondary-text, #111827) !important;
			}
