/*
Theme Name: Church Livestreaming Co.
Theme URI: https://churchlivestreaming.com.au
Author: Launch TV Pty Ltd
Description: Custom WooCommerce theme for churchlivestreaming.com.au — Blackmagic Design & YoloLiv gear for churches.
Version: 1.0.0
Text Domain: church-livestreaming
Requires PHP: 7.4
Requires at least: 6.0
*/

:root{
  --ink: #16302E;
  --teal: #2F6F6B;
  --teal-soft: #3E827D;
  --gold: #C08A2E;
  --gold-soft: #D9A85A;
  --ivory: #F6F3EC;
  --paper: #FFFFFF;
  --stone: #8A8577;
  --stone-line: #DEDACD;
  --rust: #B5502E;
  --radius: 3px;
  --max-width: 1120px;
}

*, *::before, *::after{ box-sizing:border-box; }

body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:'Work Sans', -apple-system, sans-serif;
  line-height:1.55;
  font-size:16px;
}

h1,h2,h3,h4,.serif{
  font-family:'Fraunces', Georgia, serif;
  font-weight:600;
  line-height:1.15;
  margin:0 0 0.5em;
}

a{ color:var(--teal); }
a:hover{ color:var(--teal-soft); }

img{ max-width:100%; height:auto; display:block; }

.wrap{ max-width:var(--max-width); margin:0 auto; padding:0 24px; }

/* ===== Buttons ===== */
.btn{
  display:inline-block;
  background:var(--teal);
  color:var(--ivory);
  font-weight:600;
  font-size:0.95rem;
  padding:13px 24px;
  border-radius:var(--radius);
  text-decoration:none;
  border:none;
  cursor:pointer;
}
.btn:hover{ background:var(--teal-soft); color:var(--ivory); }
.btn-gold{ background:var(--gold); color:var(--ink); }
.btn-gold:hover{ background:var(--gold-soft); color:var(--ink); }
.btn-outline{ background:transparent; border:1px solid var(--ink); color:var(--ink); }

/* ===== Site header ===== */
.site-header{
  background:var(--paper);
  border-bottom:1px solid var(--stone-line);
  padding:18px 0;
}
.site-header .wrap{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.site-logo{ display:flex; align-items:baseline; gap:8px; text-decoration:none; }
.site-logo .w1{ font-family:'Fraunces', serif; font-weight:500; font-style:italic; font-size:1.6rem; color:var(--ink); }
.site-logo .w2{ font-family:'Work Sans', sans-serif; font-weight:600; font-size:0.68rem; color:var(--teal); letter-spacing:0.14em; }

.primary-nav ul{ display:flex; gap:28px; list-style:none; margin:0; padding:0; }
.primary-nav a{ color:var(--ink); text-decoration:none; font-weight:500; font-size:0.95rem; }
.primary-nav a:hover{ color:var(--teal); }

.header-actions{ display:flex; align-items:center; gap:18px; }
.header-actions a{ color:var(--ink); text-decoration:none; }

.nav-toggle{ display:none; background:none; border:none; cursor:pointer; }

@media (max-width:860px){
  .primary-nav{ display:none; }
  .nav-toggle{ display:block; }
}

/* ===== Hero (waveform panel) ===== */
.hero{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  border-bottom:1px solid var(--stone-line);
}
.hero-copy{ padding:64px 40px; }
.hero-copy .eyebrow{ color:var(--gold); font-weight:600; font-size:0.85rem; margin:0 0 14px; }
.hero-copy h1{ font-size:clamp(1.8rem, 3.2vw, 2.6rem); max-width:560px; margin-bottom:16px; }
.hero-copy p{ color:var(--stone); max-width:420px; margin:0 0 28px; font-size:1.05rem; }
.hero-visual{ background:var(--ink); min-height:320px; position:relative; }
.hero-visual svg{ width:100%; height:100%; display:block; }

@media (max-width:860px){
  .hero{ grid-template-columns:1fr; }
  .hero-visual{ min-height:220px; order:-1; }
  .hero-copy{ padding:40px 24px; }
}

/* ===== Category grid ===== */
.section{ padding:64px 0; }
.section-head{ margin-bottom:32px; max-width:560px; }
.section-head h2{ font-size:1.6rem; margin-bottom:8px; }
.section-head p{ color:var(--stone); margin:0; }

.cat-grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:16px; }
.cat-grid .stack{ display:grid; gap:16px; }
.cat-card{
  background:var(--paper);
  border:1px solid var(--stone-line);
  border-radius:var(--radius);
  padding:28px;
  text-decoration:none;
  color:var(--ink);
  display:block;
}
.cat-card.big{ display:flex; flex-direction:column; justify-content:flex-end; min-height:240px; }
.cat-card h3{ font-size:1.15rem; margin-bottom:6px; }
.cat-card p{ color:var(--stone); font-size:0.92rem; margin:0; }

@media (max-width:760px){ .cat-grid{ grid-template-columns:1fr; } }

/* ===== KTV banner ===== */
.ktv-banner{
  display:flex;
  align-items:center;
  gap:22px;
  border:1px solid var(--gold);
  border-radius:var(--radius);
  padding:24px 28px;
  background:var(--paper);
}
.ktv-badge{
  flex-shrink:0; width:60px; height:60px;
  border:1px solid var(--gold);
  display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces',serif; font-weight:600; color:var(--gold); font-size:0.9rem;
}
.ktv-banner-copy p{ margin:0; font-weight:500; }
.ktv-banner-copy span{ display:block; color:var(--stone); font-size:0.88rem; margin-top:3px; }

@media (max-width:600px){ .ktv-banner{ flex-direction:column; align-items:flex-start; } }

/* ===== Products (WooCommerce base styling) ===== */
ul.products{ display:grid !important; grid-template-columns:repeat(3, 1fr); gap:24px; list-style:none; padding:0; margin:0; }
ul.products li.product{
  background:var(--paper);
  border:1px solid var(--stone-line);
  border-radius:var(--radius);
  padding:18px;
}
ul.products li.product img{ border-radius:var(--radius); margin-bottom:12px; }
ul.products li.product .woocommerce-loop-product__title{ font-family:'Fraunces',serif; font-size:1rem; font-weight:600; }
ul.products li.product .price{ color:var(--teal); font-weight:600; }
ul.products li.product .button{
  margin-top:12px; background:var(--teal); color:var(--ivory);
  border-radius:var(--radius); padding:10px 16px; font-size:0.88rem;
}
@media (max-width:860px){ ul.products{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:560px){ ul.products{ grid-template-columns:1fr !important; } }

/* ===== Footer ===== */
.site-footer{ background:var(--ink); color:var(--ivory); padding:48px 0 28px; margin-top:0; }
.site-footer a{ color:var(--ivory); }
.footer-grid{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:32px; margin-bottom:32px; }
.footer-grid h4{ color:var(--gold-soft); font-size:0.85rem; margin-bottom:12px; }
.footer-grid ul{ list-style:none; margin:0; padding:0; }
.footer-grid li{ margin-bottom:8px; font-size:0.92rem; }
.footer-bottom{ border-top:1px solid rgba(246,243,236,0.15); padding-top:20px; font-size:0.82rem; color:var(--stone-line); }
@media (max-width:760px){ .footer-grid{ grid-template-columns:1fr; } }

/* ===== Accessibility ===== */
a:focus-visible, button:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
@media (prefers-reduced-motion: reduce){ *{ animation:none !important; transition:none !important; } }
