/*
Theme Name: Huutokoski
Theme URI: https://huutokoski.fi
Description: Taimisto Huutokoski – verkkosivuteema. Brändi-ilme (kasvu/verso/havu-vihreät, Schibsted Grotesk + Open Sans) sekä taimien sisältötyyppi (CPT 'taimi') ACF Pro -kentillä ja taimihaku. Suunniteltu Gutenberg-lohkoille.
Author: Bang / Aava & Bang
Version: 2.0.0
Requires at least: 6.1
Requires PHP: 7.4
Text Domain: huutokoski
*/

/* ============================================================
   Brändi-tokenit (brand-guidelines/tokens.json)
   ============================================================ */
:root{
  --kasvu:#099944; --kasvu-ink:#077A36; --verso:#4DB848; --verso-border:#3D9439;
  --havu:#04451F; --oksa:#73A533;
  --kasvu-10:#E6F5EC; --kasvu-20:#CDEBD9;
  --n0:#FFFFFF; --n50:#FAFAFA; --n100:#F2F2F2; --n300:#CCCCCC;
  --n500:#999999; --n600:#5E5E5E; --n800:#333333; --n900:#222222;
  --success:#099944; --success-surface:#E6F5EC;
  --warning:#B26A00; --warning-surface:#FBF0DC;
  --error:#C0392B;   --error-surface:#FAE8E6;
  --info:#2D6A8A;    --info-surface:#E7F0F5;
  --inverse:#04451F; --inverse-text:#FFFFFF; --inverse-text-muted:#B9D9C6;
  --font-display:'Schibsted Grotesk','Open Sans',system-ui,sans-serif;
  --font-body:'Open Sans','Segoe UI',system-ui,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,monospace;
  --maxw:1200px; --gutter:24px;
  --r-sm:2px; --r-md:4px; --r-lg:8px;
  --shadow-sm:0 1px 2px rgba(4,69,31,.08);
  --shadow-md:0 2px 8px rgba(4,69,31,.10);
  --shadow-lg:0 8px 24px rgba(4,69,31,.14);
  --section:96px;
}

/* ============================================================ Perusta ============================================================ */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--n800);background:var(--n0);overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--n900);line-height:1.15;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:49px;line-height:1.1;letter-spacing:-.015em}
h2{font-size:39px}
h3{font-size:31px;letter-spacing:-.005em}
h4{font-size:25px;letter-spacing:0}
h5{font-size:20px}
h6{font-size:16px}
p{margin:0 0 1em}
a{color:var(--kasvu-ink);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
strong{font-weight:700}
hr{border:0;border-top:1px solid var(--n300);margin:var(--section) 0}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
@media(max-width:768px){ h1{font-size:36px} h2{font-size:30px} h3{font-size:25px} :root{--section:64px} }

.is-style-lead,.lead{font-size:18px;line-height:1.6;color:var(--n600)}
.eyebrow{font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--kasvu-ink);margin:0 0 8px}

