/* ============================================================
   NewOmi — UI/UX Enhancements
   ============================================================ */

/* Skip link */
.skip-link {
    position: absolute;
    top: -100%;
    left: 1rem;
    z-index: 1000;
    padding: 0.625rem 1rem;
    background: var(--accent);
    color: var(--white);
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: 0 0 var(--radius-sm) var(--radius-sm);
    transition: top 0.2s var(--ease);
}

.skip-link:focus {
    top: 0;
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* Buttons — match header CTA radius */
.btn {
    border-radius: var(--btn-radius);
    min-height: 44px;
}

.header__cta {
    border-radius: var(--btn-radius);
}

/* Nav active indicator — header.css handles underline */

@media (hover: hover) and (min-width: 1024px) {
    .nav__item.has-dropdown:hover .nav__dropdown:not(.nav__mega),
    .nav__item.has-dropdown:focus-within .nav__dropdown:not(.nav__mega) {
        opacity: 1;
        visibility: visible;
        transform: translateY(0) scale(1);
    }

    .nav__item.has-dropdown:hover .nav__trigger svg,
    .nav__item.has-dropdown:focus-within .nav__trigger svg {
        transform: rotate(180deg);
    }
}

/* Typography */
.section-title,
.home-hero__title,
.page-hero__title {
    text-wrap: balance;
}

.home-hero__lead,
.section-desc,
.prose p {
    text-wrap: pretty;
}

.stats-band__item strong {
    font-variant-numeric: tabular-nums;
}

/* Discover cards — clearer affordance */
.discover-card {
    position: relative;
    cursor: pointer;
}

.discover-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    transition: gap 0.2s var(--ease), color 0.2s;
}

.discover-card:hover .discover-card__link {
    gap: 0.5rem;
    color: var(--primary-dark);
}

/* Brand marquee */
.brand-marquee {
    overflow: hidden;
    padding: 2.25rem 0;
    background: transparent;
    border: none;
}

.brand-marquee__track {
    display: flex;
    width: max-content;
    animation: brandMarquee 40s linear infinite;
}

.brand-marquee:hover .brand-marquee__track {
    animation-play-state: paused;
}

.brand-marquee__content {
    flex-shrink: 0;
    padding-right: 4rem;
}

.brand-marquee__content p,
.brand-marquee__track > p {
    margin: 0;
    font-size: clamp(1.125rem, 2.2vw, 1.625rem);
    font-weight: 700;
    color: rgba(255, 255, 255, 0.95);
    -webkit-text-fill-color: rgba(255, 255, 255, 0.95);
    white-space: nowrap;
    line-height: 1.4;
    background: none;
}

.brand-marquee__content em {
    font-style: normal;
    color: var(--secondary-light);
}

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

/* Product slider */
.product-slider {
    position: relative;
}

.product-slider__viewport {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0.25rem 0 1rem;
}

.product-slider__viewport::-webkit-scrollbar {
    display: none;
}

.product-slider__viewport .home-product-card {
    flex: 0 0 min(260px, 78vw);
    scroll-snap-align: start;
    cursor: pointer;
    border: 1px solid var(--border);
    background: var(--white);
}

.product-slider__viewport .home-product-card:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 3px;
}

.product-slider__viewport .home-product-card__cta {
    opacity: 1;
    transform: none;
}

.product-slider__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 40px;
    height: 40px;
    border-radius: var(--btn-radius);
    background: var(--white);
    border: 1px solid var(--border);
    box-shadow: var(--shadow-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--navy);
    transition: background 0.2s, box-shadow 0.2s, transform 0.2s;
}

.product-slider__nav:hover {
    background: var(--primary);
    color: var(--white);
    border-color: var(--primary);
    box-shadow: var(--shadow-md);
}

.product-slider__nav:disabled {
    opacity: 0.35;
    pointer-events: none;
}

.product-slider__nav--prev { left: -0.5rem; }
.product-slider__nav--next { right: -0.5rem; }

@media (max-width: 768px) {
    .product-slider__nav { display: none; }
}

/* Hero float — hide on smaller screens */
@media (max-width: 1100px) {
    .hero-float { display: none; }
}

/* Stats polish */
.stats-band__grid {
    gap: 1.25rem;
}

.stats-band__item {
    text-align: center;
}

/* News card link arrow */
.news-card a {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    transition: gap 0.2s var(--ease), color 0.2s;
}

.news-card:hover a {
    gap: 0.5rem;
    color: var(--primary-dark);
}

/* Trust section — light readable */
.trust {
    background: var(--surface-alt);
    color: var(--text);
}

.trust-item strong { color: var(--navy); }
.trust-item p { color: var(--text-secondary); }

.trust-item__icon {
    background: var(--primary-glow);
    border: 1px solid rgba(10, 10, 15, 0.2);
    color: var(--primary-dark);
}

/* Form UX */
.form-group {
    position: relative;
}

.form-group.is-invalid .form-input {
    border-color: var(--accent);
    background: rgba(10, 10, 15, 0.04);
}

.form-group.is-invalid .form-input:focus {
    box-shadow: 0 0 0 3px var(--accent-glow);
}

.form-error {
    display: block;
    font-size: 0.75rem;
    color: var(--accent);
    margin-top: 0.375rem;
    font-weight: 500;
}

.form-feedback {
    padding: 0.875rem 1rem;
    border-radius: var(--radius-sm);
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 1rem;
}

.form-feedback.is-success {
    background: var(--primary-glow);
    color: var(--primary-dark);
    border: 1px solid rgba(10, 10, 15, 0.25);
}

.form-feedback.is-error {
    background: var(--accent-glow);
    color: var(--accent-dark);
    border: 1px solid rgba(10, 10, 15, 0.2);
}

/* Filter empty state */
.product-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 3rem 1.5rem;
    color: var(--text-secondary);
    background: var(--surface-alt);
    border: 1px dashed var(--border-strong);
    border-radius: var(--radius-md);
}

.product-empty strong {
    display: block;
    color: var(--navy);
    font-size: 1.125rem;
    margin-bottom: 0.5rem;
}

/* Back to top */
.back-to-top {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 90;
    width: 44px;
    height: 44px;
    border-radius: var(--btn-radius);
    background: var(--navy);
    color: var(--white);
    border: none;
    box-shadow: var(--shadow-md);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity 0.25s, visibility 0.25s, transform 0.25s var(--ease), background 0.2s;
}

.back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.back-to-top:hover {
    background: var(--primary);
}

/* FAQ chevron */
.faq__item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.faq__item summary::after {
    content: '';
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.2s var(--ease);
    opacity: 0.5;
}

.faq__item[open] summary::after {
    transform: rotate(-135deg);
}

/* Filter active — brand green */
.filter__btn.is-active {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--white);
}

/* Page hero — OneMore navy */
.page-hero {
    background: linear-gradient(145deg, var(--navy) 0%, #14141c 55%, var(--navy) 100%);
}

.page-hero::before {
    background: radial-gradient(ellipse 70% 80% at 85% 20%, rgba(10, 10, 15, 0.15), transparent 55%);
}

/* Global band — monochrome, home.css handles layout */
.global-band {
    background: transparent;
}

/* Stagger reveals */
.reveal:nth-child(2) { --delay: 0.06s; }
.reveal:nth-child(3) { --delay: 0.12s; }
.reveal:nth-child(4) { --delay: 0.18s; }

@media (prefers-reduced-motion: reduce) {
    .brand-marquee__track { animation: none; }
    .product-slider__viewport { scroll-behavior: auto; }
}
