/*
 Theme Name:   Orto Associazione theme - V2
 Theme URI:    https://orto.ch
 Description:  Custom WordPress theme for Orto Associazione - version 2.0, April 2026 update. Built on GeneratePress, with a focus on improved mobile responsiveness, enhanced product listing design, and optimized user experience across all devices.
 Author:       Matt Bedford
 Author URI:   https://mattbedford.com
 Template:     generatepress
 Version:      2.1
 License:      GNU General Public License v2 or later
 License URI:  https://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  orto-associazione-theme
*/

/*helpers*/
.white-glow {
	filter: drop-shadow(5px 1px 12px rgba(255,255,255,.4));
}
.black-glow {
	filter: drop-shadow(5px 1px 12px rgba(0,0,0,0.4));
}

@media screen and (max-width: 850px) {

	#content.site-content {
    	padding:20px;
	}
	.phone-us {
		margin:10px auto !important;
	}
	.menu-bar-items {
		margin:10px auto;
		width:95%;
	}
	.menu-bar-items #cart-counter {
		display:none;
	}
	.home-box-links h2 {
		background:var(--light-1);
		padding:4px 8px;
		color:var(--grass) !important;
	}
	.page .entry-header {
		margin-left:20px;
	}
	.filterButton {
		margin-left:5px;
		margin-top:10px;
	}
		.single-product-cpt {
		flex-direction:column;
	}
	.single-product-cpt > div,
	.viewer, .thumbs {
		flex:0 1 100%;
		width:100%;
	}
	.tab {
		display:grid;
		grid-template-columns: repeat(auto-fill, minmax(30%, 1fr));
		gap:10px;
	}
	.tab .tablinks {
		padding:10px 3px;
		font-size:16px;
	}
	.extra-product-list {
		flex-direction:column;
	}
	.box-wrapper {
		display:flex !important;
		flex-direction:column;
	}
	.box-bgr {
		min-height:300px;
	}
	#boxesWarning {
		margin:20px;
	}
	.single-list-product.recipe {
		min-width:100%;
		width:100%;
		margin: 0 !important;
	}
	.ricetta-main {
		margin: 20px 0 !important;
	}
	.ricetta-main-pic {
		min-height:unset;
	}
	.single-list-product.recipe {
		width:100% !important;
		margin:10px 0;
	}
	.single-ricetta-cpt {
		flex-direction:column;
	}
	.single-ricetta-cpt > div {
		flex:0 1 100%;
		width:100%;
	}
		.sign-up-page-main .col1 {
		display:none;
	}
	.sign-up-page-main .col2 {
		flex:0 1 100%;
		width:100%;
		padding:0;
	}
	.sign-up-page-main .form-wrapper {
		padding:0;
	}
	#sign-up-form {
		padding:20px;
	}
	#sign-up-form label {
		margin:0;
	}
	.sign-up-page-main #sign-up-form > div {
		display:flex;
		flex-direction:column;
	}
	.mkt-wrapper {
		flex-direction:row !important;
	}
	.links-box {
		margin: 0 !important;
		padding:20px;
	}
	.links-box ul {
		margin:0;
	}
	.links-box li {
		font-size:15px;
	}
	.location-select {
		flex-direction:column;
	}
	.location-select > div {
		flex:0 1 100%;
	}
	.location-select-map .map-iframe {
		max-width:100% !important;
	}
	.order-row {
		flex-direction:column;
	}
	.order-row > div {
		margin-bottom:10px;
		font-weight:600;
	}
	.order-row span {
		font-weight:400;
	}
	form#sign-up-form {
		padding:10px 0;
	}
	form#sign-up-form .double {
		flex-direction:column;
	}
	.extra-ricette-section .extra-ricetta-list {
		flex-direction:column;
	}
	.extra-ricetta-list .single-list-product.recipe {
		margin-bottom:30px !important;
	}
	.pickup-locations-wrap {
    	display:flex !important;
    	flex-direction:column !important;
	}
}

@media screen and (min-width:800px) {
	.single-list-product.recipe .slp-pic {
	    max-width:20vw;
		height:auto;
	}
}




/*Page setup*/
html, body {
	max-width:100%;
	overflow-x:hidden;
}
.one-container .site-content {
	padding-top:0 !important;
}

