@charset "utf-8";
#quickcheckout .block-content {
	margin-bottom:10px;
}
/* CSS Document */
#quickcheckout .column {
	overflow:hidden
}
#quickcheckout .hide {
	display:none
}
#quickcheckout b {
	font-weight:bold
}
#quickcheckout {
	font-size:14pt;
	padding-bottom: 40px;
	min-height: 720px;
}
#quickcheckout .wrap {
	min-height: 640px;
}
#quickcheckout .block-content {
	/*min-height: 420px;*/
}
#quickcheckout .quickcheckout-header {
	gap: 12px;
	min-height: 48px;
	margin-bottom: 16px;
}
#quickcheckout #option_login_popup_trigger {
	float: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	min-width: 196px;
	white-space: nowrap;
}
#quickcheckout .wait {
	width:100%;
	text-align:center;
	background:rgba(0, 0, 0, 0.1);
	position:relative;
	height:0px;
	position:fixed;
	top:0px;
	left:0px;
	z-index:10000;
}
#quickcheckout .wait span {
	display: inline-block;
	zoom:1;
 *display:inline;
	background:url(../../image/quickcheckout/preloader_classic.gif) no-repeat center;
	background-color:#efefef;
	width:48px;
	height:15px;
	padding:5px;
	position:relative;
	border-radius: 0px 0px 5px 5px;
	top:0px;
	margin-top:0px;
	box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.1);
}
#quickcheckout small {
	font-size:14px;
	line-height:14px;
}
#quickcheckout .box {
	border:5px solid #f4f4f4;
	margin:  9px 0px 0px 0px;
	min-width: 180px;
}
#quickcheckout .box .box-heading {
	padding: 10px;
}
#quickcheckout .box .box-content {
	padding:10px;
	/*background-color: #eeeeee !important;*/
	    background-color: #ffffff !important;
}
#quickcheckout .box .box-content ul li {
	display:block
}
#quickcheckout #confirm_inputs {
	/*
	padding:5px;
	*/
}
#quickcheckout .clear {
	clear:both
}
#quickcheckout #step_1 .box {
	float:left;
	width:32%;
	margin-left: 0.5%;
	margin-right:0.5%
}
#quickcheckout #step_1 .box .box-heading {
	white-space: nowrap;
	overflow: hidden;
}
#quickcheckout label {
	width:45% !important;
	/*
	margin: 0px 0px 3px 0px !important;
	*/
	display:inline-block !important;
	zoom:1;
 *display:inline;
}
#quickcheckout #step_1 #option_register label, #quickcheckout #step_1 #option_guest label {
	width: 80%;
	float: none !important;
}
#quickcheckout #button_login {
	margin-bottom:4px;
}
#quickcheckout #remeber_password {
	white-space: nowrap;
	vertical-align: middle;
	    margin-left: 20px;
}
#quickcheckout .block label {
 width:100%%;
	display:block;
	margin:2px;
	vertical-align: middle;
}
#quickcheckout #step_1 input[type=text], #quickcheckout #step_1 input[type=password], #quickcheckout #step_1 select, #quickcheckout #step_2 input[type=text], #quickcheckout #step_2 input[type=password], #quickcheckout #step_2 select, #quickcheckout #step_3 input[type=text], #quickcheckout #step_3 input[type=password], #quickcheckout #step_3 select {
	/*width:53%;
	*/
	display:inline-block !important;
	margin: 5px 0px;
}
#quickcheckout #step_1 .block input[type=text], #quickcheckout #step_1 .block input[type=password], #quickcheckout #step_1 .block select, #quickcheckout #step_3 .block input[type=text], #quickcheckout #step_3 .block input[type=password], #quickcheckout #step_3 .block select {
	width:100%;
	display:block;
	margin:2px;
	height:30px;
}
#quickcheckout select option {
	background-color:transparent
}
#quickcheckout #step_1 input[type=text], #quickcheckout #step_1 input[type=password] {
	/*max-width:200px;
	*/
}
#quickcheckout #step_1 .block-row {
	width: 100%;
	float:left;
	margin-right:15px;/*max-width: 285px*/
}
#quickcheckout #step_1 .block-row.button-login {
	margin-top: 20px;
}

