/**
 * Rumkata Store
 *
 * Responsive global y páginas.
 */


/* =========================================================
   1. GLOBAL
   ========================================================= */


/* =========================================================
   1.1 ELEMENTOS RESPONSIVE OCULTOS EN DESKTOP
   ========================================================= */

.site-header__menu-toggle,
.site-header__mobile-reserve,
.site-header__mobile-language,
.home-moments__swipe {
	display: none;
}




/* =========================================================
   1.2 GLOBAL — LAPTOP / DESKTOP REDUCIDO
   ========================================================= */

@media (max-width: 1200px) {

	/* Header */

	.site-header__inner {
		width: min(100% - 48px, 1100px);

		grid-template-columns:
			auto
			1fr
			auto;

		column-gap: 24px;
	}

	.rumkata-primary-menu {
		gap: 24px;
	}

	.site-header__actions {
		gap: 14px;
	}

	.site-header__language {
		gap: 6px;
	}

	.site-header__language-link {
		font-size: 10px;
	}


	/* Footer */

	.site-footer__grid {
		column-gap: 32px;
	}

	.site-footer__navigation,
	.site-footer__contact {
		padding-left: 32px;
	}

}


/* =========================================================
   1.3 GLOBAL — TABLET
   ========================================================= */

@media (max-width: 900px) {

	/* ---------------------------------------------------------
	   Contenedor global
	   --------------------------------------------------------- */

	.rumkata-container {
		width: min(100% - 72px, 760px);
	}


	/* ---------------------------------------------------------
	   Bloqueo del scroll con menú abierto
	   --------------------------------------------------------- */

	body.rumkata-menu-open {
		overflow: hidden;
	}


	/* ---------------------------------------------------------
	   Header tablet / móvil
	   --------------------------------------------------------- */

	.site-header {
	height: 72px;

}

.site-header__inner {
	position: relative;

	width: 100%;
	height: 72px;

	padding-inline: 32px;

	display: flex;
	align-items: center;
	justify-content: center;
}


	/* Logo */

	.site-header__branding {
		position: absolute;

		left: 50%;
		top: 50%;

		display: flex;
		align-items: center;
		justify-content: center;

		width: auto;
		height: auto;

		margin: 0;

		transform: translate(-50%, -50%);

		z-index: 1002;
	}

	.site-header .custom-logo-link {
		display: flex;
		align-items: center;
		justify-content: center;

		width: auto;
		height: auto;

		margin: 0;
		padding: 0;

		line-height: 0;
	}

	.site-header .custom-logo {
		display: block;

		width: 64px;
		height: auto;
		max-height: 58px;

		margin: 0;

		object-fit: contain;

		/* Compensación óptica por el espacio interno del logo */
		transform: translateY(-8px);
	}


	/* Botón hamburguesa */

	.site-header__menu-toggle {
		position: absolute;

		left: 28px;
		top: 50%;

		width: 40px;
		height: 40px;

		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;

		gap: 5px;

		margin: 0;
		padding: 0;

		border: 0;
		background: transparent;

		transform: translateY(-50%);

		cursor: pointer;

		z-index: 1003;
	}

	.site-header__menu-toggle-line {
		display: block;

		width: 22px;
		height: 2px;

		background-color: var(--rumkata-color-cream);

		transform-origin: center;

		transition:
			transform var(--rumkata-transition),
			opacity var(--rumkata-transition);
	}

	.site-header__menu-toggle[aria-expanded="true"]
	.site-header__menu-toggle-line:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.site-header__menu-toggle[aria-expanded="true"]
	.site-header__menu-toggle-line:nth-child(2) {
		opacity: 0;
	}

	.site-header__menu-toggle[aria-expanded="true"]
	.site-header__menu-toggle-line:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}


	/* Texto accesible del botón */

	.site-header__menu-label {
		position: absolute;

		width: 1px;
		height: 1px;

		padding: 0;
		margin: -1px;

		overflow: hidden;

		clip: rect(0, 0, 0, 0);
		white-space: nowrap;

		border: 0;
	}


	/* Panel de navegación */

	.site-header__navigation {
		position: fixed;

		top: 0;
		left: 0;

		width: 100%;
		height: 100vh;
		height: 100dvh;

		display: flex;
		flex-direction: column;
		align-items: flex-start;

		padding:
			calc(72px + clamp(48px, 8vh, 76px))
			clamp(40px, 8vw, 72px)
			48px;

		background: linear-gradient(
			180deg,
			var(--rumkata-color-green-dark) 0%,
			var(--rumkata-color-green) 100%
		);

		overflow-y: auto;

		opacity: 0;
		visibility: hidden;

		transform: translateX(-100%);

		transition:
			transform 0.3s ease,
			opacity 0.3s ease,
			visibility 0.3s ease;

		z-index: 1001;
	}

	body.rumkata-menu-open
.site-header__navigation::before {
	content: "";

	position: absolute;

	top: 72px;
	left: 0;

	width: 100%;
	height: 0.6px;

	background-color: var(--rumkata-color-gold);

	pointer-events: none;
}

	body.rumkata-menu-open .site-header__navigation {
		opacity: 1;
		visibility: visible;

		transform: translateX(0);
	}


	/* Menú */

	.rumkata-primary-menu {
		width: 100%;

		display: flex;
		flex-direction: column;
		align-items: flex-start;

		gap: clamp(28px, 6vh, 48px);
	}

	.rumkata-primary-menu li {
		width: 100%;
	}

	.rumkata-primary-menu a {
		min-height: auto;

		font-size: 24px;
		line-height: 1.2;
	}


	/* Selector de idioma dentro del panel */

	.site-header__mobile-language {
		display: inline-flex;
		align-items: center;

		gap: 10px;

		margin-top: 42px;
	}

	.site-header__mobile-language-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;

		min-height: 36px;

		font-family: var(--rumkata-font-ui);
		font-size: 14px;
		font-weight: 700;
		letter-spacing: 0.08em;

		color: rgba(250, 243, 224, 0.62);

		text-decoration: none;
	}

	.site-header__mobile-language-link:hover,
	.site-header__mobile-language-link:focus {
		color: var(--rumkata-color-gold);
	}

	.site-header__mobile-language-link.is-active {
		color: var(--rumkata-color-cream);
	}

	.site-header__mobile-language-separator {
		color: var(--rumkata-color-gold);
	}


	/* Reserva dentro del panel */

	.site-header__mobile-reserve {
		display: inline-flex;
		align-items: center;
		justify-content: center;

		min-height: 52px;

		margin-top: 56px;
		padding: 0 22px;

		border-radius: 999px;

		background-color: var(--rumkata-color-orange);
		color: var(--rumkata-color-cream);

		font-family: var(--rumkata-font-ui);
		font-size: 16px;
		font-weight: 700;

		text-decoration: none;
	}


	/* Acciones desktop ocultas en tablet / móvil */

	.site-header__actions {
		display: none;
	}


	/*
	 * En la página Experiencias el carrito sigue siendo una
	 * acción necesaria en tablet y móvil. Se mantiene visible
	 * sin reactivar el selector desktop de idioma ni Reservar.
	 */
	.site-header__actions:has(.site-header__cart) {
		position: absolute;

		right: 28px;
		top: 50%;

		display: flex;
		align-items: center;
		justify-content: flex-end;

		margin: 0;

		transform: translateY(-50%);

		z-index: 1003;
	}

	.site-header__actions:has(.site-header__cart)
	.site-header__language,
	.site-header__actions:has(.site-header__cart)
	.site-header__reserve {
		display: none;
	}

	.site-header__actions:has(.site-header__cart)
	.site-header__cart {
		margin-left: 0;
	}


	/* ---------------------------------------------------------
	   Footer tablet / móvil
	   --------------------------------------------------------- */

	.site-footer__grid {
		min-height: 0;

		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;

		gap: 24px;

		padding-top: 46px;
		padding-bottom: 46px;

		text-align: center;
	}


	/* Logo oculto */

	.site-footer__branding {
		display: none !important;
	}


	/* Menú oculto */

	.site-footer__navigation {
		display: none !important;
	}


	/* Contacto */

	.site-footer__contact {
		width: 100%;

		display: grid;

		grid-template-columns:
			auto
			auto;

		align-items: center;
		justify-content: center;

		column-gap: 16px;
		row-gap: 18px;

		padding-left: 0;
	}


	/* Divisor eliminado */

	.site-footer__contact::before {
		display: none;
		content: none;
	}


	/* Permite integrar teléfono y redes en el mismo grid */

	.site-footer__social {
		display: contents;
	}


	/* Título */

	.site-footer__social-title {
		grid-column: 1 / -1;
		grid-row: 1;

		margin: 0;

		text-align: center;
	}


	/* Teléfono: solo icono */

	.site-footer__phone {
		grid-column: 1;
		grid-row: 2;

		display: inline-flex;
		align-items: center;
		justify-content: center;

		margin: 0;
		padding: 0;
	}

	.site-footer__phone span {
		display: none;
	}

	.site-footer__phone-icon {
		width: 30px;
		height: 30px;

		flex: 0 0 30px;
	}


	/* Redes */

	.site-footer__social-links {
		grid-column: 2;
		grid-row: 2;

		display: flex;
		align-items: center;
		justify-content: center;

		gap: 16px;
	}


	/* Copyright */

	.site-footer__copyright {
		padding: 16px 0;
	}

}


/* =========================================================
   1.4 GLOBAL — TELÉFONOS
   ========================================================= */


@media (max-width: 600px) {

	/* Contenedor */

	.rumkata-container {
		width: min(100% - 40px, 520px);
	}


	/* Header */

	.site-header__inner {
		padding-inline: 20px;
	}

	.site-header__menu-toggle {
		left: 16px;
	}

	.site-header__actions:has(.site-header__cart) {
		right: 16px;
	}


	/* Panel */

	.site-header__navigation {
		padding:
			calc(72px + 48px)
			clamp(28px, 9vw, 46px)
			40px;
	}


	/* Menú */

	.rumkata-primary-menu {
		gap: 42px;
	}

	.rumkata-primary-menu a {
		font-size: 20px;
	}


	/* Footer */

	.site-footer__copyright {
		font-size: 11px;
	}

}

