/**
 * Cegléd Térkő – frontend stílus.
 * Minden érték CSS változó, így Elementorból (Egyéni CSS) felül tudod írni.
 */

.ctk-hero,
.ctk-calc,
.ctk-swatch-box,
.ctk-qty-helper {
	--ctk-ink: #161A19;
	--ctk-muted: #646C68;
	--ctk-line: #DDE1DB;
	--ctk-line-strong: #C6CCC3;
	--ctk-surface: #FFFFFF;
	--ctk-yard: #E7E9E4;
	--ctk-accent: #C2A379;
	--ctk-accent-dk: #CBAE87;
	--ctk-radius: 3px;
	--ctk-radius-btn: 25px;
	--ctk-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
	--ctk-shadow: 0 1px 2px rgba(22, 26, 25, .05), 0 12px 32px -18px rgba(22, 26, 25, .35);
}

/* ---------------------------------------------------------------
 * Közös elemek
 * ------------------------------------------------------------- */

/* A saját display:flex szabályaink egyébként felülírnák a hidden attribútumot. */
.ctk-hero [hidden],
.ctk-picker [hidden],
.ctk-calc [hidden] { display: none !important; }

.ctk-label {
	font-family: var(--ctk-mono);
	font-size: .66rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ctk-muted);
	display: block;
}

.ctk-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	border: 1px solid transparent;
	border-radius: var(--ctk-radius-btn, 25px);
	padding: .82em 1.5em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: .92rem;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.ctk-btn-primary { background: var(--ctk-accent); color: #fff; }
.ctk-btn-primary:hover { background: var(--ctk-accent-dk); color: #fff; }
.ctk-btn-ghost { background: transparent; color: inherit; border-color: var(--ctk-line-strong); }
.ctk-btn-ghost:hover { border-color: currentColor; }
.ctk-btn[disabled] { opacity: .6; cursor: default; }

.ctk-chip {
	border: 1px solid var(--ctk-line-strong);
	background: var(--ctk-surface);
	color: var(--ctk-ink);
	border-radius: var(--ctk-radius-btn, 25px);
	padding: 7px 11px;
	font-size: .85rem;
	font-weight: 500;
	line-height: 1.2;
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.ctk-chip:hover { border-color: var(--ctk-ink); }
.ctk-chip[aria-pressed="true"] { background: var(--ctk-accent); border-color: var(--ctk-accent); color: #fff; }

.ctk-sw {
	width: 40px;
	height: 40px;
	border-radius: var(--ctk-radius);
	border: 1px solid rgba(22, 26, 25, .18);
	position: relative;
	padding: 0;
	cursor: pointer;
	transition: transform .15s ease;
}
.ctk-sw:hover { transform: translateY(-2px); }
.ctk-sw[aria-pressed="true"]::after {
	content: "";
	position: absolute;
	inset: -4px;
	border: 2px solid var(--ctk-ink);
	border-radius: 3px;
}

/* ---------------------------------------------------------------
 * Mintaválasztó
 * ------------------------------------------------------------- */

.ctk-hero { position: relative; }

/* Háttér mód: kitölti a szülő Elementor szekciót, a szöveg fölé kerül. */
.ctk-hero--bg { position: absolute; inset: 0; }
.ctk-hero--bg .ctk-yard { height: 100%; }
.ctk-hero--bg .ctk-picker {
	left: auto;
	right: 22px;
	bottom: 22px;
}

.ctk-yard {
	position: relative;
	height: var(--ctk-yard-h, 560px);
	background: var(--ctk-yard);
	overflow: hidden;
}
.ctk-canvas,
.ctk-photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}
/* A valódi fotó a rajzolt burkolat fölé úszik be, ha van kép a variációhoz. */
.ctk-photo { opacity: 0; transition: opacity .45s ease; }
.ctk-photo.ctk-on { opacity: 1; }

/* Világos fátyol, hogy a fölé kerülő szöveg olvasható maradjon. */
.ctk-scrim {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(97deg,
			rgba(252, 252, 251, .98) 0%,
			rgba(252, 252, 251, .94) 21%,
			rgba(252, 252, 251, .68) 36%,
			rgba(252, 252, 251, .20) 52%,
			rgba(252, 252, 251, 0) 64%),
		linear-gradient(to top, rgba(252, 252, 251, .30), rgba(252, 252, 251, 0) 30%);
}
@media (max-width: 1080px) {
	.ctk-scrim {
		background: linear-gradient(to bottom,
			rgba(252, 252, 251, .985) 0%, rgba(252, 252, 251, .95) 46%,
			rgba(252, 252, 251, .72) 68%, rgba(252, 252, 251, .42) 100%);
	}
}

.ctk-live {
	position: absolute;
	top: 18px;
	right: 18px;
	background: rgba(255, 255, 255, .92);
	border: 1px solid var(--ctk-line);
	border-radius: var(--ctk-radius);
	padding: 6px 11px;
	font-family: var(--ctk-mono);
	font-size: .66rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ctk-ink);
	display: flex;
	align-items: center;
	gap: 8px;
}
.ctk-live i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--ctk-accent);
	display: block;
}
@media (prefers-reduced-motion: no-preference) {
	.ctk-live i { animation: ctk-blip 2.4s ease-in-out infinite; }
}
@keyframes ctk-blip { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }

