/* ==========================================================================
   PREMIUM OVERRIDE CSS - ANANSI GLOW LAVENDER DESIGN SYSTEM
   ========================================================================== */

/* 1. CSS VARIABLES (DESIGN SYSTEM) */
:root {
    /* Colors - Anansi Glow Lavender Theme */
    --color-primary: #8A6CD3;
    --color-primary-rgb: 138, 108, 211;

    --premium-black: #1D1929;
    /* Deep charcoal violet */
    --premium-dark-gray: #474156;
    --premium-gray: #827B93;
    --premium-light-gray: #F6F4FC;
    /* Soft lavender tinted background */
    --premium-border: #E5DFFA;
    --premium-white: #FFFFFF;

    /* Accents */
    --premium-accent: #8A6CD3;
    --premium-accent-hover: #7556C4;

    /* Typography */
    --font-primary: 'Jost', 'Inter', sans-serif;
    --font-secondary: 'Playfair Display', 'Lora', serif;

    /* Spacing */
    --space-xs: 0.5rem;
    --space-sm: 1rem;
    --space-md: 2rem;
    --space-lg: 4rem;
    --space-xl: 8rem;

    /* Layout */
    --container-max-width: 1440px;
    --header-height: 80px;

    /* Effects */
    --transition-fast: 0.3s ease;
    --transition-slow: 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
    --shadow-subtle: 0 8px 30px rgba(138, 108, 211, 0.12);
    --shadow-hover: 0 12px 40px rgba(138, 108, 211, 0.22);
    --radius-sm: 8px;
    --radius-md: 16px;
    --radius-lg: 24px;
    --radius-pill: 9999px;
}

/* 2. RESET & BASE */
html,
body {
    margin: 0;
    padding: 0;
    font-family: var(--font-primary);
    color: var(--premium-black);
    background-color: var(--premium-white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.5;
    overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-secondary);
    font-weight: 400;
    margin-top: 0;
    margin-bottom: var(--space-sm);
    letter-spacing: 0.02em;
    color: var(--premium-black);
}

a {
    color: inherit;
    text-decoration: none;
    transition: all var(--transition-fast);
}

a:hover {
    color: var(--premium-accent);
    text-decoration: none;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* 3. UTILITIES & UNIVERSAL BUTTON SYSTEM */
.premium-container {
    max-width: var(--container-max-width);
    margin: 0 auto;
    padding: 0 var(--space-md);
}

@media (max-width: 768px) {
    .premium-container {
        padding: 0 var(--space-sm);
    }
}

/* UNIVERSAL BUTTON OVERRIDE — ENFORCES LOGO LAVENDER THEME (#8A6CD3) ACROSS ALL PAGES */
.premium-btn,
.prem-btn,
.prem-hero-btn,
.btn,
.btn-primary,
.btn-secondary,
.btn-success,
.btn-danger,
.btn-warning,
.btn-info,
.btn-light,
.btn-dark,
.btn-custom,
.main-btn,
.theme-btn,
.default-btn,
.submit-btn,
.search-btn,
.cart-btn,
.checkout-btn,
.add-to-cart,
.proceed-btn,
.book-btn,
.booking-btn,
.filter-btn,
.hero-btn,
.banner-btn,
.slider-btn,
.option-btn,
.card-btn,
.details-btn,
.view-btn,
.read-more-btn,
.newsletter-btn,
.form-btn,
.action-btn,
button,
button[type="submit"],
button[type="button"],
input[type="submit"],
input[type="button"],
button.theme-btn,
a.theme-btn,
a.main-btn,
a.default-btn,
a.btn-primary,
a.btn-secondary,
a.btn,
.widget-button,
.sidebar-widget button,
.search-form button,
.hero-area a.btn,
.banner-content a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px !important;
    font-family: var(--font-primary);
    font-weight: 500;
    font-size: 13px !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    border: none !important;
    border-radius: var(--radius-pill) !important;
    background: linear-gradient(135deg, #8A6CD3 0%, #7556C4 100%) !important;
    color: #FFFFFF !important;
    box-shadow: var(--shadow-subtle) !important;
    transition: all var(--transition-fast) !important;
}

.premium-btn:hover,
.prem-btn:hover,
.prem-hero-btn:hover,
.btn:hover,
.btn-primary:hover,
.btn-secondary:hover,
.btn-success:hover,
.btn-danger:hover,
.btn-warning:hover,
.btn-info:hover,
.btn-light:hover,
.btn-dark:hover,
.btn-custom:hover,
.main-btn:hover,
.theme-btn:hover,
.default-btn:hover,
.submit-btn:hover,
.search-btn:hover,
.cart-btn:hover,
.checkout-btn:hover,
.add-to-cart:hover,
.proceed-btn:hover,
.book-btn:hover,
.booking-btn:hover,
.filter-btn:hover,
.hero-btn:hover,
.banner-btn:hover,
.slider-btn:hover,
.option-btn:hover,
.card-btn:hover,
.details-btn:hover,
.view-btn:hover,
.read-more-btn:hover,
.newsletter-btn:hover,
.form-btn:hover,
.action-btn:hover,
button:hover,
button[type="submit"]:hover,
button[type="button"]:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
button.theme-btn:hover,
a.theme-btn:hover,
a.main-btn:hover,
a.default-btn:hover,
a.btn-primary:hover,
a.btn-secondary:hover,
a.btn:hover,
.widget-button:hover,
.sidebar-widget button:hover,
.search-form button:hover,
.hero-area a.btn:hover,
.banner-content a:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-hover) !important;
    background: linear-gradient(135deg, #7556C4 0%, #6343B1 100%) !important;
    color: #FFFFFF !important;
}

