/**
Theme Name: Maza Dogwear
Author: HAL9000
Author URI: https://mazadogwear.com
Description: Child theme for Maza Dogwear website, based on Astra wordpress theme.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: maza-dogwear
Template: astra
*/

/*===============================================================
    Base, grid, components
===============================================================*/

:root {
	--red: #ab2328;
	--dark: #07272d;
	--grey-light: #eee;
}

.container {
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 1440px;
	padding: 0 20px;
}

.container__large {
	display: block;
	margin: 0 auto;
	width: 100%;
	padding: 0 35px;
}

.site-content {
	padding-top: 40px;
}

/* Typography */

h2,
h3 {
	margin-bottom: 12px;
}

p {
	line-height: 1.6 !important;
	margin-bottom: 1.45em !important;
}

.page__content a,
.woocommerce-product-details__short-description a {
	color: var(--red);
	text-decoration: underline;
	font-weight: 500;
}

.page__content a:hover,
.woocommerce-product-details__short-description a:hover {
	color: var(--dark);
}

/* Buttons */

.btn,
.woocommerce div.product form.cart .button {
	padding: 15px 35px;
	background: var(--red);
	color: #fff;
	font-size: 14px;
	line-height: 1.4;
	text-align: center;
	text-transform: uppercase;
	min-width: 200px;
	display: inline-block;
	font-weight: 500;
	letter-spacing: 0.7px;
	border-radius: 3px;
	transition: all 0.3s;
}

.btn:hover,
.woocommerce div.product form.cart .button:hover {
	background: var(--dark);
	color: #fff;
}

.btn__dark {
	background: var(--dark);
	color: #fff;
}

.btn__dark:hover {
	background: var(--red);
	color: #fff;
}

.btn__transparent {
	background: transparent;
	color: var(--red);
	font-weight: 600 !important;
	border-bottom: 2px solid;
	padding: 10px 20px;
	min-width: auto;
	border-radius: 0;
}

.btn__transparent:hover {
	background: transparent;
	color: var(--dark);
	border-color: var(--dark);
}

.cta__btn {
	text-align: center;
}

@media (max-width: 37.5em) {
	.btn,
	.woocommerce div.product form.cart .button {
		padding: 12px 35px;
		font-size: 13px;
		min-width: 165px;
	}
}

/* Custom page */

.custom__page,
.custom__page--full {
	display: block;
	margin: 0 auto;
	margin-bottom: 56px;
}

.custom__page--full {
	width: 100%;
}

.title__box {
	margin-bottom: 32px;
	max-width: 1000px;
}

.title__box--img {
	max-height: 550px;
	object-fit: cover;
	width: 100%;
}

.title__box--h {
	margin-bottom: 32px;
}

.centered {
	text-align: center;
}

.page__content,
.signature {
	display: block;
	margin: 0 auto;
	max-width: 840px;
	padding: 0 20px;
}

.signature {
	padding: 24px 0px;
	max-width: 800px;
	border-bottom: 1px solid var(--dark);
}

.signature__content {
	display: flex;
}

.signature__content--box {
	flex: 0 0 50%;
}

.signature__content--box:nth-of-type(2) {
	text-align: right !important;
}

.signature__name {
	font-weight: 600;
	margin-bottom: 0px !important;
	font-size: 20px;
	color: var(--dark);
}

.signature__title {
	margin-bottom: 0 !important;
	font-size: 18px;
	color: var(--red);
	font-weight: 500;
}

@media (max-width: 37.5em) {
	.signature__name {
		font-size: 17px;
	}

	.signature__title {
		font-size: 14px;
	}
}

/* Newsletter */

.newsletter {
	margin: 16px auto 80px;
	padding: 54px 0;
	background: var(--dark);
}

.newsletter h2,
.newsletter p {
	color: #fff !important;
	font-weight: 700;
}

.newsletter p {
	font-weight: 500;
	margin-bottom: 0 !important;
}

