/*
Theme Name: TAPP Church
Theme URI: https://tappchurch.org
Author: TAPP Church
Author URI: https://tappchurch.org
Description: A modern, warm WordPress theme designed for TAPP Church. Includes custom post types for Song Lyrics (A-Z), Gallery (photos + YouTube videos), and Ministries. Features 7 pre-built page templates (Home, About, Gallery, Ministries, Lyrics, Donation, Contact). Fully compatible with Elementor page builder. Auto-installs demo content on activation.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tapp-church
Tags: church, ministry, custom-menu, featured-images, theme-options, translation-ready
*/

/* ══════════════════════════════════════════
   CSS VARIABLES
   ══════════════════════════════════════════ */
:root {
  --pri: #1B2A4A;
  --pri-l: #2C3E6B;
  --pri-ll: #3D5A8A;
  --acc: #D4A843;
  --acc-l: #E8C96A;
  --acc-d: #B8922E;
  --warm: #F5E6C8;
  --warm-l: #FDF8F0;
  --txt: #2D2D2D;
  --txt-l: #6B6B6B;
  --white: #FFFFFF;
  --black: #111111;
  --gray: #F4F4F4;
  --bdr: #E0D5C4;
  --sh: 0 4px 24px rgba(27,42,74,.08);
  --sh-lg: 0 12px 48px rgba(27,42,74,.12);
  --r: 12px;
  --r-sm: 8px;
  --r-lg: 20px;
  --ease: all .3s cubic-bezier(.4,0,.2,1);
  --fh: 'DM Serif Display', Georgia, serif;
  --fb: 'Source Sans 3', 'Segoe UI', sans-serif;
  --fa: 'Cormorant Garamond', Georgia, serif;
}

/* ══════════════════════════════════════════
   RESET & BASE
   ══════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--fb);color:var(--txt);background:var(--warm-l);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit;transition:var(--ease)}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-family:var(--fh);color:var(--pri);line-height:1.2;font-weight:400}
h1{font-size:clamp(2.4rem,5vw,3.8rem)}
h2{font-size:clamp(1.9rem,4vw,2.8rem)}
h3{font-size:clamp(1.4rem,3vw,1.9rem)}
h4{font-size:clamp(1.15rem,2vw,1.4rem)}
p{margin-bottom:1rem;color:var(--txt-l)}

/* ══════════════════════════════════════════
   LAYOUT
   ══════════════════════════════════════════ */
.tc-wrap{max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,24px)}
.tc-wrap-wide{max-width:1400px;margin:0 auto;padding:0 clamp(16px,4vw,24px)}
.tc-wrap-narrow{max-width:880px;margin:0 auto;padding:0 clamp(16px,4vw,24px)}

/* ══════════════════════════════════════════
   HEADER
   ══════════════════════════════════════════ */
.tc-header{background:var(--white);position:sticky;top:0;z-index:1000;box-shadow:0 2px 16px rgba(27,42,74,.06);border-bottom:1px solid var(--bdr)}
.tc-header__inner{display:flex;align-items:center;justify-content:space-between;padding:14px clamp(16px,4vw,24px);max-width:1400px;margin:0 auto}

/* Logo */
.tc-logo{display:flex;align-items:center;gap:10px}
.tc-logo__icon{width:44px;height:44px;background:var(--pri);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tc-logo__icon::before{content:'✝';color:var(--acc);font-size:20px;font-weight:700}
.tc-logo__text{font-family:var(--fh);font-size:1.35rem;color:var(--pri);letter-spacing:-.02em}
.tc-logo__text span{color:var(--acc)}

/* Desktop Nav */
.tc-nav__list{display:flex;gap:3px;align-items:center}
.tc-nav__list li a{padding:9px 15px;font-size:.76rem;font-weight:600;color:var(--txt);border-radius:var(--r-sm);transition:var(--ease);letter-spacing:.04em;text-transform:uppercase;display:block}
.tc-nav__list li a:hover,.tc-nav__list li.current-menu-item a,.tc-nav__list li.current_page_item a{background:var(--pri);color:var(--white)}
.tc-nav__list li.menu-item-donate a{background:var(--acc);color:var(--pri);font-weight:700;padding:9px 22px;border-radius:50px}
.tc-nav__list li.menu-item-donate a:hover{background:var(--acc-d);transform:translateY(-2px);box-shadow:0 4px 12px rgba(212,168,67,.4)}

/* Mobile Toggle */
.tc-burger{display:none;flex-direction:column;gap:5px;background:0 0;border:0;cursor:pointer;padding:8px;z-index:1001}
.tc-burger span{display:block;width:26px;height:3px;background:var(--pri);border-radius:3px;transition:var(--ease)}
.tc-burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,6px)}
.tc-burger.open span:nth-child(2){opacity:0}
.tc-burger.open span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}