.premium-btn-outline,
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-custom,
.btn-outline {
    background: transparent !important;
    border: 1.5px solid var(--premium-accent) !important;
    color: var(--premium-accent) !important;
    border-radius: var(--radius-pill) !important;
}

.premium-btn-outline:hover,
.btn-outline-primary:hover,
.btn-outline-secondary:hover,
.btn-outline-custom:hover,
.btn-outline:hover {
    background: var(--premium-accent) !important;
    color: var(--premium-white) !important;
}

/* 4. GLOBAL THEME OVERRIDES FOR WEBSITE PAGES */
.bg-primary,
.primary-bg {
    background-color: var(--premium-accent) !important;
}

.text-primary,
.primary-color,
.price,
.product-price,
.rating i,
.star-rating i,
.section-title span,
.sub-title {
    color: var(--premium-accent) !important;
}

.badge-primary,
.category-badge,
.tag-badge {
    background-color: var(--premium-light-gray) !important;
    color: var(--premium-accent) !important;
    border: 1px solid var(--premium-border);
}

.page-item.active .page-link {
    background-color: var(--premium-accent) !important;
    border-color: var(--premium-accent) !important;
}

/* Micro animations */
.fade-up-element {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity var(--transition-slow), transform var(--transition-slow);
}

.fade-up-element.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* 5. UNIVERSAL FORM INPUT FIELD OVERRIDES */
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="search"],
input[type="url"],
select.form-control,
textarea.form-control,
textarea {
    padding-left: 16px !important;
    padding-right: 16px !important;
}

/* 6. UNIVERSAL LUXURY PRODUCT CARD SYSTEM */
.premium-product-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 28px !important;
}

@media (max-width: 767px) {
    .premium-product-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
}

.premium-related-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
}

@media (max-width: 991px) {
    .premium-related-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }
}

@media (max-width: 575px) {
    .premium-related-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}

.premium-product-card {
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border: 1px solid #EAE6F5 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    text-decoration: none !important;
    position: relative !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02) !important;
}

.premium-product-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 16px 35px rgba(138, 108, 211, 0.15) !important;
    border-color: var(--premium-accent) !important;
}

.premium-product-image-wrapper {
    position: relative !important;
    width: 100% !important;
    height: 240px !important;
    background: #F7F5FA !important;
    overflow: hidden !important;
}

.premium-product-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.5s ease !important;
}

.premium-product-card:hover .premium-product-img {
    transform: scale(1.06) !important;
}

.premium-sale-badge {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    background: linear-gradient(135deg, #8A6CD3 0%, #7556C4 100%) !important;
    color: #FFFFFF !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    padding: 4px 10px !important;
    border-radius: 20px !important;
    z-index: 5 !important;
    text-transform: uppercase !important;
}

.premium-product-info {
    padding: 16px 18px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    flex-grow: 1 !important;
    background: #ffffff !important;
    position: relative !important;
    z-index: 2 !important;
}

.premium-product-name {
    font-family: var(--font-primary) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #111111 !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.4 !important;
    transition: color 0.2s ease !important;
}

.premium-product-card:hover .premium-product-name {
    color: var(--premium-accent) !important;
}

.premium-product-price {
    font-family: var(--font-primary) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--premium-accent) !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
}

.premium-card-action-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 9px 14px !important;
    border-radius: 20px !important;
    background: #F7F5FA !important;
    color: #111111 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    transition: all 0.2s ease !important;
}

.premium-product-card:hover .premium-card-action-btn {
    background: var(--premium-accent) !important;
    color: #FFFFFF !important;
}

/* 7. PERMANENTLY HIDE GO TO TOP BUTTON */
.go-top,
#go-top,
.back-to-top,
.scroll-top {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}