/* Prisyn Labs Core — site-wide enhancements */
html { scroll-behavior: smooth; }
::selection { background: #F07B2B; color: #0A0A0B; }

/* Global header wrapper is the sticky element so it sticks across the whole page. */
.plc-global-header { position: sticky; top: 0; z-index: 999; }
.admin-bar .plc-global-header { top: var(--wp-admin--admin-bar--height, 32px); }
.plc-global-header header.e-con { position: relative !important; top: auto !important; }

header.e-con { transition: padding .45s cubic-bezier(.2,.8,.2,1), background-color .45s ease, box-shadow .45s ease; }
body.pl-scrolled header.e-con { padding-top: 12px !important; padding-bottom: 12px !important; background-color: rgba(10,10,11,.94) !important; box-shadow: 0 10px 40px rgba(0,0,0,.35); }

/* Current page in navigation */
header nav .is-current, header nav .is-current a { color: #fff !important; }
header details .is-current, header details .is-current a { color: #F07B2B !important; }

/* Mobile menu */
header details > summary { list-style: none; transition: background-color .3s ease, border-color .3s ease; }
header details > summary::-webkit-details-marker { display: none; }
header details[open] > summary { background-color: #F07B2B; border-color: #F07B2B !important; }
header details[open] > summary span { color: #0A0A0B !important; }
header details[open] > *:not(summary) { animation: plMenu .55s cubic-bezier(.2,.8,.2,1); }
header details[open] > *:not(summary) > * { animation: plMenuItem .6s cubic-bezier(.2,.8,.2,1) both; }
header details[open] > *:not(summary) > *:nth-child(2) { animation-delay: .05s; }
header details[open] > *:not(summary) > *:nth-child(3) { animation-delay: .1s; }
header details[open] > *:not(summary) > *:nth-child(4) { animation-delay: .15s; }
header details[open] > *:not(summary) > *:nth-child(5) { animation-delay: .2s; }
header details[open] > *:not(summary) > *:nth-child(6) { animation-delay: .25s; }
@keyframes plMenu { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: none; } }
@keyframes plMenuItem { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
body.pl-menu-open { overflow: hidden; }

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

/* ---------- Services dropdown (header) ---------- */
.plc-dd { position: relative; display: flex; align-items: center; }
.plc-dd-top { display: inline-flex; align-items: center; gap: 7px; font: 600 12px/1 Manrope, system-ui, sans-serif; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.62); text-decoration: none; padding: 14px 0; transition: color .3s ease; }
.plc-dd-top svg { transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.plc-dd:hover .plc-dd-top, .plc-dd:focus-within .plc-dd-top, .plc-dd-top.is-current { color: #fff; }
.plc-dd:hover .plc-dd-top svg, .plc-dd.is-open .plc-dd-top svg { transform: rotate(180deg); }
.plc-dd-panel { position: absolute; top: 100%; left: 50%; z-index: 1000; padding-top: 18px; width: 440px; opacity: 0; visibility: hidden; transform: translate(-50%, 10px); transition: opacity .3s ease, transform .4s cubic-bezier(.2,.8,.2,1), visibility 0s linear .3s; }
.plc-dd:hover .plc-dd-panel, .plc-dd:focus-within .plc-dd-panel, .plc-dd.is-open .plc-dd-panel { opacity: 1; visibility: visible; transform: translate(-50%, 0); transition-delay: 0s; }
.plc-dd-inner { background: rgba(18,18,20,.98); border: 1px solid rgba(255,255,255,.1); border-radius: 16px; padding: 10px; box-shadow: 0 30px 80px rgba(0,0,0,.55); }
.plc-dd-item { display: flex; align-items: center; gap: 16px; padding: 14px 14px; border-radius: 10px; color: #fff; text-decoration: none; transition: background-color .25s ease; }
.plc-dd-item:hover, .plc-dd-item:focus-visible { background: rgba(240,123,43,.1); outline: none; }
.plc-dd-num { flex: 0 0 auto; font: 700 11px/1 Manrope, system-ui, sans-serif; letter-spacing: .12em; color: #F07B2B; }
.plc-dd-text { flex: 1 1 auto; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.plc-dd-text strong { font: 600 16px/1.2 Sora, system-ui, sans-serif; letter-spacing: -.02em; }
.plc-dd-text small { font: 400 13px/1.45 Manrope, system-ui, sans-serif; color: #A39E96; }
.plc-dd-arrow { color: #F07B2B; opacity: 0; transform: translateX(-6px); transition: opacity .25s ease, transform .3s ease; }
.plc-dd-item:hover .plc-dd-arrow { opacity: 1; transform: none; }
.plc-dd-all { display: flex; justify-content: space-between; margin: 6px 4px 2px; padding: 14px 10px 8px; border-top: 1px solid rgba(255,255,255,.08); font: 700 12px/1 Manrope, system-ui, sans-serif; letter-spacing: .18em; text-transform: uppercase; color: #4ED8A5; text-decoration: none; }
.plc-dd-all:hover { color: #F07B2B; }
.plc-global-header header nav .elementor-widget-shortcode, .plc-global-header header nav .elementor-shortcode { display: flex; align-items: center; }

/* ---------- Services links inside the mobile menu ---------- */
.plc-mm { display: flex; flex-direction: column; gap: 2px; margin: -6px 0 10px; padding-left: 16px; border-left: 1px solid rgba(255,255,255,.12); }
.plc-mm a { display: flex; align-items: baseline; gap: 12px; padding: 8px 0; font: 500 17px/1.25 Sora, system-ui, sans-serif; letter-spacing: -.02em; color: rgba(255,255,255,.7); text-decoration: none; transition: color .25s ease; }
.plc-mm a span { font: 700 10px/1 Manrope, system-ui, sans-serif; letter-spacing: .14em; color: #F07B2B; }
.plc-mm a:hover, .plc-mm a.is-current { color: #F07B2B; }

/* ---------- Mobile header ---------- */
@media (max-width: 1024px) {
	.plc-global-header header > a:first-child { flex: 0 0 auto !important; }
	.plc-global-header header > a:first-child img { width: 148px !important; height: auto !important; max-width: none !important; }
	.plc-global-header header > div:last-child { flex: 0 0 auto !important; width: auto !important; }
	.plc-global-header header details > summary { padding: 9px 16px !important; gap: 8px !important; }
	.plc-global-header header details > summary > div { width: auto !important; flex: 0 0 auto !important; }
	.plc-global-header header details > summary svg { width: 14px !important; height: 14px !important; }
	.plc-global-header header details > div { position: absolute !important; top: calc(100% + 15px) !important; right: -22px !important; left: auto !important; width: 100vw !important; height: calc(100dvh - 90px) !important; overflow-y: auto; }
	.admin-bar .plc-global-header header details > div { height: calc(100dvh - 136px) !important; }
}
