/* Shared visual language for every public page except the custom homepage. */
body:not(.home-page) {
    --page-cream: #fff8ed;
    --page-cream-2: #fff0dc;
    --page-paper: #fffdf8;
    --page-ink: #24203d;
    --page-orange: #ad3d00;
    --page-orange-bright: #ad3d00;
    --page-yellow: #ffc83f;
    --page-muted: #5e5365;
    --page-line: #eadfce;
    background: var(--page-cream) !important;
    color: var(--page-ink) !important;
    font-family: 'Nunito Sans', sans-serif !important;
}

body:not(.home-page) main,
body:not(.home-page) > section { background-color: var(--page-cream); }
body:not(.home-page) h1,
body:not(.home-page) h2,
body:not(.home-page) h3,
body:not(.home-page) h4,
body:not(.home-page) h5,
body:not(.home-page) .display-1,
body:not(.home-page) .display-2,
body:not(.home-page) .display-3,
body:not(.home-page) .display-4,
body:not(.home-page) .display-5,
body:not(.home-page) .section-title,
body:not(.home-page) .breadcrumb-title {
    font-family: 'Fredoka', 'Bricolage Grotesque', sans-serif !important;
    color: var(--page-ink);
    font-weight: 600 !important;
    letter-spacing: -.025em;
}
body:not(.home-page) p,
body:not(.home-page) li { color: var(--page-muted); }
body:not(.home-page) a { transition: color .18s ease, background-color .18s ease, transform .18s ease, box-shadow .18s ease; }
body:not(.home-page) .text-accent,
body:not(.home-page) .text-primary { color: var(--page-orange-bright) !important; }

/* Product and package heroes */
body:not(.home-page) .hero-section {
    min-height: 560px;
    padding: 34px 0 58px !important;
    background:
        radial-gradient(circle at 78% 45%, rgba(255,200,63,.48) 0 18%, transparent 18.3%),
        var(--page-cream) !important;
    color: var(--page-ink);
    overflow: hidden;
}
body:not(.home-page) .hero-section > .container { position: relative; z-index: 1; }
body:not(.home-page) .hero-section h1 {
    max-width: 690px;
    margin-inline: auto;
    font-size: clamp(2.75rem, 5vw, 4.8rem) !important;
    line-height: 1.02;
}
body:not(.home-page) .hero-section .text-lg-start h1 { margin-inline: 0; }
body:not(.home-page) .hero-section p,
body:not(.home-page) .hero-section .text-light-muted {
    color: var(--page-muted) !important;
    font-size: 1.02rem;
    line-height: 1.7;
}
body:not(.home-page) .hero-image-wrapper { padding: 30px !important; }
body:not(.home-page) .hero-image-wrapper::before {
    content: '';
    position: absolute;
    inset: 7% 2% 6% 11%;
    z-index: -1;
    border-radius: 47% 53% 48% 52%;
    background: var(--page-yellow);
    transform: rotate(-6deg);
}
body:not(.home-page) .hero-image-wrapper img {
    width: 100%;
    border: 5px solid #fff;
    border-radius: 24px !important;
    box-shadow: 0 20px 38px rgba(83,55,32,.15) !important;
    transform: rotate(1.2deg);
}
body:not(.home-page) .btn-package-name,
body:not(.home-page) .hero-badge {
    padding: 8px 15px;
    border: 1px solid #efdcc4;
    border-radius: 999px;
    background: #fff !important;
    color: var(--page-orange-bright) !important;
    box-shadow: none;
    font-size: .7rem;
    letter-spacing: .11em;
}

