/*
Theme Name: Ojamart
Theme URI: https://ojamart.fi
Author: DragDrop Solutions Oy
Author URI: https://dragdrop.fi
Description: Ojamart Oy:n oma lohkoteema. Rakennuskonevuokraamon moderni, nopea ja täysin Gutenberg-pohjainen teema — editori ja sivusto näyttävät samalta.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ojamart
*/

/* ==========================================================================
   Ojamart — pieni määrä lisätyylejä theme.jsonin päälle.
   Ladataan sekä editorissa että sivustolla, jotta näkymät pysyvät identtisinä.
   ========================================================================== */

/* --- Turvaverkko: yksikään lohko ei saa leventää sivua yli näkymän --- */
html,
body {
	overflow-x: clip;
}

.wp-block-post-content img {
	max-width: 100%;
	height: auto;
}

/* --- Taulukot: leveä taulukko vierii omassa laatikossaan, ei sivun yli --- */
.wp-block-table {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* --- Hintataulukko (lohkotyyli core/table-lohkolle) --- */
.wp-block-table.is-style-price-table table {
	border-collapse: collapse;
	width: 100%;
	font-variant-numeric: tabular-nums;
}

.wp-block-table.is-style-price-table th,
.wp-block-table.is-style-price-table td {
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding: 0.65rem 0.75rem;
	vertical-align: top;
}

.wp-block-table.is-style-price-table thead th {
	border-bottom: 2px solid var(--wp--preset--color--contrast);
	font-weight: 700;
	text-align: left;
}

/* Kaksi viimeistä saraketta oikealle — mutta ei koskaan ensimmäistä
   (kaksisarakkeisessa erittelytaulukossa nimikesarake pysyy vasemmalla). */
.wp-block-table.is-style-price-table tr > *:nth-last-child(-n + 2):not(:first-child) {
	text-align: right;
}

.wp-block-table.is-style-price-table tr > *:first-child {
	text-align: left;
	white-space: normal;
}

/* Rivittymisen esto vain leveillä näytöillä; kapealla solut saavat rivittyä. */
@media (min-width: 600px) {
	.wp-block-table.is-style-price-table thead th,
	.wp-block-table.is-style-price-table tr > *:nth-last-child(-n + 2):not(:first-child) {
		white-space: nowrap;
	}
}

@media (max-width: 599px) {
	.wp-block-table.is-style-price-table th,
	.wp-block-table.is-style-price-table td {
		padding: 0.5rem;
	}

	.wp-block-table.is-style-price-table thead th {
		font-size: var(--wp--preset--font-size--small);
	}
}

/* Hinnastotaulukko kapealla näytöllä: rivit muuttuvat korteiksi, joissa
   koneen nimi, lisätiedot ja hinnat omilla riveillään ja koriin lisäys
   -nappi pystykeskitettynä oikealla. Muunnos tunnistetaan lisäyssarakkeesta
   (:has), jotta kaksisarakkeiset erittelytaulukot säilyttävät taulukkomuodon. */
@media (max-width: 599px) {
	.wp-block-table.is-style-price-table:has(.ojamart-add-col) table,
	.wp-block-table.is-style-price-table:has(.ojamart-add-col) tbody {
		display: block;
	}

	.wp-block-table.is-style-price-table:has(.ojamart-add-col) thead {
		display: none;
	}

	.wp-block-table.is-style-price-table:has(.ojamart-add-col) tbody tr {
		display: grid;
		grid-template-columns: max-content max-content 1fr auto;
		grid-template-areas:
			"name name name btn"
			"detail detail detail btn"
			"p1 pn . btn";
		column-gap: 1.1rem;
		row-gap: 0.15rem;
		align-items: center;
		padding: 0.85rem 0.75rem;
		border-bottom: 1px solid var(--wp--preset--color--border);
	}

	.wp-block-table.is-style-price-table:has(.ojamart-add-col) tbody td {
		display: block;
		border: 0;
		padding: 0;
		text-align: left;
	}

	.wp-block-table.is-style-price-table:has(.ojamart-add-col) tbody td:empty {
		display: none;
	}

	.wp-block-table.is-style-price-table:has(.ojamart-add-col) tbody td:nth-child(1) {
		grid-area: name;
		font-weight: 700;
	}

	.wp-block-table.is-style-price-table:has(.ojamart-add-col) tbody td:nth-child(2) {
		grid-area: detail;
		color: var(--wp--preset--color--muted);
		font-size: var(--wp--preset--font-size--small);
	}

	.wp-block-table.is-style-price-table:has(.ojamart-add-col) tbody td:nth-child(3) {
		grid-area: p1;
	}

	.wp-block-table.is-style-price-table:has(.ojamart-add-col) tbody td:nth-child(4) {
		grid-area: pn;
	}

	.wp-block-table.is-style-price-table:has(.ojamart-add-col) tbody td:nth-child(3),
	.wp-block-table.is-style-price-table:has(.ojamart-add-col) tbody td:nth-child(4) {
		font-weight: 700;
		font-size: 0.95rem;
		white-space: nowrap;
		margin-top: 0.2rem;
	}

	.wp-block-table.is-style-price-table:has(.ojamart-add-col) tbody td:nth-child(3)::before,
	.wp-block-table.is-style-price-table:has(.ojamart-add-col) tbody td:nth-child(4)::before {
		color: var(--wp--preset--color--muted);
		font-weight: 500;
		font-size: 0.78rem;
	}

	.wp-block-table.is-style-price-table:has(.ojamart-add-col) tbody td:nth-child(3)::before {
		content: "1. pv ";
	}

	.wp-block-table.is-style-price-table:has(.ojamart-add-col) tbody td:nth-child(4)::before {
		content: "seur. pv ";
	}

	.wp-block-table.is-style-price-table:has(.ojamart-add-col) tbody td:nth-child(3)::after,
	.wp-block-table.is-style-price-table:has(.ojamart-add-col) tbody td:nth-child(4)::after {
		content: "\00a0€";
	}

	.wp-block-table.is-style-price-table:has(.ojamart-add-col) tbody td.ojamart-add-col {
		grid-area: btn;
		align-self: center;
		width: auto;
	}
}

.wp-block-table.is-style-price-table tbody tr:nth-child(even) {
	background: var(--wp--preset--color--surface);
}

.wp-block-table.is-style-price-table figcaption {
	text-align: left;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	margin-top: 0.5rem;
}

/* --- Korttilinkit (kategoriaruudukko) --- */
.ojamart-card {
	position: relative;
	height: 100%;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
	background: var(--wp--preset--color--base);
	box-shadow: 0 1px 2px rgba(28, 25, 23, 0.04);
	transition: border-color 0.2s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.ojamart-card:hover {
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 16px 36px -8px rgba(28, 25, 23, 0.18);
	transform: translateY(-4px);
}

/* Vain kortin otsikkolinkki ilman alleviivausta — sisältölinkit säilyttävät sen. */
.ojamart-card .wp-block-post-title a {
	text-decoration: none;
}

/* Tuotekortti: otsikkorivi flexinä — teksti + pyöreä nuolinappi pystysuunnassa
   keskitetysti, huomioteippi omalla täysleveällä rivillään ylhäällä. */
.ojamart-card .wp-block-post-title {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	column-gap: 0.6rem;
	margin: 0;
	font-size: 1.12rem;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.01em;
}

/* Pelkän otsikon sisältävä kortti (esim. ilman kuvaa): sisältö keskelle. */
.ojamart-card:has(> .wp-block-post-title:only-child) {
	align-content: center;
}

.ojamart-card .wp-block-post-title a {
	min-width: 0;
	color: var(--wp--preset--color--contrast);
	transition: color 0.2s ease;
}

.ojamart-card:hover .wp-block-post-title a {
	color: var(--wp--preset--color--primary-dark);
}

/* Koko kortti klikattava (läpinäkyvä peitto kaiken päällä) */
.ojamart-card .wp-block-post-title a::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 14px;
	z-index: 3;
}

/* Pyöreä "siirry" -nappi flex-itemina — keskittyy pystysuunnassa tekstin kanssa */
.ojamart-card .wp-block-post-title::after {
	content: "→";
	align-self: center;
	width: 36px;
	height: 36px;
	display: grid;
	place-items: center;
	border: 1.5px solid var(--wp--preset--color--border);
	border-radius: 50%;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary-dark);
	font-weight: 800;
	font-size: 1.05rem;
	line-height: 1;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.ojamart-card:hover .wp-block-post-title::after {
	background: var(--wp--preset--color--primary-dark);
	border-color: var(--wp--preset--color--primary-dark);
	color: #ffffff;
	transform: translateX(3px);
}

/* Palvelukortit ja infokortit perivät saman korttityylin ilman nuolta */
.ojamart-card.ojamart-card--static:hover {
	border-color: var(--wp--preset--color--border);
	box-shadow: none;
	transform: none;
}

/* --- Yläpalkki 2.0: tumma työmaataulu --- */
/* Sticky täytyy asettaa template-part-kääreeseen <header>, joka on suora
   .wp-site-blocks-lapsi. Sticky-elementti liikkuu vain oman emonsa sisällä;
   jos sticky olisi sisemmässä .ojamart-header-palkissa, sen emo <header> olisi
   yhtä korkea kuin palkki eikä jäisi tilaa "tarttua" -> ei toimisi. */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
}

body.admin-bar .wp-site-blocks > header.wp-block-template-part {
	top: var(--wp-admin--admin-bar--height, 32px);
}

.ojamart-header {
	background: rgba(24, 21, 19, 0.96);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	transition: box-shadow 0.3s ease;
}

/* Vieritettäessä alaspäin yläpalkki tiivistyy ja saa varjon */
.ojamart-header.ojamart-header--scrolled {
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.4);
}

/* Nollaa flow-asettelun pystymarginaali yläpalkin osilta (topbar + mainbar).
   Header on layout: default (.is-layout-flow), joten ydin lisäisi mainbarille
   margin-block-start: 1.25rem, mikä näkyi ylimääräisenä tilana yläreunassa. */
.ojamart-header > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* Yläpalkin rivi saa kutistua kapealla näytöllä — puhelinnappi ei työnnä sivua leveämmäksi */
.ojamart-header .wp-block-buttons,
.ojamart-header .wp-block-button {
	min-width: 0;
}

/* Infolista (työmaataulu) */
/* Vaakasuuntaisen ylivuodon esto tehdään vain html/body-tasolla (ks. tiedoston
   alku). .wp-site-blocks EI saa olla overflow: clip, koska se on sticky-yläpalkin
   esivanhempi ja keskitason clip-konteksti rikkoo position: stickyn Chromiumissa. */

.ojamart-topbar {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding-top: 0.4rem;
	padding-bottom: 0.4rem;
	max-height: 4rem;
	overflow: hidden;
	transition: max-height 0.35s ease, padding 0.35s ease, opacity 0.25s ease, border-color 0.35s ease;
}

/* Yläpalkin infolista piiloutuu pehmeästi vieritettäessä */
.ojamart-header--scrolled .ojamart-topbar {
	max-height: 0;
	padding-top: 0;
	padding-bottom: 0;
	opacity: 0;
	border-bottom-color: transparent;
}

.ojamart-topbar p {
	margin: 0;
	color: #a89f94;
	letter-spacing: 0.02em;
}

.ojamart-topbar a {
	color: #c9c4bc;
	text-decoration: none;
}

.ojamart-topbar a:hover {
	color: var(--wp--preset--color--primary);
}

@media (max-width: 781px) {
	.ojamart-topbar {
		display: none;
	}

	.ojamart-mainbar {
		padding-top: 0.85rem !important;
	}
}

/* Päärivin asettelu (flexbox): logo vasemmalle, navigointi keskelle, toiminnot
   oikealle. align-items: center keskittää kaiken pystysuunnassa luotettavasti
   (grid keskitti logon perusviivan mukaan väärin). Logo ja toiminnot flex: 1,
   jolloin niiden väliin jäävä navigointi asettuu keskelle. */
.ojamart-mainbar .ojamart-mainbar-inner {
	display: flex;
	align-items: center;
	gap: 2.25rem;
}

/* Nollaa WordPressin flow-asettelun pystymarginaali lapsilta. Ryhmä on
   layout: default eli .is-layout-flow, jolloin ydin lisää jokaiselle lapselle
   margin-block-start: 1.25rem. Se työnsi logon pois pystykeskiöstä. */
.ojamart-mainbar .ojamart-mainbar-inner > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.ojamart-mainbar .ojamart-mainbar-inner > .wp-block-site-logo {
	flex: 1 1 0;
	align-self: center;
	line-height: 0;
}

.ojamart-mainbar .ojamart-mainbar-inner > .wp-block-site-logo,
.ojamart-mainbar .ojamart-mainbar-inner > .wp-block-site-logo a,
.ojamart-mainbar .ojamart-mainbar-inner > .wp-block-site-logo img {
	display: block;
}

