/*
 * PadNex Future / Aurora 2026
 * Storefront-only visual layer. Loaded after page-specific CSS in ui.xhtml.
 * Preserves product images, card dimensions, form behavior, and semantic status colors.
 */
:root {
    --nex-ink: #14213b;
    --nex-muted: #5c6e86;
    --nex-cobalt: #2555dc;
    --nex-cyan: #08a8d9;
    --nex-violet: #7160d9;
    --nex-outline: rgba(60, 98, 174, .17);
    --nex-surface: rgba(255, 255, 255, .96);
    --nex-glow: 0 16px 40px rgba(29, 82, 169, .12);
    --bg-color: #f5f8ff;
    --text-color: #253650;
    --header-bg: rgba(250, 252, 255, .94);
    --footer-bg: #0c1730;
    --primary-btn-bg: #2555dc;
    --primary-btn-text: #fff;
    --accent-mint: #d5f3f8;
    --accent-lavender: #e6e0ff;
}

/* Atmospheric grid / ambient light, with no images or extra network requests. */
body {
    color: var(--nex-ink);
    background-color: var(--bg-color);
    background-image:
        radial-gradient(ellipse 58% 28% at 7% 2%, rgba(70, 158, 255, .11), transparent 76%),
        radial-gradient(ellipse 50% 27% at 100% 17%, rgba(119, 100, 224, .09), transparent 77%),
        linear-gradient(rgba(51, 112, 200, .023) 1px, transparent 1px),
        linear-gradient(90deg, rgba(51, 112, 200, .023) 1px, transparent 1px);
    background-size: auto, auto, 40px 40px, 40px 40px;
}

.padnex-page-shell main { isolation: isolate; }
.padnex-page-shell main a:not(.btn) { text-underline-offset: 3px; }
.padnex-page-shell main a:not(.btn):focus-visible,
.padnex-page-shell button:focus-visible,
.padnex-page-shell input:focus-visible,
.padnex-page-shell select:focus-visible,
.padnex-page-shell textarea:focus-visible {
    outline: 3px solid rgba(5, 160, 217, .55);
    outline-offset: 3px;
}

