/**
 * Primitivo Pottery — Hero del Home como carrusel (Oleada 5b).
 * El carrusel es el módulo nativo de Divi 5 (divi/slider + divi/slide); aquí solo va lo que el módulo no expresa:
 *  - composición de cada slide del prototipo (etiqueta, título, texto, acción principal nativa, segunda acción, accesos rápidos),
 *  - botón de la slide con la pincelada del prototipo, flechas/puntos del prototipo, zoom lento del fondo,
 *  - botón de pausa, foco visible y prefers-reduced-motion.
 * Fuente de diseño: prototipo/css/pages.css (.hero*) y components.css (.btn, .btn-outline). Receta: recipes/primitivo/08b-oleada5b-hero-slider.md
 * Se carga solo en páginas cuyo contenido incluye la clase `pp-hero-slider` (functions.php).
 */

/* ----------------------------------------------------------------- contenedor */
.pp-hero-slider { position: relative; isolation: isolate; overflow: hidden; padding: 0 !important; }
.pp-hero-slider .et_pb_row,
.pp-hero-slider .et_pb_column { padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: 100% !important; }
.pp-hero-slider .et_pb_slider { margin: 0; width: 100%; background: var(--pp-ink); }
.pp-hero-slider .et_pb_slides,
.pp-hero-slider .et_pb_slide { min-height: inherit; height: 100%; }

/* ----------------------------------------------------------------- slide */
.pp-hero-slider .et_pb_slide { isolation: isolate; overflow: hidden; padding: 0 !important; } /* Divi añade padding 0 6 % en tablet/móvil */
/* Capa de fondo con zoom lento (prototipo: scale 1.08 → 1 en 7 s). Hereda imagen + degradado del propio módulo, así el fondo
   se sigue editando desde el Visual Builder (Slide > Fondo). */
.pp-hero-slider .et_pb_slide::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: inherit; transform: scale(1.08);
	transition: transform 7s var(--pp-ease);
}
.pp-hero-slider .et_pb_slide.et-pb-active-slide::before { transform: scale(1); }

.pp-hero-slider .et_pb_slides .et_pb_container {
	display: flex !important; align-items: center; width: 100%; height: 100%; min-height: inherit;
	max-width: var(--pp-container); margin-inline: auto; padding-inline: var(--pp-gutter); box-sizing: border-box;
}
.pp-hero-slider .et_pb_slides .et_pb_slider_container_inner { display: block !important; width: 100%; }
.pp-hero-slider .et_pb_slide_description {
	/* .hero-content del prototipo: 620 px, padding-block 4rem, alineado a la izquierda del contenedor de 1200 */
	max-width: 620px; width: 100%; margin: 0 !important; padding: 4rem 0 !important; text-align: left !important;
	display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: center; justify-content: flex-start !important; column-gap: 1.5rem; row-gap: 0;
	animation: none !important; color: var(--pp-chalk); text-shadow: none !important;
}
.et-pb-active-slide .et_pb_slide_description { animation: none !important; }
.pp-hero-slider .et_pb_slide_content { display: contents !important; }

/* orden visual: etiqueta · título · texto · [acción principal nativa] · [segunda acción] · [accesos rápidos] */
.pp-hero-slider .pp-eyebrow { order: 0; flex: 0 0 100%; margin: 0 0 2rem; padding: 0; }
.pp-hero-slider .et_pb_slide_title { order: 1; flex: 0 0 100%; margin: 0 0 2rem !important; padding: 0 !important; }
.pp-hero-slider .pp-sub { order: 2; flex: 0 0 100%; margin: 0 0 3rem; padding: 0; }
.pp-hero-slider .et_pb_button_wrapper { order: 3; margin: 0; padding: 0; }
.pp-hero-slider .pp-cta2 { order: 4; margin: 0; padding: 0; }
.pp-hero-slider .pp-quick { order: 5; flex: 0 0 100%; margin: 2rem 0 0; padding: 0; }
/* Slides sin acción principal nativa (botón vacío): no reservan hueco */
.pp-hero-slider .et_pb_button_wrapper:empty { display: none; }

