@CHARSET "UTF-8";

#header{
	background: url("images/header.png") no-repeat scroll transparent left center;
}
#header-opacity {
	height : 120px;
	background: url("images/content-opacity/0.png");
}
#container-top-header-strip #user_menu #user-name-button,
.span-6 > #user_menu #user-name-button,
#login-buttons .button-type-1 a {
	color: #FFFFFF !important;
}
#articles-menu .funkcie_eshopu ul.submenu,
#articles-menu .active-funkcie_eshopu ul.submenu {
	width: 100% !important;
	left: 0;
	background: #333333;
}
.tutorial-single {
	display: inline-block;
	vertical-align: top;
	margin: 0 0 10px 0;
}
.ui-widget-content .manual-add-to-cart-by-code-list-item .ui-state-active {
	background: #FF6600;
}
.manual-add-to-cart-by-code-list-item-last div {
	background: #fcf90c;
}
#articles-menu #submenu-with-width-of-content ul,
#articles-menu #submenu-with-width-of-content ul li {
	background: #FFFFFF !important;
}
#top-header-webroyal-ad {
	float: left;
	line-height: 40px;
	color: #FFFFFF;
	padding: 0 10px;
	box-sizing: border-box;
}
#articles-menu ul li ul .small_image_category {
	height: auto;
}
#price-block #add-cart-button {
	font-size: 20px !important;
}
#category .depth-1 {
	border-bottom: 1px solid #d9d9d9;
	padding: 20px 0 0 0;
}
.span-6 > #category > .button-type-1, #login-buttons .button-type-1, .span-6 > ul#user_menu .title .button-type-1 {
	border-radius: 3px;
}
.site-color > .span-6.last {
	width: 265px;
}
.span-6 > #category {
	width: 100%;
	padding: 0 20px;
	box-sizing: border-box;
	margin: 8px 0 0 0;
}
#category .category-tree {
	float: left;
}
.span-6 #category li:not(.depth-1) a::before {
	content: "> ";
}
.span-6 #category a {
	margin: 0;
}
.product-series-container {
	width: 100%;
	float: left;
	margin: 0 0 10px 0;
}
.product-series-container p {
	width: 100%;
	float: left;
	color: #000000;
	font-weight: bold;
}
.product-series-container a {
	float: none;
	padding: 13px 10px;
	box-sizing: border-box;
	border: 1px solid #d9d9d9;
	color: #8A8A8A;
	margin: 10px 10px 0 0;
	width: 142px;
	font-size: 13px;
	display: inline-block;
	vertical-align: top;
}
.product-series-container a:hover,.product-series-container a.product-series-active {
	color: #000000;
	border: 1px solid #000000;
}
.product-series-cover a {
	min-height: 70px;
	position: relative;
}
#quatro-detail-calculator-link {
    width: 100%;
    float: left;
    margin: 0 0 10px 0;
}
#quatro-detail-calculator-link img {
    max-width: 100%;
    float: left;
}
#quatro-detail-calculator-link span {
    width: 100%;
    float: left;
    color: #ff8a00;
    font-weight: bold;
}
#benefits-detail-container {
    width: 100%;
    float: left;
    text-align: center;
    margin: 10px 0;
}
#benefits-detail-container > div {
    width: 17%;
    padding: 55px 0 0 0;
    display: inline-block;
    vertical-align: top;
    min-width: 124px;
}
#benefits-detail-container > div:first-child {
    background: url("images/benefits-detail/1.png") no-repeat transparent center top;
}
#benefits-detail-container > div:nth-child(2) {
    background: url("images/benefits-detail/2.png") no-repeat transparent center top;
}
#benefits-detail-container > div:nth-child(3) {
    background: url("images/benefits-detail/5.png") no-repeat transparent center top;
}
#benefits-detail-container > div:nth-child(4) {
    background: url("images/benefits-detail/6.png") no-repeat transparent center top;
}
#benefits-detail-container > div:nth-child(5) {
    background: url("images/benefits-detail/3.png") no-repeat transparent center top;
}
#benefits-detail-container > div span {
    font-size: 12px;
    color: #959ea2;
}
.span-19 > .content > #catalog-appurtenances {
	background: #f5f5f5;
}
.product-special-title {
	font-size: 14px;
	text-align: center;
}
.product-special:hover .product-special-title {
	background: #2aa839;
}
#catalog-products-index .product-special:hover,
.catalog-block .product-special:hover {
	box-shadow: 0 0 20px rgba(0,0,0,0.15);
}
.container-product-actions {
	height: 100%;
	z-index: 5;
}
/* .container-product-actions > div.clear:first-child — pôvodné bottom pozicovanie zrušené,
   riadi sa cez nové pravidlo nižšie (position: static, stacking) */
.param-product-select-row-2 > div {
	border: 1px solid #d9d9d9;
	border-radius: 0;
	color: #8A8A8A;
	padding: 13px 10px;
	width: 48%;
	min-width: 210px;
	max-width: none;
	height: auto;
	box-sizing: border-box;
	position: relative;
}
.param-product-select-row-2 > div > div {
	float: left;
	width: 100%;
	height: auto;
}
.param-product-select-row-2 .icon-cart-question {
	margin: 0;
	position: absolute;
	left: auto;
	top: 0;
	right: 0;
	float: none;
}
.img-catalog-block {
	width: 150px;
	min-height: 0;
}
.img-catalog-block img {
	max-width: none;
	width: 100%;
}
.img-catalog-block .img-catalog-image-link > span {
	width: 100%;
	padding: 0 5px;
	margin: 0;
	box-sizing: border-box;
	text-align: center;
}
.img-catalog-block .img-catalog-image-link {
	width: 100%;
}
.seo-box-index-left,
.seo-box-index-right {
    float: left;
}
#we-call-you-container {
    width: 100%;
    float: left;
}
#we-call-you-container form {
    width: 100%;
    float: left;
    text-align: center;
}
#we-call-you-container > p {
    width: 100%;
    float: left;
    color: #FF0000;
    font-weight: bold;
    padding: 0;
    margin: 10px 0 5px 0;
}
#we-call-you-container form > input {
    height: 24px;
    float: none;
    display: inline-block;
    vertical-align: top;
    margin: 0 0 10px 0;
}
#we-call-you-container .button-type-1 {
    float: none;
    display: inline-block;
    vertical-align: top;
}
#product-detail p .old_price {
	color: #000000;
}
.container-product-actions .startup,
.header-is-small #header-phone-custom {
	display: none;
}
#header-phone-custom {
	float: none;
	display: inline-block;
}
#container-newsletter p {
	color: #2a2a2a;
}
.custom-delivery-name-part-color {
    color: #FF0000;
}
#detail #statistics-over-main-photo-in-detail {
	bottom: auto;
	top: 0;
	background: #cf1518;
}
#detail #gallery .container-product-actions {
	box-sizing: border-box;
}
.basic-parameter > div {
	width: 100%;
	float: left;
	margin: 10px 0 0 0;
}
.basic-parameter img {
	float: left;
	width: 15%;
}
.basic-parameter p {
	float: left;
	line-height: normal !important;
	width: 81%;
}
.basic-parameter p span {
	width: 100%;
	float: left;
	color: #1c1c1c;
}
.basic-parameter p span:first-child {
	font-weight: bold;
}
.quatro-catalog-info {
	width: 100%;
    float: left;
    color: #cf1518;
    font-weight: bold;
    box-sizing: border-box;
    padding: 0 5%;
}
#detail #container-comments-module {
    box-sizing: border-box;
    padding: 0 10px;
    margin: 10px 0 0 0;
    width: 100%;
    float: left;
}
#container-comments-module {
	padding: 0 10px 10px 20px;
}
#container-comments-module .comments-single {
    font-size: 14px;
}
#container-comments-module a.comments-first-line {
    color: #000000;
    margin: 0 0 10px 0;
    width: 100%;
	float: left;
}
.container-product-actions > div.top_product {
    background: transparent !important;
}
.container-product-actions > div.top_product > span {
    width: 63px;
    height: 63px;
    float: left;
}
.container-product-actions span.top_product_2018 {
    background: url('images/top-prdct-icon-new-2018.png') no-repeat transparent;
	background-size: contain;
	width: 57.5px !important;
	height: 57.5px !important;
}
.container-product-actions span.top_product_2019 {
    background: url('images/top-prdct-icon-new-2019.png') no-repeat transparent;
}
.container-product-actions span.top_product_2020 {
    background: url('images/top-prdct-icon-new-2020.png') no-repeat transparent;
}

.container-product-actions span.top_product_2021 {
	background-image: url('images/2021.png');
	background-size: 98% 86%;
	background-repeat: no-repeat;
}

.container-product-actions span.top_product_2022 {
	background-image: url('images/2022.png');
	background-size: 98% 86%;
	background-repeat: no-repeat;
}

.container-product-actions span.top_product_2023 {
	background-image: url('images/2023.png');
	background-size: 98% 86%;
	background-repeat: no-repeat;
}

.product-series-cover img {
	width: 100%;
	float: left;
}
.product-series-cover a:hover > span {
	display: block;
}
.product-series-cover a > span {
	position: absolute;
	top: 80px;
	left: -75px;
	display: none;
	background: #FFFFFF;
	border: 1px solid #d9d9d9;
	font-size: 12px;
	z-index: 1;
	box-sizing: border-box;
	padding: 10px;
	width: 258px;
}
#detail #description .description-info {
    line-height: normal !important;
    font-weight: bold;
}
#series-storage-info-table {
    width: calc(100% - 10px);
    float: left;
    margin: 0 10px 10px 0;

}
#series-storage-info-table td, #series-storage-info-table th  {
    padding: 5px;
    box-sizing: border-box;
}
#series-storage-info-table td {
    border: 1px solid #000000;
    color: #000000;
}
#series-storage-info-table th {
    background: #ac3b60;
    color: #FFFFFF;
    border: 1px solid #ac3b60;
}
.container-toast-notifications {
	width: 100%;
	float: left;
	color: #FFF;
	position: relative;
	display: block
}
.container-toast-notifications > img {
	width: 40px;
	float: left
}
.container-toast-notifications > span {
	width: calc(100% - 40px);
	float: left;
	padding: 0 0 0 5px;
	box-sizing: border-box
}
#series-atyp-info {
    margin: 10px 0 0 0;
    color: #FF0000 !important;
}
.product-images:hover .custom-product-action-under-top-photo {
	opacity: 1;
}
.product-images .custom-product-action-under-top-photo {
    position: absolute;
    bottom: 0;
    opacity: 0;
    transition: .6s;
}
.custom-product-action-under-top-photo {
    width: 100%;
    float: left;
    background: #ac3b60;
    color: #FFFFFF;
    font-size: 14px;
    padding: 10px;
    box-sizing: border-box;
    text-align: center;
}
.custom-product-action-under-top-photo a {
    color: #FFFFFF;
    text-decoration: underline;
    float: none !important;
    font-weight: bold;
}
.custom-product-action-under-top-photo a:hover {
    text-decoration: none;
}
#price-block > p {
    width: 100%;
    float: left;
}
.delivery-prefix, .delivery p span.title, .delivery p span.text, #price-block > p span.title, #price-block > p span.text {
    font-weight: bold;
    color: #000000;
}
#detail #gallery .top-photo #top-photo-made-in-slovakia {
    width: 29%;
    position: absolute;
    right: 0;
    bottom: 30px;
}
#we-call-you-container .g-recaptcha{
    transform: scale(.63);
    -webkit-transform: scale(.63);
    transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
    width: 216px;
    margin: 0 0 0 20px;
	display: inline-block;
}

.gift_1 {
	background: url('images/chranic2.png') no-repeat transparent;
    position: absolute;
    top: 40px;
    right: 0;
    width: 73px !important;
    height: 66px !important;
}

.gift_2 {
	/*
    background: url('images/chranic2.png') no-repeat transparent;
    */
    position: absolute;
    top: 110px;
    right: 0;
    background: #00afef;

    width: 140px !important;
    height: 22px !important;

    text-align: center;

    line-height: 22px;
}

.gift_3 {
	background: url('images/vankus-paplon2.png') no-repeat transparent;
    position: absolute;
    top: 153px;
    right: 0;
    width: 83px !important;
    height: 66px !important;
}

.gift_4 {
	background: url('images/uterak.png') no-repeat transparent;
    position: absolute;
    top: 220px;
    right: 0;
    width: 73px !important;
    height: 58px !important;
}

.gift_5 {
	background: url('images/uterak2x.png') no-repeat transparent;
    position: absolute;
    top: 220px;
    right: 0;
    width: 73px !important;
    height: 58px !important;
}

.cart-not-used-payoff-params-single > div > div {
	margin: 5px 0 0 0;
}
#detail #fieldset-comment #grecaptcharesponse-element {
	width: 100%;
	float: left;
	margin: 10px 0;
	max-width: none;
}

#product-detail .sizes_inputs {
	color: #000000;
	font-size: 14px;
}
#product-detail .sizes_inputs .title {
	margin: 0px 0px 8px 0px;
}
#product-detail .sizes_inputs input {
	margin: 4px 0px 0px 0px;
	color: #000000;
	border: 1px solid #000000;
	height: 40px;
	padding: 0 0 0 2%;
	width: 35%;
}
#product-detail .sizes_inputs .col {
	width: 38%;
	display: inline-block;
}
#product-detail .sizes_inputs .result {
	color: red;
}

#addComment-element {

	margin: 70px 0px 0px 12px;

}

#grecaptcharesponse-element {

	margin: 0px 0px 0px 10px;

}

.product-series-container a img {
	max-width: 100%;
}
#showHeurekaBadgeHere-12 {
	text-align: center;
}
.other-photo img {
	width: 75px;
}
#we-call-you-detail-container {
	width: 100%;
	float: left;
	margin: 0 0 20px 0;
}
#we-call-you-detail-container > p{
	width: 100%;
	float: left;
	font-weight: bold;
	color: #FF0000;
	margin: 0 0 10px 0;
}
#we-call-you-detail-container > ul {
	width: 100%;
	float: left;
	margin: 0 0 10px 0;
}
#we-call-you-detail-container > form {
	width: 100%;
	float: left;
}
#we-call-you-detail-container > ul li::before {
	content: "";
    position: absolute;
    width: 10px;
    left: 0;
    top: 4px;
    height: 5px;
    border-bottom: 4px solid #ac3b60;
    border-left: 4px solid #ac3b60;
    transform: rotate(-45deg);
}
#we-call-you-detail-container > ul li {
	width: 100%;
	float: left;
	list-style: none;
	clear: both;
	padding: 0 0 0 20px;
	box-sizing: border-box;
	position: relative;
	color: #ac3b60;
	font-weight: bold;
}
#we-call-you-detail-container > ul li a {
	color: #ac3b60;
	text-decoration: underline;
}
#we-call-you-detail-container > form > input {
	width: 70%;
	height: 50px;
	border: 2px solid #525252;
	border-radius: 6px;
	padding: 10px 17px;
	box-sizing: border-box;
	margin: 0 0 10px 0;
}
#we-call-you-detail-container > form > .button-type-1 {
	margin: 10px 0 0 0;
  	width: 70%;
  	height: 40px;
  	border-radius: 6px;
}
#we-call-you-detail-container > form > .button-type-1 input {
	box-sizing: border-box;
	width: 100%;
}
#container-detail-code-and-evaluation .icon-cart-delivery {
	display: inline-block;
	float: none;
}
#container-detail-code-and-evaluation .delivery-prefix {
	line-height: 33px;
	vertical-align: top;
	font-size: 15px;
}	
#container-detail-code-and-evaluation .delivery-info {
	line-height: 33px;
	vertical-align: top;
	color: #858585;
	font-size: 15px;
}
#container-detail-code-and-evaluation .detail-free-delivery-info > span {
	line-height: 33px;
	float: none;
	display: inline-block;
	vertical-align: top;
}
.slicknav_brand {
	float: left;
}
.slicknav_btn {
	float: right;
}
.bp-wrap:not(.bp-zoomed) .bp-img {
	cursor: zoom-in;
}
#detail-rost-category-info {
  	width: 100%;
  	float: left;
  	padding: 5px 10px;
  	box-sizing: border-box;
  	color: #ac3b60;
  	font-weight: bold;
  	border: 2px solid #ac3b60;
  	text-align: center;
  	margin: 10px 0 0 0;
}
#show-evaluation-in-detail {
	width: 100%;
	float: left;
	border: 1px solid #ac3b60;
	background: rgba(172,59,96,0.1);
	margin: 10px 0;
	padding: 10px;
	box-sizing: border-box;
}

#show-evaluation-in-detail > p {
	width: 100%;
	float: left;
	font-style: italic;
	color: #000000;
	margin: 0 0 10px 0;
}

#show-evaluation-in-detail > a {
	width: 100%;
	float: left;
	color: #000000;
	text-decoration: underline;
}

#show-evaluation-in-detail > a:hover {
	text-decoration: none;
}
#show-evaluation-in-detail #showHeurekaBadgeHere-11 {
	transform: scale(.85);
	-webkit-transform: scale(.85);
	transform-origin: 0 50px;
	-webkit-transform-origin: 0 50px;
}
.coupon-info-box-countdown::before {
	content: attr(data-price-with-coupon);
}
@media screen and (min-width: 1422px) {
	#head-login ul#user_menu {
		margin: 0 0 0 50px;
	}
	#head-login > a:first-child {
		margin: 0 0 0 50px;
	}
}
@media screen and (min-width: 1222px) and (max-width: 1421px) {
	#head-login ul#user_menu {
		margin: 0 0 0 41px;
	}
}
@media screen and (min-width: 1222px) {
	#container-top-header-strip,
	#container-header {
		padding: 0 20px;
		box-sizing: border-box;
	}
}
@media screen and (min-width: 1037px) and (max-width: 1221px) {
	#head-login ul#user_menu {
		margin: 0 0 0 16px;
	}
}

@media screen and (max-width: 1221px) {

	#product-detail .sizes_inputs input {
		margin: 4px 0px 0px 0px;
		color: #0170a7;
		border: 1px solid #0170a7;
		height: 40px;
		padding: 0 0 0 2%;
		width: 46%;
	}
	#product-detail .sizes_inputs .col {
		width: 48%;
		display: inline-block;
	}

}

@media screen and (min-width: 1037px) {
	#articles-menu .funkcie_eshopu ul.submenu li,
	#articles-menu .active-funkcie_eshopu ul.submenu li,
	.tutorial-single {
		width: 33%;
	}
	.seo-box-index-left {
    	width: 20%;
  	}
  	.seo-box-index-right {
    	width: 80%;
  	}
  	.header-is-small #header #public-cart {
  		margin: -24px 0 0 0;
  	}
  	#container-header-fixed:not(.header-is-small) #header #public-cart {
  		margin: -21px 0 0 0;
  	}
  	#container-header-fixed.header-is-small #header #search {
  		margin: -10px 0 0 -66px;
  	}
  	#container-top-header-strip {
		display: none;
	}
}
@media screen and (max-width: 1036px) {
	.seo-box-index-left {
    	width: 100%;
    	text-align: center;
    	margin: 10px 0 0 0;
  	}
  	.seo-box-index-right {
    	width: 100%;
  	}
  	#top-header-login-list .icon-type-user {
		background: url("images/Images_CMS.png") no-repeat scroll -197px -308px transparent;
	}
}
@media screen and (min-width: 801px) and (max-width: 1036px) {
	#articles-menu .funkcie_eshopu ul.submenu li,
	#articles-menu .active-funkcie_eshopu ul.submenu li {
		width: 50%;
	}
	.tutorial-single {
		width: 49%;
	}
	#detail #gallery .container-product-actions {
		padding: 50px 0 0 0;
	}
}
@media screen and (min-width: 801px) {
	#container-header #search {
		margin: 0 0 0 47px;
	}
	#header-phone-custom {
		margin: 22px 0 0 0;
	}
}
@media screen and (max-width: 800px), screen and (min-width: 1037px) {
	#detail #gallery .container-product-actions {
		padding: 25px 0 0 0;
	}
}
@media screen and (max-width: 800px) {
	#header {
		background-size: contain;
		background-position: center top;
	}
	#header-opacity {
		height: 180px;
	}
	.tutorial-single {
		width: 100%;
	}
	#header-phone-custom {
		margin: 106px 0 0 0;
	}
	#container-header #search {
		margin: 7px 0 0 0;
	}
	.slicknav_nav .depth-1 {
		background: #2aa739;
	}


    .img-catalog-block {
		width: 30%;
        min-width: 130px;
        min-height: 0;
        box-sizing: border-box;
        padding: 0 3%;
        line-height: 1.3;


	}
    .product-images .custom-product-action-under-top-photo {
        opacity: 1;
    }
	#cart-login-form-first-step .buttons {
		width: 100%;
	}
}