.ctk-picker {
	position: absolute;
	left: 22px;
	bottom: 22px;
	width: min(410px, calc(100% - 44px));
	background: var(--ctk-surface);
	color: var(--ctk-ink);
	border: 1px solid var(--ctk-line);
	border-radius: var(--ctk-radius);
	box-shadow: var(--ctk-shadow);
	padding: 18px 20px 20px;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.ctk-picker-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}
.ctk-picker-head strong { font-size: 1.05rem; text-transform: uppercase; letter-spacing: .02em; }
.ctk-picker-head span { font-size: .8rem; color: var(--ctk-muted); }

.ctk-field { display: flex; flex-direction: column; gap: 8px; }
.ctk-chips, .ctk-swatches { display: flex; gap: 6px; flex-wrap: wrap; }
.ctk-swatches { gap: 8px; }

.ctk-spec {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	border-top: 1px solid var(--ctk-line);
	padding-top: 13px;
}
.ctk-desc {
	font-family: var(--ctk-mono);
	font-size: .74rem;
	color: var(--ctk-muted);
	line-height: 1.5;
	flex: 1 1 55%;
}
.ctk-price {
	text-align: right;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.05;
	white-space: nowrap;
}
.ctk-price small {
	display: block;
	font-family: var(--ctk-mono);
	font-size: .64rem;
	font-weight: 400;
	color: var(--ctk-muted);
	letter-spacing: .02em;
}

@media (max-width: 700px) {
	.ctk-yard { height: min(var(--ctk-yard-h, 560px), 60vw); min-height: 260px; }
	.ctk-picker {
		position: relative;
		left: auto;
		bottom: auto;
		width: 100%;
		margin-top: -48px;
	}
}

/* ---------------------------------------------------------------
 * Kalkulátor
 * ------------------------------------------------------------- */

.ctk-calc {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	border: 1px solid var(--ctk-line);
	border-radius: var(--ctk-radius);
	background: var(--ctk-surface);
	color: var(--ctk-ink);
	overflow: hidden;
}
.ctk-calc-title { grid-column: 1 / -1; margin: 0; padding: 22px 24px 0; }

.ctk-calc-in {
	padding: clamp(20px, 3vw, 34px);
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.ctk-calc-out {
	padding: clamp(20px, 3vw, 34px);
	background: var(--ctk-ink);
	color: #E4E8E4;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ctk-two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.ctk-f { display: flex; flex-direction: column; gap: 7px; }
.ctk-f > span {
	font-family: var(--ctk-mono);
	font-size: .66rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ctk-muted);
}
.ctk-f input,
.ctk-f select {
	border: 1px solid var(--ctk-line-strong);
	border-radius: var(--ctk-radius);
	background: var(--ctk-surface);
	color: var(--ctk-ink);
	padding: 10px 12px;
	font-family: var(--ctk-mono);
	font-size: .95rem;
	width: 100%;
	max-width: 100%;
}
.ctk-f input:focus, .ctk-f select:focus { border-color: var(--ctk-ink); outline: none; }

.ctk-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: .9rem;
	cursor: pointer;
}
.ctk-check input { margin-top: 3px; accent-color: var(--ctk-accent); width: 16px; height: 16px; }

