html { width:100%; height: 100%; }

body
{
	height:100%;
	margin:0;
	padding:0;
	font-size: 14px;
	line-height: 1.4;
	font-family: -apple-system, "Segoe UI", Arial, Helvetica, sans-serif;
}

form { margin:0; padding:0;}

#panel { position: relative; z-index: 100; }

#geo-app-shell
{
	display: flex;
	align-items: stretch;
	min-height: 100vh;
	width: 100%;
}

/* ===== Sidebar ===== */

#geo-sidebar
{
	flex: 0 0 260px;
	width: 260px;
	display: flex;
	flex-direction: column;
	padding: 20px 16px 24px;
	box-sizing: border-box;
}

#geo-logo { padding: 4px 8px 20px; }
#geo-logo a { display: block; outline: none; text-decoration: none; font-size: 18px; font-weight: 700; }

#geo-left-menu-wrap { margin-bottom: 16px; }

#geo-left-menu { margin:0; padding:0; list-style: none; }

#geo-left-menu li { margin: 0 0 2px; }

#geo-left-menu a
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	outline: none;
}

#geo-sidebar-icons { display: flex; gap: 16px; padding: 4px 8px 16px; }
#geo-sidebar-icons a { width: 16px; height: 16px; display: block; opacity: .7; }
#geo-sidebar-icons a:hover { opacity: 1; }

.geo-sidebar-card { border-radius: 10px; padding: 14px 14px; margin-bottom: 12px; }
.geo-sidebar-card h3 { font-size: 13px; font-weight: 600; margin: 0 0 10px; }

/* ===== Main column ===== */

#geo-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }

#geo-topbar
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 28px;
}

#geo-top-menu-inner, #geo-top-menu { display: block; }

#geo-horizontal-multilevel-menu, #geo-horizontal-multilevel-menu ul
{
	margin:0; padding: 4px;
	list-style:none;
	font-size:14px;
	display: inline-flex;
	align-items: center;
	border-radius: 12px;
}

#geo-horizontal-multilevel-menu li { float:none; }
#geo-horizontal-multilevel-menu li a.geo-root-item,
#geo-horizontal-multilevel-menu li a.geo-root-item-selected
{
	display:block;
	padding: 9px 18px;
	border-radius: 9px;
	font-weight: 600;
	text-decoration:none;
	outline: none;
	white-space: nowrap;
}

#geo-sidebar-icons a.geo-search-icon,
#geo-sidebar-icons a.geo-feedback-icon { background-size: contain; background-repeat: no-repeat; background-position: center; }

a.geo-home-icon { width: 16px; height: 16px; display: block; }

#geo-workarea { flex: 1 1 auto; padding: 4px 28px 40px; box-sizing: border-box; }

#geo-pagetitle { font-size: 22px; font-weight: 700; margin: 0 0 20px; }

/* ===== Footer ===== */

#geo-footer
{
	padding: 18px 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 12px;
}

#geo-copyright p { margin: 0; }
.geo-footer-links #geo-footer-links { margin:0; padding:0; list-style: none; }
.geo-footer-links #geo-footer-links li { display: inline; padding-left: 1.5em; }
#geo-footer-design a { text-decoration:none; }
#geo-footer-design a:hover { text-decoration:underline; }

/* ===== Legacy content blocks kept for compatibility ===== */

dl.geo-block-list { margin: 0; padding:0; font-size: 0.9em; }
dl.geo-block-list dt { margin: 1em 0 0.5em; }
dl.geo-block-list dd { margin:0; padding:0; }
dl.geo-block-list a { text-decoration: none; outline: none; }
dl.geo-block-list a:hover { text-decoration: underline; }

#geo-search { width:100%; overflow: hidden; display: flex; gap: 8px; }
#geo-search div.geo-rounded-box { flex: 1 1 auto; }
#geo-search div.geo-search-inner-box
{
	border-radius: 8px;
	padding-left: 32px;
	height: 34px;
	overflow:hidden;
	background-repeat: no-repeat;
	background-position: 10px center;
}

#geo-search div.geo-search-inner-box input
{
	border: none;
	background: none;
	width: 100%;
	height: 34px;
	padding:0;
	margin:0;
	box-sizing: border-box;
}