.page .entry-header {
	margin-top:40px;
}

/*Nav & header*/
.site-logo img {
	max-width:120px;
}
.main-navigation.has-menu-bar-items.sub-menu-right {
	border-top:1px solid var(--dark-2);
}

/*Helpers and repeat elements*/
.backlink {
	display:block;
	position:relative;
	text-decoration:none;
	font-size:15px;
	font-weight:600;
}
.backlink svg {
	width:15px;
	margin:0 0 -3px 0;
}	
.single-prodotto .backlink {
	transform:translate(0, 60px);
}

.phone-us {
	display:flex;
	min-width:200px;
	margin-right:0;
	margin-left:auto;
	align-items:center;
	background:var(--grass);
	border-radius:100px;
	padding:5px;
	text-decoration: none;
}
.phone-us svg {
	box-sizing:content-box;
	width:25px;
	height:25px;
	border-radius:100px;
	padding:8px;
	color:var(--grass);
	fill:var(--grass);
	background:var(--light-1);
	margin-right:15px;
}
.phone-us  {
	color:var(--light-1) !important;
	font-size:16px;
	text-transform:uppercase;
	font-weight:700;
	letter-spacing:1px;
}

.page .entry-title {
	display:inline-block;
	position:relative;
	z-index:1;
}
.page .entry-title h1 {
	display:inline-block;
	position:relative;
	z-index:5 !important;
}
.page .entry-header::before {
	display:block;
	width:1em;
	height:1em;
	position:relative;
	top:1em;
	left:-1.2em;
	content:'';
	background:var(--grass);
	z-index:2;
}
.page .entry-header::after {
	display:block;
	width:.7em;
	height:.7em;
	position:relative;
	top:-1.5em;
	left:-1.5em;
	content:'';
	background:var(--pink);
	z-index:2;
}







/*Home*/
.home-product-list {
	display:grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap:2rem;
}

/*Product list display — card design 2026-04*/
.single-list-product {
	position:relative;
	display:flex;
	flex-direction:column;
	background:var(--light-1);
	border:2px solid transparent;
	border-radius:12px;
	padding:20px;
	box-shadow:
		0.6px 0.4px 2.2px rgba(0, 0, 0, 0.014),
		1.3px 1px 5.3px rgba(0, 0, 0, 0.02),
		2.5px 1.9px 10px rgba(0, 0, 0, 0.025),
		4.5px 3.4px 17.9px rgba(0, 0, 0, 0.03),
		8.4px 6.3px 33.4px rgba(0, 0, 0, 0.036),
		20px 15px 80px rgba(0, 0, 0, 0.05);
	transition:border-color 0.15s ease;
}
.single-list-product a {
	text-decoration:none;
	color:inherit;
}

/* "1 nel tuo box" pill — only shown when card is .got */
.slp-in-box-pill {
	display:none;
	position:absolute;
	top:-11px;
	left:50%;
	transform:translateX(-50%);
	background:var(--kiss);
	color:var(--light-1);
	font-family:Mulish, sans-serif;
	font-size:12px;
	font-weight:600;
	padding:3px 12px;
	border-radius:12px;
	white-space:nowrap;
	line-height:1.4;
	z-index:2;
}
.single-list-product.got:not(.recipe) {
	border-color:var(--kiss);
}
.single-list-product.got:not(.recipe) .slp-in-box-pill {
	display:inline-block;
}

.slp-link {
	display:block;
}
.slp-title {
	font-family:Mulish, sans-serif;
	font-size:16px;
	font-weight:800;
	color:var(--dark-1);
	margin:0 0 16px;
	line-height:1.3;
}
.slp-unit {
	font-weight:400;
	color:var(--mid-grey);
	font-size:14px;
}

.slp-image-wrap {
	display:flex;
	align-items:center;
	justify-content:center;
	height:140px;
	margin-bottom:8px;
}
.slp-image-wrap .slp-pic {
	position:static;
	transform:none;
	left:auto;
	width:auto;
	max-width:100%;
	max-height:100%;
	height:auto;
	object-fit:contain;
}

.slp-divider {
	border:0;
	border-top:1px solid var(--dark-2);
	margin:0 0 14px;
	opacity:0.6;
}

