/*
Theme Name: Jeet Gandhi Theme
Theme URI: https://thefreewebsiteguys.com
Author: The Free Website Guys
Author URI: https://thefreewebsiteguys.com
Description: WordPress theme replicating the Lovable frontend for Jeet Gandhi.
Version: 1.0.0
License: GPL-2.0-or-later
Text Domain: jeet-gandhi-theme
*/

@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/inter-500.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/inter-600.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/playfair-display-400.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/playfair-display-500.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/playfair-display-600.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/playfair-display-700.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:800;font-display:swap;src:url('assets/fonts/playfair-display-800.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/montserrat-600.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/montserrat-700.woff2') format('woff2')}

/* Espaciado y anchos máx. alineados con Tailwind / proyecto Lovable (1 unidad = 0.25rem) */
:root{
  --space-1:0.25rem;
  --space-2:0.5rem;
  --space-2-5:0.625rem;
  --space-3:0.75rem;
  --space-3-5:0.875rem;
  --space-4:1rem;
  --space-5:1.25rem;
  --space-6:1.5rem;
  --space-8:2rem;
  --space-10:2.5rem;
  --space-12:3rem;
  --space-14:3.5rem;
  --space-16:4rem;
  --space-20:5rem;
  --space-24:6rem;
  --space-28:7rem;
  --max-w-3xl:48rem;
  --max-w-5xl:64rem;
  --max-w-6xl:72rem;
  --max-w-7xl:80rem;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--color-background);color:var(--color-foreground);font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
a{text-decoration:none;color:inherit}
img,video{display:block;max-width:100%}
button,input,textarea{font:inherit}
button{cursor:pointer}
h1,h2,h3,h4,h5,h6{margin:0;font-family:'Playfair Display',Georgia,serif;font-weight:700}
p{margin:0}
ul{margin:0;padding:0;list-style:none}

.jg-site-shell{min-height:100vh;background:var(--color-background)}
.jg-container{width:min(100%,1400px);margin:0 auto;padding-inline:var(--space-4)}
.jg-section-eyebrow{display:inline-block;color:var(--color-primary);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-4)}
.jg-section-eyebrow--center,.jg-section-eyebrow--wide{text-align:center}
.jg-section-eyebrow--wide{letter-spacing:.2em;margin-bottom:var(--space-4)}
.jg-about .jg-section-eyebrow{margin-bottom:var(--space-6)}
/* H2 de sección: Lovable text-3xl / sm:text-4xl / lg:text-5xl (servicios, calculadora, testimonios, FAQ, CTA, contacto) */
.jg-section-title,
.jg-cta__title,
.jg-faq__title,
.jg-contact__title{font-size:1.875rem;line-height:1.25;font-weight:700}
@media (min-width:640px){
  .jg-section-title,
  .jg-cta__title,
  .jg-faq__title,
  .jg-contact__title{font-size:2.25rem}
}
@media (min-width:1024px){
  .jg-section-title,
  .jg-cta__title,
  .jg-faq__title,
  .jg-contact__title{font-size:3rem}
}
.jg-section-title{color:var(--color-foreground);margin-bottom:var(--space-6);text-align:center}
.jg-body-copy{font-size:1rem;line-height:1.75;color:var(--color-muted-foreground)}
.jg-body-copy--center{max-width:var(--max-w-3xl);margin:0 auto}
.jg-button{display:inline-flex;align-items:center;justify-content:center;border:none;transition:background-color .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease;font-family:'Montserrat',sans-serif}
.jg-button:hover{transform:translateY(-1px)}

