/* shared hover effects: link chips, linked service cards, guide cards */
main .chips li,main .grid .card,main .guides .card,main .gd .card,main #guides .grid>a .card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease}
main .chips li a{color:inherit}
main .chips li:has(>a){cursor:pointer}
main .grid .card:has(>h3>a){position:relative}
main .grid .card:has(>h3>a) h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
main .guides>a,main .gd>a,main #guides .grid>a{text-decoration:none;color:inherit}
@media (hover:hover){
main .chips li:has(>a):hover,main .chips li:has(>a:focus-visible){transform:translateY(-2px);background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 8px 18px rgba(255,122,46,.28)}
main .grid .card:has(>h3>a):hover,main .grid .card:has(>h3>a):focus-within{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 12px 28px rgba(20,40,60,.14)}
main .grid .card:has(>h3>a) h3 a:hover{text-decoration:none}
main .guides a:hover .card,main .guides a:focus-visible .card,main .gd a:hover .card,main #guides .grid>a:hover .card{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 12px 28px rgba(20,40,60,.14)}
}
@media (hover:none){
main .chips li:has(>a):active,main .grid .card:has(>h3>a):active,main .guides a:active .card{transform:scale(.98);border-color:var(--accent)}
}
@media (prefers-reduced-motion:reduce){
main .chips li,main .grid .card,main .guides .card,main .gd .card,main #guides .grid>a .card{transition:none}
main .chips li:has(>a):hover,main .grid .card:has(>h3>a):hover,main .guides a:hover .card,main .gd a:hover .card{transform:none}
}
/* touch feedback for call / WhatsApp / quote buttons: only while pressed, never sticks */
@media (hover:none){
.btn{transition:transform .12s ease,filter .12s ease}
.btn:active{transform:scale(.97);filter:brightness(.92)}
}
@media (hover:none) and (prefers-reduced-motion:reduce){
.btn{transition:none}
.btn:active{transform:none}
}
/* header nav hover: brand orange */
header nav a,header nav summary{transition:color .18s ease,box-shadow .18s ease}
header nav a:hover,header nav a:focus-visible,header nav summary:hover,header nav details[open]>summary{color:var(--accent)}
@media (hover:hover){header nav>a:hover,header nav>a:focus-visible{box-shadow:0 2px 0 var(--accent)}}
@media (prefers-reduced-motion:reduce){header nav a,header nav summary{transition:none}}
/* chips inside article: readable text, never orange-on-orange on hover */
main.art .chips li a{color:var(--ink);text-decoration:none;font-weight:600}
@media (hover:hover){main.art .chips li:has(>a):hover a,main.art .chips li:has(>a:focus-visible) a{color:var(--accent-ink)}}
main.art .chips li:has(>a):active a{color:var(--accent-ink)}
/* chip hover: white text in light mode (dark mode keeps navy text on orange) */
@media (hover:hover){
:root:not([data-theme="dark"]) main .chips li:has(>a):hover,
:root:not([data-theme="dark"]) main .chips li:has(>a):hover a,
:root:not([data-theme="dark"]) main .chips li:has(>a:focus-visible),
:root:not([data-theme="dark"]) main .chips li:has(>a:focus-visible) a,
:root:not([data-theme="dark"]) main.art .chips li:has(>a):hover a,
:root:not([data-theme="dark"]) #areas .chips li:hover,
:root:not([data-theme="dark"]) #areas .chips li:hover a,
:root:not([data-theme="dark"]) #areas .chips li:focus-within,
:root:not([data-theme="dark"]) #areas .chips li:focus-within a{color:#fff}
}
:root:not([data-theme="dark"]) main.art .chips li:has(>a):active a{color:#fff}
@media (prefers-color-scheme:dark){
@media (hover:hover){
:root:not([data-theme="light"]) main .chips li:has(>a):hover,
:root:not([data-theme="light"]) main .chips li:has(>a):hover a,
:root:not([data-theme="light"]) main .chips li:has(>a:focus-visible),
:root:not([data-theme="light"]) main .chips li:has(>a:focus-visible) a,
:root:not([data-theme="light"]) main.art .chips li:has(>a):hover a,
:root:not([data-theme="light"]) #areas .chips li:hover,
:root:not([data-theme="light"]) #areas .chips li:hover a,
:root:not([data-theme="light"]) #areas .chips li:focus-within,
:root:not([data-theme="light"]) #areas .chips li:focus-within a{color:var(--accent-ink)}
}
:root:not([data-theme="light"]) main.art .chips li:has(>a):active a{color:var(--accent-ink)}
}
@media (hover:hover){
:root[data-theme="dark"] main .chips li:has(>a):hover,
:root[data-theme="dark"] main .chips li:has(>a):hover a,
:root[data-theme="dark"] main .chips li:has(>a:focus-visible),
:root[data-theme="dark"] main .chips li:has(>a:focus-visible) a,
:root[data-theme="dark"] main.art .chips li:has(>a):hover a,
:root[data-theme="dark"] #areas .chips li:hover,
:root[data-theme="dark"] #areas .chips li:hover a,
:root[data-theme="dark"] #areas .chips li:focus-within,
:root[data-theme="dark"] #areas .chips li:focus-within a{color:var(--accent-ink)}
}
:root[data-theme="dark"] main.art .chips li:has(>a):active a{color:var(--accent-ink)}
/* header call button: white text in light mode */
:root:not([data-theme="dark"]) header .btn.hcall,:root:not([data-theme="dark"]) header .btn.hcall:hover{color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) header .btn.hcall,:root:not([data-theme="light"]) header .btn.hcall:hover{color:var(--accent-ink)}}
:root[data-theme="dark"] header .btn.hcall,:root[data-theme="dark"] header .btn.hcall:hover{color:var(--accent-ink)}
