/* Shared additions: accessibility, legal footer, form notices, cookie preferences.
   Loaded after each page's own styles. Uses the existing Yavardi palette. */

/* Visible keyboard focus */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid #C2A063;outline-offset:3px;border-radius:4px}
.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}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto !important}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .reveal{opacity:1 !important;transform:none !important}
}

/* Footer */
.footer-link-btn{background:none;border:0;padding:0;margin:0;color:inherit;font:inherit;cursor:pointer;text-align:left}
.legal-tm{margin:0}

/* Footer legal row (legacy) */
.legal-links{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.6rem}
.legal-links a,.legal-links button{color:rgba(255,255,255,.62);font-size:.875rem;background:none;border:0;padding:0;margin:0;font-family:inherit;cursor:pointer;text-decoration:none;display:inline}
.legal-links a:hover,.legal-links button:hover{color:#fff}
.legal-tm{color:rgba(255,255,255,.5);font-size:.8rem;line-height:1.6}
.footer-copy{color:rgba(255,255,255,.62) !important}

/* Contextual privacy notices on forms */
.form-notice{font-size:.8rem;line-height:1.6;margin-top:.9rem}
.form-notice a{color:#C2A063;text-decoration:underline;text-underline-offset:2px}
.form-notice.on-dark{color:rgba(255,255,255,.62)}
.form-notice.on-light{color:#5b6472}

/* Cookie preferences dialog */
.yv-cp-backdrop{position:fixed;inset:0;background:rgba(8,11,17,.72);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}
.yv-cp{background:#0F141C;color:#fff;border:1px solid rgba(194,160,99,.35);border-radius:14px;max-width:560px;width:100%;max-height:calc(100vh - 32px);overflow:auto;padding:28px;font-family:'Inter',sans-serif;box-shadow:0 24px 60px rgba(0,0,0,.5);text-align:left}
.yv-cp .yv-cp-title{font-family:'Source Serif 4',serif;font-weight:500;font-size:1.6rem;line-height:1.2;margin:0 0 .6rem;color:#fff}
.yv-cp p{color:rgba(255,255,255,.72);font-size:.92rem;line-height:1.65;margin:0 0 1rem}
.yv-cp a{color:#C2A063;text-decoration:underline}
.yv-cp-cat{border-top:1px solid rgba(255,255,255,.1);padding:14px 0;display:flex;gap:16px;align-items:flex-start;justify-content:space-between}
.yv-cp-cat strong{display:block;font-size:.95rem;margin-bottom:4px;color:#fff}
.yv-cp-cat span{display:block;color:rgba(255,255,255,.62);font-size:.85rem;line-height:1.55}
.yv-cp-cat input{width:20px;height:20px;accent-color:#C2A063;flex-shrink:0;margin-top:2px}
.yv-cp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.yv-cp-actions button{font-family:inherit;font-weight:600;font-size:.9rem;border-radius:999px;padding:11px 18px;cursor:pointer;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff}
.yv-cp-actions .primary{background:#C2A063;border-color:#C2A063;color:#0F141C}
.yv-cp-status{font-size:.82rem;color:#D9C18E;min-height:1.2em;margin:10px 0 0}

/* Main navigation: switch to the menu button below 1240px so the seven
   nav items never wrap or collide with the logo. */
header nav a{white-space:nowrap}
@media (max-width:1240px){
  header nav .flex.items-center.gap-8:not(.mobile-nav){display:none}
  .nav-links{display:none}
  .nav-toggle{display:block}
  .nav-links.open{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;position:absolute;top:100%;left:0;right:0;background:rgba(15,20,28,.98);padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);z-index:100}
}

/* Clio Affiliate Partner badge (footer) */
footer .clio-badge{display:block;height:30px;width:auto;max-width:100%;margin-top:1.5rem;opacity:.9}

/* Clio Affiliate Partner badge (homepage, under the nav; right edge aligns with the Contact button) */
.hero-partner{display:flex;justify-content:flex-end;margin-top:-.5rem;pointer-events:none}
.hero-partner img{height:40px;width:auto;opacity:.92;filter:drop-shadow(0 1px 6px rgba(0,0,0,.5))}
@media (max-width:1240px){.hero-partner{margin-top:-1rem}.hero-partner img{height:30px}}
@media (max-width:640px){.hero-partner img{height:24px}}

/* Talk with Yavardi background video (homepage contact section) */
.talk-video-wrap{opacity:.55;pointer-events:none}
.talk-video{object-position:center 40%;background:#0F141C url('/images/talk-yavardi-poster.jpg') center 40%/cover no-repeat}
@media (max-width:768px){.talk-video{object-position:22% center;background-position:22% center}}

/* Footer taglines: what Yavardi is, then what it believes (two distinct blocks) */
footer .footer-brand{margin:0;max-width:340px;color:rgba(255,255,255,.72);font-size:.95rem;line-height:1.6;font-weight:500}
footer .footer-thesis{margin:1.1rem 0 0;max-width:340px;color:rgba(255,255,255,.55);font-family:'Source Serif 4',serif;font-size:1.02rem;line-height:1.5}
footer .footer-thesis span{display:block}
footer .shell .footer-brand{margin-top:18px}

/* Homepage "Where to Go Next" cards: the whole card is clickable (title link stretched over the card) */
.card-link{position:relative;cursor:pointer}
.card-link h3 a{position:static}
.card-link h3 a::before{content:'';position:absolute;inset:0;border-radius:inherit;z-index:1}
.card-link h3 a.link-underline::after{display:none}
.card-link:hover h3 a{text-decoration:underline;text-decoration-color:#C2A063;text-underline-offset:5px;text-decoration-thickness:1px}
.card-link h3 a:focus-visible{outline:none}
.card-link:focus-within{outline:2px solid #C2A063;outline-offset:3px}
