/* Cedillo's v3 — brand in the new header, form polish, responsive + accessibility fixes. */

/* Brand */
.cv3-brand { display: flex; align-items: center; gap: .7rem; text-decoration: none; color: #fff; flex: none; }
.cv3-brand img { width: auto; height: 3.4rem; max-height: none; display: block; background: #fff; border-radius: .45rem; padding: .2rem .3rem; }
.cv3-wordmark { font-family: var(--display); font-size: 1.55rem; font-weight: 800; text-transform: uppercase; line-height: .95; color: #fff; }
.cv3-wordmark small { display: block; font-size: .72rem; letter-spacing: .14em; color: var(--red); font-weight: 700; margin-top: .15rem; }
.cv3-phone { display: inline-flex; align-items: center; gap: .4rem; }
@media (min-width: 1025px) and (max-width: 1180px) { .cv3-phone { display: none; } }
@media (max-width: 520px) { .cv3-phone { display: none; } }
.cv3-phone .ico { width: 1.05rem; height: 1.05rem; color: var(--red); fill: currentColor; }
.cv3-drawer-info { margin: .4rem 0 0; color: var(--muted-dark); font-family: var(--font); font-size: .92rem; line-height: 1.5; text-transform: none; letter-spacing: 0; }
.cv3-drawer-info a { color: #fff; }

/* Focus that's easy to see on dark and light */
.cv3-header a:focus-visible, .cv3-header button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; border-radius: .3rem; }
.cv3-sub a:focus-visible { outline: 3px solid var(--red); outline-offset: -3px; }
main:focus { outline: none; }

@media (max-width: 1400px) { .cv3-wordmark { display: none; } }
@media (max-width: 1024px) { .cv3-wordmark { display: block; } }
@media (max-width: 480px) {
	.cv3-brand img { height: 2.8rem; }
	.cv3-wordmark { font-size: 1.2rem; }
	.cv3-wordmark small { font-size: .6rem; }
}
@media (max-width: 360px) { .cv3-wordmark { display: none; } }

/* Forms */
.cv3-optional { font-weight: 400; color: var(--muted); font-size: .9em; }
.cv3-req { color: var(--red); }
.cv2-form-err { background: #fdecec; border-left: 4px solid var(--red); color: #7a0d12; padding: .8rem 1rem; border-radius: .4rem; margin: 0 0 1rem; font-weight: 600; }
.cv2-cap input, .req-form input, .req-form select, .req-form textarea, .cv2-form input, .cv2-form textarea { font-size: max(16px, 1rem); } /* no zoom-on-focus on iPhone */
.req-form [aria-invalid="true"], .cv2-form [aria-invalid="true"] { border-color: var(--red) !important; }

/* "More" sections added to the original pages */
.cv3-more .cv2-section-title { margin-top: 0; }
.cv3-more .cv2-section-title + .cv2-grid { margin-bottom: 2.5rem; }
.cv3-more-cta { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }

/* Footer: 5 columns on wide screens */
.footer-grid { grid-template-columns: 1.3fr 1fr 1fr 1fr 1fr; }
@media (max-width: 1180px) { .footer-grid { grid-template-columns: 1fr 1fr 1fr; } .footer-brand { grid-column: 1 / -1; } }
@media (max-width: 760px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .footer-grid { grid-template-columns: 1fr; } }
.nap a { word-break: break-word; }

/* No sideways scroll, anywhere */
html, body { max-width: 100%; overflow-x: clip; }
img, video, iframe { max-width: 100%; }
.cv2 table { display: block; overflow-x: auto; }

/* Keep content clear of the fixed mobile action bar */
@media (max-width: 760px) {
	body { padding-bottom: calc(4.2rem + env(safe-area-inset-bottom)); }
	.topbar { font-size: .8rem; }
	.cv2-hero h1 { overflow-wrap: anywhere; }
}

/* The mobile bar hides while the menu drawer is open */
body.cv3-lock .mobile-bar { display: none; }

@media print { .cv3-header, .cv3-scrim { display: none !important; } }

/* Header buttons keep white text (body.cv2 link colors must not reach them) */
.cv3-header .cv3-btn--red, .cv3-header .cv3-btn--red:hover, .cv3-header .cv3-btn--red:visited { color: #fff; }
.cv3-header .cv3-btn--red:hover { background: var(--red-dark); }
.cv3-header .cv3-btn--ghost, .cv3-header .cv3-btn--ghost:visited { color: #fff; }
/* Menu labels stay on one line on desktop */
@media (min-width: 1025px) {
	.cv3-menu > li > a { white-space: nowrap; }
}
@media (min-width: 1025px) and (max-width: 1560px) { .cv3-wordmark { display: none; } }
@media (min-width: 1025px) and (max-width: 1320px) { .cv3-menu > li > a { padding: 0 .5rem; font-size: .92rem; letter-spacing: .04em; } .cv3-req { padding: .65rem .9rem; font-size: .85rem; } }
.trust-grid > * { min-width: 0; }
@media (max-width: 360px) { .trust-grid { grid-template-columns: 1fr !important; } }
