/* ==========================================================================
   Terms & Conditions page  (app/Views/site/terms_conditions.php)
   Uses the site palette: plum #33292f, gold #ac9376 / #bfa17f, sand #ede8e3
   ========================================================================== */

.tc-page { color:#5a5357; font-size:14px; line-height:1.8; padding:28px 32px 32px; }
.tc-page p { margin:0 0 12px; }
.tc-page strong { font-family:'Poppins-Regular'; font-weight:bold; color:#33292f; }
.tc-page a { color:#9a7f61; }
.tc-page a:hover { color:#33292f; }

/* ---------- Intro ---------- */
.tc-intro { display:flex; justify-content:space-between; align-items:flex-end; gap:24px;
	padding:0 0 22px; border-bottom:1px solid #ece6df; }
.tc-intro__text { max-width:640px; }
.tc-eyebrow { display:inline-block; font-size:11px; letter-spacing:2px; text-transform:uppercase;
	color:#ac9376; margin-bottom:4px; }
.tc-intro__title { font-family:Gotham-Bold; font-size:28px !important; line-height:1.2; color:#33292f;
	margin:0 0 10px !important; }
.tc-intro p { font-size:14.5px; margin:0; }
.tc-intro__meta { display:flex; flex-direction:column; align-items:flex-end; gap:10px; flex-shrink:0; }
.tc-updated { font-size:12.5px; background:#f6f2ee; color:#6d6268; padding:5px 12px; border-radius:30px; white-space:nowrap; }
.tc-print { font-family:Gotham-Bold; font-size:11.5px; text-transform:uppercase; letter-spacing:.5px; cursor:pointer;
	background:#33292f; color:#fff; border:0; border-radius:30px; padding:9px 18px; transition:background .2s; }
.tc-print:hover { background:#ac9376; }

/* ---------- Company facts strip ---------- */
.tc-facts { display:grid; grid-template-columns:repeat(4, 1fr); margin:22px 0 26px;
	background:#33292f; border-radius:6px; overflow:hidden; }
.tc-facts li { padding:14px 18px; border-left:1px solid rgba(255,255,255,.1); line-height:1.4; }
.tc-facts li:first-child { border-left:0; }
.tc-facts span { display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:1px; color:#cbb393; margin-bottom:4px; }
.tc-facts strong { color:#fff !important; font-size:14px; font-weight:normal !important; }

/* ---------- Table of contents ---------- */
.tc-toc { background:#f8f5f2; border:1px solid #ece6df; border-radius:6px; padding:20px 24px 16px; margin-bottom:10px; }
.tc-toc h3 { font-size:15px; color:#33292f; text-transform:uppercase; letter-spacing:1px; margin-bottom:12px; }
.tc-toc ol { columns:2; column-gap:36px; counter-reset:toc; }
.tc-toc li { counter-increment:toc; break-inside:avoid; padding:3px 0; line-height:1.5; }
.tc-toc li::before { content:counter(toc) "."; display:inline-block; min-width:26px; color:#ac9376; font-family:Gotham-Bold; font-size:12.5px; }
.tc-toc a { color:#4d4449; font-size:13.5px; }
.tc-toc a:hover { color:#ac9376; }

/* ---------- Sections ---------- */
.tc-section { padding:30px 0 18px; border-bottom:1px solid #ece6df; scroll-margin-top:20px; position:relative; }
.tc-section--last { border-bottom:0; }
.tc-heading { display:flex; align-items:center; gap:14px; font-family:Gotham-Bold; font-size:19px !important;
	color:#33292f; line-height:1.3; margin:0 0 16px !important; text-transform:none; }
.tc-num { flex:0 0 36px; height:36px; border-radius:50%; background:#bfa17f; color:#fff;
	font-size:14px; display:flex; align-items:center; justify-content:center; }
.tc-section > p, .tc-section > ul, .tc-section > dl, .tc-section > div { margin-left:50px; }
.tc-lead { color:#33292f; font-weight:bold; margin-bottom:8px !important; }

.tc-top { display:block; text-align:right; font-size:11.5px; text-transform:uppercase; letter-spacing:1px;
	color:#b6a99c !important; margin:4px 0 0; }
.tc-top::after { content:" \2191"; }
.tc-top:hover { color:#ac9376 !important; }

/* ---------- Lists ---------- */
.tc-list { margin-bottom:14px; }
.tc-list li { position:relative; padding:5px 0 5px 26px; line-height:1.6; }
.tc-list li::before { content:""; position:absolute; left:4px; top:13px; width:7px; height:7px;
	background:#bfa17f; border-radius:50%; }
.tc-list--no li::before { content:"\00D7"; width:auto; height:auto; background:none; top:2px; left:3px;
	color:#c0392b; font-size:18px; font-weight:bold; }
.tc-list--check li::before { content:"\2713"; width:auto; height:auto; background:none; top:4px; left:3px;
	color:#ac9376; font-size:14px; font-weight:bold; }
.tc-list--cols { display:grid; grid-template-columns:1fr 1fr; column-gap:24px; }

/* ---------- Definitions ---------- */
.tc-defs { display:grid; gap:10px; margin-bottom:14px; }
.tc-defs > div { display:grid; grid-template-columns:150px 1fr; gap:18px; padding:12px 16px;
	background:#faf8f6; border-left:3px solid #bfa17f; border-radius:0 4px 4px 0; }
.tc-defs dt { font-family:Gotham-Bold; color:#33292f; font-size:13.5px; }
.tc-defs dd { margin:0; line-height:1.65; }

/* ---------- Boxes, cards, callouts ---------- */
.tc-box { background:#faf8f6; border:1px solid #ece6df; border-radius:6px; padding:16px 20px; margin-bottom:14px; }
.tc-box h4, .tc-card h4 { font-family:Gotham-Bold; font-size:14px; color:#33292f; margin-bottom:8px; }
.tc-kv { display:grid; grid-template-columns:230px 1fr; row-gap:6px; }
.tc-kv dt { color:#8a7f85; }
.tc-kv dd { margin:0; color:#33292f; font-weight:bold; }

.tc-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.tc-card { background:#fff; border:1px solid #ece6df; border-top:3px solid #bfa17f; border-radius:4px; padding:16px 18px; }
.tc-card p { margin:0 0 8px; line-height:1.65; }
.tc-card p:last-child { margin:0; }
.tc-card--alert { border-top-color:#33292f; background:#fbf9f7; }

.tc-callout { background:#f6f2ee; border-left:4px solid #ac9376; padding:12px 16px; color:#4d4449; border-radius:0 4px 4px 0; }
.tc-callout--alert { border-left-color:#33292f; }
.tc-note { font-size:13px; font-style:italic; color:#8a7f85; padding-left:14px; border-left:2px solid #e2d6c8; }

/* ---------- Contact card ---------- */
.tc-contact { display:grid; grid-template-columns:240px 1fr; background:#33292f; color:#fff; border-radius:6px; overflow:hidden; margin-bottom:14px; }
.tc-contact__name { background:#ac9376; padding:20px 22px; display:flex; flex-direction:column; justify-content:center; line-height:1.5; }
.tc-contact__name strong { color:#fff !important; font-family:Gotham-Bold; font-weight:normal !important; font-size:17px; }
.tc-contact__name span { font-size:12px; color:#fbf3ea; margin-top:4px; }
.tc-contact__rows { padding:14px 22px; }
.tc-contact__rows li { padding:7px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.tc-contact__rows li:last-child { border-bottom:0; }
.tc-contact__rows span { display:inline-block; width:80px; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:#cbb393; }
.tc-contact__rows a { color:#fff !important; }
.tc-contact__rows a:hover { color:#e0c3a0 !important; }

/* ---------- Responsive ---------- */
@media screen and (max-width:992px) {
	.tc-facts { grid-template-columns:1fr 1fr; }
	.tc-facts li:nth-child(3) { border-left:0; }
	.tc-facts li:nth-child(n+3) { border-top:1px solid rgba(255,255,255,.1); }
}
@media screen and (max-width:768px) {
	.tc-page { padding:20px 16px 24px; }
	.tc-intro { flex-direction:column; align-items:flex-start; }
	.tc-intro__meta { align-items:flex-start; flex-direction:row; flex-wrap:wrap; }
	.tc-intro__title { font-size:23px !important; }
	.tc-toc ol { columns:1; }
	.tc-section > p, .tc-section > ul, .tc-section > dl, .tc-section > div { margin-left:0; }
	.tc-heading { font-size:17px !important; }
	.tc-grid, .tc-list--cols { grid-template-columns:1fr; }
	.tc-defs > div { grid-template-columns:1fr; gap:4px; }
	.tc-kv { grid-template-columns:1fr; row-gap:0; }
	.tc-kv dd { margin-bottom:8px; }
	.tc-contact { grid-template-columns:1fr; }
	.tc-section { scroll-margin-top:120px; }
}
@media screen and (max-width:448px) {
	.tc-facts { grid-template-columns:1fr; }
	.tc-facts li { border-left:0 !important; }
	.tc-facts li + li { border-top:1px solid rgba(255,255,255,.1); }
}

/* ---------- Print ---------- */
@media print {
	header, footer, #right-box, #pagetitelcover, .tc-toc, #footer, .footer { display:none !important; }
	#content-cover { background:#fff !important; }
	#left-box.tc-page { width:100% !important; margin:0 !important; padding:0 !important; }
	.tc-facts, .tc-contact { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
	.tc-section { break-inside:avoid-page; }
}

/* ==========================================================================
   Additions for the Privacy Policy page (shared legal-page styles)
   ========================================================================== */

/* "At a glance" summary */
.tc-glance { display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; margin:22px 0 26px; }
.tc-glance li { background:#f8f5f2; border:1px solid #ece6df; border-top:3px solid #bfa17f; border-radius:4px;
	padding:14px 16px; line-height:1.55; font-size:13px; }
.tc-glance strong { display:block; font-family:Gotham-Bold; font-weight:normal !important; color:#33292f; font-size:13.5px; margin-bottom:4px; }
.tc-glance span { color:#6d6268; }

/* Lettered tags on cards */
.tc-card h4 { display:flex; align-items:flex-start; gap:10px; line-height:1.4; }
.tc-tag { flex:0 0 22px; height:22px; border-radius:4px; background:#33292f; color:#fff; font-size:11.5px;
	display:inline-flex; align-items:center; justify-content:center; margin-top:-1px; }
.tc-card--wide { grid-column:1 / -1; }

/* Highlighted figure (data retention) */
.tc-stat { display:grid; grid-template-columns:150px 1fr; border:1px solid #ece6df; border-radius:6px; overflow:hidden; margin-bottom:14px; }
.tc-stat__figure { background:#33292f; color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:18px 10px; text-align:center; }
.tc-stat__figure strong { font-family:Gotham-Bold; font-weight:normal !important; font-size:46px; line-height:1; color:#d6bc98 !important; }
.tc-stat__figure span { font-size:11px; letter-spacing:1px; text-transform:uppercase; margin-top:6px; color:#e9dccb; }
.tc-stat__text { padding:16px 20px; background:#faf8f6; }
.tc-stat__text h4 { font-family:Gotham-Bold; font-size:14px; color:#33292f; margin-bottom:8px; }
.tc-stat__text p { margin:0 0 8px; line-height:1.65; }
.tc-stat__text p:last-child { margin:0; }

/* Rights grid */
.tc-rights { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-bottom:16px; counter-reset:right; }
.tc-rights li { position:relative; background:#fff; border:1px solid #ece6df; border-radius:4px; padding:14px 16px 14px 50px; line-height:1.55; font-size:13px; }
.tc-rights li::before { content:"\2713"; position:absolute; left:14px; top:14px; width:24px; height:24px; border-radius:50%;
	background:#f1e8dd; color:#9a7f61; font-weight:bold; font-size:13px; display:flex; align-items:center; justify-content:center; }
.tc-rights strong { display:block; font-family:Gotham-Bold; font-weight:normal !important; color:#33292f; font-size:13.5px; margin-bottom:3px; }

.tc-related { font-size:13px; color:#8a7f85; }

@media screen and (max-width:992px) {
	.tc-glance { grid-template-columns:1fr 1fr; }
	.tc-rights { grid-template-columns:1fr 1fr; }
}
@media screen and (max-width:768px) {
	.tc-stat { grid-template-columns:1fr; }
	.tc-stat__figure { flex-direction:row; gap:10px; padding:14px; }
	.tc-stat__figure strong { font-size:34px; }
	.tc-stat__figure span { margin-top:0; }
}
@media screen and (max-width:448px) {
	.tc-glance, .tc-rights { grid-template-columns:1fr; }
}
@media print {
	.tc-stat__figure, .tc-tag { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}