/* Mobile Menu */
.tc-mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);box-shadow:var(--sh-lg);border-top:1px solid var(--bdr);padding:12px 16px;z-index:999}
.tc-mobile-menu.open{display:block}
.tc-mobile-menu li a{display:block;padding:13px 18px;font-size:.95rem;font-weight:600;color:var(--txt);border-radius:var(--r-sm);margin-bottom:2px;transition:var(--ease)}
.tc-mobile-menu li a:hover,.tc-mobile-menu li.current-menu-item a{background:var(--pri);color:var(--white)}
.tc-mobile-menu li.menu-item-donate a{background:var(--warm);text-align:center;border-radius:50px}

/* ══════════════════════════════════════════
   BUTTONS
   ══════════════════════════════════════════ */
.tc-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border-radius:50px;font-weight:700;font-size:.88rem;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;border:0;transition:var(--ease);font-family:var(--fb);text-align:center;justify-content:center}
.tc-btn--pri{background:var(--acc);color:var(--pri)}
.tc-btn--pri:hover{background:var(--acc-l);transform:translateY(-3px);box-shadow:0 8px 24px rgba(212,168,67,.4)}
.tc-btn--out{background:0 0;color:var(--white);border:2px solid rgba(255,255,255,.4)}
.tc-btn--out:hover{background:var(--white);color:var(--pri);border-color:var(--white)}
.tc-btn--dark{background:var(--pri);color:var(--white)}
.tc-btn--dark:hover{background:var(--pri-l);transform:translateY(-3px);box-shadow:var(--sh-lg)}
.tc-btn--full{width:100%}

/* ══════════════════════════════════════════
   HERO
   ══════════════════════════════════════════ */
.tc-hero{position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,var(--pri) 0%,var(--pri-l) 50%,var(--pri-ll) 100%);overflow:hidden}
.tc-hero::before{content:'';position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="40" fill="none" stroke="rgba(212,168,67,.08)" stroke-width=".5"/><circle cx="50" cy="50" r="30" fill="none" stroke="rgba(212,168,67,.06)" stroke-width=".5"/></svg>') repeat;background-size:200px;animation:tc-bg 20s ease-in-out infinite}
@keyframes tc-bg{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(2deg)}}
.tc-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(to top,var(--warm-l),transparent)}
.tc-hero__inner{position:relative;z-index:2;padding:clamp(40px,8vw,60px) 24px;max-width:800px}
.tc-hero__label{font-family:var(--fa);font-size:clamp(.9rem,2vw,1.15rem);color:var(--acc);letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px;font-style:italic}
.tc-hero h1{color:var(--white);margin-bottom:24px;font-size:clamp(2.5rem,6vw,4.5rem);text-shadow:0 4px 24px rgba(0,0,0,.2)}
.tc-hero p{color:rgba(255,255,255,.85);font-size:clamp(1rem,2vw,1.2rem);max-width:600px;margin:0 auto 36px;line-height:1.8}
.tc-hero__btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ══════════════════════════════════════════
   SECTIONS
   ══════════════════════════════════════════ */
.tc-sec{padding:clamp(50px,8vw,90px) 0}
.tc-sec--white{background:var(--white)}
.tc-sec--warm{background:var(--warm-l)}
.tc-sec--dark{background:var(--pri)}
.tc-sec__hd{text-align:center;margin-bottom:clamp(36px,6vw,56px)}
.tc-sec__label{font-family:var(--fa);font-size:1rem;color:var(--acc-d);letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px;font-style:italic;display:block}
.tc-sec__hd p{max-width:600px;margin:0 auto;font-size:1.05rem}
.tc-sec__line{width:60px;height:3px;background:var(--acc);margin:20px auto;border-radius:3px}