#option_login_popup .email {
	margin-bottom:10px;
}

#quickcheckout #confirm_payment .buttons {
	border:none;
	background:none;
	padding:0px;
	margin:0px;
}
#quickcheckout #confirm_payment .button-confirm, #quickcheckout #confirm_payment .buttons .button, #quickcheckout #confirm_payment .buttons .btn {
}
#quickcheckout .block-title {
	color: #fff;
	margin-top: 0px;
	margin-bottom: 20px;
	font-size: 32px;
	font-weight: normal;
	text-shadow: 0 0 1px rgba(0, 0, 0, .01);
}
#quickcheckout .box-content > .description {
	margin-bottom:5px;
}
#quickcheckout #step_6 {
	margin-top:7px;
}
#quickcheckout #step_6 .buttons {
	margin-bottom: 0px;
}
#quickcheckout .aqc-column-0 {
	float:none
}
#quickcheckout .aqc-column > div {
	margin:0px 1.3%;
}
#quickcheckout .aqc-column-0 > div {
	margin:0px 0px;
}
#quickcheckout #step_4 .radio-input, #quickcheckout #step_5 .radio-input {
	margin-top:6px;
}
#quickcheckout #step_4 .title {
	margin-top:8px;
}
#quickcheckout #step_4 .price {
	float:right;
}
#quickcheckout .span1 {
	width:100%
}
#quickcheckout .span2 {
	width:50%;
	float:left
}
#quickcheckout .span3 {
	width:33%;
	float:left
}
/*labels*/
#quickcheckout .radio-input label, #quickcheckout .checkbox-input label {
	width: 86% !important;
	box-sizing: border-box;
	float: none !important;
}
#quickcheckout .radio-input ul label {
	width: 78% !important;
	float: none !important;
}
#quickcheckout label img {
	float:right;
	height:20px;
	margin-bottom:4px;
}
#quickcheckout #comment_input label {
	display:block;
	color: #4D4D4D;
	width:100% !important;
	margin-bottom:5px;
}
#quickcheckout #comment_input #confirm_comment {
	width:100%;
	height:100px;
	margin-bottom:5px;
	box-sizing: border-box;
}
#quickcheckout #agree_input {
	margin-bottom: 0;
}
#quickcheckout #step_1 .text {
	margin-top:15px;
}
/*table*/
#quickcheckout #step_6 .checkout-product thead td {
	
}
#quickcheckout #step_6 input.product-qantity {
	width:35px;
	min-width:35px;
	text-align:center
}
#quickcheckout #step_6 .total input {
	width:50px;
	height: auto;
	margin:0px;
}
#quickcheckout #step_6 .stock input {
	border:1px solid #D20000;
	height: auto;
	margin:0px;
}
#quickcheckout #step_6 .quantity {
	height: auto;
}
#quickcheckout #step_6 .summary .total {
	min-width:105px;
}
#quickcheckout #step_6 .checkout-product table {
	margin-bottom:-1px;
	width: 100%;
	border:1px solid #DDDDDD;
}
#quickcheckout #step_6 .checkout-product table td {
	border-bottom:1px solid #DDDDDD;
	background-color:#fff;
	background-repeat:repeat;
	padding:8px;    padding-left: 20px;
}
#quickcheckout #step_6 .checkout-product table td img {
	width:40px;
}
#quickcheckout #step_6 .checkout-product table td.text {
	width:80%;
	text-align:right;
	vertical-align: middle;
}
#quickcheckout #step_6 input.product-qantity {
	text-align:center;
	height: auto;
}
#quickcheckout #step_6 .quantity i {
	margin-top: -3px;
}
/*icons*/
#quickcheckout i[class*=icon-] {
 background-image: url(../../image/quickcheckout/icons_sprite.png);
 display: inline-block;
 zoom:1;
 *display:inline;
 width: 30px;
 height: 30px;
 position: relative;
 vertical-align: top;
 margin:0px 10px 0px 0px;
}
#quickcheckout i.icon-help {
	background-position: 0px -208px;
	margin: 4px 0px 0px 4px;
	width: 12px;
	height: 12px;
}
#quickcheckout i[class*=icon-small-] {
 display: inline-block;
 zoom:1;
 *display:inline;
 width: 12px;
 height: 12px;
 position: relative;
 vertical-align: middle;
 margin:0px 5px 0px 5px;
 cursor:pointer
}
#quickcheckout i[class*=icon-small-]:active {
 margin-top:1px
}
#quickcheckout i.icon-home {
	background-position: -0px -221px;
}
#quickcheckout i.icon-settings {
	background-position: -30px -221px;
}
#quickcheckout i.icon-profile {
	background-position: -60px -221px;
}
#quickcheckout i.icon-payment-address {
	background-position: -90px -221px;
}
#quickcheckout i.icon-shipping-address {
	background-position: -120px -221px;
}
#quickcheckout i.icon-shipping-method {
	background-position: -150px -221px;
}
#quickcheckout i.icon-payment-method {
	background-position: -180px -221px;
}
#quickcheckout i.icon-confirm {
	background-position: -210px -221px;
}
#quickcheckout i.icon-ticket {
	background-position: -300px -221px;
}
#quickcheckout i.icon-design {
	background-position: -240px -221px;
}
#quickcheckout i.icon-drag {
	background-position: -277px -134px;
	width:20px;
	height:10px;
	cursor:n-resize;
	vertical-align:middle;
	margin-top: 8px;
	float: right;
}
#quickcheckout i.icon-small-plus {
	background-position: -60px -208px;
}
#quickcheckout i.icon-small-minus {
	background-position: -72px -208px;
}
#quickcheckout #step_6 .icon-confirm {
	margin-right:0px;
	cursor:pointer
}
#quickcheckout #step_6 .icon-confirm:active {
	margin-top:1px
}
/*tooltips*/

