/**
 * Mind35 Delivery - responsive stylesheet
 *
 * Generated from the inline <style> blocks that used to live in the
 * template files. Page-specific rules are scoped with the body class
 * added by M35_Assets (`m35-tpl-{template-basename}`) so that pages
 * which reused the same class names keep their own values.
 *
 * @package Mind35
 */

/* ==========================================================================
   Shared / global responsive rules
   ========================================================================== */
@media (min-width: 1600px) {
	.m35-product-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (max-width: 1024px) {
	.m35-main-container {
		padding: 30px 40px;
	}

	.m35-product-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 32px;
	}

	.m35-stockCard {
		padding: 24px;
	}

	.m35-hero__title {
		font-size: 52px;
	}

	.m35-archive-head {
		margin-bottom: 40px;
	}
}

@media ( max-width: 900px ) {
	.m35-service-area {
		display: none;
	}

	.m35-right-group {
		flex-grow: 1;
		justify-content: flex-end;
	}
}

@media ( max-width: 800px ) {
	.woocommerce form .form-row-first, .woocommerce form .form-row-last, .woocommerce-page form .form-row-first, .woocommerce-page form .form-row-last {
		width: 100% !important;
	}

	#customer_details.col2-set {
		width: 100% !important;
		float: none !important;
		margin-right: 0.347826087%;
		display: grid !important;
	}

	.m35-id-verification-wrap .form-row {
		grid-column: span 2 !important;
	}

	.m35-cart-count {
		top: -5px !important;
		right: 4px !important;
	}

	.woocommerce-message, .woocommerce-error, .woocommerce-info {
		display: block;
		padding: 16px 16px 16px 46px !important;
		font-size: 15px;
	}

	.woocommerce-message::before, .woocommerce-error::before, .woocommerce-info::before {
		left: 16px !important;
		top: 18px !important;
		transform: none;
	}

	.woocommerce-message .button, .woocommerce-error .button, .woocommerce-info .button {
		display: inline-flex !important;
		margin: 14px 0 0 !important;
		width: auto;
	}
}

@media (max-width: 768px) {
	.m35-main-container {
		padding: 25px 25px;
	}

	.m35-product-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}

	.m35-hero__content {
		padding: 30px;
	}

	.m35-archive-head {
		margin-bottom: 30px;
	}

	.m35-archive-subtitle {
		font-size: 16px;
		line-height: 1.75;
	}

	.m35-stockCard {
		padding: 20px;
	}

	.m35-stockImgWrap {
		height: auto;
		margin-bottom: 1px;
	}
}

@media ( max-width: 600px ) {
	.m35-header {
		padding: 12px 16px;
		gap: 12px;
	}

	.m35-brand img {
		max-height: 32px;
	}

	.m35-right-group {
		gap: 12px;
	}

	.m35-phone-prefix {
		display: none;
	}

	.m35-phone-cta {
		font-size: 0.9rem;
		gap: 4px;
	}

	.m35-phone-cta svg {
		width: 14px;
		height: 14px;
	}

	.m35-divider {
		margin: 0;
	}

	.m35-actions {
		gap: 12px;
	}

	.m35-icon-btn svg {
		width: 24px;
		height: 24px;
	}

	.m35-menu-btn {
		padding: 6px 12px;
		font-size: 0.85rem;
	}
}

@media (max-width: 480px) {
	.m35-main-container {
		padding: 20px 15px;
	}

	.m35-product-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.m35-hero {
		min-height: 280px;
	}

	.m35-hero__title {
		font-size: 40px;
	}

	.m35-hero__content {
		padding: 20px;
	}

	.m35-archive-head {
		margin-bottom: 26px;
	}

	.m35-archive-title {
		font-size: 38px;
	}
}

