@font-face {
  font-family:swiper-icons;
  src:url('data:application/font-woff;charset=utf-8;base64, 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');
  font-weight:400;
  font-style:normal
}
html {
	margin-top:0 !important;
}
/* Override UA stylesheet ButtonFace background on all buttons.
   main.css resets -webkit-appearance but NOT background-color,
   so browsers still render bare <button> elements grey. */
button {
  background-color: transparent;
}
.voucher-badge {
    display: inline; 
    border-radius: .25em; 
    padding: .2em .6em .3em; 
    font-weight: 700; 
    /*font-size: 90%; */
    line-height: 1; 
    /*text-align: center; */
    white-space: nowrap; 
    vertical-align: baseline;
}

.voucher_label {				
	/*text-transform: uppercase;*/
    max-width: clamp(90px, 60vw, 260px)!important;
    display: inline-block;
    position: absolute;
    /*right: 0px;*/
    bottom: 0px;
    z-index: 5;
}

.voucher_label_text{
	text-align: left;
	padding: 5px;
	font-weight: 600;
	font-size: clamp(10px, 1vw, 0.80rem)!important;
	color: white;
	display: inline-block;
	margin: 0 0 10px 1px;
	background: linear-gradient(to right, #d10019 0%, rgba(255,10,10,0.8) 100%);
	border-radius: 0 5px 5px 0;
	letter-spacing: 0.3px;
}
	
@media only screen and (max-width: 600px) {
	.voucher_label {
		/*max-width: 100%; 	*/	
	}
	
	.voucher_label_text{
		/*font-size: 65%;*/	    	
	}
	
}

/* Badges are outside .image (z-index:5), so need higher z-index to be visible */
.item .badges {
    z-index: 5;
}

/* Hero carousel: li reset inside slick slides */
.sandbox-slider .slick-slide li[role="group"] {
    display: block;
    height: 100%;
    margin: 0;
    padding: 0;
}
.sandbox-slider .slick-slide li {
    list-style: none;
}
.sandbox-slider .slick-slide {
    height: auto;
}
.sandbox-slider .slick-track {
    display: flex;
    align-items: stretch;
}
.sandbox-slider .slick-track .slick-slide {
    display: flex;
    height: auto;
}
.sandbox-slider .slick-slide > div,
.sandbox-slider .slick-slide > div > li[role="group"] {
    flex: 1;
    min-height: 0;
}
/* Fix: <a class="slide">, <picture>, <img> must be block to eliminate inline baseline gap */
.sandbox-slider .slide {
    display: block;
    height: 100%;
}
.sandbox-slider .slide picture {
    display: block;
    line-height: 0;
}
.sandbox-slider .slide img {
    display: block;
    vertical-align: bottom;
}
.sandbox-slider .slide:focus-visible {
    outline: none;
}
.sandbox-slider .slide:focus-visible picture {
    outline: 3px solid #d10019;
    outline-offset: -3px;
}

/* Hero carousel: visual dot indicators (non-interactive, absolutely positioned over slider) */
.hero-carousel-indicator {
    display: flex;
    justify-content: center;
    gap: .375rem;
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    padding: .25rem;
    line-height: 0;
    white-space: nowrap;
    pointer-events: none;
    z-index: 10;
}
@media (min-width: 768px) {
    .hero-carousel-indicator { bottom: 1.5rem; }
}
@media (min-width: 1200px) {
    .hero-carousel-indicator { bottom: 2rem; }
}
.hero-carousel-dot {
    display: inline-block;
    width: .5625rem;
    height: .5625rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, .45);
    transition: background .2s;
}
.hero-carousel-dot.is-active {
    background: #fff;
}

.badges .blue {
    background: #2368B8 !important;
    color: #fff;
	line-height: 0.650rem !important;
	font-size: 8px !important;
	text-transform: uppercase !important;
	padding-top: 8px !important;
}
.form-check.tbi-item { margin: 25px 0; }
.tbi-item .form-check-label { width: 45%; }
.tbi-item .tbi-scale {
    display: inline-block;
    position: relative;
    width: 50%;
    min-width: 400px;
    max-width: 100%;
    margin-top: 15px;
    text-align: center;
}
.tbi-item .tbi-scale > img { width: 90%; }
.tbi-maturity {
    position: absolute;
    bottom: 110%;
    width: 25%;
    font-size: 12px;
    line-height: 14px;
    text-align: center;
    white-space: nowrap;
}
.tbi-maturity:nth-child(1) { left: 0%; }
.tbi-maturity:nth-child(2) { left: 25%; }
.tbi-maturity:nth-child(3) { left: 50%; }
.tbi-maturity:nth-child(4) { left: 75%; }

@media (max-width: 990px) {
    .tbi-item .form-check-label { width: auto; }
    .tbi-item .tbi-scale {
        display: block;
        width: 100%;
        min-width: 200px;
    }
}
.newsSearchHolder {
	position:relative;
	width:30%;
	display:none;
}
.newsSearchHolder .newsSearchList {
	position:absolute;
	top:2.875rem;
	left:0rem;
	 height: auto;
	z-index:999;
	background: #eee;
	transition: opacity .2s;
}
.newsSearchHolder .newsSearchList ul li{
	list-style-type: none !important;
	  margin: 0;
	  padding: 0;
	font-size: 14px;
	margin: 10px 0;
	font-family: "Fira Sans",Helvetica,Arial,sans-serif;
	
	
}
.newsSearchHolder .newsSearchList ul li a{
	color:#717171;
}

.mobile-min-price {
	float:left !important;
}

.min-price{
	line-height: 0.875rem;
	font-size: 0.5rem;
}
.product-filter-top {
	display:none;
}
.filter-group .price-range-holder {
	padding: 0 2rem;
}
.price-desc {
	font-size:0.7rem !important;
	color:#6C6C6C;
	margin-top:0.2rem;
	width:100%;
	float:left;
	line-height:1;

}
#googleBtn {
	float:left;
	width:100%;
}
#facebookBtn {
	margin-right:5px;
	padding: .55rem .8rem !important;
	width:100%;
	margin-bottom:10px;
}

