/*
Theme Name: Bright Lisbon
Theme URI: https://brightlisbon.com/
Author: Rapid Stack Technologies
Description: Accessible, Elementor-ready WordPress theme for Bright Lisbon Real Estate & Consultancy Services.
Version: 3.4.4
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: bright-lisbon
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
  --bl-navy: #071126;
  --bl-navy-soft: #101c34;
  --bl-gold: #c9a84c;
  --bl-gold-light: #ddc477;
  --bl-white: #ffffff;
  --bl-cream: #f5f1e8;
  --bl-text: #202633;
  --bl-muted: #687081;
  --bl-line: rgba(7,17,38,.14);
  --bl-container: 1240px;
  --bl-display: "Cormorant Garamond", Georgia, serif;
  --bl-body: Montserrat, Arial, sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--bl-text);background:#fff;font-family:var(--bl-body);line-height:1.7}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{position:fixed;z-index:100000;top:12px;left:12px;width:auto;height:auto;padding:12px 18px;background:#fff;color:#000;clip:auto}
.bl-container{width:min(var(--bl-container),calc(100% - 48px));margin-inline:auto}
.site-main{min-height:60vh}

.bl-site-header{position:relative;z-index:50;background:var(--bl-navy);color:#fff;border-bottom:1px solid rgba(201,168,76,.24)}
.bl-header-inner{min-height:92px;display:flex;align-items:center;gap:36px}
.bl-brand{display:flex;align-items:center;margin-right:auto}
.bl-brand img{display:block;width:auto;max-height:62px}
.bl-brand-name{font-family:var(--bl-display);font-size:26px;letter-spacing:.06em;color:var(--bl-gold)}
.bl-nav-list{display:flex;align-items:center;gap:25px;list-style:none;margin:0;padding:0}
.bl-nav-list a{font-size:12px;font-weight:600;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}
.bl-nav-list a:hover,.bl-nav-list a:focus-visible{color:var(--bl-gold)}
.bl-header-cta,.bl-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 22px;border:1px solid var(--bl-gold);background:var(--bl-gold);color:var(--bl-navy);font-size:11px;font-weight:700;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}
.bl-menu-toggle{display:none;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;padding:10px 12px}
.bl-menu-toggle:focus-visible,.bl-header-cta:focus-visible,.bl-button:focus-visible,.bl-nav-list a:focus-visible{outline:3px solid var(--bl-gold-light);outline-offset:4px}

.bl-pattern{background-color:var(--bl-navy);background-image:linear-gradient(rgba(201,168,76,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,.04) 1px,transparent 1px),radial-gradient(circle at 72% 28%,rgba(40,72,132,.22),transparent 35%);background-size:48px 48px,48px 48px,auto}
.bl-page-hero{padding:92px 0 76px;color:#fff}
.bl-page-hero h1{max-width:900px;margin:0;font-family:var(--bl-display);font-size:clamp(52px,7vw,92px);font-weight:500;line-height:.98}
.bl-page-hero p{max-width:720px;margin:25px 0 0;color:#cbd1dc}

.bl-content{padding:80px 0}
.bl-content h1,.bl-content h2,.bl-content h3,.entry-title{font-family:var(--bl-display);font-weight:500;line-height:1.08}
.entry-title{font-size:clamp(42px,5vw,70px)}
.bl-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.bl-post-card{border:1px solid var(--bl-line);background:#fff}
.bl-post-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.bl-post-card-body{padding:26px}
.bl-post-card h2{margin:5px 0 12px;font-size:32px}
.bl-post-card h2 a{text-decoration:none}
.bl-meta{color:var(--bl-muted);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.bl-pagination{margin-top:48px}
.bl-single{max-width:860px}
.bl-single .post-thumbnail{margin:35px 0}

.bl-site-footer{padding:72px 0 30px;color:#fff}
.bl-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:48px}
.bl-site-footer h2,.bl-site-footer h3{margin-top:0;color:var(--bl-gold);font-family:var(--bl-display);font-weight:500}
.bl-site-footer ul{list-style:none;margin:0;padding:0}
.bl-site-footer a{text-decoration:none;color:#cbd1dc}
.bl-site-footer a:hover{color:var(--bl-gold)}
.bl-footer-bottom{margin-top:56px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);color:#9ba4b5;font-size:12px}

@media (max-width:1024px){
  .bl-menu-toggle{display:block}.bl-header-cta{display:none}
  .bl-primary-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:22px 24px;background:var(--bl-navy);border-top:1px solid rgba(201,168,76,.2)}
  .bl-primary-nav.is-open{display:block}.bl-nav-list{align-items:flex-start;flex-direction:column}
  .bl-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bl-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .bl-container{width:min(100% - 36px,var(--bl-container))}.bl-header-inner{min-height:76px}
  .bl-brand img{max-height:48px}.bl-page-hero{padding:68px 0 58px}.bl-content{padding:58px 0}
  .bl-post-grid,.bl-footer-grid{grid-template-columns:1fr}.bl-footer-grid{gap:30px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