/* etiqueta (.hero-content .eyebrow) */
.pp-hero-slider .pp-eyebrow {
	font-family: var(--pp-font-body); font-size: var(--pp-fs-xs); font-weight: 600; line-height: 1.7;
	letter-spacing: var(--pp-tracking-caps); text-transform: uppercase; color: var(--pp-sunset);
}
/* título (.hero-title): Lovely, tamaño fluido, sombra suave. El enlace del título que añade Divi hereda el estilo. */
.pp-hero-slider .et_pb_slide_title,
.pp-hero-slider .et_pb_slide_title a {
	font-family: var(--pp-font-script); font-weight: 400; color: var(--pp-chalk); text-decoration: none;
	text-shadow: 0 2px 24px rgba(0, 0, 0, .25);
}
.pp-hero-slider .et_pb_slide_title { font-size: var(--pp-fs-hero); line-height: 1.2; }
/* texto (.hero-sub) */
.pp-hero-slider .pp-sub {
	font-family: var(--pp-font-body); font-size: var(--pp-fs-lead); line-height: 1.6; max-width: 48ch;
	color: color-mix(in srgb, var(--pp-chalk) 92%, transparent);
}

/* accesos rápidos de la slide 1 (docx §02) */
.pp-hero-slider .pp-quick { font-family: var(--pp-font-body); font-size: .92rem; letter-spacing: .02em; color: var(--pp-chalk); }
.pp-hero-slider .pp-quick a { color: var(--pp-chalk); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: rgba(251, 247, 240, .5); }
.pp-hero-slider .pp-quick a:hover { text-decoration-color: var(--pp-chalk); }

/* ----------------------------------------------------------------- acciones */
/* Acción principal: botón nativo de la slide con la pincelada (.btn del prototipo) */
.pp-hero-slider .et_pb_slide .et_pb_more_button.et_pb_button,
.pp-hero-slider .pp-cta2 a {
	display: inline-flex; align-items: center; justify-content: center; position: relative; isolation: isolate;
	font-family: var(--pp-font-body); font-weight: 500; font-size: .9rem; line-height: 1.15 !important; letter-spacing: .06em; text-transform: uppercase;
	text-decoration: none; padding: 1rem 2.4rem; margin: 0; border: 0; border-radius: 0; box-shadow: none;
	transition: transform .5s var(--pp-ease), color .4s var(--pp-ease), background-color .4s var(--pp-ease), border-color .4s var(--pp-ease);
}
.pp-hero-slider .et_pb_slide .et_pb_more_button.et_pb_button { color: var(--pp-chalk) !important; background: transparent !important; }
.pp-hero-slider .et_pb_slide .et_pb_more_button.et_pb_button::after { display: none !important; }
body #page-container .pp-hero-slider .et_pb_slide[class*="et_pb_slide_"] .et_pb_more_button.et_pb_button::before {
	content: "" !important; display: block !important; position: absolute; inset: -6px -4px; z-index: -1; margin: 0 !important; width: auto; height: auto; opacity: 1 !important;
	background: var(--pp-brush-primary) center / 100% 100% no-repeat; transform: none;
	transition: transform .55s var(--pp-ease), filter .55s var(--pp-ease);
}
body #page-container .pp-hero-slider .et_pb_slide[class*="et_pb_slide_"] .et_pb_more_button.et_pb_button:hover { padding: 1rem 2.4rem !important; background: transparent !important; }
.pp-hero-slider .et_pb_slide .et_pb_more_button.et_pb_button:hover::before { transform: rotate(-1.2deg) scale(1.035); filter: brightness(1.06) saturate(1.05); }
.pp-hero-slider .et_pb_slide .et_pb_more_button.et_pb_button:active::before { transition-duration: .15s; transform: rotate(-.5deg) scale(.965); filter: brightness(.97) saturate(1.02); }
/* Segunda acción (.btn-outline--light): contorno claro; relleno chalk en hover */
.pp-hero-slider .pp-cta2 a {
	color: var(--pp-chalk); border: 1.5px solid rgba(251, 247, 240, .6); border-radius: var(--pp-radius-md); padding: .8rem 1.6rem; font-size: .85rem; letter-spacing: .05em;
}
.pp-hero-slider .pp-cta2 a:hover { background: var(--pp-chalk); color: var(--pp-ink); border-color: var(--pp-chalk); transform: translateY(-1px); }

