/* Shared theme runtime styles moved out of functions.php wp_head inline block. */

.pi-hero-overlay {
    background: radial-gradient(ellipse at 30% 50%, transparent 0%, rgba(232,240,247,.35) 100%);
}

.pi-front,
html:has(.pi-front) {
    background: var(--pi-hero-from);
}

.pi-front #content {
    padding-top: 0 !important;
}

.pi-front #site-header {
    background: transparent !important;
    border-bottom-color: transparent !important;
}

.pi-front .pi-hero-section {
    margin-top: -64px;
    padding-top: calc(64px + 7rem);
}

@media (min-width:1024px) {
    .pi-front .pi-hero-section {
        margin-top: -76px;
        padding-top: calc(76px + 7rem);
    }
}

#site-header.pi-header--scrolled,
.pi-front #site-header.pi-header--scrolled {
    background: var(--pi-nav-bg-scrolled) !important;
    backdrop-filter: blur(24px) saturate(200%);
    -webkit-backdrop-filter: blur(24px) saturate(200%);
    box-shadow: 0 4px 20px rgba(0,20,60,.1), 0 1px 3px rgba(0,20,60,.06);
    border-bottom-color: var(--pi-nav-border-scrolled) !important;
}

#mobile-menu {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 300ms ease, opacity 200ms ease, padding 300ms ease;
    padding-top: 0;
    padding-bottom: 0;
}

#mobile-menu.is-open {
    max-height: 100vh;
    opacity: 1;
    overflow: visible;
    padding-top: 0.75rem;
    padding-bottom: calc(1rem + env(safe-area-inset-bottom));
}

#mobile-menu-backdrop {
    display: none;
}

#mobile-menu-backdrop.is-active {
    display: block;
    opacity: 1;
}

#pi-cart-dropdown {
    opacity: 0;
    visibility: hidden;
    transform: translateY(4px);
    transition: opacity 200ms ease, visibility 200ms ease, transform 200ms ease;
    pointer-events: none;
}

#pi-cart-dropdown::before {
    content: '';
    position: absolute;
    top: -0.5rem;
    left: 0;
    right: 0;
    height: 0.5rem;
}

#pi-header-cart-wrap:hover #pi-cart-dropdown,
#pi-cart-dropdown.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

@keyframes piMarquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@keyframes piMarqueeRtl {
    0% { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}

@keyframes searchGlow {
    0%,100% {
        box-shadow: 0 0 10px rgba(255,255,255,.05);
        border-color: rgba(255,255,255,.2);
    }
    50% {
        box-shadow: 0 0 24px rgba(255,255,255,.12), 0 0 48px rgba(255,255,255,.04);
        border-color: rgba(255,255,255,.35);
    }
}

@keyframes piBadgeBounce {
    0% { transform: scale(1); }
    25% { transform: scale(1.5); }
    50% { transform: scale(.85); }
    75% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

@keyframes piCartPulse {
    0% { box-shadow: 0 0 0 0 rgba(255,110,56,.6); }
    70% { box-shadow: 0 0 0 10px rgba(255,110,56,0); }
    100% { box-shadow: 0 0 0 0 rgba(255,110,56,0); }
}

.pi-badge-bounce {
    animation: piBadgeBounce .5s ease;
}

.pi-header-cart.pi-cart-pulse {
    animation: piCartPulse .6s ease;
    border-radius: 6px;
}

:root {
    --pi-mobile-app-bar-height: 88px;
}

@media (max-width:1023px) {
    .tawk-min-container,
    [id^="tawk-"],
    iframe[title*="chat" i],
    iframe[title*="tawk" i] {
        bottom: calc(var(--pi-mobile-app-bar-height) + env(safe-area-inset-bottom) + 12px) !important;
    }
}

.pi-marquee-mask {
    mask-image: linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
    -webkit-mask-image: linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
}

.pi-marquee-track {
    animation: piMarquee 35s linear infinite;
}

.pi-rtl .pi-marquee-track {
    animation-name: piMarqueeRtl;
}

.pi-arrow-inline,
.pi-arrow-tail {
    transition: transform 200ms ease, opacity 200ms ease;
}

.group:hover .pi-arrow-inline,
.group:hover .pi-arrow-tail {
    transform: translateX(3px);
}

.pi-rtl .pi-arrow-inline {
    transform: scaleX(-1);
}

.pi-rtl .group:hover .pi-arrow-inline {
    transform: translateX(-3px) scaleX(-1);
}

.pi-rtl .group:hover .pi-arrow-tail {
    transform: translateX(-3px);
}

.pi-cat-card::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(to top,rgba(30,41,59,.75) 0%,rgba(30,41,59,.3) 40%,transparent 70%);
    transition: background 300ms ease;
}

.pi-cat-card:hover::after {
    background: linear-gradient(to top,rgba(34,102,150,.85) 0%,rgba(34,102,150,.3) 40%,transparent 70%);
}

.pi-blog-img::after {
    content: '';
    position: absolute;
    inset: 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
    pointer-events: none;
}

.pi-reveal {
    opacity: 0;
    transform: translateY(1.25rem);
    transition: opacity 600ms ease, transform 600ms ease;
}

.pi-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

body.admin-bar #site-header {
    top: 32px !important;
}