@media (max-width: 767px) {
    .mobile-purchase-section .price-desc {
        display: none !important;
    }
}

.btn-rounded {
	border-radius:10px;
}
.form-group input[type="date"], 
.form-group input[type="datetime-local"], 
.form-group input[type="email"], 
.form-group input[type="month"], 
.form-group input[type="number"], 
.form-group input[type="password"], 
.form-group input[type="search"], 
.form-group input[type="tel"], 
.form-group input[type="text"], 
.form-group input[type="time"], 
.form-group input[type="url"], 
.form-group input[type="week"], 
.form-group select, 
.form-group textarea, 
.form-group.upload-group .upload {
	border-radius:10px;
}
.btn-product-size {
	border-radius:10px;
}

.product-carousel-container .large-section-title {
	font-weight: 600;
    font-size: 1.8rem;
	text-align: left;
	margin:0 0 26px 0;
}

.item .image, 
.item .thumb, 
.item-inline .image, 
.product-color-thumb, 
.product-image, 
.product-thumb, 
.product__image {
	border-radius:5px;
}

/* Product image arrows (bottom-right) */
.product-image-container {
  position: relative;
}
.product-image-arrows {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  z-index: 20;
  display: flex;
  gap: 0.25rem;
}
.product-image-arrows .btn-slick-arrow {
  position: relative;
  transform: none;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid #ddd;
}
.product-image-arrows .btn-slick-arrow .icon {
  width: 1rem;
  height: 1rem;
  opacity: 0.8;
}
.product-image-arrows .btn-slick-arrow:hover {
  background: #fff;
}
.product-image-arrows .btn-slick-arrow:hover .icon {
  opacity: 1;
}

@media (max-width: 767px) {
  .product-image-arrows {
    display: none;
  }
}

/* Product thumb active state */
.product-thumb.slick-current {
  border: 2px solid #000;
  border-radius: 5px;
}

.panel .panel-body, .panel-body, .panel-header {
	border-radius:5px;
}
input, select, textarea {
	border-radius:5px;
}
.filters-colours label {
	border-radius:5px;
}
.tab-pane.fade.in {
	border-bottom-left-radius: 5px;	
	border-bottom-right-radius: 5px;	
}
.table-container.table-modern {
	border-radius:5px;
}
.product-features li:first-child {
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
}
.product-features li:last-child {
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}
.stores-list-container > ul li {
	border-radius: 10px;
}
.quantity-table {
	border-radius:5px;
}
.cart .item-inline {
	border-radius:5px;
}
.form-group.checkbox-button.black label {
	border-radius:10px;
}
.inner-panel .tabs-container > .tab-content > .tab-pane {
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
}
.inner-panel {
	border-radius:5px;
}
.home-banner-holder {
	position: fixed;
	top: 6%;
}
.btn-home-gal {
	color: #000; 
	border-radius: 5px; 
	background-color: #000; 
	padding: 3px 19px; 
	width: 100%;
	color:#fff;
	border: 2px solid #000;	
}
.btn-home-gal-sec {
	color: #000 !important; 
	border-radius: 5px; 
	background-color: #FFF; 
	padding: 3px 19px; 
	width: 100%;
	color:#000;
	border: 2px solid #fff; 	
}
.btn-transparent {
	background-color: transparent !important; 
	border: 2px solid #fff; 
	color: #FFF !important; 
}
.btn-transparent:hover {
	border: 2px solid #F3F3F3; 
	color: #000 !important; 
}
.btn-transparent-black {
	background-color: transparent !important; 
	border: 2px solid #000; 
	color: #000 !important; 
}
.btn-transparent-black:hover {
	border: 2px solid #373737; 
	color: #fff !important; 
}
.btn-home-gal-sec:hover {
	background-color:#F3F3F3;	
	color: #000; 
}
.btn-home-gal:hover {
	border: 2px solid #373737; 
}
.home-banner-title-holder {
	position:fixed;
	bottom:35%
}
.home-banner-btn-holder {
	position:fixed;
	bottom:130px;
	padding-left:13px;
}
.home-banner-title {
	color:#fff;
	font-size:60px;
	font-family: Sport2000-Bold;
	margin-top: 0px !important;
	line-height:60px;
}
.home-banner-second-title {
	color:#fff;
	font-size:34px;
	font-family: Sport2000-Regular;
	margin: 0px !important;
}
.slick-list .home-banner-logo {
	width:250px !important;
	height:120px !important;
	margin-top:20px;
}
.home-banner-third-title {
	font-size:14px;
	color:#fff;
	position:fixed;
	bottom:10px;
}
.homeVideoMobile {
	display:none;
}
@media (min-width: 768px) {
  .home-main-slider::before, .sandbox-slider::before {
    padding-top: 31.4%;
  }
}
@media (width: 1280px) and (height: 950px){
	.home-banner-btn-holder {
		bottom:70px;
	}
	.slick-list .home-banner-logo {
		margin-top:30px;
	}
}
@media (max-width: 1600px) and (max-height: 900px){
	.home-banner-btn-holder {
		bottom:70px;
	}
	.slick-list .home-banner-logo {
		margin-top:30px;
	}
}
@media (max-width: 1400px) and (max-height: 900px){
	.home-banner-btn-holder {
		bottom:70px;
	}
	
}
@media (min-width: 1400px) and (max-width: 1600px) and (min-height: 1000px){
	.home-banner-btn-holder {
		bottom:70px;
	}
	
}
@media (min-width: 1200px) and (max-width: 1400px) and (min-height: 600px) and (max-height: 800px){
	.home-banner-btn-holder {
		bottom:70px;
	}
	.home-banner-title {
		font-size:54px;
		line-height:40px;
	}
	.home-banner-second-title {
		font-size:32px;
		margin:0px !important;
	}
	.slick-list .home-banner-logo {
		width:184px !important;
		height:84px !important;
		margin-top:30px;
	}
}
@media (min-width: 1100px) and (max-width: 1400px) and (min-height: 960px) and (max-height: 1100px){
	.home-banner-btn-holder {
		bottom:70px;
	}
	.home-banner-title {
		font-size:52px;
		line-height:40px;
	}
	.home-banner-second-title {
		font-size:30px;
		margin:0px !important;
	}
	.slick-list .home-banner-logo {
		width:184px !important;
		height:84px !important;
		margin-top:30px;
	}
}
@media (min-width: 768px) and (max-width: 1200px) and (min-height: 400px) and (max-height: 960px) {
	.offset-sm-1 {
	   	margin-left: 4.33333%;
	 }
	 .slide .mb-1 {
		margin: 0.5em 0;
	 }
	.home-banner-holder {
		top: 6%;
	}
	.home-banner-title {
		margin: 0.5em 0;
	}
	.home-banner-title {
		font-size:48px;
		line-height:40px;
	}
	.home-banner-second-title {
		font-size:26px;
		margin:0px !important;
	}
	.btn-home-gal {
		font-size:12px;
	}
	.btn-home-gal-sec {
		font-size:12px;
	}
	.home-main-slider::before, .sandbox-slider::before {
	    padding-top: 113.2%;
	  }
	.slick-list .home-banner-logo {
		width:184px !important;
		height:84px !important;
		margin-top:20px;
	}
	.home-banner-title-holder {
		bottom:33%;
	}
	.home-banner-btn-holder {
		padding-left:0px;
		bottom:50px;
	}
	.home-banner-third-title {
		padding-left:0px;
		bottom:5px;		
	}
}