.newsletter__content {
	display: flex;
	align-items: center;
	justify-content: space-around;
}

.newsletter__content--text {
	flex: 0 0 55%;
}

.newsletter .wpcf7 form p {
	display: flex;
}

.newsletter .wpcf7 .wpcf7-form-control-wrap {
	flex: 0 0 calc(70% - 16px);
	margin-right: 16px;
}

.newsletter input[type="submit"] {
	flex: 0 0 30%;
	background: #b5b5b5;
	color: var(--dark);
	transition: all 0.3s;
}

.newsletter input[type="submit"]:hover {
	background: var(--red);
	color: #fff;
}

.cta-button {
	background: #b5b5b5;
	color: var(--dark);
	transition: all 0.3s;
	padding: 15px 35px;
}

.cta-button:hover {
	background: var(--red);
	color: #fff;
}

@media (min-width: 64.2em) {
	.newsletter__content--text {
		padding-right: 54px;
	}
}

@media (max-width: 64em) {
	.newsletter__content {
		flex-direction: column;
	}

	.newsletter p {
		margin-bottom: 24px;
	}

	.newsletter__content--text {
		margin-bottom: 16px;
	}

	.newsletter__content--text {
		text-align: center;
		max-width: 80%;
	}

	.newsletter__content--form {
		width: 100%;
	}

	.cta-button {
		display: block;
		text-align: center;
	}
}

@media (max-width: 37.5em) {
	.newsletter__content--text {
		text-align: left;
		max-width: 100%;
	}

	.newsletter .wpcf7 form p {
		flex-direction: column;
	}

	.newsletter .wpcf7 .wpcf7-form-control-wrap {
		margin-right: 0;
	}

	.newsletter input[type="submit"] {
		margin-top: 8px;
		padding: 13px 30px;
	}
}

/* Hidden */

.pswp__caption {
	display: none;
}

@media (min-width: 37.6em) {
	.large-hidden {
		display: none;
	}
}

@media (max-width: 37.5em) {
	.mobile-hidden {
		display: none;
	}
}

/*===============================================================
    Header and navigation
===============================================================*/

.main-header-menu .menu-link {
	font-size: 14px !important;
	font-weight: 500 !important;
	text-transform: uppercase !important;
}

.ast-site-header-cart .ast-woo-header-cart-info-wrap {
	font-weight: 500;
	color: var(--dark);
}

.ast-site-header-cart .ast-cart-menu-wrap .count,
.ast-site-header-cart .ast-cart-menu-wrap .count:after {
	color: var(--dark);
	border-color: var(--dark);
}

.ast-cart-menu-wrap .count {
	min-width: 1.9em;
	min-height: 1em;
}

.woocommerce
	div.product
	div.woocommerce-product-gallery--columns-4
	.flex-control-thumbs
	li,
.woocommerce
	div.product
	div.woocommerce-product-gallery--columns-3
	.flex-control-thumbs
	li {
	max-width: 100px;
	object-fit: cover;
}

.related-products__heading {
	padding-top: 35px;
	border-top: 1px solid #dcdcdc;
	margin-bottom: 25px !important;
	font-weight: 600;
}

/*===============================================================
    Homepage
===============================================================*/

.page-template-homepage .site-content {
	padding-top: 0;
}

/* Hero */

.hero {
	display: block;
	width: 100%;
	height: 650px;
	background-position: center;
	position: relative;
}

.hero__content {
	position: absolute;
	left: 50%;
	top: 50%;
	text-align: center;
	transform: translate(-50%, -60%);
	width: 100%;
}

.hero__title {
	font-size: 70px;
	line-height: 1.3;
	color: #fff;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1.3px;
	margin-bottom: 24px;
}

@media (min-width: 100em) {
	.hero {
		height: 750px;
	}
}

@media (max-width: 87.5em) {
	.hero {
		height: 575px;
	}
}

@media (max-width: 64em) {
	.hero {
		height: 475px;
	}

	.hero__title {
		font-size: 55px;
	}
}