#geo-search input { vertical-align: top; }
#geo-search-button { flex: 0 0 auto; border-radius: 8px; }
#geo-search-button input::-moz-focus-inner { border: 0; padding: 0; }
#geo-search-button input
{
	display: block;
	border: none;
	background: none;
	width: 60px;
	height: 34px;
	padding:0;
	margin:0;
	font-size: 13px;
	cursor: pointer;
	outline: none;
}

div.geo-news-list { margin: 0; }
div.geo-news-item { margin: 0 0 1em; padding: 0 0 1em; border-bottom: 1px solid; }
div.geo-news-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
div.geo-news-date { margin: 0 0 0.4em; font-size: 12px; }
div.geo-news-title { font-size: 13px; margin: 0; font-weight: 600; }
a.geo-news-detail-link { display: block; margin: 0.6em 0 0; outline: none; font-size: 12px; }

/* Navigation */
div.geo-navigation { font-size:100%; line-height:200%; }
span.geo-navigation-title { padding-right:0.65em; font-weight: bold; }
div.geo-navigation a { text-decoration:underline; padding:0.2em 0.3em; }
span.geo-nav-current-page { padding:0.2em 0.3em; }
div.geo-navigation span.geo-arrow { font-size:100%; font-family:Times, serif; }
div.geo-navigation span.geo-ctrl { font-size:85%; }

/* Catalog List */
div.geo-catalog-list, div.geo-catalog-detail  { padding: 1em 0 0; }
div.geo-catalog-item { margin: 0 0 2em; padding: 0 0 2em; border-bottom: 1px solid; overflow: hidden; }
div.geo-catalog-detail div.geo-catalog-item { border: none; }
div.geo-catalog-item-title { margin: 0 0 1em; }
div.geo-catalog-item-title a { font-weight: bold; }
div.geo-catalog-item-image { float: left; margin: 0 1em 1em 0; border:1px solid; padding: 4px; }
div.geo-catalog-item-price {clear: left; float:left; padding: 0.5em 1em; margin:1em 0 0; font-weight: bold; }
div.geo-catalog-item-desc { clear: left; }
div.geo-catalog-item-properties { clear: both; padding: 1em 0 0; overflow: hidden; }
div.geo-catalog-item-property { margin: 0 0 1em; border-bottom:1px dashed; float: left; width: 100%; }
div.geo-catalog-item-property b { float: right; position: relative; top: 0.31em; padding-left: 3px; font-style:italic; font-weight:normal; }
div.geo-catalog-item-property span { float: left; position: relative; top: 0.31em; padding-right: 3px; }
div.geo-catalog-item-properties-title { font-size: 1em; font-weight: bold; margin: 2em 0 1em; }

/*Common Elements */
div.geo-content-form { padding-left:1em; }
div.geo-content-form div.geo-form-input span {font-size: 1.2em; }
div.geo-content-form div.geo-form-input input, div.geo-content-form div.geo-form-input textarea, div.geo-content-form div.geo-form-input select
{
	margin: 0;
	border:1px solid;
	border-radius: 6px;
	font-size:1em;
	font-family: inherit;
	margin-bottom: 8px;
	padding: 0.5em;
	box-sizing: border-box;
}
div.geo-content-form div.geo-form-input input, div.geo-content-form div.geo-form-input textarea { width:75%; }
div.geo-content-form div.geo-fields { clear: both; }
div.geo-content-form input.geo-input-submit { overflow:visible; padding: 0.5em 1.2em; border-radius: 6px; cursor: pointer; }
div.geo-content-form div.geo-field { padding:0; margin: 0 0 0.8em 0; display: block; }
div.geo-content-form div.geo-field label.geo-field-title
{
	display: block;
	font-size: 1em;
	font-weight: 600;
	margin-bottom: 3px;
}
div.geo-content-form div.geo-description { font-size: 0.9em; }
div.geo-content-form div.geo-field-checkbox { margin: 0.3em 0; }

/*Error & OK messages*/
.geo-errortext, .geo-notetext
{
	display: block;
	margin:0 0 1.5em 0;
	padding: 0.6em 1em;
	border: 1px solid;
	border-radius: 6px;
}
.geo-errortext ul, .geo-notetext ul { padding:0.3em 0 0.3em 2em; margin:0; }

@media (max-width: 900px) {
	#geo-app-shell { flex-direction: column; }
	#geo-sidebar { width: 100%; flex-basis: auto; }
	#geo-topbar { flex-wrap: wrap; gap: 12px; }
}
