.custom-bullet-list { max-width: 600px; margin: 0 auto; padding: 20px 10px; }
.custom-bullet-list ul { list-style: none; padding: 0; margin: 0; }
.custom-bullet-list li { position: relative; padding-left: 25px; margin-bottom: 8px; font-size: 19px; line-height: 1.4; color: #fff; text-align: left; }
.custom-bullet-list li::before { content: "•"; position: absolute; left: 0; top: 0; color: #fff; font-weight: 700; font-size: 20px; line-height: 1.4; }
.review-container { display: flex; justify-content: flex-start; align-items: center; font-family: Arial, sans-serif; color: #fff; cursor: pointer; transition: opacity 0.3s ease; }
.review-container:hover { opacity: 0.9; }
.rating-number { font-size: 18px; margin-right: 8px; }
.stars-container { display: flex; margin-right: 8px; position: relative; top: -3px; }
.star { color: #ffd700; font-size: 20px; line-height: 1; }
.review-count { font-size: 16px; color: #e0e0e0; position: relative; top: -2px; }
:root { --wp-video-border-radius: 12px; --wp-video-shadow: 0 8px 32px rgba(0, 0, 0, 0.12); --wp-video-transition: cubic-bezier(0.4, 0, 0.2, 1); }
.wp-video-player { position: relative; width: 100%; max-width: 605px; margin: 0 auto 2rem; border-radius: var(--wp-video-border-radius); overflow: hidden; box-shadow: var(--wp-video-shadow); cursor: pointer; background: #000; isolation: isolate; transition: transform 0.3s var(--wp-video-transition); will-change: transform; contain: layout style paint; }
.wp-video-player:focus-visible { outline: 3px solid #0073aa; outline-offset: 2px; }
.wp-video-thumbnail { width: 100%; height: auto; display: block; transition: transform 0.3s ease; will-change: transform; aspect-ratio: 605 / 340; object-fit: cover; }
.wp-video-overlay { position: absolute; inset: 0; background: radial-gradient(circle at center, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.4) 100%); pointer-events: none; }
.wp-play-button { position: absolute; top: 50%; left: 50%; width: min(100px, 15vw); height: min(100px, 15vw); background: linear-gradient(135deg, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.92) 100%); border: 2px solid rgba(255,255,255,0.4); border-radius: 50%; transform: translate(-50%, -50%); transition: all 0.3s var(--wp-video-transition); backdrop-filter: blur(15px); box-shadow: var(--wp-video-shadow); z-index: 2; display: flex; align-items: center; justify-content: center; animation: wp-pulse 3s infinite; }
.wp-play-icon { width: min(48px, 8vw); height: min(48px, 8vw); margin-left: 0.125em; fill: #1a1a1a; transition: all 0.3s ease; filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1)); pointer-events: none; }
.wp-loading-state { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(0,0,0,0.85); color: #fff; padding: 1rem 1.5rem; border-radius: 8px; backdrop-filter: blur(10px); font-size: 0.9rem; font-weight: 600; text-shadow: 0 2px 8px rgba(0,0,0,0.5); z-index: 10; display: flex; align-items: center; gap: 0.75rem; opacity: 0; visibility: hidden; transition: opacity 0.2s ease, visibility 0.2s ease; }
.wp-loading-state.active { opacity: 1; visibility: visible; }
.wp-spinner { width: 1.25rem; height: 1.25rem; border: 2px solid rgba(255,255,255,0.3); border-radius: 50%; border-top-color: #fff; animation: wp-spin 1s linear infinite; }
.wp-video-wrapper { position: relative; width: 100%; height: 0; padding-bottom: 56.25%; border-radius: var(--wp-video-border-radius); overflow: hidden; box-shadow: var(--wp-video-shadow); }
.wp-video-wrapper iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: none; border-radius: var(--wp-video-border-radius); }
.pt-claim-container { max-width: 750px; margin: 40px auto; padding: 35px 35px 40px; box-sizing: border-box; text-align: center; background: #fff; border: 3px solid #000; border-radius: 12px; box-shadow: 0 6px 20px rgba(0,0,0,0.12); }
.pt-heading { margin: 0 0 10px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-size: 30px; font-weight: 700; color: #000; line-height: 1.2; }
.pt-benefits { max-width: 650px; margin: 0 auto 20px; text-align: center; }
.pt-benefits ul { list-style: none; padding: 0; margin: 0; display: inline-block; text-align: left; }
.pt-benefits li { display: flex; align-items: flex-start; margin-bottom: 10px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
.pt-benefits li:last-child { margin-bottom: 0; }
.pt-check { color: #000; font-size: 20px; font-weight: 700; margin-right: 10px; flex-shrink: 0; line-height: 1.5; }
.pt-benefits li span:last-child { font-size: 19px; line-height: 1.5; color: #000; }
.pt-divider { width: 100%; max-width: 500px; height: 1px; background: #d0d0d0; margin: -10px auto 10px; }
.pt-form-wrapper { margin: -30px 0 0; padding: 0; transition: opacity 0.2s ease; }
.pt-form-wrapper > * { margin-top: 0 !important; padding-top: 0 !important; }
.pt-form-wrapper .frm-fluent-form, .pt-form-wrapper .ff-el-form-top, .pt-form-wrapper .conversational-form, .pt-form-wrapper .ff-conversational-form { margin-top: 0 !important; padding-top: 0 !important; }
.pt-form-wrapper.fi-step-hidden { display: none; }
.pt-booking-container { max-width: 750px; margin: 20px auto; display: none; position: relative; }
.pt-booking-container.fi-booking-visible { display: block; }
.pt-booking-container.fi-booking-pending { min-height: 320px; pointer-events: none; }
.pt-booking-container.fi-booking-pending::before { content: 'Loading available times...'; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,0.88); color: #111; font-size: 18px; font-weight: 600; z-index: 5; border-radius: 12px; }
@keyframes wp-pulse { 0% { box-shadow: var(--wp-video-shadow), 0 0 0 0 rgba(255,255,255,0.5); } 50% { transform: translate(-50%, -50%) scale(1.05); box-shadow: 0 16px 48px rgba(0,0,0,0.2), 0 0 0 20px rgba(255,255,255,0); } 100% { box-shadow: var(--wp-video-shadow), 0 0 0 0 rgba(255,255,255,0); } }
@keyframes wp-spin { to { transform: rotate(360deg); } }
@media (hover: hover) and (pointer: fine) { .wp-video-player:hover { transform: translateY(-2px); box-shadow: 0 12px 40px rgba(0,0,0,0.16); } .wp-video-player:hover .wp-video-thumbnail { transform: scale(1.02); } .wp-video-player:hover .wp-play-button { transform: translate(-50%, -50%) scale(1.1); background: linear-gradient(135deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0.98) 100%); box-shadow: 0 16px 48px rgba(0,0,0,0.25); border-color: rgba(255,255,255,0.6); animation-play-state: paused; } .wp-video-player:hover .wp-play-icon { fill: #000; transform: scale(1.05); } }
@media (max-width: 768px) { .custom-bullet-list { padding: 15px 1px; max-width: none; width: 100%; margin: 0; } .custom-bullet-list li { text-align: left; padding-left: 18px; margin-bottom: 12px; font-size: 17px; line-height: 1.5; } .custom-bullet-list li::before { font-size: 17px; line-height: 1.5; } .star { font-size: 16px; } .rating-number, .review-count { font-size: 13px; top: -1px; } .stars-container { top: -3px; } .wp-video-player { margin: 1rem auto 1.5rem; } .wp-play-button { width: 70px; height: 70px; } .wp-play-icon { width: 32px; height: 32px; } .wp-loading-state { font-size: 0.8rem; padding: 0.75rem 1.25rem; } .pt-claim-container { padding: 30px 22px 35px; margin: 20px 15px; border-width: 2px; } .pt-heading { font-size: 34px; margin-bottom: 8px; } .pt-benefits { margin-bottom: 16px; } .pt-benefits li span:last-child { font-size: 17px; } .pt-check { font-size: 18px; margin-right: 8px; } .pt-benefits li { margin-bottom: 9px; } .pt-divider { margin: -8px auto 10px; } .pt-form-wrapper { margin-top: -40px; } .pt-booking-container.fi-booking-pending { min-height: 260px; } .pt-booking-container.fi-booking-pending::before { font-size: 16px; } }
@media (max-width: 480px) { .pt-claim-container { padding: 25px 15px 30px; margin: 10px 8px; border-width: 2px; } .pt-heading { font-size: 30px; } .pt-benefits li span:last-child { font-size: 16px; } .pt-check { font-size: 17px; } .pt-form-wrapper { margin-top: -45px; } }
@media (prefers-reduced-motion: reduce) { .wp-video-player, .wp-video-thumbnail, .wp-play-button, .wp-play-icon, .wp-loading-state, .pt-form-wrapper { transition: none !important; animation: none !important; } }
@media (prefers-contrast: high) { .wp-play-button { background: #fff; border: 3px solid #000; } .wp-play-icon { fill: #000; } }
@media (prefers-color-scheme: dark) { .wp-video-player { box-shadow: 0 8px 32px rgba(255,255,255,0.05); } }