/* ================================================================
   PRICE SUMMARY — badge rekapitulácia košíka (portované zo zdravotnicke)
   ================================================================ */

.price-summary-wrapper {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
    background: #fff !important;
    border: 1.5px solid #e8edf5 !important;
    border-radius: 14px !important;
    padding: 20px 24px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    box-sizing: border-box !important;
}
.price-badges {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    flex: 1 !important;
    float: none !important;
    height: auto !important;
    justify-content: center !important;
}
.price-badge {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    background: #f8fafc !important;
    border: 1px solid #edf0f5 !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
}
.price-badge-icon {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    font-family: Arial, sans-serif !important;
    font-size: 17px !important;
    font-style: normal !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    color: #fff !important;
}
.pbi-original-price { background: #2563eb !important; }
.pbi-original-price::after { content: '\20AC' !important; font-size: 17px !important; font-weight: 700 !important; color: #fff !important; font-family: Arial, sans-serif !important; }
.pbi-discount { background: #7dc855 !important; }
.pbi-discount::after { content: '%' !important; font-size: 16px !important; font-weight: 700 !important; color: #fff !important; font-family: Arial, sans-serif !important; }
.pbi-coupon { background: #8b5cf6 !important; }
.pbi-coupon::after { content: 'K' !important; font-size: 15px !important; font-weight: 700 !important; color: #fff !important; font-family: Arial, sans-serif !important; }
.pbi-email { background: #ec4899 !important; }
.pbi-email::after { content: '@' !important; font-size: 14px !important; font-weight: 700 !important; color: #fff !important; font-family: Arial, sans-serif !important; }
.pbi-delivery { background: #3b82f6 !important; }
.pbi-delivery::after { content: '\2192' !important; font-size: 18px !important; font-weight: 700 !important; color: #fff !important; font-family: Arial, sans-serif !important; }
.pbi-free-delivery { background: #16a34a !important; }
.pbi-free-delivery::after { content: '\2713' !important; font-size: 20px !important; font-weight: 700 !important; color: #fff !important; font-family: Arial, sans-serif !important; }
.pbi-pay { background: #f59e0b !important; }
.pbi-pay::after { content: 'P' !important; font-size: 16px !important; font-weight: 700 !important; color: #fff !important; font-family: Arial, sans-serif !important; }
.pbi-gift { background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important; }
.pbi-gift::after { content: '\1F381' !important; font-size: 17px !important; font-family: "Segoe UI Emoji", "Apple Color Emoji", Arial, sans-serif !important; }
.pbi-insurance { background: #9ca3af !important; transition: background 0.18s !important; }
.pbi-insurance::after { content: '\1F6E1' !important; font-size: 15px !important; font-weight: 400 !important; color: #fff !important; font-family: Arial, sans-serif !important; }

.price-badge-free-delivery { border-color: #bbf7d0 !important; background: #f0fdf4 !important; }
.price-badge-text { font-size: 13px !important; color: #444 !important; line-height: 1.3 !important; text-align: left !important; display: flex !important; flex-direction: column !important; gap: 2px !important; }
.price-badge-text strong { color: #323232 !important; font-weight: 600 !important; display: block !important; }
.price-badge-text span { color: #666 !important; font-size: 12px !important; display: block !important; }

.price-badges + .price-summary-card { border-left: 1px solid #edf0f5 !important; padding-left: 24px !important; margin-left: 8px !important; }
.price-summary-card { background: transparent !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; min-width: 240px !important; flex-shrink: 0 !important; display: flex !important; flex-direction: column !important; gap: 0 !important; justify-content: center !important; }
.price-summary-row { display: flex !important; flex-direction: row !important; justify-content: space-between !important; align-items: center !important; padding: 7px 0 !important; border-bottom: 1px solid #f0f0f0 !important; float: none !important; width: 100% !important; }
.price-summary-row.price-summary-total { border-bottom: none !important; padding-top: 12px !important; margin-top: 4px !important; border-top: 2px solid #a0c872 !important; }
.price-summary-row .text { font-size: 14px !important; color: #666 !important; font-weight: 400 !important; display: block !important; float: none !important; width: auto !important; }
.price-summary-row.price-summary-total .text { font-size: 15px !important; font-weight: 700 !important; color: #323232 !important; }
.price-summary-row .price { font-size: 14px !important; font-weight: 600 !important; color: #323232 !important; display: block !important; float: none !important; width: auto !important; text-align: right !important; }
.price-summary-row.price-summary-total .price { font-size: 22px !important; font-weight: 700 !important; color: #323232 !important; }
.price-summary-row.price-summary-free-delivery-row { border-bottom: 1px solid #dcfce7 !important; background: #f0fdf4 !important; border-radius: 6px !important; margin-bottom: 4px !important; }
.price-summary-row.price-summary-free-delivery-row .text { color: #16a34a !important; font-weight: 600 !important; }
.price-summary-row.price-summary-free-delivery-row .price.price-free { color: #16a34a !important; font-weight: 700 !important; font-size: 13px !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; }
.price-summary-discount .text, .price-summary-discount .price { color: #e05252 !important; }
.price-summary-insurance-row .text { color: #374151 !important; font-weight: 500 !important; }
.price-summary-insurance-row .price { color: #374151 !important; font-weight: 600 !important; }

/* Insurance badge — crimson téma */
.price-badge-insurance { cursor: pointer !important; user-select: none !important; border-style: dashed !important; border-color: #d1d5db !important; transition: border-color 0.18s, background 0.18s, box-shadow 0.18s !important; position: relative !important; }
.price-badge-insurance:hover { border-color: #e8c0d0 !important; background: #fff6f9 !important; box-shadow: 0 2px 6px rgba(172,59,96,0.12) !important; }
.price-badge-insurance-active { border-style: solid !important; border-color: #e8c0d0 !important; background: #fff0f5 !important; }
.price-badge-insurance-active:hover { background: #ffe6ef !important; }
.price-badge-insurance-active .pbi-insurance { background: #ac3b60 !important; }
.pbi-ins-check { width: 20px !important; height: 20px !important; border-radius: 4px !important; border: 2px solid #d1d5db !important; background: #fff !important; flex-shrink: 0 !important; margin-left: auto !important; transition: border-color 0.18s, background 0.18s !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 11px 9px !important; }
.price-badge-insurance:hover .pbi-ins-check { border-color: #e8c0d0 !important; }
.price-badge-insurance-active .pbi-ins-check { background-color: #ac3b60 !important; border-color: #ac3b60 !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1' stroke='%23fff' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important; }

/* Third step — stĺpcový layout */
.price-summary-wrapper-third { flex-direction: column !important; gap: 0 !important; }
.price-summary-wrapper-third .price-badges { flex: none !important; }
.price-summary-card-total-only { min-width: 0 !important; border-left: none !important; padding-left: 0 !important; margin-left: 0 !important; margin-top: 4px !important; }
.price-summary-card-total-only .price-summary-total { border-top: 2px solid #a0c872 !important; margin-top: 8px !important; padding-top: 14px !important; }

/* Pôvodná cena badge — skrytá defaultne, viditeľná na 3. kroku a na mobile v .fullPriceAjax */
.price-badge-original-price { display: none !important; }
@media (max-width: 800px) {
    .cart-steps > .fullPriceAjax .price-badge-original-price { display: flex !important; }
}
.t3-render-price-card .price-badge-original-price { display: flex !important; }

/* Responsive — pod 900px stack na mobil */
@media (max-width: 900px) {
    .price-summary-wrapper { flex-direction: column !important; }
    .price-badges + .price-summary-card { border-left: none !important; padding-left: 0 !important; margin-left: 0 !important; border-top: 1px solid #edf0f5 !important; padding-top: 14px !important; }
    .price-summary-card { min-width: 0 !important; }
}

/* ================================================================
   #fullPrice reset — neutralizácia basic-style.css float layoutu
   ================================================================ */
#fullPrice {
    float: none !important;
    clear: both !important;
    background: transparent !important;
    border: none !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 20px 0 !important;
    padding: 0 !important;
    position: static !important;
}
#fullPrice span {
    color: inherit !important;
    font-size: inherit !important;
    font-family: inherit !important;
    background: transparent !important;
}

/* Oprava výšky #fullPrice — niekde iné CSS nastavuje pevnú výšku */
#fullPrice {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

/* ================================================================
   KOŠÍK — tabuľka produktov + príplatkové služby (portované zo zdravotnicke)
   ================================================================ */

/* --- TABUĽKA PRODUKTOV --- */
#cart-info-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 0 !important;
    background: #fff !important;
}
#cart-info-table tr.title td {
    background: #fafafa !important;
    color: #999 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    padding: 10px 14px !important;
    border-bottom: 2px solid #ececec !important;
    border-top: none !important;
    height: auto !important;
}
#cart-info-table tr.normal {
    border-bottom: 1px solid #f2f2f2 !important;
    transition: background 0.15s !important;
    background: #fff !important;
    color: #323232 !important;
}
#cart-info-table tr.normal:hover {
    background: #fafff5 !important;
}
#cart-info-table tr.normal a {
    color: #323232 !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-decoration: none !important;
}
#cart-info-table tr.normal a:hover {
    color: #a0c872 !important;
}
#cart-info-table td.price {
    font-size: 14px !important;
    color: #444 !important;
}
#cart-info-table td.price-all {
    color: #323232 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

/* --- PREŠKRTNUTÁ STARÁ CENA --- */
.cart-old-price {
    display: block !important;
    font-size: 12px !important;
    color: #aaa !important;
    text-decoration: line-through !important;
}

/* --- POČÍTAČ MNOŽSTVA --- */
#cart-info-table .counter p,
div.counter p {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    background: #fff !important;
    float: none !important;
    margin: 0 !important;
    height: 36px !important;
    padding: 0 !important;
}
#cart-info-table .counter span.inputCount,
div.counter span.inputCount {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 36px !important;
    width: auto !important;
    height: 36px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    padding: 0 10px !important;
    color: #323232 !important;
    border-left: 1px solid #ddd !important;
    border-right: 1px solid #ddd !important;
    background: none !important;
    box-sizing: border-box !important;
}
div.counter input[type=submit],
#cart-info-table .counter input[type=submit] {
    width: 34px !important;
    height: 36px !important;
    border: none !important;
    background-color: #f5f5f5 !important;
    color: #555 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: background 0.15s !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
div.counter input[type=submit]:hover,
#cart-info-table .counter input[type=submit]:hover {
    background-color: #a0c872 !important;
    color: #fff !important;
}

/* --- DELETE TLAČIDLO v td --- */
td .button-type-1,
#coupon-remove.button-type-1 {
    background: #f87171 !important;
    border-radius: 6px !important;
    transition: background 0.2s !important;
}
td .button-type-1:hover,
#coupon-remove.button-type-1:hover {
    background: #ef4444 !important;
}
td .button-type-1 a,
#coupon-remove.button-type-1 a {
    color: #fff !important;
    font-weight: 700 !important;
}

/* --- PRÍPLATKOVÁ SLUŽBA --- */
.cart-not-used-payoff-params-single {
    width: 100% !important;
    float: left !important;
    margin: 6px 0 14px 0 !important;
    padding: 14px 16px !important;
    background: #fff6f9 !important;
    border-radius: 10px !important;
    border: 1.5px solid #f0dde8 !important;
    box-sizing: border-box !important;
}
/* Nadpis sekcie */
.cart-not-used-payoff-params-single > p {
    width: 100% !important;
    float: left !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    color: #8a3550 !important;
    margin: 0 0 10px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
}
/* Flex wrapper pre položky */
.cart-not-used-payoff-params-single > div {
    width: 100% !important;
    float: left !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: flex-start !important;
}
/* Každá položka */
.cart-not-used-payoff-params-single > div > div {
    float: none !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 4px !important;
}
/* Klikateľný pill */
.cart-not-used-payoff-params-single > div > div > p:first-child {
    float: none !important;
    cursor: pointer !important;
    padding: 6px 14px !important;
    background: #ffffff !important;
    margin: 0 !important;
    border-radius: 20px !important;
    border: 1.5px solid #e8c0d0 !important;
    color: #8a3550 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
}
.cart-not-used-payoff-params-single > div > div > p:first-child:hover {
    background: #ac3b60 !important;
    border-color: #8a2a4e !important;
    color: #ffffff !important;
}
.cart-not-used-payoff-params-single > div > div > p:first-child.selected,
.cart-not-used-payoff-params-single > div > div > p:first-child.active,
.cart-not-used-payoff-params-single > div > div > p:first-child.checked {
    background: #ac3b60 !important;
    border-color: #8a2a4e !important;
    color: #ffffff !important;
}
/* ? ikona — CSS krúžok (nahradí sprite) */
.cart-not-used-payoff-params-single p.icon-cart-question {
    background: none !important;
    background-image: none !important;
    background-color: #f4d8e4 !important;
    border: 1.5px solid #e8c0d0 !important;
    border-radius: 50% !important;
    width: 20px !important;
    height: 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    position: static !important;
    left: auto !important;
    margin: 0 !important;
    opacity: 1 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #8a3550 !important;
    line-height: 1 !important;
    transition: background-color 0.18s, border-color 0.18s !important;
}
.cart-not-used-payoff-params-single p.icon-cart-question::after {
    content: "?" !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #8a3550 !important;
    line-height: 1 !important;
}
.cart-not-used-payoff-params-single p.icon-cart-question:hover {
    background-color: #ac3b60 !important;
    border-color: #8a2a4e !important;
}
.cart-not-used-payoff-params-single p.icon-cart-question:hover::after {
    color: #fff !important;
}
/* Mobile */
@media screen and (max-width: 800px) {
    .cart-not-used-payoff-params-single {
        padding: 10px 12px !important;
        margin: 4px 0 10px 0 !important;
    }
    .cart-not-used-payoff-params-single > div > div > p:first-child {
        font-size: 12px !important;
        padding: 5px 11px !important;
    }
}

/* --- COUNTER TLAČIDLÁ — SVG ikony miesto textu hodnoty --- */
div.counter #input-remove,
div.counter #input-add,
#cart-info-table .counter #input-remove,
#cart-info-table .counter #input-add {
    width: 34px !important;
    height: 36px !important;
    border: none !important;
    background-color: #f5f5f5 !important;
    color: transparent !important;
    font-size: 0 !important;
    cursor: pointer !important;
    transition: background-color 0.15s !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 18px 18px !important;
}
div.counter #input-remove,
#cart-info-table .counter #input-remove {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='11' width='14' height='2' fill='%23555'/%3E%3C/svg%3E") !important;
}
div.counter #input-add,
#cart-info-table .counter #input-add {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='11' width='14' height='2' fill='%23555'/%3E%3Crect x='11' y='5' width='2' height='14' fill='%23555'/%3E%3C/svg%3E") !important;
}
div.counter #input-remove:hover,
#cart-info-table .counter #input-remove:hover {
    background-color: #a0c872 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='11' width='14' height='2' fill='%23ffffff'/%3E%3C/svg%3E") !important;
}
div.counter #input-add:hover,
#cart-info-table .counter #input-add:hover {
    background-color: #a0c872 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='11' width='14' height='2' fill='%23ffffff'/%3E%3Crect x='11' y='5' width='2' height='14' fill='%23ffffff'/%3E%3C/svg%3E") !important;
}
div.counter p > span:not(.inputCount) {
    display: none !important;
}


/* ================================================================
   NÁKUP BEZ REGISTRÁCIE — moderný formulár (excellent)
   Accent: #ac3b60 (burgundy-crimson)
   ================================================================ */

/* Nadpis "Nákup bez registrácie" */
#cart-buy-form-first-step > p,
#cart-reg-form-first-step > p {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #ac3b60 !important;
    text-align: center !important;
    margin: 30px 0 20px !important;
    letter-spacing: 0.02em !important;
    display: block !important;
    width: 100% !important;
}

/* Card kontajner pre celý formulár */
#cart-buy-form-first-step,
#cart-reg-form-first-step {
    background: #fff !important;
    border: 1.5px solid #f0dde4 !important;
    border-radius: 12px !important;
    padding: 20px 28px 28px !important;
    margin-bottom: 40px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Fix: default.css nastavi float:left na .myform */
#cart-buy-form-first-step .myform,
#cart-reg-form-first-step .myform {
    float: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Zahodiť defaultný fieldset border */
#cart-buy-form-first-step .myform fieldset,
#cart-reg-form-first-step .myform fieldset {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    min-height: 0 !important;
}

/* 2-stĺpcový grid pre polia */
#cart-buy-form-first-step .myform fieldset dl,
#cart-reg-form-first-step .myform fieldset dl {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 4px 16px !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    background: none !important;
    min-height: 0 !important;
    padding: 0 !important;
}

/* Polia na celú šírku — row-full trieda z BuyForm dekorátorov */
#cart-buy-form-first-step .myform fieldset dl .row-full,
#cart-reg-form-first-step .myform fieldset dl .row-full,
#cart-buy-form-first-step .myform fieldset dl .no-reg-info,
#cart-buy-form-first-step .myform fieldset dl .no-reg-info-first-and-second,
#cart-reg-form-first-step .myform fieldset dl .no-reg-info,
#cart-reg-form-first-step .myform fieldset dl .no-reg-info-first-and-second {
    grid-column: 1 / -1 !important;
}

/* Deliver + Company address — rovnaké pravidlá (row-full = celá šírka) */
/* Zahrnuté už v globálnom .row-full pravidle vyššie */

/* Fieldset-data (VOP checkboxy) — späť na 1 stĺpec */
#cart-buy-form-first-step .myform #fieldset-data dl,
#cart-reg-form-first-step .myform #fieldset-data dl {
    grid-template-columns: 1fr !important;
}

/* Štandardný row — všetky varianty tried z BuyForm
   POZOR: display bez !important — jQuery .show()/.hide() musí vedieť override-ovať */
#cart-buy-form-first-step .myform .row,
#cart-buy-form-first-step .myform .row-full,
#cart-buy-form-first-step .myform .row-medium,
#cart-buy-form-first-step .myform .row-medium-margin,
#cart-buy-form-first-step .myform .row-big,
#cart-buy-form-first-step .myform .row-small,
#cart-reg-form-first-step .myform .row,
#cart-reg-form-first-step .myform .row-full,
#cart-reg-form-first-step .myform .row-medium,
#cart-reg-form-first-step .myform .row-medium-margin,
#cart-reg-form-first-step .myform .row-big,
#cart-reg-form-first-step .myform .row-small {
    display: flex;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    float: none !important;
    margin: 0 0 12px !important;
    box-sizing: border-box !important;
}

/* Label */
#cart-buy-form-first-step .myform .row label,
#cart-buy-form-first-step .myform .row-full label,
#cart-buy-form-first-step .myform .row-medium label,
#cart-buy-form-first-step .myform .row-medium-margin label,
#cart-buy-form-first-step .myform .row-big label,
#cart-buy-form-first-step .myform .row-small label,
#cart-reg-form-first-step .myform .row label,
#cart-reg-form-first-step .myform .row-full label,
#cart-reg-form-first-step .myform .row-medium label,
#cart-reg-form-first-step .myform .row-medium-margin label,
#cart-reg-form-first-step .myform .row-big label,
#cart-reg-form-first-step .myform .row-small label {
    font-size: 12px !important;
    color: #666 !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    margin-bottom: 5px !important;
    display: block !important;
    float: none !important;
    position: static !important;
    top: auto !important;
    width: auto !important;
    text-align: left !important;
}

/* Input / Select */
#cart-buy-form-first-step .element input[type='text'],
#cart-buy-form-first-step .element input[type='email'],
#cart-buy-form-first-step .element input[type='tel'],
#cart-buy-form-first-step .element select,
#cart-reg-form-first-step .element input[type='text'],
#cart-reg-form-first-step .element input[type='email'],
#cart-reg-form-first-step .element input[type='tel'],
#cart-reg-form-first-step .element select,
#fieldset-company_address .element input,
#fieldset-deliver_address .element input,
#fieldset-person_address .element input,
#fieldset-registration .element input,
#fieldset-company_address .element select,
#fieldset-deliver_address .element select,
#fieldset-person_address .element select,
#fieldset-registration .element select {
    border-radius: 6px !important;
    border: 1px solid #ddd !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: #fff !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    margin: 0 !important;
    height: auto !important;
    line-height: 1.4 !important;
    color: #333 !important;
    background-image: none !important;
}

#cart-buy-form-first-step .element input[type='text']:focus,
#cart-buy-form-first-step .element input[type='email']:focus,
#cart-buy-form-first-step .element input[type='tel']:focus,
#cart-buy-form-first-step .element select:focus,
#cart-reg-form-first-step .element input[type='text']:focus,
#cart-reg-form-first-step .element input[type='email']:focus,
#cart-reg-form-first-step .element input[type='tel']:focus,
#cart-reg-form-first-step .element select:focus,
#fieldset-company_address .element input:focus,
#fieldset-deliver_address .element input:focus,
#fieldset-person_address .element input:focus,
#fieldset-registration .element input:focus,
#fieldset-company_address .element select:focus,
#fieldset-deliver_address .element select:focus,
#fieldset-person_address .element select:focus {
    border-color: #ac3b60 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(172, 59, 96, 0.12) !important;
}

/* Element wrapper */
#cart-buy-form-first-step .element,
#cart-reg-form-first-step .element {
    width: 100% !important;
    position: relative !important;
    display: block !important;
    float: none !important;
}

/* Success checkmark vo vnútri inputu */
#cart-buy-form-first-step .success-element,
#cart-reg-form-first-step .success-element {
    float: none !important;
    position: absolute !important;
    right: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin-top: 0 !important;
    left: auto !important;
    width: 25px !important;
    height: 25px !important;
    background-size: auto !important;
    z-index: 10 !important;
    pointer-events: none !important;
    overflow: visible !important;
}
#cart-buy-form-first-step .element input[type='text'],
#cart-buy-form-first-step .element input[type='email'],
#cart-buy-form-first-step .element input[type='tel'],
#cart-reg-form-first-step .element input[type='text'],
#cart-reg-form-first-step .element input[type='email'],
#cart-reg-form-first-step .element input[type='tel'] {
    padding-right: 42px !important;
}

/* === FIELDSET-DATA — VOP súhlasy === */
#cart-buy-form-first-step .myform #fieldset-data,
#cart-reg-form-first-step .myform #fieldset-data {
    background: #fdf5f7 !important;
    border-radius: 8px !important;
    border: 1px solid #f0dde4 !important;
    padding: 14px 16px !important;
    margin-top: 6px !important;
}
#cart-buy-form-first-step .myform #fieldset-data dl,
#cart-reg-form-first-step .myform #fieldset-data dl {
    background: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
#cart-buy-form-first-step .myform input[type=checkbox],
#cart-reg-form-first-step .myform input[type=checkbox] {
    accent-color: #ac3b60 !important;
    width: 17px !important;
    height: 17px !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
    order: -1 !important;
}
#cart-buy-form-first-step .myform #fieldset-data .row,
#cart-buy-form-first-step .myform #fieldset-data .row-medium,
#cart-buy-form-first-step .myform #fieldset-data .row-medium-margin,
#cart-reg-form-first-step .myform #fieldset-data .row,
#cart-reg-form-first-step .myform #fieldset-data .row-medium,
#cart-reg-form-first-step .myform #fieldset-data .row-medium-margin {
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
}
#cart-buy-form-first-step .myform #fieldset-data .row label,
#cart-buy-form-first-step .myform #fieldset-data .row-medium label,
#cart-buy-form-first-step .myform #fieldset-data .row-medium-margin label,
#cart-reg-form-first-step .myform #fieldset-data .row label,
#cart-reg-form-first-step .myform #fieldset-data .row-medium label,
#cart-reg-form-first-step .myform #fieldset-data .row-medium-margin label {
    font-weight: 400 !important;
    color: #444 !important;
    line-height: 1.5 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 13px !important;
}

/* === CHECKBOXY "Tovar doručiť" / "Nakupujem na firmu" — pill buttons === */
.no-reg-info-first-and-second {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
    margin: 8px 0 18px !important;
}
.no-reg-info-first-and-second > p {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 9px 16px !important;
    border: 1.5px solid #d1d5db !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    color: #374151 !important;
    cursor: pointer !important;
    background: #fafafa !important;
    transition: border-color 0.2s, background 0.2s !important;
    font-weight: 500 !important;
    margin: 0 !important;
    float: none !important;
}
.no-reg-info-first-and-second > p:hover {
    border-color: #ac3b60 !important;
    background: #fdf0f3 !important;
}
.no-reg-info-first-and-second label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 9px 16px !important;
    border: 1.5px solid #d1d5db !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    color: #374151 !important;
    cursor: pointer !important;
    background: #fafafa !important;
    transition: border-color 0.2s, background 0.2s !important;
    font-weight: 500 !important;
    float: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin-bottom: 0 !important;
}
.no-reg-info-first-and-second label:hover {
    border-color: #ac3b60 !important;
    background: #fdf0f3 !important;
}
.no-reg-info-first-and-second input[type=checkbox] {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    accent-color: #ac3b60 !important;
    cursor: pointer !important;
    margin: 0 !important;
    float: none !important;
    flex-shrink: 0 !important;
}

/* Skryť "Fakturačná adresa" nadpis — je duplikát, máme ho v > p */
#cart-buy-form-first-step .no-reg-info:not(.no-reg-info-first-and-second) {
    display: none !important;
}

/* === VOP checkbox riadky (data-element) === */
#data-element .row {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 12px !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 8px !important;
}
#data-element .row .element {
    display: flex !important;
    align-items: center !important;
    padding-top: 0 !important;
    flex-shrink: 0 !important;
    order: -1 !important;
    width: auto !important;
    float: none !important;
}
#data-element .row label.left {
    order: 1 !important;
    flex: 1 !important;
    display: inline !important;
    font-size: 13px !important;
    color: #4b5563 !important;
    cursor: pointer !important;
    line-height: 1.55 !important;
    float: none !important;
    width: auto !important;
    text-align: left !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
}
#data-element input[type=checkbox] {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    margin: 0 !important;
    accent-color: #ac3b60 !important;
    cursor: pointer !important;
    float: none !important;
}

/* === DELIVERY ADDRESS — initial hide riešený cez JS v show-title-address-2.phtml === */
#deliver_address-element fieldset dl {
    min-height: 0;
}

/* .cart-steps > form fix */
.cart-steps > form {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Poznámka k objednávke textarea */
#cart_description label {
    font-size: 13px !important;
    color: #666 !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    display: block !important;
    margin-bottom: 8px !important;
}
#cart_description textarea {
    width: 100% !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    min-height: 80px !important;
    resize: vertical !important;
    background: #fff !important;
    transition: border-color 0.2s !important;
}
#cart_description textarea:focus {
    border-color: #ac3b60 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(172, 59, 96, 0.12) !important;
}


