/*
Theme Name: Finques Jané Serrano
Theme URI: https://finquesjaneserrano.com/
Author: Finques Jané Serrano
Description: Plantilla manual WordPress para Finques Jané Serrano. Tema ligero, compatible con Polylang, WPForms Lite, logo personalizado y menú responsive.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: finques-jane-serrano
*/

/*
FINQUES JANÉ SERRANO · CSS GLOBAL PARA WORDPRESS
------------------------------------------------
Archivo único de estilos. Cambiando los colores aquí, cambian todas las páginas.

Colores principales dentro de .fjs-web:
--fjs-bg      Fondo general crema
--fjs-ink     Texto principal
--fjs-navy    Azul oscuro principal
--fjs-navy2   Azul oscuro footer
--fjs-gold    Dorado principal
--fjs-gold2   Dorado claro
--fjs-muted   Texto secundario
--fjs-line    Líneas y bordes suaves
*/
.fjs-web{--fjs-bg:#f7f4ef;--fjs-ink:#1c1c1c;--fjs-navy:#0f1d2c;--fjs-navy2:#0b1622;--fjs-gold:#b99769;--fjs-gold2:#d1b186;--fjs-muted:#666;--fjs-line:#e8e0d6;--fjs-logo-width:220px;--fjs-logo-mobile-width:145px;font-family:Arial,Helvetica,sans-serif;color:var(--fjs-ink);background:var(--fjs-bg);line-height:1.5;overflow:hidden}
.fjs-web *{box-sizing:border-box}
.fjs-web a{color:inherit;text-decoration:none}
.fjs-container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.fjs-header{position:absolute;top:0;left:0;right:0;z-index:20;padding:28px 34px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px}
.fjs-logo{display:inline-flex;align-items:center;justify-content:flex-start;flex:0 0 auto;max-width:32vw;line-height:1}
.fjs-logo-img{display:block;width:var(--fjs-logo-width);max-width:100%;height:auto;max-height:92px;object-fit:contain}
.fjs-logo .screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fjs-logo strong{display:block;font-size:24px;letter-spacing:.27em;text-transform:uppercase;font-weight:300;line-height:1.1}
.fjs-logo span{display:block;font-size:11px;letter-spacing:.48em;text-transform:uppercase;opacity:.82;margin-top:7px}
.fjs-nav{display:flex;gap:28px;align-items:center;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.fjs-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:28px;align-items:center}
.fjs-nav li{margin:0;padding:0}
.fjs-nav a{opacity:.9}
.fjs-nav a:hover{opacity:.65}
.fjs-btn,.fjs-web button,.fjs-web input[type="submit"]{border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:13px;text-transform:uppercase;letter-spacing:.1em;padding:15px 28px;border-radius:3px;transition:.25s ease;background:var(--fjs-gold);color:#fff;font-weight:500}
.fjs-btn:hover,.fjs-web button:hover,.fjs-web input[type="submit"]:hover{transform:translateY(-1px);filter:brightness(.96)}
.fjs-btn-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.9)}
.fjs-btn-outline:hover{background:#fff;color:#111}
.fjs-btn-dark{background:var(--fjs-navy);color:#fff}
.fjs-btn-light{background:#fff;color:#111}
.fjs-btn-link{background:transparent;color:#111;border-radius:0;padding:0 0 3px;border-bottom:1px solid #111}
.fjs-hero{min-height:92vh;position:relative;display:flex;align-items:center;background-size:cover;background-position:center}
.fjs-hero:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.38)}
.fjs-hero-content{position:relative;z-index:2;color:#fff;padding:165px 0 90px;max-width:760px}
.fjs-eyebrow{display:block;text-transform:uppercase;letter-spacing:.28em;font-size:13px;color:var(--fjs-gold);margin-bottom:16px}
.fjs-hero .fjs-eyebrow{color:#fff;opacity:.82}
.fjs-title-xl{font-size:clamp(42px,6vw,76px);font-weight:300;line-height:1.04;margin:0 0 24px}
.fjs-title-lg{font-size:clamp(34px,4vw,52px);font-weight:300;line-height:1.12;margin:0 0 24px}
.fjs-title-md{font-size:clamp(28px,3vw,42px);font-weight:300;line-height:1.15;margin:0 0 14px}
.fjs-lead{font-size:18px;line-height:1.75;opacity:.9;max-width:680px}
.fjs-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.fjs-section{padding:92px 0}
.fjs-section-white{background:#fff}
.fjs-section-dark{background:var(--fjs-navy);color:#fff}
.fjs-section-dark .fjs-muted{color:rgba(255,255,255,.73)}
.fjs-muted{color:var(--fjs-muted)}
.fjs-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.fjs-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:56px;align-items:center}
.fjs-values{text-align:center}
.fjs-value-icon{width:66px;height:66px;border:1px solid var(--fjs-gold);border-radius:50%;margin:0 auto 22px;display:flex;align-items:center;justify-content:center;color:var(--fjs-gold);font-size:25px}
.fjs-small-title{text-transform:uppercase;letter-spacing:.18em;font-size:13px;font-weight:600;margin:0 0 12px}
.fjs-section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:42px}
.fjs-card{background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 12px 35px rgba(15,29,44,.07);transition:.28s ease}
.fjs-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px rgba(15,29,44,.12)}
.fjs-card-img{height:285px;overflow:hidden;background:#ddd}
.fjs-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:.45s ease}
.fjs-card:hover .fjs-card-img img{transform:scale(1.045)}
.fjs-card-body{padding:28px}
.fjs-card-title{font-size:23px;font-weight:300;line-height:1.25;margin:0 0 10px}
.fjs-price{font-size:20px;color:var(--fjs-gold);font-weight:600;margin:0 0 20px}
.fjs-pills{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.fjs-pill{border:1px solid var(--fjs-line);border-radius:999px;padding:6px 11px;font-size:12px;color:#555;background:#fff}
.fjs-img-rounded{width:100%;min-height:520px;object-fit:cover;border-radius:32px;display:block}
.fjs-form{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;text-align:left;margin-top:36px}
.fjs-form input,.fjs-form textarea,.fjs-form select{width:100%;border:1px solid #ddd;background:#fff;border-radius:14px;padding:15px 16px;font-size:15px;color:#111;font-family:inherit}
.fjs-form textarea{min-height:150px;resize:vertical}
.fjs-form .fjs-full{grid-column:1/-1}
.fjs-form input:focus,.fjs-form textarea:focus,.fjs-form select:focus{outline:1px solid var(--fjs-gold);border-color:var(--fjs-gold)}
.fjs-footer{background:var(--fjs-navy2);color:#fff;padding:58px 0}
.fjs-footer p,.fjs-footer li{color:rgba(255,255,255,.66)}
.fjs-footer ul{list-style:none;margin:0;padding:0}
.fjs-footer li{margin:0 0 11px}
.fjs-page-hero{min-height:470px;position:relative;display:flex;align-items:center;background-size:cover;background-position:center;color:#fff}
.fjs-page-hero:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.43)}
.fjs-page-hero .fjs-container{position:relative;z-index:2;padding-top:110px}
.fjs-service-card{background:#fff;border:1px solid var(--fjs-line);border-radius:26px;padding:34px;min-height:260px}
.fjs-service-card b{font-size:32px;color:var(--fjs-gold);font-weight:300;display:block;margin-bottom:18px}
.fjs-steps{counter-reset:step;display:grid;gap:18px}
.fjs-step{counter-increment:step;display:grid;grid-template-columns:58px 1fr;gap:18px;align-items:start;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:22px}
.fjs-step:before{content:counter(step);width:44px;height:44px;border-radius:50%;background:var(--fjs-gold);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.fjs-contact-box{background:#fff;border-radius:26px;padding:34px;box-shadow:0 12px 35px rgba(15,29,44,.07)}
.fjs-contact-line{padding:16px 0;border-bottom:1px solid var(--fjs-line)}
.fjs-contact-line:last-child{border-bottom:0}
.fjs-map-placeholder{min-height:360px;border-radius:28px;background:linear-gradient(135deg,#efe6da,#d9c4a8);display:flex;align-items:center;justify-content:center;text-align:center;padding:40px;color:#3a2d20}
.fjs-note{font-size:13px;color:#777;margin-top:12px}
.fjs-mobile-nav-note{display:none}
@media(max-width:900px){.fjs-header{position:absolute;padding:22px 20px;align-items:flex-start}
.fjs-logo strong{font-size:18px;letter-spacing:.19em}
.fjs-logo span{letter-spacing:.32em}
.fjs-nav{display:none}
.fjs-header .fjs-btn{padding:11px 16px;font-size:11px}
.fjs-hero{min-height:88vh}
.fjs-hero-content{padding:135px 0 70px}
.fjs-grid-3,.fjs-grid-2{grid-template-columns:1fr}
.fjs-section{padding:68px 0}
.fjs-section-head{display:block}
.fjs-section-head .fjs-btn-link{margin-top:18px}
.fjs-card-img{height:245px}
.fjs-img-rounded{min-height:340px}
.fjs-form{grid-template-columns:1fr}
.fjs-title-xl{font-size:42px}
.fjs-title-lg{font-size:36px}
.fjs-footer .fjs-grid-3{gap:34px}
.fjs-mobile-nav-note{display:block;color:rgba(255,255,255,.62);font-size:12px;margin-top:12px}}
@media(max-width:520px){.fjs-container{width:min(100% - 28px,1180px)}
.fjs-header{padding:18px 14px}
.fjs-header .fjs-btn{display:none}
.fjs-actions .fjs-btn{width:100%;padding:15px 18px}
.fjs-card-body{padding:23px}
.fjs-page-hero{min-height:400px}
.fjs-form input,.fjs-form textarea,.fjs-form select{font-size:16px}}

/* ------------------------------------------------
   v1.1 · Menú responsive + Polylang + WPForms Lite
------------------------------------------------ */
.fjs-nav-panel{display:flex;align-items:center;justify-content:flex-end;gap:22px}
.fjs-menu-toggle{display:none;width:44px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:12px;background:rgba(255,255,255,.08);color:#fff;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;transition:.25s ease}
.fjs-menu-toggle span{display:block;width:21px;height:2px;background:currentColor;border-radius:999px;transition:.25s ease}
.fjs-header.is-open .fjs-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.fjs-header.is-open .fjs-menu-toggle span:nth-child(2){opacity:0}
.fjs-header.is-open .fjs-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.fjs-lang{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#fff}
.fjs-lang ul{list-style:none;margin:0;padding:0;display:flex;gap:9px;align-items:center}
.fjs-lang li{margin:0;padding:0;opacity:.78}
.fjs-lang li.current-lang{opacity:1;color:var(--fjs-gold2)}
.fjs-lang a{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:0 9px}
.fjs-lang a:hover{background:rgba(255,255,255,.12)}
.fjs-editor-content{background:var(--fjs-bg);min-height:60vh}
.fjs-editor-content > *{max-width:1180px;margin-left:auto;margin-right:auto}
.fjs-editor-content .alignwide{max-width:1180px}
.fjs-editor-content .alignfull{max-width:none;width:100%}
.fjs-editor-content p,.fjs-editor-content li{line-height:1.7}
.fjs-wpforms{margin-top:24px;text-align:left}
.fjs-wpforms .wpforms-container{margin:0!important}
.fjs-wpforms .wpforms-field{padding:8px 0!important}
.fjs-wpforms input[type=text],.fjs-wpforms input[type=email],.fjs-wpforms input[type=tel],.fjs-wpforms input[type=url],.fjs-wpforms input[type=number],.fjs-wpforms select,.fjs-wpforms textarea{width:100%!important;max-width:100%!important;border:1px solid #ddd!important;background:#fff!important;border-radius:14px!important;padding:15px 16px!important;font-size:15px!important;color:#111!important;font-family:inherit!important;box-shadow:none!important}
.fjs-wpforms textarea{min-height:145px!important}
.fjs-wpforms .wpforms-submit{border:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;font-size:13px!important;text-transform:uppercase!important;letter-spacing:.1em!important;padding:15px 28px!important;border-radius:3px!important;background:var(--fjs-navy)!important;color:#fff!important;font-weight:500!important;min-height:auto!important}
.fjs-wpforms .wpforms-submit:hover{filter:brightness(.96)!important}
.fjs-wpforms .wpforms-field-label{font-size:13px!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:#333!important;margin-bottom:7px!important}

@media(max-width:900px){
  .fjs-header{align-items:center;gap:14px;padding:18px 18px;overflow:visible}
  .fjs-menu-toggle{display:inline-flex;flex:0 0 auto}
  .fjs-nav-panel{display:none;position:absolute;top:calc(100% + 8px);left:14px;right:14px;z-index:50;flex-direction:column;align-items:stretch;gap:18px;background:rgba(15,29,44,.97);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:20px;box-shadow:0 18px 45px rgba(0,0,0,.25);backdrop-filter:blur(12px)}
  .fjs-header.is-open .fjs-nav-panel{display:flex}
  .fjs-nav{display:block;width:100%;font-size:13px}
  .fjs-nav ul,.fjs-nav .fjs-menu{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%}
  .fjs-nav li{border-bottom:1px solid rgba(255,255,255,.13)}
  .fjs-nav li:last-child{border-bottom:0}
  .fjs-nav a{display:block;padding:13px 4px;opacity:1}
  .fjs-lang ul{justify-content:flex-start;flex-wrap:wrap}
  .fjs-header .fjs-header-contact{display:flex;width:100%;padding:13px 18px;font-size:12px}
}

@media(max-width:520px){
  .fjs-header{padding:16px 14px}
  .fjs-header .fjs-header-contact{display:flex}
  .fjs-menu-toggle{width:42px;height:40px}
}


/* ------------------------------------------------
   v1.2 · Logo real + refuerzo del menú móvil
------------------------------------------------ */
.fjs-header{min-height:96px}
.fjs-nav-panel{min-width:0}
.fjs-nav{min-width:0}
.fjs-nav a{white-space:nowrap}
.fjs-header-contact{white-space:nowrap}

@media(max-width:1100px){
  .fjs-web{--fjs-logo-width:190px}
  .fjs-nav ul{gap:18px}
  .fjs-nav{font-size:12px}
  .fjs-nav-panel{gap:16px}
  .fjs-header .fjs-header-contact{padding:12px 18px;font-size:11px}
}

@media(max-width:900px){
  .fjs-web{--fjs-logo-mobile-width:145px}
  .fjs-header{min-height:82px}
  .fjs-logo{max-width:calc(100% - 64px)}
  .fjs-logo-img{width:var(--fjs-logo-mobile-width);max-height:74px}
  .fjs-nav a{white-space:normal}
  .fjs-nav-panel{top:calc(100% + 6px)}
}

@media(max-width:520px){
  .fjs-web{--fjs-logo-mobile-width:128px}
  .fjs-logo-img{max-height:68px}
}

/* ------------------------------------------------
   v1.3 · Footer corregido
------------------------------------------------ */

/* Footer legal */
.fjs-footer-legal {
  margin-top: 42px;
  padding: 20px 0;
  border-top: 1px solid rgba(255,255,255,0.12);
}

.fjs-footer-legal-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.fjs-footer-copy {
  margin: 0;
  font-size: 13px;
  color: rgba(255,255,255,0.68);
}

.fjs-legal-menu {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.fjs-legal-menu a {
  font-size: 13px;
  color: rgba(255,255,255,0.72);
  text-decoration: none;
}

.fjs-legal-menu a:hover {
  color: #b99769;
}

.fjs-legal-menu {
    display: flex;
    gap: 4rem;
    list-style: none;
    text-align: center;
    justify-content: center;
    font-size: 0.8rem;
}

/* Versión móvil */
@media screen and (max-width: 768px) {
  .fjs-footer-legal-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .fjs-legal-menu {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

