UNPKG

pxsol-booking-search-widget

Version:

Embeddable booking engine search widget with React and Web Component builds.

1 lines 52.1 kB
{"version":3,"sources":["../src/Widget.module.css","../src/components/Calendar.module.css"],"sourcesContent":["\n.title {\n font-size: 1rem;\n margin: 0 0 0.5rem 0;\n}\n\n.container {\n width: 100%;\n}\n\n.searchBar {\n position: relative;\n display: grid;\n grid-template-columns: 1fr;\n gap: 6px;\n background: #ffffff;\n padding: 8px;\n border-radius: 10px;\n border: 1px solid rgba(15, 23, 42, 0.08);\n box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08);\n transition: box-shadow 160ms ease, border-color 160ms ease;\n}\n\n@media (min-width: 600px) {\n .searchBar {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 8px;\n padding: 8px 10px;\n }\n}\n\n@media (min-width: 768px) {\n .searchBar {\n grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(190px, 1fr);\n grid-template-areas: 'a b c d';\n align-items: stretch;\n background: #ffffff;\n border-radius: 10rem;\n column-gap: 8px;\n padding: 8px 10px;\n box-shadow: 0 6px 16px rgba(15, 23, 42, 0.1);\n }\n \n /* Cuando no hay código promocional, redistribuir el espacio */\n .searchBar.noPromoCode {\n grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(160px, 0.9fr);\n }\n \n .actions {\n grid-area: d;\n display: flex;\n align-items: center;\n gap: 12px;\n width: 100%;\n height: auto;\n justify-content: flex-end;\n }\n .promoInput {\n width: 100%;\n }\n}\n\n.segment {\n position: relative;\n border-radius: 8px;\n padding: 5px 7px;\n z-index: auto;\n cursor: pointer;\n background: rgba(255, 255, 255, 0.92);\n border: 1px solid transparent;\n transition: background-color 160ms ease, box-shadow 160ms ease, border-color 160ms ease;\n}\n\n.segment:hover {\n background-color: rgba(248, 250, 252, 0.95);\n border-color: rgba(15, 23, 42, 0.12);\n box-shadow: 0 2px 10px rgba(15, 23, 42, 0.08);\n}\n\n.segmentActive {\n background: rgba(246, 248, 252, 0.96);\n border-color: var(--accent-border, rgba(31, 41, 55, 0.28));\n box-shadow: 0 0 0 1px var(--accent-border, rgba(31, 41, 55, 0.28));\n z-index: 5;\n}\n\n/* Directional fade animations for active segment */\n.fadeIn {\n animation: fadeIn 220ms ease both;\n}\n\n\n@keyframes fadeIn {\n from { opacity: 0; transform: translateX(0); }\n to { opacity: 1; transform: translateX(0); }\n}\n\n@keyframes fadeSlideInLeft {\n from { opacity: 0; transform: translateX(-12px); }\n to { opacity: 1; transform: translateX(0); }\n}\n\n@keyframes fadeSlideInRight {\n from { opacity: 0; transform: translateX(12px); }\n to { opacity: 1; transform: translateX(0); }\n}\n\n/* New: animate only the background to avoid layout/content shifting */\n.bgFadeIn { animation: fadeIn 220ms ease both; }\n.bgFadeInFromLeft { animation: fadeSlideInLeft 260ms ease both; }\n.bgFadeInFromRight { animation: fadeSlideInRight 260ms ease both; }\n\n/* Active background that expands under the whole segment (label + button) */\n.segmentBg {\n position: absolute;\n inset: 0;\n background: var(--accent-surface, rgba(31, 41, 55, 0.08));\n border: 1px solid var(--accent-border, rgba(31, 41, 55, 0.18));\n box-shadow: none;\n border-radius: inherit;\n opacity: 0;\n transition: opacity 200ms ease;\n z-index: 0;\n pointer-events: none;\n}\n\n.segmentActive .segmentBg { \n opacity: 1; \n}\n\n.segment > :not(.segmentBg) {\n /* position: relative; */\n z-index: 1;\n}\n\n@media (min-width: 768px) {\n .segment {\n border: none;\n border-radius: 10rem;\n padding: 6px 10px;\n min-width: 0; /* allow shrinking inside grid */\n }\n}\n\n.segmentLabel {\n position: relative;\n display: block;\n font-size: 10px;\n font-weight: 600;\n color: #6b7280;\n margin-bottom: 1px;\n white-space: nowrap;\n}\n\n.segmentButton {\n all: unset;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n line-height: 1.35;\n color: #111827;\n cursor: pointer;\n padding: 1px 0;\n position: relative;\n border-radius: 10px;\n transition: color 180ms ease;\n white-space: normal;\n overflow-wrap: anywhere;\n flex-wrap: wrap;\n width: 100%;\n text-align: left;\n user-select: none;\n min-height: 22px;\n}\n\n.segmentButton:focus-visible {\n outline: 2px solid var(--accent-outline, rgba(31, 41, 55, 0.45));\n outline-offset: 2px;\n}\n\n.segmentButton[aria-pressed=\"true\"] {\n color: #0f172a;\n}\n\n.inputBare {\n width: 100%;\n border: none;\n outline: none;\n background: transparent;\n font-size: 14px;\n padding: 2px 0;\n}\n\n.suggestions {\n position: absolute;\n z-index: 20;\n top: 100%;\n left: 0;\n right: 0;\n background: #fff;\n border: 1px solid rgba(17, 24, 39, 0.12);\n border-radius: 12px;\n margin-top: 6px;\n box-shadow: 0 10px 30px rgba(17, 24, 39, 0.14);\n padding: 6px;\n max-height: 260px;\n overflow: auto;\n}\n\n.suggestionItem {\n display: flex;\n width: 100%;\n text-align: left;\n background: transparent;\n border: none;\n padding: 10px 8px;\n border-radius: 10px;\n cursor: pointer;\n font-size: 14px;\n}\n\n.suggestionItem:hover {\n background: #f3f4f6;\n}\n\n.popover {\n position: absolute;\n z-index: 100;\n top: calc(100% + 6px);\n left: 0;\n background: #fff;\n border: 1px solid rgba(17, 24, 39, 0.12);\n border-radius: 16px;\n box-shadow: 0 10px 30px rgba(17, 24, 39, 0.14);\n padding: 12px;\n min-width: 280px;\n}\n\n.popoverRow {\n display: grid;\n grid-template-columns: 1fr;\n gap: 8px;\n}\n\n@media (min-width: 480px) {\n .popoverRow {\n grid-template-columns: 1fr 1fr;\n }\n}\n\n.popoverActions {\n display: flex;\n justify-content: flex-end;\n margin-top: 8px;\n}\n\n.secondaryBtn {\n background: transparent;\n border: 1px solid rgba(17, 24, 39, 0.2);\n color: #111827;\n border-radius: 999px;\n padding: 6px 12px;\n cursor: pointer;\n}\n\n.actions {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n gap: 0.75rem;\n align-items: stretch;\n width: 100%;\n position: relative;\n z-index: 0;\n}\n\n.promoRow {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n flex: 1 1 auto;\n position: relative;\n z-index: 1;\n}\n\n.promoInput {\n background: #ffffff;\n border: 1px solid rgba(15, 23, 42, 0.14);\n border-radius: 10px;\n padding: 6px 9px;\n font-size: 13px;\n color: #111827;\n min-width: 140px;\n transition: border-color 160ms ease, box-shadow 160ms ease;\n}\n\n.promoInput:focus {\n border-color: var(--accent-border, rgba(31, 41, 55, 0.28));\n box-shadow: 0 0 0 3px var(--accent-surface, rgba(31, 41, 55, 0.12));\n}\n\n.searchBtn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n background: var(--primary-color, #1f2937);\n color: #fff;\n border: none;\n border-radius: 10px;\n padding: 8px 14px;\n cursor: pointer;\n box-shadow: 0 8px 20px var(--primary-shadow-rgba, rgba(31, 41, 55, 0.28));\n width: 100%;\n transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;\n}\n\n.searchBtn:hover {\n transform: translateY(-1px);\n box-shadow: 0 12px 24px var(--primary-shadow-rgba, rgba(31, 41, 55, 0.32));\n filter: brightness(1.05);\n}\n\n.searchBtn:active {\n transform: translateY(0);\n box-shadow: 0 6px 16px var(--primary-shadow-rgba, rgba(31, 41, 55, 0.26));\n filter: brightness(0.95);\n}\n\n@media (min-width: 768px) {\n .actions {\n flex-direction: row;\n align-items: flex-start;\n gap: 10px;\n width: 100%;\n padding-inline-end: 12px;\n justify-content: flex-end !important;\n }\n .searchBtn {\n max-width: 168px;\n padding: 8px 16px;\n }\n}\n\n.searchText {\n font-weight: 600;\n}\n\n/* Loading spinner animation */\n.spinner {\n display: inline-block;\n width: 16px;\n height: 16px;\n border: 2px solid rgba(255, 255, 255, 0.3);\n border-top-color: #fff;\n border-radius: 50%;\n animation: spin 0.6s linear infinite;\n}\n\n@keyframes spin {\n to { transform: rotate(360deg); }\n}\n\n.searchBtn:disabled {\n opacity: 0.8;\n cursor: not-allowed;\n}\n\n.advanced {\n margin-top: 10px;\n}\n\n.redirectRow {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.visuallyHidden {\n position: absolute !important;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* Sticky compact mini search button - MOBILE (appears when main bar is off-screen) */\n.stickyMiniMobile {\n position: fixed;\n bottom: 10px;\n left: 10px;\n z-index: 1000;\n background: var(--primary-color, #1f2937);\n color: #fff;\n border: none;\n border-radius: 10px;\n padding: 9px 14px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 6px 16px var(--primary-shadow-rgba, rgba(31, 41, 55, 0.28));\n cursor: pointer;\n font-weight: 600;\n font-size: 13px;\n transition: all 200ms ease, filter 200ms ease;\n}\n\n.stickyMiniMobileTop {\n bottom: auto;\n top: 20px;\n}\n\n.stickyMiniMobile:hover {\n transform: translateY(-2px);\n box-shadow: 0 8px 20px var(--primary-shadow-rgba, rgba(31, 41, 55, 0.32));\n filter: brightness(1.05);\n}\n\n.stickyMiniMobile:active {\n transform: translateY(0);\n filter: brightness(0.95);\n}\n\n@media (min-width: 768px) {\n .stickyMiniMobile {\n display: none; /* hide on desktop */\n }\n}\n\n/* Sticky bar - DESKTOP (appears when main bar is off-screen) */\n.stickyBar {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n z-index: 1000;\n background: #fff;\n border-bottom: 1px solid rgba(17, 24, 39, 0.12);\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);\n padding: 8px;\n display: none;\n}\n\n@media (min-width: 768px) {\n .stickyBar {\n display: block;\n }\n}\n\n.stickyBarButton {\n all: unset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n max-width: 1000px;\n margin: 0 auto;\n cursor: pointer;\n}\n\n.stickyBarMini {\n display: flex;\n align-items: center;\n background: rgba(248, 250, 252, 0.95);\n border: 1px solid rgba(17, 24, 39, 0.1);\n border-radius: 14px;\n padding: 0;\n gap: 0;\n box-shadow: none;\n transition: all 200ms ease;\n}\n\n.stickyBarButton:hover .stickyBarMini {\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n}\n\n.stickyBarSearchBtn {\n all: unset;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n background: var(--primary-color, #1f2937);\n color: #fff !important;\n border: none;\n border-radius: 12px;\n padding: 6px 12px;\n cursor: pointer;\n font-size: 13px;\n font-weight: 600;\n box-shadow: 0 4px 12px var(--primary-shadow-rgba, rgba(31, 41, 55, 0.24));\n transition: all 200ms ease, filter 200ms ease;\n white-space: nowrap;\n margin-inline: 8px;\n}\n\n.stickyBarSearchBtn:hover {\n transform: translateY(-1px);\n box-shadow: 0 6px 16px var(--primary-shadow-rgba, rgba(31, 41, 55, 0.28));\n filter: brightness(1.05);\n color: #fff !important;\n}\n\n.stickyBarSearchBtn:active {\n transform: translateY(0);\n filter: brightness(0.95);\n color: #fff !important;\n}\n\n.stickyBarSearchBtn:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n transform: none !important;\n color: #fff !important;\n}\n\n.stickyBarSegment {\n display: flex;\n flex-direction: column;\n padding: 6px 12px;\n gap: 1px;\n position: relative;\n flex: 1 1 0;\n min-width: 0;\n}\n\n.stickyBarSegment:not(:last-child) {\n border-right: 1px solid rgba(17, 24, 39, 0.12);\n}\n\n.stickyBarLabel {\n font-size: 10px;\n font-weight: 600;\n color: #6b7280;\n}\n\n.stickyBarValue {\n font-size: 12px;\n color: #111827;\n font-weight: 500;\n line-height: 1.3;\n white-space: normal;\n overflow-wrap: anywhere;\n}\n\n.stickyBarButton svg {\n flex-shrink: 0;\n color: #111827;\n}\n\n/* Mobile calendar overlay host to avoid segment stacking issues */\n.calendarOverlayHost {\n position: fixed;\n inset: 0;\n background: rgba(0,0,0,0.45);\n z-index: 1200; /* above segments/popovers */\n display: flex;\n align-items: flex-start;\n justify-content: center;\n padding: 16px 8px 24px;\n}\n\n.calendarOverlayHost > div {\n width: 100%;\n max-width: 900px;\n}\n\n/* Groups section styles */\n.groups {\n display: grid;\n gap: 0.75rem;\n border: 1px dashed rgba(17, 24, 39, 0.15);\n padding: 0.75rem;\n border-radius: 8px;\n}\n\n.group {\n display: grid;\n gap: 0.5rem;\n}\n\n.groupControls {\n display: flex;\n gap: 0.5rem;\n flex-wrap: wrap;\n}\n\n.groupControls label {\n flex: 1;\n min-width: 120px;\n}\n\n.summary {\n font-size: 0.85rem;\n opacity: 0.8;\n}\n\n.secondaryBtn {\n background: transparent;\n border: 1px solid rgba(17, 24, 39, 0.2);\n color: inherit;\n border-radius: 999px;\n padding: 0.55rem 1rem;\n cursor: pointer;\n}\n\n.error {\n color: #dc2626;\n font-size: 0.85rem;\n font-weight: 500;\n padding: 10px 16px;\n background: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 8px;\n margin-top: 12px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.error::before {\n content: '⚠️';\n font-size: 1.2rem;\n}\n\n.actions {\n display: flex;\n justify-content: space-between;\n gap: 0.75rem;\n align-items: center;\n}\n\n/* Mobile-first adjustments */\n@media (max-width: 767px) {\n .searchBar {\n display: none; /* Hide by default on mobile */\n }\n\n .searchBar.mobileExpanded {\n display: grid; /* Show when expanded */\n position: relative;\n }\n\n .actions {\n width: 100%;\n height: auto;\n }\n .searchBtn {\n width: 100%;\n justify-content: center;\n min-height: 44px; /* comfortable touch target */\n }\n}\n\n/* Mobile compact button */\n.mobileReserveButton {\n display: none;\n}\n\n@media (max-width: 767px) {\n .mobileReserveButton {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n background: var(--primary-color, #1f2937);\n color: #fff;\n border: none;\n border-radius: 10px;\n padding: 12px 18px;\n cursor: pointer;\n box-shadow: 0 6px 16px var(--primary-shadow-rgba, rgba(31, 41, 55, 0.28));\n width: 100%;\n font-weight: 600;\n font-size: 16px;\n transition: all 200ms ease, filter 200ms ease;\n justify-content: center;\n }\n\n .mobileReserveButton:hover {\n transform: translateY(-2px);\n box-shadow: 0 8px 20px var(--primary-shadow-rgba, rgba(31, 41, 55, 0.32));\n filter: brightness(1.05);\n }\n\n .mobileReserveButton:active {\n transform: translateY(0);\n filter: brightness(0.95);\n }\n\n .mobileReserveButton:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n transform: none !important;\n }\n\n /* Mobile close button */\n .mobileCloseButton {\n position: absolute;\n top: 10px;\n right: 10px;\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(0, 0, 0, 0.05);\n border: none;\n border-radius: 50%;\n font-size: 24px;\n color: #6b7280;\n cursor: pointer;\n z-index: 100;\n transition: all 150ms ease;\n padding: 0;\n line-height: 1;\n }\n\n .mobileCloseButton:hover {\n background: rgba(0, 0, 0, 0.1);\n color: #111827;\n }\n\n .mobileCloseButton:active {\n background: rgba(0, 0, 0, 0.15);\n }\n}\n\n/* Travelers Modal Styles */\n.guestsModal {\n padding: 0;\n min-width: 320px;\n max-width: 400px;\n}\n\n/* Make popovers/modal fit small screens */\n@media (max-width: 480px) {\n .popover {\n left: 50%;\n right: auto;\n transform: translateX(-50%);\n width: calc(100vw - 24px);\n min-width: 0;\n box-sizing: border-box;\n }\n .guestsModal {\n width: 100%;\n max-width: none;\n min-width: 0;\n }\n}\n\n.guestsHeader {\n padding: 16px 20px 12px;\n border-bottom: 1px solid rgba(17, 24, 39, 0.1);\n}\n\n.guestsTitle {\n font-size: 16px;\n font-weight: 600;\n color: #111827;\n margin: 0 0 4px 0;\n}\n\n.guestsSubtitle {\n font-size: 13px;\n color: #6b7280;\n margin: 0;\n}\n\n.guestsContent {\n padding: 16px 20px;\n}\n\n/* Room Groups */\n.roomGroup {\n background: transparent;\n border: none;\n border-radius: 0;\n padding: 16px 0;\n margin-bottom: 0;\n}\n\n.roomGroup:last-child {\n margin-bottom: 0;\n}\n\n.roomHeader {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n}\n\n.roomTitle {\n font-size: 14px;\n font-weight: 600;\n color: #111827;\n margin: 0;\n}\n\n.removeRoomBtn {\n background: transparent;\n border: 1px solid rgba(239, 68, 68, 0.3);\n color: #dc2626;\n border-radius: 6px;\n padding: 4px 8px;\n font-size: 12px;\n cursor: pointer;\n transition: all 150ms ease;\n}\n\n.removeRoomBtn:hover {\n background: rgba(239, 68, 68, 0.05);\n border-color: rgba(239, 68, 68, 0.5);\n}\n\n/* Counter Controls */\n.counterGroup {\n display: flex;\n flex-direction: column;\n gap: 0;\n}\n\n.counterItem {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-bottom: 16px;\n margin-bottom: 16px;\n border-bottom: 1px solid rgba(17, 24, 39, 0.08);\n}\n\n.counterItem:last-child {\n border-bottom: none;\n margin-bottom: 0;\n padding-bottom: 0;\n}\n\n.counterText {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n\n.ageHelperText {\n font-size: 11px;\n color: #9ca3af;\n margin-top: 4px;\n padding-left: 4px;\n}\n\n.counterLabel {\n font-size: 13px;\n font-weight: 500;\n color: #374151;\n margin-bottom: 2px;\n}\n\n.counterDescription {\n font-size: 12px;\n color: #9ca3af;\n margin-bottom: 0;\n}\n\n.counterControl {\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: #fff;\n border: 1px solid rgba(17, 24, 39, 0.12);\n border-radius: 8px;\n padding: 8px 12px;\n min-width: 100px;\n}\n\n.counterBtn {\n background: transparent;\n border: none;\n color: #6b7280;\n cursor: pointer;\n padding: 4px;\n border-radius: 4px;\n transition: all 150ms ease;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n}\n\n.counterBtn:hover {\n background: rgba(17, 24, 39, 0.05);\n color: #111827;\n}\n\n.counterBtn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.counterValue {\n font-size: 14px;\n font-weight: 500;\n color: #111827;\n min-width: 20px;\n text-align: center;\n}\n\n.childrenAgesInput {\n background: #fff;\n border: 1px solid rgba(17, 24, 39, 0.12);\n border-radius: 8px;\n padding: 8px 12px;\n font-size: 14px;\n color: #111827;\n width: 100%;\n}\n\n.childrenAgesInput::placeholder {\n color: #9ca3af;\n}\n\n/* Custom Select for ages */\n.ageSelectGrid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));\n gap: 10px;\n margin-top: 8px;\n}\n\n.select {\n position: relative;\n}\n\n.selectButton {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n background: #fff;\n border: 1px solid rgba(17, 24, 39, 0.12);\n border-radius: 8px;\n padding: 8px 12px;\n font-size: 14px;\n color: #111827;\n cursor: pointer;\n}\n\n.selectOptions {\n position: absolute;\n z-index: 25;\n top: calc(100% + 6px);\n left: 0;\n right: 0;\n background: #fff;\n border: 1px solid rgba(17, 24, 39, 0.12);\n border-radius: 8px;\n box-shadow: 0 10px 30px rgba(17, 24, 39, 0.14);\n max-height: 220px;\n overflow: auto;\n}\n\n.selectOption {\n width: 100%;\n text-align: left;\n padding: 8px 12px;\n background: transparent;\n border: none;\n cursor: pointer;\n}\n\n.selectOption:hover {\n background: rgba(17, 24, 39, 0.05);\n}\n\n/* Add Room Button */\n.addRoomBtn {\n background: transparent;\n border: 1px dashed rgba(17, 24, 39, 0.3);\n color: #6b7280;\n border-radius: 8px;\n padding: 12px;\n cursor: pointer;\n transition: all 150ms ease;\n width: 100%;\n font-size: 14px;\n margin-top: 8px;\n}\n\n.addRoomBtn:hover {\n border-color: rgba(17, 24, 39, 0.5);\n color: #111827;\n background: rgba(17, 24, 39, 0.02);\n}\n\n/* Summary */\n.guestsSummary {\n background: rgba(17, 24, 39, 0.02);\n border: 1px solid rgba(17, 24, 39, 0.08);\n border-radius: 8px;\n padding: 12px;\n margin-top: 16px;\n}\n\n.guestsSummaryText {\n font-size: 13px;\n color: #6b7280;\n margin: 0;\n text-align: center;\n}\n\n/* Modal Actions */\n.guestsActions {\n padding: 16px 20px;\n border-top: 1px solid rgba(17, 24, 39, 0.1);\n display: flex;\n justify-content: flex-end;\n}\n\n.doneBtn {\n background: var(--primary-color, #1f2937);\n color: #fff;\n border: none;\n border-radius: 10px;\n padding: 9px 18px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 150ms ease, filter 150ms ease;\n}\n\n.doneBtn:hover {\n transform: translateY(-1px);\n filter: brightness(1.05);\n}\n\n.doneBtn:active {\n transform: translateY(0);\n filter: brightness(0.95);\n}\n\n/* Night Adjustment Controls */\n.nightAdjustment {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px;\n background: #fff;\n border: 1px solid rgba(17, 24, 39, 0.1);\n border-radius: 12px;\n margin-bottom: 12px;\n}\n\n.nightAdjustmentLabel {\n font-size: 14px;\n font-weight: 500;\n color: #374151;\n white-space: nowrap;\n}\n\n.nightAdjustmentControls {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-left: auto;\n}\n\n.nightAdjustmentBtn {\n background: #f3f4f6;\n border: 1px solid rgba(17, 24, 39, 0.12);\n color: #111827;\n border-radius: 8px;\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all 150ms ease;\n font-size: 18px;\n font-weight: 600;\n}\n\n.nightAdjustmentBtn:hover:not(:disabled) {\n background: #e5e7eb;\n border-color: rgba(17, 24, 39, 0.2);\n}\n\n.nightAdjustmentBtn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.nightAdjustmentValue {\n font-size: 16px;\n font-weight: 600;\n color: #111827;\n min-width: 32px;\n text-align: center;\n}\n\n/* Mobile Sticky Modal */\n.mobileStickyModal {\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.55);\n z-index: 1100;\n display: flex;\n align-items: flex-start;\n justify-content: center;\n padding: 16px;\n overflow-y: auto;\n animation: fadeIn 200ms ease;\n}\n\n.mobileStickyModalContent {\n width: 100%;\n max-width: 500px;\n background: #fff;\n border-radius: 16px;\n box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);\n margin: auto;\n max-height: 90vh;\n display: flex;\n flex-direction: column;\n animation: slideUp 300ms ease;\n}\n\n@keyframes slideUp {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.mobileStickyModalHeader {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px;\n border-bottom: 1px solid rgba(17, 24, 39, 0.1);\n position: sticky;\n top: 0;\n background: #fff;\n border-radius: 16px 16px 0 0;\n z-index: 10;\n}\n\n.mobileStickyModalTitle {\n font-size: 18px;\n font-weight: 600;\n color: #111827;\n margin: 0;\n}\n\n.mobileStickyModalClose {\n all: unset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n border-radius: 50%;\n background: rgba(17, 24, 39, 0.05);\n cursor: pointer;\n transition: all 150ms ease;\n color: #6b7280;\n}\n\n.mobileStickyModalClose:hover {\n background: rgba(17, 24, 39, 0.1);\n color: #111827;\n}\n\n.mobileStickyCalendar {\n padding: 0 16px 16px;\n max-height: calc(90vh - 200px);\n overflow-y: auto;\n}\n\n\n","/* Calendar Overlay */\n.calendarOverlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n padding: 20px;\n}\n\n/* Calendar Modal */\n.calendarModal {\n background: #ffffff;\n border-radius: 16px;\n box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);\n max-width: 900px;\n width: 755px;\n max-height: 90vh;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n position: absolute;\n margin-top: 30px;\n z-index: 1;\n}\n\n/* Header */\n.calendarHeader {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 20px 24px;\n border-bottom: 1px solid #e5e7eb;\n}\n.navButton {\n background: #ffffff;\n border: 1px solid #e5e7eb;\n width: 36px;\n height: 36px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: #374151;\n padding: 0;\n border-radius: 999px;\n box-shadow: 0 2px 6px rgba(0,0,0,0.06);\n margin: 0 8px;\n}\n\n.navButton:hover {\n background: #f3f4f6;\n border-color: #d1d5db;\n}\n\n.calendarHeader > h2 {\n margin: 0 20px;\n}\n\n.calendarHeader .closeButton {\n margin-left: auto;\n}\n\n.calendarHeader h2 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #111827;\n}\n\n.closeButton {\n background: none;\n border: none;\n font-size: 24px;\n cursor: pointer;\n color: #6b7280;\n padding: 4px;\n border-radius: 50%;\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 0.2s;\n}\n\n.closeButton:hover {\n background-color: #f3f4f6;\n color: #111827;\n}\n\n/* Content */\n.calendarContent {\n flex: 1;\n overflow-y: auto;\n padding: 20px 24px;\n}\n\n.monthCards {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n gap: 0;\n}\n\n/* Month Card */\n.monthCard {\n position: relative;\n background: transparent;\n border-radius: 0;\n padding: 20px;\n border: none;\n box-shadow: none;\n}\n\n/* Separador entre calendarios */\n.monthCard:not(:last-child)::after {\n content: '';\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n width: 1px;\n background-color: #e5e7eb;\n}\n\n.monthHeader {\n margin-bottom: 16px;\n}\n\n.monthTitle {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: #111827;\n}\n\n/* Calendar Grid */\n.calendarGrid {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 4px;\n}\n\n.dayHeader {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 32px;\n font-size: 12px;\n font-weight: 600;\n color: #6b7280;\n text-transform: uppercase;\n}\n\n/* Day Buttons */\n.dayButton {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 40px;\n width: 40px;\n border: none;\n background: transparent;\n border-radius: 8px;\n cursor: pointer;\n font-size: 14px;\n font-weight: 500;\n color: #374151;\n transition: all 0.2s ease;\n position: relative;\n}\n\n.dayButton:hover:not(.disabled) {\n background-color: #f3f4f6;\n color: #111827;\n}\n\n.dayButton:focus {\n outline: 2px solid #3b82f6;\n outline-offset: 2px;\n}\n\n/* Day States */\n.otherMonth {\n color: #d1d5db;\n visibility: hidden;\n}\n\n.pastDay {\n color: #d1d5db;\n text-decoration: line-through;\n opacity: 0.5;\n}\n\n.today {\n background-color: #dbeafe;\n color: #1d4ed8;\n font-weight: 600;\n}\n\n.weekend {\n /* Default weekend background; can be overridden by CSS vars */\n background-color: var(--calendar-weekend-bg, transparent);\n}\n\n.today:hover {\n background-color: #bfdbfe;\n}\n\n.selected {\n background-color: #111827;\n color: white;\n font-weight: 600;\n}\n\n.selected:hover {\n background-color: #374151;\n}\n\n.checkIn {\n background-color: #111827;\n color: white;\n font-weight: 600;\n z-index: 2;\n position: relative;\n transition: background-color 0.2s ease, color 0.2s ease;\n}\n\n.checkOut {\n background-color: #111827;\n color: white;\n font-weight: 600;\n z-index: 2;\n position: relative;\n transition: background-color 0.2s ease, color 0.2s ease;\n}\n\n.inRange {\n background-color: var(--calendar-range-bg, #e5e7eb);\n color: #111827;\n position: relative;\n}\n\n.inRange::before {\n content: '';\n position: absolute;\n top: 0;\n left: -2px;\n right: -2px;\n bottom: 0;\n background-color: var(--calendar-range-bg, #e5e7eb);\n z-index: -1;\n}\n\n/* Improve the range display */\n/* Remove half-highlight on endpoints so active squares look full */\n.checkIn::after { content: none; }\n.checkOut::before { content: none; }\n\n.disabled {\n color: #d1d5db;\n cursor: not-allowed;\n background-color: transparent;\n}\n\n.disabled:hover {\n background-color: transparent;\n color: #d1d5db;\n}\n\n/* Footer */\n.calendarFooter {\n padding: 20px 24px;\n border-top: 1px solid #e5e7eb;\n display: flex;\n flex-direction: column;\n gap: 16px;\n background-color: #fafafa;\n}\n\n.calendarFooterTop {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n gap: 12px;\n}\n\n.dateSummary {\n display: flex;\n gap: 24px;\n}\n\n.selectedDate {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.dateLabel {\n font-size: 12px;\n font-weight: 500;\n color: #6b7280;\n text-transform: uppercase;\n}\n\n.dateValue {\n font-size: 14px;\n font-weight: 600;\n color: #111827;\n}\n\n.doneButton {\n background: var(--primary-color, #111827);\n color: white;\n border: none;\n border-radius: 8px;\n padding: 10px 20px;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: background-color 0.2s;\n}\n\n.doneButton:hover {\n background-color: var(--primary-color-hover, #374151);\n}\n\n/* Night Adjustment Controls */\n.nightAdjustment {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px;\n background: #fff;\n border: 1px solid rgba(17, 24, 39, 0.1);\n border-radius: 12px;\n margin-bottom: 12px;\n}\n\n.nightAdjustmentLabel {\n font-size: 14px;\n font-weight: 500;\n color: #374151;\n white-space: nowrap;\n}\n\n.nightAdjustmentControls {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-left: auto;\n}\n\n.nightAdjustmentBtn {\n background: #f3f4f6;\n border: 1px solid rgba(17, 24, 39, 0.12);\n color: #111827;\n border-radius: 8px;\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all 150ms ease;\n font-size: 18px;\n font-weight: 600;\n}\n\n.nightAdjustmentBtn:hover:not(:disabled) {\n background: #e5e7eb;\n border-color: rgba(17, 24, 39, 0.2);\n}\n\n.nightAdjustmentBtn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.nightAdjustmentValue {\n font-size: 16px;\n font-weight: 600;\n color: #111827;\n min-width: 48px;\n text-align: center;\n}\n\n/* Responsive */\n@media (max-width: 768px) {\n .calendarOverlay {\n padding: 10px;\n }\n \n .calendarModal {\n max-height: 95vh;\n width: calc(100vw - 24px);\n left: 50%;\n transform: translateX(-50%);\n right: auto;\n margin-top: 12px;\n z-index: 1000;\n }\n \n .calendarHeader {\n padding: 16px 20px;\n }\n \n .calendarContent {\n padding: 16px 20px;\n }\n \n .monthCard {\n padding: 16px;\n }\n \n .calendarFooter {\n padding: 16px 20px;\n flex-direction: column;\n gap: 16px;\n align-items: stretch;\n }\n\n .nightAdjustment {\n width: 100%;\n }\n\n .nightAdjustmentControls {\n margin-left: 0;\n justify-content: center;\n }\n\n .calendarFooterTop {\n flex-direction: column;\n align-items: stretch;\n }\n\n .dateSummary {\n justify-content: center;\n gap: 16px;\n width: 100%;\n }\n\n .doneButton {\n width: 100%;\n }\n \n /* Separador horizontal en mobile */\n .monthCard:not(:last-child)::after {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n top: auto;\n height: 1px;\n width: 100%;\n }\n \n /* En mobile, los calendarios deben tener gap para mostrar la línea */\n .monthCards {\n gap: 1px;\n }\n \n .dayButton {\n height: 36px;\n width: 36px;\n font-size: 13px;\n }\n}\n\n@media (max-width: 480px) {\n .calendarGrid {\n gap: 2px;\n }\n \n .dayButton {\n height: 32px;\n width: 32px;\n font-size: 12px;\n }\n \n .monthCards {\n gap: 16px;\n }\n\n .calendarModal {\n width: calc(100vw - 16px);\n border-radius: 12px;\n }\n}\n"],"mappings":"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