@media (max-width: 600px) {
	.offset-sm-1 {
	   	margin-left: 4.33333%;
	 }
	 .slide .mb-1 {
		margin: 0.5em 0;
	 }
	.home-banner-holder {
		top: 6%;
	}
	.home-banner-title {
		margin: 0.5em 0;
		width:340px;
	}
	.home-banner-title {
		font-size:48px;
		line-height:40px;
	}
	.home-banner-second-title {
		font-size:26px;
		margin:0px !important;
	}
	.btn-home-gal {
		font-size:12px;
	}
	.btn-home-gal-sec {
		font-size:12px;
	}
	.home-main-slider::before, .sandbox-slider::before {
	    padding-top: 113.2%;
	  }
	.slick-list .home-banner-logo {
		width:184px !important;
		height:84px !important;
		margin-top:20px;
	}
	.home-banner-title-holder {
		bottom:33%;
	}
	.home-banner-btn-holder {
		padding-left:5px;
		bottom:65px;
	}
	.home-banner-third-title {
		padding-left:0px;
		bottom:8px;		
	}
	.homeVideoSrc {
		display:none;
	}
	.homeVideoMobile {
		display:block;
	}
}

.slider-container .slider {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.slider-container .slider.slick-initialized {
  opacity: 1;
}
.item-inline .price {
	position:relative;
	width:100%;
}
 .order-status {
    float: right;
    clear: none;
    width: 10em;
  }
.characteristic-btn {
	padding-right:40px !important;
	font-size:.7875rem;
	font-weight: 580;	
}
.favourites-btn {
	font-size:.7875rem;
}
.characteristic-btn .icon, .characteristic-icon {
	position: absolute;
	top: 50%;
	right: 0%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	width: .75rem;
	height: .75rem;
	-webkit-transition: fill .2s cubic-bezier(.4,0,.2,1),-webkit-transform .2s cubic-bezier(.4,0,.2,1);
	transition: fill .2s cubic-bezier(.4,0,.2,1),-webkit-transform .2s cubic-bezier(.4,0,.2,1);
	-o-transition: fill .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);
	transition: fill .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);
	transition: fill .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),-webkit-transform .2s cubic-bezier(.4,0,.2,1);
  }
  
.characteristic-btn .icon-store	 {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 1.7rem;
    height: 1.7rem;
	fill: #5d6468;
	left:7%;	
} 
.product-features-new {
	float: left;
	width: 100%;
}
.product-features-new ul a {
	display: block;
	width: 100%;
	position: relative;
	-webkit-transition: opacity .2s cubic-bezier(.4,0,.2,1);
	-o-transition: opacity .2s cubic-bezier(.4,0,.2,1);
	transition: opacity .2s cubic-bezier(.4,0,.2,1);
	color: #666;
	padding: 0.7rem 1rem;
}
.product-features-new button, .product-features-btn {
	display: block;
	width: 100%;
	position: relative;
	text-align: center;
	-webkit-transition: opacity .2s cubic-bezier(.4,0,.2,1);
	-o-transition: opacity .2s cubic-bezier(.4,0,.2,1);
	transition: opacity .2s cubic-bezier(.4,0,.2,1);
	background:none;
	border:1px solid #070707;
	border-radius: 10px;
	float: left;
	color: #666;
	padding: 0.7rem 1rem;
	cursor:pointer;
	margin:0.5rem 0rem;
	
}
.product-features-new .icon {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 1.7rem;
    height: 1.7rem;
	fill: #5d6468;
}
.product-features-new .text-bnp .icon{
	left:6%;
}
.product-features-new span {
  	width: 100%;
  	padding-left:40px;
	color: #070707;
	font-size:0.6875rem;
	display: block;
}
.product-features-new .text-bnp span{
	font-size: 14px;
	font-weight: 680;
	text-align:left;	
	padding-left:47px;
}
.btn-add-to-cart .icon {
	position: absolute;
	top: 47%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 1.7rem;
	height: 1.7rem;
	left:15%
}
@media (min-width: 576px) and (max-width: 767px), (min-width: 992px) {
	.product-features-new span {
		display: block;
	}
	.product-features-new ul {
		width:50%;
		float: left;
  	}
	.product-features-new button, .product-features-btn {
		width: 45%;
		margin:0.5rem 0.6rem;	
	}
	.characteristic-btn .icon-store {
		left:-12%;		
	}
	.product-features-new .text-bnp span{	
		padding-left:37px;
	}
	.btn-add-to-cart .icon {
		left:8%
	}
}

