#main, .page-content {
	overflow: unset;
}
.page-content>* {
	margin: 40px;
}
h5 {
	font-size: 15px;
	font-weight: 700;
}
h3>.emoji {
	height: 24px;
}
p.small {
	font-size: 12px;
	font-weight: 500;
	color: var(--pale);
	margin: 0;
}
li:not(:last-child) {
	margin-bottom: 6px;
}
.posters {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 20px;
}
.poster {
	position: relative;
	padding: 32px;
	border-radius: 20px;
	color: #FFF;
	cursor: pointer;
	overflow: hidden;
}
.poster h3 {
	font-size: 24px;
	font-weight: 800;
}
.risk-free {
	background-color: #33A167;
}
.rain-protection {
	background-color: #4B7DF3;
}
.poster:before {
	position: absolute;
	content: '';
	height: 280px;
	top: 0;
	right: -80px;
	aspect-ratio: 1;
	background-size: contain;
}
.risk-free:before {
	background-image: url('../img/risk-free.webp');
}
.rain-protection:before {
	background-image: url('../img/umbrella.webp');
}
.poster p {
	max-width: 80%;
	margin: 8px 0 0;
}
.poster a {
	position: absolute;
	top: 20px;
	right: 20px;
}
ol.num {
	margin: 12px 0 32px;
}
.grid {
	display: grid;
	grid-template-columns: 200px auto;
	margin: 32px 0;
}
.grid>* {
	display: flex;
	align-items: center;
	height: 48px;
	margin: 0;
	padding: 0 20px;
	font-weight: 700;
}
.grid>:nth-child(1), .grid>:nth-child(2) {
	background: #F6F6F6;
	font-weight: 500;
}
.booking {
	position: relative;
}
a#go_back {
	display: flex;
	align-items: center;
	font-size: 16px;
	font-weight: 600;
	color: #4DADD3;
	text-decoration: none;
	margin: -16px 0 24px;
}
.step {
	display: grid;
	grid-template-columns: 750px auto;
	gap: 32px;
}
.step>.left>*, .step>.right>*>* {
	position: relative;
	padding: 32px;
	border-radius: 24px;
	background-color: #FFF;
}
.step>.left>:not(:last-child) {
	margin-bottom: 24px;
}
.cust_info:before, .cust_info:after {
	position: absolute;
	content: '';
	height: 4px;
	left: 20px;
	right: 20px;
	background: #000;
	background: linear-gradient(to right, #EEE 0, #EEE 33%, #FFF 33%, #FFF 66%, #EEE 66%, #EEE 100%);
	background-size: 10%;
	background-repeat: repeat;
	z-index: 1;
}
.cust_info:before {
	top: -2px;
}
.cust_info:after {
	bottom: -2px;
}
.step-1>#go_back,
.step-1>#step-2,
.step-1>#step-3,
.step-2>#step-1,
.step-2>#step-3,
.step-3>#step-1,
.step-3>#step-2 {
	display: none;
}
.who_are_you ul {
	margin: 24px 0 0;
}
.audience {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	margin: 16px 0;
}
.audience>.button {
	height: 56px;
}
.snow>.ico.white, [disabled]:not(.change)>.ico {
	display: none;
}
.tags.outside {
	display: flex;
	gap: 8px;
	align-items: center;
	margin: 16px 0;
}
.tags.inside {
	position: relative;
	display: grid;
	gap: 8px;
	justify-items: start;
	margin-right: auto;
	padding: 16px;
	background: #F6F6F6;
	border-radius: 10px;
	align-self: end;
}
.tags>* {
	display: flex;
	align-items: center;
	gap: 4px;
	background: #F6F6F6;
	padding: 8px 12px;
	border-radius: 10px;
}
.tags.inside>* {
	background: #FFF;
}
.tags i {
	height: 18px;
}
.tags span {
	font-weight: 700;
	color: var(--gray);
}
.tickets, .other {
	display: grid;
	gap: 16px;
	margin: 16px 0;
}
.tickets {
	grid-template-columns: 225px auto;
}
.package .img {
	position: relative;
	overflow: hidden;
	background-size: cover;
	background-position-y: top;
	border-radius: 10px;
}
.tickets .img {
	min-height: 225px;
}
.other .img {
	aspect-ratio: 1.333;
}
.tickets>.img:after {
	position: absolute;
	height: 60px;
	aspect-ratio: 1;
	top: -9px;
	left: -6px;
}
.tickets>.img.online_only:after {
	content: url('../img/label-online.svg');
}
.tickets>.img.new:after {
	content: url('../img/label-new.svg');
}
.wristband .img {
	display: none !important;
}
.tickets>.items {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.other>.items {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 12px;
}
.curr_ticket {
	display: grid;
	gap: 4px;
	padding: 0 16px;
	background: #F6F6F6;
	border-radius: 10px;
}
.curr_ticket>* {
	padding: 16px 0;
}
#family .items {
	padding: 8px 0;
	background: #F6F6F6;
	border-radius: 10px;
}
.curr_ticket.promo_item {
	background: #EFE;
}
.other .curr_ticket {
	padding: 0;
}
.tickets .curr_ticket {
	grid-template-columns: auto 120px 120px;
	align-items: center;
}
.other .details {
	padding: 16px;
}
.curr_ticket h5 {
	margin: 0;
}
.curr_ticket h5>span {
	display: block;
	margin-top: 4px;
	line-height: 1;
	font-weight: 500;
	color: var(--pale);
}
.prices>* {
	margin: 0;
	font-size: 15px;
}
.old_price {
	color: var(--pale);
	text-decoration: line-through #666;
}
.price {
	font-weight: 700;
}
.other .price {
	margin: 16px 0;
}
.prices>:nth-child(3) {
	font-size: 14px;
	font-weight: 600;
	color: #444;
}
.count {
	display: grid;
	grid-template-columns: 40px 30px 40px;
	align-items: center;
}
input.num {
	padding: 0;
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	border: none;
	cursor: default;
	background: none;
	appearance: textfield;
	-webkit-appearance: textfield;
}
a.change {
	display: flex;
	height: 40px;
	aspect-ratio: 1;
	padding: 0;
	background: #CCC;
	border-radius: 50%;
}
a.change[disabled] {
	background: #CCC !important;
}
.terms {
	background: #F6F6F6;
	border-radius: 10px;
}
.terms>* {
	margin: 0;
}
.terms h5 {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 12px 16px;
	cursor: pointer;
}
.terms .rule {
	display: none;
	padding: 12px 16px;
}
.terms.open .rule {
	display: block;
	margin-top: 12px;
}
.terms>h5>.ico:last-child {
	margin-left: auto;
}
.sticky {
	position: sticky;
	top: 144px;
}
.sticky h3 {
	margin-bottom: 24px;
}
.blank {
	padding: 32px 16px;
	text-align: center;
	color: #999;
	border: 1px solid #DDD;
	border-radius: 10px;
}
.order_details>ul {
	margin: 0 0 16px;
	padding-left: 0;
	list-style: none;
	color: var(--pale);
}
.order_details>ul>li {
	display: grid;
	grid-template-columns: auto 30px 90px;
	gap: 4px;
	margin: 4px 0;
	color: #000;
}
.order_details>ul>li>:last-child {
	justify-self: right;
}
.order_details .qty {
	color: var(--pale);
}
#amount {
	font-weight: 700;
	text-align: center;
	margin: 16px;
}
.fields {
	display: grid;
	gap: 8px;
}
.fields.order {
	grid-template-rows: repeat(4, 48px);
}
.fields>*, #date-wrapper {
	display: flex;
	align-items: center;
	position: relative;
}
input {
	flex-basis: 100%;
	height: 100%;
	padding: 0 12px 0 42px;
	font-size: 15px;
	font-weight: 500;
	border: 1px solid #CCC;
	border-radius: 8px;
}
.invalid input:required:invalid {
	background: #FFF9F9 !important;
	border-color: #900 !important;
}
.invalid input:required:valid {
	background:#F9FFF9 !important;
	border-color: #090 !important;
}
.intl-tel-input .selected-flag {
	margin-right: 12px;
}
.flatpickr-wrapper {
	position: relative;
	display: flex;
	width: 100%;
	height: 100%;
}
.form-control {
	cursor: pointer;
}
#date-wrapper {
	height: 48px;
	position: relative;
}
#date-wrapper:after {
	position: absolute;
	content: url('../img/icons/angle-down.svg');
	height: 24px;
	aspect-ratio: 1;
	right: 12px;
}
.fields .ico, #date-wrapper>.ico {
	position: absolute;
	left: 12px;
}
a.button {
	display: flex;
	gap: 4px;
}
.button~p {
	text-align: center;
	margin: 16px 0 0;
	color: var(--pale);
}
.agreements {
	display: grid;
	grid-template-columns: 24px auto;
	gap: 16px 10px;
	align-items: start;
	margin-top: 24px;
}
.agreements>input {
	position: relative;
	height: 16px;
	width: 0;
}
.agreements>input:before {
	position: absolute;
	top: -4px;
	height: 20px;
	aspect-ratio: 1;
	content: url('../img/icons/checkbox.svg');
}
.agreements>input:checked:before {
	content: url('../img/icons/checkbox-checked.svg');
}
.agreements>label {
	font-weight: 500;
	line-height: 1.2;
	cursor: pointer;
}

