From 0b81d1ca9e32d2b810a5d7272b821b509617bd09 Mon Sep 17 00:00:00 2001 From: Roman Pyrih Date: Wed, 29 Apr 2026 14:52:32 +0200 Subject: [PATCH] Save --- .vscode/settings.json | 3 +- .../frontend/assets/css/calendar.css | 649 +---------------- .../frontend/assets/css/calendar.css.map | 1 + .../frontend/assets/css/calendar.scss | 689 ++++++++++++++++++ .../frontend/class-calendar-widget.php | 5 +- .../includes/class-yacht-booking.php | 4 +- 6 files changed, 698 insertions(+), 653 deletions(-) create mode 100644 wp-content/plugins/yacht-booking-system/frontend/assets/css/calendar.css.map create mode 100644 wp-content/plugins/yacht-booking-system/frontend/assets/css/calendar.scss diff --git a/.vscode/settings.json b/.vscode/settings.json index 5e30ed3..12c541e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -13,6 +13,7 @@ "liveSassCompile.settings.watchOnLaunch": true, "liveSassCompile.settings.includeItems": [ "wp-content/themes/hello-elementor/assets/css/custom.scss", - "wp-content/plugins/elementor-addon/assets/css/main.scss" + "wp-content/plugins/elementor-addon/assets/css/main.scss", + "wp-content/plugins/yacht-booking-system/frontend/assets/css/calendar.scss" ] } diff --git a/wp-content/plugins/yacht-booking-system/frontend/assets/css/calendar.css b/wp-content/plugins/yacht-booking-system/frontend/assets/css/calendar.css index 012f78d..3437d69 100644 --- a/wp-content/plugins/yacht-booking-system/frontend/assets/css/calendar.css +++ b/wp-content/plugins/yacht-booking-system/frontend/assets/css/calendar.css @@ -1,648 +1 @@ -/** - * Yacht Booking Calendar Styles - * - * @package YachtBooking - */ - -/* Calendar Wrapper */ -.yacht-calendar-wrapper { - max-width: 1200px; - margin: 0 auto 40px; - padding: 20px; -} - -.yacht-calendar-switcher { - display: flex; - flex-wrap: wrap; - align-items: center; - gap: 10px 14px; - margin: 0 0 22px 0; - padding: 14px 16px; - background: #f7f9fc; - border: 1px solid #dbe5f0; - border-radius: 10px; -} - -.yacht-calendar-switcher-label { - font-size: 14px; - font-weight: 700; - color: #021526; -} - -.yacht-calendar-switcher-buttons { - display: flex; - flex-wrap: wrap; - gap: 8px; -} - -.yacht-calendar-switcher-button { - display: inline-flex; - align-items: center; - padding: 9px 14px; - border: 1px solid #c8d4e3; - border-radius: 999px; - background: #fff; - color: #14324a; - font-size: 14px; - font-weight: 600; - line-height: 1.2; - cursor: pointer; - transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease; -} - -.yacht-calendar-switcher-button:hover, -.yacht-calendar-switcher-button:focus { - border-color: #bc1834; - color: #bc1834; - outline: none; - transform: translateY(-1px); -} - -.yacht-calendar-switcher-button.is-active { - background: #bc1834; - border-color: #bc1834; - color: #fff; - box-shadow: 0 8px 18px rgba(188, 24, 52, 0.18); -} - -/* Calendar Header */ -.yacht-calendar-header { - margin-bottom: 30px; -} - -.yacht-calendar-title { - font-size: 28px; - font-weight: 700; - color: #021526; - margin: 0 0 15px 0; -} - -.yacht-calendar-description { - color: #666; - font-size: 16px; - line-height: 1.6; -} - -.yacht-calendar-instructions { - margin: 0 0 12px 0; - padding: 12px 14px; - background: #eef6ff; - border: 1px solid #d1e4ff; - border-left: 4px solid #1565c0; - border-radius: 6px; - color: #0f2742; - font-size: 14px; - line-height: 1.55; -} - -.yacht-calendar-instructions p { - margin: 0; -} - -.yacht-calendar-legend { - display: flex; - flex-wrap: wrap; - gap: 10px 16px; - align-items: center; - margin: 0 0 18px 0; -} - -.yacht-legend-item { - display: inline-flex; - align-items: center; - gap: 8px; - font-size: 14px; - font-weight: 600; - color: #1f2937; -} - -.yacht-legend-swatch { - width: 16px; - height: 16px; - border-radius: 4px; - border: 1px solid rgba(0, 0, 0, 0.2); -} - -.yacht-legend-swatch-past { - background: #d0d5dd; -} - -/* Calendar Container */ -.yacht-calendar { - margin-bottom: 30px; - background: #fff; - border-radius: 8px; - box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08); - padding: 20px; -} - -/* FullCalendar overrides */ -.yacht-calendar .fc { - font-family: inherit; -} - -.yacht-calendar .fc-button-primary { - background: #bc1834; - border-color: #bc1834; - text-transform: uppercase; - font-weight: 600; - font-size: 13px; - padding: 8px 16px; -} - -.yacht-calendar .fc-button-primary:hover { - background: #021526; - border-color: #021526; -} - -.yacht-calendar .fc-button-primary:not(:disabled):active, -.yacht-calendar .fc-button-primary:not(:disabled).fc-button-active { - background: #021526; - border-color: #021526; -} - -.yacht-calendar .fc-daygrid-day.fc-day-past { - background: #f5f5f5; - opacity: 0.6; -} - -.yacht-calendar .fc-daygrid-day.fc-day-past .fc-daygrid-day-number { - color: #999; -} - -.yacht-calendar .fc-daygrid-day:hover { - background: #f8f9fa; -} - -.yacht-calendar .fc-highlight { - background: rgba(188, 24, 52, 0.1) !important; -} - -/* Day numbers - prevent truncation */ -.yacht-calendar .fc-daygrid-day-top { - display: flex; - justify-content: center; - align-items: center; - padding: 5px; -} - -.yacht-calendar .fc-daygrid-day-number { - padding: 4px 6px; - min-width: 28px; - text-align: center; - display: inline-block; - font-size: 14px; - line-height: 1.2; -} - -.yacht-calendar .fc-daygrid-day-frame { - min-height: 80px; - display: flex; - flex-direction: column; - position: relative; -} - -/* Custom day status classes */ -.yacht-day-available { - cursor: pointer; -} - -.yacht-day-booked, -.yacht-day-blocked { - cursor: not-allowed; -} - -.yacht-calendar .fc-bg-event { - opacity: 0.78 !important; -} - -.yacht-calendar .fc-bg-event.yacht-day-available { - opacity: 0.66 !important; -} - -.yacht-calendar .fc-bg-event.yacht-day-booked, -.yacht-calendar .fc-bg-event.yacht-day-blocked { - opacity: 0.92 !important; -} - -/* Booking Form Styles */ -.yacht-booking-form-container { - background: #f9f9f9; - padding: 30px; - border-radius: 8px; - margin-top: 30px; - border: 1px solid #e0e0e0; -} - -.yacht-booking-form-container h4 { - margin: 0 0 25px 0; - font-size: 22px; - font-weight: 700; - color: #021526; -} - -.yacht-booking-form .form-row { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 20px; - margin-bottom: 20px; -} - -.yacht-booking-form .form-field { - margin-bottom: 20px; -} - -.yacht-booking-form label { - display: block; - font-weight: 600; - margin-bottom: 8px; - color: #333; - font-size: 14px; -} - -.yacht-booking-form label .required { - color: #bc1834; - margin-left: 2px; -} - -.yacht-booking-form input[type="text"], -.yacht-booking-form input[type="email"], -.yacht-booking-form input[type="tel"], -.yacht-booking-form input[type="date"] { - width: 100%; - padding: 12px 15px; - border: 1px solid #ddd; - border-radius: 4px; - font-size: 16px; - transition: border-color 0.3s ease, box-shadow 0.3s ease; - background: #fff; - box-sizing: border-box; -} - -.yacht-booking-form input:focus { - outline: none; - border-color: #bc1834; - box-shadow: 0 0 0 3px rgba(188, 24, 52, 0.1); -} - -.yacht-booking-form input:read-only { - background: #f5f5f5; - cursor: not-allowed; -} - -.booking-terms { - margin-top: 18px; - font-size: 14px; - line-height: 1.5; - color: #333; -} - -.booking-terms a { - color: #bc1834; - text-decoration: underline; -} - -.yacht-booking-form .form-actions { - margin-top: 25px; -} - -.yacht-booking-submit { - background: #bc1834; - color: #fff; - padding: 14px 30px; - border: none; - border-radius: 4px; - font-size: 16px; - font-weight: 600; - cursor: pointer; - transition: all 0.3s ease; - width: 100%; - text-transform: uppercase; - letter-spacing: 0.5px; -} - -.yacht-booking-submit:hover { - background: #021526; - transform: translateY(-2px); - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); -} - -.yacht-booking-submit:disabled { - background: #ccc; - cursor: not-allowed; - transform: none; - box-shadow: none; -} - -/* Response Messages */ -.yacht-booking-response { - margin-top: 20px; -} - -.booking-success, -.booking-error { - padding: 15px; - border-radius: 4px; - font-size: 15px; - line-height: 1.5; -} - -.booking-success strong, -.booking-error strong { - display: block; - margin-bottom: 5px; -} - -/* Error/Notice Messages */ -.yacht-calendar-error, -.yacht-calendar-notice { - padding: 20px; - border-radius: 4px; - margin-bottom: 20px; -} - -.yacht-calendar-error p, -.yacht-calendar-notice p { - margin: 0; - line-height: 1.5; -} - -/* View-only mode (booking disabled) */ -.yacht-calendar-view-only { - max-width: 1200px; - padding: 15px; - margin-bottom: 20px; -} - -.yacht-calendar-view-only .yacht-calendar-header { - margin-bottom: 15px; -} - -.yacht-calendar-view-only .yacht-calendar-title { - font-size: 22px; - margin-bottom: 10px; -} - -.yacht-calendar-view-only .yacht-calendar-instructions { - margin-bottom: 8px; - padding: 8px 12px; - font-size: 13px; -} - -.yacht-calendar-view-only .yacht-calendar-legend { - margin-bottom: 10px; - font-size: 13px; -} - -.yacht-calendar-view-only .yacht-calendar { - padding: 10px; - margin-bottom: 0; - height: auto !important; - overflow: visible; -} - -.yacht-calendar-view-only .fc-daygrid-day-frame { - min-height: 36px; -} - -.yacht-calendar-view-only .fc-daygrid-day-top { - padding: 2px; -} - -.yacht-calendar-view-only .fc-daygrid-day-number { - padding: 2px 4px; - min-width: 22px; - font-size: 12px; -} - -.yacht-calendar-view-only .fc-col-header-cell { - font-size: 12px; - padding: 4px 0; -} - -.yacht-calendar-view-only .fc-button { - font-size: 11px !important; - padding: 5px 10px !important; -} - -.yacht-calendar-view-only .fc-toolbar-title { - font-size: 16px !important; -} - -/* Inquiry layout (calendar + form side by side) */ -.yacht-inquiry-layout { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 24px; - align-items: start; -} - -.yacht-inquiry-form-container { - background: #021526; - padding: 24px; - border-radius: 8px; - border: none; -} - -.yacht-inquiry-form-container h4 { - margin: 0 0 8px 0; - font-size: 20px; - font-weight: 700; - color: #fff; -} - -.yacht-inquiry-desc { - margin: 0 0 18px 0; - color: rgba(255, 255, 255, 0.7); - font-size: 14px; - line-height: 1.5; -} - -.yacht-inquiry-form .form-field { - margin-bottom: 14px; -} - -.yacht-inquiry-form label { - display: block; - font-weight: 600; - margin-bottom: 5px; - color: rgba(255, 255, 255, 0.9); - font-size: 13px; -} - -.yacht-inquiry-form label .required { - color: #ff6b6b; - margin-left: 2px; -} - -.yacht-inquiry-form input[type="text"], -.yacht-inquiry-form input[type="email"], -.yacht-inquiry-form input[type="tel"], -.yacht-inquiry-form textarea { - width: 100%; - padding: 10px 12px; - border: 1px solid rgba(255, 255, 255, 0.2); - border-radius: 4px; - font-size: 14px; - transition: border-color 0.3s ease, box-shadow 0.3s ease; - background: rgba(255, 255, 255, 0.1); - color: #fff; - box-sizing: border-box; - font-family: inherit; -} - -.yacht-inquiry-form input::placeholder, -.yacht-inquiry-form textarea::placeholder { - color: rgba(255, 255, 255, 0.4); -} - -.yacht-inquiry-form input:focus, -.yacht-inquiry-form textarea:focus { - outline: none; - border-color: #bc1834; - box-shadow: 0 0 0 3px rgba(188, 24, 52, 0.3); - background: rgba(255, 255, 255, 0.15); -} - -.yacht-inquiry-form textarea { - resize: vertical; - min-height: 60px; -} - -.yacht-inquiry-form .form-actions { - margin-top: 18px; -} - -.yacht-inquiry-form .booking-terms { - color: rgba(255, 255, 255, 0.6); - font-size: 13px; -} - -.yacht-inquiry-form .booking-terms a { - color: rgba(255, 255, 255, 0.85); -} - -.yacht-inquiry-form .yacht-booking-submit { - background: #bc1834; - border-color: #bc1834; - color: #fff; -} - -.yacht-inquiry-form .yacht-booking-submit:hover { - background: #fff; - color: #021526; -} - -.yacht-inquiry-response { - margin-top: 15px; -} - -/* Tablet Responsive */ -@media (max-width: 992px) { - .yacht-calendar-title { - font-size: 24px; - } - - .yacht-calendar { - padding: 15px; - } -} - -/* Inquiry layout tablet */ -@media (max-width: 992px) { - .yacht-inquiry-layout { - grid-template-columns: 1fr; - } -} - -/* Mobile Responsive */ -@media (max-width: 768px) { - .yacht-calendar-wrapper { - padding: 15px; - } - - .yacht-calendar-switcher { - padding: 12px; - } - - .yacht-calendar-switcher-buttons { - width: 100%; - } - - .yacht-inquiry-form-container { - padding: 18px; - } - - .yacht-calendar-title { - font-size: 22px; - } - - .yacht-calendar { - padding: 10px; - } - - .yacht-calendar-legend { - gap: 8px 12px; - } - - .yacht-booking-form-container { - padding: 20px; - } - - .yacht-booking-form .form-row { - grid-template-columns: 1fr; - gap: 0; - } - - .yacht-calendar .fc-toolbar { - flex-direction: column; - gap: 10px; - } - - .yacht-calendar .fc-toolbar-chunk { - display: flex; - justify-content: center; - width: 100%; - } - - .yacht-calendar .fc-button { - font-size: 12px; - padding: 6px 12px; - } -} - -/* Extra Small Mobile */ -@media (max-width: 480px) { - .yacht-calendar-wrapper { - padding: 10px; - } - - .yacht-calendar-switcher { - padding: 10px; - } - - .yacht-calendar-switcher-button { - width: 100%; - justify-content: center; - } - - .yacht-calendar-title { - font-size: 20px; - } - - .yacht-booking-form-container { - padding: 15px; - } - - .yacht-booking-form input[type="text"], - .yacht-booking-form input[type="email"], - .yacht-booking-form input[type="tel"] { - font-size: 14px; - padding: 10px 12px; - } - - .yacht-booking-submit { - padding: 12px 20px; - font-size: 14px; - } -} +.yacht-calendar-wrapper{max-width:1200px;margin:0 auto 40px;padding:20px}.yacht-calendar-switcher{width:100vw;margin-left:50%;transform:translateX(-50%);border:none;padding:80px 20px;border-radius:0;display:flex;flex-direction:column;align-items:center;margin-bottom:0;justify-content:center;background:#0e2036;gap:30px}.yacht-calendar-switcher-label{font-family:"DM Sans",Sans-serif !important;font-size:80px;font-weight:500;letter-spacing:-0.04em;color:var(--e-global-color-7077776);line-height:.8}@media(max-width: 768px){.yacht-calendar-switcher-label{font-size:64px}}@media(max-width: 480px){.yacht-calendar-switcher-label{font-size:48px}}.yacht-calendar-switcher-buttons{display:flex;flex-wrap:wrap;gap:8px}.yacht-calendar-switcher-button{font-family:"JetBrains Mono",Sans-serif !important;font-size:.75rem !important;font-weight:500 !important;text-transform:uppercase;line-height:1 !important;letter-spacing:.25em !important;padding:16px 32px 16px 32px !important;border-radius:0 !important;background:#bc1834 !important;color:#fff !important;border:none !important;cursor:pointer !important}.yacht-calendar-switcher-button:hover{background:#a9000c !important}.yacht-calendar-switcher-button.is-active{background:#bc1834;border-color:#bc1834;color:#fff;box-shadow:0 8px 18px rgba(188,24,52,.18)}.yacht-calendar-header{margin-bottom:30px}.yacht-calendar-title{font-size:28px;font-weight:700;color:#021526;margin:0 0 15px 0}.yacht-calendar-description{color:#666;font-size:16px;line-height:1.6}.yacht-calendar-instructions{margin:0 0 30px 0;padding:12px 14px;color:#fff;border-left:1px solid red;background:#d40924;border:none;border-radius:0}.yacht-calendar-instructions p{margin:0;font-family:"Inter Tight",Sans-serif;font-size:1rem;font-weight:400}.yacht-calendar-legend{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:0 0 18px 0}.yacht-legend-item{display:inline-flex;align-items:center;gap:8px;color:#fff;font-family:"Roboto",Sans-serif;font-size:15px;font-weight:300}.yacht-legend-swatch{width:16px;height:16px;border-radius:4px;border:1px solid rgba(0,0,0,.2)}.yacht-legend-swatch-past{background:#d0d5dd}.yacht-calendar{margin-bottom:30px;background:hsla(0,0%,100%,.1) f;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.08);padding:20px}.yacht-calendar .fc{font-family:inherit}.yacht-calendar .fc-button-primary{background:#bc1834;border-color:#bc1834;text-transform:uppercase;font-weight:600;font-size:13px;padding:8px 16px}.yacht-calendar .fc-button-primary:hover{background:#021526;border-color:#021526}.yacht-calendar .fc-button-primary:not(:disabled):active{background:#021526;border-color:#021526}.yacht-calendar .fc-button-primary:not(:disabled).fc-button-active{background:#021526;border-color:#021526}.yacht-calendar .fc-daygrid-day.fc-day-past{background:#f5f5f5;opacity:1}.yacht-calendar .fc-daygrid-day.fc-day-past .fc-daygrid-day-number{color:#fff}.yacht-calendar .fc-daygrid-day:hover{background:#f8f9fa}.yacht-calendar .fc-highlight{background:rgba(188,24,52,.1) !important}.yacht-calendar .fc-daygrid-day-top{display:flex;justify-content:center;align-items:center;padding:5px}.yacht-calendar .fc-daygrid-day-number{padding:4px 6px;min-width:28px;text-align:center;display:inline-block;font-size:14px;line-height:1.2}.yacht-calendar .fc-daygrid-day-frame{min-height:80px;display:flex;flex-direction:column;position:relative}.yacht-calendar .fc-bg-event{opacity:.78 !important}.yacht-calendar .fc-bg-event.yacht-day-available{opacity:.66 !important}.yacht-calendar .fc-bg-event.yacht-day-booked{opacity:.92 !important}.yacht-calendar .fc-bg-event.yacht-day-blocked{opacity:.92 !important}.yacht-day-available{cursor:pointer}.yacht-day-booked{cursor:not-allowed}.yacht-day-blocked{cursor:not-allowed}.yacht-booking-form-container{background:#f9f9f9;padding:30px;border-radius:8px;margin-top:30px;border:1px solid #e0e0e0}.yacht-booking-form-container h4{margin:0 0 25px 0;font-size:22px;font-weight:700;color:#021526}.yacht-booking-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.yacht-booking-form .form-field{margin-bottom:20px}.yacht-booking-form label{display:block;font-weight:600;margin-bottom:8px;color:#333;font-size:14px}.yacht-booking-form label .required{color:#bc1834;margin-left:2px}.yacht-booking-form input[type=text]{width:100%;padding:12px 15px;border:1px solid #ddd;border-radius:4px;font-size:16px;transition:border-color .3s ease,box-shadow .3s ease;background:#fff;box-sizing:border-box}.yacht-booking-form input[type=email]{width:100%;padding:12px 15px;border:1px solid #ddd;border-radius:4px;font-size:16px;transition:border-color .3s ease,box-shadow .3s ease;background:#fff;box-sizing:border-box}.yacht-booking-form input[type=tel]{width:100%;padding:12px 15px;border:1px solid #ddd;border-radius:4px;font-size:16px;transition:border-color .3s ease,box-shadow .3s ease;background:#fff;box-sizing:border-box}.yacht-booking-form input[type=date]{width:100%;padding:12px 15px;border:1px solid #ddd;border-radius:4px;font-size:16px;transition:border-color .3s ease,box-shadow .3s ease;background:#fff;box-sizing:border-box}.yacht-booking-form input:focus{outline:none;border-color:#bc1834;box-shadow:0 0 0 3px rgba(188,24,52,.1)}.yacht-booking-form input:-moz-read-only{background:#f5f5f5;cursor:not-allowed}.yacht-booking-form input:read-only{background:#f5f5f5;cursor:not-allowed}.yacht-booking-form .form-actions{margin-top:25px}.booking-terms{margin-top:18px;font-size:14px;line-height:1.5;color:#333}.booking-terms a{color:#bc1834;text-decoration:underline}.yacht-booking-submit{font-family:"JetBrains Mono",Sans-serif !important;font-size:.75rem !important;font-weight:500 !important;text-transform:uppercase;line-height:1 !important;letter-spacing:.25em !important;padding:16px 32px 16px 32px !important;border-radius:0 !important;background:#bc1834 !important;color:#fff !important;border:none !important;cursor:pointer !important;transition:all .3s ease;width:100%}.yacht-booking-submit:hover{background:#a9000c !important}.yacht-booking-submit:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.yacht-booking-response{margin-top:20px}.booking-success{padding:15px;border-radius:4px;font-size:15px;line-height:1.5}.booking-success strong{display:block;margin-bottom:5px}.booking-error{padding:15px;border-radius:4px;font-size:15px;line-height:1.5}.booking-error strong{display:block;margin-bottom:5px}.yacht-calendar-error{padding:20px;border-radius:4px;margin-bottom:20px}.yacht-calendar-error p{margin:0;line-height:1.5}.yacht-calendar-notice{padding:20px;border-radius:4px;margin-bottom:20px}.yacht-calendar-notice p{margin:0;line-height:1.5}.yacht-calendar-view-only{max-width:1200px;padding:15px 15px 0 15px;margin-bottom:0}.yacht-calendar-view-only .yacht-calendar-header{margin-bottom:15px}.yacht-calendar-view-only .yacht-calendar-title{font-size:22px;margin-bottom:10px}.yacht-calendar-view-only .yacht-calendar-instructions{margin-bottom:30px;padding:8px 12px;font-size:13px}.yacht-calendar-view-only .yacht-calendar-legend{margin-bottom:10px;font-size:13px}.yacht-calendar-view-only .yacht-calendar{padding:10px;margin-bottom:0;height:auto !important;overflow:visible}.yacht-calendar-view-only .fc-daygrid-day-frame{min-height:36px}.yacht-calendar-view-only .fc-daygrid-day-top{padding:2px}.yacht-calendar-view-only .fc-daygrid-day-number{padding:2px 4px;min-width:22px;font-size:12px}.yacht-calendar-view-only .fc-col-header-cell{font-size:12px;padding:4px 0}.yacht-calendar-view-only .fc-button{font-size:11px !important;padding:5px 10px !important}.yacht-calendar-view-only .fc-toolbar-title{font-size:16px !important}.yacht-inquiry-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;margin-bottom:30px}.yacht-inquiry-form-container{background:#021526;padding:24px;border-radius:8px;border:none}.yacht-inquiry-form-container h4{margin:0 0 8px 0;font-size:20px;font-weight:700;color:#fff}.yacht-inquiry-desc{margin:0 0 18px 0;color:hsla(0,0%,100%,.7);font-size:14px;line-height:1.5}.yacht-inquiry-form .form-field{margin-bottom:14px}.yacht-inquiry-form label{display:block;font-weight:600;margin-bottom:5px;color:hsla(0,0%,100%,.9);font-size:13px}.yacht-inquiry-form label .required{color:#ff6b6b;margin-left:2px}.yacht-inquiry-form input[type=text]{width:100%;padding:10px 12px;border:1px solid hsla(0,0%,100%,.2);border-radius:4px;font-size:14px;transition:border-color .3s ease,box-shadow .3s ease;background:hsla(0,0%,100%,.1);color:#fff;box-sizing:border-box;font-family:inherit}.yacht-inquiry-form input[type=email]{width:100%;padding:10px 12px;border:1px solid hsla(0,0%,100%,.2);border-radius:4px;font-size:14px;transition:border-color .3s ease,box-shadow .3s ease;background:hsla(0,0%,100%,.1);color:#fff;box-sizing:border-box;font-family:inherit}.yacht-inquiry-form input[type=tel]{width:100%;padding:10px 12px;border:1px solid hsla(0,0%,100%,.2);border-radius:4px;font-size:14px;transition:border-color .3s ease,box-shadow .3s ease;background:hsla(0,0%,100%,.1);color:#fff;box-sizing:border-box;font-family:inherit}.yacht-inquiry-form textarea{width:100%;padding:10px 12px;border:1px solid hsla(0,0%,100%,.2);border-radius:4px;font-size:14px;transition:border-color .3s ease,box-shadow .3s ease;background:hsla(0,0%,100%,.1);color:#fff;box-sizing:border-box;font-family:inherit;resize:vertical;min-height:60px}.yacht-inquiry-form textarea::-moz-placeholder{color:hsla(0,0%,100%,.4)}.yacht-inquiry-form textarea::placeholder{color:hsla(0,0%,100%,.4)}.yacht-inquiry-form textarea:focus{outline:none;border-color:#bc1834;box-shadow:0 0 0 3px rgba(188,24,52,.3);background:hsla(0,0%,100%,.15)}.yacht-inquiry-form input::-moz-placeholder{color:hsla(0,0%,100%,.4)}.yacht-inquiry-form input::placeholder{color:hsla(0,0%,100%,.4)}.yacht-inquiry-form input:focus{outline:none;border-color:#bc1834;box-shadow:0 0 0 3px rgba(188,24,52,.3);background:hsla(0,0%,100%,.15)}.yacht-inquiry-form .form-actions{margin-top:18px}.yacht-inquiry-form .booking-terms{color:hsla(0,0%,100%,.6);font-size:13px}.yacht-inquiry-form .booking-terms a{color:hsla(0,0%,100%,.85)}.yacht-inquiry-form .yacht-booking-submit{background:#bc1834;border-color:#bc1834;color:#fff}.yacht-inquiry-form .yacht-booking-submit:hover{background:#fff;color:#021526}.yacht-inquiry-response{margin-top:15px}@media(max-width: 992px){.yacht-calendar-title{font-size:24px}.yacht-calendar{padding:15px}.yacht-inquiry-layout{grid-template-columns:1fr}}@media(max-width: 768px){.yacht-inquiry-form-container{padding:18px}.yacht-calendar-title{font-size:22px}.yacht-calendar{padding:10px}.yacht-calendar .fc-toolbar{flex-direction:column;gap:10px}.yacht-calendar .fc-toolbar-chunk{display:flex;justify-content:center;width:100%}.yacht-calendar .fc-button{font-size:12px;padding:6px 12px}.yacht-calendar-legend{gap:8px 12px}.yacht-booking-form-container{padding:20px}.yacht-booking-form .form-row{grid-template-columns:1fr;gap:0}}@media(max-width: 480px){.yacht-calendar-switcher-button{width:100%;justify-content:center}.yacht-calendar-title{font-size:20px}.yacht-booking-form-container{padding:15px}.yacht-booking-form input[type=text]{font-size:14px;padding:10px 12px}.yacht-booking-form input[type=email]{font-size:14px;padding:10px 12px}.yacht-booking-form input[type=tel]{font-size:14px;padding:10px 12px}.yacht-booking-submit{padding:12px 20px;font-size:14px}}body a:not([href]):not([tabindex]),body a:not([href]):not([tabindex]):focus,body a:not([href]):not([tabindex]):hover{color:#fff}body .fc .fc-day-other .fc-daygrid-day-top{opacity:1}table{margin-bottom:0 !important}/*# sourceMappingURL=calendar.css.map */ \ No newline at end of file diff --git a/wp-content/plugins/yacht-booking-system/frontend/assets/css/calendar.css.map b/wp-content/plugins/yacht-booking-system/frontend/assets/css/calendar.css.map new file mode 100644 index 0000000..1de1e66 --- /dev/null +++ b/wp-content/plugins/yacht-booking-system/frontend/assets/css/calendar.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["calendar.scss"],"names":[],"mappings":"AAAA,wBACC,gBAAA,CACA,kBAAA,CACA,YAAA,CAED,yBAQC,WAAA,CACA,eAAA,CACA,0BAAA,CACA,WAAA,CACA,iBAAA,CACA,eAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,QAAA,CAED,+BAIC,2CAAA,CACA,cAAA,CACA,eAAA,CACA,sBAAA,CACA,mCAAA,CACA,cAAA,CAEA,yBAXD,+BAYE,cAAA,CAAA,CAED,yBAdD,+BAeE,cAAA,CAAA,CAGF,iCACC,YAAA,CACA,cAAA,CACA,OAAA,CAED,gCACC,kDAAA,CACA,2BAAA,CACA,0BAAA,CACA,wBAAA,CACA,wBAAA,CACA,+BAAA,CACA,sCAAA,CACA,0BAAA,CACA,6BAAA,CACA,qBAAA,CACA,sBAAA,CACA,yBAAA,CAEA,sCACC,6BAAA,CA4BF,0CACC,kBAAA,CACA,oBAAA,CACA,UAAA,CACA,yCAAA,CAED,uBACC,kBAAA,CAED,sBACC,cAAA,CACA,eAAA,CACA,aAAA,CACA,iBAAA,CAED,4BACC,UAAA,CACA,cAAA,CACA,eAAA,CAED,6BACC,iBAAA,CACA,iBAAA,CAEA,UAAA,CACA,yBAAA,CACA,kBAAA,CACA,WAAA,CACA,eAAA,CAEA,+BACC,QAAA,CACA,oCAAA,CACA,cAAA,CACA,eAAA,CAGF,uBACC,YAAA,CACA,cAAA,CACA,aAAA,CACA,kBAAA,CACA,iBAAA,CAED,mBACC,mBAAA,CACA,kBAAA,CACA,OAAA,CAEA,UAAA,CACA,+BAAA,CACA,cAAA,CACA,eAAA,CAED,qBACC,UAAA,CACA,WAAA,CACA,iBAAA,CACA,+BAAA,CAED,0BACC,kBAAA,CAED,gBACC,kBAAA,CACA,+BAAA,CACA,iBAAA,CACA,qCAAA,CACA,YAAA,CACA,oBACC,mBAAA,CAED,mCACC,kBAAA,CACA,oBAAA,CACA,wBAAA,CACA,eAAA,CACA,cAAA,CACA,gBAAA,CACA,yCACC,kBAAA,CACA,oBAAA,CAGA,yDACC,kBAAA,CACA,oBAAA,CAGF,mEACC,kBAAA,CACA,oBAAA,CAGF,4CACC,kBAAA,CACA,SAAA,CAEA,mEACC,UAAA,CAID,sCACC,kBAAA,CAGF,8BACC,wCAAA,CAED,oCACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CAED,uCACC,eAAA,CACA,cAAA,CACA,iBAAA,CACA,oBAAA,CACA,cAAA,CACA,eAAA,CAED,sCACC,eAAA,CACA,YAAA,CACA,qBAAA,CACA,iBAAA,CAED,6BACC,sBAAA,CAED,iDACC,sBAAA,CAED,8CACC,sBAAA,CAED,+CACC,sBAAA,CAGF,qBACC,cAAA,CAED,kBACC,kBAAA,CAED,mBACC,kBAAA,CAED,8BACC,kBAAA,CACA,YAAA,CACA,iBAAA,CACA,eAAA,CACA,wBAAA,CACA,iCACC,iBAAA,CACA,cAAA,CACA,eAAA,CACA,aAAA,CAID,8BACC,YAAA,CACA,6BAAA,CACA,QAAA,CACA,kBAAA,CAED,gCACC,kBAAA,CAED,0BACC,aAAA,CACA,eAAA,CACA,iBAAA,CACA,UAAA,CACA,cAAA,CACA,oCACC,aAAA,CACA,eAAA,CAGF,qCACC,UAAA,CACA,iBAAA,CACA,qBAAA,CACA,iBAAA,CACA,cAAA,CACA,oDAAA,CACA,eAAA,CACA,qBAAA,CAED,sCACC,UAAA,CACA,iBAAA,CACA,qBAAA,CACA,iBAAA,CACA,cAAA,CACA,oDAAA,CACA,eAAA,CACA,qBAAA,CAED,oCACC,UAAA,CACA,iBAAA,CACA,qBAAA,CACA,iBAAA,CACA,cAAA,CACA,oDAAA,CACA,eAAA,CACA,qBAAA,CAED,qCACC,UAAA,CACA,iBAAA,CACA,qBAAA,CACA,iBAAA,CACA,cAAA,CACA,oDAAA,CACA,eAAA,CACA,qBAAA,CAGA,gCACC,YAAA,CACA,oBAAA,CACA,uCAAA,CAED,yCACC,kBAAA,CACA,kBAAA,CAFD,oCACC,kBAAA,CACA,kBAAA,CAGF,kCACC,eAAA,CAGF,eACC,eAAA,CACA,cAAA,CACA,eAAA,CACA,UAAA,CACA,iBACC,aAAA,CACA,yBAAA,CAGF,sBACC,kDAAA,CACA,2BAAA,CACA,0BAAA,CACA,wBAAA,CACA,wBAAA,CACA,+BAAA,CACA,sCAAA,CACA,0BAAA,CACA,6BAAA,CACA,qBAAA,CACA,sBAAA,CACA,yBAAA,CACA,uBAAA,CACA,UAAA,CAEA,4BACC,6BAAA,CAED,+BACC,eAAA,CACA,kBAAA,CACA,cAAA,CACA,eAAA,CAGF,wBACC,eAAA,CAED,iBACC,YAAA,CACA,iBAAA,CACA,cAAA,CACA,eAAA,CACA,wBACC,aAAA,CACA,iBAAA,CAGF,eACC,YAAA,CACA,iBAAA,CACA,cAAA,CACA,eAAA,CACA,sBACC,aAAA,CACA,iBAAA,CAGF,sBACC,YAAA,CACA,iBAAA,CACA,kBAAA,CACA,wBACC,QAAA,CACA,eAAA,CAGF,uBACC,YAAA,CACA,iBAAA,CACA,kBAAA,CACA,yBACC,QAAA,CACA,eAAA,CAGF,0BACC,gBAAA,CACA,wBAAA,CACA,eAAA,CACA,iDACC,kBAAA,CAED,gDACC,cAAA,CACA,kBAAA,CAED,uDACC,kBAAA,CACA,gBAAA,CACA,cAAA,CAED,iDACC,kBAAA,CACA,cAAA,CAED,0CACC,YAAA,CACA,eAAA,CACA,sBAAA,CACA,gBAAA,CAED,gDACC,eAAA,CAED,8CACC,WAAA,CAED,iDACC,eAAA,CACA,cAAA,CACA,cAAA,CAED,8CACC,cAAA,CACA,aAAA,CAED,qCACC,yBAAA,CACA,2BAAA,CAED,4CACC,yBAAA,CAGF,sBACC,YAAA,CACA,6BAAA,CACA,QAAA,CACA,iBAAA,CACA,kBAAA,CAED,8BACC,kBAAA,CACA,YAAA,CACA,iBAAA,CACA,WAAA,CACA,iCACC,gBAAA,CACA,cAAA,CACA,eAAA,CACA,UAAA,CAGF,oBACC,iBAAA,CACA,wBAAA,CACA,cAAA,CACA,eAAA,CAGA,gCACC,kBAAA,CAED,0BACC,aAAA,CACA,eAAA,CACA,iBAAA,CACA,wBAAA,CACA,cAAA,CACA,oCACC,aAAA,CACA,eAAA,CAGF,qCACC,UAAA,CACA,iBAAA,CACA,mCAAA,CACA,iBAAA,CACA,cAAA,CACA,oDAAA,CACA,6BAAA,CACA,UAAA,CACA,qBAAA,CACA,mBAAA,CAED,sCACC,UAAA,CACA,iBAAA,CACA,mCAAA,CACA,iBAAA,CACA,cAAA,CACA,oDAAA,CACA,6BAAA,CACA,UAAA,CACA,qBAAA,CACA,mBAAA,CAED,oCACC,UAAA,CACA,iBAAA,CACA,mCAAA,CACA,iBAAA,CACA,cAAA,CACA,oDAAA,CACA,6BAAA,CACA,UAAA,CACA,qBAAA,CACA,mBAAA,CAED,6BACC,UAAA,CACA,iBAAA,CACA,mCAAA,CACA,iBAAA,CACA,cAAA,CACA,oDAAA,CACA,6BAAA,CACA,UAAA,CACA,qBAAA,CACA,mBAAA,CACA,eAAA,CACA,eAAA,CACA,+CACC,wBAAA,CADD,0CACC,wBAAA,CAED,mCACC,YAAA,CACA,oBAAA,CACA,uCAAA,CACA,8BAAA,CAID,4CACC,wBAAA,CADD,uCACC,wBAAA,CAED,gCACC,YAAA,CACA,oBAAA,CACA,uCAAA,CACA,8BAAA,CAGF,kCACC,eAAA,CAED,mCACC,wBAAA,CACA,cAAA,CACA,qCACC,yBAAA,CAGF,0CACC,kBAAA,CACA,oBAAA,CACA,UAAA,CACA,gDACC,eAAA,CACA,aAAA,CAIH,wBACC,eAAA,CAED,yBACC,sBACC,cAAA,CAED,gBACC,YAAA,CAED,sBACC,yBAAA,CAAA,CAGF,yBACC,8BACC,YAAA,CAED,sBACC,cAAA,CAED,gBACC,YAAA,CACA,4BACC,qBAAA,CACA,QAAA,CAED,kCACC,YAAA,CACA,sBAAA,CACA,UAAA,CAED,2BACC,cAAA,CACA,gBAAA,CAGF,uBACC,YAAA,CAED,8BACC,YAAA,CAGA,8BACC,yBAAA,CACA,KAAA,CAAA,CAIH,yBACC,gCACC,UAAA,CACA,sBAAA,CAED,sBACC,cAAA,CAED,8BACC,YAAA,CAGA,qCACC,cAAA,CACA,iBAAA,CAED,sCACC,cAAA,CACA,iBAAA,CAED,oCACC,cAAA,CACA,iBAAA,CAGF,sBACC,iBAAA,CACA,cAAA,CAAA,CAIF,qHAGC,UAAA,CAGD,2CACC,SAAA,CAQD,MACC,0BAAA","file":"calendar.css"} \ No newline at end of file diff --git a/wp-content/plugins/yacht-booking-system/frontend/assets/css/calendar.scss b/wp-content/plugins/yacht-booking-system/frontend/assets/css/calendar.scss new file mode 100644 index 0000000..9e6459e --- /dev/null +++ b/wp-content/plugins/yacht-booking-system/frontend/assets/css/calendar.scss @@ -0,0 +1,689 @@ +.yacht-calendar-wrapper { + max-width: 1200px; + margin: 0 auto 40px; + padding: 20px; +} +.yacht-calendar-switcher { + // display: flex; + // flex-wrap: wrap; + // align-items: center; + // gap: 10px 14px; + // margin: 0 0 22px 0; + // padding: 14px 16px; + // border-radius: 10px; + width: 100vw; + margin-left: 50%; + transform: translateX(-50%); + border: none; + padding: 80px 20px; + border-radius: 0; + display: flex; + flex-direction: column; + align-items: center; + margin-bottom: 0; + justify-content: center; + background: #0e2036; + gap: 30px; +} +.yacht-calendar-switcher-label { + // font-size: 14px; + // font-weight: 700; + // color: #021526; + font-family: 'DM Sans', Sans-serif !important; + font-size: 80px; + font-weight: 500; + letter-spacing: -0.04em; + color: var(--e-global-color-7077776); + line-height: 0.8; + + @media (max-width: 768px) { + font-size: 64px; + } + @media (max-width: 480px) { + font-size: 48px; + } +} +.yacht-calendar-switcher-buttons { + display: flex; + flex-wrap: wrap; + gap: 8px; +} +.yacht-calendar-switcher-button { + font-family: 'JetBrains Mono', Sans-serif !important; + font-size: 0.75rem !important; + font-weight: 500 !important; + text-transform: uppercase; + line-height: 1 !important; + letter-spacing: 0.25em !important; + padding: 16px 32px 16px 32px !important; + border-radius: 0 !important; + background: #bc1834 !important; + color: #fff !important; + border: none !important; + cursor: pointer !important; + + &:hover { + background: #a9000c !important; + } + // display: inline-flex; + // align-items: center; + // padding: 9px 14px; + // border: 1px solid #c8d4e3; + // border-radius: 999px; + // background: #fff; + // color: #14324a; + // font-size: 14px; + // font-weight: 600; + // line-height: 1.2; + // cursor: pointer; + // transition: background-color 0.2s ease, color 0.2s ease, + // border-color 0.2s ease, transform 0.2s ease; + // &:hover { + // border-color: #bc1834; + // color: #bc1834; + // outline: none; + // transform: translateY(-1px); + // } + // &:focus { + // border-color: #bc1834; + // color: #bc1834; + // outline: none; + // transform: translateY(-1px); + // } +} +.yacht-calendar-switcher-button.is-active { + background: #bc1834; + border-color: #bc1834; + color: #fff; + box-shadow: 0 8px 18px rgba(188, 24, 52, 0.18); +} +.yacht-calendar-header { + margin-bottom: 30px; +} +.yacht-calendar-title { + font-size: 28px; + font-weight: 700; + color: #021526; + margin: 0 0 15px 0; +} +.yacht-calendar-description { + color: #666; + font-size: 16px; + line-height: 1.6; +} +.yacht-calendar-instructions { + margin: 0 0 30px 0; + padding: 12px 14px; + + color: #fff; + border-left: 1px solid red; + background: #d40924; + border: none; + border-radius: 0; + + p { + margin: 0; + font-family: 'Inter Tight', Sans-serif; + font-size: 1rem; + font-weight: 400; + } +} +.yacht-calendar-legend { + display: flex; + flex-wrap: wrap; + gap: 10px 16px; + align-items: center; + margin: 0 0 18px 0; +} +.yacht-legend-item { + display: inline-flex; + align-items: center; + gap: 8px; + + color: #fff; + font-family: 'Roboto', Sans-serif; + font-size: 15px; + font-weight: 300; +} +.yacht-legend-swatch { + width: 16px; + height: 16px; + border-radius: 4px; + border: 1px solid rgba(0, 0, 0, 0.2); +} +.yacht-legend-swatch-past { + background: #d0d5dd; +} +.yacht-calendar { + margin-bottom: 30px; + background: rgba(255, 255, 255, 0.1) f; + border-radius: 8px; + box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08); + padding: 20px; + .fc { + font-family: inherit; + } + .fc-button-primary { + background: #bc1834; + border-color: #bc1834; + text-transform: uppercase; + font-weight: 600; + font-size: 13px; + padding: 8px 16px; + &:hover { + background: #021526; + border-color: #021526; + } + &:not(:disabled) { + &:active { + background: #021526; + border-color: #021526; + } + } + &:not(:disabled).fc-button-active { + background: #021526; + border-color: #021526; + } + } + .fc-daygrid-day.fc-day-past { + background: #f5f5f5; + opacity: 1; + + .fc-daygrid-day-number { + color: #fff; + } + } + .fc-daygrid-day { + &:hover { + background: #f8f9fa; + } + } + .fc-highlight { + background: rgba(188, 24, 52, 0.1) !important; + } + .fc-daygrid-day-top { + display: flex; + justify-content: center; + align-items: center; + padding: 5px; + } + .fc-daygrid-day-number { + padding: 4px 6px; + min-width: 28px; + text-align: center; + display: inline-block; + font-size: 14px; + line-height: 1.2; + } + .fc-daygrid-day-frame { + min-height: 80px; + display: flex; + flex-direction: column; + position: relative; + } + .fc-bg-event { + opacity: 0.78 !important; + } + .fc-bg-event.yacht-day-available { + opacity: 0.66 !important; + } + .fc-bg-event.yacht-day-booked { + opacity: 0.92 !important; + } + .fc-bg-event.yacht-day-blocked { + opacity: 0.92 !important; + } +} +.yacht-day-available { + cursor: pointer; +} +.yacht-day-booked { + cursor: not-allowed; +} +.yacht-day-blocked { + cursor: not-allowed; +} +.yacht-booking-form-container { + background: #f9f9f9; + padding: 30px; + border-radius: 8px; + margin-top: 30px; + border: 1px solid #e0e0e0; + h4 { + margin: 0 0 25px 0; + font-size: 22px; + font-weight: 700; + color: #021526; + } +} +.yacht-booking-form { + .form-row { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 20px; + margin-bottom: 20px; + } + .form-field { + margin-bottom: 20px; + } + label { + display: block; + font-weight: 600; + margin-bottom: 8px; + color: #333; + font-size: 14px; + .required { + color: #bc1834; + margin-left: 2px; + } + } + input[type='text'] { + width: 100%; + padding: 12px 15px; + border: 1px solid #ddd; + border-radius: 4px; + font-size: 16px; + transition: border-color 0.3s ease, box-shadow 0.3s ease; + background: #fff; + box-sizing: border-box; + } + input[type='email'] { + width: 100%; + padding: 12px 15px; + border: 1px solid #ddd; + border-radius: 4px; + font-size: 16px; + transition: border-color 0.3s ease, box-shadow 0.3s ease; + background: #fff; + box-sizing: border-box; + } + input[type='tel'] { + width: 100%; + padding: 12px 15px; + border: 1px solid #ddd; + border-radius: 4px; + font-size: 16px; + transition: border-color 0.3s ease, box-shadow 0.3s ease; + background: #fff; + box-sizing: border-box; + } + input[type='date'] { + width: 100%; + padding: 12px 15px; + border: 1px solid #ddd; + border-radius: 4px; + font-size: 16px; + transition: border-color 0.3s ease, box-shadow 0.3s ease; + background: #fff; + box-sizing: border-box; + } + input { + &:focus { + outline: none; + border-color: #bc1834; + box-shadow: 0 0 0 3px rgba(188, 24, 52, 0.1); + } + &:read-only { + background: #f5f5f5; + cursor: not-allowed; + } + } + .form-actions { + margin-top: 25px; + } +} +.booking-terms { + margin-top: 18px; + font-size: 14px; + line-height: 1.5; + color: #333; + a { + color: #bc1834; + text-decoration: underline; + } +} +.yacht-booking-submit { + font-family: 'JetBrains Mono', Sans-serif !important; + font-size: 0.75rem !important; + font-weight: 500 !important; + text-transform: uppercase; + line-height: 1 !important; + letter-spacing: 0.25em !important; + padding: 16px 32px 16px 32px !important; + border-radius: 0 !important; + background: #bc1834 !important; + color: #fff !important; + border: none !important; + cursor: pointer !important; + transition: all 0.3s ease; + width: 100%; + + &:hover { + background: #a9000c !important; + } + &:disabled { + background: #ccc; + cursor: not-allowed; + transform: none; + box-shadow: none; + } +} +.yacht-booking-response { + margin-top: 20px; +} +.booking-success { + padding: 15px; + border-radius: 4px; + font-size: 15px; + line-height: 1.5; + strong { + display: block; + margin-bottom: 5px; + } +} +.booking-error { + padding: 15px; + border-radius: 4px; + font-size: 15px; + line-height: 1.5; + strong { + display: block; + margin-bottom: 5px; + } +} +.yacht-calendar-error { + padding: 20px; + border-radius: 4px; + margin-bottom: 20px; + p { + margin: 0; + line-height: 1.5; + } +} +.yacht-calendar-notice { + padding: 20px; + border-radius: 4px; + margin-bottom: 20px; + p { + margin: 0; + line-height: 1.5; + } +} +.yacht-calendar-view-only { + max-width: 1200px; + padding: 15px 15px 0 15px; + margin-bottom: 0; + .yacht-calendar-header { + margin-bottom: 15px; + } + .yacht-calendar-title { + font-size: 22px; + margin-bottom: 10px; + } + .yacht-calendar-instructions { + margin-bottom: 30px; + padding: 8px 12px; + font-size: 13px; + } + .yacht-calendar-legend { + margin-bottom: 10px; + font-size: 13px; + } + .yacht-calendar { + padding: 10px; + margin-bottom: 0; + height: auto !important; + overflow: visible; + } + .fc-daygrid-day-frame { + min-height: 36px; + } + .fc-daygrid-day-top { + padding: 2px; + } + .fc-daygrid-day-number { + padding: 2px 4px; + min-width: 22px; + font-size: 12px; + } + .fc-col-header-cell { + font-size: 12px; + padding: 4px 0; + } + .fc-button { + font-size: 11px !important; + padding: 5px 10px !important; + } + .fc-toolbar-title { + font-size: 16px !important; + } +} +.yacht-inquiry-layout { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 24px; + align-items: start; + margin-bottom: 30px; +} +.yacht-inquiry-form-container { + background: #021526; + padding: 24px; + border-radius: 8px; + border: none; + h4 { + margin: 0 0 8px 0; + font-size: 20px; + font-weight: 700; + color: #fff; + } +} +.yacht-inquiry-desc { + margin: 0 0 18px 0; + color: rgba(255, 255, 255, 0.7); + font-size: 14px; + line-height: 1.5; +} +.yacht-inquiry-form { + .form-field { + margin-bottom: 14px; + } + label { + display: block; + font-weight: 600; + margin-bottom: 5px; + color: rgba(255, 255, 255, 0.9); + font-size: 13px; + .required { + color: #ff6b6b; + margin-left: 2px; + } + } + input[type='text'] { + width: 100%; + padding: 10px 12px; + border: 1px solid rgba(255, 255, 255, 0.2); + border-radius: 4px; + font-size: 14px; + transition: border-color 0.3s ease, box-shadow 0.3s ease; + background: rgba(255, 255, 255, 0.1); + color: #fff; + box-sizing: border-box; + font-family: inherit; + } + input[type='email'] { + width: 100%; + padding: 10px 12px; + border: 1px solid rgba(255, 255, 255, 0.2); + border-radius: 4px; + font-size: 14px; + transition: border-color 0.3s ease, box-shadow 0.3s ease; + background: rgba(255, 255, 255, 0.1); + color: #fff; + box-sizing: border-box; + font-family: inherit; + } + input[type='tel'] { + width: 100%; + padding: 10px 12px; + border: 1px solid rgba(255, 255, 255, 0.2); + border-radius: 4px; + font-size: 14px; + transition: border-color 0.3s ease, box-shadow 0.3s ease; + background: rgba(255, 255, 255, 0.1); + color: #fff; + box-sizing: border-box; + font-family: inherit; + } + textarea { + width: 100%; + padding: 10px 12px; + border: 1px solid rgba(255, 255, 255, 0.2); + border-radius: 4px; + font-size: 14px; + transition: border-color 0.3s ease, box-shadow 0.3s ease; + background: rgba(255, 255, 255, 0.1); + color: #fff; + box-sizing: border-box; + font-family: inherit; + resize: vertical; + min-height: 60px; + &::placeholder { + color: rgba(255, 255, 255, 0.4); + } + &:focus { + outline: none; + border-color: #bc1834; + box-shadow: 0 0 0 3px rgba(188, 24, 52, 0.3); + background: rgba(255, 255, 255, 0.15); + } + } + input { + &::placeholder { + color: rgba(255, 255, 255, 0.4); + } + &:focus { + outline: none; + border-color: #bc1834; + box-shadow: 0 0 0 3px rgba(188, 24, 52, 0.3); + background: rgba(255, 255, 255, 0.15); + } + } + .form-actions { + margin-top: 18px; + } + .booking-terms { + color: rgba(255, 255, 255, 0.6); + font-size: 13px; + a { + color: rgba(255, 255, 255, 0.85); + } + } + .yacht-booking-submit { + background: #bc1834; + border-color: #bc1834; + color: #fff; + &:hover { + background: #fff; + color: #021526; + } + } +} +.yacht-inquiry-response { + margin-top: 15px; +} +@media (max-width: 992px) { + .yacht-calendar-title { + font-size: 24px; + } + .yacht-calendar { + padding: 15px; + } + .yacht-inquiry-layout { + grid-template-columns: 1fr; + } +} +@media (max-width: 768px) { + .yacht-inquiry-form-container { + padding: 18px; + } + .yacht-calendar-title { + font-size: 22px; + } + .yacht-calendar { + padding: 10px; + .fc-toolbar { + flex-direction: column; + gap: 10px; + } + .fc-toolbar-chunk { + display: flex; + justify-content: center; + width: 100%; + } + .fc-button { + font-size: 12px; + padding: 6px 12px; + } + } + .yacht-calendar-legend { + gap: 8px 12px; + } + .yacht-booking-form-container { + padding: 20px; + } + .yacht-booking-form { + .form-row { + grid-template-columns: 1fr; + gap: 0; + } + } +} +@media (max-width: 480px) { + .yacht-calendar-switcher-button { + width: 100%; + justify-content: center; + } + .yacht-calendar-title { + font-size: 20px; + } + .yacht-booking-form-container { + padding: 15px; + } + .yacht-booking-form { + input[type='text'] { + font-size: 14px; + padding: 10px 12px; + } + input[type='email'] { + font-size: 14px; + padding: 10px 12px; + } + input[type='tel'] { + font-size: 14px; + padding: 10px 12px; + } + } + .yacht-booking-submit { + padding: 12px 20px; + font-size: 14px; + } +} + +body a:not([href]):not([tabindex]), +body a:not([href]):not([tabindex]):focus, +body a:not([href]):not([tabindex]):hover { + color: #fff; +} + +body .fc .fc-day-other .fc-daygrid-day-top { + opacity: 1; +} + +// .fc-theme-standard td, +// .fc-theme-standard th { +// border: 1px solid hsla(0, 0%, 100%, 0.2); +// } + +table { + margin-bottom: 0 !important; +} diff --git a/wp-content/plugins/yacht-booking-system/frontend/class-calendar-widget.php b/wp-content/plugins/yacht-booking-system/frontend/class-calendar-widget.php index f31c2e7..4c55cf8 100644 --- a/wp-content/plugins/yacht-booking-system/frontend/class-calendar-widget.php +++ b/wp-content/plugins/yacht-booking-system/frontend/class-calendar-widget.php @@ -284,8 +284,6 @@ class Calendar_Widget extends Widget_Base { data-yachts="" data-booking-enabled=""> - render_yacht_switcher( $yacht_switcher, $yacht_id ); ?> -

@@ -507,6 +505,9 @@ class Calendar_Widget extends Widget_Base {

+ + render_yacht_switcher( $yacht_switcher, $yacht_id ); ?> +