/* ----------------------------------------------------------------- controles (puntos, flechas, pausa) */
.pp-hero-slider .et-pb-controllers {
	position: absolute; left: 50%; bottom: 2.4rem; top: auto; width: auto; height: auto; transform: translateX(-50%);
	display: flex; gap: .6rem; z-index: 4; margin: 0; padding: 0; text-align: left;
}
.pp-hero-slider .et-pb-controllers a {
	position: relative; display: block; float: none; margin: 0; padding: 0; width: 10px; height: 10px; border-radius: 999px;
	text-indent: -9999px; overflow: visible; background: rgba(251, 247, 240, .45) !important;
	transition: width var(--pp-dur) var(--pp-ease), background-color var(--pp-dur) var(--pp-ease);
}
.pp-hero-slider .et-pb-controllers a.et-pb-active-control { width: 30px; background: var(--pp-chalk) !important; }
.pp-hero-slider .et-pb-controllers a::after { content: ""; position: absolute; inset: -9px -4px; } /* zona táctil ≥ 24 px sin cambiar el aspecto */

.pp-hero-slider .et-pb-slider-arrows {
	position: absolute; right: var(--pp-gutter); bottom: 2.1rem; top: auto; left: auto; width: auto; height: auto; display: flex; gap: .6rem; z-index: 4; margin: 0;
}
.pp-hero-slider .et-pb-slider-arrows a,
.pp-hero-slider .pp-hero-pause {
	position: static !important; display: inline-flex; align-items: center; justify-content: center; margin: 0 !important; padding: 0; width: 48px; height: 48px; top: auto !important; left: auto !important; right: auto !important;
	border-radius: 999px; border: 1px solid rgba(251, 247, 240, .5); background: rgba(44, 33, 24, .2); color: var(--pp-chalk); opacity: 1 !important; cursor: pointer;
	transition: background-color var(--pp-dur) var(--pp-ease), color var(--pp-dur) var(--pp-ease);
}
.pp-hero-slider .et-pb-slider-arrows a:hover,
.pp-hero-slider .pp-hero-pause:hover { background: var(--pp-chalk); color: var(--pp-ink); }
.pp-hero-slider .et-pb-slider-arrows a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } /* texto solo para lectores de pantalla */
.pp-hero-slider .et-pb-slider-arrows a::before {
	content: "" !important; position: static !important; display: block; width: 20px; height: 20px; margin: 0; font-size: 0; line-height: 0; text-indent: 0;
	background: currentColor; -webkit-mask: var(--pp-ico) center / contain no-repeat; mask: var(--pp-ico) center / contain no-repeat;
}
.pp-hero-slider .et-pb-arrow-prev { --pp-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><path d='M15 18l-6-6 6-6'/></svg>"); }
.pp-hero-slider .et-pb-arrow-next { --pp-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><path d='M9 18l6-6-6-6'/></svg>"); }

/* Botón de pausa/reproducción (WCAG 2.2.2): a la izquierda, mismo estilo que las flechas. Lo crea hero-slider.js */
.pp-hero-slider .pp-hero-pause { position: absolute !important; left: var(--pp-gutter) !important; bottom: 2.1rem; z-index: 4; }
.pp-hero-slider .pp-hero-pause svg { width: 18px; height: 18px; display: block; }
.pp-hero-slider .pp-hero-pause .pp-ico-play { display: none; }
.pp-hero-slider .pp-hero-pause[aria-pressed="true"] .pp-ico-play { display: block; }
.pp-hero-slider .pp-hero-pause[aria-pressed="true"] .pp-ico-pause { display: none; }

/* ----------------------------------------------------------------- foco visible */
.pp-hero-slider a:focus-visible,
.pp-hero-slider button:focus-visible,
.pp-hero-slider .et-pb-controllers a:focus-visible {
	outline: 2px solid var(--pp-chalk); outline-offset: 4px; border-radius: 6px; box-shadow: 0 0 0 5px rgba(44, 33, 24, .55);
}
.pp-hero-slider .et-pb-slider-arrows a:focus-visible,
.pp-hero-slider .pp-hero-pause:focus-visible { border-radius: 999px; }

/* ----------------------------------------------------------------- responsive (prototipo: ≤700 px sin flechas, alto 82vh) */
@media (max-width: 700px) {
	.pp-hero-slider .et-pb-slider-arrows { display: none; }
	.pp-hero-slider .pp-hero-pause { width: 40px; height: 40px; bottom: 1.8rem; }
	.pp-hero-slider .et-pb-controllers { bottom: 2.4rem; }
	.pp-hero-slider .et_pb_slide_description { padding-block: 3rem 5rem !important; }
}

/* ----------------------------------------------------------------- movimiento reducido */
@media (prefers-reduced-motion: reduce) {
	.pp-hero-slider .et_pb_slide::before { transform: none !important; transition: none !important; }
	.pp-hero-slider *,
	.pp-hero-slider *::before { transition-duration: .01ms !important; animation: none !important; }
}