/* ============================================================
   SPÔSOB PLATBY & DOPRAVY — Crimson Studio cards
   ============================================================ */

/* Wrapper — 2 stĺpce vedľa seba */
#cart-coutry-pay-delivery-selections {
    display: flex !important;
    gap: 20px !important;
    align-items: stretch !important;
    margin: 28px 0 20px !important;
}

/* Každý stĺpec — biela karta s ružovým okrajom */
.cart-cols-2, .cart-cols-3 {
    flex: 1 !important;
    background: #fff !important;
    border-radius: 12px !important;
    border: 1.5px solid #f0dde4 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(172,59,96,0.07) !important;
}

/* Header — krimson gradient */
.bg-cart-block-radio {
    background: linear-gradient(135deg, #ac3b60 0%, #c4527a 100%) !important;
    padding: 14px 18px !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 52px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.bg-cart-block-radio p {
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    margin: 0 !important;
    padding: 0 !important;
    padding-right: 44px !important;
}

/* Ikona — kreditná karta (platba) */
.bg-cart-block-radio.cart-header-pay::after {
    content: '' !important;
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 32px !important;
    height: 32px !important;
    opacity: 0.85 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='4' width='22' height='16' rx='2' ry='2'/%3E%3Cline x1='1' y1='10' x2='23' y2='10'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
}

/* Ikona — kamión (doprava) */
.bg-cart-block-radio.cart-header-delivery::after {
    content: '' !important;
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 32px !important;
    height: 32px !important;
    opacity: 0.85 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='3' width='15' height='13'/%3E%3Cpolygon points='16 8 20 8 23 11 23 16 16 16 16 8'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
}

/* Kontajner pre radio možnosti */
.cart-first-radio-container {
    padding: 12px 14px 6px !important;
    flex: 1 !important;
}

/* Skryť DT (label nadpis) a HR separátory */
.cart-first-radio-container dt,
.cart-first-radio-container hr.space {
    display: none !important;
}

/* Skryť obrázky (img pred DD) */
.cart-first-radio-container > img {
    display: none !important;
}

/* Každá možnosť — karta */
.cart-first-radio-container dd {
    background: #f8fafc !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    position: relative !important;
    overflow: hidden !important;
    transition: border-color 0.2s, background 0.2s !important;
    list-style: none !important;
}

.cart-first-radio-container dd:hover {
    border-color: #d4a0b0 !important;
    background: #fdf8f9 !important;
}

/* Label vo vnútri DD */
.cart-first-radio-container dd label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 13px 40px 13px 16px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    color: #374151 !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

/* Radio input */
.cart-first-radio-container dd input[type="radio"] {
    accent-color: #ac3b60 !important;
    width: 17px !important;
    height: 17px !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
}

/* Vybraný stav — ružové pozadie + krimson okraj */
.cart-first-radio-container dd:has(input[type="radio"]:checked) {
    background: #fdf0f3 !important;
    border-color: #ac3b60 !important;
}

/* Ľavý farebný pruh pri vybranom stave */
.cart-first-radio-container dd:has(input[type="radio"]:checked)::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 4px !important;
    background: linear-gradient(180deg, #ac3b60, #c4527a) !important;
    border-radius: 0 !important;
}

/* Fajka pri vybranom stave */
.cart-first-radio-container dd:has(input[type="radio"]:checked)::after {
    content: '✓' !important;
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #ac3b60 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}

/* Popis pod možnosťou (payWithPicture) */
.cart-first-radio-container .payWithPicture {
    background: #f0e8ec !important;
    border-top: 1px solid #f0dde4 !important;
    border-radius: 0 0 10px 10px !important;
    padding: 8px 16px 10px !important;
    font-size: 13px !important;
    color: #6b7280 !important;
    line-height: 1.5 !important;
}

/* Skryť obrázky priamo v cart-first-radio-container (pred DD) */
.cart-first-radio-container img {
    display: none !important;
}

/* Loading gif */
#index-load-ajax {
    display: none !important;
}


/* Oprava šírky kariet — plná šírka kontajnera */
.cart-first-radio-container dl {
    margin: 0 !important;
    padding: 0 !important;
}

.cart-first-radio-container dd {
    width: 100% !important;
    box-sizing: border-box !important;
    display: block !important;
}

.cart-first-radio-container dd label {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* payWithPicture — plná šírka */
.cart-first-radio-container .payWithPicture {
    width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 10px !important;
}


/* ============================================================
   OPRAVA: Popis pripojený ku karte + okraje
   ============================================================ */

/* Všetky description divy v radio kontajneri (s triedou alebo bez) */
.cart-first-radio-container dl > div {
    background: #f5f0f2 !important;
    border: 1.5px solid #e5e7eb !important;
    border-top: none !important;
    border-radius: 0 0 9px 9px !important;
    padding: 8px 16px 10px !important;
    font-size: 13px !important;
    color: #6b7280 !important;
    line-height: 1.5 !important;
    margin-top: -10px !important;
    padding-top: 14px !important;
    margin-bottom: 10px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    position: relative !important;
    z-index: 0 !important;
}

/* DD pred description divom — bez spodných zaoblení */
.cart-first-radio-container dd:has(+ div) {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-bottom: none !important;
    margin-bottom: 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Keď je vybraté a má popis pod sebou */
.cart-first-radio-container dd:has(input:checked) + div {
    background: #fce8ef !important;
    border-color: #ac3b60 !important;
    border-top: none !important;
}

/* Oprava pravého okraja — odstraniť overflow: hidden z dd */
.cart-first-radio-container dd {
    overflow: visible !important;
}


/* ============================================================
   OPRAVA SELEKTORA: popis je priamy potomok kontajnera (nie dl)
   ============================================================ */

/* Description div — priame dieťa radio kontajnera */
.cart-first-radio-container > div {
    background: #f5f0f2 !important;
    border: 1.5px solid #e5e7eb !important;
    border-top: none !important;
    border-radius: 0 0 9px 9px !important;
    padding: 8px 16px 14px !important;
    font-size: 13px !important;
    color: #6b7280 !important;
    line-height: 1.5 !important;
    margin-top: 0px !important;
    margin-bottom: 10px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    position: relative !important;
    z-index: 0 !important;
    display: block !important;
}

/* DD pred description divom — bez spodného okraja a zaoblenia */
.cart-first-radio-container dd:has(+ div) {
    border-bottom: none !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    margin-bottom: 0 !important;
}

/* Vybraté — popis má krimson farby */
.cart-first-radio-container dd:has(input:checked) + div {
    background: #fce8ef !important;
    border-color: #ac3b60 !important;
}


/* ============================================================
   OPRAVA ŠPECIFICITY: border-top na description divoch
   (ID selektor = vyššia váha ako .payWithPicture trieda)
   ============================================================ */
#cart-first-radio-pay-type > div,
#cart-first-radio-delivery-type > div {
    border-top: none !important;
    background: #f5f0f2 !important;
    border: 1.5px solid #e5e7eb !important;
    border-top: none !important;
    border-radius: 0 0 9px 9px !important;
    padding: 8px 16px 12px !important;
    margin-bottom: 10px !important;
    font-size: 13px !important;
    color: #6b7280 !important;
    line-height: 1.5 !important;
}

/* Vybrané — krimson farby pre popis */
.cart-first-radio-container dd:has(input:checked) + div {
    background: #fce8ef !important;
    border-color: #ac3b60 !important;
    border-top: none !important;
}


/* ============================================================
   OPRAVA: popis vybranej možnosti — ID selektor pre vyššiu váhu
   ============================================================ */
#cart-first-radio-pay-type > dd:has(input:checked) + div,
#cart-first-radio-delivery-type > dd:has(input:checked) + div {
    background: #fce8ef !important;
    border-color: #ac3b60 !important;
    border-top: none !important;
}


/* ============================================================
   OPRAVA: Ikony v headeri + karty prilepené vpravo
   ============================================================ */

/* Header — flex layout, ikona ako flex item (nie absolute) */
.bg-cart-block-radio {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

/* Ikona — statická, nie absolute */
.bg-cart-block-radio::after {
    position: static !important;
    transform: none !important;
    flex-shrink: 0 !important;
    width: 28px !important;
    height: 28px !important;
    opacity: 0.85 !important;
    display: block !important;
}

/* Nadpis — flex-grow */
.bg-cart-block-radio p {
    flex: 1 !important;
    padding-right: 0 !important;
}

/* Kontajner — padding vpravo pre dýchací priestor */
.cart-first-radio-container {
    padding: 12px 16px 8px !important;
}

/* Karty — padding label vpravo zmenšiť (nie 40px) */
.cart-first-radio-container dd label {
    padding: 13px 36px 13px 16px !important;
}

/* Fajka — menší odskok od pravého okraja */
.cart-first-radio-container dd:has(input[type="radio"]:checked)::after {
    right: 12px !important;
}


/* ============================================================
   OPRAVA IKON: overflow na správnom mieste
   ============================================================ */

/* Overflow na stĺpcoch — hidden, header má box-sizing:border-box takže nepretečie */
.cart-cols-2, .cart-cols-3 {
    overflow: hidden !important;
}

/* Header — zaoblenie vrchu */
.bg-cart-block-radio {
    overflow: visible !important;
    border-radius: 10px 10px 0 0 !important;
}

/* Ikona — absolute, no dostatočne vpravo od rohu */
.bg-cart-block-radio.cart-header-pay::after,
.bg-cart-block-radio.cart-header-delivery::after {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 28px !important;
    height: 28px !important;
}


/* OVERENÉ widget je position:fixed — nepotrebuje extra padding */
#cart-coutry-pay-delivery-selections {
    padding-right: 0 !important;
}


/* box-sizing: border-box aby padding nezväčšoval šírku wrappera */
#cart-coutry-pay-delivery-selections {
    box-sizing: border-box !important;
}


/* ============================================================
   VIZUÁLNE VYLEPŠENIA — všetko naraz
   ============================================================ */

/* Stĺpce — stretch, aby mali rovnakú výšku */
#cart-coutry-pay-delivery-selections {
    align-items: stretch !important;
}

/* Kontajner — menej padding navrchu, viac vnútri */
.cart-first-radio-container {
    padding: 10px 14px 10px !important;
}

/* Header — väčší font a padding */
.bg-cart-block-radio p {
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
}

/* Karty — plná šírka, jemnejší tieň */
.cart-first-radio-container dd {
    box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
}

/* Ľavý červený pruh — výraznejší */
.cart-first-radio-container dd:has(input[type="radio"]:checked)::before {
    width: 5px !important;
    border-radius: 0 !important;
}

/* Vybraná karta — silnejší shadow */
.cart-first-radio-container dd:has(input[type="radio"]:checked) {
    box-shadow: 0 2px 8px rgba(172,59,96,0.18) !important;
}

/* Label v DD — kompaktnejší */
.cart-first-radio-container dd label {
    padding: 11px 36px 11px 14px !important;
    font-size: 13.5px !important;
}

/* Popis — kompaktnejší, lepší text */
#cart-first-radio-pay-type > div,
#cart-first-radio-delivery-type > div {
    padding: 7px 14px 9px !important;
    font-size: 12.5px !important;
    color: #7a6b72 !important;
    font-style: italic !important;
}

/* Odsadenie medzi skupinami karta+popis */
.cart-first-radio-container dd:has(+ div),
.cart-first-radio-container dd:not(:has(+ div)) {
    margin-bottom: 0 !important;
}

/* Posledná karta (Hotovosť) — malý bottom margin */
.cart-first-radio-container dd:last-of-type {
    margin-bottom: 4px !important;
}

/* Hover na nevybranej karte */
.cart-first-radio-container dd:not(:has(input:checked)):hover {
    border-color: #d4a0b0 !important;
    background: #fdf8f9 !important;
}


/* ============================================================
   STEP INDICATOR — moderný stepper (kruh + čiara)
   ============================================================ */

/* Reset pseudo-elementov pôvodnej témy */
#steps-cart li::before,
#steps-cart li::after,
#steps-cart li.active::before,
#steps-cart li.active::after,
#steps-cart li.normal::before,
#steps-cart li.normal::after {
    content: none !important;
    display: none !important;
}

/* Wrapper */
#steps-cart {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    list-style: none !important;
    margin: 0 0 24px 0 !important;
    padding: 18px 0 !important;
    gap: 0 !important;
    font-size: 0 !important;
    background: transparent !important;
}

/* Každý krok */
#steps-cart li {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 14px !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
    width: fit-content !important;
    position: relative !important;
}

/* Číselný kruh */
#steps-cart li .step-num {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
    transition: all 0.2s !important;
}