.product-purchase-section .mobile-purchase-section .btn-add-to-cart {
	padding-left:3.5rem !important;
}
.product-purchase-section .mobile-purchase-section .btn-add-to-cart {
	width:100%;
}
.product-purchase-section .mobile-purchase-section .product-price .current {
	color:#fff;
	text-align:center;
	float:none;
}
@media (max-width: 479px) {
	.add-to-cart-btn {
		display:none;
	}
}
.badges .black {
	color:white;
	background:black;
	font-size: 8px;
}
.ajaxProductGallery {
	position:sticky;
	top:100px;
}
.text-gray {
	color:#B9B9B9;
}
.btn-lg .mobile-prices-btn {
	text-transform: none;
}
.order-title-sec {
	font-size:13px;
	color:#666;
	text-decoration: underline;
}
@media (max-width: 479px) {
	.order-title-sec {
		display:none;
	}
}
.btn-product-size.active::after {
	border-radius:10px;
}
.btn-cart-remove {
	position:absolute;
	top:27px;
	right:20px;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
}
.btn-cart-remove .icon{
	width: 1.1rem;
  height: 1.1rem;
	fill: #5d6468;
	transform: translateY(-50%);
}
.cart .item-inline .price.old {
	font-size:12px;
	position:relative;
	top: 0;
}
.item-price-holder {
	position:relative; 
	float:right;
	text-align:right;
	width:62%;
	font-size:12px;
}
.item-price-holder .price{
	font-size:1.125rem;
}
.btn.btn-cart-edit {
	position:absolute;
	top:33px;
	right:20px;
	margin-top:0px !important;
	width: 2rem;
	height: 2rem;
	padding: 0.4rem !important;
}
.btn-cart-edit .icon{
	width: 1.1rem;
	height: 1.1rem;
	fill: #5d6468;
}
@media (max-width: 500px) {
	.item-price-holder {
		position:relative; 
		float:left;
		text-align:left;
		width:100%;
	}
	.item-price-holder{
		margin-top:15px;
	}
	.btn-cart-edit {
		top:20px;
	}
}
@media (max-width: 479px) {
	.product-title .product-price {
		float:left;
	}	
	.product-title [data-product-number="name-formated"] {
		float:left;
	}
}
.section-newsletter-subscription
 {
 	background: #f3f3f3;
 }

.section-newsletter-subscription label {
    color: #333;
}

.section-newsletter-subscription label {
    margin-bottom: 1.6875rem;    
    display: block;
}


.section-newsletter-subscription {
    padding: 1rem 0;
}


@media screen and (max-width: 801px){
	.section-newsletter-subscription {
		margin: 0px;
		padding: 3rem 1rem 3rem 1rem;
		text-align: center;
	}
}



@media (min-width: 576px) {   
	.section-newsletter-subscription label {
	    margin: 0 8px 1.6875rem;
	}
}

@media (min-width: 768px) {
    .section-newsletter-subscription {
        margin-bottom: 0rem
    }
}

@media (min-width: 801px) {
    .section-newsletter-subscription {
        padding: 3rem 0;
    }
}
.newsletter-email-input {
     font-size: 25px;
     margin: 0px;
     padding: 0px;
     height: 50px;
 }
@media screen and (max-width: 575px){
	.section-newsletter-subscription {
	    margin: 0px;
	    padding: 30px 15px 15px 15px;
	    text-align: center;
	}
}
@media (min-width: 768px) {
  .nav-tabs a.active {
    padding: .4375rem 1.35rem;
  }
  .nav-tabs a {
    padding: .5rem 1.35rem;
  }
}
@media (max-width: 479px) {
  .nav-tabs a.active {
    padding: .4375rem .85rem;
  }
  .nav-tabs a {
    padding: .5rem .85rem;
  }
}
.thanksHolder table {
	width:100%;
	text-align: left !important;
}
.thanksHolder {
	text-align: left !important;
}
.thanksHolder table.shopping tr td {
	border:1px solid #EBEBEB;
}
.geo-target {
    display: none;
}

.container-md{max-width:1140px}

/* =============================================
   WCAG 2.1 / EN 301 549 — Accessibility fixes
   ============================================= */

/* Skip-to-content link (2.4.1 Bypass Blocks) */
.skip-link {
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-100%);
    padding: 8px 16px;
    background: #fff;
    color: #000;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border: 2px solid #000;
    z-index: 200001;
    transition: transform .15s ease;
}
.skip-link:focus-visible,
.skip-link:active {
    transform: translateY(0);
    outline: 3px solid #d10019;
    outline-offset: 3px;
    border-radius: 4px;
}

/* =====================================================
   Slider & Carousel Controls — bottom-right positioning
   ===================================================== */

/* --- Shared button base (all sliders) --- */
.btn-slick-arrow {
    border-radius: 10px;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease;
}

/* --- Banner arrows: absolute bottom-right --- */
/* Next arrow — rightmost */
.home-main-slider .btn-slick-arrow.slick-next,
.sandbox-slider .btn-slick-arrow.slick-next {
    position: absolute !important;
    top: auto !important;
    bottom: 1rem !important;
    right: 1rem !important;
    left: auto !important;
    transform: none !important;
    z-index: 25;
    width: 2.5rem !important;
    height: 2.5rem !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.85);
    display: flex !important;
}
/* Prev arrow — to the left of next */
.home-main-slider .btn-slick-arrow.slick-prev,
.sandbox-slider .btn-slick-arrow.slick-prev {
    position: absolute !important;
    top: auto !important;
    bottom: 1rem !important;
    right: calc(1rem + 2.5rem + 0.25rem) !important;    /* next-width + gap */
    left: auto !important;
    transform: none !important;
    z-index: 25;
    width: 2.5rem !important;
    height: 2.5rem !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.85);
    display: flex !important;
}
/* Pause/Play button — to the left of prev, slightly bigger gap */
.home-main-slider .btn-slider-pause,
.sandbox-slider .btn-slider-pause {
    position: absolute !important;
    top: auto !important;
    bottom: 1rem !important;
    right: calc(1rem + 2.5rem + 0.25rem + 2.5rem + 0.75rem) !important;    /* next + gap + prev + bigger-gap */
    left: auto !important;
    transform: none !important;
    z-index: 25;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50% !important;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.85);
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

