/*
 * RUFALES - opravy z kontroly vzhledu 28. 9. 2026 (majitel: "oprav to uplne vsechno").
 * Zprava: RUFALES/kontrola-vzhledu-2026-09-28/KONTROLA_VZHLEDU.md
 *
 * Vse na jednom miste a nacitane jako posledni, aby slo cele vratit odebranim
 * jednoho souboru. Barvy, pismo ani fotky se nemeni.
 */

/* 6. Uvodni slider na pocitaci: citelnejsi text na svetlych fotkach a plne tlacitko.
      Mobil ma vlastni zmereny prechod (homepage.css), ten zustava. */
@media (min-width: 48rem) {
	.rufales-homepage .rufales-homepage__hero-shade {
		background: linear-gradient(90deg, rgba(7, 12, 8, 0.64) 0%, rgba(7, 12, 8, 0.48) 34%, rgba(7, 12, 8, 0.18) 58%, rgba(7, 12, 8, 0) 78%);
	}
}
/* 29. 9. 2026 - tlacitko ve slideru: "sklo" misto plne zelene.
 *
 * Majitel: "ty syte zelene tlacitka koupit na slideru jsou az moc, je to moc
 * tezky, chybi tomu lehkost. Ale zaroven by bylo dobre, kdyby byly videt."
 * Z nabidnutych variant si vybral B.
 *
 * 28. 9. se tlacitko udelalo plne zelene prave kvuli citelnosti na svetlych
 * fotkach - proto se nevraci puvodni cisty obrys z homepage.css, ale pridava
 * se pod nej tmavy zavoj a rozostreni pozadi.
 *
 * ZMERENO na vsech ctyrech fotkach slideru (bily text proti nejsvetlejsim 5 %
 * plochy tlacitka, vcetne prechodu `hero-shade`):
 *   sklady reziva 11,4:1   prazce 4,9:1   pilove pasy 11,6:1   masivni 11,5:1
 * Nejtesnejsi jsou prazce - je to svetla betonova fotka. Pri zavoji 0,30 by
 * tam vyslo 4,2:1, tedy POD normou 4,5:1; proto 0,44.
 * Kdyz prohlizec `backdrop-filter` neumi, zavoj se zvedne na 0,54 (tam vychazi
 * 5,1:1), jinak by bez rozostreni citelnost spadla na 4,4:1.
 * Na mobilu je prechod svisly a dole ma 0,8, takze je tam rezerva vetsi. */
.rufales-homepage .rufales-homepage__button {
	border-color: rgba(255, 255, 255, 0.88);
	border-width: 1.5px;
	background: rgba(7, 12, 8, 0.44);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	color: #fff;
	font-size: 0.95rem;
	font-weight: 500;
}

@supports not ((backdrop-filter: blur(6px)) or (-webkit-backdrop-filter: blur(6px))) {
	.rufales-homepage .rufales-homepage__button {
		background: rgba(7, 12, 8, 0.54);
	}
}

.rufales-homepage .rufales-homepage__button:hover {
	border-color: #f4f0e8;
	background: #f4f0e8;
	color: var(--rufales-color-ink, #17211b);
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

/* 7. Nakupni box: "vc. DPH" hned u ceny, dostupnost tmave zelene misto olivove. */
#main-content.rufales-product-master :is(.rufales-product-master__price .price, .woocommerce-variation-price .price) .woocommerce-Price-amount:not(:has(~ .woocommerce-Price-amount)):not(.rufales-product-lead-time *)::after {
	content: "\00a0 v\010d.\00a0 DPH";
	color: #60675f;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
}
#main-content.rufales-product-master .single_variation_wrap:has(.price .woocommerce-Price-amount) > .rufales-purchase-tax,
#main-content.rufales-product-master form.cart:has(> .rufales-product-master__price .price .woocommerce-Price-amount) > .rufales-purchase-tax {
	display: none;
}
#main-content.rufales-product-master :is(.stock.available-on-backorder, .stock.in-stock) {
	color: var(--rufales-color-forest-800, #1d4d37);
	font-weight: 600;
	margin-bottom: 12px;
}

/* 8. Drobne pismo: nic pod 13 px (pruh s H1 na hlavni strance je primo ve front-page.php). */
.rufales-timber__breadcrumbs,
.rufales-timber__breadcrumbs a,
.rufales-timber__breadcrumbs span,
.rufales-timber__eyebrow,
.rufales-eyebrow,
.rufales-build-intro__kicker,
.rufales-timber__figure-label,
.rufales-timber__trust span,
.rufales-timber__hint,
.rufales-timber__shipping-note p,
.rufales-delivery-estimate__title,
.rufales-delivery-estimate__note {
	font-size: 13px;
}
.rufales-timber__navigation a { font-size: 13.5px; }
/* Stitek "Cena celkem" je verzalkami; na 13 px by se na mobilu zlomil na dva radky. */
.rufales-timber__price-row > span { font-size: 12px; white-space: nowrap; }
.rufales-timber__price-row small { font-size: 13px; }