.jg-header{position:fixed;inset:0 0 auto;z-index:50;padding-block:var(--space-4);transition:all .3s ease}
.jg-header.is-scrolled{padding-block:var(--space-2);background:rgba(var(--color-background-rgb),.95);backdrop-filter:blur(12px);box-shadow:0 10px 25px rgba(0,0,0,.08)}
.jg-header__inner{display:flex;align-items:center;justify-content:space-between}
.jg-header__brand{display:flex;align-items:center;gap:var(--space-2)}
.jg-logo{height:56px;width:auto;object-fit:contain;transition:filter .3s ease}
.jg-header.is-scrolled .jg-logo{filter:brightness(0)}
.jg-nav{display:flex;align-items:center;gap:var(--space-8)}
.jg-nav__link{font-size:14px;font-weight:500;transition:color .3s ease;color:rgba(255,255,255,.9)}
.jg-nav__link:hover{color:#fff}
.jg-header.is-scrolled .jg-nav__link{color:var(--color-foreground)}
.jg-header.is-scrolled .jg-nav__link:hover{color:var(--color-primary)}
.jg-button--header,.jg-button--mobile{padding:var(--space-2) var(--space-5);border-radius:calc(var(--radius) - 2px);background:var(--color-primary);color:var(--color-primary-foreground);font-size:14px;font-weight:700}
.jg-button--header:hover,.jg-button--mobile:hover{background:var(--color-accent)}
.jg-button--mobile{margin-top:var(--space-2);padding-block:var(--space-3);padding-inline:var(--space-5)}
.jg-menu-toggle{display:none;position:relative;z-index:2;padding:var(--space-2);border:0;background:transparent;color:#fff}
.jg-header.is-scrolled .jg-menu-toggle{color:var(--color-foreground)}
.jg-menu-toggle svg{width:24px;height:24px}
.jg-menu-toggle__icon--close{display:none}
.jg-mobile-panel{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-background);border-top:1px solid var(--color-border);box-shadow:0 20px 40px rgba(0,0,0,.12)}
.jg-mobile-panel.is-open{display:block}
.jg-mobile-nav{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}
.jg-mobile-nav__link{padding-block:var(--space-2);padding-inline:0;color:var(--color-foreground);font-weight:500}

.jg-hero{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;overflow:hidden}
.jg-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.jg-hero__overlay{position:absolute;inset:0;background:rgba(0,0,0,.7)}
.jg-hero__content{position:relative;z-index:1;max-width:var(--max-w-3xl);padding-top:var(--space-24);padding-inline:var(--space-4);padding-bottom:0;text-align:center}
@media (min-width:640px){
  .jg-hero__content{padding-inline:var(--space-6)}
}
.jg-hero__eyebrow{margin:0 0 var(--space-4);color:var(--color-secondary);font-size:16px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.jg-hero__title{margin-bottom:var(--space-6);color:#fff;font-size:clamp(2.5rem,8vw,4.5rem);line-height:1.05}
.jg-hero__description{max-width:42rem;margin:0 auto var(--space-10);color:rgba(255,255,255,.9);font-size:clamp(1.125rem,2vw,1.25rem);line-height:1.7;font-weight:300}
.jg-button--hero{padding:var(--space-4) var(--space-10);border-radius:calc(var(--radius) - 2px);background:var(--color-primary);box-shadow:0 25px 45px rgba(0,0,0,.18);color:var(--color-primary-foreground);font-size:18px;font-weight:700}
.jg-button--hero:hover{background:var(--color-accent);transform:scale(1.05)}

.jg-about{padding-top:var(--space-28);padding-bottom:var(--space-20);background:var(--color-background)}
.jg-about__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:var(--space-12);align-items:center;max-width:var(--max-w-6xl);margin-inline:auto}
/* About principal: Lovable text-4xl / sm:text-5xl / lg:text-6xl */
.jg-about__title{margin-bottom:var(--space-6);color:var(--color-foreground);font-size:2.25rem;line-height:1.25;font-weight:700}
@media (min-width:640px){
  .jg-about__title{font-size:3rem}
}
@media (min-width:1024px){
  .jg-about__title{font-size:3.75rem}
}
.jg-about__content>.jg-body-copy:not(.jg-body-copy--about-outro){margin-bottom:var(--space-4)}
.jg-about__why-title{margin:var(--space-6) 0 var(--space-3);font-size:1.125rem;font-family:'Inter',sans-serif;font-weight:700;color:var(--color-foreground)}
.jg-about__bullets{display:flex;flex-direction:column;gap:var(--space-3)}
.jg-about__bullet{display:flex;align-items:flex-start;gap:var(--space-3);color:var(--color-muted-foreground)}
.jg-about__bullet-dot{flex:0 0 8px;height:8px;margin-top:var(--space-1);border-radius:50%;background:var(--color-primary)}
.jg-about__bullet-text strong{color:var(--color-foreground)}
.jg-body-copy--about-outro{margin-top:var(--space-6)}
.jg-about__media{display:flex;justify-content:flex-end}
.jg-about__image{width:100%;max-width:28rem;border-radius:var(--radius);object-fit:cover;box-shadow:0 25px 45px rgba(0,0,0,.16)}

.jg-services-intro{padding-block:var(--space-10);background:var(--color-background)}
.jg-services-intro__content{max-width:var(--max-w-3xl);text-align:center}

.jg-services-list{background:var(--color-background)}
.jg-service-section{background:var(--color-background)}
.jg-service-section--offset{margin-top:var(--space-4)}
/* Replica FirstTimeBuyersSection / filas Lovable: contenedor max-w-7xl + py-10 + px responsive; grid md:[1fr_auto] o [auto_1fr]; gap-12 lg:gap-20 */
.jg-service-wrap{display:grid;grid-template-columns:1fr;gap:var(--space-12);align-items:center;width:min(100%,var(--max-w-7xl));margin:0 auto;padding-block:var(--space-10);padding-inline:var(--space-6)}
@media (min-width:640px){
  .jg-service-wrap{padding-inline:var(--space-12)}
}
@media (min-width:768px){
  .jg-service-wrap{grid-template-columns:minmax(0,1fr) auto}
  .jg-service-wrap--image-left{grid-template-columns:auto minmax(0,1fr)}
}
@media (min-width:1024px){
  .jg-service-wrap{gap:var(--space-20)}
}
.jg-service-copy{max-width:32rem}
.jg-service-copy--right{order:2}
.jg-service-wrap .jg-section-eyebrow{font-size:0.875rem;letter-spacing:0.025em}
.jg-service-title{margin-bottom:var(--space-6);color:var(--color-foreground);font-size:1.875rem;line-height:1.25;font-weight:700}
@media (min-width:640px){
  .jg-service-title{font-size:2.25rem}
}
@media (min-width:1024px){
  .jg-service-title{font-size:3rem}
}
.jg-body-copy--service{margin-bottom:var(--space-8);line-height:1.625}
.jg-service-media{width:320px;height:450px;overflow:hidden;border-radius:0.75rem;flex-shrink:0}
.jg-service-media--left{order:1}
.jg-service-image{width:100%;height:100%;object-fit:cover}
@media (min-width:1024px){
  .jg-service-media{width:380px;height:520px}
}
.jg-button--service{padding:var(--space-4) var(--space-8);border-radius:0.25rem;background:rgba(var(--color-primary-rgb),.8);color:var(--color-primary-foreground);font-size:0.875rem;font-weight:600;letter-spacing:0.025em;text-transform:uppercase;transition:background-color .2s ease,color .2s ease}
.jg-button--service:hover{background:var(--color-primary);transform:none}

/* MortgageCalculatorSection Lovable: py-16 bg-muted/30; inner container px-6 text-center max-w-2xl */
.jg-calculator{padding-block:var(--space-16);background:rgba(var(--color-muted-rgb),.3)}
.jg-calculator .jg-container{padding-inline:var(--space-6)}
.jg-calculator__inner{box-sizing:border-box;max-width:42rem;margin-inline:auto;text-align:center}
.jg-calculator__icon{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;margin-bottom:var(--space-6);border-radius:999px;background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary)}
.jg-calculator__icon svg{width:2rem;height:2rem}
.jg-calculator .jg-section-eyebrow--center{display:block;width:100%;font-size:0.875rem;letter-spacing:0.025em;margin-bottom:var(--space-4)}
.jg-calculator .jg-body-copy--center{max-width:100%;margin-bottom:var(--space-8);line-height:1.625;color:var(--color-muted-foreground)}
.jg-button--pill{padding:var(--space-4) var(--space-10);border-radius:999px;background:var(--color-primary);color:var(--color-primary-foreground);font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.jg-button--pill:hover{background:rgba(var(--color-primary-rgb),.9)}
.jg-calculator .jg-button--pill{font-size:0.875rem;font-weight:600;letter-spacing:0.025em;transition:background-color .2s ease,color .2s ease}
.jg-calculator .jg-button--pill:hover{transform:none;background:rgba(var(--color-primary-rgb),.9)}

.jg-testimonials-spacer{height:var(--space-20);background:var(--color-background)}
.jg-testimonials{padding-block:var(--space-20);padding-inline:var(--space-6);background:rgba(var(--color-secondary-rgb),.3)}
@media (min-width:640px){
  .jg-testimonials{padding-inline:var(--space-12)}
}
@media (min-width:1024px){
  .jg-testimonials{padding-inline:var(--space-20)}
}
.jg-testimonials .jg-container{max-width:var(--max-w-7xl);width:100%;padding-inline:0}
.jg-testimonials__header{margin-bottom:var(--space-14);text-align:center}
.jg-testimonials__header .jg-section-title{margin-bottom:var(--space-4)}
.jg-testimonials__description{font-size:18px;max-width:36rem;margin-inline:auto}
.jg-testimonials__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-8)}
.jg-testimonial-card{display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-8);border:1px solid var(--color-border);border-radius:calc(var(--radius) + 4px);background:var(--color-background);box-shadow:0 4px 12px rgba(0,0,0,.04)}
.jg-stars{display:flex;gap:var(--space-1);margin-bottom:var(--space-4);color:var(--color-primary)}
.jg-stars svg{width:20px;height:20px}
.jg-testimonial-card__tag{display:inline-block;margin-bottom:var(--space-5);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:999px;color:var(--color-foreground);font-size:12px;font-weight:600;letter-spacing:.04em}
.jg-testimonial-card__quote{margin-bottom:var(--space-8);color:var(--color-muted-foreground);font-style:italic;line-height:1.75}
.jg-testimonial-card__author{display:flex;align-items:center;gap:var(--space-3)}
.jg-testimonial-card__avatar{width:2.75rem;height:2.75rem;border-radius:999px;object-fit:cover}
.jg-testimonial-card__name{margin-bottom:2px;color:var(--color-foreground);font-size:14px;font-weight:600}
.jg-testimonial-card__subtitle{color:var(--color-muted-foreground);font-size:12px}