.qc.tooltip {
	width: 200px;
	position: absolute;
	padding: 10px;
	background: #333;
	background: -webkit-gradient( linear, left top, left bottom, from( rgba( 0, 0, 0, .6 ) ), to( rgba( 0, 0, 0, .8 ) ) );
	background: -webkit-linear-gradient( top, rgba( 0, 0, 0, .6 ), rgba( 0, 0, 0, .8 ) );
	background: -moz-linear-gradient( top, rgba( 0, 0, 0, .6 ), rgba( 0, 0, 0, .8 ) );
	background: -ms-radial-gradient( top, rgba( 0, 0, 0, .6 ), rgba( 0, 0, 0, .8 ) );
	background: -o-linear-gradient( top, rgba( 0, 0, 0, .6 ), rgba( 0, 0, 0, .8 ) );
	background: linear-gradient( top, rgba( 0, 0, 0, .6 ), rgba( 0, 0, 0, .8 ) );
	color: #eee;
	font: normal normal normal 12px/14px Arial, sans-serif;
	text-align: justify;
	z-index: 6000;
	-webkit-box-shadow: 0 3px 5px rgba( 0, 0, 0, .3 );
	-moz-box-shadow: 0 3px 5px rgba( 0, 0, 0, .3 );
	box-shadow: 0 3px 5px rgba( 0, 0, 0, .3 );
	position: absolute;
}
.qc.tooltip:after {
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 8px solid #333;
	border-top-color: rgba( 0, 0, 0, .7 );
	content: '';
	position: absolute;
	left: 50%;
	bottom: -8px;
	margin-left: -10px;
	z-index:10000
}
.qc.tooltip.top:after {
	border-top-color: transparent;
	border-bottom: 10px solid #111;
	top: -20px;
	bottom: auto;
}
.qc.tooltip.left:after {
	left: 10px;
	margin: 0;
}
.qc.tooltip.right:after {
	right: 10px;
	left: auto;
	margin: 0;
}
/*Debug*/
#quickcheckout_debug {
	position: absolute;
	width:100%;
	top:0px;
	left:0px;
	z-index:100000
}
#quickcheckout_debug .button-toggle {
	position:fixed;
	border-top: 2px solid #1f8dd6;
	background-color: #ecf0f3;
	padding:10px;
	width:100%;
	text-align:center;
	box-shadow: 0 6px 5px -6px #999;
	cursor:pointer;
	margin-top:-1px;
	opacity:0.8;
	font-weight:bold
}
#quickcheckout_debug .button-toggle:hover {
	box-shadow: 0 6px 5px -6px #333;
	opacity:1
}
#quickcheckout_debug .button-toggle:active {
	margin-top:0px;
}
#quickcheckout_debug .debug-content {
	margin:0px;
	margin-top:36px;
	padding:0px;
	list-style:none;
	background: rgba(255, 255, 255, 0.95)
}
#quickcheckout_debug .debug-content li {
	width:28%;
	padding:2%;
	float:left;
	min-width:200px;
}
#quickcheckout_debug .debug-content li .heading {
	margin-top:10px;
	font-size:18px;
	font-weight:bold
}
#quickcheckout_debug .debug-content li:nth-child(even) {
 background:rgba(0, 0, 0, 0.05)
}
#quickcheckout_debug pre {
	white-space: pre-wrap;       /* css-3 */
	white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
	white-space: -pre-wrap;      /* Opera 4-6 */
	white-space: -o-pre-wrap;    /* Opera 7 */
	word-wrap: break-word;       /* Internet Explorer 5.5+ */
}
/*theme fixes*/
#quickcheckout input[type='text'], #quickcheckout input[type='password'], #quickcheckout textarea {
	min-width: 50px;
}
#quickcheckout img {
	/*max-width: inherit;*/
}
#quickcheckout #step_1 .box {
	clear:none
}
#quickcheckout #step_1 .box .box-content {
	width: auto;
}
.Checkout .row {
	margin-left: 0px;
}
#quickcheckout .btn:hover {
	background-position: 0 0px;
}
#quickcheckout #step_6 input.product-qantity {
	margin-right:0px;
}
#quickcheckout input[type=radio], #quickcheckout input[type=checkbox]{

	}
