/* ==========================================================================
   MONORLASER – Blocksy child theme styles
   Reproduces the Shoptet "Nefrit" dark design: background #191919, accent #FF0015,
   body Nunito, headings Exo 2.
   Sections: 1 tokens · 2 base · 3 header · 4 top bar · 5 footer · 6 buttons/forms
             7 homepage · 8 shared sections · 9 product cards · 10 product detail
             11 category · 12 Pobo components · 13 pages/blog · 14 cart/checkout · 15 responsive
   ========================================================================== */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
	--monor-bg: #191919;
	--monor-bg-dark: #0f0f0f;
	--monor-surface: #222222;
	--monor-line: #333333;
	--monor-text: #ffffff;
	--monor-muted: #b9b9b9;
	--monor-accent: #ff0015;
	--monor-accent-hover: #d90012;
	--monor-green: #3c840f;
	--monor-green-light: #4caf1a;
	--monor-teal: #1e8a96;
	--monor-font: 'Nunito', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
	--monor-font-head: 'Exo 2', 'Nunito', system-ui, sans-serif;
	--monor-container: 1110px;
	--monor-header-h: 107px;
}

/* Blocksy palette + global colours. Also saved in Customizer → Colors, but Blocksy prints
   its cached :root variables inline AFTER this file; when that cache is regenerated without
   the child-theme mods (e.g. a theme preview) it falls back to its blue defaults (#2872fa,
   headings #192a3d). html:root (0,1,1) outranks :root (0,1,0), so the brand colours always win. */
html:root {
	--theme-palette-color-1: #ff0015;
	--theme-palette-color-2: #d90012;
	--theme-palette-color-3: #ffffff;
	--theme-palette-color-4: #ffffff;
	--theme-palette-color-5: #333333;
	--theme-palette-color-6: #2a2a2a;
	--theme-palette-color-7: #191919;
	--theme-palette-color-8: #0f0f0f;
	--theme-font-family: var(--monor-font);
	--theme-text-color: #ffffff;
	--theme-headings-color: #ffffff;
	--theme-link-initial-color: #ffffff;
	--theme-link-hover-color: var(--monor-accent);
	--theme-border-color: var(--monor-line);
	--theme-button-background-initial-color: var(--monor-accent);
	--theme-button-background-hover-color: var(--monor-accent-hover);
	--theme-button-text-initial-color: #ffffff;
	--theme-button-text-hover-color: #ffffff;
	--theme-content-spacing: 1.2em;
	--theme-normal-container-max-width: var(--monor-container);
}

/* 2. Base ------------------------------------------------------------------ */
html { background: var(--monor-bg); }
body.monor {
	background: var(--monor-bg);
	color: var(--monor-text);
	font-family: var(--monor-font);
	font-size: 15px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
/* Shoptet/Nefrit: Nunito everywhere; Exo 2 only for page H1s, hero/section titles and
   the add-to-cart button (see section 16). */
:where(body.monor) :where(h1, h2, h3, h4, h5, h6, .page-title, .product_title, .monor-section-title) {
	font-family: var(--monor-font);
	color: var(--monor-text);
	font-weight: 600;
	letter-spacing: 0;
}
:where(body.monor) :where(h1, .page-title) { font-size: clamp(30px, 3.2vw, 42px); line-height: 1.15; }
:where(body.monor) h2 { font-size: clamp(24px, 2.4vw, 32px); line-height: 1.2; }
:where(body.monor) h3 { font-size: 22px; }
body.monor a { color: inherit; transition: color .15s ease; }
body.monor a:hover { color: var(--monor-accent); }
body.monor .entry-content :where(p, li, td, th, dd, blockquote, h2, h3, h4) a:not([class]) { color: var(--monor-accent); }
body.monor .entry-content :where(p, li, td, th, dd, blockquote, h2, h3, h4) a:not([class]):hover { text-decoration: underline; }
body.monor :is(.wc-block-grid__product-link, .wc-block-grid__product-title) { color: #fff !important; text-decoration: none !important; font-weight: 500; }
body.monor .wc-block-grid__product-add-to-cart .wp-block-button__link { color: #fff !important; background: var(--monor-accent); text-decoration: none !important; border-radius: 5px; }
body.monor .wc-block-grid__product-image img { background: #161616; }
body.monor ::selection { background: var(--monor-accent); color: #fff; }
body.monor :focus-visible { outline: 2px solid var(--monor-accent); outline-offset: 2px; }
body.monor img { height: auto; }
body.monor main#main, body.monor .site-main { background: var(--monor-bg); }
body.monor .ct-container, body.monor .ct-container-narrow { --theme-normal-container-max-width: var(--monor-container); }
body.monor .hero-section[data-type="type-1"] { margin-bottom: 30px; }
body.monor .ct-breadcrumbs, body.monor .woocommerce-breadcrumb { font-size: 13px; color: #fff; }
body.monor .ct-breadcrumbs a:hover { color: var(--monor-accent); }
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); position: absolute !important; height: 1px; width: 1px; overflow: hidden; }

/* 3. Header ---------------------------------------------------------------- */
body.monor #header.ct-header { position: sticky; top: var(--admin-bar, 0px); z-index: 50; }
body.admin-bar { --admin-bar: 32px; }
@media (max-width: 782px) { body.admin-bar { --admin-bar: 46px; } }
body.monor-home.monor-scrolled #header.ct-header { position: fixed; top: var(--admin-bar, 0px) !important; }
body.monor-home.monor-scrolled #header [data-row*="middle"] { background: rgba(0, 0, 0, .9); }
body.monor #header [data-row*="middle"] {
	background: rgba(0, 0, 0, .9);
	--height: var(--monor-header-h);
	border: 0;
	box-shadow: none;
}
body.monor-home #header.ct-header { position: absolute; left: 0; right: 0; top: 0; }
body.monor-home #header [data-row*="middle"] { background: rgba(0, 0, 0, .6); }
body.monor #header .site-title-container { display: none; }
body.monor #header .site-logo-container img,
body.monor #header .default-logo { max-height: 42px !important; width: auto; }
body.monor #header [data-column="start"] [data-items="primary"] { gap: 0; }
body.monor #header .site-branding { margin-right: 46px; }
body.monor #header .header-menu-1 > ul > li > .ct-menu-link,
body.monor #header .header-menu-1 .menu > li > a {
	font-family: var(--monor-font);
	font-size: 15px;
	font-weight: 600;
	color: #fff;
	text-transform: none;
	padding: 0 30px 0 0;
	margin-right: 34px;
	--menu-item-height: 100%;
}
body.monor #header .header-menu-1 .menu > li:last-child > a { margin-right: 0; }
body.monor #header .header-menu-1 .menu > li > a:hover,
body.monor #header .header-menu-1 .menu > li.current-menu-item > a,
body.monor #header .header-menu-1 .menu > li.current-menu-ancestor > a { color: var(--monor-accent); }
body.monor #header .header-menu-1 .ct-toggle-dropdown-desktop svg { fill: currentColor; }
body.monor #header .header-menu-1 .sub-menu {
	background: rgba(0, 0, 0, .85);
	box-shadow: none;
	border-radius: 0;
	--dropdown-width: 220px;
	padding: 6px 0;
}
body.monor #header .header-menu-1 .sub-menu a {
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	padding: 10px 20px;
}
body.monor #header .header-menu-1 .sub-menu a:hover { color: var(--monor-accent); background: transparent; }
body.monor #header .ct-header-trigger { --theme-icon-color: #fff; --theme-icon-hover-color: var(--monor-accent); margin-left: 40px; }
body.monor #header .ct-header-trigger .ct-icon { width: 26px; height: 22px; }
body.monor #header [data-column="end"] [data-items="primary"] { gap: 20px; }
body.monor #header :is(.ct-header-search, .ct-header-cart .ct-cart-item) { --theme-icon-color: #fff; --theme-icon-hover-color: var(--monor-accent); }
body.monor #header .ct-header-search .ct-icon,
body.monor #header .ct-header-cart .ct-icon { width: 22px; height: 22px; }
body.monor #header .ct-header-cart .ct-dynamic-count-cart { background: var(--monor-accent); color: #fff; }
body.monor #header .ct-header-cart .ct-label { display: none; }
body.monor #header .ct-header-text { --theme-text-color: #fff; margin: 0; }
body.monor .monor-account-link {
	display: block;
	width: 24px;
	height: 24px;
	background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: background .15s;
}
body.monor .monor-account-link:hover { background: var(--monor-accent); }