/* ============================================================ Painikkeet ============================================================ */
.btn,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:16px;line-height:1;padding:12px 24px;min-height:44px;border-radius:var(--r-md);border:1px solid transparent;cursor:pointer;text-decoration:none}
.btn-primary,.wp-block-button:not(.is-style-outline) .wp-block-button__link{background:var(--kasvu);color:#fff}
.btn-primary:hover,.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{background:var(--kasvu-ink);color:#fff;text-decoration:none}
.btn-secondary,.is-style-outline .wp-block-button__link{background:transparent;color:var(--kasvu-ink);border-color:var(--kasvu)}
.btn-secondary:hover,.is-style-outline .wp-block-button__link:hover{background:var(--kasvu-10);text-decoration:none}

/* ============================================================ Header ============================================================ */
.site-header{position:sticky;top:0;z-index:50;background:var(--n0);border-bottom:1px solid var(--n300)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px}
.site-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:-.01em;color:var(--havu)}
.site-brand a{color:var(--havu)}
.site-brand a:hover{text-decoration:none}
.site-brand .leaf{width:26px;height:26px;flex:0 0 auto;color:var(--kasvu)}
.main-nav{display:flex;align-items:center}
.main-nav .nav-menu{display:flex;flex-wrap:wrap;gap:4px;align-items:center;list-style:none;margin:0;padding:0}
.main-nav li{position:relative;list-style:none;margin:0;padding:0}
.main-nav a{display:block;font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--n800);padding:8px 12px;border-radius:var(--r-md);white-space:nowrap}
.main-nav a:hover{color:var(--kasvu-ink);background:var(--kasvu-10);text-decoration:none}
.main-nav .current-menu-item>a,.main-nav .current_page_item>a,.main-nav .current-menu-ancestor>a,.main-nav a.active{color:var(--kasvu-ink)}
/* Parent-kohdan nuoli */
.main-nav .menu-item-has-children>a{display:inline-flex;align-items:center;gap:5px}
.main-nav .menu-item-has-children>a::after{content:"";width:7px;height:7px;margin:-3px 0 0 1px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);opacity:.65}
/* Pudotusvalikko (sub-menu) */
.main-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;background:#fff;border:1px solid var(--n300);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:6px;margin:0;list-style:none;z-index:60}
.main-nav .menu-item-has-children:hover>.sub-menu,
.main-nav .menu-item-has-children:focus-within>.sub-menu{display:block}
.main-nav .sub-menu a{padding:9px 12px;font-weight:500}
/* Korostettu tarjouspyyntö-nappi */
.nav-cta{background:var(--kasvu);color:#fff !important;margin-left:10px;white-space:nowrap}
.nav-cta:hover{background:var(--kasvu-ink) !important;color:#fff !important;text-decoration:none}
/* Kirjautumisikoni */
.nav-login,.main-nav a.nav-login{display:inline-flex;align-items:center;gap:7px;margin-left:4px;color:var(--n800);padding:8px 10px;border-radius:var(--r-md)}
.nav-login:hover{color:var(--kasvu-ink);background:var(--kasvu-10);text-decoration:none}
.nav-login.is-in{color:var(--kasvu-ink)}
.nav-login .login-ico{width:21px;height:21px;flex:0 0 auto;color:var(--kasvu)}
.nav-login:hover .login-ico{color:var(--kasvu-ink)}
.nav-login-label{display:none;font-family:var(--font-display);font-weight:600;font-size:15px}
/* Hakuikoni headerissa (kirjautumisen oikealla) */
.nav-search{display:inline-flex;align-items:center;gap:7px;margin-left:2px;padding:8px 10px;border:0;border-radius:var(--r-md);background:none;color:var(--n800);cursor:pointer;font:inherit}
.nav-search:hover{color:var(--kasvu-ink);background:var(--kasvu-10)}
.nav-search .search-ico{width:20px;height:20px;flex:0 0 auto;color:var(--kasvu)}
.nav-search:hover .search-ico{color:var(--kasvu-ink)}
.nav-search-label{display:none;font-family:var(--font-display);font-weight:600;font-size:15px}
/* Header oikean reunan toiminnot (mobiili: Valikko + haku) */
.header-actions{display:contents}
.nav-search-mobile{display:none;align-items:center;justify-content:center;padding:8px;border:1px solid var(--n300);border-radius:var(--r-md);background:none;color:var(--kasvu);cursor:pointer}
.nav-search-mobile:hover{background:var(--kasvu-10);color:var(--kasvu-ink)}
.nav-search-mobile .search-ico{width:22px;height:22px;flex:0 0 auto}
/* ===== Hakumodaali (koko sivun peittävä) ===== */
.search-modal{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column}
.search-modal[hidden]{display:none}
.search-modal-bg{position:absolute;inset:0;background:rgba(4,69,31,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.search-modal-panel{position:relative;background:var(--n0);width:100%;max-height:100dvh;display:flex;flex-direction:column;box-shadow:var(--shadow-md);animation:searchDrop .18s ease}
@keyframes searchDrop{from{transform:translateY(-14px);opacity:.5}to{transform:none;opacity:1}}
.search-modal-bar{display:flex;align-items:center;gap:12px;padding:18px var(--gutter);border-bottom:1px solid var(--n300)}
.search-modal-bar .search-ico{width:24px;height:24px;flex:0 0 auto;color:var(--kasvu)}
.search-modal-input{flex:1 1 auto;min-width:0;border:0;outline:0;background:none;font-family:var(--font-display);font-weight:500;font-size:22px;color:var(--n900)}
.search-modal-input::placeholder{color:var(--n500)}
.search-modal-close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:0;background:none;border-radius:var(--r-md);color:var(--n600);cursor:pointer}
.search-modal-close:hover{background:var(--n100);color:var(--n900)}
.search-modal-close svg{width:22px;height:22px}
.search-modal-body{flex:1 1 auto;overflow-y:auto;padding:18px var(--gutter) 48px}
.search-modal-hint{color:var(--n500);font-size:15px;margin:6px 0}
.search-results{display:flex;flex-direction:column;gap:2px;margin-top:4px}
.search-result{display:flex;align-items:center;gap:14px;padding:10px;border-radius:var(--r-md);text-decoration:none;color:inherit}
.search-result:hover,.search-result.is-active{background:var(--kasvu-10);text-decoration:none}
.sr-thumb{width:52px;height:52px;flex:0 0 auto;border-radius:var(--r-md);background:var(--kasvu-10) center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--n500);text-align:center;line-height:1.1}
.sr-body{min-width:0}
.sr-name{font-family:var(--font-display);font-weight:600;font-size:17px;color:var(--n900);line-height:1.2}
.sr-name mark{background:var(--kasvu-20);color:inherit;border-radius:2px;padding:0 1px}
.sr-sub{font-size:13px;color:var(--n600);margin-top:3px;display:flex;gap:6px 10px;flex-wrap:wrap;align-items:center}
.sr-latin{font-style:italic}
.search-all-link{display:inline-block;margin-top:20px;font-family:var(--font-display);font-weight:600;color:var(--kasvu-ink)}
body.search-open{overflow:hidden}
@media(max-width:600px){
  .search-modal-input{font-size:18px}
  .search-modal-bar{padding:14px var(--gutter)}
  .sr-thumb{width:44px;height:44px}
}
/* Login-huomautus tukkuhinnoista */
.login-note{margin:16px 0 0;font-size:14px;color:var(--n800);background:var(--kasvu-10);padding:12px 16px;border-radius:var(--r-md)}

/* ============================================================
   Yhteystiedot – henkilökortit
   ============================================================ */
.contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:8px 0 32px}
@media(max-width:680px){.contact-cards{grid-template-columns:1fr}}
.contact-card{display:flex;flex-direction:column;gap:16px;background:var(--n0);border:1px solid var(--n300);border-radius:var(--r-lg);padding:22px}
.contact-card:hover{box-shadow:var(--shadow-md);border-color:var(--oksa)}
.cc-head{display:flex;gap:18px;align-items:center}
.cc-photo,.cc-photo-ph{width:88px;height:88px;flex:0 0 auto;border-radius:var(--r-lg);object-fit:cover}
.cc-photo-ph{background:var(--kasvu-10);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:26px;color:var(--kasvu-ink)}
.cc-meta{min-width:0}
.cc-name{font-family:var(--font-display);font-size:20px;font-weight:600;line-height:1.2;margin:0;color:var(--n900)}
.cc-role{color:var(--kasvu-ink);font-family:var(--font-display);font-weight:600;font-size:14px;margin:3px 0 0}
.cc-region{color:var(--n600);font-size:14px;line-height:1.4;margin:6px 0 0}
.cc-contact{display:flex;flex-direction:column;gap:8px}
.cc-contact a{display:inline-flex;align-items:center;gap:10px;color:var(--n800);font-size:15px;text-decoration:none;word-break:break-word}
.cc-contact a:hover{color:var(--kasvu-ink);text-decoration:underline}
.cc-ico{width:18px;height:18px;flex:0 0 auto;color:var(--kasvu)}
.cc-note{font-size:12px;color:var(--n500);margin:-2px 0 0}
@media(max-width:420px){.cc-head{flex-direction:column;align-items:flex-start;gap:12px}}
/* Nouto-/osoitelaatikko */
.contact-pickup{background:var(--kasvu-10);border-radius:var(--r-lg);padding:20px 24px;margin:0 0 8px;display:flex;align-items:center;gap:12px}
.contact-pickup .cc-ico{width:22px;height:22px}
.contact-pickup p{margin:0;color:var(--havu);font-size:16px}
/* Yhteystieto-osio sivun sisällä (esim. Tukkumyynti) */
.contact-section{margin:48px 0 8px}
.contact-section-title{font-family:var(--font-display);font-size:28px;font-weight:600;color:var(--n900);margin:0 0 8px}
.contact-section-lead{color:var(--n600);font-size:17px;line-height:1.55;max-width:62ch;margin:0 0 20px}

/* ============================================================
   Uutiset – listaus + yksittäinen (vasen valikko)
   ============================================================ */
.news-list{display:grid;gap:16px;max-width:820px;margin:24px auto 0;padding-bottom:8px}
.news-item{display:block;background:var(--n0);border:1px solid var(--n300);border-radius:var(--r-lg);padding:22px 24px;text-decoration:none}
.news-item:hover{box-shadow:var(--shadow-md);border-color:var(--oksa);text-decoration:none}
.news-item .news-date{font-family:var(--font-mono);font-size:13px;color:var(--n600)}
.news-item .news-h{display:block;font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--n900);margin:4px 0 8px;line-height:1.25}
.news-item .news-ex{display:block;color:var(--n600);font-size:15px;line-height:1.55}
.news-item .news-more{display:inline-block;margin-top:12px;color:var(--kasvu-ink);font-family:var(--font-display);font-weight:600;font-size:14px}

