/*
Theme Name: OK Car Service
Description: Muokattava, responsiivinen OK Car Service -lohkoteema. Etusivu, sisältöosiot ja WordPressin oman sivustoeditorin tuki.
Version: 1.2.5
Requires at least: 6.6
Requires PHP: 7.4
Author: OK Car Service
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: okcarservice
Tags: block-patterns, full-site-editing, editor-style, custom-colors, custom-logo, wide-blocks
*/
:root { --ok-lime:var(--wp--preset--color--lime,#CCFF00); --ok-ink:var(--wp--preset--color--contrast,#242424); --ok-light:var(--wp--preset--color--light,#f8f8f8); --ok-width:1200px; }
html { scroll-behavior:smooth; }
body { margin:0; }
*,*::before,*::after { box-sizing:border-box; }
img { max-width:100%; height:auto; }
button,input,textarea,select { font:inherit; }
a { text-underline-offset:.2em; }
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible { outline:3px solid #4a70dc; outline-offset:5px; }
:where(section,main,footer,[id]) { scroll-margin-top:28px; }
.wp-site-blocks { position:relative; }
.wp-site-blocks > *, .ok-home-content > * { margin-block-start:0; }
.ok-container,.ok-page-content { width:min(var(--ok-width),calc(100% - 48px)); margin-inline:auto; }
.ok-container > :first-child,.ok-page-content > :first-child { margin-block-start:0; }
.ok-container > :last-child,.ok-page-content > :last-child { margin-block-end:0; }
.ok-container .ok-container { width:100%; }
.wp-element-button,.wp-block-button__link { transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.wp-element-button:hover,.wp-block-button__link:hover { box-shadow:0 3px 16px #0002; transform:translateY(-2px); }
.wp-block-button.is-style-ok-light .wp-block-button__link,.ok-button-white .wp-block-button__link { background:#ededed; color:#050505; }
.wp-block-button.is-style-ok-dark .wp-block-button__link,.ok-button-dark .wp-block-button__link { background:#242424; color:white; }
.ok-button-lime .wp-block-button__link { background:var(--ok-lime); color:#050505; }

/* Shared header. */
.ok-site-header { background:#080808; color:white; padding:22px 0 26px; }
body.home .wp-site-blocks > header { position:absolute; inset:0 0 auto; z-index:10; }
body.home .ok-site-header { background:transparent; }
.ok-header-top,.ok-header-bottom { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.ok-header-bottom { margin-top:24px; }
.ok-header-top > *,.ok-header-bottom > * { margin:0; }
.ok-brand { font-size:20px; line-height:1; font-weight:700; letter-spacing:-.6px; white-space:nowrap; }
.ok-brand a { text-decoration:none; color:inherit; }
.ok-brand strong { display:inline-block; font-size:46px; letter-spacing:-5px; color:var(--ok-lime); margin-right:7px; vertical-align:-4px; line-height:.8; }
.ok-brand strong em { font-style:italic; }
.ok-header-contact { color:var(--ok-lime); font-weight:700; font-size:17px; }
.ok-header-contact a { text-decoration:none; }
.ok-top-navigation { font-size:14px; }
.ok-site-header .wp-block-navigation a { text-decoration:none; }
.ok-site-header .wp-block-navigation a:hover { color:var(--ok-lime); }
.ok-site-header .wp-block-navigation__container { gap:24px; }
.ok-header-actions { gap:16px; flex-shrink:0; }
.ok-mobile-only { display:none !important; }
.ok-logo { margin:0; }
.ok-logo img { display:block; width:150px; height:auto; }

/* Editable homepage sections. */
.ok-hero.wp-block-cover { min-height:540px; padding:210px 0 136px; align-items:flex-start; }
.ok-hero .wp-block-cover__inner-container { width:100%; }
.ok-hero .wp-block-cover__image-background { object-position:center 58%; }
.ok-hero-copy { max-width:625px; }
.ok-hero .ok-hero-copy { max-width:var(--ok-width); }
.ok-hero-copy > * { max-width:625px; }
.ok-hero h1 { color:white; font-size:clamp(32px,3.1vw,44px); margin:12px 0 22px; letter-spacing:-.025em; }
.ok-hero-copy > p { font-size:18px; line-height:1.3; max-width:580px; margin:0 0 22px; }
.ok-hero .wp-block-buttons { margin-top:22px; }
.ok-trust { position:relative; z-index:2; width:fit-content; max-width:calc(100% - 32px); margin:-27px auto 0; background:#ececec; border-radius:40px; box-shadow:0 8px 22px #0003; padding:14px 25px; display:flex; justify-content:center; align-items:center; gap:24px; font-size:14px; min-height:50px; }
.ok-trust > * { margin:0; }
.ok-trust-stars,.ok-review-stars { display:flex; gap:4px; white-space:nowrap; }
.ok-star-box { display:inline-block; color:white; background:#20b77a; font-size:21px; line-height:24px; width:24px; height:24px; text-align:center; }
.ok-trust-brand { white-space:nowrap; font-weight:600; }
.ok-trust-mark { color:#20b77a; font-size:25px; }
.ok-trust-label { font-weight:600; }
.ok-trust-note { font-size:13px; }
.ok-booking { padding-top:40px; }
.ok-booking h2 { font-size:23px; margin:0 0 25px; }
.ok-booking-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.ok-booking-card { position:relative; padding:22px 40px; background:var(--ok-light); border-radius:999px; display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:86px; }
.ok-booking-card h3,.ok-booking-card p { margin:0; }
.ok-booking-card h3 { font-size:16px; line-height:1.3; letter-spacing:-.01em; }
.ok-booking-card p { font-size:14px; }
.ok-booking-card a { text-decoration:none; }
.ok-booking-card a::after { content:''; position:absolute; inset:0; border-radius:inherit; }
.ok-booking-card:hover { background:#f0f0f0; }
.ok-booking-card figure { margin:0; flex:0 0 24px; }
.ok-booking-card img { width:24px; height:24px; display:block; }
.ok-offers { padding-top:120px; padding-bottom:120px; }
.ok-offers h2 { font-size:var(--wp--preset--font-size--section-title,34px); margin:0 0 60px; }
.ok-offer-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.wp-block-columns.ok-offer-grid,.wp-block-columns.ok-booking-grid { display:grid !important; margin-bottom:0; }
.ok-offer-card { border-radius:16px; background:#e8e8e8; min-height:300px; padding:24px; display:flex; flex-direction:column; justify-content:flex-end; }
.ok-offer-card > * { margin:0; }
.ok-offer-card .ok-offer-price { font-size:29px; line-height:1.2; font-weight:700; letter-spacing:-.035em; margin-bottom:8px; }
.ok-offer-card h3 { font-size:18px; margin:0; }
.ok-offer-card a { text-decoration:none; }
.ok-offer-card a:hover { text-decoration:underline; }
.ok-ev-banner.wp-block-cover { border-radius:32px; overflow:hidden; min-height:386px; padding:75px 40px; width:min(var(--ok-width),calc(100% - 48px)); margin-inline:auto; }
.ok-ev-banner .wp-block-cover__inner-container { width:100%; }
.ok-ev-banner { background:#292d2d; }
.ok-ev-banner .wp-block-cover__image-background { object-position:65% 57%; width:60%; left:auto; right:0; mask-image:linear-gradient(90deg,transparent,#000 28%); }
.ok-ev-banner::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#252828 10%,#252828d9 35%,transparent 68%); pointer-events:none; }
.ok-ev-banner .wp-block-cover__inner-container { z-index:2; }
.ok-ev-banner .ok-feature-copy { max-width:530px; }
.ok-ev-banner h2 { font-size:28px; color:white; margin:0 0 24px; }
.ok-ev-banner p { font-size:18px; line-height:1.5; margin:0 0 22px; max-width:530px; }
.ok-feature { width:min(var(--ok-width),calc(100% - 48px)); margin:60px auto 0; background:var(--ok-light); border-radius:32px; min-height:364px; padding:55px 40px; }
.ok-feature > .wp-block-columns,.ok-loan-car > .wp-block-columns { align-items:center !important; gap:48px; margin:0; min-height:250px; }
.ok-feature h2,.ok-loan-car h2 { font-size:28px; margin:0 0 24px; }
.ok-feature p,.ok-loan-car p { font-size:18px; line-height:1.5; margin:0; }
.ok-feature-copy { min-width:0; }
.wp-block-columns.ok-feature { gap:48px; }
.ok-loan-car { width:min(var(--ok-width),calc(100% - 48px)); background:var(--ok-light); border-radius:32px; margin:60px auto 0; min-height:364px; padding:24px 40px; }
.ok-loan-car figure { margin:0; }
.ok-loan-car img { display:block; width:100%; max-height:315px; object-fit:contain; border-radius:20px; }
.ok-reviews { margin-top:80px; padding:78px 0 50px; background:#fcfcfc; }
.ok-reviews h2 { text-align:center; font-size:24px; margin:0 0 40px; }
.ok-reviews .ok-container { position:relative; padding-inline:54px; }
.ok-review-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 132px)/4); gap:44px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:2px 2px 14px; scrollbar-width:thin; }
.ok-review-card { border:1px solid #e8e8e8; border-radius:8px; background:white; padding:18px; min-width:0; scroll-snap-align:start; }
.ok-review-card > * { margin:0; }
.ok-review-heading { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.ok-review-avatar { border-radius:50%; background:#eff2d9; color:#454b15; width:42px; height:42px; display:grid; place-items:center; flex-shrink:0; font-size:14px; font-weight:600; }
.ok-review-card h3,.ok-review-name { font-size:14px; letter-spacing:0; margin:0 0 6px; font-weight:600; }
.ok-review-card .ok-review-stars { margin-bottom:12px; }
.ok-review-card p { font-size:14px; line-height:1.5; }
.ok-demo-note { text-align:center; font-size:12px; color:#5e5e5e; margin:20px 0 0; }
.ok-reviews .ok-demo-note { margin:-22px 0 26px; }
.ok-review-controls { display:flex; justify-content:center; gap:14px; margin-top:20px; }
.ok-reviews .ok-review-controls { position:absolute; inset-inline:0; top:58%; justify-content:space-between; pointer-events:none; margin:0; }
.ok-review-controls[hidden] { display:none; }
.ok-review-controls button { width:42px; height:42px; border:0; border-radius:50%; background:transparent; cursor:pointer; font-size:27px; line-height:1; pointer-events:auto; }
.ok-review-controls button:hover { background:var(--ok-lime); border-color:var(--ok-lime); }
.ok-review-controls button:disabled { opacity:.35; cursor:default; }
.ok-promises { background:#fcfcfc; padding:42px 0 96px; }
.ok-promises .wp-block-columns { gap:64px; margin:0; }
.ok-promise { text-align:center; max-width:290px; margin-inline:auto; }
.ok-promise .ok-promise-icon,.ok-promise > figure { width:88px; height:88px; margin:0 auto 24px; padding:18px; border:1px solid #dce488; border-radius:8px; background:linear-gradient(#faff9d,var(--ok-lime)); box-shadow:0 2px 3px #0001; }
.ok-promise img { width:50px; height:50px; }
.ok-promise h3 { font-size:18px; margin:0 0 8px; letter-spacing:-.01em; }
.ok-promise p { font-size:16px; line-height:1.5; margin:0; }
.ok-services { background:#050505; color:white; padding:138px 0 145px; }
.ok-services h2 { color:white; font-size:var(--wp--preset--font-size--section-title,34px); margin:0 0 64px; }
.ok-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:55px 36px; max-width:970px; }
.ok-service-item { border-left:1px solid #444c06; padding-left:24px; }
.ok-service-item figure { width:24px; height:24px; margin:0 0 18px; }
.ok-service-item img { display:block; width:24px; height:24px; filter:invert(88%) sepia(83%) saturate(592%) hue-rotate(8deg) brightness(105%) contrast(102%); }
.ok-service-item h3 { font-size:16px; font-weight:500; margin:0 0 6px; letter-spacing:0; }
.ok-service-item p { color:#aaa; font-size:14px; line-height:1.4; margin:0; }
.ok-faq { padding:120px 0 200px; }
.ok-faq h2 { font-size:28px; margin:0 0 28px; }
.ok-faq-list { max-width:690px; }
.ok-faq .wp-block-details { margin:0 0 32px; }
.ok-faq .wp-block-details summary { display:flex; align-items:baseline; justify-content:space-between; gap:20px; list-style:none; font-size:18px; font-weight:500; cursor:pointer; line-height:1.4; }
.ok-faq .wp-block-details summary::-webkit-details-marker { display:none; }
.ok-faq .wp-block-details summary::after { content:''; flex:0 0 11px; width:11px; height:11px; border-right:1.5px solid; border-bottom:1.5px solid; transform:rotate(45deg); margin-right:6px; position:relative; top:-3px; }
.ok-faq .wp-block-details[open] summary::after { transform:rotate(225deg); top:3px; }
.ok-faq .wp-block-details > p { margin:24px 20px 36px; max-width:580px; font-size:14px; line-height:1.4; }
.ok-cta { background:var(--ok-lime); padding:120px 0 180px; min-height:610px; }
.ok-cta-copy { max-width:710px; }
.ok-cta h2 { font-size:clamp(32px,3.2vw,44px); line-height:1.3; margin:0 0 32px; }
.ok-cta p { font-size:18px; line-height:1.4; max-width:570px; margin:0 0 30px; }
.ok-cta .wp-block-button:first-child .wp-block-button__link { color:white; background:#242424; }
.ok-cta .wp-block-button:nth-child(2) .wp-block-button__link { color:#050505; background:white; }

/* Shared footer and ordinary page templates. */
.ok-site-footer { background:#232323; color:white; padding:74px 0 50px; }
.ok-footer-top { display:flex; align-items:flex-start; justify-content:space-between; gap:80px; }
.ok-footer-about { flex:0 1 420px; }
.ok-footer-about .ok-brand { margin:0 0 22px; }
.ok-footer-about p { font-size:14px; line-height:1.5; margin:0 0 18px; }
.ok-footer-links { flex:1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.ok-footer-links h2,.ok-footer-links h3 { font-size:14px; font-weight:500; margin:0 0 34px; letter-spacing:0; }
.ok-footer-links p { font-size:14px; margin:0 0 10px; }
.ok-site-footer a { text-decoration:none; }
.ok-site-footer a:hover { color:var(--ok-lime); text-decoration:underline; }
.ok-footer-bottom { margin-top:70px; padding-top:24px; border-top:1px solid #ffffff22; max-width:none; font-size:14px; line-height:1.5; opacity:.8; }
.ok-footer-socials { display:flex; flex-direction:column; gap:16px; }
.ok-footer-socials figure,.ok-social-icon { width:24px; height:24px; margin:0; }
.ok-footer-social .ok-social-icon { margin-bottom:16px; }
.ok-footer-socials img,.ok-social-icon img { width:24px; height:24px; display:block; filter:invert(1); }
.ok-footer-contact-note { max-width:155px; font-size:12px !important; opacity:.7; }
.ok-page-main { padding:90px 0 120px; min-height:55vh; }
.ok-page-main > * { width:min(800px,calc(100% - 48px)); margin-inline:auto; }
.ok-page-main > .wp-block-post-title { margin-bottom:36px; }
.ok-page-main .wp-block-post-content > * + * { margin-block-start:24px; }
.ok-front-page { margin:0; }
.ok-page-content { max-width:800px; }
.ok-page-content .wp-block-post-title { margin:0 0 36px; }
.ok-page-content .wp-block-post-content > * + * { margin-block-start:24px; }
.ok-page-content .wp-block-post-content > .alignfull { width:100%; margin-inline:0; }
.ok-page-content .wp-block-post-content .ok-container { width:calc(100% - 48px); }

/* Keep the same appearance while keeping all editor controls accessible. */
.editor-styles-wrapper .ok-site-header { position:relative; background:#080808; }
.editor-styles-wrapper .ok-hero.wp-block-cover { min-height:440px; padding-top:90px; }
.editor-styles-wrapper .ok-booking-card a::after { display:none; }
.editor-styles-wrapper .ok-review-track { overflow:visible; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-flow:row; }
.editor-styles-wrapper .ok-reviews .ok-container { padding-inline:0; }
.editor-styles-wrapper .ok-trust { margin-top:0; }
.editor-styles-wrapper .wp-block-details:not([open]) > :not(summary) { display:block; }

@media (min-width:1600px) { .ok-hero.wp-block-cover { min-height:600px; padding-top:218px; } }
@media (max-width:1100px) {
  .ok-top-navigation { display:none; }
  .ok-header-top,.ok-header-bottom { gap:20px; }
  .ok-site-header .wp-block-navigation__container { gap:18px; }
  .ok-footer-top { gap:45px; }
  .ok-footer-about { flex-basis:32%; }
  .ok-footer-links { gap:20px; }
  .ok-offer-card { min-height:270px; }
}
@media (max-width:781px) {
  .ok-container,.ok-page-content { width:calc(100% - 40px); }
  .ok-site-header { padding:20px 0; }
  .ok-header-top { gap:12px; }
  .ok-header-contact { font-size:14px; }
  .ok-header-bottom { margin-top:24px; }
  .ok-site-header .wp-block-navigation__responsive-container-open { display:flex !important; }
  .ok-site-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none !important; }
  .ok-site-header .wp-block-navigation__responsive-container.is-menu-open { background:#151515; color:white; padding:32px; }
  .ok-site-header .wp-block-navigation__responsive-container-content { align-items:flex-start; padding-top:55px; }
  .ok-site-header .wp-block-navigation__responsive-container-content .wp-block-navigation__container { gap:24px; align-items:flex-start; }
  .ok-site-header .wp-block-navigation__responsive-container-content a { font-size:22px; }
  .wp-block-navigation__responsive-container.is-menu-open .ok-mobile-only { display:flex !important; }
  .ok-brand { font-size:18px; }
  .ok-brand strong { font-size:41px; }
  .ok-header-actions { gap:8px; }
  .ok-header-actions .wp-block-button__link { font-size:12px; padding:10px 15px; }
  .ok-hero.wp-block-cover { min-height:560px; padding:200px 0 115px; }
  .ok-hero h1 { max-width:510px; }
  .ok-hero-copy > p { max-width:500px; }
  .ok-trust { flex-wrap:wrap; gap:10px 18px; padding:14px 20px; max-width:calc(100% - 40px); }
  .ok-trust-note { width:100%; text-align:center; }
  .ok-booking { padding-top:40px; }
  .ok-booking-grid { grid-template-columns:1fr; gap:14px; }
  .ok-booking-card { padding:22px 28px; }
  .ok-offers { padding:75px 0; }
  .ok-offers h2 { margin-bottom:35px; }
  .ok-offer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .ok-offer-card { min-height:245px; padding:22px; }
  .ok-ev-banner.wp-block-cover { width:calc(100% - 40px); padding:55px 28px; border-radius:24px; min-height:410px; }
  .ok-ev-banner h2 { font-size:26px; }
  .ok-ev-banner .wp-block-cover__image-background { width:100%; mask-image:none; }
  .ok-ev-banner::after { background:linear-gradient(90deg,#101616d9, #10161655); }
  .ok-feature,.ok-loan-car { width:calc(100% - 40px); margin-top:36px; padding:40px 28px; border-radius:24px; min-height:auto; }
  .ok-feature > .wp-block-columns,.ok-loan-car > .wp-block-columns { gap:30px; min-height:0; }
  .ok-feature .wp-block-column:empty { display:none; }
  .ok-feature .ok-feature-media:empty { display:none; }
  .wp-block-columns.ok-feature { gap:30px; }
  .ok-feature h2,.ok-loan-car h2 { font-size:26px; }
  .ok-reviews { margin-top:55px; padding-top:60px; }
  .ok-reviews h2 { font-size:23px; }
  .ok-reviews .ok-container { padding-inline:0; }
  .ok-review-track { gap:24px; }
  .ok-review-track { grid-auto-columns:calc((100% - 24px)/2); }
  .ok-reviews .ok-review-controls { position:static; justify-content:center; margin-top:20px; }
  .ok-promises { padding:30px 0 75px; }
  .ok-promises .wp-block-columns { gap:50px; }
  .ok-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 24px; }
  .ok-services { padding:75px 0; }
  .ok-services h2 { margin-bottom:42px; }
  .ok-faq { padding:75px 0 95px; }
  .ok-faq .wp-block-details summary { font-size:17px; }
  .ok-cta { padding:75px 0 100px; min-height:440px; }
  .ok-cta h2 { font-size:36px; }
  .ok-site-footer { padding:60px 0 45px; min-height:auto; }
  .ok-footer-top { flex-direction:column; gap:40px; }
  .ok-footer-about { flex-basis:auto; max-width:480px; }
  .ok-footer-links { width:100%; gap:28px; }
  .ok-footer-bottom { margin-top:90px; }
  .ok-page-main { padding:55px 0 80px; }
}
@media (max-width:480px) {
  .ok-hero h1 { font-size:36px; }
  .ok-hero-copy > p { font-size:16px; }
  .ok-trust { gap:9px 13px; font-size:12px; }
  .ok-trust .ok-star-box { font-size:18px; width:20px; height:21px; line-height:21px; }
  .ok-offer-card { min-height:225px; padding:18px; }
  .ok-offer-card .ok-offer-price { font-size:25px; }
  .ok-offer-card h3 { font-size:16px; }
  .ok-review-track { grid-auto-columns:85%; gap:18px; }
  .ok-service-grid { grid-template-columns:1fr; }
  .ok-service-item { padding-left:20px; }
  .ok-services h2 { font-size:30px; }
  .ok-footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 24px; }
  .ok-footer-links h2,.ok-footer-links h3 { margin-bottom:20px; }
  .ok-footer-socials { flex-direction:row; flex-wrap:wrap; }
  .ok-cta h2 { font-size:33px; }
}
@media (prefers-reduced-motion:reduce) {
  html,.ok-review-track { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* 1.1.0: OK Service plugin integration (locations, prices, brands). */
.ok-header-contact a + a { margin-left:14px; }
.ok-header-contact .oks-phone-link { white-space:nowrap; }
.ok-footer-about .oks-footer-locations { grid-template-columns:1fr; gap:18px; margin-top:8px; }
.ok-footer-about .oks-footer-location p { margin:0 0 4px; }
.ok-footer-about .oks-footer-location-title { font-size:15px !important; }
.ok-home-section { padding:70px 0 10px; }
.ok-home-section > h2 { margin:0 0 12px; }
.ok-home-section > p { max-width:760px; margin:0 0 28px; font-size:17px; }
.ok-home-section .wp-block-buttons { margin-top:28px; }
.ok-home-section .oks-offer-grid { margin-bottom:56px; }
.ok-booking { padding-top:56px; }
.ok-feature .ok-feature-media img { border-radius:24px; }
.ok-services .ok-service-item h3 a { text-decoration:none; }
.ok-services .ok-service-item h3 a:hover { text-decoration:underline; }
@media (max-width:781px) { .ok-home-section { padding:50px 0 0; } .ok-header-contact a + a { margin-left:0; display:block; } }

/* 1.2.0: Figma-ohjeen mukainen typografia, logo ja painikkeet */
.ok-brand img { display:block; width:150px; height:30px; }
.ok-footer-about .ok-brand img { width:150px; }
.ok-brand strong { display:none; }
.ok-header-contact { font-family:var(--wp--preset--font-family--inter, Inter, sans-serif); font-weight:600; font-size:15px; }
.ok-site-header .wp-block-navigation a { font-weight:600; }
.wp-block-button__link, .wp-element-button { font-family:var(--wp--preset--font-family--inter, Inter, sans-serif); font-weight:600; }
.ok-hero h1 { font-size:clamp(32px,3.2vw,42px); }
.ok-booking h2, .ok-offers h2, .ok-services h2, .ok-faq h2, .ok-home-section > h2 { font-size:clamp(26px,2.6vw,32px); }
.ok-faq .wp-block-details { border-top:1px solid #e3e3e3; padding:18px 0; margin:0; }
.ok-faq .wp-block-details:last-child { border-bottom:1px solid #e3e3e3; }
.ok-faq .wp-block-details summary { list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; font-weight:600; font-size:16px; cursor:pointer; }
.ok-faq .wp-block-details summary::-webkit-details-marker { display:none; }
.ok-faq .wp-block-details summary::after { content:""; flex:0 0 14px; width:14px; height:14px; background:linear-gradient(currentColor,currentColor) center/14px 2px no-repeat, linear-gradient(currentColor,currentColor) center/2px 14px no-repeat; }
.ok-faq .wp-block-details[open] summary::after { background:linear-gradient(currentColor,currentColor) center/14px 2px no-repeat; }
.ok-faq .wp-block-details p { font-size:14px; color:#555; max-width:720px; margin:12px 0 0; }

/* 1.2.2: puhelinnumero ylätunnisteessa Figman tapaan (keskellä, lime, ilman aluetta) */
.ok-header-top { align-items:center; }
.ok-header-contact { margin:0 auto; font-size:14px; font-weight:700; letter-spacing:.01em; }
.ok-header-contact a { color:var(--ok-lime); }
.ok-header-contact a + a { margin-left:18px; }
@media (max-width:1100px) { .ok-header-contact { margin:0 0 0 auto; } }
@media (max-width:781px) { .ok-header-contact { display:none; } }

/* 1.2.3: puhelinnumero ylärivin oikeaan laitaan valikon perään */
.ok-header-top .ok-top-navigation { margin-left:auto; }
.ok-header-contact { margin:0 0 0 28px; padding-left:28px; border-left:1px solid #ffffff33; font-size:14px; font-weight:700; }
@media (max-width:1100px) { .ok-header-contact { margin:0 0 0 auto; padding:0; border:0; } }

/* 1.2.5: keskitykset, välistykset, UKK-nuolet */
.ok-promises { padding:40px 0 70px; }
.ok-promises .wp-block-columns { justify-content:center; }
.ok-promise, .ok-promise > * { text-align:center !important; }
.ok-promise .ok-promise-icon, .ok-promise > figure { margin-left:auto; margin-right:auto; }
.ok-services { padding:80px 0 90px; }
.ok-services h2 { text-align:center; margin-bottom:44px; }
.ok-service-grid { margin-inline:auto; gap:40px 36px; }
.ok-service-item { text-align:center; border-left:0; padding-left:0; }
.ok-service-item figure { margin:0 auto 14px; }
.ok-faq { padding:80px 0 90px; }
.ok-faq-list { max-width:760px; margin-inline:auto; }
.ok-faq .wp-block-details summary::after { border:0 !important; transform:none !important; position:static !important; top:auto !important; margin:0 !important; }
.ok-faq .wp-block-details > p { margin:12px 0 0; max-width:720px; }
.ok-cta { padding:72px 0 80px; min-height:auto; }
.ok-cta h2 { margin-bottom:18px; }
.ok-cta p { margin-bottom:22px; }
@media (max-width:781px) { .ok-services { padding:56px 0 60px; } .ok-faq { padding:56px 0 64px; } .ok-cta { padding:56px 0 64px; } .ok-service-item { padding-left:0; } }