/* ══════════════════════════════════════════
   GRIDS
   ══════════════════════════════════════════ */
.tc-g2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,4vw,32px)}
.tc-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,4vw,32px)}
.tc-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,3vw,24px)}

/* ══════════════════════════════════════════
   SERVICE TIMES
   ══════════════════════════════════════════ */
.tc-svc{text-align:center;padding:clamp(24px,4vw,36px) 20px;background:rgba(255,255,255,.1);border-radius:var(--r);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(10px)}
.tc-svc__day{font-family:var(--fa);font-size:1.05rem;color:var(--acc);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.tc-svc__time{font-family:var(--fh);font-size:clamp(1.3rem,3vw,1.8rem);color:var(--white);margin-bottom:8px}
.tc-svc__name{color:rgba(255,255,255,.6);font-size:.88rem}

/* ══════════════════════════════════════════
   ABOUT / SPLIT LAYOUT
   ══════════════════════════════════════════ */
.tc-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,60px);align-items:center}
.tc-split__img{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg);aspect-ratio:4/5;background:var(--gray);position:relative}
.tc-split__img img{width:100%;height:100%;object-fit:cover}
.tc-split__img::after{content:'';position:absolute;bottom:-12px;right:-12px;width:60%;height:60%;border:3px solid var(--acc);border-radius:var(--r-lg);z-index:-1}
.tc-split__text h2{margin-bottom:20px}
.tc-split__text p{font-size:1.02rem;margin-bottom:14px;line-height:1.8}

/* ══════════════════════════════════════════
   CARDS – MINISTRY
   ══════════════════════════════════════════ */
.tc-mcard{background:var(--white);border-radius:var(--r);padding:clamp(24px,3vw,36px);text-align:center;box-shadow:var(--sh);border:1px solid var(--bdr);transition:var(--ease)}
.tc-mcard:hover{transform:translateY(-8px);box-shadow:var(--sh-lg);border-color:var(--acc)}
.tc-mcard__ico{width:70px;height:70px;background:linear-gradient(135deg,var(--warm),var(--warm-l));border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:1.8rem;border:2px solid var(--acc)}
.tc-mcard h3{margin-bottom:10px;font-size:1.25rem}
.tc-mcard p{font-size:.9rem;line-height:1.7}
.tc-mcard__leader{margin-top:10px;font-weight:600;color:var(--pri);font-size:.86rem}
.tc-mcard__sched{color:var(--acc-d);font-size:.82rem;font-style:italic}

/* ══════════════════════════════════════════
   CARDS – TEAM
   ══════════════════════════════════════════ */
.tc-tcard{text-align:center;background:var(--white);border-radius:var(--r);padding:clamp(22px,3vw,30px) 20px;box-shadow:var(--sh);border:1px solid var(--bdr);transition:var(--ease)}
.tc-tcard:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.tc-tcard__photo{width:100px;height:100px;border-radius:50%;overflow:hidden;margin:0 auto 16px;border:3px solid var(--acc);background:var(--gray)}
.tc-tcard__photo img{width:100%;height:100%;object-fit:cover}
.tc-tcard h4{margin-bottom:3px}
.tc-tcard__role{color:var(--acc-d);font-family:var(--fa);font-style:italic;font-size:.95rem}

/* ══════════════════════════════════════════
   CARDS – GENERIC
   ══════════════════════════════════════════ */
.tc-card{background:var(--white);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);border:1px solid var(--bdr);transition:var(--ease)}
.tc-card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.tc-card__body{padding:clamp(28px,4vw,40px);text-align:center}
.tc-card__body h3{margin-bottom:10px}

/* ══════════════════════════════════════════
   PAGE BANNER
   ══════════════════════════════════════════ */
.tc-banner{background:linear-gradient(135deg,var(--pri),var(--pri-l));padding:clamp(55px,8vw,75px) 0 clamp(40px,6vw,55px);text-align:center;position:relative;overflow:hidden}
.tc-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,rgba(212,168,67,.1),transparent 60%)}
.tc-banner h1{color:var(--white);position:relative;z-index:2}
.tc-banner p{color:rgba(255,255,255,.7);position:relative;z-index:2;font-size:1.08rem;margin-top:10px}
.tc-banner__crumb{position:relative;z-index:2;margin-top:14px;font-size:.88rem;color:rgba(255,255,255,.5)}
.tc-banner__crumb a{color:var(--acc)}

