/*
Theme Name: Sarcomp
Theme URI: https://sarcomp.com/wordpress
Author: Sarcomp
Author URI: https://sarcomp.com/wordpress
Description: Tema hijo de PopularFX para Sarcomp, tienda de tecnologia (celulares, computadoras y accesorios). Catalogo con pedidos por WhatsApp. Diseno azul y blanco moderno.
Version: 1.00.00
Template: popularfx
Text Domain: sarcomp
Requires at least: 6.00
Tested up to: 6.00
Requires PHP: 7.2
*/

/* ==========================================================================
   SARCOMP - Estilos de marca (azul / blanco)
   Complementa a los estilos del tema padre PopularFX.
   ========================================================================== */

:root{
	--sarcomp-marino:#001d3a;
	--sarcomp-azul-oscuro:#113a5c;
	--sarcomp-azul:#1a5cd8;
	--sarcomp-azul-brillante:#1a6bff;
	--sarcomp-azul-hover:#1352c4;
	--sarcomp-celeste:#3d9bff;
	--sarcomp-verde:#25d366;
	--sarcomp-verde-hover:#1eb855;
	--sarcomp-gris-fondo:#eef3fb;
	--sarcomp-borde:#d7e3f5;
	--sarcomp-texto:#23334d;
	--sarcomp-texto-suave:#5d6f92;
}

body{
	font-family:'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
	color:var(--sarcomp-texto);
	background:#ffffff;
	-webkit-font-smoothing:antialiased;
}
a{color:var(--sarcomp-azul);}
img{max-width:100%;height:auto;}

/* ---------- Encabezado ---------- */
.site-header{
	background:#ffffff;
	box-shadow:00 2px 14px rgba(00,29,57,.08);
	border-bottom:1px solid var(--sarcomp-borde);
	padding:10px 5%;
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
}
.site-header .site-title a{
	color:var(--sarcomp-azul-oscuro);
	font-weight:800;
	font-size:1.35rem;
	letter-spacing:-.5px;
}
.site-description{
	color:var(--sarcomp-texto-suave);
	font-size:.82rem;
	margin:2px 00 00;
}
.main-navigation ul li a{
	color:#233a5e;
	font-weight:600;
}
.main-navigation ul li a:hover{
	color:var(--sarcomp-azul-brillante);
}

/* ---------- Contenedor de contenido ---------- */
.sarcomp-contenedor{
	max-width:75rem;
	margin:auto;
	padding:00 20px;
}

/* ---------- Hero de portada ---------- */
.sarcomp-hero{
	background:
		radial-gradient(circle at 85% 20%,rgba(61,155,255,.35),transparent 45%),
		linear-gradient(135deg,var(--sarcomp-marino) 00%,var(--sarcomp-azul-oscuro) 55%,var(--sarcomp-azul) 100%);
	color:#ffffff;
	padding:64px 20px 72px;
	text-align:center;
}
.sarcomp-hero h1{
	font-size:clamp(1.8rem,4.2vw,3rem);
	font-weight:800;
	margin:00 14px;
	line-height:1.15;
}
.sarcomp-hero p{
	font-size:clamp(1rem,1.6vw,1.2rem);
	max-width:640px;
	margin:00 auto 26px;
	color:#d6e6ff;
	line-height:1.6;
}
.sarcomp-hero-acciones{
	display:flex;
	gap:12px;
	justify-content:center;
	flex-wrap:wrap;
}

