/* OGAICE Footer - "Journey" skin. Everything is scoped to .ogj-footer.
   Self-contained: no theme tokens (--oga-*), no remote fonts, no images. */

.ogj-footer{
	all: initial;                       /* theme footer / footer a rules cannot leak in */
	display: block;
	--ogj-ink:#1b1b1b; --ogj-dim:#565656; --ogj-line:#e6e2da;
	--ogj-teal:#0a4a3c; --ogj-teal-hi:#0f6b57; --ogj-laterite:#b5462b; --ogj-gold:#c99a2e;
	background:#ffffff; color:var(--ogj-ink);
	font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Khmer","Khmer OS",sans-serif;
	font-size:15px; line-height:1.55;
	isolation:isolate; contain:layout style;
	clear:both; width:100%; box-sizing:border-box;
}
.ogj-footer *,.ogj-footer *::before,.ogj-footer *::after{ box-sizing:border-box; }

/* Khmer-lattice ribbon */
.ogj-footer .ogj-ribbon{
	display:block; height:10px;
	background:
		linear-gradient(135deg,transparent 45%,var(--ogj-gold) 45% 55%,transparent 55%) 0 0/14px 10px,
		linear-gradient(45deg,transparent 45%,var(--ogj-laterite) 45% 55%,transparent 55%) 0 0/14px 10px,
		var(--ogj-teal);
}
.ogj-footer .ogj-wrap{ display:block; max-width:1180px; margin:0 auto; padding:44px 24px 28px; }

/* four numbered stops on a dotted route */
.ogj-footer .ogj-stops{
	display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 32px; position:relative;
}
.ogj-footer .ogj-stop{ display:block; position:relative; padding-top:26px; margin:0; }
.ogj-footer .ogj-stop::before{                 /* the route line */
	content:""; position:absolute; top:9px; inset-inline:0; height:0;
	border-top:2px dotted var(--ogj-line);
}
.ogj-footer .ogj-stop::after{                  /* the stop dot */
	content:""; position:absolute; top:3px; inset-inline-start:0; width:14px; height:14px;
	border-radius:50%; background:#fff; border:3px solid var(--ogj-laterite);
}
.ogj-footer .ogj-num{
	display:block; font-size:12px; font-weight:700; letter-spacing:.14em; color:var(--ogj-laterite); margin:0 0 4px;
}
.ogj-footer .ogj-title{
	display:block; margin:0; padding:0; font-size:17px; font-weight:700; line-height:1.3;
	color:var(--ogj-teal); font-family:inherit; text-transform:none; letter-spacing:0;
}
.ogj-footer .ogj-note{ display:block; margin:2px 0 12px; padding:0; font-size:13px; color:var(--ogj-dim); }
.ogj-footer .ogj-links{ display:block; list-style:none; margin:0; padding:0; }
.ogj-footer .ogj-links li{ display:block; margin:0; padding:3px 0; list-style:none; }
.ogj-footer .ogj-link{
	color:var(--ogj-ink); text-decoration:none; font-weight:500; background:none; border:0;
	background-image:linear-gradient(var(--ogj-laterite),var(--ogj-laterite)); background-repeat:no-repeat;
	background-position:0 100%; background-size:0 2px; padding-bottom:1px;
	transition:background-size .18s ease,color .18s ease;
}
.ogj-footer .ogj-link:hover{ color:var(--ogj-teal); background-size:100% 2px; text-decoration:none; }
.ogj-footer a:focus-visible,.ogj-footer .ogj-more:focus-visible{
	outline:2px solid var(--ogj-teal-hi); outline-offset:3px; border-radius:3px;
}

/* bottom bar */
.ogj-footer .ogj-bar{
	display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px 32px;
	margin-top:36px; padding-top:22px; border-top:1px solid var(--ogj-line);
}
.ogj-footer .ogj-bar-main{ display:block; flex:1 1 420px; min-width:0; }
.ogj-footer .ogj-copy{ display:flex; align-items:center; gap:10px; margin:0 0 8px; font-size:13.5px; }
.ogj-footer .ogj-mark{
	display:inline-block; width:12px; height:12px; flex:none; transform:rotate(45deg);
	background:var(--ogj-laterite); box-shadow:5px -5px 0 -1px var(--ogj-gold);
}
.ogj-footer .ogj-legal{ display:flex; flex-wrap:wrap; gap:6px 18px; margin:0 0 10px; font-size:14px; }
.ogj-footer .ogj-region,.ogj-footer .ogj-region-more{
	display:block; max-width:68ch; margin:0 0 6px; font-size:13.5px; color:var(--ogj-dim);
}
.ogj-footer .ogj-region-more[hidden]{ display:none; }
.ogj-footer .ogj-more{
	font:inherit; font-weight:700; color:var(--ogj-teal); background:none; border:0; padding:0 0 0 6px;
	cursor:pointer; text-decoration:underline; text-underline-offset:3px;
}
.ogj-footer .ogj-social{ display:flex; flex-wrap:wrap; align-content:flex-start; gap:8px; }
.ogj-footer .ogj-pill{
	display:inline-block; padding:6px 14px; border:1px solid var(--ogj-teal); border-radius:999px;
	color:var(--ogj-teal); font-size:13px; font-weight:600; text-decoration:none;
	transition:background-color .15s ease,color .15s ease;
}
.ogj-footer .ogj-pill:hover{ background:var(--ogj-teal); color:#fff; text-decoration:none; }

@media (max-width:900px){ .ogj-footer .ogj-stops{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:540px){
	.ogj-footer .ogj-wrap{ padding:32px 18px 22px; }
	.ogj-footer .ogj-stops{ grid-template-columns:1fr; gap:22px; }
}
@media (prefers-reduced-motion:reduce){ .ogj-footer .ogj-link,.ogj-footer .ogj-pill{ transition:none; } }
@media (prefers-contrast:more){ .ogj-footer{ --ogj-dim:#2f2f2f; --ogj-line:#888; } }
@media print{
	.ogj-footer .ogj-ribbon,.ogj-footer .ogj-social,.ogj-footer .ogj-more{ display:none !important; }
	.ogj-footer .ogj-region-more[hidden]{ display:block; }
	.ogj-footer .ogj-link{ background:none; }
}
