/*
Theme Name: Nobopanely
Theme URI: https://nobopanely.sk
Author: VT-Service s.r.o.
Author URI: https://nobopanely.sk
Description: Egyedi WordPress sablon, amely a nobopanely.sk webáruház vizuális stílusát (piros-fehér NOBO márkaidentitás, üveg-kártya elrendezés, hero carousel, kalkulátor szalag, lábléc) ülteti át WordPress alapokra. Testreszabható a Testreszabó (Customizer) panelen: hero diák, sávszöveg, kalkulátor blokk, lábléc elérhetőségek.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: nobopanely
*/

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&display=swap');

/* -----------------------------------------------------------
   0. Alapok / reset
----------------------------------------------------------- */
* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	padding-top: 70px;
	padding-bottom: 0;
	background-color: #f4f4f4;
	background-image: var(--nobo-bg-image, none);
	background-size: cover;
	background-position: center top;
	background-attachment: fixed;
	background-repeat: no-repeat;
	font-family: "Plus Jakarta Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: #646464;
	font-size: 12pt;
	line-height: 1.6;
}

img { max-width: 100%; height: auto; }

a { color: #D83B41; text-decoration: none; }
a:hover { color: #DB0003; text-decoration: underline; }

h1, h2, h3, h4, h5, h6 { font-weight: bold; margin-top: 0; }

h1 { color: #D83B41; font-weight: bold; font-size: 20pt; }
h2 { font-size: 18pt; color: #D83B41; }
h3 { font-size: 16pt; color: #D83B41; }
p  { font-size: 12pt; color: #646464; }
h4, h5, h6, strong, b { color: #646464; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0; overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

/* -----------------------------------------------------------
   1. Fejléc / navigáció
----------------------------------------------------------- */
.nobo-navbar {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 1000;
	background: #ffffff;
	border-bottom: 1px solid #e5e5e5;
	box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

.nobo-navbar-inner {
	max-width: 1400px;
	margin: 0 auto;
	padding: 10px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.nobo-logo img { display: block; height: 50px; width: auto; }

.nobo-nav-toggle {
	display: none;
	background: none;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 8px 10px;
	cursor: pointer;
}
.nobo-nav-toggle span {
	display: block;
	width: 22px;
	height: 2px;
	background: #333;
	margin: 4px 0;
}

.nobo-nav-menu,
.nobo-nav-menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.nobo-nav-menu {
	font-family: "Gill Sans", "Gill Sans MT", "Myriad Pro", "DejaVu Sans Condensed", Helvetica, Arial, sans-serif;
	font-size: 11pt;
	font-weight: bold;
	text-transform: uppercase;
}

.nobo-nav-menu > li { position: relative; margin-left: 2px; }

.nobo-nav-menu a {
	display: block;
	padding: 10px 15px;
	color: #606060;
}

/* Hover: same "gradient badge" fill as nobopanely.sk's navbar-default
   nav-link hover (white fading into brand red, rounded bottom corners) —
   not just a text color change. */
.nobo-nav-menu > li > a:hover,
.nobo-nav-menu > li > a:focus {
	color: #fff;
	text-decoration: none;
	border-radius: 0 0 7px 7px;
	background-image: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(223,51,68,1) 56.99%, rgba(223,51,68,1) 100%);
}

/* Current page: same treatment but with the darker, "pressed" red gradient
   nobopanely.sk uses for the active nav item. */
.nobo-nav-menu .current-menu-item > a,
.nobo-nav-menu .current-menu-item > a:hover,
.nobo-nav-menu .current-menu-item > a:focus {
	color: #DADADA;
	border-radius: 0 0 7px 7px;
	background-image: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(214,33,51,1) 62.17%, rgba(210,32,50,1) 98.96%);
}

.nobo-nav-menu .menu-item-has-children { position: relative; }

/* Bootstrap-style dropdown: closed by default, toggled by the JS-driven
   .is-open class on click/tap (mirrors the original site's
   data-toggle="dropdown" behavior) — NOT a pure CSS :hover, so it also
   works correctly on touch devices, not just with a mouse. */
.nobo-nav-menu .sub-menu {
	display: none;
	position: absolute;
	top: 100%; left: 0;
	background: #fff;
	min-width: 180px;
	box-shadow: 0 4px 10px rgba(0,0,0,0.15);
	padding: 6px 0;
	z-index: 10;
}
.nobo-nav-menu li.is-open > .sub-menu { display: block; }
.nobo-nav-menu .sub-menu a { padding: 8px 16px; text-transform: none; font-weight: normal; color: #333; }

/* Dropdown item hover: nobopanely.sk's .dropdown-menu > li > a:hover — a
   flat brand-red fill, distinct from the top-level gradient badge above. */
.nobo-nav-menu .sub-menu a:hover,
.nobo-nav-menu .sub-menu a:focus {
	color: #fff;
	text-decoration: none;
	background-color: #df3344;
}

/* Hover is layered on top as a convenience for mouse users only — guarded
   so it never fires on touch, where it would otherwise conflict with tap
   (the actual bug: hover-only dropdowns are unusable on touch screens). */
@media (hover: hover) and (pointer: fine) {
	.nobo-nav-menu li.menu-item-has-children:hover > .sub-menu { display: block; }
}

.nobo-nav-menu .sub-menu-toggle {
	background: none;
	border: 0;
	color: inherit;
	font: inherit;
	text-transform: none;
	font-weight: normal;
	padding: 10px 6px;
	margin-left: -6px;
	cursor: pointer;
	line-height: 1;
}
.nobo-nav-menu .sub-menu-toggle::after {
	content: "";
	display: inline-block;
	width: 6px; height: 6px;
	margin-left: 6px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.15s ease;
}
.nobo-nav-menu li.is-open > .sub-menu-toggle::after { transform: rotate(-135deg); }

.nobo-header-actions { display: flex; align-items: center; gap: 14px; margin-left: 22px; }
.nobo-header-actions a {
	color: #333;
	font-family: "Gill Sans", "Gill Sans MT", "Myriad Pro", Helvetica, Arial, sans-serif;
	font-size: 10pt;
	font-weight: bold;
	text-transform: uppercase;
}
.nobo-header-actions a:hover { color: #D83B41; }

/* -----------------------------------------------------------
   2. Hero carousel
----------------------------------------------------------- */
.nobo-hero { position: relative; overflow: hidden; background: #111; }
.nobo-hero-slides { position: relative; height: 46vw; max-height: 620px; min-height: 260px; }

.nobo-hero-slide {
	position: absolute; inset: 0;
	opacity: 0; visibility: hidden;
	transition: opacity 0.9s ease;
}
.nobo-hero-slide.is-active { opacity: 1; visibility: visible; }

.nobo-hero-slide img {
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}

.nobo-hero-caption {
	position: absolute;
	left: 6%; bottom: 12%;
	max-width: 560px;
	color: #fff;
}
.nobo-hero-caption h2 {
	color: #fff;
	font-size: 26pt;
	text-shadow: 3px 3px 3px #636363;
	margin-bottom: 18px;
}
.nobo-hero-cta a,
.car_b a {
	display: inline-block;
	border: 2px solid #fff;
	color: #fff;
	font-size: 16pt;
	border-radius: 5px;
	padding: 10px 20px;
}
.nobo-hero-cta a:hover,
.car_b a:hover {
	color: #2E2E2E;
	background-color: #fff;
	text-decoration: none;
	transition-duration: 0.4s;
}

.nobo-hero-dots {
	position: absolute;
	bottom: 18px; left: 50%;
	transform: translateX(-50%);
	display: flex; gap: 8px;
}
.nobo-hero-dots button {
	width: 10px; height: 10px;
	border-radius: 50%;
	border: 1px solid #fff;
	background: rgba(255,255,255,0.35);
	padding: 0;
	cursor: pointer;
}
.nobo-hero-dots button.is-active { background: #fff; }

.nobo-hero-arrow {
	position: absolute; top: 50%;
	transform: translateY(-50%);
	background: rgba(0,0,0,0.25);
	color: #fff;
	border: none;
	font-size: 22px;
	width: 44px; height: 44px;
	border-radius: 50%;
	cursor: pointer;
}
.nobo-hero-arrow:hover { background: rgba(0,0,0,0.45); }
.nobo-hero-arrow.prev { left: 14px; }
.nobo-hero-arrow.next { right: 14px; }

/* -----------------------------------------------------------
   3. Piros szalag ("home_h2")
----------------------------------------------------------- */
.home_h2 {
	text-align: center;
	background-image: linear-gradient(90deg, #6B0001 0%, #DF3344 14%, #DF3344 50%, #ffffff 100%);
	padding: 14px 20px;
	color: #fff;
	font-size: 22pt;
	font-weight: bold;
}
.home_h2 h2, .home_h2 h6 { color: #fff; font-size: inherit; margin: 0; }

/* -----------------------------------------------------------
   4. "Üveg-kártya" tartalmi panelek
----------------------------------------------------------- */
.main,
.nobo-content-card {
	border-radius: 15px;
	padding: 40px;
	margin: 20px 30px;
	background-image: linear-gradient(180deg, rgba(255,255,255,0.86) 0%, rgba(255,255,255,0.74) 100%);
}

.nobo-page-wrap { max-width: 1400px; margin: 0 auto; padding: 0 20px; }

/* -----------------------------------------------------------
   5. Termékkártyák / bemutató sáv
----------------------------------------------------------- */
.nobo-products-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 24px;
	padding: 30px 20px 50px;
}

.product-card,
.nobo-product-card {
	width: 300px;
	border-radius: 10px;
	overflow: hidden;
	background-image: linear-gradient(180deg, rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.89) 100%);
	transition: background-color 0.3s ease;
	text-decoration: none;
	display: block;
	color: inherit;
}
.product-card:hover,
.nobo-product-card:hover { background-color: #fff; text-decoration: none; }

.product-card-image-holder,
.nobo-product-card-image {
	width: 100%;
	height: 190px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.product-card-image-holder img,
.nobo-product-card-image img { max-height: 100%; }

.nobo-product-card-title {
	padding: 0 20px;
	font-weight: bold;
	text-align: center;
	color: #000;
}

.more,
.nobo-product-card-more {
	padding: 10px 20px;
	font-size: 12pt;
	background-color: #9A9A9A;
	color: #fff;
	display: block;
	font-weight: bold;
	text-align: right;
	margin-top: 16px;
}
.product-card:hover .more,
.nobo-product-card:hover .nobo-product-card-more { background-color: #df3344; }

/* -----------------------------------------------------------
   6. Kalkulátor / CTA szalag
----------------------------------------------------------- */
.calc_m,
.nobo-cta-band {
	text-align: center;
	background-color: #df3344;
	padding: 60px 20px;
	color: #fff;
	font-weight: 100;
	font-size: 20pt;
	margin-top: 30px;
	letter-spacing: 1pt;
}
.calc_m .h1, .nobo-cta-band .nobo-cta-title { font-size: 36pt; margin-bottom: 0; font-weight: bold; }
.calc_m .h2, .nobo-cta-band .nobo-cta-text { margin: 10px 0 30px; font-weight: bold; }
.calc_m a, .nobo-cta-band a {
	color: #fff;
	border: thin solid #fff;
	border-radius: 3px;
	padding: 10px 20px;
	display: inline-block;
}
.calc_m a:hover, .nobo-cta-band a:hover {
	color: #df3344;
	background-color: #fff;
	text-decoration: none;
	transition: 0.4s;
}

/* -----------------------------------------------------------
   7. Oldalsáv ("webshop" doboz stílus, ha van widget-terület)
----------------------------------------------------------- */
.sidebar, .nobo-sidebar {
	background-image: linear-gradient(180deg, rgba(255,255,255,0.86) 0%, rgba(255,255,255,0.78) 100%);
	border-radius: 10px;
	padding: 12px 18px 20px;
}
.sidebar-Title, .nobo-sidebar-title {
	color: #000;
	font-weight: bold;
	text-transform: uppercase;
	font-size: 15pt;
	border-bottom: 2px solid #D00003;
	padding-bottom: 8px;
}
.sidebar-List, .nobo-sidebar-list { list-style: none; margin: 0; padding: 10px 0 0; }
.sidebar-List-Item, .nobo-sidebar-list li { font-size: 13pt; margin: 6px 0; }
.sidebar-List-Item a, .nobo-sidebar-list a { color: #6C6C6C; }
.sidebar-List-Item a:hover, .nobo-sidebar-list a:hover { color: #DB0003; font-weight: bold; }

/* -----------------------------------------------------------
   8. Lábléc
----------------------------------------------------------- */
.nobo-footer {
	background-color: #E0E0E0;
	padding: 50px 6% 40px;
	font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "DejaVu Sans", Verdana, sans-serif;
	font-size: 14pt;
	margin-top: 40px;
}
.nobo-footer-inner {
	max-width: 1400px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 30px;
}
.nobo-footer-logo img { height: 25px; width: auto; }
.nobo-footer-address { text-align: center; flex: 1; min-width: 240px; font-size: 13pt; }
.nobo-footer-links { text-align: left; font-size: 13pt; }
.nobo-footer-links a { display: block; color: #333; margin-bottom: 6px; }
.nobo-footer-links a:hover { color: #D83B41; }
.nobo-footer-social { display: flex; gap: 10px; margin-top: 14px; }
.nobo-footer-social-icon {
	width: 34px; height: 34px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: #fff;
	color: #6C6C6C;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.nobo-footer-social-icon:hover { background-color: #D83B41; color: #fff; }
.nobo-footer-bottom {
	text-align: center;
	font-size: 10pt;
	color: #777;
	padding: 16px 20px 30px;
}

/* -----------------------------------------------------------
   9. Bejegyzés / oldal tartalom tipográfia
----------------------------------------------------------- */
.nobo-entry-title { color: #D83B41; }
.nobo-entry-meta { color: #777; font-size: 10pt; margin-bottom: 20px; }
.nobo-entry-content img { border-radius: 10px; }
.nobo-pagination { margin-top: 30px; text-align: center; }
.nobo-pagination a, .nobo-pagination span {
	display: inline-block;
	padding: 6px 12px;
	margin: 0 4px;
	border-radius: 4px;
	background: #f0f0f0;
}
.nobo-pagination .current { background: #D83B41; color: #fff; }

/* -----------------------------------------------------------
   9b. WP admin bar kompatibilitás (csak bejelentkezett szerkesztőknek
   látható — a valódi látogatók sosem futnak bele ebbe, de a fix
   navbar különben átfedésbe kerül a WP admin sávval).
----------------------------------------------------------- */
body.admin-bar .nobo-navbar { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar .nobo-navbar { top: 46px; }
}

/* -----------------------------------------------------------
   10. Reszponzív törések
----------------------------------------------------------- */
@media (max-width: 900px) {
	.nobo-nav-toggle { display: inline-block; }
	.nobo-nav-menu { display: none; width: 100%; flex-direction: column; align-items: flex-start; }
	.nobo-nav-menu.is-open { display: flex; }
	.nobo-nav-menu > li { margin-left: 0; width: 100%; display: flex; align-items: center; flex-wrap: wrap; }
	.nobo-nav-menu > li > a { flex: 1; }
	.nobo-nav-menu .sub-menu-toggle { margin-left: auto; }
	.nobo-nav-menu .sub-menu { position: static; box-shadow: none; width: 100%; }
	.nobo-navbar-inner { flex-wrap: wrap; }
	.nobo-header-actions { margin-left: 0; margin-top: 10px; }
	.main, .nobo-content-card { margin: 15px; padding: 25px; }
	.nobo-hero-caption h2 { font-size: 18pt; }
}

@media (max-width: 650px) {
	body { padding-top: 60px; }
	p { font-size: 13pt; }
	.home_h2 { font-size: 15pt; }
	.nobo-hero-slides { height: 60vw; }
	.nobo-hero-caption { left: 5%; bottom: 8%; max-width: 90%; }
	.nobo-footer-inner { flex-direction: column; text-align: center; }
	.nobo-footer-links { text-align: center; }
}

@media (max-width: 480px) {
	.nobo-hero-caption h2 { font-size: 14pt; }
	.calc_m .h1, .nobo-cta-band .nobo-cta-title { font-size: 24pt; }
}

/* -----------------------------------------------------------
   11. Keresés / hozzászólások
----------------------------------------------------------- */
.nobo-search-form { display: flex; gap: 8px; margin: 20px 0; }
.nobo-search-field {
	flex: 1;
	padding: 10px 14px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 12pt;
}
.nobo-search-submit {
	background: #D83B41;
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 10px 20px;
	font-weight: bold;
	cursor: pointer;
}
.nobo-search-submit:hover { background: #DB0003; }

.nobo-entry-summary { margin-bottom: 20px; }
.nobo-entry-summary .nobo-entry-title { font-size: 16pt; margin-bottom: 4px; }
.nobo-entry-summary .nobo-entry-title a { color: #D83B41; }

.nobo-comments { margin-top: 20px; }
.nobo-comments-title { color: #D83B41; }
.nobo-comment-list { list-style: none; margin: 0; padding: 0; }
.nobo-comment-list .comment-body {
	background: rgba(255,255,255,0.6);
	border-radius: 8px;
	padding: 14px 18px;
	margin-bottom: 14px;
}

/* Shop category filter (Obchod + product-category archives) — styled to
   match the main nav-menu look, with real dropdown submenus. */
.nobo-shop-filter {
	padding: 20px 0 24px;
	margin: 0 0 10px;
	border-top: 1px solid #e2e2e2;
}
.nobo-shop-filter .nobo-shop-filter-list {
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 8px;
}
.nobo-shop-filter .nobo-shop-filter-list,
.nobo-shop-filter .nobo-shop-filter-list a {
	font-family: "Plus Jakarta Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.nobo-shop-filter .nobo-shop-filter-list > li {
	margin: 0;
}
.nobo-shop-filter .nobo-shop-filter-list > li > a {
	display: inline-block;
	padding: 10px 20px 8px;
	text-transform: none;
	font-weight: 600;
	font-size: 15px;
	color: #000;
	background: none;
	background-image: none;
	border-radius: 0;
	border-bottom: 2px solid transparent;
}
.nobo-shop-filter .nobo-shop-filter-list > li > a:hover,
.nobo-shop-filter .nobo-shop-filter-list > li > a:focus {
	color: #000;
	background: none;
	background-image: none;
	border-bottom-color: #D83B41;
}
.nobo-shop-filter .nobo-shop-filter-list > li.current-menu-item > a,
.nobo-shop-filter .nobo-shop-filter-list > li.current-menu-item > a:hover,
.nobo-shop-filter .nobo-shop-filter-list > li.current-menu-item > a:focus {
	background: none;
	background-image: none;
	color: #000;
	font-weight: 700;
	border-bottom-color: #D83B41;
}
.nobo-shop-filter .sub-menu-toggle {
	position: static;
	display: inline-block;
	width: 26px;
	height: 20px;
	padding: 0;
	margin: 0;
	border: 0;
	background: none;
	font-size: 0;
	cursor: pointer;
	vertical-align: middle;
}
.nobo-shop-filter .sub-menu-toggle::after {
	content: none;
	display: none;
}
.nobo-shop-filter .menu-item-has-children:hover > .sub-menu,
.nobo-shop-filter .menu-item-has-children:focus-within > .sub-menu,
.nobo-shop-filter .menu-item-has-children.is-open > .sub-menu {
	display: block;
}
.nobo-shop-filter .nobo-shop-filter-list .sub-menu {
	top: 100%;
	left: 0;
	margin-top: 0;
	border-radius: 4px;
	min-width: 230px;
	background: #D83B41;
	padding: 0;
	box-shadow: 0 10px 24px rgba(0,0,0,0.2);
	overflow: hidden;
}
.nobo-shop-filter .nobo-shop-filter-list .sub-menu a {
	text-transform: none;
	font-weight: 600;
	font-size: 14px;
	color: #fff;
	padding: 13px 18px;
	border-bottom: 1px solid rgba(255,255,255,0.18);
	border-radius: 0;
}
.nobo-shop-filter .nobo-shop-filter-list .sub-menu li:last-child a {
	border-bottom: none;
}
.nobo-shop-filter .nobo-shop-filter-list .sub-menu a:hover,
.nobo-shop-filter .nobo-shop-filter-list .sub-menu a:focus {
	background-color: rgba(255,255,255,0.16);
	color: #fff;
}
.nobo-shop-filter .nobo-shop-filter-list .sub-menu li.current-menu-item > a {
	background-color: rgba(0,0,0,0.18);
	color: #fff;
	padding: 13px 18px;
	font-weight: 600;
}

Pridať do košíka gomb (termékoldal, obchod lista)
----------------------------------------------------------- */
.single_add_to_cart_button,
.add_to_cart_button {
	background-color: #fff !important;
	border: 2px solid #D83B41 !important;
	color: #D83B41 !important;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.single_add_to_cart_button:hover,
.single_add_to_cart_button:focus,
.add_to_cart_button:hover,
.add_to_cart_button:focus {
	background-color: #D83B41 !important;
	color: #fff !important;
}


/* ---------------------------------------------------------------
   Homepage product cards - diagonal tile layout (nobo.hu style)
--------------------------------------------------------------- */
.nobo-products-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-auto-rows: 1fr;
	gap: 24px;
	max-width: 1000px;
	margin: 0 auto;
	padding: 96px 20px;
}
.nobo-products-row .nobo-product-card {
	position: relative;
	width: auto;
	min-height: 220px;
	border-radius: 20px;
	overflow: hidden;
	background: #fff;
	background-image: none;
}
.nobo-products-row .nobo-product-card-large {
	grid-row: 1 / span 2;
	min-height: 460px;
}
.nobo-products-row .nobo-product-card-image {
	position: absolute;
	inset: 0;
	height: auto;
	padding: 0;
	display: block;
}
.nobo-products-row .nobo-product-card-image img {
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: cover;
	display: block;
}
.nobo-products-row .nobo-product-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 60%;
	height: 60%;
	background: linear-gradient(135deg, rgba(255,255,255,0.18), rgba(255,255,255,0) 75%);
	clip-path: polygon(0 0, 100% 0, 0 100%);
	z-index: 1;
	pointer-events: none;
	transition: background 0.3s ease;
}
.nobo-products-row .nobo-product-card:hover::before {
	background: linear-gradient(135deg, rgba(227,0,3,0.55), rgba(227,0,3,0) 75%);
}
.nobo-products-row .nobo-product-card-label {
	position: absolute;
	left: 20px;
	bottom: 20px;
	z-index: 2;
	background: rgba(255,255,255,0.92);
	color: #2b2b2b;
	font-weight: 700;
	font-size: 18px;
	padding: 10px 18px;
	border-radius: 10px;
	box-shadow: 0 4px 14px rgba(0,0,0,0.15);
	transition: background-color 0.25s ease, color 0.25s ease;
}
.nobo-products-row .nobo-product-card:hover .nobo-product-card-label {
	background-color: #D83B41;
	color: #fff;
}
@media (max-width: 720px) {
	.nobo-products-row {
		grid-template-columns: 1fr;
	}
	.nobo-products-row .nobo-product-card-large {
		grid-row: auto;
		min-height: 260px;
	}
}


/* ---------------------------------------------------------------
   Homepage - featured products carousel (nobo.hu style)
--------------------------------------------------------------- */
.nobo-featured-products {
	position: relative;
	overflow: hidden;
	padding: 70px 0;
	background: #fff;
}
.nobo-featured-products::before,
.nobo-featured-products::after {
	content: "";
	position: absolute;
	top: 0;
	width: 32%;
	height: 100%;
	background: linear-gradient(135deg, rgba(227,0,3,0.14), rgba(227,0,3,0) 70%);
	z-index: 0;
	pointer-events: none;
}
.nobo-featured-products::before {
	left: 0;
	clip-path: polygon(0 0, 55% 0, 0 100%);
}
.nobo-featured-products::after {
	right: 0;
	clip-path: polygon(100% 0, 100% 100%, 45% 100%);
}
.nobo-featured-products-inner {
	position: relative;
	z-index: 1;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}
.nobo-featured-products-title {
	text-align: center;
	color: #444;
	font-size: 28px;
	font-weight: 700;
	margin: 0 0 40px 0;
}
.nobo-featured-products-row {
	display: flex;
	gap: 28px;
	overflow-x: auto;
	padding: 10px 10px 20px;
	scroll-snap-type: x proximity;
}
.nobo-featured-product-card {
	flex: 0 0 290px;
	scroll-snap-align: start;
	text-align: center;
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 10px 6px 0;
}
.nobo-featured-product-image {
	width: 100%;
	height: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}
.nobo-featured-product-image img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}
.nobo-featured-product-name {
	font-size: 17px;
	font-weight: 700;
	color: #333;
	margin: 0 0 10px 0;
	min-height: 44px;
}
.nobo-featured-product-description {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.55;
	color: #797979;
	margin: 0 0 16px 0;
	min-height: 66px;
}
.nobo-featured-product-description p {
	margin: 0;
}
.nobo-featured-product-price {
	color: #D83B41;
	font-size: 21px;
	font-weight: 700;
	margin-bottom: 18px;
}
.nobo-featured-product-price del {
	color: #999;
	font-size: 15px;
	font-weight: 400;
	margin-right: 6px;
}
.nobo-featured-product-price ins {
	text-decoration: none;
}
.nobo-featured-product-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #E56070;
	color: #fff;
	padding: 10px 26px;
	border-radius: 6px;
	font-weight: 700;
	font-size: 14px;
	transition: background-color 0.2s ease;
}
.nobo-featured-product-card:hover .nobo-featured-product-cta {
	background-color: #D83B41;
}
@media (max-width: 720px) {
	.nobo-featured-products-title {
		font-size: 22px;
	}
	.nobo-featured-product-card {
		flex: 0 0 200px;
	}
}
