/*
Theme Name: TruLife Crowd Publishing
Theme URI: https://trulifebooks.com/
Author: TruLife Books LLC
Description: A modern crowd-publishing WordPress theme for book preorder campaigns with YouTube author videos and Ecwid integration.
Version: 1.4.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: trulife-crowd
*/
:root{--tl-navy:#063b63;--tl-navy-dark:#032f50;--tl-green:#008a5b;--tl-green-dark:#00724b;--tl-mint:#e9f7f2;--tl-soft:#f6faf9;--tl-ink:#142333;--tl-muted:#586978;--tl-white:#fff;--tl-border:#dfe8e5;--tl-shadow:0 8px 26px rgba(3,59,99,.10);--tl-radius:12px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--tl-ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{color:var(--tl-navy);text-decoration:none}a:hover{color:var(--tl-green)}img{max-width:100%;height:auto}.tl-wrap{width:min(1240px,calc(100% - 48px));margin-inline:auto}.site-main{min-height:60vh}
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.98);border-bottom:1px solid #edf1f0}.header-inner{min-height:86px;display:flex;align-items:center;gap:30px}.site-branding{flex:0 0 auto}.brand-link{display:block}.custom-logo,.default-logo{display:block;max-height:68px;width:auto}.header-inner nav{margin-left:auto}.primary-menu{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}.primary-menu a{display:block;color:#17212b;font-weight:600;font-size:.95rem;padding:31px 0 25px;border-bottom:3px solid transparent}.primary-menu .current-menu-item>a,.primary-menu a:hover{color:var(--tl-navy);border-bottom-color:var(--tl-navy)}.menu-toggle{display:none;background:var(--tl-navy);color:#fff;border:0;border-radius:5px;padding:9px 13px}.header-cta{white-space:nowrap}
.tl-button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;background:var(--tl-green);color:#fff!important;border:1px solid var(--tl-green);border-radius:5px;padding:13px 24px;font-size:.88rem;font-weight:800;text-transform:uppercase;letter-spacing:.01em;box-shadow:0 5px 14px rgba(0,138,91,.18);transition:.2s ease}.tl-button:hover{background:var(--tl-green-dark);transform:translateY(-1px)}.tl-button--outline{background:#fff;color:var(--tl-green)!important;box-shadow:none}.tl-button--outline:hover{background:var(--tl-green);color:#fff!important}
.tl-home-hero{position:relative;overflow:hidden;padding:38px 0 26px;background:linear-gradient(105deg,#fff 0%,#fff 74%,#edf8f4 74%)}.tl-home-hero:after{content:"";position:absolute;right:-120px;top:45px;width:360px;height:360px;border-radius:50%;background:rgba(0,138,91,.04)}.tl-home-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.18fr .88fr;gap:45px;align-items:center}.home-video-shell{aspect-ratio:16/9;background:#101010;border-radius:13px;overflow:hidden;box-shadow:0 3px 9px rgba(0,0,0,.18)}.home-video-shell iframe{width:100%;height:100%;border:0;display:block}.home-video-placeholder{height:100%;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,var(--tl-navy-dark),var(--tl-green));color:#fff}.video-play{display:grid;place-items:center;width:72px;height:52px;border-radius:15px;background:#f62148;font-size:1.5rem;margin-bottom:18px;padding-left:4px}.home-video-placeholder small{opacity:.8;margin-top:5px}.home-hero-copy h1{font-size:clamp(2.75rem,4.7vw,4.55rem);line-height:1.1;margin:0 0 18px;color:var(--tl-navy);letter-spacing:-.03em}.home-hero-copy h1::first-line{color:var(--tl-navy)}.home-hero-copy p{font-size:1.14rem;line-height:1.55;color:#222;max-width:560px;margin:0 0 24px}
.tl-stats-band{background:linear-gradient(90deg,var(--tl-navy-dark),var(--tl-navy));color:#fff;padding:27px 0}.stats-row{display:grid;grid-template-columns:repeat(4,1fr)}.stat-item{display:grid;grid-template-columns:78px 1fr;align-items:center;gap:17px;padding:0 26px;border-right:1px solid rgba(255,255,255,.34)}.stat-item:first-child{padding-left:0}.stat-item:last-child{border-right:0;padding-right:0}.stat-icon{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--tl-green);font-size:1.45rem;font-weight:800;letter-spacing:-.25em;padding-right:.25em}.stat-item strong{display:block;color:#00a96e;font-size:2.2rem;line-height:1}.stat-item h3{color:#fff;font-size:1rem;margin:6px 0 2px}.stat-item p{margin:0;color:rgba(255,255,255,.9);font-size:.86rem}
.tl-section{padding:26px 0 15px}.featured-section{background:#fff}.tl-section-head{text-align:center;margin:0 auto 26px}.tl-section-head h2{text-transform:uppercase;color:var(--tl-navy);font-size:1.45rem;margin:0;letter-spacing:.01em}.tl-section-head h2:after{content:"";display:block;width:46px;height:3px;background:var(--tl-green);margin:9px auto 0}.campaign-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.campaign-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e0e5e3;border-radius:11px;overflow:hidden;box-shadow:var(--tl-shadow)}.campaign-card__media{display:block;position:relative;aspect-ratio:16/8.2;overflow:hidden;background:#1a1a1a}.campaign-card__image{width:100%;height:100%;object-fit:cover;transition:transform .25s}.campaign-card__media:hover .campaign-card__image{transform:scale(1.035)}.campaign-card__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:rgba(0,0,0,.58);color:#fff;padding-left:3px}.campaign-video-placeholder{display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--tl-navy),var(--tl-green));height:100%}.campaign-card__body{display:flex;flex-direction:column;gap:7px;padding:14px 14px 13px;flex:1}.campaign-card h3{font-size:1.04rem;line-height:1.25;margin:0;color:var(--tl-navy)}.campaign-card__meta{font-size:.77rem}.campaign-card__meta strong{color:var(--tl-green)}.campaign-card__excerpt{font-size:.79rem;line-height:1.45;min-height:50px}.campaign-card__excerpt p{margin:0}.campaign-progress-copy{display:flex;justify-content:space-between;gap:10px;font-size:.76rem;color:var(--tl-navy);margin-top:auto}.campaign-progress-copy strong{color:var(--tl-green)}.tl-progress{height:8px;background:#e6e8e8;border-radius:99px;overflow:hidden}.tl-progress span{display:block;height:100%;background:var(--tl-green);border-radius:99px}.copies-needed,.goal-reached{font-size:.76rem;margin:1px 0}.goal-reached{color:var(--tl-green);font-weight:700}.card-button{width:calc(100% - 28px);margin:5px auto 0;padding:8px 12px;font-size:.72rem}
.idea-cta{margin-top:9px;margin-bottom:35px;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:20px;background:linear-gradient(90deg,#eaf7f2,#f9fcfb);border-radius:10px;padding:13px 32px}.idea-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:#cfeee2;color:var(--tl-green);font-size:1.4rem}.idea-cta h2{font-size:1.28rem;color:var(--tl-navy);margin:0}.idea-cta p{font-size:.85rem;margin:0}
h1,h2,h3,h4{color:var(--tl-navy);line-height:1.2}.entry-content{font-size:1.05rem}.entry-content>*{max-width:800px;margin-left:auto;margin-right:auto}.entry-content>.alignwide{max-width:1240px}.campaign-feature-video{max-width:1040px;margin:0 auto 38px;border-radius:var(--tl-radius);overflow:hidden;background:#0b1018;box-shadow:var(--tl-shadow);aspect-ratio:16/9}.campaign-feature-video iframe{width:100%;height:100%;border:0;display:block}.campaign-video-placeholder{min-height:100%;text-align:center;padding:30px}.campaign-hero{padding:48px 0;background:var(--tl-soft)}.campaign-hero-grid{display:grid;grid-template-columns:minmax(230px,360px) 1fr;gap:46px;align-items:start;max-width:1040px;margin-inline:auto}.campaign-book-cover-wrap{display:flex;justify-content:center}.campaign-cover{max-height:560px;width:auto;object-fit:contain;border-radius:8px;box-shadow:var(--tl-shadow)}.campaign-cover-placeholder{width:min(100%,340px);aspect-ratio:2/3;background:#fff;border:2px dashed var(--tl-border);border-radius:10px;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--tl-muted)}.campaign-panel{background:#fff;border-radius:var(--tl-radius);padding:30px;box-shadow:var(--tl-shadow);position:sticky;top:105px}.campaign-panel h1{font-size:clamp(2.15rem,4vw,3.7rem);margin:.15em 0}.campaign-summary{font-size:1.08rem;color:var(--tl-muted)}.campaign-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.campaign-number{background:var(--tl-soft);padding:14px;border-radius:9px;text-align:center}.campaign-number strong{display:block;font-size:1.25rem;color:var(--tl-navy)}.campaign-status{display:inline-block;background:var(--tl-mint);color:var(--tl-green-dark);border-radius:999px;padding:6px 11px;font-weight:800;font-size:.8rem}.campaign-body{padding:60px 0}.campaign-body-grid{display:grid;grid-template-columns:1fr 330px;gap:45px}.campaign-sidebar{border-left:1px solid var(--tl-border);padding-left:28px}.tl-callout{padding:23px;border-radius:12px;background:var(--tl-navy);color:#fff}.tl-callout h3{color:#fff;margin-top:0}.notice-box{padding:18px;border-left:5px solid var(--tl-green);background:var(--tl-mint)}
.site-footer{background:var(--tl-navy-dark);color:rgba(255,255,255,.82);padding:50px 0 24px;margin-top:35px}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(2,1fr);gap:38px}.site-footer h3,.site-footer h4{color:#fff}.site-footer a{color:#fff}.footer-menu{list-style:none;padding:0;margin:0}.footer-menu li{margin:8px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);margin-top:32px;padding-top:18px;font-size:.88rem}.screen-reader-text{position:absolute;left:-9999px}.pagination{margin:40px 0}
@media(max-width:1050px){.primary-menu{gap:18px}.campaign-grid{grid-template-columns:repeat(2,1fr)}.stats-row{grid-template-columns:repeat(2,1fr);gap:25px}.stat-item:nth-child(2){border-right:0}.stat-item:nth-child(3){padding-left:0}.tl-home-hero-grid{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.header-inner{flex-wrap:wrap;padding:10px 0}.header-inner nav{order:4;width:100%;margin:0}.primary-menu{display:none}.menu-toggle{display:block;margin-left:auto}.primary-menu.is-open{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:5px 0}.primary-menu a{padding:11px 0;border:0}.header-cta{display:none}.tl-home-hero-grid,.campaign-hero-grid,.campaign-body-grid{grid-template-columns:1fr}.home-hero-copy{order:-1}.campaign-panel{position:static}.campaign-sidebar{border-left:0;padding-left:0}.idea-cta{grid-template-columns:58px 1fr}.idea-cta .tl-button{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.tl-wrap{width:min(100% - 28px,1240px)}.tl-home-hero{padding-top:28px}.home-hero-copy h1{font-size:2.55rem}.home-video-placeholder{min-height:210px}.stats-row,.campaign-grid,.campaign-numbers,.footer-grid{grid-template-columns:1fr}.stat-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.25);padding:14px 0}.stat-item:last-child{border-bottom:0}.idea-cta{grid-template-columns:1fr;text-align:center}.idea-icon{margin:auto}.custom-logo,.default-logo{max-height:56px}}
/* PayPal campaign checkout */
.tlb-paypal-checkout{margin-top:18px;padding:20px;border:1px solid #d8e5df;border-radius:12px;background:#fff}.tlb-price{margin-bottom:15px;font-size:1.05rem}.tlb-price strong{font-size:1.5rem;color:#003b63}.tlb-price small{display:block;color:#53636d;margin-top:4px}.tlb-paypal-checkout label{display:block;font-weight:700;margin-bottom:15px}.tlb-qty{width:85px;margin-left:8px;padding:9px;border:1px solid #aebdc4;border-radius:6px}.tlb-paypal-message{margin-top:12px;line-height:1.45}.tlb-paypal-message.success{padding:12px;background:#eaf7f1;color:#006b49;border-radius:8px;font-weight:700}.tlb-paypal-message.error{padding:12px;background:#fff0f0;color:#a51d1d;border-radius:8px}

/* Retail availability after a successful campaign */
.tlb-retailer-buttons{display:grid;gap:12px;margin-top:18px}.tlb-retailer-button{width:100%;text-align:center}.tl-callout--retail{background:var(--tl-green-dark)}