body.admin-bar #content {
    padding-top: calc(64px + 32px) !important;
}

@media (min-width:1024px) {
    body.admin-bar #content {
        padding-top: calc(76px + 32px) !important;
    }

    body.admin-bar .lg\:top-\[92px\] {
        top: calc(92px + 32px) !important;
    }

    body.admin-bar .lg\:top-24 {
        top: calc(6rem + 32px) !important;
    }
}

@media (max-width:782px) {
    body.admin-bar #site-header {
        top: 46px !important;
    }

    body.admin-bar #content {
        padding-top: calc(64px + 46px) !important;
    }
}

@media (prefers-reduced-motion:reduce) {
    .pi-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    #pi-hero-canvas {
        display: none;
    }

    .pi-chat-pulse-ring {
        animation: none;
    }
}

#mobile-menu-toggle:focus-visible,
.pi-header-cart:focus-visible {
    outline: 2px solid #ff6e38;
    outline-offset: 2px;
}

.pi-contact-aurora::before {
    content: "";
    position: absolute;
    bottom: -20%;
    left: 50%;
    transform: translateX(-50%);
    width: 140%;
    height: 80%;
    background: radial-gradient(ellipse at center,rgba(34,102,150,.3) 0%,rgba(34,102,150,.08) 50%,transparent 70%);
    border-radius: 50%;
    filter: blur(60px);
}

.pi-contact-aurora::after {
    content: "";
    position: absolute;
    top: 10%;
    right: 15%;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle,rgba(255,110,56,.12) 0%,transparent 60%);
    border-radius: 50%;
    filter: blur(80px);
}

.dark .pi-contact-form-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);
    background-size: 28px 28px;
}

.pi-contact-label--req::after {
    content: " *";
    color: #f87171;
}

@keyframes piGradientShift {
    0%,100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

.pi-contact-help-card {
    background: transparent;
}

.pi-contact-help-card:hover {
    background: linear-gradient(135deg,#ff6e38,#226696,#ff6e38);
    background-size: 200% 200%;
    animation: piGradientShift 3s ease infinite;
}

.pi-contact-loc-map iframe {
    width: 100%;
    height: 100%;
    border: 0;
    filter: grayscale(.3) contrast(.95);
    transition: filter .4s ease;
}

.dark .pi-contact-loc-map iframe {
    filter: grayscale(1) invert(.92) contrast(.85);
}

.pi-contact-loc-card:hover .pi-contact-loc-map iframe {
    filter: grayscale(0) invert(0) contrast(1);
}

.pi-contact-input:focus,
.pi-contact-select:focus,
.pi-contact-textarea:focus {
    outline: none;
    border-color: #226696;
    box-shadow: 0 0 0 3px rgba(34,102,150,.15);
    background: #fff;
}

.dark .pi-contact-input:focus,
.dark .pi-contact-select:focus,
.dark .pi-contact-textarea:focus {
    border-color: #ff6e38;
    box-shadow: 0 0 0 3px rgba(255,110,56,.15);
    background: rgba(255,255,255,.06);
}

.pi-contact-select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23226696' fill-opacity='0.6' d='M6 8.825L1.175 4 2.238 2.937 6 6.7l3.763-3.763L10.825 4z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 40px;
}

.dark .pi-contact-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' fill-opacity='0.4' d='M6 8.825L1.175 4 2.238 2.937 6 6.7l3.763-3.763L10.825 4z'/%3E%3C/svg%3E");
}

.pi-contact-select option {
    background: #fff;
    color: #0f172a;
}

.dark .pi-contact-select option {
    background: #1a2332;
    color: #fff;
}

.pi-contact-drop:hover {
    border-color: #ff6e38;
    background: rgba(255,110,56,.04);
}

.pi-contact-loc-overlay {
    background: linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.4) 60%,transparent 100%);
}
