/*
Theme Name: Auf Schritt & Tritt
Theme URI: https://www.pension-schritt-und-tritt.de/
Author: Pension Schritt & Tritt
Description: Individuelles, responsives WordPress-Theme für die Rad- und Wanderpension Schritt & Tritt am Inselsberg. Mit Startseite, Zimmer, Preis/Belegung, Umgebung, Über uns, Kontakt sowie vorbereiteter Kalender-Shortcode-Integration.
Version: 1.3.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: schritttritt
*/

:root{
  --st-green:#27472c;
  --st-green-2:#486235;
  --st-olive:#6d7d3e;
  --st-brown:#a0612a;
  --st-cream:#f6f1e6;
  --st-paper:#fffdf8;
  --st-ink:#1f241f;
  --st-muted:#687067;
  --st-border:#ded8ca;
  --st-shadow:0 18px 45px rgba(30,45,28,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--st-ink);background:#fbfaf6;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.55}
a{color:var(--st-green);text-decoration:none}
a:hover{color:var(--st-brown)}
img{max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.screen-reader-text{position:absolute;left:-9999px}

/* Header */
.site-header{position:relative;z-index:30;background:rgba(255,253,248,.97);border-bottom:1px solid rgba(39,71,44,.14)}
.header-inner{display:flex;align-items:center;gap:28px}
.brand-wrap{position:relative}
.brand-logo{display:block;z-index:40;filter:drop-shadow(0 5px 7px rgba(0,0,0,.08))}
.brand-logo img{display:block;width:100%;height:auto}
.site-header.is-home-header{min-height:76px}
.site-header.is-home-header .header-inner{min-height:76px}
.site-header.is-home-header .brand-wrap{width:260px;flex:0 0 260px}
.site-header.is-home-header .brand-logo{position:absolute;top:8px;left:0;width:240px}
.site-header.is-inner-header{min-height:116px}
.site-header.is-inner-header .header-inner{min-height:116px}
.site-header.is-inner-header .brand-wrap{width:260px;flex:0 0 260px;display:flex;align-items:center}
.site-header.is-inner-header .brand-logo{position:relative;width:240px}
.primary-nav{margin-left:auto}
.primary-nav ul{display:flex;align-items:center;gap:34px;list-style:none;margin:0;padding:0}
.primary-nav a{font-weight:650;color:#252925;padding:26px 0 20px;display:block;border-bottom:2px solid transparent}
.primary-nav .current-menu-item>a,.primary-nav a:hover{color:var(--st-green);border-bottom-color:var(--st-green)}
.header-phone{display:inline-flex;align-items:center;gap:9px;font-weight:750;white-space:nowrap;color:var(--st-green)}
.header-phone svg{width:21px;height:21px;fill:currentColor}
.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;font-size:28px;color:var(--st-green);cursor:pointer}

/* Hero */
.hero{position:relative;min-height:610px;background-size:cover;background-position:center;isolation:isolate;color:#fff}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,20,11,.78) 0%,rgba(8,20,11,.48) 38%,rgba(8,20,11,.06) 69%,rgba(8,20,11,.03) 100%)}
.hero-inner{padding-top:205px;padding-bottom:110px}
.hero-copy{max-width:660px;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:800;color:#eef4df}
.eyebrow:before{content:"";width:36px;height:1px;background:#dfe7c8}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:clamp(2.5rem,4.6vw,4.65rem);line-height:1.01;margin:.3rem 0 1rem;letter-spacing:-.025em}
.hero p{font-size:1.13rem;max-width:560px;margin:0 0 26px;color:#fff}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:13px 20px;font-weight:750;border:1px solid transparent;transition:.2s ease}
.button-primary{background:var(--st-olive);color:#fff;border-color:#899a59;box-shadow:0 7px 20px rgba(0,0,0,.16)}
.button-primary:hover{transform:translateY(-1px);background:#7f9149;color:#fff}
.button-secondary{background:rgba(12,28,13,.4);color:#fff;border-color:rgba(255,255,255,.72);backdrop-filter:blur(4px)}
.button-secondary:hover{background:#fff;color:var(--st-green)}

/* Home feature area */
.home-panels{position:relative;z-index:10;margin-top:-82px;padding-bottom:34px}
.panel-shell{background:rgba(255,253,248,.98);border:1px solid rgba(66,68,52,.12);border-radius:15px;box-shadow:var(--st-shadow);padding:13px}
.home-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.12fr;gap:12px}
.feature-card,.calendar-card{border:1px solid var(--st-border);border-radius:10px;background:#fff;overflow:hidden}
.feature-card img{width:100%;aspect-ratio:16/6.8;object-fit:cover;display:block}
.feature-body{padding:14px 16px 15px}
.feature-title{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.icon-badge{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--st-green-2);color:#fff;flex:0 0 38px}
.icon-badge svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.feature-title h3{margin:0;font-size:1.06rem}
.feature-body p{font-size:.92rem;line-height:1.45;color:#444b43;margin:0 0 8px}
.more-link{font-size:.9rem;font-weight:750}
.calendar-card{padding:17px 18px;display:flex;flex-direction:column;min-height:100%}
.calendar-card h3{font-size:1.02rem;margin:0 0 4px}
.calendar-card .price-line{margin-top:auto;padding-top:14px;border-top:1px solid #eee8dc;display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.price-big{font-family:Georgia,"Times New Roman",serif;font-size:2rem;font-weight:700;color:var(--st-green)}
.calendar-placeholder{border:1px dashed #aeb9a2;background:#f5f7ef;border-radius:8px;padding:16px;margin:12px 0;color:#586253;font-size:.9rem}
.calendar-placeholder strong{display:block;color:var(--st-green);margin-bottom:5px}
.st-calendar-widget{overflow-x:auto;min-height:180px}

/* Content */
.page-hero{background:linear-gradient(135deg,#eff0e5,#fff 70%);border-bottom:1px solid var(--st-border);padding:48px 0 42px}
.page-hero h1{font-family:Georgia,"Times New Roman",serif;color:var(--st-green);font-size:clamp(2.1rem,4vw,3.5rem);margin:0 0 8px}
.page-hero p{max-width:760px;color:var(--st-muted);font-size:1.05rem;margin:0}
.site-main{padding:46px 0 70px}
.entry-content{max-width:960px;margin-inline:auto}
.entry-content>h2,.entry-content>h3{font-family:Georgia,"Times New Roman",serif;color:var(--st-green);line-height:1.15}
.entry-content>h2{font-size:2rem;margin-top:2.1rem}
.entry-content p{font-size:1.02rem}
.entry-content ul{padding-left:1.3rem}
.entry-content .wp-block-image img{border-radius:12px;box-shadow:0 12px 30px rgba(31,45,30,.12)}
.entry-content .wp-block-columns{gap:28px}
.info-box,.wp-block-group.info-box{background:var(--st-paper);border:1px solid var(--st-border);border-radius:12px;padding:22px;margin:24px 0}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}
.service-item{border:1px solid var(--st-border);border-radius:9px;padding:14px;background:#fff}
.service-item strong{display:block;color:var(--st-green)}
.st-price-box{display:inline-flex;align-items:baseline;gap:10px;background:#f1f4e8;border:1px solid #d6dec3;border-radius:10px;padding:14px 18px;margin:10px 0}
.st-price-box strong{font-family:Georgia,"Times New Roman",serif;font-size:2rem;color:var(--st-green)}
.st-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}
.st-contact-card{padding:20px;border:1px solid var(--st-border);border-radius:12px;background:#fff}
.st-contact-card h3{margin-top:0;color:var(--st-green)}

/* Home intro */
.home-intro{padding:40px 0 64px}
.intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:center}
.intro-grid h2{font-family:Georgia,"Times New Roman",serif;color:var(--st-green);font-size:clamp(2rem,3vw,3rem);margin:.2rem 0 .8rem;line-height:1.08}
.intro-grid p{font-size:1.05rem;color:#454d45}
.amenity-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0 0;padding:0;list-style:none}
.amenity-list li{position:relative;padding-left:24px}
.amenity-list li:before{content:"✓";position:absolute;left:0;color:var(--st-olive);font-weight:900}
.intro-photo{border-radius:15px;overflow:hidden;box-shadow:var(--st-shadow)}
.intro-photo img{width:100%;height:100%;min-height:320px;object-fit:cover;display:block}

/* Footer */
.site-footer{background:#f3efe5;border-top:1px solid #ddd6c7}
.footer-top{padding:34px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.1fr .9fr 1fr 1.3fr;gap:26px}
.footer-block h4{font-size:.88rem;text-transform:uppercase;letter-spacing:.08em;color:var(--st-green);margin:0 0 10px}
.footer-block p,.footer-block li{font-size:.9rem;color:#495047;margin:.2rem 0}
.footer-block ul{list-style:none;margin:0;padding:0}
.footer-block a{font-weight:650}
.footer-bottom{background:var(--st-green);color:#fff;padding:14px 0;font-size:.86rem}
.footer-bottom .container{display:flex;justify-content:space-between;gap:20px;align-items:center}
.footer-legal{display:flex;gap:16px;flex-wrap:wrap}
.footer-bottom a{color:#fff}

/* Utilities */
.notice{padding:13px 15px;border-left:4px solid var(--st-olive);background:#f3f5e9;margin:20px 0}
hr.wp-block-separator{border:0;border-top:1px solid var(--st-border);margin:34px 0}

@media (max-width:1080px){
  .site-header.is-home-header .brand-wrap,.site-header.is-inner-header .brand-wrap{width:230px;flex-basis:230px}
  .site-header.is-home-header .brand-logo,.site-header.is-inner-header .brand-logo{width:220px}
  .primary-nav ul{gap:20px}
  .header-phone{display:none}
  .home-grid{grid-template-columns:repeat(2,1fr)}
  .calendar-card{min-height:330px}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:800px){
  .container{width:min(100% - 28px,1180px)}
  .site-header.is-home-header{min-height:72px}
  .site-header.is-home-header .header-inner{min-height:72px}
  .site-header.is-home-header .brand-wrap{width:130px;flex-basis:130px}
  .site-header.is-home-header .brand-logo{width:150px;top:5px}
  .site-header.is-inner-header{min-height:88px}
  .site-header.is-inner-header .header-inner{min-height:88px}
  .site-header.is-inner-header .brand-wrap{width:140px;flex-basis:140px}
  .site-header.is-inner-header .brand-logo{width:132px;position:relative;top:auto;left:auto}
  .menu-toggle{display:block}
  .primary-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;border-top:1px solid #eee;box-shadow:0 10px 20px rgba(0,0,0,.08)}
  .site-header.is-inner-header .primary-nav{top:88px}
  .primary-nav.open{display:block}
  .primary-nav ul{display:block;padding:8px 20px 16px}
  .primary-nav a{padding:12px 4px;border-bottom:1px solid #eee}
  .hero{min-height:570px;background-position:56% center}
  .hero-inner{padding-top:140px;padding-bottom:110px}
  .hero:before{background:linear-gradient(90deg,rgba(8,20,11,.82),rgba(8,20,11,.47) 72%,rgba(8,20,11,.15))}
  .home-panels{margin-top:-60px}
  .home-grid{grid-template-columns:1fr}
  .intro-grid{grid-template-columns:1fr}
  .intro-photo{order:-1}
  .amenity-list{grid-template-columns:1fr 1fr}
  .service-grid{grid-template-columns:1fr 1fr}
  .st-contact-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .site-header.is-home-header .brand-wrap{width:115px;flex-basis:115px}
  .site-header.is-home-header .brand-logo{width:132px}
  .site-header.is-inner-header{min-height:82px}
  .site-header.is-inner-header .header-inner{min-height:82px;gap:18px}
  .site-header.is-inner-header .brand-wrap{width:118px;flex-basis:118px}
  .site-header.is-inner-header .brand-logo{width:112px}
  .hero{min-height:600px}
  .hero-inner{padding-top:125px}
  .hero p{font-size:1rem}
  .hero-actions{display:grid}
  .button{width:100%}
  .home-panels{margin-top:-44px}
  .panel-shell{padding:9px}
  .amenity-list,.service-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom .container{align-items:flex-start;flex-direction:column}
  .page-hero{padding-top:38px}
  .site-main{padding-top:34px}
}