.jg-cta{position:relative;display:flex;align-items:center;justify-content:center;min-height:400px;overflow:hidden}
@media (min-width:768px){
  .jg-cta{min-height:500px}
}
.jg-cta__background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.jg-cta__overlay{position:absolute;inset:0;background:rgba(var(--color-foreground-rgb),.7)}
.jg-cta__content{position:relative;z-index:1;max-width:var(--max-w-3xl);padding:var(--space-16) var(--space-6);text-align:center}
.jg-cta__title{margin-bottom:var(--space-6);color:#fff}
.jg-cta__title-emphasis{font-style:italic}
.jg-cta__description{max-width:36rem;margin:0 auto var(--space-8);color:#fff;font-size:18px;line-height:1.75}

.jg-faq{padding-block:var(--space-20);background:var(--color-background)}
.jg-faq__inner{max-width:var(--max-w-3xl);margin-inline:auto}
.jg-faq__title{margin-bottom:var(--space-10);color:var(--color-foreground);text-align:center}
.jg-faq__list{display:flex;flex-direction:column;gap:var(--space-3)}
.jg-faq-item{border:1px solid var(--color-border);border-radius:var(--radius);padding-inline:var(--space-5);padding-block:0}
.jg-faq-item__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding-block:var(--space-4);padding-inline:0;border:0;background:transparent;color:var(--color-foreground);font-size:16px;font-weight:600;text-align:left}
.jg-faq-item__trigger svg{width:16px;height:16px;transition:transform .2s ease}
.jg-faq-item__trigger.is-open svg{transform:rotate(180deg)}
.jg-faq-item__content{max-height:0;overflow:hidden;transition:max-height .2s ease,opacity .2s ease;opacity:0}
.jg-faq-item__content.is-open{opacity:1}
.jg-faq-item__content-inner{padding:0 0 var(--space-4);color:var(--color-muted-foreground);font-size:14px;line-height:1.75}

.jg-contact{padding-top:var(--space-24);padding-bottom:var(--space-10);background:var(--color-contact-background)}
.jg-contact__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-12);max-width:var(--max-w-5xl);margin-inline:auto;align-items:flex-start}
.jg-contact__copy{padding-top:var(--space-2)}
.jg-contact .jg-section-eyebrow{display:block;margin-bottom:var(--space-3)}
.jg-contact__title{margin-bottom:var(--space-6);color:#fff}
.jg-contact__description{color:rgba(255,255,255,.6);font-size:18px;line-height:1.75}
.jg-contact__line{width:64px;height:var(--space-1);margin-top:var(--space-8);border-radius:999px;background:rgba(var(--color-primary-rgb),.4)}
.jg-contact-form{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-8);border-radius:var(--space-4);background:#fff;box-shadow:0 24px 60px rgba(0,0,0,.3)}
.jg-input,.jg-textarea{width:100%;border:1px solid rgba(var(--color-border-rgb),.5);border-radius:var(--radius);background:rgba(var(--color-muted-rgb),.3);color:var(--color-foreground);transition:border-color .3s ease,background-color .3s ease,box-shadow .3s ease}
.jg-input{height:3rem;padding:0 var(--space-4);font-size:14px}
.jg-textarea{min-height:7rem;padding:var(--space-3-5) var(--space-4);resize:vertical}
.jg-input::placeholder,.jg-textarea::placeholder{color:var(--color-muted-foreground)}
.jg-input:focus,.jg-textarea:focus{outline:none;border-color:var(--color-primary);background:#fff;box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12)}
.jg-button--submit{width:100%;height:3rem;border-radius:var(--radius);background:var(--color-primary);color:#fff;font-size:16px;font-weight:600;letter-spacing:.02em;box-shadow:0 12px 28px rgba(var(--color-primary-rgb),.2)}
.jg-button--submit:hover{background:rgba(var(--color-primary-rgb),.9);box-shadow:0 18px 34px rgba(var(--color-primary-rgb),.3)}

.jg-footer{padding-block:var(--space-16) var(--space-8);background:var(--color-footer-background)}
.jg-footer__inner{padding-inline:var(--space-8)}
@media (min-width:768px){
  .jg-footer__inner{padding-inline:var(--space-16)}
}
@media (min-width:1024px){
  .jg-footer__inner{padding-inline:var(--space-24)}
}
.jg-footer__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-12);width:min(100%,1400px);margin:0 auto}
.jg-footer__grid>div:first-child .jg-logo{margin-bottom:var(--space-4)}
.jg-footer__brand-copy{margin-top:0;color:rgba(255,255,255,.7);font-size:14px;line-height:1.75}
.jg-footer__heading{margin-bottom:var(--space-4);color:#fff;font-family:'Inter',sans-serif;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.jg-footer__links{display:flex;flex-direction:column;gap:var(--space-2-5)}
.jg-footer__links a,.jg-footer__contact-item{color:rgba(255,255,255,.7);font-size:14px;transition:color .2s ease}
.jg-footer__links a:hover,.jg-footer__contact-item:hover{color:var(--color-primary)}
.jg-footer__contact-list{display:flex;flex-direction:column;gap:var(--space-3-5)}
.jg-footer__contact-item{display:flex;align-items:center;gap:var(--space-3)}
.jg-footer__icon,.jg-footer__social{display:inline-flex;align-items:center;justify-content:center}
.jg-footer__icon{width:32px;height:32px;border-radius:10px;background:rgba(var(--color-primary-rgb),.15);color:var(--color-primary);flex-shrink:0}
.jg-footer__icon svg{width:16px;height:16px}
.jg-footer__socials{display:flex;gap:var(--space-3)}
.jg-footer__social{width:36px;height:36px;border-radius:10px;background:rgba(var(--color-primary-rgb),.15);color:var(--color-primary);transition:all .2s ease}
.jg-footer__social:hover{background:var(--color-primary);color:#fff}
.jg-footer__social svg{width:20px;height:20px}
.jg-footer__bottom{width:min(100%,1400px);margin:var(--space-12) auto 0;padding-top:var(--space-6);border-top:1px solid rgba(255,255,255,.1);text-align:center}
.jg-footer__copyright{color:rgba(255,255,255,.5);font-size:12px;letter-spacing:.08em}
.jg-footer__built-by{margin-top:var(--space-6);padding-bottom:var(--space-2);color:rgba(255,255,255,.4);font-size:11px}
.jg-footer__built-by a{color:var(--color-primary);transition:color .2s ease}
.jg-footer__built-by a:hover{color:rgba(var(--color-primary-rgb),.8)}

@media (max-width:1024px){
  .jg-nav--desktop{display:none}
  .jg-menu-toggle{display:inline-flex}
  .jg-about__grid,.jg-contact__grid,.jg-footer__grid,.jg-testimonials__grid{grid-template-columns:1fr}
  .jg-about__media{justify-content:center}
  .jg-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:767px){
  .jg-logo{height:56px}
  .jg-hero__content{padding-top:var(--space-24)}
  .jg-service-copy{max-width:100%}
  .jg-service-copy--right,.jg-service-media--left{order:initial}
  .jg-service-media{width:320px;max-width:100%;height:450px;margin-inline:auto}
  .jg-footer__grid{grid-template-columns:1fr}
}
