/* ==========================================================================
   Tanzania Beach Safaris — Contact Us page styling.
   Loaded only on Contact-Us.php, after the base theme stylesheet
   (assets/css/app.css), so these rules override/extend it without
   touching the shared theme file. Extracted from an inline <style>
   block that used to sit directly in Contact-Us.php.
   ========================================================================== */

        :root {
          --color-white: #FFFFFF;
          --color-dark: #1B4F4A;
          --color-light-3: #FBFCFF;
          --color-primary: #C1622D;
          --color-secondary: #1B4F4A;
          --color-text: #4F545A;
          --color-head: #1B4F4A;
          --color-gray: #6b7280;
          --shadow-soft: 0 18px 40px rgba(0, 0, 0, 0.08);
          --radius-xl: 26px;
        }

        .page-hero {
            position: relative;
            padding: 120px 0 80px;
            background-size: cover;
            background-position: center center;
            background-repeat: no-repeat;
            color: var(--color-white);
        }
        .page-hero::before {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(135deg, rgba(0,0,0,0.75), rgba(0,0,0,0.55));
        }
        .page-hero .container { position: relative; z-index: 2; }
        .page-hero-content { max-width: 700px; }

        .page-hero-badge {
            display: inline-flex; align-items: center; gap: 8px;
            padding: 7px 16px; border-radius: 999px;
            background: rgba(255,255,255,0.12);
            font-size: 12px; letter-spacing: 1.4px; text-transform: uppercase;
            margin-bottom: 12px; font-weight: 600;
        }
        .page-hero-badge i { color: var(--color-secondary); }

        .page-hero-title {
            font-size: 2.5rem; font-weight: 700; margin-bottom: 12px;
            color: var(--color-white);
            text-shadow: 0 2px 10px rgba(0,0,0,0.6);
        }
        .page-hero-subtitle {
            font-size: 0.98rem; max-width: 560px;
            color: rgba(255,255,255,0.85);
            margin-bottom: 18px;
        }
        .page-hero-meta {
            display: flex; flex-wrap: wrap; gap: 10px;
            font-size: 0.85rem;
        }
        .page-hero-meta span {
            display: inline-flex; align-items: center; gap: 6px;
            padding: 6px 12px; border-radius: 999px;
            background: rgba(0,0,0,0.35);
            border: 1px solid rgba(255,255,255,0.12);
        }
        .page-hero-meta i { color: var(--color-secondary); }

        .contact-us { padding: 70px 0 80px; background: var(--color-white); }

        .box-contact {
            background: var(--color-white);
            border-radius: 18px;
            padding: 24px 18px 22px;
            box-shadow: var(--shadow-soft);
            border: 1px solid #edf2f7;
        }
        .box-contact.center { text-align: center; }
        .box-contact .icon { margin-bottom: 10px; }
        .box-contact .icon i { font-size: 40px; color: var(--color-primary); }
        .box-contact span {
            display: block; font-weight: 600; margin-bottom: 4px;
            font-size: 14px; color: var(--color-dark);
            text-transform: uppercase; letter-spacing: 1.2px;
        }
        .box-contact .des { margin: 0; font-size: 14px; color: var(--color-text); }

        .contact-card {
            background: var(--color-white);
            border-radius: var(--radius-xl);
            padding: 26px 24px 26px;
            box-shadow: var(--shadow-soft);
            border: 1px solid #e1e7ef;
        }
        .contact-card-header {
            margin-bottom: 16px;
            border-bottom: 1px solid #f1f5f9;
            padding-bottom: 10px;
        }
        .contact-card-eyebrow {
            font-size: 11px; text-transform: uppercase; letter-spacing: 1.6px;
            color: var(--color-secondary); margin-bottom: 6px; font-weight: 600;
        }
        .contact-card-title { margin: 0 0 6px; font-size: 1.5rem; color: var(--color-head); }
        .contact-card-subtitle { margin: 0; font-size: 14px; color: var(--color-gray); }

        .contact-input-wrap { margin-bottom: 14px; }
        .contact-input-wrap label {
            display: block; margin-bottom: 6px; font-size: 13px;
            font-weight: 600; color: var(--color-head);
        }
        .contact-input, .contact-textarea {
            width: 100%;
            border-radius: 10px;
            border: 1.4px solid #cbd5e1;
            padding: 11px 13px;
            font-size: 14px;
            background: var(--color-light-3);
            transition: all 0.2s ease;
            font-family: inherit;
            color: var(--color-text);
            box-shadow: 0 2px 4px rgba(15,23,42,0.04);
        }
        .contact-input:focus, .contact-textarea:focus {
            background: var(--color-white);
            border-color: var(--color-primary);
            box-shadow: 0 0 0 2px rgba(193, 98, 45,0.15);
            outline: none;
        }
        .contact-textarea { min-height: 120px; resize: vertical; }
        .contact-note { font-size: 12px; color: var(--color-gray); margin-top: 4px; margin-bottom: 0; }

        .contact-submit-btn {
            width: 100%;
            border: none;
            border-radius: 999px;
            padding: 13px 18px;
            font-size: 14px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: var(--color-white);
            background: linear-gradient(135deg, var(--color-primary), var(--color-secondary));
            box-shadow: 0 14px 30px rgba(193, 98, 45,0.30);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            cursor: pointer;
            margin-top: 4px;
            transition: all 0.25s ease;
        }
        .contact-submit-btn:hover { transform: translateY(-1px); box-shadow: 0 16px 36px rgba(193, 98, 45,0.40); }

        .whatsapp-cta {
            display: block;
            margin-top: 10px;
            text-align: center;
            text-decoration: none;
            font-weight: 800;
            letter-spacing: .5px;
            color: var(--color-primary);
        }

        @media (max-width: 991px) {
            .page-hero { padding: 100px 0 60px; }
            .page-hero-title { font-size: 2rem; }
            .contact-us { padding: 50px 0 60px; }
            .box-contact { margin-bottom: 20px; }
            .contact-card { margin-top: 30px; }
        }
        @media (max-width: 767px) {
            .page-hero { padding: 90px 0 50px; }
            .page-hero-title { font-size: 1.8rem; }
            .page-hero-meta { flex-direction: column; }
        }
