/* Consentimiento de cookies: banner (primera capa) y panel (segunda capa).
   Usa los tokens del tema pdp-child, con valores de respaldo por si falta. */

.pdpes-cookies-banner {
	position: fixed; z-index: 9999; left: 0; right: 0; bottom: 0;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.75rem 1.5rem;
	padding: 1rem 16px;
	background: var(--pdp-surface, #fff);
	color: var(--pdp-ink, #16211c);
	border-top: 1px solid var(--pdp-border, #dde6e1);
	box-shadow: 0 -8px 24px rgba( 20, 40, 30, 0.12 );
	font-size: 0.95rem; line-height: 1.5;
}
.pdpes-cookies-banner[hidden] { display: none; }
.pdpes-cookies-banner__texto { flex: 1 1 32rem; max-width: 48rem; }
.pdpes-cookies-banner__titulo { margin: 0 0 0.25rem; font-size: 1.05rem; font-weight: 700; color: inherit; }
.pdpes-cookies-banner p { margin: 0; }
.pdpes-cookies-banner a,
.pdpes-cookies-panel a { color: var(--pdp-brand, #0e6b4a); text-decoration: underline; }

/* Los tres botones con el mismo peso visual: la AEPD pide que rechazar sea
   tan fácil como aceptar. */
.pdpes-cookies-banner__acciones,
.pdpes-cookies-panel__acciones { display: flex; flex-wrap: wrap; gap: 0.5rem; }
button.pdpes-cookies-btn {
	flex: 1 1 auto; min-height: 44px; margin: 0;
	padding: 0.6rem 1.2rem;
	border: 1px solid var(--pdp-brand, #0e6b4a);
	border-radius: var(--pdp-radius-pill, 999px);
	background: var(--pdp-brand, #0e6b4a);
	color: var(--pdp-ink-invert, #fff);
	font: inherit; font-weight: 600; line-height: 1.2; cursor: pointer;
}
button.pdpes-cookies-btn:hover,
button.pdpes-cookies-btn:focus { background: var(--pdp-brand-strong, #0a543a); border-color: var(--pdp-brand-strong, #0a543a); color: var(--pdp-ink-invert, #fff); }
button.pdpes-cookies-btn:focus-visible,
.pdpes-cookies-panel__cerrar:focus-visible,
.pdpes-cookies-cat input:focus-visible { outline: 3px solid var(--pdp-ink, #16211c); outline-offset: 2px; }

/* Panel de preferencias. */
.pdpes-cookies-panel {
	width: min( 36rem, calc( 100% - 32px ) ); max-height: calc( 100% - 32px );
	padding: 0; border: 0; border-radius: var(--pdp-radius, 14px);
	background: var(--pdp-surface, #fff); color: var(--pdp-ink, #16211c);
	box-shadow: var(--pdp-shadow-lg, 0 20px 50px rgba( 20, 40, 30, 0.16 ));
}
.pdpes-cookies-panel::backdrop { background: rgba( 7, 61, 42, 0.55 ); }
.pdpes-cookies-panel__form { padding: 1.25rem 1.25rem 1.5rem; }
.pdpes-cookies-panel__cabecera { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 0.5rem; }
.pdpes-cookies-panel h2 { margin: 0; font-size: 1.3rem; color: inherit; }
.pdpes-cookies-panel p { margin: 0 0 1rem; font-size: 0.95rem; color: var(--pdp-ink-soft, #38453f); }
button.pdpes-cookies-panel__cerrar {
	width: 44px; height: 44px; padding: 0; margin: 0;
	border: 0; border-radius: 50%; background: transparent;
	color: var(--pdp-ink, #16211c); font-size: 1.75rem; line-height: 1; cursor: pointer;
}
button.pdpes-cookies-panel__cerrar:hover,
button.pdpes-cookies-panel__cerrar:focus { background: var(--pdp-surface-sunken, #eaf1ed); color: var(--pdp-ink, #16211c); }

.pdpes-cookies-cat { padding: 0.9rem 0 0; border-top: 1px solid var(--pdp-border-soft, #edf2ef); }
.pdpes-cookies-cat__fila { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.3rem; }
.pdpes-cookies-cat label { font-weight: 600; cursor: pointer; }
.pdpes-cookies-cat input:disabled + label { cursor: default; }
.pdpes-cookies-cat p { margin: 0 0 0.9rem; }

/* Interruptor: el checkbox nativo con aspecto de switch (sigue siendo operable
   con teclado y lectores de pantalla). */
.pdpes-cookies-cat input[role="switch"] {
	appearance: none; -webkit-appearance: none; flex: 0 0 auto;
	position: relative; width: 2.75rem; height: 1.5rem; margin: 0;
	border: 1px solid var(--pdp-border-input, #7e8a84); border-radius: 999px;
	background: var(--pdp-surface-sunken, #eaf1ed); cursor: pointer;
	transition: background-color 0.15s ease;
}
.pdpes-cookies-cat input[role="switch"]::before {
	content: ""; position: absolute; top: 2px; left: 2px;
	width: calc( 1.5rem - 6px ); height: calc( 1.5rem - 6px ); border-radius: 50%;
	background: var(--pdp-ink-muted, #5d6b64);
	transition: transform 0.15s ease;
}
.pdpes-cookies-cat input[role="switch"]:checked { background: var(--pdp-brand, #0e6b4a); border-color: var(--pdp-brand, #0e6b4a); }
.pdpes-cookies-cat input[role="switch"]:checked::before { background: #fff; transform: translateX( 1.25rem ); }
.pdpes-cookies-cat input[role="switch"]:disabled { cursor: default; opacity: 0.75; }

.pdpes-cookies-panel__acciones { margin-top: 0.5rem; }

/* Enlace «Configurar cookies» del pie: botón con aspecto de enlace. */
button.pdpes-footer-cookies {
	padding: 0; margin: 0; border: 0; background: none;
	color: #e7efe9; font: inherit; text-decoration: none; cursor: pointer;
}
button.pdpes-footer-cookies:hover,
button.pdpes-footer-cookies:focus { background: none; color: #fff; text-decoration: underline; }

@media ( prefers-reduced-motion: reduce ) {
	.pdpes-cookies-cat input[role="switch"],
	.pdpes-cookies-cat input[role="switch"]::before { transition: none; }
}

@media ( max-width: 600px ) {
	.pdpes-cookies-banner { padding-top: 0.85rem; padding-bottom: 0.85rem; font-size: 0.9rem; }
	.pdpes-cookies-banner__acciones,
	.pdpes-cookies-panel__acciones { width: 100%; }
}