.slp-bottom {
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:10px;
}
.slp-price {
	font-family:Mulish, sans-serif;
	font-size:16px;
	font-weight:800;
	color:var(--dark-1);
	margin:0;
}

/* Action row — + button, +/- stepper, heart */
.product-actions {
	display:flex;
	align-items:center;
	gap:8px;
}
.add-product-button,
.qty-minus,
.qty-plus,
.like-product-button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:36px;
	height:36px;
	border:none;
	border-radius:6px;
	cursor:pointer;
	padding:0;
	transition:background 0.15s ease;
}
.add-product-button svg,
.qty-minus svg,
.qty-plus svg,
.like-product-button svg {
	width:18px;
	height:18px;
}

.add-product-button {
	background:var(--grass);
	color:var(--light-1);
}
.add-product-button:hover { background:var(--olive); }
.add-product-button svg { stroke:var(--light-1); }
.add-product-button.go-to-login { text-decoration:none; }

.qty-stepper {
	display:none;
	align-items:center;
	gap:4px;
}
.single-list-product.got:not(.recipe) .qty-stepper { display:inline-flex; }
.single-list-product.got:not(.recipe) .add-product-button { display:none; }

.qty-minus,
.qty-plus {
	background:var(--kiss);
	color:var(--light-1);
}
.qty-minus:hover,
.qty-plus:hover { background:#a87874; }
.qty-minus svg,
.qty-plus svg { stroke:var(--light-1); }

.qty-count {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:28px;
	height:36px;
	padding:0 8px;
	color:var(--dark-1);
	font-family:Mulish, sans-serif;
	font-weight:700;
	font-size:15px;
}

/* Heart background is pinned across all states so GeneratePress's site-wide
   button:focus { background: var(--olive) } can't repaint it after a click.
   Keyboard focus is still announced via the browser's default outline. */
.like-product-button,
.like-product-button:hover,
.like-product-button:focus,
.like-product-button:active {
	background:var(--sand);
}
.like-product-button svg { fill:var(--light-1); transition:fill 0.15s ease; }
.like-product-button.favorite svg,
.single-list-product.favorite .like-product-button svg { fill:var(--kiss); }

/* Unavailable state */
.single-list-product.unavailable .slp-pic {
	filter:grayscale(1) brightness(0.95) opacity(0.55);
}
.single-list-product.unavailable .add-product-button {
	background:var(--dark-2);
	pointer-events:none;
}
.single-list-product.unavailable::before {
	display:block;
	position:absolute;
	width:calc(100% - 40px);
	content:'Non disponibile al momento';
	top:14px;
	background:var(--light-1);
	left:50%;
	transform:translateX(-50%);
	text-align:center;
	font-size:13px;
	font-weight:600;
	color:var(--mid-grey);
	z-index:10;
	border-radius:4px;
	padding:4px 8px;
	opacity:0.92;
}

/* Recipe variant — keeps the existing slp-pic / slp-texts markup */
.single-list-product.recipe {
	padding:0;
}
.single-list-product.recipe a {
	display:block;
	margin-bottom:40px;
}
.single-list-product.recipe .slp-pic {
	position:relative;
	left:50%;
	transform:translateX(-50%);
	height:auto;
	width:100%;
	border-radius:10px 10px 0 0;
}
.single-list-product.recipe .slp-texts {
	padding:0 20px;
}
.single-list-product.recipe .slp-texts h4 {
	font-size:16px;
	line-height:1em;
	margin-top:10px;
	margin-bottom:0;
	color:var(--dark-1);
}
.single-list-product.recipe .slp-texts p {
	font-weight:600;
	font-size:14px;
	color:var(--dark-1);
}
.single-prodotto .recipe .slp-pic {
	min-height:260px;
	border-radius:6px 6px 0 0;
}
@supports(object-fit:contain) {
	.single-prodotto .recipe .slp-pic {
		object-fit: contain;
		object-position: top;
	}
}


/*Locations*/
.pickup-locations-wrap {
	display:grid;
	grid-template-columns: repeat(auto-fill, minmax(30%, 1fr));
	gap:14px;
}
.pickup-location-single {
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	background:var(--grass);
	border-radius:12px;
	/* Pods template ships an inline padding:15px;text-align:center on the wrapper —
	   override here so the card has consistent breathing room and left-aligned text. */
	padding:22px !important;
	text-align:left !important;
}
.pickup-location-single > * {
	margin:0;
	color:var(--light-1);
	text-align:left;
	font-family:Mulish, sans-serif;
}
.pickup-location-single > h3 {
	display:flex;
	align-items:center;
	gap:8px;
	font-size:18px;
	font-weight:800;
	line-height:1.25;
	margin:0 0 8px;
	padding:0;
	border:0;
}
.pickup-location-single > h3 .gb-icon {
	display:inline-flex;
	font-size:14px;
	opacity:0.9;
}
.pickup-location-single > h3 svg {
	width:14px;
	height:14px;
}
.pickup-location-single > p {
	font-size:14px;
	line-height:1.45;
	opacity:0.9;
	margin:0 0 14px;
}
.pickup-location-single > h6 {
	display:inline-block;
	background:rgba(255,255,255,0.14);
	color:var(--light-1);
	font-size:12px;
	font-weight:600;
	padding:7px 12px;
	margin:0 0 10px;
	border-radius:8px;
	letter-spacing:0.01em;
}
.pickup-hours {
	display:inline-flex;
	align-items:flex-start;
	gap:8px;
	background:var(--lemon);
	color:var(--dark-1) !important;
	font-size:13px;
	font-weight:700;
	padding:8px 14px;
	border-radius:8px;
	letter-spacing:0.01em;
	line-height:1.45;
}
.pickup-hours .gb-icon {
	display:inline-flex;
	color:var(--grass);
	margin-top:2px;
}
.pickup-hours svg {
	width:13px;
	height:13px;
	margin:0;
}
/* {@orario} is rich text — Pods wraps each line in a <p>, which inherits the
   site-wide paragraph margin and bloats the pill vertically. Strip it. */
.pickup-hours p,
.pickup-hours .gb-headline-text,
.pickup-hours .gb-headline-text > * {
	margin:0 !important;
	padding:0 !important;
}


/*Recipes*/
.ricetta-template-default .site-content {
	margin-top:60px;
}

.archive-ricetta-list {
	display:grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap:2rem;
	margin:40px 0;
}

.archive-ricetta-list .slp-pic {
	width:100%;
	height:auto;
	border-radius: 10px 10px 0 0;
}
@supports(object-fit: cover) {
	.archive-ricetta-list .slp-pic {
	object-fit:cover;
	height:200px;
	}
}
.single-list-product.recipe {
	position:relative;
	width: 250px;
}
.recipe-link {
	display:flex;
	align-items:center;
	justify-content:center;
	position:absolute;
	width:45px;
	padding:5px;
	height:45px;
	bottom:0;
	right:0;
	background:var(--grass);
	border-radius: 10px 0 10px 0;
	
}
.recipe-link svg {
	width:20px;
	color:var(--light-1);
}
@media screen and (min-width:850px) {
	.single-ricetta .extra-product-list .single-list-product {
		max-width:24%;
	}
}
/*Boxes page*/
.box-header h1 {
	position:relative;
	right:-40px;
}
.box-header h1::before {
	display:block;
	width:1em;
	height:1em;
	position:relative;
	top:1em;
	left:-1.2em;
	content:'';
	background:var(--grass);
	z-index:2;
}
.box-header h1::after {
	display:block;
	width:.7em;
	height:.7em;
	position:relative;
	top:-1.5em;
	left:-1.5em;
	content:'';
	background:var(--pink);
	z-index:2;
}
#boxesWarning h5 {
	display:inline-block;
	position:relative;
	left:50%;
	transform:translateX(-50%);
	font-size:14px;
	font-weight:400;
	text-align:center;
	background:var(--light-2);
	padding:8px;
	color:#555;
	border-radius:6px;
}

