/*
Theme Name: Inmobiliaria Girona
Theme URI: https://demoj.atlashub.cloud
Description: Tema hijo de Astra con diseño editorial a medida para inmobiliaria (estilo boutique).
Author: AtlasHub
Template: astra
Version: 2.2.0
Text Domain: inmobiliaria-girona
*/

:root{
	--cream:#F4F2ED;
	--cream-2:#EBE7DF;
	--ink:#191814;
	--muted:#857e73;
	--line:#e2ddd3;
	--nav-h:84px;
}

/* ---------- Base ---------- */
html{ scroll-behavior:smooth; }
body, .ast-separate-container{ background:var(--cream); color:var(--ink); }
body{ font-family:'Jost',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; -webkit-font-smoothing:antialiased; }
.ig{ min-width:0; max-width:100%; width:100%; }
.ig *{ box-sizing:border-box; min-width:0; }
.ig img{ display:block; max-width:100%; }
.ig a, .ig-nav a, .ig-footer a{ color:inherit; text-decoration:none; }
.ig-wrap{ max-width:1280px; margin:0 auto; padding-left:48px; padding-right:48px; }

/* quitar contenedor/título de Astra en la home */
.ig-home .site-content .ast-container{ max-width:100%; padding:0; }
.ig-home #primary{ padding:0; margin:0; }
.ig-home .entry-header, .ig-home .ast-single-post .post-title{ display:none; }

/* ---------- Páginas internas ---------- */
body:not(.ig-home) .site-content{ padding-top:var(--nav-h); }
body:not(.ig-home) .ast-container{ max-width:1080px; }
body:not(.ig-home) .entry-header, body:not(.ig-home) .ast-single-post-order .entry-header{ text-align:center; padding:66px 0 6px; border-bottom:1px solid var(--line); margin-bottom:54px; }
body:not(.ig-home) .entry-title{ font-family:'Cormorant Garamond',serif; font-weight:500; font-size:clamp(2.3rem,4.2vw,3.4rem); line-height:1.05; color:var(--ink); }
body:not(.ig-home) .entry-content{ font-size:1.06rem; line-height:1.85; color:var(--muted); padding-bottom:100px; }
body:not(.ig-home) .entry-content h2{ font-family:'Cormorant Garamond',serif; font-weight:500; color:var(--ink); font-size:clamp(1.7rem,3vw,2.3rem); margin:0 0 .4em; }
body:not(.ig-home) .entry-content h4{ font-size:.76rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink); margin:26px 0 6px; }
body:not(.ig-home) .entry-content a{ color:var(--ink); border-bottom:1px solid var(--line); }

/* Tipografía */
.ig-display{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; font-size:clamp(2.8rem,6.2vw,5.4rem); line-height:1.02; letter-spacing:-.01em; margin:0 0 .35em; }
.ig-display--sm{ font-size:clamp(2.2rem,4.6vw,3.5rem); }
.ig-eyebrow{ font-family:'Jost',sans-serif; font-size:.72rem; font-weight:500; letter-spacing:.26em; text-transform:uppercase; color:var(--muted); margin:0 0 20px; }
.ig-h2{ font-family:'Cormorant Garamond',serif; font-weight:500; font-size:clamp(2rem,4vw,3rem); line-height:1.05; margin:0 0 .3em; }