/* Icons inside banner arrows */
.home-main-slider .btn-slick-arrow .icon,
.sandbox-slider .btn-slick-arrow .icon {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: 0.875rem;
    height: 0.875rem;
    fill: #111;
    opacity: 1;
}
.btn-slider-pause .icon {
    width: 0.875rem;
    height: 0.875rem;
    fill: #111;
}

/* Hover states */
.home-main-slider .btn-slick-arrow:hover,
.sandbox-slider .btn-slick-arrow:hover,
.btn-slider-pause:hover {
    background: #fff;
}

/* Disabled state */
.home-main-slider .btn-slick-arrow.slick-disabled,
.sandbox-slider .btn-slick-arrow.slick-disabled {
    opacity: 0.4;
    cursor: default;
}

/* Desktop visibility — override main.css display:none */
@media (min-width: 768px) {
    .home-main-slider .btn-slick-arrow,
    .sandbox-slider .btn-slick-arrow {
        display: flex !important;
    }
}

/* --- Focus-visible for ALL slider/carousel buttons --- */
.btn-slick-arrow:focus-visible,
.btn-slider-pause:focus-visible {
    outline: 3px solid #d10019;
    outline-offset: 3px;
}
.btn-slick-arrow:focus:not(:focus-visible),
.btn-slider-pause:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}

/* --- Slick dots: centered at bottom --- */
.home-main-slider .slick-dots,
.sandbox-slider .slick-dots {
    bottom: 1rem;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%);
    z-index: 24;
}

/* --- Product carousel arrows (consistent shape) --- */
.product-carousel-container .btn-slick-arrow {
    display: block !important;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background-color: #f3f3f3;
    border: 1px solid #d9d9d9;
}
.product-carousel-container .btn-slick-arrow .icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0.875rem;
    height: 0.875rem;
    fill: #333;
    opacity: 1;
}
.product-carousel-container .slick-prev {
    right: 4rem;
    top: 1.5rem;
    left: auto;
}
.product-carousel-container .slick-next {
    right: 1rem;
    top: 1.5rem;
}
.product-carousel-container .btn-slick-arrow:hover {
    background-color: #fff;
    border-color: #111;
}
.product-carousel-container .slick-disabled,
.product-carousel-container .slick-hidden {
    display: block !important;
    opacity: 0.35;
    cursor: auto;
}
.product-carousel-container svg {
    display: none;
}
.product-carousel-container .btn-slick-arrow svg {
    display: block;
}
.product-carousel-container .slick-next:after,
.product-carousel-container .slick-prev:after {
    content: none;
}

/* Responsive: hide product carousel arrows on small screens */
@media (max-width: 480px) {
    .product-carousel-container .slick-next,
    .product-carousel-container .slick-prev {
        display: none !important;
    }
    .product-carousel-container .product-carousel .col-6 {
        max-width: 81%;
    }
}

/* Responsive: banner controls on mobile */
@media (max-width: 767px) {
    .home-main-slider .btn-slick-arrow.slick-next,
    .sandbox-slider .btn-slick-arrow.slick-next {
        bottom: 0.625rem !important;
        right: 0.625rem !important;
        width: 2rem !important;
        height: 2rem !important;
        border-radius: 50% !important;
    }
    .home-main-slider .btn-slick-arrow.slick-prev,
    .sandbox-slider .btn-slick-arrow.slick-prev {
        bottom: 0.625rem !important;
        right: calc(0.625rem + 2rem + 0.25rem) !important;
        width: 2rem !important;
        height: 2rem !important;
        border-radius: 50% !important;
    }
    .home-main-slider .btn-slider-pause,
    .sandbox-slider .btn-slider-pause {
        bottom: 0.625rem !important;
        right: calc(0.625rem + 2rem + 0.25rem + 2rem + 0.5rem) !important;
        width: 2rem !important;
        height: 2rem !important;
        border-radius: 50% !important;
    }
    .home-main-slider .btn-slick-arrow .icon,
    .sandbox-slider .btn-slick-arrow .icon,
    .home-main-slider .btn-slider-pause .icon,
    .sandbox-slider .btn-slider-pause .icon {
        width: 0.75rem;
        height: 0.75rem;
    }
    .home-main-slider .slick-dots,
    .sandbox-slider .slick-dots {
        bottom: 0.625rem;
    }
}

/* Arrow rotation when sidebar dropdown is open */
.sidebar-nav .has-dropdown.sidebar-dropdown-active > .btn-toggle-dropdown .icon {
  -webkit-transform: translate(-50%,-50%) rotate(180deg);
  -ms-transform: translate(-50%,-50%) rotate(180deg);
  transform: translate(-50%,-50%) rotate(180deg);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[role="button"]:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
  outline: 3px solid #d10019;
  outline-offset: 3px;
  border-radius: 4px;
}

/* form-group inputs need higher specificity to override main.css outline:0 */
.form-group input:focus-visible[type="date"],
.form-group input:focus-visible[type="datetime-local"],
.form-group input:focus-visible[type="email"],
.form-group input:focus-visible[type="month"],
.form-group input:focus-visible[type="number"],
.form-group input:focus-visible[type="password"],
.form-group input:focus-visible[type="search"],
.form-group input:focus-visible[type="tel"],
.form-group input:focus-visible[type="text"],
.form-group input:focus-visible[type="time"],
.form-group input:focus-visible[type="url"],
.form-group input:focus-visible[type="week"],
.form-group select:focus-visible,
.form-group textarea:focus-visible,
.form-group.upload-group .upload:focus-visible {
  border-color: #d10019;
  outline: 3px solid #d10019;
  outline-offset: -1px;
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible),
summary:focus:not(:focus-visible),
[role="button"]:focus:not(:focus-visible),
[tabindex]:not([tabindex="-1"]):focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}

.btn-mdd-category:focus-visible {
  outline: 3px solid #d10019;
  outline-offset: 3px;
}

.btn-mdd-category:focus {
  outline: none;
  box-shadow: none;
}