.page-hero-news .eyebrow a{color:var(--inverse-text-muted)}
.page-hero-news .eyebrow a:hover{color:#fff}
.news-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:40px;align-items:start;padding:40px 0 var(--section)}
@media(max-width:900px){.news-layout{grid-template-columns:1fr;gap:24px}}
.news-nav{position:sticky;top:88px;max-height:calc(100vh - 104px);overflow-y:auto;padding-right:6px}
.news-nav h2{font-size:18px;margin:0 0 12px}
.news-nav ul{list-style:none;margin:0;padding:0}
.news-nav li{border-bottom:1px solid var(--n100)}
.news-nav a{display:block;padding:11px 10px;color:var(--n800);text-decoration:none;border-radius:var(--r-md)}
.news-nav a:hover{background:var(--kasvu-10);text-decoration:none}
.news-nav .current>a{background:var(--kasvu-10);box-shadow:inset 3px 0 0 var(--kasvu)}
.news-nav .news-date{display:block;font-family:var(--font-mono);font-size:12px;color:var(--n500);margin-bottom:2px}
.news-nav .news-title{display:block;font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--n900);line-height:1.3}
.news-content{max-width:760px}
.news-content > *:first-child{margin-top:0}
.news-content h2{margin-top:1.5em}
.news-content img{border-radius:var(--r-lg)}
@media(max-width:900px){.news-nav{position:static;max-height:none;border:1px solid var(--n300);border-radius:var(--r-lg);padding:16px}}

/* ============================================================
   Gravity Forms – brändityylit (brand-guidelines/tokens.json)
   ============================================================ */
/* Uudemman GF:n (orbital) muuttujat */
.gform-theme--framework,
.gform_wrapper.gravity-theme,
.gform_wrapper{
  --gf-color-primary:#099944;
  --gf-color-primary-rgb:9,153,68;
  --gf-color-primary-contrast:#FFFFFF;
  --gf-color-primary-darker:#077A36;
  --gf-color-primary-lighter:#4DB848;
  --gf-color-secondary:#FFFFFF;
  --gf-color-secondary-contrast:#04451F;
  --gf-ctrl-radius:4px;
  --gf-ctrl-border-color:#CCCCCC;
  --gf-ctrl-border-color-hover:#73A533;
  --gf-ctrl-border-color-focus:#099944;
  --gf-ctrl-bg-color-focus:#FFFFFF;
  --gf-radius:4px;
  --gf-font-family-base:'Open Sans','Segoe UI',sans-serif;
}

.gform_wrapper{font-family:var(--font-body);color:var(--n800);max-width:680px}
.gform_wrapper form{margin:0}
.gform_wrapper .gform_title{font-family:var(--font-display);font-size:25px;font-weight:600;color:var(--n900);margin:0 0 6px}
.gform_wrapper .gform_description{color:var(--n600);display:block;margin-bottom:8px}
.gform_wrapper .gfield{margin-bottom:18px}
.gform_wrapper .gfield_label,
.gform_wrapper legend.gfield_label{font-family:var(--font-body);font-weight:600;font-size:14px;color:var(--n800);margin:0 0 8px;display:block}
.gform_wrapper .gfield_required{color:var(--kasvu-ink);margin-left:2px}

.gform_wrapper input[type=text],
.gform_wrapper input[type=email],
.gform_wrapper input[type=tel],
.gform_wrapper input[type=url],
.gform_wrapper input[type=number],
.gform_wrapper input[type=password],
.gform_wrapper select,
.gform_wrapper textarea{
  width:100%;font-family:var(--font-body);font-size:16px;color:var(--n800);
  background:var(--n0);border:1px solid var(--n300)!important;border-radius:var(--r-md)!important;
  padding:0 16px;height:44px;line-height:1.4;box-shadow:none;-webkit-appearance:none;appearance:none}
