/* Giardino Law SEO Pro — shortcode + skip-link styles (scoped) */

/* Skip link — WCAG 2.4.1 */
.glseo-skip-link{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;z-index:10000;color:#fff;background:#0A36AF;padding:.75rem 1.25rem;border-radius:0 0 8px 0;font-weight:600;text-decoration:none}
.glseo-skip-link:focus{position:fixed;left:0;top:0;width:auto;height:auto;outline:3px solid #D4A853;outline-offset:2px}

/* Focus-visible (applies to shortcode content) */
.glseo-faq *:focus-visible,.glseo-contact-card *:focus-visible,.glseo-yt-lite:focus-visible,.glseo-breadcrumb *:focus-visible{outline:3px solid #D4A853;outline-offset:2px;border-radius:4px}

/* FAQ accordion */
.glseo-faq{display:flex;flex-direction:column;gap:.75rem;margin:1.5rem 0}
.glseo-faq__item{background:#fff;border:1px solid #E2E5EF;border-radius:12px;padding:0;overflow:hidden;transition:box-shadow .15s}
.glseo-faq__item[open]{box-shadow:0 4px 16px rgba(10,54,175,.08)}
.glseo-faq__q{cursor:pointer;padding:1rem 1.25rem;font-weight:600;color:#1A1A2E;font-family:inherit;list-style:none;position:relative;padding-right:2.5rem}
.glseo-faq__q::-webkit-details-marker{display:none}
.glseo-faq__q::after{content:"";position:absolute;right:1.25rem;top:50%;width:10px;height:10px;border-right:2px solid #0A36AF;border-bottom:2px solid #0A36AF;transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.glseo-faq__item[open] .glseo-faq__q::after{transform:translateY(-30%) rotate(-135deg)}
.glseo-faq__a{padding:0 1.25rem 1.25rem;color:#3A3A52;line-height:1.6}

/* YouTube lite embed */
.glseo-yt-lite{position:relative;max-width:780px;margin:1.5rem auto;aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;cursor:pointer;box-shadow:0 12px 40px rgba(10,54,175,.12)}
.glseo-yt-lite img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .2s}
.glseo-yt-lite:hover img{opacity:1}
.glseo-yt-lite__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;border:0;border-radius:50%;background:rgba(255,255,255,.95);color:#0A36AF;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.3);transition:transform .2s}
.glseo-yt-lite:hover .glseo-yt-lite__play{transform:translate(-50%,-50%) scale(1.08)}

/* Map */
.glseo-map{display:block;width:100%;border:0;border-radius:12px;max-width:100%}

/* Contact card */
.glseo-contact-card{background:#F4F7FC;border:1px solid #E2E5EF;border-radius:12px;padding:1.5rem;margin:1.5rem 0}
.glseo-contact-card h3{margin:0 0 .5rem;color:#1A1A2E;font-family:"Playfair Display",Georgia,serif}
.glseo-contact-card__address{margin:0 0 1rem;color:#3A3A52}
.glseo-contact-card__actions{margin:0;display:flex;flex-wrap:wrap;gap:.5rem}
.glseo-btn{display:inline-block;padding:.7rem 1.4rem;border-radius:9999px;background:#0A36AF;color:#fff!important;text-decoration:none;font-weight:600;transition:background .15s}
.glseo-btn:hover{background:#1A4FD0}
.glseo-btn--secondary{background:transparent;color:#0A36AF!important;border:1.5px solid #0A36AF}
.glseo-btn--secondary:hover{background:#E8EEF9}

/* Breadcrumbs */
.glseo-breadcrumb{background:#F4F7FC;padding:.6rem 0;font-size:.875rem;border-bottom:1px solid #E2E5EF}
.glseo-breadcrumb ol{list-style:none;padding:0 1rem;margin:0;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;max-width:1200px;margin:0 auto}
.glseo-breadcrumb li{color:#6B6B82}
.glseo-breadcrumb li+li::before{content:"\203A";margin-right:.35rem;color:#6B6B82}
.glseo-breadcrumb a{color:#0A36AF;text-decoration:none}
.glseo-breadcrumb a:hover{text-decoration:underline}
.glseo-breadcrumb [aria-current="page"]{color:#3A3A52}

/* Consent banner (injected by consent.js) */
#gl-consent{position:fixed;inset:auto 1rem 1rem 1rem;max-width:32rem;margin-left:auto;z-index:9999;background:#fff;border:1px solid #E2E5EF;border-radius:16px;box-shadow:0 12px 40px rgba(10,54,175,.15);padding:1.25rem;color:#3A3A52;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}
#gl-consent h2{margin:0 0 .35rem;font-size:1rem;color:#1A1A2E;font-weight:600}
#gl-consent p{margin:0 0 .85rem;font-size:.8125rem;line-height:1.5;color:#6B6B82}
#gl-consent .gl-c-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}
#gl-consent button{border:0;cursor:pointer;border-radius:9999px;padding:.55rem 1rem;font-size:.8125rem;font-weight:600;font-family:inherit}
#gl-consent .gl-primary{background:#0A36AF;color:#fff}
#gl-consent .gl-primary:hover{background:#1A4FD0}
#gl-consent .gl-secondary{background:#F4F7FC;color:#0A36AF;border:1px solid #E2E5EF}
#gl-consent .gl-secondary:hover{background:#E8EEF9}
#gl-consent a{color:#0A36AF}
#gl-consent button:focus-visible{outline:3px solid #D4A853;outline-offset:2px}
@media (max-width:500px){#gl-consent{inset:auto 0 0 0;max-width:none;border-radius:16px 16px 0 0}}

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