/* Rahula public booking theme. Separate asset: safe across Easy!Appointments updates. */
:root {
    --rahula-blue: #1995d4;
    --rahula-blue-dark: #0f6fa2;
    --rahula-green: #2fa34a;
    --rahula-green-dark: #237d39;
    --rahula-yellow: #f2cf1d;
    --rahula-ink: #17332a;
    --rahula-muted: #587066;
    --rahula-cream: #fffdf8;
    --rahula-line: #dce9df;
}
html, body { min-height: 100%; }
body {
    background: radial-gradient(circle at 10% 0%, rgba(47,163,74,.10), transparent 34rem),
        linear-gradient(180deg, #f5fbf6 0%, #eef5f1 100%);
    color: var(--rahula-ink);
}
#main { padding: clamp(12px, 3vw, 34px) 12px; }
#book-appointment-wizard {
    width: 100%; max-width: 1120px; overflow: hidden;
    border: 1px solid var(--rahula-line); border-radius: 24px;
    background: var(--rahula-cream); box-shadow: 0 18px 55px rgba(23,74,48,.14);
}
#book-appointment-wizard #header {
    min-height: 230px; padding: clamp(18px,3vw,30px) clamp(18px,4vw,42px) !important;
    position: relative; isolation: isolate; border-bottom: 5px solid var(--rahula-yellow);
    background: linear-gradient(100deg, rgba(15,111,162,.94) 0%, rgba(25,149,212,.73) 48%, rgba(47,163,74,.64) 100%),
        url('../img/rahula-sali.webp') center 56%/cover no-repeat !important;
}
#book-appointment-wizard #header::after { display:none; }
#book-appointment-wizard #company-name {
    min-width: 0 !important; margin: 0 !important;
    font-size: clamp(1.12rem,2.6vw,1.65rem) !important; font-weight: 750 !important;
}
#book-appointment-wizard #company-logo {
    max-width: 164px; max-height: 70px !important; padding: 5px;
    border-radius: 12px; background: #fff; object-fit: contain;
}
#book-appointment-wizard .display-booking-selection { color: rgba(255,255,255,.9) !important; font-size: .88rem !important; }
#book-appointment-wizard #steps { width: 230px !important; margin: 12px auto 0 !important; }
#book-appointment-wizard .book-step, #book-appointment-wizard .active-step { border-radius: 50% !important; }
#book-appointment-wizard .book-step {
    width: 42px !important; height: 42px !important; margin-top: 3px !important;
    margin-right: 14px !important; padding: 10px !important; background: rgba(0,0,0,.3) !important;
}
#book-appointment-wizard .book-step strong { color: rgba(255,255,255,.86) !important; font-size: 14px !important; }
#book-appointment-wizard .active-step {
    width: 50px !important; height: 50px !important; margin-top: 0 !important;
    padding: 12px !important; background: var(--rahula-yellow) !important;
}
#book-appointment-wizard .active-step strong { color: var(--rahula-ink) !important; font-size: 22px !important; }
#book-appointment-wizard .wizard-frame { padding: 12px clamp(14px,3vw,34px) !important; }
#book-appointment-wizard #wizard-frame-1 .frame-container { min-height: 260px !important; }
#book-appointment-wizard .wizard-frame .frame-container { min-height: 300px !important; padding: 18px 0 !important; }
#book-appointment-wizard .frame-container .frame-title {
    margin: 0 0 22px !important; color: var(--rahula-green-dark) !important;
    font-size: clamp(1.35rem,3vw,1.9rem); font-weight: 800 !important;
}
#book-appointment-wizard #wizard-frame-1 .frame-content { max-width: 760px; margin: auto; }
#book-appointment-wizard #wizard-frame-1 label { display:block; margin-bottom:9px; color:var(--rahula-ink); font-size:1.05rem; }
#book-appointment-wizard #wizard-frame-1 #select-provider { display:none !important; }
#book-appointment-wizard .form-select, #book-appointment-wizard .form-control {
    min-height: 54px; border: 2px solid #cfe0d4; border-radius: 13px;
    color: var(--rahula-ink); background-color: #fff; box-shadow: 0 3px 10px rgba(23,74,48,.05);
}
#book-appointment-wizard .form-select:focus, #book-appointment-wizard .form-control:focus {
    border-color: var(--rahula-blue); box-shadow: 0 0 0 4px rgba(25,149,212,.14);
}
#book-appointment-wizard .wizard-frame .command-buttons { gap: 12px; margin: 10px auto 4px !important; }
#book-appointment-wizard .wizard-frame .command-buttons .btn,
#book-appointment-wizard #book-appointment-submit {
    min-width: 178px !important; min-height: 54px; padding: 13px 22px !important;
    border: 0; border-radius: 13px !important; font-size: 1.04rem; font-weight: 800;
    line-height: 1.2; box-shadow: 0 6px 16px rgba(15,111,162,.18);
}
#book-appointment-wizard .button-next, #book-appointment-wizard #book-appointment-submit {
    color:#fff !important; background:var(--rahula-blue-dark) !important;
}
#book-appointment-wizard .button-back {
    color:var(--rahula-green-dark) !important; border:2px solid #b9d6c0 !important;
    background:#f4faf4 !important; box-shadow:none !important;
}
#book-appointment-wizard #available-hours .available-hour {
    min-height:48px; margin-bottom:10px; border-radius:11px; font-size:1rem; font-weight:700;
}
#book-appointment-wizard #available-hours {
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px;
}
#book-appointment-wizard #available-hours .available-hour { width:100%; margin:0; white-space:nowrap; }
#book-appointment-wizard #available-hours .selected-hour {
    background:var(--rahula-green) !important; border-color:var(--rahula-green-dark) !important;
}
#book-appointment-wizard #frame-footer {
    padding:18px clamp(16px,3vw,34px); border-top:1px solid var(--rahula-line); background:#f5faf5;
}
#book-appointment-wizard .backend-link {
    display:inline-flex; align-items:center; justify-content:center; min-width:130px !important;
    min-height:44px; padding:10px 16px !important; color:#fff !important;
    background:var(--rahula-green-dark) !important; border-radius:13px !important; font-weight:800;
}
#book-appointment-wizard .alert { border-radius:13px; border:1px solid #c8e3cd; color:var(--rahula-ink); }
#book-appointment-wizard .rahula-booking-intro {
    display:block; margin:0; padding:22px clamp(18px,4vw,42px) 4px;
    background:var(--rahula-cream); text-align:center;
}
#book-appointment-wizard .rahula-booking-intro h1 {
    max-width:900px; margin:0 auto; color:var(--rahula-green-dark); font-size:clamp(1.45rem,3.3vw,2.25rem);
    line-height:1.12; font-weight:850;
}
#book-appointment-wizard .rahula-booking-intro p {
    max-width:760px; margin:.55rem auto 0; color:var(--rahula-muted); font-size:1.05rem;
}
#book-appointment-wizard .rahula-booking-info {
    max-width:1000px; margin:16px auto 0 !important; padding:12px 4px 10px;
    border-top:1px solid var(--rahula-line); border-bottom:1px solid var(--rahula-line);
    color:var(--rahula-muted) !important; font-size:.94rem !important; line-height:1.55;
}
#book-appointment-wizard .rahula-booking-info strong { color:var(--rahula-green-dark); }
#book-appointment-wizard .rahula-info-button {
    display:inline-flex; align-items:center; margin:3px 0 0 5px;
    color:var(--rahula-blue-dark); background:#fff; border:1px solid #b9d6e8;
    border-radius:9px; font-weight:800; padding:6px 10px; white-space:nowrap;
}
#book-appointment-wizard .rahula-info-button:hover { background:#f0f8fc; }
#rahula-equipment-modal .rahula-info-modal { border:0; border-radius:16px; overflow:hidden; }
#rahula-equipment-modal .modal-title { color:var(--rahula-green-dark); font-size:1.25rem; }
#rahula-equipment-modal .modal-body { color:var(--rahula-ink); line-height:1.6; }
#rahula-gallery-modal .rahula-gallery-modal { border:0; border-radius:18px; overflow:hidden; }
#rahula-gallery-modal .modal-content { max-height:calc(100vh - 24px); }
#rahula-gallery-modal .modal-body { color:var(--rahula-ink); overflow-y:auto; }
#rahula-gallery-modal h3 { margin:0 0 14px; color:var(--rahula-green-dark); font-size:1.15rem; }
#rahula-gallery-modal .rahula-gallery-subtitle { margin-top:28px; }
.rahula-photo-grid, .rahula-panorama-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.rahula-panorama-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
#rahula-gallery-modal figure { margin:0; border:1px solid #e1e8e3; border-radius:14px; overflow:hidden; background:#f8fbf8; }
#rahula-gallery-modal figure img { display:block; width:100%; aspect-ratio:16/8; max-height:250px; object-fit:cover; }
#rahula-gallery-modal figcaption { padding:10px 12px; font-weight:750; color:var(--rahula-green-dark); }
.rahula-panorama {
    position:relative;
    display:block;
    width:100%;
    height:320px !important;
    min-height:320px;
    background:#e8eef0;
    overflow:hidden;
    cursor:grab;
    user-select:none;
    touch-action:none;
}
.rahula-panorama:active { cursor:grabbing; }
.rahula-panorama .pnlm-container,
.rahula-panorama .pnlm-render-container,
.rahula-panorama .pnlm-controls-container {
    width:100% !important;
    height:100% !important;
    min-height:320px;
}
.rahula-panorama .pnlm-dragfix { touch-action:none; }
.rahula-panorama-fallback { position:absolute; inset:0; overflow:hidden; background:#e8eef0; cursor:grab; touch-action:none; }
.rahula-panorama-fallback:active { cursor:grabbing; }
.rahula-panorama-fallback img { display:block; height:100%; width:auto; max-width:none; user-select:none; pointer-events:none; transform:translate3d(0,0,0); }
.rahula-gallery-help { margin:16px 0 0; color:var(--rahula-muted); font-size:.92rem; }
#book-appointment-wizard .rahula-native-consent-hidden { display:none !important; }
#book-appointment-wizard .rahula-combined-consent {
    display:grid; grid-template-columns:20px minmax(0,1fr); gap:8px 10px;
    align-items:center; max-width:760px; margin:0 auto 18px; padding:12px 16px;
    border:1px solid #cfe0d4; border-radius:12px; background:#f6fbf6;
}
#book-appointment-wizard .rahula-combined-consent .form-check-input { float:none; margin:0; width:20px; height:20px; cursor:pointer; }
#book-appointment-wizard .rahula-combined-consent label { display:flex; flex-wrap:wrap; align-items:center; gap:0 .3em; min-height:44px; line-height:1.5; cursor:pointer; }
#book-appointment-wizard .rahula-combined-consent a { color:var(--rahula-blue-dark); font-weight:750; }
#book-appointment-wizard .rahula-consent-error { grid-column:2; margin:0; color:#b42318; font-weight:650; }
#book-appointment-wizard .rahula-combined-consent:has(.is-invalid) { border-color:#b42318; }
#book-appointment-wizard #wizard-frame-2 .flatpickr-months { align-items:center; gap:6px; }
#book-appointment-wizard #wizard-frame-2 .flatpickr-prev-month,
#book-appointment-wizard #wizard-frame-2 .flatpickr-next-month {
    position:static; width:42px; height:42px; display:grid; place-items:center;
    border:1px solid #cfe0d4; border-radius:10px; background:#f5faf5;
    opacity:1 !important; visibility:visible !important; color:var(--rahula-blue-dark) !important;
}
#book-appointment-wizard #wizard-frame-2 .flatpickr-prev-month svg,
#book-appointment-wizard #wizard-frame-2 .flatpickr-next-month svg { fill:currentColor !important; opacity:1 !important; }
#book-appointment-wizard #wizard-frame-2 .flatpickr-months .numInputWrapper { width:90px; }
#book-appointment-wizard #wizard-frame-2 .flatpickr-months .numInputWrapper input { padding-right:28px; }
#book-appointment-wizard #wizard-frame-2 .flatpickr-months .numInputWrapper span { opacity:1 !important; width:26px; border-color:#b9d6c0; background:#f5faf5; }
#book-appointment-wizard .flatpickr-months .numInputWrapper span { opacity:1 !important; visibility:visible !important; width:26px; border-color:#b9d6c0; background:#f5faf5; }
#book-appointment-wizard .flatpickr-months .numInputWrapper span:hover { background:#e8f4ea; }
#book-appointment-wizard #wizard-frame-2 .flatpickr-prev-month:hover,
#book-appointment-wizard #wizard-frame-2 .flatpickr-next-month:hover { background:#e8f4ea; }
#book-appointment-wizard .rahula-timezone-hidden { display:none !important; }
#book-appointment-wizard #appointment-details .rahula-readable-duration { font-weight:700; }
#book-appointment-wizard .rahula-account-bar {
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    margin:16px clamp(18px,4vw,42px) 0; padding:12px 16px;
    border:1px solid #cfe0d4; border-radius:13px; background:#eef8ef;
    color:var(--rahula-ink); font-size:.95rem;
}
#book-appointment-wizard #header > .rahula-account-bar {
    position:absolute;
    left:clamp(18px,4vw,42px);
    right:clamp(18px,4vw,42px);
    bottom:12px;
    z-index:4;
    margin:0;
    padding:9px 13px;
    border-color:rgba(255,255,255,.58);
    background:rgba(255,255,255,.92);
    box-shadow:0 5px 16px rgba(0,0,0,.14);
    font-size:.9rem;
}
#book-appointment-wizard #header > .rahula-account-bar .rahula-account-identity strong { font-size:.76rem; }
#book-appointment-wizard #header > .rahula-account-bar .rahula-account-dot { width:9px; height:9px; }
#book-appointment-wizard #frame-footer .footer-powered-by,
#book-appointment-wizard #frame-footer .footer-powered-by + br { display:none !important; }
#book-appointment-wizard #steps {
    width: min(100%, 300px) !important;
    max-width: 300px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    margin: 12px auto 0 !important;
    overflow: visible !important;
}
#book-appointment-wizard #steps > .rahula-step-link {
    display: flex !important;
    float: none !important;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}