.promo {
	display: grid;
	grid-template-columns: 4fr 3fr;
	grid-template-areas: 'a b' 'c c' 'd d';
	gap: 0 8px;
}
.promo_code {
	grid-area: a;
	position: relative;
	display: flex;
	align-items: center;
}
.apply_promo {
	grid-area: b;
}
.note {
	display: none;
	margin-top: 8px;
}
.note.prm.valid {
	grid-area: c;
	color: var(--green) !important;
}
.note.prm.wrong {
	grid-area: d;
	color: var(--red) !important;
}
.promo_code>input {
	width: 100%;
	text-transform: uppercase;
	padding: 0 12px;
}
.promo_code:after {
	position: absolute;
	height: 24px;
	aspect-ratio: 1;
	right: 8px;
}
.promo_code.valid>input {
	border-color: var(--green);
}
.promo_code.valid:after {
	content: url('/wp-content/themes/ramayana/img/icons/check.svg');
}
.promo_code.wrong>input {
	border-color: var(--red);
	filter: hue-rotate(-60deg) saturate(1.5);
	-webkit-filter: hue-rotate(-60deg) saturate(1.5);
}
.promo_code.wrong:after {
	content: url('/wp-content/themes/ramayana/img/icons/xmark.svg');
	filter: hue-rotate(170deg) saturate(5);
	-webkit-filter: hue-rotate(170deg) saturate(5);;
}
.valid~.prm.valid {
	display: block;
}
.wrong~.prm.wrong {
	display: block;
}
#step-2 .promo {
	display: none !important;
}
.totals>* {
	display: flex;
	margin-top: 8px;
}
.totals span {
	margin-left: auto;
}
.totals>:first-child {
	margin-top: 24px;
}

