/*--------------------------------------------------------------
PUTUSHART RESPONSIVE STYLES

Desktop styles remain controlled by their individual section
stylesheets. This file contains responsive overrides only.
--------------------------------------------------------------*/


/*--------------------------------------------------------------
MENU TOGGLE
DESKTOP DEFAULT
--------------------------------------------------------------*/

.menu-toggle {
	display: none;
}


/*--------------------------------------------------------------
LARGE TABLET
1024px AND BELOW
--------------------------------------------------------------*/

@media (max-width: 1024px) {

	/*----------------------------------------------------------
	HEADER
	----------------------------------------------------------*/

	.header-wrapper {
		grid-template-columns: 170px 1fr 190px;
		min-height: 90px;
		gap: 20px;
	}

	.site-logo img {
		max-height: 62px;
	}

	.primary-menu {
		gap: 24px;
	}

	.primary-menu a {
		font-size: 14px;
		letter-spacing: 0.2px;
	}

	.header-actions {
		gap: 8px;
	}

	.header-icon {
		width: 38px;
		height: 38px;
	}

	.header-icon img {
		width: 20px;
		height: 20px;
	}


	/*----------------------------------------------------------
	FOOTER
	----------------------------------------------------------*/

	.footer-bottom__inner {
		gap: 20px;
	}

	.footer-bottom p {
		flex-shrink: 0;
	}

	.footer-bottom__statement {
		margin-left: auto;
		text-align: right;
	}

}


/*--------------------------------------------------------------
TABLET
768px AND BELOW
--------------------------------------------------------------*/

@media (max-width: 768px) {

	/*----------------------------------------------------------
	HEADER
	----------------------------------------------------------*/

	.header-wrapper {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 82px;
		gap: 20px;
	}

	.site-logo {
		flex: 0 0 auto;
	}

	.site-logo img {
		display: block;
		width: auto;
		max-height: 58px;
	}

	/* Hide desktop navigation on tablet */
	/* Tablet navigation */
	.main-navigation {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		padding: 24px 30px 30px;
		background: #ffffff;
		border-top: 1px solid var(--color-border);
		box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
		z-index: 998;
	}

	.main-navigation.is-open {
		display: block;
	}

	.main-navigation .primary-menu {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0;
		width: 100%;
	}

	.main-navigation .primary-menu li {
		width: 100%;
		border-bottom: 1px solid var(--color-border);
	}

	.main-navigation .primary-menu li:last-child {
		border-bottom: 0;
	}

	.main-navigation .primary-menu a {
		display: block;
		width: 100%;
		padding: 14px 0;
		font-size: 15px;
		line-height: 1.4;
	}

	/* Header actions on tablet/mobile */
	.header-actions {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		margin-left: auto;
		gap: 6px;
		flex: 0 0 auto;
	}

	/* Keep utility icons visible */
	.header-search,
	.header-wishlist,
	.header-account,
	.cart-icon {
		display: flex;
	}

	/* Tablet menu button */
	.menu-toggle {
		display: flex;
		width: 42px;
		height: 42px;
		margin: 0;
		padding: 10px;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 5px;
		flex: 0 0 42px;
		border: 0;
		border-radius: 50%;
		background: transparent;
		cursor: pointer;
	}

	.menu-toggle span {
		display: block;
		width: 20px;
		height: 2px;
		flex: 0 0 2px;
		background: #111111;
		transition:
			transform 0.3s ease,
			opacity 0.3s ease;
	}


	/*----------------------------------------------------------
	HERO
	----------------------------------------------------------*/

	.hero-section {
		padding: 70px 0 80px;
	}

	.hero-container {
		grid-template-columns: 1fr;
		gap: 55px;
	}

	.hero-content {
		max-width: 620px;
	}

	.hero-title {
		font-size: 48px;
		line-height: 1.08;
		letter-spacing: -1px;
	}

	.hero-description {
		max-width: 580px;
	}

	.hero-buttons {
		flex-direction: row;
	}

	.button-primary,
	.button-secondary {
		width: auto;
	}

	.hero-image {
		width: 100%;
		max-width: 620px;
		margin: 0 auto;
		padding-left: 0;
	}

	.hero-image__caption {
		width: calc(100% - 60px);
	}


	/*----------------------------------------------------------
	FOOTER BOTTOM
	----------------------------------------------------------*/

	.footer-bottom__inner {
		align-items: flex-start;
	}

	.footer-bottom p {
		flex-shrink: 1;
	}

	.footer-bottom__statement {
		margin-left: 0;
		text-align: left;
	}

	/* Single product responsive layout */
	.single-product .product {
		display: block;
	}

	.single-product .woocommerce-product-gallery,
	.single-product .summary {
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
	}

	.single-product .woocommerce-product-gallery {
		margin-bottom: 24px;
	}

	.single-product .woocommerce-product-gallery__wrapper,
	.single-product .woocommerce-product-gallery__image,
	.single-product .woocommerce-product-gallery__image img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
	}

	.single-product .summary {
		padding-left: 0 !important;
		margin-left: 0 !important;
	}

	.single-product .product_title {
		font-size: 28px;
		line-height: 1.2;
	}

}