/* 9. Drobeckova navigace na mobilu na jeden radek, nazev produktu se pripadne zkrati. */
@media (max-width: 43.75rem) {
	.rufales-breadcrumbs {
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
}
.rufales-build-intro__points li { font-size: 13.5px; }

/* 10. Tlacitka na pocitaci o kus vetsi vedle velkych nadpisu. */
@media (min-width: 61.25rem) {
	.rufales-pila-link {
		padding: 0.82rem 1.5rem;
		font-size: 0.97rem;
	}
}

/* Kosik = terenni jesterka (majitel 29. 9. 2026): pri prazdnem kosiku bez nakladu. */
.rufales-site-header__cart:has(.rufales-site-header__cart-count[data-count="0"]) .rufales-site-header__cart-load { display: none; }

/* Vyjizdejici kosik (plugin rufales-side-cart-2.0 kresli ikonu maskou z --rufsc-basket-icon):
   stejna terenni jesterka jako v hlavicce - se zbozim nalozena, prazdny kosik bez nakladu. */
.xoo-wsc-modal .xoo-wsc-container,
.xoo-wsc-container {
	--rufsc-basket-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.8 20.4v-4.6c0-.8.6-1.4 1.4-1.4h14.6v5.2'/%3E%3Cpath d='M6.4 14.4V7.2'/%3E%3Cpath d='M5.4 7.2h9.4'/%3E%3Cpath d='M13.8 7.2l2.6 7.2'/%3E%3Cpath d='M21 3.8v23.4h9.4'/%3E%3Cpath d='M18.8 15.8L21 14.8'/%3E%3Ccircle cx='6.6' cy='24.2' r='3.6'/%3E%3Ccircle cx='6.6' cy='24.2' r='.9'/%3E%3Ccircle cx='15.6' cy='24.2' r='3.6'/%3E%3Ccircle cx='15.6' cy='24.2' r='.9'/%3E%3Cpath d='M22.2 26.9v-3.6h8.4v3.6'/%3E%3Cpath d='M28 23.3v3.6'/%3E%3Cpath d='M22.2 23.3v-3.6h8.4v3.6'/%3E%3Cpath d='M28 19.7v3.6'/%3E%3C/svg%3E");
}
.xoo-wsc-modal .xoo-wsc-container:has(.xoo-wsc-empty-cart),
.xoo-wsc-container:has(.xoo-wsc-empty-cart) {
	--rufsc-basket-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.8 20.4v-4.6c0-.8.6-1.4 1.4-1.4h14.6v5.2'/%3E%3Cpath d='M6.4 14.4V7.2'/%3E%3Cpath d='M5.4 7.2h9.4'/%3E%3Cpath d='M13.8 7.2l2.6 7.2'/%3E%3Cpath d='M21 3.8v23.4h9.4'/%3E%3Cpath d='M18.8 15.8L21 14.8'/%3E%3Ccircle cx='6.6' cy='24.2' r='3.6'/%3E%3Ccircle cx='6.6' cy='24.2' r='.9'/%3E%3Ccircle cx='15.6' cy='24.2' r='3.6'/%3E%3Ccircle cx='15.6' cy='24.2' r='.9'/%3E%3C/svg%3E");
}
/* Pocet kusu jako zelene kolecko vpravo nahore (jako v hlavicce), aby nelezel pres naklad. */
.xoo-wsc-container .xoo-wsch-top .xoo-wsch-basket { position: relative; }
.xoo-wsc-container .xoo-wsch-basket .xoo-wscb-count {
	position: absolute;
	inset: -4px -6px auto auto;
	width: auto;
	max-width: none;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	min-width: 18px;
	height: 18px;
	margin: 0;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--rufales-color-forest-700, #1d4d37);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}
.xoo-wsc-container .xoo-wsch-basket .xoo-wscb-icon { font-size: 1.65rem; }

/* 12. Plovouci tlacitko cookies mensi a mene vyrazne. */
#rfl-consent-open {
	width: 38px !important;
	height: 38px !important;
	opacity: 0.82;
}
#rfl-consent-open:hover,
#rfl-consent-open:focus-visible { opacity: 1; }

/* 13. "Zavolat" na pocitaci: misto velkeho plneho tlacitka nenapadny obrys.
       Na telefonu (dotykove ovladani) zustava velke tlacitko. */
@media (hover: hover) and (pointer: fine) {
	.rufales-poptavka__volat-btn {
		display: inline-flex;
		width: auto;
		min-height: 0;
		padding: 10px 18px;
		background: transparent;
		color: var(--rufales-color-forest-800, #1d4d37) !important;
		font-size: 15px;
	}
	.rufales-poptavka__volat-btn:hover {
		background: var(--rufales-color-forest-800, #1d4d37);
		color: #fff !important;
	}
}

/* 5. E-shop se peti dlazdicemi: tri nahore, dve sirsi dole. */
@media (min-width: 900.02px) {
	.rufales-shop-worlds__grid--5 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.rufales-shop-worlds__grid--5 > .rufales-shop-world { grid-column: span 2; }
	.rufales-shop-worlds__grid--5 > .rufales-shop-world:nth-child(n+4) {
		grid-column: span 3;
		height: clamp(22rem, 44vh, 27rem);
	}
}

/* Kategorie e-shopu (majitel 28. 9. 2026 u vyvysenych zahonu: "hromada textu", "neusporadane").
   Text uvodu i rozklikavaci popisky se nemeni, jen uprava: prvni odstavec jako uvod,
   druhy (prakticke informace) v klidnem ramecku, produkty jako jednotne karty. */
#main-content.rufales-product-archive .rufales-product-archive__heading { margin-bottom: 36px; }
#main-content.rufales-product-archive .rufales-product-archive__heading > p:not(.rufales-eyebrow) { max-width: 68ch; }
#main-content.rufales-product-archive .rufales-product-archive__heading > h1 + p:not(.rufales-eyebrow) {
	color: var(--rufales-color-ink, #17211b);
	font-size: 17.5px;
	line-height: 1.6;
}
#main-content.rufales-product-archive .rufales-product-archive__heading > h1 + p + p:not(.rufales-eyebrow) {
	margin-top: 16px;
	padding: 14px 18px;
	border-left: 3px solid var(--rufales-color-forest-800, #1d4d37);
	border-radius: 0 6px 6px 0;
	background: #f3f0e8;
	color: #3f4a43;
	font-size: 15px;
	line-height: 1.65;
}
#main-content.rufales-product-archive .rufales-live-product-grid { gap: 20px; }
#main-content.rufales-product-archive .rufales-live-product-card__link {
	overflow: hidden;
	border: 1px solid #e3e0d6;
	border-radius: 8px;
	background: #fff;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
#main-content.rufales-product-archive .rufales-live-product-card__link:hover {
	border-color: #b9c2b4;
	box-shadow: 0 6px 18px rgba(23, 33, 27, 0.08);
}
#main-content.rufales-product-archive .rufales-live-product-card__media {
	border: 0;
	border-bottom: 1px solid #e3e0d6;
	border-radius: 0;
}
#main-content.rufales-product-archive .rufales-live-product-card__body {
	gap: 6px;
	padding: 14px 16px 16px;
}
#main-content.rufales-product-archive .rufales-live-product-card__body > em { padding-top: 8px; }
@media (min-width: 56.25rem) {
	#main-content.rufales-product-archive .rufales-live-product-card__body > strong { min-height: 0; }
}
@media (max-width: 43.75rem) {
	#main-content.rufales-product-archive .rufales-live-product-grid { gap: 12px; }
	#main-content.rufales-product-archive .rufales-live-product-card__body { padding: 10px 12px 12px; }
	#main-content.rufales-product-archive .rufales-product-archive__heading > h1 + p:not(.rufales-eyebrow) { font-size: 16.5px; }
}