.ctk-calc-out .ctk-label { color: #A9B2AD; }
.ctk-out-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	font-family: var(--ctk-mono);
	font-size: .82rem;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.ctk-out-row span { color: #A9B2AD; }
.ctk-out-row b { font-weight: 600; font-variant-numeric: tabular-nums; font-size: .95rem; }

.ctk-total { display: flex; flex-direction: column; gap: 4px; margin-top: 6px; }
.ctk-total-value {
	font-size: clamp(1.9rem, 3.4vw, 2.7rem);
	font-weight: 700;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.ctk-calc-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
.ctk-calc-actions .ctk-btn-ghost { color: #E4E8E4; border-color: rgba(255, 255, 255, .3); }

.ctk-note { font-size: .76rem; color: #8E9793; line-height: 1.5; margin: 4px 0 0; }
.ctk-note.ctk-ok { color: #9FD0AE; }

@media (max-width: 860px) {
	.ctk-calc { grid-template-columns: 1fr; }
}

/* ---------------------------------------------------------------
 * Termékoldali m² segéd
 * ------------------------------------------------------------- */

.ctk-qty-helper {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0 0 14px;
	padding: 14px 16px;
	background: #F1F2EF;
	border: 1px solid var(--ctk-line);
	border-radius: var(--ctk-radius);
	max-width: 320px;
}
.ctk-qty-helper label {
	font-family: var(--ctk-mono);
	font-size: .66rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ctk-muted);
}
.ctk-qty-helper input {
	border: 1px solid var(--ctk-line-strong);
	border-radius: var(--ctk-radius);
	padding: 9px 11px;
	font-family: var(--ctk-mono);
	width: 100%;
}
.ctk-qty-note {
	margin: 0;
	font-family: var(--ctk-mono);
	font-size: .76rem;
	color: var(--ctk-muted);
	line-height: 1.45;
}
.ctk-qty-unit {
	display: inline-block;
	margin-left: 8px;
	font-family: var(--ctk-mono);
	font-size: .8rem;
	color: var(--ctk-muted);
}

/* Ft/m² utótag az árak mellett */
.ctk-unit { font-size: .7em; opacity: .7; font-weight: 400; }

/* a raklapár mellé írt összehasonlító négyzetméterár */
.ctk-unit-sub { font-size: .66em; opacity: .55; font-weight: 400; white-space: nowrap; }

/* ---------------------------------------------------------------
 * Önálló mintakép
 * ------------------------------------------------------------- */

.ctk-swatch-box {
	position: relative;
	display: block;          /* span-ként is legyen blokk, különben nincs magassága */
	height: var(--ctk-swatch-h, 180px);
	background: var(--ctk-yard);
	border-radius: var(--ctk-radius);
	overflow: hidden;
}
.ctk-swatch-box canvas { width: 100%; height: 100%; display: block; }

/* ---------------------------------------------------------------
 * Közös szekciósáv
 * Ugyanaz a szélesség és belső margó, mint a kézzel beillesztett
 * blokkoknál (fejléc, hero, üzletágak) – így minden szekció szövege
 * pontosan egy függőleges vonalon kezdődik, az Elementor konténer
 * beállításától függetlenül.
 * ------------------------------------------------------------- */

.ctk-shop, .ctk-shop *,
.ctk-sec, .ctk-sec * { box-sizing: border-box; }   /* enélkül a padding a szélességhez adódna */

.ctk-shop,
.ctk-sec {
	--ctk-bleed: calc(100vw - var(--ctk-sbw, 0px));
	width: var(--ctk-bleed);
	max-width: var(--ctk-bleed);
	margin-left: calc(50% - var(--ctk-bleed) / 2);
	margin-right: calc(50% - var(--ctk-bleed) / 2);
	background: var(--ctk-band-bg, transparent);
}

.ctk-band {
	width: min(var(--ctk-wrap, 1640px), 100% - 48px);
	margin-inline: auto;
	padding-inline: clamp(8px, 2.6vw, 56px);
	padding-block: var(--ctk-band-py, clamp(46px, 6vw, 86px));
}

@media (max-width: 660px) {
	.ctk-band {
		width: calc(100% - 32px);
		padding-block: 40px;
	}
}

/* ---------------------------------------------------------------
 * Termékrács — [terko_kiemelt]
 * ------------------------------------------------------------- */

.ctk-shop,
.ctk-sec{
	--ctk-ink: #161A19;
	--ctk-muted: #646C68;
	--ctk-line: #DDE1DB;
	--ctk-sand: #C2A379;
	--ctk-sand-lt: #CBAE87;
	--ctk-sand-tx: #9A7742;
	--ctk-radius: 25px;
	--ctk-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
	--ctk-display: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;
	color: var(--ctk-ink);
}

.ctk-sec__head{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 26px;
	flex-wrap: wrap;
	margin-bottom: 34px;
}
.ctk-sec__eyebrow{
	margin: 0 0 10px;
	font-family: var(--ctk-mono);
	font-size: 12px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ctk-muted);
}
.ctk-sec__title{
	margin: 0;
	font-family: var(--ctk-display);
	font-weight: 700;
	text-transform: uppercase;
	line-height: .98;
	font-size: clamp(2rem, 3.6vw, 3.2rem);
	text-wrap: balance;
}
.ctk-sec__lead{ margin: 14px 0 0; max-width: 56ch; color: #333B38; }
.ctk-sec__more{
	font-weight: 600;
	font-size: .95rem;
	color: var(--ctk-sand-tx);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	white-space: nowrap;
}
.ctk-sec__more:hover{ border-bottom-color: var(--ctk-sand-tx); }

.ctk-cards{
	display: grid;
	grid-template-columns: repeat(var(--ctk-cols, 4), minmax(0, 1fr));
	gap: 20px;
}

.ctk-card{
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--ctk-line);
	border-radius: 4px;
	overflow: hidden;
	transition: box-shadow .2s ease, transform .2s ease;
}
.ctk-card:hover{
	box-shadow: 0 1px 2px rgba(22,26,25,.05), 0 14px 32px -20px rgba(22,26,25,.45);
	transform: translateY(-2px);
}

.ctk-card__media{
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	background: #E7E9E4;
	overflow: hidden;
}
.ctk-card__media img,
.ctk-card__media .ctk-swatch-box{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.ctk-swatch-box--fill{ height: 100% !important; border-radius: 0; }

.ctk-badge{
	position: absolute;
	top: 10px;
	left: 10px;
	font-family: var(--ctk-mono);
	font-size: .64rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 4px 9px;
	border-radius: 3px;
	color: #fff;
	background: var(--ctk-ink);
}
.ctk-badge--stock{ background: #4C5B4A; }
.ctk-badge--sale{ background: var(--ctk-sand); color: #241E16; }
.ctk-badge--out{ background: #7A7A7A; }

.ctk-card__body{
	display: flex;
	flex-direction: column;
	gap: 9px;
	padding: 14px 16px 16px;
	flex: 1;
}
.ctk-card__name{ margin: 0; font-size: 1rem; font-weight: 600; line-height: 1.25; }
.ctk-card__name a{ color: inherit; text-decoration: none; }
.ctk-card__name a:hover{ color: var(--ctk-sand-tx); }

.ctk-card__meta{
	margin: 0;
	font-family: var(--ctk-mono);
	font-size: .72rem;
	color: var(--ctk-muted);
	line-height: 1.5;
}
/* vastagság-választó: egy termék, több vastagság – egy kártyán */
/* kép nélküli, nem burkolat termék: visszafogott felület kötésminta helyett */
.ctk-card__ph{
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #EDEFEA 0 50%, #E3E6DF 50% 100%);
}

.ctk-card__sizes{ display: flex; flex-wrap: wrap; gap: 6px; }
.ctk-card__size{
	font-family: var(--ctk-mono);
	font-size: .72rem;
	line-height: 1;
	padding: 7px 11px;
	border: 1px solid var(--ctk-line);
	border-radius: 20px;
	background: #fff;
	color: var(--ctk-ink, #161A19);
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.ctk-card__size:hover{ border-color: var(--ctk-sand); }
.ctk-card__size.is-active{
	background: var(--ctk-sand);
	border-color: var(--ctk-sand);
	color: #fff;
}
.ctk-card__size[data-stock="0"]{ opacity: .45; }

.ctk-card__dots{ display: flex; gap: 5px; }
.ctk-card__dots i{
	width: 15px; height: 15px;
	border-radius: 3px;
	border: 1px solid rgba(22,26,25,.2);
	display: block;
}

.ctk-card__foot{
	margin-top: auto;
	padding-top: 8px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	flex-wrap: wrap;
}
.ctk-card__price{
	font-family: var(--ctk-display);
	font-weight: 700;
	font-size: 1.32rem;
	line-height: 1.1;
}
.ctk-card__price small{
	display: block;
	font-family: var(--ctk-mono);
	font-size: .62rem;
	font-weight: 400;
	color: var(--ctk-muted);
	letter-spacing: .02em;
}
.ctk-card__price b{ font: inherit; display: block; }
.ctk-card__price--html{ font-size: 1.05rem; }

.ctk-card__btn{
	display: inline-flex;
	align-items: center;
	background: var(--ctk-sand);
	border: 1px solid var(--ctk-sand);
	color: #fff;
	text-decoration: none;
	font-family: var(--ctk-display);
	font-weight: 700;
	font-size: .95rem;
	line-height: 1.3;
	letter-spacing: .02em;
	padding: 9px 18px;
	border-radius: var(--ctk-radius);
	white-space: nowrap;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease;
}
.ctk-card__btn:hover{ background: var(--ctk-sand-lt); border-color: var(--ctk-sand-lt); color: #fff; }
.ctk-card__btn[disabled]{ opacity: .5; cursor: not-allowed; }
.ctk-card__btn[disabled]:hover{ background: var(--ctk-sand); border-color: var(--ctk-sand); }

.ctk-empty{
	padding: 18px;
	border: 1px dashed var(--ctk-line);
	border-radius: 4px;
	color: var(--ctk-muted);
	font-size: .92rem;
}

@media (max-width: 1000px){
	.ctk-cards{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px){
	.ctk-cards{ grid-template-columns: 1fr; }
	.ctk-sec__head{ margin-bottom: 24px; }
}

/* ---------------------------------------------------------------
 * Árajánlatkérő — [terko_ajanlatkero]
 * ------------------------------------------------------------- */

.ctk-quote__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 460px);
	gap: clamp(28px, 4vw, 64px);
	align-items: start;
}

.ctk-quote__info .ctk-sec__lead { margin-bottom: 30px; }

/* ---- kapcsolati adatok ---- */
.ctk-info { margin: 0; display: flex; flex-direction: column; }
.ctk-info__row {
	display: flex;
	gap: 18px;
	padding: 16px 0;
	border-bottom: 1px solid var(--ctk-line, #DDE1DB);
}
.ctk-info__row:last-child { border-bottom: 0; }
.ctk-info dt {
	flex: 0 0 108px;
	font-family: var(--ctk-mono);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ctk-muted, #646C68);
	padding-top: 3px;
}
.ctk-info dd { margin: 0; font-size: 1rem; line-height: 1.5; }
.ctk-info dd span {
	display: block;
	font-size: .82rem;
	color: var(--ctk-muted, #646C68);
}
.ctk-info__mono { font-family: var(--ctk-mono); font-size: .92rem; }
.ctk-info dd a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid #C6CCC3;
}
.ctk-info dd a:hover { color: var(--ctk-sand-tx, #9A7742); border-bottom-color: currentColor; }

/* ---- űrlap ---- */
.ctk-form {
	background: #F1F2EF;
	border: 1px solid var(--ctk-line, #DDE1DB);
	border-radius: 4px;
	padding: clamp(22px, 3vw, 34px);
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.ctk-form__title {
	margin: 0;
	font-family: var(--ctk-display, "Barlow Condensed", "Arial Narrow", system-ui, sans-serif);
	font-weight: 700;
	text-transform: uppercase;
	font-size: 1.5rem;
	line-height: 1;
	letter-spacing: .02em;
}
.ctk-form__two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.ctk-form__f { display: flex; flex-direction: column; gap: 7px; }
.ctk-form__f > span {
	font-family: var(--ctk-mono);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ctk-muted, #646C68);
}
.ctk-form input[type="text"],
.ctk-form input[type="tel"],
.ctk-form input[type="email"],
.ctk-form input[type="number"],
.ctk-form select,
.ctk-form textarea {
	width: 100%;
	max-width: 100%;
	border: 1px solid #C6CCC3;
	border-radius: 3px;
	background: #fff;
	color: var(--ctk-ink, #161A19);
	padding: 11px 13px;
	font-family: inherit;
	font-size: .97rem;
}
.ctk-form textarea { resize: vertical; min-height: 96px; }
.ctk-form :focus-visible { outline: 2px solid var(--ctk-sand, #C2A379); outline-offset: 1px; border-color: transparent; }
.ctk-form .ctk-form__err { border-color: #A8442C; }

.ctk-form__check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: .86rem;
	line-height: 1.45;
	color: var(--ctk-ink-2, #333B38);
	cursor: pointer;
}
.ctk-form__check input { margin-top: 3px; width: 16px; height: 16px; accent-color: var(--ctk-sand, #C2A379); flex: 0 0 auto; }
.ctk-form__check a { color: var(--ctk-sand-tx, #9A7742); }

/* mézesbödön – csak robotoknak látszik */
.ctk-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.ctk-form__submit {
	margin-top: 4px;
	padding: 14px 24px;
	border: 1px solid var(--ctk-sand, #C2A379);
	border-radius: 25px;
	background: var(--ctk-sand, #C2A379);
	color: #fff;
	font-family: var(--ctk-display, "Barlow Condensed", "Arial Narrow", system-ui, sans-serif);
	font-weight: 700;
	font-size: 1.05rem;
	letter-spacing: .02em;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease;
}
.ctk-form__submit:hover { background: var(--ctk-sand-lt, #CBAE87); border-color: var(--ctk-sand-lt, #CBAE87); }
.ctk-form__submit[disabled] { opacity: .65; cursor: default; }

.ctk-form__msg { margin: 0; font-size: .8rem; color: var(--ctk-muted, #646C68); line-height: 1.5; }
.ctk-form__msg.is-ok { color: #3F5140; font-weight: 600; }
.ctk-form__msg.is-err { color: #A8442C; font-weight: 600; }

@media (max-width: 900px) {
	.ctk-quote__grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
	.ctk-form__two { grid-template-columns: 1fr; }
	.ctk-info__row { flex-direction: column; gap: 4px; }
	.ctk-info dt { flex: none; }
}

/* ---------------------------------------------------------------
 * Referenciák — [terko_referenciak]
 * ------------------------------------------------------------- */

.ctk-refs__grid {
	display: grid;
	grid-template-columns: repeat(var(--ctk-ref-cols, 3), minmax(0, 1fr));
	gap: 16px;
	grid-auto-flow: dense;
}

.ctk-ref {
	margin: 0;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--ctk-line, #DDE1DB);
	border-radius: 4px;
	overflow: hidden;
}

/* az első elem duplán széles és magas – ettől lesz mozaikos a rács */
.ctk-refs__grid--feature > .ctk-ref:first-child {
	grid-column: span 2;
	grid-row: span 2;
}

.ctk-ref__media {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: #E7E9E4;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	cursor: zoom-in;
	flex: 1;
}
.ctk-refs__grid--feature > .ctk-ref:first-child .ctk-ref__media { aspect-ratio: 16 / 11; }

.ctk-refs .ctk-ref__media img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform .5s cubic-bezier(.2, .7, .3, 1);
}
.ctk-ref__media:hover img { transform: scale(1.045); }

.ctk-ref__zoom {
	position: absolute;
	right: 12px;
	bottom: 12px;
	width: 34px;
	height: 34px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	color: var(--ctk-ink, #161A19);
	opacity: 0;
	transform: translateY(6px);
	transition: opacity .2s ease, transform .2s ease;
}
.ctk-ref__media:hover .ctk-ref__zoom,
.ctk-ref__media:focus-visible .ctk-ref__zoom { opacity: 1; transform: none; }

.ctk-ref__cap {
	padding: 14px 16px 16px;
	display: flex;
	flex-direction: column;
	gap: 5px;
	border-top: 1px solid var(--ctk-line, #DDE1DB);
}
.ctk-ref__cap strong {
	font-family: var(--ctk-display, "Barlow Condensed", "Arial Narrow", system-ui, sans-serif);
	font-weight: 700;
	text-transform: uppercase;
	font-size: 1.08rem;
	line-height: 1.1;
	letter-spacing: .02em;
}
.ctk-ref__cap span {
	font-family: var(--ctk-mono);
	font-size: .73rem;
	color: var(--ctk-muted, #646C68);
	line-height: 1.45;
}

@media (max-width: 900px) {
	.ctk-refs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ctk-refs__grid--feature > .ctk-ref:first-child { grid-row: span 1; }
}
@media (max-width: 560px) {
	.ctk-refs__grid { grid-template-columns: 1fr; gap: 14px; }
	.ctk-refs__grid--feature > .ctk-ref:first-child { grid-column: span 1; }
	.ctk-refs__grid--feature > .ctk-ref:first-child .ctk-ref__media { aspect-ratio: 4 / 3; }
}

/* ---- nagyított nézet ---- */
.ctk-lb {
	position: fixed;
	inset: 0;
	z-index: 999995;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(16px, 4vw, 48px);
	background: rgba(18, 21, 20, .88);
	opacity: 0;
	visibility: hidden;
	transition: opacity .22s ease;
}
.ctk-lb.is-open { opacity: 1; visibility: visible; }
@media (prefers-reduced-motion: reduce) { .ctk-lb { transition: none; } }

.ctk-lb__box {
	max-width: min(1100px, 100%);
	max-height: 100%;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.ctk-lb__box img {
	max-width: 100%;
	max-height: 74vh;
	width: auto !important;
	height: auto !important;
	display: block;
	margin: 0 auto;
	border-radius: 4px;
	background: #2A2E2C;
}
.ctk-lb__cap { color: #E4E8E4; text-align: center; max-width: 68ch; margin-inline: auto; }
.ctk-lb__cap strong {
	display: block;
	font-family: var(--ctk-display, "Barlow Condensed", "Arial Narrow", system-ui, sans-serif);
	font-weight: 700;
	text-transform: uppercase;
	font-size: 1.3rem;
	letter-spacing: .02em;
}
.ctk-lb__cap em {
	display: block;
	font-style: normal;
	font-family: var(--ctk-mono);
	font-size: .78rem;
	color: var(--ctk-sand, #C2A379);
	margin-top: 4px;
}
.ctk-lb__cap p { margin: 8px 0 0; font-size: .92rem; color: #B9C1BC; }

.ctk-lb__close {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 50%;
	background: transparent;
	color: #fff;
	cursor: pointer;
}
.ctk-lb__close:hover { background: rgba(255, 255, 255, .12); }

.ctk-lb__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 50%;
	background: transparent;
	color: #fff;
	cursor: pointer;
}
.ctk-lb__nav--prev { left: 14px; }
.ctk-lb__nav--next { right: 14px; }
.ctk-lb__nav:hover { background: rgba(255, 255, 255, .12); }

body.ctk-lb-open { overflow: hidden; }

/* a termékoldali mennyiség-eligazítás (a mennyiség egysége m²) */
.ctk-qty-hint {
	margin: 0 0 10px;
	font-size: .88rem;
	color: var(--ctk-muted, #646C68);
}
.ctk-qty-hint strong { color: var(--ctk-ink, #161A19); }