/* Label text */
#steps-cart li .step-label {
    font-size: 13.5px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.1px !important;
}

/* ─── Aktívny krok ─── */
#steps-cart li.active .step-num {
    background: linear-gradient(135deg, #ac3b60 0%, #c4527a 100%) !important;
    color: #fff !important;
    box-shadow: 0 3px 10px rgba(172,59,96,0.35) !important;
}

#steps-cart li.active .step-label {
    color: #ac3b60 !important;
    font-weight: 700 !important;
}

/* ─── Neaktívny krok ─── */
#steps-cart li.normal .step-num {
    background: #fff !important;
    color: #c0c7d0 !important;
    border: 2px solid #dde2e8 !important;
    box-shadow: none !important;
}

#steps-cart li.normal .step-label {
    color: #b0b8c1 !important;
    font-weight: 400 !important;
}

/* ─── Spojovacia čiara medzi krokmi ─── */
#steps-cart li.active + li.normal::before {
    content: '' !important;
    display: inline-block !important;
    width: 80px !important;
    height: 2px !important;
    background: linear-gradient(90deg, #ddd0d5 0%, #e8ecf0 100%) !important;
    margin: 0 18px !important;
    flex-shrink: 0 !important;
    border-radius: 2px !important;
    position: static !important;
    transform: none !important;
    top: auto !important;
    left: auto !important;
    vertical-align: middle !important;
}


/* ============================================================
   KROK 3 — Odoslanie objednávky
   ============================================================ */

/* ── Tabuľka produktov ── */
#cart-info-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #fff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(172,59,96,0.07) !important;
    border: 1.5px solid #f0dde4 !important;
    margin-bottom: 20px !important;
}

#cart-info-table tr.title td {
    background: linear-gradient(135deg, #ac3b60 0%, #c4527a 100%) !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    padding: 13px 18px !important;
    border: none !important;
}

#cart-info-table tr.normal {
    border-bottom: 1px solid #f5e8ed !important;
}

#cart-info-table tr.normal:last-child {
    border-bottom: none !important;
}

#cart-info-table tr.normal td {
    padding: 14px 18px !important;
    vertical-align: middle !important;
    font-size: 13.5px !important;
    color: #3d2233 !important;
    background: #fff !important;
    border-bottom: 1px solid #f5e8ed !important;
}

#cart-info-table tr.normal:last-child td {
    border-bottom: none !important;
}

#cart-info-table td.third-step-img img {
    border-radius: 6px !important;
    border: 1px solid #f0dde4 !important;
}

#cart-info-table td.third-step-product-count {
    color: #6b7280 !important;
    font-size: 13px !important;
    white-space: nowrap !important;
}

#cart-info-table td.price-all {
    font-weight: 600 !important;
    color: #ac3b60 !important;
    white-space: nowrap !important;
    text-align: right !important;
}

#cart-info-table td a {
    color: #3d2233 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

#cart-info-table td a:hover {
    color: #ac3b60 !important;
}

/* ── Header "Informácie o objednávke" ── */
.third-step-bg-cart-block {
    background: linear-gradient(135deg, #ac3b60 0%, #c4527a 100%) !important;
    border-radius: 10px 10px 0 0 !important;
    padding: 13px 18px !important;
    border: none !important;
    margin: 0 !important;
}

.third-step-bg-cart-block p,
.third-step-bg-cart-block span.delivery {
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}

/* ── Info riadky (label + hodnota) ── */
.third-cart-order-info {
    background: #fff !important;
    border-radius: 12px !important;
    border: 1.5px solid #f0dde4 !important;
    box-shadow: 0 2px 12px rgba(172,59,96,0.07) !important;
    overflow: hidden !important;
    margin-bottom: 24px !important;
}

.info-catr.third-step-info-catr {
    padding: 6px 0 !important;
}

.info-catr.third-step-info-catr p {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    padding: 10px 20px !important;
    margin: 0 !important;
    border-bottom: 1px solid #f5e8ed !important;
    font-size: 13.5px !important;
    gap: 16px !important;
}

.info-catr.third-step-info-catr p:last-child {
    border-bottom: none !important;
}

.info-catr.third-step-info-catr p span.title {
    color: #7a6b72 !important;
    font-weight: 400 !important;
    flex-shrink: 0 !important;
    min-width: 180px !important;
    font-size: 13px !important;
}

.info-catr.third-step-info-catr p span.prepend-2 {
    color: #2d1f28 !important;
    font-weight: 500 !important;
    text-align: right !important;
    flex: 1 !important;
}

/* Zvýraznenie celkovej sumy */
.info-catr.third-step-info-catr p:has(span.title:first-child) {
    transition: background 0.15s !important;
}

/* Celková suma — špeciálny riadok */
.third-step-total-row,
.info-catr.third-step-info-catr p.total-row {
    background: #fdf0f3 !important;
    border-top: 1.5px solid #f0dde4 !important;
    border-bottom: 1.5px solid #f0dde4 !important;
}

.third-step-total-row span.title,
.info-catr.third-step-info-catr p.total-row span.title {
    font-weight: 600 !important;
    color: #ac3b60 !important;
}

.third-step-total-row span.prepend-2,
.info-catr.third-step-info-catr p.total-row span.prepend-2 {
    font-weight: 700 !important;
    color: #ac3b60 !important;
    font-size: 15px !important;
}

/* ── Tlačidlá (Späť / Dokončiť) ── */
.third-cart-submit {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
}

/* Heureka / Overené zákazníkmi checkbox — celá šírka, vlastný riadok */
#third-cart-heureka-check-customer {
    flex-basis: 100% !important;
    width: 100% !important;
    font-size: 13px !important;
    color: #7a6b72 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
}

/* Späť tlačidlo — div wrapper */
.third-cart-submit .button-type-back {
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 8px !important;
}

/* Späť tlačidlo — link */
.third-cart-submit .button-type-back a.buttons-text {
    display: inline-flex !important;
    align-items: center !important;
    padding: 11px 22px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #ac3b60 !important;
    background: #fff !important;
    border: 1.5px solid #e0c0cb !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: all 0.18s !important;
    cursor: pointer !important;
}

.third-cart-submit .button-type-back a.buttons-text:hover {
    background: #fdf0f3 !important;
    border-color: #ac3b60 !important;
}

/* Dokončiť tlačidlo — div wrapper, push to right */
.third-cart-submit .button-type-1.corfimation-button {
    margin-left: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 28px !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #fff !important;
    background: linear-gradient(135deg, #ac3b60 0%, #c4527a 100%) !important;
    border: none !important;
    box-shadow: 0 4px 16px rgba(172,59,96,0.30) !important;
    cursor: pointer !important;
    transition: all 0.18s !important;
    letter-spacing: 0.2px !important;
    white-space: nowrap !important;
}

/* Submit input vo vnútri div.corfimation-button */
.third-cart-submit .button-type-1.corfimation-button input[type="submit"] {
    background: none !important;
    border: none !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    padding: 0 !important;
    white-space: nowrap !important;
    letter-spacing: 0.2px !important;
}

.third-cart-submit .button-type-1.corfimation-button:hover {
    box-shadow: 0 6px 20px rgba(172,59,96,0.42) !important;
    transform: translateY(-1px) !important;
}

/* ── Summary card (bonusy / zľavy pod tabuľkou) ── */
.cart-third-summary-card {
    margin-bottom: 20px !important;
}


/* ============================================================
   KATALÓG — modernizácia produktových kariet
   ============================================================ */

/* ── Karta produktu (display NEPREPISUJEME — zostáva inline-block z style.min.css) ── */
.product-third {
    background: #fff !important;
    border-radius: 14px !important;
    border: 1.5px solid #f0dde4 !important;
    box-shadow: 0 2px 12px rgba(172,59,96,0.07) !important;
    overflow: visible !important;
    transition: box-shadow 0.22s, transform 0.22s !important;
    position: relative !important;
    vertical-align: top !important;
}

/* Clip only image area (for hover zoom), not whole card */
.product-third .product-images {
    overflow: hidden !important;
    border-radius: 0 !important;
}

.product-third:hover,
.product-special:hover.product-third {
    box-shadow: 0 8px 32px rgba(172,59,96,0.16) !important;
    transform: translateY(-3px) !important;
}

/* ── Názov produktu ── */
.product-special-title {
    padding: 14px 16px 10px !important;
    background: #fff !important;
    text-align: left !important;
    border-bottom: 1px solid #f5e8ed !important;
    min-height: 52px !important;
}

.product-special:hover .product-special-title {
    background: #fff !important;
}

.product-special-title h2 {
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}

.product-special-title h2 a {
    color: #2d1f28 !important;
    text-decoration: none !important;
}

.product-special-title h2 a:hover {
    color: #ac3b60 !important;
}

/* ── Oblasť obrázka ── */
.product-images {
    position: relative !important;
    overflow: hidden !important;
    background: #fafafa !important;
    text-align: center !important;
}

.product-images > a img {
    transition: transform 0.3s ease !important;
    display: block !important;
    margin: 0 auto !important;
}

.product-third:hover .product-images > a img {
    transform: scale(1.04) !important;
}

/* ── Výsačky (labely) — štýl bez absolútneho pozicionovania ── */
/* Všetky .clear labely sa radiia pod sebou (default float+clear z default.css) */
.container-product-actions > .clear {
    position: static !important;
    bottom: auto !important;
    margin: 0 0 4px 0 !important;
    z-index: auto !important;
    background: transparent !important;
}

.container-product-actions > .clear > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, #ac3b60 0%, #c4527a 100%) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 4px 10px !important;
    border-radius: 20px !important;
    box-shadow: 0 2px 6px rgba(172,59,96,0.25) !important;
    letter-spacing: 0.2px !important;
}

/* ── Hover banner pod obrázkom ── */
.product-images .custom-product-action-under-top-photo {
    background: rgba(172,59,96,0.88) !important;
    backdrop-filter: blur(2px) !important;
    font-size: 12.5px !important;
    padding: 8px 12px !important;
}

/* ── Spodná časť karty ── */
.product-content {
    padding: 12px 14px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    gap: 6px !important;
}

/* ── Doručenie ── */
.catalog-delivery_name.delivery-show-title {
    font-size: 12px !important;
    color: #6b7280 !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.catalog-delivery_name .custom-delivery-name-part-color {
    font-weight: 600 !important;
    color: #16a34a !important;
}

/* Dodacia lehota — farba podľa textu riešená JS-om, default oranžová */
.catalog-delivery_name .custom-delivery-name-part-color {
    color: #ea580c !important;
}

/* ── Doprava zadarmo ── */
p.catalog-free-delivery-info {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 12px !important;
    color: #16a34a !important;
    font-weight: 600 !important;
    margin: 0 !important;
    background: #f0fdf4 !important;
    padding: 3px 8px !important;
    border-radius: 20px !important;
    width: fit-content !important;
}

/* ── Cena — základný štýl ── */
p.price {
    margin: 4px 0 2px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1px !important;
}

p.price .old_price {
    font-size: 12.5px !important;
    color: #9ca3af !important;
    text-decoration: line-through !important;
    font-weight: 400 !important;
}

p.price .normal_price {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #ac3b60 !important;
    line-height: 1.1 !important;
}

p.price .detail_price_product {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #ac3b60 !important;
}

/* ── Kupónová cena + odpočítavanie — solid box ako zdravotnicke ── */
.coupon-info-box-countdown {
    background: #ac3b60 !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 6px 10px !important;
    font-size: 12px !important;
    color: #fff !important;
    font-weight: 600 !important;
    display: inline-block !important;
    width: fit-content !important;
}

.coupon-info-box-countdown::before {
    display: none !important;
}

.coupon-info-box-countdown .coupon-label {
    display: block !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    color: rgba(255,255,255,0.85) !important;
    line-height: 1.2 !important;
}

.coupon-info-box-countdown .coupon-price {
    display: block !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #fff !important;
    line-height: 1.3 !important;
    margin-top: 1px !important;
}

.coupon-info-box-countdown .hasCountdown {
    display: block !important;
    font-size: 11px !important;
    color: rgba(255,255,255,0.75) !important;
    font-weight: 400 !important;
    margin-top: 2px !important;
}

/* ── Tlačidlo Do košíka ── */
.add-cart-catalog {
    margin-top: 4px !important;
}

.button-add-cart-button {
    width: 100% !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, #ac3b60 0%, #c4527a 100%) !important;
    box-shadow: 0 3px 12px rgba(172,59,96,0.28) !important;
    transition: box-shadow 0.18s, transform 0.18s !important;
    border: none !important;
}

/* Prekonanie default.css: .product-third .product-content .button-add-cart-button { display: inline-block } */
/* Pokrýva catalog-block aj products-in-left-menu — !important vyhráva nad default.css ktorý nemá !important */
.product-third .product-content .button-add-cart-button,
.product-second .product-content .button-add-cart-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}

.button-add-cart-button:hover {
    box-shadow: 0 5px 18px rgba(172,59,96,0.40) !important;
    transform: translateY(-1px) !important;
}

.button-add-cart-button input.add-cart-button {
    width: 100% !important;
    background: none !important;
    border: none !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 11px 16px !important;
    cursor: pointer !important;
    letter-spacing: 0.3px !important;
    display: block !important;
    line-height: 1.4 !important;
}

/* Fieldset reset — browser pridáva padding ktorý posúva text dole */
.add-cart-catalog form,
.add-cart-catalog fieldset {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    min-inline-size: unset !important;
}

/* ── Coupon info text ── */
.coupon-info-box {
    font-size: 10.5px !important;
    color: #b0b8c1 !important;
    line-height: 1.35 !important;
    margin-top: 6px !important;
    background: none !important;
    border: none !important;
    padding: 0 2px !important;
    text-align: center !important;
}

/* ── Feature badges (show-appurtenances) ── */
.show-appurtenances {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    margin: 2px 0 !important;
}


/* ── Všetky badge typy — pill štýl (rovnaký ako .clear) ── */
.container-product-actions > div.sale,
.container-product-actions > div.clearance_sale,
.container-product-actions > div.sale_collection,
.container-product-actions > div.last_items,
.container-product-actions > div.top_bestseller,
.container-product-actions > div.action,
.container-product-actions > div.new,
.container-product-actions > div.discount,
.container-product-actions > div.hot_tip {
    background: transparent !important;
    margin: 0 0 4px 0 !important;
}

.container-product-actions > div.sale > span,
.container-product-actions > div.clearance_sale > span,
.container-product-actions > div.sale_collection > span,
.container-product-actions > div.last_items > span,
.container-product-actions > div.top_bestseller > span,
.container-product-actions > div.action > span,
.container-product-actions > div.new > span,
.container-product-actions > div.discount > span,
.container-product-actions > div.hot_tip > span {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 10px !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px !important;
    float: none !important;
}

/* Farby zachované podľa typu */
.container-product-actions > div.sale > span,
.container-product-actions > div.clearance_sale > span,
.container-product-actions > div.sale_collection > span {
    background: #cf1518 !important;
    box-shadow: 0 2px 6px rgba(207,21,24,0.3) !important;
}

.container-product-actions > div.last_items > span {
    background: #d9527a !important;
    box-shadow: 0 2px 6px rgba(217,82,122,0.3) !important;
}

.container-product-actions > div.top_bestseller > span {
    background: #64a644 !important;
    box-shadow: 0 2px 6px rgba(100,166,68,0.3) !important;
}

.container-product-actions > div.action > span,
.container-product-actions > div.new > span,
.container-product-actions > div.discount > span,
.container-product-actions > div.hot_tip > span {
    background: linear-gradient(135deg, #ac3b60 0%, #c4527a 100%) !important;
    box-shadow: 0 2px 6px rgba(172,59,96,0.25) !important;
}

/* ── Vypnutie blikania výsačiek (hovering animation z webunicatemysh.css) ── */
.container-product-actions > div.clear {
    animation: none !important;
}

/* ── Variant A — Soft Pastel výsačky ── */

/* Základné text-labely a zľavový % badge (.clear) */
.container-product-actions > .clear > span {
    background: #e0f2fe !important;
    color: #0369a1 !important;
    box-shadow: none !important;
}

/* Výpredaj — sale, clearance_sale, sale_collection */
.container-product-actions > div.sale > span,
.container-product-actions > div.clearance_sale > span,
.container-product-actions > div.sale_collection > span {
    background: #fee2e2 !important;
    color: #991b1b !important;
    box-shadow: none !important;
}

/* Bestseller */
.container-product-actions > div.top_bestseller > span {
    background: #dcfce7 !important;
    color: #166534 !important;
    box-shadow: none !important;
}

/* Posledné kusy */
.container-product-actions > div.last_items > span {
    background: #fef9c3 !important;
    color: #854d0e !important;
    box-shadow: none !important;
}

/* Ostatné (action, new, discount, hot_tip) */
.container-product-actions > div.action > span,
.container-product-actions > div.new > span,
.container-product-actions > div.discount > span,
.container-product-actions > div.hot_tip > span {
    background: #fce7f3 !important;
    color: #9d174d !important;
    box-shadow: none !important;
}

/* ── Katalóg — full-width grid, menšie medzery ── */
.catalog-block {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 6px !important;
    font-size: 16px !important;
}

.catalog-block .product-third {
    width: 100% !important;
    margin: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
    padding: 10px 0 10px 0 !important;
}

/* ── Cena v katalógu — CSS Grid layout (kupon LEFT 60%, cena RIGHT 40%) ── */

/* product-content ako 2-stĺpcový grid kontajner */
.catalog-block .product-third .product-content {
    display: grid !important;
    grid-template-columns: 55% 45% !important;
    grid-auto-flow: row dense !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

/* Všetky priame deti: plná šírka (1 / -1), floaty ignorované v gridi */
.catalog-block .product-third .product-content > * {
    grid-column: 1 / -1 !important;
    float: none !important;
    width: auto !important;
    box-sizing: border-box !important;
}

/* Skry float bariéru */
.catalog-block .product-third .product-content .catalog-hours-left-for-actual-price-countdown {
    display: none !important;
}

/* Cena — RIGHT stĺpec (40%), auto-placement ju umiestni do rovnakého riadku ako kupon */
.catalog-block .product-third .product-content p.price {
    grid-column: 2 !important;
    float: none !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-align: right !important;
    padding-right: 4px !important;
    padding-left: 2px !important;
    margin-top: 8px !important;
    width: auto !important;
    overflow: hidden !important;
    min-width: 0 !important;
}

/* Stará cena — malá, sivá, prečiarknutá */
.catalog-block .product-third .product-content p.price .old_price {
    display: block !important;
    font-size: 11px !important;
    color: #9ca3af !important;
    text-decoration: line-through !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
}

/* Aktuálna cena — veľká, krimzon */
.catalog-block .product-third .product-content p.price .normal_price {
    display: block !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #ac3b60 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Kupon — LEFT stĺpec (60%), v rovnakom riadku ako cena (auto-placement) */
.catalog-block .product-third .product-content .coupon-info-box-countdown {
    grid-column: 1 !important;
    float: none !important;
    width: auto !important;
    margin-top: 8px !important;
    box-sizing: border-box !important;
}

/* Tlačidlo Do košíka — plná šírka pod kupónom+cenou */
.catalog-block .product-third .product-content .add-cart-catalog {
    grid-column: 1 / -1 !important;
    float: none !important;
    width: auto !important;
    margin-top: 6px !important;
    text-align: center !important;
}

/* Kuponový text pod tlačidlom */
.catalog-block .product-third .product-content .coupon-info-box {
    grid-column: 1 / -1 !important;
    float: none !important;
    width: auto !important;
}

/* ═══════════════════════════════════════════════
   SEO BOX — Moderný card dizajn (Crimson Studio)
   ═══════════════════════════════════════════════ */

#category-products .info-articles {
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 20px rgba(0,0,0,0.07) !important;
    padding: 28px 36px 24px !important;
    margin: 0 0 30px !important;
    position: relative !important;
    overflow: hidden !important;
    float: none !important;
    visibility: visible !important;
    color: #4b5563 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Gradient lišta hore */
#category-products .info-articles::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 4px !important;
    background: linear-gradient(90deg, #ac3b60 0%, #c4527a 50%, #D4A843 100%) !important;
}

/* Nadpis */
#category-products .info-articles h1,
#category-products .info-articles h2 {
    font-family: 'Playfair Display', serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1C1C2E !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 0 0 14px 0 !important;
    line-height: 1.35 !important;
}

/* Odseky */
#category-products .info-articles p {
    font-family: Lato, sans-serif !important;
    font-size: 14px !important;
    color: #4b5563 !important;
    line-height: 1.75 !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 0 0 10px 0 !important;
}

#category-products .info-articles p:last-child {
    margin-bottom: 0 !important;
}

