/**
 * Tech Market Shop — flavour pages and combos.
 * Reuses the tokens and behaviours declared in shop.css.
 */

/* ---------------------------------------------------------------- flavours */

.tech-flavors {
	padding-block: 8px 40px;
}

.tech-flavors__hero {
	max-width: 720px;
	margin-bottom: 26px;
}

.tech-flavors__intro {
	margin: 14px 0 0;
	color: #555;
	font-size: 15px;
	line-height: 1.6;
}

.tech-flavors__nav {
	display: flex;
	gap: 10px;
	margin-bottom: 26px;
	padding-bottom: 6px;
	overflow-x: auto;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}

.tech-flavors__nav::-webkit-scrollbar {
	height: 4px;
}

.tech-flavors__nav::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: #ddd;
}

.tech-flavors__pill {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 8px;
	min-height: 42px;
	padding: 9px 16px;
	border: 1px solid var(--tms-border);
	border-radius: 999px;
	background: #fff;
	color: var(--tms-text);
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease;
}

.tech-flavors__pill:hover {
	border-color: #bdbdbd;
	transform: translateY(-1px);
}

.tech-flavors__pill i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--tms-pill-accent, var(--tms-red));
}

.tech-flavors__pill b {
	min-width: 20px;
	padding: 2px 6px;
	border-radius: 999px;
	background: var(--tms-surface);
	color: #6b6b6b;
	font-size: 11px;
	font-weight: 700;
	text-align: center;
}

.tech-flavors__pill.is-active {
	border-color: #000;
	background: #000;
	color: #fff;
}