@media (max-width: 767px) {

	.site-footer__bottom-inner {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.site-footer__legal {
		justify-content: center;
	}

}


/* =========================================================
   2. PÁGINA CONTACTO
   ========================================================= */
/* =========================================================
   2.0 CONTACTO — DESDE 901px
   ========================================================= */

@media (min-width: 901px) {

	.contact-intro {
		min-height: 100vh;
		min-height: 100dvh;

		padding-top: 86px;
		padding-bottom: 0;

		display: flex;
		align-items: center;
	}

}


/* =========================================================
   2.0 DESKTOP > 1200px
   ========================================================= */

@media (min-width: 1201px) {

	.contact-intro__title {
		font-size: 80px;
		line-height: 1;
	}

	.contact-intro__text {
		font-size: 20px;
		font-weight: 300;
		line-height: 1.6;
	}

}

/* =========================================================
   2.1 CONTACTO — LAPTOP / DESKTOP REDUCIDO
   ========================================================= */

@media (max-width: 1200px) {

	/* Métodos */

	.contact-methods__title {
		margin-bottom: 100px;
	}

	.contact-methods__list {
		max-width: 1000px;
	}

	.contact-method {
		column-gap: 48px;
	}


	/* Información */

	.contact-info__grid {
		gap: 60px;
	}

}


/* =========================================================
   2.2 CONTACTO — TABLET
   ========================================================= */

@media (max-width: 900px) {

	/* ---------------------------------------------------------
	   Intro
	   --------------------------------------------------------- */

	.contact-intro {
	min-height: auto;

	padding-top:
		calc(
			72px +
			clamp(80px, 12vw, 110px)
		);

	padding-bottom:
		clamp(80px, 12vw, 110px);
}

	.contact-intro__title {
		max-width: 660px;
	}

	.contact-intro__text {
		max-width: 600px;

		margin-top: 40px;
	}


	/* ---------------------------------------------------------
	   Métodos
	   --------------------------------------------------------- */

	.contact-methods {
		padding-top: 70px;
		padding-bottom: 100px;
	}

	.contact-methods__title {
		margin-bottom: 80px;
	}

	.contact-methods__list {
		width: 100%;
		max-width: 760px;

		margin-inline: auto;
	}

	.contact-method {
		column-gap: 36px;

		min-height: 170px;

		padding: 30px 0;
	}

	.contact-method__action {
		min-width: 132px;
		min-height: 52px;

		padding-inline: 18px;
	}


	/* ---------------------------------------------------------
	   Ubicación / disponibilidad
	   --------------------------------------------------------- */

	.contact-info {
		padding: 80px 0 90px;
	}

	.contact-info__grid {
		grid-template-columns: 1fr;

		gap: 80px;

		max-width: 760px;

		margin-inline: auto;
	}


	/* Ubicación */

.contact-info__heading {
	flex-direction: column;
	justify-content: center;

	gap: 10px;

	margin-bottom: 30px;
}

.contact-info__icon {
	display: block;

	width: 24px;
	height: 24px;

	margin-inline: auto;
}

.contact-info__title {
	margin: 0;

	text-align: center;
}

.contact-info__country {
	text-align: center;
}

.contact-info__place {
	text-align: center;
}

.contact-info__map {
	width: min(100%, 480px);

	margin-inline: auto;
}

.contact-info__note {
	max-width: 620px;

	margin-inline: auto;

	text-align: center;
}

	/* Disponibilidad */

	.contact-info__title--availability {
		display: flex;
		align-items: center;
		justify-content: center;

		gap: 10px;

		width: 100%;

		margin-left: auto;
		margin-right: auto;
		margin-bottom: 38px;

		text-align: center;
	}


	/* ---------------------------------------------------------
	   Frase final
	   --------------------------------------------------------- */

	.contact-quote {
		min-height: clamp(500px, 75vw, 620px);
	}

	.contact-quote__text {
		width: min(100%, 760px);
	}

	.contact-quote__divider {
		margin-top: 56px;
	}

}


/* =========================================================
   2.3 CONTACTO — TELÉFONOS
   ========================================================= */

@media (max-width: 600px) {

	/* ---------------------------------------------------------
	   Intro
	   --------------------------------------------------------- */

	.contact-intro {
	min-height: auto;

	padding-top:
		calc(
			72px +
			clamp(72px, 20vw, 100px)
		);

	padding-bottom:
		clamp(90px, 22vw, 120px);
}

	.contact-intro .rumkata-container {
		display: flex;
		flex-direction: column;
		align-items: center;

		text-align: center;
	}

	.contact-intro__title {
		width: 100%;
		max-width: 420px;

		font-size: clamp(32px, 10vw, 44px);
		line-height: 1.05;
	}

	.contact-intro__text {
		max-width: 330px;

		margin-top: 42px;

		font-size: 16px;
		line-height: 1.45;
	}


	/* ---------------------------------------------------------
	   Métodos
	   --------------------------------------------------------- */

	.contact-methods {
		padding-bottom: 80px;
	}

	.contact-methods__title {
		margin-bottom: 72px;

		font-size: 18px;

		text-align: center;
	}

	.contact-method {
		display: grid;

		grid-template-columns: 1fr;
		grid-template-rows: auto;

		row-gap: 12px;

		min-height: 0;

		padding: 42px 0;

		text-align: center;
	}

	.contact-method__heading,
	.contact-method__value,
	.contact-method__description,
	.contact-method__action {
		grid-column: 1;
		grid-row: auto;
	}

	.contact-method__heading {
		justify-content: center;

		gap: 10px;
	}

	.contact-method__icon {
		width: 24px;
		height: 24px;

		flex-basis: 24px;
	}

	.contact-method__title {
		font-size: clamp(22px, 7vw, 28px);
	}

	.contact-method__value {
		font-size: clamp(24px, 8vw, 34px);

		overflow-wrap: anywhere;
	}

	.contact-method__description {
		max-width: 310px;

		margin-inline: auto;

		font-size: 14px;
		line-height: 1.45;
	}

	.contact-method__action {
		justify-self: center;

		min-width: 150px;
		min-height: 48px;

		margin-top: 14px;

		padding-inline: 20px;
	}


	/* ---------------------------------------------------------
	   Ubicación
	   --------------------------------------------------------- */

	.contact-info__location {
		text-align: center;
	}

	.contact-info__heading {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;

		gap: 10px;

		margin-bottom: 30px;
	}

	.contact-info__icon {
		display: block;

		width: 24px;
		height: 24px;

		margin: 0;
	}

	.contact-info__country {
		font-size: clamp(28px, 8vw, 40px);
	}

	.contact-info__place {
		margin-bottom: 30px;
	}

	.contact-info__map {
		width: min(85%, 320px);

		margin-bottom: 32px;
	}

	.contact-info__note {
		max-width: 340px;
	}


	/* ---------------------------------------------------------
	   Disponibilidad
	   --------------------------------------------------------- */

	.contact-info__title--availability {
		margin-bottom: 30px;
	}

	.contact-info__schedule {
		width: 100%;
	}

	.contact-info__schedule-row {
		grid-template-columns:
			minmax(0, 1fr)
			minmax(0, auto);

		gap: 12px;

		padding: 14px 0;

		text-align: left;
	}

	.contact-info__schedule-row dt,
	.contact-info__schedule-row dd {
		font-size: clamp(13px, 4vw, 16px);
		line-height: 1.35;
	}

	.contact-info__schedule-row dd {
		text-align: right;
	}

	.contact-info__schedule-row:last-child dd {
		font-size: clamp(13px, 4vw, 16px);
	}


	/* ---------------------------------------------------------
	   Frase final
	   --------------------------------------------------------- */

	.contact-quote {
		min-height: auto;

		padding: 90px 0 76px;
	}

	.contact-quote__inner {
		padding-inline: 20px;
	}

	.contact-quote__text {
		width: 100%;
		max-width: 440px;
	}

	.contact-quote__line--primary {
		font-size: clamp(25px, 7.5vw, 32px);
	}

	.contact-quote__line--accent {
		font-size: clamp(23px, 7vw, 30px);
	}

	.contact-quote__divider {
		width: min(100%, 340px);

		margin-top: 50px;

		gap: 14px;
	}

	.contact-quote__divider-diamonds {
		gap: 10px;
	}

	.contact-quote__author {
		margin-top: 32px;

		font-size: 16px;
	}

}


/* =========================================================
   3. PÁGINA NOSOTROS
   ========================================================= */


/* =========================================================
   3.1 NOSOTROS — LAPTOP / DESKTOP REDUCIDO
   ========================================================= */

@media (max-width: 1200px) {

	/* ---------------------------------------------------------
	   HERO
	   --------------------------------------------------------- */

	.about-hero__inner {
		width: min(100% - 48px, 1100px);
	}


	/* ---------------------------------------------------------
	   01 — EL ORIGEN
	   --------------------------------------------------------- */

	.about-story--origin {
		padding:
			clamp(60px, 6vw, 80px)
			0;
	}

	.about-story--origin .about-story__grid {
		gap: clamp(40px, 5vw, 70px);
	}

	.about-story--origin .about-story__media--origin {
		width: min(100%, 430px);
	}

	.about-story--origin .about-story__title {
		font-size: clamp(46px, 5vw, 58px);
	}

	.about-story--origin .about-story__title > span {
		white-space: normal;
	}


	/* ---------------------------------------------------------
	   02 — EL OFICIO
	   --------------------------------------------------------- */

	.about-story--craft {
		padding:
			clamp(60px, 6vw, 80px)
			0;
	}

	.about-story--craft .about-story__grid--reverse {
		gap: clamp(40px, 5vw, 70px);
	}

	.about-story--craft .about-story__title {
		font-size: clamp(46px, 5vw, 58px);
	}

	.about-story--craft .about-story__title > span {
		white-space: normal;
	}

	.about-story--craft .about-story__media--craft {
		width: min(100%, 460px);
		height: clamp(500px, 42vw, 580px);
	}


	/* ---------------------------------------------------------
	   03 — EL EQUIPO
	   --------------------------------------------------------- */

	.about-team {
		padding:
			clamp(60px, 6vw, 80px)
			0
			clamp(55px, 5vw, 70px);
	}

	.about-team__title {
		font-size: clamp(46px, 5vw, 58px);
	}

	.about-team__cards {
		width: min(90%, 960px);
	}


	/* ---------------------------------------------------------
	   04 — NUESTROS VALORES
	   --------------------------------------------------------- */

	.about-values__grid {
		gap: clamp(55px, 7vw, 90px);
	}

}

/* =========================================================
   3.2 NOSOTROS — TABLET
   ========================================================= */

@media (max-width: 900px) {

	/* ---------------------------------------------------------
	   ALTURA DE LAS SECCIONES
	   --------------------------------------------------------- */

	.about-story--origin,
	.about-story--craft,
	.about-team,
	.about-values {
		min-height: calc(100vh - 72px);
		min-height: calc(100dvh - 72px);
	}


	/* ---------------------------------------------------------
	   HERO
	   --------------------------------------------------------- */

	.about-hero {
		min-height: 100svh;
		min-height: 100dvh;

		align-items: center;
	}

	.about-hero__background {
		background-position: center center;
		background-size: cover;
	}

	.about-hero__inner {
		width: min(100% - 72px, 760px);

		padding-bottom: 0;

		text-align: center;
	}

	.about-hero__title {
		width: 100%;

		margin-inline: auto;

		font-size: clamp(48px, 7vw, 62px);
		line-height: 0.98;

		text-align: center;
	}


	/* ---------------------------------------------------------
	   01 — EL ORIGEN
	   --------------------------------------------------------- */

	.about-story--origin {
		padding:
			clamp(72px, 10vw, 100px)
			0;
	}

	.about-story--origin .about-story__grid {
		grid-template-columns: 1fr;

		gap: clamp(44px, 7vw, 60px);
	}

	/* Texto primero */

	.about-story--origin .about-story__content {
		order: 1;

		width: min(100%, 650px);

		margin-inline: auto;

		text-align: center;
	}

	.about-story--origin .about-story__eyebrow {
		justify-content: center;

		margin-bottom: clamp(26px, 4vw, 36px);
	}

	.about-story--origin .about-story__title {
		width: 100%;
		max-width: 650px;

		margin:
			0
			auto
			clamp(28px, 4vw, 38px);

		font-size: clamp(42px, 7vw, 52px);
		line-height: 1.08;

		text-align: center;
	}


	.about-story--origin .about-story__title > span {
		display: block;

		white-space: nowrap;
	}

	.about-story--origin .about-story__body {
		width: min(100%, 600px);

		margin-inline: auto;

		text-align: center;
	}

	.about-story--origin .about-story__meta {
		margin-top: clamp(34px, 5vw, 50px);

		text-align: center;
	}

	/* Imagen después */

	.about-story--origin .about-story__media--origin {
		order: 2;

		width: min(72%, 430px);

		margin-inline: auto;

		justify-self: center;
	}


	/* ---------------------------------------------------------
	   02 — EL OFICIO
	   --------------------------------------------------------- */

	.about-story--craft {
		padding:
			clamp(72px, 10vw, 100px)
			0;
	}

	.about-story--craft .about-story__grid--reverse {
		grid-template-columns: 1fr;

		gap: clamp(44px, 7vw, 60px);
	}

	.about-story--craft .about-story__content {
		width: min(100%, 650px);
		max-width: 650px;

		margin-inline: auto;

		justify-self: center;

		text-align: center;
	}

	.about-story--craft .about-story__eyebrow {
		justify-content: center;

		margin-bottom: clamp(26px, 4vw, 36px);
	}

	.about-story--craft .about-story__title {
		width: 100%;
		max-width: 650px;

		margin:
			0
			auto
			clamp(28px, 4vw, 38px);

		font-size: clamp(42px, 7vw, 52px);
		line-height: 1.08;

		text-align: center;
	}

	.about-story--craft .about-story__title > span {
		display: block;

		white-space: nowrap;
	}

	.about-story--craft .about-story__body {
		width: min(100%, 600px);
		max-width: 600px;

		margin-inline: auto;

		text-align: center;
	}

	.about-story--craft .about-story__media--craft {
		width: min(72%, 430px);
		height: auto;

		margin-inline: auto;

		justify-self: center;
	}

	.about-story--craft .about-story__image--craft {
		width: 100%;
		height: auto;
	}


	/* ---------------------------------------------------------
	   03 — EL EQUIPO
	   --------------------------------------------------------- */

	.about-team {
		padding:
			clamp(72px, 10vw, 100px)
			0;
	}

	.about-team__eyebrow {
		justify-content: center;

		margin-bottom: clamp(26px, 4vw, 36px);
	}

	.about-team__intro {
		width: min(100%, 680px);

		margin-inline: auto;

		text-align: center;
	}

	.about-team__title {
		width: 100%;
		max-width: 680px;

		margin-inline: auto;

		font-size: clamp(42px, 7vw, 52px);
		line-height: 1.08;

		text-align: center;
	}



	.about-team__title > span {
		display: block;

		white-space: nowrap;
	}

	.about-team__description {
		width: min(100%, 560px);

		margin-left: auto;
		margin-right: auto;

		text-align: center;
	}

	.about-team__cards {
		width: min(100%, 720px);

		margin-left: auto;
		margin-right: auto;
		margin-top: clamp(44px, 7vw, 60px);
	}

	.about-team__card {
		width: 40%;
	}

	.about-team__card.is-left {
		transform:
			translateX(-78%)
			scale(0.88);
	}

	.about-team__card.is-right {
		transform:
			translateX(78%)
			scale(0.88);
	}


	/* ---------------------------------------------------------
	   04 — NUESTROS VALORES
	   --------------------------------------------------------- */

	.about-values {
		min-height: calc(100vh - 72px);
		min-height: calc(100dvh - 72px);
	}

	.about-values__grid {
		grid-template-columns: 1fr;

		gap: clamp(52px, 8vw, 72px);

		padding-top: clamp(72px, 10vw, 100px);
		padding-bottom: clamp(72px, 10vw, 100px);
	}

	.about-values__heading {
		width: 100%;

		text-align: center;
	}

	.about-values__eyebrow {
		justify-content: center;

		margin-bottom: clamp(26px, 4vw, 36px);
	}

	.about-values__title {
		width: 100%;

		text-align: center;
	}

	.about-values__list {
		width: min(100%, 620px);

		margin-inline: auto;

		text-align: center;
	}

	.about-value {
		width: 100%;
	}

	.about-value__text {
		margin-left: auto;
		margin-right: auto;
	}


	.about-values__background {
		background-size: cover;
	}

}

/* =========================================================
   3.3 NOSOTROS — TELÉFONOS
   ========================================================= */

@media (max-width: 600px) {

	/* ---------------------------------------------------------
	   ALTURA DE LAS SECCIONES
	   --------------------------------------------------------- */

	.about-story--origin,
	.about-story--craft {
		min-height: auto;
	}

	.about-team,
	.about-values {
		min-height: calc(100vh - 72px);
		min-height: calc(100dvh - 72px);
	}


	/* ---------------------------------------------------------
	   HERO
	   --------------------------------------------------------- */

	.about-hero__inner {
		width: min(100% - 40px, 520px);
	}

	.about-hero__title {
		font-size: clamp(34px, 11vw, 46px);
	}


	/* ---------------------------------------------------------
	   01 — EL ORIGEN
	   --------------------------------------------------------- */

	.about-story--origin {
		padding:
			72px
			0
			88px;
	}

	.about-story--origin .about-story__grid {
		gap: 42px;
	}

	.about-story--origin .about-story__content {
		width: 100%;
		max-width: none;
	}

	.about-story--origin .about-story__eyebrow {
		margin-bottom: 28px;
	}

	.about-story--origin .about-story__title {
		max-width: 100%;

		margin:
			0
			auto
			30px;

		font-size: clamp(34px, 9vw, 42px);
	}

	
	.about-story--origin .about-story__title > span {
		white-space: normal;
	}

	.about-story--origin .about-story__body {
		width: 100%;
		max-width: 100%;

		font-size: 16px;
		line-height: 1.55;
	}

	.about-story--origin .about-story__body p + p {
		margin-top: 20px;
	}

	.about-story--origin .about-story__meta {
		margin-top: 34px;

		font-size: 16px;
	}

	.about-story--origin .about-story__media--origin {
		width: min(78%, 320px);
	}


	/* ---------------------------------------------------------
	   02 — EL OFICIO
	   --------------------------------------------------------- */

	.about-story--craft {
		padding:
			72px
			0
			88px;
	}

	.about-story--craft .about-story__grid--reverse {
		gap: 42px;
	}

	.about-story--craft .about-story__content {
		width: 100%;
		max-width: none;
	}

	.about-story--craft .about-story__eyebrow {
		margin-bottom: 28px;
	}

	.about-story--craft .about-story__title {
		max-width: 100%;

		margin:
			0
			auto
			30px;

		font-size: clamp(34px, 9vw, 42px);
	}

	.about-story--craft .about-story__title > span {
		white-space: normal;
	}

	.about-story--craft .about-story__body {
		width: 100%;
		max-width: 100%;

		font-size: 16px;
		line-height: 1.55;
	}

	.about-story--craft .about-story__body p + p {
		margin-top: 20px;
	}

	.about-story--craft .about-story__media--craft {
		width: min(78%, 320px);
	}

	

	/* ---------------------------------------------------------
	   03 — EL EQUIPO
	   --------------------------------------------------------- */

	.about-team {
		padding:
			72px
			0
			90px;
	}

	.about-team__eyebrow {
		margin-bottom: 28px;
	}

	.about-team__intro {
		width: 100%;
	}

	.about-team__title {
		max-width: 100%;

		font-size: clamp(34px, 9vw, 42px);
	}

	.about-team__title > span {
		white-space: normal;
	}

	.about-team__description {
		width: min(100%, 340px);

		margin-top: 26px;

		font-size: 16px;
		line-height: 1.5;
	}

	.about-team__cards {
		width: 100%;

		margin-top: 52px;
	}

	.about-team__card {
		width: 48%;
	}

	.about-team__card.is-left {
		transform:
			translateX(-58%)
			scale(0.82);
	}

	.about-team__card.is-active {
		transform:
			translateX(0)
			scale(1);
	}

	.about-team__card.is-right {
		transform:
			translateX(58%)
			scale(0.82);
	}


	/* ---------------------------------------------------------
	   04 — NUESTROS VALORES
	   --------------------------------------------------------- */

	.about-values__grid {
		gap: 50px;

		padding-top: 72px;
		padding-bottom: 82px;
	}

	.about-values__eyebrow {
		margin-bottom: 26px;
	}

	.about-values__title {
		font-size: clamp(34px, 9vw, 42px);
		line-height: 1.08;
	}

	.about-values__list {
		width: 100%;
	}

	.about-value__title {
		font-size: clamp(24px, 7vw, 30px);
	}

	.about-value__text {
		width: min(100%, 340px);

		margin-top: 12px;

		font-size: 16px;
		line-height: 1.5;
	}

	

}

/* =========================================================
   4. PÁGINA SABÍAS QUE
   ========================================================= */


/* =========================================================
   4.1 LAPTOP ≤ 1200px
   ========================================================= */

@media (max-width: 1200px) {

	/* Intro */

	.knowledge-intro__title {
		font-size: clamp(64px, 7vw, 76px);
	}

	.knowledge-intro__description {
		width: min(100%, 700px);
	}


	/* Navegación interna */

	.knowledge-nav__link {
		gap: 8px;

		padding:
			0
			10px;

		font-size: 13px;
	}


	/* Temas */

	.knowledge-topic__overview {
		padding:
			clamp(60px, 6vw, 90px)
			0;
	}

	.knowledge-topic__title {
		font-size: 54px;
	}

	.knowledge-topic__feature {
		gap:
			clamp(50px, 6vw, 80px);

		padding-top:
			clamp(48px, 5vw, 70px);
	}

	.knowledge-topic__media {
		width: min(100%, 420px);
	}

	.knowledge-topic__key-text {
		font-size: 20px;
	}


	/* Datos */

	.knowledge-fact {
		grid-template-columns:
			minmax(200px, 0.75fr)
			minmax(0, 1.25fr);

		gap:
			clamp(32px, 4vw, 60px);
	}


	/* Anatomía */

	.knowledge-anatomy__content {
		grid-template-columns:
			minmax(200px, 0.75fr)
			minmax(0, 1.25fr);

		gap:
			clamp(32px, 4vw, 60px);
	}


	/* Cierre */

	.knowledge-closing__title {
		width: min(100%, 1050px);
	}

	.knowledge-closing__title {
		font-size: clamp(38px, 4.2vw, 48px);
	}

}


/* =========================================================
   4.2 TABLET ≤ 900px
   ========================================================= */

@media (max-width: 900px) {

	/* =====================================================
	   Intro
	   ===================================================== */

	.knowledge-intro {
	min-height: 100vh;
	min-height: 100dvh;

	padding-top:
		calc(
			72px +
			clamp(80px, 12vw, 110px)
		);
}

	.knowledge-intro__eyebrow {
		gap: 14px;

		margin-bottom: 28px;
	}

	.knowledge-intro__eyebrow-line {
		width: 38px;

		flex-basis: 38px;
	}

	.knowledge-intro__eyebrow-text {
		font-size: 16px;
	}

	.knowledge-intro__title {
		font-size: clamp(52px, 8vw, 66px);
		line-height: 1;
	}

	.knowledge-intro__description {
		width: min(100%, 620px);

		margin-top: 38px;

		font-size: 18px;
	}


	/* =====================================================
	   Navegación sticky
	   ===================================================== */

	.knowledge-nav {
		top: 72px;
	}

	.knowledge-nav__inner {
		display: flex;

		width: 100%;
		max-width: none;

		overflow-x: auto;
		overflow-y: hidden;

		scrollbar-width: none;

		-webkit-overflow-scrolling: touch;
	}

	.knowledge-nav__inner::-webkit-scrollbar {
		display: none;
	}

	.knowledge-nav__link {
		flex:
			0
			0
			auto;

		min-width: 170px;
		min-height: 60px;

		padding:
			0
			18px;

		font-size: 13px;

		white-space: nowrap;
	}


	/* =====================================================
	   Temas
	   ===================================================== */

	.knowledge-topic {
		scroll-margin-top: 132px;
	}

	.knowledge-topic > .rumkata-container {
		width: min(100% - 72px, 760px);
	}

	.knowledge-topic__overview {
		min-height: calc(100vh - 132px);
		min-height: calc(100dvh - 132px);

		padding:
			60px
			0;
	}

	.knowledge-topic__index {
		margin-bottom: 22px;
	}

	.knowledge-topic__title {
		font-size: 48px;
	}

	.knowledge-topic__feature,
	.knowledge-topic--rum .knowledge-topic__feature,
	.knowledge-topic--cacao .knowledge-topic__feature,
	.knowledge-topic--mamajuana .knowledge-topic__feature,
	.knowledge-topic--coffee .knowledge-topic__feature,
	.knowledge-topic--cigar .knowledge-topic__feature {
		grid-template-columns: 1fr;

		gap: 44px;

		padding-top: 42px;
	}

	.knowledge-topic__key-fact {
		width: min(100%, 620px);

		padding-left: 24px;
	}

	.knowledge-topic__media {
		width: min(100%, 390px);

		justify-self: center;
	}


	/* =====================================================
	   Detalle
	   ===================================================== */

	.knowledge-detail {
		padding:
			60px
			0
			90px;
	}

	.knowledge-detail__heading {
		margin-bottom: 34px;
	}


	/* =====================================================
	   Timeline
	   ===================================================== */

	.knowledge-timeline__item {
		grid-template-columns:
			90px
			minmax(0, 1fr);

		gap: 24px;

		padding: 20px 0;
	}

	.knowledge-timeline__year {
		font-size: 27px;
	}

	.knowledge-timeline__text {
		font-size: 17px;
	}


	/* =====================================================
	   Tarjetas
	   ===================================================== */

	.knowledge-cards--two {
		gap: 20px;
	}

	.knowledge-cards--three {
		grid-template-columns: repeat(2, minmax(0, 1fr));

		gap: 20px;
	}

	.knowledge-card {
		padding: 28px;
	}


	/* =====================================================
	   Datos
	   ===================================================== */

	.knowledge-facts {
		padding-bottom: 90px;
	}

	.knowledge-facts__heading {
		margin-bottom: 22px;
	}

	.knowledge-fact {
		grid-template-columns:
			minmax(180px, 0.8fr)
			minmax(0, 1.2fr);

		gap: 36px;

		padding: 26px 0;
	}

	.knowledge-fact__title {
		font-size: 26px;
	}

	.knowledge-fact__text {
		font-size: 17px;
	}


	/* =====================================================
	   Anatomía del cigarro
	   ===================================================== */

	.knowledge-anatomy__item {
		grid-template-columns:
			44px
			minmax(0, 1fr);

		gap: 18px;

		padding: 24px 0;
	}

	.knowledge-anatomy__content {
		grid-template-columns:
			minmax(180px, 0.8fr)
			minmax(0, 1.2fr);

		gap: 36px;
	}

	.knowledge-anatomy__title {
		font-size: 24px;
	}

	.knowledge-anatomy__text {
		font-size: 16px;
	}


	/* =====================================================
	   Cierre
	   ===================================================== */

	.knowledge-closing {
		min-height: 460px;

		padding:
			80px
			0;
	}

	.knowledge-closing__title {
		width: min(100%, 720px);

		font-size: clamp(32px, 5vw, 42px);
		line-height: 1.2;
	}

}


/* =========================================================
   4.3 MÓVIL ≤ 600px
   ========================================================= */

@media (max-width: 600px) {

	/* =====================================================
   Intro
   ===================================================== */

.knowledge-intro__inner {
	text-align: center;
}

.knowledge-intro__eyebrow {
	justify-content: center;

	gap: 12px;

	margin-bottom: 24px;
}

.knowledge-intro__eyebrow-line {
	width: 30px;

	flex-basis: 30px;
}

.knowledge-intro__eyebrow-text {
	font-size: 13px;

	letter-spacing: 0.06em;
}

.knowledge-intro__title {
	font-size: clamp(42px, 12vw, 56px);
	line-height: 1.02;

	text-align: center;
}

.knowledge-intro__title span {
	display: inline;
}

.knowledge-intro__description {
	margin-top: 30px;
	margin-inline: auto;

	font-size: 16px;
	line-height: 1.55;

	text-align: center;
}


	/* =====================================================
	   Navegación sticky
	   ===================================================== */

	.knowledge-nav__link {
		min-width: 145px;
		min-height: 56px;

		gap: 7px;

		padding:
			0
			14px;

		font-size: 12px;
	}

	.knowledge-nav__number {
		font-size: 12px;
	}


	/* =====================================================
	   Temas
	   ===================================================== */

	.knowledge-topic {
		scroll-margin-top: 128px;
	}

	.knowledge-topic > .rumkata-container {
		width: min(100% - 40px, 520px);
	}

	.knowledge-topic__overview {
		min-height: calc(100vh - 128px);
		min-height: calc(100dvh - 128px);

		padding:
			50px
			0;
	}

	.knowledge-topic__index {
		gap: 12px;

		margin-bottom: 18px;
	}

	.knowledge-topic__index-line {
		width: 28px;

		flex-basis: 28px;
	}

	.knowledge-topic__number {
		font-size: 16px;
	}

	.knowledge-topic__title {
		font-size: clamp(38px, 11vw, 46px);
		line-height: 1.1;
	}

	.knowledge-topic__feature,
	.knowledge-topic--rum .knowledge-topic__feature,
	.knowledge-topic--cacao .knowledge-topic__feature,
	.knowledge-topic--mamajuana .knowledge-topic__feature,
	.knowledge-topic--coffee .knowledge-topic__feature,
	.knowledge-topic--cigar .knowledge-topic__feature {
		gap: 34px;

		padding-top: 34px;
	}

	.knowledge-topic__key-fact {
		padding-left: 18px;
	}

	.knowledge-topic__key-label {
		margin-bottom: 16px;

		font-size: 12px;
	}

	.knowledge-topic__key-text {
		font-size: 17px;
		line-height: 1.6;
	}

	.knowledge-topic__media {
		width: min(100%, 340px);

		border-radius: 42px;
	}


	/* =====================================================
	   Encabezados internos
	   ===================================================== */

	.knowledge-detail__heading,
	.knowledge-facts__heading {
		gap: 14px;

		margin-bottom: 28px;
	}

	.knowledge-detail__label,
	.knowledge-facts__label {
		font-size: 13px;

		letter-spacing: 0.06em;
	}


	/* =====================================================
	   Detalle
	   ===================================================== */

	.knowledge-detail {
		padding:
			50px
			0
			70px;
	}


	/* =====================================================
	   Timeline
	   ===================================================== */

	.knowledge-timeline__item {
		grid-template-columns: 1fr;

		gap: 10px;

		padding: 18px 0;
	}

	.knowledge-timeline__year {
		font-size: 26px;
	}

	.knowledge-timeline__text {
		font-size: 16px;
	}


	/* =====================================================
	   Tarjetas
	   ===================================================== */

	.knowledge-cards--two,
	.knowledge-cards--three {
		grid-template-columns: 1fr;

		gap: 16px;
	}

	.knowledge-card {
		padding: 24px;

		border-radius: 24px;
	}

	.knowledge-card__title {
		font-size: 25px;
	}

	.knowledge-card__text {
		font-size: 16px;
	}


	/* =====================================================
	   Datos
	   ===================================================== */

	.knowledge-facts {
		padding-bottom: 70px;
	}

	.knowledge-fact {
		grid-template-columns: 1fr;

		gap: 12px;

		padding: 22px 0;
	}

	.knowledge-fact__title {
		font-size: 25px;
	}

	.knowledge-fact__text {
		font-size: 16px;
		line-height: 1.55;
	}


	/* =====================================================
	   Anatomía del cigarro
	   ===================================================== */

	.knowledge-anatomy__item {
		grid-template-columns:
			38px
			minmax(0, 1fr);

		gap: 14px;

		padding: 22px 0;
	}

	.knowledge-anatomy__number {
		width: 32px;
		height: 32px;
	}

	.knowledge-anatomy__content {
		grid-template-columns: 1fr;

		gap: 10px;
	}

	.knowledge-anatomy__title {
		font-size: 23px;
	}

	.knowledge-anatomy__text {
		font-size: 16px;
	}


	/* =====================================================
	   Cierre
	   ===================================================== */

	.knowledge-closing {
		min-height: 400px;

		padding:
			70px
			0;
	}

	.knowledge-closing__title {
		width: 100%;

		font-size: clamp(26px, 8vw, 34px);
		line-height: 1.2;
	}

}


/* =========================================================
   5. HOME
   ========================================================= */


/* =========================================================
   5.0 ESCALA FLUIDA — ≤ 2000px
   ========================================================= */

@media (max-width: 2000px) {

	/* ---------------------------------------------------------
	   TÍTULOS PRINCIPALES
	   Reducen progresivamente desde desktop hasta tablet.
	   --------------------------------------------------------- */

	.home-moments__title {
		font-size: clamp(
			44px,
			calc(30.91px + 1.455vw),
			60px
		);
	}

	.home-ritual__title {
		font-size: clamp(
			42px,
			calc(37.09px + 0.545vw),
			48px
		);
	}

	.home-contact__title {
		font-size: clamp(
			44px,
			calc(30.91px + 1.455vw),
			60px
		);
	}

}


/* =========================================================
   5.0.1 RITUAL — ALINEACIÓN LISTA DESDE 901px
   ========================================================= */

@media (min-width: 901px) {

	.home-ritual__list {
		transform: translateY(70px);
	}

}


/* =========================================================
   5.1 LAPTOP — ≤ 1200px
   ========================================================= */

@media (max-width: 1200px) {

	/* ---------------------------------------------------------
	   HERO
	   --------------------------------------------------------- */

	.home-hero {
		min-height: 100vh;
		min-height: 100dvh;
	}


	/* ---------------------------------------------------------
	   EXPERTOS SENSORIALES
	   --------------------------------------------------------- */

	.home-moments {
		min-height: calc(100vh - 86px);
		min-height: calc(100dvh - 86px);

		padding:
			clamp(80px, 8vw, 110px)
			0;
	}

	.home-moments__gallery {
		width: min(100%, 720px);

		gap: clamp(24px, 3vw, 38px);
	}


	/* ---------------------------------------------------------
	   CADA OCASIÓN MERECE UN RITUAL
	   --------------------------------------------------------- */

	.home-ritual__inner {
		grid-template-columns:
			minmax(300px, 0.9fr)
			minmax(0, 1.1fr);

		gap: clamp(50px, 6vw, 80px);
	}

	.home-ritual__list {
		width: min(100%, 470px);
	}

	.home-ritual__item {
		padding: 24px 0;

		font-size: 26px;
	}

	.home-ritual__media {
		width: min(100%, 520px);
	}

	.home-ritual__content {
		width: min(100%, 620px);
	}

}


/* =========================================================
   5.2 TABLET — ≤ 900px
   ========================================================= */

@media (max-width: 900px) {

	/* ---------------------------------------------------------
	   HERO
	   --------------------------------------------------------- */

	.home-hero {
		min-height: 100vh;
		min-height: 100dvh;
	}

	.home-hero__video {
		width: 100%;
		height: 100%;

		object-fit: cover;
		object-position: center;
	}


	/* ---------------------------------------------------------
	   EXPERTOS SENSORIALES
	   --------------------------------------------------------- */

	.home-moments {
		min-height: auto;

		padding:
			clamp(80px, 12vw, 110px)
			0;
	}

	.home-moments__header {
		width: min(100%, 680px);
	}

	.home-moments__title {
		font-size: 44px;
		line-height: 1.08;
	}

	.home-moments__divider {
		width: min(100%, 400px);

		margin-top: 22px;
	}

	.home-moments__intro {
		width: min(100%, 620px);

		margin-top: 32px;
	}

	.home-moments__gallery {
		width: min(100%, 650px);

		margin-top: 54px;

		gap: clamp(18px, 3vw, 30px);
	}


	/* ---------------------------------------------------------
	   CADA OCASIÓN MERECE UN RITUAL
	   ACORDEÓN TABLET
	   --------------------------------------------------------- */

	.home-ritual {
		min-height: auto;
	}

	.home-ritual__inner {
		display: block;

		padding:
			clamp(68px, 10vw, 88px)
			0;
	}


	/* ---------------------------------------------------------
	   TÍTULO
	   --------------------------------------------------------- */

	.home-ritual__categories {
		width: 100%;
	}

	.home-ritual__title {
		width: min(100%, 600px);

		margin-inline: auto;

		font-size: 42px;
		line-height: 1.1;

		text-align: center;
	}


	/* ---------------------------------------------------------
	   LISTA
	   --------------------------------------------------------- */

	.home-ritual__list {
		width: min(100%, 620px);

		margin:
			42px
			auto
			0;
	}

	.home-ritual__list-item {
		width: 100%;
	}


	/* ---------------------------------------------------------
	   OPCIÓN
	   --------------------------------------------------------- */

	.home-ritual__item {
		position: relative;

		width: 100%;

		display: flex;
		align-items: center;
		justify-content: center;

		padding: 22px 54px;

		font-size: 24px;
		text-align: center;
	}


	/* ---------------------------------------------------------
	   FLECHA
	   --------------------------------------------------------- */

	.home-ritual__item-arrow {
		position: absolute;

		right: 0;
		top: 50%;

		width: 36px;
		height: 36px;

		transform:
			translateY(-50%)
			rotate(0deg);

		transition:
			opacity var(--rumkata-transition),
			transform var(--rumkata-transition);
	}

	.home-ritual__item-arrow-line {
		width: 16px;
	}

	.home-ritual__item.is-active .home-ritual__item-arrow {
		opacity: 1;

		transform:
			translateY(-50%)
			rotate(90deg);
	}

	.home-ritual__item:hover .home-ritual__item-arrow {
		transform:
			translateY(-50%);
	}

	.home-ritual__item.is-active:hover .home-ritual__item-arrow {
		transform:
			translateY(-50%)
			rotate(90deg);
	}


	/* ---------------------------------------------------------
	   VISOR GENERAL
	   --------------------------------------------------------- */

	.home-ritual__viewer {
		display: none;
	}


	/* ---------------------------------------------------------
	   PANEL EXPANDIDO
	   --------------------------------------------------------- */

	.home-ritual__list-item > .home-ritual__panel {
		width: 100%;

		padding:
			34px
			0
			38px;
	}

	.home-ritual__list-item > .home-ritual__panel[hidden] {
		display: none;
	}


	/* ---------------------------------------------------------
	   IMÁGENES
	   --------------------------------------------------------- */

	.home-ritual__media {
		width: min(86%, 520px);

		margin:
			0
			auto;
	}

	.home-ritual__slides {
		width: 100%;
	}

	.home-ritual__slide {
		width: 100%;

		margin:
			0
			auto;

		aspect-ratio: 1.35 / 1;
	}

	.home-ritual__slide img {
	display: block;

	width: 100%;
	height: 100%;

	aspect-ratio: inherit;

	object-fit: cover;
}

	/* ---------------------------------------------------------
	   PAGINACIÓN
	   --------------------------------------------------------- */

	.home-ritual__pagination {
		width: 100%;

		gap: 9px;

		margin-top: 16px;
	}

	.home-ritual__dot {
		width: 9px;
		height: 9px;
	}


	/* ---------------------------------------------------------
	   TEXTO
	   --------------------------------------------------------- */

	.home-ritual__content {
		width: min(86%, 520px);

		margin:
			24px
			auto
			0;
	}

	.home-ritual__description {
		font-size: 17px;
		line-height: 1.65;
	}

	.home-ritual__explore {
		margin-top: 18px;
	}


	/* ---------------------------------------------------------
	   CREA TU EXPERIENCIA
	   --------------------------------------------------------- */

	.home-contact {
		min-height: auto;

		padding:
			clamp(80px, 11vw, 110px)
			0;
	}

	.home-contact__title {
		font-size: 44px;
		line-height: 1.08;
	}

	.home-contact__text {
		width: min(100%, 620px);

		font-size: 19px;
	}

}


/* =========================================================
   5.3 MOBILE — ≤ 600px
   ========================================================= */

@media (max-width: 600px) {

	/* ---------------------------------------------------------
	   HERO
	   --------------------------------------------------------- */

	.home-hero {
		min-height: 100vh;
		min-height: 100dvh;
	}

	.home-hero__video {
		object-position: center center;
	}


	/* ---------------------------------------------------------
	   EXPERTOS SENSORIALES
	   --------------------------------------------------------- */

	.home-moments {
		padding:
			clamp(68px, 18vw, 88px)
			0;
	}

	.home-moments__header {
		width: 100%;
	}

	.home-moments__title {
		font-size: 34px;
		line-height: 1.1;
	}

	.home-moments__divider {
		width: min(100%, 280px);

		margin-top: 20px;
	}

	.home-moments__intro {
		width: 100%;

		margin-top: 28px;

		font-size: 17px;
		line-height: 1.6;
	}


	/* ---------------------------------------------------------
	   EXPERTOS SENSORIALES — GALERÍA HORIZONTAL
	   --------------------------------------------------------- */

	.home-moments__gallery {
		position: relative;

		width: 100%;

		margin-top: 44px;
		padding-bottom: 8px;

		display: flex;
		align-items: flex-end;

		gap: 18px;

		overflow-x: auto;
		overflow-y: hidden;

		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;

		-webkit-overflow-scrolling: touch;

		scrollbar-width: none;
	}

	.home-moments__gallery::-webkit-scrollbar {
		display: none;
	}

	.home-moments__item {
		flex: 0 0 100%;

		width: 100%;

		display: flex;
		justify-content: center;

		scroll-snap-align: start;
	}

	.home-moments__image,
	.home-moments__item:nth-child(2) .home-moments__image {
		width: 86%;

		aspect-ratio: 1.35 / 1;

		overflow: hidden;
	}

	.home-moments__image img {
	display: block;

	width: 100%;
	height: 100%;

	aspect-ratio: inherit;

	object-fit: cover;
}


	/* ---------------------------------------------------------
	   INDICADOR DESLIZA
	   --------------------------------------------------------- */

	.home-moments__swipe {
	    display: block;
    	position: sticky;
    
    	right: 7%;
    
    	flex: 0 0 auto;
    	align-self: flex-end;
    
    	margin-left: -92px;
    	margin-bottom: 18px;
    
    	padding: 8px 12px;
    
    	border-radius: 999px;
    
    	background-color: rgba(26, 40, 30, 0.78);
    
    	font-family: var(--rumkata-font-ui);
    	font-size: 12px;
    	font-weight: 700;
    	line-height: 1;
    
    	color: var(--rumkata-color-cream);
    
    	pointer-events: none;
    }

	/* ---------------------------------------------------------
	   CADA OCASIÓN MERECE UN RITUAL
	   ACORDEÓN MÓVIL
	   --------------------------------------------------------- */

	.home-ritual__inner {
		display: block;

		padding:
			clamp(68px, 18vw, 88px)
			0;
	}


	/* ---------------------------------------------------------
	   TÍTULO
	   --------------------------------------------------------- */

	.home-ritual__categories {
		width: 100%;
	}

	.home-ritual__title {
		width: 100%;

		margin-inline: auto;

		font-size: 32px;
		line-height: 1.12;

		text-align: center;
	}


	/* ---------------------------------------------------------
	   LISTA
	   --------------------------------------------------------- */

	.home-ritual__list {
		width: 100%;

		margin:
			34px
			auto
			0;
	}

	.home-ritual__list-item {
		width: 100%;
	}


	/* ---------------------------------------------------------
	   OPCIÓN
	   --------------------------------------------------------- */

	.home-ritual__item {
		position: relative;

		width: 100%;

		display: flex;
		align-items: center;
		justify-content: center;

		padding:
			20px
			52px
			24px;

		font-size: 21px;
		text-align: center;
	}


	/* ---------------------------------------------------------
	   FLECHA
	   --------------------------------------------------------- */

	.home-ritual__item-arrow {
		position: absolute;

		right: 4px;
		top: 46%;

		width: 34px;
		height: 34px;

		transform:
			translateY(-50%)
			rotate(0deg);
	}

	.home-ritual__item-arrow-line {
		width: 15px;
	}

	.home-ritual__item.is-active .home-ritual__item-arrow {
		opacity: 1;

		transform:
			translateY(-50%)
			rotate(90deg);
	}

	.home-ritual__item:hover .home-ritual__item-arrow {
		transform:
			translateY(-50%);
	}

	.home-ritual__item.is-active:hover .home-ritual__item-arrow {
		transform:
			translateY(-50%)
			rotate(90deg);
	}


	/* ---------------------------------------------------------
	   VISOR GENERAL
	   --------------------------------------------------------- */

	.home-ritual__viewer {
		display: none;
	}


	/* ---------------------------------------------------------
	   PANEL EXPANDIDO
	   --------------------------------------------------------- */

	.home-ritual__list-item > .home-ritual__panel {
		width: 100%;

		padding:
			30px
			0
			32px;
	}

	.home-ritual__list-item > .home-ritual__panel[hidden] {
		display: none;
	}


	/* ---------------------------------------------------------
	   IMÁGENES
	   --------------------------------------------------------- */

	.home-ritual__media {
		width: 86%;

		margin:
			0
			auto;
	}

	.home-ritual__slides {
		width: 100%;
	}

	.home-ritual__slide {
		width: 100%;

		margin:
			0
			auto;

		aspect-ratio: 1.35 / 1;
	}

	.home-ritual__slide img {
		display: block;

		width: 100%;
		height: 100%;

		object-fit: cover;
	}


	/* ---------------------------------------------------------
	   PAGINACIÓN
	   --------------------------------------------------------- */

	.home-ritual__pagination {
		width: 100%;

		gap: 9px;

		margin-top: 16px;
	}

	.home-ritual__dot {
		width: 9px;
		height: 9px;
	}


	/* ---------------------------------------------------------
	   TEXTO
	   --------------------------------------------------------- */

	.home-ritual__content {
		width: 86%;

		margin:
			22px
			auto
			0;
	}

	.home-ritual__description {
		font-size: 16px;
		line-height: 1.65;
	}

	.home-ritual__explore {
		margin-top: 18px;
	}


	/* ---------------------------------------------------------
	   CREA TU EXPERIENCIA
	   --------------------------------------------------------- */

	.home-contact {
		padding:
			clamp(68px, 18vw, 88px)
			0;
	}

	.home-contact__title {
		font-size: 34px;
		line-height: 1.1;
	}

	.home-contact__text {
		width: 100%;

		margin-top: 18px;

		font-size: 17px;
		line-height: 1.6;
	}

	.home-contact__whatsapp {
		min-height: 48px;

		margin-top: 28px;

		padding-inline: 24px;
	}

}


/* =========================================================
   6. EXPERIENCIAS
   ========================================================= */

/* =========================================================
   6.0 EXPERIENCIAS — DESKTOP > 1100px
   ========================================================= */

@media (min-width: 1101px) {

	.experiences-selector__panel {
		height: clamp(398px, calc(43vh + 48px), 473px);
	}

	.experiences-selector__panel-purchase
	.woocommerce-variation-add-to-cart {
		margin-bottom: 66px;
	}

}


/* =========================================================
   6.1 TABLET / DESKTOP REDUCIDO — ≤ 1100px
   ========================================================= */

@media (max-width: 1100px) {

	/* ---------------------------------------------------------
	   Contención general
	   --------------------------------------------------------- */

	.experiences-page,
	.experiences-page > section,
	.experiences-selector,
	.experiences-academy,
	.experiences-collection,
	.experiences-selector > .rumkata-container,
	.experiences-academy__inner,
	.experiences-collection__inner {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.experiences-page *,
	.experiences-page *::before,
	.experiences-page *::after {
		box-sizing: border-box;
	}

	.experiences-selector > .rumkata-container,
	.experiences-academy__inner,
	.experiences-collection__inner {
		width: min(calc(100% - 48px), 760px);
		margin-inline: auto;
	}

	/* ---------------------------------------------------------
	   01 — Experiencias
	   --------------------------------------------------------- */

	.experiences-selector {
		height: auto;
		min-height: auto;
		display: block;
		padding: 104px 0 72px;
	}

	.experiences-selector > .rumkata-container {
		height: auto;
		display: block;
	}

	.experiences-selector__intro {
		width: 100%;
		max-width: 620px;
		margin: 0 auto 36px;
		text-align: center;
	}

	.experiences-selector__title,
	.experiences-selector__description {
		width: 100%;
		max-width: 100%;
		margin-inline: auto;
	}

	.experiences-selector__description {
		max-width: 520px;
		margin-top: 18px;
	}

	.experiences-selector__interface {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 34px;
	}

	.experiences-selector__navigation,
	.experiences-selector__viewer {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin: 0;
		padding: 0;
	}

	.experiences-selector__list {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: clamp(6px, 1.6vw, 16px);
		margin: 0;
		padding: 0;
	}

	.experiences-selector__list-item {
		min-width: 0;
	}

	.experiences-selector__option {
		position: relative;
		width: 100%;
		min-width: 0;
		min-height: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		gap: 8px;
		padding: 0 2px 8px;
		text-align: center;
	}

	.experiences-selector__option-marker {
		position: absolute;
		left: 50%;
		bottom: 0;
		width: 24px;
		height: 2px;
		min-height: 0;
		transform: translateX(-50%);
		opacity: 0;
	}

	.experiences-selector__option.is-active
	.experiences-selector__option-marker {
		opacity: 1;
	}

	.experiences-selector__option-image {
		width: clamp(56px, 9vw, 76px);
		height: clamp(56px, 9vw, 76px);
		flex: 0 0 auto;
	}

	.experiences-selector__option-content {
		width: 100%;
		min-width: 0;
		display: block;
	}

	.experiences-selector__option-title {
		display: block;
		width: 100%;
		font-size: clamp(11px, 1.7vw, 14px);
		line-height: 1.2;
		overflow-wrap: anywhere;
	}

	.experiences-selector__option-description {
		display: none;
	}

	
	.experiences-selector__panel {
		position: relative;
		width: min(100%, 620px);
		max-width: 100%;
		min-width: 0;
		height: auto;
		min-height: 0;
		margin-inline: auto;
	}

	.experiences-selector__panel[hidden] {
		display: none;
	}

	.experiences-selector__panel.is-active {
		display: block;
	}

	.experiences-selector__panel-media {
		position: absolute;
		inset: 16px;
		width: auto;
		height: auto;
		min-width: 0;
		min-height: 0;
	}

	.experiences-selector__panel-overlay {
		position: relative;
		inset: auto;
		z-index: 2;
		width: 100%;
		height: auto;
		min-height: 0;
		overflow: visible;
		clip-path: none;
	}

	.experiences-selector__panel-content {
		width: 100%;
		height: auto;
		min-height: 0;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		padding:
			clamp(34px, 5vw, 46px)
			clamp(42px, 6vw, 64px);
	}

	.experiences-selector__panel-title,
	.experiences-selector__panel-purchase,
	.experiences-selector__panel-purchase form,
	.experiences-selector__panel-purchase .variations,
	.experiences-selector__panel-purchase .single_variation_wrap,
	.experiences-selector__panel-purchase .single_variation,
	.experiences-selector__panel-purchase .woocommerce-variation-add-to-cart {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.experiences-selector__panel-purchase .variations {
		width: min(100%, 295px);
		max-width: 295px;
		margin: 0 auto 12px 0;
	}

	.experiences-selector__panel-purchase .variations select {
		width: 220px;
		max-width: 100%;
	}

	.experiences-selector__panel-purchase .variations tr {
		display: grid;
		grid-template-columns: minmax(120px, 0.38fr) minmax(0, 1fr);
		gap: 12px;
		align-items: center;
		width: 100%;
	}

	.experiences-selector__panel-purchase .variations th,
	.experiences-selector__panel-purchase .variations td,
	.experiences-selector__panel-purchase .variations select {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.experiences-selector__panel-description {
		max-height: none;
		margin-bottom: 24px;
		padding-right: 0;
		overflow: visible;
	}

	.experiences-selector__panel-purchase .single_variation_wrap {
		height: auto;
		min-height: 0;
	}

	.experiences-selector__panel-purchase .woocommerce-variation-add-to-cart {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		margin-top: 0;
	}

	.rumkata-experience-quantity,
	.rumkata-experience-price-summary {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.rumkata-experience-price-summary {
		align-items: flex-start;
	}

	.experiences-selector__panel-purchase .single_add_to_cart_button {
		width: 170px;
		max-width: 100%;
		min-width: 0;
		align-self: flex-start;
	}

	/* ---------------------------------------------------------
   02 — Talleres
   --------------------------------------------------------- */

.experiences-academy {
	min-height: auto;
	display: block;
	padding: 88px 0 72px;
}

.experiences-academy__inner {
	width: min(calc(100% - 48px), 760px);
	max-width: 760px;

	margin-inline: auto;

	display: flex;
	flex-direction: column;
	align-items: stretch;

	gap: 0;
}

/* ---------------------------------------------------------
   Introducción
   --------------------------------------------------------- */

.experiences-academy__intro {
	position: static;

	width: 100%;
	max-width: 620px;

	margin: 0 auto 34px;

	display: flex;
	flex-direction: column;
	align-items: center;

	gap: 16px;

	text-align: center;
}

.experiences-academy__title {
	width: 100%;
	max-width: 100%;

	margin: 0;

	text-align: center;
}

.experiences-academy__description {
	width: min(100%, 540px);
	max-width: 540px;

	margin: 0;

	text-align: center;
}

/* ---------------------------------------------------------
   Lista de talleres
   --------------------------------------------------------- */

.experiences-academy__products {
	width: 100%;
	max-width: 100%;
	min-width: 0;

	display: flex;
	flex-direction: column;
}

.experiences-academy__product {
	width: 100%;
	max-width: 100%;
	min-width: 0;

	display: flex;
	flex-direction: column;
	align-items: center;

	grid-template-columns: none;

	gap: 20px;

	min-height: 0;

	padding: 30px 0;
}

/* ---------------------------------------------------------
   Nombre / descripción del taller
   --------------------------------------------------------- */

.experiences-academy__product-copy {
	width: 100%;
	max-width: 560px;
	min-width: 0;

	margin-inline: auto;

	text-align: center;
}

.experiences-academy__product-title {
	margin: 0;

	text-align: center;
}

.experiences-academy__product-description {
	max-width: 520px;

	margin: 7px auto 0;

	text-align: center;
}

/* ---------------------------------------------------------
   Compra
   --------------------------------------------------------- */

.experiences-academy__product-purchase {
	width: 100%;
	max-width: 420px;
	min-width: 0;

	margin-inline: auto;

	text-align: center;
}

.experiences-academy__product-purchase form,
.experiences-academy__product-purchase form.cart,
.experiences-academy__product-purchase .variations_form {
	width: 100%;
	max-width: 100%;
	min-width: 0;

	margin-inline: auto;

	display: flex;
	flex-direction: column;
	align-items: center;
}

/* ---------------------------------------------------------
   Tipo de Taller
   --------------------------------------------------------- */

.experiences-academy__product-purchase .variations {
	width: min(100%, 240px);
	max-width: 240px;

	margin: 0 auto 14px;
}

.experiences-academy__product-purchase .variations tbody {
	display: block;

	width: 100%;
}

.experiences-academy__product-purchase .variations tr {
	width: 100%;

	display: flex;
	flex-direction: column;
	align-items: center;

	grid-template-columns: none;

	gap: 7px;
}

.experiences-academy__product-purchase .variations th,
.experiences-academy__product-purchase .variations td {
	display: block;

	width: 100%;
	max-width: 100%;
	min-width: 0;

	padding: 0;

	text-align: center;
}

.experiences-academy__product-purchase .variations select {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.experiences-academy__product-purchase .reset_variations {
	display: inline-block;

	margin: 7px auto 0;
}

/* ---------------------------------------------------------
   Variación
   --------------------------------------------------------- */

.experiences-academy__product-purchase .single_variation_wrap {
	width: 100%;
	max-width: 100%;
	min-width: 0;

	height: auto;
	min-height: 0;

	margin: 0 auto;

	display: flex;
	flex-direction: column;
	align-items: center;
}

.experiences-academy__product-purchase .single_variation {
	width: 100%;
	max-width: 100%;
}

/* ---------------------------------------------------------
   Plazas + precio + carrito
   --------------------------------------------------------- */

.experiences-academy__product-purchase
.woocommerce-variation-add-to-cart {
	width: 100%;
	max-width: 100%;
	min-width: 0;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;

	grid-template-columns: none;

	gap: 12px;

	margin: 0 auto;
}

/* ---------------------------------------------------------
   Contador
   El texto "Plazas" no participa en el centrado
   --------------------------------------------------------- */

.rumkata-workshop-quantity {
	position: relative;

	width: fit-content;
	max-width: 100%;
	min-width: 0;

	display: flex;
	align-items: center;
	justify-content: center;

	margin-inline: auto;
}

.rumkata-workshop-quantity-label {
	position: absolute;

	top: 50%;
	right: calc(100% + 14px);

	margin: 0;

	transform: translateY(-50%);

	white-space: nowrap;
	text-align: right;
}

/* ---------------------------------------------------------
   Precio
   --------------------------------------------------------- */

.rumkata-workshop-price-summary {
	width: auto;
	max-width: 100%;
	min-width: 0;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	margin-left: auto;
	margin-right: auto;

	text-align: center;
}

/* ---------------------------------------------------------
   Botón
   --------------------------------------------------------- */

.experiences-academy__product-purchase
.single_add_to_cart_button {
	width: 170px;
	max-width: 100%;
	min-width: 0;

	margin-left: auto;
	margin-right: auto;

	align-self: center;
}

/* ---------------------------------------------------------
   Detalles
   --------------------------------------------------------- */

.experiences-academy__product__description {
	max-height: none;

	padding-right: 0;

	overflow: visible;
}

/* ---------------------------------------------------------
   03 — Kits
   --------------------------------------------------------- */

.experiences-collection {
	min-height: auto;
	display: block;
	padding: 88px 0 72px;
}

.experiences-collection__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 34px;
}

/* ---------------------------------------------------------
   Introducción
   --------------------------------------------------------- */

.experiences-collection__intro {
	order: 1;

	width: 100%;
	max-width: 620px;

	margin: 0 auto;

	text-align: center;
}

.experiences-collection__eyebrow {
	width: 100%;
	max-width: 520px;

	margin-inline: auto;

	transform: none;
}

.experiences-collection__title,
.experiences-collection__description {
	width: 100%;
	max-width: 100%;

	margin-inline: auto;
}

.experiences-collection__description {
	max-width: 540px;
	margin-top: 18px;
}

/* ---------------------------------------------------------
   Interfaz
   --------------------------------------------------------- */

.experiences-collection__interface {
	order: 2;

	width: 100%;
	max-width: 100%;
	min-width: 0;

	display: flex;
	flex-direction: column;
	align-items: center;

	gap: 32px;
}

/* ---------------------------------------------------------
   Navegación de kits
   --------------------------------------------------------- */

.experiences-collection__navigation {
	order: 1;

	width: 100%;
	max-width: 100%;
	min-width: 0;

	margin-inline: auto;

	display: flex;
	justify-content: center;
}

.experiences-collection__list {
	width: fit-content;
	max-width: 100%;

	margin: 0 auto;
	padding: 0;
}

.experiences-collection__list-item {
	width: 100%;
	max-width: 100%;
}

.experiences-collection__option {
	width: 100%;

	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	align-items: center;

	gap: 12px;
}

/* ---------------------------------------------------------
   Viewer
   --------------------------------------------------------- */

.experiences-collection__viewer {
	order: 2;

	width: 100%;
	max-width: 100%;
	min-width: 0;
}

/* ---------------------------------------------------------
   Panel
   Imagen + contenido vuelven a formar una sola tarjeta
   --------------------------------------------------------- */

.experiences-collection__panel {
	position: relative;

	width: min(100%, 620px);
	max-width: 620px;
	min-width: 0;
	min-height: 560px;

	margin-inline: auto;

	display: grid;
	grid-template-columns: minmax(0, 1fr);

	align-items: stretch;

	overflow: hidden;
}

.experiences-collection__panel[hidden] {
	display: none;
}

/* ---------------------------------------------------------
   Imagen como fondo de toda la tarjeta
   --------------------------------------------------------- */

.experiences-collection__panel-media {
	position: absolute;
	inset: 0;

	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;

	z-index: 0;
}

.experiences-collection__panel-image {
	display: block;

	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;

	margin: 0;

	object-fit: cover;
	object-position: center;
}

/* ---------------------------------------------------------
   Contenido sobre la imagen
   --------------------------------------------------------- */

.experiences-collection__panel-content {
	position: relative;
	z-index: 1;

	width: 100%;
	max-width: 100%;
	min-width: 0;

	padding:
		clamp(34px, 5vw, 46px)
		clamp(34px, 6vw, 52px)
		clamp(38px, 6vw, 52px);

	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;

	text-align: left;
}

/* ---------------------------------------------------------
   Título y descripción
   --------------------------------------------------------- */

.experiences-collection__panel-title {
	width: 100%;
	max-width: 100%;

	margin: 0;

	text-align: left;
}

.experiences-collection__panel-description {
	width: 100%;
	max-width: 100%;

	max-height: none;

	margin: 18px 0 0;

	padding: 0;

	overflow: visible;

	text-align: left;
}

.experiences-collection__panel-description ul {
	width: 100%;

	margin: 0;

	padding-left: 1.3em;

	text-align: left;
}

.experiences-collection__panel-description li {
	text-align: left;
}

/* ---------------------------------------------------------
   Compra
   Alineada con el texto, no centrada
   --------------------------------------------------------- */

.experiences-collection__panel-purchase {
	width: 100%;
	max-width: 100%;
	min-width: 0;

	margin-top: 24px;

	text-align: left;
}

.experiences-collection__panel-purchase form.cart {
	width: 100%;
	max-width: 100%;
	min-width: 0;

	display: flex;
	flex-direction: column;
	align-items: flex-start;

	gap: 12px;

	margin: 0;
}

/* ---------------------------------------------------------
   Cantidad
   --------------------------------------------------------- */

.rumkata-kit-quantity {
	position: static;

	width: fit-content;
	max-width: 100%;
	min-width: 0;

	display: flex;
	align-items: center;
	justify-content: flex-start;

	margin: 0;
}

.rumkata-kit-quantity-label {
	position: static;

	margin-right: 14px;

	transform: none;

	white-space: nowrap;
	text-align: left;
}

/* ---------------------------------------------------------
   Precio
   --------------------------------------------------------- */

.rumkata-kit-price-summary {
	width: fit-content;
	max-width: 100%;
	min-width: 0;

	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;

	margin: 0;

	text-align: left;
}

/* ---------------------------------------------------------
   Botón
   --------------------------------------------------------- */

.experiences-collection__panel-purchase
.single_add_to_cart_button {
	width: 190px;
	max-width: 100%;
	min-width: 0;

	margin: 0;

	align-self: flex-start;
}


/* =========================================================
   6.2 MÓVIL — ≤ 600px
   ========================================================= */

@media (max-width: 600px) {

	.experiences-selector > .rumkata-container,
	.experiences-academy__inner,
	.experiences-collection__inner {
		width: min(calc(100% - 32px), 520px);
	}

	/* Experiencias */
	.experiences-selector {
		padding: 92px 0 58px;
	}

	.experiences-selector__intro {
		margin-bottom: 30px;
	}

	.experiences-selector__title {
		font-size: clamp(38px, 11vw, 50px);
		line-height: 1;
	}

	.experiences-selector__description {
		max-width: 360px;
		font-size: 15px;
		line-height: 1.5;
	}

	.experiences-selector__interface {
		gap: 28px;
	}

	.experiences-selector__list {
		gap: 4px;
	}

	.experiences-selector__option {
		gap: 6px;
		padding-inline: 0;
	}

	.experiences-selector__option-image {
		width: clamp(44px, 13vw, 58px);
		height: clamp(44px, 13vw, 58px);
	}

	.experiences-selector__option-title {
		font-size: clamp(9px, 2.7vw, 11px);
		line-height: 1.12;
	}

	.experiences-selector__panel-media {
		inset: 12px;
	}

	.experiences-selector__panel-content {
		padding: 30px clamp(30px, 8vw, 42px) 34px;
	}

	.experiences-selector__panel-title {
		font-size: clamp(26px, 8vw, 34px);
	}

	.experiences-selector__panel-purchase .variations tr {
		grid-template-columns: minmax(0, 1fr);
		gap: 6px;
	}

	.experiences-selector__panel-purchase .variations th,
	.experiences-selector__panel-purchase .variations td {
		display: block;
		width: 100%;
		padding-right: 0;
	}

	.experiences-selector__panel-purchase .variations {
		width: min(100%, 200px);
		max-width: 200px;
		margin: 0 auto 12px 0;
	}

	.experiences-selector__panel-purchase .variations select {
		width: 220px;
		max-width: 100%;
	}

	.experiences-selector__panel-purchase .single_add_to_cart_button {
		width: 190px;
		max-width: 100%;
		align-self: flex-start;
	}

	/* Talleres */

.experiences-academy {
	padding: 68px 0 54px;
}

.experiences-academy__inner {
	width: min(calc(100% - 32px), 520px);
	max-width: 520px;

	margin-inline: auto;

	gap: 0;
}

/* Introducción */

.experiences-academy__intro {
	width: 100%;
	max-width: 100%;

	margin: 0 auto 28px;

	display: flex;
	flex-direction: column;
	align-items: center;

	gap: 14px;

	text-align: center;
}

.experiences-academy__title {
	width: 100%;
	max-width: 100%;

	margin: 0;

	font-size: clamp(38px, 12vw, 50px);
	line-height: 1;

	text-align: center;
}

.experiences-academy__description {
	width: min(100%, 360px);
	max-width: 360px;

	margin: 0;

	font-size: 15px;
	line-height: 1.5;

	text-align: center;
}

/* Taller */

.experiences-academy__product {
	width: 100%;
	max-width: 100%;

	display: flex;
	flex-direction: column;
	align-items: center;

	grid-template-columns: none;

	gap: 18px;

	min-height: 0;
	padding: 26px 0;
}

.experiences-academy__product-copy {
	width: 100%;
	max-width: 100%;

	margin-inline: auto;

	text-align: center;
}

.experiences-academy__product-title {
	margin: 0;

	text-align: center;
}

/* Compra */

.experiences-academy__product-purchase {
	width: 100%;
	max-width: 100%;

	margin-inline: auto;

	text-align: center;
}

.experiences-academy__product-purchase form,
.experiences-academy__product-purchase form.cart,
.experiences-academy__product-purchase .variations_form {
	width: 100%;
	max-width: 100%;

	margin-inline: auto;

	display: flex;
	flex-direction: column;
	align-items: center;
}

/* Tipo de Taller */

.experiences-academy__product-purchase .variations {
	width: min(100%, 240px);
	max-width: 240px;

	margin: 0 auto 14px;
}

.experiences-academy__product-purchase .variations tbody {
	display: block;
	width: 100%;
}

.experiences-academy__product-purchase .variations tr {
	width: 100%;

	display: flex;
	flex-direction: column;
	align-items: center;

	grid-template-columns: none;

	gap: 7px;
}

.experiences-academy__product-purchase .variations th,
.experiences-academy__product-purchase .variations td {
	display: block;

	width: 100%;
	max-width: 100%;

	padding: 0;

	text-align: center;
}

.experiences-academy__product-purchase .variations select {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.experiences-academy__product-purchase .reset_variations {
	display: inline-block;

	margin: 7px auto 0;
}

/* Variación */

.experiences-academy__product-purchase .single_variation_wrap {
	width: 100%;
	max-width: 100%;

	height: auto;
	min-height: 0;

	margin: 0 auto;

	display: flex;
	flex-direction: column;
	align-items: center;
}

.experiences-academy__product-purchase .single_variation {
	width: 100%;
	max-width: 100%;
}

/* Plazas + precio + botón */

.experiences-academy__product-purchase
.woocommerce-variation-add-to-cart {
	width: 100%;
	max-width: 100%;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;

	grid-template-columns: none;

	gap: 12px;

	margin: 0 auto;
}

/* Contador centrado independientemente del texto "Plazas" */

.rumkata-workshop-quantity {
	position: relative;

	width: fit-content;
	max-width: 100%;
	min-width: 0;

	display: flex;
	align-items: center;
	justify-content: center;

	margin-inline: auto;
}

.rumkata-workshop-quantity-label {
	position: absolute;

	top: 50%;
	right: calc(100% + 14px);

	margin: 0;

	transform: translateY(-50%);

	white-space: nowrap;
	text-align: right;
}

/* Precio */

.rumkata-workshop-price-summary {
	width: auto;
	max-width: 100%;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	margin-left: auto;
	margin-right: auto;

	text-align: center;
}

/* Botón */

.experiences-academy__product-purchase
.single_add_to_cart_button {
	width: 170px;
	max-width: 100%;

	margin-left: auto;
	margin-right: auto;

	align-self: center;
}

	/* ---------------------------------------------------------
   Kits — Móvil
   --------------------------------------------------------- */

.experiences-collection {
	padding: 76px 0 58px;
}

.experiences-collection__inner {
	align-items: center;
	gap: 28px;
}

/* ---------------------------------------------------------
   Introducción
   --------------------------------------------------------- */

.experiences-collection__title {
	font-size: clamp(38px, 12vw, 50px);
	line-height: 1;
}

.experiences-collection__description {
	max-width: 360px;

	font-size: 15px;
	line-height: 1.5;
}

/* ---------------------------------------------------------
   Interfaz
   --------------------------------------------------------- */

.experiences-collection__interface {
	align-items: center;
	gap: 26px;
}

/* ---------------------------------------------------------
   Navegación
   --------------------------------------------------------- */

.experiences-collection__navigation {
	width: 100%;
	max-width: 100%;

	margin-inline: auto;

	display: flex;
	justify-content: center;
}

.experiences-collection__list {
	width: fit-content;
	max-width: 100%;

	margin: 0 auto;
	padding: 0;
}

.experiences-collection__list-item {
	width: 100%;
	max-width: 100%;
}

.experiences-collection__option {
	width: 100%;

	display: grid;
	grid-template-columns: 32px minmax(0, 1fr);
	align-items: center;

	gap: 10px;
}

/* ---------------------------------------------------------
   Panel
   --------------------------------------------------------- */

.experiences-collection__viewer {
	width: 100%;
	max-width: 100%;
}

.experiences-collection__panel {
	position: relative;

	width: 100%;
	max-width: 100%;
	min-height: 520px;

	margin-inline: auto;

	display: grid;
	grid-template-columns: minmax(0, 1fr);

	overflow: hidden;
}

/* ---------------------------------------------------------
   Imagen
   Ocupa toda la tarjeta y no se separa del contenido
   --------------------------------------------------------- */

.experiences-collection__panel-media {
	position: absolute;
	inset: 0;

	width: 100%;
	height: 100%;

	z-index: 0;
}

.experiences-collection__panel-image {
	display: block;

	width: 100%;
	height: 100%;

	max-width: none;
	max-height: none;

	object-fit: cover;
	object-position: center;

	margin: 0;
}

/* ---------------------------------------------------------
   Contenido
   --------------------------------------------------------- */

.experiences-collection__panel-content {
	position: relative;
	z-index: 1;

	width: 100%;
	max-width: 100%;

	padding:
		32px
		clamp(24px, 7vw, 34px)
		34px;

	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;

	text-align: left;
}

/* ---------------------------------------------------------
   Título
   --------------------------------------------------------- */

.experiences-collection__panel-title {
	width: 100%;

	margin: 0;

	text-align: left;
}

/* ---------------------------------------------------------
   Lista
   --------------------------------------------------------- */

.experiences-collection__panel-description {
	width: 100%;
	max-width: 100%;

	max-height: none;

	margin: 16px 0 0;

	padding: 0;

	overflow: visible;

	text-align: left;
}

.experiences-collection__panel-description ul {
	width: 100%;

	margin: 0;

	padding-left: 1.25em;

	text-align: left;
}

.experiences-collection__panel-description li {
	text-align: left;
}

/* ---------------------------------------------------------
   Compra
   Todo alineado a la izquierda con el contenido
   --------------------------------------------------------- */

.experiences-collection__panel-purchase {
	width: 100%;
	max-width: 100%;

	margin-top: 22px;

	text-align: left;
}

.experiences-collection__panel-purchase form.cart {
	width: 100%;
	max-width: 100%;

	display: flex;
	flex-direction: column;
	align-items: flex-start;

	gap: 12px;

	margin: 0;
}

/* ---------------------------------------------------------
   Cantidad
   --------------------------------------------------------- */

.rumkata-kit-quantity {
	position: static;

	width: fit-content;
	max-width: 100%;

	display: flex;
	align-items: center;
	justify-content: flex-start;

	margin: 0;
}

.rumkata-kit-quantity-label {
	position: static;

	margin-right: 12px;

	transform: none;

	white-space: nowrap;
	text-align: left;
}

/* ---------------------------------------------------------
   Precio
   --------------------------------------------------------- */

.rumkata-kit-price-summary {
	width: fit-content;
	max-width: 100%;

	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;

	margin: 0;

	text-align: left;
}

/* ---------------------------------------------------------
   Botón
   --------------------------------------------------------- */

.experiences-collection__panel-purchase
.single_add_to_cart_button {
	width: 190px;
	max-width: 100%;

	margin: 0;

	align-self: flex-start;
}



}

}

   /*7.2 CHECKOUT MÓVIL + TABLET — ≤ 900px
   Misma arquitectura móvil en todo el rango
   ========================================================= */

@media (max-width: 900px) {

	/* =====================================================
	   ESTRUCTURA ÚNICA DEL CHECKOUT — MÓVIL + TABLET
	   Evita que layout.css recupere sus grids de escritorio
	   entre 601px y 900px.
	   ===================================================== */

	.rumkata-checkout {
		width: min(100%, 480px);
		max-width: 480px;
		margin-inline: auto;
	}

	/* PASO 1 — Carrito */
	.rumkata-cart__content {
		display: flex;
		flex-direction: column;
	}

	.rumkata-cart__items {
		display: flex;
		flex-direction: column;
	}

	.rumkata-cart__item {
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	.rumkata-cart__media {
		display: none;
	}

	.rumkata-cart__product {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.rumkata-cart__item-subtotal {
		position: static;
		width: 100%;
		max-width: 100%;
		min-width: 0;

		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;

		align-self: stretch;
		text-align: left;
	}

	.rumkata-cart__item-subtotal-label,
	.rumkata-cart__item-subtotal-value,
	.rumkata-cart__item-subtotal-value .amount,
	.rumkata-cart__item-subtotal .amount {
		display: block;
		width: auto;
		max-width: 100%;
		margin: 0;
		text-align: left;
	}

	.rumkata-cart__summary {
		position: static;
		width: 100%;
		max-width: 100%;
		margin: 0;
	}

	/* PASO 2 — Datos */
	.rumkata-checkout__customer-details {
		width: 100%;
		max-width: 100%;
		min-width: 0;

		display: flex;
		flex-direction: column;

		gap: 18px;
	}

	.rumkata-checkout__billing,
	.rumkata-checkout__reservation {
		width: 100%;
		max-width: 100%;
		min-width: 0;

		display: flex;
		flex-direction: column;

		gap: 18px;
	}

	.rumkata-checkout__field--first-name,
	.rumkata-checkout__field--last-name,
	.rumkata-checkout__field--age,
	.rumkata-checkout__field--email,
	.rumkata-checkout__field--phone,
	.rumkata-checkout__field--location {
		grid-column: auto;
	}

	.rumkata-checkout .form-row,
	.rumkata-checkout .form-row input,
	.rumkata-checkout .form-row select,
	.rumkata-checkout .form-row textarea,
	.rumkata-checkout .rumkata-calendar {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	/* PASO 3 — Pago */
	.rumkata-checkout__order-review {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.rumkata-checkout__order-review table {
		width: 100%;
		max-width: 100%;
		table-layout: fixed;
	}

	/* IMPORTANTE:
	   No se modifica #place_order. Se conserva exactamente
	   la regla ya aprobada para Finalizar pedido. */


	/* -----------------------------------------------------
	   Contenedor general
	   ----------------------------------------------------- */

	.rumkata-checkout-screen {
		width: 100%;
		max-width: 100%;
		min-width: 0;

		min-height: calc(100dvh - 72px);
		margin-top: 72px;

		padding-inline: clamp(24px, 6vw, 32px);

		box-sizing: border-box;
	}

	.rumkata-checkout {
		width: min(100%, 480px);
		max-width: 480px;
		min-width: 0;

		margin-inline: auto;
		padding: 28px 0 48px;
	}


	/* -----------------------------------------------------
	   Pasos
	   ----------------------------------------------------- */

	.rumkata-checkout__steps {
		width: min(100%, 340px);
		max-width: 340px;

		margin: 0 auto 38px;
	}

	.rumkata-checkout__steps-list::before {
		top: 16px;
	}

	.rumkata-checkout__step-number {
		width: 34px;
		height: 34px;
		flex-basis: 34px;

		font-size: 12px;
	}

	.rumkata-checkout__step-label {
		margin-top: 8px;

		font-size: 11px;
	}


	/* -----------------------------------------------------
	   Contenedores principales
	   ----------------------------------------------------- */

	.rumkata-cart,
	.rumkata-cart__content,
	.rumkata-cart__items,
	.rumkata-cart__summary,
	.rumkata-checkout__customer-details,
	.rumkata-checkout__order-review,
	.rumkata-checkout__actions,
	.rumkata-checkout-empty,
	.rumkata-checkout-complete {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}


	/* -----------------------------------------------------
	   Encabezados
	   ----------------------------------------------------- */

	.rumkata-cart__header,
	.rumkata-checkout__panel-header {
		width: 100%;
		max-width: 100%;

		margin-bottom: 26px;
	}

	.rumkata-cart__title,
	.rumkata-checkout__panel-title {
		max-width: 100%;

		font-size: clamp(26px, 8vw, 34px);
		line-height: 1.08;

		overflow-wrap: break-word;
	}


	/* -----------------------------------------------------
	   Carrito
	   ----------------------------------------------------- */

	.rumkata-cart__content {
		display: flex;
		flex-direction: column;

		gap: 36px;
	}

	.rumkata-cart__items {
		width: 100%;

		display: flex;
		flex-direction: column;

		gap: 16px;
	}

	.rumkata-cart__item {
		position: relative;

		width: 100%;
		max-width: 100%;
		min-width: 0;

		display: flex;
		flex-direction: column;
		align-items: stretch;

		gap: 14px;

		padding: 20px 18px;
	}

	.rumkata-cart__remove {
		position: absolute;

		top: 14px;
		right: 14px;
	}

	.rumkata-cart__media {
		display: none;
	}

	.rumkata-cart__product {
		width: 100%;
		max-width: 100%;
		min-width: 0;

		padding-right: 32px;
	}

	.rumkata-cart__product-name,
	.rumkata-cart__meta {
		width: 100%;
		max-width: 100%;

		overflow-wrap: normal;
		word-break: normal;
	}

	.rumkata-cart__quantity {
		align-self: flex-start;
	}

	.rumkata-cart__item-subtotal {
		position: static;

		width: 100%;
		max-width: 100%;
		min-width: 0;

		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;

		gap: 6px;

		margin: 0;
		padding: 0;

		text-align: left;
		align-self: stretch;
	}

	.rumkata-cart__item-subtotal > * {
		width: auto;
		max-width: 100%;

		margin: 0;

		text-align: left;
	}

	.rumkata-cart__item-subtotal .amount {
		display: block;
		width: auto;
		max-width: 100%;
		margin: 0;
		text-align: left;
	}


	/* -----------------------------------------------------
	   Totales del carrito
	   ----------------------------------------------------- */

	.rumkata-cart__summary {
		width: 100%;
		max-width: 100%;

		position: static;

		margin: 0;
		padding-inline: 0;
	}

	.rumkata-cart__totals,
	.rumkata-cart__totals table {
		width: 100%;
		max-width: 100%;

		table-layout: fixed;
	}

	.rumkata-cart__totals th,
	.rumkata-cart__totals td {
		padding-left: 0;
		padding-right: 0;
	}

	.rumkata-cart__totals th {
		text-align: left;
	}

	.rumkata-cart__totals td {
		text-align: right;
	}


	/* -----------------------------------------------------
	   Acciones
	   ----------------------------------------------------- */

	.rumkata-cart__summary-actions,
	.rumkata-checkout__actions {
		width: 100%;
		max-width: 100%;

		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;

		gap: 12px;
	}

	.rumkata-cart__continue,
	.rumkata-checkout__continue {
		width: min(100%, 260px);
		max-width: 260px;
		min-width: 0;

		align-self: center;
	}

	.rumkata-cart__back-experiences,
	.rumkata-checkout__back,
	.rumkata-checkout__back--payment {
		width: auto;
		max-width: min(100%, 220px);
	}


	/* -----------------------------------------------------
	   Datos
	   ----------------------------------------------------- */

	.rumkata-checkout__customer-details {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.rumkata-checkout__billing,
	.rumkata-checkout__reservation {
		width: 100%;
		max-width: 100%;
		min-width: 0;

		display: flex;
		flex-direction: column;

		gap: 18px;
	}

	.rumkata-checkout__field--first-name,
	.rumkata-checkout__field--last-name,
	.rumkata-checkout__field--age,
	.rumkata-checkout__field--email,
	.rumkata-checkout__field--phone,
	.rumkata-checkout__field--location {
		grid-column: auto;
	}

	.rumkata-checkout .form-row,
	.rumkata-checkout .form-row input,
	.rumkata-checkout .form-row select,
	.rumkata-checkout .form-row textarea {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}


	/* -----------------------------------------------------
	   Calendario
	   ----------------------------------------------------- */

	.rumkata-checkout .rumkata-calendar {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.rumkata-checkout .rumkata-calendar__header {
		grid-template-columns:
			34px
			minmax(0, 1fr)
			34px;

		padding-inline: 6px;
	}


	/* -----------------------------------------------------
	   Política de privacidad / Términos
	   ----------------------------------------------------- */

	.rumkata-checkout .woocommerce-terms-and-conditions-wrapper,
	.rumkata-checkout .woocommerce-privacy-policy-text {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.rumkata-checkout .woocommerce-form__label-for-checkbox,
	.rumkata-checkout label.woocommerce-form__label-for-checkbox {
		width: 100%;
		max-width: 100%;

		display: flex;
		flex-direction: row;
		align-items: flex-start;
		justify-content: flex-start;

		gap: 10px;

		margin: 0;

		text-align: left;
	}

	.rumkata-checkout
	.woocommerce-form__label-for-checkbox
	input[type="checkbox"],
	.rumkata-checkout
	label.woocommerce-form__label-for-checkbox
	input[type="checkbox"] {
		flex: 0 0 auto;

		width: 18px;
		height: 18px;

		margin: 4px 0 0;
	}

	.rumkata-checkout
	.woocommerce-form__label-for-checkbox
	span,
	.rumkata-checkout
	label.woocommerce-form__label-for-checkbox
	span {
		flex: 1 1 auto;

		width: auto;
		min-width: 0;

		text-align: left;
	}


	/* -----------------------------------------------------
	   Pago — Resumen del pedido
	   ----------------------------------------------------- */

	.rumkata-checkout__review-title {
		width: 100%;
		max-width: 100%;

		margin: 30px auto 22px;

		font-size: clamp(25px, 7vw, 30px);
		line-height: 1.1;

		text-align: center;

		overflow-wrap: normal;
		word-break: normal;
	}


	/* -----------------------------------------------------
	   Resumen del pedido / Pago
	   ----------------------------------------------------- */

	.rumkata-checkout__order-review {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.rumkata-checkout__order-review table {
		width: 100%;
		max-width: 100%;

		table-layout: fixed;
	}

	.rumkata-checkout__order-review th,
	.rumkata-checkout__order-review td {
		padding: 12px 8px;

		overflow-wrap: anywhere;
		word-break: normal;
	}


	/* -----------------------------------------------------
	   Finalizar pedido
	   ----------------------------------------------------- */

	.rumkata-checkout__order-review .place-order {
		width: 100%;
		max-width: 100%;

		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;

		gap: 12px;
	}

	.rumkata-checkout__order-review #place_order,
	.rumkata-checkout #place_order {
		display: inline-flex !important;
		flex: 0 0 auto !important;

		width: auto !important;
		min-width: 0 !important;
		max-width: calc(100% - 24px) !important;

		align-self: center;

		margin-left: auto;
		margin-right: auto;
		padding-left: 30px;
		padding-right: 30px;

		white-space: nowrap;
	
	}


	/* -----------------------------------------------------
	   Checkout vacío / completado
	   ----------------------------------------------------- */

	.rumkata-checkout-empty__content,
	.rumkata-checkout-complete__content {
		width: min(100%, 340px);
		max-width: 340px;

		margin-inline: auto;

		text-align: center;
	}
}
