/* Production form counterparts of Figma 959:15601 / 959:15858 / 959:16099 and 1317 / 1327 editor states. */
.np-astro-editor,
.np-astro-info {
    width: 350px;
    max-width: calc(100vw - 40px);
    max-height: calc(100dvh - 40px);
    overflow: auto;
    box-sizing: border-box;
    padding: 16px;
    border: 1px solid #e4d6c4;
    border-radius: 16px;
    background: #fff;
    color: #241a1a;
    font:
        400 13px/20px Poppins,
        sans-serif;
    box-shadow: 0 4px 10px #0000000f;
}
.np-astro-editor::backdrop,
.np-astro-info::backdrop {
    background: #1c140d66;
}
.np-astro-editor[open],
.np-astro-info[open] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.np-astro-editor h2,
.np-astro-info h2 {
    font:
        600 18px/28px Poppins,
        sans-serif;
    color: #241a1a;
    margin: 0;
}
.np-astro-editor p,
.np-astro-info p,
.np-astro-editor form,
.np-astro-info form {
    margin: 0;
}
.np-astro-edit-form,
.np-astro-edit-value {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}
.np-astro-draft {
    width: 100%;
    min-width: 0;
    min-height: 56px;
    padding: 16px;
    border: 1px solid #e4d6c4;
    border-radius: 12px;
    background: white;
    color: #574434;
    font:
        400 14px/22px Poppins,
        sans-serif;
}
.np-astro-editor button,
.np-astro-info button {
    width: 100%;
    min-height: 46px;
    padding: 8px 12px;
    border: 0;
    border-radius: 12px;
    background: #fcebdd;
    color: #c4530a;
    font:
        600 12px/18px Poppins,
        sans-serif;
    cursor: pointer;
}
.np-astro-editor button.np-astro-apply,
.np-astro-info button.np-astro-apply {
    background: #8b1a10;
    color: white;
}
.np-astro-editor button[hidden] {
    display: none;
}
.np-astro-editor-secondary {
    padding: 20px;
}
.np-astro-editor-secondary h2 {
    color: #8b1a10;
    line-height: 27px;
}
.np-astro-editor-secondary button:not(.np-astro-apply) {
    border: 1.5px solid #e8650a;
    border-radius: 10px;
    background: #fff;
    color: #c4530a;
    font-size: 14px;
    line-height: 20px;
    padding: 12px;
}
.np-astro-time-preview {
    font:
        600 24px/28px Poppins,
        sans-serif;
    color: #8b1a10;
}
.np-astro-time-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}
.np-astro-time-columns p {
    font:
        600 11px/20px Poppins,
        sans-serif;
    margin-bottom: 8px;
}
.np-astro-time-options {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 176px;
    overflow-y: auto;
}
.np-astro-time-options button {
    flex: none;
}
.np-astro-time-options [aria-pressed='true'] {
    box-shadow: inset 0 0 0 1.5px #8b1a10;
}
.np-astro-date-field > .np-date-open {
    position: static;
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #e4d6c4;
    border-radius: 12px;
    background: #fff;
    text-align: left;
    color: #574434;
    font:
        400 13px/20px Poppins,
        sans-serif;
}
.np-astro-date-field > input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    pointer-events: none;
}
.np-astro-calendar {
    width: 350px;
    padding: 16px;
    border-radius: 16px;
}
.np-astro-calendar-title {
    font:
        600 18px/28px Poppins,
        sans-serif;
    color: #241a1a;
    margin: 0 0 12px;
}
.np-astro-calendar .np-date-month input {
    font:
        600 13px/20px Poppins,
        sans-serif !important;
    color: #241a1a;
    text-align: center;
}
.np-astro-calendar .np-date-month button {
    width: 44px;
    font-size: 18px;
    color: #c4530a;
}
.np-astro-calendar .np-date-week {
    font:
        600 11px/20px Poppins,
        sans-serif;
    color: #241a1a;
}
.np-astro-calendar .np-date-days button {
    min-height: 46px;
    font:
        600 12px/18px Poppins,
        sans-serif;
    color: #c4530a;
}
.np-astro-calendar-cancel {
    width: 100%;
    margin-top: 12px;
    min-height: 46px;
    border: 0;
    border-radius: 12px;
    background: #fcebdd;
    color: #c4530a;
    font:
        600 12px/18px Poppins,
        sans-serif;
}
.np-astro-editor :focus-visible,
.np-astro-info :focus-visible {
    outline: 2px solid #c4530a;
    outline-offset: 2px;
}
.np-rashifal-date {
    width: 244px;
    min-width: 0;
    margin: 0;
}
.np-rashifal-date .np-date-open {
    background: #fcebdd;
    color: #c4530a;
    border: 0;
    text-align: center;
    font-weight: 600;
    min-height: 46px;
}
.fr-vastu .fr-service-heading img {
    flex: none;
}
@media (max-width: 767px) {
    .np-rashifal-date {
        width: auto;
        flex: 1;
    }
    .np-astro-time-options {
        max-height: 176px;
    }
}

