/*
Theme Name: SewaAlat (Elementor)
Theme URI: https://sewaalat.co.id
Description: Child theme SewaAlat yang memindahkan seluruh layout ke Elementor Pro Theme Builder. Mesin programmatic /sewa/{alat}/{kota}/, schema, sitemap, dan form lead tetap ditangani parent theme.
Author: SewaAlat
Template: sewaalat
Version: 1.0.0
*/

/* ------------------------------------------------------------------
   Container Elementor yang meminjam kelas struktur theme (.hero, .main,
   .side, .sidebox, .content-2col) harus berperilaku seperti <div>/<section>
   biasa milik theme: jaraknya datang dari margin tiap elemen, bukan dari
   flex-gap dan padding bawaan Elementor. Tanpa ini setiap blok dapat
   tambahan 20px gap + 10px padding yang tidak ada di render PHP aslinya.
   Selector .e-con.xxx (0,2,0) sengaja dipakai supaya menang atas .e-con.
------------------------------------------------------------------- */
.e-con.hero,
.e-con.content-2col,
.e-con.main,
.e-con.side,
.e-con.sidebox,
.e-con.sa-datar { --gap: 0px; gap: 0 }

/* Blok yang di theme tidak punya padding sendiri. */
.e-con.main,
.e-con.side,
.e-con.sa-datar { padding: 0 }

/* .content-2col dulunya <section>, jadi padding seksinya dikembalikan. */
.e-con.content-2col { padding: 72px 0 }
@media (max-width: 820px) { .e-con.content-2col { padding: 52px 0 } }

/* Ilustrasi alat di kolom konten. Mengikuti radius & garis milik theme. */
.alatfoto { margin: 0 0 6px }
.alatfoto .alatfoto-img {
  width: 100%; height: auto; display: block;
  border-radius: var(--r); border: 1px solid var(--line);
}
.alatfoto figcaption {
  font-size: 13px; color: var(--muted); margin-top: 10px; line-height: 1.5;
}

/* Di render PHP asli, h2 bersaudara langsung di dalam .main sehingga hanya h2
   PERTAMA yang kena .content-2col h2:first-child{margin-top:0}. Elementor
   membungkus tiap widget, jadi SETIAP h2 jadi :first-child dan semua jarak
   atasnya ikut terhapus. Dikembalikan sesuai theme (40px), kecuali widget
   pertama di kolom konten. */
.content-2col .elementor-element > h2 { margin-top: 40px }
.content-2col .main > .elementor-element:first-child > h2 { margin-top: 0 }

/* Theme tidak pernah memberi margin-bawah pada heading; jaraknya mengandalkan
   margin-atas elemen sesudahnya (.sub, .pricetable, .uses). Paragraf di dalam
   .prose punya margin-top 0, jadi judul menempel ke teksnya. Diberi jarak di
   sini, lalu .sub dinolkan supaya tidak jadi dobel. */
.content-2col .main h2 { margin-bottom: 14px }
.content-2col .main h3 { margin-bottom: 8px }
.content-2col .main .step h3 { margin-bottom: 6px }
.content-2col .main .sub { margin-top: 0 }
.content-2col .main .prose h2 { margin-top: 36px }
.content-2col .main .prose h3 { margin-top: 26px }

/* Baris tautan SEO di footer: separator "·" dibuat lewat :after DI DALAM <a> yang
   white-space:nowrap, sehingga tidak ada satu pun celah pemenggalan baris dan
   deretannya memanjang jauh melewati viewport (3673px pada layar 1920px).
   Akibatnya latar section berhenti di tengah dan sisi kanan halaman kosong.
   Dijadikan flex supaya tiap tautan tetap utuh tapi barisnya bisa wrap. */
.seolinks{display:flex;flex-wrap:wrap;align-items:baseline}

