/*
Theme Name: Legalcare.ID
Theme URI: https://legalcare.id
Author: Legalcare.ID
Author URI: https://legalcare.id
Description: Custom WordPress theme for Legalcare.ID — spesialis hukum keluarga Indonesia. Built for Elementor Pro with a navy & gold law-firm aesthetic. Includes a pre-built homepage Elementor template (auto-imported on activation), dynamic news section pulling latest WordPress posts, custom typography (Playfair Display + Inter), and full Theme Builder support.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: legalcare-id
Tags: elementor, business, law-firm, one-column, custom-colors, custom-menu, featured-images, theme-options, threaded-comments, translation-ready

This theme is designed to be used with Elementor Pro.
*/

/* ===========================================================
   Design Tokens — Navy & Gold Law Firm Palette
   =========================================================== */
:root{
  --lc-primary: #0f1f3d;          /* deep navy */
  --lc-primary-foreground: #f8f7f2;
  --lc-gold: #c8a55b;
  --lc-gold-foreground: #1a1a1a;
  --lc-background: #ffffff;
  --lc-foreground: #0f1f3d;
  --lc-muted: #f4f3ee;
  --lc-muted-foreground: #5a6478;
  --lc-card: #ffffff;
  --lc-border: #e6e4dc;
  --lc-gradient-gold: linear-gradient(135deg, #d4b56a 0%, #b8923f 100%);
  --lc-gradient-hero: linear-gradient(135deg, #0a1628 0%, #0f1f3d 50%, #142a52 100%);
  --lc-shadow-elegant: 0 20px 60px -20px rgba(15, 31, 61, 0.25);
  --lc-shadow-gold: 0 10px 30px -10px rgba(200, 165, 91, 0.45);
  --lc-font-display: 'Playfair Display', Georgia, serif;
  --lc-font-body: 'Inter', system-ui, -apple-system, sans-serif;
}

/* ===========================================================
   Base Reset
   =========================================================== */
*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin: 0;
  font-family: var(--lc-font-body);
  color: var(--lc-foreground);
  background: var(--lc-background);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4,h5,h6{ font-family: var(--lc-font-display); font-weight: 600; line-height: 1.15; }
a{ color: var(--lc-primary); text-decoration: none; transition: color .2s; }
a:hover{ color: var(--lc-gold); }
img{ max-width: 100%; height: auto; display: block; }

/* Utility helpers used by template-parts when Elementor is unavailable */
.lc-container{ max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }
.lc-gold-divider{ width: 60px; height: 3px; background: var(--lc-gradient-gold); border-radius: 2px; }
.lc-text-gold{ color: var(--lc-gold); }
.lc-btn-gold{
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--lc-gradient-gold); color: var(--lc-gold-foreground);
  padding: .9rem 1.6rem; border-radius: 6px; font-weight: 600; font-size: .95rem;
  box-shadow: var(--lc-shadow-gold); transition: transform .2s; border: 0; cursor: pointer;
}
.lc-btn-gold:hover{ transform: scale(1.03); color: var(--lc-gold-foreground); }

/* ===========================================================
   WP core required classes
   =========================================================== */
.alignleft{ float:left; margin: .5rem 1.5rem 1rem 0; }
.alignright{ float:right; margin: .5rem 0 1rem 1.5rem; }
.aligncenter{ margin: 1rem auto; display:block; }
.screen-reader-text{
  border:0; clip:rect(1px,1px,1px,1px); -webkit-clip-path: inset(50%);
  clip-path: inset(50%); height:1px; width:1px; margin:-1px; overflow:hidden;
  padding:0; position:absolute; word-wrap: normal !important;
}
.sticky{ display:block; }
.gallery-caption, .bypostauthor, .wp-caption, .wp-caption-text{ display:block; }

/* ===========================================================
   Default page wrapper (when Elementor Theme Builder isn't used)
   =========================================================== */
.lc-default-header{
  background: var(--lc-primary); color: var(--lc-primary-foreground);
  padding: 1rem 1.5rem;
}
.lc-default-header .site-title{ margin:0; font-size: 1.4rem; }
.lc-default-header .site-title a{ color: var(--lc-primary-foreground); }
.lc-default-header .site-title span{ color: var(--lc-gold); }
.lc-default-footer{
  background: var(--lc-primary); color: var(--lc-primary-foreground);
  padding: 2rem 1.5rem; text-align: center; margin-top: 4rem;
}
.lc-page-content{ padding: 3rem 1.5rem; max-width: 800px; margin: 0 auto; }

/* Posts list & single */
.lc-posts-grid{
  display:grid; gap: 2rem;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  padding: 3rem 1.5rem; max-width: 1200px; margin: 0 auto;
}
.lc-post-card{
  background: var(--lc-card); border: 1px solid var(--lc-border);
  border-radius: 12px; overflow: hidden; transition: all .3s;
}
.lc-post-card:hover{ box-shadow: var(--lc-shadow-elegant); transform: translateY(-4px); border-color: var(--lc-gold); }
.lc-post-card img{ width:100%; height: 200px; object-fit: cover; }
.lc-post-card .lc-post-body{ padding: 1.25rem; }
.lc-post-card h3{ margin: 0 0 .5rem; font-size: 1.2rem; }
.lc-post-card .lc-meta{ font-size: .8rem; color: var(--lc-muted-foreground); text-transform: uppercase; letter-spacing: .1em; }