#book-appointment-wizard #steps > .rahula-step-link.book-step {
    width: 42px !important;
    height: 42px !important;
}
#book-appointment-wizard #steps > .rahula-step-link.active-step {
    width: 50px !important;
    height: 50px !important;
}
#book-appointment-wizard #steps > .rahula-step-link.rahula-step-disabled {
    opacity: .56;
    cursor: not-allowed;
}
#book-appointment-wizard #steps > .rahula-step-link:not(.rahula-step-disabled):hover,
#book-appointment-wizard #steps > .rahula-step-link:not(.rahula-step-disabled):focus-visible {
    transform: translateY(-1px);
    outline: 3px solid rgba(242,207,29,.55);
    outline-offset: 3px;
}
#book-appointment-wizard .rahula-header-login {
    position: absolute;
    top: 16px;
    right: clamp(18px, 3vw, 34px);
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    padding: 7px 11px;
    color: rgba(255,255,255,.94) !important;
    border: 1px solid rgba(255,255,255,.46);
    border-radius: 999px;
    background: rgba(9,56,91,.23);
    font-size: .86rem;
    font-weight: 750;
    text-decoration: none;
    backdrop-filter: blur(5px);
}
#book-appointment-wizard .rahula-header-login:hover,
#book-appointment-wizard .rahula-header-login:focus-visible {
    color: #fff !important;
    background: rgba(9,56,91,.44);
    outline: 3px solid rgba(242,207,29,.52);
    outline-offset: 2px;
}
#book-appointment-wizard #frame-footer .backend-link { display: none !important; }
.rahula-account-identity { display:inline-flex; align-items:center; gap:10px; min-width:0; }
.rahula-account-identity strong { display:block; color:var(--rahula-green-dark); font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; }
.rahula-account-name { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rahula-account-dot { width:10px; height:10px; flex:0 0 auto; border-radius:50%; background:var(--rahula-green); box-shadow:0 0 0 4px rgba(47,163,74,.14); }
.rahula-account-actions { display:inline-flex; align-items:center; gap:14px; flex:0 0 auto; }
.rahula-account-settings { color:var(--rahula-green-dark); font-weight:800; text-decoration:none; }
.rahula-account-settings:hover { text-decoration:underline; }
.rahula-account-logout { flex:0 0 auto; color:var(--rahula-blue-dark); font-weight:800; text-decoration:none; }
.rahula-account-logout:hover { text-decoration:underline; }
#book-appointment-wizard .rahula-login-panel {
    max-width: 680px; margin: 34px auto 16px; padding: 32px 24px;
    text-align: center; border: 1px solid var(--rahula-line); border-radius: 18px;
    background: #f8fcf8; box-shadow: 0 8px 24px rgba(23,74,48,.08);
}
#book-appointment-wizard .rahula-login-panel .frame-title { margin-bottom: 12px !important; }
.rahula-login-panel__text, .rahula-login-panel__account {
    margin: 0 auto 22px; color: var(--rahula-muted); font-size: 1.08rem;
}
.rahula-login-cta {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 250px; min-height: 58px; padding: 15px 28px;
    color: #fff !important; background: var(--rahula-blue-dark) !important;
    border-radius: 14px !important; font-size: 1.12rem; font-weight: 800;
    box-shadow: 0 7px 18px rgba(15,111,162,.22);
}
.rahula-login-cta:hover { background: var(--rahula-blue) !important; }
#book-appointment-wizard .rahula-next-hidden { display: none !important; }
body:has(#login-frame) { display:grid; place-items:center; padding:20px 12px; }
#rahula-language-switch { margin: -8px 0 14px; text-align:right; font-size:.9rem; }
#rahula-language-switch a { color:var(--rahula-blue-dark); font-weight:750; text-decoration:none; }
#rahula-language-switch a:hover { text-decoration:underline; }
#login-frame.rahula-login { width:min(94vw,820px); max-width:820px; margin:0 auto; }
#login-frame.rahula-login h2 { color:var(--rahula-green-dark); font-weight:800; }
#login-frame.rahula-login .btn-primary, #login-frame.rahula-login .btn-outline-dark {
    min-height:54px; border-radius:13px; font-size:1.05rem; font-weight:800;
}
#login-frame.rahula-login .btn-primary { border-color:var(--rahula-blue-dark); background:var(--rahula-blue-dark); }
#login-frame.rahula-login .btn-outline-dark { border-width:2px; border-color:var(--rahula-blue); color:var(--rahula-blue-dark); }
#login-frame.rahula-login .rahula-google-login {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    color: #263238;
    background: #fff;
    border: 1px solid #cfd8dc;
    box-shadow: 0 2px 8px rgba(23,74,48,.06);
}
#login-frame.rahula-login .rahula-google-login::before {
    content: none;
    display: none;
}
#login-frame.rahula-login .rahula-google-login:hover,
#login-frame.rahula-login .rahula-google-login:focus-visible {
    color: #1f2933;
    border-color: #9fb9e9;
    background: #f8fbff;
}
#rahula-mail-settings { background:#f8fcf8; border-color:var(--rahula-line) !important; }
#rahula-mail-settings h5 { color:var(--rahula-green-dark); font-weight:800; }
#rahula-mail-settings textarea { min-height:150px; }
#message-frame, #success-frame { border-radius:24px !important; border:1px solid var(--rahula-line) !important; box-shadow:0 18px 55px rgba(23,74,48,.12); }
#message-frame .btn, #success-frame .btn { min-height:54px; border-radius:13px; font-weight:800; padding:13px 22px; }
.rahula-site-footer {
    width:min(100% - 24px, 1120px);
    margin:10px auto 18px;
    padding:0 12px;
    color:var(--rahula-muted);
    text-align:center;
    font-size:.78rem;
    line-height:1.55;
}
.rahula-site-footer small { font-size:inherit; }
@media (min-width:768px) { #book-appointment-wizard #steps { margin:0 !important; } }
@media (max-width:700px) {
    #book-appointment-wizard #header { min-height:310px; }
    #book-appointment-wizard #header::after { left:18px; right:18px; bottom:18px; }
    #book-appointment-wizard .wizard-frame .command-buttons { display:grid !important; grid-template-columns:1fr; }
    #book-appointment-wizard .wizard-frame .command-buttons .btn,
    #book-appointment-wizard #book-appointment-submit { width:100%; margin:0 !important; }
    #book-appointment-wizard .rahula-booking-info { text-align:left; }
    #book-appointment-wizard #available-hours { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
    #book-appointment-wizard #available-hours .available-hour { min-height:46px; padding:8px 4px; font-size:.92rem; }
    .rahula-photo-grid, .rahula-panorama-grid { grid-template-columns:1fr; }
    .rahula-panorama,
    .rahula-panorama .pnlm-container,
    .rahula-panorama .pnlm-render-container,
    .rahula-panorama .pnlm-controls-container { height:260px !important; min-height:260px; }
    #book-appointment-wizard .rahula-account-bar { align-items:flex-start; flex-direction:column; gap:10px; margin-left:18px; margin-right:18px; }
    #book-appointment-wizard .rahula-account-actions { width:100%; justify-content:space-between; }
    #book-appointment-wizard #steps {
        width: min(100%, 250px) !important;
        max-width: 250px !important;
        gap: 4px;
        margin-top: 10px !important;
    }
    #book-appointment-wizard #steps > .rahula-step-link.book-step {
        width: 36px !important;
        height: 36px !important;
    }
    #book-appointment-wizard #steps > .rahula-step-link.active-step {
        width: 43px !important;
        height: 43px !important;
    }
    #book-appointment-wizard #steps > .rahula-step-link.book-step strong { font-size: 12px !important; }
    #book-appointment-wizard #steps > .rahula-step-link.active-step strong { font-size: 18px !important; }
    #book-appointment-wizard .rahula-header-login {
        top: 11px;
        right: 14px;
        min-height: 33px;
        padding: 6px 9px;
        font-size: .8rem;
    }
    #book-appointment-wizard #header > .rahula-account-bar {
        left:14px;
        right:14px;
        bottom:12px;
        align-items:flex-start;
        flex-direction:column;
        gap:7px;
    }
    #book-appointment-wizard #header > .rahula-account-bar .rahula-account-actions {
        width:100%;
        justify-content:space-between;
    }
}