.gform_wrapper textarea{height:auto;min-height:120px;padding:12px 16px}
.gform_wrapper input::placeholder,.gform_wrapper textarea::placeholder{color:var(--n500)}
.gform_wrapper input:focus,.gform_wrapper select:focus,.gform_wrapper textarea:focus{
  outline:none;border-color:var(--kasvu)!important;box-shadow:0 0 0 3px var(--kasvu-20)!important}
.gform_wrapper .gfield_description,.gform_wrapper .ginput_description{color:var(--n600);font-size:13px;margin-top:6px}

/* Radio & checkbox */
.gform_wrapper .gfield_radio .gchoice,
.gform_wrapper .gfield_checkbox .gchoice{display:flex;align-items:center;gap:0;margin:6px 0}
.gform_wrapper .gfield_radio label,.gform_wrapper .gfield_checkbox label{font-weight:400;font-size:15px;color:var(--n800);margin:0}
.gform_wrapper .gfield_radio input,.gform_wrapper .gfield_checkbox input{accent-color:var(--kasvu);width:auto;height:auto;margin:0 12px 0 0!important;flex:0 0 auto}

/* Validointi */
.gform_wrapper .gfield_error .gfield_label{color:var(--error)}
.gform_wrapper .gfield_error input,.gform_wrapper .gfield_error textarea,.gform_wrapper .gfield_error select{border-color:var(--error)!important}
.gform_wrapper .validation_message,.gform_wrapper .gfield_validation_message{color:var(--error);font-size:13px;margin-top:6px;background:none;border:0;padding:0}
.gform_wrapper .gform_validation_errors{background:var(--error-surface);border:1px solid var(--error);border-radius:var(--r-md);color:var(--error);box-shadow:none}
.gform_wrapper .gform_validation_errors .gform_submission_error{color:var(--error)}

/* Lähetä-nappi (primary-token) */
.gform_wrapper .gform_footer{margin-top:8px;padding-top:0}
.gform_wrapper .gform_button,
.gform_wrapper input[type=submit],
.gform_wrapper button[type=submit]{
  background:var(--kasvu)!important;color:#fff!important;border:1px solid transparent!important;border-radius:var(--r-md)!important;
  font-family:var(--font-display);font-weight:600;font-size:16px;padding:12px 28px;min-height:44px;width:auto;cursor:pointer;line-height:1}
.gform_wrapper .gform_button:hover,
.gform_wrapper input[type=submit]:hover,
.gform_wrapper button[type=submit]:hover{background:var(--kasvu-ink)!important}

/* Vahvistusviesti */
.gform_confirmation_message{background:var(--kasvu-10);color:var(--havu);padding:18px 22px;border-radius:var(--r-lg);font-size:16px;border:0}

/* Kirjautumis-dropdown */
.login-dd{position:relative;display:inline-flex}
.login-dd>summary{list-style:none;cursor:pointer}
.login-dd>summary::-webkit-details-marker{display:none}
.login-dd>summary::marker{content:""}
.login-panel{position:absolute;top:100%;right:0;margin-top:8px;width:288px;background:#fff;border:1px solid var(--n300);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:18px;z-index:70;text-align:left;color:var(--n800)}
.login-panel-title{font-family:var(--font-display);font-weight:600;font-size:16px;margin:0 0 12px;color:var(--n900)}
.login-panel .login-username,.login-panel .login-password{margin:0 0 10px}
.login-panel label{display:block;font-size:13px;font-weight:600;color:var(--n800);margin:0 0 4px}
.login-panel input[type=text],.login-panel input[type=password]{width:100%;height:42px;padding:0 12px;border:1px solid var(--n300);border-radius:var(--r-md);font-size:15px;font-family:var(--font-body);background:#fff}
.login-panel input[type=text]:focus,.login-panel input[type=password]:focus{outline:none;border-color:var(--kasvu);box-shadow:0 0 0 3px var(--kasvu-20)}
.login-panel .login-remember{display:flex;align-items:center;gap:7px;margin:4px 0 14px}
.login-panel .login-remember label{display:flex;align-items:center;gap:7px;font-weight:400;font-size:13px;color:var(--n600);margin:0}
.login-panel .login-remember input{width:auto;height:auto;margin:0}
.login-panel .login-submit{margin:0}
.login-panel .login-submit input{width:100%;background:var(--kasvu);color:#fff;border:none;border-radius:var(--r-md);min-height:44px;font-family:var(--font-display);font-weight:600;font-size:16px;cursor:pointer}
.login-panel .login-submit input:hover{background:var(--kasvu-ink)}
.login-error{background:var(--error-surface);color:var(--error);font-size:13px;padding:8px 10px;border-radius:var(--r-md);margin:0 0 12px}
.nav-toggle{display:none;background:none;border:1px solid var(--n300);border-radius:var(--r-md);padding:8px 10px;cursor:pointer;font-size:14px;font-family:var(--font-display);font-weight:600}
@media(max-width:900px){
  .header-actions{display:flex;align-items:center;gap:8px}
  .nav-search-mobile{display:inline-flex}
  .nav-toggle{display:inline-flex;align-items:center;gap:6px}
  .main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--n300);padding:8px 24px 16px}
  .site-header.open .main-nav{display:block}
  .main-nav .nav-menu{flex-direction:column;align-items:stretch;width:100%;gap:0}
  .main-nav>a{display:block}
  .main-nav a{padding:12px 8px;border-bottom:1px solid var(--n100)}
  .main-nav .menu-item-has-children>a::after{margin-left:auto;transform:rotate(45deg)}
  /* Alavalikot näkyviin sisennettynä mobiilissa */
  .main-nav .sub-menu{display:block;position:static;border:none;box-shadow:none;padding:0 0 0 14px;min-width:0}
  .main-nav .sub-menu a{border-bottom:1px solid var(--n100);font-weight:400}
  .nav-cta{display:block;margin:10px 0 0;text-align:center;border-bottom:none}
  .nav-login{margin:6px 0 0;border-top:1px solid var(--n100);padding-top:12px}
  .nav-login-label{display:inline}
  .nav-search{margin:6px 0 0}
  .nav-search-label{display:inline}
  .login-dd{display:block}
  .login-panel{position:static;width:auto;margin:0;border:none;box-shadow:none;padding:12px 0 0}
}

/* ============================================================ Sisältö / Gutenberg ============================================================ */
.site-main{min-height:50vh}
.page-hero{background:var(--havu);color:#fff;padding:var(--section) 0 64px}
.page-hero h1{color:#fff;margin:0 0 12px}
.page-hero .lead{color:var(--inverse-text-muted)}
.page-hero .eyebrow{color:var(--inverse-text-muted)}
/* Hero-kuva korvaa vihreän bannerin (sivun artikkelikuva) */
.page-hero-img{position:relative;background-color:var(--havu);background-size:cover;background-position:center;background-repeat:no-repeat;min-height:340px;display:flex;align-items:center;padding-top:72px;padding-bottom:72px}
.page-hero-img::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,69,31,.35),rgba(4,69,31,.70))}
.page-hero-img>.wrap{position:relative;z-index:1}
.page-hero-img .eyebrow,.page-hero-img .lead{color:rgba(255,255,255,.9)}
@media(max-width:768px){.page-hero-img{min-height:240px;padding-top:48px;padding-bottom:48px}}
.entry{padding:64px 0 var(--section)}
.entry>.wrap{max-width:820px}
.entry-wide>.wrap{max-width:var(--maxw)}
.entry h2{margin-top:1.6em}
.entry h3{margin-top:1.4em}
.entry ul,.entry ol{margin:0 0 1em;padding-left:1.4em}
.entry li{margin:.3em 0}
.entry img{border-radius:var(--r-lg)}
.entry figure{margin:1.5em 0}
.entry blockquote{margin:1.5em 0;padding:8px 0 8px 24px;border-left:3px solid var(--oksa);color:var(--n600);font-size:18px}
.entry table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:15px}
.entry table th,.entry table td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--n300)}
.entry table th{background:var(--kasvu-10);font-family:var(--font-display);font-weight:600;color:var(--havu)}