#option_login_popup_trigger_wrap{
	background:rgba(0,0,0,0) !important;
	height:40px;}
#option_login_popup_trigger_wrap .title{
	padding:6px 10px 0px 0px;
	vertical-align:text-top;
	font-size:18px;
	}
#option_login_popup_trigger{
		float:none}
.box-popup-wrap{
	display:none;
	position: fixed;
	top:0;
	left:0;
	background-color:rgba(0,0,0,0.3) !important;
	height:100%;
	width:100%;
	z-index:1000}
.box-popup {
	position: absolute;
    background-color: #fff !important;
    padding: 20px;
    width: 305px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.box-popup .box-heading{
	background: rgba(0,0,0,0);
border: none;
border-bottom: 1px solid #ececec;
color: #000;
font-size: 18px !important;
text-transform: none;
font-weight: normal;
line-height: 22px !important;
padding: 10px;

	}
.box-popup .box-content{
	padding: 10px;
}
.box-popup  .close{
	position:absolute;
	top:0px;
	right:0px;
	padding:0px 7px 3px 7px;
	background:#479ccf !important;
	border:1px solid #fff;
	font-weight:bold;
	border-radius:15px;
	color: #FFFFFF !important;
	cursor:pointer;
	margin:-10px;
	box-shadow: 1px 1px 4px rgba(0,0,0,0.1)

	}
#quickcheckout #option_login_popup_trigger_wrap label{
	width:inherit !important;}
#option_register_popup{
	padding:5px;
	display:inline-block}