@media ( max-width: 400px ) {
	.m35-header {
		padding: 10px;
		gap: 8px;
	}

	.m35-brand img {
		max-height: 42px;
	}

	.m35-phone-cta {
		font-size: 0.8rem;
	}

	.m35-right-group, .m35-actions {
		gap: 8px;
	}

	.m35-menu-btn {
		padding: 6px 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.blog-card {
		opacity: 1;
		transform: none;
	}
}

@media (max-width: 640px) {
	.blog-grid {
		grid-template-columns: 1fr;
		row-gap: 35px;
	}

	.blog-page__header {
		margin-bottom: 2rem;
	}
}

/* ==========================================================================
   Global: header bar, brand typography, cart badge  (from header.php)
   ========================================================================== */
@media (max-width: 992px) {
	.m35-header {
		display: grid;
		grid-template-columns: 1fr auto;
		padding: 12px 0 16px 0;
		min-height: unset;
		gap: 14px 0;
	}

	.m35-service-area {
		grid-column: 1 / -1;
		grid-row: 1;
		width: 100%;
		padding-bottom: 12px;
		border-bottom: 1px solid rgba(255,255,255,0.15);
		font-size: 13px;
	}

	.m35-brand {
		grid-column: 1 / 2;
		grid-row: 2;
		justify-content: flex-start;
	}

	.m35-brand img {
		max-width: 140px !important;
	}

	.m35-right-group {
		display: contents;
	}

	.m35-actions {
		grid-column: 2 / 3;
		grid-row: 2;
		gap: 10px;
	}

	.m35-phone-cta {
		grid-column: 1 / -1;
		grid-row: 3;
		justify-self: center;
		padding: 8px 24px;
		font-size: 14px;
		margin-top: 4px;
	}

	.m35-divider {
		display: none;
	}

	.m35-icon-btn {
		width: 34px;
		height: 34px;
	}

	.m35-menu-btn {
		height: 34px;
		padding: 0 14px;
		font-size: 12px;
	}

	.m35-cart-count {
		top: -5px;
		right: -7px;
		min-width: 18px;
		height: 18px;
		line-height: 18px;
		font-size: 10px;
	}
}

@media (max-width: 480px) {
	.m35-phone-prefix {
		display: none;
	}

	.m35-actions {
		gap: 8px;
	}

	.m35-phone-cta {
		padding: 8px 20px;
		font-size: 13px;
	}

	.m35-menu-btn {
		padding: 0 12px;
	}

	.m35-brand img {
		max-width: 120px !important;
	}
}

/* ==========================================================================
   Global: announcement / sale bar  (from header.php)
   ========================================================================== */
@media (max-width: 600px) {
	.m35-sale-bar.is-visible {
		font-size: 14px;
		padding-top: 5px;
		padding-bottom: 5px;
		padding-left: 12px;
		padding-right: 38px;
	}

	.m35-sale-bar__title {
		font-size: 13px;
		font-weight: 400;
	}

	.m35-sale-bar__inner {
		gap: 0.35rem;
		display: inline;
		font-weight: 400;
	}

	.m35-sale-bar__sep {
		margin: 0;
	}

	.m35-sale-bar__close {
		width: 20px;
		height: 20px;
		right: 8px;
		font-size: 10px;
	}
}

/* ==========================================================================
   Global: site footer  (from footer.php)
   ========================================================================== */
@media (max-width: 991px) {
	.m35-footer-grid {
		grid-template-columns:repeat(2, minmax(0,1fr));
		gap:28px 24px;
	}
}

@media (max-width: 800px) {
	.privacy-policy-block h1 {
		font-size: 22px !important;
	}
}

@media (max-width: 640px) {
	.m35-footer-top {
		padding:42px 0 24px;
	}

	.m35-footer-grid {
		grid-template-columns:1fr;
		gap:24px;
	}

	.m35-footer-brand-logo {
		max-width:170px;
	}
}

/* ==========================================================================
   Front page  (from front-page.php)
   ========================================================================== */
@media (min-width: 768px) {
	.m35-tpl-front-page .m35-hero-features {
		font-size: 15px;
	}
}

@media (max-width: 1024px) {
	.m35-tpl-front-page .m35-stockSlideGrid {
		grid-template-columns: repeat(3, 1fr);
	}

	.m35-tpl-front-page .m35-feature-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.m35-tpl-front-page .m35-icon-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 900px) {
	.m35-tpl-front-page .m35-featured-grid {
		grid-template-columns: repeat(1, 1fr);
		gap: 16px;
	}
}

@media (max-width: 780px) {
	.m35-tpl-front-page .gdelivery-reviews {
		font-size: 25px !important;
	}

	.m35-tpl-front-page .m35-heroCard .bg {
		background-position: 60% 100%;
	}

	.m35-tpl-front-page .m35-heroCard .overlay {
		background: rgb(0 0 0 / 30%);
	}

	.m35-tpl-front-page .margin-bottom>p {
		line-height: 28px !important;
		font-size: 13px;
	}

	.m35-tpl-front-page .m35-heroCard {
		min-height: 680px;
		padding: 40px 0;
	}

	.m35-tpl-front-page .m35-heroTitle {
		font-size: 34px;
		line-height: 1.4;
	}

	.m35-tpl-front-page .m35-heroSub {
		font-size: 15px;
		margin-top: 30px;
		line-height: 1.6;
		white-space: break-spaces;
	}

	.m35-tpl-front-page .m35-btnRow {
		margin-top: 48px;
		flex-direction: column;
		width: 100%;
		gap: 14px;
		align-items: stretch;
	}

	.m35-tpl-front-page .m35-btn {
		width: 100%;
		height: 50px;
		font-size: 15px;
	}

	.m35-tpl-front-page .m35-btn.primary {
		height: 54px;
	}

	.m35-tpl-front-page .m35-icon-nav {
		padding: 30px 0;
	}

	.m35-tpl-front-page .m35-icon-title {
		font-size: 24px;
		margin-bottom: 24px;
	}

	.m35-tpl-front-page .m35-icon-grid {
		gap: 20px 10px;
	}

	.m35-tpl-front-page .m35-icon-item {
		min-width: 75px;
	}

	.m35-tpl-front-page .m35-icon-img-box {
		width: 65px;
		height: 65px;
		margin-bottom: 8px;
	}

	.m35-tpl-front-page .m35-icon-item img {
		width: 40px;
		height: 40px;
	}

	.m35-tpl-front-page .m35-icon-item span {
		font-size: 11px;
	}

	.m35-tpl-front-page .m35-stockSlideGrid {
		grid-template-columns: repeat(2, 1fr);
	}

	.m35-tpl-front-page .m35-brandSlideGrid {
		grid-template-columns: repeat(2, 1fr);
	}

	.m35-tpl-front-page .m35-cardgrid {
		grid-template-columns: repeat(2, 1fr);
	}

	.m35-tpl-front-page .m35-promo .inner {
		font-size: 24px;
		padding: 35px 0;
	}

	.m35-tpl-front-page .m35-carouselDots {
		display:none;
	}

	.m35-tpl-front-page .m35-carouselArrows {
		display:flex;
	}
}

@media (max-width: 640px) {
	.m35-tpl-front-page .m35-stockSlideGrid {
		grid-template-columns: 1fr;
	}

	.m35-tpl-front-page .m35-cardgrid {
		grid-template-columns: 1fr;
	}

	.m35-tpl-front-page .m35-feature-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.m35-tpl-front-page .m35-icon-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ==========================================================================
   FAQ page  (from page-faq.php)
   ========================================================================== */
@media (max-width: 767px) {
	.m35-tpl-page-faq .m35-faq-template {
		padding: 42px 0 64px;
	}

	.m35-tpl-page-faq .m35-faq-head {
		margin-bottom: 38px;
	}

	.m35-tpl-page-faq .m35-faq-sections {
		gap: 28px;
	}

	.m35-tpl-page-faq .m35-faq-question {
		padding: 18px 16px;
		gap: 14px;
	}

	.m35-tpl-page-faq .m35-faq-answer {
		padding: 0 16px 18px;
		font-size: 15px;
		line-height: 1.75;
	}

	.m35-tpl-page-faq .m35-faq-question-text {
		font-size: 16px;
		line-height: 1.5;
	}

	.m35-tpl-page-faq .m35-faq-section-title {
		font-size: 24px;
	}

	.m35-tpl-page-faq .m35-faq-subtitle {
		font-size: 16px;
		line-height: 1.75;
	}
}

/* ==========================================================================
   Loyalty page  (from page-loyalty.php)
   ========================================================================== */
@media (max-width: 767px) {
	.m35-tpl-page-loyalty .m35-loyalty-template {
		padding: 42px 0 64px;
	}

	.m35-tpl-page-loyalty .m35-loyalty-head {
		margin-bottom: 34px;
	}

	.m35-tpl-page-loyalty .m35-loyalty-card {
		padding: 22px 18px 20px;
		border-radius: 16px;
	}

	.m35-tpl-page-loyalty .m35-loyalty-card-title {
		font-size: 24px;
	}

	.m35-tpl-page-loyalty .m35-loyalty-intro, .m35-tpl-page-loyalty .m35-loyalty-card-text {
		font-size: 16px;
		line-height: 1.75;
	}
}

/* ==========================================================================
   Bulk pricing page  (from page-bulk-pricing.php)
   ========================================================================== */
@media (max-width: 767px) {
	.m35-tpl-page-bulk-pricing .m35-bulk-template {
		padding: 42px 0 64px;
	}

	.m35-tpl-page-bulk-pricing .m35-bulk-head {
		margin-bottom: 34px;
	}

	.m35-tpl-page-bulk-pricing .m35-bulk-card {
		padding: 22px 18px 20px;
		border-radius: 16px;
	}

	.m35-tpl-page-bulk-pricing .m35-bulk-card-title {
		font-size: 24px;
	}

	.m35-tpl-page-bulk-pricing .m35-bulk-intro, .m35-tpl-page-bulk-pricing .m35-bulk-card-text, .m35-tpl-page-bulk-pricing .m35-bulk-closing {
		font-size: 16px;
		line-height: 1.75;
	}
}

/* ==========================================================================
   Contact page  (from page-contact-us.php)
   ========================================================================== */
@media (max-width: 767px) {
	.m35-tpl-page-contact-us .m35-contact-template {
		padding: 42px 0 64px;
	}

	.m35-tpl-page-contact-us .m35-contact-head {
		margin-bottom: 32px;
	}

	.m35-tpl-page-contact-us .m35-contact-card {
		padding: 22px 18px;
		border-radius: 16px;
	}

	.m35-tpl-page-contact-us .m35-contact-link {
		font-size: 16px;
	}

	.m35-tpl-page-contact-us .m35-contact-form-title {
		font-size: 24px;
	}

	.m35-tpl-page-contact-us .m35-contact-intro {
		font-size: 16px;
		line-height: 1.75;
	}
}

/* ==========================================================================
   Order support page  (from page-order-support.php)
   ========================================================================== */
@media (max-width: 767px) {
	.m35-tpl-page-order-support .m35-support-template {
		padding: 42px 0 64px;
	}

	.m35-tpl-page-order-support .m35-support-head {
		margin-bottom: 34px;
	}

	.m35-tpl-page-order-support .m35-support-card {
		padding: 22px 18px 20px;
		border-radius: 16px;
	}

	.m35-tpl-page-order-support .m35-support-card-title {
		font-size: 24px;
	}

	.m35-tpl-page-order-support .m35-support-intro, .m35-tpl-page-order-support .m35-support-card-text, .m35-tpl-page-order-support .m35-support-closing {
		font-size: 16px;
		line-height: 1.75;
	}
}

/* ==========================================================================
   Shop All page  (from page-shop-all.php)
   ========================================================================== */
@media (max-width: 1024px) {
	.m35-tpl-page-shop-all {
		--m35-badge-size: 120px;
		--m35-icon-area: 70px;
	}

	.m35-tpl-page-shop-all .m35-category-grid {
		gap: 20px;
	}

	.m35-tpl-page-shop-all .m35-category-tile {
		min-height: 252px;
		padding: 28px 20px 24px;
	}

	.m35-tpl-page-shop-all .m35-category-name {
		font-size: 18px;
		max-width: 180px;
	}
}

@media (max-width: 767px) {
	.m35-tpl-page-shop-all {
		--m35-badge-size: 96px;
		--m35-icon-area: 56px;
	}

	.m35-tpl-page-shop-all .m35-shopall-page {
		padding: 42px 0 64px;
	}

	.m35-tpl-page-shop-all .m35-shopall-head {
		margin-bottom: 32px;
	}

	.m35-tpl-page-shop-all .m35-shopall-intro {
		font-size: 16px;
		line-height: 1.75;
	}

	.m35-tpl-page-shop-all .m35-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.m35-tpl-page-shop-all .m35-category-tile {
		min-height: 208px;
		padding: 22px 14px 20px;
		border-radius: 16px;
	}

	.m35-tpl-page-shop-all .m35-category-icon-wrap {
		margin-bottom: 14px;
	}

	.m35-tpl-page-shop-all .m35-category-name {
		font-size: 16px;
		line-height: 1.35;
		max-width: 140px;
	}
}

/* ==========================================================================
   My Account page  (from page-my-account.php)
   ========================================================================== */
@media (max-width: 768px) {
	.m35-tpl-page-my-account .u-columns.col2-set {
		flex-direction: column;
		gap: 40px;
	}

	.m35-tpl-page-my-account .u-column1, .m35-tpl-page-my-account .u-column2 {
		width: 100%;
	}

	.m35-tpl-page-my-account .m35-hero__title {
		font-size: 32px;
	}

	.m35-tpl-page-my-account .m35-main-container {
		padding: 25px;
	}

	.m35-tpl-page-my-account .m35-auth-box {
		padding: 25px;
	}
}

/* ==========================================================================
   Delivery areas page (block 1)  (from page-delivery-areas.php)
   ========================================================================== */
@media (max-width: 800px) {
	.m35-tpl-page-delivery-areas .m35-delivery-template {
		padding: 48px 0 80px;
	}

	.m35-tpl-page-delivery-areas .m35-delivery-head {
		margin-bottom: 40px;
	}

	.m35-tpl-page-delivery-areas .m35-delivery-card {
		padding: 22px 20px;
		border-radius: 14px;
		border-left-width: 4px;
	}

	.m35-tpl-page-delivery-areas .m35-delivery-card::before {
		font-size: 100px;
		right: 10px;
		top: 50%;
	}

	.m35-tpl-page-delivery-areas .m35-delivery-card-title {
		font-size: 22px;
	}

	.m35-tpl-page-delivery-areas .m35-delivery-card-text {
		font-size: 15px;
	}

	.m35-tpl-page-delivery-areas .m35-delivery-intro, .m35-tpl-page-delivery-areas .m35-delivery-closing {
		font-size: 16px;
		line-height: 1.7;
	}

	.m35-tpl-page-delivery-areas .m35-delivery-list {
		grid-template-columns: 1fr !important;
	}

	.m35-tpl-page-delivery-areas .m35-delivery-list-work {
		grid-template-columns: 1fr;
		max-width: 440px;
		gap: 24px;
	}

	.m35-tpl-page-delivery-areas .m35-how-it-works {
		padding: 80px 20px 70px;
	}

	.m35-tpl-page-delivery-areas .m35-section-header-h1 {
		margin-bottom: 48px;
	}

	.m35-tpl-page-delivery-areas .m35-delivery-card-content {
		padding: 40px 28px 36px;
	}

	.m35-tpl-page-delivery-areas .m35-cta-wrapper-order-btn {
		margin-top: 56px;
	}

	.m35-tpl-page-delivery-areas .m35-info-grid {
		grid-template-columns: repeat(2, 1fr);
		max-width: 600px;
		gap: 16px;
	}

	.m35-tpl-page-delivery-areas .m35-delivery-info-section {
		padding: 80px 20px;
	}

	.m35-tpl-page-delivery-areas .m35-info-header {
		margin-bottom: 40px;
	}

	.m35-tpl-page-delivery-areas .m35-info-item {
		padding: 28px 24px;
	}
}

@media (max-width: 500px) {
	.m35-tpl-page-delivery-areas .m35-info-grid {
		grid-template-columns: 1fr;
		max-width: 400px;
	}

	.m35-tpl-page-delivery-areas .m35-info-value {
		font-size: 15px;
	}
}

@media (max-width: 480px) {
	.m35-tpl-page-delivery-areas .m35-btn-primary {
		padding: 16px 36px;
		font-size: 15px;
	}

	.m35-tpl-page-delivery-areas .m35-card-content-text-mc h3 {
		font-size: 18px;
	}

	.m35-tpl-page-delivery-areas .m35-card-content-text-mc p {
		font-size: 14px;
	}
}

/* ==========================================================================
   Delivery areas page (block 2)  (from page-delivery-areas.php)
   ========================================================================== */
@media (max-width: 800px) {
	.m35-tpl-page-delivery-areas .m35-delivery-list {
		grid-template-columns: 1fr !important;
	}

	.m35-tpl-page-delivery-areas .m35-info-grid {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 480px) {
	.m35-tpl-page-delivery-areas .m35-closing-cta {
		padding: 60px 20px;
	}

	.m35-tpl-page-delivery-areas .m35-cta-buttons {
		flex-direction: column;
		gap: 12px;
	}

	.m35-tpl-page-delivery-areas .m35-btn-primary-cta, .m35-tpl-page-delivery-areas .m35-btn-secondary-cta {
		width: 100%;
		text-align: center;
	}
}

/* ==========================================================================
   Product archive / shop  (from woocommerce/archive-product.php)
   ========================================================================== */
@media (min-width: 1600px) {
	.m35-tpl-archive-product .m35-product-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (max-width: 1024px) {
	.m35-tpl-archive-product .m35-main-container {
		padding: 30px 40px;
		max-width: 1240px;
	}

	.m35-tpl-archive-product .m35-product-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 32px;
	}

	.m35-tpl-archive-product .m35-stockCard {
		padding: 24px;
	}

	.m35-tpl-archive-product .m35-hero__title {
		font-size: 52px;
	}

	.m35-tpl-archive-product .m35-archive-head {
		margin-bottom: 40px;
	}
}

@media (max-width: 900px) {
	.m35-tpl-archive-product .m35-main-container {

	}
}

@media (max-width: 768px) {
	.m35-tpl-archive-product .m35-main-container {
		padding: 25px 25px;
	}

	.m35-tpl-archive-product .m35-product-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}

	.m35-tpl-archive-product .m35-hero__content {
		padding: 30px;
	}

	.m35-tpl-archive-product .m35-archive-head {
		margin-bottom: 30px;
	}

	.m35-tpl-archive-product .m35-archive-subtitle {
		font-size: 16px;
		line-height: 1.75;
	}

	.m35-tpl-archive-product .m35-stockCard {
		padding: 20px;
	}

	.m35-tpl-archive-product .m35-stockImgWrap {
		height: auto;
		margin-bottom: 1px;
	}
}

@media (max-width: 480px) {
	.m35-tpl-archive-product .m35-main-container {
		padding: 20px 15px;
	}

	.m35-tpl-archive-product .m35-product-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.m35-tpl-archive-product .m35-hero {
		min-height: 280px;
	}

	.m35-tpl-archive-product .m35-hero__title {
		font-size: 40px;
	}

	.m35-tpl-archive-product .m35-hero__content {
		padding: 20px;
	}

	.m35-tpl-archive-product .m35-archive-head {
		margin-bottom: 26px;
	}

	.m35-tpl-archive-product .m35-archive-title {
		font-size: 38px;
	}
}

/* ==========================================================================
   Single product  (from woocommerce/single-product.php)
   ========================================================================== */
@media (max-width: 600px) {
	.m35-tpl-single-product #review_form_wrapper, .m35-tpl-single-product #respond.comment-respond {
		padding: 25px 20px !important;
		border-radius: 16px !important;
	}

	.m35-tpl-single-product #respond .comment-reply-title {
		font-size: 20px !important;
	}

	.m35-tpl-single-product #respond .comment-form-rating .stars a {
		font-size: 28px !important;
	}

	.m35-tpl-single-product .form-submit {
		text-align: center !important;
	}

	.m35-tpl-single-product .form-submit input[type="submit"], .m35-tpl-single-product .form-submit button[type="submit"] {
		width: 100% !important;
		padding: 16px !important;
	}

	.m35-tpl-single-product .wcpr-selected-image-container > div {
		width: 75px !important;
		height: 75px !important;
	}

	.m35-tpl-single-product .wcpr-selected-image-container input[type="text"], .m35-tpl-single-product .wcpr-image-caption-input {
		width: 75px !important;
	}
}

