/*
Theme Name: Jakbar-Theme
Theme URI: https://example.com/
Author: OpenAI
Description: Modern local directory theme for Jakarta Barat, DKI Jakarta.
Version: 1.0.0
Text Domain: jakbar-theme
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
*/
:root{--bg:#ffffff;--bg-alt:#f6f7fb;--text:#18202a;--muted:#6c7785;--line:#e6e8ee;--primary:#1e5eff;--primary-dark:#1546c7;--card:#ffffff;--shadow:0 10px 30px rgba(0,0,0,.08);--container:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}img{max-width:100%;height:auto;display:block}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-dark)}.container{width:min(calc(100% - 32px),var(--container));margin:0 auto}.section{padding:48px 0}.section-alt{background:var(--bg-alt)}.muted{color:var(--muted)}.button,button,input[type=submit]{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;border:none;border-radius:14px;padding:0 20px;min-height:52px;font-weight:600;cursor:pointer;transition:.2s ease}.button:hover,button:hover,input[type=submit]:hover{background:var(--primary-dark);color:#fff}.site-header{position:sticky;top:0;z-index:99;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}.brand{display:flex;align-items:center;gap:12px}.brand img{width:46px;height:46px;border-radius:10px}.brand-text strong{display:block;font-size:1.05rem}.brand-text span{display:block;font-size:.9rem;color:var(--muted)}.menu-toggle{display:none;background:#fff;color:var(--text);border:1px solid var(--line);min-height:44px;padding:0 14px}.menu,.menu ul{list-style:none;margin:0;padding:0}.menu{display:flex;gap:18px;align-items:center}.menu a{color:var(--text);font-weight:600}.hero{position:relative;background-size:cover;background-position:center;padding:76px 0}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,15,33,.45),rgba(8,15,33,.65))}.hero .container{position:relative;z-index:1}.hero-card{background:rgba(255,255,255,.96);border-radius:24px;padding:28px;box-shadow:var(--shadow);max-width:980px}.hero h1{margin:0 0 10px;font-size:clamp(2rem,4vw,3.25rem);line-height:1.1}.hero p{margin:0 0 18px;color:#334155}.hero-search-form{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(220px,1.4fr) auto;gap:12px;align-items:stretch}.hero-search-form select,.hero-search-form input[type=text],.hero-search-form button{min-height:52px;height:52px;width:100%;border-radius:14px;border:1px solid var(--line);padding:0 16px;font-size:1rem}.hero-search-form button{border:none}.selector-box{background:#fff;border:1px solid var(--line);padding:24px;border-radius:20px;box-shadow:var(--shadow)}.selector-box select{width:100%;min-height:52px;border:1px solid var(--line);border-radius:14px;padding:0 16px}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 6px 24px rgba(0,0,0,.05);transition:transform .2s ease, box-shadow .2s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card-media img{width:100%;aspect-ratio:16/10;object-fit:cover}.card-body{padding:16px 16px 18px}.card h3{margin:0 0 8px;font-size:1.08rem;line-height:1.35}.card-tax{margin:0 0 8px;color:var(--primary);font-size:.86rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.breadcrumbs{font-size:.95rem;color:var(--muted);margin-bottom:16px}.archive-header,.single-listing-content,.main-content,.selector-box,.widget,.faq-item{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 6px 24px rgba(0,0,0,.04)}.main-content,.single-listing-content{padding:24px}.detail-list .row{padding:12px 0;border-bottom:1px solid var(--line)}.detail-list .row:last-child{border-bottom:0}.listing-hero-image img,.archive-cover img{width:100%;border-radius:18px;aspect-ratio:16/8;object-fit:cover}.tag-list,.review-grid{display:flex;flex-wrap:wrap;gap:10px}.tag{display:inline-flex;align-items:center;background:#f2f5fb;border:1px solid #dbe5ff;border-radius:999px;padding:8px 12px;font-size:.92rem}.stars{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.star{color:#f6b500;font-size:1.05rem}.faq-list{display:grid;gap:14px}.faq-item{padding:0;overflow:hidden}.faq-item summary{padding:18px 20px;cursor:pointer;font-weight:700}.faq-answer{padding:0 20px 18px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px}.widget{padding:18px;margin-bottom:18px}.widget-title{margin-top:0}.site-footer{margin-top:48px;background:#0f172a;color:#e2e8f0}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;padding:32px 0}.site-footer a{color:#fff}.site-footer .brand-text span,.site-footer .muted{color:#94a3b8}.pagination{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.screen-reader-text{position:absolute;left:-9999px}.back-link{display:inline-block;margin-bottom:16px}.entry-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);margin-bottom:14px}.comment-respond,.comments-area{margin-top:32px}@media (max-width:980px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:1fr}}@media (max-width:768px){.menu-toggle{display:inline-flex}.menu-wrap{display:none;width:100%}.menu-wrap.is-open{display:block}.header-inner{flex-wrap:wrap}.menu{flex-direction:column;align-items:flex-start;padding-top:10px}.hero{padding:54px 0}.hero-card{padding:20px}.hero-search-form{grid-template-columns:1fr}.grid-2,.grid-4,.footer-grid{grid-template-columns:1fr}}@media (max-width:360px){.container{width:min(calc(100% - 20px),var(--container))}.hero-card,.main-content,.single-listing-content,.selector-box,.widget{padding:16px}.hero-search-form select,.hero-search-form input[type=text],.hero-search-form button,.button{min-height:48px;height:48px}}
