/*
Theme Name: Maestro Putra Timur
Theme URI: https://perumahansubsidijepara.com
Author: PT. Jagat Indo Digital
Author URI: https://perumahansubsidijepara.com
Description: Tema custom premium untuk PT. Maestro Putra Timur (Rumah Subsidi Jepara). Desain rounded, responsif, dengan simulasi KPR, post type Proyek, dan pengaturan lewat Customizer. Tema dikembangkan oleh PT. Jagat Indo Digital.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: mpt
*/
:root{--ink:#0B1F1B;--green:#0F3A31;--green2:#16443A;--gold:#C8A864;--gold-d:#8A6A35;--ivory:#F4F0E6;--ivory2:#FBF9F3;--line:#E3DDCE;--mut:#3C4A46;--r:20px;--r-lg:32px;--r-sm:12px;--pad:clamp(20px,5.5vw,80px);--sec:clamp(64px,9vw,120px);--sf:'Cormorant Garamond',Georgia,serif;--sn:'Inter',system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sn);color:var(--ink);background:var(--ivory);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--sf);font-weight:600;line-height:1.08;margin:0}
p{margin:0}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{max-width:1440px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.sec{padding-top:var(--sec);padding-bottom:var(--sec)}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:clamp(32px,5vw,56px)}
.sec-head h2,.h2{font-size:clamp(34px,5vw,56px)}
.eb{display:block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--gold-d);margin-bottom:14px}
.dark .eb,.hero .eb{color:var(--gold)}
.more{font-weight:600;color:var(--gold-d)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 32px;border-radius:999px;font:600 15px var(--sn);border:1px solid transparent;cursor:pointer;transition:transform .2s,background .2s;text-align:center}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-line{border-color:var(--gold);color:var(--gold)}
.btn-dark{background:var(--green);color:var(--ivory)}
/* header */
.site-header{position:absolute;top:0;left:0;right:0;z-index:50;color:var(--ivory)}
.site-header.solid{position:relative;background:var(--ink)}
.hd{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:24px;padding-bottom:24px}
.brand{display:flex;align-items:center;gap:14px}
.brand svg,.brand img{width:48px;height:48px;flex:none}
.brand b{display:block;font:600 25px/1 var(--sf)}
.brand small{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-top:5px}
.nav ul{display:flex;align-items:center;gap:34px;list-style:none;margin:0;padding:0;font-size:15px}
.nav a:hover{color:var(--gold)}
.nav .btn{padding:12px 24px;color:var(--ink)}
.nav .btn:hover{color:var(--ink)}
.burger{display:none;width:48px;height:48px;border-radius:50%;border:1px solid var(--gold);background:transparent;color:var(--gold);cursor:pointer;padding:0}
.burger span{display:block;width:20px;height:2px;background:currentColor;margin:5px auto;transition:.2s}
/* hero */
.hero{position:relative;color:var(--ivory);background:#12332C center/cover no-repeat;min-height:min(860px,100svh);display:flex;align-items:center;border-radius:0 0 var(--r-lg) var(--r-lg);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:var(--ink);opacity:.58}
.hero .wrap{position:relative;width:100%;padding-top:150px;padding-bottom:190px}
.hero h1{font-size:clamp(42px,7.4vw,84px);line-height:1.03;max-width:12ch}
.hero p{font-size:clamp(16px,1.6vw,19px);line-height:1.7;color:#D3DCD8;max-width:34em;margin:26px 0 34px}
.hero .cta{display:flex;flex-wrap:wrap;gap:14px}
/* search */
.search{position:relative;z-index:5;margin:-72px var(--pad) 0;max-width:1280px;background:#fff;border-radius:var(--r-lg);box-shadow:0 28px 56px rgba(11,31,27,.16);display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:20px 20px 20px 12px}
@media(min-width:1440px){.search{margin-left:auto;margin-right:auto}}
.search .f{flex:1 1 200px;display:flex;flex-direction:column;padding:6px 20px;border-right:1px solid var(--line)}
.search .f:last-of-type{border-right:0}
.search label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#4F5A56}
.search select{font:16px var(--sn);border:0;background:transparent;color:var(--ink);min-height:44px;width:100%}
.search .btn{flex:0 0 auto}
/* stats */
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:32px;background:var(--green);color:var(--ivory);border-radius:var(--r-lg);padding:clamp(32px,5vw,64px);margin-top:var(--sec)}
.stats b{display:block;font:600 clamp(34px,4.4vw,56px)/1 var(--sf);color:var(--gold)}
.stats span{font-size:15px;color:#B5C7C1}
/* about */
.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,72px);align-items:center}
.ph{display:flex;align-items:center;justify-content:center;background:#DDD7C8;color:#4F5A56;font-size:12px;letter-spacing:.1em;text-transform:uppercase;text-align:center;border-radius:var(--r)}
.about .ph,.about img{min-height:clamp(280px,40vw,520px);border-radius:var(--r-lg);width:100%;object-fit:cover}
.about p{color:var(--mut);font-size:17px;line-height:1.8;margin:22px 0 26px}
/* cards */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.card{display:flex;flex-direction:column;background:#fff;border-radius:var(--r);overflow:hidden;transition:transform .25s,box-shadow .25s;box-shadow:0 1px 0 var(--line)}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(11,31,27,.12)}
.card .im{aspect-ratio:4/3;width:100%;object-fit:cover;border-radius:0}
.card .ph{aspect-ratio:4/3;border-radius:0}
.card .cb{padding:26px 28px 30px;display:flex;flex-direction:column;gap:10px;flex:1}
.card .loc{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--gold-d)}
.card h3{font-size:clamp(24px,2.4vw,30px);line-height:1.15}
.card p{color:var(--mut);font-size:15px}
.card .price{margin-top:auto;padding-top:10px;font-weight:600;color:var(--green)}
.card .date{font-size:13px;color:#4F5A56}
/* kpr */
.dark{background:var(--ink);color:var(--ivory)}
.kpr{display:grid;grid-template-columns:1.1fr .9fr;border-radius:var(--r-lg);overflow:hidden}
.kpr .in{background:var(--ivory);color:var(--ink);padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;gap:28px}
.kpr .out{background:var(--green);padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;justify-content:center;gap:6px}
.rg{display:flex;flex-direction:column;gap:10px}
.rg .t{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.rg label,.rg .l{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#4F5A56}
.rg input[type=range]{width:100%;accent-color:var(--gold-d);height:28px}
.tenor{display:flex;flex-wrap:wrap;gap:10px}
.tenor button{padding:11px 22px;border-radius:999px;border:1px solid var(--green);background:transparent;color:var(--green);font:600 15px var(--sn);cursor:pointer}
.tenor button.on{background:var(--green);color:var(--ivory)}
.out .pay{font:600 clamp(44px,6vw,76px)/1.05 var(--sf);color:var(--gold);word-break:break-word}
.rw{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #2C5A4F}
.rw span{color:#B5C7C1}
.out small{display:block;font-size:13px;line-height:1.6;color:#B5C7C1;margin:16px 0 22px}
/* banks */
.banks{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.banks .ph,.banks img{width:170px;height:72px;object-fit:contain;background:#fff;border-radius:var(--r-sm);padding:10px}
/* cta */
.cta-band{background:var(--green);color:var(--ivory);border-radius:var(--r-lg);padding:clamp(36px,6vw,96px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:36px}
.cta-band h2{font-size:clamp(34px,5.2vw,64px);max-width:14em}
/* footer */
.site-footer{background:var(--ink);color:#B5C7C1;font-size:14px;margin-top:var(--sec);border-radius:var(--r-lg) var(--r-lg) 0 0;padding-top:clamp(48px,7vw,80px)}
.ft{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.ft h4{font:600 12px var(--sn);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.ft a{display:block;padding:5px 0}
.ft a:hover{color:var(--gold)}
.ft .nm{font:600 32px var(--sf);color:var(--ivory);margin-bottom:12px}
.fb{border-top:1px solid #2C5A4F;margin-top:48px;padding:24px 0 32px;display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between}
.fb .dev{color:var(--gold)}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;width:58px;height:58px;border-radius:50%;background:var(--gold);color:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px rgba(0,0,0,.28)}
/* inner pages */
.page-hero{background:var(--ink);color:var(--ivory);border-radius:0 0 var(--r-lg) var(--r-lg);padding-top:56px;padding-bottom:64px}
.page-hero h1{font-size:clamp(36px,5.5vw,64px);max-width:16em}
.page-hero .eb{color:var(--gold)}
.content{max-width:820px;margin:0 auto;font-size:17px;line-height:1.85;color:#26332F}
.content h2,.content h3{margin:1.6em 0 .6em}
.content img{border-radius:var(--r)}
.content a{color:var(--gold-d);text-decoration:underline}
.specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:0 0 40px}
.specs div{background:#fff;border-radius:var(--r);padding:20px 22px}
.specs small{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#4F5A56;font-weight:600}
.specs b{font:600 28px var(--sf);color:var(--green)}
.cover{border-radius:var(--r-lg);width:100%;max-height:560px;object-fit:cover;margin-bottom:40px}
.pager{display:flex;gap:10px;justify-content:center;margin-top:48px}
.pager .page-numbers{padding:10px 18px;border-radius:999px;background:#fff}
.pager .current{background:var(--green);color:var(--ivory)}
/* responsive */
@media(max-width:1024px){.grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(3,1fr)}.ft{grid-template-columns:1fr 1fr}.kpr{grid-template-columns:1fr}}
@media(max-width:860px){
.burger{display:block}
.nav{position:absolute;top:100%;left:var(--pad);right:var(--pad);background:var(--ink);border:1px solid #2C5A4F;border-radius:var(--r);padding:12px 20px 20px;display:none}
.nav.open{display:block}
.nav ul{flex-direction:column;align-items:stretch;gap:0}
.nav li a{display:block;padding:14px 4px;border-bottom:1px solid #1B3A33}
.nav li:last-child a{border:0;margin-top:14px}
.about{grid-template-columns:1fr}
.search{margin-left:var(--pad);margin-right:var(--pad);border-radius:var(--r)}
.search .f{border-right:0;border-bottom:1px solid var(--line);flex-basis:100%}
.search .f:last-of-type{border-bottom:0}
.search .btn{width:100%}
}
@media(max-width:640px){.grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr);gap:24px}.ft{grid-template-columns:1fr}.hero .wrap{padding-bottom:150px}.brand b{font-size:21px}.hero .btn,.cta-band .btn{width:100%}.banks .ph,.banks img{width:calc(50% - 8px)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.screen-reader-text:focus{position:fixed!important;left:12px;top:12px;width:auto;height:auto;clip:auto;background:#fff;color:var(--ink);padding:12px 18px;border-radius:999px;z-index:100}
.wp-block-image img,.alignwide{border-radius:var(--r)}