/* Zvýraznenie */
#category-products .info-articles strong {
    color: #1C1C2E !important;
    font-weight: 600 !important;
}

/* "Zobraziť viac" link */
#seo-box-show-more-link {
    display: inline-block !important;
    margin: 0 0 24px 0 !important;
    font-size: 13px !important;
    color: #ac3b60 !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    text-decoration: underline !important;
}

/* ═══════════════════════════════════════════════════
   FILTER PANEL — Moderný dizajn (Crimson Studio)
   ═══════════════════════════════════════════════════ */

/* Hlavný panel */
#top-category-panel {
    background: #fff !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07) !important;
    padding: 10px 16px !important;
    margin: 0 0 18px 0 !important;
    min-height: unset !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    float: none !important;
    width: auto !important;
    box-sizing: border-box !important;
}

/* Sekcie — Zoradiť, Počet */
#top-category-panel-sort,
#top-category-panel-count-to-page-category {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    float: none !important;
    margin: 0 !important;
    height: auto !important;
    color: #374151 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    font-family: Lato, sans-serif !important;
    white-space: nowrap !important;
}

/* Select — Zoradiť a Počet na stranu */
#top-category-panel #SortCategory,
#top-category-panel #CountToPageCategory {
    appearance: none !important;
    -webkit-appearance: none !important;
    background-color: #f9fafb !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23ac3b60' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 7px !important;
    padding: 7px 32px 7px 12px !important;
    font-size: 13px !important;
    font-family: Lato, sans-serif !important;
    font-weight: 500 !important;
    color: #1C1C2E !important;
    cursor: pointer !important;
    transition: border-color 0.15s, box-shadow 0.15s !important;
    float: none !important;
    margin: 0 !important;
    min-width: 0 !important;
    width: auto !important;
}

/* SortCategory — väčší, CountToPage — menší */
#top-category-panel #SortCategory {
    min-width: 140px !important;
}

#top-category-panel #CountToPageCategory {
    min-width: 65px !important;
}

#top-category-panel #SortCategory:hover,
#top-category-panel #CountToPageCategory:hover {
    border-color: #ac3b60 !important;
    box-shadow: 0 0 0 3px rgba(172,59,96,0.08) !important;
}

#top-category-panel #SortCategory:focus,
#top-category-panel #CountToPageCategory:focus {
    outline: none !important;
    border-color: #ac3b60 !important;
    box-shadow: 0 0 0 3px rgba(172,59,96,0.12) !important;
}

/* Cenový range — sekcia — posunutá doprava pomocou flex spacer */
#top-category-panel-price-range,
#appurtenances-filter-price-range {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
    float: none !important;
    margin: 0 0 0 auto !important;
    width: 160px !important;
    flex-shrink: 0 !important;
}

/* Text ceny "142€ - 1130€" */
#top-category-panel-price-range-text,
#appurtenances-filter-price-range-text {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #ac3b60 !important;
    font-family: Lato, sans-serif !important;
    text-align: center !important;
    width: 100% !important;
    float: none !important;
}

/* Slider track */
#top-category-panel-price-range-slider.ui-slider,
#appurtenances-filter-price-range-slider.ui-slider {
    background: #e5e7eb !important;
    border: none !important;
    border-radius: 4px !important;
    height: 5px !important;
    width: 100% !important;
    box-shadow: none !important;
}

/* Slider vyplnená časť */
#top-category-panel-price-range-slider .ui-slider-range,
#appurtenances-filter-price-range-slider .ui-slider-range {
    background: linear-gradient(90deg, #ac3b60, #c4527a) !important;
    border-radius: 4px !important;
}

/* Slider handle */
#top-category-panel-price-range-slider .ui-slider-handle,
#appurtenances-filter-price-range-slider .ui-slider-handle {
    background: #fff !important;
    border: 2px solid #ac3b60 !important;
    border-radius: 50% !important;
    width: 16px !important;
    height: 16px !important;
    top: -6px !important;
    margin-left: -8px !important;
    box-shadow: 0 2px 6px rgba(172,59,96,0.3) !important;
    cursor: pointer !important;
    transition: box-shadow 0.15s !important;
    outline: none !important;
}

#top-category-panel-price-range-slider .ui-slider-handle:hover,
#appurtenances-filter-price-range-slider .ui-slider-handle:hover {
    box-shadow: 0 2px 10px rgba(172,59,96,0.5) !important;
}

/* ═══════════════════════════════════════════════════
   STRÁNKOVANIE (TOP) — nad filtrom, celá šírka
   ═══════════════════════════════════════════════════ */

#category-products .paginationControlTop {
    float: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    margin: 0 0 8px 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: transparent !important;
    padding: 0 4px !important;
}

/* "Strana" + "1/2" text */
#category-products .paginationControlTop .page-number {
    float: none !important;
    display: flex !important;
    align-items: center !important;
    order: 2 !important;
}

#category-products .paginationControlTop .page-number p {
    float: none !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    color: #6b7280 !important;
    font-size: 13px !important;
    font-family: Lato, sans-serif !important;
    line-height: 1 !important;
    width: auto !important;
}

#category-products .paginationControlTop .page-number-big {
    color: #1C1C2E !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    font-family: Lato, sans-serif !important;
}

/* Šípky — nahradíme sprite obrázky moderným CSS */
#category-products .paginationControlTop .a_paginator_lt,
#category-products .paginationControlTop .a_paginator_lt_disabled,
#category-products .paginationControlTop .a_paginator_gt,
#category-products .paginationControlTop .a_paginator_gt_disabled {
    float: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 7px !important;
    background-image: none !important;
    margin: 0 !important;
}

#category-products .paginationControlTop .a_paginator_lt {
    background-color: #fff !important;
    border: 1.5px solid #e5e7eb !important;
    order: 1 !important;
    cursor: pointer !important;
    transition: border-color 0.15s, box-shadow 0.15s !important;
}

#category-products .paginationControlTop .a_paginator_lt::after {
    content: '‹' !important;
    font-size: 20px !important;
    color: #ac3b60 !important;
    line-height: 1 !important;
    font-weight: 700 !important;
}

#category-products .paginationControlTop .a_paginator_lt:hover {
    border-color: #ac3b60 !important;
    box-shadow: 0 0 0 3px rgba(172,59,96,0.1) !important;
}

#category-products .paginationControlTop .a_paginator_lt_disabled {
    background-color: #f3f4f6 !important;
    border: 1.5px solid #e5e7eb !important;
    order: 1 !important;
    cursor: default !important;
}

#category-products .paginationControlTop .a_paginator_lt_disabled::after {
    content: '‹' !important;
    font-size: 20px !important;
    color: #d1d5db !important;
    line-height: 1 !important;
    font-weight: 700 !important;
}

#category-products .paginationControlTop .a_paginator_gt {
    background-color: #ac3b60 !important;
    border: 1.5px solid #ac3b60 !important;
    order: 3 !important;
    cursor: pointer !important;
    transition: background-color 0.15s, box-shadow 0.15s !important;
}

#category-products .paginationControlTop .a_paginator_gt::after {
    content: '›' !important;
    font-size: 20px !important;
    color: #fff !important;
    line-height: 1 !important;
    font-weight: 700 !important;
}

#category-products .paginationControlTop .a_paginator_gt:hover {
    background-color: #8e2d4e !important;
    box-shadow: 0 2px 8px rgba(172,59,96,0.35) !important;
}

#category-products .paginationControlTop .a_paginator_gt_disabled {
    background-color: #f3f4f6 !important;
    border: 1.5px solid #e5e7eb !important;
    order: 3 !important;
    cursor: default !important;
}

#category-products .paginationControlTop .a_paginator_gt_disabled::after {
    content: '›' !important;
    font-size: 20px !important;
    color: #d1d5db !important;
    line-height: 1 !important;
    font-weight: 700 !important;
}

/* Filter panel — plná šírka */
#top-category-panel {
    width: 100% !important;
}

/* ═══════════════════════════════════════════════════
   ADD TO CART SUCCESS PAGE — Crimson Studio
   ═══════════════════════════════════════════════════ */

/* Hlavná success karta */
#cart-add-product-success.bg-cart-block {
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 28px rgba(0,0,0,0.09) !important;
    padding: 40px 44px 36px !important;
    margin: 24px 0 28px !important;
    min-height: unset !important;
    display: flex !important;
    align-items: center !important;
    gap: 32px !important;
    position: relative !important;
    overflow: hidden !important;
    float: none !important;
    width: auto !important;
    box-sizing: border-box !important;
}

/* Gradient pruh navrchu karty */
#cart-add-product-success.bg-cart-block::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    height: 4px !important;
    background: linear-gradient(90deg, #ac3b60 0%, #c4527a 50%, #D4A843 100%) !important;
    border-radius: 16px 16px 0 0 !important;
}

/* Icon — moderný CSS krúžok so zaškrtnutím */
#cart-add-product-success .icon-success {
    background: none !important;
    background-image: none !important;
    width: 80px !important;
    height: 80px !important;
    min-width: 80px !important;
    border-radius: 50% !important;
    background-color: #f0faf4 !important;
    border: 3px solid #22c55e !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
}

#cart-add-product-success .icon-success::after {
    content: '✓' !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    color: #22c55e !important;
    line-height: 1 !important;
}

/* Text sekcia */
#cart-add-product-success #cart-add-product-success-text {
    float: none !important;
    width: auto !important;
    flex: 1 !important;
    margin-left: 0 !important;
}

#cart-add-product-success #cart-add-product-success-text hr.space {
    display: none !important;
}

/* Nadpis */
#cart-add-product-success .title {
    font-family: 'Playfair Display', serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1C1C2E !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
}

/* Popis */
#cart-add-product-success .text {
    font-family: Lato, sans-serif !important;
    font-size: 14px !important;
    color: #6b7280 !important;
    line-height: 1.65 !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
}

/* Wrapper pre tlačidlá — flex row */
#cart-add-product-success #cart-add-product-success-text .button-type-back,
#cart-add-product-success #cart-add-product-success-text .button-type-next {
    display: inline-flex !important;
    align-items: center !important;
    border-radius: 8px !important;
    padding: 0 !important;
    float: none !important;
    margin: 0 12px 0 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
}

/* Tlačidlo späť — outline */
#cart-add-product-success .button-type-back {
    background: #fff !important;
    border: 2px solid #ac3b60 !important;
}

#cart-add-product-success .button-type-back a.buttons-text {
    display: inline-block !important;
    padding: 11px 24px !important;
    font-family: Lato, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #ac3b60 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

#cart-add-product-success .button-type-back:hover {
    background: #fdf2f5 !important;
}

/* Tlačidlo košík — plný crimson */
#cart-add-product-success .button-type-next {
    background: linear-gradient(135deg, #ac3b60 0%, #c4527a 100%) !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(172,59,96,0.3) !important;
    margin-right: 0 !important;
    float: none !important;
}

#cart-add-product-success .button-type-next a.buttons-text {
    display: inline-block !important;
    padding: 13px 28px !important;
    font-family: Lato, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #fff !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

#cart-add-product-success .button-type-next:hover {
    background: linear-gradient(135deg, #8f3050 0%, #ac3b60 100%) !important;
    box-shadow: 0 6px 20px rgba(172,59,96,0.4) !important;
}

/* ── Tipy na ďalší nákup ── */
#tips-after-add-to-cart {
    margin: 8px 0 32px !important;
}

#tips-after-add-to-cart .products-title-with-line {
    text-align: center !important;
    position: relative !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
}

#tips-after-add-to-cart .products-title-with-line::before {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 0 !important; right: 0 !important;
    height: 1px !important;
    background: #e5e7eb !important;
}

#tips-after-add-to-cart .products-title-with-line span {
    position: relative !important;
    background: #f5f0eb !important;
    padding: 0 20px !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1C1C2E !important;
    letter-spacing: 0.01em !important;
}


/* ═══════════════════════════════════════════════════
   REGISTRÁCIA — Crimson Studio
   ═══════════════════════════════════════════════════ */

/* Nadpis stránky */
h1.new-reg-info {
    font-family: 'Playfair Display', serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #1C1C2E !important;
    margin: 24px 0 20px !important;
    padding: 0 !important;
}

/* Info block — nahradíme tmavé #222 modernou kartou */
.info-block-registration-registration,
#info-block.info-block-registration-registration {
    background: #fff !important;
    border-left: 4px solid #ac3b60 !important;
    border-radius: 0 8px 8px 0 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06) !important;
    padding: 14px 20px !important;
    margin: 0 0 24px !important;
    float: none !important;
    width: auto !important;
    box-sizing: border-box !important;
}

.info-block-registration-registration p,
#info-block.info-block-registration-registration p {
    font-family: Lato, sans-serif !important;
    font-size: 14px !important;
    color: #4b5563 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Info ikonka — schovať starý sprite */
.info-block-registration-registration .info,
#info-block.info-block-registration-registration .info {
    display: none !important;
}

/* ── Obal registračného formulára ── */
#show-registration-form {
    background: #fff !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08) !important;
    padding: 32px 36px 28px !important;
    margin: 0 0 32px !important;
    position: relative !important;
    overflow: hidden !important;
}

#show-registration-form::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    height: 4px !important;
    background: linear-gradient(90deg, #ac3b60 0%, #c4527a 50%, #D4A843 100%) !important;
    border-radius: 14px 14px 0 0 !important;
}

/* ── Myform reset ── */
#show-registration-form .myform {
    float: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Fieldset reset */
#show-registration-form .myform fieldset {
    border: none !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    background: none !important;
    min-height: 0 !important;
}

/* 2-stĺpcový grid pre polia */
#show-registration-form .myform fieldset dl {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 4px 20px !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Polia na celú šírku */
#show-registration-form .myform fieldset dl .row-full,
#show-registration-form .myform fieldset dl .no-reg-info,
#show-registration-form .myform fieldset dl .no-reg-info-first-and-second,
#show-registration-form .myform fieldset dl .buttons {
    grid-column: 1 / -1 !important;
}

/* Fieldset-data — 1 stĺpec (checkboxy) */
#show-registration-form .myform #fieldset-data dl {
    grid-template-columns: 1fr !important;
}

/* Row flex column
   POZOR: display BEZ !important — JS showDelivery() musí vedieť override-ovať cez inline štýl.
   default.css skryje dodaciu adresu pomocou #fieldset-deliver_address dl > div:not(.no-reg-info...){display:none}
   (specificita 0,1,2,2) — vyhráva nad naším 0,1,2,0. JS inline style potom vyhráva nad oboma. */
#show-registration-form .myform .row,
#show-registration-form .myform .row-full,
#show-registration-form .myform .row-medium,
#show-registration-form .myform .row-medium-margin,
#show-registration-form .myform .row-big,
#show-registration-form .myform .row-small {
    display: flex;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    float: none !important;
    margin: 0 0 14px !important;
    box-sizing: border-box !important;
}

/* Label — zobraziť (default.css ich skrýva clip-rect) */
#show-registration-form .myform .row label,
#show-registration-form .myform .row-full label,
#show-registration-form .myform .row-medium label,
#show-registration-form .myform .row-medium-margin label,
#show-registration-form .myform .row-big label,
#show-registration-form .myform .row-small label {
    width: auto !important;
    height: auto !important;
    position: static !important;
    clip: auto !important;
    overflow: visible !important;
    font-size: 11px !important;
    font-family: Lato, sans-serif !important;
    font-weight: 700 !important;
    color: #6b7280 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin: 0 0 5px !important;
    padding: 0 !important;
    display: block !important;
    float: none !important;
    top: auto !important;
}

/* Element wrapper */
#show-registration-form .myform .element {
    width: 100% !important;
    display: block !important;
    float: none !important;
    position: relative !important;
}

/* Sekcia — Dodacia adresa */
#show-registration-form .myform .no-reg-info {
    border-top: 1px solid #f0f0f0 !important;
    padding-top: 20px !important;
    margin-top: 8px !important;
}

#show-registration-form .myform .no-reg-info p#address2 {
    font-family: 'Playfair Display', serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1C1C2E !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
}

#show-registration-form .myform .no-reg-info p.info {
    font-family: Lato, sans-serif !important;
    font-size: 13px !important;
    color: #6b7280 !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
}

#show-registration-form .myform .no-reg-info a#show-address {
    color: #ac3b60 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

#show-registration-form .myform .no-reg-info a#show-address:hover {
    text-decoration: underline !important;
}

/* Checkboxy sekcia */
#show-registration-form .myform #fieldset-data {
    border-top: 1px solid #f0f0f0 !important;
    padding-top: 16px !important;
    margin-top: 4px !important;
}

#show-registration-form .myform #fieldset-data .row {
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
}

#show-registration-form .myform #fieldset-data .row input[type="checkbox"] {
    margin-top: 2px !important;
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    accent-color: #ac3b60 !important;
    cursor: pointer !important;
}

#show-registration-form .myform #fieldset-data .row label {
    text-transform: none !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #374151 !important;
    letter-spacing: 0 !important;
    line-height: 1.5 !important;
}

#show-registration-form .myform #fieldset-data .row label a {
    color: #ac3b60 !important;
    font-weight: 600 !important;
}

/* Tlačidlo Zaregistrovať */
#show-registration-form .myform .buttons {
    display: flex !important;
    justify-content: center !important;
    padding-top: 8px !important;
    margin-top: 4px !important;
}

#show-registration-form #button-login {
    background: linear-gradient(135deg, #ac3b60 0%, #c4527a 100%) !important;
    border: none !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 14px rgba(172,59,96,0.3) !important;
    padding: 0 !important;
    overflow: hidden !important;
}

#show-registration-form #button-login input[type="submit"] {
    display: block !important;
    background: none !important;
    border: none !important;
    padding: 13px 48px !important;
    font-family: Lato, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #fff !important;
    cursor: pointer !important;
    letter-spacing: 0.04em !important;
}

#show-registration-form #button-login:hover {
    background: linear-gradient(135deg, #8f3050 0%, #ac3b60 100%) !important;
    box-shadow: 0 6px 20px rgba(172,59,96,0.4) !important;
}


/* ── Oprava checkbox riadkov v #fieldset-data ── */
/* .element má width:100% globálne — pre checkbox sekciu override */
#show-registration-form .myform #fieldset-data .row .element {
    width: auto !important;
    flex-shrink: 0 !important;
    order: -1 !important; /* checkbox pred labelom */
}

#show-registration-form .myform #fieldset-data .row label {
    flex: 1 !important;
    width: auto !important;
    text-transform: none !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #374151 !important;
    letter-spacing: 0 !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#show-registration-form .myform #fieldset-data .row label a {
    color: #ac3b60 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

#show-registration-form .myform #fieldset-data .row label a:hover {
    text-decoration: underline !important;
}

/* Checkbox samotný */
#show-registration-form .myform #fieldset-data .row input[type="checkbox"] {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    margin: 2px 0 0 !important;
    accent-color: #ac3b60 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    display: block !important;
}

/* Hidden input nesmie zaberať miesto */
#show-registration-form .myform #fieldset-data .row input[type="hidden"] {
    display: none !important;
}


/* ── Oprava vertikálneho zarovnania checkbox riadkov ── */
#show-registration-form .myform #fieldset-data .row {
    align-items: center !important;
}


/* ═══════════════════════════════════════════════════
   REGISTRÁCIA — Checkbox sekcia — moderný flat dizajn
   ═══════════════════════════════════════════════════ */