@media (max-width: 56.25em) {
	.hero {
		height: 400px;
	}

	.hero__title {
		font-size: 50px;
	}
}

@media (max-width: 37.5em) {
	.hero {
		height: 400px;
		background-position: bottom left 70%;
	}

	.hero__title {
		font-size: 32px;
		margin-bottom: 48px;
		line-height: 1.2em;
	}
}

/* Home Products */

.home__products {
	padding: 90px 0;
}

.home__title {
	display: inline-block;
	font-size: 32px;
	font-weight: 600 !important;
	position: relative;
	margin-bottom: 32px;
	width: auto;
}

.home__title::after {
	content: "";
	height: 2px;
	width: 70%;
	background: var(--red);
	position: absolute;
	left: 0;
	bottom: -5px;
}

.home__products li.product:hover .woocommerce-loop-product__link img {
	transform: scale(1.1);
}

@media (max-width: 37.5em) {
	.home__products {
		padding: 30px 0;
	}

	.home__products .container {
		padding: 0;
	}

	.home__title {
		font-size: 26px;
	}

	.woocommerce ul.products,
	.woocommerce ul.products.columns-3,
	.woocommerce-page ul.products.columns-3,
	.upsells ul.products.columns-4 {
		display: flex;
		column-gap: inherit;
		flex-wrap: wrap;
	}

	.woocommerce ul.products li {
		flex: 0 0 calc(50% - 5px);
		margin-right: 0 !important;
	}

	.woocommerce ul.products li:nth-of-type(odd) {
		margin-right: 10px !important;
	}

	.woocommerce ul.products li.product .astra-shop-summary-wrap,
	.woocommerce-page ul.products li.product .astra-shop-summary-wrap {
		padding: 0;
	}
}

/*===============================================================
    Shop
===============================================================*/

/* Single product */

.woocommerce div.product div.images img {
	max-height: 575px;
	object-fit: cover;
}

.single-product div.product .woocommerce-product-details__short-description {
	margin-bottom: 24px;
}

.single-product div.product p.price {
	margin-bottom: 16px !important;
}

.single-product div.product .woocommerce-product-details__short-description {
	margin-bottom: 0;
}

.woocommerce-product-details__short-description p {
	margin-bottom: 8px !important;
}

.ppom-rendering-fields {
	margin: 0 !important;
	padding: 0 !important;
}

.ppom-wrapper span.show_description {
	display: block;
	font-size: 12px;
	line-height: 1.4;
	color: #505050;
	padding-left: 0;
}

.popupaoc-link {
	text-decoration: underline !important;
	font-weight: 600;
}

.woocommerce .product .cart .quantity.buttons_added {
	margin-bottom: 0;
}

.single-product .flex-control-nav {
	display: flex;
	gap: 16px;
}

.single-product .flex-control-nav li {
	margin: 0 !important;
}

.woocommerce div.product form.cart .button {
	padding: 15px 35px !important;
}

.woocommerce #reviews {
	flex-direction: column;
}

.woocommerce div.product .out-of-stock {
	color: var(--red);
	font-size: 22px !important;
	font-weight: 600;
}

.single-product .ast-single-tab:nth-of-type(2),
.single-product .ast-single-tab:nth-of-type(3) {
	display: none;
}

.single-product .ast-tab-header,
#tab-additional_information {
	display: none !important;
}

.upsells ul.products.columns-4 {
	grid-template-columns: repeat(3, 1fr);
}

li.product:hover .woocommerce-loop-product__link img {
	transform: scale(1.1);
}

form.variations_form.cart {
	display: block !important;
}

.woocommerce .product .cart .quantity.buttons_added {
	height: 49px;
}

/* Product Archive */

.post-type-archive-product .site-content,
.tax-product_cat .site-content {
	padding-top: 0px;
}

.woocommerce ul.products,
.woocommerce-page ul.products {
	column-gap: 60px;
}

