/*
Theme Name: Mi Portfolio
Theme URI: https://ejemplo.com
Author: Pedro Fernández Ruz
Description: Landing personal para portfolio.
Version: 1.0
*/


:root{
	/* Un poco más opaco para mayor contraste sobre la imagen */
	--gradient-start: rgba(92,31,167,0.65); /* #5c1fa7 */
	--gradient-end:   rgba(236,54,171,0.65); /* #ec36ab */
	--accent: #5d1fa8;
	--motion-duration: 28s;
	--motion-ease: cubic-bezier(0.38, 0.12, 0.22, 1);
}

*{box-sizing:border-box;margin:0;padding:0}

html,body{height:100%;font-family:'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;color:#fff;font-weight:400;letter-spacing:0.01em}
main{display:block}
img{max-width:100%;height:auto;display:block}

@keyframes heroSlowZoom{from{transform:scale(1.02)}to{transform:scale(1.08)}}
@keyframes heroContentRise{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes overlayWaves{from{background-position:0% 50%;opacity:0.82}to{background-position:100% 50%;opacity:0.9}}
@keyframes floaty{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-12px,0)}}
@keyframes iaGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

/* HERO / HEADER */
.hero{
	position:relative;
	width:100%;
	min-height:60vh; /* ajustable */
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	overflow:hidden;
}

/* Imagen de fondo directa para asegurar que ocupe todo el ancho y permita técnicas futuras (blur, zoom, etc.) */
.hero .hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
  /* Pequeño scale para evitar bordes vacíos en animaciones futuras */
  transform:scale(1.02);
  animation:heroSlowZoom var(--motion-duration) ease-in-out infinite alternate;
}

/* Capa translúcida degradada encima de la imagen */
.overlay{
	position:absolute;
	inset:0;
	z-index:1;
	background: linear-gradient(135deg, var(--gradient-start) 0%, var(--gradient-end) 100%);
	background-size:180% 180%;
	animation:overlayWaves calc(var(--motion-duration) * 0.6) ease-in-out infinite alternate;
}