/* ══════════════════════════════════════════
   CTA
   ══════════════════════════════════════════ */
.tc-cta{background:linear-gradient(135deg,var(--pri),var(--pri-l));padding:clamp(50px,8vw,80px) 0;text-align:center;position:relative;overflow:hidden}
.tc-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(212,168,67,.1),transparent 60%)}
.tc-cta h2{color:var(--white);margin-bottom:16px;position:relative;z-index:2}
.tc-cta p{color:rgba(255,255,255,.7);font-size:1.05rem;max-width:500px;margin:0 auto 28px;position:relative;z-index:2}
.tc-cta .tc-btn{position:relative;z-index:2}

/* ══════════════════════════════════════════
   GALLERY
   ══════════════════════════════════════════ */
.tc-gal-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:clamp(28px,5vw,40px);flex-wrap:wrap}
.tc-gal-tab{padding:11px 26px;border-radius:50px;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;border:2px solid var(--bdr);background:var(--white);color:var(--txt);transition:var(--ease);font-family:var(--fb)}
.tc-gal-tab.active,.tc-gal-tab:hover{background:var(--pri);color:var(--white);border-color:var(--pri)}

.tc-gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.tc-gal-item{aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;position:relative;cursor:pointer;background:var(--gray);box-shadow:var(--sh)}
.tc-gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.tc-gal-item:hover img{transform:scale(1.08)}
.tc-gal-item__ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(27,42,74,.8),transparent 50%);opacity:0;transition:var(--ease);display:flex;align-items:flex-end;padding:18px}
.tc-gal-item:hover .tc-gal-item__ov{opacity:1}
.tc-gal-item__ov span{color:var(--white);font-weight:600;font-size:.9rem}

/* Video */
.tc-vid{border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);background:var(--black)}
.tc-vid__wrap{position:relative;padding-bottom:56.25%;height:0}
.tc-vid__wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.tc-vid__info{padding:clamp(14px,2vw,18px);background:var(--white)}
.tc-vid__info h4{margin-bottom:4px;font-size:.95rem}
.tc-vid__info p{font-size:.82rem;margin:0}

/* ══════════════════════════════════════════
   LYRICS
   ══════════════════════════════════════════ */
.tc-lyr-search{max-width:500px;margin:0 auto clamp(24px,4vw,36px);position:relative}
.tc-lyr-search input{width:100%;padding:14px 20px 14px 48px;border-radius:50px;border:2px solid var(--bdr);font-size:.95rem;font-family:var(--fb);transition:var(--ease);background:var(--white)}
.tc-lyr-search input:focus{outline:0;border-color:var(--acc);box-shadow:0 0 0 4px rgba(212,168,67,.15)}
.tc-lyr-search::before{content:'🔍';position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:1.05rem}

.tc-lyr-az{display:flex;flex-wrap:wrap;gap:clamp(4px,1vw,7px);justify-content:center;margin-bottom:clamp(28px,4vw,36px);padding:clamp(12px,2vw,18px);background:var(--white);border-radius:var(--r);box-shadow:var(--sh)}
.tc-lyr-az a{width:clamp(30px,5vw,38px);height:clamp(30px,5vw,38px);display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;font-size:clamp(.7rem,1.5vw,.82rem);color:var(--pri);background:var(--gray);transition:var(--ease);text-decoration:none}
.tc-lyr-az a:hover,.tc-lyr-az a.active{background:var(--pri);color:var(--white)}
.tc-lyr-az a.has-songs{background:var(--warm);border:2px solid var(--acc)}

.tc-lyr-group{margin-bottom:clamp(24px,4vw,36px)}
.tc-lyr-letter{font-family:var(--fh);font-size:clamp(2rem,4vw,2.8rem);color:var(--acc);border-bottom:2px solid var(--bdr);padding-bottom:8px;margin-bottom:16px}
.tc-lyr-list li{padding:13px 18px;border-bottom:1px solid var(--bdr);border-radius:var(--r-sm);transition:var(--ease)}
.tc-lyr-list li:hover{background:var(--warm-l);padding-left:26px}
.tc-lyr-list li a{display:flex;justify-content:space-between;align-items:center;font-weight:600;color:var(--pri);flex-wrap:wrap;gap:8px}
.tc-lyr-artist{font-weight:400!important;color:var(--txt-l)!important;font-size:.85rem}

/* Single lyric */
.tc-lyr-single{background:var(--white);border-radius:var(--r);padding:clamp(28px,4vw,48px);box-shadow:var(--sh);border:1px solid var(--bdr);max-width:800px;margin:0 auto}
.tc-lyr-single__meta{color:var(--txt-l);margin-bottom:28px;font-style:italic;font-family:var(--fa);font-size:1.1rem}
.tc-lyr-single__content{white-space:pre-wrap;line-height:2;font-size:1.02rem;color:var(--txt)}

/* ══════════════════════════════════════════
   DONATION
   ══════════════════════════════════════════ */
.tc-don-wrap{max-width:680px;margin:0 auto}
.tc-don-card{background:var(--white);border-radius:var(--r-lg);padding:clamp(28px,4vw,44px);box-shadow:var(--sh-lg);border:1px solid var(--bdr)}
.tc-don-amts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}
.tc-don-amt{padding:14px;text-align:center;border:2px solid var(--bdr);border-radius:var(--r-sm);font-weight:700;font-size:1.12rem;color:var(--pri);cursor:pointer;transition:var(--ease);background:var(--warm-l)}
.tc-don-amt:hover,.tc-don-amt.active{border-color:var(--acc);background:var(--warm)}
.tc-don-methods{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}
.tc-don-method{flex:1;min-width:70px;padding:12px 8px;text-align:center;border:2px solid var(--bdr);border-radius:var(--r-sm);cursor:pointer;transition:var(--ease);font-weight:600;font-size:.82rem}
.tc-don-method:hover,.tc-don-method.active{border-color:var(--pri);background:var(--pri);color:var(--white)}
.tc-don-info{background:var(--warm-l);border-radius:var(--r);padding:clamp(16px,2vw,22px);border-left:4px solid var(--acc)}
.tc-don-info h4{margin-bottom:6px}
.tc-don-info p{font-size:.88rem;margin:0}

/* ══════════════════════════════════════════
   CONTACT
   ══════════════════════════════════════════ */
.tc-contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,44px);align-items:start}
.tc-ci{display:flex;gap:14px;padding:clamp(16px,2vw,22px);background:var(--white);border-radius:var(--r);box-shadow:var(--sh);margin-bottom:14px;border:1px solid var(--bdr);transition:var(--ease)}
.tc-ci:hover{border-color:var(--acc);transform:translateX(4px)}
.tc-ci__ico{width:46px;height:46px;background:var(--warm);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0;border:2px solid var(--acc)}
.tc-ci__txt h4{margin-bottom:2px;font-size:.92rem}
.tc-ci__txt p{margin:0;font-size:.88rem;color:var(--txt-l);line-height:1.6}
.tc-cf{background:var(--white);border-radius:var(--r-lg);padding:clamp(24px,3vw,36px);box-shadow:var(--sh-lg);border:1px solid var(--bdr)}
.tc-cf h3{margin-bottom:22px}
.tc-fg{margin-bottom:16px}
.tc-fg label{display:block;font-weight:600;margin-bottom:6px;color:var(--pri);font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}
.tc-fg input,.tc-fg textarea,.tc-fg select{width:100%;padding:12px 14px;border:2px solid var(--bdr);border-radius:var(--r-sm);font-size:.92rem;font-family:var(--fb);transition:var(--ease);background:var(--warm-l)}
.tc-fg input:focus,.tc-fg textarea:focus,.tc-fg select:focus{outline:0;border-color:var(--acc);box-shadow:0 0 0 4px rgba(212,168,67,.15);background:var(--white)}
.tc-fg textarea{min-height:120px;resize:vertical}
.tc-frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}

.tc-map{border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);margin-top:clamp(36px,6vw,50px);height:clamp(250px,30vw,380px);background:var(--gray)}
.tc-map iframe{width:100%;height:100%;border:0}

