/* =============================================================================
   TPKB Page Styles — v1.0.1
   Benefit cards · Included items · Warning list · CGV table
   Fonts: Epilogue (headings) · Montserrat (body)
   Palette: #A08254 gold · #0C1315 deep bg · #161A1D card bg · #E9E9E9 text
   ============================================================================= */

/* ── Benefit Cards (Benefits section — horizontal 4-col bar) ──────────────── */

.tpkb-bcard {
	display:        flex;
	flex-direction: column;
	height:         100%;
}

.tpkb-bcard__icon {
	width:         52px;
	height:        52px;
	margin-bottom: 22px;
	flex-shrink:   0;
}

.tpkb-bcard__icon svg {
	width:  100%;
	height: 100%;
	display: block;
}

.tpkb-bcard__title {
	font-family:  'Epilogue', sans-serif;
	font-size:    17px;
	font-weight:  700;
	color:        #E9E9E9;
	margin:       0 0 10px;
	line-height:  1.3;
}

.tpkb-bcard__desc {
	font-family: 'Montserrat', sans-serif;
	font-size:   13px;
	color:       rgba(233, 233, 233, 0.65);
	line-height: 1.75;
	margin:      0;
}

/* ── Included Items (What We Handle section — icon left, text right) ──────── */

.tpkb-icard {
	display:       flex;
	align-items:   flex-start;
	gap:           16px;
	padding-bottom: 24px;
	margin-bottom:  24px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.tpkb-icard:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.tpkb-icard__icon {
	width:      40px;
	height:     40px;
	min-width:  40px;
	background: rgba(160, 130, 84, 0.08);
	border:     1px solid rgba(160, 130, 84, 0.18);
	border-radius: 8px;
	padding:    8px;
	box-sizing: border-box;
}

.tpkb-icard__icon svg {
	width:   100%;
	height:  100%;
	display: block;
}

.tpkb-icard__title {
	font-family:  'Epilogue', sans-serif;
	font-size:    15px;
	font-weight:  700;
	color:        #E9E9E9;
	margin:       0 0 5px;
	line-height:  1.3;
}

.tpkb-icard__desc {
	font-family: 'Montserrat', sans-serif;
	font-size:   13px;
	color:       rgba(233, 233, 233, 0.6);
	line-height: 1.65;
	margin:      0;
}

/* ── Warning List (Things to Know — right column) ─────────────────────────── */

.tpkb-warning-list {
	list-style: none;
	margin:     0;
	padding:    0;
}

.tpkb-warning-list li {
	font-family:  'Montserrat', sans-serif;
	font-size:    13px;
	color:        rgba(233, 233, 233, 0.72);
	line-height:  1.65;
	padding:      12px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	display:      flex;
	align-items:  flex-start;
	gap:          12px;
}

.tpkb-warning-list li:last-child {
	border-bottom: none;
}

.tpkb-warning-list li::before {
	content:     "";
	display:     inline-block;
	width:       16px;
	min-width:   16px;
	height:      16px;
	margin-top:  1px;
	background:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A08254' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E") no-repeat center;
	background-size: contain;
}

/* ── CGV Table (Article 4 — Packs & Prices) ───────────────────────────────── */

.tpkb-cgv-table {
	width:           100%;
	border-collapse: collapse;
	font-family:     'Montserrat', sans-serif;
	font-size:       13px;
	margin:          20px 0 24px;
	border:          1px solid rgba(160, 130, 84, 0.2);
	border-radius:   6px;
	overflow:        hidden;
}

.tpkb-cgv-table th {
	background:     rgba(160, 130, 84, 0.12);
	color:          #A08254;
	font-weight:    600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size:      11px;
	padding:        10px 14px;
	text-align:     left;
	border-bottom:  1px solid rgba(160, 130, 84, 0.25);
}

.tpkb-cgv-table td {
	padding:       10px 14px;
	color:         rgba(233, 233, 233, 0.75);
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	vertical-align: top;
}

.tpkb-cgv-table tr:last-child td {
	border-bottom: none;
}

.tpkb-cgv-table tr:hover td {
	background: rgba(255, 255, 255, 0.02);
}

/* ── Text-editor list reset for CGV articles ──────────────────────────────── */
/* Motors theme may reset list-style; ensure clean rendering in legal content */

.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol {
	margin:  14px 0 14px 22px;
	padding: 0;
}

.elementor-widget-text-editor ul {
	list-style: disc;
}

.elementor-widget-text-editor ol {
	list-style: decimal;
}

.elementor-widget-text-editor ul li,
.elementor-widget-text-editor ol li {
	margin:      6px 0;
	line-height: 1.8;
}

/* =============================================================================
   v1.0.2 additions — About · B2B · Location Card · Partner Gate
   ============================================================================= */

/* ── Stat Cards (About — global network) ──────────────────────────────────── */

.tpkb-stat-card {
	background:    rgba(255, 255, 255, 0.03);
	border:        1px solid rgba(160, 130, 84, 0.18);
	border-radius: 12px;
	padding:       36px 24px;
	text-align:    center;
	height:        100%;
	box-sizing:    border-box;
}

.tpkb-stat-card__flag {
	font-size:     40px;
	display:       block;
	margin-bottom: 14px;
	line-height:   1;
}

.tpkb-stat-card__country {
	font-family:    'Montserrat', sans-serif;
	font-size:      11px;
	font-weight:    600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color:          #A08254;
	margin:         0 0 8px;
}

.tpkb-stat-card__name {
	font-family: 'Epilogue', sans-serif;
	font-size:   19px;
	font-weight: 700;
	color:       #E9E9E9;
	margin:      0 0 14px;
	line-height: 1.25;
}

.tpkb-stat-card__desc {
	font-family: 'Montserrat', sans-serif;
	font-size:   13px;
	color:       rgba(233, 233, 233, 0.55);
	line-height: 1.75;
	margin:      0;
}

/* ── Value Cards (About — Our Values) ─────────────────────────────────────── */

.tpkb-vcard {
	display:        flex;
	flex-direction: column;
	height:         100%;
	padding:        32px 24px;
	background:     rgba(255, 255, 255, 0.025);
	border:         1px solid rgba(160, 130, 84, 0.12);
	border-radius:  10px;
	box-sizing:     border-box;
}

.tpkb-vcard__icon {
	width:         48px;
	height:        48px;
	margin-bottom: 20px;
	flex-shrink:   0;
}

.tpkb-vcard__icon svg { width: 100%; height: 100%; display: block; }

.tpkb-vcard__title {
	font-family:  'Epilogue', sans-serif;
	font-size:    17px;
	font-weight:  700;
	color:        #E9E9E9;
	margin:       0 0 12px;
	line-height:  1.3;
}

.tpkb-vcard__desc {
	font-family: 'Montserrat', sans-serif;
	font-size:   13px;
	color:       rgba(233, 233, 233, 0.60);
	line-height: 1.75;
	margin:      0;
}

/* ── Location Card (custom widget) ────────────────────────────────────────── */

.tpkb-loc-card {
	background:    rgba(160, 130, 84, 0.04);
	border:        1px solid rgba(160, 130, 84, 0.18);
	border-radius: 12px;
	padding:       36px 32px;
	box-sizing:    border-box;
}

.tpkb-loc-card__company {
	font-family:    'Epilogue', sans-serif;
	font-size:      18px;
	font-weight:    700;
	color:          #E9E9E9;
	display:        block;
	margin-bottom:  24px;
	padding-bottom: 20px;
	border-bottom:  1px solid rgba(160, 130, 84, 0.18);
}

.tpkb-loc-card__row {
	display:       flex;
	align-items:   flex-start;
	gap:           14px;
	margin-bottom: 16px;
}

.tpkb-loc-card__row:last-of-type { margin-bottom: 0; }

.tpkb-loc-card__icon {
	width:      20px;
	height:     20px;
	min-width:  20px;
	margin-top: 1px;
	flex-shrink: 0;
}

.tpkb-loc-card__icon svg { width: 100%; height: 100%; display: block; }

.tpkb-loc-card__text {
	font-family: 'Montserrat', sans-serif;
	font-size:   13px;
	color:       rgba(233, 233, 233, 0.72);
	line-height: 1.6;
}

.tpkb-loc-card__link {
	font-family:     'Montserrat', sans-serif;
	font-size:       13px;
	color:           #A08254;
	text-decoration: none;
	line-height:     1.6;
	transition:      opacity 0.2s;
}

.tpkb-loc-card__link:hover { opacity: 0.75; }

.tpkb-loc-card__map-btn {
	display:         inline-block;
	margin-top:      24px;
	font-family:     'Montserrat', sans-serif;
	font-size:       11px;
	font-weight:     600;
	letter-spacing:  0.08em;
	text-transform:  uppercase;
	color:           #A08254;
	text-decoration: none;
	border:          1px solid rgba(160, 130, 84, 0.35);
	border-radius:   4px;
	padding:         10px 18px;
	transition:      background 0.2s;
}

.tpkb-loc-card__map-btn:hover { background: rgba(160, 130, 84, 0.10); }

/* ── B2B Public Service Cards ──────────────────────────────────────────────── */

.tpkb-b2b-card {
	padding:     28px 22px;
	border-left: 3px solid #A08254;
	background:  rgba(160, 130, 84, 0.04);
	height:      100%;
	box-sizing:  border-box;
}

.tpkb-b2b-card__title {
	font-family: 'Epilogue', sans-serif;
	font-size:   16px;
	font-weight: 700;
	color:       #E9E9E9;
	margin:      0 0 10px;
}

.tpkb-b2b-card__desc {
	font-family: 'Montserrat', sans-serif;
	font-size:   13px;
	color:       rgba(233, 233, 233, 0.58);
	line-height: 1.75;
	margin:      0;
}

/* ── Partner Gate (password lock widget) ──────────────────────────────────── */

.tpkb-gate-lock {
	text-align:    center;
	padding:       52px 32px;
	background:    rgba(160, 130, 84, 0.04);
	border:        1px solid rgba(160, 130, 84, 0.20);
	border-radius: 12px;
	max-width:     600px;
	margin:        0 auto;
}

.tpkb-gate-lock__icon {
	width:  52px;
	height: 52px;
	margin: 0 auto 20px;
}

.tpkb-gate-lock__icon svg { width: 100%; height: 100%; display: block; }

.tpkb-gate-lock__title {
	font-family: 'Epilogue', sans-serif;
	font-size:   24px;
	font-weight: 700;
	color:       #E9E9E9;
	margin:      0 0 12px;
}

.tpkb-gate-lock__desc {
	font-family: 'Montserrat', sans-serif;
	font-size:   14px;
	color:       rgba(233, 233, 233, 0.58);
	line-height: 1.75;
	max-width:   440px;
	margin:      0 auto 28px;
}

.tpkb-gate-lock__row {
	display:       flex;
	max-width:     420px;
	margin:        0 auto 10px;
	border:        1px solid rgba(160, 130, 84, 0.30);
	border-radius: 4px;
	overflow:      hidden;
}

.tpkb-gate-lock__input {
	flex:       1;
	background: rgba(255, 255, 255, 0.04);
	border:     none;
	outline:    none;
	color:      #E9E9E9;
	font-family: 'Montserrat', sans-serif;
	font-size:   14px;
	padding:     13px 16px;
}

.tpkb-gate-lock__input::placeholder { color: rgba(233, 233, 233, 0.28); }

.tpkb-gate-lock__btn {
	background:     #A08254;
	color:          #0C1315;
	border:         none;
	cursor:         pointer;
	font-family:    'Montserrat', sans-serif;
	font-size:      11px;
	font-weight:    700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding:        13px 22px;
	white-space:    nowrap;
	transition:     opacity 0.2s;
}

.tpkb-gate-lock__btn:disabled { opacity: 0.6; cursor: default; }
.tpkb-gate-lock__btn:hover:not(:disabled) { opacity: 0.85; }

.tpkb-gate-lock__error {
	font-family: 'Montserrat', sans-serif;
	font-size:   12px;
	color:       #e07070;
	margin:      0 0 12px;
	display:     none;
}

.tpkb-gate-lock__hint {
	font-family: 'Montserrat', sans-serif;
	font-size:   12px;
	color:       rgba(233, 233, 233, 0.38);
	margin:      10px 0 0;
}

.tpkb-gate-lock__hint a { color: #A08254; text-decoration: none; }

/* ── Protected Content ─────────────────────────────────────────────────────── */

.tpkb-protected { display: none; }

.tpkb-protected--unlocked {
	display:   block;
	animation: tpkb-fadein 0.5s ease;
}

@keyframes tpkb-fadein {
	from { opacity: 0; transform: translateY(10px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* B2B protected content styling */

.tpkb-b2b-content {
	padding:    48px 0 0;
	border-top: 1px solid rgba(160, 130, 84, 0.18);
	margin-top: 48px;
}

.tpkb-b2b-section {
	margin-bottom: 56px;
}

.tpkb-b2b-section__eyebrow {
	font-family:    'Montserrat', sans-serif;
	font-size:      11px;
	font-weight:    600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color:          #A08254;
	margin:         0 0 12px;
}

.tpkb-b2b-section__title {
	font-family:   'Epilogue', sans-serif;
	font-size:     26px;
	font-weight:   700;
	color:         #E9E9E9;
	margin:        0 0 24px;
	padding-bottom: 16px;
	border-bottom:  1px solid rgba(160, 130, 84, 0.18);
}

.tpkb-b2b-section p {
	font-family: 'Montserrat', sans-serif;
	font-size:   14px;
	color:       rgba(233, 233, 233, 0.68);
	line-height: 1.85;
	margin:      0 0 14px;
}

.tpkb-b2b-section ul,
.tpkb-b2b-section ol {
	font-family: 'Montserrat', sans-serif;
	font-size:   14px;
	color:       rgba(233, 233, 233, 0.68);
	line-height: 1.85;
	margin:      12px 0 14px 22px;
	padding:     0;
}

.tpkb-b2b-section ul  { list-style: disc; }
.tpkb-b2b-section ol  { list-style: decimal; }
.tpkb-b2b-section li  { margin-bottom: 6px; }

.tpkb-b2b-section strong { color: #E9E9E9; font-weight: 600; }
.tpkb-b2b-section em     { color: #A08254; font-style: normal; }

/* Process steps */
.tpkb-step {
	display:     flex;
	gap:         20px;
	align-items: flex-start;
	margin-bottom: 24px;
}

.tpkb-step__num {
	width:          36px;
	height:         36px;
	min-width:      36px;
	background:     rgba(160, 130, 84, 0.12);
	border:         1px solid rgba(160, 130, 84, 0.30);
	border-radius:  50%;
	display:        flex;
	align-items:    center;
	justify-content: center;
	font-family:    'Epilogue', sans-serif;
	font-size:      14px;
	font-weight:    700;
	color:          #A08254;
	flex-shrink:    0;
	margin-top:     2px;
}

.tpkb-step__title {
	font-family:  'Epilogue', sans-serif;
	font-size:    15px;
	font-weight:  700;
	color:        #E9E9E9;
	margin:       0 0 6px;
}

.tpkb-step__desc {
	font-family: 'Montserrat', sans-serif;
	font-size:   13px;
	color:       rgba(233, 233, 233, 0.62);
	line-height: 1.75;
	margin:      0;
}

/* Calculator placeholder */
.tpkb-calc-placeholder {
	background:    rgba(160, 130, 84, 0.04);
	border:        2px dashed rgba(160, 130, 84, 0.25);
	border-radius: 10px;
	padding:       40px 32px;
	text-align:    center;
}

.tpkb-calc-placeholder p {
	font-family: 'Montserrat', sans-serif;
	font-size:   13px;
	color:       rgba(233, 233, 233, 0.45);
	margin:      0;
}

.tpkb-calc-placeholder code {
	background: rgba(160, 130, 84, 0.12);
	color:      #A08254;
	padding:    2px 8px;
	border-radius: 3px;
	font-size:  12px;
}

/* =============================================================================
   v1.0.3 additions — Homologation · Legal · Privacy · CGU
   ============================================================================= */

/* ── Package Cards (Homologation pricing) ──────────────────────────────────── */

.tpkb-pkg-card {
	background:    #161A1D;
	border:        1px solid rgba(160, 130, 84, 0.18);
	border-radius: 12px;
	padding:       32px 28px;
	height:        100%;
	box-sizing:    border-box;
	display:       flex;
	flex-direction: column;
	position:      relative;
	overflow:      hidden;
}

.tpkb-pkg-card--preferred {
	border-color: rgba(160, 130, 84, 0.50);
	background:   rgba(160, 130, 84, 0.06);
}

.tpkb-pkg-card__badge {
	display:        inline-block;
	font-family:    'Montserrat', sans-serif;
	font-size:      10px;
	font-weight:    700;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color:          #0C1315;
	background:     #A08254;
	padding:        4px 10px;
	border-radius:  3px;
	margin-bottom:  16px;
}

.tpkb-pkg-card__cat {
	font-family:    'Montserrat', sans-serif;
	font-size:      11px;
	font-weight:    600;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color:          #A08254;
	margin:         0 0 8px;
}

.tpkb-pkg-card__title {
	font-family:  'Epilogue', sans-serif;
	font-size:    20px;
	font-weight:  700;
	color:        #E9E9E9;
	margin:       0 0 6px;
	line-height:  1.25;
}

.tpkb-pkg-card__sub {
	font-family: 'Montserrat', sans-serif;
	font-size:   12px;
	color:       rgba(233, 233, 233, 0.45);
	line-height: 1.5;
	margin:      0 0 24px;
}

.tpkb-pkg-card__pricing {
	border-top:    1px solid rgba(160, 130, 84, 0.15);
	border-bottom: 1px solid rgba(160, 130, 84, 0.15);
	padding:       20px 0;
	margin-bottom: 24px;
}

.tpkb-pkg-card__price-row {
	display:         flex;
	justify-content: space-between;
	align-items:     center;
	padding:         6px 0;
	gap:             12px;
}

.tpkb-pkg-card__price-row--featured .tpkb-pkg-card__price-label,
.tpkb-pkg-card__price-row--featured .tpkb-pkg-card__price {
	color: #E9E9E9;
}

.tpkb-pkg-card__price-label {
	font-family: 'Montserrat', sans-serif;
	font-size:   12px;
	color:       rgba(233, 233, 233, 0.50);
}

.tpkb-pkg-card__price {
	font-family:  'Epilogue', sans-serif;
	font-size:    22px;
	font-weight:  700;
	color:        #A08254;
	white-space:  nowrap;
}

.tpkb-pkg-card__price small {
	font-size:   12px;
	font-weight: 400;
	opacity:     0.7;
}

.tpkb-pkg-card__includes {
	list-style:  none;
	margin:      0;
	padding:     0;
	flex:        1;
}

.tpkb-pkg-card__includes li {
	font-family:  'Montserrat', sans-serif;
	font-size:    12px;
	color:        rgba(233, 233, 233, 0.65);
	line-height:  1.5;
	padding:      7px 0 7px 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.04);
	position:     relative;
}

.tpkb-pkg-card__includes li:last-child {
	border-bottom: none;
}

.tpkb-pkg-card__includes li::before {
	content:  "✓";
	position: absolute;
	left:     0;
	color:    #A08254;
	font-size: 11px;
	top:      8px;
}

/* ── Warning / Danger / Note Boxes ────────────────────────────────────────── */

.tpkb-warn-box,
.tpkb-danger-box,
.tpkb-note-box {
	border-radius: 6px;
	padding:       20px 24px;
	margin:        16px 0;
	font-family:   'Montserrat', sans-serif;
	font-size:     13px;
	line-height:   1.75;
}

.tpkb-warn-box {
	background:  rgba(218, 165, 32, 0.07);
	border-left: 4px solid rgba(218, 165, 32, 0.70);
	color:       rgba(233, 233, 233, 0.78);
}

.tpkb-danger-box {
	background:  rgba(200, 60, 60, 0.07);
	border-left: 4px solid rgba(200, 60, 60, 0.60);
	color:       rgba(233, 233, 233, 0.78);
}

.tpkb-note-box {
	background:  rgba(80, 140, 210, 0.07);
	border-left: 4px solid rgba(80, 140, 210, 0.45);
	color:       rgba(233, 233, 233, 0.72);
}

.tpkb-warn-box strong,
.tpkb-danger-box strong,
.tpkb-note-box strong {
	color:       #E9E9E9;
	font-weight: 600;
}

.tpkb-warn-box p,
.tpkb-danger-box p,
.tpkb-note-box p {
	margin: 0 0 8px;
}

.tpkb-warn-box p:last-child,
.tpkb-danger-box p:last-child,
.tpkb-note-box p:last-child {
	margin-bottom: 0;
}

.tpkb-warn-box ul,
.tpkb-danger-box ul,
.tpkb-note-box ul {
	margin:  8px 0 0 18px;
	padding: 0;
}

.tpkb-warn-box li,
.tpkb-danger-box li,
.tpkb-note-box li {
	margin-bottom: 4px;
}

/* ── Budget Examples ──────────────────────────────────────────────────────── */

.tpkb-budget {
	background:    rgba(255, 255, 255, 0.025);
	border:        1px solid rgba(160, 130, 84, 0.14);
	border-radius: 10px;
	padding:       24px 28px;
	margin-bottom: 24px;
}

.tpkb-budget__title {
	font-family:   'Epilogue', sans-serif;
	font-size:     15px;
	font-weight:   700;
	color:         #E9E9E9;
	margin:        0 0 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(160, 130, 84, 0.15);
}

.tpkb-budget__line {
	display:         flex;
	justify-content: space-between;
	align-items:     baseline;
	gap:             16px;
	padding:         7px 0;
	border-bottom:   1px solid rgba(255, 255, 255, 0.04);
	font-family:     'Montserrat', sans-serif;
	font-size:       12px;
}

.tpkb-budget__line:last-of-type {
	border-bottom: none;
}

.tpkb-budget__line span:first-child {
	color: rgba(233, 233, 233, 0.65);
}

.tpkb-budget__line span:last-child {
	color:       rgba(233, 233, 233, 0.80);
	white-space: nowrap;
	font-weight: 500;
}

.tpkb-budget__line--sub {
	padding-left: 16px;
	font-size:    11px;
}

.tpkb-budget__total {
	display:         flex;
	justify-content: space-between;
	align-items:     center;
	gap:             16px;
	margin-top:      12px;
	padding-top:     12px;
	border-top:      1px solid rgba(160, 130, 84, 0.25);
	font-family:     'Epilogue', sans-serif;
	font-size:       14px;
	font-weight:     700;
}

.tpkb-budget__total span:first-child {
	color:          #A08254;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size:      11px;
}

.tpkb-budget__total span:last-child {
	color: #E9E9E9;
}

/* ── FAQ Accordion ────────────────────────────────────────────────────────── */

.tpkb-faq {
	max-width: 860px;
	margin:    0 auto;
}

.tpkb-faq__item {
	border-bottom: 1px solid rgba(160, 130, 84, 0.14);
}

.tpkb-faq__item:first-child {
	border-top: 1px solid rgba(160, 130, 84, 0.14);
}

.tpkb-faq__question {
	display:         flex;
	width:           100%;
	justify-content: space-between;
	align-items:     center;
	gap:             16px;
	background:      none;
	border:          none;
	cursor:          pointer;
	text-align:      left;
	padding:         18px 0;
	font-family:     'Epilogue', sans-serif;
	font-size:       15px;
	font-weight:     600;
	color:           #E9E9E9;
	line-height:     1.4;
	transition:      color 0.2s;
}

.tpkb-faq__question:hover { color: #A08254; }

.tpkb-faq__question::after {
	content:     "+";
	font-size:   22px;
	font-weight: 300;
	color:       #A08254;
	flex-shrink: 0;
	line-height: 1;
	transition:  transform 0.25s;
}

.tpkb-faq__item.open .tpkb-faq__question::after {
	transform: rotate(45deg);
}

.tpkb-faq__item.open .tpkb-faq__question { color: #A08254; }

.tpkb-faq__answer {
	display:    none;
	padding:    0 0 24px;
	font-family: 'Montserrat', sans-serif;
	font-size:  13px;
	color:      rgba(233, 233, 233, 0.65);
	line-height: 1.8;
}

.tpkb-faq__item.open .tpkb-faq__answer { display: block; }

.tpkb-faq__answer p { margin: 0 0 10px; }
.tpkb-faq__answer p:last-child { margin-bottom: 0; }

.tpkb-faq__answer ul,
.tpkb-faq__answer ol {
	margin:  8px 0 10px 20px;
	padding: 0;
}

.tpkb-faq__answer li { margin-bottom: 4px; }

.tpkb-faq__answer strong {
	color:       rgba(233, 233, 233, 0.88);
	font-weight: 600;
}

/* ── Pricing Transparency Table (Homologation) ────────────────────────────── */

.tpkb-price-transparency {
	border-collapse: collapse;
	width:           100%;
	font-family:     'Montserrat', sans-serif;
	font-size:       13px;
	margin:          20px 0;
}

.tpkb-price-transparency th {
	background:     rgba(160, 130, 84, 0.10);
	color:          #A08254;
	font-weight:    600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-size:      11px;
	padding:        12px 16px;
	text-align:     left;
	border-bottom:  1px solid rgba(160, 130, 84, 0.25);
}

.tpkb-price-transparency td {
	padding:        10px 16px;
	color:          rgba(233, 233, 233, 0.72);
	border-bottom:  1px solid rgba(255, 255, 255, 0.04);
	vertical-align: top;
}

.tpkb-price-transparency tr:last-child td { border-bottom: none; }
.tpkb-price-transparency tr:hover td { background: rgba(255, 255, 255, 0.02); }

.tpkb-price-transparency td:last-child {
	color:      rgba(160, 130, 84, 0.90);
	text-align: right;
	font-weight: 500;
	white-space: nowrap;
}

/* ── Legal Page Article Headers ──────────────────────────────────────────── */

.tpkb-art-title {
	font-family:   'Epilogue', sans-serif;
	font-size:     17px;
	font-weight:   700;
	color:         #E9E9E9;
	margin:        0 0 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(160, 130, 84, 0.14);
}

.tpkb-art-body {
	font-family: 'Montserrat', sans-serif;
	font-size:   14px;
	color:       rgba(233, 233, 233, 0.65);
	line-height: 1.85;
}

.tpkb-art-body p  { margin: 0 0 12px; }
.tpkb-art-body ul,
.tpkb-art-body ol { margin: 10px 0 12px 22px; padding: 0; }
.tpkb-art-body ul { list-style: disc; }
.tpkb-art-body ol { list-style: decimal; }
.tpkb-art-body li { margin-bottom: 5px; }
.tpkb-art-body strong { color: rgba(233, 233, 233, 0.88); font-weight: 600; }
.tpkb-art-body a  { color: #A08254; text-decoration: none; }
.tpkb-art-body a:hover { text-decoration: underline; }

/* ── Responsive ───────────────────────────────────────────────────────────── */

@media (max-width: 1024px) {
	.tpkb-bcard__title {
		font-size: 15px;
	}
}

@media (max-width: 767px) {
	.tpkb-bcard__icon {
		width:  40px;
		height: 40px;
	}

	.tpkb-bcard__title {
		font-size: 16px;
	}

	.tpkb-icard {
		gap: 12px;
	}

	.tpkb-icard__icon {
		width:     32px;
		height:    32px;
		min-width: 32px;
		padding:   6px;
	}

	.tpkb-cgv-table {
		font-size: 12px;
	}

	.tpkb-cgv-table th,
	.tpkb-cgv-table td {
		padding: 8px 10px;
	}
}
