/* =========================================================================
   GoTech 1.1 — menu com submenus, páginas novas, simulador e loja
   ========================================================================= */

/* --- Faixa do topo com atalhos -------------------------------------- */
.gt-topbar { justify-content: space-between; align-items: center; padding: 8px 24px; }
.gt-topbar__msgs { display: flex; flex-wrap: wrap; gap: 6px 28px; }
.gt-topbar__links { display: flex; gap: 18px; font-family: var(--gt-font); font-size: 13px; }
.gt-topbar__links a { color: #DCE4F2; text-decoration: none; }
.gt-topbar__links a:hover { color: #fff; text-decoration: underline; }

/* --- Menu com submenus ----------------------------------------------- */
.gt-menu--mega { align-items: center; }
.gt-menu--mega > li > a, .gt-mega__btn {
	display: inline-flex; align-items: center; gap: 4px; min-height: 44px;
	font: 600 15px/1 var(--gt-font); color: var(--gt-ink); text-decoration: none;
	background: none; border: 0; padding: 0; cursor: pointer;
}
.gt-mega__btn:hover, .gt-mega.is-open .gt-mega__btn { color: var(--gt-accent); }
.gt-mega__btn .gt-icon { transition: transform .15s; }
.gt-mega.is-open .gt-mega__btn .gt-icon { transform: rotate(180deg); }

.gt-mega__panel { display: none; }
.gt-mega.is-open .gt-mega__panel { display: grid; }

@media (min-width: 783px) {
	.gt-mega__panel {
		position: absolute; left: 0; right: 0; top: 100%; z-index: 70;
		background: #fff; border-top: 1px solid var(--gt-line); border-bottom: 1px solid var(--gt-line);
		box-shadow: 0 24px 48px -24px rgba(13, 14, 16, .35);
		padding: 28px max(24px, calc((100vw - 1232px) / 2));
		grid-template-columns: 1.4fr 1fr .9fr; gap: 32px;
	}
	.gt-mega__panel--sm { grid-template-columns: 1fr .9fr; }
	.gt-mega__panel::before { content: ""; position: absolute; left: 0; right: 0; top: -32px; height: 32px; }
	@media (hover: hover) {
		.gt-mega:hover .gt-mega__panel, .gt-mega:focus-within .gt-mega__panel { display: grid; }
		.gt-mega:hover .gt-mega__btn { color: var(--gt-accent); }
	}
}
.gt-mega__title { margin: 0 0 12px; font-family: var(--gt-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--gt-muted); }
.gt-mega__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.gt-mega__list--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
.gt-mega__list a { display: flex; align-items: center; gap: 10px; padding: 8px 0; text-decoration: none; font-weight: 500; font-size: 15px; }
.gt-mega__list a .gt-icon { color: var(--gt-accent); }
.gt-mega__col--cta { display: flex; flex-direction: column; gap: 10px; }
.gt-mega__card {
	display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center;
	padding: 14px 16px; border-radius: calc(16px * var(--gt-rk, 1)); background: var(--gt-bg); text-decoration: none;
}
.gt-mega__card .gt-icon { grid-row: span 2; color: var(--gt-accent); }
.gt-mega__card b { font-size: 15px; }
.gt-mega__card span { font-size: 13px; color: var(--gt-muted); }
.gt-mega__card:hover { background: #DCE6FF; color: var(--gt-ink); }
.gt-mega__card--accent { background: var(--gt-accent); color: #fff; grid-template-columns: 1fr; padding: 22px; }
.gt-mega__card--accent span { color: rgba(255,255,255,.85); }
.gt-mega__card--accent:hover { background: #1448d6; color: #fff; }

/* --- Elementos comuns ------------------------------------------------ */
.gt-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; color: var(--gt-muted); margin-bottom: 20px; }
.gt-dark .gt-crumbs { color: var(--gt-dark-text); }
.gt-crumbs a { color: inherit; }
.gt-lead--light { color: var(--gt-dark-text); }
.gt-anchor { scroll-margin-top: 110px; position: relative; top: -110px; }
.gt-btn--ghost { background: transparent; color: #fff; box-shadow: inset 0 0 0 1px #3a4a6c; }
.gt-btn--ghost:hover { background: var(--gt-dark-2); color: #fff; }
.gt-linkbtn { background: none; border: 0; padding: 8px 0; font: 600 14px var(--gt-font); color: var(--gt-accent); text-decoration: underline; cursor: pointer; }
.gt-hint { margin: 8px 0 0; padding: 10px 14px; border-radius: calc(12px * var(--gt-rk, 1)); background: #FFF4D6; color: #5C4300; font-size: 14px; }

.gt-badge { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: calc(12px * var(--gt-rk, 1)); font-size: 12px; font-weight: 700; line-height: 1.3; }
.gt-badge--dark { background: var(--gt-ink); color: #fff; }
.gt-badge--accent { background: var(--gt-accent); color: #fff; }
.gt-badge--light { background: #DCE6FF; color: #0B2C8A; }
.gt-badge--lg { font-size: 14px; padding: 8px 14px; border-radius: calc(16px * var(--gt-rk, 1)); }

/* Vantagens com ícone */
.gt-perks .gt-card > .gt-icon { color: var(--gt-accent); margin-bottom: 4px; }

/* Avaliação no hero */
.gt-rating { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 24px; text-decoration: none; font-size: 14px; }
.gt-rating__stars { display: inline-flex; color: #F5A400; }
.gt-rating__stars .gt-icon { fill: currentColor; }

/* --- Banners de promoções ------------------------------------------- */
.gt-carousel { position: relative; }
.gt-carousel__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px; scrollbar-width: none; border-radius: calc(28px * var(--gt-rk, 1)); }
.gt-carousel__track::-webkit-scrollbar { display: none; }
.gt-promo {
	flex: 0 0 100%; scroll-snap-align: start; min-height: 280px; border-radius: calc(28px * var(--gt-rk, 1)); overflow: hidden;
	background: var(--gt-dark); color: #fff; display: flex; flex-wrap: wrap; align-items: stretch;
}
.gt-promo--accent { background: var(--gt-accent); }
.gt-promo__text { flex: 1 1 360px; padding: 40px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 12px; }
.gt-promo__text h2 { margin: 0; font-weight: 800; font-stretch: 125%; font-size: clamp(28px, 3.6vw, 44px); line-height: 1; letter-spacing: -.02em; }
.gt-promo__text p { margin: 0; font-size: 17px; opacity: .9; max-width: 32rem; }
.gt-promo__img { flex: 1 1 320px; min-height: 220px; }
.gt-promo__img img { width: 100%; height: 100%; object-fit: cover; }
.gt-carousel__nav { position: absolute; right: 16px; bottom: 16px; display: flex; gap: 8px; }
.gt-carousel__nav .gt-round { background: #fff; border-color: #fff; cursor: pointer; }

/* --- Categorias em carrossel horizontal no telemóvel --------------- */
.gt-cats { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }

/* --- Avarias na faixa escura ---------------------------------------- */
.gt-faults { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gt-faults .gt-fault { align-items: flex-start; gap: 10px; padding: 16px 14px; min-height: 104px; justify-content: space-between; }
.gt-faults .gt-fault .gt-icon { color: var(--gt-accent-light); }
.gt-faults .gt-fault b { font-size: 14px; line-height: 1.25; }

/* --- Separadores ---------------------------------------------------- */
.gt-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.gt-tab {
	min-height: 44px; padding: 10px 18px; border-radius: calc(22px * var(--gt-rk, 1)); border: 1px solid var(--gt-line); background: #fff;
	font: 600 14px var(--gt-font); color: var(--gt-ink); cursor: pointer;
}
.gt-tab[aria-selected="true"] { background: var(--gt-ink); border-color: var(--gt-ink); color: #fff; }
.gt-tabpanel__more { text-align: right; font-weight: 600; margin: 0; }

/* --- Retoma: chamada na página inicial ----------------------------- */
.gt-tradein-cta {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px;
	background: #fff; border: 1px solid var(--gt-line); border-radius: calc(28px * var(--gt-rk, 1)); padding: 36px 40px;
}
.gt-tradein-cta .gt-lead { margin: 12px 0 0; }

/* --- Marcas --------------------------------------------------------- */
.gt-brands { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.gt-brand-tile {
	display: grid; place-items: center; min-height: 72px; padding: 12px; text-align: center;
	background: #fff; border: 1px solid var(--gt-line); border-radius: calc(16px * var(--gt-rk, 1));
	font-weight: 800; font-stretch: 112%; font-size: 17px; text-decoration: none; transition: border-color .15s, color .15s;
}
.gt-brand-tile:hover { border-color: var(--gt-accent); color: var(--gt-accent); }

/* --- Avaliações ----------------------------------------------------- */
.gt-reviews {
	display: flex; align-items: center; gap: 24px; padding: 24px 28px; border-radius: calc(24px * var(--gt-rk, 1));
	background: #fff; border: 1px solid var(--gt-line); text-decoration: none;
}
.gt-reviews__score { font-weight: 800; font-stretch: 125%; font-size: 56px; line-height: 1; color: var(--gt-accent); }
.gt-reviews__text { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.gt-reviews__text span:last-child { color: var(--gt-muted); }

/* --- Blog e newsletter --------------------------------------------- */
.gt-posts--4 { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.gt-posts--4 .gt-post { display: flex; flex-direction: column; gap: 8px; text-decoration: none; }
.gt-posts--4 .gt-post__img { aspect-ratio: 16 / 10; border-radius: calc(14px * var(--gt-rk, 1)); background: var(--gt-soft); overflow: hidden; display: block; }
.gt-posts--4 .gt-post__img img { width: 100%; height: 100%; object-fit: cover; }
.gt-posts--4 .gt-post__title { font-size: 17px; line-height: 1.3; margin: 0; }

.gt-newsband {
	display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: center; justify-content: space-between;
	background: var(--gt-dark); color: #fff; border-radius: calc(28px * var(--gt-rk, 1)); padding: 40px;
}
.gt-newsband > div { flex: 1 1 380px; }
.gt-newsband p { color: var(--gt-dark-text); margin: 12px 0 0; }
.gt-news { display: flex; flex-direction: column; gap: 12px; }
.gt-news__row { display: flex; flex-wrap: wrap; gap: 10px; }
.gt-news input[type="email"] {
	flex: 1 1 220px; min-height: 50px; border-radius: 25px; padding: 0 20px; font: inherit; font-size: 15px;
	border: 1px solid #3a4a6c; background: var(--gt-dark-2); color: #fff;
}
.gt-news input[type="email"]::placeholder { color: #8391ab; }
.gt-newsband .gt-consent, .gt-news--dark .gt-consent { color: var(--gt-dark-text); font-size: 13px; }
.gt-consent a { color: inherit; }

/* --- Reparações: avarias com ícone, preço, passos ------------------ */
.gt-choices--icons { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
.gt-choices--icons .gt-choice span { min-height: 120px; }
.gt-choices--icons .gt-choice .gt-icon { color: var(--gt-accent-light); margin-bottom: 6px; }
.gt-dark select {
	font: inherit; font-size: 15px; min-height: 48px; border-radius: calc(12px * var(--gt-rk, 1)); padding: 10px 14px;
	border: 1px solid #3a4a6c; background: var(--gt-dark-2); color: #fff;
}

.gt-price { display: flex; flex-direction: column; gap: 2px; padding: 16px; border-radius: calc(16px * var(--gt-rk, 1)); background: #fff; border: 1px solid var(--gt-line); }
.gt-price__label { font-size: 13px; color: var(--gt-muted); }
.gt-price__value { font-family: var(--gt-mono); font-weight: 600; font-size: 22px; }
.gt-price.is-found { border-color: var(--gt-accent); }
.gt-price.is-found .gt-price__value { color: var(--gt-accent); font-size: 30px; }
.gt-price__time { font-size: 13px; color: var(--gt-muted); }

.gt-howto { margin-top: 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.gt-howto__step { padding: 22px; display: flex; flex-direction: column; gap: 6px; }
.gt-howto__n { width: 36px; height: 36px; border-radius: calc(18px * var(--gt-rk, 1)); background: var(--gt-accent); color: #fff; display: grid; place-items: center; font-weight: 800; margin-bottom: 6px; }
.gt-howto__step span:last-child { color: var(--gt-muted); font-size: 15px; }

.gt-band { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.gt-band__item {
	display: flex; gap: 14px; align-items: center; padding: 20px; border-radius: calc(20px * var(--gt-rk, 1));
	background: #DCE6FF; text-decoration: none; color: var(--gt-ink);
}
.gt-band__item .gt-icon { color: var(--gt-accent); }
.gt-band__item div { display: flex; flex-direction: column; }
.gt-band__item span { font-size: 14px; color: #33456b; }
a.gt-band__item:hover { background: #cbd9ff; color: var(--gt-ink); }

.gt-faq__list { margin: 24px 0 16px; display: flex; flex-direction: column; gap: 10px; max-width: 860px; }
.gt-faq details, .gt-content details.wp-block-details {
	background: #fff; border: 1px solid var(--gt-line); border-radius: calc(16px * var(--gt-rk, 1)); padding: 0 20px;
}
.gt-faq summary, .gt-content details.wp-block-details summary {
	cursor: pointer; padding: 18px 0; font-weight: 700; font-size: 17px; list-style: none; display: flex; justify-content: space-between; gap: 16px;
}
.gt-faq summary::-webkit-details-marker, .gt-content details summary::-webkit-details-marker { display: none; }
.gt-faq summary::after, .gt-content details.wp-block-details summary::after { content: "+"; font-weight: 400; font-size: 24px; line-height: 1; color: var(--gt-accent); }
.gt-faq details[open] summary::after, .gt-content details.wp-block-details[open] summary::after { content: "−"; }
.gt-faq details p, .gt-content details.wp-block-details p { margin: 0 0 18px; color: var(--gt-ink-2); }
.gt-content details.wp-block-details { margin-bottom: 10px; }
.gt-content h2.wp-block-heading { margin-top: 40px; }

/* --- Simulador de retoma ------------------------------------------- */
.gt-tradein__head { max-width: 760px; }
.gt-tradein__grid { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; margin-top: 24px; }
.gt-tradein__steps { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.gt-tradein__box { margin: 0; padding: 24px; display: flex; flex-direction: column; gap: 14px; border: 1px solid var(--gt-line); }
.gt-tradein__legend { display: flex; align-items: center; gap: 12px; font-weight: 800; font-stretch: 112%; font-size: 20px; padding: 0; float: left; width: 100%; margin-bottom: 6px; }
.gt-tradein__legend span { width: 32px; height: 32px; border-radius: calc(16px * var(--gt-rk, 1)); background: var(--gt-accent); color: #fff; display: grid; place-items: center; font-size: 15px; flex: 0 0 auto; }
.gt-tradein__box .gt-field select { font: inherit; font-size: 15px; min-height: 48px; border-radius: calc(12px * var(--gt-rk, 1)); padding: 10px 14px; border: 1px solid var(--gt-line); background: #fff; }
.gt-question { padding: 12px 0; border-top: 1px solid var(--gt-line); }
.gt-question:first-of-type { border-top: 0; }
.gt-question__label { margin: 0 0 10px; font-weight: 600; }
.gt-question__opts { display: flex; flex-wrap: wrap; gap: 8px; }
.gt-opt input, .gt-pills--light .gt-pill input { position: absolute; opacity: 0; pointer-events: none; }
.gt-opt span {
	display: inline-flex; align-items: center; min-height: 44px; padding: 10px 18px; border-radius: calc(22px * var(--gt-rk, 1));
	border: 1px solid var(--gt-line); background: #fff; font-weight: 600; font-size: 15px; cursor: pointer;
}
.gt-opt input:checked + span { background: var(--gt-ink); border-color: var(--gt-ink); color: #fff; }
.gt-opt input:focus-visible + span, .gt-pills--light .gt-pill input:focus-visible + span { outline: 3px solid var(--gt-accent); outline-offset: 2px; }
.gt-pills--light .gt-pill span { border-color: var(--gt-line); background: #fff; color: var(--gt-ink); }
.gt-pills--light .gt-pill input:checked + span { background: var(--gt-accent); border-color: var(--gt-accent); color: #fff; }

.gt-estimate {
	flex: 1 1 320px; position: sticky; top: 100px; background: var(--gt-dark); color: #fff;
	border-radius: calc(28px * var(--gt-rk, 1)); padding: 28px; display: flex; flex-direction: column; gap: 14px;
}
.gt-estimate__label { font-family: var(--gt-mono); font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--gt-accent-light); }
.gt-estimate__value { font-weight: 800; font-stretch: 125%; font-size: 40px; line-height: 1; }
.gt-estimate.is-found .gt-estimate__value, .gt-estimate .is-found { color: #fff; }
.gt-estimate__note { margin: 0; font-size: 14px; color: var(--gt-dark-text); }
.gt-estimate__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 15px; }
.gt-estimate__list li { display: flex; gap: 8px; align-items: center; }
.gt-estimate__list .gt-icon { color: var(--gt-accent-light); }
.gt-estimate .gt-consent { color: var(--gt-dark-text); }
.gt-estimate__link { display: inline-flex; align-items: center; gap: 6px; color: #fff; font-weight: 600; }

/* --- Lojas ---------------------------------------------------------- */
.gt-storelist { margin: 32px 0 16px; display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; }
.gt-storecard { padding: 28px; display: flex; flex-direction: column; gap: 18px; }
.gt-storecard__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; }
.gt-storecard__head h2 { margin: 0; font-weight: 800; font-stretch: 125%; font-size: 28px; letter-spacing: -.02em; }
.gt-storecard__info, .gt-storecard__services { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.gt-storecard__info li { display: flex; gap: 10px; align-items: flex-start; }
.gt-storecard__info .gt-icon { color: var(--gt-accent); margin-top: 2px; }
.gt-storecard__services { flex-direction: row; flex-wrap: wrap; gap: 8px; }
.gt-storecard__services li { display: inline-flex; gap: 6px; align-items: center; padding: 6px 12px; border-radius: calc(14px * var(--gt-rk, 1)); background: var(--gt-bg); font-size: 13px; font-weight: 600; }
.gt-storecard__services .gt-icon { color: var(--gt-accent); }
.gt-storenote { padding: 20px 24px; display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.gt-storenote > .gt-icon { color: var(--gt-accent); }
.gt-storenote > div { flex: 1 1 300px; display: flex; flex-direction: column; }
.gt-storenote span { color: var(--gt-muted); }

/* --- Contactos e formulários --------------------------------------- */
.gt-contact { margin-top: 32px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 24px; align-items: start; }
.gt-contact__side { display: flex; flex-direction: column; gap: 10px; }
.gt-contact__item { display: flex; gap: 14px; align-items: center; padding: 16px 18px; text-decoration: none; }
.gt-contact__item .gt-icon { color: var(--gt-accent); }
.gt-contact__item span { display: flex; flex-direction: column; font-size: 15px; color: var(--gt-muted); }
.gt-contact__item b { color: var(--gt-ink); }
.gt-contact__item:hover { border-color: var(--gt-accent); }
.gt-form { padding: 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.gt-form__title { margin: 0; font-weight: 800; font-stretch: 112%; font-size: 22px; }
.gt-form .gt-field select { font: inherit; font-size: 15px; min-height: 48px; border-radius: calc(12px * var(--gt-rk, 1)); padding: 10px 14px; border: 1px solid var(--gt-line); background: #fff; }

.gt-b2b { display: flex; flex-wrap: wrap; gap: 40px; padding-top: 56px; padding-bottom: 72px; align-items: flex-start; }
.gt-b2b__text { flex: 1 1 460px; }
.gt-b2b__form { flex: 1 1 420px; }
.gt-b2b__form .gt-form { color: var(--gt-ink); }
.gt-b2b__form .gt-field input, .gt-b2b__form .gt-field select, .gt-b2b__form .gt-field textarea { background: #fff; color: var(--gt-ink); border-color: var(--gt-line); }
.gt-b2b__list { list-style: none; margin: 28px 0 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.gt-b2b__list li { display: flex; gap: 14px; }
.gt-b2b__list .gt-icon { color: var(--gt-accent-light); flex: 0 0 auto; margin-top: 2px; }
.gt-b2b__list span { display: flex; flex-direction: column; color: var(--gt-dark-text); }
.gt-b2b__list b { color: #fff; }

/* --- Acompanhar reparação ------------------------------------------ */
.gt-track__form { margin: 24px 0; padding: 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; align-items: end; max-width: 860px; }
.gt-track__result { padding: 28px; margin-bottom: 24px; max-width: 860px; display: flex; flex-direction: column; gap: 18px; }
.gt-track__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; align-items: flex-start; }
.gt-track__head h2 { margin: 4px 0; font-size: 26px; font-stretch: 112%; }
.gt-timeline { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; counter-reset: t; }
.gt-timeline li { counter-increment: t; display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: var(--gt-muted); }
.gt-timeline li::before { content: ""; height: 6px; border-radius: 3px; background: var(--gt-line); }
.gt-timeline li.is-done::before { background: var(--gt-ink); }
.gt-timeline li.is-now::before { background: var(--gt-accent); }
.gt-timeline li.is-now { color: var(--gt-ink); font-weight: 700; }
.gt-track__note { background: var(--gt-bg); border-radius: calc(14px * var(--gt-rk, 1)); padding: 14px 16px; }
.gt-track__note p { margin: 4px 0 0; }

/* --- Loja: selos e informação nos produtos ------------------------- */
.woocommerce ul.products li.product { position: relative; }
.gt-badges { position: absolute; top: 22px; left: 22px; z-index: 2; display: flex; flex-wrap: wrap; gap: 6px; }
.woocommerce ul.products li.product .onsale { left: auto; right: 22px; }
.gt-loop-meta { display: flex; flex-direction: column; gap: 4px; margin: 6px 0 4px; font-size: 13px; color: var(--gt-muted); }
.gt-loop-meta span { display: flex; align-items: center; gap: 6px; }
.gt-loop-meta .gt-icon { width: 16px; height: 16px; color: var(--gt-accent); }
.gt-loop-meta__out { color: #9a3412; }
.gt-prestacoes { display: flex; align-items: center; gap: 8px; margin: -4px 0 12px; font-size: 14px; color: var(--gt-ink-2); }
.gt-prestacoes .gt-icon { color: var(--gt-accent); }
.gt-delivery { list-style: none; margin: 8px 0 16px; padding: 14px 16px; border-radius: calc(16px * var(--gt-rk, 1)); background: #fff; border: 1px solid var(--gt-line); display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.gt-delivery li { display: flex; gap: 10px; align-items: center; }
.gt-delivery .gt-icon { color: var(--gt-accent); }
.gt-grades { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin: 16px 0; }
.gt-grade { border: 1px solid var(--gt-line); border-radius: calc(16px * var(--gt-rk, 1)); padding: 16px; display: flex; flex-direction: column; gap: 4px; }
.gt-grade span { color: var(--gt-muted); font-size: 14px; }

/* --- Rodapé --------------------------------------------------------- */
.gt-footer__news {
	display: flex; flex-wrap: wrap; gap: 20px 48px; align-items: center; justify-content: space-between;
	padding-top: 40px; padding-bottom: 32px; border-bottom: 1px solid var(--gt-dark-line);
}
.gt-footer__news > div { flex: 1 1 360px; display: flex; flex-direction: column; gap: 4px; }
.gt-footer__news b { font-size: 20px; font-stretch: 112%; }
.gt-footer__news span { color: var(--gt-dark-text); }
.gt-footer__grid { gap: 32px; }
.gt-footer__brand { flex: 1.6 1 280px; }
.gt-footer__col { flex: 1 1 150px; }
.gt-footer__contact { display: flex; flex-direction: column; gap: 8px; }
.gt-footer__contact a { display: inline-flex; gap: 8px; align-items: center; }
.gt-social { display: flex; gap: 8px; margin-top: 8px; }
.gt-social a { width: 44px; height: 44px; border-radius: calc(22px * var(--gt-rk, 1)); background: var(--gt-dark-2); display: grid; place-items: center; color: #fff; }
.gt-social a:hover { background: var(--gt-accent); color: #fff; }
.gt-footer__pay { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 24px; }
.gt-paychip { padding: 6px 12px; border-radius: calc(10px * var(--gt-rk, 1)); border: 1px solid var(--gt-dark-line); font-size: 12px; font-weight: 600; color: #DCE4F2; }
.gt-totop { display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; color: var(--gt-dark-text); font: inherit; cursor: pointer; padding: 6px 0; }
.gt-totop:hover { color: #fff; }

.gt-wa {
	position: fixed; right: 20px; bottom: 20px; z-index: 65; width: 56px; height: 56px; border-radius: calc(28px * var(--gt-rk, 1));
	background: #1FAF54; color: #fff; display: grid; place-items: center; box-shadow: 0 10px 24px -8px rgba(0,0,0,.4);
}
.gt-wa svg { width: 28px; height: 28px; }
.gt-wa:hover { color: #fff; background: #189345; }

/* --- Telemóvel ------------------------------------------------------ */
@media (max-width: 1100px) {
	.gt-topbar__links { display: none; }
	.gt-topbar { justify-content: center; }
}

@media (max-width: 782px) {
	.gt-nav .gt-menu--mega { align-items: stretch; }
	.gt-menu--mega > li > a, .gt-mega__btn { width: 100%; justify-content: space-between; min-height: 52px; font-size: 17px; border-bottom: 1px solid var(--gt-line); }
	.gt-mega__panel { padding: 8px 0 16px; gap: 16px; grid-template-columns: 1fr; }
	.gt-mega__list--2 { grid-template-columns: 1fr 1fr; }
	.gt-faults { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.gt-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gt-promo__text { padding: 28px 22px; }
	.gt-carousel__nav { right: 12px; bottom: 12px; }
	.gt-tradein-cta { padding: 28px 22px; }
	.gt-reviews { flex-wrap: wrap; gap: 12px 20px; }
	.gt-reviews__score { font-size: 44px; }
	.gt-newsband { padding: 28px 22px; }
	.gt-contact { grid-template-columns: 1fr; }
	.gt-estimate { position: static; }
	.gt-timeline { grid-template-columns: 1fr; }
	.gt-timeline li { flex-direction: row; align-items: center; }
	.gt-timeline li::before { width: 28px; height: 6px; flex: 0 0 28px; }
	.gt-tabbar { grid-template-columns: repeat(5, 1fr); }
	.gt-wa { bottom: 92px; right: 14px; width: 52px; height: 52px; }
	.gt-brands { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gt-brand-tile { min-height: 56px; font-size: 15px; }
}

@media (max-width: 420px) {
	.gt-faults { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* --- Correções ------------------------------------------------------ */
[hidden] { display: none !important; }
.gt-menu .gt-mega__card { display: grid; padding: 14px 16px; font-weight: 400; }
.gt-menu .gt-mega__card--accent { padding: 22px; }
.gt-menu .gt-mega__card b { font-weight: 700; }
a.gt-store { text-decoration: none; transition: border-color .15s; }
a.gt-store:hover { border-color: var(--gt-accent); color: var(--gt-ink); }
@media (min-width: 783px) {
	.gt-cats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.gt-cat { min-height: 170px; }
}

/* Formulário de avaliações e comentários */
#respond input[type="text"], #respond input[type="email"], #respond input[type="url"], #respond textarea {
	width: 100%; min-height: 48px; border: 1px solid var(--gt-line); border-radius: calc(12px * var(--gt-rk, 1)); padding: 10px 14px; font: inherit; background: #fff;
}
#respond p { display: flex; flex-direction: column; gap: 6px; }
#respond p.comment-form-cookies-consent { flex-direction: row; align-items: center; }
.woocommerce #reviews #comments ol.commentlist li .comment-text { border-radius: calc(16px * var(--gt-rk, 1)); border-color: var(--gt-line); }
.woocommerce .star-rating, .woocommerce p.stars a { color: #F5A400; }

/* --- Destaque da página inicial: imagem ou vídeo ------------------- */
.gt-hero__img { position: relative; border-radius: calc(18px * var(--gt-rk, 1)); overflow: hidden; }
.gt-hero__img--fill { display: block; min-height: 300px; }
.gt-hero__img--fill img, .gt-hero__img--fill video, .gt-hero__img--fill iframe {
	position: absolute; inset: 0; width: 100%; height: 100%; max-height: none; object-fit: cover; border: 0;
}
.gt-hero__img--fill .gt-ph { position: absolute; inset: 0; }
.gt-hero__visual--solo .gt-hero__img { min-height: 420px; }
.gt-hero__caption {
	position: absolute; left: 14px; bottom: 14px; z-index: 2; max-width: calc(100% - 80px);
	background: rgba(13, 14, 16, .78); color: #fff; padding: 8px 14px; border-radius: calc(12px * var(--gt-rk, 1));
	font-weight: 700; font-size: 15px; backdrop-filter: blur(6px);
}
.gt-hero__link { position: absolute; inset: 0; z-index: 1; }
.gt-hero__link:focus-visible { outline: 3px solid var(--gt-accent-light); outline-offset: -3px; border-radius: calc(18px * var(--gt-rk, 1)); }
.gt-hero__cta { position: absolute; right: 14px; bottom: 14px; z-index: 3; }
.gt-hero__pause {
	position: absolute; right: 14px; top: 14px; z-index: 3; width: 44px; height: 44px; border-radius: calc(22px * var(--gt-rk, 1)); border: 0;
	background: rgba(13, 14, 16, .7); color: #fff; display: grid; place-items: center; cursor: pointer;
}
.gt-hero__pause:hover { background: var(--gt-accent); }
@media (max-width: 782px) {
	.gt-hero__img--fill { min-height: 220px; }
	.gt-hero__visual--solo .gt-hero__img { min-height: 260px; }
}

/* =========================================================================
   1.3 — Reparações por modelo
   ========================================================================= */
.gt-device { width: 100%; height: 100%; display: block; }
.gt-h2--sm { font-size: clamp(24px, 2.6vw, 32px); }

/* --- Pesquisa de modelos ------------------------------------------- */
.gt-finder { position: relative; display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--gt-line); border-radius: calc(28px * var(--gt-rk, 1)); padding: 0 8px 0 18px; color: var(--gt-ink); }
.gt-finder > .gt-icon { color: var(--gt-accent); flex: 0 0 auto; }
.gt-finder input { flex: 1; min-width: 0; height: 54px; border: 0; background: transparent; font: inherit; font-size: 16px; color: var(--gt-ink); outline: none; }
.gt-finder:focus-within { border-color: var(--gt-accent); box-shadow: 0 0 0 3px rgba(30, 91, 255, .2); }
.gt-finder__results {
	position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 80; list-style: none; margin: 0; padding: 6px;
	background: #fff; border: 1px solid var(--gt-line); border-radius: calc(18px * var(--gt-rk, 1)); box-shadow: 0 20px 40px -20px rgba(13, 14, 16, .35);
	max-height: 360px; overflow-y: auto;
}
.gt-finder__results a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 12px; border-radius: calc(12px * var(--gt-rk, 1)); text-decoration: none; color: var(--gt-ink); }
.gt-finder__results small { color: var(--gt-muted); font-size: 13px; white-space: nowrap; }
.gt-finder__results li.is-active a, .gt-finder__results a:hover { background: #DCE6FF; }
.gt-finder__none { padding: 12px; color: var(--gt-muted); font-size: 14px; }
.gt-dark .gt-finder { border-color: transparent; max-width: 640px; margin-top: 8px; }

/* --- Menu de reparações (2 painéis) --------------------------------- */
@media (min-width: 783px) {
	.gt-mega__panel.gt-rmenu { grid-template-columns: 300px minmax(0, 1fr); gap: 0; padding-top: 0; padding-bottom: 0; }
	.gt-rmenu__side { border-right: 1px solid var(--gt-line); padding: 20px 20px 20px 0; display: flex; flex-direction: column; gap: 12px; }
	.gt-rmenu__panes { padding: 20px 0 24px 28px; min-height: 420px; }
}
.gt-rmenu .gt-finder { padding-left: 14px; border-radius: calc(22px * var(--gt-rk, 1)); }
.gt-rmenu .gt-finder input { height: 44px; font-size: 15px; }
.gt-rmenu__list { list-style: none; margin: 0; padding: 0; max-height: 52vh; overflow-y: auto; }
.gt-menu .gt-rmenu__list a {
	display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: calc(12px * var(--gt-rk, 1)); font-weight: 600; font-size: 15px; width: 100%;
}
.gt-rmenu__list a span { flex: 1; }
.gt-rmenu__list a .gt-icon:last-child { color: var(--gt-muted); }
.gt-rmenu__list a .gt-icon:first-child { color: var(--gt-accent); }
.gt-menu .gt-rmenu__list a.is-active, .gt-menu .gt-rmenu__list a:hover { background: #DCE6FF; color: var(--gt-ink); }
.gt-rmenu__links { display: flex; flex-direction: column; gap: 2px; border-top: 1px solid var(--gt-line); padding-top: 10px; }
.gt-menu .gt-rmenu__links a { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; padding: 6px 12px; color: var(--gt-ink-2); }
.gt-rmenu__links .gt-icon { color: var(--gt-accent); }
.gt-rmenu__pane { display: none; }
.gt-rmenu__pane.is-active { display: block; }
.gt-rmenu__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 14px; }
.gt-rmenu__head b { font-size: 22px; font-weight: 800; font-stretch: 112%; }
.gt-menu .gt-rmenu__head a { font-size: 14px; color: var(--gt-accent); padding: 0; }
.gt-rmenu__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; }
.gt-menu .gt-rmenu__model {
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 14px 8px 12px; border-radius: calc(16px * var(--gt-rk, 1));
	background: var(--gt-bg); border: 1px solid transparent; font-size: 13px; font-weight: 600; line-height: 1.25;
}
.gt-rmenu__model .gt-device { width: 54px; height: 54px; }
.gt-rmenu__model small { color: var(--gt-muted); font-weight: 500; font-size: 11.5px; }
.gt-menu .gt-rmenu__model:hover { border-color: var(--gt-accent); background: #fff; color: var(--gt-ink); }
.gt-rmenu__grid--faults { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.gt-menu .gt-rmenu__fault { display: flex; align-items: center; gap: 10px; padding: 14px; border-radius: calc(14px * var(--gt-rk, 1)); background: var(--gt-bg); font-weight: 600; font-size: 14px; }
.gt-rmenu__fault .gt-icon { color: var(--gt-accent); flex: 0 0 auto; }
.gt-menu .gt-rmenu__fault:hover { background: #DCE6FF; color: var(--gt-ink); }

@media (max-width: 782px) {
	.gt-rmenu__panes { display: none; }
	.gt-rmenu__side { display: flex; flex-direction: column; gap: 10px; }
	.gt-rmenu__list { max-height: none; }
	.gt-menu .gt-rmenu__list a { padding: 12px 4px; border-radius: 0; border-bottom: 1px solid var(--gt-line); font-size: 16px; }
}

/* --- Página Reparações: séries ------------------------------------- */
.gt-serie-grid { margin-top: 24px; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.gt-serie-tile {
	display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: calc(18px * var(--gt-rk, 1)); text-decoration: none;
	background: var(--gt-dark-2); border: 1px solid var(--gt-dark-line); transition: border-color .15s;
}
.gt-dark .gt-serie-tile { color: #fff; }
.gt-serie-tile .gt-device { width: 40px; height: 40px; flex: 0 0 40px; }
.gt-serie-tile span { display: flex; flex-direction: column; }
.gt-serie-tile small { color: var(--gt-dark-text); }
.gt-serie-tile:hover { border-color: var(--gt-accent); }
.gt-repair__or { margin: 48px 0 0; font-size: 22px; font-weight: 800; font-stretch: 112%; color: #fff; display: flex; align-items: center; gap: 16px; }
.gt-repair__or::after { content: ""; flex: 1; height: 1px; background: var(--gt-dark-line); }

/* --- Página da série ------------------------------------------------ */
.gt-series-hero { padding: 48px 0 40px; }
.gt-serie-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.gt-serie-tabs a { padding: 10px 16px; min-height: 44px; display: inline-flex; align-items: center; border-radius: calc(22px * var(--gt-rk, 1)); border: 1px solid #3a4a6c; text-decoration: none; font-weight: 600; font-size: 14px; }
.gt-dark .gt-serie-tabs a { color: #fff; }
.gt-serie-tabs a[aria-current="page"] { background: var(--gt-accent); border-color: var(--gt-accent); }
.gt-model-group { margin-top: 40px; }
.gt-model-group:first-child { margin-top: 0; }
.gt-models { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
.gt-model {
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 18px 12px 16px;
	background: #fff; border: 1px solid var(--gt-line); border-radius: calc(20px * var(--gt-rk, 1)); text-decoration: none; transition: border-color .15s, transform .15s;
}
.gt-model:hover { border-color: var(--gt-accent); transform: translateY(-2px); color: var(--gt-ink); }
.gt-model__img { width: 96px; height: 96px; display: grid; place-items: center; }
.gt-model__img img { max-height: 96px; width: auto; object-fit: contain; }
.gt-model__name { font-weight: 700; font-size: 15px; line-height: 1.25; }
.gt-model__price { font-size: 13px; color: var(--gt-muted); }
.gt-model__price b { color: var(--gt-accent); }
.gt-models__empty { margin: 24px 0; }
.gt-notfound { margin-top: 40px; padding: 20px 24px; display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.gt-notfound > .gt-icon { color: var(--gt-accent); }
.gt-notfound > div { flex: 1 1 300px; display: flex; flex-direction: column; }
.gt-notfound span { color: var(--gt-muted); }

/* --- Página do modelo ----------------------------------------------- */
.gt-mhero { padding: 40px 0 48px; }
.gt-mhero__grid { display: flex; flex-wrap: wrap; gap: 32px; align-items: center; }
.gt-mhero__text { flex: 999 1 520px; min-width: 0; }
.gt-mhero__img { flex: 1 1 200px; max-width: 260px; aspect-ratio: 1; background: var(--gt-dark-2); border-radius: calc(28px * var(--gt-rk, 1)); padding: 24px; display: grid; place-items: center; }
.gt-mhero__img img { max-height: 210px; width: auto; object-fit: contain; }
.gt-chips { list-style: none; margin: 0 0 8px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.gt-chips li { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: calc(16px * var(--gt-rk, 1)); background: var(--gt-dark-2); border: 1px solid var(--gt-dark-line); font-size: 13px; font-weight: 600; color: #DCE4F2; }
.gt-chips .gt-icon { color: var(--gt-accent-light); }
.gt-chips li.is-accent { background: var(--gt-accent); border-color: var(--gt-accent); color: #fff; }
.gt-chips li.is-accent .gt-icon { color: #fff; }

.gt-quote { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.gt-quote__main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.gt-quote__head p { margin: 6px 0 0; }
.gt-quote__side { flex: 1 1 340px; position: sticky; top: 100px; display: flex; flex-direction: column; gap: 12px; }
.gt-quote__card { background: #fff; border: 1px solid var(--gt-line); border-radius: calc(24px * var(--gt-rk, 1)); padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.gt-quote__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 15px; }
.gt-quote__list li { display: flex; justify-content: space-between; gap: 12px; }
.gt-quote__list li b { font-family: var(--gt-mono); font-weight: 600; white-space: nowrap; }
.gt-quote__extras { display: flex; flex-direction: column; gap: 8px; border-top: 1px solid var(--gt-line); padding-top: 12px; }
.gt-quote__extras b { font-family: var(--gt-mono); font-weight: 600; }
.gt-quote__label { font-size: 13px; color: var(--gt-muted); }
.gt-quote__total { display: flex; flex-direction: column; gap: 2px; border-top: 1px solid var(--gt-line); padding-top: 12px; }
.gt-quote__total [data-discount-line] { display: flex; justify-content: space-between; font-size: 14px; color: #0E6B2E; margin-bottom: 6px; }
.gt-quote__value { font-family: var(--gt-mono); font-size: 32px; font-weight: 600; color: var(--gt-accent); }
.gt-row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gt-quote__book .gt-field select { font: inherit; font-size: 15px; min-height: 48px; border-radius: calc(12px * var(--gt-rk, 1)); padding: 10px 14px; border: 1px solid var(--gt-line); background: #fff; }
.gt-pills--stack { flex-direction: column; }
.gt-pills--stack .gt-pill span { width: 100%; min-height: 44px; padding: 10px 16px; font-size: 14px; }

.gt-repairs { display: flex; flex-direction: column; gap: 8px; }
.gt-repair-row { background: #fff; border: 1px solid var(--gt-line); border-radius: calc(18px * var(--gt-rk, 1)); transition: border-color .15s, box-shadow .15s; }
.gt-repair-row.is-on { border-color: var(--gt-accent); box-shadow: 0 0 0 1px var(--gt-accent); }
.gt-repair-row__check { position: absolute; opacity: 0; pointer-events: none; }
.gt-repair-row__label { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto 28px; align-items: center; gap: 14px; padding: 14px 16px; cursor: pointer; }
.gt-repair-row__icon { width: 48px; height: 48px; border-radius: calc(14px * var(--gt-rk, 1)); background: var(--gt-bg); color: var(--gt-accent); display: grid; place-items: center; }
.gt-repair-row__text { display: flex; flex-direction: column; }
.gt-repair-row__text b { font-size: 16px; }
.gt-repair-row__text small { color: var(--gt-muted); font-size: 13px; }
.gt-repair-row__price { text-align: right; white-space: nowrap; }
.gt-repair-row__price b { font-family: var(--gt-mono); font-size: 17px; }
.gt-repair-row__price small { color: var(--gt-muted); font-size: 12px; }
.gt-repair-row__tick { width: 28px; height: 28px; border-radius: calc(14px * var(--gt-rk, 1)); border: 2px solid var(--gt-line); display: grid; place-items: center; color: transparent; }
.gt-repair-row.is-on .gt-repair-row__tick { background: var(--gt-accent); border-color: var(--gt-accent); color: #fff; }
.gt-repair-row__check:focus-visible + .gt-repair-row__label { outline: 3px solid var(--gt-accent); outline-offset: 2px; border-radius: calc(18px * var(--gt-rk, 1)); }
.gt-repair-row__opts { display: none; border: 0; margin: 0; padding: 0 16px 16px 78px; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.gt-repair-row.is-on .gt-repair-row__opts { display: grid; }
.gt-repair-row__opts legend { font-size: 13px; color: var(--gt-muted); margin-bottom: 8px; padding: 0; }
.gt-opt2 input { position: absolute; opacity: 0; pointer-events: none; }
.gt-opt2 span { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: calc(14px * var(--gt-rk, 1)); border: 1px solid var(--gt-line); cursor: pointer; height: 100%; }
.gt-opt2 small { color: var(--gt-muted); font-size: 12.5px; }
.gt-opt2 em { font-style: normal; font-family: var(--gt-mono); font-weight: 600; margin-top: 4px; }
.gt-opt2 input:checked + span { border-color: var(--gt-accent); background: #EEF3FF; }
.gt-opt2 input:focus-visible + span { outline: 3px solid var(--gt-accent); outline-offset: 2px; }

.gt-swap { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; padding: 18px 20px; border-radius: calc(20px * var(--gt-rk, 1)); background: #DCE6FF; }
.gt-swap > .gt-icon { color: var(--gt-accent); }
.gt-swap > div { flex: 1 1 280px; display: flex; flex-direction: column; gap: 2px; }
.gt-swap__tip { color: #6B3A00; font-weight: 600; font-size: 14px; }
.gt-swap.is-alert { background: #FFF1D6; }

.gt-chiplinks { display: flex; flex-wrap: wrap; gap: 8px; }
.gt-chiplinks a { padding: 10px 16px; border-radius: calc(22px * var(--gt-rk, 1)); background: #fff; border: 1px solid var(--gt-line); text-decoration: none; font-weight: 600; font-size: 14px; }
.gt-chiplinks a:hover { border-color: var(--gt-accent); color: var(--gt-accent); }

.gt-quote__bar { display: none; }
@media (max-width: 782px) {
	.gt-mhero__img { max-width: 160px; padding: 16px; border-radius: calc(20px * var(--gt-rk, 1)); }
	.gt-quote__side { position: static; }
	.gt-repair-row__label { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 10px; padding: 12px; }
	.gt-repair-row__icon { width: 40px; height: 40px; }
	.gt-repair-row__tick { display: none; }
	.gt-repair-row__opts { padding: 0 12px 12px; }
	.gt-quote__bar {
		position: fixed; left: 12px; right: 12px; bottom: 84px; z-index: 64; display: flex; align-items: center; justify-content: space-between; gap: 12px;
		background: var(--gt-ink); color: #fff; border-radius: calc(20px * var(--gt-rk, 1)); padding: 10px 10px 10px 18px; box-shadow: 0 12px 30px -10px rgba(0,0,0,.5);
		transition: opacity .2s;
	}
	.gt-quote__bar[hidden], .gt-quote__bar.is-hidden { display: none !important; }
	.gt-quote__bar span { display: flex; flex-direction: column; }
	.gt-quote__bar small { color: var(--gt-dark-text); font-size: 12px; }
	.gt-quote__bar b { font-family: var(--gt-mono); font-size: 18px; }
	.gt-models { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.gt-model__img { width: 72px; height: 72px; }
	.gt-serie-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 782px) {
	.gt-quote__bar { right: 78px; }
}

/* --- 1.4 Cartões de opção dentro de cada avaria -------------------- */
.gt-repair-row__more { display: none; padding: 0 18px 18px 80px; }
.gt-repair-row.is-on .gt-repair-row__more { display: block; }
.gt-repair-row__intro { margin: 0 0 14px; color: var(--gt-ink-2); font-size: 15px; max-width: 62ch; }
.gt-tiers { border: 0; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.gt-tiers legend { float: left; width: 100%; padding: 0 0 10px; margin: 0; font-weight: 700; font-size: 15px; border-left: 3px solid var(--gt-accent); padding-left: 10px; margin-bottom: 12px; }
.gt-tier { position: relative; display: block; cursor: pointer; }
.gt-tier input { position: absolute; opacity: 0; pointer-events: none; }
.gt-tier__card {
	display: flex; flex-direction: column; gap: 10px; height: 100%; padding: 18px; border-radius: calc(18px * var(--gt-rk, 1));
	border: 1.5px solid var(--gt-line); background: #fff; transition: border-color .15s, box-shadow .15s;
}
.gt-tier:hover .gt-tier__card { border-color: #9DB6FF; }
.gt-tier input:checked + .gt-tier__card { border-color: var(--gt-accent); box-shadow: 0 0 0 1.5px var(--gt-accent), 0 12px 28px -18px rgba(30, 91, 255, .7); background: #F7F9FF; }
.gt-tier input:focus-visible + .gt-tier__card { outline: 3px solid var(--gt-accent); outline-offset: 3px; }
.gt-tier__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.gt-tier__name { font-size: 17px; line-height: 1.25; }
.gt-tier__badge { display: inline-flex; align-items: center; gap: 4px; flex: 0 0 auto; padding: 4px 10px; border-radius: calc(10px * var(--gt-rk, 1)); background: #FF6A2B; color: #fff; font-size: 12px; font-weight: 700; white-space: nowrap; }
.gt-tier__badge .gt-icon { fill: currentColor; }
.gt-tier__price { font-family: var(--gt-mono); font-weight: 600; font-size: 34px; line-height: 1; color: var(--gt-accent); display: flex; align-items: baseline; gap: 6px; }
.gt-tier__price small { font-family: var(--gt-font); font-size: 13px; color: var(--gt-muted); font-weight: 500; }
.gt-tier__quote { font-family: var(--gt-font); font-size: 18px; font-weight: 700; color: var(--gt-ink-2); }
.gt-tier__desc { font-size: 14px; color: var(--gt-ink-2); line-height: 1.5; }
.gt-tier__list { display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.gt-tier__list > span { display: flex; align-items: center; gap: 8px; }
.gt-tier__list .gt-icon { flex: 0 0 20px; width: 20px; height: 20px; padding: 3px; border-radius: calc(10px * var(--gt-rk, 1)); background: #1F9D55; color: #fff; stroke-width: 2.6; }
.gt-tier__time { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--gt-muted); }
.gt-tier__cta { margin-top: auto; display: flex; justify-content: center; align-items: center; min-height: 44px; border-radius: calc(22px * var(--gt-rk, 1)); border: 1.5px solid var(--gt-accent); color: var(--gt-accent); font-weight: 700; font-size: 14px; }
.gt-tier__cta-on { display: none; align-items: center; gap: 6px; }
.gt-tier input:checked + .gt-tier__card .gt-tier__cta { background: var(--gt-accent); color: #fff; }
.gt-tier input:checked + .gt-tier__card .gt-tier__cta-on { display: inline-flex; }
.gt-tier input:checked + .gt-tier__card .gt-tier__cta-off { display: none; }
.gt-tier-single p { margin: 0 0 10px; font-size: 14px; color: var(--gt-ink-2); }
@media (max-width: 782px) {
	.gt-repair-row__more { padding: 0 12px 14px; }
	.gt-tier__price { font-size: 28px; }
}
.gt-tiers legend { float: none; width: auto; display: block; }
.gt-tier__badge--alt { background: var(--gt-ink); }

/* ===================== Retoma — assistente em 5 passos (1.5) ===================== */
.gt-btn--ghost { background: transparent; color: var(--gt-ink); border: 1px solid var(--gt-line); }
.gt-btn--ghost:hover { border-color: var(--gt-ink); }
.gt-rt__hero { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 24px 40px; align-items: center; padding: clamp(22px, 4vw, 40px); }
.gt-rt__hero .gt-lead { margin-bottom: 0; }
.gt-rt__max { color: var(--gt-accent); white-space: nowrap; }
.gt-rt__perks { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-weight: 600; }
.gt-rt__perks li { display: flex; gap: 10px; align-items: center; }
.gt-rt__perks svg { color: var(--gt-accent); flex: none; }
.gt-rt__box { margin-top: 24px; padding: clamp(18px, 3.5vw, 36px); }
.gt-rt__steps { list-style: none; margin: 0 auto 8px; padding: 0 0 22px; display: flex; justify-content: center; border-bottom: 1px solid var(--gt-line); counter-reset: none; }
.gt-rt__steps li { display: flex; align-items: center; }
.gt-rt__steps li + li::before { content: ""; width: clamp(14px, 5vw, 56px); height: 2px; background: var(--gt-line); margin: 0 4px 18px; }
.gt-rt__steps button { display: grid; justify-items: center; gap: 6px; background: none; border: 0; padding: 0; cursor: pointer; font: inherit; color: var(--gt-muted); }
.gt-rt__steps button:disabled { cursor: default; }
.gt-rt__steps span { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; border: 2px solid var(--gt-line); background: #fff; font: 700 15px var(--gt-mono); color: var(--gt-ink-2); transition: .2s; }
.gt-rt__steps em { font-style: normal; font-size: 12px; font-weight: 600; }
.gt-rt__steps .is-on span { border-color: var(--gt-accent); color: var(--gt-accent); box-shadow: 0 0 0 4px rgba(30, 91, 255, .15); }
.gt-rt__steps .is-on em { color: var(--gt-ink); }
.gt-rt__steps .is-done span { background: var(--gt-ink); border-color: var(--gt-ink); color: #fff; }
.gt-rt__body { display: flex; gap: 28px; align-items: flex-start; flex-wrap: wrap; }
.gt-rt__main { flex: 999 1 520px; min-width: 0; }
.gt-rt__panel { padding-top: 22px; }
.gt-rt__h { font-size: clamp(20px, 2.6vw, 26px); font-weight: 800; letter-spacing: -.01em; margin: 0 0 6px; }
.gt-rt__h--sm { font-size: 20px; padding: 0; }
.gt-rt__sub { color: var(--gt-muted); margin: 0 0 16px; }
.gt-rt__tools { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 16px; }
.gt-rt__search { flex: 1 1 320px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--gt-line); border-radius: calc(12px * var(--gt-rk, 1)); padding: 0 14px; background: #fff; }
.gt-rt__search:focus-within { border-color: var(--gt-accent); box-shadow: 0 0 0 3px rgba(30, 91, 255, .15); }
.gt-rt__search svg { color: var(--gt-muted); flex: none; }
.gt-rt__search input { border: 0; outline: 0; padding: 13px 0; font: inherit; width: 100%; background: transparent; }
.gt-rt__tabs { display: flex; gap: 6px; background: var(--gt-bg); padding: 4px; border-radius: calc(12px * var(--gt-rk, 1)); }
.gt-rt__tabs button { border: 0; background: none; padding: 9px 14px; border-radius: 9px; font: 600 14px var(--gt-font); cursor: pointer; color: var(--gt-muted); }
.gt-rt__tabs [aria-selected="true"] { background: #fff; color: var(--gt-ink); box-shadow: 0 1px 3px rgba(13, 14, 16, .12); }
.gt-rt__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; max-height: 640px; overflow: auto; padding: 2px; }
.gt-rt__tile { display: grid; justify-items: center; gap: 2px; padding: 16px 10px 14px; border: 1px solid var(--gt-line); border-radius: calc(16px * var(--gt-rk, 1)); background: #fff; cursor: pointer; font: inherit; text-align: center; transition: border-color .15s, transform .15s, box-shadow .15s; }
.gt-rt__tile:hover { border-color: var(--gt-accent); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(13, 30, 80, .08); }
.gt-rt__tile.is-on { border-color: var(--gt-accent); box-shadow: 0 0 0 2px var(--gt-accent) inset; }
.gt-rt__tile small { color: var(--gt-muted); font-size: 12px; }
.gt-rt__tile b { font-size: 15px; line-height: 1.2; }
.gt-rt__tile em { font-style: normal; font: 600 12px var(--gt-mono); color: var(--gt-accent); margin-top: 4px; }
.gt-rt__img { display: block; width: 74px; height: 74px; }
.gt-rt__img .gt-device { width: 100%; height: 100%; }
.gt-rt__vazio { color: var(--gt-muted); }
.gt-rt__manual { margin-top: 10px; padding: 16px; border-radius: calc(14px * var(--gt-rk, 1)); background: var(--gt-bg); display: grid; gap: 12px; justify-items: start; }
.gt-rt__manual .gt-row { width: 100%; }
.gt-rt__chosen:not(:empty) { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: calc(14px * var(--gt-rk, 1)); background: var(--gt-bg); margin-bottom: 18px; }
.gt-rt__chosen .gt-rt__img { width: 44px; height: 44px; }
.gt-rt__chosen > span:nth-child(2) { display: grid; flex: 1; }
.gt-rt__chosen small { color: var(--gt-muted); font-size: 12px; }
.gt-rt__q { margin: 18px 0 0; }
.gt-rt__ql { font-weight: 700; margin: 0 0 4px; }
.gt-rt__qh { color: var(--gt-muted); font-size: 14px; margin: 0 0 8px; }
.gt-rt__ops, .gt-rt__caps { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-top: 8px; }
.gt-rt__op { position: relative; display: block; cursor: pointer; }
.gt-rt__op input { position: absolute; opacity: 0; pointer-events: none; }
.gt-rt__op span { display: grid; gap: 2px; height: 100%; padding: 12px 14px; border: 1px solid var(--gt-line); border-radius: calc(12px * var(--gt-rk, 1)); background: #fff; transition: .15s; }
.gt-rt__op small { color: var(--gt-muted); font-size: 13px; }
.gt-rt__op:hover span { border-color: var(--gt-ink-2); }
.gt-rt__op input:focus-visible + span { outline: 2px solid var(--gt-accent); outline-offset: 2px; }
.gt-rt__op input:checked + span { border-color: var(--gt-accent); box-shadow: 0 0 0 1px var(--gt-accent) inset; background: #F3F6FF; }
.gt-rt__op--cap small { font-family: var(--gt-mono); color: var(--gt-accent); }
.gt-rt__nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 24px; }
.gt-rt__nav .gt-btn:disabled { opacity: .45; cursor: not-allowed; }
.gt-rt__restart { color: var(--gt-muted); font-size: 14px; margin: 14px 0 0; }
.gt-rt__live { flex: 1 1 240px; position: sticky; top: 96px; margin-top: 22px; display: grid; gap: 6px; padding: 20px; border-radius: calc(18px * var(--gt-rk, 1)); background: var(--gt-dark-2); color: #fff; }
.gt-rt__live-l { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--gt-dark-text); }
.gt-rt__live-v { font: 800 clamp(28px, 4vw, 36px)/1.1 var(--gt-font); }
.gt-rt__live-m { color: var(--gt-dark-text); font-size: 14px; }
.gt-rt__live-n { color: var(--gt-dark-text); font-size: 12px; }
.gt-rt__bar { height: 6px; border-radius: 6px; background: var(--gt-dark-line); overflow: hidden; margin: 6px 0 2px; }
.gt-rt__bar i { display: block; height: 100%; width: 0; background: var(--gt-accent-light); transition: width .3s; }
.gt-rt__result { margin-bottom: 26px; }
.gt-rt__rl { font-weight: 700; color: var(--gt-muted); margin: 0; }
.gt-rt__rv { font: 800 clamp(40px, 7vw, 60px)/1 var(--gt-font); letter-spacing: -.02em; color: var(--gt-accent); margin: 6px 0 12px; }
.gt-rt__rt { font-size: 17px; max-width: 60ch; }
.gt-rt__bonus { margin: 0 0 14px; padding: 10px 14px; border-radius: calc(12px * var(--gt-rk, 1)); background: #EAF1FF; color: var(--gt-ink); }
.gt-rt__conta { list-style: none; margin: 0 0 12px; padding: 0; max-width: 560px; border-top: 1px solid var(--gt-line); }
.gt-rt__conta li { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px solid var(--gt-line); font-size: 15px; }
.gt-rt__conta b { font-family: var(--gt-mono); white-space: nowrap; }
.gt-rt__conta small { color: var(--gt-muted); }
.gt-rt__conta .is-menos b { color: #B42318; }
.gt-rt__conta .is-mais b { color: #1a7f37; }
.gt-rt__note { color: var(--gt-muted); font-size: 14px; max-width: 60ch; }
.gt-rt__book { border: 0; margin: 0; padding: 22px 0 0; border-top: 1px solid var(--gt-line); display: grid; gap: 14px; }
@media (max-width: 760px) {
	.gt-rt__hero { grid-template-columns: 1fr; }
	.gt-rt__steps em { display: none; }
	.gt-rt__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: none; }
	.gt-rt__live { position: fixed; left: 12px; right: 78px; bottom: 76px; top: auto; z-index: 40; margin: 0; padding: 12px 16px; grid-template-columns: 1fr auto; align-items: center; box-shadow: 0 10px 30px rgba(0, 0, 0, .3); }
	.gt-rt__live-l, .gt-rt__live-n, .gt-rt__bar { display: none; }
	.gt-rt__live-v { font-size: 22px; order: 2; }
	.gt-rt__live-m { order: 1; }
	.gt-rt__panel { padding-bottom: 70px; }
}

/* ===================== Portal TechAssist Pro (1.6) ===================== */
.gt-portal { padding: 0; overflow: hidden; margin-top: 18px; }
.gt-portal iframe { display: block; width: 100%; height: max(640px, 80vh); border: 0; background: #fff; }
.gt-portal__out { font-size: 14px; color: var(--gt-muted); margin: 10px 0 24px; }
.gt-portal__old { margin: 0 0 24px; }
.gt-portal__old summary { cursor: pointer; font-weight: 600; margin-bottom: 12px; }
.gt-notice__btn { display: inline-block; margin-left: 6px; padding: 6px 12px; border-radius: 999px; background: var(--gt-ink); color: #fff !important; font-weight: 700; text-decoration: none; }

/* ===================== Área de cliente (1.7) ===================== */
.gt-area { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 24px 40px; padding: clamp(20px, 4vw, 36px); margin: 18px 0 24px; align-items: start; }
.gt-area__cta { font-size: 17px; padding: 16px 26px; }
.gt-area__cod { margin: 16px 0 0; font-size: 15px; }
.gt-area__cod b { font-size: 20px; letter-spacing: 3px; }
.gt-area__how { color: var(--gt-muted); font-size: 14px; margin: 10px 0 0; }
.gt-area__steps { margin: 0; padding: 0; list-style: none; counter-reset: passo; display: grid; gap: 14px; }
.gt-area__steps li { counter-increment: passo; display: grid; grid-template-columns: 34px 1fr; column-gap: 12px; }
.gt-area__steps li::before { content: counter(passo); grid-row: span 2; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--gt-ink); color: #fff; font: 700 14px var(--gt-mono); }
.gt-area__steps span { color: var(--gt-muted); font-size: 14px; }
@media (max-width: 760px) { .gt-area { grid-template-columns: 1fr; } .gt-area__cta { width: 100%; justify-content: center; } }