.np-astro-time-field {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
}
.np-astro-time-field > input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    pointer-events: none;
}
.np-astro-time-field > .np-astro-time-open {
    position: static;
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #e4d6c4;
    border-radius: 12px;
    background: white;
    text-align: left;
    color: #574434;
    font:
        400 13px/20px Poppins,
        sans-serif;
    justify-content: flex-start;
}
.np-astro-time-open:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.np-astro-date-field > .np-date-open[aria-invalid='true'],
.np-astro-time-open[aria-invalid='true'] {
    outline: 2px solid #a31c16;
    outline-offset: 2px;
}
.np-match label > .np-astro-time-field {
    flex: 1 1 0;
}

.np-festival-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
}
.np-festival-toolbar > p {
    flex: 1;
    margin: 0;
    font-size: 13px;
    color: #574434;
}
.np-festival-filter {
    display: grid;
    place-items: center;
    flex: none;
    width: 44px;
    height: 44px;
    border: 1px solid #e4d6c4;
    border-radius: 10px;
    background: #fff;
}
.np-festival-dialog h2 {
    font:
        500 16px/24px Poppins,
        sans-serif;
    color: #33211a;
}
.np-festival-dialog > p {
    font-size: 11px;
    line-height: 17px;
}
.np-festival-dialog .fr-festival-filters {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    width: 100%;
    margin: 0;
}
.np-festival-dialog .fr-festival-filters label,
.np-festival-dialog .fr-festival-filters select {
    width: 100%;
    max-width: 100%;
}
.np-festival-dialog .fr-festival-filters > button {
    width: 120px;
    background: #8b1a10;
    color: white;
    border-radius: 10px;
}
.fr-kundali-unknown input:not(:checked) {
    background: url('npj/kundali-time-unknown-off.svg') center no-repeat;
}
.fr-kundali-unknown input:not(:checked):before {
    display: none;
}

.np-astro-kundli-note {
    gap: 10px;
}
.np-astro-kundli-note h2 {
    font:
        500 16px/24px Poppins,
        sans-serif;
    color: #33211a;
}
.np-astro-kundli-note > p {
    font:
        400 11px/17px Poppins,
        sans-serif;
    color: #33211a;
}
.np-astro-kundli-note dl {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 4px 8px;
    padding: 12px;
    margin: 0;
    background: #fcebdd;
    border-radius: 12px;
}
.np-astro-kundli-note dt {
    font:
        400 11px/20px Poppins,
        sans-serif;
    color: #615752;
}
.np-astro-kundli-note dd {
    margin: 0;
    font:
        600 12px/20px Poppins,
        sans-serif;
    color: #241a1a;
    overflow-wrap: anywhere;
}
.np-astro-kundli-note .np-astro-apply {
    width: 150px;
    min-height: 44px;
    border-radius: 10px;
}