/*--------------------------------------------------------------
MOBILE
576px AND BELOW
--------------------------------------------------------------*/

@media (max-width: 576px) {

	/*----------------------------------------------------------
	HEADER
	----------------------------------------------------------*/

	.header-wrapper {
		min-height: 72px;
		gap: 16px;
	}

	.site-logo img {
		max-height: 50px;
	}

	.menu-toggle {
		width: 40px;
		height: 40px;
		flex-basis: 40px;
		padding: 9px;
	}

	.main-navigation {
		padding: 18px 20px 24px;
	}


	/*----------------------------------------------------------
	HERO
	----------------------------------------------------------*/

	.hero-section {
		padding: 48px 0 58px;
	}

	.hero-container {
		width: 90%;
		gap: 42px;
	}

	.hero-subtitle {
		margin-bottom: 18px;
		font-size: 11px;
		letter-spacing: 2.2px;
	}

	.hero-title {
		font-size: 36px;
		line-height: 1.08;
		letter-spacing: -0.8px;
	}

	.hero-description {
		margin-top: 22px;
		font-size: 15px;
		line-height: 1.75;
	}

	.hero-buttons {
		flex-direction: row;
		gap: 10px;
		margin-top: 30px;
	}

	.button-primary,
	.button-secondary {
		width: auto;
		min-height: 48px;
		padding: 12px 20px;
		font-size: 13px;
	}

	.hero-image {
		padding-bottom: 30px;
	}

	.hero-image__frame {
		border-radius: 4px 55px 4px 4px;
	}

	.hero-image::before {
		top: -20px;
		right: -22px;
	}

	.hero-image__caption {
		gap: 12px;
		width: calc(100% - 24px);
		padding: 14px 10px;
	}

	.hero-image__caption span {
		font-size: 8px;
		letter-spacing: 0.7px;
	}

	.hero-image__caption span:not(:last-child)::after {
		right: -8px;
	}

	/*----------------------------------------------------------
	CURATED COLLECTIONS
	----------------------------------------------------------*/

	.collections-section {
		padding: 60px 0;
	}

	.collections-container {
		padding: 0 20px;
	}

	.collections-heading {
		margin-bottom: 50px;
	}

	.section-subtitle {
		margin-bottom: 14px;
		font-size: 11px;
		letter-spacing: 2.2px;
	}

	.section-title {
		font-size: 30px;
		line-height: 1.3;
	}

	.collection-item {
		gap: 28px;
		margin-bottom: 65px;
	}

	.collection-item:last-child {
		margin-bottom: 0;
	}

	.collection-image img {
		border-radius: 18px;
	}

	.collection-content h3 {
		margin-bottom: 16px;
		font-size: 26px;
		line-height: 1.25;
	}

	.collection-content p {
		margin-bottom: 22px;
		font-size: 16px;
		line-height: 1.75;
	}

	/*----------------------------------------------------------
	ABOUT PUTUSHART
	----------------------------------------------------------*/

	.about-home {
		padding: 60px 0;
	}

	.about-home .container {
		width: 90%;
	}

	.about-home__wrapper {
		gap: 40px;
	}

	.about-home__image,
	.about-home__image img {
		border-radius: 18px;
	}

	.about-home__subtitle {
		margin-bottom: 14px;
		font-size: 11px;
		letter-spacing: 2.2px;
	}

	.about-home__title {
		font-size: 28px;
		line-height: 1.25;
	}

	.about-home__description {
		margin-top: 20px;
		font-size: 15px;
		line-height: 1.75;
	}

	.about-home__features {
		gap: 20px;
		margin-top: 30px;
	}

	.about-feature {
		padding-bottom: 20px;
	}

	.about-feature h4 {
		margin-bottom: 8px;
		font-size: 19px;
	}

	.about-feature p {
		font-size: 15px;
		line-height: 1.7;
	}

	.about-home__button {
		width: auto;
		margin-top: 32px;
		padding: 15px 28px;
		font-size: 14px;
		text-align: center;
	}

	/*----------------------------------------------------------
	CUSTOM ARTWORK
	----------------------------------------------------------*/

	.custom-artwork {
		padding: 60px 0;
	}

	.custom-artwork .container {
		width: 90%;
	}

	.custom-artwork__heading {
		margin-bottom: 45px;
	}

	.custom-artwork__heading span {
		margin-bottom: 14px;
		font-size: 11px;
		letter-spacing: 2.2px;
	}

	.custom-artwork__heading h2 {
		font-size: 28px;
		line-height: 1.25;
	}

	.custom-artwork__heading p {
		margin-top: 20px;
		font-size: 15px;
		line-height: 1.75;
	}

	.custom-artwork__wrapper {
		gap: 40px;
	}

	.custom-artwork__image,
	.custom-artwork__image img {
		border-radius: 18px;
	}

	.custom-artwork__content {
		gap: 22px;
	}

	.custom-item {
		padding-bottom: 22px;
	}

	.custom-item h4 {
		margin-bottom: 8px;
		font-size: 20px;
	}

	.custom-item p {
		font-size: 15px;
		line-height: 1.7;
	}

	.custom-artwork__footer {
		margin-top: 45px;
	}

	.custom-artwork__footer p {
		margin-bottom: 28px;
		font-size: 18px;
		line-height: 1.6;
	}

	.custom-artwork__button {
		width: auto;
		padding: 15px 28px;
		font-size: 14px;
		text-align: center;
	}
	
	/*----------------------------------------------------------
	SIGNATURE COLLECTION
	----------------------------------------------------------*/

	.signature-collection {
		padding: 60px 0;
	}

	.signature-collection .container {
		width: 90%;
	}

	.signature-heading {
		margin-bottom: 45px;
	}

	.signature-heading span {
		margin-bottom: 14px;
		font-size: 11px;
		letter-spacing: 2.2px;
	}

	.signature-heading h2 {
		font-size: 28px;
		line-height: 1.25;
	}

	.signature-heading p {
		margin-top: 20px;
		font-size: 15px;
		line-height: 1.75;
	}

	.signature-grid {
		gap: 28px;
	}

	.signature-card {
		border-radius: 18px;
	}

	.signature-card__content {
		padding: 24px;
	}

	.signature-card__content h3 {
		font-size: 23px;
		line-height: 1.3;
	}

	.signature-card__content p {
		margin-top: 14px;
		font-size: 15px;
		line-height: 1.7;
	}

	.signature-card__content a {
		margin-top: 18px;
		font-size: 14px;
	}

	.signature-footer {
		margin-top: 45px;
	}

	.signature-button {
		width: auto;
		padding: 15px 28px;
		font-size: 14px;
		text-align: center;
	}

	/*----------------------------------------------------------
	MEET THE ARTIST
	----------------------------------------------------------*/

	.artist-section {
		padding: 60px 0;
	}

	.artist-section .container {
		width: 90%;
	}

	.artist-content span {
		margin-bottom: 14px;
		font-size: 11px;
		letter-spacing: 2.2px;
	}

	.artist-content h2 {
		font-size: 28px;
		line-height: 1.25;
	}

	.artist-content p {
		margin-top: 20px;
		font-size: 15px;
		line-height: 1.75;
	}

	.artist-signatures {
		gap: 12px;
		margin-top: 35px;
	}

	.artist-item {
		padding: 12px 20px;
		font-size: 14px;
	}

	.artist-button {
		width: auto;
		margin-top: 35px;
		padding: 15px 28px;
		font-size: 14px;
		text-align: center;
	}


	/*----------------------------------------------------------
	INSTAGRAM GALLERY
	----------------------------------------------------------*/

	.instagram-section {
		padding: 60px 0;
	}

	.instagram-section .container {
		width: 90%;
	}

	.instagram-heading {
		margin-bottom: 40px;
	}

	.instagram-heading__eyebrow {
		margin-bottom: 14px;
		font-size: 11px;
		letter-spacing: 2.2px;
	}

	.instagram-heading__title {
		font-size: 28px;
		line-height: 1.25;
	}

	.instagram-heading__description {
		margin-top: 20px;
		font-size: 15px;
		line-height: 1.75;
	}

	.instagram-grid {
		gap: 18px;
	}

	.instagram-card {
		border-radius: 16px;
	}

	.instagram-footer {
		margin-top: 40px;
	}

	.instagram-button {
		width: auto;
		padding: 15px 28px;
		font-size: 14px;
		text-align: center;
	}

	/*----------------------------------------------------------
	FOOTER
	----------------------------------------------------------*/

	.footer-main {
		padding: 55px 0 45px;
	}

	.footer-container {
		width: 90%;
	}

	.footer-grid {
		gap: 35px;
	}

	.footer-brand {
		max-width: 100%;
	}

	.footer-brand__name {
		margin-bottom: 20px;
		font-size: 21px;
		letter-spacing: 3px;
	}

	.footer-brand__description {
		font-size: 14px;
		line-height: 1.75;
	}

	.footer-brand__email {
		margin-top: 20px;
		font-size: 14px;
	}

	.footer-heading {
		margin-bottom: 20px;
		font-size: 13px;
		letter-spacing: 1.6px;
	}

	.footer-links li {
		margin-bottom: 11px;
	}

	.footer-links a {
		font-size: 14px;
		line-height: 1.6;
	}

	.footer-bottom__inner {
		gap: 6px;
		padding-top: 22px;
		padding-bottom: 22px;
	}

	.footer-bottom p {
		font-size: 12px;
		line-height: 1.6;
	}

	/* ---------------------------------------------------------
	SHOP — MOBILE RESULT COUNT + SORTING
	--------------------------------------------------------- */

	body.woocommerce-shop .woocommerce-result-count,
	body.tax-product_cat .woocommerce-result-count,
	body.tax-product_tag .woocommerce-result-count {
		float: none;
		width: 100%;
		margin: 0 0 12px;
	}

	body.woocommerce-shop .woocommerce-ordering,
	body.tax-product_cat .woocommerce-ordering,
	body.tax-product_tag .woocommerce-ordering {
		float: none;
		width: 100%;
		margin: 0 0 20px;
	}

	body.woocommerce-shop .woocommerce-ordering select,
	body.tax-product_cat .woocommerce-ordering select,
	body.tax-product_tag .woocommerce-ordering select {
		width: 100%;
	}


}