.ojamart-mainbar .ojamart-mainbar-inner > .wp-block-navigation {
	flex: 0 1 auto;
}

.ojamart-mainbar .ojamart-mainbar-inner > .ojamart-actions {
	flex: 1 1 0;
	justify-content: flex-end;
}

/* Päärivi + logo tiivistyvät vieritettäessä (pehmeä animaatio) */
.ojamart-mainbar {
	transition: padding 0.3s ease;
}

.ojamart-mainbar .wp-block-site-logo img {
	transition: width 0.3s ease;
}

.ojamart-header--scrolled .ojamart-mainbar {
	padding-top: 0.35rem !important;
	padding-bottom: 0.35rem !important;
}

.ojamart-header--scrolled .ojamart-mainbar .wp-block-site-logo img {
	width: 165px !important;
}

@media (max-width: 781px) {
	.ojamart-mainbar .ojamart-mainbar-inner {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
	}

	.ojamart-mainbar .ojamart-mainbar-inner > .wp-block-site-logo img {
		width: 140px !important;
		height: auto;
	}

	/* "Ota yhteyttä" pelkkänä puhelinikonina mobiilissa (teksti piiloon), jotta
	   valikkonappi, yhteydenotto ja kori mahtuvat siististi riville.
	   !important, koska työpöytäsäännöt tulevat tiedostossa myöhemmin. */
	.ojamart-mainbar .ojamart-actions .wp-block-button__link {
		width: 44px !important;
		height: 44px !important;
		padding: 0 !important;
		justify-content: center;
		font-size: 0 !important;
		overflow: hidden;
	}

	.ojamart-mainbar .ojamart-actions .wp-block-button__link::before {
		margin-right: 0 !important;
		width: 18px;
		height: 18px;
	}

	.ojamart-cart-link {
		width: 44px !important;
		height: 44px !important;
	}
}

/* Päärivi: vaaleat navigointilinkit tummalla pohjalla.
   Huom. ydinlohkon .wp-block-navigation-item__content.wp-block-navigation-item
   -sääntö (color: inherit, spesifisyys 0,3,0) voittaa suoran a-säännön,
   joten väri asetetaan nav-elementille, josta linkit perivät sen. */
.ojamart-mainbar .wp-block-navigation {
	color: #e5e0d8;
}

.ojamart-mainbar .wp-block-navigation a {
	color: #e5e0d8;
	transition: color 0.2s ease;
}

.ojamart-mainbar .wp-block-navigation a:hover {
	color: #ffffff;
}

.ojamart-mainbar .wp-block-navigation .wp-block-navigation-item {
	position: relative;
}

.ojamart-mainbar .wp-block-navigation .current-menu-item > a {
	color: #ffffff;
}

/* Aktiivinen sivu: sama siisti oranssi alleviivaus kuin hoverissa (pysyvänä).
   Alleviivaus toteutetaan yhdellä säännöllä __content::after -pseudolla, jotta
   hover- ja aktiivitila näyttävät identtisiltä. */

/* Logo erottuu tummasta kevyellä kehyksellä */
.ojamart-header .ojamart-logo-img img {
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.ojamart-header a:focus-visible {
	outline-color: #ffb877;
}

/* ==========================================================================
   Mobiilivalikko 2.0: teeman oma koko ruudun valikko ilman riippuvuutta
   ydinlohkon overlay-koneistoon (navigointilohko on overlayMenu: never).
   Avaus ja sulku = .ojamart-nav-open <html>-elementilla (header.js),
   animaatiot puhtailla CSS-siirtymilla molempiin suuntiin. Paneeli on
   headerin RINNALLA templaatissa, ei .ojamart-headerin sisalla, koska
   backdrop-filter tekisi headerista fixed-elementin kiintopisteen.
   ========================================================================== */

/* Tyopoytanavigointi piiloon ja avausnappi esiin 781 px:ssa */
.ojamart-mobilenav-toggle {
	display: none;
}

@media (max-width: 781px) {
	.ojamart-mainbar .wp-block-navigation {
		display: none;
	}

	.ojamart-mobilenav-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		margin: 0;
		padding: 0;
		background: transparent;
		border: 0;
		border-radius: 8px;
		color: #f3efe9;
		cursor: pointer;
	}
}

.ojamart-mobilenav-toggle svg,
.ojamart-mobilenav-close svg {
	width: 28px;
	height: 28px;
}

.ojamart-mobilenav-toggle:focus-visible,
.ojamart-mobilenav-close:focus-visible {
	outline: 2px solid #ffb877;
	outline-offset: 2px;
}

/* Peittopaneeli: suljettuna nakymaton, siirtymat valmiina molempiin suuntiin */
.ojamart-mobilenav {
	position: fixed;
	inset: 0;
	/* Tarkalleen näkymän korkeus myös mobiiliselainten dynaamisen
	   osoitepalkin kanssa; ei ylimääräistä vieritystä. */
	height: 100vh;
	height: 100dvh;
	z-index: 1000;
	background: rgba(18, 15, 13, 0.98);
	color: #f3efe9;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-12px);
	transition: opacity 0.26s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0.3s;
}

html.ojamart-nav-open .ojamart-mobilenav {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity 0.26s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s;
}

/* Tyopoydalla paneeli ei ole koskaan kaytossa */
@media (min-width: 782px) {
	.ojamart-mobilenav {
		display: none;
	}
}

/* Sivun vieritys lukkoon valikon ollessa auki (vain mobiilialueella) */
@media (max-width: 781px) {
	html.ojamart-nav-open,
	html.ojamart-nav-open body {
		overflow: hidden;
	}
}

/* Sovellusvalikkorakenne: linkkialue joustaa ja vierittyy tarvittaessa,
   CTA-napit ja yhteystiedot pysyvät aina kiinnitettyinä alalaitaan. */
.ojamart-mobilenav-inner {
	/* Teemassa ei ole globaalia border-box-nollausta: ilman tätä padding
	   kasvattaisi 100 % korkeutta ja alaosa valuisi ruudun ulkopuolelle. */
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 5.5rem 2rem 1.4rem;
}

.ojamart-mobilenav-close {
	position: absolute;
	top: 1.1rem;
	right: 1.1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 10px;
	color: #f3efe9;
	cursor: pointer;
}

.ojamart-mobilenav-links {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: rgba(255, 255, 255, 0.25) transparent;
}

/* Logo paneelin ylareunassa, sulkunapin parina */
.ojamart-mobilenav-brand {
	position: absolute;
	top: 1.1rem;
	left: 2rem;
	display: block;
	line-height: 0;
}

.ojamart-mobilenav-brand img {
	width: 150px;
	height: auto;
	border-radius: 6px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
}

/* Kategoriarivit alavalikossa: sama pikkukuva kuin tyopoydan mega-menussa */
.ojamart-mobilenav-sub-in a.ojamart-mobilenav-cat {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.3rem 0;
}

.ojamart-mobilenav-cat::before {
	content: "";
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	border-radius: 9px;
	background-color: #2c2723;
	background-size: cover;
	background-position: center;
	border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Kaikki valikon linkit: perusnollaus */
.ojamart-mobilenav-links a {
	color: #f3efe9;
	text-decoration: none;
	transition: color 0.15s ease;
}

/* Ylätason rivit: selkeä Inter-perustyyli */
.ojamart-mobilenav-links > a,
.ojamart-mobilenav-subhead {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.35;
	padding: 0.55rem 0;
}

/* Vuokratuotteet-rivi on kokonaisuudessaan haitarin avauspainike;
   arkistoon pääsee alavalikon "Kaikki vuokratuotteet" -linkistä. */
.ojamart-mobilenav-subhead {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	width: 100%;
	margin: 0;
	background: transparent;
	border: 0;
	color: #f3efe9;
	text-align: left;
	cursor: pointer;
	transition: color 0.15s ease;
}

.ojamart-mobilenav-subhead svg {
	width: 20px;
	height: 20px;
	opacity: 0.7;
	transition: transform 0.25s ease;
}

.ojamart-mobilenav-subhead[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

.ojamart-mobilenav-subhead:hover,
.ojamart-mobilenav-subhead.is-current {
	color: var(--wp--preset--color--primary);
}

.ojamart-mobilenav-subhead:focus-visible {
	outline: 2px solid #ffb877;
	outline-offset: 4px;
}

/* Porrastettu sisääntulo ylätason riveille; sulkeutuessa viiveet nollautuvat */
.ojamart-mobilenav-links > * {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.3s ease, transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

html.ojamart-nav-open .ojamart-mobilenav-links > * {
	opacity: 1;
	transform: none;
}

html.ojamart-nav-open .ojamart-mobilenav-links > :nth-child(1) { transition-delay: 0.05s; }
html.ojamart-nav-open .ojamart-mobilenav-links > :nth-child(2) { transition-delay: 0.1s; }
html.ojamart-nav-open .ojamart-mobilenav-links > :nth-child(3) { transition-delay: 0.15s; }
html.ojamart-nav-open .ojamart-mobilenav-links > :nth-child(n+4) { transition-delay: 0.2s; }

.ojamart-mobilenav-links a:hover,
.ojamart-mobilenav-links a[aria-current="page"] {
	color: var(--wp--preset--color--primary);
}

.ojamart-mobilenav-links a:focus-visible {
	outline: 2px solid #ffb877;
	outline-offset: 4px;
}

/* Alavalikko aukeaa pehmeästi grid-rivitempulla (0fr -> 1fr) */
.ojamart-mobilenav-sub {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.35s ease;
}

.ojamart-mobilenav-sub.is-open {
	grid-template-rows: 1fr;
}

.ojamart-mobilenav-sub-in {
	overflow: hidden;
	display: flex;
	flex-direction: column;
	min-height: 0;
	padding-left: 1rem;
	border-left: 2px solid rgba(232, 129, 61, 0.45);
}

.ojamart-mobilenav-sub-in a {
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1.02rem;
	line-height: 1.4;
	color: #e5e0d8;
	padding: 0.34rem 0;
}

.ojamart-mobilenav-sub-in a:first-child {
	padding-top: 0.6rem;
}

.ojamart-mobilenav-sub-all {
	font-weight: 700;
	color: #ffb877 !important;
	padding-bottom: 0.7rem !important;
}

/* CTA-napit: yhteydenotto ja tarjouspyyntökori vierekkäin, ankkuroituna
   ruudun alalaitaan (auto-marginaali vie ylimääräisen tilan linkkien alle) */
.ojamart-mobilenav-cta {
	display: flex;
	gap: 0.6rem;
	padding-top: var(--wp--preset--spacing--30);
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.3s ease, transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

html.ojamart-nav-open .ojamart-mobilenav-cta {
	opacity: 1;
	transform: none;
	transition-delay: 0.22s;
}

.ojamart-mobilenav-btn {
	flex: 1 1 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.85rem 0.5rem;
	border: 1.5px solid rgba(255, 255, 255, 0.35);
	border-radius: 8px;
	color: #f3efe9;
	text-decoration: none;
	font-weight: 800;
	font-size: var(--wp--preset--font-size--small);
	text-transform: uppercase;
	letter-spacing: 0.035em;
	transition: background-color 0.18s ease, border-color 0.18s ease;
}

.ojamart-mobilenav-btn .ojamart-icon {
	width: 1.1em;
	height: 1.1em;
	color: currentColor;
}

.ojamart-mobilenav-btn:hover {
	border-color: rgba(255, 255, 255, 0.6);
}

.ojamart-mobilenav-btn--primary {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: #ffffff;
}

.ojamart-mobilenav-btn--primary:hover {
	background: var(--wp--preset--color--primary-dark);
	border-color: var(--wp--preset--color--primary-dark);
}

/* Yhteystiedot valikon alalaidassa hiusviivan alla: rivit rinnakkain,
   jotta koko alaosa (napit + tiedot) mahtuu ruudulle ilman vieritystä */
.ojamart-mobilenav-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem 1.4rem;
	margin-top: var(--wp--preset--spacing--30);
	padding-top: 0.9rem;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.3s ease, transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

html.ojamart-nav-open .ojamart-mobilenav-meta {
	opacity: 1;
	transform: none;
	transition-delay: 0.26s;
}

.ojamart-mobilenav-meta a {
	color: #f3efe9;
	text-decoration: none;
	font-weight: 700;
}

.ojamart-mobilenav-meta a:hover {
	color: var(--wp--preset--color--primary);
}

.ojamart-mobilenav-meta .ojamart-icon {
	color: #e8813d;
	margin-right: 0.5rem;
}

.ojamart-mobilenav-hours {
	color: #b5ada4;
	font-size: var(--wp--preset--font-size--small);
}

/* --- Logoteksti: OJAMART + oranssi piste --- */
.ojamart-logotype a {
	text-decoration: none;
}

.ojamart-logotype a::after {
	content: "." / "";
	color: var(--wp--preset--color--primary);
}

.ojamart-logotype .ojamart-dot {
	color: var(--wp--preset--color--primary);
}

/* --- Pehmeät kuvakulmat sisältökuville --- */
.wp-block-post-content .wp-block-image img {
	border-radius: 12px;
}

/* --- Hienosäätö: navigaation aktiivinen linkki --- */
.wp-block-navigation .current-menu-item > a {
	color: var(--wp--preset--color--primary);
}

/* --- Napit: premium oranssi, versaaliteksti, pehmeä satiinikiilto --- */
.wp-block-button__link {
	text-transform: uppercase;
	letter-spacing: 0.035em;
	font-weight: 800;
	border-radius: 6px;
	transition: background-color 0.18s ease, background-image 0.18s ease, color 0.18s ease, box-shadow 0.2s ease, transform 0.12s ease;
}

/* Täytetty nappi: litteä oranssi. Ei varjoja, hohtoja eikä korostuksia. */
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background-color: var(--wp--preset--color--primary);
	background-image: none;
	box-shadow: none;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--primary-dark);
	background-image: none;
	box-shadow: none;
	transform: none;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:active {
	background-color: var(--wp--preset--color--primary-dark);
	transform: none;
	box-shadow: none;
}

/* Ääriviivanappi: siisti täyttö hoverissa */
.wp-block-button.is-style-outline .wp-block-button__link {
	border-width: 2px;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	box-shadow: none;
	background: color-mix(in srgb, currentColor 12%, transparent);
	transform: none;
}

a:focus-visible,
.wp-block-button__link:focus-visible,
.wp-block-navigation a:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
	border-radius: 4px;
}

/* --- Linkkien siirtymät --- */
a {
	transition: color 0.2s ease;
}

/* --- Galleria: pyöristetyt kulmat --- */
.wp-block-gallery .wp-block-image img {
	border-radius: 12px;
}

/* --- Eyebrow-tyyli (pieni oranssi yläotsikko) ---
   Tumma oranssi vaaleilla pinnoilla (WCAG AA), vaalennettu tummalla taustalla. */
.ojamart-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--primary-dark);
}