/* Kotak tautan panduan alat di halaman kota */
.panduanbox{border:1px solid var(--line,#e3e6ea);border-radius:12px;padding:18px 20px;background:#fafbfc;margin:22px 0}
.panduanbox p{margin:0 0 12px}

/* Prosa pengantar tiap kategori bisnis di halaman kota */
/* Lebar prosa disejajarkan dengan grid kartu di bawahnya supaya tidak ada
   ruang kosong di kanan. Dipecah dua kolom agar panjang baris tetap sekitar
   70 karakter, bukan 150 seperti kalau satu kolom selebar 1140px. */
.grupintro{max-width:none;margin:2px 0 22px;columns:2;column-gap:40px}
.grupintro h3{margin:18px 0 6px;font-size:1.05rem;break-after:avoid}
.grupintro p{margin:0 0 14px;break-inside:avoid}
.grupintro > *:first-child{margin-top:0}
@media(max-width:820px){.grupintro{columns:1}}



/* ============================================================
   Blok mitra: rental yang melayani {alat} di {kota}
   ============================================================ */
.sam-blok{padding:0;margin:0 0 44px}
.sam-blok h2{font-size:28px}
.sam-blok .sub{margin-bottom:22px}

.sam-list{display:grid;gap:14px}
.sam-kartu{display:flex;gap:18px;align-items:center;justify-content:space-between;
  background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:18px 20px;transition:.15s}
.sam-kartu:hover{border-color:#CBD5E1;box-shadow:var(--shadow)}
.sam-isi{min-width:0}
.sam-kartu h3{font-size:18px;font-weight:800;color:var(--navy)}
.sam-area{font-size:13.5px;color:var(--muted);margin-top:3px}
.sam-unit{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.sam-unit li{font-size:12.5px;font-weight:600;color:#3A4658;background:var(--bg);
  border:1px solid var(--line);border-radius:999px;padding:4px 11px}
.sam-wa{flex:0 0 auto}

.sam-ajakan{font-size:14px;color:var(--muted);margin-top:16px}
.sam-ajakan a{color:var(--green-d);font-weight:700;text-decoration:underline}

@media(max-width:640px){
  .sam-kartu{flex-direction:column;align-items:stretch;gap:14px}
  .sam-wa{width:100%}
  .sam-blok h2{font-size:23px}
}


/* ============================================================
   Direktori blog /blog/ dan hub tautan internal di dalamnya
   ============================================================ */
.bloglist{display:grid;gap:16px;margin-bottom:12px}
.blogitem{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:20px 22px;transition:.15s}
.blogitem:hover{border-color:#CBD5E1;box-shadow:var(--shadow)}
.blogitem h3{font-size:20px;font-weight:800;color:var(--navy);line-height:1.25}
.blogitem h3 a:hover{color:var(--green-d)}
.blogmeta{font-size:13px;color:var(--muted);margin-top:5px}
.blogexc{font-size:15px;color:#3A4658;margin-top:10px}
.bloglink{display:inline-block;margin-top:12px;font-size:14px;font-weight:700;color:var(--green-d)}
.bloglink:hover{text-decoration:underline}

.blogkosong{background:var(--bg);border:1.5px dashed #CBD5E1;border-radius:var(--r);padding:24px;margin-bottom:8px}
.blogkosong h2{font-size:22px;margin-bottom:8px}
.blogkosong p{color:var(--muted);font-size:15.5px;max-width:640px}

.grupgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:22px}
.grupcard{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column}
.grupcard:hover{border-color:#CBD5E1;box-shadow:var(--shadow)}
.grupcard h3{font-size:17px;font-weight:800;color:var(--navy);line-height:1.3}
.grupcard h3 a:hover{color:var(--green-d)}
.grupjml{font-size:12.5px;color:var(--muted);margin-top:4px}
.gruplist{list-style:none;margin:12px 0 0;display:grid;gap:6px}
.gruplist a{font-size:14px;color:#3A4658}
.gruplist a:hover{color:var(--green-d);text-decoration:underline}
.grupall{display:inline-block;margin-top:14px;font-size:13.5px;font-weight:700;color:var(--green-d)}
.grupall:hover{text-decoration:underline}

.kotachips{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.kotachips .chip{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:9px 15px;
  font-size:14px;font-weight:600;color:#3A4658}
.kotachips .chip:hover{border-color:var(--green);color:var(--green-d)}

@media(max-width:860px){
  .grupgrid{grid-template-columns:1fr}
}

/* Artikel tunggal */
.artikelgambar{margin:0 0 26px}
.artikelgambar img{width:100%;height:auto;max-height:420px;object-fit:cover;border-radius:var(--r);display:block}
.artikelgambar figcaption{font-size:12.5px;color:var(--muted);margin-top:9px}
.artikelterkait{margin-top:38px;padding-top:26px;border-top:1px solid var(--line)}
.artikelterkait h2{font-size:22px;margin-bottom:14px}
.artikelterkait ul{list-style:none;display:grid;gap:9px}
.artikelterkait a{font-size:15.5px;font-weight:600;color:var(--navy)}
.artikelterkait a:hover{color:var(--green-d);text-decoration:underline}

/* Rating Google pada kartu mitra */
.sam-rating { margin: 2px 0 6px; font-size: 13.5px; line-height: 1.3; }
.sam-rating a { text-decoration: none; color: inherit; }
.sam-rating a:hover .sam-ul { text-decoration: underline; }
.sam-bintang { color: #F5A623; letter-spacing: 1px; margin-right: 6px; }
.sam-bintang .sam-kosong { color: #D8DCE2; }
.sam-rating b { font-weight: 700; }
.sam-rating .sam-ul { color: #6B7280; margin-left: 4px; }
