/* TTM varaussivun testiversio (sivu 4173). Rakennettu rakenna.py:llä, älä muokkaa käsin. */
/* alku.html */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-vaiheet{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:nowrap;gap:8px;font-size:13px;font-weight:600;line-height:1.2;color:#15181d}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-vaiheet li{display:flex;align-items:center;gap:6px;margin:0;min-width:0}
/* Kapealla näytöllä kolme vaihetta pysyvät rinnakkain; pitkä teksti rivittyy oman vaiheensa sisällä. */
@media (max-width:480px){:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-vaiheet{gap:8px;font-size:12px;justify-content:space-between}:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-vaiheet li{flex:0 1 auto;gap:5px;white-space:nowrap}}
@media (max-width:389px){:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-vaiheet li{white-space:normal}}
/* IvyForms piirtää lomakkeen vasta skriptin latauduttua; tilanvaraus estää alatunnisteen hypyn (CLS). */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) [id^="ivyforms-app-1_"]:not([data-v-app]){min-height:1600px}
@media (max-width:600px){:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) [id^="ivyforms-app-1_"]:not([data-v-app]){min-height:2300px}}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-vaiheet b{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#15181d;color:#fff;font-size:12px;font-weight:700;flex:none}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-vapaat{margin:12px 0 16px;padding:10px 14px;border:1px solid #e5e9ee;border-radius:10px;background:#fff;font-size:14px;line-height:1.45;color:#15181d}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-vapaat-otsikko{display:flex;align-items:center;gap:8px;font-weight:700;margin:0}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-vapaat-otsikko::before{content:"";width:8px;height:8px;border-radius:50%;background:#1d8148;flex:none}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-vapaat ul{list-style:none;margin:8px 0 0;padding:0}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-vapaat li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid #eef1f5;margin:0}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-vapaat li span:last-child{font-weight:700;color:#1d8148;text-align:right;white-space:nowrap}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-vapaat-aika{color:#1d8148;margin-left:4px}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-vapaat-huom{margin:8px 0 0;font-size:13px;color:#596473}
/* Englanninkielisen varaussivun lisätiedot kalenterin alla (loppu-en.html). */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-en-varaus-lisa { margin: 40px 0 0; padding-top: 24px; border-top: 1px solid #e3e7ec; color: #3d4652; font-size: 15px; }
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-en-varaus-lisa h2 { font-size: 18px; margin: 20px 0 6px; color: #15181d; }
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-en-varaus-lisa a { color: #c81620; }
/* lomake-mobiili.html */
/* Yksi kortti: lomakkeen ulompi kehys pois, jotta kentät saavat leveyden. Sivumarginaalit pidetään, jotta lomake on samassa linjassa muun sivun kanssa. */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms.ivyforms-frontend{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
/* Sivulla on jo otsikko ja ohje: lomakkeen oma otsikko ja kuvaus olisivat kolmas ja neljäs. */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form-title-1,:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form-description-1{display:none!important}
/* Luettavat kenttien otsikot (ei pientä harmaata versaalia) ja tiiviimpi rytmi. */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .ivyforms-field{padding-top:0!important;padding-bottom:0!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .ivyforms-form-field{margin-bottom:0!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .el-form-item{margin-bottom:10px!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .ivyforms-form-submit{margin-top:4px!important}
/* Lisätiedot ja muut tekstialueet: matalampi oletus (IvyFormsin rows teki noin 200 px korkean), käyttäjä voi venyttää. */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .el-textarea__inner{height:96px!important;min-height:96px!important}
/* Rivien väli sama kuin varaussivulla (WPCode 4210 asettaa sen vain /varaa/-sivulle). */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) form.ivyforms-form{row-gap:4px!important}
/* Kentän ohjeteksti (esim. tietosuojalinkki) lähemmäs kenttää. */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .el-form-item__content [class*=description]{margin-top:4px!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .el-form-item__label *{font-weight:600!important;font-size:15px!important;text-transform:none!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .el-form-item__label{text-transform:none!important;font-size:15px!important;font-weight:600!important;letter-spacing:0!important;color:#15181d!important;line-height:1.35!important;margin-bottom:6px!important}
/* Valinnat rinnakkain rivittyen: ajoneuvotyypit vievät kahden rivin tilan kahdeksan sijaan. */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .el-radio-group,:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .el-checkbox-group{flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;padding-top:2px!important;padding-bottom:0!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .el-radio,:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .el-checkbox{margin:0!important;min-height:44px!important;height:auto!important;max-width:100%!important;white-space:normal!important;padding-top:8px!important;padding-bottom:8px!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .el-radio__label,:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .el-checkbox__label{white-space:normal!important;line-height:1.3!important;font-size:15px!important}
/* Etu- ja sukunimi rinnakkain myös puhelimella (IvyForms pinoaa puolikkaat kentät allekkain). */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .ivyforms-form-row:has(.ivyforms-field__text_127){flex-direction:row!important;flex-wrap:nowrap!important;gap:10px!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .ivyforms-form-row:has(.ivyforms-field__text_127)>.ivyforms-form-field{flex:1 1 0!important;min-width:0!important;width:auto!important}
/* Snippet 4210 antaa jokaiselle .entry-contentille ilmaa ja 680 px leveyden; yläpalkin kielivalitsin on myös
   .entry-contentin sisällä ja siirtyi siksi 12 px ylemmäs kuin valikkonappi. Yläpalkki rajataan pois. */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) header .entry-content{padding-top:0!important;padding-bottom:0!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
/* Tekstien vaihto Vue-sovelluksissa (IvyForms, Amelia) koskematta niiden tekstisolmuihin: alkuperäinen piiloon, uusi ::afterina. */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) [data-ttm-teksti]{font-size:0!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) [data-ttm-teksti]::after{content:attr(data-ttm-teksti);font-size:15px}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-button-action [data-ttm-teksti]::after,:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-button-action[data-ttm-teksti]::after{font-size:16px}
/* Virheilmoitusten suomennos (ks. virheet() skriptissä): alkuperäinen teksti piiloon, käännös tilalle. */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .el-form-item__error[data-ttm-viesti]{font-size:0!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .el-form-item__error[data-ttm-viesti]::after{content:attr(data-ttm-viesti);font-size:13px;line-height:1.4}
/* Kosketuskohteet vähintään 44 px. */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .el-input__wrapper{min-height:44px!important}
/* Puhelimella lähetysnappi koko levyinen ja helppo osua. */
@media (max-width:600px){:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .ivyforms-button-wrapper,:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .ivyforms-button-action{width:100%!important;max-width:100%!important}:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form .ivyforms-button-action{min-height:48px!important;font-size:16px!important}}
/* polku.html */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-napit{display:flex;flex-wrap:wrap;gap:8px}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-napit button{min-height:44px;padding:8px 14px;border:1px solid #d4dbe3;border-radius:8px;background:#fff;color:#15181d;font-size:15px;line-height:1.3;cursor:pointer;text-align:left}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-napit button[aria-pressed="true"]{border-color:#1d8148;background:#eaf6ef;font-weight:600}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-napit button:focus-visible{outline:2px solid #1d8148;outline-offset:2px}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-piilo-valikko{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
/* Pyörälistan piilokenttä (lomake 1, "Pyörät (tiedot)"): pyorat.html täyttää sen, asiakas ei näe sitä. */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ivyforms-form :is(.ivyforms-form-field,.el-form-item):has(input[aria-label="Pyörät (tiedot)"]){display:none!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-palvelu-info{max-width:680px;margin:0 auto 8px;font-size:14px;color:#596473}
/* Usean pyörän palvelut (Amelia 14-16) piiloon valikosta. !important, koska Vue palauttaa rivin inline-tyylin. */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .el-select-dropdown li[data-ttm-useat="piilo"]{display:none!important}
/* Yhteystiedot ohitetaan automaattisesti: ei välähdystä esitäytetyistä kentistä. */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .amelia-v2-booking[data-ttm-siirtyy]{opacity:0!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-palvelu-info b{color:#15181d}
/* yhteenveto.html */
/* Yhteenveto: rivit allekkain (otsikko pienenä, arvo alla), väljä kortti. Amelian omat p/dl-tyylit
   ohitetaan tarkemmalla valitsimella. */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .amelia-v2-booking .ttm-kooste{border:1px solid #e3e7ec!important;border-radius:12px!important;padding:6px 18px!important;margin:6px 0 16px!important;background:#fff!important;color:#15181d!important;font-size:15px!important;line-height:1.4!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .amelia-v2-booking .ttm-kooste dl{display:block!important;margin:0!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .amelia-v2-booking .ttm-kooste .ttm-kooste-rivi{padding:12px 0!important;border-bottom:1px solid #eef1f4!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .amelia-v2-booking .ttm-kooste .ttm-kooste-rivi:last-child{border-bottom:0!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .amelia-v2-booking .ttm-kooste dt{display:block!important;margin:0 0 3px!important;font-size:12px!important;font-weight:600!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:#6b7684!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .amelia-v2-booking .ttm-kooste dd{display:block!important;margin:0!important;font-size:16px!important;font-weight:600!important;color:#15181d!important;overflow-wrap:anywhere!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .amelia-v2-booking .ttm-kooste-huom{display:flex!important;gap:10px!important;margin:0 0 18px!important;padding:12px 14px!important;border-radius:10px!important;background:#f3f6f9!important;font-size:14px!important;line-height:1.5!important;color:#3d4652!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .amelia-v2-booking .ttm-kooste-huom::before{content:"i";flex:0 0 20px;height:20px;border-radius:50%;background:#15181d;color:#fff;font:700 12px/20px Georgia,serif;text-align:center;margin-top:1px}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .amelia-v2-booking .ttm-piilota-rivi{display:none!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .ttm-piilota{display:none!important}
/* Usean pyörän varaus: yhteystiedot on viimeinen vaihe, kentät piiloon ja tilalle yhteenveto. */
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .amelia-v2-booking form[data-ttm-piilo]{display:none!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .amelia-v2-booking [data-ttm-otsikko]{font-size:0!important}
:is(body.page-id-4173,body.page-id-2284,body.page-id-4401,body.page-id-4363) .amelia-v2-booking [data-ttm-otsikko]::after{content:attr(data-ttm-otsikko);font-size:var(--ttm-otsikko-fs,18px)}