.has-contrast-background-color .ojamart-eyebrow {
	color: #e8813d;
}

/* --- Osion johdantoteksti: leveässäkin osiossa luettava rivinpituus --- */
.ojamart-lead {
	max-width: 46rem;
}

/* --- Leipätekstiosio leveässä ruudukossa: sama vasen reuna kuin muilla
   osioilla, mutta rivinpituus pysyy luettavana. --- */
.ojamart-prose > * {
	max-width: 46rem;
}

/* --- Linkit oranssilla häivytystaustalla: tumma oranssi riittävään kontrastiin --- */
.has-tint-background-color a:not(.wp-block-button__link) {
	color: var(--wp--preset--color--primary-dark);
}

/* --- Valokuvat: pehmeä varjo --- */
.ojamart-photo img {
	border-radius: 16px;
	box-shadow: 0 24px 48px -12px rgba(28, 25, 23, 0.25);
}

/* ==========================================================================
   Ojamart-identiteetti: konevuokraamon oma visuaalinen kieli.
   Anton-näyttökirjasin, huomioraidat, ruutupaperitausta ja kataloginumerointi.
   ========================================================================== */

/* --- Näyttöotsikko (Anton, versaali) --- */
.ojamart-display {
	font-family: var(--wp--preset--font-family--oswald);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	line-height: 1.08;
}

/* Näyttöotsikon alla ei erillistä huomioraitaa (poistettu käytöstä sivustolta). */
h1.ojamart-display::after,
h2.ojamart-display::after {
	content: none;
}

.has-text-align-center.ojamart-display::after,
main > h1.has-text-align-center::after {
	margin-left: auto;
	margin-right: auto;
}

.has-contrast-background-color h1.ojamart-display::after,
.has-contrast-background-color h2.ojamart-display::after {
	background-image: linear-gradient(
		-45deg,
		var(--wp--preset--color--primary) 25%,
		#ffffff 25%,
		#ffffff 50%,
		var(--wp--preset--color--primary) 50%,
		var(--wp--preset--color--primary) 75%,
		#ffffff 75%
	);
	background-size: 16px 16px;
	box-shadow: none;
}

/* Tumman valokuvataustan (cover) päällä raita on oranssi/valkoinen */
.wp-block-cover h1.ojamart-display::after,
.wp-block-cover h2.ojamart-display::after {
	background: repeating-linear-gradient(
		-45deg,
		var(--wp--preset--color--primary) 0 9px,
		rgba(255, 255, 255, 0.85) 9px 18px
	);
}

/* Oranssin peiton (cover) päällä raita on valkoinen/tumma */
.wp-block-cover:has(> .wp-block-cover__background.has-primary-background-color) h1.ojamart-display::after,
.wp-block-cover:has(> .wp-block-cover__background.has-primary-background-color) h2.ojamart-display::after {
	background: repeating-linear-gradient(
		-45deg,
		rgba(255, 255, 255, 0.9) 0 9px,
		rgba(28, 25, 23, 0.55) 9px 18px
	);
}

/* --- Pyöreä henkilökuva (Kysy lisää -osio) --- */
.ojamart-avatar img {
	border-radius: 50%;
	border: 3px solid rgba(255, 255, 255, 0.85);
}

/* --- Logo: alkuperäinen Ojamart Oy -logokuva --- */
.ojamart-logo-img img {
	border-radius: 6px;
}

/* --- Some-kuvakkeet alapalkissa --- */
.ojamart-watermark .wp-block-social-links .wp-social-link {
	background: rgba(255, 255, 255, 0.12);
}

/* --- Henkilökuvat yhteystietokorteissa --- */
.ojamart-person-photo img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 10px;
}

/* --- Yhteystietosivu: kartta, tiimikortit ja yhteystietopaneeli --- */
.ojamart-map {
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	box-shadow: 0 12px 34px rgba(24, 21, 19, 0.14);
	line-height: 0;
}

.ojamart-map iframe {
	display: block;
	width: 100%;
	height: 440px;
	border: 0;
}

/* Yhteystietopaneeli (osoite, puhelin, aukioloajat).
   Kortti seuraa sisältönsä korkeutta, jottei sarakkeeseen jää tyhjää laatikkoa. */
.ojamart-yhteys-info {
	height: auto;
}

.ojamart-yhteys-info .ojamart-icon {
	color: var(--wp--preset--color--primary-dark);
}

/* Yhteystietolista: ikonisarake ja tekstisarake omissa ruuduissaan, jolloin
   monirivinen osoite tasautuu ikonin kanssa samaan vasempaan reunaan. */
.ojamart-contact-list {
	list-style: none;
	margin: var(--wp--preset--spacing--40) 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
}

.ojamart-contact-list li {
	display: grid;
	grid-template-columns: 1.15rem 1fr;
	column-gap: 0.7rem;
	align-items: start;
	line-height: 1.5;
}

.ojamart-contact-list .ojamart-icon {
	width: 1.15rem;
	height: 1.15rem;
	margin-top: 0.2rem;
}

.ojamart-contact-list strong {
	font-weight: 700;
}

.ojamart-contact-list .ojamart-contact-osoite {
	color: var(--wp--preset--color--muted);
}

/* Aukioloajat-osio erottuu hienovaraisella viivalla kortin sisällä. */
.ojamart-hours-heading {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: var(--wp--preset--spacing--50);
	padding-top: var(--wp--preset--spacing--40);
	border-top: 1px solid var(--wp--preset--color--border);
}

.ojamart-yhteys-info .ojamart-hours {
	max-width: none;
}

.ojamart-yhteys-info .wp-block-buttons {
	margin-top: var(--wp--preset--spacing--50);
}

.ojamart-yhteys-info .wp-block-button {
	width: 100%;
}

.ojamart-yhteys-info .wp-block-button__link {
	display: block;
	width: 100%;
	text-align: center;
}

/* Pikkukartta kortin sisällä, ajo-ohjeet-napin yläpuolella: kevyempi kehys
   kuin isolla kartalla, ja nappi kiinni kartassa omana parinaan. */
.ojamart-map--mini {
	margin-top: var(--wp--preset--spacing--50);
	border-radius: 10px;
	box-shadow: none;
}

.ojamart-map--mini iframe {
	height: 200px;
}

.ojamart-yhteys-info .ojamart-map--mini + .wp-block-buttons {
	margin-top: var(--wp--preset--spacing--30);
}

/* Tiimikortit: kuva kortin reunoihin asti, sisältö omassa paneelissaan */
.ojamart-team-card {
	overflow: hidden;
}

.ojamart-team-card .ojamart-person-photo {
	margin: 0;
	overflow: hidden;
}

.ojamart-team-card .ojamart-person-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 0;
	transition: transform 0.35s ease;
}

.ojamart-team-card:hover .ojamart-person-photo img {
	transform: scale(1.04);
}

.ojamart-team-body h3 {
	margin: 0;
}

.ojamart-team-rooli {
	margin-top: 0.2rem;
	color: var(--wp--preset--color--primary-dark);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--small);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* Yhteystiedot kortin alaosassa hiusviivan alla, väljä riviväli */
.ojamart-team-body > p:last-child {
	border-top: 1px solid var(--wp--preset--color--border);
	margin-top: var(--wp--preset--spacing--40);
	padding-top: 0.9rem;
	line-height: 2.05;
}

.ojamart-team-card .ojamart-icon {
	color: var(--wp--preset--color--primary-dark);
	margin-right: 0.45rem;
}

@media (max-width: 600px) {
	.ojamart-map iframe {
		height: 300px;
	}
}

