
/* ===== Escova World Map ===== */
.ewm { background:#0a0a0c; color:#fff; padding:90px 24px; box-sizing:border-box;
	font-family:"Manrope","Helvetica Neue",sans-serif; position:relative; }
.ewm-head { max-width:1240px; margin:0 auto 32px; text-align:center; }
.ewm-title { font-family:"Anton",sans-serif; font-size:clamp(34px,5vw,64px); font-weight:400;
	text-transform:uppercase; letter-spacing:.02em; margin:0 0 12px; line-height:1.05; }
.ewm-sub { color:#9a9aa4; font-size:15px; margin:0; }

/* search */
.ewm-search { max-width:520px; margin:0 auto 40px; display:flex; gap:10px; }
.ewm-input { flex:1; background:#141418; border:1px solid rgba(255,255,255,.12); color:#fff;
	border-radius:100px; padding:14px 22px; font-size:14px; font-family:inherit; outline:none;
	transition:border-color .3s; }
.ewm-input::placeholder { color:#6f6f7a; }
.ewm-input:focus { border-color:#E8112D; }
.ewm-btn { background:#E8112D; border:1px solid #E8112D; color:#fff; border-radius:100px;
	padding:14px 30px; font-family:"Anton",sans-serif; font-size:13px; letter-spacing:2px;
	text-transform:uppercase; cursor:pointer; transition:all .3s; }
.ewm-btn:hover { background:#B00A20; border-color:#B00A20; }

/* map */
.ewm-wrap { max-width:1240px; margin:0 auto; position:relative; }
.ewm-mapbox { position:relative; }
.ewm-svg { width:100%; height:460px; display:block; }
.ewm-svg svg, svg.ewm-map { width:100% !important; height:100% !important; }
.ewm-map path { fill:#1c1c22; stroke:rgba(255,255,255,.10); stroke-width:.6;
	transition:fill .25s ease; cursor:pointer; }
.ewm-map path.is-active { fill:#3a1420; }
.ewm-map path.is-active:hover, .ewm-map path:hover { fill:#E8112D; }
.ewm-map path.is-selected { fill:#E8112D; }
.ewm-hint { position:absolute; left:50%; bottom:-6px; transform:translateX(-50%);
	color:#6f6f7a; font-size:11px; letter-spacing:2px; text-transform:uppercase; }

/* panel */
.ewm-panel { position:absolute; right:24px; top:0; width:360px; max-width:88vw;
	background:#141418; border:1px solid rgba(255,255,255,.12); border-radius:18px;
	padding:26px 26px 30px; box-shadow:0 30px 70px rgba(0,0,0,.7);
	opacity:0; visibility:hidden; transform:translateY(10px); transition:all .3s ease; z-index:5; }
.ewm-panel.is-open { opacity:1; visibility:visible; transform:translateY(0); }
.ewm-close { position:absolute; top:12px; right:14px; background:none; border:0; color:#9a9aa4;
	font-size:22px; line-height:1; cursor:pointer; padding:4px 8px; transition:color .3s; }
.ewm-close:hover { color:#fff; }
.ewm-cname { font-family:"Anton",sans-serif; font-size:26px; text-transform:uppercase;
	letter-spacing:1px; margin:0 0 10px; color:#fff; }
.ewm-ccount { display:inline-block; background:#E8112D; color:#fff; font-size:11px;
	font-weight:800; letter-spacing:1.5px; text-transform:uppercase; padding:5px 12px;
	border-radius:100px; margin-bottom:16px; }
.ewm-detail { color:#9a9aa4; font-size:14px; line-height:1.75; white-space:pre-line; }

/* tooltip */
.ewm-tip { position:fixed; background:#E8112D; color:#fff; font-size:12px; font-weight:700;
	letter-spacing:1px; padding:6px 12px; border-radius:8px; pointer-events:none;
	opacity:0; transition:opacity .2s; z-index:99; white-space:nowrap; }
.ewm-tip.is-on { opacity:1; }

/* list bawah */
.ewm-list { max-width:1240px; margin:56px auto 0; display:grid;
	grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:14px; }
.ewm-item { background:#141418; border:1px solid rgba(255,255,255,.09); border-radius:14px;
	padding:16px 18px; cursor:pointer; transition:all .3s; display:flex;
	justify-content:space-between; align-items:center; gap:10px; }
.ewm-item:hover { border-color:rgba(232,17,45,.5); transform:translateY(-3px); }
.ewm-item.is-on { border-color:#E8112D; background:#1a0d11; }
.ewm-iname { font-size:14px; font-weight:600; color:#fff; }
.ewm-icount { font-family:"Anton",sans-serif; font-size:15px; color:#E8112D; }

/* search results */
.ewm-none { color:#6f6f7a; font-size:13px; grid-column:1/-1; text-align:center; padding:16px; }

@media(max-width:921px){
	.ewm { padding:64px 18px; }
	.ewm-svg { height:280px; }
	.ewm-panel { position:static; width:100%; max-width:100%; margin-top:24px;
		opacity:1; visibility:visible; transform:none; display:none; }
	.ewm-panel.is-open { display:block; }
	.ewm-search { flex-direction:column; }
	.ewm-btn { width:100%; }
	.ewm-list { grid-template-columns:1fr 1fr; margin-top:36px; }
}
@media(max-width:520px){
	.ewm-list { grid-template-columns:1fr; }
}

/* ===== OVERRIDE theme (Astra paksa warna gelap) ===== */
.ewm, .ewm * { box-sizing:border-box; }
.ewm h2.ewm-title, h2.ewm-title {
	color:#ffffff !important;
	font-family:"Anton",sans-serif !important;
	font-weight:400 !important;
	text-transform:uppercase !important;
	line-height:1.05 !important;
	margin:0 0 12px !important;
}
.ewm .ewm-sub, p.ewm-sub { color:#9a9aa4 !important; font-size:15px !important; margin:0 !important; }
.ewm .ewm-input, input.ewm-input {
	background:#141418 !important; border:1px solid rgba(255,255,255,.14) !important;
	color:#ffffff !important; border-radius:100px !important; padding:15px 24px !important;
	font-size:14px !important; font-family:"Manrope",sans-serif !important; outline:none !important;
	-webkit-appearance:none !important; width:100% !important;
}
.ewm .ewm-input::placeholder { color:#6f6f7a !important; }
.ewm .ewm-input:focus { border-color:#E8112D !important; }
.ewm .ewm-btn, button.ewm-btn {
	background:#E8112D !important; border:1px solid #E8112D !important; color:#ffffff !important;
	border-radius:100px !important; padding:15px 34px !important;
	font-family:"Anton",sans-serif !important; font-size:14px !important; letter-spacing:2px !important;
	text-transform:uppercase !important; cursor:pointer !important;
	transition:all .3s !important; white-space:nowrap !important;
}
.ewm .ewm-btn:hover { background:#B00A20 !important; border-color:#B00A20 !important; }
.ewm .ewm-hint { color:#6f6f7a !important; }
.ewm .ewm-cname { color:#ffffff !important; font-family:"Anton",sans-serif !important; }
.ewm .ewm-detail { color:#9a9aa4 !important; }
.ewm .ewm-iname { color:#ffffff !important; }
.ewm .ewm-item { background:#141418 !important; border:1px solid rgba(255,255,255,.09) !important; }
.ewm .ewm-item:hover { border-color:rgba(232,17,45,.5) !important; }

/* ==== fix positioning panel ==== */
.ewm-wrap { position:relative !important; }
.ewm-mapbox { position:relative !important; min-height:460px; }
.ewm .ewm-svg { min-height:460px; }
.ewm-svg svg { display:block; width:100% !important; height:460px !important; }
.ewm-panel {
	position:absolute !important; right:24px !important; top:8px !important;
	z-index:20 !important; max-height:88%;
	overflow-y:auto;
}
.ewm-panel.is-open { display:block !important; }
@media(max-width:921px){
	.ewm .ewm-svg, .ewm-mapbox, .ewm-svg svg { min-height:280px !important; height:280px !important; }
}

/* ============================================================
 * Country photo in the detail panel [22 Sep 2026]
 * ============================================================ */
.ewm-photo { margin: 0 0 16px; padding: 0; }
.ewm-photo[hidden] { display: none !important; }
.ewm-photo-img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9;
	object-fit: cover; border-radius: 12px; border: 1px solid rgba(255,255,255,.10);
	background: #0d0d0f; }
.ewm-photo-cap { display: block; margin-top: 8px; font-size: 11.5px; line-height: 1.5;
	letter-spacing: .02em; color: #9a9aa4; text-align: left; }

@media (max-width: 767px) {
	.ewm-panel { width: 100%; max-width: 100%; left: 0; right: 0; }
	.ewm-photo-img { aspect-ratio: 3 / 2; }
}