#option_guest_popup{
	padding:5px;
	display:inline-block}
#option_login_popup_trigger{
	height:auto !important;
	min-width:196px;}

	#button_login_popup {
		display:inline-block !important;	
	}

  /* step_1 не убиваем целиком, чтобы popup внутри мог открыться */
  #quickcheckout #step_1 {
    display: block !important;
    margin: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  /* прячем только обычный login/register/guest блок */
  #quickcheckout #step_1 > #login_wrap,
  #quickcheckout #step_1 > #option_login_popup_trigger_wrap {
    display: none !important;
  }

  /* шаги 3-5 могут быть логически пустыми, но .blocks даёт им min-height */
  #quickcheckout #step_3,
  #quickcheckout #step_4,
  #quickcheckout #step_5 {
    min-height: 0 !important;
  }

#quickcheckout #step_2 .text-input label,
#quickcheckout #step_2 .select-input label,
#quickcheckout #step_2 .password-input label,
#quickcheckout #step_3 .text-input label,
#quickcheckout #step_3 .password-input label,
#quickcheckout #step_3 .select-input label { width: 80%; }
#quickcheckout #step_2 .text-input input[type=text],
#quickcheckout #step_2 .password-input input[type=password],
#quickcheckout #step_2 .select-input select,
#quickcheckout #step_3 .text-input input[type=text],
#quickcheckout #step_3 .password-input input[type=password],
#quickcheckout #step_3 .select-input select { width: 100%; }
#quickcheckout #step_2 .radio-input ul,
#quickcheckout #step_3 .radio-input ul { margin-left: 0px; }

#quickcheckout .decrease,
#quickcheckout .increase,
#quickcheckout .remove-completely { cursor: pointer; }

#quickcheckout .qc-row-fields-payment {
	display: grid;
	grid-template-columns: 60fr 40fr;
	gap: 16px;
	align-items: stretch;
}
#quickcheckout #qc-payment-row { margin-bottom: 15px !important; }
#quickcheckout .qc-row-fields-payment > div { min-width: 0; }
#quickcheckout .qc-row-fields-payment > div > div { height: 100%; }
#quickcheckout .qc-row-fields-payment > div .box { height: 100%; margin-bottom: 0; }
@media (max-width: 991px) {
	#quickcheckout .qc-row-fields-payment { grid-template-columns: 1fr; }
}

#quickcheckout .cart-grid .cart-row {
	display: grid;
	grid-template-columns: 1fr auto 100px 100px;
	gap: 12px;
	align-items: center;
	padding: 8px 0;
	border-bottom: 1px solid #ddd;
	/* Без min-width:0 grid-items имеют default min-width:auto, и длинные
	   названия билетов растягивают строку шире контейнера → горизонтальный
	   скролл на мобильных. */
	min-width: 0;
}
#quickcheckout .cart-grid .cart-row > .cell { min-width: 0; }
#quickcheckout .cart-grid .cart-row .cell.price,
#quickcheckout .cart-grid .cart-row .cell.total,
#quickcheckout .cart-grid .cart-row .cell.value {
	text-align: right;
	white-space: nowrap;
}
#quickcheckout .cart-grid .cart-row.total-row { grid-template-columns: 1fr 100px; }
#quickcheckout .cart-grid .cart-row.total-row .cell.label { text-align: right; }
/* Раньше тут было white-space: nowrap — длинные названия билетов
   («Liverpool vs Manchester United — North Stand Lower») не переносились,
   и строка уезжала за пределы экрана на мобильных. overflow-wrap:anywhere
   страхует от слов без пробелов, которые иначе тоже не разорвутся. */
