/*
Theme Name: Xinan Avada Child
Template: Avada
Version: 0.6.6
Text Domain: xinan-avada-child
*/

:root {
	--xinan-ink: #18202a;
	--xinan-muted: #64707c;
	--xinan-line: #dfe4e8;
	--xinan-soft: #f5f7f8;
	--xinan-warm-white: #fffdfa;
	--xinan-red: #bf252c;
	--xinan-red-dark: #982027;
	--xinan-blue: #2e5c87;
	--xinan-white: #fff;
	--xinan-radius: 12px;
	--xinan-content: 1440px;
	--xinan-pad-x: clamp(1rem, 4vw, 3.5rem);
	--xinan-section-y: clamp(2.5rem, 6vw, 4.5rem);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; text-size-adjust: 100%; }
body { color: var(--xinan-ink); background: var(--xinan-warm-white); font-family: Arial, Helvetica, system-ui, sans-serif; font-size: 16px; line-height: 1.6; }
img, picture, video, canvas, svg, iframe { max-width: 100%; }
img { height: auto; }
.xinan-container { width: min(100% - (2 * var(--xinan-pad-x)), var(--xinan-content)); margin-inline: auto; }
.xinan-section { padding-block: var(--xinan-section-y); }
.xinan-grid { display: grid; gap: clamp(1rem, 2vw, 1.5rem); }
.xinan-stack > * + * { margin-block-start: var(--xinan-stack-space, 1rem); }
.xinan-cluster { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; }
.xinan-card { border: 1px solid var(--xinan-line); border-radius: var(--xinan-radius); background: var(--xinan-white); overflow: clip; }
.xinan-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 0.75rem 1.125rem; border: 2px solid var(--xinan-red); border-radius: 6px; background: var(--xinan-red); color: var(--xinan-white); font-weight: 700; text-decoration: none; }
.xinan-button:hover { background: var(--xinan-red-dark); border-color: var(--xinan-red-dark); color: var(--xinan-white); }
.xinan-button--secondary { background: transparent; color: var(--xinan-ink); border-color: var(--xinan-ink); }
.xinan-button--secondary:hover { background: var(--xinan-ink); color: var(--xinan-white); }
.xinan-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--xinan-blue); outline-offset: 3px; }

/* Internal CTA C1 visual contract. */
.xinan-section[aria-labelledby^="xinan-internal-cta-"] { background: #173E63; color: #D8E5EE; }
.xinan-section[aria-labelledby^="xinan-internal-cta-"] h2 { color: #FFFFFF; }
.xinan-section[aria-labelledby^="xinan-internal-cta-"] p { color: #D8E5EE; }
.xinan-section[aria-labelledby^="xinan-internal-cta-"] .xinan-eyebrow { color: #E7F0F6; }
.xinan-section[aria-labelledby^="xinan-internal-cta-"] .xinan-button { border-color: #FFFFFF; background: #BF252C; color: #FFFFFF; }
.xinan-section[aria-labelledby^="xinan-internal-cta-"] .xinan-button:hover { border-color: #FFFFFF; background: #982027; color: #FFFFFF; }
.xinan-section[aria-labelledby^="xinan-internal-cta-"] .xinan-button--secondary { border-color: #FFFFFF; background: transparent; color: #FFFFFF; }
.xinan-section[aria-labelledby^="xinan-internal-cta-"] .xinan-button--secondary:hover { border-color: #FFFFFF; background: #FFFFFF; color: #173E63; }
.xinan-section[aria-labelledby^="xinan-internal-cta-"] .xinan-button:focus-visible { outline: 3px solid #FFD166; outline-offset: 3px; }
/* End Internal CTA C1 visual contract. */

/* Internal CTA Typography Contract. */
#main .xinan-section[aria-labelledby^="xinan-internal-cta-"] .xinan-container h2 { font-size: 26px; }
@media (min-width: 480px) { #main .xinan-section[aria-labelledby^="xinan-internal-cta-"] .xinan-container h2 { font-size: 28px; } }
@media (min-width: 768px) { #main .xinan-section[aria-labelledby^="xinan-internal-cta-"] .xinan-container h2 { font-size: 32px; } }
@media (min-width: 1200px) { #main .xinan-section[aria-labelledby^="xinan-internal-cta-"] .xinan-container h2 { font-size: 36px; } }
/* End Internal CTA Typography Contract. */

.xinan-skip-link { position: fixed; inset: 0 auto auto 0; z-index: 99999; transform: translateY(-120%); padding: 0.75rem 1rem; background: var(--xinan-ink); color: var(--xinan-white); }
.xinan-skip-link:focus { transform: translateY(0); }
[hidden] { display: none !important; }
.xinan-operational-media-fallback { display: block; min-height: 8rem; border: 1px solid var(--xinan-line); border-radius: var(--xinan-radius); background: var(--xinan-soft); }

@media (max-width: 479px) { :root { --xinan-pad-x: 1rem; --xinan-section-y: 2.75rem; } }
@media (min-width: 480px) and (max-width: 767px) { :root { --xinan-pad-x: 1.25rem; --xinan-section-y: 3rem; } }
@media (min-width: 768px) and (max-width: 1199px) { :root { --xinan-pad-x: 2rem; --xinan-section-y: 3.5rem; } }
@media (min-width: 1200px) { :root { --xinan-pad-x: 3.5rem; --xinan-section-y: 4.5rem; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } }
