
#shop { min-height: max(430px, calc(100vh - 465px)); }
#shop th { text-align: left; font-weight: 600; }
.shop-steps { margin-top: 3%; margin-bottom: 4%; display: flex; width: 100%; max-width: 600px; color: #BBBBBB; }
.shop-steps > * { flex: auto; }
.shop-steps .akt, .shop-steps .akt b { color: #222222; }
.shop-steps b { /*arrows*/ font-size: 150%; font-weight: normal; position: absolute; margin-left: 15px; color: #999999; }
.shop-steps a:hover { text-decoration: none; }
/*szállítási módtól függően*/
.shop-steps .step-szallitas { display: none; }
/*.shop-steps.step-szallitas .step-szallitas { display: block; }*/
/*nem kell*/
.shop-steps .step-shop,
.shop-steps .step-send,
.shop-steps .step-payment,
.shop-steps .step-thank,
.shop-steps .step-thanks,
.shop-steps .step-result,
.shop-steps .step-bolt,
.shop-steps .step-kuldes,
.shop-steps .step-fizetes,
.shop-steps .step-koszonjuk,
.shop-steps .step-eredmeny { display: none!important; }

#shop .option-description { font-size: 15px; line-height: 1.3em; }
.shop-method-blocks .option-description { padding-left: 22px; }
.shop-method-blocks .option-description p:first-child { margin-top: 0.3em; }

#shop .formitem { display: grid; grid-template-columns: 29% 65%; grid-gap: 3%; margin-bottom: 1em; }
#shop .formitem textarea, #shop .formitem input[type=text], #shop .formitem input[type=number], #shop .formitem input[type=password], #shop .formitem input[type=email], #shop .formitem input[type=tel] { padding: 7px 10px; width: 86%; font-size: 15px; box-sizing: border-box; }
#shop .formitem .inputs { font-size: 17px; }
#shop .formitem.submit { margin-top: 1.5em; }

.shop-auth .openers { 
	/*display: grid; grid-template-columns: 31.3% 31.3% 31.3%; grid-gap: 3%;*/
	display: grid;
	/*grid-template-columns: 250px repeat(12, 1fr);*/
	/*grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));*/
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
	grid-column-gap: 3%;
}
.shop-auth .openers a { text-decoration: none; }
.shop-auth .openers a:hover h2 { text-decoration: underline; }
.shop-auth .shop-auth-opener { position: relative; vertical-align: top; padding: 10%; border: 1px solid #DDD; }
.shop-auth .shop-auth-opener:hover { background: #EEEEEE; transition: all .2s; -moz-transition: all .2s;  -webkit-transition: all .2s;  -o-transition: all .2s;  }
.shop-auth .shop-auth-opener .title, .shop-auth h2 { color: #e5ba12; margin: 0px 0px 0.5em 0px; }
.shop-auth .shop-auth-opener:not(.opener-registration) .title { position: absolute; left: 50%; transform: translateX(-49%); }
/*.shop-auth .shop-auth-opener .describe { margin-top: 2em; }*/
.shop-auth .auth { margin: auto; }

/*.shop-cart input[type=text], .shop-cart input[type=number] { padding: 5px 5px 3px 5px; }*/
.shop-cart .cart-products .title { display: grid; grid-auto-flow: column; align-items: center; justify-content: start; }
.shop-cart .title img { margin: 0 0.8em 0 0; max-width: 70px; max-height: 70px; }
.shop-cart .coupon-code-input { padding: 6px 5px 5px 5px; min-width: 80px; width: 46%; box-sizing: border-box; }
.shop-cart hr { -moz-opacity:.30; filter:alpha(opacity=30); opacity:.30; }
.shop-cart .checkmark { left: -27px; }
.shop-cart .button.thin { background-color: #2d2f4a80; margin-left: 5px; }
.shop-cart .button.thin:hover { background-color: #2d2f4a; }
.shop-cart td, .shop-cart th { padding: 0 20px 22px 0; vertical-align: middle; box-sizing: border-box; }
.shop-cart td { vertical-align: middle; }
.shop-cart .piece-input { width: 70px; margin-right: 6px; box-sizing: border-box; }
.shop-cart .piece-input[readonly] { cursor: default; outline: none; }
.shop-cart .discount-option-input { position: absolute; margin-left: -20px; margin-top: 2px; zoom: 1.3; -moz-transform: scale(1.3); }
@-moz-document url-prefix() { .shop-cart .discount-option-input { margin-left: -27px; margin-top: 7px; } }
.shop-cart .validating-1 .coupon-inputs, .shop-cart .validating-1 .gift-inputs { padding-top: 7px; vertical-align: middle; }
.shop-cart .option-description { padding-left: 0; max-width: 90%; }
.shop-cart td.gift-inputs { padding-bottom: 20px;  }
.shop-cart .gift-options { display: grid; width: 90%; grid-template-columns: repeat(auto-fit, minmax(30px, 1fr)); }
.shop-cart .gift-option { /*width: 60px;*/ height: 65px; /*display: inline-block;*/ text-align: center; margin: -30px 10px 0 0; padding: 0;  }
.shop-cart .gift-option .radiomark { top: unset; bottom: -25px; transform: scale(0.8) translateX(-50%); left: 50%; }
.shop-cart .gift-option img { width: 100%; height: 100%; vertical-align: middle; object-fit: contain; object-position: bottom; }
.shop-cart .summ-row td { padding-bottom: 30px; }
.shop-cart .validating-0 td:not(.coupon-inputs) { -moz-opacity:.40; filter:alpha(opacity=40); opacity:.40; transition: opacity .25s; -moz-transition: opacity .25s;  -webkit-transition: opacity .25s;  -o-transition: opacity .25s;  }
.shop-cart .validating-0 td.overfadein:hover { -moz-opacity:.70; filter:alpha(opacity=70); opacity:.70; }
.shop-cart .subtitle { font-weight: 600; }
.shop-cart .other-discount .label { padding-left: 27px; }
.shop-cart .coupon-message { font-size: 15px; line-height: 1.3em; margin: 6px 0 -8px 0; }
.shop-cart .coupon-message.invalid { color: red; font-size: 13px; }
.shop-cart .coupon-message.valid { color: #118e00; font-size: 13px; /*text-transform: lowercase;*/ background-color: #57ab4038; padding: 1px 4px 1px 4px; display: inline-block; }
.shop-cart .buttons button, .shop-cart .buttons .button { letter-spacing: 0.5px; }
.shop-cart .validating-0 .checkbox, .shop-cart .validating-0 .radiobutton { cursor: default; }

.shop-cart .gift-pairs-options {
	display: grid;
	grid-auto-flow: column;
	align-items: center;
	grid-column-gap: 5%;
	width: 90%;
}
.shop-cart .gift-pairs-options img {
	width: 100%;
	height: 100%;
	max-height:  65px;
	object-fit: contain;
	object-position: 12px bottom;
	margin-bottom: 0.2em;
}
.shop-cart .gift-pairs-options .btn_shop {
	font-size: 85%;
	padding: 0px;
	line-height: 1.5em;
}
.shop-cart .gift-pairs-option {
	display: grid;
	grid-template-columns: 25% 70%;
	align-items: center;
	grid-gap: 5%;
}
.shop-cart .gift-pairs-option .title {
	font-size: 0.9em;
	line-height: 1.2em;
}

.shop-customer input.city { width: 50%; }
.shop-customer input.isz { width: 21%; }
.shop-customer-shipping, .shop-customer-billing { margin-bottom: 3%; }
.shop-nologin { display: none; }
/*.shop-auth-opener, .shop-auth-mobil-opener { padding: 10%; }*/

/* country-zip-city:  cusomer and shipping data */
#shop .country-zip-city { display: grid; grid-template-columns: 1fr 1fr 3fr; grid-column-gap: 3%; width: 86%; }
#shop .country-zip-city input { width: 100%!important; }
#shop .country-zip-city select { width: 130px; }

.shop-method-blocks { margin-bottom: 2%; display: grid; grid-template-columns: 26% 40% 1fr; grid-gap: 5%; }
.shop-method-blocks label { margin-top: 1em; display: block; font-weight: 600; }
.shop-method .disabled { -moz-opacity:.40; filter:alpha(opacity=40); opacity:.40; }
.shop-method-prices { padding-top: 0.2em; }

.shop-payment .bank-logo { float: right; width: 150px; margin: 0px 0px 15px 30px; border: 1px solid #DDDDDD; padding: 10px; }
#payment_reload_link .counter { font-size: 90%; }

@media (min-width: 800px)
{
	.shop-cart .gift-pairs { padding-top: 1em; padding-bottom: 3em; }
}

@media (max-width: 800px)
{
	.shop-auth { margin-top: 15%; }
	.shop-auth .openers { display: grid; grid-auto-flow: unset; grid-auto-columns: unset; grid-template-columns: 100%; grid-gap: 0; width: 100%; }
	.shop-auth .shop-auth-opener { min-height: 150px; padding: 0%; text-align: center; border: 0; }
	.shop-auth .shop-auth-opener:hover { background: #FFFFFF; }
	.shop-auth-mobil-opener { display: block; }
	.shop-nologin-opener { top: 40px; }
	.shop-auth .auth { text-align: center; }

	.shop-cart table, .shop-cart tbody, .shop-cart tr, .shop-cart th, .shop-cart td { display: block; width: 100%; }
	.shop-cart th, .shop-cart td:empty { display: none; }
	.shop-cart .subtitle + .smaller { display: block; }
	.shop-cart .coupon-inputs, .shop-cart .gift-inputs, .shop-cart .gift-pairs, .shop-cart .option-description.location-2, .shop-cart .other-discount .value { padding-left: 27px; }
	.shop-cart td.gift-inputs { padding-top: 0; padding-bottom: 35px; }
	.shop-cart .gift-option { margin-top: -15px; }
	.shop-cart .gift-pairs-options { grid-auto-flow: row; }
	.cart-products .title { font-weight: bold; }

	.shop-method-blocks { grid-template-columns: 100%; }

	#shop .formitem { grid-template-columns: 100%; }
	#shop .formitem textarea, #shop .formitem input[type=text], #shop .formitem input[type=number], #shop .formitem input[type=password], #shop .formitem input[type=email] , #shop .formitem input[type=tel] { width: 100%; box-sizing: border-box; }
	#shop .formitem input[name=city] { margin-top: 1em; }
	#shop .formitem input[name=zip_code] { max-width: 120px; }
	#shop .formitem input.button { width: auto; }
	.shop-customer h2 { margin-top: 0.75em; }
	.shop-customer .button, .shop-customer input[type=checkbox] { width: auto!important; }
	.shop-customer input[type=checkbox] { vertical-align: unset; }

	#shop .country-zip-city { display: block; width: 100%; }

	.shop-payment .bank-logo { width: 140px; margin: 0px 0px 10px 30px; }
}
@media (max-width: 400px)
{
	.shop-steps { font-size: 90%; }
}
@media (max-width: 400px)
{
	.shop-steps { font-size: 90%; }
}
@media (max-width: 370px)
{
	.shop-steps { font-size: 80%; }
}