#quickcheckout .cart-grid .cart-row.product-row .cell.name {
	white-space: normal;
	overflow-wrap: anywhere;
}
#quickcheckout .cart-grid .cart-row.product-row .cell.name img.show { display: none !important; }
#quickcheckout .cart-grid .cart-row.product-row .cell.quantity { white-space: nowrap; }
#quickcheckout .cart-grid .cart-row.product-row .cell.quantity .decrease,
#quickcheckout .cart-grid .cart-row.product-row .cell.quantity .increase,
#quickcheckout .cart-grid .cart-row.product-row .cell.quantity .remove-completely { font-size: 24px; vertical-align: middle; line-height: 1; }
#quickcheckout .cart-grid .cart-row.product-row .cell.quantity .product-qantity { vertical-align: middle; }
#quickcheckout .cart-grid .cart-row:last-child { border-bottom: none; }

@media (max-width: 575.98px) {
	#quickcheckout .cart-grid .cart-row.product-row {
		/* На очень узких экранах (<576px = ниже Bootstrap-sm) полностью убираем
		   price-колонку: цена за билет повторяется на каждой строке и не критична,
		   total — нужен. На 576-767px price-колонка возвращается, лежим в той же
		   двухстрочной раскладке (см. медиа-запрос ниже). */
		grid-template-columns: auto 1fr;
		grid-template-areas:
			"name     name"
			"quantity total";
		row-gap: 8px;
	}
	#quickcheckout .cart-grid .cart-row.product-row .cell.name     { grid-area: name; white-space: normal; }
	#quickcheckout .cart-grid .cart-row.product-row .cell.quantity { grid-area: quantity; }
	#quickcheckout .cart-grid .cart-row.product-row .cell.price    { display: none; }
	#quickcheckout .cart-grid .cart-row.product-row .cell.total    { grid-area: total;  text-align: right; }
}

@media (min-width: 576px) and (max-width: 767px) {
	/* sm-диапазон (576-767): name на полной ширине + quantity/price/total в строке.
	   quantity занимает всё свободное место слева (1fr), price и total стянуты в
	   правую часть (auto auto), стоят вплотную друг к другу. */
	#quickcheckout .cart-grid .cart-row.product-row {
		grid-template-columns: 1fr auto auto;
		grid-template-areas:
			"name     name  name"
			"quantity price total";
		row-gap: 8px;
	}
	#quickcheckout .cart-grid .cart-row.product-row .cell.name     { grid-area: name; white-space: normal; }
	#quickcheckout .cart-grid .cart-row.product-row .cell.quantity { grid-area: quantity; }
	#quickcheckout .cart-grid .cart-row.product-row .cell.price    { grid-area: price; text-align: right; }
	#quickcheckout .cart-grid .cart-row.product-row .cell.total    { grid-area: total;  text-align: right; }
}

#quickcheckout .text-input { margin-bottom: 10px; }
#quickcheckout .select-input { margin-bottom: 10px; }
#quickcheckout .textarea-input { margin-bottom: 10px; }
#quickcheckout #password_input { margin-bottom: 10px; }
#quickcheckout .blocks { display: none; }
#quickcheckout #step_1 { display: block; }

#quickcheckout #step_2 .text-input input[type=text],
#quickcheckout #step_2 .text-input input[type=email],
#quickcheckout #step_2 .text-input input[type=tel],
#quickcheckout #step_2 .select-input select,
#quickcheckout #step_2 .textarea-input textarea { width: 100% !important; }
#quickcheckout #step_2 .text-input label,
#quickcheckout #step_2 .select-input label,
#quickcheckout #step_2 .textarea-input label { width: 100%; }

#quickcheckout #payment_address .text-input,
#quickcheckout #payment_address .select-input,
#quickcheckout #payment_address .textarea-input { margin-bottom: 0; }
#quickcheckout #payment_address input[type=text],
#quickcheckout #payment_address input[type=email],
#quickcheckout #payment_address input[type=tel],
#quickcheckout #payment_address select,
#quickcheckout #payment_address textarea { margin-bottom: 0 !important; }
#quickcheckout #comment_input #confirm_comment { margin: 0; height: 120px; }