.hero-content{position:relative;z-index:2;padding:3.5rem 1rem;max-width:1100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;animation:heroContentRise 1.2s var(--motion-ease) .15s both}
.hero-content h1{margin:0;display:flex;flex-direction:column;align-items:center;gap:0.65rem;line-height:1.08;text-shadow:0 8px 22px rgba(0,0,0,0.45);max-width:1000px;text-align:center}
.hero-content .hero-brand{display:block;font-weight:800;font-size:clamp(2rem,5.5vw,4rem);letter-spacing:-0.01em}
.hero-content .hero-subheadline{display:block;font-size:clamp(1rem,3.2vw,1.6rem);font-weight:500;opacity:0.92}
.hero-content .ia-gradient{display:inline-block;background:linear-gradient(120deg,#ffffff 0%,#0d00ff 35%,#f00151 70%,#ffffff 100%);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:iaGradient 6s linear infinite;font-weight:inherit}

/* Botón CTA */
.btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.6rem 1rem;border-radius:999px;text-decoration:none;font-weight:500}
.btn-primary{background:#ffffff;color:var(--accent);padding:0.7rem 1.15rem;box-shadow:0 6px 18px rgba(92,31,167,0.12);border:0}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(92,31,167,0.14)}

/* Navegación dentro del header */
.nav{position:absolute;top:20px;left:50%;transform:translateX(-50%);z-index:3;width:100%;max-width:1200px;padding:0 1rem;display:flex;justify-content:flex-end;align-items:center;gap:1rem}
.nav-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:46px;height:46px;border-radius:14px;border:1px solid rgba(255,255,255,0.42);background:rgba(8,8,26,0.32);color:#fff;cursor:pointer;transition:background .24s ease,border-color .24s ease,transform .24s ease}
.nav-toggle:hover{background:rgba(8,8,26,0.45);transform:translateY(-1px)}
.nav-toggle:focus-visible{outline:2px solid rgba(255,255,255,0.6);outline-offset:3px}
.nav-toggle-bar{width:22px;height:2px;background:#fff;border-radius:999px;transition:transform .28s ease,opacity .28s ease}
.nav-toggle-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.nav-list{list-style:none;display:flex;gap:1rem;margin:0;padding:0}
.nav.nav-open .nav-toggle-bar:nth-of-type(1){transform:translateY(8px) rotate(45deg)}
.nav.nav-open .nav-toggle-bar:nth-of-type(2){opacity:0}
.nav.nav-open .nav-toggle-bar:nth-of-type(3){transform:translateY(-8px) rotate(-45deg)}
.nav a{color:#fff;text-decoration:none;font-weight:500;padding:0.45rem 0.9rem;border-radius:999px;background:rgba(255,255,255,0.06);transition:background .18s ease, transform .12s ease}
.nav a:hover{background:rgba(255,255,255,0.12);transform:translateY(-2px)}

/* Ajustes responsivos */
@media (max-width:700px){
	.nav{top:12px;left:auto;right:0;transform:none;width:auto;padding-right:1rem}
	.nav-toggle{display:inline-flex}
	.nav-list{position:absolute;top:62px;right:1rem;left:auto;display:flex;flex-direction:column;gap:0.35rem;background:rgba(8,8,26,0.92);padding:1.15rem;border-radius:18px;box-shadow:0 22px 46px rgba(5,5,20,0.24);min-width:190px;max-width:280px;transform-origin:top right;transition:opacity .24s ease,transform .24s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
	.nav-list li{width:100%}
	.nav-list a{display:block;width:100%;padding:0.7rem 0.75rem;border-radius:12px;background:transparent}
	.nav-list a:hover{background:rgba(255,255,255,0.12);transform:none}
	.nav-list a:focus-visible{background:rgba(255,255,255,0.18);outline:none}
	.nav:not(.nav-open) .nav-list{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px)}
	.nav.nav-open .nav-list{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
	.hero{min-height:52vh;padding-top:5rem}
	.hero-content{padding:1.25rem;gap:0.85rem}
	.hero-content .hero-brand{font-size:clamp(1.8rem,8vw,2.8rem)}
	.hero-content .hero-subheadline{font-size:clamp(0.95rem,5vw,1.25rem)}
}

@media (max-width:560px){
	.hero{padding-top:5.6rem}
	.hero-content{padding:1.5rem 1.2rem}
	.hero-content .hero-brand{font-size:clamp(1.7rem,9vw,2.5rem)}
	.hero-content .hero-subheadline{font-size:clamp(0.88rem,5.6vw,1.18rem)}
	.btn{padding:0.55rem 1.1rem;font-size:0.95rem}
	.contact-section{padding:3.75rem 1.35rem}
	.contact-section h2{text-align:center}
	.contact-section .intro{font-size:0.98rem;text-align:center;margin-bottom:2rem}
	.contact-form{padding:1.85rem 1.45rem;gap:1.05rem;border-radius:28px}
	.contact-form button{width:100%;justify-content:center}
}

@media (max-width:480px){
	.hero{padding-top:6rem}
	.hero-content{gap:0.75rem;padding:1.35rem 1rem}
	.hero-content .hero-brand{font-size:clamp(1.65rem,9.5vw,2.3rem)}
	.hero-content .hero-subheadline{font-size:clamp(0.82rem,5.8vw,1.1rem)}
	.contact-section{padding:3.5rem 1.05rem}
	.contact-section .intro{font-size:0.95rem;line-height:1.5}
	.contact-section .container{gap:2rem}
	.contact-form{padding:1.7rem 1.2rem;border-radius:26px;box-shadow:0 20px 36px rgba(36,28,24,0.12)}
	.contact-form label{font-size:0.9rem}
	.contact-form input,
	.contact-form select,
	.contact-form textarea{padding:0.85rem 1rem;font-size:0.95rem}
	.contact-form button{padding:0.75rem 1.4rem;font-size:0.98rem}
}

/* Ajuste para anclas (desactivado al quitar navegación fija) */
section[id]{scroll-margin-top:0}

/* Sección Home */
.home-section{background:#fff;color:#111;padding:5rem 1rem}
.home-section .container{max-width:1100px;margin:0 auto}
.home-section .home-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2.5rem;align-items:center}
.home-section .home-copy{display:flex;flex-direction:column;gap:2.25rem}
.home-section h2{font-size:clamp(1.25rem,3.5vw,2rem);font-weight:500;text-align:center}
.home-section .home-illustration{margin:0;display:flex;justify-content:center}
.home-section .home-illustration img{width:100%;max-width:300px;object-fit:contain;animation:floaty 12s ease-in-out infinite alternate}
.home-section .highlight{color:var(--accent)}

@media (max-width:700px){
	.home-section{padding:2.25rem 1rem}
			.home-section .home-grid{grid-template-columns:1fr;gap:1.8rem}
		.home-section h2{text-align:center;font-size:1.25rem}
}

/* Bloque de puntos dentro de Home */
.home-section .issues{
	margin-top:2.25rem;
	background: transparent;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem 2.5rem;
	align-items:start;
}

.home-section .issues .issue{
	position:relative;
	padding:0.6rem 0 0.6rem 2.4rem; /* espacio para el punto morado */
	border-bottom: 1px solid rgba(0,0,0,0.06);
	transition:transform .38s var(--motion-ease), box-shadow .38s ease;
}
.home-section .issues .issue:last-child{border-bottom:0}

/* Punto morado delante de cada item */
.home-section .issues .issue::before{
	content: '';
	position: absolute;
	left: 0.35rem;
	top: 50%;
	transform: translateY(-50%);
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--accent);
	box-shadow: 0 2px 6px rgba(92,31,167,0.18);
}

.home-section .issues .issue:hover{transform:translateX(6px);box-shadow:0 14px 28px rgba(17,17,17,0.06)}

.home-section .issues h3{margin:0 0 0.3rem 0;font-size:1.12rem;font-weight:500;color:#111}
.home-section .issues p{margin:0;color:rgba(17,17,17,0.9);font-weight:400;opacity:0.95}

/* En pantallas amplias: dos columnas para tener 3 a la izquierda y 3 a la derecha */
@media (min-width:900px){
	.home-section .issues{grid-template-columns:1fr 1fr;gap:1.25rem 3.5rem}
	.home-section .issues .issue{padding:1rem 0 1rem 2.6rem}
	.home-section .issues h3{font-size:1.18rem}
}

/* Sección Cómo trabajamos (reutiliza estética de puntos) */
.process-section{background:#fff;color:#111;padding:5rem 1rem}
.process-section .container{max-width:1100px;margin:0 auto}
.process-section h2{text-align:center;font-size:clamp(1.4rem,4vw,2.4rem);font-weight:500;margin:0 0 0.75rem}
.process-section .process-subtitle{text-align:center;margin:0 0 2.2rem;font-size:clamp(.95rem,2vw,1.15rem);color:#444;font-weight:400;opacity:.85}
.process-section .steps{display:grid;grid-template-columns:1fr;gap:1.4rem 3rem}
.process-section .step{position:relative;padding:0.6rem 0 0.6rem 2.4rem;border-bottom:1px solid rgba(0,0,0,0.06);transition:transform .38s var(--motion-ease), box-shadow .38s ease}
.process-section .step:last-child{border-bottom:0}
.process-section .step::before{content:'';position:absolute;left:.35rem;top:50%;transform:translateY(-50%);width:13px;height:13px;border-radius:50%;background:var(--accent);box-shadow:0 2px 6px rgba(92,31,167,0.18)}
.process-section .step:hover{transform:translateX(6px);box-shadow:0 14px 28px rgba(17,17,17,0.06)}
.process-section .step h3{margin:0 0 .35rem;font-size:clamp(1rem,2.4vw,1.35rem);font-weight:500;color:#111}
.process-section .step p{margin:0;font-size:clamp(.9rem,1.5vw,1.05rem);color:rgba(17,17,17,0.9);font-weight:400}

@media (min-width:900px){
  .process-section .steps{grid-template-columns:1fr 1fr}
  .process-section .step:nth-child(3){grid-column:1 / span 1} /* tercer elemento queda a la izquierda */
}

/* ============================ */
/* Sección: Qué hacemos (sin humo) */
.services-section{position:relative;background:#fff;color:#111;padding:4.5rem 1rem;overflow:visible}
.services-section .container{max-width:1200px;margin:0 auto}
.services-section h2{font-size:clamp(1.35rem,3.6vw,2.1rem);text-align:center;font-weight:500;margin-bottom:2rem}
.services-section h2 .soft{font-weight:400;opacity:.9}

.services-grid{display:grid;grid-template-columns:1fr;gap:2rem}

.service-card{position:relative;border-radius:18px;overflow:hidden;min-height:190px;box-shadow:0 12px 30px rgba(0,0,0,0.12);transition:transform .5s var(--motion-ease), box-shadow .5s ease;will-change:transform}
.service-card .card-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.service-card .card-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,var(--gradient-start) 0%, var(--gradient-end) 100%);opacity:0.88;transition:opacity .5s ease}
.service-card .card-content{position:relative;z-index:2;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.6rem;padding:2rem}
.service-card:hover{transform:translateY(-8px);box-shadow:0 22px 42px rgba(0,0,0,0.18)}
.service-card:hover .card-overlay{opacity:0.72}
.service-card h3{font-size:clamp(1.05rem,2.2vw,1.6rem);font-weight:500;text-shadow:0 6px 18px rgba(0,0,0,.35);margin:0}
.service-card p{font-size:clamp(.95rem,1.4vw,1.1rem);margin:0;opacity:.95;font-weight:400}

@media (min-width:900px){
  .services-grid{grid-template-columns:1fr 1fr}
  .service-card{min-height:210px}
}


@media (max-width:900px){
	.contact-section .container{grid-template-columns:1fr;gap:2.5rem}
	.contact-form{grid-column:1 / -1}
	.contact-illustration{grid-column:1 / -1;justify-content:center}
}

@media (max-width:600px){
	.contact-section{padding:3.5rem 1rem}
	.contact-form{padding:1.85rem}
	.contact-illustration{display:none}
}

/* Página de contacto */
.contact-hero{min-height:45vh}
.contact-section{background:#f6eee8;color:#3a2f29;padding:5rem 1rem}
.contact-section .container{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,0.9fr);gap:3rem 3.5rem;align-items:start}

.contact-section h2{font-size:clamp(1.6rem,4vw,2.6rem);font-weight:500;margin:0 0 1rem;text-align:left;color:#2f2520;grid-column:1 / -1}
.contact-section .intro{font-size:clamp(0.98rem,2.4vw,1.18rem);color:rgba(48,37,31,0.78);margin:0 0 2.5rem;line-height:1.6;font-weight:400;grid-column:1 / -1}

.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 1.5rem;align-items:start;padding:2.5rem;border-radius:28px;background:rgba(255,255,255,0.82);box-shadow:0 28px 48px rgba(36,28,24,0.12);border:1px solid rgba(255,255,255,0.65);grid-column:1 / 2}
.contact-illustration{grid-column:2 / 3;align-self:start;display:flex;justify-content:center}
.contact-illustration img{width:100%;max-width:360px;object-fit:contain;filter:drop-shadow(0 24px 40px rgba(36,28,24,0.18))}
.contact-form .field-group{display:flex;flex-direction:column;gap:0.5rem}
.contact-form .field-group.full-width{grid-column:1 / -1}
.contact-form label{font-weight:500;color:#2f2520;font-size:0.95rem}
.contact-form input,
.contact-form select,
.contact-form textarea{padding:0.9rem 1.1rem;border-radius:18px;border:1px solid rgba(58,47,41,0.1);background:#fff;color:#312824;font-size:1rem;box-shadow:0 14px 24px rgba(49,38,32,0.08);transition:border-color .2s ease, box-shadow .2s ease}
.contact-form textarea{min-height:140px;resize:vertical}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(92,31,167,0.1)}

.contact-form input::placeholder,
.contact-form select::placeholder,
.contact-form textarea::placeholder{color:rgba(66,54,48,0.55)}

.contact-form button{grid-column:1 / -1;justify-self:flex-start;padding:0.8rem 1.8rem;border-radius:999px;border:none;font-size:1rem;font-weight:500;background:#d7ccc5;color:#2f2520;cursor:pointer;box-shadow:0 14px 26px rgba(49,38,32,0.12);transition:transform .18s ease, box-shadow .18s ease, background .18s ease}
.contact-form button:hover{transform:translateY(-2px);box-shadow:0 18px 32px rgba(49,38,32,0.16);background:#cdc1ba}

.contact-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23513f38' stroke-width='1.5' fill='none' stroke-linecap='round'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.2rem center;background-size:12px}

.contact-form input:focus,
.contact-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(92,31,167,0.1)}

/* Página Qué Ofrecemos */
.plans-page{background:#050513;color:#f7f4ff}
.plans-page section{padding:4.5rem 1.25rem}
.plans-container{max-width:1100px;margin:0 auto}
.plans-hero{background:linear-gradient(140deg,rgba(92,31,167,0.85),rgba(13,13,33,0.92));text-align:center}
.plans-eyebrow{text-transform:uppercase;letter-spacing:0.3em;font-size:0.85rem;color:rgba(255,255,255,0.72);margin-bottom:1rem}
.plans-hero h1{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:1rem}
.plans-intro{max-width:720px;margin:0 auto;font-size:1.05rem;line-height:1.65;color:rgba(255,255,255,0.9)}

.plans-grid-section{background:#faf7ff;color:#140b2b}
.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}
.plan-card{background:#fff;border-radius:28px;padding:2rem;box-shadow:0 25px 60px rgba(12,3,31,0.12);display:flex;flex-direction:column;gap:1.4rem;border:1px solid rgba(93,31,168,0.08)}
.plan-card.plan-premium{background:#150625;color:#fef9ff;border-color:rgba(255,255,255,0.12)}
.plan-label{text-transform:uppercase;font-size:0.78rem;letter-spacing:0.35em;color:rgba(20,11,43,0.5)}
.plan-card.plan-premium .plan-label{color:rgba(255,255,255,0.65)}
.plan-header h2{font-size:1.5rem;margin:0 0 0.6rem}
.plan-lead{margin:0;color:rgba(20,11,43,0.82);line-height:1.5}
.plan-card.plan-premium .plan-lead{color:rgba(255,255,255,0.85)}
.plan-body{display:flex;flex-direction:column;gap:1rem}
.plan-body h3{margin:0;font-size:1.05rem;font-weight:600;color:var(--accent)}
.plan-card.plan-premium .plan-body h3{color:#f7d8ff}
.plan-note{font-size:0.95rem;color:rgba(20,11,43,0.7)}
.plan-card.plan-premium .plan-note{color:rgba(255,255,255,0.72)}
.plan-list{list-style:none;display:flex;flex-direction:column;gap:0.7rem;padding:0;margin:0}
.plan-list li{padding-left:1.75rem;position:relative;font-size:0.98rem;line-height:1.45;color:rgba(20,11,43,0.9)}
.plan-list li::before{content:'';width:10px;height:10px;border-radius:50%;background:var(--accent);position:absolute;left:0;top:0.4rem;box-shadow:0 8px 16px rgba(93,31,168,0.28)}
.plan-card.plan-premium .plan-list li{color:rgba(255,255,255,0.9)}
.plan-card.plan-premium .plan-list li::before{background:#150625}
.plan-price{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:0.5rem}
.plan-price div{flex:1 1 140px;background:rgba(93,31,168,0.08);padding:1rem;border-radius:18px}
.plan-card.plan-premium .plan-price div{background:rgba(255,255,255,0.08)}
.price-main{font-size:1.9rem;font-weight:700;display:block;margin-bottom:0.35rem}
.price-recurring{color:#150625}
.plan-card.plan-premium .price-recurring{color:#f7d8ff}
.price-tag{font-weight:600;color:var(--accent);display:block;margin-bottom:0.35rem}

.plans-benefits{background:#0f0b1d}
.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}
.benefits-grid h3{margin-bottom:0.5rem;font-size:1.1rem}
.benefits-grid p{margin:0;color:rgba(247,244,255,0.78);line-height:1.6}

.plans-cta{text-align:center;background:#15082c}
.plans-cta h2{font-size:clamp(1.6rem,3.2vw,2.4rem);margin-bottom:0.8rem}
.plans-cta p{max-width:560px;margin:0 auto 1.8rem;color:rgba(255,255,255,0.82)}
.button{display:inline-flex;align-items:center;justify-content:center;padding:0.85rem 1.75rem;border-radius:999px;font-weight:600;text-decoration:none}
.button-primary{background:#fff;color:var(--accent);box-shadow:0 20px 40px rgba(0,0,0,0.2)}
.button-primary:hover{transform:translateY(-2px)}

@media (max-width:640px){
  .plans-page section{padding:3.5rem 1rem}
  .plan-card{padding:1.75rem}
  .plan-price{flex-direction:column}
}

@media (max-width:700px){
	.contact-section{padding:3rem 1rem}
	.contact-section .container{grid-template-columns:1fr;gap:2.5rem}
	.contact-form{grid-template-columns:1fr;gap:1.1rem;padding:1.85rem;border-radius:26px}
	.contact-illustration{display:none}
}

/* ============================ */
/* Footer */
.site-footer{position:relative;background:#0d0d1f;color:#f5f5f7;padding:4rem 1.4rem 2rem;overflow:hidden;margin-top:4rem}
.site-footer .footer-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;filter:brightness(0.75)}
.site-footer .footer-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(14,14,33,0.82),rgba(60,20,85,0.68))}
.site-footer .footer-content{position:relative;z-index:2;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2.5rem;padding-bottom:2rem}
.footer-brand h3{font-size:clamp(1.2rem,2.6vw,1.8rem);margin:0 0 0.8rem;font-weight:600}
.footer-brand p{margin:0;color:rgba(245,245,247,0.78);line-height:1.6;font-size:0.98rem}
.footer-nav h4,
.footer-contact h4{font-size:1rem;font-weight:600;margin:0 0 0.75rem;color:#fff}
.footer-nav ul,
.footer-contact ul{list-style:none;margin:0;padding:0;display:grid;gap:0.55rem}
.footer-nav a,
.footer-contact a{color:rgba(245,245,247,0.82);text-decoration:none;font-size:0.95rem}
.footer-nav a:hover,
.footer-contact a:hover{color:#fff}
.footer-social{display:flex;align-items:center;gap:0.9rem;margin-top:1.25rem}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,0.1);color:#fff;transition:background .25s ease, transform .25s var(--motion-ease), box-shadow .25s ease}
.footer-social a:hover{background:rgba(255,255,255,0.22);transform:translateY(-4px);box-shadow:0 12px 22px rgba(0,0,0,0.18)}
.footer-social svg{width:18px;height:18px;fill:currentColor}
.footer-bottom{position:relative;z-index:2;max-width:1200px;margin:0 auto;border-top:1px solid rgba(255,255,255,0.16);padding-top:1.4rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;color:rgba(245,245,247,0.72);font-size:0.9rem}
.footer-bottom a{color:rgba(245,245,247,0.82);text-decoration:none}
.footer-bottom a:hover{color:#fff}

@media (max-width:700px){
	.site-footer{padding:3.5rem 1rem 1.75rem;margin-top:3rem}
	.footer-social{justify-content:flex-start}
}

@media (prefers-reduced-motion: reduce){
	*, *::before, *::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}
}

/* ============================ */
/*       CHATBOT GLOBAL UI      */
.chatbot-widget{
	position:fixed !important;
	bottom:1.5rem !important;
	right:1rem !important;
	top:auto !important;
	left:auto !important;
	z-index:9999;
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	gap:0.85rem;
	font-family:'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

.chatbot-launchers{
	display:flex;
	align-items:center;
	gap:0.75rem;
}

.chatbot-icon-btn{
	width:64px;
	height:64px;
	border-radius:50%;
	border:none;
	background:transparent;
	box-shadow:none;
	padding:0;
	cursor:pointer;
	transition:transform .2s ease;
}

.chatbot-icon-btn img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;box-shadow:0 18px 36px rgba(10,0,33,0.22);}
.chatbot-icon-btn:hover{transform:translateY(-2px)}

.chatbot-cta-btn{
	border:none;
	border-radius:999px;
	padding:0.75rem 1.25rem;
	background:linear-gradient(120deg,#5c1fa7,#ec36ab);
	color:#fff;
	font-weight:600;
	cursor:pointer;
	box-shadow:0 16px 32px rgba(92,31,167,0.22);
	transition:transform .18s ease, box-shadow .18s ease;
}

.chatbot-cta-btn:hover{transform:translateY(-2px);box-shadow:0 20px 38px rgba(92,31,167,0.3)}

.chatbot-window{
	width:min(360px, calc(100vw - 2.5rem));
	max-height:520px;
	background:#050513;
	border-radius:26px;
	box-shadow:0 30px 60px rgba(5,5,20,0.45);
	border:1px solid rgba(255,255,255,0.06);
	color:#fff;
	display:flex;
	flex-direction:column;
	opacity:0;
	pointer-events:none;
	transform:translateY(12px) scale(.98);
	transition:opacity .25s ease, transform .25s ease;
}

.chatbot-widget.is-open .chatbot-window{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}

.chatbot-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:1.1rem 1.25rem 0.65rem;
	border-bottom:1px solid rgba(255,255,255,0.08);
}

.chatbot-eyebrow{
	margin:0;
	font-size:0.75rem;
	letter-spacing:0.2em;
	text-transform:uppercase;
	color:rgba(255,255,255,0.58);
}

.chatbot-header h3{margin:0;font-size:1.1rem}

.chatbot-close{
	border:none;
	background:transparent;
	color:#fff;
	font-size:1.5rem;
	cursor:pointer;
}

.chatbot-messages{
	flex:1;
	padding:1rem 1.25rem;
	overflow:auto;
	display:flex;
	flex-direction:column;
	gap:0.75rem;
}

.chatbot-message{max-width:90%;padding:0.75rem 1rem;border-radius:18px;font-size:0.95rem;line-height:1.5}
.chatbot-message.bot{align-self:flex-start;background:rgba(255,255,255,0.08)}
.chatbot-message.user{align-self:flex-end;background:#fff;color:#140b2b;border-bottom-right-radius:6px}
.chatbot-message.info{align-self:center;background:rgba(255,255,255,0.12);font-size:0.85rem}
.chatbot-message p{margin:0}

.chatbot-helper{padding:0.85rem 1.25rem;border-top:1px solid rgba(255,255,255,0.08);font-size:0.85rem;color:rgba(255,255,255,0.78)}
.chatbot-helper a{color:#fff;text-decoration:underline}

.chatbot-form{display:flex;flex-direction:column;gap:0.6rem;padding:1rem 1.25rem 1.15rem;border-top:1px solid rgba(255,255,255,0.08)}
.chatbot-form textarea{
	border-radius:18px;
	border:1px solid rgba(255,255,255,0.18);
	background:rgba(255,255,255,0.08);
	color:#fff;
	padding:0.85rem 1rem;
	font-family:inherit;
	resize:none;
}
.chatbot-form textarea::placeholder{color:rgba(255,255,255,0.55)}

.chatbot-send{
	border:none;
	border-radius:999px;
	padding:0.6rem 1.5rem;
	background:#fff;
	color:var(--accent);
	font-weight:600;
	cursor:pointer;
	box-shadow:0 12px 28px rgba(255,255,255,0.15);
}
.chatbot-send:disabled{opacity:0.6;cursor:not-allowed}

.chatbot-form.is-loading textarea{opacity:0.7}

.screen-reader-text{
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	border:0;
}

@media (max-width:680px){
	.chatbot-widget{bottom:1rem !important;right:0.85rem !important}
	.chatbot-window{width:100%;max-height:70vh}
	.chatbot-launchers{flex-direction:row-reverse}
	.chatbot-cta-btn{font-size:0.9rem;padding:0.65rem 1rem}
}

@media (max-width:480px){
	.chatbot-launchers{flex-direction:column;align-items:flex-end}
	.chatbot-icon-btn{width:56px;height:56px}
	.chatbot-window{border-radius:22px}
}

/* ========================================= */
/*           ESTILOS PARA ENTRADAS           */
/* ========================================= */

/* Contenedor del post: centrado y legible */
.single-post .post-container{
  max-width: 820px;
  margin: 0 auto;
  padding: 60px 20px;
  color:#111;
  background:#fff;
}

/* Título del post */
.single-post .single-title{
  font-family:'Montserrat', sans-serif;
  font-weight:800;
  font-size:2.2rem;
  line-height:1.2;
  margin-bottom:12px;
  color:#111;
}

/* Fecha + autor */
.single-post .single-meta{
  font-family:'Montserrat', sans-serif;
  font-weight:500;
  font-size:0.95rem;
  color:#444;
  margin-bottom:30px;
}

/* Imagen destacada */
.single-post .single-thumb img{
  width:100%;
  height:auto;
  border-radius:12px;
  margin:10px 0 28px;
  display:block;
}

/* Cuerpo del contenido */
.single-post .single-content{
  font-family:'Montserrat', sans-serif;
  font-weight:400;
  font-size:1.05rem;
  line-height:1.75;
  color:#111;
}

.single-post .single-content *{
	font-family:'Montserrat', sans-serif;
}

/* Párrafos dentro del contenido */
.single-post .single-content p{
  margin:0 0 18px 0;
}

/* Cabeceras dentro del contenido */
.single-post .single-content h2,
.single-post .single-content h3{
  font-family:'Montserrat', sans-serif;
  font-weight:700;
  margin-top:32px;
  margin-bottom:12px;
  line-height:1.3;
  color:#111;
}

/* Listas */
.single-post .single-content ul{
	list-style:none;
	padding-left:1.5rem;
	margin-bottom:18px;
}

.single-post .single-content ul li{
	position:relative;
	margin-bottom:12px;
	padding-left:0.35rem;
}

.single-post .single-content ul li::before{
	content:"";
	position:absolute;
	left:-1.5rem;
	top:0.65em;
	width:10px;
	height:10px;
	border-radius:50%;
	background:var(--accent);
	box-shadow:0 2px 6px rgba(92,31,167,0.2);
}

.single-post .single-content ol{
	padding-left:1.5rem;
	margin-bottom:18px;
}

/* Botones dentro del contenido */
.single-post .single-content .wp-block-button,
.single-post .single-content .wp-block-buttons{
	margin:1.5rem 0;
}

.single-post .single-content .wp-block-button__link,
.single-post .single-content a.button,
.single-post .single-content button,
.single-post .single-content input[type="submit"],
.single-post .single-content input[type="button"],
.single-post .single-content input[type="reset"]{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:0.4rem;
	padding:0.75rem 1.6rem;
	border-radius:999px;
	border:2px solid var(--accent);
	background:var(--accent);
	color:#fff !important;
	font-weight:600;
	text-decoration:none;
	transition:background .2s ease, box-shadow .2s ease, transform .2s ease;
	box-shadow:0 14px 26px rgba(92,31,167,0.18);
}

.single-post .single-content .wp-block-button__link:hover,
.single-post .single-content a.button:hover,
.single-post .single-content button:hover,
.single-post .single-content input[type="submit"]:hover,
.single-post .single-content input[type="button"]:hover,
.single-post .single-content input[type="reset"]:hover{
	transform:translateY(-2px);
	background:#4a1789;
	border-color:#4a1789;
	box-shadow:0 18px 32px rgba(74,23,137,0.26);
}

/* Navegación entre posts */
.single-post .single-nav{
  display:flex;
  justify-content:space-between;
  margin-top:40px;
  font-weight:600;
}

.single-post .single-nav a{
  color:var(--accent);
  text-decoration:none;
}

.single-post .single-nav a:hover{
  text-decoration:underline;
}
