/* =========================================================
   MIRASOL THEME — hoja de estilos principal
   Paleta inspirada en el girasol de la marca (ámbar/dorado)
   sobre un marrón cálido oscuro para las secciones de fondo
   oscuro, y crema para las secciones claras alternadas.
   ========================================================= */

:root{
	--mirasol-50:#FFFBEB;
	--mirasol-100:#FEF3C7;
	--mirasol-200:#FDE68A;
	--mirasol-300:#FCD34D;
	--mirasol-400:#FBBF24;
	--mirasol-500:#F59E0B;
	--mirasol-600:#D97706;
	--mirasol-700:#B45309;
	--mirasol-800:#92400E;
	--mirasol-900:#78350F;

	--mirasol-dark:#2B1B0E;
	--mirasol-dark-2:#1C1108;
	--mirasol-cream:#FFF8EC;

	--text:#2D2A26;
	--text-light:#746b60;
	--white:#ffffff;

	--font-heading:'Poppins', system-ui, sans-serif;
	--font-body:'Nunito', system-ui, sans-serif;

	--radius-sm:10px;
	--radius:20px;
	--radius-lg:28px;
	--shadow-sm:0 2px 10px rgba(43,27,14,.06);
	--shadow:0 20px 45px -20px rgba(146,64,14,.35);
	--container:1200px;
	--transition:.35s cubic-bezier(.4,0,.2,1);
}

/* ---------- Base / tipografía ---------- */
html{ scroll-behavior:smooth; }
body{
	font-family:var(--font-body);
	color:var(--text);
	background:var(--white);
	line-height:1.65;
	font-size:16px;
	overflow-x:hidden;
}
h1,h2,h3,h4{
	font-family:var(--font-heading);
	color:var(--mirasol-900);
	line-height:1.2;
	margin:0 0 .5em;
	font-weight:700;
}
p{ margin:0 0 1em; color:var(--text-light); }
strong{ color:var(--text); }

.container{
	width:100%;
	max-width:var(--container);
	margin:0 auto;
	padding:0 24px;
}
.container--narrow{ max-width:820px; }

.screen-reader-text,.skip-link{
	position:absolute; left:-9999px; top:auto;
	background:var(--mirasol-700); color:#fff; padding:12px 20px;
	z-index:10000; border-radius:0 0 8px 0;
}
.skip-link:focus{ left:0; top:0; }

/* ---------- Iconos ---------- */
.mirasol-icon{ width:22px; height:22px; flex-shrink:0; }
.mirasol-icon--sm{ width:16px; height:16px; }

/* ---------- Botones ---------- */
.btn{
	display:inline-flex; align-items:center; justify-content:center; gap:10px;
	font-family:var(--font-heading); font-weight:600; font-size:.95rem;
	padding:14px 28px; border-radius:999px; white-space:nowrap;
	transition:transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition);
	border:1px solid transparent; cursor:pointer;
}
.btn .mirasol-icon{ width:18px; height:18px; }
.btn--sm{ padding:10px 20px; font-size:.85rem; }
.btn--block{ width:100%; }

.btn--primary{
	background:linear-gradient(135deg,var(--mirasol-500),var(--mirasol-600));
	color:#fff; box-shadow:0 10px 30px -12px rgba(217,119,6,.55);
}
.btn--primary:hover{ transform:translateY(-2px); box-shadow:0 16px 34px -12px rgba(217,119,6,.6); }

.btn--light{
	background:#fff; color:var(--mirasol-800);
	box-shadow:0 10px 30px -14px rgba(0,0,0,.4);
}
.btn--light:hover{ transform:translateY(-2px); background:var(--mirasol-50); }

