/*
Theme Name:   Cambiata Kadence Child
Theme URI:    https://cambiatainstitute.com/
Description:  Child theme of Kadence for the Cambiata Institute of America for Early Adolescent Vocal Music (development site).
Author:       Cambiata Institute
Template:     kadence
Version:      1.0.3
Text Domain:  cambiata-kadence-child
*/

:root{
  --cam-navy:#1d3557;
  --cam-blue:#4a86c5;
  --cam-sky:#dbe8f5;
  --cam-cream:#f7f4ee;
  --cam-gold:#b8893b;
  --cam-serif:"EB Garamond", Georgia, "Times New Roman", serif;
}

/* Typography */
body{ font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
h1,h2,h3,h4,.site-title,.entry-title,.wp-block-heading{
  font-family:var(--cam-serif);
  color:var(--cam-navy);
  letter-spacing:-.005em;
}
h1,.entry-title{ font-weight:600; }
h2{ font-weight:500; }
.entry-content p, .entry-content li{ line-height:1.75; }

/* Header */
.site-branding .site-title{ font-family:var(--cam-serif); font-weight:600; font-size:1.6rem; }
.site-branding .site-description{ font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; color:#5b6b7f; }
.main-navigation .primary-menu-container > ul > li.menu-item > a{ font-weight:500; }

/* Page title hero */
.entry-hero.page-hero-section .entry-header{ min-height:180px; }
.page-hero-section .hero-section-overlay{ background:linear-gradient(135deg,var(--cam-navy),#2e5c8a); opacity:1; }
.page-hero-section .entry-title{ color:#fff; }

/* Reusable pieces */
.cam-eyebrow{ font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cam-gold); font-weight:600; margin-bottom:.4rem; }
.cam-card{ background:#fff; border:1px solid #e3e8ef; border-radius:10px; padding:1.5rem 1.6rem; box-shadow:0 1px 2px rgba(29,53,87,.05); height:100%; }
.cam-card h3{ margin-top:0; font-size:1.35rem; }
.cam-band{ background:var(--cam-cream); }
.cam-sky{ background:var(--cam-sky); }
.cam-quote{ border-left:4px solid var(--cam-gold); padding-left:1.25rem; font-family:var(--cam-serif); font-size:1.35rem; font-style:italic; color:var(--cam-navy); }
.cam-list li{ margin-bottom:.6rem; }
.cam-numbered{ counter-reset:cam; list-style:none; padding-left:0; }
.cam-numbered li{ counter-increment:cam; position:relative; padding-left:2.6rem; margin-bottom:1rem; }
.cam-numbered li::before{ content:counter(cam); position:absolute; left:0; top:.1rem; width:1.8rem; height:1.8rem; border-radius:50%; background:var(--cam-navy); color:#fff; font-size:.85rem; font-weight:600; display:flex; align-items:center; justify-content:center; }

/* Resource lists */
.cam-resources{ list-style:none; padding-left:0; columns:2 320px; column-gap:2rem; }
.cam-resources li{ break-inside:avoid; padding:.55rem 0; border-bottom:1px solid #e3e8ef; }
.cam-resources a{ text-decoration:none; color:var(--cam-navy); }
.cam-resources a:hover{ color:var(--cam-blue); text-decoration:underline; }
.cam-resources a::before{ content:"\2192"; color:var(--cam-gold); margin-right:.55rem; }

/* Video grid */
.cam-video-grid .wp-block-embed{ margin-bottom:.5rem; }
.cam-video-grid figcaption, .cam-video-grid .wp-element-caption{ font-family:var(--cam-serif); font-size:1.05rem; color:var(--cam-navy); text-align:left; }

/* Buttons */
.wp-block-button__link{ border-radius:6px; }

/* Footer */
.site-footer .site-bottom-footer-wrap{ background:var(--cam-navy); color:#cdd8e6; }
.site-footer .site-bottom-footer-wrap a{ color:#fff; }

/* ---- Section layout ---- */
.entry-content > .wp-block-group.alignfull{ margin-top:0; margin-bottom:0; }
.cam-section, .cam-hero{ padding:4.5rem 1.5rem; }
.cam-section > *, .cam-hero > *{ max-width:1100px; margin-left:auto !important; margin-right:auto !important; }
.cam-lead{ font-size:1.2rem; color:#2b3a4f; max-width:760px; }
.cam-cards{ gap:1.5rem; margin-top:1.5rem; }
.cam-cards .wp-block-column{ display:flex; flex-direction:column; }
.cam-card .wp-block-buttons{ margin-top:auto; }

/* ---- Home hero ---- */
.cam-hero{ background:linear-gradient(135deg,#16263d 0%,#1d3557 45%,#2e5c8a 100%); color:#e6eef8; }
.cam-hero .cam-eyebrow{ color:#e3c27f; }
.cam-hero .cam-hero-title{ color:#fff; font-size:clamp(2.4rem,5vw,3.8rem); line-height:1.08; margin:.3rem 0 1.2rem; }
.cam-hero .cam-hero-text{ font-size:1.15rem; color:#d5e1ef; max-width:640px; }
.cam-hero .wp-block-button__link{ background:#e3c27f; color:#16263d; border-color:#e3c27f; }
.cam-hero .is-style-outline .wp-block-button__link{ background:transparent !important; color:#fff !important; border:2px solid rgba(255,255,255,.7) !important; }
.cam-hero .is-style-outline .wp-block-button__link:hover{ background:rgba(255,255,255,.12) !important; }
.cam-seal img{ border-radius:50%; background:#fff; padding:14px; max-width:300px; margin:0 auto; display:block; box-shadow:0 20px 50px rgba(0,0,0,.35); }

/* ---- Images ---- */
.cam-portrait img{ border-radius:12px; box-shadow:0 10px 30px rgba(29,53,87,.18); width:100%; height:auto; }
.cam-shadow img{ border-radius:8px; box-shadow:0 18px 40px rgba(29,53,87,.22); }
.cam-flyer img{ max-height:620px; width:auto; margin:0 auto; display:block; }
.cam-caption{ font-size:.92rem; color:#5b6b7f; margin-top:.8rem; }
.cam-contact-value{ font-family:var(--cam-serif); font-size:1.3rem; color:var(--cam-navy); }
.wp-block-buttons .is-style-outline .wp-block-button__link{ border-width:2px; }
.cam-sky .cam-portrait img{ max-width:220px; }

@media (max-width:781px){
  .cam-section, .cam-hero{ padding:3rem 1rem; }
  .cam-seal img{ max-width:200px; margin-top:1.5rem; }
}

/* ---- Logo ---- */
.site-branding a.brand img.custom-logo{ width:250px; max-width:250px; height:auto; }
.site-branding .site-title-wrap{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
@media (max-width:1024px){ .site-branding a.brand img.custom-logo{ width:200px; max-width:200px; } }
