124 lines
4.1 KiB
CSS
Raw Normal View History

Hotel Raxa - Advanced Booking System Implementation 🏨 Hotel Booking Enhancements: - Implemented Eagle Booking Advanced Pricing add-on - Added Booking.com-style rate management system - Created professional calendar interface for pricing - Integrated deals and discounts functionality 💰 Advanced Pricing Features: - Dynamic pricing models (per room, per person, per adult) - Base rates, adult rates, and child rates management - Length of stay discounts and early bird deals - Mobile rates and secret deals implementation - Seasonal promotions and flash sales 📅 Availability Management: - Real-time availability tracking - Stop sell and restriction controls - Closed to arrival/departure functionality - Minimum/maximum stay requirements - Automatic sold-out management 💳 Payment Integration: - Maintained Redsys payment gateway integration - Seamless integration with existing Eagle Booking - No modifications to core Eagle Booking plugin 🛠️ Technical Implementation: - Custom database tables for advanced pricing - WordPress hooks and filters integration - AJAX-powered admin interface - Data migration from existing Eagle Booking - Professional calendar view for revenue management 📊 Admin Interface: - Booking.com-style management dashboard - Visual rate and availability calendar - Bulk operations for date ranges - Statistics and analytics dashboard - Modal dialogs for quick editing 🔧 Code Quality: - WordPress coding standards compliance - Secure database operations with prepared statements - Proper input validation and sanitization - Error handling and logging - Responsive admin interface 🤖 Generated with Claude Code (https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-11 07:43:22 +02:00
#e-announcements-root {
position: fixed;
display: flex;
top: 0;
left: 0;
width: 100%;
height: 100%;
align-items: center;
justify-content: center;
color: var(--e-a-color-txt);
font-family: Roboto, Arial, Helvetica, sans-serif;
z-index: 9998;
}
#e-announcements-root .announcements-container {
width: 640px;
max-width: 100%;
background-color: var(--e-a-bg-default);
border-radius: var(--e-a-border-radius);
z-index: 9998;
}
#e-announcements-root .announcements-container .announcements-heading-container {
display: flex;
align-items: center;
padding: 16px 32px;
border-block-end: var(--e-a-border);
}
#e-announcements-root .announcements-container .announcements-heading-container .eicon-elementor {
color: var(--e-a-color-logo);
background-color: var(--e-a-bg-logo);
border-radius: 50%;
padding: 8px;
}
#e-announcements-root .announcements-container .announcements-heading-container .heading-title {
margin-inline-start: 12px;
text-transform: uppercase;
font-weight: 700;
color: var(--e-a-color-txt-active);
}
#e-announcements-root .announcements-container .announcements-heading-container .close-button {
margin-inline-start: auto;
background: none;
color: inherit;
border: none;
padding: 0;
font: inherit;
cursor: pointer;
outline: inherit;
}
#e-announcements-root .announcements-container .announcements-heading-container .close-button:hover {
color: var(--e-a-color-txt-hover);
}
#e-announcements-root .announcements-container .announcement-body-container .announcement-body-media img {
width: 100%;
max-height: 360px;
object-fit: contain;
}
#e-announcements-root .announcements-container .announcement-body-container .announcement-body-content {
padding: 30px;
}
#e-announcements-root .announcements-container .announcement-body-container .announcement-body-content .announcement-body-title {
font-size: 18px;
font-weight: 700;
color: var(--e-a-color-txt-accent);
padding-block-end: 15px;
}
#e-announcements-root .announcements-container .announcement-body-container .announcement-body-content .announcement-body-description {
font-size: 16px;
line-height: 24px;
font-weight: 400;
color: var(--e-a-color-txt);
}
#e-announcements-root .announcements-container .announcement-body-container .announcement-body-content p {
margin-block-end: 15px;
}
#e-announcements-root .announcements-container .announcement-body-container .announcement-body-content ul {
margin-inline-start: 20px;
margin-block-end: 15px;
}
#e-announcements-root .announcements-container .announcement-body-container .announcement-body-content li {
list-style: disc;
margin-block-end: 5px;
}
#e-announcements-root .announcements-container .announcement-footer-container {
display: flex;
flex-direction: row-reverse;
padding: 12px 32px 32px;
}
#e-announcements-root .announcements-container .announcement-footer-container .button-item {
margin-inline-start: 12px;
padding: 8px 16px;
outline: none;
border: none;
border-radius: var(--e-a-border-radius);
transition: var(--e-a-transition-hover);
background: transparent;
color: var(--e-a-color-txt);
cursor: pointer;
}
#e-announcements-root .announcements-container .announcement-footer-container .button-item:hover {
background: var(--e-a-bg-hover);
color: var(--e-a-color-txt-hover);
}
#e-announcements-root .announcements-container .announcement-footer-container .button-item:disabled {
background: transparent;
color: var(--e-a-color-txt-disabled);
}
#e-announcements-root .announcements-container .announcement-footer-container .button-item.primary {
background-color: var(--e-a-btn-bg-accent);
color: var(--e-a-btn-color-invert);
}
#e-announcements-root .announcements-container .announcement-footer-container .button-item.primary:hover {
background-color: var(--e-a-btn-bg-accent-hover);
}
#e-announcements-root .announcements-container .announcement-footer-container .button-item.primary:active {
background-color: var(--e-a-btn-bg-accent-active);
}
#e-announcements-root .announcements-screen-overlay {
position: fixed;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.6);
}
/*# sourceMappingURL=announcements.css.map */