/* Ramp Bygg AS — Custom Styles */

/* DaisyUI v4 custom theme — OKLCH format */
/* Primary: #E6883B rgb(230,136,59), dark base, white content */
[data-theme="rampbygg"] {
    color-scheme: dark;
    --p: 72% 0.145 55;           /* primary: #E6883B orange */
    --pf: 62% 0.130 55;          /* primary-focus: darker orange */
    --pc: 100% 0 0;              /* primary-content: white */
    --s: 15% 0 0;                /* secondary: #1A1A1A */
    --sf: 12% 0 0;               /* secondary-focus */
    --sc: 90% 0 0;               /* secondary-content: #E5E5E5 */
    --a: 85% 0 0;                /* accent: #D4D4D4 */
    --af: 75% 0 0;               /* accent-focus */
    --ac: 10% 0 0;               /* accent-content: #0A0A0A */
    --n: 15% 0 0;                /* neutral: #1A1A1A */
    --nf: 12% 0 0;               /* neutral-focus */
    --nc: 90% 0 0;               /* neutral-content: #E5E5E5 */
    --b1: 10% 0 0;               /* base-100: #0A0A0A */
    --b2: 13% 0 0;               /* base-200: #111111 */
    --b3: 17% 0 0;               /* base-300: #1C1C1C */
    --bc: 90% 0 0;               /* base-content: #E5E5E5 */
    --in: 72% 0.145 55;         /* info: orange */
    --inc: 100% 0 0;             /* info-content: white */
    --su: 72% 0.150 160;        /* success: green */
    --suc: 100% 0 0;             /* success-content: white */
    --wa: 72% 0.145 55;         /* warning: orange */
    --wac: 100% 0 0;             /* warning-content: white */
    --er: 65% 0.200 25;          /* error: red */
    --erc: 100% 0 0;             /* error-content: white */
    --rounded-box: 0.5rem;
    --rounded-btn: 0.375rem;
    --rounded-badge: 1.9rem;
    --animation-btn: 0.25s;
    --animation-input: 0.2s;
    --btn-focus-scale: 0.95;
    --border-btn: 1px;
    --tab-border: 1px;
    --tab-radius: 0.5rem;
}

/* Typography overrides */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif;
}

body {
    font-family: 'Source Sans 3', sans-serif;
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Hero overlay gradient */
.hero-overlay-gradient {
    background: linear-gradient(135deg, rgba(26, 26, 26, 0.85) 0%, rgba(44, 44, 44, 0.6) 100%);
}

/* Navbar transparency on scroll */
.navbar-blur {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* Section spacing */
.section-spacing {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

@media (min-width: 768px) {
    .section-spacing {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
}

/* Service card hover effect */
.service-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.service-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
}

/* FAQ accordion styling */
.faq-collapse .collapse-title {
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 600;
}

/* HTMX loading indicator */
.htmx-indicator {
    display: none;
}

.htmx-request .htmx-indicator {
    display: inline-block;
}

.htmx-request .htmx-hide-on-request {
    display: none;
}

/* Trust bar animation */
.trust-item {
    opacity: 0;
    animation: fadeInUp 0.5s ease forwards;
}

.trust-item:nth-child(1) { animation-delay: 0.1s; }
.trust-item:nth-child(2) { animation-delay: 0.2s; }
.trust-item:nth-child(3) { animation-delay: 0.3s; }
.trust-item:nth-child(4) { animation-delay: 0.4s; }

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Location card grid */
.location-card {
    transition: all 0.2s ease;
    border-left: 3px solid transparent;
}

.location-card:hover {
    border-left-color: #E6883B;
    background-color: rgba(216, 90, 30, 0.05);
}

/* Testimonial carousel */
.testimonial-card {
    min-width: 300px;
    scroll-snap-align: start;
}

/* Phone CTA pulse effect */
.cta-pulse {
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { box-shadow: 0 0 0 0 rgba(216, 90, 30, 0.4); }
    70% { box-shadow: 0 0 0 10px rgba(216, 90, 30, 0); }
    100% { box-shadow: 0 0 0 0 rgba(216, 90, 30, 0); }
}

/* Star rating */
.star-rating {
    color: #E6883B;
}
