/* ============================================
   Solar Public Layout Styles
   ============================================ */

:root {
    --solar-primary: #C8952E;
    --solar-primary-dark: #A67A25;
    --solar-dark: #1a1a1a;
    --solar-darker: #111111;
}
body {
    font-family: 'Inter', sans-serif;
    color: #334155;
    padding-top: 72px;
}
.hero-section,
.page-hero {
    margin-top: -72px;
    padding-top: 72px;
}
.navbar-solar {
    background: var(--solar-darker);
    padding: .5rem 0;
    z-index: 1030;
}
.navbar-solar .navbar-brand {
    color: #fff;
    font-weight: 800;
    font-size: 1.4rem;
}
.navbar-solar .navbar-brand i {
    color: var(--solar-primary);
}
.navbar-solar .nav-link {
    color: rgba(255,255,255,.8);
    font-weight: 500;
}
.navbar-solar .nav-link:hover,
.navbar-solar .nav-link.active {
    color: var(--solar-primary);
}
.btn-solar {
    background: var(--solar-primary);
    color: #fff;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    padding: 0.6rem 1.5rem;
}
.btn-solar:hover {
    background: var(--solar-primary-dark);
    color: #fff;
}
.btn-contact {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 1rem;
    font-weight: 600;
    font-size: 0.78rem;
    color: var(--solar-darker);
    background: linear-gradient(135deg, #F5C054 0%, var(--solar-primary) 50%, var(--solar-primary-dark) 100%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 999px;
    box-shadow: 0 6px 20px -8px rgba(200, 149, 46, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.35);
    transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
    overflow: hidden;
}
.btn-contact::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, 0.45) 50%, transparent 70%);
    transform: translateX(-100%);
    transition: transform .6s ease;
}
.btn-contact:hover {
    color: var(--solar-darker);
    transform: translateY(-1px);
    box-shadow: 0 10px 24px -6px rgba(200, 149, 46, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.45);
    filter: brightness(1.05);
}
.btn-contact:hover::before {
    transform: translateX(100%);
}
.btn-contact i {
    font-size: 0.8rem;
    transition: transform .25s ease;
}
.btn-contact:hover i {
    transform: rotate(-12deg);
}
.footer-solar {
    background: #fff;
    color: #555;
    padding: 0 0 1.5rem;
    position: relative;
    overflow: hidden;
}
.footer-sky {
    position: relative;
    height: 240px;
    background: #FEB800;
    overflow: hidden;
    margin-bottom: -1px;
}
.footer-sun {
    position: absolute;
    top: 30px;
    left: 50%;
    transform: translateX(-50%);
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background: radial-gradient(circle, #fffbe6 0%, #ffe066 50%, #ffb347 90%);
    box-shadow: 0 0 60px 20px rgba(255,224,102,0.65), 0 0 130px 50px rgba(255,179,71,0.45);
    animation: footer-sun-pulse 4s ease-in-out infinite;
    z-index: 1;
}
@keyframes footer-sun-pulse {
    0%,100% { box-shadow: 0 0 60px 20px rgba(255,224,102,0.65), 0 0 130px 50px rgba(255,179,71,0.45); }
    50%     { box-shadow: 0 0 90px 35px rgba(255,224,102,0.8),  0 0 180px 70px rgba(255,179,71,0.55); }
}
.footer-sun::before {
    content: '';
    position: absolute;
    inset: -30px;
    border-radius: 50%;
    background: conic-gradient(from 0deg,
        transparent 0 6deg, rgba(255,255,255,0.55) 6deg 14deg,
        transparent 14deg 36deg, rgba(255,255,255,0.55) 36deg 44deg,
        transparent 44deg 66deg, rgba(255,255,255,0.55) 66deg 74deg,
        transparent 74deg 96deg, rgba(255,255,255,0.55) 96deg 104deg,
        transparent 104deg 126deg, rgba(255,255,255,0.55) 126deg 134deg,
        transparent 134deg 156deg, rgba(255,255,255,0.55) 156deg 164deg,
        transparent 164deg 186deg, rgba(255,255,255,0.55) 186deg 194deg,
        transparent 194deg 216deg, rgba(255,255,255,0.55) 216deg 224deg,
        transparent 224deg 246deg, rgba(255,255,255,0.55) 246deg 254deg,
        transparent 254deg 276deg, rgba(255,255,255,0.55) 276deg 284deg,
        transparent 284deg 306deg, rgba(255,255,255,0.55) 306deg 314deg,
        transparent 314deg 336deg, rgba(255,255,255,0.55) 336deg 344deg,
        transparent 344deg 360deg);
    -webkit-mask: radial-gradient(circle, transparent 64px, #000 66px, #000 100px, transparent 102px);
            mask: radial-gradient(circle, transparent 64px, #000 66px, #000 100px, transparent 102px);
    animation: footer-sun-rays 40s linear infinite;
}
@keyframes footer-sun-rays {
    to { transform: rotate(360deg); }
}
.footer-cloud-svg {
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 150px;
    display: block;
    z-index: 2;
    filter: drop-shadow(0 -10px 16px rgba(0,0,0,0.12));
}
.footer-content {
    background: #fff;
    padding-top: 2rem;
}
.footer-solar h6 {
    color: #111;
    font-weight: 700;
    margin-bottom: 1rem;
}
.footer-solar a {
    color: #555;
    text-decoration: none;
}
.footer-solar a:hover {
    color: var(--solar-primary);
}
.footer-solar hr {
    border-color: #e5e5e5 !important;
}