#quickcheckout .checkout-product thead td { color: #4D4D4D; font-weight: bold; background-color: #eee !important; border-bottom: 1px solid #DDDDDD; }
#quickcheckout .box .box-heading { display: table; }
#quickcheckout .box .box-heading span { display: table-cell; vertical-align: middle; width: 100%; }
#quickcheckout .box { margin: 0px 0px 15px 0px; }
#quickcheckout #step_6 { margin-top: 0px; }
#quickcheckout .aqc-column > div { margin: 0px; }
#quickcheckout #step_6 .checkout-product table .price { display: table-cell; }
#quickcheckout #step_6 .checkout-product table .name img.show { display: none !important; }
#quickcheckout .form-control-sm { font-size: .875rem !important; }

/* ============================================================
   Quick-flow stepper (Cart > Checkout > Review > Payment > Success)
   используется на cart/checkout/review/success-страницах. Цвета —
   из брэнд-палитры (#1d9e8a) и нейтрального серого.
   ============================================================ */
.qc-steps {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	list-style: none;
	padding: 0;
	margin: 8px 0 16px;
	counter-reset: qc-step;
}
.qc-steps__item {
	flex: 1 1 0;
	min-width: 0;
	text-align: center;
	position: relative;
}
.qc-steps__circle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #ccc;
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	line-height: 1;
	position: relative;
	z-index: 2;
}
.qc-steps__label {
	display: block;
	margin-top: 6px;
	font-size: 13px;
	color: #6c757d;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.qc-steps__item--done .qc-steps__circle,
.qc-steps__item--active .qc-steps__circle {
	background: #1d9e8a;
}
.qc-steps__item--active .qc-steps__circle {
	box-shadow: 0 0 0 4px rgba(29, 158, 138, 0.18);
}
.qc-steps__item--active .qc-steps__label {
	color: #1d9e8a;
	font-weight: 600;
}
.qc-steps__item--done .qc-steps__label {
	color: #4a4a4a;
}
/* Connector line между кругами. ::after на каждом, кроме последнего; идёт
   из центра текущего круга к центру следующего (left:50%, width:100%). */
.qc-steps__item:not(:last-child)::after {
	content: '';
	position: absolute;
	top: 15px;
	left: calc(50% + 16px);
	right: calc(-50% + 16px);
	height: 2px;
	background: #ccc;
	z-index: 1;
}
.qc-steps__item--done:not(:last-child)::after {
	background: #1d9e8a;
}

/* Mobile (<576): меньше круг, меньше текст. Места всё равно хватает на 5
   слов: «Cart Checkout Review Payment Success» — длиннее всего «Checkout»
   (~55px), на 320px экране × 5 = 275px + gap, помещается. */
@media (max-width: 575.98px) {
	.qc-steps__circle { width: 26px; height: 26px; font-size: 12px; }
	.qc-steps__label { font-size: 10px; margin-top: 4px; }
	.qc-steps__item:not(:last-child)::after {
		top: 12px;
		left: calc(50% + 13px);
		right: calc(-50% + 13px);
	}
}

/* Текстовые ссылки внутри обычного «прозового» блока внутри #quickcheckout
   (.bg-white p-3 rounded). Обнуление в classic.css:29 нужно для form-степов,
   но оно гасит ссылки и в success-сообщении. classic.css грузится ПОСЛЕ
   quickcheckout.css в controller'е, и у него селектор той же специфичности
   (#quickcheckout *:not(i):not(.btn-lg)) → побеждает source order, и в
   состоянии без :hover мой override не сработает. На :hover у моего
   селектора псевдо-класс +1 specificity, поэтому он выигрывал автоматически —
   отсюда странный эффект «ссылки видны только при наведении». !important
   снимает зависимость от source order. */
#quickcheckout .bg-white a,
#quickcheckout .bg-white a:visited {
	color: #1d9e8a !important;
	text-decoration: underline !important;
}
#quickcheckout .bg-white a:hover,
#quickcheckout .bg-white a:focus {
	color: #167b6c !important;
	text-decoration: underline !important;
}