/* Celý fieldset-data — jeden čistý kontajner */
#show-registration-form .myform #fieldset-data {
    border-top: none !important;
    margin-top: 12px !important;
    padding-top: 0 !important;
    background: #f8f9fb !important;
    border-radius: 12px !important;
    padding: 20px 22px 14px !important;
    position: relative !important;
}

/* Pseudo-label "Súhlas a podmienky" cez ::before na kontajneri */
#show-registration-form .myform #fieldset-data::before {
    content: '🔒  Súhlas a podmienky' !important;
    display: block !important;
    font-family: Lato, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #9ca3af !important;
    margin-bottom: 14px !important;
}

/* Každý checkbox riadok — plochý, čistý, bez boxu */
#show-registration-form .myform #fieldset-data .row {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 10px 0 !important;
    margin-bottom: 0 !important;
    gap: 13px !important;
    cursor: pointer !important;
    border-bottom: 1px solid #eef0f3 !important;
    transition: background 0.15s !important;
    position: relative !important;
}

#show-registration-form .myform #fieldset-data .row:last-child {
    border-bottom: none !important;
}

#show-registration-form .myform #fieldset-data .row:hover {
    background: transparent !important;
    border-color: #eef0f3 !important;
}

#show-registration-form .myform #fieldset-data .row:hover label {
    color: #1C1C2E !important;
}

/* Vlastný checkbox — väčší, s krásnym accent */
#show-registration-form .myform #fieldset-data .row input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    margin: 0 !important;
    accent-color: #ac3b60 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    border-radius: 5px !important;
}

/* Label text */
#show-registration-form .myform #fieldset-data .row label {
    flex: 1 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #4b5563 !important;
    line-height: 1.55 !important;
    cursor: pointer !important;
    transition: color 0.15s !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Linky v labeli */
#show-registration-form .myform #fieldset-data .row label a {
    color: #ac3b60 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(172,59,96,0.3) !important;
    transition: border-color 0.15s !important;
}

#show-registration-form .myform #fieldset-data .row label a:hover {
    border-bottom-color: #ac3b60 !important;
}

/* ── Custom checkbox vizuál — modernejší vzhľad ── */
/* Skryjeme natívny checkbox a nahradíme vlastným */
#show-registration-form .myform #fieldset-data .row .element {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
}

#show-registration-form .myform #fieldset-data .row input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    border: 2px solid #d1d5db !important;
    border-radius: 6px !important;
    background: #fff !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    transition: border-color 0.2s, background 0.2s, box-shadow 0.2s !important;
    position: relative !important;
}

#show-registration-form .myform #fieldset-data .row input[type="checkbox"]:hover {
    border-color: #ac3b60 !important;
    box-shadow: 0 0 0 3px rgba(172,59,96,0.1) !important;
}

#show-registration-form .myform #fieldset-data .row input[type="checkbox"]:checked {
    background: #ac3b60 !important;
    border-color: #ac3b60 !important;
}

#show-registration-form .myform #fieldset-data .row input[type="checkbox"]:checked::after {
    content: '' !important;
    position: absolute !important;
    left: 5px !important;
    top: 2px !important;
    width: 7px !important;
    height: 11px !important;
    border: 2.5px solid #fff !important;
    border-top: none !important;
    border-left: none !important;
    transform: rotate(45deg) !important;
    display: block !important;
}


/* ═══════════════════════════════════════════════════
   PRIHLÁSENIE — Moderný dizajn (login page)
   ═══════════════════════════════════════════════════ */

/* H1 nadpis — zdieľa .new-reg-info s registráciou */
h1.new-reg-info {
    font-family: 'Playfair Display', serif !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    color: #1C1C2E !important;
    margin: 0 0 16px !important;
    letter-spacing: -0.01em !important;
}

/* Hlavný wrapper — preč zo šedého boxu */
.new-reg {
    background: transparent !important;
    border: none !important;
    min-height: 0 !important;
    margin: 0 auto 32px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 20px !important;
    width: 100% !important;
}

/* Info block (benefits) — ľavý crimson pásik */
#info-block.info-block-registration,
.info-block-registration {
    background: #fff !important;
    border-left: 4px solid #ac3b60 !important;
    border-radius: 0 10px 10px 0 !important;
    padding: 14px 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06) !important;
    margin: 0 !important;
}

#info-block.info-block-registration p,
.info-block-registration p {
    font-size: 13.5px !important;
    color: #4b5563 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

#info-block.info-block-registration .info,
.info-block-registration .info {
    display: none !important;
}

/* Login formulár — card na stred */
#registration-form {
    width: 100% !important;
    max-width: 480px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 28px rgba(0,0,0,0.09) !important;
    position: relative !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Gradient top bar na karte */
#registration-form::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 4px !important;
    background: linear-gradient(90deg, #ac3b60 0%, #c4527a 50%, #D4A843 100%) !important;
}

/* Fieldset vnútri */
#registration-form form.myform,
#registration-form form {
    margin: 0 !important;
    padding: 32px 36px 28px !important;
    box-sizing: border-box !important;
}

#registration-form #fieldset-users {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#registration-form #fieldset-users dl {
    margin: 0 !important;
    padding: 0 !important;
}

/* Riadky formulára — vertikálne usporiadanie */
#registration-form #fieldset-users .row {
    display: flex !important;
    flex-direction: column !important;
    margin: 0 0 16px !important;
    width: 100% !important;
    float: none !important;
}

#registration-form #fieldset-users .row label {
    font-family: Lato, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #6b7280 !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
    margin-bottom: 6px !important;
    display: block !important;
}

/* Inputy — plná šírka, moderný štýl */
#registration-form #fieldset-users .row .element {
    width: 100% !important;
}

#registration-form #fieldset-users .row input[type="text"],
#registration-form #fieldset-users .row input[type="password"],
#registration-form #user_email,
#registration-form #password {
    width: 100% !important;
    height: 48px !important;
    padding: 0 16px !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important;
    font-family: Lato, sans-serif !important;
    font-size: 15px !important;
    color: #1C1C2E !important;
    background: #fafafa !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s !important;
    outline: none !important;
    float: none !important;
}

#registration-form #user_email:focus,
#registration-form #password:focus {
    border-color: #ac3b60 !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(172,59,96,0.1) !important;
}

/* Submit button */
#registration-form #fieldset-users .buttons,
#registration-form .buttons {
    margin-top: 8px !important;
    width: 100% !important;
}

#registration-form #login {
    width: 100% !important;
    height: 50px !important;
    background: linear-gradient(135deg, #ac3b60 0%, #c4527a 100%) !important;
    border: none !important;
    border-radius: 10px !important;
    font-family: Lato, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #fff !important;
    letter-spacing: 0.04em !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(172,59,96,0.3) !important;
    transition: box-shadow 0.2s, background 0.2s !important;
    float: none !important;
    display: block !important;
}

#registration-form #login:hover {
    background: linear-gradient(135deg, #8f3050 0%, #ac3b60 100%) !important;
    box-shadow: 0 6px 20px rgba(172,59,96,0.4) !important;
}

/* Tipy (nápoveda + zabudnuté heslo) */
#registration-form .login-tip {
    font-size: 13px !important;
    color: #6b7280 !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    padding: 16px 36px 0 !important;
    border-top: 1px solid #f3f4f6 !important;
}

#registration-form .login-tip:first-of-type {
    margin-top: 20px !important;
    border-top: 1px solid #f3f4f6 !important;
}

#registration-form .login-tip:last-of-type {
    padding-bottom: 24px !important;
}

#registration-form .login-tip span {
    font-weight: 700 !important;
    color: #1C1C2E !important;
}

#registration-form .login-tip a,
#registration-form .universal-link {
    color: #ac3b60 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(172,59,96,0.3) !important;
    transition: border-color 0.15s !important;
}

#registration-form .login-tip a:hover,
#registration-form .universal-link:hover {
    border-bottom-color: #ac3b60 !important;
}

/* hr.space za formom */
.new-reg + hr.space {
    display: none !important;
}

/* ── Oprava šírky inputov v login formulári ── */
#registration-form fieldset dl,
#registration-form fieldset dl div,
#registration-form .row,
#registration-form .row .element,
#registration-form .row div {
    width: 100% !important;
    float: none !important;
    display: block !important;
    box-sizing: border-box !important;
}

#registration-form input#user_email,
#registration-form input#password {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* Button plná šírka */
#registration-form input#login,
#registration-form button[type="submit"] {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* Fieldset dl — bez floatov */
#registration-form #fieldset-users dl {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
}

/* ── Oprava šírky inputov — #fieldset-users (login) ── */
#registration-form #fieldset-users .element input[type="text"],
#registration-form #fieldset-users .element input[type="password"],
#registration-form #fieldset-users .element {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    float: none !important;
    background-image: none !important;
    border-radius: 10px !important;
    border: 1.5px solid #e5e7eb !important;
    height: 48px !important;
    padding: 0 16px !important;
    font-family: Lato, sans-serif !important;
    font-size: 15px !important;
    color: #1C1C2E !important;
    background-color: #fafafa !important;
    margin: 0 !important;
    line-height: 48px !important;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s !important;
}

#registration-form #fieldset-users .element {
    height: auto !important;
    line-height: normal !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    border-radius: 0 !important;
}

#registration-form #fieldset-users .element input[type="text"]:focus,
#registration-form #fieldset-users .element input[type="password"]:focus {
    border-color: #ac3b60 !important;
    background-color: #fff !important;
    box-shadow: 0 0 0 3px rgba(172,59,96,0.1) !important;
    outline: none !important;
}

/* ── Login — skryť hr.space vnútri #registration-form ── */
#registration-form hr.space {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* Padding vnútri formy — upraviť aby sa správne zobrazili tipy */
#registration-form form.myform,
#registration-form form {
    padding-bottom: 0 !important;
}

/* Login tip — padding prispôsobiť */
#registration-form .login-tip {
    padding: 12px 36px !important;
    margin: 0 !important;
    border-top: 1px solid #f3f4f6 !important;
    font-size: 13px !important;
    color: #6b7280 !important;
    line-height: 1.6 !important;
}

#registration-form .login-tip:last-child {
    padding-bottom: 24px !important;
    border-radius: 0 0 16px 16px !important;
}

/* ═══════════════════════════════════════════════════
   LOGIN — Full-width pozadie za prihlasovacím boxom
   ═══════════════════════════════════════════════════ */

/* Full-bleed technika: width: 100vw + dynamický margin */
.new-reg {
    position: relative !important;
    width: 100vw !important;
    /* calc: posun o (100% kontajnera - 100vw) / 2  */
    margin-left: calc((100% - 100vw) / 2) !important;
    margin-right: 0 !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
    padding: 48px calc((100vw - 100%) / 2) 56px !important;
    background: linear-gradient(160deg, #1C1C2E 0%, #2d1f35 60%, #1C1C2E 100%) !important;
    box-sizing: border-box !important;
    /* Zarovnanie obsahu do pôvodného kontajnera */
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 20px !important;
}



/* Zabrání horizontálnemu scrollbaru z full-bleed ::before */
#bg {
    overflow-x: hidden !important;
}

/* ── Pozadie .new-reg — transparentné ── */
div.new-reg,
.new-reg.new-reg {
    background: transparent !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 0 32px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 20px !important;
    position: relative !important;
}

/* ── H1 na login stránke — rozšíriť dark pozadie aj na nadpis ── */
/* Rovnaký full-bleed ako .new-reg, sú za sebou → vizuálne jeden blok */
.new-reg-info + .new-reg,
h1.new-reg-info {
    /* H1 dostane dark bg + full-width */
}

/* Spoločné dark pozadie pre H1 aj .new-reg na login stránke */
/* Scoped: len keď H1 nasleduje .new-reg (login kontext) */
/* Pridáme dark bg na H1 cez súrodeneckú techniku */
h1.new-reg-info {
    background: transparent !important;
    color: #1C1C2E !important;
    width: 100% !important;
    margin-left: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    margin-bottom: 16px !important;
}

/* .new-reg priamo naväzuje — odstrán gap */
div.new-reg,
.new-reg.new-reg {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* ═══════════════════════════════════════════════════════════════
   INDEX FILTER — Vyhľadajte si vhodný matrac (modernizovaný)
   ═══════════════════════════════════════════════════════════════ */

/* Wrapper sekcie — card s jemným tieňom */
.span-19 > .content > #catalog-appurtenances,
#catalog-products-index > #catalog-appurtenances,
#catalog-appurtenances {
    background: linear-gradient(135deg, #fdf8fb 0%, #fff 60%) !important;
    border: 1.5px solid #ddc8d8 !important;
    border-radius: 14px !important;
    box-shadow: 0 6px 28px rgba(172,59,96,0.12), 0 1px 4px rgba(172,59,96,0.06) !important;
    padding: 24px 28px 20px !important;
    margin: 0 0 28px 0 !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* Nadpis "Vyhľadajte si vhodný matrac" */
#catalog-appurtenances ~ p.products-title-with-line,
#catalog-appurtenances + hr,
.span-19 > .content > p.products-title-with-line {
    /* necháme pôvodný štýl pre iné products-title-with-line */
}

/* Filter row — flex layout */
#appurtenances-filter-show {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px 20px !important;
    width: 100% !important;
    float: none !important;
}

/* Každý filter stĺpec */
.appurtenances-filter-show-single {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 5px !important;
    float: none !important;
    margin: 0 !important;
    min-width: 130px !important;
}

/* Label textu (Výška, Tvrdosť...) */
.appurtenances-filter-show-single p {
    float: none !important;
    margin: 0 !important;
    width: auto !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    color: #888 !important;
    font-family: Lato, sans-serif !important;
}

/* Select dropdown */
.appurtenances-filter-show-single select {
    width: 130px !important;
    height: 40px !important;
    padding: 0 10px !important;
    border: 1.5px solid #e0d4e0 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-family: Lato, sans-serif !important;
    color: #2c2c3e !important;
    background: #faf8fa !important;
    cursor: pointer !important;
    appearance: auto !important;
    transition: border-color 0.2s !important;
    outline: none !important;
}

.appurtenances-filter-show-single select:hover,
.appurtenances-filter-show-single select:focus {
    border-color: #ac3b60 !important;
    background: #fff !important;
}

/* Cenový range — sekcia v rámci filtera */
#appurtenances-filter-price-range {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
    float: none !important;
    margin: 0 0 0 auto !important;
    width: 160px !important;
    flex-shrink: 0 !important;
    align-self: flex-end !important;
}

/* Label nad sliderom */
#appurtenances-filter-price-range::before {
    content: 'Cena' !important;
    display: block !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    color: #888 !important;
    font-family: Lato, sans-serif !important;
    align-self: flex-start !important;
}

/* Filtrovať tlačidlo */
#catalog-appurtenances form .button-type-1 {
    margin: 16px 0 0 0 !important;
    float: none !important;
    display: inline-block !important;
}

#catalog-appurtenances form .button-type-1 input[type="submit"] {
    background: linear-gradient(135deg, #ac3b60 0%, #c4527a 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 28px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    font-family: Lato, sans-serif !important;
    letter-spacing: 0.05em !important;
    cursor: pointer !important;
    transition: opacity 0.2s, transform 0.15s !important;
    outline: none !important;
}

#catalog-appurtenances form .button-type-1 input[type="submit"]:hover {
    opacity: 0.88 !important;
    transform: translateY(-1px) !important;
}


/* ================================================================
   Rekapitulácia ceny pod sekciou dopravy — cart-price-recap-top
   ================================================================ */
.cart-price-recap-top {
    padding: 16px 18px 18px !important;
    border-top: 1.5px solid #f0dde4 !important;
    background: #fdf8fa !important;
}

/* Wrapper — column, bez border/shadow (je vnútri karty) */
.cart-price-recap-top .price-summary-wrapper {
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Skry badges — sú viditeľné v #fullPrice hore */
.cart-price-recap-top .price-badges {
    display: none !important;
}

/* Karta s cenami — full width, bez border-left */
.cart-price-recap-top .price-badges + .price-summary-card {
    border-left: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.cart-price-recap-top .price-summary-card {
    min-width: 0 !important;
    width: 100% !important;
}

.cart-price-recap-top .price-summary-row .text {
    font-size: 13px !important;
}

.cart-price-recap-top .price-summary-row .price {
    font-size: 13px !important;
}

.cart-price-recap-top .price-summary-total .text {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a2e !important;
}

.cart-price-recap-top .price-summary-total .price {
    font-size: 20px !important;
    color: #ac3b60 !important;
    font-weight: 700 !important;
}


/* ================================================================
   KOŠÍK krok 1 — tlačidlá Späť / Pokračovať v objednávke
   Zachovávame float layout z base CSS (width:100%; float:left)
   — nestrkáme display:flex na kontajner, len štýlujeme buttony
   ================================================================ */
#cart-first-step-bottom-buttons {
    width: 100% !important;
    float: left !important;
    clear: both !important;   /* vynúti nový riadok pod float-ovaným #cart_description */
    margin: 28px 0 56px !important;
    padding: 8px 0 !important;
    box-sizing: border-box !important;
}

/* Späť na nákup — sekundárne tlačidlo (floatuje vľavo cez base CSS) */
#cart-first-step-bottom-buttons .button-type-back {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    float: left !important;
    margin-left: 0 !important;
}
#cart-first-step-bottom-buttons .button-type-back a.buttons-text {
    display: inline-flex !important;
    align-items: center !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #ac3b60 !important;
    background: #fff !important;
    border: 1.5px solid #e0c0cb !important;
    text-decoration: none !important;
    transition: all 0.18s !important;
    cursor: pointer !important;
}
#cart-first-step-bottom-buttons .button-type-back a.buttons-text:hover {
    background: #fdf0f3 !important;
    border-color: #ac3b60 !important;
}

/* Pokračovať v objednávke — FRAJERSKÝ pill button (inšpirácia sme.sk štýl)
   #button-payDel-button floatuje vpravo z base CSS */
#button-payDel-button {
    margin-right: 0 !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    position: relative !important;
    display: inline-block !important; /* zachytí výšku button-u pre správne ::after poziciovanie */
    float: right !important;
}

/* Šípka je priamo v texte buttonu cez PHP — žiadny ::after potrebný */

#button-payDel-button input,
#payDel-button,
#cart-first-step-bottom-buttons .button-type-next input.buttons {
    display: inline-block !important;
    /* Pill tvar */
    border-radius: 50px !important;
    padding: 18px 48px !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #fff !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    /* Gradient — svetlejší hore, tmavší dole ako na referenčnom buttone */
    background: linear-gradient(to bottom, #d44d72 0%, #ac3b60 60%) !important;
    /* 3D efekt — tmavší spodný okraj (ako na sme.sk buttone) */
    border: none !important;
    box-shadow:
        0 6px 0 #7a2843,
        0 9px 12px rgba(100,20,50,0.35) !important;
    cursor: pointer !important;
    transition: transform 0.12s ease, box-shadow 0.12s ease !important;
    min-width: 280px !important;
    text-align: center !important;
    height: auto !important;
    line-height: normal !important;
    -webkit-appearance: none !important;
}

/* Hover — tlačidlo sa „stlačí" (3D efekt) */
#button-payDel-button input:hover,
#payDel-button:hover,
#cart-first-step-bottom-buttons .button-type-next input.buttons:hover {
    transform: translateY(3px) !important;
    box-shadow:
        0 3px 0 #7a2843,
        0 5px 8px rgba(100,20,50,0.3) !important;
    background: linear-gradient(to bottom, #c94469 0%, #a33559 60%) !important;
}


/* ============================================================
   KROK 3 KOŠÍKA — 2-stĺpcový layout (cart-third-*)
   Adaptované z zdravotnicke — crimson farby pre excellent
   ============================================================ */