@media (max-width: 768px) {
	.m35-tpl-single-product .m35-product-gallery .flex-control-nav.flex-control-thumbs li {
		width: calc(33.33% - 7px) !important;
	}

	.m35-tpl-single-product .m35-product-gallery .flex-control-nav.flex-control-thumbs li img {
		height: 65px !important;
	}
}

@media (max-width: 1024px) {
	.m35-tpl-single-product .m35-container {
		padding: 30px 40px;
	}

	.m35-tpl-single-product .m35-product-main {
		gap: 40px;
		padding: 40px;
	}

	.m35-tpl-single-product .m35-product-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}

	.m35-tpl-single-product .m35-reviews-wrap {
		padding: 40px;
	}
}

@media (max-width: 991px) {
	.m35-tpl-single-product .m35-product-main {
		grid-template-columns: 1fr;
	}

	.m35-tpl-single-product .m35-product-title {
		font-size: 32px;
	}

	.m35-tpl-single-product .m35-product-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.m35-tpl-single-product .m35-container {
		padding: 25px 25px;
	}

	.m35-tpl-single-product .m35-product-main {
		padding: 25px;
	}

	.m35-tpl-single-product .m35-reviews-wrap {
		padding: 25px;
	}
}

@media (max-width: 480px) {
	.m35-tpl-single-product .m35-container {
		padding: 20px 15px;
	}

	.m35-tpl-single-product .m35-product-grid {
		grid-template-columns: 1fr;
	}

	.m35-tpl-single-product .m35-product-info .single_add_to_cart_button {
		max-width: 100%;
	}

	.m35-tpl-single-product .m35-product-main {
		border-radius: 14px;
	}

	.m35-tpl-single-product .m35-reviews-wrap {
		border-radius: 14px;
		padding: 20px;
	}
}

