/* Theme style rules for 1024px screens and greater.

	* Table of contents

	- Defaults
		- Typographical elements
		- Select menu
		- Form fields
		- Columns
		- Others
	- Header
		- Header logo
		- Header icons
		- Header menu
		- Wishlist dropdown
	- Footer
		- Contact data
		- Footer menus
		- Payment methods
	- Other site parts
		- Breadcrumb
		- Page sidebar
	- Front page
		- Main slider
		- Product slider
		- Instagram
	- Category page
		- Products ordering
		- Products filter
		- Products grid
		- Products animation
	- Product page
		- Product notice
		- Product gallery
		- Product summary
		TODO: Remove menu point if theme NOT use special tabs style for desktop.
		- Product tabs
		- Related products
	- My account
		- Login and Registration forms
		- Personal information
		- Change password form
		- Wishlist
	- Cart & Checkout
		TODO: Remove menu point if theme NOT use steps on united checkout page.
		- Checkout steps
		- Items
		- User info
		TODO: Remove menu point if theme NOT use giftcard.
		- Giftcard form
		- Coupon
		- Summary
	- Thank you page
	- Contact us
		- Contact image
		TODO: Remove menu point if theme NOT use map on contact page.
		- Contact map
	- About us
	- Departments
	- 404 page
 */

/* Defaults
================================================================================================= */

/* Typographical elements
------------------------------------------------------------------------------------------------- */

.btn,
.button,
.filter-control-buttons-container button {
	font-size: 1.4rem;
}

/* Select menu
------------------------------------------------------------------------------------------------- */

span.ui-selectmenu-button {
	justify-content: space-between;
	padding: 0 15px;
	width: 150px !important;
	height: 40px;
	border: 1px solid var( --ct-color-middle-gray );
	border-radius: var( --ct-bd-radius );
	line-height: 40px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

span.ui-selectmenu-button.ui-selectmenu-button-open {
	border-bottom-width: 0;
}

.ui-selectmenu-menu .ui-menu {
	padding-top: 0;
	padding-bottom: 0;
}

.ui-selectmenu-menu.ui-selectmenu-open .ui-menu {
	border-top-width: 0;
}

/* Form fields
------------------------------------------------------------------------------------------------- */

.woocommerce form.woocommerce-form-login .form-row,
.woocommerce #customer_login form .form-row {
	margin-bottom: 10px;
}

/* Columns
------------------------------------------------------------------------------------------------- */

.columns__container_gap_big_desk {
	gap: 60px;
}

.columns_2_desk {
	grid-template-columns: repeat( 2, 1fr );
}

.columns_3_desk {
	grid-template-columns: repeat( 3, 1fr );
}

.columns_5_desk {
	grid-template-columns: repeat( 5, 1fr );
}

.column__1_desk {
	grid-column: span 1;
}

.column__reverse_desk {
	grid-column-end: -1;
}

.column__2_desk {
	grid-column: span 2;
}

/* Others
------------------------------------------------------------------------------------------------- */

body:not( .home ) .site-inner,
body.home .site-container > section:last-of-type {
	margin-bottom: 100px;
}

.wrap {
	width: 100%;
	padding-right: 30px;
	padding-left: 30px;
	margin-right: auto;
	margin-left: auto;
}

/* Header
================================================================================================= */

/* TODO: Remove rule if theme NOT use transparent header on front page. */
.home .site-header {
	position: fixed;
	width: 100%;
	transition: background-color .3s;
}

/* TODO: Remove rule if theme NOT use transparent header on front page. */
.home .site-header:not( .scrolled ):not( :hover ) {
	background-color: transparent;
	border-bottom-width: 0;
}

.site-header > .wrap {
	grid-template-areas: "i l m";
	grid-template-columns: 1fr auto 1fr;
	height: 88px;
}

/* Header logo
------------------------------------------------------------------------------------------------- */

.header-logo__container {
	justify-self: center;
}

.header-logo__link svg,
.header-logo__link img {
	height: 40px;
}

/* Header icons
------------------------------------------------------------------------------------------------- */

.header-icons__container {
	gap: 25px;
	column-gap: 25px;
}

