/* ============================================================
   lentosos.css — Overrides custom para Lentosos
   Carga DESPUÉS de main.css y Bootstrap para ganar especificidad
   ============================================================ */

/* ============================================================
   SPLASH SCREEN — Animación de entrada con logo
   ============================================================ */

#lentosos-splash {
	position: fixed;
	inset: 0;
	z-index: 999999;
	background: #12121e;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	transition: opacity .65s ease, visibility .65s ease;
}
#lentosos-splash.splash-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.splash-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.8rem;
}

/* Contenedor logo + anillos */
.splash-logo-wrap {
	position: relative;
	width: 210px;
	height: 210px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Logo entra escalando con overshoot */
.splash-logo {
	width: 164px;
	height: 164px;
	object-fit: contain;
	border-radius: 50%;
	opacity: 0;
	position: relative;
	z-index: 2;
	animation: splashLogoIn 1s cubic-bezier(.34,1.56,.64,1) .1s forwards;
}
@keyframes splashLogoIn {
	0%   { opacity: 0; transform: scale(.3) rotate(-20deg); }
	65%  { opacity: 1; transform: scale(1.07) rotate(4deg);  }
	100% { opacity: 1; transform: scale(1)    rotate(0deg);  }
}

/* Pulso de brillo detrás del logo */
.splash-logo-wrap::before {
	content: '';
	position: absolute;
	width: 140px; height: 140px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(228,76,101,.35) 0%, transparent 70%);
	animation: splashGlow 1.8s ease-in-out .6s infinite alternate;
}
@keyframes splashGlow {
	from { transform: scale(.9); opacity: .5; }
	to   { transform: scale(1.2); opacity: 1; }
}

/* Anillo rojo giratorio (primer aro) */
.splash-ring {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 3px solid transparent;
	border-top-color: #e44c65;
	border-right-color: rgba(228,76,101,.35);
	animation: splashSpin 1.3s linear infinite,
	           splashFadeOpacity .8s ease .2s forwards;
	opacity: 0;
}
@keyframes splashSpin { to { transform: rotate(360deg); } }
@keyframes splashFadeOpacity { to { opacity: 1; } }

/* Segundo anillo (más grande, sentido inverso, más lento) */
.splash-logo-wrap::after {
	content: '';
	position: absolute;
	inset: -14px;
	border-radius: 50%;
	border: 1.5px solid transparent;
	border-bottom-color: rgba(228,76,101,.65);
	border-left-color: rgba(228,76,101,.2);
	animation: splashSpin 2.2s linear infinite reverse,
	           splashFadeOpacity 1s ease .5s forwards;
	opacity: 0;
}