/* =========================
   Header-specific focus & state rules
   ========================= */
.site-nav[hidden] {
  display: none !important;
}

.btn-nav-toggle:focus-visible,
.site-nav a:focus-visible,
.header-dropdown a:focus-visible {
  outline: 3px solid #d10019;
  outline-offset: 3px;
}


   .visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Nav toggle chevron button (desktop only) */
@media (min-width: 992px) {
    .site-nav-main > .js-desktop-dropdown {
        display: flex;
        align-items: center;
    }
}
.btn-nav-toggle {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    color: inherit;
    opacity: 0;
    pointer-events: none;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 3px;
    vertical-align: middle;
    flex-shrink: 0;
    width: 0;
    overflow: hidden;
}
/* Show ALL nav toggle arrows when keyboard Tab focus is anywhere in the nav */
.site-nav-main:has(:focus-visible) > .js-desktop-dropdown > .btn-nav-toggle,
.site-nav-main > .js-desktop-dropdown > a:focus-visible ~ .btn-nav-toggle,
.btn-nav-toggle:focus-visible {
    opacity: 1 !important;
    pointer-events: auto;
    width: auto !important;
    overflow: visible;
    padding: 2px 4px;
    margin-left: 4px;
    display: inline-flex !important;
}
.btn-nav-toggle:focus-visible {
    outline: 3px solid #d10019;
    outline-offset: 2px;
    border-radius: 3px;
}
.btn-nav-toggle:focus:not(:focus-visible) {
    outline: none !important;
}
.desktop-dropdown-active > .btn-nav-toggle svg {
    transform: rotate(180deg);
}
.btn-nav-toggle svg {
    transition: transform 0.2s ease;
    display: block;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.content-section {
  margin: 0 0 2rem;
}

.content-section__title {
  margin: 1.875rem 0 0.9375rem;
  padding-bottom: 0.375rem;
  border-bottom: 1px solid #d9d9d9;
  color: #333333;
  font-size: 1.75rem;
  line-height: 1.3;
}

.content-section__subtitle {
  margin: 1.875rem 0 0.9375rem;
  color: #333333;
  font-size: 1.3125rem;
  line-height: 1.4;
}

.content-section__subsubtitle {
  margin: 1.5rem 0 0.75rem;
  color: #333333;
  font-size: 1.125rem;
  line-height: 1.4;
}

.content-section__text {
  margin: 0 0 1rem;
  color: #1f1f1f;
  font-size: 1rem;
  line-height: 1.65;
}

.content-divider {
  border: 0;
  height: 1px;
  margin: 1.5rem 0;
  background: #d9d9d9;
}

.content-list {
  margin: 0 0 1rem 1.5rem;
  padding: 0;
}

.content-list li {
  margin: 0 0 0.5rem;
  color: #1f1f1f;
  font-size: 1rem;
  line-height: 1.65;
}

.content-list--compact li {
  margin-bottom: 0.375rem;
}

.content-link {
  color: #d10019;
  text-decoration: underline;
  text-underline-offset: 0.12em;
  word-break: break-word;
}

.content-link:hover {
   color: #d10019;
  text-decoration: none;
}

/*.content-link:visited {
  color: #5a2d82;
}*/

.content-link:focus-visible {
  outline: 3px solid #1a73e8;
  outline-offset: 2px;
  border-radius: 2px;
}

.content-note {
  margin: 1.25rem 0;
  padding: 1rem 1rem 0.75rem;
  border-left: 4px solid #bf0300;
  background-color: #f5f5f5;
  border-radius: 0.25rem;
}

.content-note__title {
  margin: 0 0 0.75rem;
  color: #1f1f1f;
  font-size: 1rem;
  line-height: 1.5;
}

.content-table-wrapper {
  width: 100%;
  margin: 0 0 1.25rem;
  overflow-x: auto;
}

.content-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 42rem;
}

.content-table__caption {
  margin-bottom: 0.75rem;
  text-align: left;
  color: #1f1f1f;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.5;
  caption-side: top;
}

.content-table th,
.content-table td {
  padding: 0.75rem;
  border: 1px solid #cfcfcf;
  text-align: left;
  vertical-align: top;
  color: #1f1f1f;
  font-size: 1rem;
  line-height: 1.5;
}

.content-table thead th {
  background-color: #f2f2f2;
  font-weight: 700;
}

.content-table tbody tr:nth-child(even) {
  background-color: #fafafa;
}

.content-table tbody th[scope="row"] {
  font-weight: 700;
}

@media (max-width: 767px) {
  .content-section__title {
    font-size: 1.5rem;
  }

  .content-section__subtitle {
    font-size: 1.1875rem;
  }

  .content-section__subsubtitle {
    font-size: 1.0625rem;
  }

  .content-table {
    min-width: 36rem;
  }
}

  .page-title {
    margin-top: 1rem !important;
  }

  /* =========================
   Size charts (контейнер)
   ========================= */
  .size-chart {}

  .size-chart .nav-tabs a {
    border-radius: 10px 10px 0 0;
  }

  .size-chart .tab-pane {
    padding: 1rem 0 !important;
  }

  /* =========================
   Табличен wrapper (хор. скрол)
   ========================= */
  .size-chart .size-chart-table {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .size-chart .size-chart-table table {
    min-width: 600px;
  }

  .size-chart .size-chart-table::-webkit-scrollbar {
    height: 8px;
  }

  .size-chart .size-chart-table::-webkit-scrollbar-track {
    background: #f3f3f3;
  }

  .size-chart .size-chart-table::-webkit-scrollbar-thumb {
    background: #c6c6c6;
    border-radius: 4px;
  }

  /* =========================
   Стилове за таблици
   ========================= */
  .size-chart .size-table th {
    background-color: #f3f3f3 !important;
    font-weight: 700;
    white-space: nowrap;
  }

  .size-chart .tab-pane .tab-pane {
    background: #fff !important;
  }

  .size-chart .size-table td {
    color: #222;
    white-space: nowrap;
  }

  .size-chart .size-table tr:hover td {
    background-color: #f3f4f6;
  }

  .size-chart .sticky-top {
    position: sticky;
    top: 0;
    z-index: 10;
  }

  .size-chart .size-note {
    color: #555;
    font-size: .95rem;
  }

  .size-chart .size-section+.size-section {
    margin-top: 2rem;
  }

  /* =========================
   Малки подобрения за достъпност
   ========================= */
  .size-chart .nav-tabs .nav-link:focus {
    outline: 1px solid #94a3b8;
    outline-offset: 1px;
  }



  .footer-bottom .madeby {
    color: #999999 !important;
  }

/* =========================
   WCAG: Фокус за скрити чекбокси / радио бутони във филтрите
   ========================= */
.form-group.checkbox-container input:focus-visible + label,
.form-group.radio-container input:focus-visible + label {
  outline: 3px solid #d10019;
  outline-offset: 2px;
  border-radius: 3px;
}

.color-container input:focus-visible + label {
  outline: 3px solid #d10019;
  outline-offset: 2px;
  box-shadow: 0 0 0 2px #fff, 0 0 0 5px #d10019;
  border-radius: 50%;
}

/* =========================
   WCAG: Фокус за полето за търсене
   ========================= */
#searchbar:focus-visible {
  outline: 3px solid #d10019 !important;
  outline-offset: 2px;
  border-radius: 3px;
}