/* SHOP — NARROW MOBILE PRODUCT TEXT */
@media (max-width: 360px) {

    body.woocommerce-shop ul.products li.product h2,
    body.tax-product_cat ul.products li.product h2,
    body.tax-product_tag ul.products li.product h2 {
        font-size: 14px;
        line-height: 1.25;
    }

    body.woocommerce-shop ul.products li.product .price,
    body.tax-product_cat ul.products li.product .price,
    body.tax-product_tag ul.products li.product .price {
        font-size: 13px;
    }
}




/*--------------------------------------------------------------
SMALL MOBILE
340px AND BELOW
--------------------------------------------------------------*/

@media (max-width: 340px) {

	.hero-buttons {
		flex-direction: column;
		align-items: flex-start;
	}

	.button-primary,
	.button-secondary {
		width: auto;
	}

}

/*--------------------------------------------------------------
WOOCOMMERCE SHOP
TABLET — 768px AND BELOW
--------------------------------------------------------------*/

@media (max-width: 768px) {

	body.woocommerce-shop .site-main,
	body.tax-product_cat .site-main,
	body.tax-product_tag .site-main {
		width: 92%;
	}

	body.woocommerce-shop ul.products,
	body.tax-product_cat ul.products,
	body.tax-product_tag ul.products {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 20px;
		row-gap: 36px;
	}

	body.woocommerce-shop .woocommerce ul.products[class*="columns-"] li.product,
	body.tax-product_cat .woocommerce ul.products[class*="columns-"] li.product,
	body.tax-product_tag .woocommerce ul.products[class*="columns-"] li.product {
		float: none;
		width: 100%;
		max-width: none;
		margin: 0;
	}

	body.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link,
	body.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link,
	body.tax-product_tag ul.products li.product a.woocommerce-LoopProduct-link {
		display: block;
		width: 100%;
	}

	body.woocommerce-shop ul.products li.product a img,
	body.tax-product_cat ul.products li.product a img,
	body.tax-product_tag ul.products li.product a img {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
		margin: 0 0 16px;
		padding: 6px;
		object-fit: contain;
	}

	body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
	body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
	body.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
		min-height: 0;
		font-size: 17px;
		line-height: 1.4;
	}

	body.woocommerce-shop ul.products li.product .price,
	body.tax-product_cat ul.products li.product .price,
	body.tax-product_tag ul.products li.product .price {
		margin-top: 7px;
	}

	body.woocommerce-shop ul.products li.product .button,
	body.tax-product_cat ul.products li.product .button,
	body.tax-product_tag ul.products li.product .button {
		margin-top: 16px;
	}

}

