/* Public Site Styles - For non-authenticated pages */

/* Custom Primary Color Override */
.has-text-primary {
    color: rgb(171, 116, 231) !important;
}

.has-background-primary {
    background-color: rgb(171, 116, 231) !important;
}

.button.is-primary {
    background-color: rgb(171, 116, 231);
    border-color: transparent;
    color: #fff;
}

.button.is-primary:hover,
.button.is-primary.is-hovered {
    background-color: rgb(156, 99, 219);
    border-color: transparent;
    color: #fff;
}

.button.is-primary:focus,
.button.is-primary.is-focused {
    border-color: transparent;
    color: #fff;
}

.button.is-primary:focus:not(:active),
.button.is-primary.is-focused:not(:active) {
    box-shadow: 0 0 0 0.125em rgba(171, 116, 231, 0.25);
}

.button.is-primary:active,
.button.is-primary.is-active {
    background-color: rgb(142, 84, 209);
    border-color: transparent;
    color: #fff;
}

.button.is-primary.is-outlined {
    background-color: transparent;
    border-color: rgb(171, 116, 231);
    color: rgb(171, 116, 231);
}

.button.is-primary.is-outlined:hover,
.button.is-primary.is-outlined.is-hovered,
.button.is-primary.is-outlined:focus,
.button.is-primary.is-outlined.is-focused {
    background-color: rgb(171, 116, 231);
    border-color: rgb(171, 116, 231);
    color: #fff;
}

/* Hero Section */
.hero {
    background-color: rgb(250, 228, 238);
}

.hero-body {
    padding: 1rem 1.5rem;
    background-color: rgb(250, 228, 238);
}

/* Typography */
.disclaimer-text {
    font-size: 0.9rem;
    margin-top: 2rem;
    color: #4a5568;
}

/* Navigation */
.navbar-brand .icon {
    color: rgb(171, 116, 231);
}

/* Feature Boxes */
#features .box {
    height: 100%;
    transition: transform 0.2s;
}

#features .box:hover {
    transform: translateY(-5px);
}

#features .icon {
    color: rgb(171, 116, 231);
}

/* Pricing Cards */
#pricing .card {
    height: 100%;
    transition: transform 0.2s;
}

#pricing .card:hover {
    transform: translateY(-5px);
}

/* Contact Section */
#contact .box {
    max-width: 600px;
    margin: 0 auto;
}

/* Footer */
.footer {
    background-color: #fafafa;
}

/* Responsive adjustments */
@media screen and (max-width: 768px) {
    .hero-body {
        padding: 3rem 1.5rem;
    }
    
    .title.is-1 {
        font-size: 2rem;
    }
    
    .subtitle.is-4 {
        font-size: 1.25rem;
    }
}