/* Off-canvas (hamburger) panel */
body.monor #offcanvas .ct-panel-inner,
body.monor #offcanvas { --theme-text-color: #fff; background: rgba(15, 15, 15, .98); }
body.monor #offcanvas .mobile-menu a { font-family: var(--monor-font); font-weight: 600; font-size: 17px; color: #fff; }
body.monor #offcanvas .mobile-menu a:hover,
body.monor #offcanvas .mobile-menu .current-menu-item > a { color: var(--monor-accent); }
body.monor #offcanvas .mobile-menu .sub-menu a { font-size: 15px; font-weight: 400; }
body.monor #offcanvas .ct-toggle-close { --theme-icon-color: #fff; }

/* Search modal */
body.monor #search-modal { background: rgba(10, 10, 10, .96); }
body.monor #search-modal input[type="search"] { color: #fff; border-color: #444; }

/* 4. Top information bar --------------------------------------------------- */
.monor-topbar { background: #fff; color: #111; font-size: 14px; position: relative; z-index: 60; }
.monor-topbar[hidden] { display: none; }
.monor-topbar__in { max-width: var(--monor-container); margin: 0 auto; padding: 11px 44px; text-align: center; position: relative; }
.monor-topbar__close {
	position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
	background: none; border: 0; color: #111; font-size: 24px; line-height: 1; padding: 4px 8px; cursor: pointer;
	min-height: 0;
}
.monor-topbar__close:hover { color: var(--monor-accent); background: none; }

/* 5. Footer ---------------------------------------------------------------- */
body.monor #footer.ct-footer { background: var(--monor-bg); color: #ddd; border-top: 0; }
body.monor #footer [data-row*="bottom"] { background: var(--monor-bg); border: 0; --container-spacing: 34px; }
body.monor #footer [data-row*="bottom"] > div { border: 0; }
body.monor #footer .ct-footer-copyright { font-size: 13px; color: #ddd; }
body.monor #footer .ct-footer-copyright strong { font-weight: 400; }
body.monor #footer .footer-menu a,
body.monor #footer [data-id="menu"] a { color: #ddd; font-size: 13px; }
body.monor #footer .footer-menu a:hover,
body.monor #footer [data-id="menu"] a:hover { color: var(--monor-accent); }

/* 6. Buttons & forms ------------------------------------------------------- */
body.monor :is(.button, button.button, .wp-element-button, .ct-button, input[type="submit"], .monor-btn) {
	background: var(--monor-accent);
	color: #fff;
	border: 0;
	border-radius: 5px;
	font-family: var(--monor-font);
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	transition: background .15s ease, color .15s ease;
}
body.monor :is(.button, button.button, .wp-element-button, .ct-button, input[type="submit"], .monor-btn):hover {
	background: var(--monor-accent-hover);
	color: #fff;
}
.monor-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 32px; font-size: 15px; text-decoration: none !important; }
.monor-btn--small { min-height: 32px; padding: 0 15px; font-size: 14px; font-weight: 500 !important; }
body.monor :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], input[type="search"], textarea, select) {
	background: #fff;
	color: #111;
	border: 1px solid #555;
	border-radius: 3px;
}
body.monor .quantity input.qty { background: transparent; color: #fff; border: 2px solid #fff; border-radius: 3px; }

/* 7. Homepage -------------------------------------------------------------- */
/* Page title = the H1, visually hidden like on Shoptet (visible headline is the welcome block). */
body.monor-home .hero-section,
body.monor-home .entry-header {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
body.monor-home .site-main > .ct-container-full,
body.monor-home .site-main > [class*="ct-container"] { padding-top: 0; }
body.monor-home .entry-content > * { margin-top: 0; margin-bottom: 0; }
body.monor-home .entry-content > .alignfull,
.monor-full { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw) !important; }

.monor-hero { position: relative; height: min(100vh, 900px); min-height: 560px; overflow: hidden; background: #000; }
.monor-hero__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .8s ease, visibility .8s; }
.monor-hero__slide.is-active,
.monor-hero:not(:has(.is-active)) .monor-hero__slide:first-child { opacity: 1; visibility: visible; }
.monor-hero__slide img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }
.monor-hero__slide::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .28); }
.monor-hero__caption {
	position: absolute; inset: 0; z-index: 2;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	text-align: center; padding: 150px 20px 60px;
}
.monor-hero__title {
	font-family: var(--monor-font-head); font-weight: 600; color: #fff;
	font-size: clamp(40px, 6.1vw, 88px); line-height: 1.04; max-width: 760px; margin: 0 0 30px;
	text-shadow: 0 2px 30px rgba(0, 0, 0, .25);
}
.monor-hero__text { font-size: clamp(17px, 1.5vw, 21px); color: #fff; margin: 0 0 36px; }
.monor-hero__caption .monor-btn { min-width: 150px; text-transform: uppercase; font-weight: 400; }
.monor-hero__dots { position: absolute; bottom: 26px; left: 0; right: 0; z-index: 3; display: flex; gap: 10px; justify-content: center; }
.monor-hero__dots button { width: 12px; height: 12px; min-height: 0; padding: 0; border-radius: 50%; border: 2px solid #fff; background: transparent; cursor: pointer; }
.monor-hero__dots button[aria-current="true"] { background: #fff; }
.monor-hero__arrow {
	position: absolute; top: 50%; z-index: 3; width: 48px; height: 48px; min-height: 0; padding: 0; margin-top: -24px;
	background: transparent; border: 0; cursor: pointer; opacity: .7;
}
.monor-hero__arrow::before { content: ""; position: absolute; inset: 14px; border: solid #fff; border-width: 0 3px 3px 0; }
.monor-hero__arrow--prev { left: 20px; } .monor-hero__arrow--prev::before { transform: rotate(135deg); }
.monor-hero__arrow--next { right: 20px; } .monor-hero__arrow--next::before { transform: rotate(-45deg); }
.monor-hero__arrow:hover { opacity: 1; background: transparent; }

.monor-promo { display: grid; grid-template-columns: 1fr 1fr; }
.monor-promo a { display: block; overflow: hidden; }
.monor-promo img { display: block; width: 100%; height: auto; transition: transform .4s ease; }
.monor-promo a:hover img { transform: scale(1.03); }

.monor-section { max-width: var(--monor-container); margin: 0 auto; padding: 0 15px; }
.monor-section-title { text-align: center; font-size: clamp(30px, 3vw, 42px) !important; margin: 70px 0 50px !important; }
.monor-section-title::after { content: ""; display: block; width: 80px; height: 7px; background: var(--monor-accent); margin: 22px auto 0; }

.monor-welcome { max-width: 800px; margin: 90px auto 70px; text-align: center; padding: 0 15px; }
.monor-welcome :is(h1, .monor-welcome__title) { font-size: clamp(30px, 3vw, 42px) !important; color: #fff; margin: 0; line-height: 1.2; }
.monor-welcome :is(h1, .monor-welcome__title)::after { content: ""; display: block; width: 80px; height: 7px; background: var(--monor-accent); margin: 28px auto 30px; }
.monor-welcome p { font-size: 16px; line-height: 1.75; margin: 0; }

/* 8. Shared sections: benefits, featured product, question box -------------- */
.monor-benefits {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px;
	max-width: var(--monor-container); margin: 40px auto; padding: 0 15px; text-align: center;
}
.monor-benefits__item { display: flex; flex-direction: column; align-items: center; }
.monor-benefits__img { width: 45px !important; height: 45px !important; object-fit: contain; margin-bottom: 20px; }
.monor-benefits__title { font-size: 15px; font-weight: 600; margin-bottom: 6px; }
.monor-benefits__text { font-size: 15px; line-height: 1.4; color: #e6e6e6; max-width: 240px; }

.monor-featured { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; max-width: var(--monor-container); margin: 60px auto; padding: 0 15px; }
.monor-featured__media img { width: 100%; height: auto; display: block; }
.monor-featured__title { font-size: clamp(30px, 3vw, 42px) !important; line-height: 1.15; margin: 0 0 22px; }
body.monor .monor-featured__title a { color: #fff !important; text-decoration: none !important; }
body.monor .monor-featured__title a:hover { color: var(--monor-accent) !important; }
body.monor .entry-content :is(.monor-hero, .monor-promo, ul.products, .monor-featured) a:not(.monor-btn):not(.button):hover { text-decoration: none; }
.monor-featured__title::after,
body.monor.single-product .product_title::after { content: ""; display: block; width: 80px; height: 7px; background: var(--monor-accent); margin-top: 18px; }
.monor-featured__desc { font-size: 16px; margin: 40px 0 14px; }
.monor-featured__desc p { margin: 0; }
.monor-featured__price { margin: 50px 0 34px; }
.monor-featured form.cart { display: flex; gap: 46px; align-items: center; margin: 0; }

.monor-meta-top { display: flex; justify-content: space-between; gap: 20px; font-size: 12px; color: #fff; margin-bottom: 18px; }

.monor-question { display: flex; gap: 14px; align-items: center; margin-top: 40px; font-size: 14px; }
.monor-question__icon {
	width: 40px; height: 32px; flex: none; background: var(--monor-accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.monor-question__title { display: block; color: var(--monor-accent); text-transform: uppercase; font-weight: 500; font-size: 16px; }
.monor-question a { text-decoration: underline; }

/* 9. Product cards --------------------------------------------------------- */
body.monor ul.products { --grid-columns-gap: 60px; row-gap: 60px; }
body.monor ul.products li.product { position: relative; text-align: center; background: transparent; }
body.monor ul.products li.product .ct-media-container,
body.monor ul.products li.product figure { background: #161616; border-radius: 0; margin-bottom: 26px; }
body.monor ul.products li.product .ct-media-container img { transition: transform .4s ease; }
body.monor ul.products li.product:hover .ct-media-container img { transform: scale(1.03); }
body.monor ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--monor-font); font-weight: 500; font-size: 16px; color: #fff; margin-bottom: 18px;
}
body.monor ul.products li.product .woocommerce-loop-product__title a { color: #fff; }
body.monor ul.products li.product .woocommerce-loop-product__title a:hover { color: var(--monor-accent); }
body.monor ul.products li.product .stock { font-size: 13px; margin: 0 0 4px; }
body.monor .stock.in-stock { color: var(--monor-green-light); }
body.monor .stock.out-of-stock { color: var(--monor-accent); }
body.monor ul.products li.product .price { display: block; margin-bottom: 14px; }
body.monor ul.products li.product .ct-woo-card-actions { justify-content: center; }
body.monor ul.products li.product :is(.button, .add_to_cart_button) {
	background: transparent !important; color: var(--monor-accent) !important;
	min-height: 0; padding: 0 0 6px; border-radius: 0; font-size: 16px; font-weight: 500;
	border-bottom: 2px solid var(--monor-accent);
}
body.monor ul.products li.product :is(.button, .add_to_cart_button):hover { color: #fff !important; border-color: #fff; }
body.monor ul.products li.product .added_to_cart { display: block; margin-top: 8px; font-size: 13px; color: #fff; }

.monor-price { display: inline-flex; flex-direction: column; align-items: inherit; line-height: 1.2; }
.monor-price__gross { font-family: var(--monor-font); font-size: 22px; font-weight: 600; color: #fff; }
.monor-price__gross ins { text-decoration: none; }
.monor-price__gross del { font-size: .7em; opacity: .6; margin-right: 6px; }
.monor-price__net { font-size: 11px; color: #fff; margin-top: 3px; font-weight: 400; }
body.monor ul.products li.product .monor-price { align-items: center; }

.monor-flag { position: absolute; z-index: 3; top: 20px; left: 20px; padding: 4px 13px; border-radius: 4px; background: var(--monor-teal); color: #fff; font-size: 13px; font-weight: 600; line-height: 1.4; }
body.monor.single-product .entry-summary .monor-flag { position: static; display: inline-block; margin: 0 0 26px; }

/* 10. Product detail ------------------------------------------------------- */
body.monor.single-product .product-entry-wrapper { gap: 80px; margin-top: 10px; }
body.monor.single-product .woocommerce-product-gallery,
body.monor.single-product .ct-product-gallery-container { --product-gallery-width: 50%; }
body.monor.single-product .flexy-pills,
body.monor.single-product .ct-image-container { background: #161616; }
body.monor.single-product .flexy-pills [data-pills] .active,
body.monor.single-product .flexy-pills li.active { outline: 2px solid var(--monor-accent); outline-offset: -2px; }
body.monor.single-product .entry-summary .product_title { font-size: clamp(30px, 3vw, 42px); line-height: 1.15; margin-bottom: 40px; }
body.monor.single-product .entry-summary .woocommerce-product-details__short-description { font-size: 16px; margin-bottom: 14px; }
body.monor.single-product .entry-summary .woocommerce-product-details__short-description p { margin: 0; }
body.monor.single-product .entry-summary .monor-detail-link { margin-bottom: 40px; }
body.monor.single-product .entry-summary > .price,
body.monor.single-product .entry-summary .price { margin: 0 0 6px; }
body.monor.single-product .entry-summary .monor-price__gross { font-size: 28px; }
body.monor.single-product .entry-summary .monor-price__net { font-size: 13px; }
body.monor.single-product .entry-summary .stock { margin: 0 0 30px; font-size: 15px; }
body.monor :is(.entry-summary, .monor-featured) form.cart { display: flex; gap: 40px; align-items: center; flex-wrap: wrap; }
body.monor :is(.entry-summary, .monor-featured) .quantity { --quantity-height: 58px; --quantity-width: 120px; }
body.monor :is(.entry-summary, .monor-featured) .single_add_to_cart_button {
	min-height: 58px; padding: 0 60px; font-size: 16px; border-radius: 6px; font-weight: 600;
}
body.monor :is(.entry-summary, .monor-featured) .single_add_to_cart_button::before {
	content: ""; width: 24px; height: 22px; margin-right: 14px; background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.monor.single-product .woocommerce-tabs { margin-top: 30px; border-top: 2px solid #fff; padding-top: 30px; }
body.monor.single-product .woocommerce-tabs ul.tabs { border: 0; margin-bottom: 30px; }
body.monor.single-product .woocommerce-tabs ul.tabs li a { font-family: var(--monor-font-head); font-size: 28px; font-weight: 600; color: #fff; padding: 0 30px 0 0; text-transform: none; }
body.monor.single-product .woocommerce-tabs ul.tabs li:not(.active) a { color: #777 !important; }
body.monor.single-product .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
body.monor.single-product .woocommerce-tabs ul.tabs li::before,
body.monor.single-product .woocommerce-tabs ul.tabs li::after { display: none; }
body.monor.single-product .related > h2,
body.monor.single-product .up-sells > h2 { text-align: center; font-size: 32px; }
body.monor.single-product .related > h2::after { content: ""; display: block; width: 80px; height: 7px; background: var(--monor-accent); margin: 18px auto 40px; }
body.monor.single-product .woocommerce-tabs .panel { color: #fff; }

/* 11. Category / archive --------------------------------------------------- */
body.monor :is(.tax-product_cat, .post-type-archive-product) .hero-section .page-title { font-size: clamp(30px, 3vw, 42px); }
body.monor .term-description,
body.monor .hero-section .page-description { font-size: 15px; color: #fff; max-width: none; }
body.monor .woo-listing-top { margin-bottom: 30px; }
body.monor .woocommerce-result-count { display: none; }
body.monor .woocommerce-ordering select { background: transparent; color: #fff; border: 1px solid #444; }
body.monor .woocommerce-ordering select option { color: #111; }
body.monor .ct-pagination { --theme-text-color: #fff; }
body.monor .ct-pagination .current { background: var(--monor-accent); color: #fff; }

/* 11b. Phase-2 visual alignment with Shoptet (QA 11.10.2026) ---------------- */
body.monor :is(.ct-breadcrumbs, .woocommerce-breadcrumb) { text-transform: none; letter-spacing: 0; font-size: 13px; font-weight: 400; }
body.monor .hero-section .page-title,
body.monor .hero-section h1 { font-size: clamp(30px, 3.2vw, 42px) !important; font-weight: 600 !important; line-height: 1.15; }
body.monor .hero-section[data-type="type-1"] { margin-bottom: 20px; }
body.monor .hero-section .page-description { max-width: none !important; width: 100%; margin-top: 18px; }
body.monor.single-product .entry-summary .monor-detail-link {
	background: none !important; color: #fff !important; min-height: 0; padding: 0; font-size: 13px; font-weight: 600 !important; border-radius: 0;
}
body.monor.single-product .entry-summary .monor-detail-link::after { content: " ›"; }
body.monor.single-product .entry-summary .monor-detail-link:hover { color: var(--monor-accent) !important; }
body.monor.single-product .entry-summary .monor-price__gross { font-size: clamp(30px, 3vw, 42px); font-weight: 700; }
body.monor.single-product .entry-summary .monor-price__net { font-size: 13px; }
body.monor #offcanvas,
body.monor #offcanvas .ct-panel-inner,
body.monor #offcanvas .ct-panel-content { background-color: #0f0f0f !important; }
body.monor #offcanvas .mobile-menu .ct-toggle-dropdown-mobile { --theme-icon-color: #fff; }
@media (max-width: 689.98px) {
	/* Content pages use tables for layout (Shoptet editor) – stack cells on phones. */
	body.monor.page:not(.monor-home) .entry-content table:not(.pb-standard-table),
	body.monor.page:not(.monor-home) .entry-content table:not(.pb-standard-table) :is(tbody, tr, td, th) {
		display: block; width: 100% !important; height: auto !important;
	}
	body.monor.page:not(.monor-home) .entry-content table:not(.pb-standard-table) td { padding: 14px 4px; border-left: 0; border-right: 0; }
	body.monor.page:not(.monor-home) .entry-content table :is(span, a) { word-break: break-word; }
	.monor-hero__title { font-size: 30px; margin-bottom: 14px; }
	.monor-hero__text { font-size: 16px; margin-bottom: 24px; }
	.monor-promo { grid-template-columns: 1fr 1fr; }
	body.monor .hero-section .page-title, body.monor .hero-section h1 { font-size: 28px !important; }
}

/* 12. Pobo components (local rebuild, no Pobo CSS) -------------------------- */
.monor-pobo { color: #fff; font-size: 15px; line-height: 1.65; }
.monor-pobo .pobo-block { margin: 10px 0; padding: 10px 0; }
.monor-pobo h2 { font-size: 28px; margin: 0 0 22px; }
.monor-pobo h4 { font-family: var(--monor-font); font-size: 18px; font-weight: 700; margin: 26px 0 10px; }
.monor-pobo p { margin: 0 0 14px; }
.monor-pobo img { max-width: 100%; height: auto; display: block; }

.rc-header-text { text-align: center; max-width: 1040px; margin: 0 auto; }
.rc-header-text__header { font-size: 30px !important; color: #fff; margin-bottom: 18px !important; }
.rc-header-text__text { display: block; font-size: 15px; }

.rc-image-half-left, .rc-image-half-right, .rc-image-left, .rc-image-right {
	display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: center; margin: 20px 0;
}
.rc-image-left, .rc-image-right { grid-template-columns: 2fr 3fr; }
.rc-image-right { grid-template-columns: 3fr 2fr; }
.rc-image-half-left h2, .rc-image-half-right h2, .rc-image-left h2, .rc-image-right h2 {
	color: var(--monor-accent); font-size: 27px !important; font-weight: 500 !important; line-height: 1.25; margin-bottom: 26px !important;
}
.rc-image-half-left__text, .rc-image-half-right__text, .rc-image-left__text, .rc-image-right__text { font-size: 16px; }
.rc-image-half-left__image img, .rc-image-half-right__image img, .rc-image-left__image img, .rc-image-right__image img { width: 100%; }

.rc-advantages-three { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; text-align: center; margin: 30px 0; }
.rc-advantages-three__ico-container { background: #fff; display: flex; align-items: center; justify-content: center; aspect-ratio: 2 / 1; margin-bottom: 22px; }
.rc-advantages-three__ico-container img { width: 34%; max-width: 110px; }
.rc-advantages-three__info-header { font-family: var(--monor-font); font-size: 24px; font-weight: 500; margin: 0 0 4px !important; }
.rc-advantages-three__info-text { font-size: 14px; }

.rc-title-line { margin: 50px 0 30px; }
.rc-title-line__wrap { display: flex; align-items: center; gap: 22px; }
.rc-title-line__wrap::before, .rc-title-line__wrap::after { content: ""; flex: 1; height: 1px; background: #555; }
.rc-title-line__title { font-family: var(--monor-font) !important; font-size: 26px !important; font-weight: 500 !important; margin: 0 !important; text-align: center; }

.pb-embed-responsive { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #000; }
.pb-embed-responsive iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.monor-yt {
	position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; padding: 0; border: 0; border-radius: 0; cursor: pointer;
	background: radial-gradient(circle at 50% 50%, #3a0006 0%, #120002 55%, #000 100%) !important;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; color: #fff;
}
.monor-yt::before {
	content: ""; width: 86px; height: 60px; border-radius: 14px; background: var(--monor-accent);
	-webkit-mask: none; box-shadow: 0 6px 30px rgba(255, 0, 21, .35); transition: transform .2s ease;
}
.monor-yt::after { content: ""; position: absolute; left: 50%; top: 50%; margin: -12px 0 0 -8px; border: solid transparent; border-width: 12px 0 12px 21px; border-left-color: #fff; }
.monor-yt:hover::before { transform: scale(1.08); }
.monor-yt__label { font-size: 15px; font-weight: 600; margin-top: 70px; position: absolute; top: 50%; }

.monor-pobo table, .entry-content table { width: 100%; border-collapse: collapse; margin: 0 0 30px; font-size: 14px; }
.monor-pobo table { border: 0 !important; }
.monor-pobo table :is(td, th, tr) { border: 0 !important; border-bottom: 1px solid #fff !important; padding: 6px 2px; color: #fff; vertical-align: top; background-clip: padding-box; }
.monor-pobo .pobo-text h2 { color: var(--monor-accent); font-family: var(--monor-font) !important; font-weight: 500 !important; font-size: 27px !important; margin: 26px 0 22px !important; }

.rc-profit__container { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.rc-profit__header { font-size: 28px !important; margin-bottom: 26px !important; }
.rc-profit__list-container { display: flex; flex-direction: column; gap: 14px; }
.rc-profit__list-item { display: flex; gap: 16px; align-items: center; }
.rc-profit__list-ico { flex: none; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; }
.rc-profit__list-ico img { width: 30px; height: 30px; object-fit: contain; }
.rc-profit__list-header { margin: 0 !important; font-size: 18px; line-height: 1.35; }
.rc-profit__list-info { display: block; font-size: 14px; color: #ddd; }
.rc-profit__right-half img { width: 100%; }
.monor-check { display: block; width: 30px; height: 30px; border-radius: 50%; background: #5e9e2f; position: relative; }
.monor-check::after { content: ""; position: absolute; left: 11px; top: 7px; width: 7px; height: 13px; border: solid #fff; border-width: 0 3px 3px 0; transform: rotate(45deg); }

.rc-inline-image__wrap { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px 40px; margin: 40px 0; }
.rc-inline-image__content { display: flex; gap: 18px; align-items: flex-start; flex: 1 1 calc(33.333% - 40px); min-width: 230px; }
.rc-inline-image__content:not(.rc-inline-image__three) { flex-basis: calc(50% - 40px); }
.rc-inline-image__content-image { flex: none; width: 76px; }
.rc-inline-image__content-image img { width: 76px; height: auto; }
.rc-inline-image__title { font-family: var(--monor-font); font-size: 18px; font-weight: 600; margin: 0 0 8px !important; }
.rc-inline-image__subtitle { display: block; font-size: 14px; line-height: 1.5; }

.rc-jumbotron-one__wrap { position: relative; overflow: hidden; background: #000; min-height: 320px; display: flex; align-items: center; justify-content: center; }
.rc-jumbotron-one__wrap > img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; opacity: .9; }
.rc-jumbotron-one__content { position: relative; z-index: 1; text-align: center; max-width: 860px; padding: 50px 30px; }
.rc-jumbotron-one__content-title { font-size: clamp(28px, 3vw, 40px) !important; margin-bottom: 34px !important; }
.rc-jumbotron-one__content-text { display: block; font-size: 19px; line-height: 1.85; }
.rc-jumbotron-one__link {
	display: inline-flex; margin-top: 26px; padding: 8px 15px; background: var(--monor-accent); color: #fff !important;
	border-radius: 4px; font-size: 15px; text-decoration: none !important;
}
.rc-jumbotron-one__link:hover { background: var(--monor-accent-hover); }

.rc-card-call-to-action__wrap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.rc-card-call-to-action__single { background: #1d1d1d; box-shadow: 0 10px 30px rgba(0, 0, 0, .45); display: flex; flex-direction: column; }
.rc-card-call-to-action__image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.rc-card-call-to-action__content { padding: 24px 20px 30px; display: flex; flex-direction: column; flex: 1; }
.rc-card-call-to-action__title { font-size: 22px !important; margin: 0 0 14px !important; }
.rc-card-call-to-action__text { display: block; font-size: 15px; flex: 1; margin-bottom: 20px; }
.rc-card-call-to-action__button, .rc-card-call-to-action__link { align-self: center; }
.rc-card-call-to-action__link {
	display: inline-flex; padding: 8px 15px; background: var(--monor-accent); color: #fff !important; border-radius: 4px; text-decoration: none !important;
}

/* 13. Pages & blog --------------------------------------------------------- */
body.monor.page:not(.monor-home) .entry-content,
body.monor.single-post .entry-content { font-size: 16px; }
body.monor .entry-content table td { border-color: #333; padding: 10px; vertical-align: top; }
body.monor .entry-content img { max-width: 100%; }
body.monor .entry-card, body.monor [data-cards="boxed"] .entry-card { background: #1f1f1f; box-shadow: none; }
body.monor .entry-card .entry-title a { color: #fff; }
body.monor .entry-card .entry-title a:hover { color: var(--monor-accent); }
body.monor .entry-meta, body.monor .entry-meta a { color: #bbb; }
body.monor .entry-card .meta-categories { display: none; }

/* Contact form (Kontakty) */
.monor-contact { max-width: 760px; margin: 50px auto 20px; }
.monor-contact__title { color: var(--monor-accent) !important; text-align: center; font-size: clamp(24px, 2.4vw, 30px) !important; margin-bottom: 10px; }
.monor-contact__lead { font-size: 16px; text-align: center; margin-bottom: 26px; }
.monor-contact__form label { display: block; font-size: 14px; margin-bottom: 6px; }
.monor-contact__form input, .monor-contact__form textarea { width: 100%; }
.monor-contact__hp { position: absolute !important; left: -9999px; }
.monor-contact__consent { font-size: 13px; color: #ccc; }
.monor-contact__notice { padding: 12px 16px; border-radius: 4px; background: #262626; border-left: 4px solid var(--monor-accent); }
.monor-contact__notice--success { border-color: var(--monor-green-light); }

/* 14. Cart / checkout (WooCommerce blocks) --------------------------------- */
body.monor :is(.wc-block-cart, .wc-block-checkout, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) { color: #fff; }
body.monor .wc-block-components-totals-wrapper,
body.monor .wc-block-components-panel,
body.monor .wc-block-cart-items { border-color: #333 !important; }
body.monor .wc-block-components-button:not(.is-link) { background: var(--monor-accent); color: #fff; border-radius: 5px; }
body.monor .wc-block-components-button:not(.is-link):hover { background: var(--monor-accent-hover); }
body.monor .wc-block-components-text-input input,
body.monor .wc-block-components-combobox .wc-block-components-combobox-control input { background: #fff; color: #111; }
body.monor .wc-block-components-text-input label { color: #555; }
body.monor .wc-block-cart__empty-cart__title { color: #fff; }
body.monor .woocommerce-store-notice, body.monor p.demo_store { background: var(--monor-accent); }

/* 15. Responsive ----------------------------------------------------------- */
@media (max-width: 999.98px) {
	:root { --monor-header-h: 70px; }
	.monor-featured { grid-template-columns: 1fr; gap: 30px; }
	.rc-profit__container { grid-template-columns: 1fr; }
	.rc-card-call-to-action__wrap { grid-template-columns: 1fr 1fr; }
	.monor-benefits { grid-template-columns: repeat(2, 1fr); }
	body.monor.single-product .product-entry-wrapper { gap: 30px; }
}
@media (max-width: 689.98px) {
	body.monor { font-size: 14px; }
	.monor-topbar { display: none !important; }
	body.monor #header .site-logo-container img, body.monor #header .default-logo { max-height: none !important; width: 170px !important; height: auto !important; }
	body.monor #header [data-device="mobile"] [data-column="end"] [data-items] { gap: 14px; }
	.monor-hero { height: 78vh; min-height: 460px; }
	.monor-hero__caption { padding: 90px 16px 50px; }
	.monor-hero__arrow { display: none; }
	.monor-benefits { gap: 26px 14px; }
	.rc-image-half-left, .rc-image-half-right, .rc-image-left, .rc-image-right { grid-template-columns: 1fr; gap: 18px; }
	.rc-image-half-right .rc-image-half-right__image, .rc-image-right .rc-image-right__image { order: -1; }
	.rc-advantages-three { grid-template-columns: 1fr; }
	.rc-card-call-to-action__wrap { grid-template-columns: 1fr; }
	.rc-inline-image__content { flex-basis: 100% !important; }
	.rc-jumbotron-one__content-text { font-size: 16px; }
	.monor-pobo table { display: block; overflow-x: auto; }
	body.monor ul.products { --grid-columns-gap: 14px; row-gap: 36px; }
	body.monor ul.products li.product .woocommerce-loop-product__title { font-size: 14px; }
	.monor-price__gross { font-size: 18px; }
	body.monor :is(.entry-summary, .monor-featured) form.cart { gap: 16px; }
	body.monor :is(.entry-summary, .monor-featured) .single_add_to_cart_button { padding: 0 24px; flex: 1; }
	body.monor.single-product .woocommerce-tabs ul.tabs li a { font-size: 22px; }
	.monor-flag { top: 8px; left: 8px; font-size: 12px; padding: 2px 9px; }
}
@media (prefers-reduced-motion: reduce) {
	.monor-hero__slide, .monor-promo img, body.monor ul.products li.product .ct-media-container img { transition: none; }
}

/* 16. Phase 3 – visual refinement (11.10.2026) ------------------------------
   Values measured on monorlaser.com (computed styles). */

/* Typography: Exo 2 600 only where Shoptet uses it.
   Blocksy prints its own :root font variables inline after this file – html:root wins. */
html:root {
	--theme-font-family: var(--monor-font) !important;
	--theme-font-stack-default: var(--monor-font) !important;
}
body.monor { font-size: 14px; }
body.monor :is(h1, h2, h3, h4, h5, h6, button, input, select, textarea, .button, .ct-button, .wp-element-button) { font-family: var(--monor-font); }
body.monor :is(.hero-section .page-title, .hero-section h1, .product_title, .monor-hero__title, .monor-section-title,
	.monor-welcome__title, .monor-featured__title, .woocommerce-tabs ul.tabs li a, .entry-header .page-title) {
	font-family: var(--monor-font-head) !important; font-weight: 600 !important;
}
body.monor.single-product .product_title { font-size: clamp(30px, 2.9vw, 39px) !important; line-height: 1.1; letter-spacing: .5px; }
body.monor :is(.entry-summary, .monor-featured) .single_add_to_cart_button { font-family: var(--monor-font-head); font-weight: 500; font-size: 15px; }
body.monor #header .header-menu-1 .menu > li > a { font-weight: 500; }
.monor-benefits__title { font-size: 16px; font-weight: 600; }
.monor-benefits__text { font-size: 16px; line-height: 1.3; }
body.monor ul.products li.product .woocommerce-loop-product__title { font-weight: 500; font-size: 15.4px; }
body.monor ul.products li.product .monor-price__gross { font-size: 21px; font-weight: 600; }
body.monor.single-product .entry-summary .monor-price__gross { font-weight: 700; letter-spacing: -.5px; }
.monor-pobo { font-size: 14px; }
.monor-pobo :is(.rc-image-half-left, .rc-image-half-right, .rc-image-left, .rc-image-right) :is(p, li) { font-size: 16px; line-height: 1.56; }
.monor-pobo :is(.rc-image-half-left, .rc-image-half-right, .rc-image-left, .rc-image-right) h2 { font-size: 25px !important; font-weight: 600 !important; }
.monor-pobo .rc-header-text__header { font-weight: 700 !important; }
.monor-pobo .rc-profit__header, .monor-pobo .pobo-text h2 { font-size: 25px !important; font-weight: 600 !important; }
.monor-pobo .rc-profit__list-header { font-size: 18px; font-weight: 500; }
.monor-pobo .rc-advantages-three__info-header { font-size: 22px; font-weight: 600; }
.monor-pobo .rc-jumbotron-one__content-title { font-size: clamp(28px, 3vw, 42px) !important; font-weight: 700 !important; }
.monor-pobo .rc-title-line__title { font-size: 25px !important; font-weight: 500 !important; }
.rc-card-call-to-action__title { font-weight: 700 !important; font-size: 20px !important; }

/* Hero: keep the subject in view on the portrait source images (no stretching – object-fit: cover) */
.monor-hero__slide:nth-child(2) img { object-position: 50% 58%; }
.monor-hero__slide:nth-child(3) img { object-position: 50% 66%; }

/* Product cards: square image box, whole product visible, no dark strip */
body.monor ul.products li.product figure { background: transparent !important; margin-bottom: 22px; }
body.monor ul.products li.product .ct-media-container { display: block; aspect-ratio: 1 / 1; background: transparent; overflow: hidden; }
body.monor ul.products li.product .ct-media-container img { width: 100% !important; height: 100% !important; object-fit: contain; aspect-ratio: auto; }

/* Product detail: compact top area, red gallery arrows, tab spacing */
body.monor.single-product { --theme-content-vertical-spacing: 24px; }
body.monor.single-product .hero-section { margin-bottom: 18px !important; }
body.monor .flexy-container :is(.flexy-arrow-prev, .flexy-arrow-next),
body.monor :is(.flexy-arrow-prev, .flexy-arrow-next) {
	background: rgba(0, 0, 0, .35) !important; color: var(--monor-accent) !important; box-shadow: none !important;
	--theme-icon-color: var(--monor-accent); opacity: 1;
}
body.monor :is(.flexy-arrow-prev, .flexy-arrow-next) svg { fill: var(--monor-accent) !important; }
body.monor :is(.flexy-arrow-prev, .flexy-arrow-next):hover { background: var(--monor-accent) !important; color: #fff !important; }
body.monor :is(.flexy-arrow-prev, .flexy-arrow-next):hover svg { fill: #fff !important; }
body.monor.single-product .woocommerce-tabs { margin-top: 20px; padding-top: 24px; }
body.monor.single-product .woocommerce-tabs ul.tabs { margin-bottom: 10px !important; }
body.monor.single-product .woocommerce-tabs ul.tabs li a { padding-top: 0 !important; padding-bottom: 0 !important; line-height: 1.3; }
body.monor.single-product .woocommerce-tabs .panel { padding-top: 0 !important; margin-top: 0 !important; }
body.monor .monor-description .monor-pobo > .pobo-block:first-child { margin-top: 0; padding-top: 0; }
body.monor .monor-description .monor-pobo > .pobo-block:first-child :is(h2, .rc-header-text__header) { margin-top: 0 !important; }

/* Content-page building blocks (Stroje skladom and other pages) */
.monor-page { font-size: 16px; line-height: 1.65; }
.monor-page > p:first-child { font-size: 17px; max-width: 900px; }
.monor-page img { display: block; width: 100%; height: auto; margin: 26px 0 34px; border-radius: 4px; }
.monor-grid { display: grid; gap: 30px; margin: 30px 0; }
.monor-grid--2 { grid-template-columns: 1fr 1fr; }
.monor-card { background: #212121; border-top: 4px solid var(--monor-accent); padding: 28px 30px; border-radius: 4px; }
.monor-card h2 { font-size: 24px !important; margin: 0 0 14px !important; color: #fff; }
.monor-card ul { list-style: none; margin: 14px 0 0; padding: 0; }
.monor-card li { position: relative; padding-left: 28px; margin: 0 0 9px; }
.monor-card li::before { content: ""; position: absolute; left: 3px; top: .42em; width: 7px; height: 12px; border: solid var(--monor-accent); border-width: 0 3px 3px 0; transform: rotate(45deg); }
.monor-card .monor-note { margin: 16px 0 0; }
.monor-card--accent { background: linear-gradient(90deg, #2a0005 0%, #212121 70%); margin: 10px 0 30px; }
.monor-note { color: #e6e6e6; font-style: normal; }
.monor-page--placeholder .monor-note { font-size: 18px; color: #fff; }

/* Footer (shortcode [monor_footer] in footer widget area 1) */
body.monor #footer [data-row*="middle"] { background: #111; border-top: 1px solid #262626; --container-spacing: 50px; }
.monor-footer { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 36px; font-size: 14px; color: #cfcfcf; text-align: left; }
.monor-footer__title { font-family: var(--monor-font); font-size: 15px; font-weight: 700; color: #fff; text-transform: uppercase; letter-spacing: .4px; margin: 0 0 14px; }
.monor-footer ul { list-style: none; margin: 0; padding: 0; }
.monor-footer li { margin: 0 0 8px; }
.monor-footer a { color: #cfcfcf; text-decoration: none; }
.monor-footer a:hover { color: var(--monor-accent); }
.monor-footer__logo { display: block; width: 190px; height: auto; margin-bottom: 16px; }
.monor-footer address { font-style: normal; line-height: 1.6; }
.monor-footer__contact a { color: #fff; font-weight: 600; }
.monor-footer__ids { margin-top: 10px; font-size: 12.5px; color: #9a9a9a; line-height: 1.55; }
body.monor #footer [data-row*="bottom"] .ct-footer-copyright { color: #9a9a9a; }

/* 17. Phase 4 – content-page tables, My Account, notices, checkout ---------- */

/* Layout tables from the Shoptet editor (Čo je MONORLASER, Servis, Kontakty): no borders */
body.monor.page:not(.monor-home) .entry-content table:not(.pb-standard-table) {
	border: 0 !important; border-collapse: separate; border-spacing: 0 18px; margin: 10px 0 30px;
}
body.monor.page:not(.monor-home) .entry-content table:not(.pb-standard-table) :is(tr, td, th) {
	border: 0 !important; box-shadow: none;
}
body.monor.page:not(.monor-home) .entry-content table:not(.pb-standard-table) td { padding: 6px 22px; vertical-align: middle; }
body.monor.page:not(.monor-home) .entry-content table:not(.pb-standard-table) td img { display: block; margin: 0 auto; border-radius: 4px; }
/* text-only grid cells (Servis, Kontakty) keep their separation as dark cards */
body.monor.page:is(.page-id-208, .page-id-206) .entry-content table:not(.pb-standard-table) { border-spacing: 16px; margin-left: -16px; margin-right: -16px; width: calc(100% + 32px); }
body.monor.page:is(.page-id-208, .page-id-206) .entry-content table:not(.pb-standard-table) td { background: #212121; border-radius: 4px; padding: 22px 24px; vertical-align: top; }

/* My Account */
body.monor .ct-acount-nav { background: transparent !important; border: 1px solid #2c2c2c; border-radius: 4px; overflow: hidden; }
body.monor .woocommerce-MyAccount-navigation ul { margin: 0; padding: 6px 0; }
body.monor .woocommerce-MyAccount-navigation li a { color: #fff !important; background: transparent; border-radius: 0; font-weight: 500; }
body.monor .woocommerce-MyAccount-navigation li a:hover { color: var(--monor-accent) !important; background: rgba(255, 255, 255, .04); }
body.monor .woocommerce-MyAccount-navigation li.is-active a,
body.monor .woocommerce-MyAccount-navigation li.is-active a:hover { background: var(--monor-accent) !important; color: #fff !important; }
body.monor .woocommerce-MyAccount-navigation li a svg,
body.monor .woocommerce-MyAccount-navigation li a .ct-icon { fill: currentColor; color: currentColor; }
body.monor .woocommerce-MyAccount-content { color: #fff; }
body.monor .woocommerce-MyAccount-content a:not(.button) { color: var(--monor-accent); }
body.monor .woocommerce-MyAccount-content :is(h2, h3) { color: #fff; font-size: 22px; }
body.monor .woocommerce-MyAccount-content .woocommerce-Address-title a { color: var(--monor-accent) !important; }
body.monor .woocommerce-MyAccount-content address { font-style: normal; color: #ddd; }
body.monor .woocommerce-MyAccount-content label { color: #fff; }
body.monor .woocommerce-MyAccount-content fieldset { border: 1px solid #333; padding: 18px; }
body.monor .woocommerce-MyAccount-content legend { color: #fff; padding: 0 8px; }
body.monor :is(.woocommerce-orders-table, .shop_table, .woocommerce-table) { border-color: #333 !important; color: #fff; }
body.monor :is(.woocommerce-orders-table, .shop_table, .woocommerce-table) :is(th, td) { border-color: #333 !important; background: transparent; color: #fff; }
body.monor :is(.woocommerce-orders-table, .shop_table) thead th { background: #212121; }

/* WooCommerce notices (classic + blocks) on dark */
body.monor :is(.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-noreviews, p.no-comments, .woocommerce-notice) {
	background: #212121 !important; color: #fff !important; border: 0; border-left: 4px solid var(--monor-accent); border-radius: 4px;
}
body.monor :is(.woocommerce-message, .woocommerce-notice--success) { border-left-color: var(--monor-green-light); }
body.monor :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) a:not(.button) { color: var(--monor-accent); }
body.monor :is(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before { color: var(--monor-accent); }
body.monor .wc-block-components-notice-banner { background: #212121 !important; color: #fff !important; border-color: #444 !important; }
body.monor .wc-block-components-notice-banner > svg { fill: #fff; background: var(--monor-accent); }

/* Checkout / cart blocks on dark */
body.monor :is(.wc-block-checkout, .wc-block-cart) .wc-block-components-text-input input,
body.monor :is(.wc-block-checkout, .wc-block-cart) .wc-block-components-combobox .wc-block-components-combobox-control input,
body.monor :is(.wc-block-checkout, .wc-block-cart) .wc-blocks-components-select .wc-blocks-components-select__select,
body.monor :is(.wc-block-checkout, .wc-block-cart) textarea {
	background: #1f1f1f !important; color: #fff !important; border: 1px solid #555 !important; border-radius: 4px;
}
body.monor :is(.wc-block-checkout, .wc-block-cart) :is(.wc-block-components-text-input, .wc-blocks-components-select) label,
body.monor :is(.wc-block-checkout, .wc-block-cart) .wc-blocks-components-select__label { color: #bdbdbd !important; }
body.monor :is(.wc-block-checkout, .wc-block-cart) :is(input, select, textarea):focus { border-color: var(--monor-accent) !important; box-shadow: 0 0 0 1px var(--monor-accent) !important; outline: 0; }
body.monor .wc-blocks-components-select__select option { color: #111; background: #fff; }
body.monor .wc-block-components-checkbox__input { background: #1f1f1f; border-color: #777 !important; }
body.monor .wc-block-components-checkbox__mark { fill: #fff; }
body.monor :is(.wc-block-checkout, .wc-block-cart) a:not(.wc-block-components-button) { color: var(--monor-accent); }
body.monor .wc-block-components-order-summary, body.monor .wc-block-components-totals-item { color: #fff; }
body.monor .wc-block-checkout__actions .wc-block-components-checkout-place-order-button { min-height: 54px; font-weight: 600; }

@media (max-width: 689.98px) {
	/* alternating image/text rows: image first on phones */
	body.monor.page:not(.monor-home) .entry-content table:not(.pb-standard-table) tr { display: flex !important; flex-direction: column; }
	body.monor.page:not(.monor-home) .entry-content table:not(.pb-standard-table) td:has(img) { order: -1; }
	body.monor.page:not(.monor-home) .entry-content table:not(.pb-standard-table) td { padding: 8px 0; }
	body.monor.page:is(.page-id-208, .page-id-206) .entry-content table:not(.pb-standard-table) { margin: 0; width: 100%; border-spacing: 0; }
	body.monor.page:is(.page-id-208, .page-id-206) .entry-content table:not(.pb-standard-table) td { margin-bottom: 12px; padding: 18px; }
}

/* 18. Phase 5 – stock badge, PAY by square box ----------------------------- */
body.monor .stock.in-stock,
body.monor ul.products li.product .stock.in-stock {
	display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 13px; color: #6fd23a;
	background: rgba(76, 175, 26, .12); border: 1px solid rgba(111, 210, 58, .35); border-radius: 20px; padding: 2px 10px 2px 8px; line-height: 1.5;
}
body.monor .stock.in-stock::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #6fd23a; }
body.monor .stock.out-of-stock, body.monor .stock.available-on-backorder {
	display: inline-flex; font-weight: 600; font-size: 13px; border-radius: 20px; padding: 2px 10px; border: 1px solid currentColor;
}
body.monor ul.products li.product .stock { margin: 0 0 10px; }

.monor-pbs { margin: 30px 0; padding: 24px; background: #1f1f1f; border: 1px solid #333; border-left: 4px solid var(--monor-accent); border-radius: 4px; color: #fff; }
.monor-pbs__title { font-size: 22px !important; margin: 0 0 16px !important; }
.monor-pbs__grid { display: flex; gap: 26px; align-items: flex-start; flex-wrap: wrap; }
.monor-pbs__qr { background: #fff; padding: 6px; border-radius: 4px; line-height: 0; }
.monor-pbs__qr svg, .monor-pbs__qr img { width: 210px; height: 210px; }
.monor-pbs__data { flex: 1; min-width: 240px; }
.monor-pbs__data table { width: 100%; border-collapse: collapse; margin: 0 0 12px; }
.monor-pbs__data :is(th, td) { text-align: left; padding: 6px 8px 6px 0; border-bottom: 1px solid #333; font-size: 15px; }
.monor-pbs__data th { color: #bbb; font-weight: 500; width: 40%; }
.monor-pbs__note { font-size: 13px; color: #ccc; margin: 0; }

@media (max-width: 999.98px) {
	.monor-footer { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 689.98px) {
	.monor-grid--2 { grid-template-columns: 1fr; }
	.monor-card { padding: 22px 20px; }
	.monor-footer { grid-template-columns: 1fr; gap: 26px; }
	body.monor ul.products li.product .monor-price__gross { font-size: 18px; }
	.monor-hero__slide:nth-child(3) img { object-position: 50% 62%; }
}

/* 19. Headings – colour & link states (11.10.2026) --------------------------
   Colour comes from the palette (html:root above): H1–H6 white, red only for deliberate
   accents (underline, section-title bar, in-text links). Explicit rule as a second line of
   defence against Blocksy/WooCommerce/block-editor heading colours. */
body.monor :is(h1, h2, h3, h4, h5, h6, .page-title, .product_title, .wc-block-components-title) {
	color: var(--monor-text);
}
body.monor :is(h1, h2, h3, h4, h5, h6) a:not([class]):is(:link, :visited) { color: inherit; }
body.monor .entry-content :is(h2, h3, h4) a:not([class]):is(:link, :visited) { color: var(--monor-accent); }
body.monor :is(h1, h2, h3, h4, h5, h6) a:is(:hover, :focus-visible) { color: var(--monor-accent); }
body.monor :is(h1, h2, h3, h4, h5, h6) a:focus-visible { outline: 2px solid var(--monor-accent); outline-offset: 2px; }

/* 20. Language switcher in the desktop header icon area (12.10.2026) ------------------------
   Rendered by monor_language_switcher() inside the header text element (next to the account
   icon) instead of a main-menu item, which pushed the menu into the off-canvas trigger. */
.ct-header-text .entry-content { display: flex; align-items: center; gap: 18px; }
.monor-lang { display: inline-flex; align-items: center; gap: 2px; font-family: var(--theme-font-family, inherit); font-size: 13px; font-weight: 700; letter-spacing: .06em; line-height: 1; }
.monor-lang__link { color: #fff; text-decoration: none; padding: 6px 7px; border-radius: 3px; }
.monor-lang__link + .monor-lang__link { border-left: 1px solid rgba(255, 255, 255, .35); border-radius: 0 3px 3px 0; }
.monor-lang__link:is(:hover, :focus-visible) { color: var(--monor-accent); }
.monor-lang__link.is-current { color: var(--monor-accent); }
.monor-lang__link:focus-visible { outline: 2px solid var(--monor-accent); outline-offset: 2px; }

/* 21. Small-desktop header spacing (14.10.2026, Phase 8) -----------------------------------
   Between 1000 and 1359 px the wide menu spacing (30 px padding + 34 px margin per item) made
   Blocksy's "More" item / last menu item overlap the off-canvas trigger (SK 1000/1100 px,
   EN 1280 px). Only spacing is reduced; fonts, colours and the menu structure are unchanged. */
@media (min-width: 1000px) and (max-width: 1359.98px) {
	body.monor #header .site-logo-container img,
	body.monor #header .default-logo { max-height: 34px !important; }
	body.monor #header .site-branding { margin-right: 24px; }
	body.monor #header .header-menu-1 > ul > li > .ct-menu-link,
	body.monor #header .header-menu-1 .menu > li > a { padding-right: 20px; margin-right: 14px; }
	body.monor #header .ct-header-trigger { margin-left: 20px; }
	body.monor #header [data-column="end"] [data-items="primary"] { gap: 14px; }
	/* Blocksy sizes its overflow "More" item wider than the menu container, so it still covered
	   the hamburger (SK 1024 px, EN 1100 px). The hamburger next to it opens the complete menu,
	   so the duplicate "More" dropdown is hidden in this range. */
	body.monor #header .header-menu-1 .menu > li.more-items-container { display: none !important; }
}
/* Blocksy sometimes decides that all three items fit before the web font has loaded (EN
   1024 px then overlapped by 16 px), so between 1000 and 1119 px all three items must fit for
   real: slightly smaller menu font and spacing (worst case EN 1024 px: 19 px free). */
@media (min-width: 1000px) and (max-width: 1119.98px) {
	body.monor #header .header-menu-1 > ul > li > .ct-menu-link,
	body.monor #header .header-menu-1 .menu > li > a { font-size: 14px; padding-right: 18px; margin-right: 8px; }
}
@media (min-width: 1000px) and (max-width: 1059.98px) {
	body.monor #header .site-logo-container img,
	body.monor #header .default-logo { max-height: 30px !important; }
	body.monor #header .site-branding { margin-right: 18px; }
}
/* 22. Mobile specification tables (14.10.2026, Phase 8) ------------------------------------
   4-column spec tables (label | value | label | value) were only reachable by horizontal
   scrolling at 390 px; on phones each row is shown as two label/value lines instead. */
@media (max-width: 689.98px) {
	.monor-pobo table.pb-standard-table:has(tr > :nth-child(4)) { display: table; overflow: visible; }
	.monor-pobo table.pb-standard-table:has(tr > :nth-child(4)) tr { display: grid; grid-template-columns: minmax(0, 44%) minmax(0, 56%); }
	.monor-pobo table.pb-standard-table:has(tr > :nth-child(4)) :is(td, th) { overflow-wrap: anywhere; }
}

/* 23. Cookie banner (Complianz) in MONORLASER colours (14.10.2026, Phase 8) ---------------- */
.cmplz-cookiebanner .cmplz-btn.cmplz-accept { background-color: var(--monor-accent, #ff0015) !important; border-color: var(--monor-accent, #ff0015) !important; color: #fff !important; }
.cmplz-cookiebanner .cmplz-links .cmplz-link, .cmplz-cookiebanner a { color: #191919; }
#cmplz-manage-consent .cmplz-manage-consent { background-color: #191919 !important; color: #fff !important; border-color: #191919 !important; }

/* From 1360 px the header container stops growing; EN "Contact Us" ended 6 px before the
   hamburger. Slightly tighter item spacing gives 44 px (EN) / 50 px (SK). */
@media (min-width: 1360px) {
	body.monor #header .header-menu-1 > ul > li > .ct-menu-link,
	body.monor #header .header-menu-1 .menu > li > a { padding-right: 24px; margin-right: 24px; }
}

/* 24. Delivery note above the Cart / Checkout blocks (15.10.2026, Phase 9A) ----------------- */
.monor-shipping-note { margin: 0 0 24px; padding: 14px 18px; border: 1px solid var(--monor-line); border-left: 4px solid var(--monor-accent); background: var(--monor-surface); color: var(--monor-text); font-size: 14px; line-height: 1.5; }
.monor-shipping-note strong { display: block; margin-bottom: 4px; }
.monor-shipping-note ul { margin: 0; padding-left: 18px; }
.monor-shipping-note li { margin: 2px 0; }

/* 25. Packeta pick-up point button in the block checkout (15.10.2026, Phase 9C) -------------- */
/* The plugin's logo has no size of its own – the theme's img rules stretched it to full width. */
.packetery-widget-button-row { display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 16px; margin: 12px 0; }
.packetery-widget-button-row .packetery-widget-button-logo { width: 48px !important; max-width: 48px !important; height: auto !important; flex: 0 0 48px; }
.packetery-widget-button-row .button { width: auto; white-space: nowrap; }