/* Rahula contact and payment details. Additive layer; do not move into EA core. */
.rahula-payment-inline {
    display: block;
    margin-top: 10px;
    padding-top: 9px;
    border-top: 1px solid var(--rahula-line);
    color: var(--rahula-muted);
}
.rahula-payment-inline strong { color: var(--rahula-green-dark); }
.rahula-payment-panel,
.rahula-contact-panel {
    max-width: 960px;
    margin: 18px auto 0;
    padding: 18px 20px;
    border: 1px solid var(--rahula-line);
    border-radius: 16px;
    background: #fff;
}
.rahula-payment-panel { border-left: 5px solid var(--rahula-yellow); }
.rahula-payment-panel h2,
.rahula-contact-panel h2 {
    margin: 0 0 7px;
    color: var(--rahula-green-dark);
    font-size: clamp(1.1rem, 2.5vw, 1.35rem);
    font-weight: 800;
}
.rahula-payment-panel p,
.rahula-contact-panel p { margin: 0; line-height: 1.55; }
.rahula-contact-panel {
    display: block;
    border-left: 4px solid var(--rahula-blue);
    padding: 13px 16px;
    text-align: left;
}
.rahula-contact-meta { margin-top: 4px !important; color: var(--rahula-muted); font-size: .93rem; }
.rahula-contact-panel a { color: var(--rahula-blue-dark); }
.rahula-contact-details { margin-top: 11px; }
.rahula-contact-details summary {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 8px 13px;
    border: 2px solid #b9d6c0;
    border-radius: 11px;
    color: var(--rahula-green-dark);
    background: #f4faf4;
    cursor: pointer;
    font-size: .94rem;
    font-weight: 800;
    list-style: none;
}
.rahula-contact-details summary::-webkit-details-marker { display: none; }
.rahula-contact-details[open] summary { margin-bottom: 14px; background: #eef8ef; }
.rahula-contact-form { display: grid; gap: 11px; }
.rahula-contact-form label { display: grid; gap: 5px; color: var(--rahula-ink); font-weight: 700; }
.rahula-contact-form input,
.rahula-contact-form textarea {
    width: 100%; min-height: 44px; padding: 9px 11px;
    border: 2px solid #cfe0d4; border-radius: 10px; background: #fff;
    color: var(--rahula-ink); font: inherit; font-weight: 400;
}
.rahula-contact-form textarea { min-height: 118px; resize: vertical; }
.rahula-contact-form input:focus,
.rahula-contact-form textarea:focus { outline: 3px solid rgba(25,149,212,.18); border-color: var(--rahula-blue); }
.rahula-contact-submit { justify-self: start; min-height: 46px; padding: 10px 17px; border: 0; border-radius: 11px; color: #fff; background: var(--rahula-blue-dark); font-weight: 800; }
.rahula-contact-submit:hover { color: #fff; background: var(--rahula-blue); }
.rahula-contact-success,
.rahula-contact-error { margin: 0 0 12px; padding: 10px 12px; border-radius: 9px; font-weight: 700; }
.rahula-contact-success { color: #1f6330; background: #eaf7ed; }
.rahula-contact-error { color: #8a2525; background: #fff0f0; }
.rahula-contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width:700px) {
    .rahula-payment-panel, .rahula-contact-panel { margin-top: 14px; padding: 15px; }
    .rahula-contact-details { margin-top: 10px; }
    .rahula-contact-details summary { width: 100%; justify-content: center; }
    .rahula-contact-submit { width: 100%; }
}