/* ══════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════ */
.tc-footer{background:var(--black);color:rgba(255,255,255,.7);padding:clamp(40px,6vw,56px) 0 0}
.tc-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:clamp(24px,4vw,36px);padding-bottom:clamp(32px,5vw,44px);border-bottom:1px solid rgba(255,255,255,.1)}
.tc-footer h4{color:var(--white);font-size:1.02rem;margin-bottom:16px}
.tc-footer__about p{font-size:.88rem;line-height:1.7;margin-bottom:16px}
.tc-footer__links li{margin-bottom:8px}
.tc-footer__links li a{color:rgba(255,255,255,.6);font-size:.88rem;transition:var(--ease)}
.tc-footer__links li a:hover{color:var(--acc);padding-left:4px}
.tc-footer__social{display:flex;gap:8px;margin-top:14px}
.tc-footer__social a{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border-radius:50%;color:var(--white);font-size:.8rem;font-weight:700;transition:var(--ease)}
.tc-footer__social a:hover{background:var(--acc);color:var(--pri)}
.tc-footer__bottom{text-align:center;padding:20px 0;font-size:.8rem;color:rgba(255,255,255,.35)}

/* ══════════════════════════════════════════
   WORDPRESS DEFAULTS
   ══════════════════════════════════════════ */
.alignleft{float:left;margin:0 20px 20px 0}
.alignright{float:right;margin:0 0 20px 20px}
.aligncenter{display:block;margin:0 auto 20px}
.wp-caption{max-width:100%}
.wp-caption-text{font-size:.85rem;color:var(--txt-l)}
.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important}

/* Elementor compat */
.elementor-page .tc-banner{display:none}
.elementor-page .site-main{padding:0}
body.elementor-default .site-main{padding:0}

/* ══════════════════════════════════════════
   ANIMATION
   ══════════════════════════════════════════ */
.tc-anim{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.tc-anim.tc-visible{opacity:1;transform:translateY(0)}

/* Lightbox */
.tc-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:10000;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:clamp(20px,4vw,40px)}
.tc-lightbox img{max-width:92%;max-height:90vh;border-radius:var(--r);box-shadow:0 0 60px rgba(0,0,0,.5)}
.tc-lightbox__close{position:absolute;top:20px;right:28px;color:#fff;font-size:2.2rem;cursor:pointer;z-index:10001;line-height:1}

/* ══════════════════════════════════════════
   RESPONSIVE — TABLET (≤1024)
   ══════════════════════════════════════════ */
@media(max-width:1024px){
  .tc-g3{grid-template-columns:repeat(2,1fr)}
  .tc-g4{grid-template-columns:repeat(2,1fr)}
  .tc-footer__grid{grid-template-columns:repeat(2,1fr)}
}

/* ══════════════════════════════════════════
   RESPONSIVE — MOBILE (≤768)
   ══════════════════════════════════════════ */
@media(max-width:768px){
  .tc-burger{display:flex}
  .tc-nav__list{display:none}
  .tc-hero{min-height:72vh}
  .tc-split{grid-template-columns:1fr}
  .tc-split__img{aspect-ratio:16/10}
  .tc-g2,.tc-g3,.tc-g4{grid-template-columns:1fr}
  .tc-contact{grid-template-columns:1fr}
  .tc-frow{grid-template-columns:1fr}
  .tc-footer__grid{grid-template-columns:1fr}
  .tc-don-amts{grid-template-columns:repeat(2,1fr)}
  .tc-don-methods{flex-wrap:wrap}
  .tc-don-method{min-width:calc(50% - 6px)}
  .tc-logo__icon{width:38px;height:38px}
  .tc-logo__icon::before{font-size:17px}
  .tc-logo__text{font-size:1.15rem}
}

/* ══════════════════════════════════════════
   RESPONSIVE — SMALL MOBILE (≤480)
   ══════════════════════════════════════════ */
@media(max-width:480px){
  .tc-hero__btns{flex-direction:column;align-items:center}
  .tc-hero__btns .tc-btn{width:100%;max-width:280px}
  .tc-gal-grid{grid-template-columns:1fr}
}