/* Image-led service heroes */
body:not(.home-page) .service-hero {
    position: relative;
    min-height: 480px;
    display: grid;
    place-items: center;
    padding: 90px 0;
    background:
        radial-gradient(circle at 84% 28%, rgba(255,200,63,.42) 0 14%, transparent 14.3%),
        #f7e9d5 !important;
    background-blend-mode: screen;
    color: var(--page-ink);
    isolation: isolate;
    overflow: hidden;
}
body:not(.home-page) .service-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(255,248,237,.98), rgba(255,248,237,.95) 52%, rgba(255,248,237,.92));
}
body:not(.home-page) .service-hero::after {
    content: '';
    position: absolute;
    width: min(42vw, 520px);
    aspect-ratio: 1;
    right: 4%;
    bottom: -55%;
    z-index: -1;
    border-radius: 50%;
    background: rgba(255,196,63,.68);
}
body:not(.home-page) .service-hero h1 {
    color: var(--page-ink) !important;
    font-size: clamp(2.8rem, 5.4vw, 5rem) !important;
    line-height: 1.02;
}
body:not(.home-page) .service-hero p,
body:not(.home-page) .service-hero strong { color: var(--page-muted) !important; }
body:not(.home-page) .service-hero strong { color: var(--page-orange-bright) !important; }

/* Sections, cards and feature groups */
body:not(.home-page) .py-100 { padding-top: 78px !important; padding-bottom: 78px !important; }
body:not(.home-page) .bg-white,
body:not(.home-page) section.bg-white { background: var(--page-paper) !important; color: var(--page-ink) !important; }
body:not(.home-page) .bg-light,
body:not(.home-page) .bg-light-section,
body:not(.home-page) section[style*="#fafbff"],
body:not(.home-page) section[style*="#f7f1ec"] {
    background: var(--page-cream-2) !important;
    color: var(--page-ink) !important;
}