/* Tagline */
.splash-tagline {
	font-family: 'Roboto', sans-serif;
	font-weight: 100;
	font-size: 1rem;
	letter-spacing: .4em;
	text-transform: uppercase;
	color: rgba(255,255,255,.7);
	margin: 0;
	opacity: 0;
	animation: splashTagIn .8s ease .75s forwards;
}
@keyframes splashTagIn {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* Barra de progreso */
.splash-bar {
	width: 160px;
	height: 2px;
	background: rgba(255,255,255,.1);
	border-radius: 99px;
	overflow: hidden;
	opacity: 0;
	animation: splashFadeOpacity .5s ease .5s forwards;
}
.splash-bar-fill {
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, #e44c65, #ff8fa3);
	border-radius: 99px;
	animation: splashProgress 2.2s cubic-bezier(.4,0,.2,1) .5s forwards;
}
@keyframes splashProgress {
	0%   { width: 0%;   }
	70%  { width: 80%;  }
	100% { width: 100%; }
}

/* ---- FIN SPLASH ---- */

/* --- Cards Bootstrap en fondos de catálogo (wrapper style1 = fondo claro) --- */
#main .card                   { background: #fff; border: none; }
#main .card .card-title       { color: #1a1a2e !important; font-weight: 700; }
#main .card .card-text        { color: #555 !important; }
#main .card .badge-price      { color: #198754 !important; font-weight: 700; }
#main .card .form-label       { color: #333 !important; }
#main .card .qty-select       { color: #333 !important; background: #fff !important; }
#main .card .btn-add-cart     { color: #fff !important; }

/* text-muted legible en fondos claros (páginas de catálogo) */
#main .text-muted             { color: #6c757d !important; }

/* Header intro text en páginas de catálogo */
#main header.major h2         { color: #1a1a2e; }
#main header.major p          { color: #555; }
#main > .wrapper p.text-muted { color: #6c757d !important; }

/* CTA WhatsApp en catálogos */
.wa-cta                       { color: #fff !important; text-decoration: none; }
.wa-cta:hover                 { color: #fff !important; }

/* --- Spotlight sections en index (fondos oscuros) --- */
.spotlight .content h2,
.spotlight .content h3,
.spotlight .content p         { color: #fff; }

/* --- Carrito --- */
#main .total-amount           { color: #25D366 !important; font-weight: 800; }
#main .btn-vaciar             { color: rgba(255,255,255,.8) !important; }

/* nav en header oscuro (páginas internas, no landing) */
body:not(.landing) #header nav ul li a {
	color: rgba(255,255,255,.85);
}
body:not(.landing) #header nav ul li a:hover {
	color: #fff;
}

/* --- Video wrap: asegura que el video llene su contenedor --- */
.video-wrap {
	width: 100%;
	overflow: hidden;
	background: #000;
	line-height: 0; /* elimina gap fantasma bajo elementos inline */
}
.video-wrap video {
	width: 100%;
	height: auto;
	max-height: 65vh;
	min-height: 240px;
	object-fit: cover;
	display: block;
}

/* --- Layout escritorio: spotlight en columna (video arriba, texto abajo) --- */
@media screen and (min-width: 981px) {

	/* Forzar layout de columna para que el video quede arriba */
	.spotlight {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		min-height: auto !important;
		height: auto !important;
	}

	/* La "imagen" / video ocupa 100% del ancho */
	.spotlight > .image.main,
	.spotlight > span.image.main {
		width: 100% !important;
		height: auto !important;
		position: static !important;
		left: auto !important; right: auto !important;
		top: auto !important; bottom: auto !important;
		margin: 0 !important;
	}

	/* El texto va debajo, centrado */
	.spotlight > .content {
		width: 100% !important;
		max-width: 780px !important;
		margin: 0 auto !important;
		padding: 3.5rem 2rem 2.5rem !important;
		border: none !important;
		background: transparent !important;
		position: static !important;
		left: auto !important; right: auto !important;
		top: auto !important; bottom: auto !important;
		text-align: center !important;
	}
	.spotlight > .content ul.actions {
		justify-content: center !important;
		display: flex !important;
	}

	/* El go-to-next queda al final */
	.spotlight > .goto-next {
		position: relative !important;
		display: block !important;
		margin: 0 auto !important;
	}
}

/* --- Grilla de categorías --- */
.cat-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
	max-width: 880px;
	margin: 0 auto 3rem auto;
}
@media (max-width: 600px) {
	.cat-grid { grid-template-columns: 1fr; }
}
.cat-card {
	position: relative;
	border-radius: 14px;
	overflow: hidden;
	display: block;
	text-decoration: none;
	box-shadow: 0 6px 20px rgba(0,0,0,.4);
	transition: transform .25s ease, box-shadow .25s ease;
}
.cat-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 16px 32px rgba(0,0,0,.55);
}
.cat-card img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	display: block;
	filter: brightness(.78);
	transition: filter .3s ease;
}
.cat-card:hover img { filter: brightness(.95); }
.cat-card .cat-label {
	position: absolute;
	bottom: 0; left: 0; right: 0;
	padding: 1rem 1.2rem .85rem;
	background: linear-gradient(transparent, rgba(18,18,28,.90));
	color: #fff !important;
	font-size: 1.05rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.cat-card .cat-label i { color: #e44c65; }

/* --- Botones redes sociales --- */
.social-btn {
	display: inline-flex; align-items: center; gap: .4rem;
	padding: .6rem 1.3rem; border-radius: 50px;
	font-weight: 600; text-decoration: none !important;
	font-size: .9rem; transition: opacity .2s;
}
.social-btn:hover               { opacity: .85; }
.social-btn-wa                  { background: #25D366; color: #fff !important; }
.social-btn-ig                  { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); color: #fff !important; }
.social-btn-fb                  { background: #1877F2;  color: #fff !important; }
.social-btn-mail                { background: #555;     color: #fff !important; }

/* --- Info cards --- */
.info-row {
	display: flex; flex-wrap: wrap;
	gap: 1.25rem; justify-content: center;
	margin-bottom: 2.25rem;
}
.info-card {
	background: rgba(255,255,255,.07);
	border: 1px solid rgba(255,255,255,.13);
	border-radius: 12px;
	padding: 1.1rem 1.4rem;
	min-width: 190px;
	text-align: center;
	color: rgba(255,255,255,.9);
}
.info-card i       { font-size: 1.4rem; margin-bottom: .4rem; display: block; }
.info-card strong  { display: block; margin-bottom: .25rem; color: #fff; }
.info-card p       { margin: 0; font-size: .85rem; color: rgba(255,255,255,.65); }
.info-card a       { color: #e44c65 !important; }

/* ---- FIN lentosos.css ---- */
