/*
Theme Name: Sammakkolammen Kämppäkartano
Theme URI: https://kamppakartano.fi/
Author: Sammakkolammen Kämppäkartano
Description: Metsästys-, lohenpyynti- ja majoituspalveluiden premium-teema varauskalenterilla.
Version: 1.0.5
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: kamppakartano
*/
:root{--forest:#173b2b;--deep:#0b2118;--moss:#617255;--cream:#f2ead6;--gold:#c89b52;--white:#fff;--ink:#17241d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:.55rem clamp(1rem,4vw,4rem);background:rgba(8,28,20,.92);backdrop-filter:blur(12px);color:#fff}.site-logo img{display:block;width:clamp(145px,16vw,220px);height:70px;object-fit:contain;filter:brightness(0) invert(1)}.site-nav{display:flex;align-items:center;gap:1.35rem;font-weight:700}.site-nav a{text-decoration:none}.menu-toggle{display:none;background:none;border:1px solid #fff;color:#fff;border-radius:8px;padding:.5rem}.hero{min-height:850px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(5,22,15,.88),rgba(5,22,15,.32)),url(assets/images/hero.png) center/cover no-repeat;color:#fff;padding:8rem clamp(1rem,5vw,5rem) 4rem}.hero-inner{width:min(1200px,100%);margin:auto;display:grid;grid-template-columns:1.05fr .85fr;align-items:center;gap:clamp(2rem,6vw,6rem)}.hero-copy{max-width:680px}.eyebrow{margin:0 0 .6rem;color:var(--gold);font-size:.8rem;font-weight:900;letter-spacing:.22em}.hero h1{font-family:Georgia,serif;font-size:clamp(3rem,6vw,6.2rem);line-height:.96;margin:.2rem 0 1.2rem}.hero p:not(.eyebrow){font-size:1.15rem;max-width:600px}.hero-logo{padding:clamp(1.2rem,3vw,2.6rem);border-radius:24px;background:rgba(244,237,218,.93);box-shadow:0 28px 80px rgba(0,0,0,.4)}.hero-logo img{display:block;width:100%;filter:brightness(0) saturate(100%) invert(17%) sepia(20%) saturate(937%) hue-rotate(103deg) brightness(87%)}.button{display:inline-block;margin-top:1rem;padding:.9rem 1.25rem;border:0;border-radius:999px;background:var(--gold);color:#14251c;text-decoration:none;font-weight:900;cursor:pointer}.section{padding:clamp(4rem,8vw,8rem) clamp(1rem,5vw,5rem)}.section-inner{width:min(1200px,100%);margin:auto}.section h2{font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,4rem);line-height:1.08;margin:.3rem 0 2rem}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.service-grid article{min-height:220px;padding:1.6rem;border:1px solid rgba(23,59,43,.17);border-radius:18px;background:#faf6eb}.service-grid h3{font-family:Georgia,serif;font-size:1.35rem}.video-section{background:var(--deep);color:#fff}.video-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,460px);align-items:center;justify-content:center;gap:3rem}.video-frame{position:relative;width:min(100%,460px);aspect-ratio:9/16;justify-self:center;overflow:hidden;border-radius:20px;background:#000;box-shadow:0 22px 60px #0008}.video-frame iframe{display:block;width:100%;height:100%;border:0}.booking-section{background:#e5e1cf}.booking-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem}.calendar-card,.booking-form{padding:clamp(1.2rem,3vw,2.2rem);border-radius:20px;background:#fff;box-shadow:0 15px 45px rgba(16,44,31,.09)}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.calendar-head button{border:0;background:var(--forest);color:#fff;border-radius:50%;width:40px;height:40px;cursor:pointer}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.calendar-grid span,.calendar-grid button{display:grid;place-items:center;min-height:42px;border:0;border-radius:8px}.calendar-grid .weekday{font-size:.72rem;font-weight:900;color:#627064}.calendar-grid button{background:#dcebdc;color:#173b2b;cursor:pointer}.calendar-grid button.busy{background:#815343;color:#fff;cursor:not-allowed}.calendar-grid button.pending{background:#d3aa63;color:#261b09;cursor:not-allowed}.legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem;font-size:.9rem}.legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:.35rem}.booking-form label{display:block;margin:.8rem 0;font-size:.85rem;font-weight:800}.booking-form input,.booking-form textarea,.booking-form select{width:100%;margin-top:.3rem;padding:.8rem;border:1px solid #b8c0b9;border-radius:9px;font:inherit}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.notice{padding:1rem;border-radius:10px;background:#dcebdc;margin-bottom:1rem}.payments{background:#faf6eb}.payment-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.payment-row article{padding:1.3rem;border-left:3px solid var(--gold);background:#f4eedc;border-radius:0 12px 12px 0}.payment-row h3{margin:0}.people{display:grid;grid-template-columns:repeat(2,minmax(275px,1fr));gap:1.25rem}.person{display:grid;grid-template-columns:135px minmax(125px,1fr);align-items:center;gap:1.25rem;padding:0;background:transparent;color:#fff}.person img{width:135px;height:165px;object-fit:cover;border-radius:14px;border:1px solid #ffffff40}.person h3{margin:0 0 .35rem;color:#fff;font-size:1.25rem}.person a{display:inline-block;color:#fff;font-size:1rem;font-weight:800;line-height:1.3;white-space:nowrap;text-decoration:none;border-bottom:1px solid var(--gold)}.site-footer{padding:4rem clamp(1rem,5vw,5rem);background:#071b13;color:#fff}.footer-inner{width:min(1200px,100%);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem}.socials{display:flex;gap:.8rem}.socials a{padding:.65rem 1rem;border:1px solid #ffffff55;border-radius:999px;text-decoration:none}.copyright{margin-top:3rem;color:#ffffff99;font-size:.85rem}
@media(max-width:900px){.site-nav{display:none;position:absolute;top:81px;left:0;right:0;padding:1rem;background:var(--deep);flex-direction:column}.site-nav.open{display:flex}.menu-toggle{display:block}.hero{min-height:auto}.hero-inner,.video-grid,.booking-grid,.footer-inner{grid-template-columns:1fr}.hero-logo{order:-1;max-width:460px;margin:2rem auto 0}.service-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.hero{padding-top:7rem}.service-grid,.payment-row,.people,.form-row{grid-template-columns:1fr}.person{grid-template-columns:105px minmax(125px,1fr)}.person img{width:105px;height:125px}.calendar-grid span,.calendar-grid button{min-height:38px}}