/*Footer*/
.footer-logo {
	width:160px;
}
.wp-block-social-links {
	display:flex;	
}
.wp-block-social-links li svg {
	width:40px;
	height:40px;
	fill:var(--grass);
}
.gb-headline-6459e23e {
	margin:0;
}
#block-20 {
	margin-top:-20px;
}
#block-20 * {
	font-size:15px;
	color:var(--grass);
	text-decoration:none;
}


/*PARTNER LOGOS*/

.partner-brands {
	display: grid;
  	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  	gap: 2rem;
	max-width:1200px;
	margin:0 auto;
}
.single-partner {
	display:flex;
	position:relative;
	padding-bottom:60px;
	flex-direction:column;
	background-color:var(--light-1);
	border-radius:10px 10px 10px 10px;
	box-shadow: 0 1px 1px hsl(0deg 0% 0% / 0.075),
			  0 2px 2px hsl(0deg 0% 0% / 0.075),
			  0 4px 4px hsl(0deg 0% 0% / 0.075),
			  0 8px 8px hsl(0deg 0% 0% / 0.075),
			  0 16px 16px hsl(0deg 0% 0% / 0.075);
}
.single-partner a {
	text-decoration:none;
}
span.partner-link {
	display:block;
	position:absolute;
	bottom:0;
	right:0;
	width:50px;
	height:50px;
	background:var(--grass);
	margin-left:auto;
	padding:5px;
	border-radius:10px 0 10px 0
}
.single-partner svg {
	color:white;
}
.single-partner .partner-texts {
	padding:20px;
	color:var(--dark-1);
}
.partner-logo {
	max-height:280px;
	width:100%;
	min-width:100%;
	padding:20px;
	
}
@supports (object-fit:contain) {
	.single-partner img {
		height:100%;
		object-fit:contain;
	}
}