.pay_options {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
	margin: 24px 0;
}
.pay_opt {
	display: grid;
	grid-template-columns: 40px auto 30px;
	gap: 4px;
	align-items: center;
	height: 72px;
	padding: 0 8px;
	border: 1px solid #DDD;
	border-radius: 16px;
	cursor: pointer;
}
.pay_opt>.img {
	aspect-ratio: 1;
	background-size: 32px;
	background-position: center;
	background-repeat: no-repeat;
}
.pay_opt>h5 {
	font-size: 16px;
	margin: 0;
}
.bank_cards>.img {
	background-image: url('../img/pay_opt/bank_cards.webp')
}
.by_cash>.img {
	background-image: url('../img/pay_opt/by_cash.webp')
}
.prompt_pay>.img {
	background-image: url('../img/pay_opt/prompt_pay.webp')
}
.thai_banks>.img {
	background-image: url('../img/pay_opt/thai_banks.webp')
}
.true_money>.img {
	background-image: url('../img/pay_opt/true_money.webp')
}
.line_pay>.img {
	background-image: url('../img/pay_opt/line_pay.webp')
}
.over_counter>.img {
	background-image: url('../img/pay_opt/over_counter.webp')
}
.ali_pay>.img {
	background-image: url('../img/pay_opt/ali_pay.webp')
}
.shp_pay>.img {
	background-image: url('../img/pay_opt/shp_pay.webp')
}
.grab_pay>.img {
	background-image: url('../img/pay_opt/grab_pay.webp')
}
.pay_opt.checked {
	border-color: #4DADD3;
}