/* ---------- Botones ---------- */
.sarcomp-btn{
	display:inline-block;
	padding:13px 26px;
	border-radius:8px;
	font-weight:700;
	text-decoration:none;
	transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
	line-height:1.2;
	border:none;
	cursor:pointer;
}
.sarcomp-btn:hover{transform:translateY(-2px);}
.sarcomp-btn-blanco{background:#ffffff;color:var(--sarcomp-azul-oscuro);}
.sarcomp-btn-blanco:hover{box-shadow:00 8px 20px rgba(255,255,255,.25);}
.sarcomp-btn-azul{background:var(--sarcomp-azul-brillante);color:#ffffff;}
.sarcomp-btn-azul:hover{background:var(--sarcomp-azul-hover);box-shadow:00 8px 20px rgba(26,107,255,.35);}
.sarcomp-btn-borde{background:transparent;color:#ffffff;border:2px solid rgba(255,255,255,.65);}
.sarcomp-btn-borde:hover{border-color:#ffffff;background:rgba(255,255,255,.1);}

/* ---------- Secciones genericas ---------- */
.sarcomp-seccion{padding:52px 20px;}
.sarcomp-seccion-titulo{
	font-size:clamp(1.4rem,2.6vw,2rem);
	font-weight:800;
	text-align:center;
	margin:00 00 6px;
	color:var(--sarcomp-azul-oscuro);
}
.sarcomp-seccion-sub{
	text-align:center;
	color:var(--sarcomp-texto-suave);
	max-width:600px;
	margin:00 auto 32px;
	font-size:1rem;
}
.sarcomp-fondo-gris{background:var(--sarcomp-gris-fondo);}

/* ---------- Categorias ---------- */
.sarcomp-categorias{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
	gap:18px;
	max-width:960px;
	margin:00 auto;
}
.sarcomp-categoria{
	background:#ffffff;
	border:1px solid var(--sarcomp-borde);
	border-radius:14px;
	text-align:center;
	padding:28px 16px;
	text-decoration:none;
	color:var(--sarcomp-texto);
	transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
	display:block;
}
.sarcomp-categoria:hover{
	transform:translateY(-4px);
	box-shadow:00 14px 30px rgba(26,92,216,.12);
	border-color:var(--sarcomp-azul);
}
.sarcomp-categoria-icono{
	font-size:2.6rem;
	line-height:1;
	display:block;
	margin-bottom:10px;
}
.sarcomp-categoria-nombre{
	font-weight:800;
	font-size:1.05rem;
	color:var(--sarcomp-azul-oscuro);
}
.sarcomp-categoria-conteo{
	color:var(--sarcomp-texto-suave);
	font-size:.85rem;
	margin-top:4px;
}

/* ---------- Grid de productos ---------- */
.sarcomp-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
	gap:22px;
	max-width:75rem;
	margin:00 auto;
}
.sarcomp-card{
	background:#ffffff;
	border:1px solid var(--sarcomp-borde);
	border-radius:14px;
	overflow:hidden;
	display:flex;
	flex-direction:column;
	transition:transform .18s ease,box-shadow .18s ease;
	position:relative;
}
.sarcomp-card:hover{
	transform:translateY(-4px);
	box-shadow:00 16px 34px rgba(17,58,92,.13);
}
.sarcomp-card-imagen{position:relative;background:#eef3fb;}
.sarcomp-card-imagen img{
	width:100%;
	aspect-ratio:1/1;
	object-fit:cover;
	display:block;
}
.sarcomp-card-carrusel{position:relative;background:#eef3fb;overflow:hidden;}
.sarcomp-card-carrusel-pista{
	display:flex;
	flex-wrap:nowrap;
	transition:transform .3s ease;
	will-change:transform;
}
.sarcomp-card-slide{
	display:block;
	flex:initial;
	box-sizing:border-box;
}
.sarcomp-card-slide img{
	width:100%;
	aspect-ratio:1/1;
	object-fit:cover;
	display:block;
}
.sarcomp-carrusel-flecha{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	width:34px;
	height:34px;
	border:none;
	border-radius:50%;
	background:rgba(255,255,255,.9);
	color:#113a5c;
	font-size:1.4rem;
	line-height:1;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
	box-shadow:00 2px 8px rgba(17,58,92,.25);
	opacity:.85;
	transition:opacity .2s ease,background .2s ease;
	z-index:2;
}
.sarcomp-card-carrusel:hover .sarcomp-carrusel-flecha{opacity:1;}
.sarcomp-carrusel-flecha:hover{background:#ffffff;}
.sarcomp-carrusel-prev{left:8px;}
.sarcomp-carrusel-next{right:8px;}
.sarcomp-carrusel-puntos{
	position:absolute;
	bottom:8px;
	left:50%;
	transform:translateX(-50%);
	display:flex;
	gap:6px;
	z-index:2;
}
.sarcomp-carrusel-punto{
	width:8px;
	height:8px;
	border-radius:50%;
	background:rgba(255,255,255,.65);
	box-shadow:00 1px 3px rgba(17,58,92,.35);
	cursor:pointer;
}
.sarcomp-carrusel-punto-activo{background:#ffffff;}
.sarcomp-card-sin-imagen{
	display:flex;
	align-items:center;
	justify-content:center;
	aspect-ratio:1/1;
	background:linear-gradient(135deg,#eaf1fb,#dce8f9);
	color:#a8b9d6;
	font-size:3rem;
}
.sarcomp-card-body{
	padding:16px;
	display:flex;
	flex-direction:column;
	flex:1;
	gap:8px;
}
.sarcomp-card-categoria{
	font-size:.72rem;
	text-transform:uppercase;
	letter-spacing:.8px;
	font-weight:700;
	color:var(--sarcomp-azul);
}
.sarcomp-card-titulo{
	font-weight:700;
	font-size:1rem;
	color:var(--sarcomp-texto);
	line-height:1.35;
	margin:00;
}
.sarcomp-card-titulo a{color:inherit;text-decoration:none;}
.sarcomp-card-titulo a:hover{color:var(--sarcomp-azul);}
.sarcomp-card-precio{
	font-size:1.25rem;
	font-weight:800;
	color:var(--sarcomp-azul-oscuro);
	margin-top:auto;
}
.sarcomp-card-boton{
	text-align:center;
	background:var(--sarcomp-verde);
	color:#ffffff;
	font-weight:700;
	font-size:.9rem;
	padding:10px;
	border-radius:8px;
	text-decoration:none;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	transition:background .15s ease;
	margin-top:4px;
}
.sarcomp-card-boton:hover{background:var(--sarcomp-verde-hover);color:#ffffff;}
.sarcomp-card-boton i.fa-whatsapp{font-size:1.15rem;}

/* ---------- Sucursales ---------- */
.sarcomp-sucursales{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
	gap:20px;
	max-width:62.5rem;
	margin:00 auto;
}
.sarcomp-sucursal{
	background:#ffffff;
	border:1px solid var(--sarcomp-borde);
	border-radius:14px;
	padding:24px;
	box-shadow:00 4px 16px rgba(17,58,92,.06);
}
.sarcomp-sucursal-ciudad{
	font-size:1.1rem;
	font-weight:800;
	color:var(--sarcomp-azul-oscuro);
	margin:00 00 4px;
	display:flex;
	align-items:center;
	gap:8px;
}
.sarcomp-sucursal-direccion{color:#46577a;font-size:.92rem;margin:00 00 10px;line-height:1.5;}
.sarcomp-sucursal-telefono{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-weight:700;
	color:var(--sarcomp-azul);
	text-decoration:none;
	font-size:.95rem;
}
.sarcomp-sucursal-telefono:hover{text-decoration:underline;}

/* ---------- Boton flotante WhatsApp ---------- */
.sarcomp-wa-float{
	position:fixed;
	bottom:22px;
	right:22px;
	width:58px;
	height:58px;
	background:var(--sarcomp-verde);
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	box-shadow:00 8px 24px rgba(37,211,102,.45);
	z-index:9999;
	transition:transform .2s ease;
}
.sarcomp-wa-float:hover{transform:scale(1.08);}
.sarcomp-wa-float i.fa-whatsapp{font-size:2rem;}
.sarcomp-wa-float::after{
	content:'';
	position:absolute;
	inset:-6px;
	border-radius:50%;
	border:2px solid rgba(37,211,102,.5);
	animation:sarcomp-pulso 2s infinite;
}
@keyframes sarcomp-pulso{
	00%{transform:scale(.9);opacity:.6;}
	70%{transform:scale(1.25);opacity:00;}
	100%{opacity:00;}
}

/* ---------- CTA final ---------- */
.sarcomp-cta{
	background:linear-gradient(120deg,var(--sarcomp-marino),var(--sarcomp-azul-oscuro));
	border-radius:18px;
	color:#ffffff;
	text-align:center;
	padding:44px 24px;
	max-width:900px;
	margin:00 auto;
}
.sarcomp-cta h2{color:#ffffff;font-size:clamp(1.4rem,2.4vw,1.9rem);margin:00 00 8px;}
.sarcomp-cta p{color:#d6e6ff;margin:00 auto 20px;max-width:520px;}

/* ---------- Seccion Siguenos (redes sociales) ---------- */
.sarcomp-sociales{
	display:flex;
	gap:22px;
	justify-content:center;
	flex-wrap:wrap;
	max-width:760px;
	margin:00 auto;
}
.sarcomp-social{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:12px;
	text-decoration:none;
	background:#ffffff;
	border:1px solid var(--sarcomp-borde);
	border-radius:16px;
	padding:26px 34px;
	min-width:150px;
	transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.sarcomp-social:hover{
	transform:translateY(-4px);
	box-shadow:00 14px 30px rgba(17,58,92,.12);
	border-color:var(--sarcomp-social-color);
}
.sarcomp-social-icono{
	width:64px;
	height:64px;
	border-radius:50%;
	background:var(--sarcomp-social-color);
	color:#ffffff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.9rem;
	transition:transform .18s ease;
}
.sarcomp-social:hover .sarcomp-social-icono{transform:scale(1.1);}
.sarcomp-social-nombre{
	font-weight:800;
	color:var(--sarcomp-azul-oscuro);
	font-size:1rem;
}

/* ---------- Ficha de producto (single) ---------- */
.sarcomp-single{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:34px;
	padding:40px 20px;
	max-width:68.75rem;
	margin:auto;
	align-items:start;
}
.sarcomp-single-foto{background:#eef3fb;border-radius:16px;overflow:hidden;}
.sarcomp-single-foto img{width:100%;height:auto;display:block;}
.sarcomp-single-fotos{display:flex;flex-direction:column;gap:12px;}
.sarcomp-galeria-minis{display:flex;flex-wrap:wrap;gap:10px;}
.sarcomp-galeria-mini{
	padding:00;
	border:2px solid transparent;
	background:#eef3fb;
	border-radius:12px;
	overflow:hidden;
	cursor:pointer;
	width:78px;
	height:78px;
	line-height:00;
	transition:border-color .15s ease,transform .15s ease;
}
.sarcomp-galeria-mini img{width:100%;height:100%;object-fit:cover;display:block;}
.sarcomp-galeria-mini:hover{border-color:var(--sarcomp-azul);}
.sarcomp-galeria-mini-activa{border-color:var(--sarcomp-azul);}
.sarcomp-single-info h1{color:var(--sarcomp-azul-oscuro);font-size:clamp(1.4rem,2.4vw,1.9rem);margin:00 00 8px;}
.sarcomp-single-precio{font-size:2rem;font-weight:800;color:var(--sarcomp-azul);margin:8px 00 16px;}
.sarcomp-single-desc{color:#3c4c66;line-height:1.7;margin-bottom:22px;}
.sarcomp-single-cat{margin-bottom:10px;font-size:.85rem;color:var(--sarcomp-texto-suave);}
.sarcomp-single-cat a{color:var(--sarcomp-azul);font-weight:700;text-decoration:none;}
.sarcomp-wa-grande{
	display:inline-flex;
	align-items:center;
	gap:10px;
	background:var(--sarcomp-verde);
	color:#ffffff;
	padding:14px 24px;
	border-radius:10px;
	font-weight:800;
	font-size:1.05rem;
	text-decoration:none;
}
.sarcomp-wa-grande:hover{background:var(--sarcomp-verde-hover);color:#ffffff;}
.sarcomp-wa-grande i.fa-whatsapp{font-size:1.4rem;}
.sarcomp-single-aviso{
	margin-top:16px;
	font-size:.9rem;
	color:var(--sarcomp-texto-suave);
	line-height:1.5;
}
.sarcomp-single-aviso i{color:var(--sarcomp-azul);}
.sarcomp-single-volver{margin-top:18px;}
.sarcomp-single-volver a{
	color:var(--sarcomp-azul);
	font-weight:600;
	text-decoration:none;
}
.sarcomp-single-volver a:hover{text-decoration:underline;}
.sarcomp-paginacion{text-align:center;margin-top:30px;}
.sarcomp-paginacion .page-numbers{
	display:inline-block;
	padding:8px 14px;
	margin:3px;
	border:1px solid var(--sarcomp-borde);
	border-radius:8px;
	text-decoration:none;
	color:var(--sarcomp-azul-oscuro);
	font-weight:600;
}
.sarcomp-paginacion .page-numbers.current{
	background:var(--sarcomp-azul);
	border-color:var(--sarcomp-azul);
	color:#ffffff;
}

/* ---------- Encabezado de archivos (catalogo) ---------- */
.sarcomp-page-head{
	background:linear-gradient(135deg,var(--sarcomp-marino),var(--sarcomp-azul-oscuro));
	color:#ffffff;
	text-align:center;
	padding:44px 20px;
}
.sarcomp-page-head h1{color:#ffffff;margin:00 00 6px;font-size:clamp(1.6rem,3vw,2.2rem);}
.sarcomp-page-head p{color:#d6e6ff;margin:00;font-size:1rem;}

/* ---------- Boton "Ver catalogo" (canal WhatsApp) en categorias ---------- */
.sarcomp-canal-cta{margin:18px 00 00;}
.sarcomp-canal-cta .sarcomp-btn{display:inline-flex;align-items:center;gap:8px;}

/* ---------- Consulta por WhatsApp: botones por sucursal ---------- */
.sarcomp-consulta{
	background:#ffffff;
	border:1px solid var(--sarcomp-borde);
	border-radius:16px;
	text-align:center;
	padding:32px 20px;
	max-width:760px;
	margin:44px auto 00;
}
.sarcomp-consulta>i{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:60px;
	height:60px;
	font-size:1.6rem;
	color:var(--sarcomp-azul);
	background:#e8f1ff;
	border-radius:50%;
	margin-bottom:12px;
}
.sarcomp-consulta h3{color:var(--sarcomp-azul-oscuro);font-size:1.2rem;margin:00 00 6px;}
.sarcomp-consulta p{color:var(--sarcomp-texto-suave);margin:00 auto 20px;max-width:480px;font-size:.95rem;line-height:1.6;}
.sarcomp-wa-sucursales{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.sarcomp-wa-sucursales .sarcomp-btn{display:inline-flex;align-items:center;gap:8px;}

/* ---------- Chips de categorias en el catalogo ---------- */
.sarcomp-lista-cats{
	display:flex;
	gap:10px;
	flex-wrap:wrap;
	justify-content:center;
	margin:22px 00;
}
.sarcomp-chip{
	background:#ffffff;
	border:1px solid var(--sarcomp-borde);
	border-radius:999px;
	padding:8px 18px;
	font-size:.88rem;
	font-weight:600;
	color:var(--sarcomp-azul-oscuro);
	text-decoration:none;
	transition:background .15s ease,color .15s ease;
}
.sarcomp-chip:hover,.sarcomp-chip-activo{
	background:var(--sarcomp-azul);
	color:#ffffff;
	border-color:var(--sarcomp-azul);
}

/* ---------- Portada: badge, ventajas, estado vacio ---------- */
.sarcomp-hero-badge{
	display:inline-block;
	background:rgba(255,255,255,.12);
	border:1px solid rgba(255,255,255,.25);
	color:#e8f1ff;
	border-radius:999px;
	padding:8px 18px;
	font-size:.9rem;
	font-weight:600;
	margin:00 auto 18px;
	letter-spacing:.3px;
}
.sarcomp-btn-verde{background:#21b957;color:#ffffff;}
.sarcomp-btn-verde:hover{background:#1aa04a;color:#ffffff;box-shadow:00 8px 20px rgba(33,185,87,.35);}
.sarcomp-ventajas{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
	gap:20px;
	max-width:75rem;
	margin:00 auto;
}
.sarcomp-ventaja{
	background:#ffffff;
	border:1px solid var(--sarcomp-borde);
	border-radius:14px;
	text-align:center;
	padding:26px 18px;
}
.sarcomp-ventaja i{font-size:2rem;color:var(--sarcomp-azul);margin-bottom:10px;}
.sarcomp-ventaja h3{margin:00 00 6px;color:var(--sarcomp-azul-oscuro);font-size:1.05rem;}
.sarcomp-ventaja p{margin:00;color:var(--sarcomp-texto-suave);font-size:.92rem;line-height:1.5;}
.sarcomp-grid-vacio{grid-template-columns:1fr;max-width:640px;}
.sarcomp-vacio{
	background:#ffffff;
	border:1px dashed var(--sarcomp-borde);
	border-radius:16px;
	text-align:center;
	padding:44px 22px;
	color:var(--sarcomp-texto-suave);
}
.sarcomp-vacio i{font-size:3rem;color:#b9cbe6;margin-bottom:12px;}
.sarcomp-vacio h3{color:var(--sarcomp-azul-oscuro);margin:00 00 8px;}
.sarcomp-vacio p{margin:00 auto 20px;max-width:420px;}

/* ---------- Responsive ---------- */
@media (max-width:768px){
	.sarcomp-single{grid-template-columns:1fr;padding:20px;}
	.sarcomp-hero{padding:44px 16px;}
	.sarcomp-seccion{padding:36px 16px;}
	.sarcomp-galeria-mini{width:64px;height:64px;}
	.sarcomp-carrusel-flecha{opacity:1;width:30px;height:30px;font-size:1.2rem;}
}

/* ---------- Pagina de acceso (login) ---------- */
.sarcomp-login-page{
	background:
		radial-gradient(circle at 80% 20%,rgba(61,155,255,.18),transparent 45%),
		linear-gradient(135deg,var(--sarcomp-marino) 00%,var(--sarcomp-azul-oscuro) 60%,var(--sarcomp-azul) 100%);
	min-height:62vh;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:56px 20px;
}
.sarcomp-login-caja{
	background:#ffffff;
	border-radius:18px;
	box-shadow:00 18px 50px rgba(00,10,30,.35);
	max-width:420px;
	width:100%;
	padding:38px 34px;
	text-align:center;
}
.sarcomp-login-icono{
	width:68px;
	height:68px;
	margin:00 auto 16px;
	background:#e8f1ff;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	color:var(--sarcomp-azul);
	font-size:1.7rem;
}
.sarcomp-login-caja h1{
	color:var(--sarcomp-azul-oscuro);
	font-size:1.5rem;
	font-weight:800;
	margin:00 00 6px;
}
.sarcomp-login-sub{
	color:var(--sarcomp-texto-suave);
	margin:00 00 24px;
	font-size:.95rem;
}
.sarcomp-login-error{
	background:#fdecec;
	border:1px solid #f5c6c6;
	color:#b02a37;
	border-radius:10px;
	padding:12px 14px;
	margin-bottom:18px;
	font-size:.9rem;
	text-align:left;
	display:flex;
	gap:8px;
	align-items:flex-start;
}
.sarcomp-login-error i{margin-top:2px;}
.sarcomp-login-form{
	display:flex;
	flex-direction:column;
	gap:6px;
	text-align:left;
}
.sarcomp-login-form label{
	font-weight:700;
	font-size:.85rem;
	color:var(--sarcomp-azul-oscuro);
	margin-top:6px;
}
.sarcomp-login-form input{
	border:1px solid var(--sarcomp-borde);
	border-radius:9px;
	padding:12px 14px;
	font-size:1rem;
	width:100%;
	box-sizing:border-box;
	color:var(--sarcomp-texto);
	transition:border-color .15s ease,box-shadow .15s ease;
}
.sarcomp-login-form input:focus{
	outline:none;
	border-color:var(--sarcomp-azul);
	box-shadow:00 00 00 3px rgba(26,107,255,.15);
}
.sarcomp-login-boton{
	margin-top:20px;
	background:var(--sarcomp-azul-brillante);
	color:#ffffff;
	border:none;
	border-radius:9px;
	padding:14px;
	font-size:1.05rem;
	font-weight:800;
	cursor:pointer;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	transition:background .15s ease,transform .15s ease;
}
.sarcomp-login-boton:hover{
	background:var(--sarcomp-azul-hover);
	transform:translateY(-1px);
}
.sarcomp-login-ayuda{
	margin:20px 00 00;
	font-size:.82rem;
	color:var(--sarcomp-texto-suave);
}

/* ---------- Panel interno ---------- */
.sarcomp-panel-page{
	background:
		radial-gradient(circle at 85% 15%,rgba(61,155,255,.15),transparent 45%),
		linear-gradient(135deg,var(--sarcomp-marino) 00%,var(--sarcomp-azul-oscuro) 60%,var(--sarcomp-azul) 100%);
	min-height:62vh;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:56px 20px;
}
.sarcomp-panel-caja{
	background:#ffffff;
	border-radius:18px;
	box-shadow:00 18px 50px rgba(00,10,30,.35);
	max-width:560px;
	width:100%;
	padding:40px 36px;
	text-align:center;
}
.sarcomp-panel-usuario{
	display:inline-flex;
	align-items:center;
	gap:8px;
	background:#e8f1ff;
	color:var(--sarcomp-azul-oscuro);
	font-weight:700;
	font-size:.85rem;
	padding:7px 14px;
	border-radius:999px;
	margin-bottom:18px;
}
.sarcomp-panel-usuario i{color:var(--sarcomp-azul);font-size:1.1rem;}
.sarcomp-panel-caja h1{
	color:var(--sarcomp-azul-oscuro);
	font-size:1.7rem;
	font-weight:800;
	margin:00 00 6px;
}
.sarcomp-panel-sub{
	color:var(--sarcomp-texto-suave);
	margin:00 00 28px;
}
.sarcomp-panel-botones{
	display:grid;
	grid-template-columns:1fr;
	gap:16px;
}
.sarcomp-panel-boton{
	display:flex;
	align-items:center;
	gap:16px;
	text-decoration:none;
	border-radius:14px;
	padding:22px 20px;
	border:2px solid transparent;
	text-align:left;
	transition:transform .15s ease,box-shadow .15s ease;
}
.sarcomp-panel-boton:hover{transform:translateY(-2px);}
.sarcomp-panel-correo{
	background:linear-gradient(135deg,#eaf3ff,#d5e7ff);
	border-color:var(--sarcomp-azul);
}
.sarcomp-panel-correo:hover{box-shadow:00 10px 26px rgba(26,107,255,.25);}
.sarcomp-panel-boton-icono{
	width:56px;
	height:56px;
	flex-shrink:00;
	border-radius:12px;
	background:#ffffff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.5rem;
}
.sarcomp-panel-correo .sarcomp-panel-boton-icono{color:var(--sarcomp-azul);}
.sarcomp-panel-boton-texto{
	display:flex;
	flex-direction:column;
	gap:2px;
}
.sarcomp-panel-boton-texto strong{
	font-size:1.25rem;
	letter-spacing:.5px;
	color:var(--sarcomp-azul-oscuro);
}
.sarcomp-panel-boton-texto small{color:var(--sarcomp-texto-suave);font-size:.85rem;}
.sarcomp-panel-sucursales{
	background:linear-gradient(135deg,#eef6ea,#dcefd4);
	border-color:#4caf50;
}
.sarcomp-panel-sucursales:hover{box-shadow:00 10px 26px rgba(76,175,80,.25);}
.sarcomp-panel-sucursales .sarcomp-panel-boton-icono{color:#2e7d32;}
.sarcomp-panel-catalogo{
	background:linear-gradient(135deg,#fff5e2,#ffe9bd);
	border-color:#e6a23c;
}
.sarcomp-panel-catalogo:hover{box-shadow:00 10px 26px rgba(230,162,60,.3);}
.sarcomp-panel-catalogo .sarcomp-panel-boton-icono{color:#b45309;}
.sarcomp-panel-lista{
	background:linear-gradient(135deg,#f1ecff,#ddd3ff);
	border-color:#7c5cff;
}
.sarcomp-panel-lista:hover{box-shadow:00 10px 26px rgba(124,92,255,.28);}
.sarcomp-panel-lista .sarcomp-panel-boton-icono{color:#5b3fd6;}
.sarcomp-panel-salir{
	margin:26px 00 00;
	font-size:.9rem;
}
.sarcomp-panel-salir a{
	color:var(--sarcomp-texto-suave);
	font-weight:700;
	text-decoration:none;
	display:inline-flex;
	align-items:center;
	gap:7px;
}
.sarcomp-panel-salir a:hover{color:#c0392b;}

/* ---------- Sucursales: listado, PIN y modulos ---------- */
.sarcomp-suc-botones{
	display:grid;
	grid-template-columns:1fr;
	gap:14px;
}
.sarcomp-suc-boton{
	display:flex;
	align-items:center;
	gap:14px;
	text-decoration:none;
	background:linear-gradient(135deg,#eaf3ff,#d5e7ff);
	border:2px solid var(--sarcomp-azul);
	border-radius:14px;
	padding:16px 18px;
	color:var(--sarcomp-azul-oscuro);
	text-align:left;
	transition:transform .15s ease,box-shadow .15s ease;
}
.sarcomp-suc-boton:hover{transform:translateY(-2px);box-shadow:00 10px 26px rgba(26,107,255,.25);}
.sarcomp-suc-boton-icono{
	width:46px;
	height:46px;
	flex-shrink:00;
	border-radius:10px;
	background:#ffffff;
	color:var(--sarcomp-azul);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.2rem;
}
.sarcomp-suc-boton-texto{
	display:flex;
	flex-direction:column;
	gap:2px;
}
.sarcomp-suc-boton-texto strong{font-size:1.1rem;color:var(--sarcomp-azul-oscuro);}
.sarcomp-suc-boton-texto small{color:var(--sarcomp-texto-suave);font-size:.82rem;}

.sarcomp-pin-aviso{
	background:#fdecec;
	border:1px solid #f5c6c6;
	color:#b02a37;
	border-radius:10px;
	padding:10px 12px;
	margin-bottom:16px;
	font-size:.88rem;
	display:flex;
	align-items:flex-start;
	gap:8px;
	text-align:left;
}
.sarcomp-pin-form{
	display:grid;
	grid-template-columns:1fr;
	gap:12px;
}
.sarcomp-pin-campo label{
	display:block;
	font-weight:700;
	font-size:.85rem;
	color:var(--sarcomp-azul-oscuro);
	margin-bottom:6px;
	text-align:left;
}
.sarcomp-pin-campo input{
	width:100%;
	box-sizing:border-box;
	border:1px solid var(--sarcomp-borde);
	border-radius:9px;
	padding:12px 14px;
	font-size:1.2rem;
	letter-spacing:8px;
	text-align:center;
	color:var(--sarcomp-azul-oscuro);
	outline:none;
	transition:border-color .15s ease,box-shadow .15s ease;
}
.sarcomp-pin-campo input:focus{
	border-color:var(--sarcomp-azul);
	box-shadow:00 00  3px rgba(26,107,255,.15);
}
.sarcomp-pin-enviar{
	background:var(--sarcomp-azul-brillante);
	color:#ffffff;
	border:none;
	border-radius:9px;
	padding:13px;
	font-size:1rem;
	font-weight:800;
	cursor:pointer;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	transition:background .15s ease,transform .15s ease;
}
.sarcomp-pin-enviar:hover{
	background:var(--sarcomp-azul-hover);
	transform:translateY(-1px);
}
.sarcomp-panel-volver{
	margin:22px 00 00;
	font-size:.9rem;
	display:flex;
	justify-content:center;
	gap:18px;
	flex-wrap:wrap;
}
.sarcomp-panel-volver a{
	color:var(--sarcomp-texto-suave);
	font-weight:700;
	text-decoration:none;
	display:inline-flex;
	align-items:center;
	gap:7px;
}
.sarcomp-panel-volver a:hover{color:var(--sarcomp-azul);}
.sarcomp-panel-volver .sarcomp-cerrar-suc:hover{color:#c0392b;}

.sarcomp-modulos{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px;
}
.sarcomp-modulo{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:10px;
	text-decoration:none;
	background:#f6f8fc;
	border:2px solid var(--sarcomp-borde);
	border-radius:14px;
	padding:22px 12px;
	text-align:center;
	transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.sarcomp-modulo:hover{
	transform:translateY(-2px);
	border-color:var(--sarcomp-azul);
	box-shadow:00 10px 26px rgba(26,107,255,.18);
}
.sarcomp-modulo-icono{
	width:52px;
	height:52px;
	border-radius:12px;
	background:#e8f1ff;
	color:var(--sarcomp-azul);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.3rem;
}
.sarcomp-modulo-nombre{
	font-size:.95rem;
	font-weight:800;
	color:var(--sarcomp-azul-oscuro);
}

.sarcomp-panel-ruta{
	margin:00 00 10px;
	font-size:.82rem;
	color:var(--sarcomp-texto-suave);
	display:flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	flex-wrap:wrap;
}
.sarcomp-panel-ruta a{
	color:var(--sarcomp-texto-suave);
	text-decoration:none;
}
.sarcomp-panel-ruta a:hover{color:var(--sarcomp-azul);}
.sarcomp-panel-ruta i{font-size:.6rem;color:var(--sarcomp-texto-suave);}
.sarcomp-panel-ruta strong{color:var(--sarcomp-azul-oscuro);}

.sarcomp-modulo-aviso{
	background:#fff8e6;
	border:1px solid #f1e3b3;
	color:#8a6d1a;
	border-radius:10px;
	padding:12px 14px;
	font-size:.9rem;
	display:flex;
	align-items:flex-start;
	gap:10px;
	text-align:left;
}
.sarcomp-modulo-aviso i{font-size:1rem;margin-top:2px;}

/* ---------- Catalogo: formulario para publicar producto ---------- */
.sarcomp-publicar-form{
	display:grid;
	grid-template-columns:1fr;
	gap:16px;
	text-align:left;
	margin-top:6px;
}
.sarcomp-campo label{
	display:block;
	font-weight:700;
	font-size:.85rem;
	color:var(--sarcomp-azul-oscuro);
	margin-bottom:6px;
}
.sarcomp-campo input[type="text"],
.sarcomp-campo input[type="number"],
.sarcomp-campo select,
.sarcomp-campo textarea{
	width:100%;
	box-sizing:border-box;
	border:1px solid var(--sarcomp-borde);
	border-radius:9px;
	padding:12px 14px;
	font-size:.95rem;
	color:var(--sarcomp-azul-oscuro);
	background:#ffffff;
	outline:none;
	font-family:inherit;
	transition:border-color .15s ease,box-shadow .15s ease;
}
.sarcomp-campo input:focus,
.sarcomp-campo select:focus,
.sarcomp-campo textarea:focus{
	border-color:var(--sarcomp-azul);
	box-shadow:00 00 00 3px rgba(26,107,255,.12);
}
.sarcomp-campo textarea{resize:vertical;}
.sarcomp-campo input[type="file"]{
	width:100%;
	box-sizing:border-box;
	border:1px dashed #c9d6ea;
	border-radius:9px;
	padding:14px;
	background:#f8fbff;
	font-size:.9rem;
	color:var(--sarcomp-texto-suave);
	cursor:pointer;
	font-family:inherit;
}
.sarcomp-campo-ayuda{
	display:block;
	margin-top:6px;
	font-size:.8rem;
	color:var(--sarcomp-texto-suave);
	line-height:1.45;
}
.sarcomp-aviso-ok{
	background:#e9f9ef;
	border:1px solid #b7e3c7;
	color:#1d7a3f;
	border-radius:10px;
	padding:12px 14px;
	margin-bottom:18px;
	font-size:.9rem;
	display:flex;
	align-items:flex-start;
	gap:8px;
	text-align:left;
}
.sarcomp-aviso-ok i{font-size:1rem;margin-top:2px;}
.sarcomp-publicado-links{
	display:flex;
	justify-content:center;
	gap:12px;
	flex-wrap:wrap;
	margin-bottom:22px;
}
.sarcomp-btn-borde-oscuro{
	background:transparent;
	color:var(--sarcomp-azul);
	border:2px solid var(--sarcomp-azul);
}
.sarcomp-btn-borde-oscuro:hover{background:#eaf1ff;}
.sarcomp-publicar-form .sarcomp-pin-enviar{width:100%;}
.sarcomp-publicado-links .sarcomp-btn{
	display:inline-flex;
	align-items:center;
	gap:8px;
	justify-content:center;
	text-align:center;
}

@media (max-width:768px){
	.sarcomp-login-caja,.sarcomp-panel-caja{padding:30px 20px;}
	.sarcomp-modulos{grid-template-columns:1fr;}
	.sarcomp-panel-volver{flex-direction:column;gap:10px;}
}

/* ---------- Lista del catalogo: buscador y filas de productos ---------- */
.sarcomp-lista-buscar{
	display:flex;
	gap:10px;
	margin-bottom:14px;
}
.sarcomp-lista-buscar input[type="search"]{
	flex:1;
	min-width:00;
	box-sizing:border-box;
	border:1px solid var(--sarcomp-borde);
	border-radius:9px;
	padding:12px 14px;
	font-size:.95rem;
	color:var(--sarcomp-azul-oscuro);
	background:#ffffff;
	outline:none;
	font-family:inherit;
	transition:border-color .15s ease,box-shadow .15s ease;
}
.sarcomp-lista-buscar input[type="search"]:focus{
	border-color:var(--sarcomp-azul);
	box-shadow:00 00 00 3px rgba(26,107,255,.12);
}
.sarcomp-lista-buscar .sarcomp-pin-enviar{padding:12px 18px;white-space:nowrap;}
.sarcomp-lista-total{
	margin:00 00 14px;
	font-size:.85rem;
	color:var(--sarcomp-texto-suave);
	text-align:left;
}
.sarcomp-lista-tabla{
	display:grid;
	grid-template-columns:1fr;
	gap:10px;
}
.sarcomp-lista-fila{
	display:flex;
	align-items:center;
	gap:14px;
	background:#f8fafd;
	border:1px solid var(--sarcomp-borde);
	border-radius:12px;
	padding:10px 12px;
	text-align:left;
}
.sarcomp-lista-foto{
	width:52px;
	height:52px;
	flex-shrink:00;
	border-radius:9px;
	overflow:hidden;
	background:#e8f1ff;
	color:var(--sarcomp-azul);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.2rem;
	text-decoration:none;
}
.sarcomp-lista-foto img{width:100%;height:100%;object-fit:cover;display:block;}
.sarcomp-lista-datos{
	flex:1;
	min-width:00;
	display:flex;
	flex-direction:column;
	gap:2px;
}
.sarcomp-lista-nombre{
	font-size:.98rem;
	color:var(--sarcomp-azul-oscuro);
}
.sarcomp-lista-nombre a{
	color:var(--sarcomp-azul-oscuro);
	text-decoration:none;
}
.sarcomp-lista-nombre a:hover{color:var(--sarcomp-azul);text-decoration:underline;}
.sarcomp-lista-cat{
	font-size:.8rem;
	color:var(--sarcomp-texto-suave);
	display:inline-flex;
	align-items:center;
	gap:5px;
}
.sarcomp-lista-precio{
	font-size:.85rem;
	font-weight:800;
	color:#1d7a3f;
}
.sarcomp-lista-borrar{
	flex-shrink:00;
	background:#ffecec;
	border:1px solid #f3c1c1;
	color:#c0392b;
	border-radius:9px;
	padding:9px 14px;
	font-size:.85rem;
	font-weight:700;
	text-decoration:none;
	display:inline-flex;
	align-items:center;
	gap:7px;
	transition:background .15s ease,color .15s ease;
}
.sarcomp-lista-borrar:hover{background:#c0392b;color:#ffffff;}
@media (max-width:768px){
	.sarcomp-lista-buscar{flex-direction:column;}
	.sarcomp-lista-fila{flex-wrap:wrap;}
	.sarcomp-lista-borrar{margin-left:auto;}
}

/* ---------- Boton TALLER en el panel (5to boton) ---------- */
.sarcomp-panel-taller{
	background:linear-gradient(135deg,#ede9df,#d9cfba);
	border-color:#b08950;
}
.sarcomp-panel-taller:hover{box-shadow:00 10px 26px rgba(176,137,80,.28);}
.sarcomp-panel-taller .sarcomp-panel-boton-icono{color:#8a6a35;}

/* ---------- Taller: registro y lista de reparaciones ---------- */
.sarcomp-taller-sep{
	border:00;
	border-top:1px solid var(--sarcomp-borde);
	margin:24px 00;
}
.sarcomp-taller-filtros{
	display:flex;
	gap:10px;
	margin-bottom:16px;
	flex-wrap:wrap;
}
.sarcomp-taller-filtros input[type="search"]{
	flex:1;
	min-width:160px;
	box-sizing:border-box;
	border:1px solid var(--sarcomp-borde);
	border-radius:9px;
	padding:11px 14px;
	font-size:.95rem;
	color:var(--sarcomp-azul-oscuro);
	background:#ffffff;
	outline:none;
	font-family:inherit;
}
.sarcomp-taller-filtros select{
	border:1px solid var(--sarcomp-borde);
	border-radius:9px;
	padding:11px 12px;
	font-size:.9rem;
	color:var(--sarcomp-azul-oscuro);
	background:#ffffff;
	outline:none;
	font-family:inherit;
}
.sarcomp-taller-filtros .sarcomp-pin-enviar{padding:11px 18px;white-space:nowrap;}
.sarcomp-taller-lista{gap:12px;}
.sarcomp-taller-item{
	background:#f8fafd;
	border:1px solid var(--sarcomp-borde);
	border-radius:12px;
	padding:12px;
	text-align:left;
	display:flex;
	flex-direction:column;
	gap:10px;
}
.sarcomp-taller-cab{
	display:flex;
	align-items:center;
	gap:12px;
}
.sarcomp-taller-foto{
	width:46px;
	height:46px;
	flex-shrink:00;
	border-radius:9px;
	background:#e8f1ff;
	color:var(--sarcomp-azul);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.2rem;
}
.sarcomp-rep-estado{
	flex-shrink:00;
	margin-left:auto;
	font-size:.78rem;
	font-weight:800;
	padding:5px 10px;
	border-radius:999px;
	white-space:nowrap;
}
.sarcomp-rep-estado-en_taller{background:#ffffb8;color:#9a6b05;border:1px solid #f3e2ad;}
.sarcomp-rep-estado-en_espera{background:#fdecec;color:#c0392b;border:1px solid #f3c1c1;}
.sarcomp-rep-estado-en_diagnostico{background:#eef2ff;color:#3b5bdb;border:1px solid #c7d2f2;}
.sarcomp-rep-estado-reparado{background:#e3f7ff;color:#066992;border:1px solid #b3e6f2;}
.sarcomp-rep-estado-entregado{background:#e9f9ef;color:#1d7a3f;border:1px solid #b7e3c7;}
.sarcomp-rep-orden{
	display:inline-flex;
	align-items:center;
	gap:6px;
	width:fit-content;
	font-size:.72rem;
	font-weight:800;
	letter-spacing:.5px;
	color:var(--sarcomp-azul-oscuro);
	background:#e8f1ff;
	border:1px solid var(--sarcomp-borde);
	padding:4px 10px;
	border-radius:999px;
	margin-bottom:4px;
}
.sarcomp-taller-cuerpo{
	display:flex;
	flex-direction:column;
	gap:4px;
	font-size:.9rem;
	color:var(--sarcomp-texto);
	background:#ffffff;
	border:1px solid var(--sarcomp-borde);
	border-radius:9px;
	padding:10px 12px;
}
.sarcomp-taller-fila{margin:00;color:var(--sarcomp-texto-suave);}
.sarcomp-taller-fila strong{color:var(--sarcomp-azul-oscuro);}
.sarcomp-taller-estado{
	display:flex;
	gap:10px;
	align-items:center;
	flex-wrap:wrap;
}
.sarcomp-taller-estado select{
	flex:1;
	min-width:180px;
	border:1px solid var(--sarcomp-borde);
	border-radius:9px;
	padding:10px 12px;
	font-size:.9rem;
	color:var(--sarcomp-azul-oscuro);
	background:#ffffff;
	outline:none;
	font-family:inherit;
}
.sarcomp-btn-estado{
	background:var(--sarcomp-azul-brillante) !important;
	white-space:nowrap;
}
.sarcomp-btn-estado:hover{background:var(--sarcomp-azul-hover) !important;}
@media (max-width:768px){
	.sarcomp-taller-filtros{flex-direction:column;}
	.sarcomp-taller-cab{flex-wrap:wrap;}
	.sarcomp-rep-estado{margin-left:00;}
	.sarcomp-taller-estado{flex-direction:column;}
	.sarcomp-taller-estado select{width:100%;}
	.sarcomp-taller-estado .sarcomp-lista-borrar{margin-left:auto;}
}

/* ---------- Taller: tarjetas que hay que entregar (estado reparado) ---------- */
.sarcomp-taller-item--entregar{
	background:#e9f7ee !important;
	border:2px solid #31b56c !important;
	box-shadow:  4px 14px rgba(49,181,108,.2);
}
.sarcomp-taller-item--entregar .sarcomp-taller-foto{
	background:#bfe7d2;
	color:#157347;
}
.sarcomp-taller-item--entregar .sarcomp-rep-estado-reparado{
	background:#c8f5d9 !important;
	color:#157347 !important;
	border-color:#7fd3a6 !important;
}
.sarcomp-taller-item--entregado{
	opacity:.62;
	background:#f3f4f6 !important;
	border:1px dashed #c3ccd9 !important;
}
.sarcomp-taller-item--entregado .sarcomp-taller-foto{
	background:#e3e6ea;
	color:#7b8798;
}
/* ---------- Taller: acciones por reparacion (editar, imprimir, borrar) ---------- */
.sarcomp-taller-acciones{
	display:flex;
	gap:8px;
	flex-wrap:wrap;
	border-top:1px dashed var(--sarcomp-borde);
	padding-top:10px;
}
.sarcomp-accion{
	display:inline-flex;
	align-items:center;
	gap:7px;
	text-decoration:none;
	border-radius:8px;
	padding:8px 13px;
	font-size:.82rem;
	font-weight:700;
	transition:background .15s ease,color .15s ease,transform .15s ease;
	border:1px solid var(--sarcomp-borde);
}
.sarcomp-accion:hover{transform:translateY(-1px);}
.sarcomp-accion-editar{background:#e8f1ff;color:var(--sarcomp-azul-oscuro);border-color:#c9dcf7;}
.sarcomp-accion-editar:hover{background:var(--sarcomp-azul);color:#ffffff;}
.sarcomp-accion-imprimir{background:#fff5e2;color:#a05a00;border-color:#ffd69a;}
.sarcomp-accion-imprimir:hover{background:#e6a23c;color:#ffffff;}
.sarcomp-accion-ticket{background:#eef6ea;color:#2e7d32;border-color:#cde6c4;}
.sarcomp-accion-ticket:hover{background:#4caf50;color:#ffffff;}
.sarcomp-accion-borrar{background:#ffecec;color:#c0392b;border-color:#f3c1c1;}
.sarcomp-accion-borrar:hover{background:#c0392b;color:#ffffff;}
@media (max-width:768px){
	.sarcomp-taller-acciones{justify-content:flex-start;}
}

