/* ============================================================
   Yo soy Granada — Home (réplica fiel del diseño Lovable)
   Tokens reales del proyecto Lovable, adaptados a WordPress.
   ============================================================ */

:root{
  --ysg-cream:#faf5ed;
  --ysg-ink:#231d19;
  --ysg-garnet:#a83231;
  --ysg-garnet-hover:#951e22;
  --ysg-ochre:#d08736;
  --ysg-secondary:#f2eade;
  --ysg-muted:#ede7de;
  --ysg-muted-fg:#564a44;
  --ysg-border:#dfd6cb;
  --ysg-radius:.5rem;
  --ysg-radius-lg:1rem;
  --ysg-radius-2xl:1.25rem;
  --ysg-maxw:1200px;
  --ysg-serif:"Fraunces",ui-serif,Georgia,serif;
  --ysg-sans:"Inter",ui-sans-serif,system-ui,sans-serif;
}

/* ---- Reset/scope on the home wrapper ---- */
.ysg-home *{box-sizing:border-box;}
.ysg-home{
  font-family:var(--ysg-sans);
  color:var(--ysg-ink);
  background:var(--ysg-cream);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  font-size:16px;
}
.ysg-home img{max-width:100%;height:auto;display:block;}
.ysg-home a{color:inherit;text-decoration:none;}
.ysg-display{font-family:var(--ysg-serif);font-weight:500;letter-spacing:-.01em;line-height:1.1;}
.ysg-italic{font-style:italic;}
.ysg-wrap{max-width:var(--ysg-maxw);margin-inline:auto;padding-inline:24px;}
.ysg-section{padding-block:80px;}
@media(min-width:768px){.ysg-section{padding-block:112px;}}

/* ---- Eyebrow + section headers ---- */
.ysg-eyebrow{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ysg-ochre);font-weight:600;margin:0 0 14px;
}
.ysg-h2{font-size:30px;margin:0 0 12px;}
@media(min-width:768px){.ysg-h2{font-size:46px;}}
.ysg-lead{font-size:16px;color:var(--ysg-muted-fg);max-width:42rem;margin:0;}
@media(min-width:768px){.ysg-lead{font-size:18px;}}
.ysg-sec-head{margin-bottom:40px;}
@media(min-width:768px){.ysg-sec-head{margin-bottom:64px;}}