/* Frosted navigation. Keep the original dark-lettered logo on a light background. */
.padnex-page-shell .sticky-header.bg-white {
    background: linear-gradient(110deg, rgba(255,255,255,.97), rgba(243,249,255,.94)) !important;
    border-bottom: 1px solid rgba(41, 110, 203, .17);
    box-shadow: 0 8px 30px rgba(15, 51, 111, .07) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.padnex-page-shell .sticky-header::after {
    content: "";
    display: block;
    position: absolute;
    inset: auto 0 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(15, 171, 218, .55) 30%, rgba(116, 94, 215, .50) 70%, transparent);
    pointer-events: none;
}
.padnex-page-shell .sticky-header .navbar-nav .nav-link {
    color: #243752 !important;
    transition: color .2s ease;
}
.padnex-page-shell .sticky-header .navbar-nav .nav-link:hover,
.padnex-page-shell .sticky-header .navbar-nav .nav-link:focus-visible {
    color: var(--nex-cobalt) !important;
}
.padnex-page-shell .sticky-header .navbar-nav .nav-link::after {
    background: linear-gradient(90deg, var(--nex-cyan), var(--nex-violet));
}
.padnex-page-shell .header-search-box,
.padnex-page-shell .action-popup-card,
.padnex-page-shell .padnex-mega-menu {
    border-color: var(--nex-outline) !important;
    box-shadow: 0 18px 44px rgba(26, 57, 110, .14) !important;
}
.padnex-page-shell .padnex-mega-menu {
    background: linear-gradient(150deg, #fff, #f5f9ff);
    border-radius: 18px;
}
.padnex-page-shell .padnex-mega-view-all,
.padnex-page-shell .padnex-mega-section-title:hover { color: var(--nex-cobalt); }

/* Hero atmosphere: do not override each slide's inline background photograph. */
.padnex-page-shell .hero-slider-wrapper {
    border-bottom: 1px solid rgba(72, 116, 221, .22);
    box-shadow: inset 0 -24px 35px -35px rgba(27, 86, 192, .33);
}
.padnex-page-shell .hero-content {
    filter: drop-shadow(0 8px 24px rgba(17, 56, 98, .08));
}
.padnex-page-shell .hero-content .badge {
    border: 1px solid rgba(19, 148, 201, .23);
    background: rgba(222, 249, 255, .91) !important;
    color: #075779 !important;
    box-shadow: 0 5px 21px rgba(16, 142, 204, .11);
    letter-spacing: .025em;
}
.padnex-page-shell .hero-title,
.padnex-page-shell .hero-content h1 { color: #14213b; }
.padnex-page-shell .carousel-indicators [data-bs-target] {
    background-color: #2467cb;
}

/* Shop sections: understated tech accents rather than large animated elements. */
.padnex-page-shell .section-title-compact,
.padnex-page-shell .product-page .product-title,
.padnex-page-shell .bundle-detail-page .bundle-title,
.padnex-page-shell .category-grid-title {
    color: var(--nex-ink);
}
.padnex-page-shell .section-title-compact::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: .86em;
    margin-right: 9px;
    border-radius: 3px;
    background: linear-gradient(180deg, var(--nex-cyan), var(--nex-violet));
    vertical-align: -1px;
    box-shadow: 0 0 12px rgba(0, 162, 215, .24);
}
.padnex-page-shell .category-grid-card,
.padnex-page-shell .product-card-modern {
    border: 1px solid var(--nex-outline);
    background: linear-gradient(145deg, rgba(255,255,255,.99), rgba(246,249,255,.98));
    box-shadow: 0 9px 28px rgba(32, 74, 149, .075);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.padnex-page-shell .category-grid-card::after,
.padnex-page-shell .product-card-modern::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    left: 16%;
    right: 16%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(5, 175, 219, .88), rgba(120, 95, 232, .76), transparent);
    opacity: .36;
    pointer-events: none;
    transition: opacity .28s ease, left .28s ease, right .28s ease;
}
.padnex-page-shell .category-grid-card:hover,
.padnex-page-shell .product-card-modern:hover {
    transform: translateY(-5px);
    border-color: rgba(50, 126, 225, .43);
    box-shadow: 0 19px 45px rgba(42, 93, 190, .17), 0 0 0 1px rgba(24, 176, 224, .06);
}
.padnex-page-shell .category-grid-card:hover::after,
.padnex-page-shell .product-card-modern:hover::after {
    opacity: 1;
    left: 8%;
    right: 8%;
}
.padnex-page-shell .category-grid-media {
    background: linear-gradient(135deg, #f3faff, #f5f2ff);
    border-bottom: 1px solid rgba(39, 110, 194, .13);
}
.padnex-page-shell .category-grid-arrow {
    color: var(--nex-cobalt);
    background: rgba(255,255,255,.96);
    border-color: rgba(43, 126, 210, .25);
}
.padnex-page-shell .category-grid-card:hover .category-grid-arrow {
    color: #fff;
    background: linear-gradient(125deg, var(--nex-cobalt), var(--nex-violet));
}
.padnex-page-shell .product-card-modern .product-card-title,
.padnex-page-shell .product-card-modern h6 { color: #1d3255; }
.padnex-page-shell .product-card-modern:hover .product-card-title,
.padnex-page-shell .product-card-modern:hover h6 { color: var(--nex-cobalt); }
.padnex-page-shell .product-card-media {
    border-color: rgba(51, 115, 216, .12);
}
.padnex-page-shell .product-new-badge {
    background: rgba(235, 247, 255, .96);
    border-color: rgba(34, 129, 221, .25);
    color: #1555a5;
}
.padnex-page-shell .product-new-badge i { color: #1d85dc; }
/* Sale prices, stock and validation colors retain their original meanings. */

/* Details pages & content sections: preserve cover-fit image behavior. */
.padnex-page-shell .product-page,
.padnex-page-shell .bundle-detail-page {
    --px-border: rgba(50, 102, 176, .18);
    --px-soft: #f1f7ff;
    --px-text: #152441;
    --px-muted: #61718a;
    --bd-border: rgba(50, 102, 176, .18);
    --bd-soft: #f1f7ff;
    --bd-text: #152441;
    --bd-muted: #61718a;
}
.padnex-page-shell .product-page .product-card,
.padnex-page-shell .bundle-detail-page .purchase-card,
.padnex-page-shell .product-page .section-card,
.padnex-page-shell .bundle-detail-page .section-card,
.padnex-page-shell .product-page .gallery-panel {
    background: rgba(255,255,255,.96);
    border-color: var(--nex-outline);
    box-shadow: var(--nex-glow);
}
.padnex-page-shell .product-page .product-image,
.padnex-page-shell .bundle-detail-page .bundle-visual {
    border-color: rgba(42, 111, 205, .22);
    box-shadow: 0 15px 40px rgba(27, 81, 176, .12);
}
.padnex-page-shell .product-page .info-box,
.padnex-page-shell .bundle-detail-page .summary-box {
    background: linear-gradient(145deg, #f7fbff, #f4f3ff);
    border-color: rgba(72, 112, 200, .17);
}
.padnex-page-shell .product-page .variant-card.active,
.padnex-page-shell .product-page .variant-card.selected {
    border-color: var(--nex-cobalt);
    box-shadow: 0 0 0 2px rgba(37, 85, 220, .12);
}

/* Primary actions: accessible contrast, restrained illumination. */
.padnex-page-shell .btn-dark,
.padnex-page-shell .btn-primary,
.padnex-page-shell .btn-primary-pastel,
.padnex-page-shell .bundle-view-btn {
    --bs-btn-color: #fff;
    --bs-btn-bg: #2555dc;
    --bs-btn-border-color: #2555dc;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #2148b9;
    --bs-btn-hover-border-color: #2148b9;
    --bs-btn-active-bg: #1b3998;
    --bs-btn-active-border-color: #1b3998;
    color: #fff;
    background: linear-gradient(116deg, #2459db 0%, #4b55da 58%, #6c54cf 100%);
    border-color: transparent;
    box-shadow: 0 7px 19px rgba(40, 82, 198, .20);
    transition: box-shadow .2s ease, transform .2s ease, filter .2s ease;
}
.padnex-page-shell .btn-dark:hover,
.padnex-page-shell .btn-primary:hover,
.padnex-page-shell .btn-primary-pastel:hover,
.padnex-page-shell .bundle-view-btn:hover {
    color: #fff;
    filter: brightness(1.07);
    transform: translateY(-2px);
    box-shadow: 0 11px 27px rgba(40, 82, 198, .3);
}
.padnex-page-shell .btn-dark:disabled,
.padnex-page-shell .btn-primary:disabled { transform: none; filter: none; box-shadow: none; }
.padnex-page-shell .form-control:not(.is-invalid):focus,
.padnex-page-shell .form-select:focus {
    border-color: rgba(40, 114, 214, .62);
    box-shadow: 0 0 0 .22rem rgba(38, 130, 226, .12);
}
.padnex-page-shell .breadcrumb {
    border: 1px solid rgba(54, 112, 195, .13);
    background: rgba(255,255,255,.95) !important;
    box-shadow: 0 8px 26px rgba(42, 87, 153, .065) !important;
}
.padnex-page-shell .breadcrumb a { color: #2762c7; }

/* Midnight footer: bright, legible links and a light base for the original logo. */
.padnex-page-shell .site-footer.bg-light {
    color: #e5edff;
    background:
        radial-gradient(ellipse 60% 95% at 92% 0%, rgba(53, 91, 184, .28), transparent 75%),
        linear-gradient(135deg, #0b1731, #142447 65%, #101c39) !important;
    border-top: 1px solid rgba(92, 169, 255, .34) !important;
    box-shadow: inset 0 3px 0 rgba(10, 160, 215, .14);
}
.padnex-page-shell .site-footer .footer-section-label.text-dark { color: #f8fbff !important; }
.padnex-page-shell .site-footer .text-muted,
.padnex-page-shell .site-footer .footer-links a,
.padnex-page-shell .site-footer .bottom-bar,
.padnex-page-shell .site-footer .social-icons a {
    color: #c3d2ee !important;
}
.padnex-page-shell .site-footer .footer-links a:hover,
.padnex-page-shell .site-footer .social-icons a:hover,
.padnex-page-shell .site-footer .bottom-bar a:hover { color: #82e8ff !important; }
.padnex-page-shell .site-footer .bottom-bar {
    border-color: rgba(195, 221, 255, .18) !important;
}
.padnex-page-shell .site-footer .padpet-footer-brand {
    padding: 8px 12px;
    border-radius: 14px;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(190, 220, 255, .36);
}
.padnex-page-shell .site-footer .paypal-acceptance-mark {
    padding: 4px 7px;
    border-radius: 12px;
    background: rgba(255,255,255,.96);
}
.padnex-page-shell .site-footer .newsletter-form .form-control {
    background: #fff;
    border-color: rgba(115, 166, 230, .38);
}

/* Responsive polish & motion safety. */
@media (max-width: 767.98px) {
    body { background-size: auto, auto, 32px 32px, 32px 32px; }
    .padnex-page-shell .product-card-modern:hover,
    .padnex-page-shell .category-grid-card:hover { transform: translateY(-2px); }
    .padnex-page-shell .site-footer .padpet-footer-brand { padding: 5px 8px; }
}
@media (prefers-reduced-motion: reduce) {
    .padnex-page-shell .product-card-modern,
    .padnex-page-shell .category-grid-card,
    .padnex-page-shell .category-grid-card::after,
    .padnex-page-shell .product-card-modern::after,
    .padnex-page-shell .btn,
    .padnex-page-shell .sticky-header .nav-link { transition: none !important; }
    .padnex-page-shell .product-card-modern:hover,
    .padnex-page-shell .category-grid-card:hover,
    .padnex-page-shell .btn:hover { transform: none !important; }
}