@media (max-width: 480px) {
	.m35-tpl-single-product .m35-tab-btn {
		padding: 12px 16px;
		font-size: 14px;
	}

	.m35-tpl-single-product .m35-tab-panel {
		padding: 25px 0;
	}
}


/* ==========================================================================
   Footer column collapse
   Mirrors the desktop rules above at the same specificity, so the 2-column and
   1-column steps still win.
   ========================================================================== */
@media (max-width: 991px) {

	.m35-footer .m35-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 24px;
	}

	.m35-footer .m35-footer-col {
		grid-row: auto;
	}
}

@media (max-width: 640px) {

	.m35-footer .m35-footer-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.m35-footer .m35-footer-col {
		grid-row: auto;
	}
}

/* ==========================================================================
   Product category content blocks
   ========================================================================== */
@media (max-width: 768px) {

	.m35d-cat-seo {
		padding: 0 25px;
	}
}

@media (max-width: 480px) {

	.m35d-cat-seo {
		padding: 0 15px;
	}
}

/* ==========================================================================
   WPCode Headers & Footers - migrated media queries
   --------------------------------------------------------------------------
   Moved out of the WPCode plugin so the theme owns it. This layer is last on
   purpose: it used to print from wp_head/wp_footer and override everything
   before it, and it leans heavily on !important. Keeping it last preserves
   that. Nothing was removed; only rules already identical in the theme were
   left out, because re-declaring them has no effect.
   ========================================================================== */

