/* ============================================================================
   American Companies — core components (docs/11). Layered over Bootstrap:
   Bootstrap provides grid/utilities/reset; these rules carry the premium
   navy+red brand, metal credential chips, cards, buttons, and chrome.
   ============================================================================ */

/* ---- Base canvas + type ---- */
body{
	font-family:var(--ac-font-sans);
	background:var(--ac-bg);
	color:var(--ac-text);
	font-size:var(--ac-fs-base);
	line-height:var(--ac-lh-normal);
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5,h6{font-family:var(--ac-font-sans);font-weight:var(--ac-fw-bold);color:var(--ac-ink-900);letter-spacing:var(--ac-ls-snug);line-height:var(--ac-lh-tight)}
a{color:var(--ac-text-link);text-decoration:none}
a:hover{color:var(--ac-blue-700)}

.ac-container{max-width:var(--ac-container);margin:0 auto;padding:0 var(--ac-sp-6)}

/* ---- Accessibility ---- */
.ac-skip{position:absolute;left:-9999px;top:0;z-index:var(--ac-z-toast);background:var(--ac-navy-800);
	color:#fff;padding:10px 16px;border-radius:0 0 var(--ac-r-sm) 0;font-weight:700;font-size:14px}
.ac-skip:focus{left:0}
#content:focus{outline:none}
/* One consistent keyboard focus ring across links and controls. */
a:focus-visible,button:focus-visible,[role="button"]:focus-visible{outline:none;box-shadow:var(--ac-ring);border-radius:var(--ac-r-xs)}
.ac-eyebrow{font-size:11px;letter-spacing:var(--ac-ls-eyebrow);text-transform:uppercase;color:var(--ac-text-muted);font-weight:var(--ac-fw-semibold);margin:0 0 var(--ac-sp-2)}
.ac-section{padding:clamp(32px,4vw,56px) 0}
.ac-wash{background:var(--ac-bg-wash)}

/* ---- Buttons (quiet, square-ish, flat; one red call per view) ---- */
.ac-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;
	border:1px solid transparent;border-radius:var(--ac-r-sm);padding:8px 14px;
	font-size:13.5px;font-weight:var(--ac-fw-semibold);line-height:1.2;cursor:pointer;
	text-decoration:none;transition:var(--ac-motion-hover)}
.ac-btn:focus-visible{outline:0;box-shadow:var(--ac-ring)}
.ac-btn-cta{background:var(--ac-cta);color:var(--ac-on-cta)}
.ac-btn-cta:hover{background:var(--ac-cta-hover);color:var(--ac-on-cta)}
.ac-btn-navy{background:var(--ac-action);color:var(--ac-on-action)}
.ac-btn-navy:hover{background:var(--ac-action-hover);color:var(--ac-on-action)}
.ac-btn-white{background:var(--ac-surface);color:var(--ac-ink-900);border-color:var(--ac-border-strong)}
.ac-btn-white:hover{border-color:var(--ac-gray-400);background:var(--ac-gray-50)}
.ac-btn-ghost{background:transparent;border:1px solid var(--ac-border-strong);color:var(--ac-ink-900)}
.ac-btn-ghost:hover{border-color:var(--ac-gray-400);background:var(--ac-gray-50)}

/* ---- Inputs ---- */
.ac-input{width:100%;min-height:40px;background:var(--ac-surface);border:1px solid var(--ac-border-strong);
	border-radius:var(--ac-r-sm);padding:9px 12px;font-size:var(--ac-fs-base);color:var(--ac-text);
	transition:border-color var(--ac-dur) var(--ac-ease),box-shadow var(--ac-dur) var(--ac-ease)}
.ac-input:focus{outline:0;border-color:var(--ac-border-focus);box-shadow:var(--ac-ring)}

/* ---- Cards (hairline-defined, flat, no hover lift) ---- */
.ac-card{background:var(--ac-surface);border:1px solid var(--ac-border);border-radius:var(--ac-r-lg);
	box-shadow:none;transition:var(--ac-motion-hover);overflow:hidden}
.ac-card:hover{border-color:var(--ac-border-strong);box-shadow:var(--ac-shadow-sm)}
.ac-card-body{padding:var(--ac-sp-4)}

/* logo / initials tile fallback (flat navy) */
.ac-logo-tile{display:flex;align-items:center;justify-content:center;
	background:var(--ac-navy-800);color:#fff;
	font-weight:var(--ac-fw-semibold);letter-spacing:.5px}

/* ---- Metal credential tags (squared; a small metal swatch carries the tier) ---- */
.ac-badge{display:inline-flex;align-items:center;gap:6px;border-radius:var(--ac-r-xs);
	padding:3px 9px;font-size:var(--ac-fs-xs);font-weight:var(--ac-fw-semibold);
	border:1px solid transparent;line-height:1.2;white-space:nowrap}
.ac-badge .ac-badge-dot{width:7px;height:7px;border-radius:1px;flex:0 0 auto}
/* credential medallion (shared with the profile scorecard, shrunk to chip scale) */
.ac-badge-ico{display:inline-flex;flex:0 0 auto;line-height:0}
.ac-badge .ac-cred-svg{width:16px;height:16px;display:block;filter:none}
.ac-badge-gold{background:var(--ac-gold-bg);color:var(--ac-gold-ink);border-color:var(--ac-gold-line)}
.ac-badge-gold .ac-badge-dot{background:var(--ac-gold-solid)}
.ac-badge-silver{background:var(--ac-silver-bg);color:var(--ac-silver-ink);border-color:var(--ac-silver-line)}
.ac-badge-silver .ac-badge-dot{background:var(--ac-silver-solid)}
.ac-badge-bronze{background:var(--ac-bronze-bg);color:var(--ac-bronze-ink);border-color:var(--ac-bronze-line)}
.ac-badge-bronze .ac-badge-dot{background:var(--ac-bronze-solid)}
/* ownership credentials — neutral chip, no metal tier */
.ac-badge-owner{background:var(--ac-surface);color:var(--ac-gray-700);border-color:var(--ac-border-strong)}
.ac-badge-owner .ac-badge-dot{display:none}
/* overflow chip on compact cards: "+N" more credentials (shown in full on the profile) */
.ac-badge-more{background:var(--ac-surface);color:var(--ac-text-muted);border-color:var(--ac-border-strong);
	font-variant-numeric:tabular-nums}
/* master Verified mark */
.ac-verified{display:inline-flex;align-items:center;gap:5px;background:var(--ac-success-bg);
	color:var(--ac-success-ink);border:1px solid var(--ac-success-line);border-radius:var(--ac-r-xs);
	padding:3px 9px;font-size:var(--ac-fs-xs);font-weight:var(--ac-fw-semibold)}
.ac-featured{display:inline-flex;align-items:center;gap:5px;background:var(--ac-surface);
	color:var(--ac-gold-ink);border:1px solid var(--ac-gold-line);border-radius:var(--ac-r-xs);
	padding:3px 9px;font-size:var(--ac-fs-2xs);font-weight:var(--ac-fw-semibold);text-transform:uppercase;letter-spacing:.04em}

/* ---- Django messages ---- */
.ac-messages{max-width:var(--ac-container);margin:var(--ac-sp-4) auto 0;padding:0 var(--ac-sp-6)}
.ac-message{border-radius:var(--ac-r-sm);padding:10px 14px;margin-bottom:8px;font-size:var(--ac-fs-sm);font-weight:var(--ac-fw-semibold);border:1px solid}
.ac-message-success{background:var(--ac-success-bg);color:var(--ac-success-ink);border-color:var(--ac-success-line)}
.ac-message-error,.ac-message-danger{background:var(--ac-error-bg);color:var(--ac-error-ink);border-color:var(--ac-error-line)}
.ac-message-warning{background:var(--ac-warn-bg);color:var(--ac-warn-ink);border-color:var(--ac-warn-line)}
.ac-message-info{background:var(--ac-blue-50);color:var(--ac-blue-700);border-color:var(--ac-blue-100)}

/* ---- Prose (content pages) ---- */
.ac-prose{font-size:var(--ac-fs-lg);line-height:1.6;color:var(--ac-gray-700)}
.ac-prose p{margin:0 0 16px}
.ac-prose h2{font-size:var(--ac-fs-h2);margin:28px 0 12px}
.ac-prose h3{font-size:var(--ac-fs-h3);margin:22px 0 10px}
.ac-prose a{color:var(--ac-text-link)}
.ac-prose ul,.ac-prose ol{margin:0 0 16px 20px}

/* ---- Guarantee / risk-reversal strip ---- */
.ac-guarantee{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;align-items:center;
	margin:18px 0;padding:12px 16px;color:var(--ac-text-muted);font-size:var(--ac-fs-sm);font-weight:var(--ac-fw-semibold)}
.ac-guarantee span{white-space:nowrap}

/* ---- FAQ accordion (reusable; Alpine-driven) ---- */
.ac-faq{max-width:760px;margin:40px auto 8px}
/* FAQ page: the whole content column (headings + accordions) is a centered
   800px reading column; accordions fill it. The wrap's 24px side padding sits
   on top of the 800px content width. */
.ac-hp-wrap.ac-faq-wrap{max-width:848px} /* both classes: must outrank home.css's .ac-hp-wrap */
.ac-faq-page{margin:14px 0 0;max-width:none}
.ac-faq-item{border:1px solid var(--ac-border);border-radius:var(--ac-r-md);background:var(--ac-surface);
	margin-bottom:8px;overflow:hidden;transition:border-color var(--ac-dur) var(--ac-ease)}
.ac-faq-item.is-open{border-color:var(--ac-border-strong)}
.ac-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
	background:transparent;border:0;cursor:pointer;text-align:left;padding:14px 16px;
	font-size:var(--ac-fs-base);font-weight:var(--ac-fw-bold);color:var(--ac-text)}