/* ==========================================================
   SHOP — TABLET PRODUCT GRID
   577px–768px
   ========================================================== */

@media (min-width: 577px) and (max-width: 768px) {

    body.woocommerce-shop ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 24px !important;
        row-gap: 48px !important;
    }

    body.woocommerce-shop ul.products li.product,
    body.tax-product_cat ul.products li.product,
    body.tax-product_tag ul.products li.product {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        float: none !important;
        min-width: 0;
    }

}

/* ==========================================================
   SHOP — MOBILE PRODUCT GRID
   Up to 576px
   ========================================================== */

@media (max-width: 576px) {

    body.woocommerce-shop ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 18px !important;
        row-gap: 24px !important;
    }

    body.woocommerce-shop ul.products li.product,
    body.tax-product_cat ul.products li.product,
    body.tax-product_tag ul.products li.product {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        float: none !important;
        min-width: 0;
    }

	/* ---------------------------------------------------------
	SINGLE PRODUCT
	Product Short Description
	Mobile Optimization
	--------------------------------------------------------- */

	.single-product .woocommerce-product-details__short-description {

		max-width: 100%;

		margin-bottom: 28px;

		font-size: 16px;
		line-height: 1.8;
	}

	/* ---------------------------------------------------------
	SINGLE PRODUCT
	Premium Add to Cart
	Mobile Optimization
	--------------------------------------------------------- */

	.single-product div.product form.cart {

		gap: 12px;

		margin-bottom: 28px;
	}

	.single-product div.product form.cart .quantity {

		flex: 0 0 72px;
	}

	.single-product div.product form.cart .qty {

		width: 72px;
		height: 52px;

		font-size: 16px;
	}

	.single-product div.product form.cart .single_add_to_cart_button {

		height: 52px;

		padding: 0 24px;

		font-size: 16px;
	}

	/* ---------------------------------------------------------
	SINGLE PRODUCT
	Product Meta
	Mobile Optimization
	--------------------------------------------------------- */

	.single-product .product_meta {

		font-size: 14px;

		gap: 10px;
	}

	.single-product .product_meta a {

		padding: 5px 12px;

		font-size: 13px;
	}


}