/* 1. Vlastni stranka 404 misto stare sablony Divi. */
.rufales-notfound {
	padding-block: clamp(3rem, 8vw, 6rem) clamp(3.5rem, 8vw, 6.5rem);
}
.rufales-notfound,
.rufales-notfound h1 { font-family: var(--rufales-font-sans, "Open Sans", Arial, sans-serif); }
.rufales-notfound h1 {
	margin: 0 0 0.9rem;
	font-size: clamp(2rem, 4vw, 2.9rem);
	line-height: 1.15;
}
.rufales-notfound__lead {
	max-width: 38rem;
	margin: 0 0 2rem;
	color: var(--rufales-color-muted, #59645d);
	font-size: 1.05rem;
	line-height: 1.6;
}
.rufales-notfound__links {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
	gap: 0.75rem;
	max-width: 56rem;
	margin: 0 0 2rem;
	padding: 0;
	list-style: none;
}
.rufales-notfound__links a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 3.5rem;
	padding: 0.9rem 1.1rem;
	border: 1px solid rgba(23, 33, 27, 0.18);
	border-radius: 0.35rem;
	background: #fff;
	color: var(--rufales-color-forest-800, #1d4d37);
	font-weight: 600;
	text-decoration: none;
}
.rufales-notfound__links a:hover { border-color: var(--rufales-color-forest-800, #1d4d37); }
.rufales-notfound__contact { margin: 0; color: var(--rufales-color-muted, #59645d); }
.rufales-notfound__contact a { color: var(--rufales-color-forest-800, #1d4d37); }

/* =====================================================================
 * Vizualni audit 2. 10. 2026 (majitel: "co se potvrdi, oprav").
 * Overeno v prohlizeci na sirkach 390 / 768 / 1440 / 1920.
 * Zadna nova barva ani pismo - jen barvy, ktere uz web pouziva.
 * Tlacitka ve slideru a paticka (fotka, barva textu, mobil) se nemeni.
 * ===================================================================== */

/* --- 2. Tri odstiny misto jedenacti ---------------------------------
 * Namereno na sedmi strankach: viditelna svetla pozadi mela 11 odstinu
 * (#fffdf8 #f4f0e8 #f5f1e8 #e8e0d2 #eceae4 #ebe8df #fffefa #f7f6f1
 *  #f7f8f4 #f5f8ef #fff). Uvodni stranka mela pod kartami #f4f0e8,
 * produkt #fffdf8, kontakty #f5f1e8, kosik bily pruh.
 * Ted: POZADI #fffdf8 (stranka i hlavicka), PLOCHA #f4f0e8 (pruhy,
 * ramecky s poznamkou, misto pod fotkou), KARTA #fff (formulare, nakupni box). */
:root {
	--rufales-color-surface: #f4f0e8;
	--rufales-color-surface-strong: #f4f0e8;
}
.rufales-homepage {
	--rufales-homepage-ivory: #fffdf8;
	--rufales-homepage-warm: #f4f0e8;
}
.rufales-homepage .rufales-homepage__intro { background: #fffdf8; }
#page-container #main-content.rufales-shop-master,
#page-container #main-content.rufales-garden-master,
#main-content.rufales-shop-master,
#main-content.rufales-garden-master { background: #fffdf8; }
#main-content.rufales-product-master .rufales-purchase-card { background: #fff; }
#main-content.rufales-product-master .rufales-product-gallery__main,
#main-content.rufales-product-master .rufales-product-gallery__thumbnail,
.rufales-timber-gallery .rufales-product-gallery__thumbnail,
.rufales-timber-gallery .rufales-product-gallery__main,
.rufales-live-product-card__media,
.rufales-live-product-card__media--contain,
.rufales-product-card__image,
.rufales-product-card__image--contain,
#main-content.rufales-product-archive .rufales-live-product-card__media--contain,
.rufales-build-card__image,
.rufales-build-detail__gallery-grid figure,
.rufales-timber__profile,
.rufales-heavy-shipping-note,
.rufales-timber__shipping-note,
.rufales-delivery-estimate,
.rufales-timber__badge,
.xoo-wsc-container .xoo-wsc-header,
#main-content.rufales-product-archive .rufales-product-archive__heading > h1 + p + p:not(.rufales-eyebrow) { background: #f4f0e8; }
.rufales-timber { background: transparent; }
.woocommerce-cart #main-content .et_pb_section { background-color: transparent; }
.woocommerce-cart .cart-empty.woocommerce-info,
.woocommerce .woocommerce-info { background: #f4f0e8 !important; }
.rufales-contact-page .et_pb_contact_form :is(input.input, textarea.input) { background: #fff; }

/* Zavreny bocni kosik stoji za pravym okrajem obrazovky, ale jeho stin
 * (-16px 0 48px) do stranky prosvital: sedy zavoj u praveho okraje na kazde
 * strance a kazde sirce. Stin ted jen u otevreneho kosiku. */
body:not(.xoo-wsc-cart-active) .xoo-wsc-container { box-shadow: none !important; }

/* --- 3. Text ve slideru na pocitaci --------------------------------
 * Zmereno pod kazdym radkem nadpisu a popisku na vsech 4 snimcich, p90
 * jasu pod pismem proti #eee9df, bez stinu pisma (stejne jako u paticky).
 * Driv: popisek u prazcu 2,5:1 a u masivnich vyrobku 2,7:1 (1440 px),
 * nadpis prazcu na 1280 px 2,6:1 - norma 4,5 / 3. Ted nejhorsi popisek
 * 4,86:1, nejhorsi nadpis nad 3. Tlacitka se nemeni. */
@media (min-width: 48rem) {
	.rufales-homepage .rufales-homepage__hero-shade {
		background: linear-gradient(90deg, rgba(7, 12, 8, 0.70) 0%, rgba(7, 12, 8, 0.64) 30%, rgba(7, 12, 8, 0.56) 50%, rgba(7, 12, 8, 0.40) 60%, rgba(7, 12, 8, 0) 82%);
	}
}
/* Na tabletu siri text az do 57 % sirky, proto prechod konci dal. */
@media (min-width: 48rem) and (max-width: 63.99rem) {
	.rufales-homepage .rufales-homepage__hero-shade {
		background: linear-gradient(90deg, rgba(7, 12, 8, 0.72) 0%, rgba(7, 12, 8, 0.66) 34%, rgba(7, 12, 8, 0.58) 56%, rgba(7, 12, 8, 0.36) 68%, rgba(7, 12, 8, 0) 88%);
	}
}

/* --- 4. Jedna sirka obsahu: 1200 px (token --rufales-container) ------
 * Driv na 1920 px: hlavicka a uvod 272, karty 64, paticka 240, e-shop
 * a drevostavby 360, produkt 380, rezivo 396, kontakty 400, kosik 420. */
.rufales-site-header__inner,
.rufales-homepage .rufales-homepage__container,
.rufales-homepage .rufales-homepage__worlds .rufales-homepage__container,
.rufales-contact-page .rufales-contact-shell {
	width: min(100% - (2 * var(--rufales-gutter, 2rem)), 75rem);
}
#main-content.rufales-product-master .rufales-product-master__inner { max-width: 75rem; }
.rufales-timber { max-width: calc(75rem + 72px); }
.woocommerce-cart #main-content .et_pb_row { width: min(100% - (2 * var(--rufales-gutter, 2rem)), 75rem); max-width: 75rem; }
/* Paticka jen od 1101 px (jeji vlastni hranice pro pocitac); na tabletu zustava,
 * jinak by spodni radek vjel pod plovouci tlacitko cookies. */
@media (min-width: 1101px) {
	.rufales-site-footer#main-footer .rufales-site-footer__content { width: min(100% - (2 * var(--rufales-gutter, 2rem)), 75rem); }
}
/* Slider: text zacina na hrane obsahu, sipky stoji vlevo/vpravo mimo nej,
 * pokud je na ne misto; na uzsich obrazovkach zustava puvodni odsazeni. */
@media (min-width: 84.5rem) {
	.rufales-homepage .rufales-homepage__hero-layout { padding-inline: 0; }
	.rufales-homepage .rufales-homepage__slider-control--previous { left: calc((100% - 75rem) / 2 - 3.75rem); }
	.rufales-homepage .rufales-homepage__slider-control--next { right: calc((100% - 75rem) / 2 - 3.75rem); }
}
@media (min-width: 48rem) and (max-width: 84.49rem) {
	.rufales-homepage .rufales-homepage__slider-control--previous { left: max(1rem, calc((100% - 75rem) / 2)); }
	.rufales-homepage .rufales-homepage__slider-control--next { right: max(1rem, calc((100% - 75rem) / 2)); }
}

/* --- 5. Ramecky policek aspon 3:1 -----------------------------------
 * #7b856f je barva, kterou uz pouziva konfigurator reziva:
 * na bile 3,87:1, na kremove plose 3,40:1. Driv: poptavka a kontakty
 * #d7d4cc 1,48:1, varianty produktu #e3e2da 1,27:1, konfigurator
 * #e8e9e3 1,2:1, mnozstvi #d8d4ca 1,46:1. */
.rufales-poptavka :is(input[type=text], input[type=email], input[type=tel], textarea),
.rufales-poptavka__cip span,
.rufales-contact-page .et_pb_contact_form :is(input.input, textarea.input),
#main-content.rufales-product-master form.cart .variations tr,
#main-content.rufales-product-master form.cart .quantity,
#main-content.rufales-product-master form.cart .quantity .qty,
.rufales-product-master .variations select,
.rufales-timber__field,
.rufales-timber__planing:not(:has(input:disabled)),
.rufales-timber__quantity,
.rufales-measured input,
.rufales-measured select,
.woocommerce form .form-row :is(.input-text, select),
.woocommerce .select2-container .select2-selection,
.woocommerce-cart #coupon_code {
	border-color: #7b856f;
}
/* Jemna vnitrni delici cara mezi popiskem a vyberem zustava - hranici
 * policka tvori vnejsi ramecek. Mnozstvi na produktu ma ramecek kolem
 * celeho prvku, samotne pole uvnitr ho nezdvojuje. */
#main-content.rufales-product-master form.cart .quantity:has(.rufales-qty__step) .qty { border-color: transparent; }

/* --- 6. Nic dulezitejsiho pod 14 px ---------------------------------
 * Verzalkove nadpisky s prostrkanim (napr. "PRISTUP K PRACI") zustavaji
 * 13 px - ctou se jako vetsi. */
.rufales-heavy-shipping-note p,
.rufales-heavy-shipping-note strong,
.rufales-timber__shipping-note p,
.rufales-timber__shipping-note strong,
.rufales-delivery-estimate__title,
.rufales-delivery-estimate__note,
.rufales-timber__trust span,
.rufales-timber__hint,
.rufales-timber__planing-note,
#timber-configurator-planing-note,
.rufales-timber__price-row small,
.rufales-timber__profile-note,
.rufales-timber__material-latin,
.rufales-breadcrumbs,
.rufales-breadcrumbs a,
.rufales-timber__breadcrumbs,
.rufales-timber__breadcrumbs a,
.rufales-timber__breadcrumbs span,
#main-content.rufales-product-master .reset_variations,
#main-content.rufales-product-master form.cart .variations label,
.rufales-build-intro__points li,
.rufales-poptavka__pole > span,
.rufales-poptavka__cipy legend,
.rufales-poptavka small,
.rufales-poptavka__pozn,
.rufales-contact-page .et_pb_contact_form_label,
.rufales-site-footer#main-footer .rufales-site-footer__bottom,
.rufales-site-footer#main-footer .rufales-site-footer__payments,
.rufales-site-footer#main-footer .rufales-site-footer__ico {
	font-size: 14px;
}

/* Doplnky s vyssi specificitou (galerie maji pravidla s #main-content). */
:is(#main-content.rufales-product-master, .rufales-timber-gallery) .rufales-product-gallery__thumbnail,
:is(#main-content.rufales-product-master, .rufales-timber-gallery) .rufales-product-gallery__main { background: #f4f0e8; }
#main-content .rufales-breadcrumbs,
#main-content .rufales-breadcrumbs a,
.woocommerce div.product form.cart .reset_variations,
.rufales-contact-page .rufales-contact-form-wrap .et_pb_contact_form_label,
.rufales-timber__profile figcaption span.rufales-timber__material-latin,
.rufales-timber__profile figcaption span.rufales-timber__profile-note,
.rufales-timber__config-info p,
.rufales-timber__form .rufales-timber__field > span,
.rufales-timber__form .rufales-timber__planing,
.rufales-timber__form .rufales-timber__planing strong,
.rufales-timber__form .rufales-timber__extras-heading { font-size: 14px; }
#main-content.rufales-product-master nav.rufales-breadcrumbs,
#main-content.rufales-product-master nav.rufales-breadcrumbs a,
#main-content.rufales-product-master form.cart a.reset_variations,
.rufales-timber .rufales-timber__navigation a,
.rufales-timber .rufales-timber__heading .rufales-timber__provenance,
.rufales-timber .rufales-timber__profile figcaption span { font-size: 14px; }

/* --- 1. Drevostavby: spolecne pro obe varianty ----------------------
 * Realizace uz nelezi na kremove plose - stoji na pozadi stranky, takze
 * se fotky nemaji s cim slevat. Vic mista pro fotky: prvni realizace
 * pres celou sirku, mensi mezery mezi kartami, fotky v jednotnem
 * pomeru 4:3 (driv kazda jiny pomer a pod nizkymi zbyvaly prazdne diry;
 * cela fotka zustava v detailu stavby). */
.rufales-build-master .rufales-build-realizations,
.rufales-build-master .rufales-build-realizations + .rufales-build-contact { background: #fffdf8; }
.rufales-build-master .rufales-build-grid { gap: clamp(2.25rem, 4vw, 3.25rem) clamp(1rem, 1.6vw, 1.25rem); }
.rufales-build-master .rufales-build-card__image { border-radius: 4px; }
.rufales-build-master .rufales-build-card__image img { aspect-ratio: 4 / 3 !important; height: auto; }
.rufales-build-master .rufales-build-card__body { padding-top: 0.9rem; }
.rufales-build-master .rufales-build-card h3 { margin-bottom: 0.5rem; }
@media (min-width: 761px) {
	.rufales-build-master .rufales-build-card--featured {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.25rem;
		align-items: start;
		padding-bottom: clamp(2.25rem, 4vw, 3.25rem);
	}
	.rufales-build-master .rufales-build-card--featured .rufales-build-card__image img { aspect-ratio: 21 / 9 !important; }
	.rufales-build-master .rufales-build-card--featured .rufales-build-card__body {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 0.5rem clamp(1.5rem, 4vw, 4rem);
		align-items: start;
	}
	.rufales-build-master .rufales-build-card--featured .rufales-build-card__body > h3 { grid-row: span 2; margin: 0; font-size: var(--rufales-font-size-2xl); }
}

/* Poptavka v sirce obsahu (sablona ji mela pevne na 44rem uprostred).
 * Na pocitaci dva sloupce: vlevo nadpis a zavolat, vpravo formular. */
.rufales-build-master .rufales-build-contact { padding-block: 0 clamp(3rem, 6vw, 5rem); }
.rufales-build-master .rufales-build-contact__inner {
	width: min(100% - (2 * var(--rufales-gutter, 2rem)), 75rem);
	max-width: none !important;
	box-sizing: border-box;
	padding: clamp(1.5rem, 5vw, 3.5rem);
	border: 1px solid #e3e0d6;
	border-radius: 6px;
	background: #fff;
}
@media (min-width: 900px) {
	.rufales-build-master .rufales-build-contact .rufales-poptavka {
		display: grid;
		grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
		grid-template-rows: auto auto 1fr;
		column-gap: clamp(2rem, 5vw, 4.5rem);
	}
	.rufales-build-master .rufales-build-contact .rufales-poptavka > * { grid-column: 1; }
	.rufales-build-master .rufales-build-contact .rufales-poptavka__nadpis { grid-row: 1; font-size: var(--rufales-font-size-2xl); }
	.rufales-build-master .rufales-build-contact .rufales-poptavka__veta { grid-row: 2; }
	.rufales-build-master .rufales-build-contact .rufales-poptavka__volat { grid-row: 3; align-self: start; margin-top: 0.75rem; }
	.rufales-build-master .rufales-build-contact .rufales-poptavka > :is(form, .rufales-poptavka__stav) { grid-column: 2; grid-row: 1 / span 3; }
	.rufales-build-master .rufales-build-contact .rufales-poptavka__volat-btn { width: auto; display: inline-flex; font-size: 17px; }}

.rufales-build-master .rufales-build-card__link { justify-self: start; }

/* Varianta B: "Zavolame vam" v lesni zelene (#163d2b). Ne pruh pres celou
 * sirku nad patickou (ten majitel 26. 9. odmitl jako "tezky zeleny pruh"),
 * ale karta v sirce obsahu se svetlym okrajem stranky pod ni - paticka
 * zustava jedinym tmavym koncem stranky. "Jak stavime" zustava svetle. */
.rufales-build-master .rufales-build-contact__inner {
	border-color: #163d2b;
	background: #163d2b;
	color: #f4f0e8;
}
.rufales-build-master .rufales-build-contact .rufales-poptavka,
.rufales-build-master .rufales-build-contact .rufales-poptavka__nadpis,
.rufales-build-master .rufales-build-contact .rufales-poptavka__veta,
.rufales-build-master .rufales-build-contact .rufales-poptavka small,
.rufales-build-master .rufales-build-contact .rufales-poptavka__pozn,
.rufales-build-master .rufales-build-contact .rufales-poptavka__pozn a,
.rufales-build-master .rufales-build-contact .rufales-poptavka__vice summary,
.rufales-build-master .rufales-build-contact .rufales-poptavka__pole b,
.rufales-build-master .rufales-build-contact .rufales-build-contact__details a { color: #f4f0e8; }
.rufales-build-master .rufales-build-contact .rufales-poptavka :is(input[type=text], input[type=email], input[type=tel], textarea),
.rufales-build-master .rufales-build-contact .rufales-poptavka__cip span { border-color: #fff; color: var(--rufales-color-ink, #17211b); }
.rufales-build-master .rufales-build-contact .rufales-poptavka__cip input:checked + span { border-color: #f4f0e8; background: #f4f0e8; color: var(--rufales-color-ink, #17211b); box-shadow: inset 0 0 0 2px #163d2b; font-weight: 600; }
.rufales-build-master .rufales-build-contact .rufales-poptavka__odeslat .rufales-button { border-color: #f4f0e8; background: #f4f0e8; color: var(--rufales-color-ink, #17211b); }
.rufales-build-master .rufales-build-contact .rufales-poptavka__odeslat .rufales-button:hover { border-color: #fff; background: #fff; }
.rufales-build-master .rufales-build-contact .rufales-poptavka__volat-btn { border-color: rgba(244, 240, 232, 0.7); background: transparent; color: #f4f0e8 !important; }
.rufales-build-master .rufales-build-contact .rufales-poptavka__volat-btn:hover { background: #f4f0e8; color: var(--rufales-color-ink, #17211b) !important; }
.rufales-build-master .rufales-build-contact :is(input, textarea, button, summary, a):focus-visible { outline-color: #f4f0e8; }

/* Poptavka (mu-plugin rufales-poptavky) tiskne sve styly az v tele stranky,
 * takze pri stejne specificite vyhrava nad timto souborem - proto "body". */
body .rufales-poptavka :is(input[type=text], input[type=email], input[type=tel], textarea),
body .rufales-poptavka__cip span { border-color: #7b856f; }
body .rufales-poptavka__pole > span,
body .rufales-poptavka__cipy legend,
body .rufales-poptavka small,
body .rufales-poptavka__pozn { font-size: 14px; }
body .rufales-build-master .rufales-build-contact .rufales-poptavka :is(input[type=text], input[type=email], input[type=tel], textarea),
body .rufales-build-master .rufales-build-contact .rufales-poptavka__cip span { border-color: #fff; }
/* Nahledy fotek u reziva: pravidlo galerie ma !important. */
:is(#main-content, body) .rufales-timber .rufales-timber-gallery button[data-rufales-gallery-thumb][data-rufales-gallery-thumb] { background: #f4f0e8 !important; }

/* --- Mensi upravy schvalene 2. 10. 2026 po nahledu ---------------- */
/* Tri svety: vsechny fotky barevne, pres celou kartu, stejne ztmaveni dole.
 * Barevna fotka Drevostaveb ma dole svetlou podlahu, proto je ztmaveni
 * silnejsi; zmereno p90 pod textem: nejhorsi nadpis 5,7:1, popisek 7,7:1. */
.rufales-homepage .rufales-homepage__world-image--pila { filter: none; }
.rufales-homepage .rufales-homepage__world-image--drevostavby {
	bottom: 0;
	height: 100%;
	-webkit-mask-image: none;
	mask-image: none;
}
.rufales-homepage .rufales-homepage__world-shade {
	background: linear-gradient(180deg, rgba(5, 11, 7, 0) 34%, rgba(5, 11, 7, 0.5) 58%, rgba(5, 11, 7, 0.84) 100%);
}
/* Menu normalnim pismem a jen "Pila" (kratky nazev uz pouzival mobil). */
.rufales-site-header .rufales-primary-nav__list a { text-transform: none; }
.rufales-site-header .rufales-primary-nav .rufales-nav-label--desktop { display: none; }
.rufales-site-header .rufales-primary-nav .rufales-nav-label--mobile { display: inline; }
/* Logo je pruhledne PNG, trik s prolnutim uz neni potreba. */
.rufales-site-header .rufales-site-header__logo { mix-blend-mode: normal; }
/* Kontakty: oteviraci doba u pily. */
.rufales-contact-page .rufales-contact-hours { margin: 0 0 1rem; }
/* Kontakty: kratka informace o zpracovani udaju pod formularem (majitel 2. 10. 2026). */
.rufales-contact-page .rufales-contact-privacy { margin: 14px 0 0; color: var(--rufales-color-muted, #59645d); font-size: 14px; line-height: 1.5; }

/* --- Uprava 2. 10. 2026 vecer (schvaleno po nahledu v3). VSE JEN NA POCITACI (od 1024 px) krome bodu 4 (poptavka), mobil a tablet jinak beze zmeny - majitel: "na mobilu ta nynejsi verze vypada skvele". */

/* 1. Sirka obsahu roste s obrazovkou: 94 % sirky okna, nejmene 1200 px, nejvys 1760 px.
 *    14" 1280 px -> 1200, 15,4" 1536 px -> 1444, 1920 px -> 1760. Logo vlevo a menu vpravo
 *    se tim posunou k okrajum a porad sedi s obsahem pod nimi. */
@media (min-width: 64rem) {
	:root { --rufales-container: clamp(75rem, 94vw, 110rem); }
	.rufales-site-header__inner,
	.rufales-homepage .rufales-homepage__container,
	.rufales-homepage .rufales-homepage__worlds .rufales-homepage__container,
	.rufales-contact-page .rufales-contact-shell,
	.rufales-build-master .rufales-build-contact__inner { width: min(100% - (2 * var(--rufales-gutter, 2rem)), var(--rufales-container)); }
	#main-content.rufales-product-master .rufales-product-master__inner { max-width: var(--rufales-container); }
	/* Galerie produktu vyplni svuj sloupec (driv pevne 640 px -> na sirokem obsahu prazdna mezera). */
	#main-content.rufales-product-master .rufales-product-gallery__main,
	#main-content.rufales-product-master[data-product-id="7799"] .rufales-product-gallery__main { max-width: none; }
	.rufales-timber { max-width: calc(var(--rufales-container) + 72px); }
	.woocommerce-cart #main-content .et_pb_row { width: min(100% - (2 * var(--rufales-gutter, 2rem)), var(--rufales-container)); max-width: var(--rufales-container); }
	@media (min-width: 1101px) {
		.rufales-site-footer#main-footer .rufales-site-footer__content { width: min(100% - (2 * var(--rufales-gutter, 2rem)), var(--rufales-container)); }
	}
}

/* 2. Mene kremove: zaklad stranky i hlavicka bile. Kremova #f4f0e8 zustava jen jako akcent:
 *    pruh se sloganem, blok s udaji v Kontaktech, male ramecky s poznamkou a misto pod fotkou. */
@media (min-width: 64rem) {
	:root { --rufales-color-canvas: #fff; }
	html body { background: #fff; }
	body .rufales-site-header { background-color: rgba(255, 255, 255, 0.98); }
	.rufales-homepage { --rufales-homepage-ivory: #fff; }
	.rufales-homepage .rufales-homepage__intro { background: #fff; }
	#page-container #main-content.rufales-shop-master,
	#page-container #main-content.rufales-garden-master,
	#page-container #main-content.rufales-product-archive,
	#main-content.rufales-product-master,
	.rufales-build-master,
	.rufales-build-master .rufales-build-realizations,
	.rufales-build-master .rufales-build-realizations + .rufales-build-contact { background: #fff; }
}

/* 3. Slider na pocitaci (majitel 3. 10. 2026: "do puvodniho stavu, velky slider, fotky ne
 *    tolik vyzoomovane, musi sedet na jakykoliv monitor i notebook, se sklenenym tlacitkem").
 *    Fotka pres celou sirku a text s tlacitkem primo na ni jako puvodne. Vyska = zbytek
 *    obrazovky pod hlavickou (111 px): slider se vejde na kazdou obrazovku a je to nejvyssi
 *    mozny pruh, takze se fotka orizne co nejmene. Tlacitka beze zmeny, mobil beze zmeny. */
@media (min-width: 64rem) {
	.rufales-homepage .rufales-homepage__hero,
	.rufales-homepage .rufales-homepage__slider,
	.rufales-homepage .rufales-homepage__slides,
	.rufales-homepage .rufales-homepage__hero-layout {
		min-height: max(26rem, calc(100vh - 111px));
		min-height: max(26rem, calc(100svh - 111px));
	}
	.rufales-homepage .rufales-homepage__hero-layout {
		width: min(100% - (2 * var(--rufales-gutter, 2rem)), var(--rufales-container));
		padding-inline: clamp(3.75rem, 5vw, 5rem);
	}
	.rufales-homepage .rufales-homepage__slider-control--previous { left: max(1rem, calc((100% - var(--rufales-container)) / 2)); }
	.rufales-homepage .rufales-homepage__slider-control--next { right: max(1rem, calc((100% - var(--rufales-container)) / 2)); }
	/* Pilove pasy: na pocitaci siroka verze (slider-pasy-pc), fotka vpravo - drzet pravou stranu. */
	.rufales-homepage .rufales-homepage__hero-image:is([src*="pilove-pasy"], [data-src*="pilove-pasy"]) { object-position: 70% 50%; }
}
/* 4. Poptavka na Drevostavbach vizualne jako formular v Kontaktech (POCITAC I MOBIL - jedina zmena na mobilu): zadna zelena karta,
 *    nadpis vlevo, policka vpravo, zelene jen tlacitko. */
html body .rufales-build-master .rufales-build-contact__inner {
	padding: var(--rufales-space-2xl, 3rem) 0 0;
	border: 0;
	border-top: 1px solid var(--rufales-color-border, #d7d4cc);
	border-radius: 0;
	background: transparent;
	color: var(--rufales-color-ink, #17211b);
}
html body .rufales-build-master .rufales-build-contact .rufales-poptavka { color: var(--rufales-color-ink, #17211b); }
html body .rufales-build-master .rufales-build-contact .rufales-poptavka__nadpis { color: var(--rufales-color-forest-900, #163d2b); }
html body .rufales-build-master .rufales-build-contact .rufales-poptavka__veta,
html body .rufales-build-master .rufales-build-contact .rufales-poptavka small,
html body .rufales-build-master .rufales-build-contact .rufales-poptavka__pozn { color: var(--rufales-color-muted, #59645d); }
html body .rufales-build-master .rufales-build-contact .rufales-poptavka__pole b { color: var(--rufales-color-danger, #8f2f2a); }
html body .rufales-build-master .rufales-build-contact .rufales-poptavka__pozn a,
html body .rufales-build-master .rufales-build-contact .rufales-poptavka__vice summary { color: var(--rufales-color-forest-700, #286347); }
html body .rufales-build-master .rufales-build-contact .rufales-build-contact__details a { color: var(--rufales-color-ink, #17211b); }
html body .rufales-build-master .rufales-build-contact .rufales-poptavka :is(input[type=text], input[type=email], input[type=tel], textarea) { border-color: #7b856f; background: #fff; color: var(--rufales-color-ink, #17211b); }
html body .rufales-build-master .rufales-build-contact .rufales-poptavka__cip span { border-color: #7b856f; background: #fff; color: var(--rufales-color-ink, #17211b); box-shadow: none; font-weight: 400; }
html body .rufales-build-master .rufales-build-contact .rufales-poptavka__cip input:checked + span { border-color: var(--rufales-color-forest-800, #1d4d37); background: var(--rufales-color-forest-800, #1d4d37); color: #fff; box-shadow: none; }
html body .rufales-build-master .rufales-build-contact .rufales-poptavka__odeslat .rufales-button { border-color: var(--rufales-color-forest-900, #163d2b); background: var(--rufales-color-forest-900, #163d2b); color: #fff; }
html body .rufales-build-master .rufales-build-contact .rufales-poptavka__odeslat .rufales-button:hover { border-color: var(--rufales-color-forest-800, #1d4d37); background: var(--rufales-color-forest-800, #1d4d37); }
/* Zavolat: na telefonu velke plne tlacitko (jako driv), na pocitaci nenapadny obrys. */
html body .rufales-build-master .rufales-build-contact .rufales-poptavka__volat-btn { border-color: var(--rufales-color-forest-800, #1d4d37); background: var(--rufales-color-forest-800, #1d4d37); color: #fff !important; }
@media (hover: hover) and (pointer: fine) {
	html body .rufales-build-master .rufales-build-contact .rufales-poptavka__volat-btn { background: transparent; color: var(--rufales-color-forest-800, #1d4d37) !important; }
	html body .rufales-build-master .rufales-build-contact .rufales-poptavka__volat-btn:hover { background: var(--rufales-color-forest-800, #1d4d37); color: #fff !important; }
}
html body .rufales-build-master .rufales-build-contact :is(input, textarea, button, summary, a):focus-visible { outline-color: var(--rufales-color-focus, #a85f13); }

/* Rezivo (majitel 3. 10. 2026): nadpis stranky "Konfigurator reziva", ctyri vety kazda na
 * svem radku, druhy nadpis nad konfiguratorem zrusen -> konfigurator je videt hned. */
main.rufales-timber .rufales-timber__heading .rufales-timber__lead { max-width: none; margin: 0; }
main.rufales-timber .rufales-timber__lead span { display: block; }
@media (min-width: 64rem) {
	main.rufales-timber { padding-top: 18px; }
	main.rufales-timber .rufales-timber__breadcrumbs { margin-bottom: 10px; }
	main.rufales-timber .rufales-timber__heading h1 { margin: 6px 0 10px; }
	main.rufales-timber .rufales-timber__navigation { margin-bottom: 14px; }
}

/* --- Sirka obsahu na vsech strankach (majitel 3. 10. 2026: "prazce a konfigurator super,
 *     ale ostatni nesedi, projed to vsechno"). Jen na pocitaci, mobil beze zmeny.
 *     Zmereno na 75 strankach: kategorie produktu mely mrizku max. 1100 px (pri 1-2 produktech
 *     724 px), stranka Pila 1376 px, Vykup kulatiny 1120 px, textove stranky a Muj ucet 1080 px. */
@media (min-width: 64rem) {
	/* Kategorie: mrizka produktu a radek podkategorii pres celou sirku obsahu. */
	#main-content.rufales-product-archive .rufales-live-product-grid,
	#main-content.rufales-product-archive .rufales-live-product-grid:has(> :nth-child(2):last-child),
	#main-content.rufales-product-archive .rufales-live-product-grid:has(> :only-child),
	.rufales-live-product-grid {
		max-width: none;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.rufales-shop-subcategories {
		max-width: none;
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: minmax(0, 1fr);
	}
	.rufales-raised-bed-details { max-width: none; }
	/* Pila a Vykup kulatiny */
	.rufales-pila-shell,
	.rufales-pila-hero__inner,
	.rufales-purchasing__shell { width: min(100% - (2 * var(--rufales-gutter, 2rem)), var(--rufales-container)); max-width: none; }
	/* Textove stranky (obchodni podminky, doprava a platba, ochrana udaju, cookies): stejna leva
	 * hrana jako zbytek webu. Byly ve stare sablone Divi: sloupec 1080 px uprostred, pismo 12 px
	 * a na Cookies navic blogovy postranni panel (hledani, archivy). Ted pismo webu 16 px,
	 * ctiva delka radku, bez postranniho panelu. */
	body:is(.page-template-default, .page-template-page-template-blank):not(.home):not(.woocommerce-page) #main-content > .container {
		width: min(100% - (2 * var(--rufales-gutter, 2rem)), var(--rufales-container));
		max-width: none;
	}
	body:is(.page-template-default, .page-template-page-template-blank):not(.home):not(.woocommerce-page) #main-content > .container::before { display: none; }
	body:is(.page-template-default, .page-template-page-template-blank):not(.home):not(.woocommerce-page) #main-content #sidebar { display: none; }
	body:is(.page-template-default, .page-template-page-template-blank):not(.home):not(.woocommerce-page) #main-content #left-area { width: 100%; padding-right: 0; float: none; }
	body:is(.page-template-default, .page-template-page-template-blank):not(.home):not(.woocommerce-page) #main-content #left-area :is(p, li):not(.rufales-op *) {
		max-width: 80ch;
		font-family: var(--rufales-font-sans, "Open Sans", Arial, sans-serif);
		font-size: 16px;
		line-height: 1.7;
	}
	body:is(.page-template-default, .page-template-page-template-blank):not(.home):not(.woocommerce-page) #main-content #left-area :is(h1, h2, h3):not(.rufales-op *) { font-family: var(--rufales-font-sans, "Open Sans", Arial, sans-serif); }
	/* Obchodni podminky maji vlastni styl v obsahu stranky (max. 920 px) - roztazeny pres celou sirku, radky textu zustavaji citelne dlouhe. */
	body #main-content .rufales-op { max-width: none; margin: 0; padding: 0; }
	body #main-content .rufales-op :is(p, li, dd) { max-width: 95ch; }	.woocommerce-account #main-content .et_pb_row { width: min(100% - (2 * var(--rufales-gutter, 2rem)), var(--rufales-container)); max-width: none; }
}
@media (min-width: 90rem) {
	#main-content.rufales-product-archive .rufales-live-product-grid,
	#main-content.rufales-product-archive .rufales-live-product-grid:has(> :nth-child(2):last-child),
	#main-content.rufales-product-archive .rufales-live-product-grid:has(> :only-child),
	.rufales-live-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Slider, masivni lavice (majitel 3. 10. 2026 vybral detail lavice u ohniste): na pocitaci
 * vyrez posunuty dolu, aby bylo videt cele sedatko i cela obou kulatin. */
@media (min-width: 64rem) {
	.rufales-homepage .rufales-homepage__hero-image--masiv { object-position: center 25%; }
}
