/*
Theme Name: Altes Kesselhaus
Theme URI: https://alteskesselhaus.at
Description: Custom theme for Altes Kesselhaus
Author: Ursula Zechner
Version: 1.4
*/
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Jost:wght@200;300;400&display=swap');
:root { --cream:#f5f0e8; --dark:#1a1a18; --mid:#3d3b35; --accent:#8b7355; --light-line:rgba(60,55,45,0.12); --serif:'Cormorant Garamond',Georgia,serif; --sans:'Jost',sans-serif; }
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:18px; }
body { background:var(--cream); color:var(--dark); font-family:var(--sans); font-weight:300; line-height:1.7; overflow-x:hidden; }
.badge { position:fixed; top:5rem; right:1.6rem; z-index:90; font-family:var(--sans); font-size:0.55rem; font-weight:400; letter-spacing:0.18em; text-transform:uppercase; color:var(--accent); border:1px solid var(--accent); padding:0.5em 0.9em; background:var(--cream); pointer-events:none; line-height:1.6; text-align:center; }
#site-header { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:0.9rem 2rem; background:var(--cream); border-bottom:1px solid var(--light-line); transition:box-shadow 0.3s; min-height:64px; }
#site-header.scrolled { box-shadow:0 2px 20px rgba(0,0,0,0.06); }
.site-logo img { height:36px; width:auto; display:block; }
#primary-menu { display:flex; gap:1.8rem; list-style:none; }
#primary-menu a { font-family:var(--sans); font-size:0.62rem; font-weight:300; letter-spacing:0.16em; text-transform:uppercase; color:var(--mid); text-decoration:none; transition:color 0.25s; }
#primary-menu a:hover { color:var(--accent); }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:4px; }
.hamburger span { display:block; width:24px; height:1px; background:var(--dark); }
.mobile-menu { display:none; position:fixed; inset:0; background:var(--cream); z-index:150; flex-direction:column; align-items:center; justify-content:center; gap:2.5rem; }
.mobile-menu.open { display:flex; }
.mobile-menu a { font-family:var(--serif); font-size:2rem; font-weight:300; color:var(--dark); text-decoration:none; }
.mobile-menu .close-btn { position:absolute; top:1.4rem; right:1.6rem; font-size:1.6rem; background:none; border:none; cursor:pointer; color:var(--mid); }
.hero-slideshow { position:relative; width:100%; height:90vh; overflow:hidden; margin-top:64px; }
.slides { width:100%; height:100%; position:relative; }
.slide { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 1.2s ease; }
.slide.active { opacity:1; }
.slide-overlay { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(26,26,24,0.1) 0%,rgba(26,26,24,0.35) 100%); z-index:2; }
.slide-dots { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); display:flex; gap:0.6rem; z-index:3; }
.dot { width:6px; height:6px; border-radius:50%; background:rgba(245,240,232,0.5); cursor:pointer; transition:background 0.3s; border:none; padding:0; }
.dot.active { background:rgba(245,240,232,1); }
#main-content { min-height:100vh; }
.container { max-width:780px; margin:0 auto; padding:0 2rem; }
.page-hero { padding:5rem 0 4rem; border-bottom:1px solid var(--light-line); margin-bottom:5rem; }
.page-eyebrow { font-family:var(--sans); font-size:0.62rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--accent); margin-bottom:2rem; }
.page-title { font-family:var(--serif)!important; font-size:clamp(3.5rem,8vw,6.5rem)!important; font-weight:300!important; line-height:1.05!important; color:var(--dark)!important; letter-spacing:-0.01em!important; margin-bottom:0!important; }
.page-title em { font-style:italic; font-weight:300; color:var(--accent); font-size:0.75em; display:block; margin-top:0.3em; letter-spacing:0.04em; }
.entry-content p { font-family:var(--serif)!important; font-size:1.2rem!important; font-weight:300!important; line-height:2!important; color:var(--mid)!important; margin-bottom:1rem!important; }
.entry-content h2 { font-family:var(--sans)!important; font-size:0.62rem!important; letter-spacing:0.22em!important; text-transform:uppercase!important; color:var(--accent)!important; margin:3rem 0 1.5rem!important; padding-bottom:0.8rem!important; border-bottom:1px solid var(--light-line)!important; font-weight:400!important; }
.entry-content ul { list-style:none!important; margin:1.5rem 0!important; padding:0!important; }
.entry-content ul li { font-family:var(--serif)!important; font-size:1.2rem!important; font-weight:300!important; line-height:2!important; color:var(--mid)!important; padding-left:1.2rem!important; position:relative!important; }
.entry-content ul li::before { content:'–'; position:absolute; left:0; color:var(--accent); }
.haltung { margin:5rem 0; padding:4rem 0; border-top:1px solid var(--light-line); border-bottom:1px solid var(--light-line); }
.haltung p { font-family:var(--serif)!important; font-size:1.8rem!important; font-weight:300!important; line-height:1.7!important; color:var(--mid)!important; }
.nav-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1px; background:var(--light-line); border:1px solid var(--light-line); margin:4rem 0; }
.nav-card { background:var(--cream); padding:3rem 2.5rem; text-decoration:none; display:block; transition:background 0.25s; }
.nav-card:hover { background:var(--dark); }
.nav-card:hover .card-title,.nav-card:hover .card-sub,.nav-card:hover .card-arrow { color:var(--cream)!important; }
.card-title { font-family:var(--serif); font-size:1.7rem; font-weight:300; color:var(--dark); margin-bottom:0.4rem; transition:color 0.25s; }
.card-sub { font-family:var(--sans); font-size:0.62rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--accent); margin-bottom:1.8rem; transition:color 0.25s; display:block; }
.card-arrow { font-size:1rem; color:var(--accent); transition:color 0.25s,transform 0.25s; display:inline-block; }
.nav-card:hover .card-arrow { transform:translateX(6px); }
.wp-block-post-title,h1.entry-title { font-family:var(--serif)!important; font-size:clamp(2.8rem,6vw,4.5rem)!important; font-weight:300!important; color:var(--dark)!important; line-height:1.1!important; margin-bottom:1rem!important; }
a { color:var(--accent); }
a:hover { color:var(--dark); }
#site-footer { margin-top:6rem; padding:3rem 2rem; border-top:1px solid var(--light-line); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1.5rem; }
.footer-text { font-family:var(--sans); font-size:0.58rem; letter-spacing:0.15em; color:var(--accent); text-transform:uppercase; }
@media (max-width:750px) { #primary-menu { display:none; } .hamburger { display:flex; } .badge { display:none; } #site-header { padding:1rem 1.2rem; } .hero-slideshow { height:60vh; } }