@media (max-width: 900px) {
	.m35-service-area {
		display: none;
	}

	.m35-right-group {
		flex-grow: 1;
		justify-content: flex-end;
	}
}

@media (max-width: 800px) {
	.m35d-cat-related {
		gap: 6px 2px;
	}

	.m35zip-checkout>div {
		padding: 8px 8px 8px 8px !important;
	}

	.m35zip-archive .mind35dup-zip-toggle-wrap {
		padding: 8px 8px 8px 8px !important;
	}

	.m35zip-archive>div>div {
		padding: 8px 8px 8px 8px !important;
	}

	.m35-zip-container {
		padding: 25px 5px 10px 5px !important;
	}

	.m35-archive-title {
		font-size: 30px !important;
	}

	.woocommerce form .form-row-first, .woocommerce form .form-row-last, .woocommerce-page form .form-row-first, .woocommerce-page form .form-row-last {
		width: 100% !important;
	}

	#customer_details.col2-set {
		width: 100% !important;
		float: none!important;
		margin-right: .347826087%;
		display: grid!important;
	}

	.m35-id-verification-wrap .form-row {
		grid-column: span 2 !important;
	}

	.m35-cart-count {
		top: -5px !important;
		right: 4px !important;
	}

	.woocommerce-message, .woocommerce-error, .woocommerce-info {
		display: block;
		padding: 16px 16px 16px 46px !important;
		font-size: 15px;
	}

	.woocommerce-message::before, .woocommerce-error::before, .woocommerce-info::before {
		left: 16px !important;
		top: 18px !important;
		transform: none;
	}

	.woocommerce-message .button, .woocommerce-error .button, .woocommerce-info .button {
		display: inline-flex !important;
		margin: 14px 0 0 !important;
		width: auto;
	}
}