/*bgr-color on home*/
@media screen and (max-width:850px) {
	body.home .site-content {
		background:var(--light-sand) !important;
	}
}


/*Single product page
  Page-specific layout + the legacy/new tab selectors.
  Tabs ship two name conventions: legacy DB-stored Pods template (.tablinks/.tabcontent/.valori-list/.lo-sapevi-list/.season-tags)
  and the new template at /docs/pods-templates/single-product-bottom-section.html
  (.product-tabs/.product-tab/.product-tab-panel). Both styled here so the visual
  stays consistent during the cutover window.*/
.single-prodotto .site-content {
	flex-direction:column;
}

.single-product-cpt {
	display:flex;
	justify-content:space-between;
	gap:40px;
	margin-top:80px;
}

.product-gallery {
	display:flex;
	flex:0 1 50%;
	flex-direction:column;
}
.product-gallery .viewer {
	display:flex;
	align-items:center;
	justify-content:center;
	background:var(--light-1);
	border-radius:12px;
	height:60vh;
	overflow:hidden;
	box-shadow:
		0.6px 0.4px 2.2px rgba(0, 0, 0, 0.014),
		1.3px 1px 5.3px rgba(0, 0, 0, 0.02),
		2.5px 1.9px 10px rgba(0, 0, 0, 0.025),
		4.5px 3.4px 17.9px rgba(0, 0, 0, 0.03),
		8.4px 6.3px 33.4px rgba(0, 0, 0, 0.036),
		20px 15px 80px rgba(0, 0, 0, 0.05);
}
.product-gallery .viewer img {
	max-width:100%;
	max-height:100%;
	width:auto;
	height:auto;
	object-fit:contain;
	transition:opacity 0.2s ease-in-out;
}
.product-gallery .thumbs {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-top:14px;
}
.product-gallery .thumbs img {
	width:72px;
	height:72px;
	border:2px solid transparent;
	border-radius:8px;
	cursor:pointer;
	object-fit:cover;
	transition:border-color 0.15s ease;
}
.product-gallery .thumbs img.is-active,
.product-gallery .thumbs img:hover {
	border-color:var(--grass);
}
.product-gallery.unavailable .viewer img,
.product-gallery.unavailable .thumbs img {
	filter:grayscale(1) brightness(1.05) opacity(0.6);
}

.product-main {
	display:flex;
	flex:0 1 50%;
	flex-direction:column;
}
.product-main .product-title {
	font-family:Mulish, sans-serif;
	font-size:32px;
	font-weight:800;
	color:var(--dark-1);
	line-height:1.15;
	margin:0 0 16px;
}
.product-main .product-description {
	color:var(--mid-grey);
	font-size:16px;
	line-height:1.5;
	margin-bottom:24px;
}
.product-main .product-description p:last-child {
	margin-bottom:0;
}
.product-main .product-price {
	font-family:Mulish, sans-serif;
	font-size:24px;
	font-weight:800;
	color:var(--dark-1);
	margin:0 0 20px;
}
.product-main .product-price .product-price-unit {
	color:var(--mid-grey);
	font-size:16px;
	font-weight:400;
	margin-left:6px;
}