/* ---- Buttons ---- */
.ysg-btn{
  display:inline-flex;align-items:center;gap:.5rem;
  font-weight:600;font-size:15px;border-radius:999px;
  padding:14px 26px;cursor:pointer;border:1px solid transparent;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.ysg-btn-primary{background:var(--ysg-garnet);color:#fbf8f3;}
.ysg-btn-primary:hover{background:var(--ysg-garnet-hover);}
.ysg-btn-ghost{background:transparent;color:#fbf8f3;border-color:rgba(255,255,255,.45);}
.ysg-btn-ghost:hover{background:rgba(255,255,255,.12);}
.ysg-btn-outline{background:transparent;color:var(--ysg-ink);border-color:var(--ysg-border);}
.ysg-btn-outline:hover{background:var(--ysg-secondary);}

/* ============================================================
   HEADER
   ============================================================ */
.ysg-header{
  position:sticky;top:0;z-index:50;
  background:rgba(250,245,237,.9);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--ysg-border);
}
.ysg-header-in{display:flex;align-items:center;justify-content:space-between;height:68px;}
.ysg-brand{font-family:var(--ysg-serif);font-size:21px;font-weight:600;}
.ysg-brand em{color:var(--ysg-garnet);font-style:italic;}
.ysg-nav{display:none;gap:26px;align-items:center;}
@media(min-width:1024px){.ysg-nav{display:flex;}}
.ysg-nav a{font-size:14px;font-weight:500;color:var(--ysg-muted-fg);transition:color .15s;}
.ysg-nav a:hover{color:var(--ysg-ink);}
.ysg-lang{display:flex;gap:4px;align-items:center;}
.ysg-lang a{
  font-size:12px;font-weight:600;padding:4px 9px;border-radius:999px;
  color:var(--ysg-muted-fg);
}
.ysg-lang a.is-active{background:var(--ysg-garnet);color:#fff;}

/* ============================================================
   HERO
   ============================================================ */
.ysg-hero{position:relative;min-height:max(560px,82vh);display:flex;align-items:flex-end;color:#fbf8f3;}
.ysg-hero-bg{position:absolute;inset:0;overflow:hidden;}
.ysg-hero-bg img,.ysg-hero-bg video{width:100%;height:100%;object-fit:cover;display:block;}
/* Capa suave fiel a Lovable: oscurece poco arriba y se funde en crema abajo */
.ysg-hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(35,29,25,.40) 0%,rgba(35,29,25,.30) 50%,var(--ysg-cream) 100%);
}
/* Sin max-width propio: usa el ancho de .ysg-wrap → alineado al logo */
.ysg-hero-in{position:relative;z-index:2;width:100%;padding-top:120px;padding-bottom:72px;}
@media(min-width:768px){.ysg-hero-in{padding-top:160px;padding-bottom:96px;}}
.ysg-hero .ysg-eyebrow{
  display:inline-flex;align-items:center;gap:8px;color:#fbf8f3;
  border:1px solid rgba(251,248,243,.30);background:rgba(251,248,243,.10);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  padding:5px 13px;border-radius:999px;
}
.ysg-hero .ysg-eyebrow::before{content:"";width:6px;height:6px;border-radius:999px;background:var(--ysg-ochre);}
.ysg-hero h1{font-size:42px;margin:0 0 18px;max-width:56rem;color:#fbf8f3;text-shadow:0 2px 18px rgba(35,29,25,.40);}
@media(min-width:768px){.ysg-hero h1{font-size:64px;}}
.ysg-hero h1 em{color:var(--ysg-ochre);}
.ysg-hero-sub{font-size:18px;color:rgba(251,248,243,.92);max-width:36rem;margin:0 0 28px;text-shadow:0 1px 12px rgba(35,29,25,.35);}
.ysg-hero-cta{display:flex;flex-wrap:wrap;gap:12px;}

/* ============================================================
   FEATURE 4 (Si es tu primera vez)
   ============================================================ */
.ysg-grid4{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
@media(min-width:1024px){.ysg-grid4{grid-template-columns:repeat(4,1fr);}}
.ysg-fcard{
  position:relative;border-radius:var(--ysg-radius-2xl);overflow:hidden;
  min-height:300px;display:flex;align-items:flex-end;color:#fbf8f3;
  isolation:isolate;
}
.ysg-fcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s ease;}
.ysg-fcard::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(20,14,11,.9),rgba(20,14,11,.25) 60%,rgba(20,14,11,.05));}
.ysg-fcard:hover img{transform:scale(1.04);}
.ysg-fcard-in{padding:22px;}
.ysg-chip{
  display:inline-block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  font-weight:600;padding:5px 11px;border-radius:999px;margin-bottom:12px;
  background:rgba(251,248,243,.16);backdrop-filter:blur(4px);border:1px solid rgba(251,248,243,.25);
}
.ysg-fcard h3{font-family:var(--ysg-serif);font-size:21px;font-weight:600;margin:0 0 6px;line-height:1.2;}
.ysg-fcard p{font-size:13.5px;color:rgba(251,248,243,.85);margin:0;}

/* ============================================================
   SILOS — Las siete puertas
   ============================================================ */
.ysg-silos{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
@media(min-width:1024px){
  .ysg-silos{grid-template-columns:repeat(6,1fr);grid-auto-rows:230px;}
  .ysg-silo{grid-column:span 2;}
  /* fila 1: Qué ver (ancho 3) + Alhambra (3) ; fila 2: 3 de a 2 ; fila 3: Planes(2)+Sierra(4) */
  .ysg-silo--quever{grid-column:span 3;}
  .ysg-silo--alhambra{grid-column:span 3;}
  .ysg-silo--sierra{grid-column:span 4;}
}
.ysg-silo{
  position:relative;border-radius:var(--ysg-radius-2xl);overflow:hidden;
  min-height:200px;display:flex;align-items:flex-end;color:#fbf8f3;isolation:isolate;
}
.ysg-silo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s ease;}
.ysg-silo::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(20,14,11,.92),rgba(20,14,11,.3) 65%,rgba(20,14,11,.05));}
.ysg-silo:hover img{transform:scale(1.04);}
.ysg-silo-in{padding:22px;}
.ysg-silo-tag{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ysg-ochre);font-weight:600;margin:0 0 6px;}
.ysg-silo h3{font-family:var(--ysg-serif);font-size:24px;font-weight:600;margin:0 0 4px;}
.ysg-silo p{font-size:13.5px;color:rgba(251,248,243,.85);margin:0 0 10px;}
.ysg-silo .ysg-more{font-size:13px;font-weight:600;color:#fbf8f3;}
.ysg-more::after{content:" →";}

/* ============================================================
   ARTÍCULOS DESTACADOS
   ============================================================ */
.ysg-grid3{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
@media(min-width:1024px){.ysg-grid3{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.ysg-grid3{grid-template-columns:1fr;}}
.ysg-acard{
  background:#fff;border:1px solid var(--ysg-border);border-radius:var(--ysg-radius-lg);
  overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s;
}
.ysg-acard:hover{box-shadow:0 12px 30px -12px rgba(35,29,25,.25);transform:translateY(-3px);}
.ysg-acard-img{aspect-ratio:16/10;overflow:hidden;}
.ysg-acard-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.ysg-acard:hover .ysg-acard-img img{transform:scale(1.04);}
.ysg-acard-in{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1;}
.ysg-acard-meta{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--ysg-garnet);display:flex;gap:8px;align-items:center;}
.ysg-acard-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--ysg-border);}
.ysg-acard-meta .min{color:var(--ysg-muted-fg);}
.ysg-acard h3{font-family:var(--ysg-serif);font-size:19px;font-weight:600;line-height:1.25;margin:2px 0 0;}
.ysg-acard p{font-size:14px;color:var(--ysg-muted-fg);margin:0;}

