/*
Theme Name: Schnitzweg Andermatt
Description: Editable Schnitzweg website with guided setup and companion booking plugin.
Version: 1.0.1
Requires at least: 6.5
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: schnitzweg
*/

:root{--paper:#f3efe5;--ink:#30271f;--red:#bd0030;--forest:#29372a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #216db8;outline-offset:3px}.page{max-width:1280px;margin:auto;background:var(--paper);box-shadow:0 0 50px #0002}header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 1.5% 0 3.5%;gap:20px}.brand{width:20%;min-width:160px}.brand img{width:100%;display:block}nav{display:flex;gap:24px;font-size:12px;font-weight:bold;white-space:nowrap}nav a{padding:10px 0}nav .active{color:var(--red);border-bottom:2px solid var(--red)}.partner{width:12%;min-width:100px}.partner img{width:100%;display:block}.languages{font-size:10px;padding:9px 8px;border:1px solid #d8d1c5;border-radius:3px;white-space:nowrap}.hero{position:relative}.hero img{display:block;width:100%;height:auto}.hero-link{position:absolute;left:4.8%;top:68.3%;width:17.8%;height:10.1%;border-radius:5px}.hero-link:hover{box-shadow:0 0 0 3px #fff8}.hero-copy{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}h1,h2,h3{font-family:Impact,'Arial Narrow','DejaVu Sans',sans-serif;font-stretch:condensed;letter-spacing:-.5px;margin:0 0 12px;line-height:1.1}h2{font-size:25px;font-weight:900}h3{font-size:17px;font-weight:900}p{line-height:1.45;margin:0 0 8px;font-size:14px}.welcome{display:grid;grid-template-columns:40% 58%;gap:2%;padding:16px 4.9% 20px;min-height:219px}.welcome-copy{padding-top:0}.facts-wrap{position:relative;padding-top:47px}.mountain{position:absolute;width:80%;height:56px;object-fit:contain;top:-7px;left:12%;mix-blend-mode:multiply}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.fact{border:2px solid #e6e0d5;border-radius:8px;text-align:center;padding:9px 7px 12px;min-height:141px;background:#f2eee580}.fact svg{width:34px;height:34px;stroke:var(--red);fill:none;stroke-width:2.7;margin-bottom:5px}.fact strong{font-size:13px;display:block;margin-bottom:10px}.fact p{font-size:14px;line-height:1.25}.fact small{font-size:12px}.stations{position:relative}.stations img{display:block;width:100%}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}.content{display:grid;grid-template-columns:minmax(0,2.125fr) minmax(0,1fr);padding:9px 2.2% 12px;gap:12px}.left{min-width:0}.cards{display:grid;grid-template-columns:1.05fr 1fr;gap:11px}.card{background:#efeade55;border:1px solid #e8e1d4}.card img{display:block;width:100%;aspect-ratio:1.71;object-fit:cover}.card-copy{padding:11px 16px 12px}.card h3{margin-bottom:8px}.card p{font-size:12px}.aside{padding-right:0}.prices{background:#eee8dd77;padding:14px 17px 13px;margin-bottom:36px;min-height:249px}.prices h2{font-size:24px}.price{display:flex;align-items:flex-start;gap:16px;padding:12px 8px;background:#f6f3edaa}.price+.price{margin-top:3px}.price svg{width:34px;height:39px;fill:#4c3021;flex-shrink:0}.price strong{font-size:12px;display:block;margin-bottom:5px}.price b{font-size:19px;display:block}.price p{font-size:12px;line-height:1.25}.bottom{display:grid;grid-template-columns:62% 36%;gap:2%;margin-top:13px}.rules,.hours{background:#eee8dd77;padding:16px 12px}.rules h3,.hours h3{font-size:21px;margin-bottom:12px}.rules-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.rule{background:#f5f1e9aa;text-align:center;padding:8px 3px;font-size:11px;line-height:1.3;min-height:83px}.rule svg{width:30px;height:35px;fill:#25261d;display:block;margin:0 auto 5px}.rule.no svg{fill:var(--red)}.hours{padding:16px 10px}.hours strong{font-size:12px;display:block;margin-bottom:12px}.hours dl{font-size:11px;margin:0 0 18px}.hours dl div{display:flex;justify-content:space-between;gap:7px;padding:5px 0}.hours dd{margin:0;white-space:nowrap}.booking{padding:14px 23px 20px;background:linear-gradient(#10324b33,#10324b11),url('assets/booking.jpg') center/cover;min-height:269px;color:white}.booking h2{font-size:24px;margin-bottom:4px}.booking>p{font-size:10px;margin-bottom:10px}.booking form{background:#fff;color:#292721;padding:11px;border-radius:5px}.field{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:10px}.field label{flex:1}.field input[type=date]{width:115px;padding:6px;border:1px solid #d6d6d6;background:#fafafa;font-size:10px}.count{display:flex;border:1px solid #d8d8d8;border-radius:3px;overflow:hidden}.count button{padding:5px 9px;border:0;background:#f5f5f5}.count input{width:42px;border:0;text-align:center;font-size:12px;-moz-appearance:textfield}.count input::-webkit-inner-spin-button{appearance:none}.level-title{font-size:10px;margin-bottom:6px}.levels{display:flex;gap:5px;margin-bottom:14px}.levels button{flex:1;color:white;border:0;border-radius:4px;font-size:10px;padding:7px 3px;background:#065398}.levels button:nth-child(2){background:var(--red)}.levels button:nth-child(3){background:#17232c}.levels button[aria-pressed=true]{outline:2px solid #8c795c;outline-offset:2px}.submit{background:var(--red);color:white;border:0;border-radius:4px;padding:11px 5px;width:100%;font-size:12px;font-weight:bold}.submit:hover{background:#a50029}.note{font-size:11px;line-height:1.4;padding-top:8px;color:#5f4b37}.note:empty{display:none}footer{background:#513c2a;color:#f5f0e8;min-height:97px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 3.8%}footer p{font-size:12px}footer small{font-size:11px;color:#e7dacb}.footer-links{display:flex;gap:15px;font-size:10px}.signature{font-family:Georgia,serif;font-style:italic;font-size:21px;transform:rotate(-6deg);line-height:1.2}.footer-shield{font-family:Georgia,serif;text-align:center;font-size:15px}.footer-shield span{display:block;color:#fff;font-size:29px;text-shadow:1px 1px var(--red)}
@media(min-width:1150px){header{height:80px}nav{font-size:14px}.welcome{padding-top:24px;padding-bottom:27px}h2{font-size:29px}p{font-size:16px}.fact{min-height:170px;padding:15px 8px}.fact strong{font-size:15px}.fact p{font-size:16px}.facts-wrap{padding-top:52px}.card p{font-size:14px}.card h3{font-size:20px}.price strong{font-size:14px}.price p{font-size:14px}.prices{min-height:300px}.rules h3,.hours h3{font-size:24px}.rule{font-size:13px;min-height:105px}.hours strong{font-size:14px}.hours dl{font-size:13px}.booking{min-height:328px}.booking>p,.field,.level-title{font-size:12px}.booking form{padding:14px}.levels button{font-size:12px}.field input[type=date]{width:142px;font-size:12px}.submit{font-size:14px;padding:14px}.signature{font-size:25px}}
@media(max-width:760px){header{height:auto;flex-wrap:wrap;padding:8px 4%;gap:10px}.brand{width:44%;min-width:0}.partner{width:25%;min-width:0;margin-left:auto}.languages{font-size:9px}nav{order:4;width:100%;justify-content:space-between;gap:8px;font-size:11px}.hero{overflow:hidden}.hero img{width:145%;max-width:none}.hero-link{left:7%;top:68.3%;width:25.8%}.welcome{grid-template-columns:1fr;padding:23px 5%;gap:12px}.facts-wrap{padding-top:45px}.fact{min-height:137px;padding:8px 4px}.fact strong{font-size:11px}.fact p{font-size:12px}.fact small{font-size:10px}.content{grid-template-columns:1fr;padding:12px 4%;gap:16px}.bottom{grid-template-columns:1fr}.rules{margin-bottom:10px}.rule{font-size:12px}.hours dl{font-size:13px}.hours strong{font-size:14px}.hours dl div{max-width:340px}.aside{display:grid;grid-template-columns:1fr 1fr;gap:12px}.prices{margin:0;padding:12px}.booking{padding:12px}.price{padding:10px 2px;gap:8px}.price svg{width:25px}.booking h2{font-size:20px}.field{flex-wrap:wrap}.field input[type=date]{width:100%}.count{margin-left:auto}footer{flex-wrap:wrap;gap:20px}.signature{font-size:18px}}@media(max-width:460px){.cards,.aside{grid-template-columns:1fr}.cards{gap:14px}.card p{font-size:14px}.card h3{font-size:19px}.prices{min-height:0}.price{padding:12px}.booking{min-height:290px}.booking>p{font-size:12px}.field,.level-title{font-size:12px}.field input[type=date]{width:130px;font-size:12px}.levels button{font-size:12px}.submit{font-size:14px}.stations{overflow:auto}.stations img{min-width:700px}.languages{padding:6px 4px}.facts{grid-template-columns:repeat(2,1fr)}.fact strong{font-size:13px}.fact p{font-size:14px}.fact small{font-size:12px}}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:15px;top:15px;background:white;padding:12px;z-index:100}header nav ul{display:flex;gap:22px;margin:0;padding:0;list-style:none}header nav li{list-style:none}.native-hero{position:relative;min-height:414px;padding:43px 4.9% 30px;background-size:cover;background-position:center;clip-path:polygon(0 0,100% 0,100% 97%,91% 99%,81% 97%,69% 100%,58% 98%,45% 100%,34% 98%,23% 99%,12% 96%,0 98%)}.native-hero-copy{max-width:440px;color:#fff}.native-hero h1{font-size:66px;line-height:.96;margin:0 0 12px;letter-spacing:-2px}.native-hero h2{font:700 16px Arial,sans-serif;letter-spacing:0;margin:0 0 12px}.native-hero p{max-width:360px;font-size:14px}.red-button{display:inline-block;padding:14px 24px;margin:8px 0 22px;border-radius:4px;background:var(--red);color:white;font-weight:bold}.native-hero .signature{margin-left:150px;font-size:24px}.fact-symbol{display:block;color:var(--red);font-size:39px;line-height:40px;margin-bottom:9px}.native-stations{background:#2d3829;color:#f6f3e9;padding:24px 4.8% 20px;clip-path:polygon(0 2%,9% 0,20% 2%,34% 1%,46% 3%,62% 0,76% 2%,88% 0,100% 2%,100% 100%,0 100%)}.native-stations h2{font-size:27px;letter-spacing:1px}.station-row{display:grid;grid-template-columns:repeat(6,1fr) 1.5fr;gap:14px}.station{position:relative;text-align:center;min-height:98px}.station:not(:nth-child(6))::after{content:'⤳';position:absolute;right:-17px;top:6px;color:#d8d7c4;font-size:28px}.station-number{display:block;margin-bottom:5px;color:#fff;background:var(--red);border:2px solid #eee;border-radius:50%;width:27px;height:27px;line-height:23px;font-weight:bold}.station-icon{display:block;font-size:30px;margin-bottom:7px}.station strong{font-size:13px;font-weight:600}.station-sign{align-self:center;background:#785030;border:3px solid #4b321f;padding:16px 7px;font-size:20px;text-align:center}.rule-symbol{display:block;font-size:32px;line-height:38px}.person-symbol{font-size:32px}.sw-page-content{padding:40px 5%;min-height:60vh}.sw-page-content h1{font-size:36px}.sw-page-content p{font-size:16px}.sw-page-content a{text-decoration:underline}.booking-unavailable{background:#fff;color:#333;padding:20px;border-radius:4px}.booking form input,.booking form select,.booking form textarea{max-width:100%}.booking{min-height:290px}.booking form .swb-field{font-size:12px}footer{margin-top:0}
@media(min-width:1150px){.native-hero{min-height:500px;padding-top:57px}.native-hero h1{font-size:80px}.native-hero h2{font-size:19px}.native-hero p{font-size:16px}.native-hero-copy{max-width:540px}.station strong{font-size:15px}}
@media(max-width:760px){.native-hero{min-height:415px;background-position:70% center}.native-hero h1{font-size:54px}.native-hero-copy{max-width:390px}.native-hero .signature{margin-left:100px}.native-stations{padding:22px 5%}.station-row{grid-template-columns:repeat(3,1fr)}.station-sign{grid-column:1/-1;max-width:280px;justify-self:center}.station:nth-child(3)::after{display:none}.native-stations h2{font-size:24px}.station strong{font-size:12px}header nav ul{gap:12px;flex-wrap:wrap}.sw-page-content{padding:30px 5%}}
@font-face{font-family:Barlow Condensed;src:url('assets/BarlowCondensed-ExtraBold.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}h1,h2,h3{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;font-weight:800;letter-spacing:0}.native-hero h1{letter-spacing:-1px}.native-hero h2{font-family:Arial,Helvetica,sans-serif}
.sw-icon{width:34px;height:36px;object-fit:contain;display:block}.fact .sw-icon{margin:0 auto 9px}.rule .sw-icon{margin:0 auto 6px;width:30px;height:35px}.station .sw-icon{margin:0 auto;filter:brightness(0) invert(1);height:30px}.price>.sw-icon{width:34px;flex-shrink:0}.native-hero{background-position:right center}.swb-form p,.swb-form label{overflow-wrap:anywhere}
@media(min-width:761px){.native-hero h2{white-space:nowrap}}@media(max-width:600px){.aside{grid-template-columns:1fr}}