.btn--outline{
	border-color:rgba(255,255,255,.4); color:#fff; background:transparent;
}
.btn--outline:hover{ background:#fff; color:var(--mirasol-900); transform:translateY(-2px); }

.btn--outline-dark{
	border-color:var(--mirasol-300); color:var(--mirasol-800); background:transparent;
}
.btn--outline-dark:hover{ background:var(--mirasol-600); border-color:var(--mirasol-600); color:#fff; transform:translateY(-2px); }

/* ---------- Header / navbar ---------- */
.site-header{
	position:sticky; top:0; z-index:60;
	background:rgba(255,255,255,.9);
	backdrop-filter:blur(14px);
	box-shadow:0 1px 0 rgba(43,27,14,.06);
}
.site-header__inner{
	display:flex; align-items:center; justify-content:space-between;
	gap:20px; padding:14px 24px;
}
.site-branding{ display:flex; align-items:center; gap:12px; }
.custom-logo-link{ display:flex; }
.custom-logo{ width:auto; height:60px; max-height:60px; object-fit:contain; }
.site-branding__name{ display:none;
	font-family:var(--font-heading); font-weight:700; font-size:1.15rem;
	color:var(--mirasol-900);
}

.site-nav{ display:none; }
.nav-menu{ display:flex; align-items:center; gap:32px; }
.nav-menu a{
	position:relative; font-weight:600; font-size:.95rem; color:var(--text);
	transition:color var(--transition);
}
.nav-menu a::after{
	content:''; position:absolute; left:0; bottom:-6px; width:0; height:2px;
	background:linear-gradient(90deg,var(--mirasol-500),var(--mirasol-300));
	transition:width var(--transition);
}
.nav-menu a:hover{ color:var(--mirasol-700); }
.nav-menu a:hover::after{ width:100%; }

.site-header__actions{ display:flex; align-items:center; gap:16px; }
.site-header__phone{
	display:none; align-items:center; gap:8px; font-weight:600; font-size:.9rem;
	color:var(--text);
}
.site-header__phone .mirasol-icon{ color:var(--mirasol-600); }

.mobile-menu-toggle{
	display:flex; align-items:center; justify-content:center;
	width:42px; height:42px; border-radius:12px; background:var(--mirasol-50); color:var(--mirasol-800);
}

/* ---------- Menú móvil ---------- */
.mobile-menu{
	position:fixed; top:0; right:0; bottom:0; width:min(320px,85vw);
	background:#fff; z-index:100; padding:28px 24px;
	transform:translateX(100%); transition:transform var(--transition);
	display:flex; flex-direction:column; box-shadow:-10px 0 40px rgba(0,0,0,.15);
}
.mobile-menu.is-open{ transform:translateX(0); }
.mobile-menu__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:32px; }
.mobile-menu__title{ font-family:var(--font-heading); font-weight:700; font-size:1.1rem; }
.mobile-menu__close{ width:38px; height:38px; display:flex; align-items:center; justify-content:center; background:var(--mirasol-50); border-radius:10px; }
.mobile-menu__list{ display:flex; flex-direction:column; gap:22px; font-size:1.1rem; font-weight:600; }
.mobile-menu__cta{ margin-top:auto; }
.mobile-menu__overlay{
	position:fixed; inset:0; background:rgba(28,17,8,.55); z-index:90;
	opacity:0; visibility:hidden; transition:opacity var(--transition);
}
.mobile-menu__overlay.is-visible{ opacity:1; visibility:visible; }

/* ---------- Hero ---------- */
.hero{
	position:relative; overflow:hidden; isolation:isolate;
	background:
		linear-gradient(150deg, rgba(28,17,8,.92) 10%, rgba(146,64,14,.82) 60%, rgba(217,119,6,.7) 100%),
		var(--hero-image, none) center/cover no-repeat,
		var(--mirasol-dark);
	color:#fff;
	padding:150px 0 110px;
	min-height:92vh;
	display:flex; align-items:center;
}
.hero__blobs{ position:absolute; inset:0; z-index:-1; }
.blob{ position:absolute; border-radius:50%; filter:blur(90px); opacity:.55; }
.blob--1{ width:420px; height:420px; background:var(--mirasol-500); top:-160px; left:-140px; }
.blob--2{ width:360px; height:360px; background:var(--mirasol-300); bottom:-140px; right:-120px; opacity:.35; }
.blob--3{ width:380px; height:380px; background:var(--mirasol-400); top:-190px; left:50%; transform:translateX(-50%); opacity:.5; }

.hero__inner{ text-align:center; max-width:820px; margin:0 auto; }

.badge{
	display:inline-flex; align-items:center; gap:10px;
	padding:9px 20px; border-radius:999px; font-size:.85rem; font-weight:600;
	margin-bottom:28px;
}
.badge--glass{
	background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2);
	backdrop-filter:blur(10px); color:var(--mirasol-100);
}