.alignwide{max-width:var(--maxw);margin-left:auto;margin-right:auto}
/* Täysleveä reunasta reunaan (100vw) missä tahansa sisältökontekstissa */
.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.has-text-align-center{text-align:center}
.has-kasvu-color{color:var(--kasvu)} .has-kasvu-background-color{background:var(--kasvu)}
.has-havu-color{color:var(--havu)}
.has-kasvu-10-background-color{background:var(--kasvu-10)}
.callout{background:var(--kasvu-10);border-radius:var(--r-lg);padding:24px 28px;margin:1.5em 0}
.callout p:last-child{margin-bottom:0}

/* ============================================================ Footer ============================================================ */
.site-footer{background:var(--havu);color:var(--inverse-text)}
.site-footer a{color:#fff}
.site-footer .wrap{padding-top:var(--section);padding-bottom:48px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr;gap:32px}}
.footer-brand .leaf{width:28px;height:28px;color:#fff}
.footer-brand strong{font-family:var(--font-display);font-size:22px;display:block;margin:8px 0}
.site-footer h4{color:#fff;font-size:15px;letter-spacing:.04em;text-transform:uppercase;margin:0 0 14px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:6px 0;color:var(--inverse-text-muted)}
.site-footer .muted{color:var(--inverse-text-muted)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:48px;padding-top:24px;font-size:13px;color:var(--inverse-text-muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}

/* Logot */
.brand-logo{height:40px;width:auto;display:block}
@media(max-width:600px){.brand-logo{height:34px}}
.footer-logo{height:50px;width:auto;display:block;margin-bottom:16px}
.footer-logos{display:flex;flex-wrap:wrap;align-items:center;gap:40px;padding:44px 0 4px;margin-top:40px;border-top:1px solid rgba(255,255,255,.15)}
.footer-logos img{height:40px;width:auto;opacity:.8}
.footer-logos img:hover{opacity:1}
@media(max-width:768px){.footer-logos{gap:28px}.footer-logos img{height:32px}}

/* ============================================================ Taimihaku ============================================================ */
.taimihaku-head{background:var(--havu);color:#fff;padding:64px 0 56px}
.taimihaku-head h1{margin:0 0 8px;color:#fff}
.taimihaku-head p{margin:0;color:var(--inverse-text-muted);font-size:18px}
.controls{position:sticky;top:72px;background:var(--n0);padding:16px 0;z-index:20;border-bottom:1px solid var(--n300)}
.controls .wrap{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
#taimi-search{flex:1;min-width:240px;height:44px;padding:0 16px;border:1px solid var(--n300);border-radius:var(--r-md);font-size:16px;font-family:var(--font-body);background:#fff}
#taimi-search:focus{outline:none;border-color:var(--kasvu);box-shadow:0 0 0 3px var(--kasvu-20)}
.cats{display:flex;flex-wrap:wrap;gap:8px}
.cat-btn{border:1px solid var(--n300);background:#fff;color:var(--n800);padding:8px 14px;border-radius:var(--r-md);cursor:pointer;font-size:14px;font-family:var(--font-display);font-weight:600}
.cat-btn:hover{border-color:var(--kasvu);color:var(--kasvu-ink)}
.cat-btn.active{background:var(--kasvu);color:#fff;border-color:var(--kasvu)}
.count{color:var(--n600);font-size:14px;margin:18px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px;padding-bottom:64px}
.card{background:#fff;border:1px solid var(--n300);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}
.card:hover{box-shadow:var(--shadow-md);border-color:var(--oksa)}
.card .thumb{aspect-ratio:4/3;background:var(--kasvu-10) center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:var(--n500);font-size:13px}
.card .body{padding:16px;display:flex;flex-direction:column;gap:4px;flex:1}
.card .name{font-family:var(--font-display);font-weight:600;font-size:17px;line-height:1.25;color:var(--n900)}
.card .latin{font-style:italic;color:var(--n600);font-size:13px}
.card .meta{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;padding-top:10px}
.card .cat{font-size:12px;color:var(--havu);background:var(--kasvu-10);padding:3px 8px;border-radius:var(--r-sm);font-weight:600}
.card .card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.card .zone{font-size:12px;color:var(--n600);background:var(--n100);padding:3px 8px;border-radius:var(--r-sm);font-weight:600;white-space:nowrap}
.card .price{font-family:var(--font-mono);font-weight:600;font-size:14px;color:var(--n900)}
.no-results{padding:48px 0;color:var(--n600)}

/* Taimihaku: vasen suodatinpalkki + tulokset */
.taimi-search-wrap{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;align-items:start;padding-top:32px;padding-bottom:64px}
.taimi-filters{position:sticky;top:88px;max-height:calc(100vh - 104px);overflow-y:auto;padding-right:6px}
.filter-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px}
.filter-head h2{font-size:20px;margin:0}
.filter-clear{background:none;border:none;color:var(--kasvu-ink);font-family:var(--font-display);font-weight:600;font-size:13px;cursor:pointer;padding:4px}
.filter-clear:hover{text-decoration:underline}
.facet{border-bottom:1px solid var(--n100)}
.facet:last-child{border-bottom:none}
.facet>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--n900);text-transform:uppercase;letter-spacing:.04em;padding:14px 2px;user-select:none}
.facet>summary::-webkit-details-marker{display:none}
.facet>summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--n600);border-bottom:2px solid var(--n600);transform:rotate(45deg);flex:0 0 auto}
.facet[open]>summary::after{transform:rotate(-135deg)}
.facet>summary:hover{color:var(--kasvu-ink)}
.facet-body{padding:0 2px 16px}
.facet select{width:100%;height:42px;padding:0 12px;border:1px solid var(--n300);border-radius:var(--r-md);font-size:15px;font-family:var(--font-body);background:#fff}
.facet select:focus{outline:none;border-color:var(--kasvu);box-shadow:0 0 0 3px var(--kasvu-20)}
.facet-hint{font-size:12px;color:var(--n600);margin:8px 0 0}
.facet-opt{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--n800);padding:5px 0;cursor:pointer}
.facet-opt input{width:auto;accent-color:var(--kasvu);flex:0 0 auto}
.results-top{display:flex;align-items:center;gap:16px;margin:0 0 18px;flex-wrap:wrap}
.results-top #taimi-search{flex:1;min-width:240px;height:44px;padding:0 16px;border:1px solid var(--n300);border-radius:var(--r-md);font-size:16px;background:#fff;font-family:var(--font-body)}
.results-top #taimi-search:focus{outline:none;border-color:var(--kasvu);box-shadow:0 0 0 3px var(--kasvu-20)}
.results-top .count{margin:0;color:var(--n600);font-size:14px;white-space:nowrap}
.taimi-results .grid{padding-bottom:0}
.filters-toggle{display:none}
@media(max-width:900px){
  .taimi-search-wrap{grid-template-columns:1fr;gap:16px}
  .filters-toggle{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--n300);border-radius:var(--r-md);padding:10px 14px;font-family:var(--font-display);font-weight:600;cursor:pointer;width:fit-content}
  .taimi-filters{position:static;display:none;border:1px solid var(--n300);border-radius:var(--r-lg);padding:16px}
  .taimi-filters.open{display:block}
}

/* Yksittäinen taimi */
.single-taimi{padding:40px 0 var(--section)}
.breadcrumb{color:var(--n600);font-size:14px;margin-bottom:16px}
.taimi-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:40px}
@media(max-width:760px){.taimi-layout{grid-template-columns:1fr;gap:24px}}
.taimi-img img{width:100%;border-radius:var(--r-lg)}
.taimi-img .placeholder{aspect-ratio:4/3;background:var(--kasvu-10);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;color:var(--n500)}
.taimi-title{font-size:39px;margin:0 0 4px}
.taimi-latin{font-style:italic;color:var(--n600);margin:0 0 14px;font-size:18px}
.taimi-cat{display:inline-block;font-size:12px;font-weight:600;color:var(--havu);background:var(--kasvu-10);padding:4px 10px;border-radius:var(--r-sm);margin-bottom:18px}
.taimi-desc{margin:0 0 24px;font-size:17px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.chip{font-size:13px;background:var(--n100);color:var(--n600);padding:5px 10px;border-radius:var(--r-sm)}
.chip strong{color:var(--n800)}
table.pricelist{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--n300);border-radius:var(--r-lg);overflow:hidden}
table.pricelist th,table.pricelist td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--n300);font-size:15px}
table.pricelist th{background:var(--kasvu-10);font-family:var(--font-display);font-weight:600;color:var(--havu)}
table.pricelist td:first-child,table.pricelist .mono{font-family:var(--font-mono)}
table.pricelist tr:last-child td{border-bottom:none}
.saldo{font-size:13px;color:var(--n600)}