.ban-loyalty {
	margin-top: 20px;
	background-image: 
		url('/wp-content/themes/ramayana/img/poster-loyalty.webp'), 
		linear-gradient(to right, #F7832DFF, #F5D001FF);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: right;
	cursor: pointer;
}
.ban-loyalty h4, .ban-loyalty p {
	color: #FFF;
	max-width: 216px;
	margin: 0;
}
.ban-loyalty h4 {
	margin-bottom: 8px;
}

.pay-loyalty {
	position: relative;
	display: grid;
	grid-template-columns: auto 200px;
	align-items: center;
	margin: 24px 0;
	padding: 16px 24px;
	color: #FFF;
	background-image: linear-gradient(to right, #F7832DFF, #F5D001FF);
	border-radius: 16px;
	overflow: hidden;
}
.pay-loyalty:before {
	position: absolute;
	content: url('/wp-content/themes/ramayana/img/point2.svg');
	height: 200px;
	aspect-ratio: 1;
	right: 0;
	top: -30px;
	opacity: .2;
}
.button.loyalty {
	z-index: 1;
}
.button.loyalty>span {
	color: transparent;
	-webkit-text-fill-color: transparent;
	background-image: linear-gradient(to right, #F7832DFF, #F5D001FF);
	background-clip: text;
	-webkit-background-clip: text;
}
.pay-loyalty>div {
	display: grid;
	gap: 4px;
}
.pay-loyalty h2, .pay-loyalty p {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	line-height: 1;
}
.button.loyalty {
	z-index: 1;
}
.button.loyalty>span {
	color: transparent;
	-webkit-text-fill-color: transparent;
	background-image: linear-gradient(to right, #F7832DFF, #F5D001FF);
	background-clip: text;
	-webkit-background-clip: text;
}

#step-3 {
	display: block;
}
.success {
	padding: 60px 40px;
	background: #FFF;
	border-radius: 32px;
}
.success>* {
	width: 480px;
	margin: auto;
	text-align: center;
}
.success>:first-child>.emoji {
	height: 100px;
	margin: 0 auto 40px;
	background-color: #33A167;
	background-size: 56px;
	border-radius: 50px;
}
.success h2 {
	line-height: 1.2;
	margin: 16px auto;
}
.fields.send {
	grid-template-columns: 3fr 2fr;
	margin: 16px 0;
}
.gift.desktop {
	display: grid;
	grid-template-columns: 150px auto;
	grid-template-rows: 150px;
	gap: 16px;
	align-items: center;
	margin-top: 40px;
	text-align: left;
	padding: 20px;
	background: #F6F6F6;
	border-radius: 20px;
}
.gift>.qr {
  height: 100%;
  background: #FFF url('../img/qr-line.webp');
  background-size: cover;
  border-radius: 16px;
}
.gift h3 {
	display: flex;
	gap: 6px;
	margin-bottom: 6px;
	align-items: center;
}

.expect {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 48px;
	background: linear-gradient(to right, #F7832DFF, #F5D001FF);
	color: #FFF;
	margin: 24px 0;
	padding: 8px 16px;
	border-radius: 16px;
}
.expect>* {
	margin: 0;
}
.expect>h4 {
	display: flex;
	align-items: center;
}
.expect .ico {
	height: 18px;
	margin-left: 4px;
}
.step-1 .expect, .step-3 .expect {
	display: none;
}

.button>.ico {
	height: 16px;
}
.change>.ico {
	height: 24px;
}
.red {
	color: var(--red);
}
.hidden {
	display: none;
}

@media (max-width: 480px) {
.flatpickr-calendar {
	margin-left: 0;
	left: -16px;
}
.page-content>* {
	margin: 24px 16px;
}
.posters {
	grid-template-columns: auto;
	grid-template-rows: repeat(2,1fr);
	gap: 12px;
}
.poster {
	padding: 20px;
	border-radius: 16px;
}
.poster h3 {
	font-size: 16px;
}
.poster p {
	font-size: 12px;
	max-width: 75%;
}
.grid {
	grid-template-columns: repeat(2,1fr);
}
.grid>* {
	height: 72px;
	margin: 0;
}
a#go_back {
	position: static;
	margin: 16px 0;
}
.step {
	grid-template-columns: none;
	gap: 20px;
}
.steps p {
	display: none;
}
.who_are_you h3 {
	text-align: center;
}
.audience {
	/* grid-template-columns: none; */
	gap: 8px;
}
#step-2>.right {
	order: -1;
}
.step>.left>*, .step>.right>*>* {
	padding: 24px 16px;
	border-radius: 16px;
}
.tickets {
	grid-template-columns: none;
}
.other .items {
	grid-template-columns: auto;
}
.other .curr_ticket {
	grid-template-areas: none;
	grid-template-columns: none !important;
}
.other .details {
	display: grid;
}
.package .img {
	aspect-ratio: 1.5;
}
.tickets>.img:after {
	top: 4px;
	left: 4px;
}
.tickets .curr_ticket, .other .details {
	grid-template-columns: auto 110px !important;
	grid-template-areas: 'a a' 'b c';
	gap: 8px;
	padding: 12px !important;
}
.curr_ticket>* {
	padding: 0;
}
.curr_ticket .item_name {
	grid-area: a;
}
.curr_ticket .prices {
	grid-area: b;
	display: flex;
	flex-wrap: wrap;
	gap: 2px 8px;
	align-self: end;
}
.curr_ticket .count {
	grid-area: c;
	align-self: end;
}
.price {
	order: -1;
}
.prices>:nth-child(3) {
	flex-basis: 100%;
}
.pay_options {
	grid-template-columns: none;
}

.ban-loyalty {
	background-position-x: 110%;
}
.pay-loyalty {
	grid-template-columns: none;
	padding: 20px;
	justify-items: start;
}
.pay-loyalty>div {
	margin-bottom: 12px;
}
.pay-loyalty>div>:nth-child(2) {
	order: 3;
}
.pay-loyalty .ico {
	height: 18px;
}

.success {
	padding: 40px 16px;
	border-radius: 16px;
}
.success>* {
	width: 100%;
}
.fields.send {
	grid-template-columns: none;
	grid-template-rows: 48px;
	gap: 16px;
}
.tags.outside {
	flex-direction: column;
	align-items: flex-start;
}

p.gift {
	width: 220px;
	margin-top: 20px;
}



}