.hero__title{
	color:#fff; font-size:clamp(2rem,5.5vw,3.4rem); font-weight:800; margin-bottom:22px;
}
.hero__subtitle{
	color:rgba(255,255,255,.85); font-size:1.15rem; max-width:640px; margin:0 auto 40px;
}
.hero__actions{ display:flex; flex-wrap:wrap; gap:16px; justify-content:center; margin-bottom:56px; }

.hero__stats{ display:flex; justify-content:center; gap:clamp(20px,6vw,56px); flex-wrap:wrap; }
.hero__stat{ text-align:center; }
.hero__stat-number{
	display:block; font-family:var(--font-heading); font-weight:800;
	font-size:clamp(1.6rem,3vw,2.3rem);
	background:linear-gradient(135deg,var(--mirasol-200),var(--mirasol-400));
	-webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.hero__stat-label{ font-size:.8rem; color:rgba(255,255,255,.7); }

.hero__scroll{
	position:absolute; bottom:28px; left:50%; transform:translateX(-50%);
	color:rgba(255,255,255,.6); animation:mirasol-bounce 2.4s ease-in-out infinite;
}
.hero__scroll:hover{ color:#fff; }

/* ---------- Secciones genéricas ---------- */
.section{ padding:96px 0; }
.section--alt{ background:var(--mirasol-cream); }
.section__header{ text-align:center; max-width:640px; margin:0 auto 56px; }
.eyebrow{
	display:inline-block; padding:7px 18px; border-radius:999px; margin-bottom:16px;
	background:var(--mirasol-100); color:var(--mirasol-700); font-weight:700; font-size:.8rem;
	letter-spacing:.02em; text-transform:uppercase;
}
.eyebrow--light{ background:rgba(255,255,255,.15); color:var(--mirasol-100); }
.section__title{ font-size:clamp(1.8rem,3.6vw,2.6rem); }
.section__lead{ font-size:1.05rem; }
.section__footer{ text-align:center; margin-top:48px; }
.admin-hint{
	background:var(--mirasol-50); border:1px dashed var(--mirasol-300); color:var(--mirasol-800);
	padding:18px 22px; border-radius:var(--radius-sm); font-size:.9rem;
}

/* ---------- Nosotros ---------- */
.nosotros__grid{ display:grid; gap:48px; align-items:center; }
.image-frame{ position:relative; }
.image-frame::before{
	content:''; position:absolute; inset:18px -18px -18px 18px; z-index:-1;
	border:2px solid var(--mirasol-400); border-radius:var(--radius-lg);
	transition:inset var(--transition);
}
.image-frame:hover::before{ inset:10px -10px -10px 10px; }
.image-frame img{ border-radius:var(--radius-lg); box-shadow:var(--shadow); width:100%; object-fit:cover; aspect-ratio:4/3; }
.nosotros__logo-placeholder{ object-fit:contain; padding:60px; background:var(--mirasol-50); aspect-ratio:4/3; }

.nosotros__content .section__title{ text-align:left; }
.nosotros__badges{ display:flex; flex-wrap:wrap; gap:16px; margin-top:24px; }
.nosotros__badge{
	display:flex; align-items:center; gap:10px; background:var(--mirasol-50);
	padding:14px 18px; border-radius:var(--radius-sm); font-weight:600; font-size:.9rem; color:var(--mirasol-800);
}
.nosotros__badge .mirasol-icon{ color:var(--mirasol-600); }

/* ---------- Tarjetas (servicios / novedades) ---------- */
.cards-grid{ display:grid; gap:28px; grid-template-columns:1fr; }
.card{
	background:#fff; border-radius:var(--radius); padding:34px 28px;
	box-shadow:var(--shadow-sm); transition:transform var(--transition), box-shadow var(--transition);
	opacity:0; transform:translateY(24px);
}
.card.reveal.is-visible{ opacity:1; transform:none; }
.card--servicio:hover{ transform:translateY(-10px); box-shadow:var(--shadow); }
.card__icon{
	width:60px; height:60px; border-radius:16px; background:var(--mirasol-50); color:var(--mirasol-600);
	display:flex; align-items:center; justify-content:center; margin-bottom:20px;
	transition:background var(--transition), color var(--transition), transform var(--transition);
}
.card--servicio:hover .card__icon{ background:linear-gradient(135deg,var(--mirasol-500),var(--mirasol-700)); color:#fff; transform:scale(1.08) rotate(4deg); }
.card__title{ font-size:1.25rem; margin-bottom:10px; }
.card__text{ font-size:.95rem; }
.card__text p{ margin:0; }
.card__link{
	display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:.9rem;
	color:var(--mirasol-700); margin-top:6px;
}
.card__link .mirasol-icon{ transition:transform var(--transition); }
.card__link:hover .mirasol-icon{ transform:translateX(4px); }

.cards-grid--novedades .card{ padding:0; overflow:hidden; }
.card--novedad{ display:flex; flex-direction:column; }
.card__media{ display:block; aspect-ratio:4/3; overflow:hidden; background:var(--mirasol-50); }
.card__media img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.card--novedad:hover .card__media img{ transform:scale(1.06); }
.card__media-placeholder{ object-fit:contain; padding:40px; }
.card__body{ padding:26px 24px 28px; }
.card__date{ font-size:.78rem; font-weight:700; color:var(--mirasol-600); text-transform:uppercase; letter-spacing:.03em; }
.card__body .card__title{ margin-top:6px; }
.card__body .card__title a{ color:var(--mirasol-900); }
.card__body .card__title a:hover{ color:var(--mirasol-600); }

/* ---------- Galería / lightbox ---------- */
.gallery{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.gallery__item{
	position:relative; border-radius:var(--radius-sm); overflow:hidden; aspect-ratio:1/1;
	opacity:0; transform:translateY(24px);
}
.gallery__item.is-visible{ opacity:1; transform:none; }
.gallery__item img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.gallery__item:hover img{ transform:scale(1.08); }
.gallery__zoom{
	position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
	background:rgba(28,17,8,0); color:#fff; opacity:0; transition:all var(--transition);
}
.gallery__item:hover .gallery__zoom{ background:rgba(28,17,8,.35); opacity:1; }

.lightbox{
	position:fixed; inset:0; z-index:200; background:rgba(15,9,4,.92);
	display:flex; align-items:center; justify-content:center; padding:32px;
}
.lightbox[hidden]{ display:none; }
.lightbox__figure{ max-width:min(900px,92vw); max-height:88vh; text-align:center; }
.lightbox__figure img{ max-height:80vh; border-radius:var(--radius-sm); margin:0 auto; }
.lightbox__figure figcaption{ color:#fff; margin-top:14px; font-size:.9rem; opacity:.8; }
.lightbox__close{
	position:absolute; top:24px; right:24px; width:44px; height:44px; border-radius:50%;
	background:rgba(255,255,255,.12); color:#fff; display:flex; align-items:center; justify-content:center;
}
.lightbox__close:hover{ background:rgba(255,255,255,.25); }

/* ---------- CTA final home ---------- */
.cta-final{
	position:relative; overflow:hidden; padding:90px 0;
	background:linear-gradient(135deg,var(--mirasol-700),var(--mirasol-900));
	color:#fff; text-align:center;
}
.cta-final__blobs{ position:absolute; inset:0; z-index:0; }
.cta-final__inner{ position:relative; z-index:1; max-width:600px; margin:0 auto; }
.cta-final h2{ color:#fff; font-size:clamp(1.6rem,3.4vw,2.2rem); }
.cta-final p{ color:rgba(255,255,255,.85); }
.cta-final__actions{ display:flex; flex-wrap:wrap; gap:16px; justify-content:center; margin-top:24px; }

/* ---------- Page hero (páginas internas) ---------- */
.page-hero{
	background:linear-gradient(135deg,var(--mirasol-dark-2),var(--mirasol-800));
	color:#fff; padding:130px 0 60px; text-align:center;
}
.page-hero h1{ color:#fff; font-size:clamp(1.8rem,4vw,2.6rem); margin:0; }
.page-hero--novedad{ text-align:left; padding:130px 0 40px; }
.page-hero--novedad h1{ margin-top:10px; }

/* ---------- Contacto ---------- */
.section--contacto{ background:var(--mirasol-cream); }
.contacto__grid{ display:grid; gap:48px; margin-bottom:56px; }
.contacto__lead{ font-size:1.05rem; margin-bottom:32px; }
.contacto__content{ margin-bottom:24px; }
.contacto__list{ display:flex; flex-direction:column; gap:20px; margin-bottom:28px; }
.contacto__list li{ display:flex; align-items:flex-start; gap:14px; }
.contacto__list a{ color:var(--text); font-weight:600; }
.contacto__list a:hover{ color:var(--mirasol-700); }
.contacto__list strong{ display:block; font-size:.8rem; text-transform:uppercase; letter-spacing:.03em; color:var(--mirasol-700); margin-bottom:2px; }
.contacto__icon{
	width:44px; height:44px; flex-shrink:0; border-radius:12px; background:#fff;
	display:flex; align-items:center; justify-content:center; color:var(--mirasol-600); box-shadow:var(--shadow-sm);
}

.contacto__form-wrap{ background:#fff; border-radius:var(--radius-lg); padding:36px 30px; box-shadow:var(--shadow); }

.contacto__map{
	border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm);
	aspect-ratio:16/7;
}
.contacto__map iframe{ width:100%; height:100%; border:0; display:block; }
.contacto__map--inline{ aspect-ratio:4/3; margin-top:28px; }

/* ---------- Footer ---------- */
.site-footer{ background:var(--mirasol-dark); color:rgba(255,255,255,.75); }
.site-footer__grid{ display:grid; gap:40px; padding:72px 24px 48px; }
.footer-col h3{ color:#fff; font-size:1.05rem; margin-bottom:18px; }
.site-footer__logo{ width:64px; height:64px; object-fit:contain; margin-bottom:16px; }
.footer-col--brand p{ color:rgba(255,255,255,.6); max-width:340px; }
.footer-menu{ display:flex; flex-direction:column; gap:12px; }
.footer-menu a:hover{ color:var(--mirasol-300); }
.footer-contact{ display:flex; flex-direction:column; gap:14px; }
.footer-contact li{ display:flex; align-items:flex-start; gap:10px; }
.footer-contact .mirasol-icon{ color:var(--mirasol-400); margin-top:3px; }
.footer-contact a:hover{ color:var(--mirasol-300); }

.mirasol-social-links{ display:flex; gap:12px; margin-top:20px; }
.mirasol-social-links a{
	width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center;
	background:rgba(255,255,255,.08); color:#fff; transition:all var(--transition);
}
.mirasol-social-links a:hover{ background:var(--mirasol-500); transform:translateY(-3px); }
.mirasol-social-links .mirasol-icon{ width:18px; height:18px; }
.contacto__info .mirasol-social-links a{ background:var(--mirasol-50); color:var(--mirasol-700); }
.contacto__info .mirasol-social-links a:hover{ background:var(--mirasol-600); color:#fff; }

.site-footer__bottom{ border-top:1px solid rgba(255,255,255,.08); }
.site-footer__bottom-inner{
	display:flex; flex-direction:column; gap:8px; align-items:center; text-align:center;
	padding:22px 24px; font-size:.82rem;
}
.site-footer__bottom-inner p{ margin:0; color:rgba(255,255,255,.55); }
.site-footer__credit a{ color:var(--mirasol-300); font-weight:600; }
.site-footer__credit a:hover{ color:var(--mirasol-200); }

/* ---------- WhatsApp flotante ---------- */
.whatsapp-float{
	position:fixed; bottom:26px; right:26px; z-index:70; width:58px; height:58px; border-radius:50%;
	background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center;
	box-shadow:0 12px 28px -8px rgba(37,211,102,.6); animation:mirasol-float 3.4s ease-in-out infinite;
}
.whatsapp-float:hover{ transform:scale(1.08); }
.whatsapp-float .mirasol-icon{ width:30px; height:30px; }

/* ---------- Paginación ---------- */
.pagination{ display:flex; justify-content:center; gap:10px; margin-top:48px; }
.pagination .page-numbers{
	min-width:40px; height:40px; display:flex; align-items:center; justify-content:center;
	border-radius:10px; background:var(--mirasol-50); color:var(--mirasol-800); font-weight:700;
}
.pagination .page-numbers.current{ background:var(--mirasol-600); color:#fff; }

/* ---------- Reveal on scroll ---------- */
[data-reveal]{ opacity:0; transform:translateY(30px); transition:opacity .8s cubic-bezier(.4,0,.2,1), transform .8s cubic-bezier(.4,0,.2,1); }
[data-reveal].is-visible{ opacity:1; transform:none; }

/* ---------- Animaciones ---------- */
@keyframes mirasol-float{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-10px);} }
@keyframes mirasol-bounce{ 0%,100%{ transform:translate(-50%,0);} 50%{ transform:translate(-50%,8px);} }

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

/* =========================================================
   Bajada de texto (páginas Servicios / Instalaciones / Contacto)
   ========================================================= */
.section__lead-content{
	max-width:760px; margin:0 auto 48px; text-align:center; font-size:1.05rem;
}
.section__lead-content p:last-child{ margin-bottom:0; }

.contacto__whatsapp-alt{ margin-top:16px; }

/* =========================================================
   Tipografía del contenido (páginas y entradas del blog)
   ========================================================= */
.entry-content{ font-size:1.05rem; color:var(--text); }
.entry-content > *:first-child{ margin-top:0; }
.entry-content h2{ font-size:1.6rem; margin-top:1.6em; }
.entry-content h3{ font-size:1.3rem; margin-top:1.4em; }
.entry-content p{ color:var(--text); }
.entry-content a{ color:var(--mirasol-700); text-decoration:underline; text-underline-offset:2px; }
.entry-content a:hover{ color:var(--mirasol-900); }
.entry-content ul,
.entry-content ol{ margin:0 0 1.2em; padding-left:1.4em; color:var(--text); }
.entry-content ul{ list-style:disc; }
.entry-content ol{ list-style:decimal; }
.entry-content li{ margin-bottom:.4em; }
.entry-content img{ border-radius:var(--radius-sm); margin:1.4em 0; }
.entry-content figcaption{ font-size:.85rem; color:var(--text-light); text-align:center; margin-top:-1em; margin-bottom:1.4em; }
.entry-content blockquote{
	margin:1.6em 0; padding:20px 26px; border-left:4px solid var(--mirasol-500);
	background:var(--mirasol-cream); border-radius:0 var(--radius-sm) var(--radius-sm) 0;
	font-style:italic; color:var(--mirasol-900);
}
.entry-content blockquote p:last-child{ margin-bottom:0; }
.page-links{ margin-top:2em; font-weight:700; }

/* ---------- Entrada individual del blog ---------- */
.single-post__meta{
	display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-bottom:14px;
	font-size:.85rem; color:rgba(255,255,255,.65);
}
.single-post__categories{ display:flex; flex-wrap:wrap; gap:8px; }
.single-post__categories a{
	padding:4px 12px; border-radius:999px; background:rgba(255,255,255,.12); color:var(--mirasol-200);
	font-weight:600; transition:background var(--transition);
}
.single-post__categories a:hover{ background:var(--mirasol-500); color:#fff; }

.single-post__image img{ width:100%; max-height:520px; object-fit:cover; }

.single-post__tags{ display:flex; flex-wrap:wrap; gap:10px; margin-top:32px; }
.tag-pill{
	padding:6px 14px; border-radius:999px; background:var(--mirasol-50); color:var(--mirasol-700);
	font-size:.82rem; font-weight:600; transition:background var(--transition), color var(--transition);
}
.tag-pill:hover{ background:var(--mirasol-600); color:#fff; }

.single-post__nav{
	display:grid; gap:16px; margin-top:48px; padding-top:32px; border-top:1px solid #eee2d0;
}
.single-post__nav-link{
	display:flex; flex-direction:column; gap:6px; padding:18px 20px; border-radius:var(--radius-sm);
	background:var(--mirasol-cream); transition:background var(--transition);
}
.single-post__nav-link:hover{ background:var(--mirasol-100); }
.single-post__nav-link--next{ text-align:right; align-items:flex-end; }
.single-post__nav-label{ font-size:.78rem; font-weight:700; color:var(--mirasol-600); text-transform:uppercase; letter-spacing:.03em; }
.single-post__nav-title{ font-weight:700; color:var(--text); }
.single-post__back{ margin-top:32px; }

/* =========================================================
   Formulario de Forminator — se adapta al diseño del theme
   ========================================================= */
.contacto__form-wrap .forminator-custom-form,
.contacto__form-wrap .forminator-ui{ font-family:var(--font-body) !important; }

.contacto__form-wrap .forminator-row{ margin-bottom:0 !important; }

.contacto__form-wrap .forminator-field{ margin-bottom:20px !important; }

.contacto__form-wrap label,
.contacto__form-wrap .forminator-label{
	display:block !important; font-weight:700 !important; font-size:.85rem !important;
	margin-bottom:8px !important; color:var(--text) !important; font-family:var(--font-body) !important;
}

.contacto__form-wrap input[type="text"],
.contacto__form-wrap input[type="email"],
.contacto__form-wrap input[type="tel"],
.contacto__form-wrap input[type="number"],
.contacto__form-wrap input[type="url"],
.contacto__form-wrap select,
.contacto__form-wrap textarea,
.contacto__form-wrap .forminator-input,
.contacto__form-wrap .forminator-select,
.contacto__form-wrap .forminator-textarea-input{
	width:100% !important; padding:13px 16px !important; border-radius:var(--radius-sm) !important;
	border:1.5px solid #ece3d6 !important; background:#fdfaf5 !important;
	font-family:var(--font-body) !important; font-size:.95rem !important; color:var(--text) !important;
	box-shadow:none !important; transition:border-color var(--transition), box-shadow var(--transition);
}
.contacto__form-wrap input:focus,
.contacto__form-wrap select:focus,
.contacto__form-wrap textarea:focus{
	outline:none !important; border-color:var(--mirasol-500) !important;
	box-shadow:0 0 0 4px rgba(245,158,11,.15) !important;
}

.contacto__form-wrap button,
.contacto__form-wrap .forminator-button,
.contacto__form-wrap .forminator-button-submit{
	display:inline-flex !important; align-items:center; justify-content:center; gap:10px;
	width:100% !important; font-family:var(--font-heading) !important; font-weight:600 !important;
	font-size:.95rem !important; padding:14px 28px !important; border-radius:999px !important;
	border:none !important; color:#fff !important;
	background:linear-gradient(135deg,var(--mirasol-500),var(--mirasol-600)) !important;
	box-shadow:0 10px 30px -12px rgba(217,119,6,.55) !important;
	transition:transform var(--transition), box-shadow var(--transition) !important;
}
.contacto__form-wrap button:hover,
.contacto__form-wrap .forminator-button:hover{
	transform:translateY(-2px); box-shadow:0 16px 34px -12px rgba(217,119,6,.6) !important;
}

.contacto__form-wrap .forminator-response-message,
.contacto__form-wrap .forminator-alert-success{
	background:#eafaf0 !important; color:#1f7a4c !important; border:1px solid #b9ecd0 !important;
	border-radius:var(--radius-sm) !important; padding:16px 20px !important; font-weight:600 !important;
}
.contacto__form-wrap .forminator-alert-error,
.contacto__form-wrap .forminator-error-message{
	color:#b3261e !important; font-size:.85rem !important; margin-top:6px !important;
}

/* =========================================================
   RESPONSIVE — tablet (≥768px) y escritorio (≥1024px)
   ========================================================= */
@media (min-width: 768px){
	.gallery{ grid-template-columns:repeat(3,1fr); }
	.cards-grid{ grid-template-columns:repeat(2,1fr); }
	.site-footer__grid{ grid-template-columns:1.3fr 1fr 1fr; }
	.site-footer__bottom-inner{ flex-direction:row; justify-content:space-between; text-align:left; }
	.single-post__nav{ grid-template-columns:1fr 1fr; }
}

@media (min-width: 1024px){
	.site-nav{ display:block; }
	.mobile-menu-toggle{ display:none; }
	.site-header__phone{ display:flex; }

	.nosotros__grid{ grid-template-columns:.85fr 1.15fr; }
	.cards-grid{ grid-template-columns:repeat(3,1fr); }
	.contacto__grid{ grid-template-columns:1fr 1.1fr; }
	.hero{ padding:190px 0 130px; }
}

@media (min-width: 1280px){
	.gallery{ grid-template-columns:repeat(4,1fr); }
}
