/*
Theme Name: Ruang Hati Psikologi
Theme URI: https://ruanghatipsikologi.com
Author: Ruang Hati Psikologi
Author URI: https://ruanghatipsikologi.com
Description: Tema WordPress custom untuk biro psikologi, dibuat menyerupai desain landing page Ruang Hati Psikologi. Mendukung Blog dan formulir pendaftaran konsultasi.
Version: 1.0.8
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ruanghati
*/


*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --red:#C0392B;--red-d:#8B1A1A;--red-s:#E8736A;--red-xs:#FFF0EE;
  --dark:#1A1A2E;--dark2:#2d2d4a;
  --cream:#FDF8F8;--white:#fff;
  --gray:#6B7280;--gray-lt:#F5F5F5;--gray-bd:#E5E7EB;
  --gold:#C9A84C;
  --font-h:'Playfair Display',Georgia,serif;
  --font-b:'Inter',system-ui,sans-serif;
  --r:16px;--r2:24px;
}
html{scroll-behavior:smooth}
body{font-family:var(--font-b);background:var(--white);color:var(--dark);line-height:1.6}

/* NAV */
nav{position:fixed;top:0;width:100%;z-index:200;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(192,57,43,.1);padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:68px}
.nav-logo img{height:44px;width:auto;object-fit:contain}
.nav-links{display:flex;gap:1.6rem;list-style:none}
.nav-links a{text-decoration:none;font-size:.83rem;font-weight:500;color:var(--dark);opacity:.72;transition:opacity .2s,color .2s}
.nav-links a:hover{opacity:1;color:var(--red)}
.nav-cta{background:var(--red);color:#fff;border:none;padding:.55rem 1.3rem;border-radius:100px;font-size:.83rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .2s}
.nav-cta:hover{background:var(--red-d)}
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.nav-hamburger span{display:block;width:24px;height:2px;background:var(--dark);border-radius:2px;transition:all .3s}
.mobile-menu{display:none;position:fixed;top:68px;left:0;right:0;background:#fff;border-bottom:1px solid var(--gray-bd);padding:1rem 2rem 1.5rem;z-index:199;flex-direction:column;gap:.75rem}
.mobile-menu a{text-decoration:none;font-size:.95rem;font-weight:500;color:var(--dark);padding:.5rem 0;border-bottom:1px solid var(--gray-lt)}
.mobile-menu.open{display:flex}

/* HERO */
.hero{min-height:100vh;padding-top:68px;background:var(--cream);display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden;position:relative}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.22;pointer-events:none}
.hero-video-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,247,242,.98) 0%,rgba(250,247,242,.86) 47%,rgba(250,247,242,.48) 100%);z-index:1;pointer-events:none}
.hero-copy,.hero-visual{z-index:2}
@media (prefers-reduced-motion:reduce){.hero-video{display:none}.hero{background-image:url('/wp-content/themes/ruanghati/images/hero-poster.jpg');background-size:cover;background-position:center}}
.hero::before{content:'';position:absolute;top:-80px;right:-80px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(192,57,43,.1) 0%,transparent 70%);pointer-events:none}
.hero-copy{padding:5rem 2.5rem 5rem 6rem}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:1.5rem}
.eyebrow span{width:20px;height:2px;background:var(--red);border-radius:2px}
.hero-title{font-family:var(--font-h);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:700;line-height:1.18;color:var(--dark);margin-bottom:1.25rem}
.hero-title em{font-style:italic;color:var(--red)}
.hero-desc{font-size:1rem;color:var(--gray);max-width:440px;margin-bottom:2.25rem;font-weight:300;line-height:1.8}
.hero-actions{display:flex;gap:.85rem;flex-wrap:wrap}
.btn-primary{background:var(--red);color:#fff;padding:.85rem 1.9rem;border-radius:100px;text-decoration:none;font-weight:600;font-size:.88rem;transition:background .2s,transform .15s;display:inline-flex;align-items:center;gap:8px}
.btn-primary:hover{background:var(--red-d);transform:translateY(-1px)}
.btn-wa{background:#25D366;color:#fff;padding:.85rem 1.9rem;border-radius:100px;text-decoration:none;font-weight:600;font-size:.88rem;transition:background .2s;display:inline-flex;align-items:center;gap:8px}
.btn-wa:hover{background:#1aad54}
.btn-outline{border:2px solid var(--red);color:var(--red);padding:.83rem 1.9rem;border-radius:100px;text-decoration:none;font-weight:600;font-size:.88rem;transition:all .2s}
.btn-outline:hover{background:var(--red);color:#fff}
.hero-visual{display:flex;align-items:center;justify-content:center;padding:4rem;position:relative}
.hero-visual img{width:60%;max-width:280px;object-fit:contain;filter:drop-shadow(0 24px 48px rgba(192,57,43,.2))}
.hero-badge{position:absolute;bottom:5rem;left:0;background:#fff;border-radius:16px;padding:.9rem 1.1rem;box-shadow:0 8px 32px rgba(192,57,43,.15);display:flex;align-items:center;gap:10px;animation:float 3s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.badge-t{font-size:.78rem;font-weight:600;color:var(--dark);line-height:1.3}
.badge-s{font-size:.7rem;color:var(--gray)}

/* STATS */
.stats{background:var(--dark);padding:2.25rem 6rem;display:grid;grid-template-columns:repeat(4,1fr);text-align:center;gap:1rem}
.stat-n{font-family:var(--font-h);font-size:2rem;font-weight:700;color:var(--red-s)}
.stat-l{font-size:.78rem;color:rgba(255,255,255,.6);margin-top:.2rem}

/* SECTION */
section{padding:5.5rem 6rem}
.sec-ey{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:.7rem;display:flex;align-items:center;gap:8px}
.sec-ey::before{content:'';width:18px;height:2px;background:var(--red);border-radius:2px}
.sec-t{font-family:var(--font-h);font-size:clamp(1.7rem,3vw,2.3rem);font-weight:700;color:var(--dark);margin-bottom:.85rem}
.sec-d{font-size:.95rem;color:var(--gray);max-width:540px;line-height:1.78}
.sec-hd{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem}
.link-more{font-size:.83rem;font-weight:600;color:var(--red);text-decoration:none}
.link-more:hover{text-decoration:underline}

/* LAYANAN */
#layanan{background:var(--cream)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.svc-card{background:#fff;border-radius:var(--r2);padding:2rem;border:1px solid rgba(192,57,43,.08);transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}
.svc-card::after{content:'';position:absolute;top:0;left:0;right:0;height:4px;border-radius:var(--r2) var(--r2) 0 0}
.svc-card.c1::after{background:var(--red)}
.svc-card.c2::after{background:var(--red-s)}
.svc-card.c3::after{background:var(--gold)}
.svc-card:hover{transform:translateY(-5px);box-shadow:0 16px 48px rgba(192,57,43,.12)}
.svc-icon{font-size:2rem;margin-bottom:1rem}
.svc-card h3{font-family:var(--font-h);font-size:1.1rem;font-weight:700;color:var(--dark);margin-bottom:.6rem}
.svc-card p{font-size:.84rem;color:var(--gray);line-height:1.72;margin-bottom:1.1rem}
.svc-who{font-size:.78rem;color:var(--red);font-weight:500;margin-bottom:1rem;font-style:italic}
.tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1.25rem}
.tag{font-size:.7rem;font-weight:500;padding:.25rem .65rem;border-radius:100px;background:var(--gray-lt);color:var(--dark)}
.svc-cta{font-size:.8rem;font-weight:600;color:var(--red);text-decoration:none;display:inline-flex;align-items:center;gap:5px}
.svc-cta:hover{text-decoration:underline}

/* TENTANG */
#tentang{background:#fff}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:start;margin-top:3rem}
.about-cards{display:flex;flex-direction:column;gap:1rem}
.ab-card{border:1px solid rgba(192,57,43,.15);border-radius:var(--r);padding:1.4rem;display:flex;gap:1rem;align-items:flex-start;transition:box-shadow .2s}
.ab-card:hover{box-shadow:0 4px 20px rgba(192,57,43,.1)}
.ab-icon{width:42px;height:42px;border-radius:10px;background:var(--red-xs);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.ab-card h4{font-size:.875rem;font-weight:600;color:var(--dark);margin-bottom:.3rem}
.ab-card p{font-size:.81rem;color:var(--gray);line-height:1.62}
.vm-box{background:linear-gradient(135deg,var(--dark) 0%,var(--dark2) 100%);border-radius:var(--r2);padding:2.25rem;color:#fff}
.vm-box h3{font-family:var(--font-h);font-size:1.2rem;margin-bottom:1rem;color:var(--red-s)}
.vm-box p{font-size:.87rem;opacity:.85;line-height:1.8;margin-bottom:1.4rem}
.vm-list{list-style:none;display:flex;flex-direction:column;gap:.65rem}
.vm-list li{font-size:.84rem;opacity:.85;display:flex;gap:9px;align-items:flex-start}
.vm-list li::before{content:'✦';color:var(--red-s);font-size:.65rem;margin-top:4px;flex-shrink:0}
.legal-badge{margin-top:1.5rem;background:rgba(255,255,255,.08);border-radius:10px;padding:.85rem 1rem;font-size:.77rem;opacity:.75;line-height:1.6}

/* TIM PSIKOLOG */
#psikolog{background:var(--cream)}
.psi-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:460px}
.psi-card{background:#fff;border-radius:var(--r2);overflow:hidden;border:1px solid rgba(192,57,43,.08);transition:transform .25s,box-shadow .25s}
.psi-card:hover{transform:translateY(-5px);box-shadow:0 14px 40px rgba(192,57,43,.1)}
.psi-ph{background:linear-gradient(135deg,#ffe0dd,#ffc5c0);aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:3rem;position:relative}
.psi-ph-label{position:absolute;bottom:.6rem;right:.6rem;background:rgba(0,0,0,.45);color:#fff;font-size:.65rem;padding:.2rem .5rem;border-radius:100px}
.psi-info{padding:1.5rem}
.psi-info h3{font-family:var(--font-h);font-size:1rem;font-weight:700;color:var(--dark);margin-bottom:.2rem}
.psi-role{font-size:.76rem;color:var(--red);font-weight:600;margin-bottom:.5rem}
.psi-sipp{font-size:.73rem;color:var(--gray);background:var(--gray-lt);padding:.22rem .6rem;border-radius:100px;display:inline-block;margin-bottom:.75rem}
.psi-info p{font-size:.81rem;color:var(--gray);line-height:1.65;margin-bottom:1rem}
.psi-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.btn-sm{font-size:.76rem;font-weight:600;padding:.45rem .95rem;border-radius:100px;text-decoration:none;transition:all .2s}
.btn-sm-red{background:var(--red);color:#fff}
.btn-sm-red:hover{background:var(--red-d)}
.btn-sm-outline{border:1.5px solid var(--red);color:var(--red)}
.btn-sm-outline:hover{background:var(--red);color:#fff}

/* TESTIMONIAL */
#testimonial{background:#fff}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2.5rem}
.testi-card{background:var(--cream);border-radius:var(--r);padding:1.5rem;border:1px solid rgba(192,57,43,.08)}
.stars{color:#F59E0B;font-size:.9rem;margin-bottom:.75rem;letter-spacing:2px}
.testi-card p{font-size:.84rem;color:var(--dark);line-height:1.72;margin-bottom:1rem;font-style:italic}
.testi-meta{display:flex;align-items:center;gap:.6rem}
.testi-avatar{width:36px;height:36px;border-radius:50%;background:var(--red-xs);display:flex;align-items:center;justify-content:center;font-size:1rem}
.testi-name{font-size:.78rem;font-weight:600;color:var(--dark)}
.testi-src{font-size:.7rem;color:var(--gray)}
.google-link{display:inline-flex;align-items:center;gap:6px;margin-top:2rem;font-size:.8rem;font-weight:500;color:var(--red);text-decoration:none;border:1.5px solid rgba(192,57,43,.3);padding:.5rem 1rem;border-radius:100px;transition:all .2s}
.google-link:hover{background:var(--red);color:#fff;border-color:var(--red)}

/* FAQ */
#faq{background:var(--cream)}
.faq-wrap{max-width:760px;margin-top:2.5rem}
.faq-item{border-bottom:1px solid var(--gray-bd)}
.faq-q{width:100%;background:none;border:none;text-align:left;padding:1.1rem 0;font-family:var(--font-b);font-size:.92rem;font-weight:600;color:var(--dark);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-q:hover{color:var(--red)}
.faq-icon{width:22px;height:22px;border-radius:50%;background:var(--red-xs);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--red);font-size:1rem;line-height:1;transition:transform .25s}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .25s}
.faq-a p{font-size:.85rem;color:var(--gray);line-height:1.75;padding-bottom:1.1rem}
.faq-item.open .faq-a{max-height:300px}
















/* CURHAT BANNER */
.curhat-wrap{padding:0 6rem 5.5rem;background:#fff}
.curhat-banner{background:linear-gradient(135deg,var(--red) 0%,var(--red-d) 100%);border-radius:var(--r2);padding:3rem;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;color:#fff}
.curhat-banner h2{font-family:var(--font-h);font-size:1.7rem;margin-bottom:.65rem}
.curhat-banner p{font-size:.88rem;opacity:.9;line-height:1.72;max-width:500px}
.btn-curhat{background:#fff;color:var(--red);padding:.9rem 2rem;border-radius:100px;text-decoration:none;font-weight:700;font-size:.88rem;white-space:nowrap;transition:transform .2s;flex-shrink:0}
.btn-curhat:hover{transform:scale(1.03)}

/* PENDAFTARAN */
#daftar{background:var(--cream)}
.daftar-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;align-items:start;margin-top:2.5rem}
.steps-list{display:flex;flex-direction:column}
.step{display:flex;gap:1.1rem;padding-bottom:1.75rem;position:relative}
.step:not(:last-child)::before{content:'';position:absolute;left:18px;top:40px;width:2px;height:calc(100% - 16px);background:linear-gradient(to bottom,rgba(192,57,43,.3),transparent)}
.step-n{width:38px;height:38px;border-radius:50%;flex-shrink:0;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.82rem;position:relative;z-index:1}
.step h4{font-size:.9rem;font-weight:600;color:var(--dark);margin-bottom:.3rem}
.step p{font-size:.82rem;color:var(--gray);line-height:1.65}
.form-box{background:#fff;border-radius:var(--r2);padding:2.25rem;border:1px solid rgba(192,57,43,.12)}
.form-box h3{font-family:var(--font-h);font-size:1.2rem;margin-bottom:.4rem;color:var(--dark)}
.form-box .sub{font-size:.81rem;color:var(--gray);margin-bottom:1.5rem;line-height:1.6}
.fg{margin-bottom:.9rem}
.fg label{display:block;font-size:.78rem;font-weight:600;color:var(--dark);margin-bottom:.35rem}
.fg input,.fg select,.fg textarea{width:100%;padding:.7rem .9rem;border-radius:10px;border:1.5px solid var(--gray-bd);font-family:var(--font-b);font-size:.84rem;color:var(--dark);background:#fff;outline:none;transition:border-color .2s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--red)}
.fg textarea{resize:vertical;min-height:75px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.privacy-note{font-size:.73rem;color:var(--gray);margin-bottom:1rem;line-height:1.6;padding:.7rem;background:var(--gray-lt);border-radius:8px}
.submit-btn{width:100%;padding:.9rem;background:var(--red);color:#fff;border:none;border-radius:10px;font-family:var(--font-b);font-size:.88rem;font-weight:600;cursor:pointer;transition:background .2s}
.submit-btn:hover{background:var(--red-d)}
.form-success{display:none;text-align:center;padding:2rem;}
.form-success h4{font-family:var(--font-h);font-size:1.1rem;color:var(--dark);margin-bottom:.5rem}
.form-success p{font-size:.84rem;color:var(--gray);margin-bottom:1.25rem;line-height:1.6}

/* FASILITAS */
#fasilitas{background:#fff}
.fasil-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:2.5rem}
.fasil-card{background:var(--cream);border-radius:var(--r);padding:1.5rem;text-align:center;border:1px solid rgba(192,57,43,.08)}
.fasil-icon{font-size:2rem;margin-bottom:.75rem}
.fasil-card h4{font-size:.85rem;font-weight:600;color:var(--dark);margin-bottom:.3rem}
.fasil-card p{font-size:.78rem;color:var(--gray);line-height:1.6}

/* KONTAK */
#kontak{background:var(--cream)}
.kontak-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:2.5rem}
.kontak-items{display:flex;flex-direction:column;gap:1.5rem}
.ki{display:flex;gap:1rem;align-items:flex-start}
.ki-icon{width:46px;height:46px;border-radius:12px;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}
.ki h4{font-size:.85rem;font-weight:600;color:var(--dark);margin-bottom:.25rem}
.ki p,.ki a{font-size:.82rem;color:var(--gray);line-height:1.65;text-decoration:none}
.ki a:hover{color:var(--red)}
.contact-social-links{display:flex;gap:.75rem;flex-wrap:wrap}
.contact-social-links a{color:var(--red);font-weight:600}
.contact-social-link{width:34px;height:34px;border:1px solid rgba(192,57,43,.35);border-radius:50%;display:inline-flex!important;align-items:center;justify-content:center;font-size:1rem;line-height:1;transition:all .2s}
.contact-social-link:hover{background:var(--red);color:#fff!important;border-color:var(--red);transform:translateY(-2px)}
.map-box{background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid var(--gray-bd);min-height:420px;display:flex;flex-direction:column;color:var(--gray);font-size:.84rem;text-align:center;padding:0}
.map-box iframe{display:block;width:100%;height:300px;border:0;flex:0 0 300px}
.map-caption{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.3rem;padding:1.25rem 1.5rem 1.4rem}
.map-caption strong{font-size:1rem;color:var(--dark)}
.map-caption span{font-size:.9rem;color:var(--gray)}
.map-caption .btn-sm{margin-top:.6rem}
.kontak-cta-box{background:linear-gradient(135deg,var(--dark) 0%,var(--dark2) 100%);border-radius:var(--r2);padding:2rem;margin-top:2rem;text-align:center;color:#fff}
.kontak-cta-box p{font-size:.84rem;opacity:.8;margin-bottom:1.25rem;line-height:1.65}
.kontak-cta-box h3{font-family:var(--font-h);font-size:1.1rem;margin-bottom:.5rem}

/* WHATSAPP WIDGET */
.wa-widget{position:fixed;bottom:1.75rem;right:1.75rem;z-index:300;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}
.wa-bubble{background:#fff;border-radius:16px;padding:1rem 1.15rem;box-shadow:0 8px 32px rgba(0,0,0,.15);max-width:240px;font-size:.8rem;line-height:1.55;color:var(--dark);display:none;border:1px solid var(--gray-bd)}
.wa-bubble.show{display:block}
.wa-bubble strong{display:block;margin-bottom:.25rem;color:var(--dark)}
.wa-btn{width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(37,211,102,.4);cursor:pointer;text-decoration:none;font-size:1.6rem;position:relative;transition:transform .2s}
.wa-btn:hover{transform:scale(1.08)}
.wa-close{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--gray);color:#fff;border:none;cursor:pointer;font-size:.7rem;display:flex;align-items:center;justify-content:center}

/* FOOTER */
footer{background:var(--dark);color:rgba(255,255,255,.65);padding:4rem 6rem 2rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-logo{margin-bottom:1rem}
.footer-logo img{height:40px;width:auto;object-fit:contain;filter:brightness(0) invert(1)}
.footer-tag{font-size:.82rem;line-height:1.7;max-width:250px}
.footer-social{margin-top:1.5rem}
.footer-social h4{font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem}
.social-links{display:flex;gap:.5rem;flex-wrap:wrap}
.social-links a{display:inline-flex;align-items:center;gap:.35rem;color:rgba(255,255,255,.75);text-decoration:none;font-size:.72rem;transition:color .2s}
.social-links a:hover{color:var(--red-s)}
.social-links span{width:25px;height:25px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700}
.social-handle{font-size:.72rem;color:rgba(255,255,255,.45);margin-top:.55rem}
.footer-col h4{font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.9rem}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.footer-col ul li a{text-decoration:none;font-size:.81rem;color:rgba(255,255,255,.55);transition:color .2s}
.footer-col ul li a:hover{color:var(--red-s)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.75rem}
.footer-privacy a{color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s}
.footer-privacy a:hover{color:var(--red-s)}

/* RESPONSIVE */
@media(max-width:1100px){
  section,footer{padding-left:3rem;padding-right:3rem}
  .hero-copy{padding:4rem 2rem 4rem 3rem}
  .stats{padding:2rem 3rem}
  .curhat-wrap{padding:0 3rem 5rem}
  .svc-grid,.testi-grid{grid-template-columns:1fr 1fr}
  .fasil-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
  
  .psi-grid{max-width:100%}
}
@media(max-width:768px){
  .hero{grid-template-columns:1fr}
  .hero-visual{display:none}
  .hero-copy{padding:3rem 2rem}
  .stats{grid-template-columns:1fr 1fr;padding:1.75rem 2rem}
  section{padding:4rem 2rem}
  .svc-grid,.testi-grid,.blog-grid,.psi-grid,.fasil-grid,.about-grid,.kontak-grid,.daftar-grid{grid-template-columns:1fr}
  .nav-links,.nav-cta{display:none}
  .nav-hamburger{display:flex}
  .curhat-banner{grid-template-columns:1fr;text-align:center}
  .curhat-wrap{padding:0 2rem 4rem}
  .footer-grid{grid-template-columns:1fr}
  footer{padding:3rem 2rem 2rem}
  .footer-bottom{flex-direction:column;gap:.75rem;text-align:center}
  .form-row{grid-template-columns:1fr}
  .sec-hd{flex-direction:column;align-items:flex-start;gap:.5rem}
}


/* =========================================================
   TAMBAHAN UNTUK WORDPRESS (blog, halaman, admin bar, dsb)
   ========================================================= */

/* WordPress Admin bar offset supaya nav fixed tidak ketutupan */
body.admin-bar nav{top:32px}
@media screen and (max-width:782px){
  body.admin-bar nav{top:46px}
}

/* Screen reader text (dibutuhkan standar aksesibilitas WordPress) */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}

/* Alignment WordPress default */
.alignleft{float:left;margin:0 1.5rem 1rem 0}
.alignright{float:right;margin:0 0 1rem 1.5rem}
.aligncenter{display:block;margin:0 auto 1rem}
.wp-caption{max-width:100%}
.wp-caption-text{font-size:.78rem;color:var(--gray);text-align:center;margin-top:.4rem}

/* ===== BLOG SECTION (di homepage) ===== */
#blog{background:#fff}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.blog-card{background:var(--cream);border-radius:var(--r2);overflow:hidden;border:1px solid rgba(192,57,43,.08);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-5px);box-shadow:0 14px 40px rgba(192,57,43,.1)}
.blog-thumb{aspect-ratio:16/10;background:linear-gradient(135deg,#ffe0dd,#ffc5c0);display:flex;align-items:center;justify-content:center;font-size:2.4rem;overflow:hidden}
.blog-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.blog-body{padding:1.4rem;display:flex;flex-direction:column;flex:1}
.blog-date{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--red);margin-bottom:.5rem}
.blog-card h3{font-family:var(--font-h);font-size:1.02rem;font-weight:700;color:var(--dark);margin-bottom:.6rem;line-height:1.35}
.blog-card h3 a{color:inherit;text-decoration:none}
.blog-card h3 a:hover{color:var(--red)}
.blog-card p{font-size:.83rem;color:var(--gray);line-height:1.7;margin-bottom:1.1rem;flex:1}
.blog-more{font-size:.8rem;font-weight:600;color:var(--red);text-decoration:none;display:inline-flex;align-items:center;gap:5px}
.blog-more:hover{text-decoration:underline}
.blog-empty{font-size:.88rem;color:var(--gray);margin-top:2rem}

/* ===== HALAMAN ARSIP BLOG PENUH (home.php / archive.php) ===== */
.blog-page-hero{background:var(--cream);padding:9.5rem 6rem 3rem}
.blog-page-hero .sec-ey{margin-bottom:.7rem}
.blog-page-wrap{padding:4rem 6rem 5.5rem}
.blog-list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem}
.wp-pagenavi,.blog-pagination{display:flex;justify-content:center;gap:.5rem;margin-top:3.5rem;flex-wrap:wrap}
.blog-pagination a,.blog-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 .7rem;border-radius:10px;border:1.5px solid var(--gray-bd);color:var(--dark);text-decoration:none;font-size:.82rem;font-weight:600;transition:all .2s}
.blog-pagination a:hover{border-color:var(--red);color:var(--red)}
.blog-pagination .current{background:var(--red);border-color:var(--red);color:#fff}

/* ===== SINGLE POST ===== */
.single-post-hero{background:var(--cream);padding:9.5rem 6rem 3.5rem}
.single-post-hero .sec-ey{margin-bottom:1rem}
.single-post-title{font-family:var(--font-h);font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:700;color:var(--dark);line-height:1.25;max-width:820px;margin-bottom:1.1rem}
.single-post-meta{display:flex;gap:1.2rem;flex-wrap:wrap;font-size:.82rem;color:var(--gray)}
.single-post-meta span{display:inline-flex;align-items:center;gap:6px}
.single-post-thumb{max-width:1100px;margin:0 auto;padding:0 6rem;margin-top:-1.5rem}
.single-post-thumb img{width:100%;border-radius:var(--r2);display:block;box-shadow:0 20px 50px rgba(0,0,0,.12)}
.single-post-body{max-width:760px;margin:3.5rem auto;padding:0 2rem;font-size:.95rem;color:var(--dark);line-height:1.9}
.single-post-body h2{font-family:var(--font-h);font-size:1.5rem;margin:2.2rem 0 1rem;color:var(--dark)}
.single-post-body h3{font-family:var(--font-h);font-size:1.2rem;margin:1.8rem 0 .8rem;color:var(--dark)}
.single-post-body p{margin-bottom:1.2rem}
.single-post-body ul,.single-post-body ol{margin:0 0 1.2rem 1.4rem}
.single-post-body a{color:var(--red)}
.single-post-body blockquote{border-left:4px solid var(--red);padding:.5rem 0 .5rem 1.4rem;color:var(--gray);font-style:italic;margin:1.5rem 0}
.single-post-body img{max-width:100%;border-radius:var(--r);margin:1rem 0}
.single-post-nav{max-width:760px;margin:0 auto 4rem;padding:0 2rem;display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--gray-bd);padding-top:1.5rem}
.single-post-nav a{font-size:.82rem;font-weight:600;color:var(--red);text-decoration:none;max-width:45%}
.single-post-nav a:hover{text-decoration:underline}
.single-post-tags{max-width:760px;margin:0 auto 2rem;padding:0 2rem;display:flex;gap:.4rem;flex-wrap:wrap}

/* ===== HALAMAN GENERIK (page.php: kebijakan privasi, syarat & ketentuan, 404) ===== */
.page-hero{background:var(--cream);padding:9.5rem 6rem 3rem}
.page-body{max-width:820px;margin:3.5rem auto;padding:0 2rem 5rem;font-size:.95rem;color:var(--dark);line-height:1.9}
.page-body h2{font-family:var(--font-h);font-size:1.4rem;margin:2rem 0 .9rem;color:var(--dark)}
.page-body h3{font-family:var(--font-h);font-size:1.15rem;margin:1.6rem 0 .7rem;color:var(--dark)}
.page-body p{margin-bottom:1.1rem}
.page-body ul,.page-body ol{margin:0 0 1.1rem 1.4rem}
.page-body a{color:var(--red)}
.notfound-wrap{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:9rem 2rem 4rem}
.notfound-wrap h1{font-family:var(--font-h);font-size:clamp(3rem,8vw,6rem);color:var(--red);line-height:1}
.notfound-wrap p{color:var(--gray);margin:1rem 0 2rem;max-width:420px}

@media(max-width:1100px){
  .blog-page-hero,.blog-page-wrap,.single-post-hero,.page-hero{padding-left:3rem;padding-right:3rem}
  .single-post-thumb{padding:0 3rem}
  .blog-list-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .blog-grid,.blog-list-grid{grid-template-columns:1fr}
  .blog-page-hero,.blog-page-wrap,.single-post-hero,.page-hero{padding-left:1.25rem;padding-right:1.25rem}
  .single-post-thumb{padding:0 1.25rem}
  .single-post-body,.single-post-nav,.single-post-tags{padding:0 1.25rem}
}
