/*
 Theme Name:   Understrap Child
 Theme URI:    https://understrap.com
 Description:  Understrap Child Theme
 Author:       the Understrap Contributors
 Author URI:   https://github.com/understrap/understrap-child/graphs/contributors
 Template:     understrap
 Version:      1.2.0
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  understrap-child
 Tags: one-column, custom-menu, featured-images, theme-options, translation-ready
 GitHub Theme URI: understrap/understrap-child
*/

 /* custom palette & fine-tuning */
        :root {
            --bs-primary: #401405;      /* Rebel */
            --bs-secondary: #FAD24A;     /* Bright Sun */
            --bs-accent: #DD7A16;         /* orange accent */
        }
        .bg-rebel { background-color: #401405 !important; }
        .bg-brightsun { background-color: #FAD24A !important; }
        .text-rebel { color: #401405 !important; }
        .text-brightsun { color: #FAD24A !important; }
        .btn-rebel {
            background-color: #401405;
            border-color: #401405;
            color: white;
        }
        .btn-rebel:hover {
            background-color: #5a2a10;
            border-color: #5a2a10;
            color: white;
        }
        .btn-brightsun {
            background-color: #FAD24A;
            border-color: #FAD24A;
            color: #401405;
        }
        .btn-brightsun:hover {
            background-color: #ffe16b;
            border-color: #ffe16b;
            color: #401405;
        }
        .btn-outline-rebel {
            border: 2px solid #401405;
            color: #401405;
            background: transparent;
        }
        .btn-outline-rebel:hover {
            background: #4014050c;
            border-color: #DD7A16;
            color: #401405;
        }
        /* navbar adjustments */
        .navbar {
            backdrop-filter: blur(4px);
            background-color: rgba(255,255,255,0.9) !important;
            box-shadow: 0 4px 20px rgba(0,0,0,0.02);
        }
        .navbar-brand {
            font-weight: 600;
            font-size: 1.7rem;
            color: #401405;
        }
        .navbar-brand i {
            font-size: 2.2rem;
            color: #FAD24A;
            background: #401405;
            padding: 0.4rem;
            border-radius: 16px 4px 16px 4px;
            transition: 0.2s;
        }
        .nav-link {
            font-weight: 500;
            color: #2d4054 !important;
            position: relative;
            margin: 0 0.5rem;
        }
        .nav-link:hover { color: #401405 !important; }
        .nav-link::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0%;
            height: 3px;
            background: #DD7A16;
            border-radius: 6px;
            transition: 0.2s;
        }
        .nav-link:hover::after { width: 100%; }

        /* hero */
        .hero-badge {
            background: #FEF1D6;
            color: #401405;
            border: 1px solid #FAD24A;
            border-radius: 40px;
            padding: 0.3rem 1.1rem;
            font-weight: 600;
            display: inline-block;
        }
        .hero-title {
            font-size: calc(2rem + 2.5vw);
            font-weight: 700;
            line-height: 1.2;
            background: linear-gradient(145deg, #401405, #602f1a, #DD7A16);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        .hero-image-placeholder {
            background-color: #e5eef6;
            border-radius: 40px 40px 40px 4px;
            min-height: 320px;
            background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 320" width="400" height="320"><circle cx="300" cy="140" r="70" fill="%23FAD24A30"/><circle cx="80" cy="200" r="90" fill="%2340140515"/><path d="M60 250 L220 150 L340 250 L280 320 L120 320 Z" fill="%23caddec"/><rect x="180" y="160" width="40" height="100" fill="%23401405" rx="8"/><rect x="260" y="190" width="30" height="80" fill="%23FAD24A" rx="6"/><circle cx="200" cy="140" r="18" fill="%23DD7A16" /><circle cx="280" cy="160" r="14" fill="%23ffffff80" /></svg>');
            background-size: cover;
            background-position: center;
        }
        /* service cards */
        .service-card {
            border-radius: 30px;
            border: 1px solid #eaf0f6;
            transition: 0.2s;
            background: white;
            padding: 2rem 1.2rem;
            text-align: center;
            height: 100%;
        }
        .service-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 25px 35px -10px #4014051a;
            border-color: #d9e2ec;
        }
        .service-icon {
            background: #4014050c;
            width: 80px;
            height: 80px;
            border-radius: 30px 10px 30px 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1.5rem;
            font-size: 2.8rem;
            color: #401405;
            transition: 0.3s;
        }
        .service-card:hover .service-icon {
            background: #401405;
            color: #FAD24A;
            border-radius: 10px 30px 10px 30px;
        }
        .service-link {
            font-weight: 600;
            color: #DD7A16;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
        }
        .service-link:hover { color: #401405; }

        /* contact section */
        .contact-grid {
            background: white;
            border-radius: 50px;
            box-shadow: 0 20px 40px -15px rgba(64,20,5,0.12);
            padding: 3rem;
            border: 1px solid #ecf3f9;
        }
        .contact-details i {
            width: 36px;
            height: 36px;
            background: #FAD24A20;
            border-radius: 12px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #401405;
        }
        .form-control, .form-select {
            border-radius: 30px;
            padding: 0.8rem 1.2rem;
            border: 1px solid #dae3ec;
        }
        .form-control:focus, .form-select:focus {
            border-color: #DD7A16;
            box-shadow: 0 0 0 4px #DD7A1620;
        }
        /* footer */
        .footer-logo {
            font-size: 1.8rem;
            font-weight: 600;
            color: white;
            text-decoration: none;
        }
        .footer-logo i {
            background: #FAD24A;
            color: #0f212f;
            padding: 0.4rem;
            border-radius: 12px 4px 12px 4px;
        }
        .bg-footer { background-color: #0f212f; }
        /* mobile overrides */
        @media (max-width: 767px) {
            .contact-grid { padding: 1.8rem; }
        }