/*
Theme Name: Karelian Glow
Author: Karelian Glow
Description: Kevyt suomenkielinen WooCommerce-yhteensopiva teema 3D-tulosteiden verkkokaupalle.
Version: 2.4.12
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: karelian-glow
License: GPL-2.0-or-later
*/
:root{--kg-bg:#F5F0E7;--kg-surface:#fffdf8;--kg-text:#152D27;--kg-muted:#3F6655;--kg-accent:#B8794B;--kg-accent-text:#152D27;--kg-border:#d8d7c9;--kg-forest:#152D27;--kg-sage:#3F6655;--kg-cream:#F5F0E7;--kg-radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--kg-bg);color:var(--kg-text);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.container{width:min(1160px,calc(100% - 36px));margin-inline:auto}.site-header{background:var(--kg-surface);border-bottom:1px solid var(--kg-border);position:relative;z-index:5}.header-inner{display:flex;align-items:center;gap:24px;justify-content:space-between;min-height:82px}.brand{font-weight:850;font-size:1.5rem;letter-spacing:-.04em}.brand span{color:var(--kg-accent)}.main-nav ul{list-style:none;display:flex;gap:24px;margin:0;padding:0}.header-actions{display:flex;gap:14px;align-items:center}.button,.wp-block-button__link,button[type=submit],input[type=submit],.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{display:inline-flex;justify-content:center;align-items:center;padding:12px 21px;border:0;border-radius:11px;background:var(--kg-accent);color:var(--kg-accent-text);font-weight:700;cursor:pointer;text-decoration:none}.button.secondary{background:transparent;color:var(--kg-text);border:1px solid var(--kg-border)}.hero{padding:90px 0;background:linear-gradient(125deg,var(--kg-cream),#e1e8da)}.hero-inner{max-width:750px}.eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.17em;font-weight:800;color:var(--kg-accent)}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2.8rem,7vw,5.4rem);margin:12px 0 20px}h2{font-size:clamp(1.9rem,4vw,2.7rem)}.hero p{font-size:1.2rem;max-width:600px;color:var(--kg-muted)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.section{padding:66px 0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature{background:var(--kg-surface);border:1px solid var(--kg-border);padding:27px;border-radius:var(--kg-radius)}.feature h3{margin:8px 0}.feature p{color:var(--kg-muted)}.cta{background:var(--kg-forest);color:var(--kg-cream);border-radius:24px;padding:50px}.cta p{color:#e0e9dd}.cta .button.secondary{color:#fff;border-color:#738280}.site-main{min-height:45vh}.page-heading{padding:48px 0 16px}.content-wrap{padding:30px 0 70px}.site-footer{background:var(--kg-forest);color:var(--kg-cream);padding:44px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-inner p{color:#b8cbc7}.footer-menu ul{display:flex;list-style:none;gap:20px;margin:0;padding:0}.woocommerce ul.products li.product{background:var(--kg-surface);padding:15px;border:1px solid var(--kg-border);border-radius:var(--kg-radius)}.woocommerce ul.products li.product img{border-radius:10px}.woocommerce div.product .product_title{font-size:2.5rem}.woocommerce .price{color:var(--kg-accent)!important}input,textarea,select{max-width:100%;padding:10px;border:1px solid var(--kg-border);border-radius:8px;background:var(--kg-surface);color:var(--kg-text)}.menu-toggle{display:none;background:transparent;border:1px solid var(--kg-border);padding:8px 12px;border-radius:8px;color:var(--kg-text)}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}.screen-reader-text:focus{position:static;width:auto;height:auto}.notice{background:var(--kg-surface);border:1px solid var(--kg-border);padding:18px;border-radius:12px}@media(max-width:780px){.header-inner{min-height:70px;flex-wrap:wrap}.menu-toggle{display:block}.main-nav{display:none;width:100%;order:3;padding-bottom:15px}.main-nav.is-open{display:block}.main-nav ul{flex-direction:column;gap:10px}.header-actions{margin-left:auto}.hero{padding:70px 0}.feature-grid{grid-template-columns:1fr}.section{padding:45px 0}.section-head{align-items:start;flex-direction:column}.cta{padding:30px}.footer-menu ul{flex-wrap:wrap}}

/* Karjalan hehku: saavutettavat painikkeet ja näkyvä näppäimistökohdistus */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--kg-accent);outline-offset:3px}
.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{filter:brightness(.94);text-decoration:none}
.eyebrow{color:var(--kg-sage)}.cta .eyebrow{color:#e3b68e}

.kg-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:38px}.kg-footer-grid ul{list-style:none;padding:0;margin:12px 0}.kg-footer-grid li{margin:8px 0}.kg-footer-grid a{text-decoration:underline;text-underline-offset:3px}.kg-footer-bottom{margin-top:30px;padding-top:18px;border-top:1px solid #688078;font-size:.85rem}@media(max-width:780px){.kg-footer-grid{grid-template-columns:1fr;gap:20px}}

/* Tarinamme ja WooCommerce-kategoriat */
.kg-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.kg-category-card{display:flex;flex-direction:column;gap:14px;background:var(--kg-surface);border:1px solid var(--kg-border);border-radius:var(--kg-radius);padding:18px;min-height:110px}
.kg-category-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.kg-story-section{background:#eee7db}.kg-story-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:44px;align-items:center}
.kg-story-layout p{max-width:620px}.kg-story-art{display:grid;place-items:center;min-height:270px;background:linear-gradient(135deg,#e5d4be,#c7ad92);border-radius:22px;color:#6b5542;font-family:Georgia,serif;font-size:clamp(5rem,14vw,10rem);letter-spacing:-.12em}
@media(max-width:760px){.kg-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kg-story-layout{grid-template-columns:1fr}.kg-story-art{min-height:150px}}

/* v1.4: Kauppa-alasvetovalikko */
.main-nav > ul{align-items:center;flex-wrap:wrap}
.main-nav li{position:relative}
.main-nav .menu-item-has-children{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.main-nav .submenu-toggle{border:0;background:transparent;color:inherit;padding:5px 9px;cursor:pointer;font-size:1.3rem;line-height:1;transform-origin:center}
.main-nav .submenu-toggle[aria-expanded="true"]{transform:rotate(180deg)}
.main-nav .sub-menu{display:none;position:absolute;top:100%;left:0;z-index:50;min-width:260px;max-width:min(340px,90vw);padding:10px 0;background:var(--kg-surface);border:1px solid var(--kg-border);border-radius:12px;box-shadow:0 12px 30px #152d2724;flex-direction:column;gap:0}
.main-nav .sub-menu li{display:block;width:100%}
.main-nav .sub-menu a{display:block;padding:10px 16px;white-space:normal}
.main-nav .sub-menu a:hover,.main-nav .sub-menu a:focus-visible{background:var(--kg-bg);text-decoration:none}
.main-nav .menu-item-has-children.is-submenu-open > .sub-menu,.main-nav .menu-item-has-children:focus-within > .sub-menu{display:flex}
@media(hover:hover) and (min-width:781px){.main-nav .menu-item-has-children:hover > .sub-menu{display:flex}}
@media(max-width:780px){.main-nav .menu-item-has-children{align-items:center}.main-nav .sub-menu{position:static;flex-basis:100%;width:100%;min-width:0;max-width:none;box-shadow:none;margin:6px 0 0 12px;padding:4px 0 4px 8px;border-radius:8px}.main-nav .menu-item-has-children:not(.is-submenu-open) > .sub-menu{display:none}.main-nav .menu-item-has-children.is-submenu-open > .sub-menu{display:flex}}

/* Footer pages remain visible even before their drafts are published. */
.kg-footer-pending{opacity:.78;text-decoration:none}

/* v1.8: puusormuskaupan inspiroima asettelu, hiekka/metsänvihreä/kupari */
:root{--kg-bg:#F3EDE2;--kg-surface:#FFFCF6;--kg-text:#263D35;--kg-muted:#52635A;--kg-accent:#BD885D;--kg-accent-text:#182D26;--kg-border:#DDD5C9;--kg-forest:#263D35;--kg-sage:#52635A;--kg-cream:#F3EDE2}
.site-header{background:#263D35;color:#FFFCF6;border-bottom:1px solid #41574d}
.header-inner{min-height:90px;gap:34px}.brand{display:flex;align-items:center;flex-shrink:0;font-family:Georgia,serif;color:#E2BB86;font-size:1.35rem;letter-spacing:0}
.brand .custom-logo-link{display:block;line-height:0}.brand .custom-logo{display:block;width:auto;max-width:155px;max-height:74px;object-fit:contain}
.main-nav{margin-left:auto}.main-nav > ul{gap:22px}.main-nav a{font-family:Georgia,serif;font-size:.9rem}.header-actions a{color:#E2BB86}
.main-nav .sub-menu{background:#FFFCF6;color:#263D35}.main-nav .submenu-toggle{color:#E2BB86}
.menu-toggle{color:#FFFCF6;border-color:#6b8075}
.hero{background:linear-gradient(115deg,#F3EDE2 0%,#F3EDE2 58%,#E2E9DC 100%);padding:64px 0}
.hero-inner{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,100px);align-items:center}
.kg-hero-photo{width:100%;max-width:470px;justify-self:center}.kg-hero-photo img{display:block;width:100%;aspect-ratio:4/4.4;object-fit:cover;border-radius:45% 45% 10px 10px;box-shadow:0 12px 32px #263d351c}
.kg-hero-copy{max-width:540px}.hero h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(3rem,5vw,5.4rem);line-height:1.08}.hero .eyebrow{color:#98683F;letter-spacing:.2em}
.hero p{color:#52635A;font-size:1.15rem}.button,.wp-block-button__link{border-radius:4px}.button.secondary{border-color:#BD885D}
h2{font-family:Georgia,serif;font-weight:500}.kg-story-section{background:#EAE2D6}.site-footer{background:#263D35}.kg-footer-grid a{color:#F7E8D5}.kg-footer-pending{color:#E2D4C5}
@media(max-width:780px){.header-inner{min-height:74px}.brand .custom-logo{max-width:120px;max-height:60px}.main-nav{margin-left:0}.main-nav a{font-size:1rem}.hero{padding:38px 0}.hero-inner{grid-template-columns:1fr;gap:24px}.kg-hero-photo{max-width:430px}.kg-hero-photo img{aspect-ratio:4/3}.hero h1{font-size:clamp(2.7rem,10vw,4rem)}}

/* v1.9: explicit header, logo and hero layout fixes */
:root{--kg-bg:#F3EDE2;--kg-surface:#FFFCF6;--kg-text:#263D35;--kg-forest:#263D35;--kg-accent:#BD885D;--kg-cream:#F3EDE2}
.site-header{background:#263D35!important;color:#FFFCF6!important;border-bottom:1px solid #40594d!important}
.site-header .header-inner{min-height:88px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important}
.site-header .brand{display:flex!important;align-items:center!important;flex:0 0 auto!important;width:155px!important;max-width:155px!important;line-height:0!important}
.site-header .brand .kg-brand-logo{display:block!important;width:150px!important;height:65px!important;max-width:100%!important;object-fit:contain!important}
.site-header .main-nav{margin-left:auto!important}.site-header .main-nav a{color:#FFFCF6}.site-header .main-nav .sub-menu a{color:#263D35}
.site-header .header-actions a{color:#E4B984!important}
.hero{background:linear-gradient(115deg,#F3EDE2 0%,#F3EDE2 58%,#E2E9DC 100%)!important;padding:64px 0!important}
.hero .hero-inner{width:min(1160px,calc(100% - 36px))!important;max-width:1160px!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:center!important;gap:clamp(30px,6vw,100px)!important}
.hero .kg-hero-photo{max-width:470px!important;width:100%!important}.hero .kg-hero-photo img{display:block!important;width:100%!important;aspect-ratio:4/4.4!important;object-fit:cover!important;border-radius:45% 45% 10px 10px!important}
.hero .kg-hero-copy{min-width:0!important}.hero .kg-hero-copy h1{font-family:Georgia,serif!important;font-size:clamp(2.8rem,5vw,5rem)!important}
@media(max-width:780px){.site-header .header-inner{min-height:72px!important;flex-wrap:wrap!important}.site-header .brand{width:118px!important}.site-header .brand .kg-brand-logo{width:115px!important;height:55px!important}.site-header .main-nav{margin-left:0!important}.hero .hero-inner{grid-template-columns:minmax(0,1fr)!important;gap:26px!important}.hero{padding:38px 0!important}.hero .kg-hero-photo{max-width:430px!important;margin:auto!important}.hero .kg-hero-photo img{aspect-ratio:4/3!important}.hero .kg-hero-copy h1{font-size:clamp(2.6rem,10vw,4rem)!important}}

/* v2.0: larger readable original gold logo */
.site-header .header-inner{min-height:124px!important}
.site-header .brand{width:230px!important;max-width:230px!important}
.site-header .brand .kg-brand-logo{width:220px!important;height:115px!important;max-width:none!important;object-fit:contain!important}
@media(max-width:780px){.site-header .header-inner{min-height:92px!important}.site-header .brand{width:155px!important;max-width:155px!important}.site-header .brand .kg-brand-logo{width:150px!important;height:82px!important}}

/* v2.2: Tarinamme without decorative KG panel */
.kg-story-layout{display:block!important;max-width:950px!important;margin-left:auto!important;margin-right:auto!important}
.kg-story-layout>div{max-width:900px!important}

/* Tarjouspyyntölomake */
.kg-quote-form{max-width:680px;display:grid;gap:12px;margin:28px 0}.kg-quote-form p{margin:0}.kg-quote-form label{display:block;font-weight:600;margin-bottom:7px}.kg-quote-form input:not([type=checkbox]),.kg-quote-form select,.kg-quote-form textarea{display:block;width:100%;box-sizing:border-box;padding:12px;border:1px solid #c8bfb1;border-radius:7px;background:#fff;color:#172e27;font:inherit}.kg-quote-form input[type=checkbox]{margin-right:8px}.kg-quote-form small{display:block;font-size:.85em;margin-top:6px}.kg-quote-form button{justify-self:start;cursor:pointer}

/* v2.4.4: show entire fox in portrait hero without clipping */
.hero .kg-hero-photo img{object-fit:contain!important;object-position:center center!important}

/* v2.4.5: complete fox hero artwork, no added blurred bands */
.kg-hero-photo img{aspect-ratio:675/507;object-fit:contain;border-radius:0 0 10px 10px}

/* v2.4.6: remove nested image frame and empty bands */
.hero .kg-hero-photo img{aspect-ratio:675 / 507!important;object-fit:cover!important;object-position:center center!important;border-radius:45% 45% 10px 10px!important;height:auto!important;}

/* v2.4.7: trim baked-in light fringe and align rounded crop */
.hero .kg-hero-photo img{border-radius:49% 49% 10px 10px!important;object-fit:cover!important;display:block!important;}

/* v2.4.8: Piilota Kauppa-valikon nuoli tietokoneella; säilytä mobiilin avauspainike. */
@media (min-width: 781px) {
  .main-nav .kg-shop-menu > .submenu-toggle { display: none !important; }
}