/* --- Ruutupaperi (tekninen piirustus) vaalealle pinnalle --- */
.ojamart-blueprint {
	background-image:
		linear-gradient(rgba(28, 25, 23, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(28, 25, 23, 0.045) 1px, transparent 1px);
	background-size: 36px 36px;
}

.has-contrast-background-color.ojamart-blueprint {
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
}

/* --- Kategoriaikonit: sama mediakirjaston ikoni per kategoria (slug -> --ojacat-icon).
   Käytetään sekä tuotesivun sivupalkissa että kategoriaruudukon merkissä. --- */
.ojacat-aidat-ja-kaiteet { --ojacat-icon: url(https://ojamart.local/wp-content/uploads/2026/07/01-AID1.png); }
.ojacat-betonityot-muuraus { --ojacat-icon: url(https://ojamart.local/wp-content/uploads/2026/07/02-BET1.png); }
.ojacat-generaattorit { --ojacat-icon: url(https://ojamart.local/wp-content/uploads/2026/07/03-GEN1.png); }
.ojacat-hiomakoneet { --ojacat-icon: url(https://ojamart.local/wp-content/uploads/2026/07/04-HIO1.png); }
.ojacat-imurit { --ojacat-icon: url(https://ojamart.local/wp-content/uploads/2026/07/05-IMU1.png); }
.ojacat-jakokeskukset-jatkojohdot-valaisimet { --ojacat-icon: url(https://ojamart.local/wp-content/uploads/2026/07/06-JAK1.png); }
.ojacat-jyrsimet { --ojacat-icon: url(https://ojamart.local/wp-content/uploads/2026/07/07-JYR1.png); }
.ojacat-kosteuden-poisto { --ojacat-icon: url(https://ojamart.local/wp-content/uploads/2026/07/08-KOS1.png); }
.ojacat-lammittimet { --ojacat-icon: url(https://ojamart.local/wp-content/uploads/2026/07/09-LAM1.png); }
.ojacat-maanrakennuskoneet { --ojacat-icon: url(https://ojamart.local/wp-content/uploads/2026/07/10-MAA1.png); }
.ojacat-maantiivistajat { --ojacat-icon: url(https://ojamart.local/wp-content/uploads/2026/07/11-MAA1.png); }
.ojacat-mittalaitteet { --ojacat-icon: url(https://ojamart.local/wp-content/uploads/2026/07/12-MIT1.png); }
.ojacat-naulaimet-kompressorit { --ojacat-icon: url(https://ojamart.local/wp-content/uploads/2026/07/13-NAU1.png); }
.ojacat-nostimet-nostolaitteet { --ojacat-icon: url(https://ojamart.local/wp-content/uploads/2026/07/14-NOS1.png); }
.ojacat-puutarha { --ojacat-icon: url(https://ojamart.local/wp-content/uploads/2026/07/15-PIH1.png); }
.ojacat-porakoneet-piikkauskoneet { --ojacat-icon: url(https://ojamart.local/wp-content/uploads/2026/07/16-POR1.png); }
.ojacat-sekalaiset { --ojacat-icon: url(https://ojamart.local/wp-content/uploads/2026/07/17-SEK1.png); }
.ojacat-sirkkelit-ja-sahat { --ojacat-icon: url(https://ojamart.local/wp-content/uploads/2026/07/18-SIR1.png); }
.ojacat-telineet { --ojacat-icon: url(https://ojamart.local/wp-content/uploads/2026/07/19-TEL1.png); }

/* Kategoriaikoni kuvan päälle — laitteen omaisuustarran tapaan (tumma ruutu, vaalea ikoni) */
.wp-block-query .ojamart-card .wp-block-post-featured-image::before {
	content: "";
	position: absolute;
	top: 0.7rem;
	left: 0.7rem;
	z-index: 2;
	width: 44px;
	height: 44px;
	background-color: rgba(24, 21, 19, 0.9);
	background-image: var(--ojacat-icon);
	background-size: 28px 28px;
	background-repeat: no-repeat;
	background-position: center;
	border-radius: 8px;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
}

/* --- Kategorianavigaatio: kaikki kategoriat aina näkyvissä tuotesivuilla --- */
.ojamart-catnav {
	position: sticky;
	top: 88px;
	max-height: calc(100vh - 110px);
	overflow-y: auto;
	scrollbar-width: thin;
}

.ojamart-catnav .wp-block-post-template {
	counter-reset: ojamart-nav;
	list-style: none;
	padding: 0;
	margin: 0;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	overflow: hidden;
	background: var(--wp--preset--color--base);
}

.ojamart-catnav .wp-block-post {
	counter-increment: ojamart-nav;
	margin: 0;
}

.ojamart-catnav .wp-block-post + .wp-block-post {
	border-top: 1px solid var(--wp--preset--color--border);
}

.ojamart-catnav .wp-block-post-title {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.35;
}

.ojamart-catnav .wp-block-post-title a {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.5rem 0.85rem;
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
	font-weight: 600;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.ojamart-catnav .wp-block-post-title a::before {
	content: "";
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	border-radius: 7px;
	background-color: #2c2723;
	background-image: var(--ojacat-icon);
	background-size: 20px 20px;
	background-repeat: no-repeat;
	background-position: center;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.ojamart-catnav .wp-block-post-title a:hover {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--primary-dark);
}

/* Aktiivinen kategoria: oranssi vasen reunus ja häivytystausta */
.ojamart-catnav .wp-block-post.ojamart-current .wp-block-post-title a {
	background: var(--wp--preset--color--tint);
	box-shadow: inset 4px 0 0 var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-dark);
}

/* Kapealla näytöllä sivupalkki muuttuu vaakasuunnassa vieritettäväksi siruriviksi */
@media (max-width: 899px) {
	.ojamart-catnav {
		position: static;
		max-height: none;
		overflow: visible;
	}

	.ojamart-catnav .wp-block-post-template {
		display: flex;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		gap: 0.5rem;
		border: 0;
		border-radius: 0;
		background: transparent;
		padding-bottom: 0.5rem;
		/* Siruriviä vieritetään sormella, näkyvä vierityspalkki vain rumentaa */
		scrollbar-width: none;
		scroll-snap-type: x proximity;
	}

	.ojamart-catnav .wp-block-post-template::-webkit-scrollbar {
		display: none;
	}

	.ojamart-catnav .wp-block-post {
		flex: none;
		scroll-snap-align: start;
	}

	.ojamart-catnav .wp-block-post + .wp-block-post {
		border-top: 0;
	}

	.ojamart-catnav .wp-block-post-title a {
		border: 1px solid var(--wp--preset--color--border);
		border-radius: 999px;
		padding: 0.4rem 0.9rem;
		white-space: nowrap;
		background: var(--wp--preset--color--base);
	}

	.ojamart-catnav .wp-block-post.ojamart-current .wp-block-post-title a {
		background: var(--wp--preset--color--primary-dark);
		color: #ffffff;
		border-color: var(--wp--preset--color--primary-dark);
		box-shadow: none;
	}

	.ojamart-catnav .wp-block-post.ojamart-current .wp-block-post-title a::before {
		color: #ffd9bd;
	}
}

/* --- Murupolku (leivänmurut) --- */
.ojamart-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.3rem 0.5rem;
	margin: 0 0 0.7rem;
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0.01em;
	line-height: 1.4;
}

.ojamart-breadcrumb a {
	color: inherit;
	text-decoration: none;
	transition: color 0.15s ease;
}

.ojamart-breadcrumb a:hover {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ojamart-breadcrumb-sep {
	opacity: 0.4;
}

.ojamart-breadcrumb-current {
	opacity: 0.75;
}

/* Herossa (tumma tausta) murupolku vaaleana, hover vaalea oranssi */
.wp-block-cover .ojamart-breadcrumb {
	color: rgba(255, 255, 255, 0.82);
}

.wp-block-cover .ojamart-breadcrumb a:hover {
	color: #ffb877;
}

/* Sivun otsikko-osan väljyys tuotesivun herossa */
.ojamart-page-head .wp-block-post-title {
	margin-top: 0.15rem;
	margin-bottom: 0.35rem;
}

/* --- Suuret tunnusluvut (Anton) --- */
.ojamart-stat {
	font-family: var(--wp--preset--font-family--oswald);
	font-weight: 600;
	font-size: clamp(2.5rem, 4.5vw, 3.75rem);
	line-height: 1;
	letter-spacing: 0.01em;
	color: var(--wp--preset--color--contrast);
	margin: 0;
}

.ojamart-stat .ojamart-dot {
	color: var(--wp--preset--color--primary);
}

/* --- Taulukon otsikkorivi: tekninen erittely --- */
.wp-block-table.is-style-price-table thead th {
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

/* --- Alapalkin vesileima --- */
.ojamart-watermark {
	position: relative;
	overflow: hidden;
}

.ojamart-watermark::after {
	content: "OJAMART" / "";
	position: absolute;
	left: 50%;
	bottom: -0.24em;
	transform: translateX(-50%);
	font-family: var(--wp--preset--font-family--oswald);
	font-size: clamp(6rem, 16vw, 15rem);
	line-height: 1;
	letter-spacing: 0.02em;
	color: transparent;
	-webkit-text-stroke: 1px rgba(255, 255, 255, 0.07);
	pointer-events: none;
	user-select: none;
	white-space: nowrap;
}

/* --- Liikeherkkyys: kunnioita käyttäjän asetusta --- */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}

/* --- Vuokralaskuri --- */
.ojamart-laskuri {
	background: var(--wp--preset--color--tint);
	border-radius: 14px;
	padding: var(--wp--preset--spacing--50);
}

.ojamart-laskuri-kentat {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30);
	margin: var(--wp--preset--spacing--40) 0 0;
}

.ojamart-laskuri-kentta {
	flex: 1 1 14rem;
	margin: 0;
}

.ojamart-laskuri-kentta label {
	display: block;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
	margin-bottom: 0.25rem;
}

.ojamart-laskuri select,
.ojamart-laskuri input[type="number"] {
	width: 100%;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	padding: 0.5rem;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font: inherit;
}

.ojamart-laskuri select:focus,
.ojamart-laskuri input[type="number"]:focus {
	border-color: var(--wp--preset--color--primary);
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 1px;
}

.ojamart-laskuri .ojamart-laskuri-tulos {
	margin-top: var(--wp--preset--spacing--40);
}

.ojamart-laskuri .ojamart-laskuri-erittely {
	margin-top: var(--wp--preset--spacing--20);
}

.ojamart-laskuri .ojamart-laskuri-huomautus {
	margin-top: var(--wp--preset--spacing--30);
}

@media (max-width: 600px) {
	.ojamart-laskuri-kentta {
		flex-basis: 100%;
	}
}

/* ==========================================================================
   Rakojen poisto: täysleveät kaistat kiinni toisiinsa.
   WP:n blockGap-marginaali jättää valkoisia raitoja alignfull-lohkojen
   väliin — poistetaan se vierekkäisiltä kaistoilta ja sivupohjan juuresta.
   ========================================================================== */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

main.wp-block-group > .alignfull + .alignfull,
main.wp-block-group > .alignfull:first-child,
.wp-block-post-content > .alignfull + .alignfull,
.wp-block-post-content > .alignfull:first-child {
	margin-block-start: 0;
}

main.wp-block-group > .alignfull:last-child,
.wp-block-post-content > .alignfull:last-child {
	margin-block-end: 0;
}

/* ==========================================================================
   Ikonit: Lucide-tyyliset SVG-maskit — väri periytyy currentColorista.
   ========================================================================== */
.ojamart-icon {
	display: inline-block;
	width: 1.1em;
	height: 1.1em;
	vertical-align: -0.18em;
	background-color: currentColor;
	-webkit-mask: var(--ojamart-icon) no-repeat center / contain;
	mask: var(--ojamart-icon) no-repeat center / contain;
}

.ojamart-icon--clock { --ojamart-icon: url("data:image/svg+xml,%3Csvg xmlns%3D'http://www.w3.org/2000/svg' viewBox%3D'0 0 24 24' fill%3D'none' stroke%3D'black' stroke-width%3D'2' stroke-linecap%3D'round' stroke-linejoin%3D'round'%3E%3Ccircle cx%3D'12' cy%3D'12' r%3D'10'/%3E%3Cpolyline points%3D'12 6 12 12 16 14'/%3E%3C/svg%3E"); }

.ojamart-icon--pin { --ojamart-icon: url("data:image/svg+xml,%3Csvg xmlns%3D'http://www.w3.org/2000/svg' viewBox%3D'0 0 24 24' fill%3D'none' stroke%3D'black' stroke-width%3D'2' stroke-linecap%3D'round' stroke-linejoin%3D'round'%3E%3Cpath d%3D'M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx%3D'12' cy%3D'10' r%3D'3'/%3E%3C/svg%3E"); }

.ojamart-icon--mail { --ojamart-icon: url("data:image/svg+xml,%3Csvg xmlns%3D'http://www.w3.org/2000/svg' viewBox%3D'0 0 24 24' fill%3D'none' stroke%3D'black' stroke-width%3D'2' stroke-linecap%3D'round' stroke-linejoin%3D'round'%3E%3Crect width%3D'20' height%3D'16' x%3D'2' y%3D'4' rx%3D'2'/%3E%3Cpath d%3D'm22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E"); }

.ojamart-icon--phone { --ojamart-icon: url("data:image/svg+xml,%3Csvg xmlns%3D'http://www.w3.org/2000/svg' viewBox%3D'0 0 24 24' fill%3D'none' stroke%3D'black' stroke-width%3D'2' stroke-linecap%3D'round' stroke-linejoin%3D'round'%3E%3Cpath d%3D'M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); }

.ojamart-icon--wrench { --ojamart-icon: url("data:image/svg+xml,%3Csvg xmlns%3D'http://www.w3.org/2000/svg' viewBox%3D'0 0 24 24' fill%3D'none' stroke%3D'black' stroke-width%3D'2' stroke-linecap%3D'round' stroke-linejoin%3D'round'%3E%3Cpath d%3D'M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E"); }

.ojamart-icon--package { --ojamart-icon: url("data:image/svg+xml,%3Csvg xmlns%3D'http://www.w3.org/2000/svg' viewBox%3D'0 0 24 24' fill%3D'none' stroke%3D'black' stroke-width%3D'2' stroke-linecap%3D'round' stroke-linejoin%3D'round'%3E%3Cpath d%3D'm7.5 4.27 9 5.15'/%3E%3Cpath d%3D'M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d%3D'm3.3 7 8.7 5 8.7-5'/%3E%3Cpath d%3D'M12 22V12'/%3E%3C/svg%3E"); }

.ojamart-icon--cog { --ojamart-icon: url("data:image/svg+xml,%3Csvg xmlns%3D'http://www.w3.org/2000/svg' viewBox%3D'0 0 24 24' fill%3D'none' stroke%3D'black' stroke-width%3D'2' stroke-linecap%3D'round' stroke-linejoin%3D'round'%3E%3Cpath d%3D'M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z'/%3E%3Ccircle cx%3D'12' cy%3D'12' r%3D'3'/%3E%3C/svg%3E"); }

.ojamart-icon--cart { --ojamart-icon: url("data:image/svg+xml,%3Csvg xmlns%3D'http://www.w3.org/2000/svg' viewBox%3D'0 0 24 24' fill%3D'none' stroke%3D'black' stroke-width%3D'2' stroke-linecap%3D'round' stroke-linejoin%3D'round'%3E%3Ccircle cx%3D'8' cy%3D'21' r%3D'1'/%3E%3Ccircle cx%3D'19' cy%3D'21' r%3D'1'/%3E%3Cpath d%3D'M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E"); }

.ojamart-icon--check { --ojamart-icon: url("data:image/svg+xml,%3Csvg xmlns%3D'http://www.w3.org/2000/svg' viewBox%3D'0 0 24 24' fill%3D'none' stroke%3D'black' stroke-width%3D'2' stroke-linecap%3D'round' stroke-linejoin%3D'round'%3E%3Cpath d%3D'M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }


/* Ikonisiru korttien otsikoiden ylle */
.ojamart-card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: var(--wp--preset--color--tint);
	color: var(--wp--preset--color--primary-dark);
	margin: 0 0 0.25rem;
}

.ojamart-card-icon .ojamart-icon {
	width: 24px;
	height: 24px;
}

/* Infolistan ikonit */
.ojamart-topbar .ojamart-icon {
	margin-right: 0.4rem;
	opacity: 0.85;
}

/* Alapalkin yhteystietoikonit */
.ojamart-watermark .ojamart-icon {
	margin-right: 0.45rem;
	opacity: 0.8;
}

/* ==========================================================================
   Tarjouspyyntökori: lisäysnapit, yläpalkin korimerkki ja korisivu.
   ========================================================================== */

/* --- Lisää koriin -sarake hintataulukossa --- */
.wp-block-table.is-style-price-table th.ojamart-add-col,
.wp-block-table.is-style-price-table td.ojamart-add-col {
	width: 44px;
	text-align: right;
	white-space: nowrap;
}

/* Lisäyssarakkeen kanssa hintasarakkeet (3. ja 2. viimeinen) pysyvät oikealla. */
.wp-block-table.is-style-price-table tr:has(> .ojamart-add-col) > *:nth-last-child(-n + 3):not(:first-child) {
	text-align: right;
}

@media (min-width: 600px) {
	.wp-block-table.is-style-price-table tr:has(> .ojamart-add-col) > *:nth-last-child(-n + 3):not(:first-child) {
		white-space: nowrap;
	}
}

/* --- Lisää koriin -nappi --- */
.ojamart-add {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: var(--wp--preset--color--primary-dark);
	color: #ffffff;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.ojamart-add:hover {
	background: var(--wp--preset--color--primary);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(204, 91, 16, 0.3);
}

.ojamart-add:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

.ojamart-add--added {
	background: #2f7a3d;
}

.ojamart-add--exists {
	background: var(--wp--preset--color--muted);
}

/* Laskurin versio on tekstinappi */
.ojamart-add--laskuri {
	width: auto;
	height: auto;
	padding: 0.55rem 1.1rem;
	font-size: var(--wp--preset--font-size--small);
	margin-top: var(--wp--preset--spacing--30);
}

/* --- Yläpalkin toimintopari: "Ota yhteyttä" (ensisijainen) + "Kori" (toissijainen).
   Samankokoiset, saman kulmapyöristyksen jakavat napit yhtenäisenä parina. --- */
.ojamart-mainbar .ojamart-actions .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	height: 46px;
	padding: 0 1.3rem;
	border-radius: 8px;
	font-size: 0.9rem;
	line-height: 1;
}

/* Puhelinkuvake ensisijaisen napin eteen (yhtenäinen ikonikieli korin kanssa) */
.ojamart-mainbar .ojamart-actions .wp-block-button__link::before {
	content: "";
	width: 18px;
	height: 18px;
	margin-right: 0.55rem;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns%3D'http://www.w3.org/2000/svg' viewBox%3D'0 0 24 24' fill%3D'none' stroke%3D'black' stroke-width%3D'2' stroke-linecap%3D'round' stroke-linejoin%3D'round'%3E%3Cpath d%3D'M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns%3D'http://www.w3.org/2000/svg' viewBox%3D'0 0 24 24' fill%3D'none' stroke%3D'black' stroke-width%3D'2' stroke-linecap%3D'round' stroke-linejoin%3D'round'%3E%3Cpath d%3D'M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.ojamart-cart-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	color: #f3efe9;
	text-decoration: none;
	border: 1.5px solid rgba(255, 255, 255, 0.24);
	border-radius: 8px;
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.ojamart-cart-link:hover {
	color: #ffffff;
	border-color: var(--wp--preset--color--primary);
	background: rgba(232, 129, 61, 0.16);
}

.ojamart-cart-link .ojamart-icon {
	width: 20px;
	height: 20px;
	vertical-align: middle;
}

/* Kun korissa on tavaraa: hillitty oranssi reunus + häivytystausta.
   Ei täyttä oranssia — se kilpailisi "Ota yhteyttä" -CTA:n kanssa. */
.ojamart-cart-link.ojamart-cart-link--filled {
	border-color: var(--wp--preset--color--primary);
	background: rgba(232, 129, 61, 0.14);
	color: #ffffff;
}

.ojamart-cart-count {
	position: absolute;
	top: -7px;
	right: -7px;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--wp--preset--color--primary);
	color: #ffffff;
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 20px;
	text-align: center;
	box-shadow: 0 0 0 2px var(--wp--preset--color--contrast);
}

@keyframes ojamart-cart-pulse {
	0% { transform: scale(1); }
	40% { transform: scale(1.4); }
	100% { transform: scale(1); }
}

.ojamart-cart-count--pulse {
	animation: ojamart-cart-pulse 0.45s ease;
}

/* --- Korisivu --- */
/* Leveä työpöytätaitto: hinnoittelu + lomake vierekkäin (kapeaa 46rem-sisältöä
   leveämpi). Sivun ryhmän contentSize on 76rem, joten kori saa saman levyn. */
.ojamart-kori {
	max-width: 76rem;
	margin-left: auto;
	margin-right: auto;
}

/* Tyhjän korin tila (vasemmassa sarakkeessa, lomake näkyy silti oikealla) */
.ojamart-kori-tyhja {
	margin: 0;
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50);
	border: 1px dashed var(--wp--preset--color--border);
	border-radius: 14px;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--muted);
	text-align: center;
	line-height: 1.6;
}

/* --- Korilista: sarakelinjattu rivinäkymä (ikoni · nimi · vuokrapäivät · arvio · poisto) --- */
.ojamart-kori-lista {
	--kori-cols: 3rem minmax(0, 1fr) 8rem 7rem 2rem;
	--kori-colgap: 0.9rem;
	--kori-padx: 1.35rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
	overflow: hidden;
	background: var(--wp--preset--color--base);
	box-shadow: 0 1px 2px rgba(24, 21, 19, 0.04);
}

/* Sarakeotsikot: selventävät että säädin = vuokrapäivät ja summa = arvio */
.ojamart-kori-otsikko {
	display: grid;
	grid-template-columns: var(--kori-cols);
	grid-template-areas: "icon info stepper price remove";
	column-gap: var(--kori-colgap);
	align-items: center;
	padding: 0.65rem var(--kori-padx);
	border-bottom: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--surface);
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--wp--preset--color--muted);
}

.ojamart-kori-otsikko .oh-info { grid-column: 1 / 3; } /* ikoni + nimi, jotta otsikon vasen reuna osuu ikonin kohdalle */
.ojamart-kori-otsikko .oh-stepper { grid-area: stepper; text-align: center; }
.ojamart-kori-otsikko .oh-price { grid-area: price; text-align: right; }

.ojamart-kori-rivi {
	display: grid;
	grid-template-columns: var(--kori-cols);
	grid-template-areas: "icon info stepper price remove";
	column-gap: var(--kori-colgap);
	align-items: center;
	padding: 1rem var(--kori-padx);
	transition: background-color 0.15s ease;
}

.ojamart-kori-rivi:hover {
	background: var(--wp--preset--color--surface);
}

.ojamart-kori-rivi + .ojamart-kori-rivi {
	border-top: 1px solid var(--wp--preset--color--border);
}

/* Kategoriaikoni (sama tumma ruutu kuin valikossa/sivupalkissa) */
.ojamart-kori-ikoni {
	grid-area: icon;
	width: 48px;
	height: 48px;
	border-radius: 10px;
	background-color: #2c2723;
	background-image: var(--ojacat-icon);
	background-size: 30px 30px;
	background-repeat: no-repeat;
	background-position: center;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.ojamart-kori-tiedot {
	grid-area: info;
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
}

.ojamart-kori-nimi {
	font-weight: 700;
	font-size: 1.02rem;
	line-height: 1.25;
	color: var(--wp--preset--color--contrast);
}

.ojamart-kori-lisatiedot {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}

.ojamart-kori-kategoria {
	margin-top: 0.15rem;
	color: var(--wp--preset--color--muted);
	font-size: 0.68rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	opacity: 0.8;
}

/* Vuokrapäivät: yhtenäinen segmenttisäädin (− | luku | +) */
.ojamart-kori-paivat {
	grid-area: stepper;
	justify-self: center;
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	overflow: hidden;
	background: var(--wp--preset--color--base);
}

.ojamart-kori-step {
	width: 38px;
	height: 38px;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.ojamart-kori-step:hover {
	background: var(--wp--preset--color--tint);
	color: var(--wp--preset--color--primary-dark);
}

.ojamart-kori-step:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: -2px;
}

.ojamart-kori-paivat input[type="number"] {
	width: 2.75rem;
	height: 38px;
	border: 0;
	border-left: 1px solid var(--wp--preset--color--border);
	border-right: 1px solid var(--wp--preset--color--border);
	border-radius: 0;
	padding: 0;
	text-align: center;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	font-weight: 600;
	-moz-appearance: textfield;
}

.ojamart-kori-paivat input[type="number"]::-webkit-outer-spin-button,
.ojamart-kori-paivat input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.ojamart-kori-hinta {
	grid-area: price;
	text-align: right;
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--wp--preset--color--contrast);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.ojamart-kori-poista {
	grid-area: remove;
	justify-self: center;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--wp--preset--color--muted);
	font-size: 0.95rem;
	line-height: 1;
	cursor: pointer;
	transition: color 0.15s ease, background-color 0.15s ease;
}

.ojamart-kori-poista:hover {
	color: #b5271b;
	background: rgba(181, 39, 27, 0.1);
}

.ojamart-kori-poista:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

/* Mobiili: rivi taittuu kahteen tasoon, sarakeotsikot piiloon */
@media (max-width: 560px) {
	.ojamart-kori-otsikko {
		display: none;
	}

	.ojamart-kori-rivi {
		grid-template-columns: 48px minmax(0, 1fr) auto;
		grid-template-areas:
			"icon info remove"
			"icon stepper price";
		row-gap: 0.8rem;
		column-gap: 0.85rem;
	}

	.ojamart-kori-ikoni {
		align-self: start;
	}

	.ojamart-kori-paivat {
		justify-self: start;
	}

	.ojamart-kori-poista {
		align-self: start;
	}
}

/* Arvio yhteensä (Anton-tunnusluku) */
.ojamart-kori-summa {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: var(--wp--preset--spacing--40);
}

.ojamart-kori-summa-arvo {
	font-family: var(--wp--preset--font-family--oswald);
	font-weight: 600;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	line-height: 1;
	letter-spacing: 0.01em;
	color: var(--wp--preset--color--contrast);
}

.ojamart-kori-summa-alv {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
}

/* Kaksisarakkeinen taitto: hinnoittelu vasemmalla, tarjouspyyntölomake oikealla */
.ojamart-kori-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: var(--wp--preset--spacing--60);
	align-items: start;
	margin-top: var(--wp--preset--spacing--40);
}

@media (max-width: 860px) {
	.ojamart-kori-layout {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--50);
	}
}

/* ALV-erittely */
.ojamart-kori-erittely {
	margin-top: var(--wp--preset--spacing--40);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
	background: var(--wp--preset--color--surface);
}

.ojamart-kori-erittely-rivi {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding: 0.3rem 0;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
}

.ojamart-kori-erittely-summa {
	margin-top: 0.5rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--contrast);
	gap: 0.75rem;
}

.ojamart-kori-erittely-summa > span:first-child {
	font-weight: 600;
	font-size: 1rem;
}

.ojamart-kori-erittely-alv {
	color: var(--wp--preset--color--muted);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--small);
	white-space: nowrap;
}

.ojamart-kori-erittely .ojamart-kori-summa-arvo {
	font-size: clamp(1.35rem, 2.2vw, 1.7rem);
	white-space: nowrap;
}

/* Kaksisarakkeisessa taitossa lomake alkaa sarakkeen yläreunasta (ei ylämarginaalia) */
.ojamart-kori-layout .ojamart-kori-lomake,
.wp-block-column > .ojamart-kori-lomake:first-child {
	margin-top: 0;
}

/* Tarjouspyyntölomake */
.ojamart-kori-lomake {
	margin-top: var(--wp--preset--spacing--50);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
	padding: var(--wp--preset--spacing--50);
}

.ojamart-kori-kentat {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--wp--preset--spacing--30);
	margin: var(--wp--preset--spacing--40) 0;
}

.ojamart-kori-kentta {
	margin: 0;
}

.ojamart-kori-kentta--levea {
	grid-column: 1 / -1;
}

.ojamart-kori-kentta label {
	display: block;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
	margin-bottom: 0.25rem;
}

.ojamart-kori-lomake input[type="text"],
.ojamart-kori-lomake input[type="tel"],
.ojamart-kori-lomake input[type="email"],
.ojamart-kori-lomake textarea {
	width: 100%;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	padding: 0.7rem 0.85rem;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font: inherit;
	box-sizing: border-box;
}

.ojamart-kori-lomake textarea {
	resize: vertical;
	min-height: 7rem;
}

.ojamart-kori-lomake input:focus,
.ojamart-kori-lomake textarea:focus {
	border-color: var(--wp--preset--color--primary);
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 1px;
}

/* Tietosuoja-suostumus (pakollinen valintaruutu) */
.ojamart-kori-suostumus {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	margin: 0 0 var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
}

.ojamart-kori-suostumus input[type="checkbox"] {
	flex: 0 0 auto;
	width: 1.2rem;
	height: 1.2rem;
	margin-top: 0.1rem;
	accent-color: var(--wp--preset--color--primary);
	cursor: pointer;
}

.ojamart-kori-suostumus label {
	cursor: pointer;
}

.ojamart-kori-suostumus a {
	color: var(--wp--preset--color--primary);
	text-underline-offset: 2px;
}

/* Lähetä-nappi täysleveänä ja korostettuna lomakkeen lopussa */
.ojamart-kori-laheta {
	margin-bottom: 0.75rem;
}

.ojamart-kori-laheta .wp-block-button__link {
	width: 100%;
	justify-content: center;
	padding-top: 0.85rem;
	padding-bottom: 0.85rem;
}

/* Hunajapurkki piiloon näkyvistä (ei display:none, jotta robotit täyttävät sen) */
.ojamart-kori-www {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	border: 0;
}

@media (max-width: 600px) {
	.ojamart-kori-kentat {
		grid-template-columns: 1fr;
	}
}

/* Kiitosnäkymä */
.ojamart-kori--sent {
	background: var(--wp--preset--color--tint);
	border-radius: 14px;
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50);
	text-align: center;
}

.ojamart-kori--sent .ojamart-icon--check {
	color: var(--wp--preset--color--primary-dark);
	width: 0.9em;
	height: 0.9em;
}

.ojamart-kori--sent h2.ojamart-display::after {
	margin-left: auto;
	margin-right: auto;
}

.ojamart-kori--sent .wp-block-button {
	margin-top: var(--wp--preset--spacing--40);
}
/* --- Alasvetovalikko 2.0: tumma kaksisarakkeinen katalogipaneeli --- */

/* Näkymätön hover-silta linkin ja paneelin väliin — valikko ei sulkeudu matkalla.
   Huom: ydinlohko antaa alavalikon UL:lle myös wp-block-navigation-submenu-luokan,
   joten säännöt on rajattava li-elementtiin (.wp-block-navigation-item). */
.ojamart-mainbar .wp-block-navigation .wp-block-navigation-item.wp-block-navigation-submenu {
	position: relative;
}

.ojamart-mainbar .wp-block-navigation .wp-block-navigation-item.wp-block-navigation-submenu::before {
	content: "";
	position: absolute;
	left: -40px;
	right: -40px;
	top: 100%;
	height: 52px;
}

.ojamart-mainbar .wp-block-navigation .wp-block-navigation__submenu-container {
	position: fixed;
	left: 0;
	right: 0;
	/* Yläpalkilla on backdrop-filter, joten se on kiintopiste (containing block)
	   position:fixed-lohkolle. Siksi top: 100% = yläpalkin alareuna aina, myös
	   adminpalkin kanssa (sticky top siirtää koko kiintopistettä). */
	top: 100%;
	width: auto;
	min-width: 0;
	z-index: 30;
	background: #1a1613;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 6px 1.75rem;
	/* Tausta täysleveä, mutta sisältö keskitetään 76rem-konttiin */
	padding-top: 0.7rem;
	padding-bottom: 1rem;
	padding-left: max(var(--wp--preset--spacing--40), calc((100% - 76rem) / 2));
	padding-right: max(var(--wp--preset--spacing--40), calc((100% - 76rem) / 2));
	box-shadow: 0 26px 44px rgba(0, 0, 0, 0.4);
	counter-reset: ojanav;
	/* Pehmeä avautuminen / sulkeutuminen */
	opacity: 0;
	visibility: hidden;
	transform: translateY(-8px);
	transform-origin: top center;
	pointer-events: none;
	transition: opacity 0.24s ease, transform 0.26s cubic-bezier(0.2, 0.7, 0.2, 1), visibility 0s linear 0.26s;
}

.ojamart-mainbar .wp-block-navigation .wp-block-navigation-item.wp-block-navigation-submenu:hover > .wp-block-navigation__submenu-container,
.ojamart-mainbar .wp-block-navigation .wp-block-navigation-item.wp-block-navigation-submenu:focus-within > .wp-block-navigation__submenu-container {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
	transition: opacity 0.22s ease, transform 0.24s cubic-bezier(0.2, 0.7, 0.2, 1), visibility 0s;
}

.ojamart-mainbar .wp-block-navigation .wp-block-navigation__submenu-container::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	border-radius: 0;
	height: 4px;
	background: repeating-linear-gradient(
		-45deg,
		var(--wp--preset--color--primary) 0 10px,
		var(--wp--preset--color--primary-dark) 10px 20px
	);
}

/* Teksti AINA vaalea — ydinlohko maalaa alavalikon mustaksi ilman tätä */
.ojamart-mainbar .wp-block-navigation .wp-block-navigation__submenu-container,
.ojamart-mainbar .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: #e5e0d8;
}

.ojamart-mainbar .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item {
	margin: 0;
}

.ojamart-mainbar .wp-block-navigation .wp-block-navigation__submenu-container a {
	display: block;
	border-radius: 10px;
	transition: background-color 0.15s ease, color 0.15s ease;
}

/* Kategorialinkki: pikkukuva + nimi (visuaalinen mega-menu) */
.ojamart-mainbar .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.5rem 0.6rem;
	min-height: 48px;
	border-radius: 10px;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.005em;
	white-space: normal;
}

/* Pikkukuvaruutu */
.ojamart-mainbar .ojanav-cat .wp-block-navigation-item__content::before {
	content: "";
	flex: 0 0 auto;
	width: 52px;
	height: 52px;
	border-radius: 9px;
	background-color: #2c2723;
	background-size: 34px 34px;
	background-repeat: no-repeat;
	background-position: center;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ojamart-mainbar .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: rgba(255, 255, 255, 0.08);
	color: #ffffff;
}

.ojamart-mainbar .ojanav-cat .wp-block-navigation-item__content:hover::before {
	transform: scale(1.06);
	box-shadow: inset 0 0 0 1px rgba(232, 129, 61, 0.6), 0 6px 16px rgba(0, 0, 0, 0.45);
}

/* Avoinna oleva kategoria korostuu paneelissa */
.ojamart-mainbar .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content {
	background: rgba(232, 129, 61, 0.18);
	color: #ffffff;
}

.ojamart-mainbar .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content::before {
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--primary);
}

/* Per-kategoria ikonit (mediakirjaston läpinäkyvät PNG-ikonit, vaalea kuvake tummalla ruudulla) */
.ojamart-mainbar .ojanav-aidat-ja-kaiteet .wp-block-navigation-item__content::before,
.ojamart-mobilenav .ojanav-aidat-ja-kaiteet::before { background-image: url(https://ojamart.local/wp-content/uploads/2026/07/01-AID1.png); }
.ojamart-mainbar .ojanav-betonityot-muuraus .wp-block-navigation-item__content::before,
.ojamart-mobilenav .ojanav-betonityot-muuraus::before { background-image: url(https://ojamart.local/wp-content/uploads/2026/07/02-BET1.png); }
.ojamart-mainbar .ojanav-generaattorit .wp-block-navigation-item__content::before,
.ojamart-mobilenav .ojanav-generaattorit::before { background-image: url(https://ojamart.local/wp-content/uploads/2026/07/03-GEN1.png); }
.ojamart-mainbar .ojanav-hiomakoneet .wp-block-navigation-item__content::before,
.ojamart-mobilenav .ojanav-hiomakoneet::before { background-image: url(https://ojamart.local/wp-content/uploads/2026/07/04-HIO1.png); }
.ojamart-mainbar .ojanav-imurit .wp-block-navigation-item__content::before,
.ojamart-mobilenav .ojanav-imurit::before { background-image: url(https://ojamart.local/wp-content/uploads/2026/07/05-IMU1.png); }
.ojamart-mainbar .ojanav-jakokeskukset-jatkojohdot-valaisimet .wp-block-navigation-item__content::before,
.ojamart-mobilenav .ojanav-jakokeskukset-jatkojohdot-valaisimet::before { background-image: url(https://ojamart.local/wp-content/uploads/2026/07/06-JAK1.png); }
.ojamart-mainbar .ojanav-jyrsimet .wp-block-navigation-item__content::before,
.ojamart-mobilenav .ojanav-jyrsimet::before { background-image: url(https://ojamart.local/wp-content/uploads/2026/07/07-JYR1.png); }
.ojamart-mainbar .ojanav-kosteuden-poisto .wp-block-navigation-item__content::before,
.ojamart-mobilenav .ojanav-kosteuden-poisto::before { background-image: url(https://ojamart.local/wp-content/uploads/2026/07/08-KOS1.png); }
.ojamart-mainbar .ojanav-lammittimet .wp-block-navigation-item__content::before,
.ojamart-mobilenav .ojanav-lammittimet::before { background-image: url(https://ojamart.local/wp-content/uploads/2026/07/09-LAM1.png); }
.ojamart-mainbar .ojanav-maanrakennuskoneet .wp-block-navigation-item__content::before,
.ojamart-mobilenav .ojanav-maanrakennuskoneet::before { background-image: url(https://ojamart.local/wp-content/uploads/2026/07/10-MAA1.png); }
.ojamart-mainbar .ojanav-maantiivistajat .wp-block-navigation-item__content::before,
.ojamart-mobilenav .ojanav-maantiivistajat::before { background-image: url(https://ojamart.local/wp-content/uploads/2026/07/11-MAA1.png); }
.ojamart-mainbar .ojanav-mittalaitteet .wp-block-navigation-item__content::before,
.ojamart-mobilenav .ojanav-mittalaitteet::before { background-image: url(https://ojamart.local/wp-content/uploads/2026/07/12-MIT1.png); }
.ojamart-mainbar .ojanav-naulaimet-kompressorit .wp-block-navigation-item__content::before,
.ojamart-mobilenav .ojanav-naulaimet-kompressorit::before { background-image: url(https://ojamart.local/wp-content/uploads/2026/07/13-NAU1.png); }
.ojamart-mainbar .ojanav-nostimet-nostolaitteet .wp-block-navigation-item__content::before,
.ojamart-mobilenav .ojanav-nostimet-nostolaitteet::before { background-image: url(https://ojamart.local/wp-content/uploads/2026/07/14-NOS1.png); }
.ojamart-mainbar .ojanav-puutarha .wp-block-navigation-item__content::before,
.ojamart-mobilenav .ojanav-puutarha::before { background-image: url(https://ojamart.local/wp-content/uploads/2026/07/15-PIH1.png); }
.ojamart-mainbar .ojanav-porakoneet-piikkauskoneet .wp-block-navigation-item__content::before,
.ojamart-mobilenav .ojanav-porakoneet-piikkauskoneet::before { background-image: url(https://ojamart.local/wp-content/uploads/2026/07/16-POR1.png); }
.ojamart-mainbar .ojanav-sekalaiset .wp-block-navigation-item__content::before,
.ojamart-mobilenav .ojanav-sekalaiset::before { background-image: url(https://ojamart.local/wp-content/uploads/2026/07/17-SEK1.png); }
.ojamart-mainbar .ojanav-sirkkelit-ja-sahat .wp-block-navigation-item__content::before,
.ojamart-mobilenav .ojanav-sirkkelit-ja-sahat::before { background-image: url(https://ojamart.local/wp-content/uploads/2026/07/18-SIR1.png); }
.ojamart-mainbar .ojanav-telineet .wp-block-navigation-item__content::before,
.ojamart-mobilenav .ojanav-telineet::before { background-image: url(https://ojamart.local/wp-content/uploads/2026/07/19-TEL1.png); }

/* Kaikki vuokratuotteet — koko rivin CTA */
.ojamart-mainbar .wp-block-navigation__submenu-container > .ojanav-all {
	grid-column: 1 / -1;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	margin-top: 8px;
	padding-top: 8px;
}

.ojamart-mainbar .wp-block-navigation__submenu-container > .ojanav-all .wp-block-navigation-item__content {
	justify-content: center;
	min-height: 0;
	padding: 1.15rem 0.7rem;
	color: #ffb877;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 0.85rem;
}

.ojamart-mainbar .wp-block-navigation__submenu-container > .ojanav-all .wp-block-navigation-item__content::after {
	content: " \2192";
	margin-left: 0.35rem;
	transition: transform 0.2s ease;
}

.ojamart-mainbar .wp-block-navigation__submenu-container > .ojanav-all .wp-block-navigation-item__content:hover {
	color: #ffffff;
	background: rgba(232, 129, 61, 0.18);
}

.ojamart-mainbar .wp-block-navigation__submenu-container > .ojanav-all .wp-block-navigation-item__content:hover::after {
	transform: translateX(4px);
}

/* Nuolikuvake: vaalea, kääntyy auki-tilassa */
.ojamart-mainbar .wp-block-navigation .wp-block-navigation__submenu-icon {
	color: #a89f94;
}

.ojamart-mainbar .wp-block-navigation .wp-block-navigation__submenu-icon svg {
	transition: transform 0.2s ease;
}

.ojamart-mainbar .wp-block-navigation .wp-block-navigation-item.wp-block-navigation-submenu:hover .wp-block-navigation__submenu-icon svg,
.ojamart-mainbar .wp-block-navigation .wp-block-navigation-item.wp-block-navigation-submenu:focus-within .wp-block-navigation__submenu-icon svg {
	transform: rotate(180deg);
}

/* Ylätason linkit: pehmeä korostuslaatta hoverissa (kattaa myös alavalikon
   nuolen) ja keskeltä kasvava oranssi alleviivaus. Aktiivisella sivulla
   alleviivaus on pysyvä. Laattojen sisennys korvaa osan alkuperäisestä
   välistä, joten työpöydän gap tiivistetään vastaavasti. */
@media (min-width: 782px) {
	.ojamart-mainbar .wp-block-navigation .wp-block-navigation__container {
		gap: 0.5rem;
	}

	.ojamart-mainbar .wp-block-navigation__container > .wp-block-navigation-item {
		padding: 0.5rem 0.7rem;
		border-radius: 8px;
		transition: background-color 0.2s ease;
	}

	.ojamart-mainbar .wp-block-navigation__container > .wp-block-navigation-item:hover,
	.ojamart-mainbar .wp-block-navigation__container > .wp-block-navigation-item:focus-within {
		background: rgba(255, 255, 255, 0.08);
	}
}

.ojamart-mainbar .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	position: relative;
}

.ojamart-mainbar .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -6px;
	height: 2px;
	border-radius: 2px;
	background: var(--wp--preset--color--primary);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.22s ease;
}

.ojamart-mainbar .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.ojamart-mainbar .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible::after {
	transform: scaleX(1);
}

.ojamart-mainbar .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
}

/* Mobiilioverlayssa alavalikko tavallisena vaaleana listana */
/* --- Hinnastotaulukon rivikohtainen − / + -säädin (kone korissa) --- */
.wp-block-table.is-style-price-table th.ojamart-add-col,
.wp-block-table.is-style-price-table td.ojamart-add-col {
	width: 118px;
	text-align: right;
}

.ojamart-taulukko-step {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	white-space: nowrap;
}

.ojamart-taulukko-step-nappi {
	width: 26px;
	height: 26px;
	padding: 0;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 6px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.ojamart-taulukko-step-nappi:hover {
	background: var(--wp--preset--color--primary-dark);
	border-color: var(--wp--preset--color--primary-dark);
	color: #ffffff;
}

.ojamart-taulukko-step-nappi:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 1px;
}

.ojamart-taulukko-step-paivat {
	min-width: 38px;
	text-align: center;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--small);
	font-variant-numeric: tabular-nums;
	color: var(--wp--preset--color--primary-dark);
}

.ojamart-taulukko-step[hidden] {
	display: none;
}

/* Piilotettu lisäysnappi ei saa jäädä näkyviin (display-luokka voittaisi [hidden]-attribuutin) */
.ojamart-add[hidden] {
	display: none;
}

/* --- Kategoriakorttien kuvat: täysleveä kuva, pehmeä hover-zoomaus ---
   Vasen/oikea marginaali !important-merkinnällä, koska WP:n constrained-layout
   pakottaa lapsille margin-left/right:auto samalla spesifisyydellä. */
.ojamart-card .wp-block-post-featured-image {
	position: relative;
	overflow: hidden;
	aspect-ratio: 3 / 2;
	border-radius: 13px 13px 0 0;
	margin-top: calc(-1 * var(--wp--preset--spacing--40));
	margin-bottom: 0;
	margin-left: calc(-1 * var(--wp--preset--spacing--40)) !important;
	margin-right: calc(-1 * var(--wp--preset--spacing--40)) !important;
	background: var(--wp--preset--color--surface);
}

.ojamart-card .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.55s cubic-bezier(0.2, 0.6, 0.2, 1);
}

.ojamart-card:hover .wp-block-post-featured-image img {
	transform: scale(1.08);
}

/* Hoverissa kuvan päälle liukuu tumma häivytys ja "Katso hinnat" -kehote */
.ojamart-card .wp-block-post-featured-image::after {
	content: "Katso hinnat →" / "";
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	align-items: flex-end;
	padding: 0.8rem 0.95rem;
	font-weight: 800;
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #ffffff;
	background: linear-gradient(to top, rgba(24, 21, 19, 0.9) 0%, rgba(24, 21, 19, 0.12) 46%, transparent 72%);
	opacity: 0;
	transform: translateY(6px);
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.ojamart-card:hover .wp-block-post-featured-image::after {
	opacity: 1;
	transform: translateY(0);
}

/* Huomioteippi otsikon yläpuolella — aina näkyvissä. Hoverissa teippi liukuu
   vasemmalta oikealle jatkuvasti; kun hover loppuu, animaatio pysähtyy paikalleen.
   Täysleveä kortin ulkoreunoihin: vasen = -kortin padding, oikea = -kortin
   padding - otsikon padding-right (3.4rem). */
.ojamart-card .wp-block-post-title::before {
	content: "";
	grid-column: 1 / -1;
	align-self: start;
	height: 7px;
	margin: 0 calc(-1 * var(--wp--preset--spacing--40)) 0.85rem;
	background-image: linear-gradient(
		-45deg,
		var(--wp--preset--color--primary) 25%,
		transparent 25%,
		transparent 50%,
		var(--wp--preset--color--primary) 50%,
		var(--wp--preset--color--primary) 75%,
		transparent 75%
	);
	background-size: 18px 18px;
	background-repeat: repeat;
	animation: ojamart-tape-slide 0.6s linear infinite;
	animation-play-state: paused;
}

.ojamart-card:hover .wp-block-post-title::before {
	animation-play-state: running;
}

@keyframes ojamart-tape-slide {
	to {
		background-position: 18px 0;
	}
}

/* Ruudukko mukautuu: 4 työpöydällä → 3 → 2 → 1 puhelimella */
@media (max-width: 1100px) {
	.wp-block-query .wp-block-post-template.is-layout-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 782px) {
	.wp-block-query .wp-block-post-template.is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 520px) {
	.wp-block-query .wp-block-post-template.is-layout-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* ==========================================================================
   Oranssi/valkoinen huomioteippi — brändin toistuva motiivi.
   Toimii täysleveänä väliraitana ja hero-osion kehyksenä.
   ========================================================================== */
.ojamart-tape {
	height: 14px;
	background-image: linear-gradient(
		-45deg,
		var(--wp--preset--color--primary) 25%,
		#ffffff 25%,
		#ffffff 50%,
		var(--wp--preset--color--primary) 50%,
		var(--wp--preset--color--primary) 75%,
		#ffffff 75%
	);
	background-size: 20px 20px;
	background-repeat: repeat;
	border-top: 1px solid rgba(28, 25, 23, 0.08);
	border-bottom: 1px solid rgba(28, 25, 23, 0.08);
}

.ojamart-tape--move {
	animation: ojamart-tape-wide 1.4s linear infinite;
}

@keyframes ojamart-tape-wide {
	to {
		background-position: 20px 0;
	}
}

/* ==========================================================================
   Etusivun hero 2.0 — diagonaalinen leikkaus: tumma tekstipaneeli leikkautuu
   viistosti konekuvan päälle. Teksti linjassa sivuston sisältökontin kanssa.
   ========================================================================== */
.ojamart-hero {
	position: relative;
	overflow: hidden;
	background: var(--wp--preset--color--contrast);
}

/* Konekuva täyttää koko heron taustan */
.ojamart-hero .ojamart-hero-bg {
	position: absolute;
	inset: 0;
	margin: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
}

.ojamart-hero .ojamart-hero-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 46% 42%;
}

/* Tumma tekstipaneeli, viisto oikea reuna (diagonaalinen leikkaus) */
.ojamart-hero .ojamart-hero-panel {
	position: relative;
	z-index: 1;
	min-height: 640px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #ffffff;
	background-color: var(--wp--preset--color--contrast);
	clip-path: polygon(0 0, 60% 0, 42% 100%, 0 100%);
	filter: drop-shadow(6px 0 0 var(--wp--preset--color--primary));
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--60);
	padding-right: var(--wp--preset--spacing--60);
	/* Teksti alkaa samasta kohdasta kuin sivuston leveä kontti (76rem) */
	padding-left: max(var(--wp--preset--spacing--40), calc((100% - 76rem) / 2));
}

.ojamart-hero .ojamart-hero-inner {
	max-width: 26rem;
	margin: 0;
}

.ojamart-hero .ojamart-hero-inner > * {
	position: relative;
	z-index: 2;
}

.ojamart-hero .ojamart-eyebrow {
	margin-bottom: 0.4rem;
}

.ojamart-hero .ojamart-hero-inner h1 {
	margin: 0;
}

/* Ei teippikuvaketta heron otsikon alla */
.ojamart-hero .ojamart-hero-inner h1.ojamart-display::after {
	content: none;
}

/* Luottamusrivi ikoneilla */
.ojamart-hero .ojamart-hero-trust {
	gap: 0.4rem 1.5rem;
	margin-top: var(--wp--preset--spacing--50);
	padding-top: var(--wp--preset--spacing--40);
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.ojamart-hero .ojamart-hero-trust p {
	margin: 0;
	color: #c9c4bc;
	display: flex;
	align-items: center;
}

.ojamart-hero .ojamart-hero-trust .ojamart-icon {
	color: var(--wp--preset--color--primary);
	margin-right: 0.45rem;
	width: 1.15em;
	height: 1.15em;
}

/* Mobiili: paneeli koko leveydeltä (ei viistoa), kuva sen alle */
@media (max-width: 781px) {
	.ojamart-hero {
		display: flex;
		flex-direction: column;
	}

	.ojamart-hero .ojamart-hero-panel {
		clip-path: none;
		filter: none;
		min-height: 0;
		padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
		border-bottom: 5px solid var(--wp--preset--color--primary);
	}

	.ojamart-hero .ojamart-hero-inner {
		max-width: none;
	}

	.ojamart-hero .ojamart-hero-bg {
		position: static;
		width: 100%;
		height: auto;
		order: 2;
	}

	.ojamart-hero .ojamart-hero-bg img {
		height: 320px;
	}
}

/* ==========================================================================
   Etusivun osioparannukset: esittelypalkki, palvelukortit, avatar
   ========================================================================== */

/* Kesän suosikki -esittelypalkki (Pilkemaster) */
.ojamart-badge {
	display: inline-block;
	margin: 0 0 0.9rem;
	padding: 0.34rem 0.8rem;
	background: var(--wp--preset--color--primary);
	color: #ffffff;
	font-family: var(--wp--preset--font-family--oswald);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.82rem;
	line-height: 1.1;
	border-radius: 3px;
}

.ojamart-specs {
	gap: 0.55rem !important;
	margin-top: var(--wp--preset--spacing--40);
}

.ojamart-spec-chip {
	margin: 0;
	padding: 0.4rem 0.95rem;
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 600;
	color: #e5e0d8;
}

.ojamart-price-row {
	gap: var(--wp--preset--spacing--50) !important;
	align-items: center;
}

.ojamart-price-main {
	margin: 0;
	font-family: var(--wp--preset--font-family--oswald);
	font-size: clamp(2.1rem, 4vw, 2.9rem);
	line-height: 1;
	color: #ffffff;
}

.ojamart-price-main span {
	font-family: var(--wp--preset--font-family--inter);
	font-weight: 700;
	font-size: 0.42em;
	color: #c9c4bc;
}

.ojamart-featured-img img {
	border-radius: 16px;
	box-shadow: 0 22px 50px rgba(0, 0, 0, 0.45);
}

/* Palvelukorttien ikonit isommaksi ja oranssiksi (yliajaa aiemman).
   Vasempaan reunaan otsikon kanssa linjaan (constrained-asettelun
   automaattimarginaali keskittäisi 60px laatikon muuten). */
.ojamart-card-icon {
	width: 60px;
	height: 60px;
	border-radius: 14px;
	background: var(--wp--preset--color--primary-dark);
	color: #ffffff;
	margin: 0 auto 0.85rem 0;
}

.ojamart-card-icon .ojamart-icon {
	width: 30px;
	height: 30px;
}

/* Avatarin oranssi kehys (yhteydenotto-CTA) */
.ojamart-avatar img {
	border: 3px solid var(--wp--preset--color--primary) !important;
}

/* Palvelukortit (Vuokraamme / Myymme / Huollamme): ikoni otsikon vierellä,
   teksti koko leveydellä alla. Ruudukko kumoaa constrained-asettelun
   automaattikeskityksen. */
.ojamart-palvelut .ojamart-card {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	column-gap: 1rem;
	align-items: center;
	align-content: start;
}

.ojamart-palvelut .ojamart-card-icon {
	width: 52px;
	height: 52px;
	margin: 0;
	border-radius: 12px;
}

.ojamart-palvelut .ojamart-card-icon .ojamart-icon {
	width: 26px;
	height: 26px;
}

.ojamart-palvelut .ojamart-card h3 {
	margin: 0;
}

.ojamart-palvelut .ojamart-card p:not(.ojamart-card-icon) {
	grid-column: 1 / -1;
	margin: 0.95rem 0 0;
}

/* ==========================================================================
   Alasvetovalikko: "häivytä tausta" -efekti. Sivun sisältö tummenee pehmeästi
   kun kategoriavalikko on auki — huomio ohjautuu valikkoon. Vain työpöytä.
   ========================================================================== */
@media (min-width: 782px) {
	.wp-site-blocks::after {
		content: "";
		position: fixed;
		inset: 0;
		background: rgba(18, 15, 13, 0.52);
		-webkit-backdrop-filter: blur(2px);
		backdrop-filter: blur(2px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.3s ease, visibility 0s linear 0.3s;
		z-index: 80;
	}

	.wp-site-blocks:has(.ojamart-mainbar .wp-block-navigation-item.wp-block-navigation-submenu:hover)::after,
	.wp-site-blocks:has(.ojamart-mainbar .wp-block-navigation-item.wp-block-navigation-submenu:focus-within)::after {
		opacity: 1;
		visibility: visible;
		transition: opacity 0.3s ease, visibility 0s;
	}
}

/* ==========================================================================
   Google-arvostelut: liukuva nauha tiskibannerissa. Rata sisältää saman
   korttisarjan kahdesti, jolloin -50 % siirtymä kiertää saumattomasti.
   Hover/fokus pysäyttää; prefers-reduced-motion pysäyttää globaalisti.
   ========================================================================== */
.ojamart-reviews {
	margin-top: var(--wp--preset--spacing--50);
	overflow: hidden;
	padding: 8px 0 12px;
	-webkit-mask-image: linear-gradient(to right, transparent, #000 11%, #000 89%, transparent);
	mask-image: linear-gradient(to right, transparent, #000 11%, #000 89%, transparent);
}

.ojamart-reviews-track {
	display: flex;
	width: max-content;
	animation: ojamart-reviews-slide 42s linear infinite;
}

.ojamart-reviews:hover .ojamart-reviews-track,
.ojamart-reviews:focus-within .ojamart-reviews-track {
	animation-play-state: paused;
}

@keyframes ojamart-reviews-slide {
	to { transform: translateX(-50%); }
}

.ojamart-reviews-set {
	display: flex;
	gap: 1.1rem;
	padding-right: 1.1rem;
}

.ojamart-review-card {
	position: relative;
	display: flex;
	flex-direction: column;
	flex: 0 0 auto;
	width: min(360px, 80vw);
	background: #ffffff;
	border-radius: 14px;
	padding: 1.3rem 1.4rem 1.05rem;
	color: var(--wp--preset--color--contrast);
	box-shadow: 0 18px 40px -12px rgba(0, 0, 0, 0.45);
}

/* Iso koristelainausmerkki kortin kulmassa */
.ojamart-review-card::before {
	content: "\201D";
	position: absolute;
	top: 0.05rem;
	right: 1.1rem;
	font-family: var(--wp--preset--font-family--oswald);
	font-size: 4.6rem;
	line-height: 1;
	color: rgba(204, 91, 16, 0.16);
	pointer-events: none;
}

.ojamart-review-stars {
	color: var(--wp--preset--color--primary);
	letter-spacing: 2.5px;
	font-size: 1rem;
}

.ojamart-review-card p {
	flex: 1;
	margin: 0.55rem 0 0.85rem;
	font-size: 0.98rem;
	line-height: 1.6;
}

/* Alarivi: Google-merkki + nimiö hiusviivan alla */
.ojamart-review-meta {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	border-top: 1px solid var(--wp--preset--color--border);
	padding-top: 0.75rem;
	font-size: 0.78rem;
	color: var(--wp--preset--color--muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-weight: 700;
}

/* Googlen G-merkki (virallinen nelivärinen G data-URI:na) */
.ojamart-reviews-g {
	flex: 0 0 auto;
	display: inline-block;
	width: 1.35em;
	height: 1.35em;
	border-radius: 50%;
	background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23EA4335' d='M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z'/%3E%3Cpath fill='%234285F4' d='M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z'/%3E%3Cpath fill='%23FBBC05' d='M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z'/%3E%3Cpath fill='%2334A853' d='M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z'/%3E%3C/svg%3E") center / 62% no-repeat;
}

.ojamart-review-meta .ojamart-reviews-g {
	border: 1px solid var(--wp--preset--color--border);
}

/* Kokonaisarvosana pillerinä nauhan yllä */
.ojamart-reviews-summary {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	margin-top: var(--wp--preset--spacing--40);
	padding: 0.5rem 1.15rem 0.5rem 0.6rem;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	color: #ffffff;
	font-weight: 700;
}

.ojamart-reviews-summary .ojamart-reviews-g {
	width: 1.7em;
	height: 1.7em;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.ojamart-reviews-summary strong {
	font-family: var(--wp--preset--font-family--oswald);
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1;
}

/* Yhteenvedon tähdet tummalla kuvataustalla vaaleammalla oranssilla */
.ojamart-reviews-summary .ojamart-review-stars {
	color: #ffb877;
	font-size: 0.95rem;
}

.ojamart-reviews-count {
	font-weight: 500;
	font-size: 0.9rem;
	color: #f3e6da;
}

/* --- Alapalkin palvelualueet (paikallis-SEO) --- */
.ojamart-seo-areas {
	margin-top: var(--wp--preset--spacing--50);
}

.ojamart-seo-areas h3 {
	color: #e5e0d8;
	margin-bottom: 0.4rem;
}

.ojamart-area-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.5rem;
	margin-top: 0.8rem;
}

.ojamart-area-list a {
	display: inline-block;
	padding: 0.3rem 0.8rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	color: #b5ada4 !important;
	text-decoration: none;
	font-size: 0.8rem;
	line-height: 1.3;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.ojamart-area-list a:hover {
	background: rgba(255, 255, 255, 0.05);
	border-color: rgba(255, 255, 255, 0.28);
	color: #ffffff !important;
}

/* SEO-alue omaksi hienovaraiseksi osiokseen — väljä erotin sarakkeista */
.ojamart-seo-areas {
	margin-top: var(--wp--preset--spacing--60);
	padding-top: var(--wp--preset--spacing--50);
	border-top: 1px solid rgba(255, 255, 255, 0.07);
}

/* ==========================================================================
   Alapalkin viimeistely
   ========================================================================== */
.ojamart-footer {
	position: relative;
}

/* Hienovarainen hiusviiva yläreunaan (SaaS-tyylinen erotin, ei huomioteippiä) */
.ojamart-footer::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: rgba(255, 255, 255, 0.08);
}

/* Sarakeotsikot: hillitty harmaa mikrolabel (versaali, väljä kirjainväli) */
.ojamart-footer-col h3,
.ojamart-seo-areas h3 {
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 0.72rem;
	font-weight: 600;
	color: #8a8178;
	margin: 0 0 1.15rem;
}

.ojamart-footer-col p {
	line-height: 1.7;
	font-size: 0.95rem;
}

.ojamart-footer-brand a,
.ojamart-footer-col a {
	text-decoration: none;
}

/* Linkit: hillitty vaalea sävy, kirkastuu hoverissa (ei alleviivausta) */
.ojamart-footer-col a:not(.wp-block-button__link) {
	color: #c4bdb4 !important;
	transition: color 0.15s ease;
}

.ojamart-footer-col a:not(.wp-block-button__link):hover {
	color: #ffffff !important;
}

/* Yhteystietorivi: ikoni kiinteänä sarakkeena, teksti tasautuu siististi */
.ojamart-footer-col .ojamart-contact-row {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin: 0 0 0.55rem;
	line-height: 1.6;
}

.ojamart-footer-col .ojamart-contact-row .ojamart-icon {
	flex: 0 0 auto;
	width: 1.05em;
	height: 1.05em;
	margin-top: 0.2em;
	vertical-align: baseline;
	color: #857c73;
}

.ojamart-footer-col .ojamart-icon {
	color: #857c73;
}

/* Aukioloajat: siisti aikataulu (label + arvo).
   Perustyyli on vaaleille pinnoille, alapalkin tummat sävyt omana muunnoksenaan. */
.ojamart-hours {
	margin: 0.75rem 0 0;
	display: flex;
	flex-direction: column;
	max-width: 260px;
}

.ojamart-hours-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
	font-size: var(--wp--preset--font-size--small);
	padding: 0.55rem 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.ojamart-hours-row:first-child {
	padding-top: 0;
}

.ojamart-hours-row:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.ojamart-hours dt {
	margin: 0;
	color: var(--wp--preset--color--muted);
}

.ojamart-hours dd {
	margin: 0;
	color: var(--wp--preset--color--contrast);
	font-weight: 700;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

/* Alapalkin tumma tausta */
.ojamart-footer .ojamart-hours-row {
	border-bottom-color: rgba(255, 255, 255, 0.1);
}

.ojamart-footer .ojamart-hours dt {
	color: #b5ada4;
}

.ojamart-footer .ojamart-hours dd {
	color: #f3efe9;
}

/* Alapalkin kartta: täysleveä, tumman teeman mukainen, klikattava bannerikortti */
.ojamart-footer-mapwide {
	margin-top: var(--wp--preset--spacing--60);
}

.ojamart-footer-map {
	margin: 0;
	max-width: 100%;
}

.ojamart-footer-map-frame {
	position: relative;
	display: block;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.12);
	line-height: 0;
	transition: border-color 0.18s ease;
}

.ojamart-footer-map-frame iframe {
	display: block;
	width: 100%;
	height: 260px;
	border: 0;
	pointer-events: none;
	filter: invert(0.92) hue-rotate(185deg) brightness(0.95) contrast(0.9) saturate(0.85);
}

.ojamart-footer-map-frame:hover {
	border-color: rgba(232, 129, 61, 0.55);
}

.ojamart-footer-map-cta {
	position: absolute;
	top: 10px;
	right: 10px;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.38rem 0.7rem;
	background: var(--wp--preset--color--primary);
	color: #ffffff;
	border-radius: 8px;
	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.5);
	transition: background-color 0.15s ease;
}

.ojamart-footer-map-cta .ojamart-icon {
	color: #ffffff;
	width: 0.95em;
	height: 0.95em;
}

.ojamart-footer-map-frame:hover .ojamart-footer-map-cta {
	background: var(--wp--preset--color--primary-dark);
}

/* Alarivi: copyright | lakisivut | toteutus */
.ojamart-footer-bottom {
	gap: 0.5rem 1.5rem;
	margin-top: var(--wp--preset--spacing--40);
}

.ojamart-footer-bottom p {
	margin: 0;
}

.ojamart-footer-bottom a {
	color: #a89f94 !important;
	text-decoration: none;
}

.ojamart-footer-bottom a:hover {
	color: var(--wp--preset--color--primary) !important;
}

/* ==========================================================================
   Sijaintisivut: leipäteksti luettavalla leveydellä, ruudukon vasemmassa reunassa
   ========================================================================== */
.ojamart-readable {
	max-width: 48rem;
}

/* ==========================================================================
   Tuotesivun "Varaa tai kysy lisää" — Juhan kuva + yhteydenotto
   ========================================================================== */
/* Jälkimmäinen valitsin voittaa sisältökuvien yleisen 12px-pyöristyksen
   (.wp-block-post-content .wp-block-image img), jotta kuva on pyöreä myös
   sijaintisivujen sisällössä. */
.ojamart-cta-photo img,
.wp-block-post-content .wp-block-image.ojamart-cta-photo img {
	border-radius: 50%;
	aspect-ratio: 1;
	object-fit: cover;
	box-shadow: 0 0 0 4px #ffffff, 0 0 0 7px var(--wp--preset--color--primary);
}

.ojamart-cta-varaa .wp-block-columns {
	margin: 0;
}

@media (max-width: 599px) {
	.ojamart-cta-varaa .ojamart-cta-photo-col {
		flex-basis: 110px !important;
	}
}
