/*
Theme Name: Lighthouse Christian Radio
Theme URI: https://www.lighthouse.radio/
Author: Lighthouse Christian Radio
Description: The Lighthouse one-page website with desktop, phone and iPad views. Pair with the Lighthouse Radio plugin for streams, program guide, listener feedback and holiday campaigns.
Version: 1.0.13
Requires at least: 6.3
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: lighthouse-christian-radio
*/
:root{--lighthouse-blue:#002f6c;--lighthouse-gray:#9a9a9a;--lighthouse-yellow:#ffbb00;--lighthouse-light-blue:#3183e0;--gold:var(--lighthouse-yellow)}
.lcr-page-content{max-width:1040px;margin:auto;padding:48px 32px 64px;line-height:1.75}
.mobile-site .lcr-page-content{max-width:1040px;padding:48px 32px 64px}
.lcr-page-content h1{font-size:clamp(2rem,4vw,3rem);line-height:1.15;margin-bottom:28px;color:#002f6c}
.lcr-page-content h2,.lcr-page-content h3{margin:28px 0 12px;color:#002f6c;line-height:1.25}
.lcr-page-content p{margin:0 0 18px}.lcr-page-content a{color:#002f6c}
.lcr-page-content img{max-width:100%;height:auto}.lcr-post-summary{padding:24px 0;border-bottom:1px solid #dce6ee}
.lcr-plugin-notice{padding:12px 32px;background:#fff5d9;color:#002f6c;border-bottom:2px solid #ffbb00}
.lcr-hero-banner{display:block;max-width:100%;max-height:360px;width:auto;height:auto;object-fit:contain;border-radius:16px;margin:0 0 20px}
.lcr-hero-slide:has(.lcr-hero-banner) h1,.lcr-hero-slide:has(.lcr-hero-banner) h2{font-size:clamp(1.6rem,3vw,2.6rem)!important}
.mobile-app-site #site-menu a[href$="#recently-aired"]{display:none}
.lcr-page-content .wp-block-button__link{background:#002f6c;color:white}
.alignwide{max-width:1200px}.alignfull{width:100%}
@media(max-width:600px){.mobile-site .lcr-page-content{padding:32px 22px 48px}.lcr-hero-banner{max-height:240px}}


.lcr-hero-slides{display:grid}
.lcr-hero-slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s;align-self:center;padding-bottom:8px}
.lcr-hero-slide.is-current{opacity:1;visibility:visible}
#welcome .lcr-hero-slide h1,#welcome .lcr-hero-slide h2{font-size:clamp(1.85rem,4.1vw,3.7rem);font-weight:750;line-height:1.18;letter-spacing:-.025em;color:#fff;margin:0 0 24px}
#welcome .lcr-hero-slide p{max-width:780px;line-height:1.6}
#welcome .lcr-hero-action{display:inline-flex;gap:14px;align-items:center;margin:12px 0 4px;padding:12px 20px;border-radius:9px;background:#ffbb00;color:#002f6c;text-decoration:none;font-size:16px;font-weight:750}
.lcr-hero-controls{display:none;margin:0}
.lcr-hero-dot{appearance:none;display:grid;place-items:center;width:32px;height:40px;padding:0;border:0;background:transparent;cursor:pointer}
.lcr-hero-dot:after{content:"";width:7px;height:7px;border-radius:999px;background:#ffffff66;transition:width .3s,background .3s}
.lcr-hero-dot[aria-pressed="true"]:after{width:23px;background:#ffbb00}
.lcr-hero-pause{border:1px solid #ffffff55;border-radius:999px;background:transparent;color:#fff;padding:8px 14px;margin-left:12px;cursor:pointer;font:inherit;font-size:13px}
.lcr-hero-controls button:focus-visible,.lcr-hero-action:focus-visible{outline:2px solid #ffbb00;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.lcr-hero-slide,.lcr-hero-dot:after{transition:none}}

/* Welcome headline and daily KJV verse are native theme styles. */
#welcome .lcr-hero-slide h1{font-size:clamp(1.233rem,2.733vw,2.467rem)}
#welcome .lcr-scripture-hero h2[data-verse-text]{font-family:Lato,"Avenir Next",Arial,sans-serif;font-size:clamp(1.3rem,2.35vw,1.9rem)!important;font-weight:600;line-height:1.55;letter-spacing:0;color:#fff;max-width:900px;margin:0 0 22px}
#welcome .lcr-scripture-hero .lcr-scripture-reference{font-family:Lato,"Avenir Next",Arial,sans-serif;font-size:1rem;font-weight:700}
@media(max-width:700px){#welcome .lcr-hero-slide h1{font-size:1.233rem}#welcome .lcr-scripture-hero h2[data-verse-text]{font-size:1.3rem!important;line-height:1.5}}

/* Compact announcement typography across every rotating slide. */
#welcome .lcr-hero-slide:not(.lcr-scripture-hero) h1,#welcome .lcr-hero-slide:not(.lcr-scripture-hero) h2{font-size:clamp(1.1rem,2vw,1.85rem);line-height:1.25;margin-bottom:16px}

#welcome .lcr-hero-rotation .lcr-hero-slide:not(.lcr-scripture-hero) h1,#welcome .lcr-hero-rotation .lcr-hero-slide:not(.lcr-scripture-hero) h2{font-size:clamp(1.1rem,2vw,1.85rem)!important;line-height:1.25!important}

/* Holiday presentation stays inside the welcome banner. Player artwork colors remain independent. */
[data-lcr-season="thanksgiving"] #welcome{background:radial-gradient(ellipse at 85% 0,#875b32 0,transparent 62%),#002f6c}
[data-lcr-season="christmas"] #welcome{background:radial-gradient(ellipse at 90% 0,#285c54 0,transparent 68%),linear-gradient(120deg,#002f6c,#183f45)}
[data-lcr-season="christmas"] .lcr-hero-rotation{background-image:radial-gradient(circle at 96% 12%,#ffbb0055 0 2px,transparent 3px),radial-gradient(circle at 85% 40%,#ffffff44 0 1px,transparent 2px),radial-gradient(circle at 97% 77%,#ffbb0044 0 2px,transparent 3px)}
[data-lcr-season="independence"] #welcome,[data-lcr-season="veterans-day"] #welcome{background:radial-gradient(ellipse at 95% 0,#753740 0,transparent 65%),#002f6c}
[data-lcr-season="memorial-day"] #welcome{background:radial-gradient(ellipse at 88% 5%,#4c526e 0,transparent 65%),#002f6c}
[data-lcr-season="labor-day"] #welcome{background:radial-gradient(ellipse at 88% 5%,#236574 0,transparent 65%),#002f6c}
[data-lcr-season="good-friday"] #welcome{background:radial-gradient(ellipse at 88% 5%,#514269 0,transparent 65%),#002f6c}
[data-lcr-season="easter"] #welcome{background:radial-gradient(ellipse at 88% 5%,#456b85 0,transparent 65%),#002f6c}
[data-lcr-season="new-year"] #welcome{background:radial-gradient(ellipse at 88% 5%,#66572b 0,transparent 65%),#002f6c}


.privacy-dialog { width: 760px; max-width: calc(100vw - 32px); max-height: calc(100dvh - 40px); padding: 0; border: 0; border-radius: 18px; background: #fff; color: #173b5e; overflow-y: auto; }
.privacy-heading { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 26px; background: #07326c; color: #fff; border-bottom: 3px solid var(--gold); }
.privacy-heading h2 { font-size: 24px; line-height: 1.3; }
.privacy-heading button { min-width: 44px; min-height: 44px; border: 1px solid #ffffff60; border-radius: 8px; background: transparent; color: #fff; padding: 8px 14px; font-size: 14px; font-weight: 700; }
.privacy-content { padding: 8px 28px 30px; line-height: 1.75; font-size: 16px; overflow-wrap: anywhere; }
.privacy-content h2,.privacy-content h3,.privacy-content h4 { font-size: 19px; line-height: 1.4; margin: 24px 0 12px; color: #07326c; }
.privacy-content p { margin: 16px 0; }
.privacy-content a { color: #165784; }
@media(max-width:680px) {
  .privacy-dialog { width: calc(100vw - 20px); max-width: calc(100vw - 20px); max-height: calc(100dvh - 24px); margin: auto; border-radius: 14px; padding: 0; }
  .privacy-heading { padding: 12px 18px; }
  .privacy-heading h2 { font-size: 21px; }
  .privacy-content { padding: 4px 20px 24px; }
}
