/*
Theme Name: Paul Lauzon Music - Hello Child
Theme URI: https://paullauzonmusic.com/
Description: Paul Lauzon Music site theme: custom header, footer and blog archive on Hello Elementor.
Author: Paul Lauzon Music
Template: hello-elementor
Version: 1.3.1
Requires at least: 6.0
Text Domain: plm-hello-child
License: GPL-3.0-or-later
*/
:root {
  --plm-page-bg: #f0f8fc;
  --plm-ink: #121619;
  --plm-muted: #6b747c;
  --plm-blue: #3399ce;
  --plm-border: #d8e5ee;
  --plm-content-width: 1260px;
  --plm-head-font: 'Fraunces', Georgia, 'Times New Roman', serif;
  --plm-body-font: 'Roboto', Arial, Helvetica, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--plm-page-bg); color: var(--plm-muted); font-family: var(--plm-body-font); line-height: 1.72; }
a { color: var(--plm-blue); }
a:hover { color: #1c739f; }
:focus-visible { outline: 3px solid var(--plm-blue); outline-offset: 3px; }
.plm-skip-link { position:absolute;left:-10000px;top:auto;overflow:hidden;height:1px;width:1px;z-index:99999; }
.plm-skip-link:focus { position:fixed;left:10px;top:10px;width:auto;height:auto;padding:9px 16px;background:#fff;color:#151515;border-radius:4px; }
.plm-container { max-width: var(--plm-content-width); margin: 0 auto; padding: 0 24px; }
/* The original Riff installation uses a 1260px boxed Elementor canvas. */
.elementor-section.elementor-section-boxed > .elementor-container { max-width: var(--plm-content-width); }
.plm-page-content > .elementor, .plm-page-content > .elementor-page { width: 100%; }
.plm-page-content { min-height: 40vh; }
.plm-page-content:not(.plm-elementor-page) { max-width: var(--plm-content-width);padding:55px 24px;margin:0 auto; }
.plm-page-content h1, .plm-page-content h2, .plm-page-content h3, .plm-blog h1, .plm-blog h2, .plm-article h1, .plm-article h2, .plm-article h3 { color: var(--plm-ink); font-family: var(--plm-head-font); font-weight: 700; letter-spacing: -0.025em; line-height: 1.12; }
.plm-page-content h1 { font-size: clamp(2.25rem,4.4vw,3.5rem); }
.plm-page-content h3 { font-size: clamp(1.5rem,2.7vw,2rem); }
.plm-blog { padding: 60px 0 86px; }
.plm-page-heading { margin: 0 0 32px; font: 700 clamp(2.5rem,4vw,3.7rem)/1.12 var(--plm-head-font); letter-spacing: -0.025em;color:var(--plm-ink); }
.plm-article { padding: 55px 0 90px; }
.plm-article h1 { font-size: clamp(2.5rem,4vw,3.8rem); }
.plm-article .plm-meta { color: var(--plm-muted); font-size: 0.88rem; margin: 12px 0 25px; }
.plm-article img { max-width:100%;height:auto; }
.plm-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap:32px; row-gap:42px; }
.plm-post-card { display:flex; flex-direction:column; min-width:0; }
.plm-post-card__image { aspect-ratio: 16/10; width:100%; border-radius:3px; object-fit:cover; display:block;background:#dcebf4; }
.plm-post-card__placeholder { width:100%;aspect-ratio:16/10;display:block;background:#dcebf4; }
.plm-post-card__category { font-size:0.78rem;text-transform:uppercase;letter-spacing:0.08em;margin:20px 0 6px; }
.plm-post-card__title { margin:0 0 10px;font:700 clamp(1.6rem,2.2vw,2.1rem)/1.2 var(--plm-head-font); }
.plm-post-card__title a { color:var(--plm-ink);text-decoration:none; }
.plm-post-card__title a:hover { color:var(--plm-blue); }
.plm-post-card__excerpt { margin:0 0 12px; }
.plm-post-card__meta {font-size:0.85rem;}
.plm-pagination { display:flex; flex-wrap:wrap;gap:10px;justify-content:center;margin:45px 0 0; }
.plm-pagination .page-numbers { display:inline-block;padding:8px 13px;border:1px solid var(--plm-border);text-decoration:none;border-radius:3px; }
.plm-pagination .current { background:var(--plm-ink);color:#fff; }
.plm-back-link { display:inline-block;margin-top:20px;text-decoration:none; }
.plm-search-form { display:flex;gap:8px;flex-wrap:wrap; }
.plm-search-form input { width:min(100%,380px);padding:11px 13px;border:1px solid var(--plm-border);border-radius:3px; }
.plm-search-form button,.plm-button { display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:4px;background:var(--plm-ink);color:#fff;padding:12px 18px;text-decoration:none;cursor:pointer; }
.plm-search-form button:hover,.plm-button:hover { background:var(--plm-blue);color:#fff; }
@media (max-width: 767px) { .plm-container { padding:0 16px; } .plm-grid {grid-template-columns:1fr;gap:34px;} .plm-blog {padding:38px 0 60px;} .plm-article {padding:38px 0 60px;} .plm-page-content:not(.plm-elementor-page) {padding:30px 16px;} }
