/* Holiday Popup Styles - Adapted for Elementor Popups */
* { box-sizing: border-box; }
.popup-content-overlay { position: relative; z-index: 1; padding: 40px 30px; background: rgb(255 255 255 / 32%); }
.popup-header { text-align: center; margin-bottom: 35px; padding-bottom: 20px; border-bottom: 2px solid rgba(240, 240, 240, 0.5); }
.popup-title { font-size: 1.8rem; font-weight: 700; margin: 0 0 10px 0; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; line-height: 1.2; }
.popup-subtitle { font-size: 1.1rem; color: #666; margin: 0; font-weight: 500; }
.offers-container { margin-bottom: 30px; }
.section-title { font-size: 1.8rem; font-weight: 600; margin: 0 0 25px 0; color: #333; text-align: center; }
.packages-section { margin-bottom: 40px; }
.packages-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-bottom: 20px; }
.package-card { background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 249, 250, 0.95) 100%); border: 2px solid #e9ecef; border-radius: 15px; padding: 25px 20px; text-align: center; transition: all 0.3s ease; position: relative; overflow: hidden; }
.package-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #667eea 0%, #764ba2 100%); transform: scaleX(0); transition: transform 0.3s ease; }
.package-card:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(102, 126, 234, 0.2); border-color: #667eea; }
.package-card:hover::before { transform: scaleX(1); }
.package-card.featured { border-color: #667eea; background: linear-gradient(135deg, rgba(248, 249, 255, 0.95) 0%, rgba(255, 255, 255, 0.95) 100%); box-shadow: 0 5px 20px rgba(102, 126, 234, 0.15); }
.package-card.featured::before { transform: scaleX(1); background: linear-gradient(90deg, #667eea 0%, #764ba2 50%, #f093fb 100%); }
.package-badge { font-size: 1.3rem; font-weight: 700; color: #667eea; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 1px; }
.package-pricing { margin-bottom: 15px; }
.old-price { display: block; font-size: 1rem; color: #999; text-decoration: line-through; margin-bottom: 5px; }
.new-price { display: block; font-size: 2rem; font-weight: 700; color: #333; line-height: 1.2; }
.package-code { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 15px 0; flex-wrap: wrap; }
.code-label { font-size: 0.9rem; color: #666; font-weight: 500; }
.code-value { font-size: 1.1rem; font-weight: 700; color: #667eea; font-family: 'Courier New', monospace; background: rgba(240, 244, 255, 0.8); padding: 5px 12px; border-radius: 6px; letter-spacing: 1px; }
.copy-btn { background: #667eea; color: white; border: none; padding: 6px 14px; border-radius: 6px; font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: all 0.2s ease; text-transform: uppercase; letter-spacing: 0.5px; }
.copy-btn:hover { background: #5568d3; transform: scale(1.05); }
.copy-btn:active { transform: scale(0.95); }
.copy-btn.copied { background: #28a745; }
.package-savings { margin-top: 10px; font-size: 0.9rem; color: #28a745; font-weight: 600; }
.giftcard-section { margin-top: 30px; }
.giftcard-card { background: linear-gradient(135deg, rgba(255, 245, 245, 0.95) 0%, rgba(255, 232, 232, 0.95) 100%); border: 2px solid #ffd6d6; border-radius: 15px; padding: 30px; text-align: center; position: relative; overflow: hidden; }
.giftcard-card::before { content: ''; position: absolute; top: -50%; right: -50%; width: 200%; height: 200%; background: radial-gradient(circle, rgba(255, 193, 7, 0.1) 0%, transparent 70%); animation: pulse 3s ease-in-out infinite; }
@keyframes pulse { 0%, 100% { transform: scale(1); opacity: 0.5; } 50% { transform: scale(1.1); opacity: 0.8; } }
.giftcard-icon { font-size: 3rem; margin-bottom: 15px; position: relative; z-index: 1; animation: bounce 2s ease-in-out infinite; }
@keyframes bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.giftcard-card .section-title { position: relative; z-index: 1; color: #d63384; }
.giftcard-description { font-size: 1.3rem; margin: 15px 0; position: relative; z-index: 1; color: #333; }
.giftcard-description strong { color: #d63384; font-size: 1.5rem; }
.giftcard-code { margin: 20px 0; position: relative; z-index: 1; }
.giftcard-note { font-size: 1rem; color: #666; font-style: italic; margin-top: 10px; position: relative; z-index: 1; }
.popup-footer { text-align: center; padding-top: 20px; border-top: 2px solid rgba(240, 240, 240, 0.5); }
.cta-button { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; padding: 15px 40px; font-size: 1.1rem; font-weight: 600; border-radius: 50px; cursor: pointer; transition: all 0.3s ease; text-transform: uppercase; letter-spacing: 1px; box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4); margin-bottom: 15px; text-decoration: none; display: inline-block; }
.cta-button:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(102, 126, 234, 0.5); color: white; }
.cta-button:active { transform: translateY(0); }
.popup-disclaimer { font-size: 0.85rem; color: #999; margin: 0; font-style: italic; }
@media (max-width: 768px) { .popup-content-overlay { padding: 30px 20px; } .popup-title { font-size: 1.5rem; } .packages-grid { grid-template-columns: repeat(2, 1fr); gap: 15px; } .package-card { padding: 20px 15px; } .new-price { font-size: 1.6rem; } .giftcard-card { padding: 25px 20px; } .giftcard-description { font-size: 1.1rem; } }
@media (max-width: 480px) { .packages-grid { grid-template-columns: 1fr; } .popup-title { font-size: 1.3rem; } .section-title { font-size: 1.4rem; } }
.copy-btn:focus, .cta-button:focus { outline: 3px solid #667eea; outline-offset: 2px; }
