@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&display=swap');

.laravel-hajj-planner-masthead {
    --laravel-inner-masthead-bg: url('../../images/banners/Home-Banner-2.webp');
}

.hp-page {
        --hp-olive: #5c4f3e;
        --hp-olive-mid: #6d5e4c;
        --hp-cream: #f4f0e6;
        --hp-cream-field: #faf7f0;
        --hp-border: #8a7a66;
        --hp-muted: #6d5e4c;
    }

    .hp-hidden {
        display: none !important;
    }

    .hp-page__inner {
        width: 100%;
    }

    .hp-shell {
        width: 1170px;
        margin: 0 auto;
    }

    .hp-results {
        margin-top: 2.5rem;
    }

    @media (min-width: 640px) {
        .hp-shell {
            padding: 6.25rem 2.5rem 2.5rem;
        }
    }

    .hp-intro {
        text-align: left;
        font-size: 18px;
        font-family: 'raleway';
        letter-spacing: 1.1px;
        color: #9d9087;
    }

    .hp-form {
        display: flex;
        flex-direction: column;
        gap: 1.15rem;
    }

    .hp-field {
        display: flex;
        flex-direction: column;
        gap: 0.4rem;
    }

    .hp-label {
        font-size: 0.88rem;
        font-weight: 600;
        color: var(--hp-muted);
    }

    .hp-input {
        width: 100%;
        box-sizing: border-box;
        padding: 0.72rem 0.95rem;
        border: 1px solid var(--hp-border);
        border-radius: 10px;
        background: var(--hp-cream-field);
        color: var(--hp-olive);
        font-size: 0.95rem;
        font-family: inherit;
        transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }

    .hp-input::placeholder {
        color: rgba(92, 79, 62, 0.55);
    }

    .hp-input:focus {
        outline: none;
        border-color: var(--hp-olive-mid);
        box-shadow: 0 0 0 2px rgba(92, 79, 62, 0.12);
    }

    .hp-input--textarea {
        min-height: 120px;
        resize: vertical;
    }

    .hp-select-wrap {
        position: relative;
    }

    .hp-input--select {
        appearance: none;
        padding-right: 2.5rem;
        cursor: pointer;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235c4f3e' d='M1 1.5L6 6l5-4.5'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 1rem center;
    }

    .hp-slider-block {
        margin-top: 0.35rem;
        padding-top: 1.1rem;
        border-top: 1px solid rgba(92, 79, 62, 0.12);
    }

    .hp-slider-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        margin-bottom: 0.65rem;
    }

    .hp-slider-label {
        font-size: 0.95rem;
        font-weight: 600;
        color: var(--hp-olive);
        line-height: 1.35;
    }

    .hp-value-pill {
        flex-shrink: 0;
        min-width: 5.5rem;
        text-align: center;
        padding: 0.35rem 0.65rem;
        font-size: 0.82rem;
        font-weight: 600;
        color: var(--hp-olive);
        background: #e8e3d8;
        border: 1px solid rgba(92, 79, 62, 0.25);
        border-radius: 8px;
    }

    .hp-range {
        width: 100%;
        height: 6px;
        border-radius: 6px;
        background: rgba(92, 79, 62, 0.15);
        accent-color: #b4a55c;
        cursor: pointer;
    }

    .hp-range:disabled {
        cursor: not-allowed;
    }

    .hp-range--dimmed {
        opacity: 0.5;
    }

    .hp-range-ticks {
        display: flex;
        justify-content: space-between;
        margin-top: 0.45rem;
        color: rgba(92, 79, 62, 0.65);
    }

    .hp-range-ticks--quad span {
        text-align: center;
    }

    .hp-range-ticks--quad span:first-child {
        text-align: left;
    }

    .hp-range-ticks--quad span:last-child {
        text-align: right;
    }

    .hp-range-ticks--umrah span {
        text-align: center;
    }

    .hp-range-ticks--umrah span:first-child {
        text-align: left;
    }

    .hp-range-ticks--umrah span:last-child {
        text-align: right;
    }

    .hp-actions {
        margin-top: 0.5rem;
        padding-top: 0.25rem;
    }

    .hp-submit {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.65rem;
        min-width: 11rem;
        padding: 0.85rem 1.75rem;
        border: none;
        border-radius: 10px;
        background: var(--hp-olive);
        color: #fff;
        font-size: 0.95rem;
        font-weight: 700;
        font-family: inherit;
        cursor: pointer;
        transition: background 0.2s ease, transform 0.15s ease;
    }

    .hp-submit:disabled {
        opacity: 0.75;
        cursor: wait;
    }

    .hp-submit__loader {
        width: 1.1rem;
        height: 1.1rem;
        border: 2px solid rgba(255, 255, 255, 0.35);
        border-top-color: #fff;
        border-radius: 50%;
        animation: hp-spin 0.7s linear infinite;
    }

    @keyframes hp-spin {
        to { transform: rotate(360deg); }
    }

    /* â€”â€”â€” Results (second reference: white panels, gold serif headings, chart legend bottom) â€”â€”â€” */
    .hp-res {
        --hp-res-gold: #b08d57;
        --hp-res-gold-dark: #926f42;
        --hp-res-ink: #1a1a1a;
        --hp-res-muted: #6b6b6b;
        --hp-res-brown-label: #7d6b58;
        --hp-res-panel-border: #e3ded6;
    }

    .hp-res__layout {
        max-width: 1170px;
        margin: 0 auto;
        padding: 0 0 1rem;
    }

    .hp-res__header {
        text-align: left;
        margin-bottom: 2rem;
        padding-bottom: 1.25rem;
        border-bottom: 1px solid #e5e0d8;
    }

    .hp-res__congrats {
        font-family: 'Cormorant Garamond', 'Times New Roman', serif;
        font-size: clamp(2.1rem, 4.2vw, 2.85rem);
        font-weight: 700;
        color: var(--hp-res-gold);
        margin: 0 0 0.4rem;
        line-height: 1.12;
    }

    .hp-res__sub {
        margin: 0;
        font-size: 0.95rem;
        color: var(--hp-res-muted);
        font-family: 'Raleway', sans-serif;
        font-weight: 400;
    }

    .hp-res__panel {
        background: #ffffff;
        border: 1px solid var(--hp-res-panel-border);
        border-radius: 8px;
        padding: 1.5rem 1.35rem 1.65rem;
        margin-bottom: 1.5rem;
        box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03);
    }

    @media (min-width: 640px) {
        .hp-res__panel {
            padding: 1.75rem 2rem 2rem;
        }
    }

    .hp-res__panel--stack {
        padding-bottom: 1.5rem;
    }

    .hp-res__h3 {
        font-family: 'Cormorant Garamond', 'Times New Roman', serif;
        font-size: 1.5rem;
        font-weight: 700;
        color: var(--hp-res-gold);
        margin: 0 0 1.1rem;
        text-align: left;
    }

    .hp-res__h3--chart {
        text-align: center;
        margin: 0 0 1rem;
        font-size: 1.45rem;
    }

    .hp-res__est-lead {
        margin: 0 0 0.65rem;
        font-family: 'Raleway', sans-serif;
        font-size: 0.98rem;
        font-weight: 600;
        color: var(--hp-res-gold);
        letter-spacing: 0.02em;
    }

    .hp-res__est-rule {
        height: 0;
        border: none;
        border-bottom: 3px solid #1a1a1a;
        margin: 0 0 1rem;
        max-width: 100%;
    }

    .hp-res__hero-pkr {
        font-family: 'Cormorant Garamond', 'Times New Roman', serif;
        font-size: clamp(2.5rem, 6vw, 3.75rem);
        font-weight: 700;
        color: var(--hp-res-gold);
        margin: 0 0 1.35rem;
        line-height: 1.05;
        letter-spacing: 0.02em;
    }

    .hp-res__kv {
        margin: 0;
        max-width: 100%;
    }

    .hp-res__kv--wide {
        max-width: 100%;
        margin-bottom: 2rem;
    }

    .hp-res__kv-row {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        gap: 1rem;
        padding: 0.62rem 0;
        border-bottom: 1px solid #ebe7e0;
        font-family: 'Raleway', sans-serif;
        font-size: 0.97rem;
    }

    .hp-res__kv-row:last-child {
        border-bottom: none;
    }

    .hp-res__kv-row dt {
        color: var(--hp-res-brown-label);
        font-weight: 500;
    }

    .hp-res__kv-row dd {
        margin: 0;
        font-weight: 700;
        color: var(--hp-res-ink);
        text-align: right;
    }

    .hp-res__rs {
        font-weight: 500;
        color: var(--hp-res-muted);
    }

    .hp-res__chart-panel {
        margin-top: 0.25rem;
        padding-top: 1.5rem;
        border-top: 1px solid #ebe7e0;
    }

    .hp-res__chart-box {
        border: 1px solid #dcd6cc;
        border-radius: 6px;
        background: #fdfcfa;
        padding: 1rem 0.75rem 0.5rem;
    }

    @media (min-width: 640px) {
        .hp-res__chart-box {
            padding: 1.25rem 1.25rem 0.65rem;
        }
    }

    .hp-res__chart-wrap {
        position: relative;
        width: 100%;
    }

    .hp-res__chart-wrap--line {
        height: 360px;
    }

    .hp-res__h3--gain {
        margin-top: 0;
        margin-bottom: 1rem;
        padding-bottom: 0.5rem;
        border-bottom: 2px solid #1a1a1a;
        color: var(--hp-res-ink);
        font-family: 'Raleway', sans-serif;
        font-size: 1.15rem;
        font-weight: 700;
    }

    .hp-res__pie-section {
        margin-top: 2rem;
        padding-top: 1.75rem;
        border-top: 1px solid #ebe7e0;
    }

    .hp-res__pie-box {
        display: grid;
        grid-template-columns: 1fr;
        gap: 2rem;
        border: 1px solid #dcd6cc;
        border-radius: 6px;
        background: #fdfcfa;
        padding: 1.5rem 1rem 1.75rem;
    }

    @media (min-width: 720px) {
        .hp-res__pie-box {
            grid-template-columns: 1fr 1fr;
            gap: 1.5rem 2rem;
            padding: 1.75rem 1.5rem 2rem;
        }
    }

    .hp-res__pie-col {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .hp-res__donut-wrap {
        position: relative;
        width: 100%;
        max-width: 280px;
        height: 240px;
        margin: 0 auto;
    }

    .hp-res__donut-center {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -52%);
        text-align: center;
        pointer-events: none;
        max-width: 42%;
    }

    .hp-res__donut-center-line1 {
        display: block;
        font-family: 'Raleway', sans-serif;
        font-size: 0.68rem;
        font-weight: 600;
        color: #555555;
        line-height: 1.2;
        text-transform: capitalize;
    }

    .hp-res__donut-center-line2 {
        display: block;
        font-family: 'Cormorant Garamond', 'Times New Roman', serif;
        font-size: 1.35rem;
        font-weight: 700;
        color: var(--hp-res-gold);
        line-height: 1.1;
        margin-top: 0.15rem;
    }

    .hp-res__pie-legend {
        margin-top: 1.1rem;
        font-family: 'Raleway', sans-serif;
        font-size: 0.82rem;
        color: var(--hp-res-ink);
        line-height: 1.65;
        padding: 0 0.25rem;
    }

    .hp-res__lg-row {
        display: flex;
        align-items: flex-start;
        gap: 0.45rem;
        margin-bottom: 0.4rem;
    }

    .hp-res__lg-row:last-child {
        margin-bottom: 0;
    }

    .hp-res__lg-swatch {
        width: 12px;
        height: 12px;
        border-radius: 2px;
        flex-shrink: 0;
        margin-top: 0.2rem;
    }

    .hp-res__lg-swatch--contrib {
        background: #d4d0c8;
    }

    .hp-res__lg-swatch--gain {
        background: var(--hp-res-gold);
    }

    .hp-res__footer {
        margin-top: 2rem;
        padding-top: 1.35rem;
        border-top: 1px solid #e5e0d8;
    }

    .hp-res__disclaimer {
        font-family: 'Raleway', sans-serif;
        font-size: 0.78rem;
        color: var(--hp-res-muted);
        line-height: 1.55;
        margin: 0 0 1.15rem;
        max-width: 52rem;
    }

    .hp-res__replan {
        display: inline-block;
        font-family: 'Raleway', sans-serif;
        font-size: 0.95rem;
        font-weight: 700;
        color: #fff;
        background: var(--hp-res-gold);
        border: none;
        border-radius: 4px;
        padding: 0.75rem 2.25rem;
        cursor: pointer;
        transition: background 0.2s ease;
    }

    .hp-res__replan:hover {
        background: var(--hp-res-gold-dark);
    }

    [dir="rtl"] .hp-res__kv-row {
        flex-direction: row-reverse;
    }

    [dir="rtl"] .hp-res__kv-row dd {
        text-align: left;
    }

    [dir="rtl"] .hp-res__congrats,
    [dir="rtl"] .hp-res__h3,
    [dir="rtl"] .hp-res__hero-pkr {
        font-family: 'Noto Sans Urdu', 'Cormorant Garamond', serif;
    }

    .accent-gold { accent-color: #B39246; }
    .text-gold { color: #B39246; }
    .bg-gold { background-color: #B39246; }
    .border-gold { border-color: #B39246; }

    @keyframes fade-in {
        from { opacity: 0; transform: translateY(16px); }
        to { opacity: 1; transform: translateY(0); }
    }

.animate-fade-in { animation: fade-in 0.55s ease-out forwards; }