@media (max-width: 600px) {
	.m35-product-title {
		font-size: 22px !important;
	}

	.m35d-cat-seo {
		padding: 0 0px !important;
	}

	.m35-header {
		padding: 0px 0 10px 0 !important;
		gap: 5px !important;
	}

	.m35-brand img {
		max-height: 50px;
	}

	.m35-right-group {
		gap: 12px;
	}

	.m35-phone-prefix {
		display: none;
	}

	.m35-phone-cta {
		font-size: 0.9rem;
		gap: 4px;
	}

	.m35-phone-cta svg {
		width: 14px;
		height: 14px;
	}

	.m35-divider {
		margin: 0;
	}

	.m35-actions {
		gap: 12px;
	}

	.m35-icon-btn svg {
		width: 24px;
		height: 24px;
	}

	.m35-menu-btn {
		padding: 6px 12px;
		font-size: 0.85rem;
	}
}

@media (max-width: 400px) {
	.m35-header {
		padding: 0px 0 10px 0 !important;
		gap: 5px !important;
	}

	.m35-brand img {
		max-height: 50px;
	}

	.m35-phone-cta {
		font-size: 0.8rem;
	}

	.m35-right-group, .m35-actions {
		gap: 8px;
	}

	.m35-menu-btn {
		padding: 6px 10px;
	}
}

