/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


/* ============================================================
   ASTRA PROPERTY MGMT — BLOG STYLES
   Add this to your child theme's style.css OR to
   Appearance → Customize → Additional CSS.
   ============================================================ */


/* ---- BLOG INDEX: HERO ---- */
.astra-blog-hero{
  background:#000;
  padding:120px 40px;
  color:#fff;
  text-align:center;
  position:relative;
}
.astra-blog-hero::before{
  content:"";
  position:absolute;inset:0;
  background:url('https://lirp.cdn-website.com/md/dmtmpl/1e00b058-1150-40c2-9348-cd4185d5e211/dms3rep/multi/opt/modern_salon-1920w.jpg') center/cover no-repeat;
  opacity:.5;
  z-index:0;
}
.astra-blog-hero__inner{
  position:relative;z-index:1;
  max-width:800px;margin:0 auto;
}
.astra-blog-hero h1{
  font-family:'Syne', Georgia, serif;
  font-weight:700;
  font-size:60px;
  color:#fff;
  margin:0 0 20px;
}
.astra-blog-hero__tagline{
  font-family:Georgia, serif;
  font-size:18px;
  line-height:1.6;
  color:#fff;
  margin:0;
}


/* ---- POSTS GRID ---- */
.astra-blog-grid{padding:80px 40px;background:#fff;}
.astra-blog-grid__inner{max-width:1400px;margin:0 auto;}
.astra-blog-grid__list{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:40px;
}
.astra-blog-grid__empty{
  text-align:center;font-family:Georgia,serif;color:#000;
}


/* ---- CARD ---- */
.astra-card{
  display:flex;
  flex-direction:column;
  background:#fff;
}
.astra-card__image-link{display:block;text-decoration:none;}
.astra-card__image{
  width:100%;
  aspect-ratio: 4 / 3;
  background-size:cover;
  background-position:center;
  border-radius:8px;
  transition:transform .4s ease;
}
.astra-card__image--placeholder{background:#eee;}
.astra-card__image-link:hover .astra-card__image{transform:scale(1.02);}

.astra-card__body{padding:20px;}
.astra-card__title{
  font-family:'Syne', Georgia, serif;
  font-weight:700;
  font-size:24px;
  margin:0 0 8px;
  line-height:1.3;
}
.astra-card__title a{
  color:#000;text-decoration:none;
}
.astra-card__title a:hover{color:#A8894D;}

.astra-card__meta{
  font-family:Georgia, serif;
  font-size:14px;
  color:#666;
  margin-bottom:12px;
  display:flex;
  gap:6px;
}
.astra-card__excerpt{
  font-family:Georgia, serif;
  font-size:15px;
  line-height:1.6;
  color:#000;
  margin-bottom:14px;
}
.astra-card__more a{
  font-family:'Syne', Georgia, serif;
  font-weight:700;
  font-size:15px;
  color:#000;
  text-decoration:underline;
}
.astra-card__more a:hover{color:#A8894D;}


/* ---- PAGINATION ---- */
.astra-blog-pagination{margin-top:60px;text-align:center;}
.astra-blog-pagination .page-numbers{
  display:inline-block;
  margin:0 4px;
  padding:8px 14px;
  font-family:'Syne', Georgia, serif;
  font-weight:700;
  font-size:15px;
  color:#000;
  text-decoration:none;
  border:1px solid #000;
  border-radius:4px;
  transition:all .2s;
}
.astra-blog-pagination .page-numbers.current,
.astra-blog-pagination .page-numbers:hover{
  background:#000;color:#fff;
}


/* ---- SINGLE POST: HERO ---- */
.astra-post-hero{
  position:relative;
  min-height:480px;
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:120px 40px;
}
.astra-post-hero__overlay{
  position:absolute;inset:0;
  background:rgba(0,0,0,.45);
}
.astra-post-hero__inner{
  position:relative;z-index:1;
  max-width:860px;
}
.astra-post-hero__title{
  font-family:'Syne', Georgia, serif;
  font-weight:700;
  font-size:48px;
  color:#fff;
  margin:0 0 16px;
  line-height:1.2;
}
.astra-post-hero__meta{
  font-family:Georgia, serif;
  font-size:16px;
  color:#fff;
  display:flex;
  justify-content:center;
  gap:8px;
}


/* ---- SINGLE POST: BODY ---- */
.astra-post-body{padding:60px 40px;background:#fff;}
.astra-post-body__inner{
  max-width:780px;
  margin:0 auto;
  font-family:Georgia, serif;
  font-size:17px;
  line-height:1.8;
  color:#000;
}
.astra-post-body__inner h2,
.astra-post-body__inner h3{
  font-family:'Syne', Georgia, serif;
  font-weight:700;
  color:#000;
  margin:32px 0 12px;
}
.astra-post-body__inner h2{font-size:28px;}
.astra-post-body__inner h3{font-size:22px;}
.astra-post-body__inner p{margin:0 0 20px;}
.astra-post-body__inner a{color:#000;text-decoration:underline;}
.astra-post-body__inner a:hover{color:#A8894D;}
.astra-post-body__inner img{
  max-width:100%;height:auto;border-radius:8px;margin:20px 0;
}
.astra-post-body__inner ul,
.astra-post-body__inner ol{margin:0 0 20px 24px;}
.astra-post-body__inner blockquote{
  border-left:3px solid #A8894D;
  padding:8px 0 8px 20px;
  margin:24px 0;
  font-style:italic;
  color:#333;
}


/* ---- SINGLE POST: NAV ---- */
.astra-post-nav{padding:0 40px 40px;background:#fff;}
.astra-post-nav__inner{
  max-width:1200px;margin:0 auto;
  display:flex;justify-content:space-between;gap:20px;
  border-top:1px solid #ddd;padding-top:30px;
}
.astra-post-nav a{
  font-family:'Syne', Georgia, serif;
  font-weight:700;font-size:15px;
  color:#000;text-decoration:none;
}
.astra-post-nav a:hover{color:#A8894D;text-decoration:underline;}
.astra-post-nav__next{margin-left:auto;}


/* ---- RELATED POSTS ---- */
.astra-related{padding:80px 40px;background:#f7f7f7;}
.astra-related__inner{max-width:1400px;margin:0 auto;}
.astra-related__heading{
  font-family:'Syne', Georgia, serif;
  font-weight:700;
  font-size:36px;
  color:#000;
  margin:0 0 40px;
  text-align:center;
}


/* ---- RESPONSIVE ---- */
@media (max-width:900px){
  .astra-blog-hero{padding:80px 24px;}
  .astra-blog-hero h1{font-size:42px;}
  .astra-blog-grid,
  .astra-related{padding:50px 24px;}
  .astra-blog-grid__list{
    grid-template-columns:1fr;
    gap:30px;
  }
  .astra-post-hero{
    background-attachment:scroll;
    padding:80px 24px;
    min-height:360px;
  }
  .astra-post-hero__title{font-size:32px;}
  .astra-post-body{padding:40px 24px;}
  .astra-post-body__inner{font-size:16px;}
  .astra-related__heading{font-size:28px;}
}