.cart-third-layout,
.cart-third-info-box,
.cart-third-warning-box,
.third-cart-submit {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* ---- Info & Warning boxy ---- */

.cart-third-info-box {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #eef4ff;
    border: 1px solid #c5d8f7;
    border-radius: 10px;
    padding: 14px 18px;
    margin-bottom: 20px;
    font-size: 14px;
    color: #2d4a7a;
    line-height: 1.55;
}

.cart-third-info-icon {
    font-size: 18px;
    color: #4a7fd4;
    flex-shrink: 0;
    margin-top: 1px;
}

.cart-third-info-box p {
    margin: 0;
}

.cart-third-warning-box {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #fff8e6;
    border: 1px solid #f5c842;
    border-radius: 10px;
    padding: 14px 18px;
    margin-bottom: 20px;
    font-size: 14px;
    color: #7a5a00;
    line-height: 1.55;
}

.cart-third-warning-box i {
    font-size: 18px;
    color: #e0a800;
    flex-shrink: 0;
    margin-top: 1px;
}

.cart-third-warning-box p {
    margin: 0;
}

/* Confirm-only akcie */
.cart-third-top-actions-confirm-only,
.cart-third-bottom-actions-confirm-only {
    justify-content: flex-end !important;
}

/* Späť button pod adresou v ľavom stĺpci */
.cart-third-back-wrap {
    margin-top: 14px;
}

/* ---- CTA buttons ---- */

.cart-third-top-actions,
.cart-third-bottom-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

/* Confirm button — crimson pre excellent */
.cart-third-btn-confirm {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: linear-gradient(135deg, #c4527a 0%, #ac3b60 100%);
    color: #fff !important;
    border: none;
    border-radius: 10px;
    padding: 14px 28px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(172, 59, 96, 0.4);
    transition: transform 0.15s, box-shadow 0.15s;
    text-decoration: none;
    letter-spacing: 0.2px;
    animation: cart-confirm-pulse-crimson 2.2s ease-in-out infinite;
}

.cart-third-btn-confirm:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 22px rgba(172, 59, 96, 0.55);
    animation: none;
    color: #fff !important;
}

.cart-third-btn-confirm:active {
    transform: translateY(0);
}

.cart-third-btn-confirm[disabled] {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none;
    animation: none;
}

.cart-third-btn-back {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #f3f5f8;
    color: #4a5568 !important;
    border: 1px solid #d1d9e6;
    border-radius: 10px;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none !important;
    transition: background 0.15s, border-color 0.15s;
}

.cart-third-btn-back:hover {
    background: #e8ecf4;
    border-color: #b0bcd0;
}

/* ---- Dvoj-stĺpcový layout ---- */

.cart-third-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 24px;
    align-items: start;
}

/* ---- Section header ---- */

.cart-third-section-header {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 15px;
    font-weight: 700;
    color: #2c3a5a;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 2px solid #edf0f5;
}

.cart-third-section-header i {
    font-size: 16px;
    color: #ac3b60;
}

/* ---- Produkt karta ---- */

.cart-third-product-card {
    display: grid;
    grid-template-columns: 80px 1fr auto;
    gap: 14px;
    align-items: start;
    background: #fff;
    border: 1px solid #edf0f5;
    border-radius: 12px;
    padding: 14px;
    margin-bottom: 12px;
    box-shadow: 0 2px 8px rgba(44, 58, 90, 0.06);
    transition: box-shadow 0.15s;
}

.cart-third-product-card:last-child {
    margin-bottom: 0;
}

.cart-third-product-card:hover {
    box-shadow: 0 4px 16px rgba(44, 58, 90, 0.12);
}

.t3-product-img {
    width: 80px;
    height: 80px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: #f3f5f8;
}

.t3-product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.t3-product-info {
    min-width: 0;
}

.t3-product-name {
    font-size: 14px;
    font-weight: 600;
    color: #2c3a5a !important;
    text-decoration: none !important;
    line-height: 1.4;
    display: block;
    margin-bottom: 5px;
}

.t3-product-name:hover {
    color: #ac3b60 !important;
}

.t3-product-params {
    font-size: 12px;
    color: #7a8899;
    line-height: 1.5;
    margin-top: 4px;
}

.t3-param-label {
    color: #9aa5b4;
    font-weight: 500;
}

.t3-param-val {
    color: #4a5568;
}

.t3-product-attachment {
    margin-top: 6px;
    font-size: 12px;
}

.t3-product-attachment a {
    color: #ac3b60;
    text-decoration: none;
}

.t3-product-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    flex-shrink: 0;
    text-align: right;
}

.t3-product-count {
    font-size: 13px;
    color: #7a8899;
    white-space: nowrap;
}

.t3-product-price {
    font-size: 15px;
    font-weight: 700;
    color: #2c3a5a;
    white-space: nowrap;
}

/* ---- Summary karty (pravý stĺpec) ---- */

.cart-third-summary-card {
    background: #fff;
    border: 1px solid #edf0f5;
    border-radius: 12px;
    padding: 18px 20px;
    margin-bottom: 16px;
    box-shadow: 0 2px 8px rgba(44, 58, 90, 0.06);
}

.cart-third-summary-card:last-child {
    margin-bottom: 0;
}

/* ---- Cenové riadky ---- */

.t3-summary-rows {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.t3-summary-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid #f3f5f8;
    font-size: 14px;
    color: #4a5568;
}

.t3-summary-row:last-child {
    border-bottom: none;
}

.t3-row-label {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #7a8899;
    flex: 1;
}

.t3-row-label i {
    font-size: 12px;
    color: #9aa5b4;
    width: 14px;
    text-align: center;
}

.t3-row-val {
    font-weight: 600;
    color: #2c3a5a;
    white-space: nowrap;
}

.t3-summary-row.t3-discount .t3-row-val {
    color: #e53e3e;
}

.t3-summary-row.t3-free .t3-row-val.t3-free-val {
    color: #ac3b60;
    font-weight: 700;
}

.t3-summary-row.t3-total {
    background: linear-gradient(135deg, #1C1C2E 0%, #2a1525 100%);
    border-radius: 8px;
    padding: 12px 16px;
    margin-top: 6px;
    border-bottom: none;
}

.t3-summary-row.t3-total .t3-row-label {
    color: #c0a0b0;
    font-weight: 600;
    font-size: 13px;
}

.t3-summary-row.t3-total .t3-row-val.t3-total-val {
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
}

/* ---- Info riadky (doprava, adresy) ---- */

.t3-info-rows {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.t3-info-row {
    display: flex;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid #f3f5f8;
    font-size: 13px;
    line-height: 1.5;
}

.t3-info-row:last-child {
    border-bottom: none;
}

.t3-info-label {
    color: #9aa5b4;
    font-weight: 600;
    flex: 0 0 130px;
    font-size: 12px;
    padding-top: 1px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.t3-info-val {
    color: #2c3a5a;
    flex: 1;
    min-width: 0;
}

.t3-info-row.t3-info-description .t3-info-val.t3-pay-desc {
    color: #7a8899;
    font-size: 12px;
    font-style: italic;
}

/* ---- Pulzovanie Dokončiť buttonu — crimson ---- */

@keyframes cart-confirm-pulse-crimson {
    0%   { box-shadow: 0 4px 16px rgba(172, 59, 96, 0.4); }
    50%  { box-shadow: 0 4px 28px rgba(172, 59, 96, 0.7), 0 0 0 6px rgba(172, 59, 96, 0.12); }
    100% { box-shadow: 0 4px 16px rgba(172, 59, 96, 0.4); }
}

/* ---- Mobilná responzivita tretieho kroku ---- */

@media (max-width: 900px) {

    .cart-third-top-actions-confirm-only,
    .cart-third-bottom-actions-confirm-only {
        justify-content: stretch !important;
    }

    .cart-third-back-wrap .cart-third-btn-back {
        width: 100% !important;
        justify-content: center !important;
    }

    /* Reorder: summary cards → products → confirm form → back */
    .cart-third-layout {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .cart-third-summary-col,
    .cart-third-products-col {
        display: contents !important;
    }

    .cart-third-summary-col > *,
    .cart-third-products-col > * {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Poradie na mobile */
    .cart-third-summary-col > .cart-third-summary-card:first-child { order: 1; }
    .cart-third-summary-col > .cart-third-summary-card:nth-child(2) { order: 2; }
    .cart-third-products-col > .cart-third-section-header { order: 3; }
    .cart-third-products-col > .cart-third-product-card { order: 4; }
    .cart-third-products-col > .cart-third-summary-card { order: 5; }
    .cart-third-summary-col > .third-cart-submit { order: 6; }
    .cart-third-products-col > .cart-third-back-wrap { order: 7; }

    .cart-third-top-actions,
    .cart-third-bottom-actions {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .cart-third-btn-confirm,
    .cart-third-btn-back {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .cart-third-btn-confirm {
        order: -1;
        font-size: 15px !important;
        padding: 13px 20px !important;
    }

    .cart-third-product-card {
        grid-template-columns: 64px 1fr auto !important;
        gap: 10px !important;
    }

    .t3-product-img {
        width: 64px !important;
        height: 64px !important;
    }

    .t3-info-label {
        flex: 0 0 100px !important;
    }
}

@media (max-width: 600px) {

    .cart-third-info-box,
    .cart-third-warning-box {
        font-size: 13px !important;
        padding: 12px 14px !important;
    }

    .cart-third-product-card {
        grid-template-columns: 56px 1fr !important;
        gap: 10px !important;
    }

    .t3-product-right {
        grid-column: 1 / -1 !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        border-top: 1px solid #f3f5f8 !important;
        padding-top: 8px !important;
    }

    .t3-product-img {
        width: 56px !important;
        height: 56px !important;
    }

    .t3-info-label {
        flex: 0 0 85px !important;
        font-size: 11px !important;
    }
}


/* Top CTA riadok — button vpravo (vyšší selektor pre istotu) */
.cart-third-top-actions.cart-third-top-actions-confirm-only {
    display: flex !important;
    justify-content: flex-end !important;
    width: 100% !important;
    margin-bottom: 20px !important;
}

/* ============================================================
   POĎAKOVACIA STRÁNKA — moderný redesign (csp-*)
   Crimson farby pre excellent
   ============================================================ */

.cart-success-page {
    max-width: 860px;
    margin: 32px auto 48px;
    padding: 0 20px;
    box-sizing: border-box;
}

/* ---- Hero sekcia ---- */

.csp-hero {
    text-align: center;
    padding: 48px 24px 36px;
    background: #fff;
    border: 1px solid #edf0f5;
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(44, 58, 90, 0.08);
    margin-bottom: 24px;
}

/* SVG checkmark animácia */
.csp-check-wrap {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
}

.csp-check-svg {
    width: 80px;
    height: 80px;
}

.csp-circle {
    stroke-dasharray: 226;
    stroke-dashoffset: 226;
    animation: csp-draw-circle 0.6s ease-out 0.1s forwards;
}

.csp-tick {
    stroke-dasharray: 60;
    stroke-dashoffset: 60;
    animation: csp-draw-tick 0.4s ease-out 0.65s forwards;
}

@keyframes csp-draw-circle {
    to { stroke-dashoffset: 0; }
}

@keyframes csp-draw-tick {
    to { stroke-dashoffset: 0; }
}

.csp-title {
    font-size: 28px;
    font-weight: 800;
    color: #1C1C2E;
    margin: 0 0 8px;
    line-height: 1.3;
}

.csp-subtitle {
    font-size: 16px;
    color: #4a5568;
    margin: 0 0 20px;
    line-height: 1.6;
}

/* Číslo objednávky — crimson */
.csp-order-num {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fdf0f4;
    border: 1px solid #f0c0d0;
    border-radius: 10px;
    padding: 10px 20px;
    margin-top: 4px;
}

.csp-order-label {
    font-size: 13px;
    color: #8a3550;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.csp-order-val {
    font-size: 18px;
    font-weight: 800;
    color: #ac3b60;
}

/* ---- Info karty ---- */

.csp-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 28px;
}

.csp-card {
    background: #fff;
    border: 1px solid #edf0f5;
    border-radius: 14px;
    padding: 24px 20px;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    box-shadow: 0 2px 12px rgba(44,58,90,0.05);
    transition: box-shadow 0.2s;
}

.csp-card:hover {
    box-shadow: 0 4px 20px rgba(44,58,90,0.10);
}

.csp-card-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: #fdf0f4;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.csp-card-icon svg {
    width: 20px;
    height: 20px;
    stroke: #ac3b60;
}

.csp-card-body strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #1C1C2E;
    margin: 0 0 4px;
}

.csp-card-body p {
    font-size: 13px;
    color: #6b7a9a;
    margin: 0;
    line-height: 1.5;
}

/* ---- Akčné tlačidlo — crimson ---- */

.csp-actions {
    text-align: center;
    margin-top: 8px;
}

.csp-btn-home {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #c4527a 0%, #ac3b60 100%);
    color: #fff !important;
    font-size: 16px;
    font-weight: 700;
    padding: 14px 36px;
    border-radius: 12px;
    text-decoration: none !important;
    box-shadow: 0 4px 16px rgba(172, 59, 96, 0.35);
    transition: transform 0.18s, box-shadow 0.18s;
}

.csp-btn-home:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(172, 59, 96, 0.50);
    color: #fff !important;
    text-decoration: none !important;
}

/* ---- Responzívne ---- */

@media (max-width: 700px) {
    .csp-cards {
        grid-template-columns: 1fr;
    }
    .csp-hero {
        padding: 32px 16px 28px;
    }
    .csp-title {
        font-size: 22px;
    }
}


/* span-19: margin-right 10px zrušený, pridaný do šírky */
div.span-19 {
    margin-right: 0 !important;
}
@media screen and (min-width: 801px) and (max-width: 1036px) {
    .span-19 { width: 504px !important; }
}
@media screen and (min-width: 1037px) and (max-width: 1321px) {
    .span-19 { width: 935px !important; }
}
@media screen and (min-width: 1322px) and (max-width: 1421px) {
    .span-19 { width: 1035px !important; }
}
@media screen and (min-width: 1422px) {
    .span-19 { width: 1135px !important; }
}

/* ============================================================
   NÁLEŽITOSTI PRODUKTU — moderný redesign
   ============================================================ */

.param-product {
    margin: 0 0 24px 0 !important;
    float: left !important;
    width: 100% !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

.param-product-row {
    float: none !important;
    width: 100% !important;
    display: flex !important;
    align-items: stretch !important;
    line-height: 1.5 !important;
    border-bottom: 1px solid #f5edf1 !important;
    transition: background 0.15s !important;
}

.param-product-row:last-child {
    border-bottom: none !important;
}

.param-product-row.odd {
    background: #fdf5f8 !important;
}

.param-product-row.first {
    background: #fff !important;
}

.param-product-row:hover {
    background: #fbeaf1 !important;
}

.param-product-row p {
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.param-product .param-product-row .title {
    display: flex !important;
    align-items: center !important;
    float: none !important;
    width: 40% !important;
    flex: 0 0 40% !important;
    padding: 15px 28px 15px 28px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.7px !important;
    color: #8a3550 !important;
    border-right: 1px solid #f0dde5 !important;
    box-sizing: border-box !important;
}

.param-product-row .text {
    display: flex !important;
    align-items: center !important;
    float: none !important;
    width: 60% !important;
    flex: 1 !important;
    padding: 11px 16px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1C1C2E !important;
    box-sizing: border-box !important;
}

@media (max-width: 600px) {
    .param-product-row {
        flex-direction: column !important;
    }
    .param-product-row .title {
        width: 100% !important;
        flex: none !important;
        border-right: none !important;
        border-bottom: 1px solid #f0dde5 !important;
        padding: 8px 14px !important;
    }
    .param-product-row .text {
        width: 100% !important;
        padding: 8px 14px 10px !important;
    }
}


/* param-product .title — viac vzduchu vľavo */
.param-product-row .title {
    padding: 13px 20px 13px 24px !important;
}
.param-product-row .text {
    padding: 13px 20px !important;
}

/* param-product — viac vzduchu v riadkoch */
.param-product-row .title {
    padding: 15px 24px 15px 32px !important;
}
.param-product-row .text {
    padding: 15px 24px !important;
}

/* =====================================================
   PRÍPLATKOVÁ SLUŽBA — moderný redesign
   ===================================================== */

/* Nadpis sekcie */
#product-detail .param-product-select-row-1 {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #8a3550 !important;
    margin-bottom: 10px !important;
    padding: 4px 0 !important;
    border-bottom: none !important;
}

/* Wrapper pre volby — vertikálny stĺpec */
#product-detail .payoff-param-product-select-row .param-product-select-row-2 {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    padding: 0 !important;
}

/* Kontajner celej payoff sekcie */
#product-detail .payoff-param-product-select-row {
    padding: 12px 0 !important;
    border-bottom: none !important;
}

/* Každý box (outer wrapper) */
#product-detail .payoff-param-product-select-row .param-product-select-row-2 > div {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 1.5px solid #e8dde3 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    position: relative !important;
    transition: border-color 0.18s, box-shadow 0.18s !important;
    overflow: hidden !important;
    float: none !important;
    min-width: 0 !important;
}

#product-detail .payoff-param-product-select-row .param-product-select-row-2 > div:hover {
    border-color: #ac3b60 !important;
    box-shadow: 0 2px 10px rgba(172,59,96,0.12) !important;
    background: #fdf8fa !important;
}

/* Inner div (data-id-product wrapper) */
#product-detail .payoff-param-product-select-row .param-product-select-row-2 > div > div {
    float: none !important;
    width: 100% !important;
    height: auto !important;
    padding: 12px 42px 12px 16px !important;
    box-sizing: border-box !important;
}

/* Clickable p — text + cena */
#product-detail .payoff-param-product-select-row .param-product-select-row-2 > div > div > p:first-child {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #2a1520 !important;
    text-align: left !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
    height: auto !important;
}

/* Skryť dlhý popis (dostupný cez ? ikonu) */
#product-detail .payoff-param-product-select-row p.param-product-select-row-2-description {
    display: none !important;
}

/* ? ikona — vertikálne vycentrovaná */
#product-detail .payoff-param-product-select-row .param-product-select-row-2 > div > p.icon-cart-question {
    position: absolute !important;
    top: 50% !important;
    right: 10px !important;
    left: auto !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    float: none !important;
}

/* Vybraná možnosť */
#product-detail .payoff-param-product-select-row .param-product-select-row-2 > div > div > p.selected,
#product-detail .payoff-param-product-select-row .param-product-select-row-2 > div > div > p.active,
#product-detail .payoff-param-product-select-row .param-product-select-row-2 > div > div > p.checked {
    color: #ac3b60 !important;
}

#product-detail .payoff-param-product-select-row .param-product-select-row-2 > div:has(> div > p.selected),
#product-detail .payoff-param-product-select-row .param-product-select-row-2 > div:has(> div > p.active),
#product-detail .payoff-param-product-select-row .param-product-select-row-2 > div:has(> div > p.checked) {
    border-color: #ac3b60 !important;
    background: #fdf0f4 !important;
    box-shadow: 0 2px 12px rgba(172,59,96,0.18) !important;
}

/* =====================================================
   PRÍPLATKOVÁ SLUŽBA — ? ikona moderná
   ===================================================== */

/* Skryť pôvodný sprite, nahradiť CSS krúžkom — len product detail */
#product-detail .payoff-param-product-select-row p.icon-cart-question {
    background: none !important;
    background-image: none !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background-color: #e8d0d9 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: background-color 0.18s !important;
    flex-shrink: 0 !important;
    float: none !important;
    position: absolute !important;
    top: 50% !important;
    right: 10px !important;
    left: auto !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
}

#product-detail .payoff-param-product-select-row p.icon-cart-question::before {
    content: "?" !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #8a3550 !important;
    font-family: Georgia, serif !important;
    line-height: 1 !important;
}

#product-detail .payoff-param-product-select-row p.icon-cart-question:hover {
    background-color: #ac3b60 !important;
}

#product-detail .payoff-param-product-select-row p.icon-cart-question:hover::before {
    color: #fff !important;
}

/* =====================================================
   JQUERY UI DIALOG — moderný override (ui-darkness → crimson)
   ===================================================== */

.ui-widget-overlay.ui-front {
    background: rgba(28, 28, 46, 0.55) !important;
    opacity: 1 !important;
}

