/*
Theme Name: Qurban 1448 H SMKN 1 Stabat Full
Theme URI: https://qurban.smknegeri1stabat.sch.id/
Author: ChatGPT
Description: Theme WordPress lengkap untuk Website Aplikasi Qurban 1448 H Masjid Tarbiyatul Ilmiah SMKN 1 Stabat. Fitur: running text admin, countdown otomatis, jadwal sholat otomatis lokasi, Quran digital, peserta qurban database, kupon, kwitansi, data hewan, laporan distribusi, donatur, checklist, artikel, dan footer kontak.
Version: 3.1.0
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: qurban1448
*/
:root{--green:#047857;--green-dark:#064e3b;--green-soft:#ecfdf5;--mint:#d1fae5;--gold:#f7c948;--gold2:#f59e0b;--text:#14352f;--muted:#5b706b;--white:#fff;--shadow:0 18px 50px rgba(6,78,59,.13);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:linear-gradient(180deg,#f4fff9 0%,#eefcf5 45%,#fff 100%);line-height:1.65}.q-container{width:min(1180px,92vw);margin:auto}.q-topbar{background:var(--green-dark);color:white;overflow:hidden;white-space:nowrap;font-weight:800}.q-marquee{display:inline-block;padding:12px 0;animation:qMarquee 28s linear infinite}@keyframes qMarquee{from{transform:translateX(100vw)}to{transform:translateX(-100%)}}.q-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.87);backdrop-filter:blur(18px);box-shadow:0 8px 30px rgba(0,0,0,.06)}.q-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0}.q-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--green-dark);font-weight:900}.q-logo{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--green),var(--green-dark));color:white;font-size:24px;box-shadow:0 10px 28px rgba(4,120,87,.25)}.q-brand small{display:block;color:var(--muted);font-weight:700;font-size:12px;line-height:1.2}.q-menu{display:flex;gap:8px;align-items:center;overflow-x:auto;max-width:70vw;padding-bottom:2px}.q-menu a{white-space:nowrap;text-decoration:none;color:var(--green-dark);font-weight:800;font-size:14px;padding:10px 14px;border-radius:999px;background:#f0fdf4;border:1px solid #d1fae5}.q-menu a:hover{background:var(--gold);color:#1c321e}.q-admin-mode{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;padding:9px 14px;border-radius:999px;font-weight:900}.q-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 20% 0%,rgba(247,201,72,.45),transparent 30%),linear-gradient(135deg,#065f46 0%,#059669 55%,#34d399 100%);color:white;border-radius:0 0 42px 42px;padding:72px 0 56px}.q-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1px);background-size:26px 26px;opacity:.45}.q-hero .q-container{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}.q-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);padding:10px 14px;font-weight:900}.q-hero h1{font-size:clamp(34px,6vw,72px);line-height:1.02;margin:18px 0 14px;letter-spacing:-2px}.q-hero p{font-size:18px;max-width:650px}.q-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.q-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:16px;padding:13px 18px;text-decoration:none;font-weight:900;cursor:pointer;transition:.2s}.q-btn-primary{background:var(--gold);color:#113c32;box-shadow:0 12px 30px rgba(245,158,11,.22)}.q-btn-secondary{background:white;color:var(--green-dark)}.q-hero-card{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);border-radius:28px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.18)}.q-hero-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.q-stat{background:white;color:var(--green-dark);border-radius:20px;padding:20px;text-align:center}.q-stat strong{display:block;font-size:34px;color:var(--green);line-height:1}.q-section{padding:56px 0}.q-title{text-align:center;margin-bottom:28px}.q-title h2{font-size:clamp(28px,4vw,46px);line-height:1.12;color:var(--green-dark);margin:0}.q-title p{color:var(--muted);margin:10px auto;max-width:680px}.q-grid{display:grid;gap:22px}.q-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.q-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.q-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.q-card{background:white;border:1px solid #e4f8ee;border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.q-card h3{margin:0 0 12px;color:var(--green-dark)}.q-icon{width:48px;height:48px;border-radius:16px;background:#ecfdf5;display:grid;place-items:center;font-size:24px;margin-bottom:14px}.q-countdown{background:linear-gradient(135deg,#22c55e,#86efac);border-radius:32px;padding:32px;color:#0f3d31;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.7)}.q-countdown h2{margin:16px 0 4px;font-size:clamp(28px,4vw,44px)}.q-count-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:26px}.q-count-box{background:white;border-radius:22px;padding:22px;text-align:center;box-shadow:0 12px 32px rgba(6,78,59,.1)}.q-count-box strong{display:block;font-size:38px;color:var(--green-dark);line-height:1}.q-count-box span{font-weight:900;color:#63706a;font-size:13px}.q-prayer-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.q-prayer-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.q-time{background:#effdf6;border:1px solid #bbf7d0;border-radius:18px;padding:16px}.q-time span{display:block;color:#53635d;font-size:13px}.q-time strong{display:block;font-size:24px;color:var(--green);margin-top:6px}.q-small-note{font-size:13px;color:var(--muted);margin-top:12px}.q-quran-box{max-height:340px;overflow:auto;background:#f8fffb;border:1px solid #d1fae5;border-radius:18px;padding:14px}.q-quran-box .ayah{padding:12px;border-bottom:1px dashed #d1fae5}.q-quran-box .arabic{font-size:24px;text-align:right;line-height:2;color:#12352d}.q-select,input,select,textarea{font:inherit}.q-select,.q-form input,.q-form select,.q-form textarea{width:100%;border:1px solid #d1fae5;background:#fbfffd;border-radius:14px;padding:12px 13px;color:#14352f}.q-form label{font-weight:900;color:var(--green-dark);display:block;margin-bottom:6px}.q-form .row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.q-form p{margin:0 0 14px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.q-table{width:100%;border-collapse:collapse;background:white;border-radius:18px;overflow:hidden;min-width:760px}.q-table th,.q-table td{padding:13px 14px;border-bottom:1px solid #e6f7ee;text-align:left}.q-table th{background:#ecfdf5;color:var(--green-dark);font-weight:900}.q-table strong{color:var(--green-dark)}.q-badge{display:inline-block;border-radius:999px;padding:7px 12px;font-weight:900;background:#e7fff4;color:var(--green-dark)}.q-badge.lunas{background:#dcfce7;color:#166534}.q-badge.belum{background:#fef3c7;color:#92400e}.q-info{background:#ecfdf5;border:1px solid #bbf7d0;color:#164e3d;border-radius:18px;padding:16px;margin-bottom:16px}.q-print-area{display:flex;gap:10px;flex-wrap:wrap}.q-articles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.q-article{overflow:hidden;padding:0}.q-article-thumb{height:180px;background:linear-gradient(135deg,#10b981,#f7c948);display:grid;place-items:center;font-size:54px}.q-article-body{padding:22px}.q-article a{text-decoration:none;color:inherit}.q-article h3{font-size:20px}.q-extra-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.q-footer{background:linear-gradient(180deg,#064e3b,#022c22);color:white;padding:56px 0 28px;margin-top:40px}.q-footer h2{font-size:34px;margin:0 0 8px}.q-footer a{color:white}.q-footer-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:22px}.q-footer-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:20px}.bank-logo{display:inline-flex;align-items:center;gap:4px;background:white;border-radius:12px;color:#0f4c81;padding:10px 12px;font-weight:900;margin-bottom:12px}.bank-logo span:first-child{color:#f97316}.q-map{width:100%;height:180px;border:0;border-radius:16px;background:#d1fae5}.q-copy{text-align:center;color:#d1fae5;margin-top:28px;font-size:13px}.q-admin-wrap .q1448-admin-card,.q1448-admin-card{background:#fff;border:1px solid #dfeee7;border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.05);margin-bottom:18px}.q1448-admin-grid{display:grid;grid-template-columns:360px 1fr;gap:20px;align-items:start}.q1448-admin-section{margin-top:22px}.q1448-admin-wrap input,.q1448-admin-wrap textarea,.q1448-admin-wrap select{max-width:100%}.q-single{padding:48px 0}.q-single .q-card{max-width:900px;margin:auto}.q-single h1{font-size:clamp(30px,5vw,52px);color:var(--green-dark);line-height:1.1}.q-single img{max-width:100%;height:auto;border-radius:22px}.q-post-meta{color:var(--muted);font-weight:700}.q-back{margin-top:24px}@media(max-width:900px){.q-hero .q-container,.q-prayer-grid,.q-footer-grid,.q-extra-grid{grid-template-columns:1fr}.q-grid-4,.q-grid-3,.q-articles{grid-template-columns:repeat(2,1fr)}.q-menu{max-width:100%;width:100%;order:3}.q-nav{flex-wrap:wrap}.q1448-admin-grid{grid-template-columns:1fr}}@media(max-width:640px){body{font-size:15px}.q-container{width:94vw}.q-hero{padding:42px 0 34px;border-radius:0 0 28px 28px}.q-hero .q-container{gap:20px}.q-hero h1{letter-spacing:-1px}.q-actions .q-btn{width:100%}.q-hero-card-grid,.q-count-grid,.q-grid-4,.q-grid-3,.q-grid-2,.q-articles,.q-prayer-cards{grid-template-columns:1fr}.q-countdown{padding:22px;border-radius:24px}.q-count-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.q-count-box{padding:18px 10px}.q-count-box strong{font-size:30px}.q-section{padding:38px 0}.q-card{padding:18px;border-radius:20px}.q-form .row{grid-template-columns:1fr}.q-table{font-size:14px;min-width:680px}.q-footer{padding:38px 0 22px}.q-footer h2{font-size:26px}.q-header{position:relative}.q-menu a{font-size:13px;padding:9px 12px}.q-brand{width:100%}.q-admin-mode{font-size:12px}.q-prayer-grid{gap:16px}.q-time{padding:13px}.q-map{height:220px}}@media print{.q-topbar,.q-header,.q-actions,.q-footer,.q-btn,.q-form,.q-info,.q-print-area{display:none!important}body{background:white}.q-card,.q-countdown{box-shadow:none;border:1px solid #ddd}.q-section{padding:10px 0}.q-container{width:100%}}

/* Qurban 1448 H v4: Kupon batch dan Quran 30 Juz */
.q-quran-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.q-quran-controls .q-select:first-child{grid-column:1/-1}.q-quran-heading{font-weight:900;color:var(--green-dark);background:#ecfdf5;border:1px solid #bbf7d0;border-radius:14px;padding:10px 12px;margin-bottom:10px}.q-surah-label{display:inline-block;background:#f0fdf4;border:1px solid #d1fae5;color:var(--green-dark);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:900;margin-bottom:8px}.q-card .q-form+.q-small-note{margin-top:10px}.q-print-area .button,.q-print-area button{margin:2px}.q1448-admin-wrap .q-form label{font-weight:800;color:#064e3b}.q1448-admin-wrap .q-form input,.q1448-admin-wrap .q-form select{width:100%;border:1px solid #cfeadd;border-radius:10px;padding:8px 10px}@media(max-width:640px){.q-quran-controls{grid-template-columns:1fr}.q-quran-controls .q-select:first-child{grid-column:auto}}

.q1448-rundown-row{margin:0}.q1448-rundown-edit-grid{display:grid;grid-template-columns:120px 150px 100px 1.2fr 1fr 90px;gap:10px;align-items:end}.q1448-rundown-edit-grid label{font-weight:700;color:var(--green-dark);font-size:12px}.q1448-rundown-edit-grid input{width:100%;margin-top:4px}@media(max-width:900px){.q1448-rundown-edit-grid{grid-template-columns:1fr}.q1448-rundown-edit-grid button{width:100%}}