/* ==========================================================================
   Recovered from the original functions.php inline <style> blocks - media queries
   --------------------------------------------------------------------------
   The minimum-order popup, the post/support related-links block and the
   category related-links line all carried their CSS inline inside
   functions.php. The first extraction pass only walked template files, so
   these were lost and the popup rendered unstyled. Restored verbatim.
   ========================================================================== */

@media (max-width: 767px) {
	#mind35-minimum-popup {
		padding: 34px 22px 24px;
	}

	#mind35-minimum-popup h3 {
		font-size: 25px;
	}

	#mind35-minimum-popup p {
		font-size: 15px;
	}

	.mind35-popup-buttons {
		flex-direction: column;
	}

	.mind35-popup-buttons a {
		width: 100%;
	}
}

@media (max-width:768px) {
	.m35d-support-links-inner {
		padding:0 25px;
	}
}

@media (max-width:480px) {
	.m35d-support-links-inner {
		padding:0 15px;
	}
}

/* ==========================================================================
   Popup and footer - responsive counterparts to the authoritative desktop
   rules. Same specificity and !important so these still win on small screens.
   ========================================================================== */
@media (max-width: 991px) {

	body .m35-footer .m35-footer-top .m35-footer-container .m35-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 28px 24px !important;
	}

	body .m35-footer .m35-footer-top .m35-footer-container .m35-footer-grid > .m35-footer-col {
		grid-row: auto !important;
	}
}

@media (max-width: 640px) {

	body .m35-footer .m35-footer-top .m35-footer-container .m35-footer-grid {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}

	body .m35-footer .m35-footer-top .m35-footer-container .m35-footer-grid > .m35-footer-col {
		grid-row: auto !important;
	}
}

@media (max-width: 480px) {

	#mind35-minimum-popup {
		padding: 30px 22px 26px !important;
	}

	#mind35-minimum-popup h3 {
		font-size: 24px !important;
	}

	#mind35-minimum-popup p {
		font-size: 15px !important;
		margin-bottom: 22px !important;
	}

	.mind35-popup-buttons {
		flex-direction: column !important;
		gap: 10px !important;
	}

	.mind35-popup-buttons a {
		width: 100% !important;
	}
}