.ui-dialog {
    background: #fff !important;
    border: none !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 40px rgba(28, 28, 46, 0.22) !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-family: 'Lato', sans-serif !important;
}

.ui-dialog .ui-dialog-titlebar {
    background: linear-gradient(135deg, #c4527a 0%, #ac3b60 100%) !important;
    border: none !important;
    border-radius: 16px 16px 0 0 !important;
    padding: 16px 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.ui-dialog .ui-dialog-title {
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    font-family: 'Lato', sans-serif !important;
    text-shadow: none !important;
    flex: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ui-dialog .ui-dialog-titlebar-close {
    background: rgba(255,255,255,0.2) !important;
    border: none !important;
    border-radius: 50% !important;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.18s !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    float: none !important;
}

.ui-dialog .ui-dialog-titlebar-close:hover {
    background: rgba(255,255,255,0.35) !important;
}

.ui-dialog .ui-dialog-titlebar-close .ui-icon-closethick,
.ui-dialog .ui-dialog-titlebar-close .ui-button-icon {
    background-image: none !important;
    text-indent: 0 !important;
    overflow: visible !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
}

.ui-dialog .ui-dialog-titlebar-close .ui-icon-closethick::before,
.ui-dialog .ui-dialog-titlebar-close .ui-button-icon::before {
    content: "✕" !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.ui-dialog .ui-dialog-content {
    background: #fff !important;
    color: #3a2030 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    padding: 20px 24px 24px !important;
    border: none !important;
    font-family: 'Lato', sans-serif !important;
}

.ui-dialog .ui-dialog-buttonpane {
    background: #f9f3f6 !important;
    border-top: 1px solid #f0dde8 !important;
    padding: 12px 20px !important;
    border-radius: 0 0 16px 16px !important;
}

.ui-dialog .ui-dialog-buttonpane button {
    background: linear-gradient(135deg, #c4527a 0%, #ac3b60 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 8px 20px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}

/* =====================================================
   JQUERY UI DIALOG — position fix + šírka (override)
   ===================================================== */

.ui-dialog {
    position: fixed !important;
    max-height: 80vh !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

.ui-dialog .ui-dialog-titlebar {
    padding: 14px 18px !important;
    flex-shrink: 0 !important;
    min-height: 52px !important;
    box-sizing: border-box !important;
}

.ui-dialog .ui-dialog-content {
    overflow-y: auto !important;
    flex: 1 !important;
    max-height: calc(80vh - 56px) !important;
}

.ui-dialog .ui-dialog-titlebar-close {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    margin-top: 0 !important;
}

/* Dialog — centrovanie pod sticky headerom */
.ui-dialog {
    top: 115px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-height: calc(100vh - 135px) !important;
}

.ui-widget-overlay.ui-front {
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    position: fixed !important;
}

/* Dialog — min šírka pre PC */
@media screen and (min-width: 600px) {
    .ui-dialog {
        min-width: 520px !important;
        width: 560px !important;
    }
}

/* =====================================================
   DIALOG TITLEBAR CLOSE — finálny fix (absolute v relative)
   ===================================================== */

/* Titlebar: position:relative + block layout, pravý padding pre button */
.ui-dialog .ui-dialog-titlebar {
    position: relative !important;
    display: block !important;
    padding: 15px 54px 15px 20px !important;
    min-height: 0 !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
}

/* Close button: absolute vo vnútri relative titlebar */
.ui-dialog .ui-dialog-titlebar-close {
    position: absolute !important;
    top: 50% !important;
    right: 12px !important;
    left: auto !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 0 !important;
    background: rgba(255,255,255,0.25) !important;
    border: none !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.18s !important;
    float: none !important;
    text-indent: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

.ui-dialog .ui-dialog-titlebar-close:hover {
    background: rgba(255,255,255,0.45) !important;
}

/* Skryť pôvodnú sprite ikonu vo vnútri buttonu */
.ui-dialog .ui-dialog-titlebar-close .ui-icon-closethick,
.ui-dialog .ui-dialog-titlebar-close .ui-button-icon {
    background-image: none !important;
    text-indent: 0 !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    position: static !important;
}

.ui-dialog .ui-dialog-titlebar-close .ui-icon-closethick::before,
.ui-dialog .ui-dialog-titlebar-close .ui-button-icon::before {
    content: "✕" !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    display: block !important;
}

/* Skryť text "Close" vo vnútri button — len ikona ✕ */
.ui-dialog .ui-dialog-titlebar-close {
    font-size: 0 !important;
    overflow: hidden !important;
    line-height: 0 !important;
}

.ui-dialog .ui-dialog-titlebar-close .ui-icon-closethick,
.ui-dialog .ui-dialog-titlebar-close .ui-button-icon {
    overflow: hidden !important;
    font-size: 14px !important;
}

.ui-dialog .ui-dialog-titlebar-close .ui-icon-closethick::before,
.ui-dialog .ui-dialog-titlebar-close .ui-button-icon::before {
    font-size: 14px !important;
}

.ui-dialog .ui-dialog-titlebar-close .ui-button-icon-space {
    display: none !important;
}

/* =====================================================
   KOŠÍK — validačné chyby, moderný štýl (ako zdravotnicke)
   ===================================================== */

/* ul.errors — reset a základný layout */
#cart-form .element ul.errors {
    float: none !important;
    margin: 4px 0 2px 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: auto !important;
}

/* Riadok správy — ikona ⚠ + krimzónový text */
#cart-form .element ul.errors li {
    font-size: 12px !important;
    color: #ac3b60 !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    list-style: none !important;
}

#cart-form .element ul.errors li::before {
    content: "⚠" !important;
    font-size: 11px !important;
    flex-shrink: 0 !important;
    color: #e05252 !important;
}

/* Input s chybou — červený border + svetlo ružové pozadie */
#cart-form .element:has(> ul.errors) input,
#cart-form .element:has(> ul.errors) select,
#cart-form .element:has(> ul.errors) textarea {
    border-color: #e05252 !important;
    background: #fff8f8 !important;
    box-shadow: 0 0 0 2px rgba(224, 82, 82, 0.10) !important;
}

/* Wrapper riadku — červený ľavý pruh */
#cart-form .row-medium-margin:has(ul.errors),
#cart-form .row:has(ul.errors) {
    border-left: 3px solid #e05252 !important;
    padding-left: 8px !important;
    border-radius: 4px !important;
    background: #fff8f8 !important;
    box-sizing: border-box !important;
}

/* =====================================================
   KOŠÍK — validačné chyby, SPRÁVNE selektory
   ===================================================== */

#cart-buy-form-first-step .element ul.errors,
#cart-reg-form-first-step .element ul.errors {
    float: none !important;
    margin: 4px 0 2px 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: auto !important;
}

#cart-buy-form-first-step .element ul.errors li,
#cart-reg-form-first-step .element ul.errors li {
    font-size: 12px !important;
    color: #ac3b60 !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    list-style: none !important;
}

#cart-buy-form-first-step .element ul.errors li::before,
#cart-reg-form-first-step .element ul.errors li::before {
    content: "\26A0" !important;
    font-size: 11px !important;
    flex-shrink: 0 !important;
    color: #e05252 !important;
}

/* Input s chybou — červený border + svetlo ružové pozadie */
#cart-buy-form-first-step .element:has(> ul.errors) input,
#cart-buy-form-first-step .element:has(> ul.errors) select,
#cart-reg-form-first-step .element:has(> ul.errors) input,
#cart-reg-form-first-step .element:has(> ul.errors) select {
    border-color: #e05252 !important;
    background: #fff8f8 !important;
    box-shadow: 0 0 0 2px rgba(224, 82, 82, 0.10) !important;
}

/* Wrapper riadku — červený ľavý pruh */
#cart-buy-form-first-step .row-medium-margin:has(ul.errors),
#cart-reg-form-first-step .row-medium-margin:has(ul.errors),
#cart-buy-form-first-step .row:has(ul.errors),
#cart-reg-form-first-step .row:has(ul.errors) {
    border-left: 3px solid #e05252 !important;
    padding-left: 8px !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
}

/* Fix: li má width:0 keď display:flex — explicitne nastaviť šírku */
#cart-buy-form-first-step .element ul.errors li,
#cart-reg-form-first-step .element ul.errors li {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* Fix: right-column errors - skryť overflow z row-medium-margin */
#cart-buy-form-first-step .row-medium-margin,
#cart-reg-form-first-step .row-medium-margin {
    overflow: visible !important;
}

/* Skryť checkbox Poistenie balíka nad poznámkou v košíku */
.package_insurance {
    display: none !important;
}

/* =====================================================
   COUPON INFO BULLETS — product detail
   ===================================================== */

.coupon-info-bullets {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 14px 0 10px 0 !important;
    padding: 14px 16px !important;
    background: #fff8fb !important;
    border: 1px solid #f5e0e9 !important;
    border-radius: 10px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.coupon-info-bullets .cib-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    font-size: 13px !important;
    color: #2a1520 !important;
    line-height: 1.5 !important;
    font-weight: 500 !important;
}

.coupon-info-bullets .cib-check {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    border-radius: 50% !important;
    background: #ac3b60 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    margin-top: 1px !important;
    flex-shrink: 0 !important;
}

/* =====================================================
   DETAIL LINKS — skryť 3 / modernizovať 4
   ===================================================== */

/* Skryť: Upozorniť, Otázka, Poslať */
.info-links li:has(#low-price),
.info-links li:has(#question-seller),
.info-links li:has(#send-frend) {
    display: none !important;
}

/* Skryť staré sprite ikony */
.info-links .icon-cart-add-favorit,
.info-links .icon-compare,
.info-links .icon-cart-download {
    display: none !important;
}

/* Skryť .space-line pred info-links ak nie sú žiadne viditeľné linky */
.info-links {
    margin-top: 4px !important;
    padding-left: 10px !important;
}

/* Kontajner — inline riadok s oddeľovačom */
.info-links ul {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0 !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.info-links li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
}

/* Oddeľovač — len medzi VIDITEĽNÝMI položkami cez a::after */
.info-links li a::after {
    content: "" !important;
}
.info-links li.favorites-class a::after,
.info-links li:has(a[href*="show-favorites"]) a::after,
.info-links li:has(a[href*="add-product-to-compare"]) a::after {
    content: "" !important;
    display: inline-block !important;
    width: 1px !important;
    height: 12px !important;
    background: #ddd !important;
    margin-left: 14px !important;
    vertical-align: middle !important;
}

/* Čistý textový link — žiadny border, žiadne pozadie */
.info-links li a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 5px 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: none !important;
    color: #6b7280 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    transition: color 0.18s !important;
    white-space: nowrap !important;
    line-height: 1.4 !important;
}

.info-links li a:hover {
    color: #ac3b60 !important;
    background: none !important;
    border: none !important;
    text-decoration: none !important;
}

/* Malá SVG-like ikona pred textom */
.info-links li.favorites-class a::before {
    content: "♡" !important;
    font-size: 14px !important;
    line-height: 1 !important;
    color: inherit !important;
}
.info-links li:has(a[href*="show-favorites"]) a::before {
    content: "☆" !important;
    font-size: 14px !important;
    line-height: 1 !important;
    color: inherit !important;
}
.info-links li:has(a[href*="add-product-to-compare"]) a::before {
    content: "⇌" !important;
    font-size: 13px !important;
    line-height: 1 !important;
    color: inherit !important;
}
.info-links li:has(a[href*="show-compare-list"]) a::before {
    content: "▤" !important;
    font-size: 13px !important;
    line-height: 1 !important;
    color: inherit !important;
}

/* Fix: biely background pre category-products — zakryje #bg beige farbu */
#category-products {
    background: #fff !important;
}

/* Skryť text v coupon-info-box — zachová výšku pre JS adjust-element-sizes.js */
.coupon-info-box {
    visibility: hidden !important;
    font-size: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    line-height: 0 !important;
    border: none !important;
}

/* Fix: button-type-1 v katalógu viditeľný aj pri max-width: 1160px
   webunicatemysh.css ho skrývalo display:none, toto ho prepíše */
@media screen and (max-width: 1160px) {
    .img-catalog-block .button-type-1,
    .product-third .button-type-1,
    .catalog-block .button-type-1 {
        display: flex !important;
    }
}

/* Fix: adjust-element-sizes.js nastavuje product-content na príliš malú výšku.
   min-height !important prekoná inline height: Xpx z JS aby button bol vždy viditeľný. */
.content .product-third .product-content,
.product-second .product-content {
    min-height: 242px !important;
}

/* =====================================================
   MOBILE KATALÓG — kompletný fix pre ≤800px
   ===================================================== */
@media screen and (max-width: 800px) {

    /* 2-stĺpcový grid (namiesto 3) */
    .catalog-block {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }

    .product-third, .product-second,
    .no-block .product-third {
        width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    /* Produkt-content: menší padding */
    .catalog-block .product-third .product-content,
    .product-third .product-content {
        padding: 8px 10px 10px !important;
        gap: 4px !important;
    }

    /* Cena — wrapping namiesto orezania */
    .catalog-block .product-third .product-content p.price {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 2px !important;
    }

    .catalog-block .product-third .product-content p.price .normal_price {
        flex-wrap: wrap !important;
        font-size: 20px !important;
        min-width: 0 !important;
        overflow: visible !important;
        white-space: normal !important;
    }

    .catalog-block .product-third .product-content p.price .detail_price_product {
        font-size: 20px !important;
    }

    .catalog-block .product-third .product-content p.price .old_price {
        font-size: 11px !important;
        order: -1 !important;
    }

    /* grid v cenovom riadku — 1 stĺpec na mobile */
    .catalog-block .product-third .product-content p.price,
    .catalog-block .product-third .product-content .price {
        grid-template-columns: 1fr !important;
    }

    /* Kupónová cena box — menší */
    .catalog-block .product-third .product-content .coupon-info-box-countdown {
        padding: 8px 10px !important;
        margin: 4px 0 8px !important;
        flex-direction: column !important;
        gap: 2px !important;
        align-items: flex-start !important;
    }

    .catalog-block .product-third .product-content .coupon-info-box-countdown .coupon-label {
        font-size: 10px !important;
    }

    .catalog-block .product-third .product-content .coupon-info-box-countdown .coupon-price {
        font-size: 20px !important;
    }

    /* Popis — menší font */
    .product-content-description {
        font-size: 11px !important;
    }

    /* Delivery info — kompaktnejší */
    .catalog-delivery_name {
        font-size: 11px !important;
    }
    .catalog-free-delivery-info {
        font-size: 11px !important;
    }

    /* Button — plná šírka, menší font */
    .button-add-cart-button input.add-cart-button {
        font-size: 13px !important;
        padding: 9px 8px !important;
    }

    /* Min-height override pre mobile */
    .content .product-third .product-content,
    .product-second .product-content {
        min-height: 200px !important;
    }
}

/* 1 stĺpec na najmenších obrazovkách */
@media screen and (max-width: 400px) {
    .product-third, .product-second,
    .no-block .product-third {
        width: calc(100% - 20px) !important;
        margin: 6px 10px !important;
    }
}
/* =====================================================
   DETAIL — Add to cart button fix pre mobile
   ===================================================== */
@media screen and (max-width: 800px) {
    #price-block .detail-add-to-cart-all {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
    }

    #qty-stepper-wrap {
        width: 100% !important;
        justify-content: center !important;
    }

    #price-block .add-cart,
    #price-block #button-add-cart-button,
    #price-block #add-cart-button {
        width: 100% !important;
    }

    #price-block #button-add-cart-button {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    #price-block #button-add-cart-button input[type="submit"] {
        width: 100% !important;
    }
}

/* ================================================================
   MOBILNÝ CARD LAYOUT PRE KOŠÍK (max-width: 800px)
   Portované zo zdravotnicke, crimson farby
   ================================================================ */
@media screen and (max-width: 800px) {

    /* Zobraz td:nth-child(4) - počítadlo kusov */
    #cart-products #cart-info-table td:nth-child(4) {
        display: table-cell !important;
    }

    /* Skry header riadok */
    #cart-info-table tr.title {
        display: none !important;
    }

    /* Tabuľka = block */
    #cart-info-table,
    #cart-info-table tbody {
        display: block !important;
        width: 100% !important;
    }

    #cart-info-table tr {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Každý produkt = karta */
    #cart-info-table tr.normal {
        display: grid !important;
        grid-template-columns: 70px 1fr auto !important;
        grid-template-rows: auto auto !important;
        gap: 6px 10px !important;
        background: #fff !important;
        border: 1.5px solid #f0dde8 !important;
        border-radius: 10px !important;
        padding: 10px !important;
        margin-bottom: 10px !important;
        box-shadow: 0 1px 4px rgba(172,59,96,0.08) !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* td 1: obrázok - vľavo, span 2 riadky */
    #cart-info-table tr.normal td:nth-child(1) {
        grid-column: 1 !important;
        grid-row: 1 / 3 !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
        padding: 0 !important;
    }
    #cart-info-table tr.normal td:nth-child(1) img {
        width: 60px !important;
        height: auto !important;
        border-radius: 6px !important;
        margin: 0 !important;
    }

    /* td 2: názov produktu */
    #cart-info-table tr.normal td:nth-child(2) {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: block !important;
        padding: 0 !important;
        font-size: 13px !important;
    }
    #cart-info-table tr.normal td:nth-child(2) p,
    #cart-info-table tr.normal td:nth-child(2) a {
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #2a1520 !important;
        line-height: 1.3 !important;
        margin: 0 0 4px !important;
    }

    /* td 3: cena - skryj (zobrazujeme v medzisúčet) */
    #cart-info-table tr.normal td:nth-child(3) {
        display: none !important;
    }

    /* td 4: počítadlo kusov */
    #cart-info-table tr.normal td:nth-child(4) {
        grid-column: 2 !important;
        grid-row: 2 !important;
        display: flex !important;
        align-items: center !important;
        padding: 0 !important;
    }

    /* td 5: medzisúčet */
    #cart-info-table tr.normal td:nth-child(5) {
        grid-column: 3 !important;
        grid-row: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        justify-content: flex-start !important;
        padding: 0 !important;
        text-align: right !important;
        white-space: nowrap !important;
    }

    /* td 6: odstrániť */
    #cart-info-table tr.normal td:nth-child(6) {
        grid-column: 3 !important;
        grid-row: 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        padding: 0 !important;
    }

    /* Riadky bez obsahu skryť */
    #cart-info-table tr.normal:not(:has(*)) {
        display: none !important;
    }

    /* Riadky s colspan (príplatky, darčeky) */
    #cart-info-table tr.normal:has(td[colspan]) {
        display: block !important;
        border: none !important;
        padding: 0 !important;
        box-shadow: none !important;
        margin-bottom: 0 !important;
        background: transparent !important;
    }
    #cart-info-table tr.normal td[colspan] {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        grid-column: 1 / -1 !important;
    }

    /* Počítadlo - menšie na mobile */
    #cart-info-table .counter p {
        height: 32px !important;
    }
    #cart-info-table .counter span.inputCount {
        height: 32px !important;
        min-width: 30px !important;
        font-size: 14px !important;
    }
    #cart-info-table .counter #input-remove,
    #cart-info-table .counter #input-add {
        width: 32px !important;
        height: 32px !important;
    }

    /* Kupóny full width */
    #cart-info-table #return-coupons { display: block !important; width: 100% !important; box-sizing: border-box !important; }
    #cart-info-table #return-coupons td { display: block !important; width: 100% !important; max-width: none !important; box-sizing: border-box !important; padding: 0 !important; }

    /* Payoff params full width */
    #cart-info-table tr.normal td[colspan] .cart-not-used-payoff-params-single,
    .cart-not-used-payoff-params-single { width: 100% !important; box-sizing: border-box !important; }

    /* VOP label fix */
    #cart-buy-form-first-step #fieldset-data .row label.left,
    #cart-reg-form-first-step #fieldset-data .row label.left {
        display: block !important;
        width: auto !important;
        flex: 1 1 auto !important;
    }

    /* Doprava/platba sekcia */
    #cart-coutry-pay-delivery-selections { margin-top: 0 !important; }
}