/* =========================
   WCAG: Фокус за елементи в search suggestions / history
   ========================= */
.suggestion-text:focus-visible,
.delete-icon:focus-visible,
.arrow-icon:focus-visible {
  outline: 3px solid #d10019;
  outline-offset: 2px;
  border-radius: 3px;
}

/* =========================
   WCAG: Badge contrast — #ffa200 с бял текст е само ~2:1; слагаме тъмен текст
   ========================= */
.favs-item-indicator,
.notifications-count--favourites {
    color: #111 !important;
}

/* =========================
   WCAG: Контраст за бутона "X" на приложените филтри
   ========================= */
.applied-filter .btn-remove {
  opacity: .75;
}
.applied-filter .btn-remove:focus-visible {
  opacity: 1;
  outline: 3px solid #d10019;
  outline-offset: 2px;
  border-radius: 3px;
}

  .best {
    display: none !important;
  }

  .table-scroll {
    position: relative;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-bottom: 1px solid #eee;
  }

  .breadcrumbs {
    margin-bottom: 0 !Important;
  }

  .table-scroll table {
    border-collapse: separate;
    border-spacing: 0;
    width: max-content;
    min-width: 600px;
  }

  .sticky-first-col th:first-child,
  .sticky-first-col td:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #fff;
    background-clip: padding-box;
    box-shadow: 1px 0 0 rgba(0, 0, 0, 0.06);
  }

  .sticky-first-col thead th:first-child {
    z-index: 3;
  }

  .sticky-header thead th {
    position: sticky;
    top: 0;
    z-index: 4;
    background: #fff;
  }

  @media (max-width: 576px) {
    .table-scroll table {
      font-size: 14px;
    }

    .table-scroll .small {
      font-size: 12px;
    }
  }

  .table.zebra tbody tr:nth-of-type(odd) {
    background: #fff;
  }

  .table.zebra tbody tr:nth-of-type(even) {
    background: #f3f3f3;
  }

  .sticky-first-col tbody th:first-child,
  .sticky-first-col tbody td:first-child {
    background: inherit;
    background-clip: padding-box;
  }

  .sticky-first-col thead th:first-child {
    background: #fff;
    z-index: 3;
  }

  .sticky-header thead th {
    background: #fff;
  }

/* =========================================================================
   Accessibility fix: VoiceOver "Blank" on custom checkboxes
   Safari/WebKit treats opacity:0 inputs as "not rendered" in the a11y tree.
   Use the standard clip technique instead — guaranteed to keep the element
   accessible while hiding it visually.
   ========================================================================= */
.form-group.checkbox-container input,
.form-group.radio-container input,
.form-group.color-container input,
.filters-colours input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  opacity: 1;
}

/* Accordion toggle button reset
   The <button> sits inside an h2/h3 and inherits text styles from the heading.
   It must look and behave like plain heading text. */
.filters-title > .js-sidebar-section-toggle,
.panel-title > .js-sidebar-section-toggle {
  display: flex;
  align-items: center;
  width: 100%;
  -webkit-appearance: none;
  appearance: none;
  background: none;
  background-color: transparent !important;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
  gap: 0.5rem;
}


/* Category tree toggle button reset (btn-toggle-dropdown) */
.btn-toggle-dropdown {
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  line-height: 1;
  color: inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
/* main.css sets .sidebar-nav .btn-toggle-dropdown { outline: 0 } — override it */
.btn-toggle-dropdown:focus-visible {
  outline: 3px solid #d10019;
  outline-offset: 2px;
  border-radius: 2px;
}

/* Explicit focus rules for filter elements (WCAG 2.1 Point 9) */
.sidebar-nav .btn-toggle-dropdown:focus-visible,
.js-sidebar-section-toggle:focus-visible,
.listing-sidebar .btn-close:focus-visible,
.mobile-filter-controls .btn:focus-visible {
  outline: 3px solid #d10019;
  outline-offset: 3px;
  border-radius: 4px;
}

/* Filter skip links (Point 4) */
.filter-group {
  position: relative;
}
.filter-skip-link {
  position: absolute;
  left: 1rem;
  top: .5rem;
  transform: translateY(-120%);
  opacity: 0;
  pointer-events: none;
  background: #fff;
  color: #111;
  border: 2px solid #111;
  padding: .5rem .75rem;
  z-index: 20;
  text-decoration: none;
  font-size: .875rem;
}
.filter-skip-link:focus-visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
  outline: 3px solid #d10019;
  outline-offset: 3px;
  border-radius: 4px;
}

/* Group container used as skip-link target — suppress focus outline (focus is visual via skip link) */
.filter-group:focus {
  outline: none;
}