.header-icon__wrap,
.header-icon__wrap svg {
	height: 19px;
}

.header-icon__search {
	position: relative;
}

.header-icon__counter {
	width: 13px;
	height: 13px;
	font-size: .95rem;
	line-height: 13px;
}

/* Header menu
------------------------------------------------------------------------------------------------- */

.mobile-menu-btn_container,
.nav-menu-mobile--background {
	display: none;
}

.nav-menu-desktop--container {
	grid-area: m;
}

.iwebsite-nav-menu,
nav.nav-menu,
.iwebsite-nav-menu nav.nav-menu ul.menu {
	height: 100%;
}

nav.nav-menu {
	position: unset;
}

.iwebsite-nav-menu nav.nav-menu ul.menu {
	justify-content: end;
	align-items: stretch;
}

.iwebsite-nav-menu ul.menu > .menu-item {
	flex-basis: unset;
	align-items: center;
}

.iwebsite-nav-menu ul.menu > li > a {
	width: auto;
	font-weight: 500;
	font-size: 1.6rem;
}

.iwebsite-nav-menu ul.menu > li.red > a {
	color: var( --ct-color-red );
}

.iwebsite-nav-menu ul.menu .sub-menu {
	right: 0;
	left: auto;
	display: flex;
	gap: 30px;
	justify-content: center;
	max-width: 100vw;
	width: 100vw;
	border: 1px solid var( --ct-color-middle-gray );
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

.iwebsite-nav-menu ul.menu .sub-menu.count-column-1 {
	flex-direction: column;
	align-items: center;
}

.iwebsite-nav-menu ul.menu .sub-menu li.column-0 {
	margin-right: 30px;
	border-right: 1px solid var( --ct-color-middle-gray );
}

.iwebsite-nav-menu ul.menu .sub-menu li.column-1,
.iwebsite-nav-menu ul.menu .sub-menu li.column-2,
.iwebsite-nav-menu ul.menu .sub-menu li.column-3 {
	text-align: center;
}

ul.sub-menu.count-column-2 li[class|=column],
.menu-item-has-children > ul.sub-menu.count-column-3 > li[class|=column],
ul.sub-menu.count-column-4 li[class|=column],
ul.sub-menu.count-column-5 li[class|=column],
ul.sub-menu.count-column-6 li[class|=column],
ul.sub-menu.count-column-7 li[class|=column],
ul.sub-menu.count-column-8 li[class|=column] {
	width: auto;
}

ul.sub-menu li ul.sub li.menu-item-object-product,
ul.sub-menu li ul.sub li.menu-item-object-image {
	max-width: 227px;
}

.iwebsite-nav-menu ul.menu .sub-menu.count-column-1 a {
	padding-right: 10px;
	padding-left: 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.iwebsite-nav-menu ul.menu .sub-menu .column-0 li a {
	padding-right: 30px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

.iwebsite-nav-menu ul.menu .sub-menu.count-column-1 li span,
.iwebsite-nav-menu ul.menu > li > a span,
.iwebsite-nav-menu ul.menu .sub-menu .column-0 li a span {
	position: relative;
}

.iwebsite-nav-menu ul.menu .sub-menu.count-column-1 li span::after,
.iwebsite-nav-menu ul.menu > li > a span::after,
.iwebsite-nav-menu ul.menu .sub-menu .column-0 li a span::after {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: -3px;
	right: 0;
	width: 0;
	border-top: 1px solid var( --ct-color-black );
	-webkit-transition: all 350ms ease;
	-moz-transition: all 350ms ease;
	-o-transition: all 350ms ease;
	transition: all 350ms ease;
}

.iwebsite-nav-menu ul.menu .sub-menu.count-column-1 li:hover span::after,
.iwebsite-nav-menu ul.menu > li:hover > a span::after,
.iwebsite-nav-menu ul.menu .sub-menu .column-0 li:hover a span::after {
	width: 100%;
}

/* Wishlist dropdown
------------------------------------------------------------------------------------------------- */

.wishlist__dropdown .wishlist-item__title,
.wishlist__dropdown .wishlist__price {
	font-size: 1.6rem;
}

/* Footer
================================================================================================= */

.site-footer {
	font-size: 1.6rem;
}

/* Contact data
------------------------------------------------------------------------------------------------- */

/* force .wrap */
.contact-data__container {
	padding-right: 30px;
	padding-left: 30px;
	margin-right: -30px;
	margin-left: -30px;
}

.contact-data__wrap {
	gap: 15px 25px;
}

/* Footer menus
------------------------------------------------------------------------------------------------- */

/* force .wrap */
.footer-menu__container,
.footer-menu__wrap {
	padding-right: 30px;
	padding-left: 30px;
	margin-right: -30px;
	margin-left: -30px;
}

/* Payment methods
------------------------------------------------------------------------------------------------- */

.footer-payment__wrap {
	column-gap: 10px;
	gap: 10px;
	justify-content: start;
	margin-top: 0;
}

/* Copyright
------------------------------------------------------------------------------------------------- */

.footer-copyright {
	flex-direction: row;
	font-size: 1.4rem;
	/* force .wrap */
	margin-right: -30px;
	margin-left: -30px;
}

.footer-copyright__separator {
	margin-right: 15px;
	margin-left: 15px;
}

.footer-copyright > .footer-copyright__separator {
	display: initial;
}

/* Other site parts
================================================================================================= */

/* Breadcrumb
------------------------------------------------------------------------------------------------- */

.breadcrumb__wrap {
	padding-top: 30px;
	padding-bottom: 30px;
}

.archive .breadcrumb__wrap {
	margin-bottom: 60px;
}

/* TODO: Remove style rule if theme NOT use special breadcrumbs on product page. */
.single-product .summary .breadcrumb__wrap {
	padding-top: 0;
}

.breadcrumb {
	font-size: 1.4rem;
}

/* Page sidebar
------------------------------------------------------------------------------------------------- */

.page-sidebar__image-wrap {
	margin-right: 0;
	margin-left: 0;
}

/* Front page
================================================================================================= */

.front-page__title,
.front-page__subtitle {
	padding-right: 0;
	padding-left: 0;
	font-weight: 400;
}

.front-page__title {
	margin-top: 80px;
	margin-bottom: 40px;
	font-size: 4rem;
}

.front-page__subtitle {
	font-size: 1.6rem;
}

/* Main slider
------------------------------------------------------------------------------------------------- */

.main-slider__arrow {
	width: 35px;
	height: 35px;
	margin-top: calc( -35px / 2 );
}

.main-slider__arrow_prev {
	left: 20px;
}

.main-slider__arrow_next {
	right: 20px;
}

/* Product slider
------------------------------------------------------------------------------------------------- */

.front-product-slider .woocommerce-loop-product__title,
.front-product-slider .price {
	font-size: 1.4rem;
}

.front-product-slider .price del {
	font-size: 1.2rem;
}

/* Instagram
------------------------------------------------------------------------------------------------- */

.insta-feed-account {
	margin-top: 80px;
	margin-bottom: 40px;
}

.insta-feed-account-link {
	font-size: 4rem;
}

/* Category page
================================================================================================= */

.custom-panel {
	display: flex;
	justify-content: space-between;
	column-gap: 20px;
	gap: 20px;
	margin-bottom: 30px;
}

/* Products ordering
------------------------------------------------------------------------------------------------- */

.archive.woocommerce .woocommerce-ordering {
	width: auto;
	height: auto;
	border: none;
}

/* Products filter
------------------------------------------------------------------------------------------------- */

.product-filter-panel {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat( 2, auto );
	width: auto;
	height: auto;
	border: none;
}

#product-filter-toggle {
	display: inline-block;
	width: 150px !important;
	height: 40px;
	padding: 0 15px;
	border: 1px solid var( --ct-color-middle-gray );
	border-radius: var( --ct-bd-radius );
	line-height: 40px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

.selected-terms-container {
	align-items: start;
	gap: 20px;
}

.selected-terms-container.active {
	display: flex;
}

.selected-terms {
	flex: 1;
	display: inline-flex;
	flex-wrap: wrap;
	row-gap: 5px;
	column-gap: 5px;
	gap: 5px;
}

.selected-term {
	display: flex;
	align-items: center;
	column-gap: 10px;
	gap: 10px;
	height: 40px;
	padding-right: 20px;
	padding-left: 20px;
	border: 1px solid var( --ct-color-middle-gray );
	border-radius: var( --ct-bd-radius );
	cursor: pointer;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	font-size: 1.4rem;
}

.selected-term .close {
	content: url( '../images/icons/cross.svg' );
	width: 9px;
	height: 9px;
}

.clear-filter-settings {
	padding-top: 10px;
	font-size: 1.2rem;
	line-height: 1.5;
	background-color: transparent;
	color: var( --ct-color-dark-gray );
	border: none;
	border-bottom: 1px solid var( --ct-color-middle-gray );
}

.clear-filter-mobile {
	display: none;
}

.sidebar .iwebsite-tax-filter:first-child {
	border-top: 1px solid var( --ct-color-middle-gray );
}

.filter-control-buttons-container button {
	width: 100%;
}

/* Products grid
------------------------------------------------------------------------------------------------- */

.archive .content-sidebar-wrap {
	display: flex;
	flex-direction: row-reverse;
}

.archive .content-sidebar-wrap .content {
	flex: 1;
	position: relative;
	background-color: var( --ct-color-white );
	z-index: 25;
}

.woocommerce.archive ul.products {
	display: grid;
	gap: 30px 15px;
	/* TODO: how many items per row should be? */
	grid-template-columns: repeat( 4, 1fr );
}

.woocommerce.archive.open-filter ul.products {
	/* TODO: how many items per row should be when filter is open? */
	grid-template-columns: repeat( 3, 1fr );
}

.content-sidebar .sidebar {
	position: initial;
}

.open-filter.content-sidebar .sidebar {
	width: 300px;
	overflow: unset;
}

.filter-container {
	position: sticky;
	top: 0;
	width: 300px;
	padding-right: 50px;
	padding-left: 0;
}

/* TODO: Change top position if header height is different. */
.open-filter.content-sidebar .filter-container {
	/* header height ( 88px ) + 10px */
	top: 98px;
}

/* TODO: Change top position if header height is different. */
.admin-bar.open-filter.content-sidebar .filter-container {
	/* admin bar height ( 32px ) + header height ( 88px ) + 10px */
	top: 130px;
}

/* TODO: Change animation rules num and child numbers according to columns num */
/* Products animation
------------------------------------------------------------------------------------------------- */

ul.products li.product:nth-child( 4n - 3 ) {
	--animate-delay: 0s;
}

ul.products li.product:nth-child( 4n - 2 ) {
	--animate-delay: .25s;
}

ul.products li.product:nth-child( 4n - 1 ) {
	--animate-delay: .5s;
}

ul.products li.product:nth-child( 4n ) {
	--animate-delay: .75s;
}

body.open-filter ul.products li.product:nth-child( 3n - 2 ) {
	--animate-delay: 0s;
}

body.open-filter ul.products li.product:nth-child( 3n - 1 ) {
	--animate-delay: .25s;
}

body.open-filter ul.products li.product:nth-child( 3n ) {
	--animate-delay: .5s;
}

/* Product page
================================================================================================= */

/* Product notice
------------------------------------------------------------------------------------------------- */

#product-notice-place {
	bottom: 10px;
}

/* Product gallery
------------------------------------------------------------------------------------------------- */

/* TODO: Remove block if theme NOT use "2 in row w\o slider" product gallery OR uncomment it otherwise. */

/*.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat( 2, 1fr );
}

.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) {
	width: 100%;
}*/

/* TODO: Remove block if theme NOT use "2 in row slider" product gallery OR uncomment it otherwise. */

/*.woocommerce div.product div.images.woocommerce-product-gallery {
	max-width: 820px;
	margin-bottom: 0;
}*/

/* TODO: Remove block if theme NOT use "w/ vertical slider" product gallery. */

.woocommerce div.product div.images.woocommerce-product-gallery .slick-slide {
	padding-right: 0;
	padding-left: 0;
}

.woocommerce-product-gallery__vertical .slick-slide {
	opacity: .5;
	transition: opacity .3s;
}

.woocommerce-product-gallery__vertical .slick-slide:hover,
.woocommerce-product-gallery__vertical .slick-slide.slick-current {
	cursor: pointer;
	opacity: 1;
}

/**
 * Gallery proportion explanation
 *
 * Images aspect ratio is 2:3
 * Gallery width is 603px ( main image width ( 466px ) + gap ( 41px ) + side image width ( 96px ) )
 * Gallery height is 699px ( main image height ( 699px ) or 4 side images height ( 144px * 4 ) +
 * + 3 gaps ( 41px * 3 ) )
 *
 * Gap               = z
 * Main image width  = 2x
 * Main image height = 3x
 * Side image width  = 2y
 * Side image height = 3y
 *
 * x = 241.2 - 0.2z
 * y =  60.3 - 0.3z
 *
 * Main image width % = 2x / 603 * 100
 * Side image width % = 2y / 603 * 100
 * Column gap %       =  z / 603 * 100
 * Row gap %          =  z /  2y * 100    // margin-bottom will use side image width as percent base
 */

.woocommerce div.product div.images.woocommerce-product-gallery.woocommerce-vertical-slider {
	display: grid;
	/* to keep proportions to block width ( 114px and 478px to 603px ) */
	grid-template-columns: 18.905% 79.271%;
	grid-template-areas: "v m";
	/* to keep proportion to block width ( 11px to 603px ) */
	gap: 1.824%;
	max-width: 602px;
}

.woocommerce div.product div.images.woocommerce-vertical-slider .woocommerce-product-gallery__wrapper {
	grid-area: m;
	min-width: 1px;
	margin-right: 0;
	margin-left: 0;
}

.woocommerce-product-gallery__vertical {
	grid-area: v;
	display: initial;
	margin-bottom: 0;
}

.woocommerce-product-gallery__vertical .slick-slide {
	position: relative;
	/* fix when slick set slide wider than track */
	max-width: 100%;
	/* force .slick-slide min-height property */
	min-height: 0;
	/* force extra div caused by unminified slick.js */
	height: 0;
	padding-top: calc( 100% / 2 * 3);
	/* to keep proportion to image width ( 11px to 114px ) */
	margin-bottom: 9.649%;
	border: none;
}

.woocommerce div.product .woocommerce-product-gallery__vertical .slick-slide img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* TODO: Remove video-block styles here and next in block if theme NOT use video to product */
.woocommerce-product-gallery__vertical .video-block--container {
	position: absolute;
	top: 0;
	left: 0;
	/* force inline style */
	width: 100% !important;
	/* force inline style */
	height: 100% !important;
}

.woocommerce-product-gallery__vertical .video-block--container iframe {
	height: 100%;
}

/* Product summary
------------------------------------------------------------------------------------------------- */

.woocommerce div.product div.summary {
	padding: 30px;
	border: 1px solid var( --ct-color-middle-gray );
	border-radius: var( --ct-bd-radius );
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

.woocommerce div.product .product_title {
	margin-bottom: 5px;
	font-size: 4rem;
}

.show-share-list,
.show-share-list svg,
.single-product-top-buttons .yith-wcwl-add-to-wishlist {
	height: 20px;
}

.yith-wcwl-add-button i,
.add-to-wishlist-grid-container i {
	font-size: 20px;
}

.product .sku {
	margin-bottom: 15px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	margin-bottom: 30px;
}

.product-attributes__container.product-attributes_size {
	grid-template-areas:
		"h h"
		"a b";
	padding-right: 30px;
	padding-left: 30px;
	margin-right: -30px;
	margin-left: -30px;
}

.size-table-btn__text {
	font-size: 1.6rem;
	line-height: 20px;
}

.size-table-btn__icon-wrap svg {
	vertical-align: middle;
}

.product-attribute,
.product-attribute__image-wrap {
	width: 57px;
	height: 44px;
}

.product-attributes_color .product-attribute:hover::after,
.product-attributes_color .product-attribute.active::after {
	width: 67px;
	height: 54px;
}

.product-attributes_color .product-attribute.inactive::before {
	width: 65px;
}

/* TODO: Remove style for .giftcard... if theme NOT use gift card */
.giftcard-attributes-container .attr-triger,
.product-attributes_size .product-attribute {
	font-size: 1.6rem;
}

.summary form.cart:not( .variations_form ),
.woocommerce-variation-add-to-cart {
	position: relative;
	grid-template-columns: auto 1fr;
	grid-template-areas: "q b";
	row-gap: 10px;
	padding-bottom: 10px;
}

.woocommerce .waitlist_add.button {
	padding-right: 40px;
	padding-left: 40px;
}

.woocommerce div.product form.cart .button {
	height: 40px;
}

.quantity .input-text,
.quantity button {
	height: 40px;
	padding-right: 0;
	padding-left: 0;
	border: 1px solid var( --ct-color-middle-gray );
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

.woocommerce .quantity .qty {
	width: 140px;
	margin-right: -5px;
	margin-left: -5px;
}

.quantity button {
	width: 20px;
}

.quantity__error-wrap {
	position: absolute;
	bottom: -20px;
	right: 0;
}

.quantity__error {
	font-size: 1.4rem;
}

.woocommerce div.product form.cart .button {
	border-radius: var( --ct-bd-specific-radius );
}

.add-to-cart__preloader {
	position: absolute;
	bottom: -20px;
	left: 0;
	right: 50%;
}

/* TODO: Remove block if theme NOT use special tabs style for desktop. */
/* Product tabs
------------------------------------------------------------------------------------------------- */

.woocommerce #content div.product .woocommerce-tabs,
.woocommerce div.product .woocommerce-tabs,
.woocommerce-page #content div.product .woocommerce-tabs,
.woocommerce-page div.product .woocommerce-tabs {
	border: 1px solid var( --ct-color-middle-gray );
	border-top: none;
	border-radius: var( --ct-bd-radius );
	overflow: hidden;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	padding: 0;
	margin-bottom: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	flex: 1;
	padding: 0;
	text-align: center;
	background-color: var( --ct-color-light-gray );
	border-color: var( --ct-color-middle-gray );
	border-radius: unset;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	border-top-color: var( --ct-color-red );
	color: var( --ct-color-red );
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	color: var( --ct-color-black );
	font-weight: 400;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

.woocommerce div.product .woocommerce-tabs .panel {
	padding: 20px 30px;
	margin-bottom: 0;
	border-bottom: none;
}

.woocommerce-Tabs-panel h2 {
	display: none;
}

.woocommerce-Tabs-panel--content {
	display: initial;
	font-size: 1.4rem;
	line-height: 1.5;
}

/* Related products
------------------------------------------------------------------------------------------------- */

.after-summary-container {
	clear: both;
	overflow: hidden;
}

.related.products h2 {
	margin-bottom: 60px;
	font-size: 4rem;
}

/* My account
================================================================================================= */

/* Login and Registration forms
------------------------------------------------------------------------------------------------- */

body.woocommerce-login .site-inner {
	display: flex;
	align-items: center;
	margin-top: 130px;
	margin-bottom: 130px;
}

body.woocommerce-login .site-inner > .wrap {
	padding-right: 0;
	padding-left: 0;
}

/* Personal information
------------------------------------------------------------------------------------------------- */

.my-account-fields__wrapper {
	display: flex;
	margin-bottom: 5px;
}

.my-account-fields,
.my-account-fields__actions {
	border: 1px solid var( --ct-color-middle-gray );
}

.my-account-fields {
	flex: 1;
	padding: 60px 30px;
}

.my-account-fields:last-child {
	border-left-width: 0;
}

.my-account-fields__actions {
	justify-content: space-between;
	padding: 20px 30px;
	margin-bottom: 30px;
}

.my-account-fields__actions .btn {
	width: 160px;
}

/* Change password form
------------------------------------------------------------------------------------------------- */

.change-password-form-container {
	width: 50%;
	margin-right: auto;
	margin-left: auto;
}

.change-password-form-container .my-account-fields:last-child {
	border-left-width: 1px;
}

/* Wishlist
------------------------------------------------------------------------------------------------- */

.wishlist__container {
	grid-template-columns: repeat( 4, 1fr );
	gap: 60px;
}

/* Cart & Checkout
================================================================================================= */

.checkout-column__2,
.checkout-column__3 {
	padding: 30px 15px;
	border: 1px solid var( --ct-color-middle-gray );
}

/* TODO: Remove block if theme NOT use steps on united checkout page. */
/* Checkout steps
------------------------------------------------------------------------------------------------- */

.checkout-step__container {
	margin-top: 60px;
	margin-bottom: 30px;
}

/* Items
------------------------------------------------------------------------------------------------- */

.woocommerce-cart-form__contents {
	display: block;
}

.cart_item {
	position: relative;
	gap: 25px;
	grid-template-columns: 100px 1fr;
}

.cart_item .product-info {
	position: unset;
}

.cart_item .product-name {
	width: 100%;
}

.cart_item .product-quantity .input-text {
	width: 90px;
	margin-right: 0;
	margin-left: 0;
}

/* User info
------------------------------------------------------------------------------------------------- */

.woocommerce-billing-fields,
.woocommerce-account-fields {
	margin-bottom: 20px;
}

.woocommerce-checkout .block-tumbler {
	margin-bottom: 50px;
}

.block-tumbler .btn.btn_glass {
	font-size: 1.6rem;
}

.custom-register-form {
	position: relative;
}

.custom-register-form--inner {
	margin-bottom: 15px;
}

.custom-register-form--inner .lost_password {
	position: absolute;
	right: 0;
	bottom: 0;
}

/* TODO: Remove block if theme NOT use gift card. */
/* Giftcard form
------------------------------------------------------------------------------------------------- */

.checkout__giftcard .clearfix {
	grid-template-columns: repeat( 2, 1fr );
}

.checkout__giftcard .third-col:last-of-type {
	grid-column: span 2;
}

/* Coupon
------------------------------------------------------------------------------------------------- */

.coupon_custom .btn {
	height: 40px;
}

/* Summary
------------------------------------------------------------------------------------------------- */

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
	/* column side paddings width (each 15px) */
	width: calc( 100% + 30px );
	margin-right: -15px;
	margin-left: -15px;
}

.woocommerce table.shop_table .order-total th,
.woocommerce table.shop_table .order-total td {
	padding-bottom: 0;
}

.woocommerce form .place-order .form-row {
	margin-bottom: 15px;
}

.woocommerce form .place-order .form-row label {
	line-height: 1;
}

.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
	width: 100%;
}

/* Thank you page
================================================================================================= */

.thank-you__title {
	margin-bottom: 30px;
	font-size: 13rem;
}

/* Contact us
================================================================================================= */

/* Contact image
------------------------------------------------------------------------------------------------- */

.contact-us__image-wrap {
	margin-right: 0;
	margin-left: 0;
}

/* TODO: Remove block if theme NOT use map on contact page. */
/* Contact map
------------------------------------------------------------------------------------------------- */

.contact-us__google-map-wrap {
	margin-bottom: 0;
}

/* About us
================================================================================================= */

.about-us-page .entry-title {
	margin-top: 0;
}

.about-us-page .entry {
	grid-column: span 2;
}

.about-us-page .page-sidebar__container {
	grid-column: span 3;
	grid-column-end: -1;
}

/* Departments
================================================================================================= */

.department {
	flex-direction: row;
	align-items: stretch;
	padding: 5px;
	margin-right: 0;
	margin-left: 0;
}

.department:nth-child(2n) {
	flex-direction: row-reverse;
}

.department__info-wrap {
	width: 380px;
	height: 350px;
	padding: 95px 75px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

.department .contact-data__wrap {
	grid-template-columns: 1fr;
}

.department .contact-data_time {
	grid-row: auto;
}

.department__map {
	flex: 1;
	padding-top: 0;
	margin: 0;
}

/* 404 page
================================================================================================= */

.page-404__container {
	margin-top: 100px;
}

.page-404__title {
	line-height: 1.5;
	font-size: 10rem;
}

.page-404__text {
	font-size: 3rem;
}