/* Truth Trade: site-wide polish (every page). Loaded after the child theme's stylesheet.
   1. Yellow highlights   2. Phone menu overlay   3. FAQ items (wp:details.tt-q) */

/* ---------- 1. Highlights ----------
   <mark class="tt-hl"> on white: a soft yellow highlighter under the words, text stays dark.
   On blue or navy backgrounds the words turn yellow instead (only used on large headings
   and on dark boxes where yellow passes contrast). */
mark.tt-hl {
	background: linear-gradient(to bottom, transparent 58%, rgba(254, 196, 45, .55) 58%, rgba(254, 196, 45, .55) 92%, transparent 92%);
	color: var(--tt-ink, #0B1B33);
	padding: 0 .08em;
	margin: 0 -.02em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
mark.tt-hl strong, strong mark.tt-hl { color: var(--tt-ink, #0B1B33); }
.tt-bluebg mark.tt-hl { background: none; color: var(--tt-yellow, #FEC42D); padding: 0; margin: 0; }

/* ---------- 2. Phone menu overlay (core/navigation .tt-nav, under 600px) ----------
   The logo, "Start a report" button and license line are added by the plugin (render_block)
   and only shown while the overlay is open. Desktop navigation is untouched. */
.tt-nav .tt-menu-brand, .tt-nav .tt-menu-extra { display: none !important; }

nav.tt-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 16px 20px calc(20px + env(safe-area-inset-bottom, 0px)) !important;
	background-color: var(--tt-blue, #0068D3) !important;
	background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px) !important;
	background-size: 48px 48px !important;
	-webkit-tap-highlight-color: transparent;
}
nav.tt-nav .is-menu-open .wp-block-navigation__responsive-close { display: flex; flex-direction: column; min-height: 100%; max-width: 560px; margin: 0 auto; }
nav.tt-nav .is-menu-open .wp-block-navigation__responsive-dialog { display: flex; flex-direction: column; flex: 1 0 auto; }

/* Logo row, with the close button on the same line */
nav.tt-nav .is-menu-open .tt-menu-brand { display: inline-flex !important; align-self: flex-start; min-height: 44px; margin: 0 56px 28px 0; color: #fff !important; font-size: 15px !important; }
nav.tt-nav .is-menu-open .tt-menu-brand svg { width: 34px; height: 34px; flex-shrink: 0; }
nav.tt-nav .is-menu-open .tt-menu-brand:hover { text-decoration: none; }
nav.tt-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	top: 0; right: 0; width: 44px; height: 44px; display: grid; place-items: center;
	border-radius: 50%; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.4); color: #fff;
}
nav.tt-nav .is-menu-open .wp-block-navigation__responsive-container-close:hover { background: rgba(255,255,255,.24); }

/* Links: left-aligned, large, full-width rows with thin dividers */
nav.tt-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 0 !important; align-items: stretch !important; gap: 0 !important; flex: 1 0 auto; }
nav.tt-nav .is-menu-open .wp-block-navigation__container { align-items: stretch !important; gap: 0 !important; width: 100%; border-top: 1px solid rgba(255,255,255,.2); }
nav.tt-nav .is-menu-open .wp-block-navigation-item { align-items: stretch !important; width: 100%; border-bottom: 1px solid rgba(255,255,255,.2); }
nav.tt-nav .is-menu-open .wp-block-navigation-item__content {
	display: flex !important; align-items: center; justify-content: space-between; gap: 16px;
	min-height: 60px; padding: 0 4px !important; font-size: 20px !important; font-weight: 600; line-height: 1.25;
	color: #fff !important; text-decoration: none !important; border-radius: 8px;
}
nav.tt-nav .is-menu-open .wp-block-navigation-item__content::after {
	content: ""; flex-shrink: 0; width: 8px; height: 8px; margin-right: 6px;
	border-top: 2px solid rgba(255,255,255,.6); border-right: 2px solid rgba(255,255,255,.6); transform: rotate(45deg);
}
nav.tt-nav .is-menu-open .wp-block-navigation-item__content:hover { background: rgba(255,255,255,.07); }

/* Start a report + license line */
nav.tt-nav .is-menu-open .tt-menu-extra { display: flex !important; flex-direction: column; flex: 1 0 auto; }
nav.tt-nav .is-menu-open a.tt-menu-btn {
	display: flex; align-items: center; justify-content: center; width: 100%; min-height: 56px; margin-top: 28px;
	border-radius: 10px; background: var(--tt-yellow, #FEC42D); color: var(--tt-ink, #0B1B33) !important;
	font-size: 17px !important; font-weight: 700; text-decoration: none !important; box-shadow: 0 6px 18px rgba(0, 40, 90, .25);
}
nav.tt-nav .is-menu-open a.tt-menu-btn:hover { background: #F5B400; }
nav.tt-nav .is-menu-open .tt-menu-foot { margin: auto 0 0; padding-top: 32px; font-size: 13px; line-height: 1.7; font-weight: 500; color: #EEF5FD; }
nav.tt-nav .is-menu-open .tt-menu-foot span { white-space: nowrap; }
nav.tt-nav .is-menu-open .tt-menu-foot a { font-size: 13px !important; font-weight: 600; color: #fff !important; text-decoration: underline; text-underline-offset: 3px; }

/* Focus: a soft yellow ring for keyboard users, no box after a tap */
nav.tt-nav .is-menu-open a:focus, nav.tt-nav .is-menu-open button:focus { outline: none; }
nav.tt-nav .is-menu-open a:focus-visible, nav.tt-nav .is-menu-open button:focus-visible { outline: 3px solid var(--tt-yellow, #FEC42D) !important; outline-offset: 2px !important; }

/* ---------- 3. FAQ items ---------- */
.wp-block-details.tt-q { padding: 0 !important; overflow: hidden; transition: border-color .15s, box-shadow .15s, background-color .15s; }
.wp-block-details.tt-q > summary {
	list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px;
	padding: 20px 22px 20px 26px; color: var(--tt-ink, #0B1B33); line-height: 1.4; border-radius: 12px;
	-webkit-tap-highlight-color: transparent;
}
.wp-block-details.tt-q > summary::-webkit-details-marker { display: none; }
.wp-block-details.tt-q > summary::marker { content: ""; }
.wp-block-details.tt-q > summary::after {
	content: ""; flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%;
	background: var(--tt-yellow, #FEC42D) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3v10M3 8h10' stroke='%230B1B33' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center / 14px no-repeat;
	transition: transform .2s;
}
.wp-block-details.tt-q[open] > summary::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h10' stroke='%230B1B33' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E"); transform: rotate(180deg); }
.wp-block-details.tt-q > summary:hover { color: var(--tt-blue, #0068D3); }
.wp-block-details.tt-q[open] { border-color: #CFE2F7; background: #FAFCFF; box-shadow: inset 4px 0 0 var(--tt-blue, #0068D3), 0 6px 18px rgba(0, 50, 110, .06); }
body .wp-block-details.tt-q > :not(summary) { margin: 0 !important; padding: 0 26px 22px; font-size: 16px; line-height: 1.65; color: var(--tt-slate, #46546B); }
.wp-block-details.tt-q > summary:focus { outline: none; }
.wp-block-details.tt-q > summary:focus-visible { outline: 3px solid rgba(0, 104, 211, .45); outline-offset: -3px; }
@media (max-width: 781px) {
	.wp-block-details.tt-q > summary { padding: 18px 16px 18px 20px; font-size: 17px; }
	body .wp-block-details.tt-q > :not(summary) { padding: 0 20px 20px; }
}
@media (prefers-reduced-motion: reduce) {
	.wp-block-details.tt-q, .wp-block-details.tt-q > summary::after { transition: none; }
}

/* Contact page ([tt_contact] + side card). Strong selectors: the host's form reset is very specific. */
.tt-contact-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;align-items:start;margin:8px 0 40px}
body .wp-site-blocks .tt-contact{display:flex;flex-direction:column;gap:18px;background:#fff;border:1px solid #DCE5F0;border-top:6px solid #0068D3;border-radius:16px;padding:28px;box-shadow:0 14px 36px rgba(0,40,90,.08);margin:0}
.tt-contact__title{margin:0;font-family:var(--wp--preset--font-family--archivo-black,'Archivo Black',sans-serif);font-size:1.5rem;color:#0B1B33}
.tt-contact__title::after{content:"";display:block;width:56px;height:4px;border-radius:4px;background:#FEC42D;margin-top:10px}
body .wp-site-blocks .tt-contact__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body .wp-site-blocks .tt-contact .tt-field{display:flex;flex-direction:column;gap:6px;margin:0}
body .wp-site-blocks .tt-contact label{font-weight:700;font-size:15px;color:#0B1B33}
body .wp-site-blocks .tt-contact label small{font-weight:500;color:#5B6B82}
body .wp-site-blocks .tt-contact input:not([type=hidden]),body .wp-site-blocks .tt-contact select,body .wp-site-blocks .tt-contact textarea{font:inherit!important;font-size:16px!important;padding:12px 14px!important;border:1.5px solid #B9C6D6!important;border-radius:10px!important;background:#F7FAFE!important;color:#0B1B33!important;width:100%!important;box-sizing:border-box!important;box-shadow:none!important;min-height:48px}
body .wp-site-blocks .tt-contact textarea{min-height:150px;resize:vertical}
body .wp-site-blocks .tt-contact input:focus,body .wp-site-blocks .tt-contact select:focus,body .wp-site-blocks .tt-contact textarea:focus{outline:3px solid rgba(0,104,211,.3)!important;outline-offset:1px;border-color:#0068D3!important;background:#fff!important}
body .wp-site-blocks .tt-contact__btn{align-self:flex-start;font:inherit;font-weight:800;font-size:17px;background:#FEC42D;color:#0B1B33;border:0;border-radius:12px;padding:15px 30px;cursor:pointer;box-shadow:0 6px 16px rgba(254,196,45,.35)}
body .wp-site-blocks .tt-contact__btn:hover{background:#F5B800}
.tt-contact__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.tt-contact__err{margin:0;background:#FDECEA;color:#8A1C12;border-radius:10px;padding:12px 14px;font-weight:600}
body .wp-site-blocks .tt-contact--sent{border-top-color:#FEC42D;background:#EEF5FD}
.tt-contact__ok{margin:0;font-size:17px;color:#0B1B33}
.tt-contact-side{background:#0068D3;color:#fff;border-radius:16px;padding:26px;display:flex;flex-direction:column;gap:18px;box-shadow:0 14px 36px rgba(0,40,90,.12)}
.tt-contact-side h2{margin:0;color:#fff;font-size:1.25rem}
.tt-contact-side h2::after{content:"";display:block;width:44px;height:4px;border-radius:4px;background:#FEC42D;margin-top:8px}
.tt-contact-side__item{display:flex;gap:12px;align-items:flex-start}
.tt-contact-side__icon{flex:none;width:36px;height:36px;border-radius:50%;background:#FEC42D;color:#0B1B33;display:flex;align-items:center;justify-content:center}
.tt-contact-side__item strong{display:block;color:#fff}
.tt-contact-side__item span{color:#EEF5FD;font-size:15px}
.tt-contact-side a{color:#FEC42D;font-weight:700}
.tt-contact-side a:hover{color:#fff}
@media (max-width:860px){.tt-contact-grid{grid-template-columns:1fr}}
@media (max-width:600px){body .wp-site-blocks .tt-contact__row{grid-template-columns:1fr}body .wp-site-blocks .tt-contact{padding:20px}body .wp-site-blocks .tt-contact__btn{align-self:stretch}}
/* Headings inside the contact cards: no policy-page divider line above them. */
.tt-doc .tt-contact h2.tt-contact__title,.tt-doc .tt-contact-side h2{border:0;padding:0;margin:0}
.tt-doc .tt-contact h2.tt-contact__title::before,.tt-doc .tt-contact-side h2::before{content:none}
.tt-doc .tt-contact-side h2{color:#fff}
body .wp-site-blocks .tt-contact button.tt-contact__btn{background:#FEC42D!important;color:#0B1B33!important;border:0!important;border-radius:12px!important;padding:15px 30px!important;font-weight:800!important}
body .wp-site-blocks .tt-contact button.tt-contact__btn:hover{background:#F5B800!important}

/* ---------- Customer survey ([tt_survey]) ---------- */
body .wp-site-blocks .tt-survey__intro{color:#46546B;margin:0 0 18px}
body .wp-site-blocks .tt-survey__q{border:0;padding:0;margin:0 0 22px;min-width:0}
body .wp-site-blocks .tt-survey__q legend{font-weight:700;font-size:17px;line-height:1.35;color:#0B1B33;margin-bottom:10px;padding:0}
body .wp-site-blocks .tt-survey__n{display:inline-block;width:26px;height:26px;border-radius:50%;background:#FEC42D;color:#0B1B33;text-align:center;line-height:26px;font-size:14px;margin-right:6px}
body .wp-site-blocks .tt-survey__opt{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid #B9C6D6;border-radius:10px;margin-bottom:8px;background:#F7FAFE;cursor:pointer;font-weight:500}
body .wp-site-blocks .tt-survey__opt:has(input:checked){border-color:#0068D3;background:#EAF3FC}
body .wp-site-blocks .tt-survey input[type=radio],body .wp-site-blocks .tt-survey input[type=checkbox]{width:18px!important;height:18px;min-height:0!important;padding:0!important;margin:0;flex:none;accent-color:#0068D3}
body .wp-site-blocks .tt-survey__money{display:flex;align-items:center;gap:8px;max-width:220px}
body .wp-site-blocks .tt-survey__money span{font-weight:700;font-size:18px}
body .wp-site-blocks .tt-survey__nps{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:6px}
body .wp-site-blocks .tt-survey__nps label{position:relative;display:block;text-align:center;border:1.5px solid #B9C6D6;border-radius:8px;padding:10px 0;background:#F7FAFE;cursor:pointer;font-weight:700}
body .wp-site-blocks .tt-survey__nps label:has(input:checked){background:#0068D3;color:#fff;border-color:#0068D3}
body .wp-site-blocks .tt-survey__nps input{position:absolute;inset:0;opacity:0;width:100%!important;height:100%}
body .wp-site-blocks .tt-survey__nps-ends{display:flex;justify-content:space-between;font-size:13px;color:#5B6B82;margin-top:6px}
body .wp-site-blocks .tt-survey__check label{display:flex;gap:10px;align-items:flex-start;font-weight:500;line-height:1.4}
body .wp-site-blocks .tt-survey__short{max-width:360px;margin-top:-6px}
.tt-contact-grid--single{grid-template-columns:minmax(0,1fr)!important;max-width:760px;margin:0 auto}
@media (max-width:600px){body .wp-site-blocks .tt-survey__nps{grid-template-columns:repeat(6,minmax(0,1fr))}}
body .wp-site-blocks .tt-survey__car{margin:26px 0 12px;padding-top:18px;border-top:1px solid #E1E6EE;font-size:20px;color:#0068D3}
body .wp-site-blocks .tt-survey__car span{display:block;font-size:14px;font-weight:500;color:#5B6B82;margin-top:2px}
body .wp-site-blocks .tt-survey__scale{grid-template-columns:repeat(5,minmax(0,1fr));max-width:420px}
body .wp-site-blocks .tt-survey__why{margin:8px 0 0;font-size:14px;line-height:1.5;color:#46546B;background:#F3F7FC;border-left:3px solid #FEC42D;padding:8px 12px;border-radius:0 8px 8px 0}

body .wp-site-blocks .tt-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
body .wp-site-blocks .tt-steps li{display:flex;gap:12px;align-items:flex-start;color:#5B6B82}
body .wp-site-blocks .tt-steps li strong{color:#0B1B33}
body .wp-site-blocks .tt-steps li span{font-size:14px;line-height:1.5}
body .wp-site-blocks .tt-steps__dot{flex:none;width:18px;height:18px;border-radius:50%;border:2px solid #C9D4E3;background:#fff;margin-top:2px;position:relative}
body .wp-site-blocks .tt-steps li.is-done .tt-steps__dot{background:#0068D3;border-color:#0068D3}
body .wp-site-blocks .tt-steps li.is-done .tt-steps__dot::after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
body .wp-site-blocks .tt-steps li.is-now .tt-steps__dot{border-color:#FEC42D;background:#FFF6DB;box-shadow:0 0 0 4px rgba(254,196,45,.25)}
body .wp-site-blocks .tt-steps li.is-now strong{color:#0068D3}
body .wp-site-blocks .tt-steps li.is-todo{opacity:.65}
body .wp-site-blocks .tt-badge{display:inline-block;font-size:12px;font-weight:700;background:#FEC42D;color:#0B1B33;border-radius:999px;padding:1px 8px;vertical-align:middle}

/* /report/?t=… : the page a "report is ready" text links to */
body .wp-site-blocks .tt-report-dl{text-align:center}
body .wp-site-blocks .tt-report-dl__logo{display:block;margin:0 auto 14px;width:180px;height:auto}
body .wp-site-blocks .tt-report-dl__kicker{margin:0 0 4px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1E6B4F}
body .wp-site-blocks .tt-report-dl .tt-contact__title{margin:0 0 6px}
body .wp-site-blocks .tt-report-dl__sub{margin:0 0 22px;color:#50575e}
body .wp-site-blocks .tt-report-dl__btn{display:inline-block;background:#0B1B33;color:#fff !important;text-decoration:none;font-weight:700;font-size:18px;padding:16px 28px;border-radius:12px;box-shadow:0 6px 18px rgba(11,27,51,.18)}
body .wp-site-blocks .tt-report-dl__btn:hover{background:#0068D3}
body .wp-site-blocks .tt-report-dl .tt-small{margin-top:18px}
body .wp-site-blocks .tt-report-dl__fine{color:#787c82;font-size:12px}
body .wp-site-blocks .tt-report-dl .tt-contact__title::after{margin-left:auto;margin-right:auto}

/* Oct 12, 2026: the brand line in the footer, above the licence line */
.tt-footer .tt-footer__tag { margin: 8px 0 2px; font-size: 16px; font-weight: 700; color: #fff; }