.tech-flavors__pill.is-active i {
	background: var(--tms-pill-accent, #fff);
}

.tech-flavors__pill.is-active b {
	background: rgb(255 255 255 / 16%);
	color: #fff;
}

.tech-flavors__banner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 22px;
	padding: 28px 30px;
	border: 1px solid var(--tms-border);
	border-radius: 16px;
	background: #fff;
	background:
		radial-gradient(120% 160% at 0% 0%, color-mix(in srgb, var(--tms-banner-accent) 16%, #fff) 0%, #fff 62%);
}

.tech-flavors__eyebrow {
	margin: 0 0 6px;
	color: var(--tms-banner-accent, var(--tms-red));
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.tech-flavors__banner h2 {
	margin: 0;
	font-size: clamp(24px, 3vw, 34px);
	font-weight: 750;
	line-height: 1.1;
}

.tech-flavors__tagline {
	margin: 8px 0 0;
	color: #565656;
	font-size: 14px;
	line-height: 1.55;
}

.tech-flavors__banner-count {
	margin: 12px 0 0;
	color: var(--tms-muted);
	font-size: 12px;
	font-weight: 600;
}

.tech-flavors__cta {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 12px 20px;
	border-radius: 999px;
	background: #000;
	color: #fff;
	font-size: 13px;
	font-weight: 650;
	text-decoration: none;
	transition: background .2s ease;
}

.tech-flavors__cta:hover {
	background: var(--tms-banner-accent, var(--tms-red));
}

.tech-flavors__cta svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.tech-flavors__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.tech-flavors__sort select {
	min-height: 38px;
	padding: 8px 30px 8px 12px;
	border: 1px solid var(--tms-border);
	border-radius: 999px;
	background: #fff;
	color: var(--tms-text);
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
}

.tech-flavors__results {
	position: relative;
	transition: opacity .2s ease;
}

.tech-flavors__results[aria-busy="true"] .tech-flavors__grid {
	opacity: .35;
	pointer-events: none;
}

.tech-flavors__grid {
	display: grid;
	grid-template-columns: repeat(var(--tms-columns, 4), minmax(0, 1fr));
	gap: 26px 20px;
}

.tech-shop-card__flavors {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 8px;
	margin: 6px 0 0;
	color: #6d6d6d;
	font-size: 11px;
	line-height: 1.4;
}

.tech-shop-card__flavors b {
	color: var(--tms-text);
	font-weight: 700;
}

.tech-shop-card__flavors span::after {
	content: "·";
	margin-left: 8px;
	color: #c9c9c9;
}

.tech-shop-card__flavors span:last-child::after {
	content: "";
	margin: 0;
}

/* ----------------------------------------------------------------- combos */

.tms-combo {
	margin: 32px 0;
	padding: 22px;
	border: 1px solid var(--tms-border);
	border-radius: 18px;
	background: #fff;
	box-sizing: border-box;
	container-type: inline-size;
}

/* O widget de shortcode já controla sua própria posição no Elementor. */
.tms-combo-shortcode > .tms-combo {
	margin-top: 0;
}

.tms-combo *,
.tms-combo *::before,
.tms-combo *::after {
	box-sizing: border-box;
}

.tms-combo__header {
	margin-bottom: 16px;
}

.tms-combo__title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 20px;
	font-weight: 750;
	line-height: 1.15;
}

.tms-combo__title span[aria-hidden] {
	font-size: 18px;
}

.tms-combo__tiers {
	margin: 6px 0 0;
	color: #6b6b6b;
	font-size: 12px;
	line-height: 1.5;
}

.tms-combo__tiers strong {
	color: var(--tms-text);
}

.tms-combo__items {
	display: flex;
	flex-direction: column;
}

.tms-combo__row {
	display: grid;
	grid-template-columns: 20px 54px minmax(0, 1fr);
	align-items: start;
	gap: 10px 12px;
	padding: 16px 0;
	border-top: 1px solid var(--tms-border);
}

.tms-combo__row:first-child {
	border-top: 0;
}

.tms-combo__row.is-off {
	opacity: .45;
}

.tms-combo__row.is-off .tms-combo__thumb img {
	filter: grayscale(1);
}

.tms-combo__toggle {
	position: relative;
	display: inline-flex;
	grid-column: 1;
	grid-row: 1;
	align-self: center;
	width: 20px;
	height: 20px;
	cursor: pointer;
}

.tms-combo__toggle input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.tms-combo__toggle span[aria-hidden] {
	display: block;
	width: 20px;
	height: 20px;
	border: 1.5px solid #c9c9c9;
	border-radius: 5px;
	background: #fff;
	transition: background .15s ease, border-color .15s ease;
}

.tms-combo__toggle input:checked + span[aria-hidden] {
	border-color: #000;
	background: #000;
}

.tms-combo__toggle input:checked + span[aria-hidden]::after {
	content: "";
	display: block;
	width: 5px;
	height: 9px;
	margin: 3px 0 0 6px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.tms-combo__toggle input:disabled + span[aria-hidden] {
	border-color: #000;
	background: #000;
	opacity: .85;
}

.tms-combo__thumb {
	display: block;
	grid-column: 2;
	grid-row: 1;
	width: 54px;
	height: 54px;
	border: 1px solid var(--tms-border);
	border-radius: 10px;
	overflow: hidden;
}

.tms-combo__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.tms-combo__info {
	display: contents;
	min-width: 0;
}

.tms-combo__name {
	display: block;
	grid-column: 3;
	grid-row: 1;
	align-self: start;
	min-width: 0;
	margin: 0;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.35;
}

.tms-combo__name a {
	display: block;
	color: inherit;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.tms-combo__main-badge {
	display: inline-flex;
	margin-top: 5px;
	padding: 2px 7px;
	border-radius: 999px;
	background: var(--tms-surface);
	color: #6b6b6b;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.tms-combo__variation select {
	width: 100%;
	max-width: none;
	min-height: 42px;
	margin-top: 0;
	padding: 8px 28px 8px 10px;
	border: 1px solid var(--tms-border);
	border-radius: 8px;
	background: #fff;
	color: var(--tms-text);
	font-size: 12px;
	cursor: pointer;
}

.tms-combo__variation select:focus {
	border-color: #000;
	outline: none;
}

.tms-combo__no-variation {
	margin: 0;
	color: var(--tms-muted);
	font-size: 11px;
	line-height: 1.4;
}

.tms-combo__price {
	display: flex;
	grid-column: 2 / -1;
	grid-row: 3;
	width: 100%;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 4px 12px;
	text-align: left;
	white-space: normal;
}

.tms-combo__price strong {
	font-size: 14px;
	font-weight: 750;
}

.tms-combo__price span {
	color: var(--tms-green);
	font-size: 11px;
	font-weight: 650;
}

.tms-combo__remove {
	grid-column: 2 / -1;
	grid-row: 4;
	justify-self: start;
	padding: 6px 10px;
	border: 1px solid var(--tms-border);
	border-radius: 999px;
	background: #fff;
	color: #767676;
	font-size: 11px;
	font-weight: 600;
	cursor: pointer;
	transition: border-color .2s ease, color .2s ease;
}

.tms-combo__variation,
.tms-combo__no-variation {
	grid-column: 2 / -1;
	grid-row: 2;
	min-width: 0;
}

.tms-combo__remove:hover {
	border-color: var(--tms-red);
	color: var(--tms-red);
}

.tms-combo__summary {
	margin-top: 8px;
	padding-top: 16px;
	border-top: 1px solid var(--tms-border);
}

.tms-combo__summary-rows {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.tms-combo__summary-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	color: #6b6b6b;
	font-size: 13px;
}

.tms-combo__summary-row strong {
	color: var(--tms-text);
	font-size: 14px;
	font-weight: 700;
}

.tms-combo__summary-row.is-discount strong {
	color: var(--tms-green);
}

.tms-combo__summary-row.is-total {
	padding-top: 8px;
	border-top: 1px dashed var(--tms-border);
	color: var(--tms-text);
	font-weight: 650;
}

.tms-combo__summary-row.is-total strong {
	font-size: 20px;
	font-weight: 800;
}

.tms-combo__summary-row.is-pix strong {
	color: var(--tms-green);
}

.tms-combo__hint {
	margin: 12px 0 0;
	padding: 9px 12px;
	border-radius: 8px;
	background: #fff8e6;
	color: #8a6a12;
	font-size: 12px;
	line-height: 1.45;
}

.tms-combo__form {
	margin: 0;
}

.tms-combo__button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 46px;
	padding: 12px 18px;
	border: 0;
	border-radius: 999px;
	background: #000;
	color: #fff;
	font-size: 14px;
	font-weight: 650;
	cursor: pointer;
	transition: background .2s ease, opacity .2s ease;
}

.tms-combo__button:hover:not(:disabled) {
	background: var(--tms-red);
}

.tms-combo__button:disabled {
	background: #c4c4c4;
	cursor: not-allowed;
}

.tms-combo__button.is-loading {
	opacity: .7;
}

.tms-combo__note {
	margin: 10px 0 0;
	color: var(--tms-muted);
	font-size: 11px;
	text-align: center;
}

@media (max-width: 1180px) {
	.tech-flavors__grid {
		grid-template-columns: repeat(var(--tms-columns, 4), minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.tech-flavors__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tech-flavors__banner {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
		padding: 22px;
	}

}

@media (max-width: 767px) {
	/* O shortcode não deve herdar altura mínima ou espaçamento do widget. */
	.tms-combo-shortcode,
	.elementor-widget-shortcode:has(.tms-combo-shortcode),
	.elementor-widget-shortcode:has(.tms-combo-shortcode) > .elementor-widget-container {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}

	.tms-combo-shortcode > .tms-combo {
		margin: 0 !important;
	}

	/* Corrige contêineres novos e colunas clássicas do Elementor. */
	.e-con:has(> .elementor-widget-shortcode .tms-combo-shortcode),
	.elementor-column:has(.tms-combo-shortcode),
	.elementor-column:has(.tms-combo-shortcode) > .elementor-widget-wrap {
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		align-self: stretch !important;
		align-content: flex-start !important;
		padding-bottom: 0 !important;
	}
}

@media (max-width: 560px) {
	.tech-flavors__pill {
		min-height: 38px;
		padding: 8px 13px;
		font-size: 12px;
	}

	.tech-flavors__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px 12px;
	}

	.tms-combo {
		padding: 16px;
	}

	.tms-combo__name {
		font-size: 12px;
	}

	.tms-combo__price strong,
	.tms-combo__price span {
		line-height: 1.35;
	}

	.tms-combo__summary-row.is-total strong {
		font-size: 17px;
	}
}

@container (min-width: 700px) {
	.tms-combo__row {
		grid-template-columns: 22px 54px minmax(0, 1fr) auto auto;
		align-items: center;
		gap: 12px;
		padding: 14px 0;
	}

	.tms-combo__toggle,
	.tms-combo__thumb,
	.tms-combo__name,
	.tms-combo__variation,
	.tms-combo__no-variation,
	.tms-combo__price,
	.tms-combo__remove {
		grid-column: auto;
		grid-row: auto;
	}

	.tms-combo__info {
		display: block;
	}

	.tms-combo__name {
		display: flex;
		align-items: center;
		gap: 8px;
	}

	.tms-combo__main-badge {
		margin-top: 0;
	}

	.tms-combo__variation select {
		max-width: 260px;
		min-height: 0;
		margin-top: 6px;
	}

	.tms-combo__no-variation {
		margin-top: 4px;
	}

	.tms-combo__price {
		width: auto;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 2px;
		text-align: right;
		white-space: nowrap;
	}

	.tms-combo__remove {
		justify-self: auto;
	}
}

/* ------------------------------------------------ sectioned flavour page */

.tech-flavors {
	padding: 0 0 48px;
	background: #fff;
	color: #071932;
	overflow: visible;
}

.tech-flavors__selector {
	width: 100vw;
	margin: 0 0 0 calc(50% - 50vw);
	padding: 28px max(22px, calc((100vw - 1360px) / 2 + 22px)) 16px;
	background: #050c3a;
	text-align: center;
}

.tech-flavors__selector h1 {
	margin: 0;
	color: #fff;
	font-size: clamp(22px, 2.4vw, 30px);
	font-weight: 800;
	line-height: 1.1;
	text-wrap: balance;
}

.tech-flavors__selector h1::after {
	display: block;
	width: 24px;
	height: 1px;
	margin: 14px auto 16px;
	background: rgb(255 255 255 / 72%);
	content: "";
}

.tech-flavors__selector .tech-flavors__intro {
	max-width: 980px;
	margin: -7px auto 14px;
	color: rgb(255 255 255 / 78%);
	font-size: 13px;
	line-height: 1.55;
}

.tech-flavors__sticky {
	position: sticky;
	z-index: 999;
	top: var(--tms-flavors-sticky-top, 0px);
	width: 100vw;
	margin: 0 0 30px calc(50% - 50vw);
	padding: 10px max(22px, calc((100vw - 1360px) / 2 + 22px));
	background: #050c3a;
	box-shadow: 0 5px 18px rgb(5 12 58 / 18%);
	transition: top .15s ease;
}

.tech-flavors__nav {
	display: flex;
	width: min(100%, 1360px);
	justify-content: center;
	gap: 8px;
	margin: 0 auto;
	padding: 0 0 2px;
	overflow-x: auto;
	overflow-y: visible;
	overscroll-behavior-inline: contain;
	scroll-snap-type: inline proximity;
	scrollbar-width: thin;
}

.tech-flavors__pill {
	position: relative;
	display: grid;
	min-width: 94px;
	min-height: 44px;
	grid-template-columns: 22px auto;
	grid-template-rows: auto auto;
	align-items: center;
	column-gap: 6px;
	padding: 7px 13px;
	border: 0;
	border-radius: 999px;
	background: var(--tms-pill-accent);
	box-shadow: none;
	color: #071932;
	text-align: left;
	transform: none;
	scroll-snap-align: start;
}

.tech-flavors__pill:hover {
	border: 0;
	box-shadow: 0 5px 14px rgb(7 25 50 / 16%);
	color: #071932;
	transform: translateY(-1px);
}

.tech-flavors__pill svg {
	width: 20px;
	height: 20px;
	grid-row: 1 / 3;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.tech-flavors__pill span {
	font-size: 12px;
	font-weight: 800;
	line-height: 1.05;
}

.tech-flavors__pill small {
	font-size: 9px;
	font-weight: 700;
	line-height: 1.05;
}

.tech-flavors__pill.is-active {
	background: color-mix(in srgb, var(--tms-pill-accent) 42%, #00223d);
	box-shadow: none;
	color: #fff;
}

.tech-flavors__pill.is-active::after {
	position: absolute;
	top: -5px;
	right: 5px;
	display: grid;
	width: 17px;
	height: 17px;
	place-items: center;
	border: 1px solid #071932;
	border-radius: 50%;
	background: var(--tms-pill-accent);
	color: #071932;
	font-size: 11px;
	font-weight: 900;
	content: "✓";
}

.tech-flavors__sections {
	display: grid;
	gap: 42px;
}

.tech-flavor-section {
	scroll-margin-top: calc(var(--tms-flavors-sticky-top, 0px) + 82px);
}

.tech-flavors__banner {
	display: grid;
	min-height: 64px;
	grid-template-columns: 34px auto minmax(180px, 1fr) auto;
	align-items: center;
	gap: 10px 14px;
	margin: 0 0 16px;
	padding: 12px 20px;
	border: 0;
	border-radius: 18px;
	background: var(--tms-flavor-accent);
	box-shadow: 0 7px 16px rgb(17 35 54 / 16%);
}

.tech-flavors__banner-icon,
.tech-flavors__banner-icon svg {
	width: 30px;
	height: 30px;
}

.tech-flavors__banner-icon svg {
	fill: none;
	stroke: #071932;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.tech-flavors__banner-title h2 {
	margin: 0;
	color: #071932;
	font-size: clamp(22px, 2.2vw, 30px);
	font-weight: 850;
	line-height: 1;
}

.tech-flavors__banner-title small {
	display: block;
	margin-top: 3px;
	color: #071932;
	font-size: 10px;
	font-weight: 750;
	line-height: 1;
}

.tech-flavors__banner .tech-flavors__tagline {
	margin: 0 0 0 4px;
	color: #16283d;
	font-size: 12px;
	line-height: 1.35;
}

.tech-flavors__section-action {
	display: inline-flex;
	min-width: 196px;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 10px 18px;
	border: 0;
	border-radius: 7px;
	background: color-mix(in srgb, var(--tms-flavor-accent) 48%, #00192e);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	cursor: pointer;
}

.tech-flavors__section-action:hover {
	filter: brightness(.92);
}

.tech-flavors__section-action svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.tech-flavor-section.is-expanded .tech-flavors__section-action svg {
	transform: rotate(-90deg);
}

.tech-flavors__results {
	position: relative;
}

.tech-flavors__grid {
	display: grid;
	grid-template-columns: repeat(var(--tms-columns, 5), minmax(0, 1fr));
	gap: 22px 12px;
}

.tech-flavor-section:not(.is-expanded) .tech-flavor-card-wrap.is-tms-extra {
	display: none;
}

.tech-flavor-card-wrap {
	min-width: 0;
}

.tech-flavor-card-wrap .tech-shop-card {
	height: auto;
	min-height: 0;
	border: 1px solid #d9e2eb;
	border-radius: 16px;
	background: #fff;
}

.tech-flavor-card-wrap .tech-shop-card__media {
	border-radius: 16px 16px 0 0;
	background: #fafafa;
}

.tech-flavor-card__quick {
	position: absolute;
	z-index: 5;
	right: 12px;
	bottom: 12px;
	left: 12px;
	display: flex;
	min-height: 40px;
	align-items: center;
	justify-content: center;
	padding: 9px 14px;
	border: 0;
	border-radius: 8px;
	background: #050c3a;
	box-shadow: 0 9px 24px rgb(5 12 58 / 28%);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	opacity: 0;
	cursor: pointer;
	transform: translateY(12px);
	transition: opacity .2s ease, transform .2s ease, background .2s ease;
}

.tech-flavor-card-wrap .tech-shop-card:hover .tech-flavor-card__quick,
.tech-flavor-card__quick:focus-visible {
	opacity: 1;
	transform: translateY(0);
}

.tech-flavor-card__quick:hover {
	background: var(--tms-red);
}

.tech-flavor-card-wrap .tech-shop-card__content {
	padding: 12px 12px 13px;
}

.tech-flavor-card-wrap .tech-shop-card__title {
	height: 40px;
	font-size: 13px;
	font-weight: 500;
	line-height: 19px;
}

.tech-flavor-card-wrap .tech-shop-card__tags {
	display: none;
}

.tech-flavor-card-wrap .tms-card-rating {
	margin: 2px 0 8px;
}

.tech-flavor-card-wrap .tech-shop-card__pricing {
	min-height: 62px;
}

.tech-flavor-card-wrap .tech-shop-card__pix-price {
	font-size: 18px;
	line-height: 24px;
}

.tech-flavor-card-wrap .tech-shop-card__pix-label {
	padding: 0;
	background: transparent;
	font-size: 8px;
}

.tech-flavor-card-wrap .tech-shop-card__button {
	display: none;
}

.tech-flavor-card__count {
	display: inline-flex;
	align-self: flex-start;
	margin-top: 4px;
	padding: 3px 7px;
	border: 1px solid #b9c8d8;
	border-radius: 5px;
	color: #071932;
	font-size: 9px;
	font-weight: 750;
	line-height: 1;
}

.tech-flavor-card__labels {
	display: -webkit-box;
	height: 30px;
	margin: 7px 9px 0;
	overflow: hidden;
	color: #536172;
	font-size: 9px;
	line-height: 14px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.tech-flavors__more {
	display: flex;
	width: 100%;
	min-height: 38px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 14px;
	padding: 7px 14px;
	border: 1px solid #071932;
	border-radius: 8px;
	background: var(--tms-flavor-accent);
	color: #071932;
	font-size: 11px;
	font-weight: 700;
	cursor: pointer;
}

.tech-flavors__more strong {
	font-size: 19px;
	font-weight: 900;
}

.tech-flavors__more b {
	padding: 5px 11px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--tms-flavor-accent) 42%, #00192e);
	color: #fff;
	font-size: 10px;
	font-weight: 850;
	text-transform: uppercase;
}

.tech-flavor-section.is-expanded .tech-flavors__more strong,
.tech-flavor-section.is-expanded .tech-flavors__more span {
	display: none;
}

.tech-flavors__results[aria-busy="true"] .tech-flavors__grid {
	opacity: .4;
	pointer-events: none;
}

.tech-flavor-section.has-load-error .tech-flavors__more::before {
	margin-right: 8px;
	content: "Não foi possível carregar. Tente novamente.";
}

/* --------------------------------------------------------- quick view */

.tms-quick-view {
	position: fixed;
	z-index: 100020;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 24px;
}

.tms-quick-view__overlay {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0 !important;
	border-radius: 0 !important;
	background: rgb(5 12 58 / 78%) !important;
	box-shadow: none !important;
	appearance: none;
	cursor: default;
}

.tms-quick-view__dialog {
	position: relative;
	z-index: 1;
	width: min(900px, 100%);
	max-height: min(88vh, 720px);
	overflow: auto;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 24px 80px rgb(0 0 0 / 30%);
}

.tms-quick-view__close {
	position: absolute;
	z-index: 3;
	top: 14px;
	right: 16px;
	display: grid;
	width: 34px;
	height: 34px;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #071932;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}

.tms-quick-view__close:hover {
	background: #f0f3f6;
}

.tms-quick-view__body {
	min-height: 420px;
}

.tms-quick-view__loader {
	display: flex;
	min-height: 420px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	color: #536172;
	font-size: 13px;
}

.tms-quick-view__loader span {
	width: 20px;
	height: 20px;
	border: 2px solid #dce3ea;
	border-top-color: var(--tms-red);
	border-radius: 50%;
	animation: tms-spin .7s linear infinite;
}

.tms-quick-view__product {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
	gap: 30px;
	padding: 30px;
}

.tms-quick-view__media {
	display: grid;
	min-height: 420px;
	place-items: center;
	border-radius: 13px;
	background: #f7f7f7;
	overflow: hidden;
}

.tms-quick-view__media img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 440px;
	object-fit: contain;
}

.tms-quick-view__details {
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 0 0 2px;
}

.tms-quick-view__details h2 {
	margin: 0 38px 8px 0;
	color: #071932;
	font-size: clamp(22px, 2.4vw, 29px);
	font-weight: 800;
	line-height: 1.2;
}

.tms-quick-view__details .tms-card-rating {
	margin: 0 0 20px;
}

.tms-quick-view__price {
	display: flex;
	align-items: baseline;
	gap: 5px;
	margin-top: 4px;
	color: #071932;
}

.tms-quick-view__price strong {
	font-size: 30px;
	font-weight: 900;
	line-height: 1.1;
}

.tms-quick-view__price small {
	color: var(--tms-green);
	font-size: 13px;
	font-weight: 800;
}

.tms-quick-view__installments {
	margin: 4px 0 22px;
	color: #758091;
	font-size: 12px;
}

.tms-quick-view__options > strong {
	display: block;
	margin-bottom: 10px;
	color: #26354a;
	font-size: 12px;
	font-weight: 850;
}

.tms-quick-view__choices {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	max-height: 170px;
	overflow: auto;
	padding: 1px;
}

.tms-quick-view__choices button {
	min-height: 44px;
	padding: 9px 13px;
	border: 1px solid #8a9aaf;
	border-radius: 8px;
	background: #fff;
	color: #18263a;
	font-size: 12px;
	font-weight: 650;
	text-align: left;
	cursor: pointer;
}

.tms-quick-view__choices button:hover,
.tms-quick-view__choices button.is-selected {
	border-color: #050c3a;
	box-shadow: inset 0 0 0 1px #050c3a;
	background: #f3f4f8;
}

.tms-quick-view__buy-row {
	display: grid;
	grid-template-columns: 126px minmax(0, 1fr);
	gap: 10px;
	margin-top: auto;
	padding-top: 28px;
}

.tms-quick-view__quantity {
	display: grid;
	grid-template-columns: 38px 1fr 38px;
	min-height: 48px;
	border: 1px solid #8a9aaf;
	border-radius: 8px;
	overflow: hidden;
}

.tms-quick-view__quantity button,
.tms-quick-view__quantity input {
	width: 100%;
	min-width: 0;
	padding: 0;
	border: 0;
	background: #fff;
	color: #18263a;
	font-size: 14px;
	font-weight: 750;
	text-align: center;
}

.tms-quick-view__quantity button {
	cursor: pointer;
}

.tms-quick-view__quantity input {
	appearance: textfield;
}

.tms-quick-view__quantity input::-webkit-inner-spin-button,
.tms-quick-view__quantity input::-webkit-outer-spin-button {
	margin: 0;
	appearance: none;
}

.tms-quick-view__add {
	min-height: 48px;
	padding: 11px 18px;
	border: 0;
	border-radius: 8px;
	background: #050c3a;
	color: #fff;
	font-size: 13px;
	font-weight: 750;
	cursor: pointer;
}

.tms-quick-view__add:hover:not(:disabled) {
	background: var(--tms-red);
}

.tms-quick-view__add:disabled {
	background: #777d87;
	opacity: .72;
	cursor: not-allowed;
}

.tms-quick-view__add.is-loading {
	opacity: .65;
	cursor: wait;
}

.tms-quick-view__add.is-added {
	background: var(--tms-green);
}

.tms-quick-view__message {
	min-height: 18px;
	margin: 8px 0;
	color: #536172;
	font-size: 11px;
}

.tms-quick-view__message.is-error {
	color: #b3202e;
}

.tms-quick-view__message.is-success {
	color: var(--tms-green);
}

.tms-quick-view__product-link {
	display: flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	border: 1px solid #050c3a;
	border-radius: 8px;
	color: #050c3a;
	font-size: 13px;
	font-weight: 750;
	text-decoration: none;
}

.tms-quick-view__product-link:hover {
	background: #050c3a;
	color: #fff;
}

@media (max-width: 1180px) {
	.tech-flavors__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.tech-flavors__nav {
		justify-content: flex-start;
	}

	.tech-flavors__banner {
		grid-template-columns: 30px minmax(0, 1fr) auto;
		padding: 14px 16px;
	}

	.tech-flavors__banner .tech-flavors__tagline {
		grid-column: 1 / -1;
		margin: 2px 0 0;
	}

	.tech-flavors__section-action {
		min-width: 148px;
	}

	.tech-flavors__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.tech-flavors .tech-shop__container {
		width: min(100% - 20px, 100%);
	}

	.tech-flavors__selector {
		padding: 22px 12px 12px;
	}

	.tech-flavors__sticky {
		margin-bottom: 22px;
		padding: 9px 0 9px 10px;
	}

	.tech-flavors__nav {
		justify-content: flex-start;
		gap: 7px;
		margin: 0;
		padding: 3px 12px 4px 0;
		scrollbar-width: none;
	}

	.tech-flavors__nav::-webkit-scrollbar {
		display: none;
	}

	.tech-flavors__pill {
		min-width: 88px;
		min-height: 42px;
		padding: 6px 11px;
	}

	.tech-flavors__sections {
		gap: 34px;
	}

	.tech-flavors__banner {
		grid-template-columns: 28px minmax(0, 1fr);
		border-radius: 14px;
	}

	.tech-flavors__banner-title h2 {
		font-size: 21px;
	}

	.tech-flavors__section-action {
		width: 100%;
		min-width: 0;
		grid-column: 1 / -1;
	}

	.tech-flavors__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 9px;
	}

	.tech-flavor-card-wrap .tech-shop-card__content {
		padding: 9px;
	}

	.tech-flavor-card-wrap .tech-shop-card__pix-price {
		font-size: 15px;
	}

	.tech-flavor-card__quick {
		right: 8px;
		bottom: 8px;
		left: 8px;
		min-height: 34px;
		padding: 7px 9px;
		font-size: 10px;
		opacity: 1;
		transform: none;
	}

	.tms-quick-view {
		align-items: end;
		padding: 0;
	}

	.tms-quick-view__dialog {
		width: 100%;
		max-height: 92vh;
		border-radius: 18px 18px 0 0;
	}

	.tms-quick-view__product {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 18px 16px max(18px, env(safe-area-inset-bottom));
	}

	.tms-quick-view__media {
		min-height: 210px;
		max-height: 250px;
	}

	.tms-quick-view__media img {
		max-height: 250px;
	}

	.tms-quick-view__details h2 {
		font-size: 20px;
	}

	.tms-quick-view__details .tms-card-rating {
		margin-bottom: 12px;
	}

	.tms-quick-view__price strong {
		font-size: 25px;
	}

	.tms-quick-view__installments {
		margin-bottom: 15px;
	}

	.tms-quick-view__choices {
		max-height: 142px;
	}

	.tms-quick-view__buy-row {
		grid-template-columns: 108px minmax(0, 1fr);
		padding-top: 18px;
	}
}

@media (hover: none) {
	.tech-flavor-card__quick {
		opacity: 1;
		transform: none;
	}
}