/* Color de titulares (Astra pinta h1..h4 con su color propio; lo forzamos) */
.ig .ig-display, .ig .ig-h2, .ig-card__title, .ig-serv__item h3, .ig-stat .n, .ig-feat__head .ig-h2{ color:var(--ink); }
.ig-hero__title, .ig-sell .ig-display, .ig-sell .ig-h2{ color:#fff; }

/* ---------- Cabecera propia ---------- */
.ig-nav{ position:fixed; top:0; left:0; width:100%; z-index:60; transition:background .45s ease, box-shadow .45s ease, color .45s ease; }
.ig-nav__in{ max-width:1360px; margin:0 auto; min-height:var(--nav-h); padding:0 48px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.ig-brand{ font-family:'Cormorant Garamond',serif; font-weight:600; font-size:1.34rem; letter-spacing:.2em; text-transform:uppercase; white-space:nowrap; }
.ig-menu{ display:flex; gap:40px; list-style:none; margin:0; padding:0; }
.ig-menu a{ font-family:'Jost',sans-serif; font-size:.76rem; letter-spacing:.16em; text-transform:uppercase; opacity:.78; transition:opacity .25s; position:relative; padding:6px 0; }
.ig-menu a::after{ content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:currentColor; transition:width .3s ease; }
.ig-menu a:hover{ opacity:1; }
.ig-menu a:hover::after, .ig-menu .current-menu-item a::after{ width:100%; }
.ig-menu .current-menu-item a{ opacity:1; }

.ig-nav:not(.ig-nav--home){ background:var(--cream); border-bottom:1px solid var(--line); }
.ig-nav--home{ color:#fff; }
.ig-nav--home .ig-brand, .ig-nav--home .ig-menu a{ color:#fff; text-shadow:0 1px 14px rgba(0,0,0,.35); }
.ig-nav--home.is-solid{ background:rgba(244,242,237,.96); backdrop-filter:saturate(1.1) blur(6px); box-shadow:0 1px 0 var(--line); }
.ig-nav--home.is-solid .ig-brand, .ig-nav--home.is-solid .ig-menu a{ color:var(--ink); text-shadow:none; }

.ig-burger{ display:none; width:34px; height:28px; background:none; border:0; cursor:pointer; position:relative; color:inherit; }
.ig-burger span{ position:absolute; left:4px; right:4px; height:2px; background:currentColor; transition:.3s; }
.ig-burger span:nth-child(1){ top:6px; } .ig-burger span:nth-child(2){ top:13px; } .ig-burger span:nth-child(3){ top:20px; }
.ig-nav.is-open .ig-burger span:nth-child(1){ top:13px; transform:rotate(45deg); }
.ig-nav.is-open .ig-burger span:nth-child(2){ opacity:0; }
.ig-nav.is-open .ig-burger span:nth-child(3){ top:13px; transform:rotate(-45deg); }

/* ---------- Hero ---------- */
.ig-hero{ position:relative; height:100vh; min-height:640px; background-size:cover; background-position:center; overflow:hidden; }
.ig-hero::after{ content:""; position:absolute; inset:0; background:radial-gradient(ellipse 88% 62% at 50% 44%, rgba(0,0,0,.52) 0%, rgba(0,0,0,.14) 58%, transparent 78%), linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.2) 28%,rgba(0,0,0,.26) 58%,rgba(0,0,0,.74) 100%); }
.ig-hero__center{ position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#fff; padding:0 24px; text-shadow:0 2px 34px rgba(0,0,0,.7), 0 1px 4px rgba(0,0,0,.55); }
.ig-hero__center .ig-eyebrow{ color:rgba(255,255,255,.82); }
.ig-hero__title{ font-family:'Cormorant Garamond',serif; font-weight:500; font-size:clamp(2.6rem,5.4vw,5rem); line-height:1.0; letter-spacing:-.01em; margin:0; color:#fff; }
.ig-hero__overlay{ position:absolute; left:0; right:0; bottom:40px; z-index:2; width:100%; padding:0 7vw; }
.ig-hero__contact{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; color:#fff; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; text-shadow:0 1px 3px rgba(0,0,0,.7), 0 2px 22px rgba(0,0,0,.6); }
.ig-hc{ display:flex; flex-direction:column; gap:5px; }
.ig-hc--end{ text-align:right; }
.ig-scroll{ position:absolute; left:50%; bottom:30px; transform:translateX(-50%); z-index:3; color:#fff; font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; opacity:.85; text-align:center; transition:opacity .3s; }
.ig-scroll:hover{ opacity:1; }
.ig-scroll::after{ content:""; display:block; width:1px; height:40px; margin:12px auto 0; background:#fff; opacity:.55; animation:igpulse 2.4s ease-in-out infinite; transform-origin:top; }
@keyframes igpulse{ 0%,100%{ transform:scaleY(.5); opacity:.3; } 50%{ transform:scaleY(1); opacity:.7; } }

/* ---------- Reveal ---------- */
.ig-reveal{ opacity:0; transform:translateY(30px); transition:opacity 1s ease, transform 1s cubic-bezier(.2,.7,.2,1); }
.ig-reveal.is-in{ opacity:1; transform:none; }

/* ---------- Intro + stats ---------- */
.ig-intro{ padding:140px 48px 50px; }
.ig-intro__cols{ display:grid; grid-template-columns:1fr 1fr; gap:52px; max-width:780px; margin-left:auto; color:var(--muted); font-size:1.08rem; line-height:1.85; }
.ig-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px; padding:80px 48px 110px; border-bottom:1px solid var(--line); }
.ig-stat .n{ font-family:'Cormorant Garamond',serif; font-size:clamp(2.6rem,4.2vw,3.8rem); line-height:1; }
.ig-stat .l{ margin-top:10px; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }

/* ---------- Valorador ---------- */
.ig-valora{ padding:110px 48px; text-align:center; }
.ig-valora .ig-sub{ color:var(--muted); margin:0 auto 38px; max-width:600px; line-height:1.7; }
#vi-widget{ --vi-primary:#191814; --vi-primary-d:#000; box-shadow:0 30px 80px rgba(25,24,20,.14); border-color:var(--line); border-radius:6px; text-align:left; }

/* ---------- Carrusel destacados ---------- */
.ig-feat{ padding:40px 0 110px; }
.ig-feat__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:44px; }
.ig-carousel__nav{ display:flex; gap:12px; }
.ig-carousel__btn{ width:52px; height:52px; border:1px solid var(--ink); background:none; border-radius:50%; cursor:pointer; font-size:1.1rem; color:var(--ink); transition:background .25s, color .25s; }
.ig-carousel__btn:hover{ background:var(--ink); color:#fff; }
.ig-carousel{ -webkit-mask-image:linear-gradient(90deg,transparent 0, #000 48px, #000 calc(100% - 90px), transparent 100%); mask-image:linear-gradient(90deg,transparent 0, #000 48px, #000 calc(100% - 90px), transparent 100%); }
.ig-carousel__track{ display:flex; gap:26px; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 48px 12px; scrollbar-width:none; }
.ig-carousel__track::-webkit-scrollbar{ display:none; }
.ig-card{ flex:0 0 322px; scroll-snap-align:start; }
.ig-card__img{ aspect-ratio:3/3.7; overflow:hidden; background:var(--cream-2); }
.ig-card__img img{ width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.ig-card:hover .ig-card__img img{ transform:scale(1.07); }
.ig-card__ref{ margin:18px 0 7px; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.ig-card__title{ font-family:'Cormorant Garamond',serif; font-size:1.5rem; line-height:1.14; margin:0 0 12px; transition:opacity .2s; }
.ig-card:hover .ig-card__title{ opacity:.6; }
.ig-card__meta{ display:flex; gap:18px; color:var(--muted); font-size:.82rem; }
.ig-card__price{ margin-top:12px; font-size:1.08rem; letter-spacing:.02em; }

/* ---------- Galería ---------- */
.ig-gallery{ padding:0 48px 120px; }
.ig-gallery__grid{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:168px; gap:16px; }
.ig-gallery__grid figure{ margin:0; overflow:hidden; background:var(--cream-2); }
.ig-gallery__grid img{ width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.2,.7,.2,1); }
.ig-gallery__grid figure:hover img{ transform:scale(1.06); }
.g-a{ grid-column:span 2; grid-row:span 2; } .g-b{ grid-column:span 1; grid-row:span 2; }
.g-c{ grid-column:span 1; grid-row:span 1; } .g-d{ grid-column:span 2; grid-row:span 1; }

/* ---------- Botones ---------- */
.ig-btn{ display:inline-flex; align-items:center; gap:12px; padding:17px 40px; background:var(--ink); color:#fff!important; letter-spacing:.16em; text-transform:uppercase; font-size:.74rem; border:1px solid var(--ink); transition:background .3s, color .3s, transform .3s; }
.ig-btn:hover{ transform:translateY(-2px); }
.ig-btn--light{ background:#fff; color:var(--ink)!important; border-color:#fff; }
.ig-btn--light:hover{ background:transparent; color:#fff!important; }
.ig-btn--outline{ background:none; border:1px solid currentColor; color:inherit!important; }
.ig-cta{ text-align:center; margin-top:16px; }

/* ---------- Servicios ---------- */
.ig-serv{ padding:120px 48px; background:var(--cream-2); }
.ig-serv__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:44px; margin-top:56px; }
.ig-serv__item{ padding-top:24px; border-top:1px solid var(--line); transition:border-color .3s; }
.ig-serv__item:hover{ border-color:var(--ink); }
.ig-serv__item .n{ font-family:'Cormorant Garamond',serif; color:var(--muted); font-size:1.15rem; }
.ig-serv__item h3{ font-family:'Cormorant Garamond',serif; font-weight:500; font-size:1.6rem; margin:12px 0 12px; }
.ig-serv__item p{ color:var(--muted); font-size:.95rem; line-height:1.72; margin:0; }

/* ---------- Vende ---------- */
.ig-sell{ position:relative; padding:150px 48px; background-size:cover; background-position:center; background-attachment:fixed; color:#fff; text-align:center; }
.ig-sell::after{ content:""; position:absolute; inset:0; background:rgba(18,17,14,.56); }
.ig-sell > .ig-wrap{ position:relative; z-index:2; }
.ig-sell .ig-eyebrow{ color:rgba(255,255,255,.72); }
.ig-sell p{ max-width:560px; margin:0 auto 32px; font-size:1.1rem; line-height:1.7; opacity:.94; }

/* ---------- Contacto (página) ---------- */
.ig-contact{ display:grid; grid-template-columns:1.2fr 1fr; gap:60px; }
.ig-contact__col h4:first-child{ margin-top:0; }
.ig-map{ margin-top:16px; border:1px solid var(--line); }

/* ---------- Footer propio ---------- */
.ig-footer{ background:var(--ink); color:#cfc9bd; }
.ig-footer__in{ display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:52px; padding-top:90px; padding-bottom:60px; }
.ig-footer__logo{ font-family:'Cormorant Garamond',serif; font-size:1.55rem; letter-spacing:.16em; text-transform:uppercase; color:#fff; margin-bottom:18px; }
.ig-footer__brand p{ max-width:360px; line-height:1.75; color:#b7b1a6; }
.ig-footer h4{ font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:#fff; margin:0 0 18px; font-weight:500; }
.ig-footer p{ line-height:1.9; }
.ig-footer__menu{ list-style:none; margin:0; padding:0; }
.ig-footer__menu li{ margin-bottom:11px; }
.ig-footer__menu a{ opacity:.78; transition:opacity .25s; }
.ig-footer__menu a:hover{ opacity:1; color:#fff; }
.ig-footer__bar{ border-top:1px solid rgba(255,255,255,.1); text-align:center; padding:24px; font-size:.76rem; letter-spacing:.08em; color:#8c867b; }

/* ---------- Responsive ---------- */
@media (max-width:1024px){
	.ig-stats{ grid-template-columns:repeat(2,1fr); gap:40px 30px; }
	.ig-serv__grid{ grid-template-columns:repeat(2,1fr); }
	.ig-footer__in{ grid-template-columns:1fr 1fr; }
	.ig-contact{ grid-template-columns:1fr; gap:40px; }
}
@media (max-width:860px){
	.ig-burger{ display:block; z-index:70; }
	.ig-brand{ font-size:1.05rem; letter-spacing:.1em; }
	.ig-nav__in{ padding:0 24px; }
	.ig-menu-wrap{ position:fixed; inset:var(--nav-h) 0 auto 0; background:var(--cream); border-bottom:1px solid var(--line); transform:translateY(-130%); transition:transform .4s ease; box-shadow:0 20px 40px rgba(0,0,0,.08); }
	.ig-nav.is-open .ig-menu-wrap{ transform:none; }
	.ig-nav--home .ig-menu a::after{ display:none; }
	.ig-nav--home:not(.is-solid) .ig-menu a{ color:var(--ink); text-shadow:none; }
	.ig-menu{ flex-direction:column; gap:0; }
	.ig-menu li{ border-top:1px solid var(--line); }
	.ig-menu li:first-child{ border-top:0; }
	.ig-menu a{ display:block; padding:17px 48px; opacity:1; }
	.ig-hero__title{ font-size:clamp(2.8rem,13vw,4.4rem); }
	.ig-hero__contact{ flex-direction:column; align-items:flex-start; gap:12px; font-size:.72rem; }
	.ig-hc--end{ text-align:left; }
	.ig-intro{ padding:100px 24px 28px; }
	.ig-intro__cols{ grid-template-columns:1fr; gap:20px; margin-left:0; }
	.ig-stats{ padding:56px 24px 76px; }
	.ig-valora, .ig-serv, .ig-sell{ padding-left:24px; padding-right:24px; }
	.ig-gallery{ padding:0 24px 90px; }
	.ig-gallery__grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:140px; gap:12px; }
	.g-a,.g-b,.g-c,.g-d{ grid-column:span 1; grid-row:span 1; }
	.g-a{ grid-column:span 2; }
	.ig-wrap{ padding-left:24px; padding-right:24px; }
	.ig-feat__head{ flex-wrap:wrap; }
	.ig-carousel__track{ padding-left:24px; padding-right:24px; }
	.ig-footer__in{ grid-template-columns:1fr; gap:34px; padding-top:64px; }
	.ig-sell{ background-attachment:scroll; padding:110px 24px; }
}
@media (max-width:560px){
	:root{ --nav-h:70px; }
	.ig-nav__in{ padding:0 20px; }
	.ig-menu a{ padding:16px 20px; }
	.ig-hero{ min-height:92vh; }
	.ig-hero__title{ font-size:clamp(2.3rem,11.5vw,3.4rem); line-height:1.04; }
	.ig-hero__center{ padding:0 22px; justify-content:center; }
	.ig-hero__center .ig-eyebrow{ font-size:.62rem; letter-spacing:.2em; margin-bottom:14px; }
	.ig-hero__overlay{ bottom:24px; padding:0 22px; }
	.ig-hero__contact{ font-size:.62rem; gap:7px; letter-spacing:.12em; }
	.ig-scroll{ display:none; }
	.ig-display{ font-size:clamp(2.1rem,8.6vw,2.9rem); }
	.ig-display--sm{ font-size:clamp(1.9rem,7.6vw,2.5rem); }
	.ig-h2{ font-size:clamp(1.7rem,6.6vw,2.2rem); }
	.ig-intro{ padding:78px 22px 16px; }
	.ig-intro__cols{ font-size:1rem; gap:16px; line-height:1.75; }
	.ig-stats{ grid-template-columns:1fr 1fr; gap:34px 16px; padding:48px 22px 58px; }
	.ig-stat .n{ font-size:2.3rem; }
	.ig-valora{ padding:66px 22px; }
	.ig-feat{ padding:28px 0 72px; }
	.ig-feat__head{ margin-bottom:28px; gap:14px; }
	.ig-feat__head .ig-carousel__nav{ display:none; }
	.ig-carousel__track{ padding-left:22px; padding-right:22px; gap:18px; }
	.ig-card{ flex:0 0 80vw; }
	.ig-card__title{ font-size:1.42rem; }
	.ig-gallery{ padding:0 22px 66px; }
	.ig-gallery__grid{ grid-auto-rows:118px; gap:10px; }
	.ig-serv{ padding:68px 22px; }
	.ig-serv__grid{ grid-template-columns:1fr; gap:0; margin-top:34px; }
	.ig-serv__item{ padding:22px 0; }
	.ig-serv__item h3{ margin:8px 0 8px; }
	.ig-sell{ padding:88px 22px; }
	.ig-sell p{ font-size:1.02rem; }
	.ig-wrap{ padding-left:22px; padding-right:22px; }
	.ig-btn{ padding:15px 30px; }
	.ig-footer__in{ padding-top:54px; padding-bottom:42px; gap:30px; }
	/* páginas internas */
	body:not(.ig-home) .entry-header{ padding:34px 0 4px; margin-bottom:34px; }
	body:not(.ig-home) .entry-content{ font-size:1rem; padding-bottom:70px; }
}