/* ============================================================
   RESERVAS (sección oscura)
   ============================================================ */
.ysg-dark{background:var(--ysg-ink);color:var(--ysg-cream);}
.ysg-dark .ysg-h2{color:var(--ysg-cream);}
.ysg-dark .ysg-eyebrow{color:var(--ysg-ochre);}
.ysg-dark .ysg-lead{color:rgba(250,245,237,.7);}
.ysg-rgrid{display:grid;grid-template-columns:1fr;gap:22px;}
@media(min-width:768px){.ysg-rgrid{grid-template-columns:repeat(3,1fr);}}
.ysg-rcard{
  background:rgba(250,245,237,.05);border:1px solid rgba(250,245,237,.12);
  border-radius:var(--ysg-radius-lg);overflow:hidden;display:flex;flex-direction:column;
}
.ysg-rcard-img{position:relative;aspect-ratio:16/10;overflow:hidden;}
.ysg-rcard-img img{width:100%;height:100%;object-fit:cover;}
.ysg-price{position:absolute;top:12px;left:12px;background:rgba(20,14,11,.78);backdrop-filter:blur(4px);
  border:1px solid rgba(250,245,237,.18);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;}
.ysg-price small{display:block;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(250,245,237,.6);font-weight:600;line-height:1;}
.ysg-rcard-in{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1;}
.ysg-rcard h3{font-family:var(--ysg-serif);font-size:19px;font-weight:600;margin:0;color:var(--ysg-cream);}
.ysg-rcard p{font-size:14px;color:rgba(250,245,237,.7);margin:0;flex:1;}
.ysg-rcard .ysg-btn{width:100%;justify-content:center;}
.ysg-affnote{font-size:13px;color:rgba(250,245,237,.5);margin:24px 0 0;}

/* ============================================================
   SOBRE NOSOTROS
   ============================================================ */
.ysg-about{display:grid;grid-template-columns:1fr;gap:36px;align-items:center;}
@media(min-width:768px){.ysg-about{grid-template-columns:5fr 7fr;gap:56px;}}
.ysg-about-img{border-radius:var(--ysg-radius-2xl);overflow:hidden;aspect-ratio:4/3;}
.ysg-about-img img{width:100%;height:100%;object-fit:cover;}
.ysg-about h2{font-size:30px;margin:10px 0 18px;}
@media(min-width:768px){.ysg-about h2{font-size:38px;}}
.ysg-about p{font-size:16px;color:var(--ysg-muted-fg);margin:0 0 18px;}
.ysg-sign{font-family:var(--ysg-serif);font-style:italic;color:var(--ysg-garnet);font-size:16px;}

/* ============================================================
   NEWSLETTER
   ============================================================ */
.ysg-news{background:var(--ysg-secondary);text-align:center;}
.ysg-news h2{font-size:30px;margin:0 0 14px;}
@media(min-width:768px){.ysg-news h2{font-size:40px;}}
.ysg-news p{font-size:16px;color:var(--ysg-muted-fg);max-width:34rem;margin:0 auto 28px;}
.ysg-news-form{display:flex;gap:10px;max-width:440px;margin:0 auto;flex-wrap:wrap;}
.ysg-news-form input{
  flex:1;min-width:200px;padding:14px 18px;border-radius:999px;border:1px solid var(--ysg-border);
  background:#fff;font-size:15px;font-family:inherit;color:var(--ysg-ink);
}
.ysg-news-mini{font-size:12.5px;color:var(--ysg-muted-fg);margin:16px 0 0;}

/* ============================================================
   FOOTER
   ============================================================ */
.ysg-footer{background:var(--ysg-ink);color:rgba(250,245,237,.75);padding-block:56px;}
.ysg-footer-top{display:grid;grid-template-columns:1fr;gap:32px;}
@media(min-width:768px){.ysg-footer-top{grid-template-columns:2fr 1fr 1fr 1fr;}}
.ysg-footer .ysg-brand{color:var(--ysg-cream);}
.ysg-footer-blurb{font-size:14px;color:rgba(250,245,237,.55);margin:12px 0 0;max-width:22rem;}
.ysg-footer h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(250,245,237,.55);margin:0 0 14px;font-weight:600;}
.ysg-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.ysg-footer ul a{font-size:14px;color:rgba(250,245,237,.78);}
.ysg-footer ul a:hover{color:var(--ysg-cream);}
.ysg-footer-bottom{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;
  border-top:1px solid rgba(250,245,237,.12);margin-top:40px;padding-top:24px;
  font-size:12.5px;color:rgba(250,245,237,.45);}
.ysg-footer-bottom a{color:rgba(250,245,237,.6);}

/* Ocultar el título de la página y márgenes del tema en la home */
.ysg-home .entry-header,.ysg-home .page-header{display:none;}
