/* ===================================================================
   ALERTS
   =================================================================== */

.iris-alert {
    padding: 1rem 1.25rem;
    font-size: 0.82rem;
    font-family: var(--font-sans);
    display: flex;
    align-items: center;
}

.iris-alert-success {
    background-color: rgba(123, 94, 167, 0.12);
    border: 1px solid var(--color-gold-muted);
    color: var(--color-earth);
}

.iris-alert-error {
    background-color: rgba(180, 100, 80, 0.1);
    border: 1px solid #c48070;
    color: #8b4a3a;
}


/* ===================================================================
   MISC & OVERRIDES
   =================================================================== */

/* Override Bootstrap's bg-primary */
.bg-primary {
    background-color: var(--bg-dark) !important;
}

/* Dropdown styling */
.dropdown-menu {
    border: none;
    box-shadow: 0 8px 30px rgba(0,0,0,0.08);
    border-radius: 0;
    padding: 0.5rem 0;
}

.dropdown-item {
    font-size: 0.8rem;
    letter-spacing: 0.5px;
    padding: 0.5rem 1.5rem;
}

.dropdown-item:hover {
    background-color: var(--color-cream);
    color: var(--text-primary);
}

/* Dropdown active item */
.dropdown-item.active {
    background-color: var(--color-cream);
    color: var(--text-primary);
    font-weight: 600;
}

/* Hover gold effect for dashboard sidebar */
.hover-gold:hover {
    color: var(--accent) !important;
}

/* Toast/flash override for layout */
.alert {
    font-size: 0.85rem;
}

/* Homepage-specific space removal */
body.page-home main {
    padding-bottom: 0 !important;
}

body.page-home .newsletter-section {
    padding-bottom: 6rem !important;
}

/* ===================================================================
   TOP NOTICE BAR
   =================================================================== */
.iris-top-notice {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1105;
    background: linear-gradient(135deg, color-mix(in srgb, var(--iris-notice-bg) 92%, #ffffff 8%) 0%, var(--iris-notice-bg) 100%);
    color: var(--iris-notice-color);
    border-bottom: 1px solid color-mix(in srgb, var(--iris-notice-color) 22%, transparent);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transform: translateY(-100%);
    opacity: 0;
    transition: transform 0.35s ease, opacity 0.35s ease;
}

.iris-top-notice.is-visible {
    transform: translateY(0);
    opacity: 1;
}

.iris-top-notice__inner {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 0.45rem 2.5rem 0.45rem 0.9rem;
    position: relative;
}

.iris-top-notice__text {
    font-family: var(--font-sans);
    font-size: 0.72rem;
    letter-spacing: 0.9px;
    text-transform: uppercase;
    text-align: center;
    line-height: 1.5;
}

.iris-top-notice__link {
    color: var(--iris-notice-color);
    font-size: 0.7rem;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 1px;
    white-space: nowrap;
    opacity: 0.92;
    transition: opacity 0.2s ease;
}

.iris-top-notice__link:hover {
    color: var(--iris-notice-color);
    opacity: 1;
}

.iris-top-notice__close {
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    color: var(--iris-notice-color);
    opacity: 0.8;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s ease, background-color 0.2s ease;
}

.iris-top-notice__close:hover {
    opacity: 1;
    background: color-mix(in srgb, var(--iris-notice-color) 14%, transparent);
}

body.has-top-notice {
    --iris-top-notice-offset: 44px;
}

body.has-top-notice .iris-header,
body.has-top-notice .simple-header {
    top: var(--iris-top-notice-offset);
}

/* ===================================================================
   RESPONSIVE OVERRIDES
   =================================================================== */

@media (max-width: 991px) {
    .py-10 { padding-top: 4rem; padding-bottom: 4rem; }
    .py-12 { padding-top: 5rem; padding-bottom: 5rem; }
    .p-lg-8 { padding: 2.5rem !important; }

    .iris-top-notice__inner {
        justify-content: flex-start;
        padding-right: 2.4rem;
    }

    .iris-top-notice__text {
        text-align: left;
        font-size: 0.66rem;
        letter-spacing: 0.7px;
        max-width: 100%;
    }

    .iris-top-notice__link {
        font-size: 0.64rem;
    }
}

/* ===================================================================
   PAGINATION (Bootstrap 5 Override for Shop)
   =================================================================== */
.pagination {
    gap: 0.35rem;
}

.pagination .page-item .page-link {
    border: 1px solid var(--color-sand);
    background-color: var(--bg-primary);
    color: var(--color-earth);
    font-family: var(--font-sans);
    font-size: 0.82rem;
    padding: 0.5rem 0.9rem;
    border-radius: 0;
    transition: all 0.3s ease;
}

.pagination .page-item .page-link:hover {
    border-color: var(--color-espresso);
    background-color: var(--color-cream);
    color: var(--color-espresso);
}

.pagination .page-item.active .page-link {
    background-color: var(--color-espresso);
    border-color: var(--color-espresso);
    color: #fff;
}

.pagination .page-item.disabled .page-link {
    background-color: var(--color-cream);
    border-color: var(--color-sand);
    color: var(--color-camel);
}

.pagination .page-link svg,
.pagination .page-link .w-5,
.pagination .page-link .h-5 {
    width: 0.85rem;
    height: 0.85rem;
    vertical-align: middle;
}

.pagination .page-link[aria-label="Previous"],
.pagination .page-link[aria-label="Next"] {
    padding: 0.5rem 0.75rem;
}