/* ==========================================================
   SINGLE PRODUCT — LARGE TABLET
   1024px
   ========================================================== */

@media (max-width: 1024px) {

	/* Page container */
	.single-product main,
	.single-product .site-main {
		padding-left: 32px;
		padding-right: 32px;
	}

	/* Main product layout */
	.single-product div.product {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		grid-template-columns:
			minmax(0, 1.05fr)
			minmax(0, 0.95fr);
		column-gap: 40px;
		justify-content: stretch;
		box-sizing: border-box;
	}
	
	.single-product div.product > * {
		min-width: 0;
		max-width: 100%;
		box-sizing: border-box;
	}

	.single-product div.product .woocommerce-tabs,
	.single-product div.product > .related.products {
		grid-column: 1 / -1;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	/* Gallery */
	.single-product .woocommerce-product-gallery {
		max-width: none;
	}

	.single-product .woocommerce-product-gallery__image {
		height: 460px;
	}

	/* Summary */
	.single-product div.product div.summary {
		padding-top: 4px;
	}

	.single-product .product_title {
		font-size: 38px;
	}

	.single-product .woocommerce-product-details__short-description {
		max-width: none;
		font-size: 15px;
	}

	.single-product div.product form.cart {
		max-width: none;
	}

}

/* ==========================================================
   SINGLE PRODUCT — TABLET
   768px
   ========================================================== */

@media (max-width: 768px) {

	/* Main product layout: stack gallery and summary */
	.single-product div.product {
		grid-template-columns: 1fr;
		column-gap: 0;
		row-gap: 0;
	}

	/* Gallery */
	.single-product .woocommerce-product-gallery {
		grid-column: 1;
		width: 100%;
		max-width: 100%;
		margin-bottom: 32px;
	}

	.single-product .woocommerce-product-gallery__image {
		height: 520px;
	}

	/* Summary */
	.single-product div.product div.summary {
		grid-column: 1;
		width: 100%;
		max-width: 100%;
		padding-top: 0;
	}

	.single-product .product_title {
		font-size: 34px;
	}

	.single-product .woocommerce-product-details__short-description,
	.single-product div.product form.cart {
		max-width: 100%;
	}

	/* Lower sections remain full width */
	.single-product div.product .woocommerce-tabs,
	.single-product div.product > .related.products {
		grid-column: 1;
	}

	/* Related Products — 2 columns */
	.single-product div.product > .related.products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 32px 24px !important;
	}

	/* Related section spacing */
	.single-product div.product > .related.products {
		margin-bottom: 56px;
	}

	/* Product Information Card */

	.single-product .putushart-info-card{
		grid-template-columns:1fr;
	}

}

