/* Tukangpoles.id v4 (dimuat setelah semua CSS lain; disisipkan otomatis oleh tools/layout.js) */

/* ===== 1. Menu: panel samping kanan (HP/tablet) + dropdown (desktop) ===== */
.nav-sub{display:none}
.nav-top,.nav-search,.nav-results,.nav-wa,.nav-overlay{display:none}
.nav-parent::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:8px;margin-top:-3px;transition:transform .2s}
.nav-sub-h{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.nav-sub a{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#d4d4d8;border-radius:8px}
.nav-sub a:hover,.nav-sub a:focus-visible{background:#242424;color:#fff}

@media(max-width:1023px){
  header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;z-index:9990!important}
  .site-nav{display:flex!important;position:fixed!important;top:0!important;right:0!important;left:auto!important;bottom:0!important;width:min(88vw,360px)!important;height:100vh;height:100dvh;max-height:none!important;padding:0!important;gap:0!important;border:0!important;border-left:1px solid #333!important;border-radius:0!important;background:#141414!important;box-shadow:-14px 0 34px rgba(0,0,0,.55)!important;flex-direction:column!important;flex-wrap:nowrap!important;justify-content:flex-start!important;align-items:stretch!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;z-index:2;transform:translateX(105%);visibility:hidden;transition:transform .28s ease,visibility 0s linear .28s}
  .site-nav.is-open{transform:none;visibility:visible;transition:transform .28s ease}
  .nav-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.6);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility 0s linear .28s;z-index:1}
  .site-nav.is-open + .nav-overlay{opacity:1;visibility:visible;transition:opacity .28s ease}
  body:has(.site-nav.is-open){overflow:hidden}

  .nav-top,.nav-search,.nav-list,.nav-results,.nav-wa{flex:none}
  .nav-top{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;position:sticky;top:0;z-index:2;background:#141414;border-bottom:1px solid #2a2a2a}
  .nav-top span{font-weight:800;font-size:1.05rem;color:#fff}
  .nav-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid #fff;border-radius:10px;background:#171717;color:#fff;cursor:pointer;padding:0}
  .nav-search{display:block;position:relative;margin:14px 16px 6px}
  .nav-search svg{position:absolute;left:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:#d4d4d8;pointer-events:none}
  .nav-search input{width:100%;height:48px;border:1px solid #3a3a3a;border-radius:10px;background:#1f1f1f;color:#fff;padding:0 14px 0 42px;font:inherit;font-size:16px}
  .nav-search input::placeholder{color:#a1a1aa}
  .nav-results{display:block;padding:8px 16px}
  .nav-results[hidden],.nav-list[hidden]{display:none}
  .nav-results a{display:flex;flex-direction:column;justify-content:center;min-height:48px;padding:8px 12px;border-radius:10px;color:#fff;font-weight:700}
  .nav-results a small{color:#a1a1aa;font-weight:500;font-size:.78rem}
  .nav-results a:hover{background:#242424}
  .nav-empty{margin:8px 4px;color:#d4d4d8;font-size:.95rem}
  .nav-empty a{display:inline;min-height:0;padding:0;color:#FFA500;text-decoration:underline}

  .nav-list{display:flex;flex-direction:column;padding:6px 8px}
  .nav-list>.nav-link,.nav-group>.nav-link{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:12px 14px;border-radius:10px;font-weight:700;font-size:1rem;color:#fff}
  .nav-list .nav-link.active,.nav-parent[aria-expanded="true"]{color:#FFA500;background:#1f1f1f}
  .nav-parent[aria-expanded="true"]::after{transform:rotate(-135deg);margin-top:3px}
  .nav-group.open>.nav-sub{display:block}
  .nav-sub{margin:2px 6px 8px 22px;padding:2px 0 6px 12px;border-left:2px solid #FFA500}
  .nav-sub-h{display:block;padding:8px 12px 4px}
  .nav-sub a{min-height:44px;padding:8px 12px;font-size:.96rem}
  .nav-wa{display:flex;position:sticky;bottom:16px;z-index:1;align-items:center;justify-content:center;min-height:48px;margin:auto 16px 20px;box-shadow:0 0 0 8px #141414;padding:0 16px;border-radius:10px;background:#FFA500;color:#111;font-weight:800;text-align:center}
  .nav-list{margin-bottom:16px}
}
@media(max-width:1023px) and (prefers-reduced-motion:reduce){.site-nav,.nav-overlay{transition:none!important}}

@media(min-width:1024px){
  .nav-list{display:flex;align-items:center;gap:2px}
  .nav-group{position:relative}
  .nav-parent::after{width:6px;height:6px;margin-left:6px;margin-top:-3px}
  .nav-group:hover>.nav-sub,.nav-group:focus-within>.nav-sub{display:block;position:absolute;top:100%;left:0;min-width:230px;padding:8px;background:#171717;border:1px solid #333;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.4);z-index:30}
  .nav-sub-h{padding:6px 12px 4px}
  .nav-sub a{min-height:40px;padding:8px 12px;font-size:.9rem;white-space:nowrap}
}

/* ===== 2. Layanan Kami: carousel geser di HP ===== */
.tp-svc-dots{display:none}
@media(max-width:700px){
  .tp-svc-grid{display:flex!important;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:16px;margin:0 -16px;padding:28px 16px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .tp-svc-grid::-webkit-scrollbar{display:none}
  .tp-svc-card,.tp-svc-card:nth-child(n+4){flex:0 0 74%!important;max-width:290px;grid-column:auto;scroll-snap-align:start;flex-direction:column!important;align-items:stretch!important;padding:0!important;border-radius:14px!important;position:relative}
  .tp-svc-card .tp-img{flex:none!important;width:100%;height:170px!important;min-height:170px!important;border-radius:0!important}
  .tp-svc-body{position:relative;flex:1;flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;padding:30px 14px 14px!important}
  .tp-ic{position:absolute!important;top:-22px;left:14px;width:44px!important;height:44px!important;flex:none!important;font-size:1.1rem!important;border:3px solid #fff!important;box-shadow:0 3px 10px rgba(0,0,0,.25)!important}
  .tp-svc-txt strong{font-size:1.02rem!important}
  .tp-svc-txt small{font-size:.8rem!important}
  .tp-more{display:flex!important}
  .tp-chev{display:none!important}
  .tp-svc-dots{display:flex;justify-content:center;gap:8px;margin:2px 0 6px}
  .tp-svc-dots i{width:8px;height:8px;border-radius:8px;background:#d4d4d8;transition:width .2s,background .2s}
  .tp-svc-dots i.on{width:24px;background:var(--o,#FFA500)}
}

/* ===== 3. Testimoni: foto profil default akun Google + bintang ===== */
.tm-gav{flex:none;width:44px;height:44px;border-radius:50%;background:#bdc1c6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Crect width='40' height='40' fill='%23bdc1c6'/%3E%3Ccircle cx='20' cy='15.5' r='7' fill='%23fff'/%3E%3Cpath d='M5.5 40c0-9 6.5-14 14.5-14s14.5 5 14.5 14z' fill='%23fff'/%3E%3C/svg%3E") center/cover no-repeat}
.tm-stars{display:flex;gap:3px;margin:12px 0 10px;color:var(--o,#FFA500);font-size:.95rem}
.tm-review{padding:20px}
.tm-review .tm-who{margin-top:0;padding-top:0}
.tm-review p{margin:0}
.tp-review .tp-rv{flex:1;min-width:0;padding:4px}
.tp-review .tm-who{display:flex;align-items:center;gap:12px;margin:0;padding:0}
.tp-review .tm-who b{margin-top:0;font-size:.92rem}
.tp-review .tm-who small{margin-top:2px}
.tp-review .tm-stars{margin:10px 0 8px}

/* ===== 4. Lain-lain ===== */
.tp-calc{scroll-margin-top:84px}