li.product .button {
	background: #eeeeee;
	color: var(--dark);
}

li.product .button:hover {
	background: var(--dark);
	color: #eeeeee;
}

li.product:hover a h2,
li.product:hover .woocommerce-Price-amount {
	color: var(--red);
}

/* Checkout and Cart */

.woocommerce form .form-row {
	margin: 0 0 6px !important;
}

.woocommerce-page.woocommerce-checkout #payment #place_order,
.woocommerce.woocommerce-checkout #payment #place_order {
	padding: 15px 35px;
	line-height: 1.3;
	border-radius: 3px;
	transition: all 0.2s;
}

.woocommerce-page.woocommerce-checkout #payment #place_order:hover,
.woocommerce.woocommerce-checkout #payment #place_order:hover {
	background: var(--dark);
}

.ast-modern-checkout
	.woocommerce
	#payment
	ul.payment_methods
	.wc_payment_method
	label,
#order_review .ast-product-name {
	font-weight: 700;
	font-size: 20px;
}

@media (min-width: 64em) {
	.woocommerce-product-gallery .flex-viewport {
		max-height: 575px !important;
	}

	.single-product div.product .entry-title {
		margin-top: 8px;
	}
}

@media (max-width: 64em) {
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		column-gap: 30px;
	}

	.woocommerce-loop-product__title {
		font-size: 18px !important;
	}
}

@media (max-width: 56.25em) {
	.single-product .products .columns-4 li,
	.single-product .products .columns-3 li {
		width: 100% !important;
	}
}

@media (max-width: 37.5em) {
	.woocommerce ul.products li.product a img {
		max-height: 300px;
		object-fit: cover;
	}
}

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

.title__box--contact {
	max-width: 760px;
}

.title__box--contact p {
	font-size: 18px;
}

.contact__info,
.contact__info--box,
.info__link {
	display: flex;
	align-items: center;
}

.contact__info {
	justify-content: space-between;
	margin-bottom: 32px;
}

.contact__info--box {
	flex: 0 0 50%;
}

.contact__info--box:nth-of-type(2) {
	text-align: right;
}

.contact__icon {
	width: 25px;
	height: 25px;
	margin-right: 8px;
}

.contact__icon svg {
	fill: var(--dark);
}

.info__link span {
	font-size: 18px;
	color: var(--dark);
	font-weight: 500;
}

.info__link:hover .contact__icon svg {
	fill: var(--red);
}

.info__link:hover span {
	color: var(--red);
}

.contact__form .wpcf7 input:not([type="submit"]),
.contact__form .wpcf7 select,
.contact__form .wpcf7 textarea {
	border: 1px solid var(--dark);
	background: #fff;
}

.contact__form .wpcf7 input:not([type="submit"]):focus,
.contact__form .wpcf7 select:focus,
.contact__form .wpcf7 textarea:focus {
	border: 1px solid var(--red);
	box-shadow: 0 1px 30px rgb(0 0 0 / 10%);
}

.contact__form .wpcf7 input:not([type="submit"]):focus::placeholder,
.contact__form .wpcf7 select:focus::placeholder,
.contact__form .wpcf7 textarea:focus::placeholder {
	opacity: 0;
}

.contact__form .wpcf7 textarea {
	max-height: 225px;
}

.contact__form .wpcf7 input[type="submit"] {
	float: right;
	padding: 15px 35px;
	min-width: 175px;
	transition: all 0.3s;
}

.contact__form .wpcf7 input[type="submit"]:hover {
	background: var(--dark);
}

@media (max-width: 37.5em) {
	.contact__info {
		flex-direction: column;
		align-items: inherit;
	}

	.info__link {
		margin-bottom: 8px;
	}
}

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

.ast-footer-copyright {
	margin-top: 0;
}

.site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row {
	min-height: 54px !important;
}

.ast-footer-copyright a {
	color: #fff;
	text-decoration: underline;
}

.ast-footer-copyright a:hover {
	color: var(--red);
}