.ac-faq-ico{flex:0 0 auto;font-size:1.25rem;color:var(--ac-action);line-height:1}
.ac-faq-a{padding:0 16px 14px}
.ac-faq-a p{margin:0;color:var(--ac-text-muted);font-size:var(--ac-fs-sm);line-height:1.65}

/* ---- Back-to-top ---- */
.ac-totop{position:fixed;right:20px;bottom:20px;z-index:var(--ac-z-sticky);width:44px;height:44px;
	border-radius:50%;border:1px solid var(--ac-border);background:var(--ac-navy-800);color:#fff;
	font-size:1.2rem;font-weight:700;cursor:pointer;box-shadow:var(--ac-shadow-lg);
	display:flex;align-items:center;justify-content:center;transition:var(--ac-motion-hover)}
.ac-totop:hover{background:var(--ac-navy-900);transform:translateY(-2px)}

/* ---- Cookie / consent ---- */
.ac-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:var(--ac-z-toast);
	max-width:680px;margin:0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:space-between;
	background:var(--ac-navy-900);color:var(--ac-text-on-invert-muted);border-radius:var(--ac-r-lg);
	padding:14px 18px;box-shadow:var(--ac-shadow-xl)}
.ac-cookie p{margin:0;font-size:var(--ac-fs-sm)}
.ac-cookie a{color:#fff;text-decoration:underline}

/* ---- Footer ---- */
.ac-footer{background:var(--ac-navy-900);color:var(--ac-text-on-invert-muted)}
.ac-footer-inner{max-width:var(--ac-container);margin:0 auto;padding:var(--ac-sp-12) var(--ac-sp-6) var(--ac-sp-10);
	display:grid;grid-template-columns:repeat(4,1fr) 1.3fr;gap:var(--ac-sp-8)}
.ac-footer h4{color:#fff;font-size:var(--ac-fs-sm);text-transform:uppercase;letter-spacing:.08em;margin:0 0 var(--ac-sp-4)}
.ac-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ac-footer a{color:var(--ac-text-on-invert-muted);font-size:var(--ac-fs-sm)}
.ac-footer a:hover{color:#fff}
.ac-footer-brand{font-weight:var(--ac-fw-black);color:#fff;font-size:var(--ac-fs-lg)}
.ac-footer-sub{border-top:1px solid rgba(255,255,255,.08);padding:var(--ac-sp-5) var(--ac-sp-6);
	max-width:var(--ac-container);margin:0 auto;display:flex;justify-content:space-between;gap:16px;
	flex-wrap:wrap;font-size:var(--ac-fs-xs);color:var(--ac-text-faint)}
.ac-footer-legal{display:flex;gap:18px}
.ac-footer-legal a{color:var(--ac-text-faint);font-size:var(--ac-fs-xs)}
.ac-footer-legal a:hover{color:#fff}
.ac-footer-signup{display:flex;gap:8px;margin-top:8px}
.ac-footer-signup input{flex:1;border:0;border-radius:var(--ac-r-sm);padding:8px 12px;font-size:var(--ac-fs-sm)}

@media(max-width:900px){
	.ac-footer-inner{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
	.ac-footer-inner{grid-template-columns:1fr}
}
