/* Trascriviamo – scheda prodotto: intestazione a sinistra + configuratore fisso a destra */
:root {
	--tr-blue: #1d5fa8;
	--tr-blue-soft: #eaf2fb;
	--tr-orange: #f08a1d;
	--tr-orange-dark: #d97a12;
	--tr-green: #2e9e5b;
	--tr-ink: #1b2430;
	--tr-ink-2: #4b5563;
	--tr-ink-3: #6b7280;
	--tr-line: #e5e7eb;
	--tr-bg-soft: #f3f4f6;
	--tr-teal: #0d7d88;
	--tr-cta: #c4621a;
	--tr-cta-dark: #a9521a;
	--tr-radius: 14px;
}

/* ---------- griglia ---------- */
body.tr-product-layout .woocommerce div.product,
body.tr-product-layout div.product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 400px;
	column-gap: 56px;
	row-gap: 0;
	align-items: start;
}
body.tr-product-layout div.product .tr-title { margin-bottom: 22px; }
body.tr-product-layout div.product .tr-hero { margin-bottom: 40px; }
body.tr-product-layout div.product::before,
body.tr-product-layout div.product::after { display: none; }
body.tr-product-layout div.product .woocommerce-product-gallery { display: none !important; }
body.tr-product-layout div.product .tr-title { grid-column: 1 / -1; grid-row: 1; min-width: 0; }
body.tr-product-layout div.product .tr-hero { grid-column: 1; grid-row: 2; min-width: 0; }
body.tr-product-layout div.product .woocommerce-tabs,
body.tr-product-layout div.product .tr-sections { grid-column: 1; grid-row: 3; min-width: 0; }
body.tr-product-layout div.product .related,
body.tr-product-layout div.product .upsells { grid-column: 1 / -1; }
body.tr-product-layout .woocommerce div.product div.summary,
body.tr-product-layout div.product .summary {
	grid-column: 2;
	grid-row: 2 / span 2;
	position: sticky;
	top: 24px;
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 26px 26px 22px;
	background: #fff;
	border: 1px solid var(--tr-line);
	border-radius: var(--tr-radius);
	box-shadow: 0 10px 34px rgba(17, 24, 39, .08);
	align-self: start;
	max-height: calc(100vh - 48px);
	overflow-y: auto;
	scrollbar-width: thin;
}
body.admin-bar.tr-product-layout div.product .summary { top: 56px; max-height: calc(100vh - 80px); }
body.tr-product-layout .product-title.product-above { margin-bottom: 8px; }

/* ---------- intestazione ---------- */
.tr-hero__title {
	font-size: clamp(1.8rem, 2.9vw, 2.6rem);
	line-height: 1.12;
	font-weight: 800;
	letter-spacing: -.015em;
	color: var(--tr-ink);
	margin: 0;
}
/* parole evidenziate (*testo* nel titolo): verde Trascriviamo + evidenziatore che si disegna */
.tr-hl { position: relative; z-index: 0; display: inline-block; white-space: nowrap; color: var(--tr-teal); }
.tr-hl__text { display: inline-block; animation: tr-hl-in .7s cubic-bezier(.2, .7, .2, 1) .15s both; }
.tr-hl::after {
	content: ""; position: absolute; z-index: -1; left: -.06em; right: -.06em; bottom: .06em; height: .32em;
	background: rgba(13, 125, 136, .16); border-radius: .25em;
	transform: scaleX(0); transform-origin: left center;
	animation: tr-hl-draw .75s cubic-bezier(.2, .7, .2, 1) .75s forwards;
}
@keyframes tr-hl-in { from { opacity: 0; transform: translateY(.35em); } to { opacity: 1; transform: none; } }
@keyframes tr-hl-draw { to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
	.tr-hl__text { animation: none; }
	.tr-hl::after { animation: none; transform: none; }
}
.tr-hero__subtitle { font-size: 1.15rem; line-height: 1.55; color: var(--tr-ink-2); max-width: 46rem; margin: 0 0 22px; }
.tr-hero__subtitle p { margin: 0 0 .6em; }
.tr-badges { list-style: none; margin: 0 0 26px; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.tr-badge {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 7px 14px; border: 1px solid var(--tr-line); border-radius: 999px;
	font-size: .9rem; color: var(--tr-ink); background: #fff;
}
.tr-stars { color: var(--tr-orange); letter-spacing: .05em; font-size: .85em; }
.tr-check { width: 14px; height: 14px; flex: 0 0 auto; background: no-repeat center / contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d7d88' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6L9 17l-5-5'/></svg>"); }

/* card Light / Premium */
.tr-plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 0 0 24px; }
/* badge "La più richiesta": a cavallo del bordo superiore, centrato, così non contende spazio al nome della formula */
.tr-plan__badge {
	position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); padding: 5px 12px; border-radius: 999px;
	background: var(--tr-teal); color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
}
.tr-plans { padding-top: 12px; }
.tr-plan {
	position: relative; display: block; text-align: left; width: 100%;
	background: #fff; border: 1px solid var(--tr-line); border-radius: var(--tr-radius);
	padding: 22px 22px 20px; cursor: pointer; transition: border-color .15s, box-shadow .15s, transform .15s;
	font: inherit; color: inherit;
}
.tr-plan:hover { border-color: #cbd5e1; box-shadow: 0 6px 20px rgba(17, 24, 39, .06); }
.tr-plan.is-selected { border: 2px solid var(--tr-blue); padding: 21px 21px 19px; box-shadow: 0 10px 30px rgba(29, 95, 168, .14); }
/* nome della formula = elemento principale della card; sotto, in piccolo, la sua definizione */
.tr-plan__eyebrow { display: block; font-size: 1.45rem; font-weight: 800; letter-spacing: -.01em; line-height: 1.15; color: var(--tr-blue); margin-bottom: 4px; }
.tr-plan__title { font-size: 1rem; font-weight: 600; color: var(--tr-ink); margin: 0 0 6px; line-height: 1.3; }
.tr-plan__desc { font-size: .88rem; color: var(--tr-ink-3); margin: 0 0 14px; line-height: 1.45; }
.tr-plan__price { display: flex; align-items: baseline; gap: 6px; margin: 0 0 16px; color: var(--tr-blue); }
.tr-plan__price .tr-plan__from { font-size: 1.1rem; font-weight: 700; }
.tr-plan__price .tr-plan__amount { font-size: 2rem; font-weight: 800; letter-spacing: -.02em; line-height: 1; }
.tr-plan__price .tr-plan__vat { font-size: .78rem; font-weight: 700; color: var(--tr-ink-3); }
.tr-plan__bullets { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.tr-plan__bullets li { position: relative; padding-left: 26px; font-size: .95rem; color: var(--tr-ink); }
.tr-plan__bullets li::before {
	content: ""; position: absolute; left: 0; top: .2em; width: 16px; height: 16px;
	background: no-repeat center / contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232e9e5b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6L9 17l-5-5'/></svg>");
}
/* flashcard "Non sai quale scegliere?" */
.tr-flash { margin: 0; }
.tr-flash__title { font-size: 1.35rem; font-weight: 800; color: var(--tr-ink); margin: 0 0 4px; }
.tr-flash__hint { font-size: .95rem; color: var(--tr-ink-3); margin: 0 0 16px; }
.tr-flash__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tr-flash__card { position: relative; display: flex; perspective: 1200px; cursor: pointer; outline: none; }
.tr-flash__inner { display: grid; width: 100%; height: 100%; min-height: 118px; transition: transform .6s cubic-bezier(.2, .7, .2, 1); transform-style: preserve-3d; }
.tr-flash__card.is-flipped .tr-flash__inner { transform: rotateY(180deg); }
.tr-flash__face {
	grid-area: 1 / 1; position: relative; display: flex; flex-direction: column; justify-content: center; gap: 6px;
	padding: 14px 16px; border-radius: var(--tr-radius); border: 1px solid var(--tr-line); background: #fff;
	backface-visibility: hidden; -webkit-backface-visibility: hidden; box-shadow: 0 6px 20px rgba(17, 24, 39, .05);
	transition: box-shadow .15s, border-color .15s, transform .15s;
}
.tr-flash__card:hover .tr-flash__front, .tr-flash__card:focus-visible .tr-flash__front { border-color: #cbd5e1; box-shadow: 0 10px 28px rgba(17, 24, 39, .09); transform: translateY(-2px); }
.tr-flash__num { width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: .72rem; font-weight: 800; color: var(--tr-teal); background: rgba(13, 125, 136, .12); }
.tr-flash__q { font-size: .98rem; font-weight: 700; line-height: 1.3; color: var(--tr-ink); margin: 2px 0; }
.tr-flash__cta { font-size: .78rem; font-weight: 700; color: var(--tr-teal); }
.tr-flash__cta::after { content: " ↻"; }
.tr-flash__back { transform: rotateY(180deg); border-width: 2px; }
.tr-flash__back { border-color: var(--tr-blue); }
.tr-flash__eyebrow { font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--tr-ink-3); }
.tr-flash__plan { font-size: 1.35rem; font-weight: 800; letter-spacing: .02em; line-height: 1.1; }
.tr-flash__plan { color: var(--tr-blue); }
/* pulsante "Scegli LIGHT": stessa forma del pulsante principale (buttons.css) in versione "ghost": bianco, bordo arancione, testo scuro */
body.tr-product-layout .tr-flash__back button.tr-flash__choose.button { align-self: flex-start; margin-top: 6px; background: #fff; color: var(--tr-ink); border-color: var(--tr-btn-bg); box-shadow: none; }
body.tr-product-layout .tr-flash__back button.tr-flash__choose.button:hover,
body.tr-product-layout .tr-flash__back button.tr-flash__choose.button:focus { background: #fdf3ec; color: var(--tr-ink); border-color: var(--tr-btn-bg-hover); box-shadow: none; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.tr-flash__inner { transition: none; }
}
@media (max-width: 880px) { .tr-flash__grid { grid-template-columns: 1fr; } .tr-flash__inner { min-height: 96px; } }

/* ---------- configuratore ---------- */
.tr-eyebrow { display: block; font-size: 1rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.tr-eyebrow--orange { color: var(--tr-orange); }
.tr-config-head { margin: 0 0 18px; }
.tr-config-title { font-size: 1.35rem; font-weight: 800; color: var(--tr-ink); margin: 4px 0 8px; line-height: 1.2; }
.tr-config-intro { font-size: .9rem; color: var(--tr-ink-3); margin: 0; line-height: 1.45; }
.tr-config-intro + .tr-config-intro { margin-top: .55em; }

body.tr-product-layout div.product .summary form.cart { margin: 0; }
body.tr-product-layout div.product .summary .wapf-product-totals { display: none; }
body.tr-product-layout div.product .summary .quantity { display: none; }
body.tr-product-layout div.product .summary .wapf-wrapper { margin-bottom: 0; }
body.tr-product-layout div.product .summary .wapf-field-container { margin: 0 0 16px; }
body.tr-product-layout div.product .summary .wapf-field-group > .wapf-field-container:last-child { margin-bottom: 0; }
body.tr-product-layout div.product .summary .wapf-field-label label { font-size: .9rem; font-weight: 700; color: var(--tr-ink); margin-bottom: 6px; }
body.tr-product-layout div.product .summary .wapf-field-label abbr.required { text-decoration: none; color: var(--tr-orange); }
body.tr-product-layout div.product .summary .wapf-field-description { font-size: .8rem; color: var(--tr-ink-3); margin-top: 6px; line-height: 1.4; }

/* tendine */
body.tr-product-layout div.product .summary .wapf select,
body.tr-product-layout div.product .summary .wapf input[type="text"],
body.tr-product-layout div.product .summary .wapf input[type="number"],
body.tr-product-layout div.product .summary .wapf textarea {
	width: 100%; min-height: 50px; padding: 12px 40px 12px 14px; font-size: 1rem; color: var(--tr-ink);
	background: #fff; border: 1px solid #d1d5db; border-radius: 9px; box-shadow: none;
}
body.tr-product-layout div.product .summary .wapf select { appearance: none; -webkit-appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b2430' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");
	background-repeat: no-repeat; background-position: right 14px center; background-size: 14px; }
body.tr-product-layout div.product .summary .wapf select:focus,
body.tr-product-layout div.product .summary .wapf input:focus { outline: none; border-color: var(--tr-blue); box-shadow: 0 0 0 3px rgba(29, 95, 168, .15); }

/* pulsanti radio / checkbox (in attesa delle tendine) */
body.tr-product-layout div.product .summary .wapf-radios,
body.tr-product-layout div.product .summary .wapf-checkboxes { display: grid; gap: 6px; }
body.tr-product-layout div.product .summary .wapf-radios.tr-radios--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.tr-product-layout div.product .summary .wapf-radio label.wapf-input-label,
body.tr-product-layout div.product .summary .wapf-checkbox label.wapf-input-label {
	display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 10px 12px;
	border: 1px solid var(--tr-line); border-radius: 9px; cursor: pointer; font-size: .95rem; line-height: 1.35; color: var(--tr-ink); background: #fff;
}
body.tr-product-layout div.product .summary .wapf-radio.wapf-checked label.wapf-input-label,
body.tr-product-layout div.product .summary .wapf-checkbox.wapf-checked label.wapf-input-label,
body.tr-product-layout div.product .summary .wapf-radio label.wapf-input-label:has(input:checked),
body.tr-product-layout div.product .summary .wapf-checkbox label.wapf-input-label:has(input:checked) {
	border-color: var(--tr-blue); background: var(--tr-blue-soft);
}
body.tr-product-layout div.product .summary .wapf-radio input.wapf-input,
body.tr-product-layout div.product .summary .wapf-checkbox input.wapf-input { margin: .2em 0 0; flex: 0 0 auto; accent-color: var(--tr-blue); }
body.tr-product-layout div.product .summary .wapf-pricing-hint { color: var(--tr-ink-3); font-size: .88em; white-space: nowrap; }
body.tr-product-layout div.product .summary .wapf-field-products .wapf-pricing-hint { display: none; }

/* caricamento file (dropzone di APF) */
body.tr-product-layout div.product .summary .wapf-field-file .dzone {
	border: 2px dashed #c7d2de; border-radius: 9px; background: var(--tr-bg-soft); padding: 18px 14px; min-height: 0;
	color: var(--tr-ink-2); font-size: .92rem; transition: border-color .15s, background-color .15s;
}
body.tr-product-layout div.product .summary .wapf-field-file .dzone:hover,
body.tr-product-layout div.product .summary .wapf-field-file .dzone.dz-drag-hover { border-color: var(--tr-blue); background: var(--tr-blue-soft); }
body.tr-product-layout div.product .summary .wapf-field-file .dz-message { margin: 0; text-align: center; }
body.tr-product-layout div.product .summary .wapf-field-file .dz-message a,
body.tr-product-layout div.product .summary .wapf-field-file .dz-message u { color: var(--tr-blue); font-weight: 700; text-decoration: underline; }
body.tr-product-layout div.product .summary .wapf-field-file .dz-preview { margin: 8px 0 0; }

/* errori di validazione (campi obbligatori) */
.tr-field-error { color: #b42318; font-size: .84rem; font-weight: 600; margin-top: 6px; line-height: 1.35; }
body.tr-product-layout div.product .summary .wapf-field-container.tr-invalid .wapf-field-label label { color: #b42318; }
body.tr-product-layout div.product .summary .wapf-field-container.tr-invalid .dzone,
body.tr-product-layout div.product .summary .wapf-field-container.tr-invalid .wapf-input-label,
body.tr-product-layout div.product .summary .wapf-field-container.tr-invalid select,
body.tr-product-layout div.product .summary .wapf-field-container.tr-invalid input[type="text"],
body.tr-product-layout div.product .summary .wapf-field-container.tr-invalid textarea { border-color: #d92d20; }
body.tr-product-layout div.product .summary .wapf-field-container.tr-invalid .dzone { background: #fef3f2; }

/* riepilogo prezzi */
.tr-summary { border-top: 1px solid var(--tr-line); margin: 6px 0 18px; padding-top: 16px; }
.tr-summary__row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 5px 0; font-size: 1rem; color: var(--tr-ink-2); }
.tr-summary__row strong { color: var(--tr-ink); font-weight: 700; font-variant-numeric: tabular-nums; }
.tr-summary__row--total { margin-top: 6px; padding-top: 12px; border-top: 1px solid var(--tr-line); font-size: 1.35rem; font-weight: 800; color: var(--tr-blue); }
.tr-summary__row--total strong { color: var(--tr-blue); font-size: 1.5rem; }
.tr-summary__row[hidden] { display: none; }

/* pulsante: stile globale (buttons.css); qui solo a tutta larghezza */
body.tr-product-layout div.product .summary .single_add_to_cart_button,
body.tr-product-layout div.product .summary button.single_add_to_cart_button.button.alt { display: block; width: 100%; margin: 0; float: none; clear: both; }

/* rassicurazioni */
.tr-reassurance { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin-top: 16px; clear: both; width: 100%; }
.tr-reassurance__item span { display: inline; }
.tr-reassurance__item { background: var(--tr-bg-soft); border-radius: 10px; padding: 12px 14px; font-size: .8rem; line-height: 1.35; color: var(--tr-ink-3); }
.tr-reassurance__item strong { display: block; color: var(--tr-ink); font-size: .84rem; margin-bottom: 2px; }

/* ---------- sezioni informative (ex tab) ---------- */
body.tr-product-layout div.product .woocommerce-tabs { margin-top: 0; }
.tr-sections { margin: 8px 0 0; }
.tr-sections__title { font-size: 1.35rem; font-weight: 800; color: var(--tr-ink); margin: 0 0 6px; }
.tr-sections [hidden] { display: none !important; }
/* testo dentro le sezioni */
.tr-sections .entry-content { font-size: .98rem; line-height: 1.6; color: var(--tr-ink-2); }
.tr-sections .entry-content > :first-child { margin-top: 0; }
.tr-sections .entry-content > :last-child { margin-bottom: 0; }
.tr-sections .entry-content p, .tr-sections .entry-content ul, .tr-sections .entry-content ol { margin: 0 0 .9em; }
.tr-sections .entry-content ul, .tr-sections .entry-content ol { padding-left: 1.3em; }
.tr-sections .entry-content li { margin-bottom: .35em; }
.tr-sections .entry-content h4 { font-size: 1.02rem; font-weight: 700; color: var(--tr-ink); margin: 1.3em 0 .4em; line-height: 1.3; }
.tr-sections .entry-content h4:first-child { margin-top: 0; }
.tr-sections .entry-content strong { color: var(--tr-ink); }

/* pulsanti di apertura: azzerano lo stile pulsante del tema */
.tr-acc__btn, .tr-sub__btn {
	display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%;
	margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; cursor: pointer; text-align: left;
	font: inherit; color: var(--tr-ink); letter-spacing: 0; text-transform: none; min-height: 0; line-height: 1.3;
}
.tr-sections .tr-acc__btn:hover, .tr-sections .tr-sub__btn:hover { background: none; color: var(--tr-blue); box-shadow: none; transform: none; }
/* il tema colora i pulsanti su :focus/:active: qui restano trasparenti */
.tr-sections .tr-acc__btn:focus, .tr-sections .tr-acc__btn:active, .tr-sections .tr-sub__btn:focus, .tr-sections .tr-sub__btn:active,
.tr-sections .tr-tabs__tab:focus, .tr-sections .tr-tabs__tab:active { background: none; color: var(--tr-ink); box-shadow: none; outline: none; transform: none; }
.tr-sections .tr-acc__btn:focus-visible, .tr-sections .tr-sub__btn:focus-visible { outline: 3px solid rgba(29, 95, 168, .3); outline-offset: 2px; border-radius: 6px; }
.tr-acc__icon, .tr-sub__icon {
	flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; background: var(--tr-blue-soft);
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d5fa8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");
	background-repeat: no-repeat; background-position: center; background-size: 16px; transition: transform .3s, background-color .2s;
}
.is-open > .tr-acc__heading .tr-acc__icon, .is-open > .tr-sub__heading .tr-sub__icon {
	transform: rotate(180deg); background-color: var(--tr-blue);
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");
}

/* A) accordion: una voce per tab */
.tr-acc { border-top: 1px solid var(--tr-line); }
.tr-acc__item { border-bottom: 1px solid var(--tr-line); }
.tr-acc__heading { margin: 0; font-size: 1.08rem; font-weight: 700; }
.tr-acc__btn { padding: 18px 0; }
.tr-acc__panel { display: grid; grid-template-rows: 1fr; transition: grid-template-rows .35s cubic-bezier(.2, .7, .2, 1); }
.tr-acc__body { min-height: 0; overflow: hidden; }
.tr-acc__item.is-open .tr-acc__body { padding: 2px 0 24px; }
.tr-sections.js .tr-acc__item:not(.is-open) .tr-acc__panel { grid-template-rows: 0fr; visibility: hidden; }

/* B) tab su una riga (scorrevole) + accordion interni */
.tr-tabs__wrap { position: relative; margin: 0 0 22px; }
.tr-tabs { display: flex; gap: 18px; border-bottom: 1px solid var(--tr-line); overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; }
.tr-tabs::-webkit-scrollbar { display: none; }
/* sfumatura ai bordi quando la riga scorre (telefono) */
.tr-tabs__wrap::before, .tr-tabs__wrap::after { content: ""; position: absolute; top: 0; bottom: 1px; width: 44px; pointer-events: none; opacity: 0; transition: opacity .2s; }
.tr-tabs__wrap::before { left: 0; background: linear-gradient(to right, #fff, rgba(255, 255, 255, 0)); }
.tr-tabs__wrap::after { right: 0; background: linear-gradient(to left, #fff, rgba(255, 255, 255, 0)); }
.tr-tabs__wrap.is-overflow-left::before, .tr-tabs__wrap.is-overflow-right::after { opacity: 1; }
.tr-tabs__tab {
	flex: 0 0 auto; margin: 0 0 -1px; padding: 12px 1px 11px; border: 0; border-bottom: 2px solid transparent; border-radius: 0;
	background: none; box-shadow: none; cursor: pointer; white-space: nowrap; min-height: 0;
	font: inherit; font-size: .92rem; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--tr-ink-3); transition: color .15s, border-color .15s;
}
.tr-sections .tr-tabs__tab:hover { background: none; color: var(--tr-ink); box-shadow: none; transform: none; }
.tr-sections .tr-tabs__tab[aria-selected="true"], .tr-sections .tr-tabs__tab[aria-selected="true"]:focus { color: var(--tr-blue); border-bottom-color: var(--tr-blue); }
.tr-sections .tr-tabs__tab:focus-visible { outline: 3px solid rgba(29, 95, 168, .3); outline-offset: -3px; border-radius: 6px; }
.tr-sub { border-bottom: 1px solid var(--tr-line); }
.tr-tabs__body > :not(.tr-sub) + .tr-sub, .tr-acc__body .tr-sub:first-child { border-top: 1px solid var(--tr-line); }
.tr-acc__item, .tr-tabs__panel, .tr-sections { scroll-margin-top: 24px; }
body.admin-bar .tr-acc__item, body.admin-bar .tr-tabs__panel, body.admin-bar .tr-sections { scroll-margin-top: 56px; }
.tr-sub__heading { margin: 0; font-size: 1.02rem; font-weight: 700; }
.tr-sub__btn { padding: 15px 0; }
.tr-sub__icon { width: 26px; height: 26px; background-size: 14px; }
.tr-sub__panel { display: grid; grid-template-rows: 1fr; transition: grid-template-rows .3s cubic-bezier(.2, .7, .2, 1); }
.tr-sub__body { min-height: 0; overflow: hidden; }
.tr-sub.is-open .tr-sub__body { padding: 0 0 18px; }
.tr-sections.js .tr-sub:not(.is-open) .tr-sub__panel { grid-template-rows: 0fr; visibility: hidden; }
.tr-tabs__body > p:not(:last-child) { margin-bottom: 1em; }
@media (prefers-reduced-motion: reduce) {
	.tr-acc__panel, .tr-sub__panel, .tr-acc__icon, .tr-sub__icon { transition: none; }
}

/* ---------- responsive ---------- */
@media (max-width: 1024px) {
	body.tr-product-layout div.product { grid-template-columns: minmax(0, 1fr) 360px; column-gap: 32px; }
}
@media (max-width: 880px) {
	body.tr-product-layout .woocommerce div.product,
	body.tr-product-layout div.product { grid-template-columns: minmax(0, 1fr); row-gap: 28px; }
	body.tr-product-layout div.product .tr-title { grid-column: 1; grid-row: auto; }
	body.tr-product-layout div.product .tr-hero { grid-column: 1; grid-row: auto; margin-bottom: 0; }
	body.tr-product-layout .woocommerce div.product div.summary,
	body.tr-product-layout div.product .summary { grid-column: 1; grid-row: auto; position: static; padding: 20px 18px; max-height: none; overflow: visible; }
	body.tr-product-layout div.product .woocommerce-tabs,
	body.tr-product-layout div.product .tr-sections { grid-column: 1; grid-row: auto; }
	.tr-plans { grid-template-columns: 1fr; }
}

/* titolo "Preventiva i costi" nell'arancione dei pulsanti */
.tr-config-title { color: var(--tr-cta) !important; letter-spacing: .02em; }

/* badge sotto il sottotitolo: più evidenti (fondo teal chiaro, testo in grassetto, spunta in un cerchio pieno) */
.tr-badges { gap: 10px 12px; justify-content: center; }
.tr-badge {
	padding: 9px 16px 9px 10px; gap: 9px;
	border: 1px solid rgba(13, 125, 136, .35); background: linear-gradient(180deg, #eef8f9 0%, #e1f1f3 100%);
	color: #0b4f56; font-size: .95rem; font-weight: 700;
	box-shadow: 0 2px 6px rgba(13, 125, 136, .12);
}
.tr-badge .tr-check {
	width: 22px; height: 22px; border-radius: 50%; background-color: var(--tr-teal); background-size: 13px 13px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6L9 17l-5-5'/></svg>");
}
.tr-badge .tr-stars { font-size: 1em; }
@media (max-width: 600px) { .tr-badge { font-size: .88rem; padding: 7px 12px 7px 8px; } .tr-badge .tr-check { width: 20px; height: 20px; } }