/* ============================================================
   ETUSIVU – moduulit (video-hero, tilastot, kategoriat, CTA)
   ============================================================ */
.entry-front{padding:0}
.entry-front>*{margin-top:0;margin-bottom:0}

/* Täysleveä apuluokka kun sisältö ei ole .wrapissä */
.home-section{padding:var(--section) 0}
.home-section>.wrap{max-width:var(--maxw)}
.home-section .section-head{max-width:760px;margin:0 0 40px}
.home-section .eyebrow{margin-bottom:10px}
.home-section h2{margin:0 0 12px}
.home-section .section-head p{font-size:18px;color:var(--n600);margin:0}

/* Video-hero (Bruns-tyyli, koko levyinen taustavideo) */
.home-hero.wp-block-cover{min-height:calc(100vh - 72px)!important;min-height:calc(100dvh - 72px)!important;border-radius:0;align-items:center;color:#fff}
.home-hero .wp-block-cover__inner-container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px;text-align:left}
.home-hero .wp-block-cover__background{background:var(--havu) !important}
.home-hero video.wp-block-cover__video-background{object-fit:cover}
.home-hero h1{color:#fff;font-size:61px;line-height:1.04;margin:0 0 16px;max-width:16ch}
.home-hero .eyebrow{color:var(--inverse-text-muted)}
.home-hero .lead{color:#fff;opacity:.92;font-size:20px;max-width:46ch;margin:0 0 28px}
.home-hero .wp-block-buttons{gap:12px}
/* Hero-napit videon päällä: valkoiset reunat + valkoinen teksti, muuten läpinäkyvä.
   Hover: valkoinen tausta, vihreä teksti. */
.home-hero .is-style-outline .wp-block-button__link{background:transparent;color:#fff;border:2px solid #fff}
.home-hero .is-style-outline .wp-block-button__link:hover,
.home-hero .is-style-outline .wp-block-button__link:focus-visible{background:#fff;color:var(--kasvu-ink);border-color:#fff}
@media(max-width:768px){.home-hero.wp-block-cover{min-height:70vh}.home-hero h1{font-size:40px}}

/* Tilastokaista (Mauritz-tyyli, isot luvut) */
.stats-strip{background:var(--havu)!important;color:#fff;padding:64px 0}
.stats-strip>.wrap,.stats-strip .wp-block-columns{max-width:var(--maxw);margin:0 auto;gap:24px}
.stats-strip .wp-block-column{text-align:center;padding:8px}
.stats-strip .stat-num{font-family:var(--font-display);font-weight:700;font-size:49px;line-height:1;color:#fff;margin:0 0 6px;letter-spacing:-.02em}
.stats-strip .stat-label{color:var(--inverse-text-muted);font-size:15px;margin:0;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:768px){.stats-strip .stat-num{font-size:36px}}

/* Arvolupaukset (Bruns 3 saraketta) */
.feature-cols .wp-block-column h3{font-size:22px;margin:0 0 8px}
.feature-cols .wp-block-column p{color:var(--n600);margin:0}

/* Kategoriakortit (Bruns-kortit) */
.home-cats .wp-block-column{margin:0}
.home-cats .wp-block-cover{min-height:300px;border-radius:var(--r-lg);overflow:hidden;align-items:flex-end;justify-content:flex-start}
.home-cats .wp-block-cover__inner-container{width:100%;padding:20px}
.home-cats .wp-block-cover h3{color:#fff;margin:0;font-size:22px}
.home-cats .wp-block-cover a{color:#fff;text-decoration:none}
.home-cats .wp-block-cover:hover h3{text-decoration:underline}
/* Kategoriaruudukko: 3 per rivi */
.home-cats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}
.home-cats-grid .wp-block-cover{margin:0}
@media(max-width:900px){.home-cats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.home-cats-grid{grid-template-columns:1fr}}

/* Taiminostot (oma lohko: 4 valittua taimea) */
.home-featured{background:var(--n50)}
.home-featured h2{margin:0 0 10px}
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:20px}
@media(max-width:900px){.feat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.feat-grid{grid-template-columns:1fr}}
.feat-card{position:relative;display:block;min-height:300px;border-radius:var(--r-lg);overflow:hidden;text-decoration:none;background:var(--kasvu-10)}
.feat-img{position:absolute;inset:0;background:center/cover no-repeat var(--havu);transition:transform .35s ease}
.feat-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,69,31,.78),rgba(4,69,31,.10) 55%,rgba(4,69,31,0))}
.feat-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:18px;color:#fff}
.feat-name{display:block;font-family:var(--font-display);font-weight:600;font-size:20px;line-height:1.2}
.feat-latin{display:block;font-style:italic;font-size:14px;opacity:.92;margin-top:2px}
.feat-card:hover .feat-name{text-decoration:underline}
.feat-card:hover .feat-img{transform:scale(1.04)}
/* Lohkoeditorin hallintanäkymä */
.htt-featured-editor .htt-feat-fields{width:100%;text-align:left}
.htt-feat-label{font-weight:600;margin:14px 0 6px}
.htt-feat-list{margin:0 0 8px;padding:0;list-style:none}
.htt-feat-item{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--n300);border-radius:var(--r-md);margin-bottom:6px;background:#fff}
.htt-feat-pos{color:var(--n500);font-variant-numeric:tabular-nums}
.htt-feat-title{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.htt-feat-name{font-weight:600}
.htt-feat-latin{font-style:italic;font-size:12px;color:var(--n600)}
.htt-feat-empty{color:var(--n600);font-style:italic;margin:4px 0 8px}
.htt-feat-results{display:flex;flex-direction:column;gap:4px;margin-top:4px}
.htt-feat-result{display:flex!important;flex-direction:column;align-items:flex-start;text-align:left;justify-content:center;height:auto!important;padding-top:6px!important;padding-bottom:6px!important;line-height:1.25}

/* Yhteystietokortit-lohko: editorin hallintanäkymä */
.htt-cc-editor .htt-cc-fields{width:100%;text-align:left}
.htt-cc-item{border:1px solid var(--n300);border-radius:var(--r-md);padding:12px 14px;margin:0 0 12px;background:#fff}
.htt-cc-row.htt-cc-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.htt-cc-photo{display:flex;align-items:center;gap:10px;margin:0 0 8px}
.htt-cc-photo img{width:48px;height:48px;border-radius:var(--r-md);object-fit:cover}
.htt-cc-photo .htt-cc-ph{font-size:12px;color:var(--n500)}
.htt-cc-add{margin-top:4px}

/* Referenssit – kaupunkikortit */
.ref-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:24px}
.ref-card{background:var(--n50);border:1px solid var(--n100);border-radius:var(--r-lg);padding:18px 20px}
.ref-card>*:first-child{margin-top:0}
.ref-card h3{font-size:18px;margin:0 0 12px;color:var(--n900);display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.ref-card .ref-count{font-size:12px;font-weight:600;color:#fff;background:var(--kasvu);border-radius:999px;padding:1px 9px}
.ref-card ul{margin:0;padding-left:18px}
.ref-card li{font-size:14px;color:var(--n800);line-height:1.5;margin:3px 0}

/* Toimitus- ja takuuehdot -sivu */
.terms-lead{font-size:19px;line-height:1.55;color:var(--n800);margin:0 0 24px}
.terms-section{background:var(--n50);border:1px solid var(--n100);border-radius:var(--r-lg);padding:24px 28px;margin:0 0 20px}
.terms-section>*:first-child{margin-top:0}
.terms-section>*:last-child{margin-bottom:0}
.terms-section h2{margin:0 0 14px;font-size:24px}
.terms-section h3{font-size:17px;margin:20px 0 8px}
.terms-section p{margin:0 0 12px}
.terms-section ul{margin:6px 0 12px}
.terms-guarantee{background:var(--havu);color:#fff;border-radius:var(--r-lg);padding:24px 28px;margin:0 0 22px}
.terms-guarantee h2{color:#fff;margin:0 0 8px}
.terms-guarantee p{margin:0;color:#fff;font-size:18px;line-height:1.5}
.terms-cols{columns:2;column-gap:32px;margin:6px 0 12px}
.terms-cols li{break-inside:avoid}
@media(max-width:680px){.terms-cols{columns:1}}

/* Yritys-sivu: osiokortit, vihreä nosto, kaksi palstaa */
.info-section{background:var(--n50);border:1px solid var(--n100);border-radius:var(--r-lg);padding:24px 28px;margin:0 0 20px}
.info-section>*:first-child{margin-top:0}
.info-section>*:last-child{margin-bottom:0}
.info-section h2{margin:0 0 12px;font-size:24px}
.info-section h3{font-size:18px;margin:0 0 10px}
.info-section p{margin:0 0 12px}
.info-section ul{margin:6px 0 4px}
.info-highlight{background:var(--havu);color:#fff;border-radius:var(--r-lg);padding:24px 28px;margin:0 0 22px}
.info-highlight h2,.info-highlight h3{color:#fff;margin:0 0 8px}
.info-highlight p{margin:0;color:#fff;font-size:18px;line-height:1.5}
.company-cols{gap:20px}
.company-cols .wp-block-column{margin:0}
.company-cols .info-section{margin:0;height:100%}
.entry .wp-block-embed{margin:0 0 24px}

/* CTA-kaista */
.cta-band{background:var(--kasvu-10)!important;border-radius:0;text-align:center;padding-block:var(--section)}
.cta-band .wp-block-group__inner-container,.cta-band>.wrap{max-width:760px;margin:0 auto;padding:var(--section) 24px}
.cta-band h2{margin:0 0 12px}
.cta-band p{font-size:18px;color:var(--n600);margin:0 0 24px}
.cta-band .wp-block-buttons{justify-content:center}

/* Referenssinosto */
.home-refs .ref-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:768px){.home-refs .ref-grid{grid-template-columns:1fr}}
.home-refs .ref-grid figure{margin:0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3}
.home-refs .ref-grid img{width:100%;height:100%;object-fit:cover}

/* Etusivun lisäviimeistely */
.home-cats{background:var(--n50)}
.home-cats h2,.feature-cols h2,.home-intro h2{margin:0 0 10px}
.section-lead{font-size:18px;color:var(--n600);margin:0 0 32px;max-width:60ch}
.home-cats .wp-block-columns{gap:20px;margin-top:20px}
.home-intro .is-style-rounded img{border-radius:var(--r-lg)}
.home-intro .wp-block-columns{gap:48px}
@media(max-width:768px){.home-intro .wp-block-columns{gap:24px}}
.feature-cols .wp-block-columns{gap:32px;margin-top:8px}
/* Etusivu täysleveänä; osiot pinoutuvat ilman välejä */
.entry-front{width:100%;padding:0}
.entry-front>*{margin-top:0;margin-bottom:0}
/* Moduulien väliset oletusmarginaalit pois (säädettävissä lohkon Mitat → Marginaali -asetuksista, joka kirjoittaa inline-tyylin ja voittaa tämän). */
.home-hero,.stats-strip,.home-section,.home-intro,.home-cats,.feature-cols,.cta-band{margin-top:0;margin-bottom:0}
.entry-front p:empty{display:none;margin:0}
/* Video täyttää cover-alueen kokonaan (object-fit:cover), ei jää pienempään laatikkoon */
.wp-block-cover{position:relative;overflow:hidden}
.wp-block-cover__video-background,
.home-hero .wp-block-cover__video-background{
  position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  margin:0!important;transform:none!important;object-fit:cover!important;object-position:center!important}
.home-hero .wp-block-cover__background{position:absolute;inset:0}
.home-hero .wp-block-cover__inner-container{position:relative;z-index:2}
/* Osiot reunasta reunaan, sisältö keskitettynä 1200px + sivumarginaalit */
.stats-strip,.home-section,.cta-band{box-sizing:border-box;padding-inline:24px}