/* =========================================================
   SINGLE PRODUCT — 375PX TABS
   ========================================================= */

@media (max-width: 375px) {

    .single-product .woocommerce-tabs ul.tabs {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin: 0 0 24px;
        padding: 0;
        border-bottom: 0;
    }

    .single-product .woocommerce-tabs ul.tabs li {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
        border-bottom: 1px solid #e8e8e8;
    }

    .single-product .woocommerce-tabs ul.tabs li a {
        display: block;
        width: 100%;
        padding: 12px 0;
        white-space: nowrap;
        font-size: 14px;
        line-height: 1.4;
    }

}


/* =========================================================
   A new rule for 576px and below
   ========================================================= */

.single-product .product_title{

	font-size:30px;

	line-height:1.22;

	margin-bottom:16px;
}

.single-product div.product p.price,
.single-product div.product span.price{

	font-size:28px;

	margin-bottom:24px;
}


/* ==========================================================
   CART PAGE
   1024px Responsive
   ========================================================== */

@media (max-width: 1024px) {

    /* ------------------------------------------------------
       Page Container
       ------------------------------------------------------ */

    body.woocommerce-cart .wp-block-woocommerce-cart {

        padding: 32px 24px 64px;
    }

    /* ------------------------------------------------------
       Cart Layout
       ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart {

        gap: 24px;
    }

    /* ------------------------------------------------------
       Sidebar
       ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart__sidebar {

        width: 340px;
    }

    body.woocommerce-cart .wc-block-components-sidebar {

        padding: 28px;
    }

    /* ------------------------------------------------------
       Cart Item
       ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart-items__row {

        padding: 24px;
    }

    body.woocommerce-cart .wc-block-cart-item__image {

        width: 100px;
        flex: 0 0 100px;
        margin-right: 20px;
    }

    body.woocommerce-cart .wc-block-cart-item__image img {

        width: 110px;
        height: 110px;
    }

    /* ------------------------------------------------------
       Typography
       ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-components-product-name {

        font-size: 1.05rem;
    }

    body.woocommerce-cart .wc-block-components-product-price {

        font-size: 1rem;
    }

    body.woocommerce-cart .wc-block-components-totals-item__value {

        font-size: 1.1rem;
    }

    /* ------------------------------------------------------
       Checkout Button
       ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart__submit-button {

        min-height: 54px;
    }

}

/* ==========================================================
   CART PAGE
   768px Responsive
   ========================================================== */

@media (max-width: 768px) {

    /* ------------------------------------------------------
       Page Container
    ------------------------------------------------------ */

    body.woocommerce-cart .wp-block-woocommerce-cart {

        padding: 28px 20px 56px;
    }

    /* ------------------------------------------------------
       Cart Layout
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart {

        display: flex;
        flex-direction: column;
        gap: 32px;
    }

    /* ------------------------------------------------------
       Main Column
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart__main {

        width: 100%;
    }

    /* ------------------------------------------------------
       Sidebar
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart__sidebar {

        width: 100%;
    }

    body.woocommerce-cart .wc-block-components-sidebar {

        position: static;
        top: auto;

        width: 100%;

        padding: 28px;
    }

    /* ------------------------------------------------------
       Cart Item
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart-items__row {

        padding: 24px;
    }

    body.woocommerce-cart .wc-block-cart-item__image {

        width: 100px;
        flex: 0 0 100px;

        margin-right: 20px;
    }

    body.woocommerce-cart .wc-block-cart-item__image img {

        width: 100px;
        height: 100px;
    }

    /* ------------------------------------------------------
       Product Typography
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-components-product-name {

        font-size: 1rem;
        line-height: 1.45;
    }

    body.woocommerce-cart .wc-block-components-product-price {

        font-size: 1rem;
    }

    body.woocommerce-cart .wc-block-components-product-metadata,
    body.woocommerce-cart .wc-block-components-product-details {

        font-size: .9rem;
    }

    /* ------------------------------------------------------
       Checkout Button
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart__submit-button,
    body.woocommerce-cart .wc-block-components-checkout-place-order-button {

        min-height: 54px;
        font-size: 1rem;
    }



	/* ==========================================================
	   CART PAGE
	   768px Responsive
	   Empty Cart Layout
	   ========================================================== */
	.putushart-empty-cart{

		padding:60px 20px;

	}

	.empty-cart-wrapper{

		grid-template-columns:1fr;

		gap:40px;

		text-align:center;

	}

	.empty-cart-content p{

		margin:auto auto 35px;

	}

	.empty-cart-content h1{

		font-size:38px;

	}

	.empty-cart-icon{

		width:180px;

		height:180px;

		font-size:80px;

	}

}

/* ==========================================================
   CART PAGE
   576px Responsive
   Cart Item Layout (Revised)
   ========================================================== */

@media (max-width: 576px) {

    /* ------------------------------------------------------
       Cart Item Row
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart-items__row {

        padding: 28px 20px;

        align-items: flex-start;
    }

    /* ------------------------------------------------------
       Product Image
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart-item__image {

        width: 80px;
        flex: 0 0 80px;

        margin-right: 12px;
    }

    body.woocommerce-cart .wc-block-cart-item__image img {

        width: 104px;
        height: 104px;

        border-radius: 14px;
    }

    /* ------------------------------------------------------
       Product Details
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart-item__product {

        flex: 1;

        min-width: 0;
    }

    body.woocommerce-cart .wc-block-components-product-name {

        font-size: 1rem;

        line-height: 1.4;

        margin-bottom: 10px;
    }

    body.woocommerce-cart .wc-block-components-product-price {

        font-size: 1rem;
    }

    body.woocommerce-cart .wc-block-components-product-details,
    body.woocommerce-cart .wc-block-components-product-metadata {

        font-size: .85rem;

        line-height: 1.5;

        margin-top: 10px;
		margin-bottom: 12px;
    }

    /* ------------------------------------------------------
       Quantity
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart-item__quantity {

        margin-top: 18px;

        justify-content: flex-start;

        gap: 12px;
    }

    /* ------------------------------------------------------
       Total
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart-item__total {

        align-self: flex-start;

        margin-left: auto;

        white-space: nowrap;

        font-size: 1rem;

        font-weight: 700;
    }

	body.woocommerce-cart .wc-block-cart-item__total {

    	padding-top: 8px;
	}

}

/* ==========================================================
   CART PAGE
   375px Responsive
   ========================================================== */

@media (max-width: 375px) {

    /* ------------------------------------------------------
       Page Container
    ------------------------------------------------------ */

    body.woocommerce-cart .wp-block-woocommerce-cart {

        padding: 16px 12px 40px;
    }

    /* ------------------------------------------------------
       Cart Item Card
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart-items__row {

        padding: 18px 14px;
    }

    /* ------------------------------------------------------
       Product Image
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart-item__image {

        width: 72px;
        flex: 0 0 72px;

        margin-right: 12px;
    }

    body.woocommerce-cart .wc-block-cart-item__image img {

        width: 72px;
        height: 72px;

        border-radius: 12px;
    }

    /* ------------------------------------------------------
       Product Typography
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-components-product-name {

        font-size: .95rem;

        line-height: 1.35;
    }

    body.woocommerce-cart .wc-block-components-product-price {

        font-size: .95rem;
		padding-right: 4px;
    }

    body.woocommerce-cart .wc-block-components-product-details,
    body.woocommerce-cart .wc-block-components-product-metadata {

        font-size: .8rem;

        line-height: 1.45;
    }

    /* ------------------------------------------------------
       Quantity Controls
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart-item__quantity {

        gap: 10px;

        margin-top: 16px;

        flex-wrap: wrap;
    }

    body.woocommerce-cart .wc-block-components-quantity-selector {

        transform: scale(.95);

        transform-origin: left center;
    }

    /* ------------------------------------------------------
       Cart Total
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart-item__total {

        font-size: .95rem;
    }

    /* ------------------------------------------------------
       Cart Totals Card
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-components-sidebar {

        padding: 20px;
    }

    body.woocommerce-cart .wc-block-components-sidebar h2 {

        font-size: 1.15rem;
    }

    /* ------------------------------------------------------
       Checkout Button
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart__submit-button,
    body.woocommerce-cart .wc-block-components-checkout-place-order-button {

        min-height: 52px;

        font-size: .95rem;
    }

}

/* ==========================================================
   CART PAGE
   320px Responsive
   ========================================================== */

@media (max-width: 320px) {

    /* ------------------------------------------------------
       Page Container
    ------------------------------------------------------ */

    body.woocommerce-cart .wp-block-woocommerce-cart {

        padding: 14px 10px 36px;
    }

    /* ------------------------------------------------------
       Cart Item
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart-items__row {

        padding: 16px 12px;
    }

    /* ------------------------------------------------------
       Product Image
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart-item__image {

        width: 64px;
        flex: 0 0 64px;

        margin-right: 10px;
    }

    body.woocommerce-cart .wc-block-cart-item__image img {

        width: 64px;
        height: 64px;

        border-radius: 10px;
    }

    /* ------------------------------------------------------
       Typography
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-components-product-name {

        font-size: 0.9rem;

        line-height: 1.3;
    }

    body.woocommerce-cart .wc-block-components-product-price {

        font-size: 0.9rem;
    }

    body.woocommerce-cart .wc-block-components-product-details,
    body.woocommerce-cart .wc-block-components-product-metadata {

        font-size: 0.75rem;

        line-height: 1.4;
    }

    body.woocommerce-cart .wc-block-cart-item__total {

        font-size: 0.9rem;
    }

    /* ------------------------------------------------------
       Quantity Selector
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-components-quantity-selector {

        transform: scale(0.9);

        transform-origin: left center;
    }

    body.woocommerce-cart .wc-block-cart-item__quantity {

        margin-top: 12px;

        gap: 8px;
    }

    /* ------------------------------------------------------
       Cart Totals
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-components-sidebar {

        padding: 18px;
    }

    body.woocommerce-cart .wc-block-components-sidebar h2 {

        font-size: 1.05rem;
    }

    /* ------------------------------------------------------
       Checkout Button
    ------------------------------------------------------ */

    body.woocommerce-cart .wc-block-cart__submit-button,
    body.woocommerce-cart .wc-block-components-checkout-place-order-button {

        min-height: 48px;

        font-size: 0.9rem;
    }

}