/* Give every coloured audience panel its own readable surface and text pair. */
body:not(.home-page) .audience-card {
    padding: clamp(26px, 4vw, 48px);
    border: 1px solid var(--page-line);
    border-radius: 28px;
    color: var(--page-ink);
}
body:not(.home-page) .audience-card.bg-parents { background: #ffe8d5; border-color: #edc9aa; }
body:not(.home-page) .audience-card.bg-schools { background: #e7f0e7; border-color: #cbdcc9; }
body:not(.home-page) .audience-card :is(p, li) { color: #514856; }
body:not(.home-page) .audience-card svg { flex-shrink: 0; color: #914010; }
body:not(.home-page) .audience-card.bg-schools svg { color: #326344; }
body:not(.home-page) .audience-card ul { margin-bottom: 0; }
body:not(.home-page) .audience-card li { display: flex; align-items: flex-start; gap: 8px; }
body:not(.home-page) .audience-card li svg { margin-top: .2em; }

/* Legacy opacity utilities were designed for white type on dark surfaces. */
body:not(.home-page) :is(.cta-section, .promise-banner, .support-strip, .register-hero, .stage-card, .hero-section, .bg-dark, .bg-dark-product) :is(p, h1, h2, h3, h4, h5, h6, small, .lead)[class*="opacity-"] {
    opacity: 1 !important;
}
body:not(.home-page) .text-muted { color: var(--page-muted) !important; }
body:not(.home-page) :is(.hero-badge-premium, .perfect-pill) {
    background: #fff0dc !important;
    border-color: #e5c9aa !important;
    color: #8e360b !important;
    opacity: 1;
}
body:not(.home-page) .perfect-pill:hover { background: #ffe1b7 !important; }
body:not(.home-page) :is(.price-tag-large, .subject-card:hover .subject-tag) { color: var(--page-orange) !important; }
body:not(.home-page) .step-number { background: var(--page-orange) !important; color: #fff !important; }
body:not(.home-page) .badge { white-space: normal; line-height: 1.4; }
body:not(.home-page) .badge.bg-accent { background: #8e360b !important; color: #fff !important; }
body:not(.home-page) .badge.bg-success { background: #e2efe4 !important; color: #245839 !important; }
body:not(.home-page) .hero-glass-card {
    background: #fffaf2;
    border-color: var(--page-line);
    box-shadow: 0 16px 40px rgba(66, 44, 26, .1);
}
body:not(.home-page) :is(.creation-tile, .stage-card) { background: #fffdf8; border-color: var(--page-line); }
body:not(.home-page) .promise-banner { padding: clamp(36px, 6vw, 70px) clamp(22px, 4vw, 48px); }
body:not(.home-page) :is(.promise-banner, .cta-section)::before { pointer-events: none; }
body:not(.home-page) :is(.service-hero h1, .hero-section h1, .breadcrumb-title, .section-title, .activity-type-box h5) { overflow-wrap: anywhere; }
body:not(.home-page) :is(.btn-accent, .btn-outline-accent, .btn-package-nav, .btn-buy-now1) { white-space: normal; }
body:not(.home-page) .bg-dark,
body:not(.home-page) .bg-dark-product {
    background:
        radial-gradient(circle at 86% 16%, rgba(255,200,63,.36) 0 10%, transparent 10.3%),
        var(--page-cream-2) !important;
    color: var(--page-ink) !important;
}
body:not(.home-page) .bg-dark h1,
body:not(.home-page) .bg-dark h2,
body:not(.home-page) .bg-dark h3,
body:not(.home-page) .bg-dark h4,
body:not(.home-page) .bg-dark h5,
body:not(.home-page) .bg-dark-product h1,
body:not(.home-page) .bg-dark-product h2,
body:not(.home-page) .bg-dark-product h3,
body:not(.home-page) .bg-dark-product h4,
body:not(.home-page) .bg-dark-product h5 { color: var(--page-ink) !important; }
body.bg-dark-product:not(.home-page),
body.bg-dark:not(.home-page) { background: var(--page-cream) !important; color: var(--page-ink) !important; }
body.bg-dark-product:not(.home-page) .text-white,
body.bg-dark:not(.home-page) .text-white,
body.bg-dark-product:not(.home-page) .text-light,
body.bg-dark:not(.home-page) .text-light { color: var(--page-ink) !important; }
body.bg-dark-product:not(.home-page) p,
body.bg-dark:not(.home-page) p { color: var(--page-muted) !important; }
body:not(.home-page) .bg-dark .text-white,
body:not(.home-page) .bg-dark-product .text-white,
body:not(.home-page) .bg-dark .text-light,
body:not(.home-page) .bg-dark-product .text-light { color: var(--page-ink) !important; }
body:not(.home-page) .bg-dark p,
body:not(.home-page) .bg-dark-product p,
body:not(.home-page) .bg-dark li,
body:not(.home-page) .bg-dark-product li { color: var(--page-muted) !important; }
body:not(.home-page) .bg-dark-product .section-title .text-white,
body:not(.home-page) .bg-dark .section-title .text-white,
body:not(.home-page) .product-card-modern .text-white { color: var(--page-ink) !important; }
body:not(.home-page) .badge.bg-primary {
    background: var(--page-orange) !important;
    color: #fff !important;
}
/* Filled badges remain readable after legacy dark-section text overrides. */
body:not(.home-page) .bg-dark .badge.bg-accent.text-white { color: #fff !important; }
body:not(.home-page) .bg-dark .badge.bg-success.text-white { color: #245839 !important; }
body:not(.home-page) .btn-outline-light {
    border-color: #d9c7b4 !important;
    background: #fff !important;
    color: var(--page-ink) !important;
}
body:not(.home-page) .section-title {
    font-size: clamp(2.2rem, 3.7vw, 3.4rem);
    line-height: 1.08;
}
body:not(.home-page) .py-100 .section-title.text-white,
body:not(.home-page) .py-100 .section-title.text-white .text-white {
    color: var(--page-ink) !important;
}
body:not(.home-page) .title-underline { width: 78px; height: 5px; background: var(--page-yellow); }
body:not(.home-page) .info-card,
body:not(.home-page) .feature-card,
body:not(.home-page) .benefit-card,
body:not(.home-page) .activity-type-box,
body:not(.home-page) .how-works-step,
body:not(.home-page) .form-card,
body:not(.home-page) .contact-main .info-card,
body:not(.home-page) .package-card-premium {
    border: 1px solid var(--page-line) !important;
    border-radius: 24px !important;
    background: #fff !important;
    color: var(--page-ink) !important;
    box-shadow: 0 12px 30px rgba(56,40,28,.07) !important;
}
body:not(.home-page) .info-card:hover,
body:not(.home-page) .feature-card:hover,
body:not(.home-page) .benefit-card:hover,
body:not(.home-page) .package-card-premium:hover {
    transform: translateY(-5px);
    border-color: #f5a269 !important;
    box-shadow: 0 17px 34px rgba(56,40,28,.11) !important;
}
body:not(.home-page) .info-icon,
body:not(.home-page) .icon-box,
body:not(.home-page) .feature-icon-lg,
body:not(.home-page) .icon-circle,
body:not(.home-page) .custom-option-icon {
    border-radius: 16px !important;
    background: #fff0dc !important;
    color: var(--page-orange-bright) !important;
    border-color: #ffd9b5 !important;
    box-shadow: none !important;
}
body:not(.home-page) .step-circle {
    background: var(--page-orange-bright);
    color: #fff;
    box-shadow: 0 7px 0 #ce4b00;
}
body:not(.home-page) .product-card-modern {
    padding: 16px;
    border: 1px solid var(--page-line) !important;
    border-radius: 24px;
    background: #fff;
    color: var(--page-ink);
    box-shadow: 0 12px 28px rgba(56,40,28,.08) !important;
}
body:not(.home-page) .product-card-modern:hover {
    background: #fff;
    border-color: #f3a36e !important;
    box-shadow: 0 18px 36px rgba(56,40,28,.12) !important;
    transform: translateY(-5px);
}
body:not(.home-page) .product-img-modern { border-radius: 18px; box-shadow: none; }
body:not(.home-page) .product-info-modern h3 { color: var(--page-ink) !important; }
body:not(.home-page) .product-info-modern .feature-list li,
body:not(.home-page) .product-card-modern:hover .feature-list li { color: var(--page-muted); }
body:not(.home-page) .example-box { border-color: var(--page-yellow); background: #fff7e5; }
body:not(.home-page) .promise-banner,
body:not(.home-page) .cta-section {
    border: 1px solid #f0d1ab !important;
    border-radius: 30px !important;
    background:
        radial-gradient(circle at 90% 20%, rgba(255,200,63,.55) 0 13%, transparent 13.3%),
        #fff0dc !important;
    color: var(--page-ink) !important;
    box-shadow: 0 14px 34px rgba(85,55,31,.08) !important;
}
body:not(.home-page) .promise-banner h1,
body:not(.home-page) .promise-banner h2,
body:not(.home-page) .promise-banner h3,
body:not(.home-page) .cta-section h1,
body:not(.home-page) .cta-section h2,
body:not(.home-page) .cta-section h3,
body:not(.home-page) .promise-banner .text-white,
body:not(.home-page) .cta-section .text-white { color: var(--page-ink) !important; }
body:not(.home-page) .promise-banner p,
body:not(.home-page) .cta-section p { color: var(--page-muted) !important; }

/* Buttons match the homepage pills. */
body:not(.home-page) .btn-accent,
body:not(.home-page) .btn-buy-now1,
body:not(.home-page) .submit-button,
body:not(.home-page) .contact-submit,
body:not(.home-page) .btn-package-nav:not(.active) {
    min-height: 46px;
    padding-inline: 24px;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--page-orange) !important;
    color: #fff !important;
    box-shadow: 0 5px 0 #a93e00 !important;
    font-weight: 800;
}
body:not(.home-page) .btn-accent:hover,
body:not(.home-page) .btn-buy-now1:hover,
body:not(.home-page) .submit-button:hover,
body:not(.home-page) .contact-submit:hover,
body:not(.home-page) .btn-package-nav:not(.active):hover {
    background: #b94000 !important;
    color: #fff !important;
    transform: translateY(2px);
    box-shadow: 0 3px 0 #923300 !important;
}
body:not(.home-page) .btn-outline-accent {
    min-height: 46px;
    padding-inline: 24px;
    border: 1px solid var(--page-line) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: var(--page-ink) !important;
    box-shadow: 0 2px 0 #e8ded2 !important;
}
body:not(.home-page) .btn-outline-accent:hover { color: var(--page-orange) !important; transform: translateY(-2px); }
body:not(.home-page) .btn-details {
    border-color: var(--page-orange) !important;
    background: var(--page-orange) !important;
    color: #fff !important;
}
body:not(.home-page) .btn-package-nav.active {
    min-height: 46px;
    padding-inline: 24px;
    border: 1px solid #e4d3c0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: var(--page-ink) !important;
    box-shadow: inset 0 0 0 2px #fff0dc !important;
    opacity: 1 !important;
}

/* Breadcrumb, contact and legal pages */
body:not(.home-page) .site-breadcrumb {
    min-height: 315px;
    display: grid;
    place-items: center;
    padding: 78px 0;
    background-image: none !important;
    background-color: var(--page-cream-2) !important;
    color: var(--page-ink);
    overflow: hidden;
}
body:not(.home-page) .site-breadcrumb::before {
    background:
        radial-gradient(circle at 18% 26%, rgba(255,200,63,.58) 0 9%, transparent 9.3%),
        radial-gradient(circle at 82% 78%, rgba(255,106,22,.14) 0 14%, transparent 14.3%);
}
body:not(.home-page) .breadcrumb-title { font-size: clamp(2.8rem, 6vw, 5.3rem); color: var(--page-ink) !important; }
body:not(.home-page) .breadcrumb-item,
body:not(.home-page) .breadcrumb-item.active,
body:not(.home-page) .breadcrumb-item a { color: var(--page-muted) !important; }
body:not(.home-page) .breadcrumb-item + .breadcrumb-item::before { content: '/'; color: #b69f8a; }
body:not(.home-page) .contact-main { padding: 80px 0 !important; background: var(--page-cream) !important; }
body:not(.home-page) .form-input,
body:not(.home-page) input:not([type="range"]):not([type="checkbox"]):not([type="radio"]),
body:not(.home-page) select,
body:not(.home-page) textarea {
    border: 1px solid #ddd2c5 !important;
    border-radius: 13px !important;
    background: #fffdf9 !important;
    color: var(--page-ink) !important;
    box-shadow: none !important;
}
body:not(.home-page) .form-input:focus,
body:not(.home-page) input:focus,
body:not(.home-page) select:focus,
body:not(.home-page) textarea:focus { border-color: var(--page-orange-bright) !important; outline: 3px solid rgba(255,106,22,.14) !important; }
body:not(.home-page) .support-strip {
    border: 1px solid #f0d1ab;
    border-radius: 18px !important;
    background: #fff0dc !important;
    color: var(--page-ink) !important;
}
body:not(.home-page) .support-strip h1,
body:not(.home-page) .support-strip h2,
body:not(.home-page) .support-strip h3,
body:not(.home-page) .support-strip .text-white { color: var(--page-ink) !important; }
body:not(.home-page) .support-strip p { color: var(--page-muted) !important; }
body:not(.home-page) .policy-content {
    padding: clamp(24px, 4.5vw, 58px);
    border: 1px solid var(--page-line) !important;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(56,40,28,.06) !important;
}
body:not(.home-page) .policy-content p,
body:not(.home-page) .policy-content li { color: #655e6c; }
body:not(.home-page) .policy-content h2,
body:not(.home-page) .policy-content h3,
body:not(.home-page) .policy-content h4,
body:not(.home-page) .policy-content strong { color: var(--page-ink); }

/* Partner registration follows the same warm editorial system. */
body:not(.home-page) .register-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(64px, 8vw, 110px) 0 !important;
    background:
        radial-gradient(circle at 83% 18%, rgba(255,200,63,.88) 0 12%, transparent 12.3%),
        radial-gradient(circle at 8% 88%, rgba(255,106,22,.12) 0 18%, transparent 18.3%),
        var(--page-cream) !important;
    color: var(--page-ink) !important;
}
body:not(.home-page) .register-hero h1 {
    max-width: 760px;
    font-size: clamp(3rem, 6vw, 5.35rem) !important;
    line-height: .97;
    letter-spacing: -.045em;
    color: var(--page-ink) !important;
}
body:not(.home-page) .register-hero h1 span { color: var(--page-orange-bright) !important; }
body:not(.home-page) .register-hero .lead { max-width: 650px; color: var(--page-muted) !important; opacity: 1 !important; }
body:not(.home-page) .register-hero .benefit-card {
    height: calc(100% - 20px);
    padding: 24px !important;
    border: 1px solid var(--page-line) !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,.88) !important;
    color: var(--page-ink) !important;
    box-shadow: 0 10px 24px rgba(56,40,28,.05);
}
body:not(.home-page) .register-hero .benefit-card p { color: var(--page-muted) !important; opacity: 1 !important; }
body:not(.home-page) .benefit-icon {
    width: 52px;
    height: 52px;
    border-radius: 15px !important;
    background: var(--page-orange-bright) !important;
    box-shadow: 0 5px 0 #c84900;
}
body:not(.home-page) .benefit-icon svg { color: #fff; }
body:not(.home-page) .signup-form-card {
    padding: clamp(28px, 4vw, 44px) !important;
    border: 1px solid var(--page-line) !important;
    border-radius: 28px !important;
    background: #fff !important;
    box-shadow: 0 20px 50px rgba(56,40,28,.12) !important;
}
body:not(.home-page) .btn-register,
body:not(.home-page) .btn-pay {
    min-height: 54px;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--page-orange) !important;
    color: #fff !important;
    box-shadow: 0 5px 0 #a93e00 !important;
    font-weight: 800;
}
body:not(.home-page) .btn-register:hover,
body:not(.home-page) .btn-pay:hover {
    transform: translateY(2px) !important;
    box-shadow: 0 3px 0 #923300 !important;
}

/* Checkout, payment hand-off and success screens. */
body:not(.home-page) .checkout-container { margin-top: clamp(38px, 6vw, 72px) !important; margin-bottom: clamp(58px, 8vw, 96px) !important; }
body:not(.home-page) .payment-card {
    overflow: hidden;
    border: 1px solid var(--page-line) !important;
    border-radius: 28px !important;
    background: #fff !important;
    box-shadow: 0 20px 55px rgba(56,40,28,.1) !important;
}
body:not(.home-page) .payment-header { padding: 28px 35px !important; border-color: var(--page-line) !important; background: #fffaf1 !important; }
body:not(.home-page) .payment-form-body { padding: clamp(25px, 4vw, 40px) !important; }
body:not(.home-page) .ticket-summary {
    padding: clamp(30px, 4vw, 45px) !important;
    border-radius: 0 0 27px 27px !important;
    background: var(--page-cream-2) !important;
    color: var(--page-ink) !important;
}
body:not(.home-page) .ticket-summary :is(.text-white, p, h3, h4, .summary-item, small) { color: var(--page-ink) !important; opacity: 1 !important; }
body:not(.home-page) .ticket-summary .summary-item { border-bottom-color: #dfcdb9; }
body:not(.home-page) .price-total { color: var(--page-orange) !important; font-family: 'Fredoka', sans-serif !important; }
body:not(.home-page) .pay-wrapper {
    min-height: calc(100vh - 90px);
    padding: 90px 0 !important;
    background:
        radial-gradient(circle at 78% 20%, rgba(255,200,63,.78) 0 11%, transparent 11.3%),
        radial-gradient(circle at 15% 85%, rgba(255,106,22,.13) 0 16%, transparent 16.3%),
        var(--page-cream) !important;
}
body:not(.home-page) .pay-loader-card,
body:not(.home-page) .success-card,
body:not(.home-page) .student-form-card {
    border: 1px solid var(--page-line) !important;
    border-radius: 28px !important;
    background: #fff !important;
    box-shadow: 0 20px 55px rgba(56,40,28,.11) !important;
}
body:not(.home-page) .spinner-custom { border-color: #f0e4d5 !important; border-top-color: var(--page-orange-bright) !important; }
body:not(.home-page) .pay-text h2 { color: var(--page-ink) !important; font-family: 'Fredoka', sans-serif !important; }
body:not(.home-page) .success-hero {
    padding: clamp(65px, 8vw, 110px) 0 !important;
    background:
        radial-gradient(circle at 80% 25%, rgba(255,200,63,.82) 0 12%, transparent 12.3%),
        var(--page-cream) !important;
    color: var(--page-ink) !important;
}
body:not(.home-page) .success-hero h1,
body:not(.home-page) .success-hero h2 { color: var(--page-ink) !important; }
body:not(.home-page) .order-details { border-radius: 18px !important; background: #fff8eb !important; border: 1px solid var(--page-line); }

/* Shared footer keeps the full-colour logo on a warm, airy destination. */
body:not(.home-page) .site-footer {
    background:
        radial-gradient(circle at 88% 10%, rgba(255,196,63,.34) 0 10%, transparent 10.3%),
        var(--page-cream-2) !important;
    color: var(--page-ink) !important;
    border-top: 1px solid var(--page-line);
}
body:not(.home-page) .footer-lead { border-bottom-color: #dfcfbd; }
body:not(.home-page) .footer-overline,
body:not(.home-page) .footer-grid h3 { color: var(--page-orange) !important; }
body:not(.home-page) .footer-lead h2 { color: var(--page-ink) !important; }
body:not(.home-page) .footer-action { border: 0; background: var(--page-orange) !important; color: #fff !important; box-shadow: 0 5px 0 #a93e00; }
body:not(.home-page) .footer-brand p { color: var(--page-muted); }
body:not(.home-page) .footer-grid a,
body:not(.home-page) .footer-grid span { color: #62596b; }
body:not(.home-page) .footer-grid a:hover { color: var(--page-orange); }
body:not(.home-page) .footer-social a { border-color: #dac9b7; background: #fff; color: var(--page-ink); }
body:not(.home-page) .footer-bottom { border-top-color: #dfcfbd; color: #655e59; }
body:not(.home-page) .quick-contact a {
    border: 0 !important;
    box-shadow: 0 6px 15px rgba(72,48,31,.18) !important;
}
body:not(.home-page) .quick-contact a:first-child { background: var(--page-orange-bright) !important; }

@media (max-width: 991px) {
    body:not(.home-page) .hero-section { min-height: 0; padding-top: 25px !important; }
    body:not(.home-page) .hero-section .text-lg-start { text-align: center !important; }
    body:not(.home-page) .hero-section .text-lg-start h1 { margin-inline: auto; }
    body:not(.home-page) .hero-section .justify-content-lg-start { justify-content: center !important; }
    body:not(.home-page) .hero-image-wrapper { max-width: 650px; margin-inline: auto; padding: 24px !important; }
    body:not(.home-page) .service-hero { min-height: 410px; padding: 70px 0; }
    body:not(.home-page) .ticket-summary { border-radius: 0 0 27px 27px !important; }
}

@media (min-width: 992px) {
    body:not(.home-page) .ticket-summary { border-radius: 0 27px 27px 0 !important; }
}

@media (max-width: 575px) {
    body:not(.home-page) .p-5 { padding: 26px 22px !important; }
    body:not(.home-page) [data-aos] { transform: none !important; opacity: 1 !important; }
    body:not(.home-page) .py-100 { padding-top: 56px !important; padding-bottom: 56px !important; }
    body:not(.home-page) .hero-section h1 { font-size: clamp(2.35rem, 12vw, 3.1rem) !important; }
    body:not(.home-page) .hero-image-wrapper { padding: 15px !important; }
    body:not(.home-page) .service-hero { min-height: 365px; padding: 58px 0; }
    body:not(.home-page) .service-hero h1 { font-size: clamp(2.45rem, 12vw, 3.35rem) !important; }
    body:not(.home-page) .section-title { font-size: 2.25rem; }
    body:not(.home-page) .site-breadcrumb { min-height: 260px; padding: 55px 0; }
    body:not(.home-page) .breadcrumb-title { font-size: 2.65rem; }
    body:not(.home-page) .info-card,
    body:not(.home-page) .feature-card,
    body:not(.home-page) .benefit-card,
    body:not(.home-page) .form-card,
    body:not(.home-page) .contact-main .info-card { padding: 26px !important; }
    body:not(.home-page) .policy-content { padding: 24px 19px; border-radius: 20px; }
    body:not(.home-page) .register-hero { padding: 58px 0 !important; }
    body:not(.home-page) .register-hero h1 { font-size: clamp(2.7rem, 13vw, 3.5rem) !important; }
    body:not(.home-page) .signup-form-card { padding: 26px 20px !important; border-radius: 22px !important; }
    body:not(.home-page) .payment-header { padding: 24px 22px !important; }
    body:not(.home-page) .pay-loader-card { padding: 36px 22px !important; }
}

@media (prefers-reduced-motion: reduce) {
    body:not(.home-page) *,
    body:not(.home-page) *::before,
    body:not(.home-page) *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Shared navigation is screen-only on the printable receipt. */
.partner-workspace .balance-badge,
.partner-workspace .discount-badge,
.partner-workspace .avatar-box { background: #ad3d00 !important; color: #fff !important; }
.partner-workspace .balance-badge :is(h4,span) { color: #fff !important; opacity: 1 !important; }
.partner-workspace .earning-card { background: #fff0dc !important; border: 1px solid #eadfce; box-shadow: 0 10px 28px #38281c12; }
.partner-workspace .earning-amount { color: #24203d !important; }
.partner-workspace .usage-stat { color: #5e5365; }
.partner-workspace .alert p { opacity: 1 !important; }
.partner-workspace .sidebar-brand svg { color: #ad3d00 !important; fill: none; }
.partner-workspace .header-section { flex-wrap: wrap; gap: 20px; }
.partner-workspace .ref-input-group { flex-wrap: wrap; gap: 8px; }
.partner-workspace .ref-input-group input { min-width: 0; flex: 1 1 140px; }
.partner-workspace .ref-input-group button { flex: 0 0 auto; }
body.receipt-page { padding: 0; }
.receipt-page .receipt-card { margin: 40px auto; width: calc(100% - 32px); }
.receipt-page .receipt-header { background: #fff0dc; color: #24203d; }
.receipt-page .receipt-header h1 { color: #24203d; }
.receipt-page .receipt-header p { opacity: 1; }
.receipt-page .info-item { min-width: 0; overflow-wrap: anywhere; }
.receipt-page .info-item label,
.receipt-page .receipt-table td div { color: #5e5365 !important; }
.receipt-page .receipt-table :is(th,td) { padding-right: 12px; }
.receipt-page .receipt-table :is(th,td):last-child { padding-right: 0; text-align: right; }
.receipt-page .btn-print { background: #ad3d00; }
.receipt-page .btn-print:hover { background: #8e360b; }
.receipt-page .total-section .amount { color: #26733b; overflow-wrap: anywhere; }
@media (max-width: 575px) {
    .receipt-page .receipt-body { padding: 24px 18px; }
    .receipt-page .receipt-info { gap: 18px 12px; }
    .receipt-page .receipt-table { font-size: .85rem; }
    .receipt-page .receipt-table th { font-size: .65rem; }
}
@media print {
    .receipt-page .site-header { display: none !important; }
    .receipt-page .receipt-card { margin: 0; width: 100%; }
}
