﻿/* ==========================================================================
   Museum Stylesheet: Alkalmi Postakezelés (alkalmiposta)
   Contains site-specific color palette and museum-specific extensions.
   Common layout, typography, navigation, intro, contact, and catalogue
   structures are centrally unified in css/site_core.css.
   ========================================================================== */

:root {
  --theme-primary: #996515;
  --theme-primary-dark: #2c241d;
  --theme-primary-light: rgba(153, 101, 21, 0.12);
  --theme-border: rgba(41, 38, 23, 0.18);
  --theme-border-subtle: rgba(41, 38, 23, 0.08);
  --theme-text-body: #2c241d;
  --theme-text-muted: #7a6652;
  --theme-panel-bg: #faf6f0;
  --theme-panel-bg-subtle: #f4eee5;
  --theme-panel-gradient: linear-gradient(180deg, #ffffff 0%, #faf6f0 100%);
  --theme-card-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(250, 246, 240, 0.92) 100%);
  --theme-accent-gradient: linear-gradient(90deg, transparent 0%, #996515 50%, transparent 100%);
  --theme-card-shadow: 0 4px 14px rgba(41, 38, 23, 0.04);
  --theme-card-shadow-hover: 0 8px 20px rgba(41, 38, 23, 0.10);
  --nav-bg: #e9d7ab;
  --nav-bg-strong: #d0ae68;
  --nav-text: #2f2318;
  --nav-panel-bg: linear-gradient(180deg, #f9f4ec 0%, #f1e7d8 100%);
  --nav-hover-bg: rgba(116, 89, 55, 0.08);
  --nav-active-bg: rgba(116, 89, 55, 0.18);
  --nav-parent-active-bg: rgba(116, 89, 55, 0.12);
  --nav-sub-bg: rgba(41, 38, 23, 0.03);
  --page-bg: #f3efe7;
  --page-shell-bg: #fffdf9;
  --link: #7A7D5F;
  --link-hover: #15190A;
  --border-soft: rgba(41, 38, 23, 0.18);
  --shadow-soft: 0 12px 30px rgba(0, 0, 0, 0.08);
}

* {
	box-sizing: border-box;
}

@font-face {
  font-family: MainTitle;
  src: url('../fonts/PlayfairDisplay-Bold.ttf');
}

@font-face {
    font-family: 'stamp_symbolsregular';
    src: url('../fonts/fp.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

#layoutHeader {
	background: url(../images/header.webp) no-repeat left;
	position: relative;
	width: 100%;
	height: 116px;
	border-bottom: 1px solid var(--border-soft);
}

.maintitle {
	text-shadow: 2px 0 0 #fff, -2px 0 0 #fff, 0 2px 0 #fff, 0 -2px 0 #fff, 1px 1px #fff, -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff;
	color: #333;
	opacity: 1;
	font: min(max(21px, 3vw), 60px) 'MainTitle';
	position: absolute;
	bottom: 1px;
	right: 10px;
}

/* Central layout wrapper */
#layoutCenterBody {
	margin: 10px 5px 0 10px;
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding-bottom: 18px;
}

/* Left navigation menu */
#layoutNavigation {
    width: 200px;
    min-width: 200px;
    flex: 0 0 200px;
    border: 1px solid var(--theme-border, rgba(41, 38, 23, 0.18));
    background: var(--nav-panel-bg, linear-gradient(180deg, #f9f4ec 0%, #f1e7d8 100%));
    float: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
    border-radius: 12px;
    overflow: hidden;
    box-sizing: border-box;
}

#layoutNavigation .navTitle {
    background: linear-gradient(180deg, var(--nav-bg, #e9d7ab) 0%, var(--nav-bg-strong, #d0ae68) 100%);
    color: var(--nav-text, #2f2318);
    font-weight: bold;
    padding: 6px 8px;
    letter-spacing: 0.02em;
    margin: 0 !important;
}

#layoutNavigation ul.topnav,
#layoutNavigation ul.topnav ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

#layoutNavigation ul.topnav li {
    margin: 0;
    padding: 0;
    line-height: 1.35;
}

#layoutNavigation a {
	display: block;
	background: transparent;
	border-bottom: 1px solid var(--theme-border-subtle, rgba(41, 38, 23, 0.12));
	margin: 0;
    padding: 5px 10px;
    color: var(--nav-text, #3d2f22);
    text-decoration: none;
    line-height: 1.45;
}

#layoutNavigation a:hover {
    color: var(--theme-primary-dark, #2a1f17);
    background: var(--nav-hover-bg, rgba(116, 89, 55, 0.08));
}

#layoutNavigation .active > a,
#layoutNavigation .active a,
#layoutNavigation a#active {
	color: var(--theme-primary-dark, #2a1f17) !important;
    background: var(--nav-active-bg, rgba(116, 89, 55, 0.18));
	font-weight: bold;
}

#layoutNavigation li:has(.active) > a {
    color: var(--theme-primary-dark, #2a1f17) !important;
    font-weight: bold;
    background: var(--nav-parent-active-bg, rgba(116, 89, 55, 0.12));
}

#layoutNavigation .topnav li:last-child a {
    border-bottom: none;
}

#layoutNavigation ul.topnav span {
    float: right;
}

/* Center Content Body */
#layoutBodyContent {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    margin-left: 0 !important;
    padding: 14px 18px;
    background: var(--theme-card-bg, linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(250, 246, 240, 0.92) 100%));
    border: 1px solid var(--theme-border, rgba(41, 38, 23, 0.18));
    border-radius: 12px;
    box-shadow: var(--theme-card-shadow, 0 4px 14px rgba(41, 38, 23, 0.04));
    box-sizing: border-box;
}

#layoutBodyContent > :first-child {
    margin-top: 0;
}

#layoutBodyContent a:link,
#layoutBodyContent a:visited {
    color: var(--link, #7A7D5F);
    text-decoration: none;
}

#layoutBodyContent a:hover {
    color: var(--link-hover, #15190A);
    font-weight: bold;
}

#layoutBodyContent h1 {
    color: var(--content-text, #15190A);
    font-weight: bold;
    font-size: 24px;
    margin-bottom: 14px;
}

#layoutBodyContent h2 {
	color: var(--content-text, #15190A);
	font-weight: bold;
	font-size: 15px;
	margin-top: 10px;
}

#layoutBodyContent p {
    margin-top: 10px;
    color: var(--content-text, #15190A);
}

.clearer {
    clear: both;
    height: 0;
    line-height: 0;
    font-size: 0;
}

#layoutFooter {
    clear: both;
    height: 34px;
    background: linear-gradient(180deg, var(--nav-bg, #e9d7ab) 0%, var(--nav-bg-strong, #d0ae68) 100%);
    border-top: 1px solid var(--border-soft);
    overflow: hidden;
}

#layoutFooter .siteinfoLegal {
    float: right;
    padding: 6px 12px;
}

#specfont {
	font-family: stamp_symbolsregular, sans-serif;
	font-size: larger;
	display: inline-block;
	font-style: normal;
	font-size: 11px;
}

/* Responsive adjustments */
@media screen and (max-width: 768px) {
    #layoutCenterBody {
        display: block;
        margin: 8px 10px 0;
    }
    #layoutNavigation {
        width: 100%;
        min-width: 100%;
        float: none;
        flex: none;
        margin: 0 0 10px 0;
    }
    #layoutBodyContent {
        margin: 0;
        margin-left: 0 !important;
        width: 100%;
        padding: 10px;
    }
}

