/* Header, nav and footer: same identity as geosainsterapan.id (banner artwork, yellow nav, near-black footer),
   with cleaner spacing and typography. */

/* Header: banner image comes from an inline rule; logo sits on the left */
.pkp_structure_head { background-color: #fff; border-bottom: 0; }
.pkp_head_wrapper { background: transparent; }
.pkp_site_name { padding-top: 1rem; padding-bottom: .75rem; }
.pkp_site_name > a { display: inline-block; }
.pkp_site_name .is_img img { max-height: 90px; width: auto; height: auto; }
.pkp_site_name .is_text { font-size: 1.9rem; font-weight: 800; letter-spacing: -.02em; color: var(--gm-ink); }

/* Nav: see the Navigation section at the end of this file */
.pkp_navigation_primary_row, .pkp_navigation_primary_wrapper { background: transparent; }
.pkp_navigation_primary_row::before { display: none; }

.pkp_navigation_user > li > a { color: var(--gm-ink); font-size: .8rem; font-weight: 600; }
.pkp_navigation_user > li > a:hover { color: var(--gm-ink); text-decoration: underline; }

.pkp_structure_content { background: #fff; box-shadow: 0 0 14px -2px rgba(0,0,0,.35); }
/* Buttons, links, form buttons: left to the journal's custom styleSheet.css */

/* The custom stylesheet pads .description for the default theme's floated cover; not needed with the book layout */
.pkp_op_view .issue_view .description,
.pkp_op_archive .issue_card .description,
.book__page-content .description { padding: 0 !important; text-align: left; }
.issue_card .description { text-align: center; }


/* Homepage about + current issue spacing */
.homepage_about { padding: 1.5rem 0; border-bottom: 1px solid var(--gm-line); }
.homepage_about p { text-align: left; max-width: 80ch; }
.current_issue { padding-top: 1.5rem; }
.pkp_structure_main .current_issue .read_more { font-weight: 700; color: var(--gm-ink); border-bottom: 3px solid var(--gm-yellow); text-decoration: none; }

/* ---------- Footer ---------- */
.pkp_structure_footer_wrapper { background: var(--gm-ink); color: #ededed; margin-top: 3rem; }
.gm_footer { width: var(--gm-wrap); margin: 0 auto; padding: 3rem 0 1.5rem; }
.gm_footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2rem 3rem; }
.gm_footer h3 { color: var(--gm-yellow); font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 1rem; }
.gm_footer__name { color: #fff; font-size: 1.25rem; font-weight: 800; margin: 0 0 .6rem; letter-spacing: -.01em; }
.gm_footer p { margin: 0; color: #bdbdbd; line-height: 1.65; max-width: 46ch; font-size: .92rem; text-align: left; }
.gm_footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.gm_footer a { color: #fff; text-decoration: none; font-size: .92rem; }
.gm_footer a:hover { color: var(--gm-yellow); }
.gm_footer__content { color: #bdbdbd; font-size: .9rem; }
.gm_footer__content a { color: var(--gm-yellow); }
.gm_footer__bar { margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.14); display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: center; font-size: .82rem; color: #9a9a9a; }
.gm_footer__bar img { height: 34px; width: auto; filter: invert(1) brightness(1.6); opacity: .85; }
.gm_footer__bar a:hover img { opacity: 1; }
.gm_footer__stripe { height: 5px; background: var(--gm-yellow); }

@media (max-width: 800px) {
	.gm_footer__grid { grid-template-columns: 1fr; }
}

html, body, .pkp_structure_page { overflow-x: clip; }
.pkp_structure_main .current_issue .read_more:hover { color: var(--gm-accent); }

/* Header wrapper follows the same container width as the page */
.pkp_structure_head .pkp_head_wrapper { width: var(--gm-wrap); max-width: none; }
.pkp_structure_head .pkp_navigation_user_wrapper { width: var(--gm-wrap); box-sizing: border-box; left: 0; right: 0; margin-left: auto; margin-right: auto; transform: none; }
.pkp_structure_head .pkp_navigation_user { width: 100%; max-width: none; }
.pkp_structure_head .pkp_navigation_primary_wrapper, .pkp_structure_head .pkp_site_name_wrapper { width: 100%; max-width: none; }

/* Flat page: no boxed container or shadow (overrides the custom stylesheet's card + pattern) */
body .pkp_structure_page { background: #fff !important; }
body .pkp_structure_content { background: transparent !important; box-shadow: none !important; }
body .pkp_structure_footer_wrapper { margin-top: 2rem; }

/* ---------- Footer spacing (journal footer markup) ---------- */
.pkp_structure_footer_wrapper { padding: 0; }
.pkp_structure_footer_wrapper .pkp_structure_footer { width: var(--gm-wrap); max-width: none; margin: 0 auto; padding: 3.5rem 0 3rem; }
.pkp_structure_footer .footer_content_ui { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.1fr); gap: 2.5rem 3rem; align-items: start; margin: 0; }
.pkp_structure_footer .footer_content_ui > div { flex: none; padding: 0; margin: 0; text-align: left; font-size: .9rem; line-height: 1.75; }
.pkp_structure_footer .footer_content_ui h2 { margin: 0 0 1rem; padding: 0; color: var(--gm-yellow); font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.pkp_structure_footer .footer_content_ui a { font-size: .9rem; line-height: 1.75; }
.pkp_structure_footer .footer_content_col_1 a { color: #ededed; }
.pkp_structure_footer .footer_content_col_1 a:hover, .pkp_structure_footer .footer_content_col_2 a:hover { color: var(--gm-yellow); }
.pkp_structure_footer .footer_content_col_2 a { display: inline-block; margin-bottom: .3rem; }
.pkp_structure_footer .footer_content_ui > .footer_content_col_4 { justify-self: start; padding: 1.4rem 1.5rem; border-radius: 12px; font-size: .8rem; line-height: 1.6; text-align: left; }
.pkp_structure_footer .footer_content_col_4 a { color: #1a1a1a; font-size: .8rem; display: inline-block; margin-top: .6rem; font-weight: 600; }
.pkp_structure_footer .footer_content_col_4 a:hover { text-decoration: underline; }

@media (max-width: 1000px) {
	.pkp_structure_footer .footer_content_ui { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
@media (max-width: 600px) {
	.pkp_structure_footer .footer_content_ui { grid-template-columns: 1fr; }
	.pkp_structure_footer_wrapper .pkp_structure_footer { padding: 2.5rem 0 2rem; }
}

/* ---------- Mobile header: logo in flow, toggle on the left ---------- */
@media (max-width: 991px) {
	.pkp_structure_head .pkp_head_wrapper, .pkp_structure_head .pkp_site_name_wrapper { width: 100%; padding: 0; }
	.pkp_structure_head .pkp_site_name_wrapper { min-height: 150px; display: flex; align-items: flex-end; box-sizing: border-box; }
	.pkp_structure_head .pkp_site_name { position: static; padding: 3.2rem 1rem .9rem 1rem; width: auto; max-width: 100%; }
	.pkp_structure_head .pkp_site_name .is_img img { max-height: 64px; width: auto; max-width: 100%; }
	.pkp_structure_head .pkp_site_name .is_text { font-size: 1.4rem; }
	.pkp_structure_head .pkp_site_nav_toggle { background: var(--gm-yellow); border-radius: 0 0 10px 0; }
	.pkp_structure_head .pkp_navigation_primary_row::before { display: none; }
	.pkp_structure_head .pkp_navigation_user_wrapper { position: static; width: 100%; transform: none; }
}
@media (max-width: 560px) {
	.home_section { padding-top: 2.5rem; }
	.home_title { max-width: none; }
	.home_intro__desc { font-size: 1rem; }
	.home_btn { padding: .75rem 1.2rem; }
	.shelf_hero h1 { font-size: 1.7rem; }
}

/* Yellow nav bar lives on the <nav> element, as on the live site */
.pkp_structure_head .pkp_site_nav_menu { background: var(--gm-yellow); }

/* ---------- Topographic contour background (85% transparent = 15% opacity), tiles seamlessly ---------- */
body .pkp_structure_page { position: relative; isolation: isolate; }
body .pkp_structure_page::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: url("../images/topo.svg") center top / 1000px 1000px repeat; opacity: .15;
}
@media (max-width: 700px) { body .pkp_structure_page::before { background-size: 700px 700px; } }

/* ---------- Navigation ---------- */
.pkp_structure_head .pkp_navigation_primary_wrapper { display: flex; align-items: center; gap: .75rem; padding: 0 clamp(.75rem, 2vw, 1.5rem); }
.pkp_structure_head .pkp_navigation_primary { display: flex; flex-wrap: wrap; align-items: center; flex: 1 1 auto !important; width: auto !important; max-width: none !important; margin: 0; padding: 0; }
.pkp_structure_head .pkp_navigation_primary > li { float: none; position: relative; }
.pkp_structure_head .pkp_navigation_primary > li > a {
	position: relative; display: block; padding: .95rem 1rem; border: 0; border-radius: 0; background: transparent;
	color: var(--gm-ink); font-size: 15px; font-weight: 600; letter-spacing: .005em; text-decoration: none;
}
.pkp_structure_head .pkp_navigation_primary > li > a::after {
	content: ""; position: absolute; left: 1rem; right: 1rem; bottom: .5rem; height: 3px; border-radius: 2px; background: var(--gm-ink);
	transform: scaleX(0); transform-origin: left center; transition: transform .28s var(--gm-ease);
}
.pkp_structure_head .pkp_navigation_primary > li:hover > a::after,
.pkp_structure_head .pkp_navigation_primary > li:focus-within > a::after,
.pkp_structure_head .pkp_navigation_primary > li > a:focus::after,
.pkp_structure_head .pkp_navigation_primary > li > a[aria-expanded="true"]::after { transform: scaleX(1); }
.pkp_structure_head .pkp_navigation_primary > li > a:hover,
.pkp_structure_head .pkp_navigation_primary > li > a:focus,
.pkp_structure_head .pkp_navigation_primary > li:hover > a { background: transparent; color: #000; border: 0; }

/* Dropdown cards */
.pkp_structure_head .pkp_navigation_primary ul {
	min-width: 230px; margin-top: .3rem; padding: .45rem; background: #fff; border: 1px solid var(--gm-line); border-radius: 14px;
	box-shadow: 0 20px 44px rgba(0,0,0,.18);
}
.pkp_structure_head .pkp_navigation_primary ul li { float: none; }
.pkp_structure_head .pkp_navigation_primary ul a {
	display: block; padding: .6rem .85rem; border: 0; border-radius: 9px; background: transparent; color: var(--gm-ink);
	font-size: .92rem; font-weight: 500; transition: background .15s, transform .15s;
}
.pkp_structure_head .pkp_navigation_primary ul a:hover,
.pkp_structure_head .pkp_navigation_primary ul a:focus { background: var(--gm-yellow); color: var(--gm-ink); border: 0; transform: translateX(3px); }

/* Search = pill */
.pkp_structure_head .pkp_navigation_search_wrapper { float: none; margin: 0; }
.pkp_structure_head .pkp_navigation_search_wrapper .fa { font-family: FontAwesome; font-size: 1em; line-height: 1; }
.pkp_structure_head .pkp_navigation_primary_wrapper { min-height: 3.4rem; padding-top: .25rem; padding-bottom: .25rem; }
.pkp_structure_head .pkp_navigation_search_wrapper a {
	display: inline-flex; align-items: center; gap: .5rem; padding: .7rem 1.3rem; border: 0; border-radius: 999px; line-height: 1.2;
	background: rgba(255,255,255,.6); color: var(--gm-ink); font-size: 14px; font-weight: 600; transition: background .2s, box-shadow .2s;
}
.pkp_structure_head .pkp_navigation_search_wrapper a:hover { background: #fff; color: #000; box-shadow: 0 4px 14px rgba(0,0,0,.14); }

/* CTA injected by js/modern.js (Kirim Naskah / Submit) */
.pkp_structure_head .pkp_navigation_primary > li.nav_cta { margin-left: auto; }
.pkp_structure_head .pkp_navigation_primary > li.nav_cta > a {
	padding: .85rem 1.6rem; border-radius: 9px; background: var(--gm-ink); color: var(--gm-yellow) !important; box-shadow: 0 4px #000; line-height: 1.2;
	transition: transform .2s var(--gm-ease), box-shadow .2s;
}
.pkp_structure_head .pkp_navigation_primary > li.nav_cta > a::after { display: none; }
.pkp_structure_head .pkp_navigation_primary > li.nav_cta > a:hover { transform: translateY(2px); box-shadow: 0 2px #000; background: var(--gm-ink); }

@media (max-width: 991px) {
	.pkp_structure_head .pkp_navigation_primary > li.nav_cta { margin-left: 0; }
	.pkp_structure_head .pkp_navigation_primary > li > a::after { display: none; }
	.pkp_structure_head .pkp_navigation_primary ul { box-shadow: none; border-radius: 10px; }
}

/* ---------- Sidebar blocks: no side column; shown as a tidy strip under the content ---------- */
body .pkp_structure_content.has_sidebar { display: block; }
body .pkp_structure_content.has_sidebar .pkp_structure_main { width: 100%; float: none; margin: 0; padding: 0 clamp(1rem, 3vw, 2.5rem) 2rem; box-sizing: border-box; }
body .pkp_structure_content.has_sidebar .pkp_structure_main::before,
body .pkp_structure_content.has_sidebar .pkp_structure_main::after,
body .pkp_structure_content.has_sidebar .pkp_structure_sidebar::before,
body .pkp_structure_content.has_sidebar .pkp_structure_sidebar::after { display: none; }
body .pkp_structure_content.has_sidebar .pkp_structure_sidebar {
	width: 100%; float: none; margin: 0 auto; box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: flex-start; gap: 1rem 3rem;
	padding: 1.5rem clamp(1rem, 3vw, 2.5rem) 3rem;
}
body .pkp_structure_sidebar .pkp_block { padding: 0; margin: 0; }
body .pkp_structure_sidebar .block_make_submission { display: none; } /* the nav button and hero already offer it */
body .pkp_structure_sidebar .pkp_block .title {
	display: block; background: none !important; padding: 0 !important; margin: 0 0 .65rem; color: var(--gm-accent) !important;
	font-size: .75rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
}
body .pkp_structure_sidebar .pkp_block ul { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; }
body .pkp_structure_sidebar .pkp_block li { margin: 0; padding: 0; }
body .pkp_structure_sidebar .pkp_block li a {
	display: inline-block; padding: .45rem 1.1rem; border: 1px solid var(--gm-line); border-radius: 999px; background: #fff;
	color: var(--gm-ink); font-size: .9rem; text-decoration: none; transition: background .2s, border-color .2s, transform .2s var(--gm-ease);
}
body .pkp_structure_sidebar .pkp_block li a:hover { background: var(--gm-yellow); border-color: var(--gm-yellow-dk); transform: translateY(-2px); }

/* Top nav: yellow bar runs edge to edge like the banner; its content stays aligned with the page container */
body .pkp_structure_head .pkp_site_nav_menu { box-shadow: 0 0 0 100vmax var(--gm-yellow); clip-path: inset(0 -100vmax); }

/* ---------- Floating dock (bottom) ---------- */
.dock {
	position: fixed; left: 50%; bottom: calc(1rem + env(safe-area-inset-bottom, 0px)); z-index: 900;
	display: flex; align-items: center; gap: .2rem; padding: .35rem;
	background: rgba(255,255,255,.88); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
	border: 1px solid rgba(0,0,0,.08); border-radius: 999px; box-shadow: 0 16px 44px rgba(0,0,0,.24);
	transform: translate(-50%, 160%); opacity: 0; pointer-events: none;
	transition: transform .5s var(--gm-ease), opacity .3s;
}
.dock.is-visible { transform: translate(-50%, 0); opacity: 1; pointer-events: auto; }
.dock a, .dock button {
	display: flex; align-items: center; gap: .5rem; padding: .6rem 1.05rem; border: 0; border-radius: 999px; background: transparent;
	color: var(--gm-ink); font: inherit; font-size: .85rem; font-weight: 700; line-height: 1; text-decoration: none; cursor: pointer;
	transition: background .2s, transform .2s var(--gm-ease);
}
.dock a:hover, .dock button:hover { background: rgba(254,217,0,.55); transform: translateY(-2px); }
.dock a.is-active { background: var(--gm-yellow); }
.dock a.dock__cta { background: var(--gm-ink); color: var(--gm-yellow); }
.dock a.dock__cta:hover { background: #000; }
.dock .fa { font-size: 1rem; }
.dock button { padding: .6rem .8rem; }
@media (max-width: 600px) {
	.dock { width: calc(100% - 1.25rem); justify-content: space-between; }
	.dock a, .dock button { flex: 1; flex-direction: column; gap: .25rem; justify-content: center; padding: .5rem .35rem; font-size: .66rem; }
	.dock button { flex: 0 0 auto; padding: .5rem .8rem; }
}
@media (prefers-reduced-motion: reduce) { .dock { transition: none; } }
/* keep the last content clear of the dock */
body { padding-bottom: 0; }

/* ---- Nav CTA + search: balanced vertical space inside the bar (v4) ---- */
.pkp_structure_head .pkp_navigation_primary_wrapper { align-items: center; min-height: 4.4rem; padding-top: .6rem; padding-bottom: .6rem; }
.pkp_structure_head .pkp_navigation_primary > li > a { padding-top: .8rem; padding-bottom: .8rem; }
.pkp_structure_head .pkp_navigation_primary > li.nav_cta { display: flex; align-items: center; align-self: center; margin-left: auto; padding: 0; }
.pkp_structure_head .pkp_navigation_primary > li.nav_cta > a {
	display: inline-flex; align-items: center; justify-content: center; margin: 0; padding: .8rem 1.7rem; line-height: 1;
	border-radius: 10px; box-shadow: 0 3px 0 #000;
}
.pkp_structure_head .pkp_navigation_search_wrapper { display: flex; align-items: center; align-self: center; }
.pkp_structure_head .pkp_navigation_search_wrapper a { padding: .8rem 1.4rem; line-height: 1; }
.pkp_structure_head .pkp_navigation_search_wrapper { margin: 0 !important; padding: 0 !important; height: auto; }
.pkp_structure_head .pkp_navigation_search_wrapper a { margin: 0; }

/* ---- v5: contents card padding must beat the compat rule (body is .pkp_op_view, so the old selector never matched) ---- */
body .issue_view .description.issue_view__desc--toc { padding: 1.1rem 1.5rem 1.25rem !important; }
body .issue_view .description.issue_view__desc--toc p { text-align: left !important; }

/* ---- Nav CTA + search: v5 contents card padding fix ---- */
.pkp_structure_head .pkp_navigation_primary_wrapper { align-items: center; min-height: 4.4rem; padding-top: .6rem; padding-bottom: .6rem; }
.pkp_structure_head .pkp_navigation_primary > li > a { padding-top: .8rem; padding-bottom: .8rem; }
.pkp_structure_head .pkp_navigation_primary > li.nav_cta { display: flex; align-items: center; align-self: center; margin-left: auto; padding: 0; }
.pkp_structure_head .pkp_navigation_primary > li.nav_cta > a {
	display: inline-flex; align-items: center; justify-content: center; margin: 0; padding: .8rem 1.7rem; line-height: 1;
	border-radius: 10px; box-shadow: 0 3px 0 #000;
}
.pkp_structure_head .pkp_navigation_search_wrapper { display: flex; align-items: center; align-self: center; }
.pkp_structure_head .pkp_navigation_search_wrapper a { padding: .8rem 1.4rem; line-height: 1; }

/* ---- v5: contents card padding must beat the compat rule (body is .pkp_op_view, so the old selector never matched) ---- */
body .issue_view .description.issue_view__desc--toc dl { margin: 0; }
body .issue_view .description.issue_view__desc--toc dt { margin: 0 0 .85rem; line-height: 1.55; text-align: left; }
body .issue_view .description.issue_view__desc--toc dd { margin: 0 0 .85rem; text-align: left; }
body .issue_view .description.issue_view__desc--toc > strong:first-child { display: inline-block; font-size: .75rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gm-accent); padding-bottom: .35rem; margin-bottom: 1rem; border-bottom: 2px solid var(--gm-yellow); }
body .issue_view .description.issue_view__desc--toc a { color: var(--gm-ink); text-decoration: none; }
body .issue_view .description.issue_view__desc--toc p { text-align: left !important; }

/* ---- Nav CTA + search: v6 manual contents as dl/dt ---- */
.pkp_structure_head .pkp_navigation_primary_wrapper { align-items: center; min-height: 4.4rem; padding-top: .6rem; padding-bottom: .6rem; }
.pkp_structure_head .pkp_navigation_primary > li > a { padding-top: .8rem; padding-bottom: .8rem; }
.pkp_structure_head .pkp_navigation_primary > li.nav_cta { display: flex; align-items: center; align-self: center; margin-left: auto; padding: 0; }
.pkp_structure_head .pkp_navigation_primary > li.nav_cta > a {
	display: inline-flex; align-items: center; justify-content: center; margin: 0; padding: .8rem 1.7rem; line-height: 1;
	border-radius: 10px; box-shadow: 0 3px 0 #000;
}
.pkp_structure_head .pkp_navigation_search_wrapper { display: flex; align-items: center; align-self: center; }
.pkp_structure_head .pkp_navigation_search_wrapper a { padding: .8rem 1.4rem; line-height: 1; }

/* ===== v8: full-bleed yellow bar WITHOUT clipping the dropdowns (clip-path cut them off) ===== */
body .pkp_structure_head .pkp_site_nav_menu { box-shadow: none !important; clip-path: none !important; position: relative; isolation: isolate; overflow: visible; }
body .pkp_structure_head .pkp_site_nav_menu::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: var(--gm-yellow); }
.pkp_structure_head .pkp_navigation_primary_row, .pkp_structure_head .pkp_navigation_primary_wrapper, .pkp_structure_head .pkp_navigation_primary { overflow: visible !important; }
.pkp_structure_head .pkp_navigation_primary ul { z-index: 1200; }

/* ===== v9: put the full-bleed yellow on the nav ROW, not on <nav>: the Daftar/Login links live inside <nav> and are
   absolutely positioned against the header, so <nav> must not become a positioning context ===== */
body .pkp_structure_head .pkp_site_nav_menu { position: static !important; isolation: auto !important; }
body .pkp_structure_head .pkp_site_nav_menu::before { content: none !important; }
body .pkp_structure_head .pkp_navigation_primary_row { position: relative; isolation: isolate; z-index: 5; }
body .pkp_structure_head .pkp_navigation_primary_row::before {
	display: block !important; content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw;
	transform: translateX(-50%); background: var(--gm-yellow);
}
/* book pages use the theme font even when the journal description carries inline fonts */
.book__sheet-body, .book__sheet-body * { font-family: var(--gm-sans) !important; }
/* ===== v12 ===== =====*/
/* book opens when scrolled into view (see modern-v12.js) */
/* ===== v17 ===== =====*/
/* Top-right Daftar / Login: larger and easier to hit */
.pkp_structure_head .pkp_navigation_user > li > a { font-size: 1.15rem; font-weight: 600; padding: .55rem 1.2rem; color: var(--gm-ink); border-radius: 999px; text-decoration: none; transition: background .2s; }
.pkp_structure_head .pkp_navigation_user > li > a:hover, .pkp_structure_head .pkp_navigation_user > li > a:focus { background: rgba(254,217,0,.55); text-decoration: none; }
.pkp_structure_head .pkp_navigation_user > li:last-child > a { background: var(--gm-ink); color: var(--gm-yellow); }
.pkp_structure_head .pkp_navigation_user > li:last-child > a:hover { background: #000; }
.pkp_structure_head .pkp_navigation_user { display: flex; justify-content: flex-end; align-items: center; gap: .25rem; }

/* ===== Mobile header: clean white bar, logo left, menu button right, no banner artwork behind the logo ===== */
@media (max-width: 991px) {
	.pkp_structure_head, .pkp_structure_head.has_site_logo { background-image: none !important; background: #fff !important; border-bottom: 3px solid var(--gm-yellow); }
	.pkp_structure_head::before, .pkp_structure_head::after, .pkp_head_wrapper::before, .pkp_head_wrapper::after { display: none !important; }
	.pkp_head_wrapper { height: auto !important; min-height: 0 !important; padding: 0 !important; }
	.pkp_site_name_wrapper { height: auto !important; min-height: 64px; display: flex; align-items: center; padding: 10px 64px 10px 14px !important; }
	.pkp_site_name { width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; display: block; }
	.pkp_site_name .is_img, .pkp_site_name > a { display: block; padding: 0; margin: 0; }
	.pkp_site_name img { height: 44px !important; width: auto !important; max-width: 100% !important; margin: 0; }
	.pkp_site_nav_toggle { position: absolute !important; top: 50% !important; right: 12px !important; left: auto !important; transform: translateY(-50%); width: 44px !important; height: 44px !important; border-radius: 12px !important; background: var(--gm-yellow) !important; display: grid; place-items: center; }
}

/* ===== Mobile menu: white sheet, plain stacked list, full-width actions ===== */
@media (max-width: 991px) {
	.pkp_site_nav_menu { position: static !important; width: 100% !important; max-width: none !important; background: #fff !important; padding: 4px 16px 18px !important; border-bottom: 3px solid var(--gm-yellow); box-shadow: 0 18px 30px -22px rgba(0,0,0,.4); }
	.pkp_site_nav_menu .pkp_navigation_primary_row, .pkp_site_nav_menu .pkp_navigation_primary_wrapper, .pkp_site_nav_menu .pkp_navigation_user_wrapper { position: static !important; width: 100% !important; max-width: none !important; background: none !important; padding: 0 !important; margin: 0 !important; float: none !important; display: block !important; border: 0 !important; }
	.pkp_site_nav_menu .pkp_navigation_primary_row::before { display: none !important; }
	.pkp_site_nav_menu ul.pkp_nav_list { display: block !important; margin: 0 !important; padding: 0 !important; max-width: none !important; width: 100% !important; float: none !important; }
	.pkp_site_nav_menu ul.pkp_nav_list > li { display: block !important; float: none !important; margin: 0 !important; width: 100% !important; border-bottom: 1px solid rgba(0,0,0,.08); }
	.pkp_site_nav_menu ul.pkp_nav_list > li > a { display: block !important; padding: 14px 4px !important; font-size: 1rem !important; font-weight: 700 !important; color: var(--gm-ink) !important; background: none !important; border: 0 !important; }
	.pkp_site_nav_menu ul.pkp_nav_list ul { position: static !important; display: block !important; width: auto !important; min-width: 0 !important; margin: 0 0 8px !important; padding: 0 0 0 14px !important; background: none !important; border: 0 !important; border-left: 3px solid var(--gm-yellow) !important; box-shadow: none !important; border-radius: 0 !important; }
	.pkp_site_nav_menu ul.pkp_nav_list ul li { display: block !important; border: 0 !important; }
	.pkp_site_nav_menu ul.pkp_nav_list ul a { display: block !important; padding: 9px 4px !important; font-size: .92rem !important; font-weight: 500 !important; color: #444 !important; background: none !important; }
	.pkp_site_nav_menu li.nav_cta { border-bottom: 0 !important; padding: 14px 0 4px !important; }
	.pkp_site_nav_menu li.nav_cta > a { background: var(--gm-ink) !important; color: var(--gm-yellow) !important; text-align: center !important; border-radius: 12px !important; padding: 14px 16px !important; box-shadow: 0 4px 0 rgba(0,0,0,.25); }
	.pkp_site_nav_menu .pkp_navigation_search_wrapper { display: block !important; position: static !important; margin: 4px 0 0 !important; padding: 0 !important; width: 100% !important; border: 0 !important; }
	.pkp_site_nav_menu .pkp_navigation_search_wrapper a { display: flex !important; align-items: center; justify-content: center; gap: .5rem; width: 100% !important; box-sizing: border-box; padding: 12px 16px !important; border: 1.5px solid rgba(0,0,0,.15) !important; border-radius: 999px !important; background: #fff !important; color: var(--gm-ink) !important; font-weight: 600; }
	.pkp_site_nav_menu .pkp_navigation_user_wrapper { margin-top: 14px !important; padding-top: 14px !important; border-top: 1px solid rgba(0,0,0,.08) !important; }
	.pkp_site_nav_menu .pkp_navigation_user { display: flex !important; gap: 10px; }
	.pkp_site_nav_menu .pkp_navigation_user > li { flex: 1; border: 0 !important; }
	.pkp_site_nav_menu .pkp_navigation_user > li > a { text-align: center !important; padding: 12px 10px !important; border: 1.5px solid var(--gm-ink) !important; border-radius: 999px !important; font-size: .95rem !important; }
	.pkp_site_nav_menu .pkp_navigation_user > li:last-child > a { background: var(--gm-ink) !important; color: var(--gm-yellow) !important; }
}
@media (max-width: 991px) {
	.pkp_structure_head .pkp_head_wrapper .pkp_site_name_wrapper { height: 72px !important; min-height: 72px !important; max-height: 72px !important; padding-top: 0 !important; padding-bottom: 0 !important; }
	.pkp_structure_head .pkp_site_nav_toggle { top: 14px !important; transform: none !important; }
}
@media (max-width: 991px) {
	.pkp_structure_head .pkp_site_nav_menu, .pkp_structure_head .pkp_site_nav_menu.pkp_site_nav_menu--isOpen { background: #fff !important; }
	.pkp_site_nav_menu.pkp_site_nav_menu--isOpen { padding-top: 6px !important; }
	.pkp_structure_head .pkp_site_nav_menu li.nav_cta > a { display: block !important; background: var(--gm-ink) !important; color: var(--gm-yellow) !important; }
	.pkp_structure_head .pkp_site_nav_toggle { z-index: 60; }
}
@media (max-width: 991px) {
	.pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary_row::before, .pkp_structure_head .pkp_site_nav_menu .pkp_navigation_primary_row::after { content: none !important; display: none !important; background: none !important; }
	.pkp_structure_head .pkp_site_nav_menu.pkp_site_nav_menu--isOpen { padding-bottom: 32px !important; }
}

@media (max-width: 991px) {
	.pkp_structure_head .pkp_head_wrapper .pkp_site_name_wrapper { height: 92px !important; min-height: 92px !important; max-height: 92px !important; padding: 18px 64px 18px 14px !important; align-items: center; }
	.pkp_structure_head .pkp_site_nav_toggle { top: 24px !important; }
}