/* Fieldset reset for filter groups (Point 6) */
fieldset.filter-group {
  border: none;
  padding: 0;
  margin: 0;
  min-width: 0;
}
fieldset.filter-group legend.filters-title {
  float: left;
  width: 100%;
  padding: 0;
}
fieldset.filter-group::after {
  display: block;
  content: '';
  clear: both;
}

/* Mobile filter drawer — always visible on desktop regardless of hidden attribute */
@media (min-width: 992px) {
  #plp-filters-drawer {
    display: block !important;
  }
  #plp-filters-drawer[role="dialog"] {
    position: static !important;
  }
}

/* Price slider pip labels — WCAG AA contrast (Point 13)
   noUiSlider defaults to a light grey that fails 4.5:1 against white */
.noUi-value {
  color: #595959; /* #595959 on #fff = 7:1 — passes AA & AAA */
}
/* Search filter input must not be inside a heading — sits after <h3> */
.filters-title + .search-filters,
.filters-title + input.search-filters {
  display: none; /* hidden on mobile by default; d-none d-lg-block on the element handles it */
}

/* =========================
   Cart dropdown � mobile drawer header
   ========================= */
.cart-dropdown-mobile-header {
  align-items: center;
  justify-content: space-between;
  padding: .6875rem 1rem .625rem;
  border-bottom: 1px solid #d9d9d9;
  font-size: .875rem;
  font-weight: 600;
}

.cart-dropdown-close {
  padding: .25rem .5rem;
  line-height: 1;
  color: #333;
  background: none;
  border: none;
}

.cart-dropdown-close:focus-visible {
  outline: 3px solid #d10019;
  outline-offset: 2px;
  border-radius: 3px;
}

.cart-dropdown-close .icon {
  width: 1rem;
  height: 1rem;
  display: block;
}

@media (min-width: 992px) {
  .cart-dropdown-mobile-header {
    display: none !important;
  }
}

/* =========================
   Point 8: Cart totals dl/dt/dd layout
   Replaces the former .cart-dropdown-footer p flex layout
   ========================= */
.cart-dropdown-footer .cart-totals {
  margin: 0;
  padding: 0;
}
.cart-dropdown-footer .cart-totals > div {
  margin-bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  overflow: hidden;
}
.cart-dropdown-footer dt,
.cart-dropdown-footer dd {
  margin: 0;
  padding: 0;
}

/* =========================
   Point 9: Free-delivery portlet link � must not differ by colour alone
   ========================= */
.cart-dropdown-footer a:not(.btn) {
  text-decoration: underline;
}

/* Cart quantity minus button � disabled state keeps transparent bg so input border-radius stays visible */
.form-item-quantity [data-handler="subQuantity"][disabled] {
  background-color: transparent !important;
  color: inherit !important;
  opacity: 0.3 !important;
  cursor: not-allowed;
}

/* cart-dropdown-footer: extend main.css rules to dt/dd (replaced span/p) */
.cart-dropdown-footer dt,
.cart-dropdown-footer dd {
  font-weight: 700;
}
.cart-dropdown-footer > .cart-totals > div {
  margin-bottom: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: flex-start;
      -ms-flex-align: flex-start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  overflow: hidden;
}

/* Cart � inline quantity error message */
.form-item-quantity .errors[role="alert"] {
  color: #d10019;
  padding-left: 0;
  margin-top: .2rem;
  margin-bottom: 0;
}

/* =========================
   Point 7: Delivery prices & cart totals � dl/dt/dd layout
   Replaces the former .totals-row span+span layout so screen readers
   announce each label/value pair as a definition term.
   ========================= */
.delivery-prices,
.cart-totals {
  margin: 0;
  padding: 0;
  list-style: none;
}
.delivery-prices > div,
.cart-totals > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  width: 100%;
  position: relative;
  padding-right: 5.25rem;
  font-size: .875rem;
}
.delivery-prices > div + div,
.cart-totals > div + div {
  margin-top: .5625rem;
}
.cart-grand-total > div {
  padding-right: 7.5rem;
  font-size: .975rem;
  font-weight: 700;
}
.delivery-prices dt,
.cart-totals dt {
  margin: 0;
  padding: 0;
  font-weight: normal;
  flex: 1 1 auto;
}
.delivery-prices dd,
.cart-totals dd {
  margin: 0;
  padding: 0;
  position: absolute;
  top: 1px;
  right: 0;
}
.cart-grand-total dd {
  font-weight: 700;
}
.cart-grand-total dt {
  font-weight: 700;
}
[data-handler="doOrder"] {
  margin-top: 1rem;
  float: left;
}
/* Selected courier row highlighted */
.delivery-prices__selected dt,
.delivery-prices__selected dd {
  color: green;
  font-weight: bold;
}
@media (min-width: 992px) and (max-width: 1199px) {
  .delivery-prices > div,
  .cart-totals > div,
  .cart-grand-total > div {
    padding-right: 0;
    display: block;
  }
  .delivery-prices dd,
  .cart-totals dd {
    position: relative;
    top: auto;
    right: auto;
    display: block;
    width: 100%;
  }
}

/* =========================
   Point 8: Free-delivery portlet link � must not differ by colour alone
   (Already covered for cart-dropdown; apply to cart-totals section too)
   ========================= */
.panel-price-totals a:not(.btn) {
  text-decoration: underline;
}

/* =========================
   Point 3: Inactive panel title contrast
   main.css uses opacity:.5 which drops contrast below 4.5:1.
   Override with an explicit accessible grey (#767676 = 4.54:1 on #fff).
   ========================= */
.panel.panel-inactive .panel-title {
  opacity: 1;
  color: #767676;
}

/* =========================
   Point 11: Hide chat widgets on cart / checkout pages
   ========================= */
body.page-cart #chatScript,
body.page-cart .chat-widget,
body.page-cart [id^="highsky"],
body.page-cart iframe[src*="chatbot.sportdepot"],
body.page-cart iframe[src*="highsky.ai"] {
  display: none !important;
}

/* =========================
   Point 10: Modal .modal-title is now an h2 � reset heading margins/size
   ========================= */
#block-modal-cart .modal-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
}