.product-actions-row {
	display:flex;
	align-items:center;
	gap:12px;
	margin-bottom:14px;
}

.product-add-cta {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	background:var(--grass);
	color:var(--light-1);
	font-family:Mulish, sans-serif;
	font-size:16px;
	font-weight:700;
	padding:14px 24px;
	border:0;
	border-radius:8px;
	cursor:pointer;
	transition:background 0.15s ease;
}
.product-add-cta:hover { background:var(--olive); }
.product-add-cta svg { width:18px; height:18px; stroke:var(--light-1); }

.product-main .like-product-button {
	width:46px;
	height:46px;
}
.product-main .like-product-button svg {
	width:22px;
	height:22px;
}

.product-in-box {
	display:none;
	align-items:center;
	align-self:flex-start;
	background:var(--kiss);
	color:var(--light-1);
	font-family:Mulish, sans-serif;
	font-size:13px;
	font-weight:600;
	padding:6px 14px;
	border-radius:12px;
}
.product-in-box.got {
	display:inline-flex;
}

.product-main .unavailable-message {
	display:inline-block;
	background:var(--sand);
	color:var(--dark-1);
	font-family:Mulish, sans-serif;
	font-size:14px;
	font-weight:600;
	padding:10px 16px;
	border-radius:8px;
}

/* Tabs — legacy + new selectors share the same look */
.product-information,
.product-tabs-wrap {
	background:var(--light-2);
	border-radius:12px;
	margin-top:40px;
	padding:0;
}
.tab,
.product-tabs {
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	padding:8px;
}
.tablinks,
.product-tab {
	background:var(--dark-2);
	color:var(--dark-1);
	font-family:Mulish, sans-serif;
	font-size:15px;
	font-weight:700;
	padding:10px 18px;
	border:0;
	border-radius:8px;
	cursor:pointer;
	transition:background 0.15s ease, color 0.15s ease;
}
.tablinks.active,
.product-tab.is-active,
.product-tab[aria-selected="true"] {
	background:var(--grass);
	color:var(--light-1);
}
.tabcontent,
.product-tab-panel {
	min-height:200px;
	padding:30px 40px;
}
.tabcontent h3,
.product-tab-panel h3 {
	margin-top:0;
}
.product-tab-panel[hidden] {
	display:none;
}

.valori-list {
	display:inline-block;
	background:var(--lemon);
	color:var(--dark-1);
	padding:18px 22px;
	border-radius:8px;
}
.valori-list ul { margin-left:15px; }

.lo-sapevi-list {
	margin:0;
	padding-left:0;
	list-style:none;
}
.lo-sapevi-list span,
.lo-sapevi-list li {
	display:block;
	background:var(--lemon);
	color:var(--dark-1);
	font-size:15px;
	line-height:1.5;
	padding:12px 16px;
	margin:0 0 10px;
	border-radius:10px;
}

.months-list {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:0;
	padding-left:0;
	list-style:none;
}
.season-tags,
.season-tag {
	display:inline-block;
	background:var(--lemon);
	color:var(--dark-1);
	font-family:Mulish, sans-serif;
	font-size:14px;
	font-weight:700;
	padding:8px 14px;
	border-radius:8px;
	min-width:90px;
	text-align:center;
}

.extra-products-section { padding:60px 0; }
.extra-products-section h2 { text-align:center; }
.extra-product-list {
	display:grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap:24px;
	margin:30px 0;
}

@media screen and (max-width:850px) {
	.single-product-cpt {
		gap:20px;
		margin-top:30px;
	}
	.product-gallery .viewer { height:45vh; }
	.product-main .product-title { font-size:26px; }
	.product-main .product-price { font-size:22px; }
	.product-tabs { gap:4px; }
	.product-tab { padding:10px 12px; font-size:14px; }
	.tabcontent,
	.product-tab-panel { padding:20px; }
}