:root{--primary: #75aadb;--primary-rgb: 117, 170, 219;--primary-dark: #5a8bc4;--primary-darker: #4a73a1;--primary-light: #8fc3e8;--primary-lighter: #e3f2fd;--primary-cream: #f8fcff;--primary-bg: #eff6ff;--primary-border: #93c5fd;--primary-medium: #75aadb;--primary-selected: #e3f2fd;--gradient-primary: linear-gradient( 135deg, var(--primary), var(--primary-dark) );--gradient-background: linear-gradient( 135deg, var(--primary-light), var(--primary-medium) );--gradient-selected: linear-gradient( 135deg, var(--primary-lighter), var(--primary-selected) );--gradient-hover: linear-gradient( 135deg, var(--primary-dark), var(--primary-darker) );--shadow-primary: rgba(117, 170, 219, .3);--shadow-primary-light: rgba(117, 170, 219, .2);--shadow-primary-strong: rgba(117, 170, 219, .4);--bg-primary-transparent: rgba(117, 170, 219, .2);--focus-primary: rgba(117, 170, 219, .1);--text-primary: #1c1917;--text-secondary: #78716c;--text-muted: #57534e;--border-light: #e7e5e4;--bg-light: #fafaf9;--white-95: rgba(255, 255, 255, .95);--white-20: rgba(255, 255, 255, .2);--white-30: rgba(255, 255, 255, .3);--white-40: rgba(255, 255, 255, .4);--shadow-dark: rgba(0, 0, 0, .1);--shadow-dark-20: rgba(0, 0, 0, .2);--price-green: #10b981;--warning-bg: #fff7ed;--warning-primary: #ea580c;--warning-border: #fb923c;--warning-border-light: #fdba74;--warning-icon: #ea580c;--warning-text: #9a3412;--error-primary: #ef4444;--error-dark: #dc2626;--error-focus: rgba(239, 68, 68, .1);--success-primary: #10b981;--success-dark: #059669;--success-bg: #f0fdf4;--success-border: #86efac;--error-bg: #fef2f2;--error-border: #fca5a5}*{margin:0;padding:0;box-sizing:border-box;word-break:keep-all}html{min-width:375px}input,select,textarea,button{-webkit-appearance:none;-moz-appearance:none;appearance:none}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text-primary);background:var(--gradient-background);min-height:100vh;min-width:375px;margin:0}body.modal-open{overflow:hidden;position:fixed;width:100%;left:0}.container{margin-top:1rem}#root>div{width:100%;max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,100px)}.responsive-container{width:100%;max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,100px)}.slide-in-animation{position:relative;animation:slideInFadeUp .8s ease-out}.slide-in-animation:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:40px;height:3px;background:var(--primary);border-radius:2px;opacity:.3;animation:indicatorPulse 2s ease-in-out infinite}@keyframes slideInFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes indicatorPulse{0%,to{opacity:.3;transform:translate(-50%) scaleX(1)}50%{opacity:.5;transform:translate(-50%) scaleX(1.2)}}input[type=text],input[type=email],input[type=password]{width:100%;padding:15px;border:2px solid var(--border-light);border-radius:10px;font-size:1rem;background-color:#fff;color:var(--text-primary);transition:border-color .3s ease,box-shadow .3s ease}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-primary)}input[type=checkbox]{width:20px;height:20px;background-color:#fff;border:2px solid var(--border-light);border-radius:4px;cursor:pointer;position:relative;transition:all .2s ease}input[type=checkbox]:checked{background-color:var(--primary);border-color:var(--primary)}input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700}input[type=checkbox]:hover{border-color:var(--primary)}.btn{display:inline-flex;align-items:center;gap:8px;padding:16px 24px;border-radius:10px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s ease;cursor:pointer;border:none;white-space:nowrap;font-family:inherit;box-shadow:0 2px 8px var(--shadow-dark)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 12px var(--shadow-primary-light)}.btn-primary:hover:not(:disabled){background:var(--gradient-hover);transform:translateY(-2px);box-shadow:0 8px 20px var(--shadow-primary)}.btn-primary:active{transform:translateY(-1px);box-shadow:0 6px 16px var(--shadow-primary)}.btn-secondary{background:#fff;color:var(--text-secondary);border:2px solid var(--border-light);box-shadow:0 1px 3px #0000001a}.btn-secondary:hover:not(:disabled){background:var(--primary-lighter);color:var(--text-primary);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-secondary:active{transform:translateY(-1px);background:var(--primary-selected)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.btn{padding:14px 20px;font-size:.95rem}}@media (max-width: 480px){.btn{padding:12px 18px;font-size:.9rem;gap:6px}}.whatsapp-link{color:#25d366;text-decoration:underline;font-weight:500;transition:all .3s ease;display:inline-flex;align-items:center;gap:4px}.whatsapp-link:hover{color:#128c7e;text-decoration:underline;transform:translateY(-1px)}.fa-info-circle{margin-right:.31rem}.header{text-align:center;padding:40px 0;background:var(--white-95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 20px 40px var(--shadow-dark)}.superset{font-size:.85rem;font-weight:300;color:var(--text-secondary);text-transform:uppercase;letter-spacing:2px;margin-bottom:8px;opacity:.8}.header-content h1 i{color:var(--primary);margin-right:15px}.subtitle{font-size:1.2rem;color:var(--text-secondary);font-weight:400}@media (max-width: 768px){.superset{font-size:.75rem;letter-spacing:1.5px}.header-content h1{font-size:2rem}}@media (max-width: 480px){.superset{font-size:.7rem;letter-spacing:1px;margin-bottom:6px}.header-content h1{font-size:1.8rem}.subtitle{font-size:1rem}}.welcome-step-header{text-align:center}.welcome-title{font-size:3.2rem;font-weight:700;color:var(--text-primary);line-height:1.2}.welcome-subtitle{font-size:1.3rem;color:var(--text-secondary);line-height:1.6}.destinations-stack{display:flex;flex-direction:column;gap:20px;border-bottom:1px solid var(--border-light);margin-top:20px}.destination-card{overflow:hidden}.destination-image{position:relative;height:250px;overflow:hidden}.destination-image img{width:100%;height:100%;object-fit:cover;display:block}.destination-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);padding:30px 20px 20px;color:#fff}.destination-overlay h3{font-size:1.4rem;font-weight:600;margin-bottom:5px;text-shadow:0 2px 8px var(--shadow-dark-20)}.destination-overlay p{font-size:.95rem;opacity:.9;margin:0;text-shadow:0 1px 4px var(--shadow-dark)}.content-section{text-align:center;margin-top:50px;border-bottom:1px solid var(--border-light)}.content-section:last-child{border-bottom:none;margin-bottom:0}.section-icon{width:70px;height:70px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 25px;font-size:1.8rem;color:#fff;background:var(--primary)}.content-section h3{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:10px}.content-section p{font-size:1rem;color:var(--text-secondary);margin-bottom:25px;line-height:1.6}.action-button{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:12px;text-decoration:none;font-weight:600;font-size:.95rem;transition:all .3s ease;border:none;cursor:pointer}.action-button.primary{background:var(--primary);color:#fff;box-shadow:0 4px 15px var(--shadow-primary)}.action-button.primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 20px var(--shadow-primary)}.contacts-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:20px}.contact-card{background:var(--bg-light);border:2px solid var(--border-light);border-radius:12px;padding:30px;margin-left:auto;margin-right:auto;transition:all .3s ease;display:flex;align-items:center}.contact-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.contact-card:hover{border-color:var(--primary);background:var(--primary-lighter);transform:translateY(-2px);box-shadow:0 5px 15px var(--shadow-primary-light)}.contact-card:hover:before{transform:scaleX(1)}.contact-info{display:flex;flex-direction:column;gap:8px;flex:1}.contact-name{font-weight:700;color:var(--text-primary);font-size:1.1rem;margin:0;display:flex;align-items:center;gap:10px}.contact-name:before{content:"👋";font-size:1.2rem;opacity:.8}.contact-phone{color:var(--text-secondary);font-size:.95rem;font-family:SF Mono,Monaco,Consolas,monospace;background:rgba(var(--primary-rgb),.08);padding:6px 12px;border-radius:8px;display:inline-flex;align-items:center;gap:8px;font-weight:500;letter-spacing:.5px;max-width:fit-content;border:none;cursor:pointer;transition:all .3s ease}.contact-phone:hover{background:rgba(var(--primary-rgb),.15);transform:translateY(-1px);box-shadow:0 2px 8px rgba(var(--primary-rgb),.2)}.contact-phone:active{transform:translateY(0);background:rgba(var(--primary-rgb),.2)}.contact-phone i{opacity:.7;font-size:.85rem;transition:opacity .3s ease}.contact-phone:hover i{opacity:1}.whatsapp-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#25d366,#20c05a);color:#fff;border-radius:50%;flex-shrink:0;box-shadow:0 4px 12px #25d3664d;transition:all .3s ease;text-decoration:none}.whatsapp-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px #25d36666}.whatsapp-btn:active{transform:scale(.95)}.whatsapp-btn i{font-size:1.3rem;transition:transform .3s ease}.whatsapp-btn:hover i{transform:rotate(5deg)}@media (max-width: 768px){.welcome-title{font-size:2.4rem}.welcome-subtitle{font-size:1.1rem}.destinations-stack{gap:15px;margin-bottom:40px}.destination-image{height:200px}.content-section{margin-bottom:30px;padding-bottom:30px}.section-icon{width:60px;height:60px;font-size:1.5rem}.contacts-grid{gap:16px}.contact-card{padding:18px}.contact-name{font-size:1rem}.contact-phone{font-size:.9rem}.whatsapp-btn{width:44px;height:44px}.whatsapp-btn i{font-size:1.2rem}}@media (max-width: 480px){.welcome-title{font-size:2rem}.destinations-stack{gap:12px;margin-bottom:30px}.destination-image{height:180px}.content-section{margin-bottom:25px;padding-bottom:25px}.content-section h3{font-size:1.3rem}.content-section p{font-size:.9rem;margin-bottom:20px}.contacts-grid{gap:12px}.contact-card{padding:16px}.contact-name{font-size:.95rem}.contact-phone{font-size:.85rem;padding:4px 8px}.whatsapp-btn{width:40px;height:40px}.whatsapp-btn i{font-size:1.1rem}}@media (max-width: 375px){.contacts-grid{gap:10px}.contact-card{padding:14px}.contact-name{font-size:.9rem}.contact-phone{font-size:.8rem;padding:3px 6px}.whatsapp-btn{width:36px;height:36px}.whatsapp-btn i{font-size:1rem}}.email-login-form{padding:0 20px}.email-login-form .form-group{margin-bottom:25px}.email-login-form .form-group label{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:600;color:var(--text-primary);font-size:1rem}.email-login-form .form-group label i{color:var(--primary);font-size:1rem}.email-login-form input[type=email],.email-login-form input[type=password]{width:100%;padding:15px;border:2px solid var(--border-light);border-radius:10px;font-size:1rem;background-color:#fff;color:var(--text-primary);transition:all .3s ease;box-shadow:0 2px 4px #00000005}.email-login-form input[type=email]:focus,.email-login-form input[type=password]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-primary),0 4px 8px #0000000a;transform:translateY(-1px)}.email-login-form input[type=email]:hover,.email-login-form input[type=password]:hover{border-color:var(--primary-light)}.email-login-form input[type=email]:disabled,.email-login-form input[type=password]:disabled{opacity:.6;cursor:not-allowed;background-color:var(--bg-light)}.password-help{display:block;margin-top:8px;font-size:.9rem;color:var(--text-secondary);background:var(--primary-lighter);padding:8px 12px;border-radius:6px;border-left:3px solid var(--primary-light);font-style:italic}.login-btn{width:100%;background:var(--gradient-primary)!important;color:#fff!important;border:none!important;padding:18px 40px;font-size:1.1rem;font-weight:600;border-radius:12px!important;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 10px 25px var(--shadow-primary);margin-top:10px;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important}.login-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 15px 35px var(--shadow-primary-strong);background:var(--gradient-hover)}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 5px 15px var(--shadow-primary-light)}.login-btn.loading{pointer-events:none}.login-btn i{font-size:1rem}.login-help{margin-top:30px;margin-bottom:30px;padding:20px;background:var(--bg-light);border:2px solid var(--border-light);border-radius:12px;text-align:center;box-shadow:0 2px 8px #0000000a}.login-help p{margin:0;font-size:.95rem;color:var(--text-secondary);line-height:1.5}.login-help a{color:#25d366;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:all .3s ease}.login-help a:hover{color:#128c7e;text-decoration:underline;transform:translateY(-1px)}.login-help a i{font-size:1rem}@media (max-width: 768px){.email-login-form{width:100%}.login-btn{font-size:1rem;padding:15px 30px}.email-login-form .form-group{margin-bottom:20px}.email-login-form input[type=email],.email-login-form input[type=password]{padding:12px}.login-help{margin-left:15px;margin-right:15px}}@media (max-width: 480px){.email-login-form{width:100%}.login-btn{font-size:.95rem;padding:14px 25px}.email-login-form .form-group{margin-bottom:18px}.email-login-form input[type=email],.email-login-form input[type=password]{padding:12px 10px;font-size:.95rem}.password-help{padding:6px 10px;font-size:.85rem}.login-help{margin-left:10px;margin-right:10px;padding:16px}}@media (max-width: 375px){.email-login-form{width:100%}.login-btn{font-size:.9rem;padding:14px 20px}.email-login-form .form-group{margin-bottom:16px}.email-login-form input[type=email],.email-login-form input[type=password]{padding:12px 8px;font-size:.9rem}.password-help{padding:6px 8px;font-size:.8rem}.login-help{margin-left:8px;margin-right:8px;padding:14px}}.rsvp-personal-info{margin-bottom:2rem}.info-card{background:var(--bg-light);border:2px solid var(--border-light);border-radius:12px;padding:1.5rem;position:relative}.terms-section{margin-top:20px}.info-card h3{margin-bottom:1rem;font-size:1.2rem;color:var(--text-color, #333)}.info-row-rsvp{display:flex;align-items:center;margin-bottom:.75rem}.info-row-rsvp .label{min-width:120px;font-weight:500;color:var(--text-color, #333)}.info-row-rsvp .value{flex:1;color:var(--text-muted, #666)}.info-row-rsvp .value.trip-option{background:var(--gradient-primary);color:#fff;padding:.25rem .75rem;border-radius:6px;font-size:.9rem}.services-section{margin-bottom:2rem}.services-section h3{margin:0 0 .5rem;color:var(--text-primary);font-size:1.2rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.services-description{margin-bottom:1.5rem;color:var(--text-secondary);font-size:.95rem}.services-grid{display:grid;gap:1rem}.service-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border-radius:8px;border:2px solid;transition:all .2s ease}.service-item.collapsible{position:relative}.service-item.collapsible .service-details{flex:1}.service-actions{display:flex;align-items:flex-start;margin-left:auto}.expand-toggle{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}.expand-toggle:hover{background:#0000000d;color:var(--text-primary)}.service-item.included .expand-toggle:hover{background:#22c55e1a;color:#16a34a}.service-item.excluded .expand-toggle:hover{background:#0000000d}.expand-toggle i{font-size:.875rem;transition:transform .2s ease}.service-summary{width:100%}.service-summary .service-title{margin-bottom:.5rem}.service-subtitle{color:var(--text-secondary);font-size:.9rem;margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.service-dates-brief{color:var(--text-secondary);font-size:.85rem;font-weight:500}.flight-route-brief{color:var(--text-secondary);font-size:.9rem;margin-top:.25rem}.service-expanded{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1);animation:expandDown .2s ease-out}.service-item.included .service-expanded{border-top-color:#22c55e33}.service-item.excluded .service-expanded{border-top-color:#0000001a}@keyframes expandDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.service-item.included{background:#f0fdf4;border-color:#86efac}.service-item.excluded{background:#fafafa;border-color:#e5e5e5;opacity:.7}.luggage-addon-section h3{margin:0 0 1.5rem;color:var(--text-dark);font-size:1.2rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.luggage-addon-card{display:flex;align-items:center;padding:20px;border:2px solid #e5e5e5;border-radius:12px;background:#fafafa;transition:all .3s ease;gap:16px;margin-bottom:16px}.luggage-addon-card:hover{border-color:var(--primary);background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.luggage-addon-card.selected{border-color:var(--primary);background:rgba(var(--primary-rgb),.05)}.luggage-checkbox{display:flex;align-items:center}.luggage-checkbox input[type=checkbox]{width:22px;height:22px;accent-color:var(--primary)}.luggage-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:12px;color:#fff}.luggage-icon i{font-size:2rem}.luggage-details{flex:1}.luggage-title{font-size:1rem;font-weight:600;color:var(--text-dark);margin-bottom:4px}.luggage-description{color:#666;font-size:.85rem}.luggage-price{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.luggage-price .price-amount{font-size:1.2rem;font-weight:600;color:#28a745;line-height:1}.luggage-price .price-currency{font-size:.8rem;color:#28a745;font-weight:500}.luggage-price .price-amount.on-demand{color:#6c757d;font-size:.9rem;font-weight:500;margin-top:20px}.luggage-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;padding:.75rem;margin-top:.5rem;color:#856404;font-size:.9rem;display:flex;align-items:flex-start;gap:.5rem}.luggage-warning i{color:#ffc107;margin-top:.1rem;flex-shrink:0}.luggage-addon-card.discouraged{border-color:#ffc107;background:#fffbf0}.luggage-addon-card.discouraged:hover{border-color:#ffb302;background:#fff8e1}.luggage-addon-card.discouraged.selected{border-color:#ff9800;background:#fff3e0}.luggage-addon-card.included{background:#f0f9f0;border-color:#28a745;opacity:1}.luggage-addon-card.disabled{cursor:not-allowed!important}.luggage-addon-card.disabled:hover{transform:none;box-shadow:none;background:#f0f9f0;border-color:#28a745}.luggage-icon.personal-item{background:linear-gradient(135deg,#17a2b8,#138496)}.luggage-icon.carry-on{background:linear-gradient(135deg,#28a745,#20c997)}.luggage-price.included .price-amount{color:#28a745;font-size:.8rem;font-weight:600}.luggage-checkbox input[type=checkbox]:disabled{opacity:.7;cursor:not-allowed}.service-details{flex:1;min-width:0}.service-title{font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:1rem}.service-item.excluded .service-title{color:var(--text-secondary)}.service-date{font-size:.85rem;color:var(--text-secondary)}.service-nights{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.night-badge{background:#dcfce7;color:#16a34a;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500}.night-badge.excluded{background:#f3f4f6;color:#9ca3af}.service-status{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.25rem;font-size:.8rem;font-weight:600;text-align:center;margin-top:.25rem}.service-status.included{color:#16a34a}.service-status.excluded{color:#9ca3af}.service-status i{font-size:1rem}.toggle-details{text-align:center;margin:1.5rem 0}.btn-link{background:none;border:none;color:var(--primary);text-decoration:none;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:6px;transition:all .2s ease}.btn-link:hover{background:var(--primary-lighter);transform:translateY(-1px)}.readonly-notice{background:var(--warning-bg);border:2px solid var(--warning-border-light);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.notice-content{display:flex;gap:1rem;align-items:flex-start}.notice-content i{color:var(--warning-icon);font-size:1.2rem;margin-top:.1rem}.notice-content h4{margin:0 0 .5rem;color:var(--text-primary);font-size:1rem;font-weight:600}.notice-content p{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.notice-content a{color:#25d366;text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:.3rem}.notice-content a:hover{text-decoration:underline}@media (max-width: 768px){.info-row-rsvp{flex-direction:column;align-items:flex-start;gap:.25rem}.info-row-rsvp .label{min-width:auto;font-size:.9rem}.editable-input{width:100%;max-width:none;margin-left:0}.service-item{padding:.75rem}.service-item.collapsible{flex-direction:row;align-items:flex-start}.service-actions{margin-left:.5rem}.expand-toggle{padding:.375rem;min-width:28px;min-height:28px}.service-details{text-align:left}.service-subtitle{font-size:.85rem}.service-dates-brief{font-size:.8rem}.flight-route-brief{font-size:.85rem}.flight-line{gap:.5rem}.flight-code{font-size:.85rem;padding:.15rem .3rem}.flight-route{font-size:.9rem}.flight-times{font-size:.8rem}.flight-date{font-size:.75rem}.airport-times{gap:.75rem}.departure .code,.arrival .code{font-size:1rem}.departure .time,.arrival .time{font-size:.85rem}.notice-content{flex-direction:column;gap:.75rem}.luggage-addon-card{padding:16px;gap:12px}.luggage-icon{width:50px;height:50px}.luggage-icon i{font-size:1.6rem}.luggage-title{font-size:.9rem}.luggage-description{font-size:.8rem}.luggage-price .price-amount{font-size:1.1rem}.flight-times{flex-direction:column;gap:.75rem;padding:1rem}.flight-departure,.flight-arrival{width:100%}.flight-duration{flex-direction:row;margin:0;padding:.5rem 1rem;justify-content:center}.flight-duration i{margin-right:.5rem}.airport-name{max-width:none;font-size:.8rem}}@media (max-width: 480px){.service-item{padding:.75rem;gap:.5rem}.service-item.collapsible{gap:.75rem}.service-actions{margin-left:.25rem}.expand-toggle{padding:.25rem;min-width:24px;min-height:24px}.expand-toggle i{font-size:.75rem}.service-subtitle{font-size:.8rem}.service-dates-brief{font-size:.75rem}.flight-route-brief{font-size:.8rem}.flight-line{flex-direction:column;align-items:flex-start;gap:.25rem;margin-bottom:.25rem}.flight-code{font-size:.8rem;padding:.15rem .3rem}.flight-route{font-size:.85rem}.flight-times{font-size:.75rem;margin-left:0}.flight-date{font-size:.7rem}.airport-times{flex-direction:column;gap:.5rem;text-align:left}.departure .code,.arrival .code{font-size:.9rem}.departure .time,.arrival .time{font-size:.8rem}.flight-old-meta{flex-direction:column;align-items:flex-start;gap:.25rem}}.service-details-content{display:flex;flex-direction:column;gap:8px}.pack-price-section{margin-bottom:2rem}.pack-price-card{background:var(--bg-light);border:2px solid #10b981;border-radius:12px;padding:1.5rem}.pack-price-card h3{margin:0 0 1rem;color:#10b981;font-size:1.2rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.pack-price-display{display:flex;flex-direction:column;gap:.5rem;text-align:center}.pack-price-label{color:var(--text-secondary);font-size:1rem;font-weight:500}.pack-price-amount{color:#10b981;font-size:2rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.1)}@media (max-width: 480px){.luggage-addon-card{flex-direction:column;align-items:flex-start;gap:16px}.luggage-addon-card .luggage-checkbox{order:-1;align-self:flex-end}.luggage-addon-card .luggage-price{align-self:flex-end;margin-top:-10px}}@media (min-width: 768px){.pack-price-display{flex-direction:row;justify-content:space-between;align-items:center;text-align:left}.pack-price-amount{font-size:2.5rem}}.simple-flight{width:100%}.flight-line{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem;flex-wrap:wrap}.flight-code{font-weight:700;color:var(--primary);font-size:.9rem;background:#b8956a1a;padding:.2rem .4rem;border-radius:3px}.flight-route{color:var(--text-primary);font-weight:600;font-size:.95rem}.flight-times{color:var(--text-secondary);font-size:.85rem;margin-left:auto}.flight-date{color:var(--text-secondary);font-size:.8rem}.accommodation-single-line{width:100%}.accommodation-info-line{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.25rem;font-size:.9rem}.hotel-name-simple{color:var(--text-primary);font-weight:500;font-size:.95rem}.location-simple{color:var(--text-secondary);font-weight:500;font-size:.85rem}.accommodation-dates{color:var(--text-secondary);font-size:.8rem;display:flex;flex-wrap:wrap;align-items:center}.check-in-date,.check-out-date,.date-separator{white-space:nowrap}.hotel-maps-link{margin-bottom:.5rem}.hotel-maps-link a{color:var(--primary);text-decoration:none;font-size:.8rem;display:inline-flex;align-items:center;gap:.25rem;font-weight:500;transition:all .2s ease}.hotel-maps-link a:hover{color:var(--primary-darker);text-decoration:underline}.hotel-maps-link i{font-size:.75rem}@media (max-width: 768px){.accommodation-info-line{font-size:.85rem;gap:.25rem}.hotel-name-simple{font-size:.9rem}.location-simple{font-size:.8rem}}@media (max-width: 480px){.accommodation-info-line{flex-direction:column;align-items:flex-start;gap:.125rem}}.flight-single-line{width:100%}.flight-route-line{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.9rem}.flight-cities{color:var(--text-primary);font-weight:600;font-size:.95rem}.flight-iata-times{color:var(--text-secondary);font-weight:500;font-size:.85rem}.flight-segment{color:var(--text-primary);font-weight:500;white-space:nowrap}.flight-arrow{color:var(--primary);font-weight:600;font-size:1rem;flex-shrink:0}@media (max-width: 768px){.flight-route-line{font-size:.85rem;gap:.25rem}.flight-cities{font-size:.9rem}.flight-iata-times,.flight-segment{font-size:.8rem}.flight-arrow{font-size:.9rem}}@media (max-width: 480px){.flight-route-line{flex-direction:column;align-items:flex-start;gap:.125rem}.flight-cities{font-size:.85rem;width:100%}.flight-iata-times{font-size:.75rem;width:100%;margin-left:.5rem}.flight-arrow{display:none}.flight-segment:first-child:after{content:" →";color:var(--primary);font-weight:600}.accommodation-dates{flex-direction:column;align-items:flex-start;font-size:.75rem}.date-separator{display:none}.check-out-date{margin-top:2px}}@media (max-width: 375px){.service-item{padding:.75rem .5rem;gap:.5rem;overflow:hidden;width:100%;max-width:335px}.service-details{min-width:0;overflow:hidden;word-wrap:break-word;width:100%}.service-title{font-size:.9rem;line-height:1.2}.accommodation-info-line{flex-direction:column;align-items:flex-start;gap:.1rem}.hotel-name-simple{font-size:.85rem}.accommodation-dates{font-size:.7rem;margin-bottom:.15rem}.flight-cities{font-size:.8rem}.flight-iata-times{font-size:.7rem;margin-left:.25rem}.flight-date{font-size:.65rem}}.simple-flight .flight-details{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(0,0,0,.1);animation:expandDown .2s ease-out}.service-item.included .simple-flight .flight-details{border-top-color:#22c55e33}.service-item.excluded .simple-flight .flight-details{border-top-color:#0000001a}.airport-times{display:flex;justify-content:space-between;gap:1rem}.departure,.arrival{text-align:center}.departure .code,.arrival .code{display:block;font-weight:700;color:var(--primary);font-size:1.1rem;margin-bottom:.25rem}.departure .time,.arrival .time{display:block;color:var(--text-secondary);font-size:.9rem}.service-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:8px;margin-top:.25rem}.service-item.included .service-icon{background:#dcfce7;color:#16a34a}.service-item.excluded .service-icon{background:#f3f4f6;color:#9ca3af}.service-icon i{font-size:1.5rem}.hotel-info{margin:8px 0;border-left:3px solid var(--primary-color);padding:8px 0 8px 12px}.hotel-name{font-weight:600;color:var(--text-color);margin-bottom:4px;display:flex;align-items:center;gap:8px}.hotel-name i{color:var(--primary-color);font-size:14px}.hotel-address{font-size:13px;color:var(--text-muted);line-height:1.4;display:flex;align-items:flex-start;gap:8px}.hotel-address i{color:var(--accent-color);font-size:12px;margin-top:2px}.service-item.excluded .hotel-info{border-left-color:var(--error-color)}.service-item.excluded .hotel-name i,.service-item.excluded .hotel-address i{color:var(--error-color)}.editable-input{flex:1;padding:.5rem;border:1px solid var(--border-color, #e0e0e0);border-radius:4px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.editable-input:focus{outline:none;border-color:var(--primary-color, #007bff);box-shadow:0 0 0 2px #007bff33}.editable-input.error{border-color:#dc3545;box-shadow:0 0 0 2px #dc354533}.editable-input.error:focus{border-color:#dc3545;box-shadow:0 0 0 2px #dc35454d}.editable-input::placeholder{color:var(--text-muted, #666);font-style:italic}@media (min-width: 768px){.info-row-rsvp{justify-content:space-between}.info-row-rsvp .value{text-align:right;max-width:280px;margin-left:auto}.editable-input{flex:none;max-width:280px;margin-left:auto}}@media (max-width: 768px){.info-row-rsvp{flex-direction:column;align-items:flex-start;gap:.25rem}.info-row-rsvp .label{min-width:auto;font-size:.9rem}.editable-input{width:100%;max-width:none;margin-left:0}}.travel-document-confirmation{margin-top:1.5rem;padding:1rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;transition:all .3s ease}.travel-document-confirmation.highlight-error{background:#fff5f5;border-color:#fecaca;box-shadow:0 0 0 3px #dc35451a;animation:pulseError .6s ease-in-out}@keyframes pulseError{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.confirmation-checkbox{display:flex;align-items:flex-start;gap:.75rem}.confirmation-checkbox input[type=checkbox]{display:none}.confirmation-checkbox label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;line-height:1.5}.checkmark{width:20px;height:20px;border:2px solid #dee2e6;border-radius:4px;background:#fff;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;margin-top:2px}.confirmation-checkbox input[type=checkbox]:checked+label .checkmark{background:#007bff;border-color:#007bff}.confirmation-checkbox input[type=checkbox]:checked+label .checkmark:after{content:"✓";color:#fff;font-weight:700;font-size:14px}.confirmation-text{flex:1;color:#495057}.confirmation-text strong{color:#212529}.confirmation-text ul{margin:.5rem 0 0 1rem;padding:0}.confirmation-text li{margin-bottom:.375rem;font-size:.95rem}.confirmation-text li:last-child{margin-bottom:0}@media (max-width: 768px){.travel-document-confirmation{margin-top:1rem;padding:.75rem}.confirmation-checkbox,.confirmation-checkbox label{gap:.5rem}.confirmation-text{font-size:.9rem}.confirmation-text li{font-size:.85rem}}.health-insurance-details{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1)}.details-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem 0;font-size:.9rem;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.details-toggle:hover{color:var(--text-primary)}.details-toggle i{font-size:.8rem;transition:transform .2s ease}.health-insurance-requirements{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef;animation:fadeIn .3s ease}.health-insurance-requirements h4{margin:0 0 .75rem;color:var(--text-primary);font-size:1rem;font-weight:600}.health-insurance-requirements p{margin:0 0 .75rem;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.health-insurance-requirements ul{margin:0 0 .75rem;padding-left:1.5rem;list-style-type:disc}.health-insurance-requirements li{margin-bottom:.5rem;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.health-insurance-requirements strong{color:var(--text-primary);font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.health-insurance-details{margin-top:.75rem;padding-top:.75rem}.details-toggle{font-size:.85rem}.health-insurance-requirements{padding:.75rem}.health-insurance-requirements h4{font-size:.9rem}.health-insurance-requirements p,.health-insurance-requirements li{font-size:.85rem}}.accommodation-breakfast{color:var(--text-secondary);font-size:.8rem;margin-bottom:2px}.price-summary{background:linear-gradient(135deg,var(--text-primary),var(--text-muted));color:#fff;padding:40px;margin-bottom:40px 0;margin-top:1rem;border-radius:20px;box-shadow:0 20px 40px #2d37484d}.price-summary h2{color:#fff;margin-bottom:25px;text-align:center}.summary-content{margin:0 auto}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;font-size:1rem}.activity-row{padding:8px 0;font-size:.95rem;opacity:.9}.activity-row small{color:#ffffffb3;font-weight:400}.summary-row.subtotal{font-weight:600;font-size:1.1rem}.summary-row.total{font-weight:700;font-size:1.3rem;color:var(--primary-cream);border-bottom:none}@media (max-width: 768px){.price-summary{padding:25px 20px}}.summary-row.total{font-size:.7rem}.summary-row.subtotal{border-top:1px solid rgba(255,255,255,.3);font-size:.8rem}.summary-row{font-size:.7rem}.installments{border-top:1px solid rgba(255,255,255,.3)}.cooking-class-note{margin-top:1rem;padding:.75rem;background:#ffffff1a;border-radius:6px;font-size:.9rem}.cooking-class-note p{margin:0;color:#ffffffe6}.cooking-class-note a{color:#fff;text-decoration:underline}.trip-form{background:var(--white-95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 20px 40px var(--shadow-dark);overflow:hidden;margin-top:20px;padding-top:20px}.form-section{padding-left:clamp(12px,4vw,20px);padding-right:clamp(12px,4vw,20px)}.form-section:last-child{border-bottom:none}.form-section h2{font-size:1.8rem;color:var(--text-primary);margin-bottom:25px;display:flex;align-items:center;gap:15px}.form-section h2 i{color:var(--primary);font-size:1.5rem}.section-description{color:var(--text-muted);margin-bottom:25px;font-size:1.05rem}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary);font-size:1rem}.section-label{font-size:1.1rem!important;font-weight:600!important;margin-bottom:15px!important}.radio-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;align-items:stretch}.radio-option{position:relative;display:flex;flex-direction:column}.radio-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}.radio-option label{display:flex;flex-direction:column;flex:1;padding:20px;background:var(--bg-light);border:2px solid var(--border-light);border-radius:12px;cursor:pointer;transition:all .3s ease;margin-bottom:0}.radio-option label:hover{border-color:var(--primary);background:var(--primary-lighter);transform:translateY(-2px);box-shadow:0 5px 15px var(--shadow-primary-light)}.radio-option input[type=radio]:checked+label{border-color:var(--primary);background:var(--gradient-selected);box-shadow:0 5px 15px var(--shadow-primary)}.option-content{display:flex;flex-direction:column;height:100%}.option-content h3{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.option-content .price{font-size:1rem;font-weight:700;color:var(--primary);margin-bottom:8px}.option-content .description{font-size:.9rem;color:var(--text-secondary);margin:0}@media (max-width: 768px){.form-section{padding-top:20px;padding-bottom:0;padding-left:clamp(10px,3vw,16px);padding-right:clamp(10px,3vw,16px)}.radio-group{grid-template-columns:1fr;gap:15px}.radio-option label{padding:15px}.form-section h2{font-size:1.5rem}}@media (max-width: 480px){.form-section{padding-top:16px;padding-bottom:0;padding-left:clamp(8px,2.5vw,12px);padding-right:clamp(8px,2.5vw,12px)}.form-section h2{font-size:1.4rem;margin-bottom:20px}.radio-group{gap:12px}.radio-option label{padding:12px}}@media (max-width: 375px){.form-section{padding-top:14px;padding-bottom:0;padding-left:clamp(6px,2vw,10px);padding-right:clamp(6px,2vw,10px)}.form-section h2{font-size:1.3rem;margin-bottom:18px}.radio-group{gap:10px}.radio-option label{padding:10px}}.change-request-notice{background:#e3f2fd;border:2px solid #bbdefb;border-radius:12px;padding:1.5rem;margin:20px 0;margin-left:clamp(15px,4vw,40px);margin-right:clamp(15px,4vw,40px)}.change-request-notice .notice-content{display:flex;gap:1rem;align-items:flex-start}.change-request-notice .notice-content i{color:#1976d2;font-size:1.2rem;margin-top:.1rem}.change-request-notice .notice-content p{margin:0;color:var(--text-primary);font-size:.95rem;line-height:1.5;font-weight:500}@media (max-width: 768px){.change-request-notice{margin-left:clamp(10px,3vw,25px);margin-right:clamp(10px,3vw,25px);padding:1.25rem}}@media (max-width: 480px){.change-request-notice{margin-left:15px;margin-right:15px;padding:1rem}.change-request-notice .notice-content{flex-direction:column;gap:.75rem}}.activities-container{display:flex;flex-direction:column;gap:24px}.activity-card{display:flex;background:#fff;border:2px solid #e5e7eb;border-radius:16px;overflow:hidden;transition:all .3s ease;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 1px 3px #0000001a;min-height:280px}.activity-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.activity-card.activity-selected{border-color:var(--primary);background:linear-gradient(135deg,#fff,#b8956a0d);box-shadow:0 4px 15px #b8956a33}.activity-image{flex:0 0 280px;position:relative;overflow:hidden}.activity-image img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s ease;min-height:280px}.activity-card:hover .activity-image img{transform:scale(1.03)}.image-overlay-hint{position:absolute;top:10px;left:10px;background:#000000bf;color:#fff;padding:10px 16px;border-radius:8px;display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:500;opacity:1;transition:opacity .3s ease;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.activity-image:hover .image-overlay-hint{opacity:1}.activity-content{flex:1;padding:20px;display:flex;flex-direction:column;justify-content:space-between}.activity-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.activity-header input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--primary);cursor:pointer}.activity-header i{font-size:1.5rem;color:var(--primary);margin-top:1px;min-width:24px}.activity-header h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0;line-height:1.3}.activity-details{flex:1;display:flex;flex-direction:column;gap:6px}.activity-details .location{font-weight:600;color:var(--primary);font-size:.95rem;margin:0}.activity-details .date{color:#6b7280;font-size:.9rem;margin:0}.activity-details .description{margin:8px 0;flex-grow:1}.activity-details .description-line{color:#4b5563;font-size:.85rem;margin:0 0 4px;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.activity-details .description-line:last-child{margin-bottom:0}.activity-details .price{font-size:1.3rem;font-weight:700;color:#059669;margin:16px 0 0;align-self:flex-start;flex-shrink:0}@media (max-width: 768px){.activities-container{gap:20px}.activity-card{flex-direction:column}.activity-image{flex:0 0 200px;width:100%}.activity-content{padding:20px}.activity-header{margin-bottom:12px}.activity-header h3{font-size:1.1rem}.activity-details .price{font-size:1.2rem}}@media (max-width: 480px){.activity-card{min-height:360px}.activity-image{flex:0 0 180px}.activity-content{padding:16px}.activity-header h3{font-size:1rem}.activity-details .description-line{font-size:.8rem}}.activity-subtitles{font-size:1rem;color:#6b7280;margin-top:2px;margin-bottom:8px;font-weight:400;line-height:1.3}.navigation-container{width:100%}.navigation-container .form-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 30px 35px;border-top:1px solid var(--border-light);background:var(--bg-light)}.navigation-container .submit-btn{background:var(--gradient-primary);color:#fff;border:none;padding:16px 32px;font-size:1rem;font-weight:600;border-radius:10px;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:10px;box-shadow:0 4px 12px var(--shadow-primary-light);white-space:nowrap;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.navigation-container .submit-btn:hover:not(:disabled){background:var(--gradient-hover);transform:translateY(-2px);box-shadow:0 8px 20px var(--shadow-primary)}.navigation-container .submit-btn:active{transform:translateY(-1px);box-shadow:0 6px 16px var(--shadow-primary)}.navigation-container .submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 2px 8px var(--shadow-primary-light)}.navigation-container .btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:16px 24px;background:#fff;color:var(--text-secondary);border:2px solid var(--border-light);border-radius:10px;font-size:1rem;font-weight:500;text-decoration:none;transition:all .3s ease;cursor:pointer;white-space:nowrap;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-shadow:0 1px 3px #0000001a}.navigation-container .btn-secondary:hover{background:var(--primary-lighter);color:var(--text-primary);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.navigation-container .btn-secondary:active{transform:translateY(-1px);background:var(--primary-selected)}.navigation-container .form-actions:has(.submit-btn):not(:has(.btn-secondary)){justify-content:center}.navigation-container .form-actions:has(.btn-secondary):not(:has(.submit-btn)){justify-content:center}@media (max-width: 768px){.navigation-container .form-actions{flex-direction:column;gap:16px;padding:20px 25px 30px;margin-top:20px}.navigation-container .btn-secondary{width:100%;justify-content:center;padding:14px 20px;font-size:.95rem;order:2}.navigation-container .submit-btn{width:100%;justify-content:center;padding:14px 20px;font-size:1rem;order:1}.navigation-container .form-actions:has(.submit-btn):not(:has(.btn-secondary)) .submit-btn,.navigation-container .form-actions:has(.btn-secondary):not(:has(.submit-btn)) .btn-secondary{width:auto;min-width:200px}}@media (max-width: 480px){.navigation-container .form-actions{gap:14px;padding:16px 20px 25px;margin-top:16px}.navigation-container .btn-secondary{padding:14px 18px;font-size:.9rem;gap:6px;min-height:48px}.navigation-container .submit-btn{padding:14px 18px;font-size:.95rem;gap:8px;min-height:48px}.navigation-container .form-actions:has(.submit-btn):not(:has(.btn-secondary)) .submit-btn,.navigation-container .form-actions:has(.btn-secondary):not(:has(.submit-btn)) .btn-secondary{min-width:180px}}:root{--gradient-warning: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--gradient-warning-hover: linear-gradient(135deg, #d97706 0%, #b45309 100%);--shadow-warning-strong: rgba(245, 158, 11, .4)}@keyframes pulse-warning{0%{box-shadow:0 4px 12px var(--shadow-primary-light)}50%{box-shadow:0 8px 20px var(--shadow-warning-strong)}to{box-shadow:0 4px 12px var(--shadow-primary-light)}}.submit-btn.confirming{background:var(--gradient-warning);color:#fff;animation:pulse-warning 1.5s infinite}.submit-btn.confirming:hover:not(:disabled){background:var(--gradient-warning-hover);transform:translateY(-2px);box-shadow:0 8px 20px var(--shadow-warning-strong)}.submit-btn.loading{opacity:.7;cursor:not-allowed;pointer-events:none}.submit-btn.loading:hover{transform:none;box-shadow:0 4px 12px var(--shadow-primary-light)}.notification-container{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:12px;max-width:400px;width:100%}.notification{background:#fff;border-radius:12px;box-shadow:0 10px 25px var(--shadow-dark-20),0 4px 10px var(--shadow-dark);border-left:4px solid transparent;padding:0;opacity:0;transform:translate(100%);transition:all .4s cubic-bezier(.175,.885,.32,1.275);overflow:hidden;min-height:60px;border:1px solid var(--border-light)}.notification.show{opacity:1;transform:translate(0)}.notification-content{display:flex;align-items:center;padding:16px 20px;gap:12px;position:relative}.notification-content i{font-size:1.2rem;min-width:20px;text-align:center}.notification-content span{flex:1;font-size:.95rem;line-height:1.4;font-weight:500}.notification-close{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:inherit;opacity:.6;transition:all .2s ease;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center}.notification-close:hover{opacity:1;background-color:#0000001a}.notification-close i{font-size:.8rem}.notification-success{border-left-color:var(--success-primary);background:var(--success-bg);border:1px solid var(--success-border)}.notification-success .notification-content{color:var(--success-dark)}.notification-success .notification-content i{color:var(--success-primary);background:var(--success-bg);padding:8px;border-radius:50%;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center}.notification-success:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--success-primary) 0%,var(--success-dark) 100%)}.notification-error{border-left-color:var(--error-primary);background:var(--error-bg);border:1px solid var(--error-border)}.notification-error .notification-content{color:var(--error-dark)}.notification-error .notification-content i{color:var(--error-primary);background:var(--error-bg);padding:8px;border-radius:50%;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center}.notification-error:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--error-primary) 0%,var(--error-dark) 100%)}.notification-warning{border-left-color:var(--warning-border);background:var(--warning-bg);border:1px solid var(--warning-border-light)}.notification-warning .notification-content{color:var(--warning-text)}.notification-warning .notification-content i{color:var(--warning-icon);background:var(--warning-bg);padding:8px;border-radius:50%;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center}.notification-warning:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--warning-border) 0%,var(--warning-icon) 100%)}.notification-info{border-left-color:var(--primary);background:var(--primary-bg);border:1px solid var(--primary-border)}.notification-info .notification-content{color:var(--primary-darker)}.notification-info .notification-content i{color:var(--primary);background:var(--primary-bg);padding:8px;border-radius:50%;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center}.notification-info:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-dark) 100%)}.notification-enter{opacity:0;transform:translate(100%)}.notification-enter-active{opacity:1;transform:translate(0);transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.notification-exit{opacity:1;transform:translate(0)}.notification-exit-active{opacity:0;transform:translate(100%);transition:all .3s ease-in}@media (max-width: 768px){.notification-container{top:10px;right:10px;left:10px;max-width:none}.notification-content{padding:14px 16px}.notification-content span{font-size:.9rem}}.notification-error.email-duplicate{border-left-color:var(--warning-border)}.notification-error.email-duplicate .notification-content i{color:var(--warning-icon);background:var(--warning-bg)}.notification-error.email-duplicate:before{background:linear-gradient(90deg,var(--warning-border) 0%,var(--warning-icon) 100%)}.carousel-overlay{position:fixed;inset:0;background:#000000e6;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;animation:fadeIn .3s ease forwards;overflow:hidden}@keyframes fadeIn{to{opacity:1}}.carousel-container{position:relative;max-width:90vw;max-height:90vh;width:100%;display:flex;flex-direction:column;align-items:center;transform:scale(.9);animation:slideIn .3s ease forwards}@keyframes slideIn{to{transform:scale(1)}}.carousel-close{position:absolute;top:-10px;right:-10px;background:var(--primary);color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:1.2rem;cursor:pointer;z-index:1001;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 12px #0000004d}.carousel-close:hover{background:var(--primary-dark);transform:scale(1.1)}.carousel-content{position:relative;width:100%;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.carousel-image-container{flex:1;display:flex;justify-content:center;align-items:center;overflow:hidden;border-radius:10px;box-shadow:0 8px 32px #0000004d}.carousel-image{max-width:100%;max-height:70vh;width:auto;height:auto;object-fit:contain;transition:transform .3s ease;border-radius:10px}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffe6;color:var(--primary);border:none;border-radius:50%;width:50px;height:50px;font-size:1.5rem;cursor:pointer;z-index:1001;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 12px #0003}.carousel-nav:hover{background:var(--primary);color:#fff;transform:translateY(-50%) scale(1.1)}.carousel-prev{left:20px}.carousel-next{right:20px}.carousel-indicators{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap;justify-content:center}.carousel-dot{width:12px;height:12px;border-radius:50%;border:none;background:#ffffff80;cursor:pointer;transition:all .3s ease}.carousel-dot:hover{background:#fffc;transform:scale(1.2)}.carousel-dot.active{background:var(--primary);transform:scale(1.3)}.carousel-counter{color:#fff;font-size:.9rem;font-weight:500;padding:8px 16px;background:#000000b3;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media (max-width: 768px){.carousel-overlay{padding:10px}.carousel-container{max-width:95vw;max-height:95vh}.carousel-close{top:-5px;right:-5px;width:35px;height:35px;font-size:1rem}.carousel-nav{width:40px;height:40px;font-size:1.2rem}.carousel-prev{left:10px}.carousel-next{right:10px}.carousel-image{max-height:60vh}.carousel-indicators{gap:6px}.carousel-dot{width:10px;height:10px}.carousel-counter{font-size:.8rem;padding:6px 12px}}@media (max-width: 480px){.carousel-nav{width:35px;height:35px;font-size:1rem}.carousel-prev{left:5px}.carousel-next{right:5px}.carousel-image{max-height:50vh}}.carousel-image-container{transition:opacity .3s ease}.carousel-image[data-loading=true]{opacity:.7}.carousel-nav:focus,.carousel-dot:focus,.carousel-close:focus{outline:2px solid var(--primary);outline-offset:2px}.welcome-header{text-align:center;background:var(--gradient-primary);color:#fff;padding:3rem 2rem;border-radius:16px;box-shadow:0 8px 32px var(--shadow-primary)}.welcome-header h1{font-size:2.5rem;font-weight:700}.welcome-header .subtitle{font-size:1.2rem;color:var(--white-95)}.user-email{font-size:1.1rem;color:var(--white-95);margin-bottom:0;opacity:.9}.navigation-menu h2{font-size:1.8rem;color:var(--text-primary);text-align:center;font-weight:600}.nav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.nav-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 16px var(--shadow-dark);transition:all .3s ease;text-align:center;border:none;cursor:pointer;text-decoration:none;display:block;position:relative;overflow:hidden}.nav-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary);transform:scaleX(0);transition:transform .3s ease}.nav-card:hover:before{transform:scaleX(1)}.nav-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px var(--shadow-primary)}.nav-card i{font-size:3rem;margin-bottom:1rem;color:var(--primary);transition:color .3s ease}.nav-card:hover i{color:var(--primary-dark)}.nav-card h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem;font-weight:600}.nav-card p{color:var(--text-secondary);margin-bottom:0;line-height:1.6}.account-actions{text-align:center;padding:2rem;background:var(--bg-light);border-radius:12px;border:1px solid var(--border-light);margin-top:1rem}.account-actions .btn{padding:.75rem 2rem;border-radius:8px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s ease;cursor:pointer;border:none;font-size:1rem}.account-actions .btn-secondary{background:var(--text-secondary);color:#fff}.account-actions .btn-secondary:hover{background:var(--text-muted);transform:translateY(-2px)}.account-actions .btn i{font-size:1rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:3rem}.dashboard-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease,box-shadow .3s ease;text-align:center}.dashboard-card:hover{transform:translateY(-4px);box-shadow:0 8px 15px #00000026}.dashboard-card .card-icon{font-size:3rem;margin-bottom:1rem;color:#3498db}.dashboard-card h3{font-size:1.5rem;color:#2c3e50;margin-bottom:1rem}.dashboard-card p{color:#7f8c8d;margin-bottom:1.5rem;line-height:1.6}.dashboard-card .btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;text-decoration:none;display:inline-block;transition:all .3s ease;cursor:pointer;border:none;font-size:.9rem}.dashboard-card .btn-primary{background:#3498db;color:#fff}.dashboard-card .btn-primary:hover{background:#2980b9}.dashboard-card .btn-secondary{background:#95a5a6;color:#fff}.dashboard-card .btn-secondary:hover{background:#7f8c8d}.dashboard-card .btn-outline{background:transparent;color:#3498db;border:2px solid #3498db}.dashboard-card .btn-outline:hover{background:#3498db;color:#fff}.account-info{background:#f8f9fa;border-radius:8px;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.account-info .info-row{display:flex;align-items:center;gap:.5rem}.account-info .label{font-weight:600;color:#34495e}.account-info .value{color:#7f8c8d}.account-info .logout-btn{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:4px;transition:background-color .3s ease}.account-info .logout-btn:hover{background:#f8f9fa}.payments-header{text-align:center;margin-bottom:2rem}.payments-header .back-btn{position:absolute;left:2rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#3498db;cursor:pointer;font-size:1rem;display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:4px;transition:background-color .3s ease}.payments-header .back-btn:hover{background:#f8f9fa}.payments-header h1{font-size:2.5rem;color:#2c3e50;margin-bottom:.5rem}.payments-header .subtitle{font-size:1.2rem;color:#7f8c8d}.payments-tabs{display:flex;justify-content:center;margin-bottom:2rem;border-bottom:2px solid #ecf0f1}.payments-tabs .tab{background:none;border:none;padding:1rem 2rem;cursor:pointer;font-size:1rem;color:#7f8c8d;border-bottom:2px solid transparent;transition:all .3s ease}.payments-tabs .tab:hover{color:#3498db}.payments-tabs .tab.active{color:#3498db;border-bottom-color:#3498db}.payments-content{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a}.payment-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#f8f9fa;border-radius:8px;padding:1.5rem;text-align:center}.summary-card h3{font-size:1rem;color:#7f8c8d;margin-bottom:.5rem;font-weight:600}.summary-card .amount{font-size:2rem;font-weight:700;color:#2c3e50}.summary-card.total .amount{color:#3498db}.summary-card.paid .amount{color:#27ae60}.summary-card.remaining .amount{color:#e74c3c}.payment-status{margin-bottom:2rem}.payment-status h3{font-size:1.5rem;color:#2c3e50;margin-bottom:1rem}.status-indicator{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff3cd;border-radius:8px;border-left:4px solid #ffc107}.status-icon{font-size:2rem}.status-icon.pending{color:#ffc107}.status-text strong{color:#2c3e50}.status-text p{color:#7f8c8d;margin:.5rem 0 0}.next-steps h3{font-size:1.5rem;color:#2c3e50;margin-bottom:1rem}.steps-list{display:flex;flex-direction:column;gap:1rem}.step{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px;background:#f8f9fa}.step.completed{background:#d4edda;color:#155724}.step.pending{background:#fff3cd;color:#856404}.step.future{background:#f8f9fa;color:#6c757d}.step i{font-size:1.2rem}.payment-history h3{font-size:1.5rem;color:#2c3e50;margin-bottom:1rem}.history-table{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:1rem}.table-header{display:contents;font-weight:600;color:#2c3e50}.table-header span{padding:1rem;background:#f8f9fa;border-radius:8px}.table-row{display:contents}.table-row span{padding:1rem;background:#fff;border-radius:8px;border:1px solid #ecf0f1}.table-row .status{text-transform:capitalize;font-weight:600}.table-row .status.pending{color:#ffc107}.table-row .status.completed{color:#27ae60}.table-row .status.failed{color:#e74c3c}.payment-instructions h3{font-size:1.5rem;color:#2c3e50;margin-bottom:1rem}.instructions-content{display:flex;flex-direction:column;gap:2rem}.alert{padding:1rem;border-radius:8px;display:flex;align-items:flex-start;gap:1rem}.alert.info{background:#d1ecf1;color:#0c5460;border-left:4px solid #17a2b8}.alert i{font-size:1.2rem;margin-top:.2rem}.support-section h4{font-size:1.2rem;color:#2c3e50;margin-bottom:.5rem}.support-section p{color:#7f8c8d;margin-bottom:1rem}.support-options{display:flex;gap:1rem;flex-wrap:wrap}.support-options .btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s ease;cursor:pointer;border:none;font-size:.9rem}.support-options .btn-primary{background:#25d366;color:#fff}.support-options .btn-primary:hover{background:#128c7e}.support-options .btn-outline{background:transparent;color:#3498db;border:2px solid #3498db}.support-options .btn-outline:hover{background:#3498db;color:#fff}.placeholder-page{text-align:center;padding:4rem 0}.placeholder-page h2{font-size:2rem;color:#2c3e50;margin-bottom:1rem}.placeholder-page p{font-size:1.2rem;color:#7f8c8d;margin-bottom:2rem;line-height:1.6}.placeholder-page .btn{padding:1rem 2rem;border-radius:8px;font-weight:600;text-decoration:none;display:inline-block;transition:all .3s ease;cursor:pointer;border:none;font-size:1rem;background:#3498db;color:#fff}.placeholder-page .btn:hover{background:#2980b9}.payment-actions{display:flex;justify-content:center;align-items:center;padding:2rem;margin-top:2rem}@media (max-width: 768px){.payment-actions{padding:1.5rem;margin-top:1.5rem}}@media (max-width: 768px){.welcome-header h1{font-size:2rem}.user-email{font-size:1rem}.navigation-menu h2{font-size:1.5rem}.nav-grid{grid-template-columns:1fr;gap:1rem}.nav-card{padding:1.5rem}.nav-card i{font-size:2.5rem}.nav-card h3{font-size:1.3rem}.account-actions{padding:1.5rem}.account-actions .btn{padding:.75rem 1.5rem;font-size:.9rem}.dashboard-grid{grid-template-columns:1fr;gap:1rem}.dashboard-card{padding:1.5rem}.account-info{flex-direction:column;gap:1rem}.payments-header .back-btn{position:static;margin-bottom:1rem;align-self:flex-start}.payments-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.payments-tabs .tab{padding:.75rem 1rem;font-size:.9rem;min-width:80px;flex-shrink:0}.payments-tabs .tab.active{background:var(--primary-bg)}.payment-summary{grid-template-columns:1fr;gap:1rem}.history-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-header{display:none}.table-row{display:flex;flex-direction:column;padding:1rem;border:1px solid var(--border-light);border-radius:8px;margin-bottom:1rem;gap:.5rem}.table-row span{display:flex;justify-content:space-between;align-items:center}.table-row span:before{content:attr(data-label);font-weight:600;color:var(--text-muted)}.support-options{flex-direction:column;gap:1rem}.support-options .btn{width:100%;justify-content:center}}@media (max-width: 480px){.welcome-header{padding:1.5rem 1rem}.welcome-header h1{font-size:1.8rem}.nav-card{padding:1.25rem}.nav-card i{font-size:2rem}.nav-card h3{font-size:1.2rem}.nav-card p{font-size:.9rem}.account-actions,.payments-content{padding:1rem}}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--border-light);border-radius:50%;border-top-color:var(--primary);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.nav-card:focus,.account-actions .btn:focus,.dashboard-card:focus{outline:2px solid var(--primary);outline-offset:2px}@media print{.nav-card,.account-actions{display:none!important}.welcome-header{background:none!important;color:#000!important;box-shadow:none!important}}@media (prefers-contrast: high){.nav-card{border:2px solid var(--text-primary)}.nav-card:hover{border-color:var(--primary)}}@media (prefers-reduced-motion: reduce){.nav-card,.account-actions .btn,.dashboard-card{transition:none}.nav-card:before{transition:none}.loading-spinner{animation:none}}@media (prefers-color-scheme: dark){.nav-card,.account-actions{background:var(--bg-light);border:1px solid var(--border-light)}}.footer{border-top:1px solid var(--border-light);background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding-top:20px;padding-bottom:20px;margin-bottom:20px}.footer-content{text-align:center}.footer-item{margin-bottom:16px}.footer-item:last-child{margin-bottom:0}.footer-item p{margin:0;color:var(--text-secondary);font-size:.875rem;line-height:1.6;font-weight:400}.footer-link{color:var(--primary-dark);text-decoration:none;font-weight:500;transition:all .2s ease;padding:1px 3px;border-radius:3px;display:inline-block}.footer-link:hover{color:var(--primary-darker);background:var(--focus-primary);transform:translateY(-1px)}.footer-link.whatsapp-link{color:#25d366;font-weight:600;background:#25d3661a;padding:4px 8px;border-radius:6px}.footer-link.whatsapp-link:hover{color:#128c7e;background:#25d36633}@media (max-width: 480px){.footer-item{margin-bottom:14px;padding:0 5px}.footer-item p{font-size:.8rem}}@media (min-width: 768px){.footer-content{text-align:center}.footer-item{margin-bottom:18px;padding:0 20px}.footer-item:last-child{margin-bottom:0}.footer-item p{font-size:.9rem}}@media (min-width: 1024px){.footer{padding:45px 0 35px}.footer-item{margin-bottom:20px;padding:0 30px}.footer-item p{font-size:.95rem}}.terms-and-conditions-section{background:#fff;border-radius:12px;box-shadow:0 4px 16px var(--shadow-dark);margin:1rem 0;overflow:hidden}.terms-header{background:var(--gradient-primary);color:#fff;padding:2rem 1.5rem;text-align:center;position:relative;display:flex;align-items:center;justify-content:center;min-height:120px}.back-button{position:absolute;top:1.5rem;left:1.5rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.back-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.terms-header h1{font-size:2rem;font-weight:700;margin:0 0 1rem;text-shadow:0 2px 4px rgba(0,0,0,.2)}.terms-intro{font-size:1.1rem;opacity:.95;line-height:1.6;max-width:600px;margin:0 auto}.terms-content{padding:2rem 1.5rem;max-width:800px;margin:0 auto;font-size:.75rem;line-height:1.6}.terms-content h4{font-size:1rem;font-weight:600;margin:1.5rem 0 .75rem;color:var(--primary)}.terms-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--border-light)}.terms-section:last-of-type{border-bottom:none;margin-bottom:0}.terms-section h2{color:var(--primary);font-size:1.5rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.terms-section h2:before{content:"📋";font-size:1.2rem}.terms-section h3{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin:1.5rem 0 .75rem}.terms-section p{color:var(--text-primary);line-height:1.7;margin-bottom:1rem;font-size:.75rem}.terms-section ul{margin:1rem 0;padding-left:1.5rem}.terms-section li{color:var(--text-primary);line-height:1.6;margin-bottom:.5rem;font-size:.75rem}.terms-section strong{color:var(--text-primary);font-weight:600}.highlight-box{background:var(--primary-bg);border:2px solid var(--primary-border);border-radius:10px;padding:1.5rem;margin:1.5rem 0}.highlight-box h3{color:var(--primary);margin-top:0;margin-bottom:1rem;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.highlight-box h3:before{content:"⚠️";font-size:1rem}.highlight-box ul{margin:.75rem 0}.highlight-box li{margin-bottom:.4rem}.cancellation-policy{background:var(--warning-bg);border:2px solid var(--warning-border-light);border-radius:10px;padding:1.5rem;margin:1.5rem 0}.cancellation-policy h3{color:var(--warning-text);margin-top:0;margin-bottom:1rem;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.cancellation-policy h3:before{content:"💳";font-size:1rem}.policy-item{margin-bottom:1rem;padding:1rem;background:#fff;border-radius:8px;border-left:4px solid var(--warning-primary)}.policy-item strong{color:var(--warning-text);display:block;margin-bottom:.5rem}.policy-item p{margin:0;color:var(--text-primary)}.contact-info{background:var(--success-bg);border:2px solid var(--success-border);border-radius:10px;padding:1.5rem;margin:1.5rem 0}.contact-info h3{color:var(--success-dark);margin-top:0;margin-bottom:1rem;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.contact-info h3:before{content:"📞";font-size:1rem}.contact-info p{margin-bottom:.5rem;color:var(--text-primary)}.contact-info strong{color:var(--success-dark)}@media (max-width: 768px){.terms-header{padding:1.5rem 1rem;min-height:100px}.back-button{position:static;margin-bottom:1rem;align-self:flex-start}.terms-header h1{font-size:1.5rem;margin-bottom:.75rem}.terms-intro{font-size:1rem}.terms-content{padding:1.5rem 1rem;font-size:.7rem}.terms-section{margin-bottom:2rem;padding-bottom:1.5rem}.terms-section h2{font-size:1.3rem}.terms-section h3{font-size:1.1rem}.terms-section p,.terms-section li{font-size:.7rem}.highlight-box,.cancellation-policy,.contact-info{padding:1rem;margin:1rem 0}.policy-item{padding:.75rem}}@media (max-width: 480px){.terms-header{padding:1rem;min-height:80px}.terms-header h1{font-size:1.3rem}.terms-intro{font-size:.95rem}.terms-content{padding:1rem;font-size:.65rem}.terms-section{margin-bottom:1.5rem;padding-bottom:1rem}.terms-section h2{font-size:1.2rem}.terms-section h3{font-size:1rem}.terms-section p,.terms-section li{font-size:.65rem}.highlight-box,.cancellation-policy,.contact-info{padding:.75rem}.policy-item{padding:.5rem}}@media print{.terms-and-conditions-section{box-shadow:none;border:1px solid #ccc}.terms-header{background:#f5f5f5!important;color:#333!important}.back-button{display:none}.terms-content{padding:0}.terms-section{break-inside:avoid;margin-bottom:1rem;padding-bottom:1rem}}.dietary-options-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:12px;width:100%}.dietary-options-grid .radio-option .option-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0;margin:0;height:auto}.dietary-options-grid .radio-option .option-icon{font-size:2rem;display:flex;align-items:center;justify-content:center;height:60px;width:60px;border-radius:50%;background:#ffffff1a;margin:0}.dietary-options-grid .radio-option .option-icon-image{width:32px;height:32px;object-fit:contain}.dietary-options-grid .radio-option h3{margin:0;font-size:1.1rem;font-weight:600}.dietary-options-grid .radio-option .description{margin:0;font-size:.85rem;opacity:.8}@media (max-width: 768px){.dietary-options-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px}.dietary-options-grid .radio-option .option-content{padding:0;height:auto}.dietary-options-grid .radio-option .option-icon{font-size:1.8rem;height:50px;width:50px;margin:0}.dietary-options-grid .radio-option .option-icon-image{width:28px;height:28px}}@media (max-width: 480px){.dietary-options-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px}.dietary-options-grid .radio-option .option-content{padding:0;height:auto}.dietary-options-grid .radio-option .option-icon{font-size:1.6rem;height:45px;width:45px;margin:0}.dietary-options-grid .radio-option .option-icon-image{width:24px;height:24px}.dietary-options-grid .radio-option h3{font-size:1rem}.dietary-options-grid .radio-option .description{font-size:.8rem}}@media (max-width: 375px){.dietary-options-grid{grid-template-columns:1fr!important;gap:6px;width:100%;max-width:335px;margin:0 auto}.dietary-options-grid .radio-option .option-content{padding:0;height:auto;width:100%}.dietary-options-grid .radio-option .option-icon{font-size:1.4rem;height:40px;width:40px;margin:0}.dietary-options-grid .radio-option .option-icon-image{width:20px;height:20px}.dietary-options-grid .radio-option h3{font-size:.9rem}.dietary-options-grid .radio-option .description{font-size:.75rem}}.dietary-message-input{width:100%;min-height:100px;padding:12px 16px;border:2px solid var(--border-light);border-radius:8px;font-family:inherit;font-size:1rem;line-height:1.5;background:var(--bg-light);color:var(--text-primary);resize:vertical;transition:all .3s ease;box-sizing:border-box}.dietary-message-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1);background:var(--white)}.dietary-message-input::placeholder{color:var(--text-secondary);opacity:.7}.dietary-message-input:hover{border-color:var(--primary)}@media (max-width: 768px){.dietary-message-input{padding:10px 14px;font-size:.95rem}}.room-options-container{display:flex;flex-direction:column;gap:20px;width:100%;max-width:100%;box-sizing:border-box}.room-option-card{display:flex;background:var(--bg-light);border:2px solid var(--border-light);border-radius:15px;padding:25px;transition:all .3s ease;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.room-option-card:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:0 10px 25px var(--shadow-primary-light)}.room-option-card.room-selected{border-color:var(--primary);background:linear-gradient(135deg,var(--bg-light),rgba(184,149,106,.1));box-shadow:0 8px 20px var(--shadow-primary-light)}.room-option-card.room-selected:hover{transform:translateY(-2px)}.room-option-content{flex:1;display:flex;flex-direction:column;gap:20px}.room-option-header{display:flex;align-items:center;gap:20px}.radio-container{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.room-radio{width:20px;height:20px;border:2px solid var(--border-light);border-radius:50%;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;transition:all .3s ease;position:relative;background:var(--bg-light)}.room-radio:hover{border-color:var(--primary);transform:scale(1.1)}.room-radio:checked{border-color:var(--primary);background:var(--primary);box-shadow:0 0 0 3px #b8956a33}.room-radio:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#fff}.radio-label{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer}.option-info{display:flex;align-items:center;gap:15px;flex:1}.option-info i{font-size:2rem;color:var(--primary);transition:all .3s ease}.room-option-card.room-selected .option-info i{color:var(--primary);text-shadow:0 0 10px rgba(184,149,106,.3)}.option-info h3{font-size:1.3rem;font-weight:600;color:var(--text-primary);margin:0}.room-option-details{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;width:100%;min-width:0}.room-description{flex:1;min-width:0;max-width:calc(100% - 120px)}.room-description p{color:var(--text-secondary);margin-bottom:10px;font-weight:500}.room-description ul{list-style:none;padding:0;margin:0 0 15px}.room-description li{color:var(--text-muted);font-size:.9rem;position:relative;padding:4px 0 4px 20px}.room-description li:before{content:"✓";position:absolute;left:0;color:var(--success-primary);font-weight:700}.room-price{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0;min-width:140px;white-space:nowrap}.price-label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.price-amount{font-size:1.4rem;font-weight:700;color:var(--price-green)}.upgrade-container{display:flex;flex-direction:column;gap:15px}.upgrade-card{display:flex;background:var(--bg-light);border:2px solid var(--border-light);border-radius:15px;padding:25px;transition:all .3s ease;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%}.upgrade-card:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:0 10px 25px var(--shadow-primary-light)}.upgrade-card.upgrade-selected{border-color:var(--primary);background:linear-gradient(135deg,var(--bg-light),rgba(184,149,106,.1));box-shadow:0 8px 20px var(--shadow-primary-light)}.upgrade-card.upgrade-selected:hover{transform:translateY(-2px)}.upgrade-content{flex:1;display:flex;flex-direction:column;gap:20px}.upgrade-header{display:flex;align-items:center;gap:15px}.upgrade-header i{font-size:2rem;color:var(--primary)}.upgrade-header h3{font-size:1.3rem;font-weight:600;color:var(--text-primary);margin:0}.upgrade-details{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.upgrade-description p{color:var(--text-secondary);margin-bottom:10px;font-weight:500}.upgrade-description ul{list-style:none;padding:0;margin:0}.upgrade-description li{color:var(--text-muted);font-size:.9rem;position:relative;padding:4px 0 4px 20px}.upgrade-description li:before{content:"✓";position:absolute;left:0;color:var(--success-primary);font-weight:700}.upgrade-price{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.addons-section{display:flex;flex-direction:column;gap:30px;margin-top:40px;padding-top:20px}.section-header{text-align:center;margin-bottom:20px}.section-header h1{font-size:2.2rem;font-weight:700;color:var(--text-primary);margin-bottom:10px;display:flex;align-items:center;justify-content:center;gap:15px}.section-header h1 i{color:var(--primary)}.section-header .section-description{font-size:1.1rem;color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.6}@media (max-width: 768px){.room-option-card{min-width:unset}.room-option-details,.upgrade-details{flex-direction:column;gap:15px}.room-price,.upgrade-price{align-items:flex-start;width:auto;min-width:auto}.room-description{max-width:100%}.room-options-container{gap:15px}.room-option-card,.upgrade-card{padding:20px}.room-option-header{gap:15px}.roommate-preferences{gap:12px;margin-top:15px}.roommate-option-label{font-size:.85rem;gap:10px}.roommate-radio{width:14px;height:14px}.roommate-radio:checked:after{width:5px;height:5px}.roommate-name-input{margin-left:24px;padding:8px 10px;font-size:.85rem;max-width:250px}.roommate-help-text{margin-left:24px;padding:8px 10px;font-size:.8rem}.roommate-help-text i{font-size:.8rem}}@media (max-width: 480px){.room-option-card{min-width:unset;padding:15px}.room-option-header,.upgrade-header{flex-wrap:wrap;gap:10px}.option-info h3,.upgrade-header h3{font-size:1.1rem}.option-info i,.upgrade-header i{font-size:1.5rem}.room-radio{width:18px;height:18px}.room-radio:checked:after{width:6px;height:6px}}.roommate-preferences{margin-top:20px;display:flex;flex-direction:column;gap:15px;width:100%;max-width:100%;box-sizing:border-box}.roommate-option{display:flex;flex-direction:column;gap:10px}.roommate-option-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:.9rem;color:var(--text-secondary);line-height:1.5;transition:color .3s ease;max-width:100%;width:100%}.roommate-option-label:hover{color:var(--text-primary)}.roommate-radio{width:16px;height:16px;border:2px solid var(--border-light);border-radius:50%;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;transition:all .3s ease;position:relative;background:#fff;flex-shrink:0;margin-top:2px}.roommate-radio:hover{border-color:var(--primary);box-shadow:0 0 0 2px #b8956a1a}.roommate-radio:checked{border-color:var(--primary);background:var(--primary);box-shadow:0 0 0 2px #b8956a33}.roommate-radio:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background:#fff}.radio-checkmark{display:none}.option-text{font-weight:500;line-height:1.5;flex:1;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%}.roommate-name-input{margin-left:28px;padding:10px 12px;border:2px solid var(--border-light);border-radius:8px;font-size:.9rem;font-family:inherit;background:#fff;transition:all .3s ease;width:100%;max-width:300px}.roommate-name-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #b8956a1a}.roommate-name-input::placeholder{color:var(--text-muted);font-style:italic}.roommate-help-text{margin-left:28px;margin-top:8px;padding:10px 12px;background:#b8956a0d;border:1px solid rgba(184,149,106,.15);border-radius:8px;display:flex;align-items:flex-start;gap:8px;font-size:.85rem;color:var(--text-muted);line-height:1.4;word-wrap:break-word;overflow-wrap:break-word;max-width:calc(100% - 28px)}.roommate-help-text i{color:var(--primary);font-size:.85rem;flex-shrink:0;margin-top:2px}.payment-warning{display:flex;gap:15px;padding:20px;background:var(--warning-bg);border:2px solid var(--warning-border);border-radius:12px;margin-bottom:30px}.payment-warning i{color:var(--warning-icon);font-size:1.5rem;margin-top:3px}.payment-warning h3{color:var(--text-primary);font-size:1.1rem;margin-bottom:10px}.payment-warning ul{list-style:none;padding:0}.payment-warning li{color:var(--warning-text);margin-bottom:5px;position:relative;padding-left:20px}.payment-warning li:before{content:"•";position:absolute;left:0;color:var(--warning-icon);font-weight:700}.banking-info{background:var(--bg-light);border:2px solid var(--border-light);border-radius:15px;padding:25px;margin-top:20px}.banking-info h3{color:var(--text-primary);font-size:1.2rem;margin-bottom:20px;display:flex;align-items:center;gap:10px}.banking-info h3 i{color:var(--primary)}.bank-details{background:#fff;border-radius:10px;padding:20px;margin-bottom:20px;border:1px solid var(--border-light)}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-light)}.detail-row:last-child{border-bottom:none}.detail-row .label{font-weight:600;color:var(--text-muted);font-size:.9rem;display:flex;align-items:center;gap:8px}.detail-row .value{font-weight:500;color:var(--text-primary);font-family:Courier New,monospace;font-size:.9rem}.value-container{display:flex;align-items:center;gap:8px}.copy-btn{background:var(--primary-lighter);border:1px solid var(--primary);border-radius:6px;padding:6px 8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;color:var(--primary-dark)}.copy-btn:hover{background:var(--primary);color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px var(--shadow-primary-light)}.copy-btn:active{transform:translateY(0);background:var(--primary-dark)}.copy-btn i{font-size:.8rem}.copy-btn.copied{background:var(--success-primary);color:#fff;border-color:var(--success-dark)}.copy-btn.copied:hover{background:var(--success-dark)}.transfer-instructions{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:10px;padding:15px;margin-bottom:20px}.transfer-instructions h4{color:var(--warning-text);font-size:1rem;margin-bottom:10px;display:flex;align-items:center;gap:8px}.transfer-instructions h4 i{color:var(--warning-icon)}.transfer-instructions ul{list-style:none;padding:0;margin:0}.transfer-instructions li{color:var(--warning-text);margin-bottom:8px;position:relative;padding-left:20px;font-size:.9rem}.transfer-instructions li:before{content:"•";position:absolute;left:0;color:var(--warning-icon);font-weight:700}.revolut-recommendation{background:var(--gradient-primary);border-radius:10px;padding:20px;color:#fff}.revolut-highlight{display:flex;align-items:flex-start;gap:15px}.revolut-highlight i{font-size:1.5rem;margin-top:2px;opacity:.9}.revolut-highlight h4{font-size:1.1rem;margin-bottom:8px;font-weight:600}.revolut-highlight p{margin-bottom:12px;opacity:.9;font-size:.9rem}.revolut-link{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;padding:8px 16px;background:var(--white-20);border-radius:6px;transition:background .3s ease;font-weight:500;font-size:.9rem}.revolut-link:hover{text-decoration:underline;background:#ffffff1a;transform:translateY(-1px)}@media (max-width: 768px){.copy-btn{min-width:28px;height:28px;padding:4px 6px}.copy-btn i{font-size:.7rem}.value-container{gap:6px}.detail-row{flex-direction:column;align-items:flex-start;gap:8px}.detail-row .label{font-size:.8rem;margin-bottom:0}.detail-row .value{font-size:.8rem;word-break:break-all;line-height:1.3}.value-container{width:100%;justify-content:space-between}}@media (max-width: 480px){.bank-details{padding:15px}.detail-row .value{font-size:.75rem}.detail-row .value{letter-spacing:.5px}.copy-btn{min-width:24px;height:24px;padding:2px 4px;flex-shrink:0}.copy-btn i{font-size:.6rem}}.crypto-options{background:var(--bg-light);border:2px solid var(--border-light);border-radius:15px;padding:25px;margin-top:20px}.crypto-options h3{color:var(--text-primary);font-size:1.2rem;margin-bottom:20px;display:flex;align-items:center;gap:10px}.crypto-options h3 i{color:var(--primary)}.wallet-info{background:#fff;border-radius:10px;padding:20px;margin-top:20px;border:1px solid var(--border-light)}.wallet-info h4{color:var(--text-primary);font-size:1rem;margin-bottom:15px;display:flex;align-items:center;gap:8px}.wallet-info h4 i{color:var(--primary)}.wallet-address-container{margin-bottom:20px}.crypto-address{font-family:Courier New,monospace;word-break:break-all;background:var(--bg-light);padding:8px 12px;border-radius:6px;border:1px solid var(--border-light);font-size:.85rem!important}.crypto-instructions{background:var(--info-bg, #e7f3ff);border:1px solid var(--info-border, #b3d9ff);border-radius:10px;padding:15px}.crypto-instructions h4{color:var(--info-text, #1e3a8a);font-size:1rem;margin-bottom:10px;display:flex;align-items:center;gap:8px}.crypto-instructions h4 i{color:var(--info-icon, #3b82f6)}.crypto-instructions ul{list-style:none;padding:0;margin:0}.crypto-instructions li{color:var(--info-text, #1e3a8a);margin-bottom:8px;position:relative;padding-left:20px;font-size:.9rem}.crypto-instructions li:before{content:"•";position:absolute;left:0;color:var(--info-icon, #3b82f6);font-weight:700}@media (max-width: 768px){.crypto-options{padding:20px}.wallet-info{padding:15px}.crypto-address{font-size:.8rem!important;padding:6px 8px}.crypto-dropdown-container{margin-bottom:15px}.dropdown-wrapper{max-width:100%}.crypto-dropdown{padding:10px 35px 10px 14px;font-size:.95rem}}@media (max-width: 480px){.crypto-options{padding:15px}.crypto-address{font-size:.75rem!important;word-break:break-all}.value-container{flex-direction:column;align-items:flex-start;gap:8px}.detail-row{flex-direction:column;align-items:flex-start;gap:4px}.crypto-dropdown{padding:8px 30px 8px 12px;font-size:.9rem}.dropdown-icon{right:10px;font-size:.8rem}}.crypto-dropdown-container{margin-bottom:20px}.dropdown-wrapper{position:relative;display:inline-block;width:100%;max-width:400px}.crypto-dropdown{width:100%;padding:12px 40px 12px 16px;border:2px solid var(--border-light);border-radius:10px;font-size:1rem;background-color:#fff;color:var(--text-primary);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:all .3s ease}.crypto-dropdown:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-primary)}.crypto-dropdown:hover{border-color:var(--primary-light)}.dropdown-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-secondary);font-size:.9rem}.payment-methods-column{grid-template-columns:repeat(3,1fr)!important;gap:20px}.crypto-currency-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:10px;width:100%}.crypto-network-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:20px;width:100%}.crypto-options .form-group{margin-bottom:30px}.crypto-options .form-group:last-child{margin-bottom:0}.radio-option .option-icon{font-size:2rem;margin:0;padding:0;display:flex;align-items:center;justify-content:center;height:60px;width:60px;border-radius:50%;background:#ffffff1a}.crypto-currency-grid .radio-option .option-content,.crypto-network-grid .radio-option .option-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0;margin:0;height:auto}.crypto-currency-grid .radio-option .option-content{padding:0;margin:0}.crypto-currency-grid .radio-option h3,.crypto-network-grid .radio-option h3{margin:0;padding:0;font-size:1.1rem;font-weight:600}.crypto-currency-grid .radio-option h3{margin:0}.crypto-currency-grid .radio-option .description,.crypto-network-grid .radio-option .description{margin:0;padding:0;font-size:.85rem;opacity:.8}.crypto-currency-grid .radio-option .description,.crypto-currency-grid .radio-option .option-icon{margin:0}@media (max-width: 768px){.payment-methods-column{grid-template-columns:1fr!important;gap:15px}.crypto-currency-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px}.crypto-network-grid{grid-template-columns:repeat(3,1fr)!important;gap:16px}.crypto-currency-grid .radio-option .option-content,.crypto-network-grid .radio-option .option-content{padding:0;margin:0;height:auto}.crypto-currency-grid .radio-option .option-content{padding:0}.radio-option .option-icon{font-size:1.8rem;height:50px;width:50px}}@media (max-width: 375px){.crypto-network-grid{grid-template-columns:1fr!important;gap:14px;width:100%}.crypto-currency-grid{grid-template-columns:1fr!important;gap:6px;width:100%}.crypto-currency-grid .radio-option .option-content,.crypto-network-grid .radio-option .option-content{padding:0;margin:0;height:auto}.crypto-currency-grid .radio-option .option-content{padding:0}.radio-option .option-icon{font-size:1.6rem;height:45px;width:45px}.crypto-currency-grid .radio-option h3,.crypto-network-grid .radio-option h3{font-size:1rem}.crypto-currency-grid .radio-option .description,.crypto-network-grid .radio-option .description{font-size:.8rem}}@media (max-width: 768px){.payment-warning{gap:12px;padding:16px;margin-bottom:24px}.payment-warning i{font-size:1.3rem;margin-top:2px}.payment-warning h3{font-size:1rem;margin-bottom:8px}.payment-warning li{margin-bottom:8px;padding-left:18px;font-size:.9rem;line-height:1.4}}@media (max-width: 480px){.payment-warning{gap:10px;padding:14px;margin-bottom:20px}.payment-warning i{font-size:1.2rem;margin-top:1px}.payment-warning h3{font-size:.95rem;margin-bottom:6px}.payment-warning li{margin-bottom:6px;padding-left:16px;font-size:.85rem;line-height:1.3}}@media (max-width: 375px){.payment-warning{flex-direction:column;gap:8px;padding:12px;margin-bottom:16px}.payment-warning i{font-size:1.1rem;margin-top:0;align-self:flex-start}.payment-warning h3{font-size:.9rem;margin-bottom:4px}.payment-warning li{margin-bottom:4px;padding-left:14px;font-size:.8rem;line-height:1.25}.payment-warning li:before{font-size:.8rem}}.proof-upload{background:transparent;border:none;border-radius:0;padding:16px 0;margin:20px auto;display:flex;align-items:center;flex-direction:column;gap:16px;max-width:500px;text-align:center}.proof-upload label{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:8px}.proof-upload label i{color:var(--primary);font-size:1.1rem}.proof-upload input[type=file]{width:100%;padding:12px 16px;border:2px solid var(--border-light);border-radius:10px;background:#fff;font-size:1rem;color:var(--text-primary);transition:all .3s ease;box-shadow:0 2px 4px #00000005;cursor:pointer}.proof-upload input[type=file]:hover{border-color:var(--primary-light);box-shadow:0 4px 8px #0000000a}.proof-upload input[type=file]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-primary),0 4px 8px #0000000a}.proof-upload input[type=file]:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-light)}.proof-upload .btn-primary{background:var(--gradient-primary);color:#fff;border:none;border-radius:10px;padding:12px 24px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px var(--shadow-primary-light);align-self:center}.proof-upload .btn-primary:hover:not(:disabled){background:var(--gradient-hover);transform:translateY(-2px);box-shadow:0 6px 16px var(--shadow-primary)}.proof-upload .btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px var(--shadow-primary-light)}.proof-upload .btn-primary:disabled{background:var(--primary-lighter);color:var(--text-muted);cursor:not-allowed;transform:none;box-shadow:none}.proof-upload .upload-success{color:var(--success-dark);background:var(--success-bg);border:2px solid var(--success-border);border-radius:10px;padding:12px 16px;font-size:1rem;font-weight:500;display:flex;align-items:center;gap:8px;animation:slideInFadeUp .5s ease-out}.proof-upload .upload-success:before{content:"✓";color:var(--success-primary);font-weight:700;font-size:1.1rem}.proof-upload .upload-error{color:var(--error-dark);background:var(--error-bg);border:2px solid var(--error-border);border-radius:10px;padding:12px 16px;font-size:1rem;font-weight:500;display:flex;align-items:center;gap:8px;animation:slideInFadeUp .5s ease-out}.proof-upload .upload-error:before{content:"⚠";color:var(--error-primary);font-weight:700;font-size:1.1rem}.proof-upload .file-info{background:var(--bg-light);border:1px solid var(--border-light);border-radius:8px;padding:12px;font-size:.9rem;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.proof-upload .file-info i{color:var(--primary)}@media (max-width: 768px){.proof-upload{padding:12px 0;margin:16px auto;max-width:100%}.proof-upload label{font-size:1rem}.proof-upload input[type=file]{padding:10px 12px;font-size:.95rem}.proof-upload .btn-primary{padding:10px 20px;font-size:.95rem;align-self:center}}@media (max-width: 480px){.proof-upload{padding:8px 0;margin:12px auto;gap:12px}.proof-upload label{font-size:.95rem}.proof-upload input[type=file]{padding:8px 10px;font-size:.9rem}.proof-upload .btn-primary{padding:8px 16px;font-size:.9rem}.proof-upload .upload-success,.proof-upload .upload-error{padding:10px 12px;font-size:.9rem}}.payment-summary{background:#fff;border-radius:10px;padding:clamp(16px,4vw,24px);box-shadow:0 2px 8px var(--shadow-dark);transition:all .3s ease;display:flex;flex-direction:column}.payment-summary__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px;cursor:pointer;transition:all .2s ease}.payment-summary__header:hover{opacity:.8}.payment-summary__header-right{display:flex;align-items:center;gap:8px}.payment-summary__title{color:var(--text-primary);font-size:clamp(1.1rem,2.5vw,1.25rem);font-weight:600;margin:0}.payment-summary__status{padding:6px 12px;border-radius:20px;font-size:.875rem;font-weight:500}.payment-summary__status--paid{background:var(--success-bg);color:var(--success-dark);border:1px solid var(--success-border)}.payment-summary__status--pending{background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border-light)}.payment-summary__info{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:24px}.payment-summary__info-item{display:flex;flex-direction:column;gap:4px}.payment-summary__info-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.payment-summary__info-value{color:var(--text-primary);font-size:.95rem;font-weight:600}.payment-summary__breakdown{display:flex;flex-direction:column;gap:12px}.payment-summary__payment-item{display:flex;justify-content:space-between;align-items:center;padding:16px;border-radius:8px;transition:all .3s ease}.payment-summary__payment-item--completed{background:var(--success-bg);border:1px solid var(--success-border)}.payment-summary__payment-item--pending{background:var(--bg-light);border:1px solid var(--border-light)}.payment-summary__payment-content{flex:1}.payment-summary__payment-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.payment-summary__payment-title{color:var(--text-primary);font-size:.95rem;font-weight:600}.payment-summary__payment-check{color:var(--success-dark);font-size:.875rem;font-weight:600}.payment-summary__payment-status{color:var(--text-secondary);font-size:.875rem}.payment-summary__payment-amount{text-align:right;display:flex;flex-direction:column;align-items:flex-end}.payment-summary__payment-amount--single{text-align:right}.payment-summary__amount-primary{color:var(--text-primary);font-size:1rem;font-weight:700}.payment-summary__amount-secondary{color:var(--text-secondary);font-size:.875rem}.payment-summary__total{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--primary-bg);border:2px solid var(--primary-border);border-radius:8px;margin-top:8px}.payment-summary__total-label{color:var(--text-primary);font-size:1rem;font-weight:700}.payment-summary__total-amount{color:var(--primary-dark);font-size:1.1rem;font-weight:700}.payment-summary__credit-info{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--warning-bg);border:1px solid var(--warning-border-light);border-radius:8px;margin-top:16px}.payment-summary__credit-icon{color:var(--warning-icon);font-size:.875rem}.payment-summary__credit-text{color:var(--warning-text);font-size:.875rem;line-height:1.4}.payment-summary__chevron{color:var(--text-secondary);font-size:.875rem;transition:transform .2s ease;-webkit-user-select:none;user-select:none}.payment-summary__chevron--expanded{transform:rotate(180deg)}.payment-details-section{padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 16px var(--shadow-dark);margin:1rem 0}.confirmation-header{text-align:center;margin-bottom:1rem;padding-bottom:1rem}.confirmation-header h2{font-size:2rem;color:#059669;margin-bottom:.5rem}.confirmation-message{font-size:1.1rem;color:#374151;margin:0 auto;line-height:1.6;text-align:center;word-wrap:break-word;-webkit-hyphens:none;hyphens:none}.order-number{margin-top:1rem;padding:.75rem 1rem;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;text-align:center;font-size:1.1rem;color:#166534}.order-number strong{font-size:1.2rem;color:#059669}.payment-section{margin-bottom:2rem;margin-top:1rem}.payment-section h3{color:#111827;margin-bottom:1.5rem;font-size:1.5rem;border-bottom:2px solid #e5e7eb;padding-bottom:.5rem}.payment-content{margin-bottom:2rem}.payment-content h4{color:#374151;margin-bottom:1rem;font-size:1.2rem}.payment-timeline{font-size:1.1rem;color:#374151;margin-bottom:1.5rem;padding:1rem;background:#f8fafc;border-radius:8px;border-left:4px solid #3b82f6}.crypto-details{margin-bottom:1.5rem}.detail-row{display:flex;align-items:center;margin-bottom:.75rem;padding:.75rem;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.detail-row .label{font-weight:600;color:#475569;min-width:120px;flex-shrink:0}.detail-row .value{color:#1e293b;flex:1;word-break:break-word}.value-container{display:flex;align-items:center;gap:.5rem;flex:1}.crypto-address{font-family:Courier New,monospace;font-size:.9rem;background:#e2e8f0;padding:.25rem .5rem;border-radius:4px}.copy-btn{background:#3b82f6;color:#fff;border:none;padding:.5rem;border-radius:4px;cursor:pointer;transition:all .2s;font-size:.8rem;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.copy-btn:hover{background:#2563eb;transform:translateY(-1px)}.copy-btn:active{transform:translateY(0)}.copy-btn.copied{background:#10b981}.copy-btn.copied:hover{background:#059669}.important-notes{margin-top:1.5rem;padding:1.5rem;background:#fefce8;border-radius:8px;border-left:4px solid #eab308}.important-notes h4{color:#a16207;margin-top:0;margin-bottom:1rem;font-size:1.1rem}.important-notes ul{margin:0;padding-left:1.5rem}.important-notes li{margin-bottom:.5rem;line-height:1.6;color:#a16207}.important-notes li ul{margin-top:.5rem}.important-notes li ul li{margin-bottom:.25rem}.important-notes a{color:#0369a1;text-decoration:underline}.important-notes a:hover{color:#0c4a6e}.revolut-note{margin-top:1rem;padding:1rem;background:#f0f9ff;border-radius:6px;border:1px solid #bae6fd}.revolut-note strong{color:#0369a1}.revolut-note a{color:#0369a1;text-decoration:underline}.revolut-note a:hover{color:#0c4a6e}.print-section{text-align:center;margin-top:2rem;padding-top:2rem;border-top:2px solid #e5e7eb}.action-buttons{display:flex;gap:1rem;justify-content:center;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.payment-terms-btn{background:#fff;color:var(--text-secondary);border:2px solid var(--border-light);padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s;margin:0;box-sizing:border-box;height:48px}.payment-terms-btn:hover{background:var(--primary-lighter);color:var(--text-primary);border-color:var(--primary);transform:translateY(-1px)}.payment-download-btn{background:#059669;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:48px}.payment-download-btn:hover{background:#047857;transform:translateY(-1px)}.payment-download-btn:active{transform:translateY(0)}.print-note{color:#6b7280;font-size:.9rem;margin:0}@media (max-width: 768px){.payment-details-section{padding:1.5rem}.confirmation-header h2{font-size:1.5rem}.confirmation-message{font-size:1rem;max-width:100%;padding:0 1rem}.payment-section h3{font-size:1.3rem}.payment-content h4{font-size:1.1rem}.detail-row{flex-direction:column;align-items:flex-start;gap:.5rem}.detail-row .label{min-width:auto}.value-container{width:100%}.crypto-address{font-size:.8rem}.copy-btn{margin-left:auto}.action-buttons{flex-direction:column;gap:.75rem}.payment-terms-btn{padding:.75rem 1.25rem;font-size:.95rem}}@media (max-width: 480px){.payment-details-section,.important-notes{padding:1rem}.detail-row{padding:.5rem}.detail-row .value{font-size:.9rem}.crypto-address{font-size:.75rem;padding:.25rem}.copy-btn{min-width:28px;height:28px;font-size:.7rem}.action-buttons{gap:.5rem}.payment-terms-btn{padding:.625rem 1rem;font-size:.9rem}}.center-upload{display:flex;justify-content:center}.payment-link-section{text-align:center;padding:20px;background-color:#e8f5e9;border-radius:8px;margin-top:20px}.payment-link-button{display:inline-block;padding:12px 24px;background-color:#4caf50;color:#fff;text-decoration:none;border-radius:5px;font-weight:700;transition:background-color .3s ease;margin-top:10px}.payment-link-button:hover{background-color:#45a049}.payment-summary{background:#fff;border-radius:12px;border:2px solid var(--border-light);box-shadow:0 4px 16px var(--shadow-dark)}.payment-summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-light)}.payment-summary-header h3{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0}.payment-status{display:flex;align-items:center}.status-badge{padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.status-badge.status-complete{background:var(--success-bg);color:var(--success-dark);border:1px solid var(--success-border)}.status-badge.status-pending{background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border-light)}.payment-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.payment-info-item{background:var(--bg-light);padding:1rem;border-radius:8px;border:1px solid var(--border-light);display:flex;flex-direction:column;gap:.5rem}.info-label{font-size:.875rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:1rem;color:var(--text-primary);font-weight:600}.payment-breakdown{display:flex;flex-direction:column;gap:.75rem}.payment-line{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;background:var(--bg-light);border-radius:10px;border:2px solid var(--border-light);transition:all .3s ease}.payment-line.completed{background:var(--success-bg);border-color:var(--success-border)}.payment-details{flex:1}.payment-title{font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.payment-subtitle{font-size:.875rem;color:var(--text-secondary)}.check-icon{background:var(--success-primary);color:#fff;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.payment-amount{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.amount-primary{font-size:1.2rem;font-weight:700;color:var(--text-primary)}.amount-secondary{font-size:.875rem;color:var(--text-secondary);font-weight:500}.payment-total-line{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--gradient-primary);border-radius:12px;margin-top:1rem;box-shadow:0 4px 16px var(--shadow-primary)}.total-title{font-size:1.2rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.total-amount{font-size:1.5rem;font-weight:800;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.currency-info{margin-top:1.5rem;padding:1rem;background:var(--primary-bg);border-radius:8px;border:1px solid var(--primary-border);display:flex;align-items:center;gap:.5rem}.currency-info i{color:var(--primary);font-size:.875rem}.currency-info span{color:var(--text-primary);font-size:.875rem}@media (max-width: 768px){.payment-summary{padding:1.5rem}.payment-summary-header{flex-direction:column;align-items:flex-start;gap:1rem}.payment-info-grid{grid-template-columns:1fr}.payment-line{flex-direction:column;align-items:flex-start;gap:1rem}.payment-amount{align-items:flex-start;text-align:left;width:100%}.payment-total-line{flex-direction:column;align-items:flex-start;gap:1rem}.total-amount{font-size:1.3rem}}@media (max-width: 480px){.payment-summary{padding:1rem}.payment-summary-header h3{font-size:1.3rem}.payment-line{padding:1rem}.payment-total-line{padding:1.25rem}.total-title{font-size:1rem}.total-amount{font-size:1.2rem}}.profile-container{width:100%}.profile-header{margin-bottom:1rem}.back-btn{margin-right:1rem}.profile-content{display:flex;flex-direction:column;gap:1rem}.profile-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d;transition:box-shadow .2s ease}.profile-section:hover{box-shadow:0 4px 8px #0000001a}.profile-section h3{color:#2c3e50;margin:0 0 1.5rem;font-size:1.4rem;border-bottom:2px solid #007bff;padding-bottom:.5rem;display:inline-block}.profile-section h4{color:#495057;margin:1.5rem 0 1rem;font-size:1.1rem}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;align-items:start}.profile-field{display:flex;flex-direction:column;gap:.5rem}.profile-field.full-width{grid-column:1 / -1}.profile-field label{font-weight:600;color:#495057;font-size:.9rem;margin-bottom:.5rem;display:block}.profile-value{padding:.75rem;background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;color:#495057;min-height:1.2rem}.profile-value.dietary-notes{white-space:pre-wrap;line-height:1.4}@media (max-width: 768px){padding: 1rem}.profile-header{flex-direction:column;text-align:center;align-items:flex-start}.profile-header h2{text-align:center;margin-left:0}.profile-grid{grid-template-columns:1fr}} @media (max-width: 480px){.profile-section{padding:1rem}.profile-value{padding:.6rem;font-size:.95rem}}.billing-address-gate{background:var(--white-95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 20px 40px var(--shadow-dark);overflow:hidden;padding-top:clamp(16px,3vw,28px);padding-bottom:clamp(16px,3vw,28px);margin-bottom:2rem}.billing-address-gate h2{font-size:1.6rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.billing-address-gate p{font-size:1rem;color:var(--text-secondary);margin:0 0 1.25rem}.billing-address-gate>h2,.billing-address-gate>p{padding-left:clamp(12px,4vw,20px);padding-right:clamp(12px,4vw,20px)}.billing-address-form{padding-left:clamp(12px,4vw,20px);padding-right:clamp(12px,4vw,20px)}.billing-address-form .form-row{margin-bottom:18px}.billing-address-form .form-row label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary);font-size:1rem}.billing-address-form .field-note{display:block;margin-top:4px;font-weight:500;color:var(--text-secondary);font-size:.85rem}.billing-address-form input[type=text]{width:100%;padding:15px;border:2px solid var(--border-light);border-radius:10px;font-size:1rem;background-color:#fff;color:var(--text-primary);transition:border-color .3s ease,box-shadow .3s ease,transform .2s ease}.billing-address-form input[type=text]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-primary)}.billing-address-form input[type=text]:hover{border-color:var(--primary-light)}.billing-address-form input[type=text]:disabled{opacity:.6;cursor:not-allowed;background-color:var(--bg-light)}.billing-address-form .form-actions{margin-top:8px;display:flex;justify-content:flex-end}@media (max-width: 768px){.billing-address-gate h2{font-size:1.4rem}.billing-address-gate p{font-size:.95rem}}@media (max-width: 480px){.billing-address-gate h2{font-size:1.3rem}.billing-address-form .form-row{margin-bottom:16px}}.luggage-gate{background:var(--white-95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 20px 40px var(--shadow-dark);overflow:hidden;padding-top:clamp(16px,3vw,28px);padding-bottom:clamp(16px,3vw,28px);margin-bottom:2rem}.luggage-gate h2{font-size:1.6rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.luggage-gate p{font-size:1rem;color:var(--text-secondary);margin:0 0 1.25rem}.luggage-gate>h2,.luggage-gate>p{padding-left:clamp(12px,4vw,20px);padding-right:clamp(12px,4vw,20px)}.luggage-form{padding-left:clamp(12px,4vw,20px);padding-right:clamp(12px,4vw,20px)}.flights-list{display:grid;gap:12px;margin-bottom:10px}.flight-row{display:flex;flex-direction:row;align-items:center;gap:10px;padding:12px;border:2px solid var(--border-light);border-radius:12px;transition:border-color .2s ease,box-shadow .2s ease;cursor:pointer}.flight-row:hover{border-color:var(--primary-light);box-shadow:0 4px 10px var(--shadow-light)}.flight-row input[type=checkbox]{width:20px;height:20px}.flight-info{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%}.flight-label,.flight-price{font-weight:600;color:var(--text-primary)}.subtotal-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding:14px 12px;border-top:2px dashed var(--border-light);font-size:1.05rem}.subtotal-amount{font-weight:700}.form-actions{display:flex;justify-content:flex-end}@media (min-width: 768px){.luggage-gate h2{font-size:1.4rem}.flights-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}.flight-row{flex-direction:row;align-items:center;gap:12px;padding:12px;flex:1;min-width:250px}.flight-info{flex-direction:row;align-items:center;justify-content:space-between;flex:1}}@media (max-width: 480px){.luggage-gate h2{font-size:1.3rem}}.passport-gate{background:var(--white-95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 20px 40px var(--shadow-dark);overflow:hidden;padding-top:clamp(16px,3vw,28px);padding-bottom:clamp(16px,3vw,28px);margin-bottom:2rem}.passport-gate h2{font-size:1.6rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.passport-gate p{font-size:1rem;color:var(--text-secondary);margin:0 0 1.25rem}.passport-gate>h2,.passport-gate>p{padding-left:clamp(12px,4vw,20px);padding-right:clamp(12px,4vw,20px)}.passport-form{padding-left:clamp(12px,4vw,20px);padding-right:clamp(12px,4vw,20px)}.passport-form .form-row{margin-bottom:18px}.passport-form .form-row label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary);font-size:1rem}.passport-form .field-note{display:block;margin-top:4px;font-weight:500;color:var(--text-secondary);font-size:.85rem}.passport-form input[type=text],.passport-form input[type=date]{width:100%;padding:15px;border:2px solid var(--border-light);border-radius:10px;font-size:1rem;background-color:#fff;color:var(--text-primary);transition:border-color .3s ease,box-shadow .3s ease,transform .2s ease}.passport-form input[type=text]:focus,.passport-form input[type=date]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-primary)}.passport-form input[type=text]:hover,.passport-form input[type=date]:hover{border-color:var(--primary-light)}.passport-form input[type=text]:disabled,.passport-form input[type=date]:disabled{opacity:.6;cursor:not-allowed;background-color:var(--bg-light)}.passport-form .form-actions{margin-top:8px;display:flex;justify-content:flex-end}.form-error{background:var(--error-bg);border:2px solid var(--error-border);color:var(--error-dark);padding:12px 14px;border-radius:10px;margin:8px 0 12px;font-weight:500}.form-success{background:var(--success-bg);border:2px solid var(--success-border);color:var(--success-dark);padding:12px 14px;border-radius:10px;margin:8px 0 12px;font-weight:500}@media (max-width: 768px){.passport-gate h2{font-size:1.4rem}.passport-gate p{font-size:.95rem}}@media (max-width: 480px){.passport-gate h2{font-size:1.3rem}.passport-form .form-row{margin-bottom:16px}}.timeline-container{background:#fff;border-radius:20px;box-shadow:0 20px 40px var(--shadow-dark);overflow:hidden;margin-bottom:2rem}.timeline-header{background:var(--white-95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;text-align:center;border-bottom:1px solid var(--border-light)}.timeline-header-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem}.admin-controls{display:flex;align-items:center;gap:1rem}.admin-toggle{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.admin-toggle input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.timeline-header h1{font-size:2rem;font-weight:600;margin:0;color:var(--text-primary)}.back-button{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;padding:.5rem 1rem;border-radius:8px;border:none;background:var(--bg-light);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;text-decoration:none}.back-button:hover{background:var(--primary-light);color:var(--primary);transform:translate(-2px)}.back-button i{font-size:.875rem}.timeline-content{padding:0}.timeline-day{border-bottom:1px solid var(--border-light)}.timeline-day:last-child{border-bottom:none}.day-header{background:var(--bg-light);padding:.5rem 2rem;display:flex;align-items:center;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background-color .2s ease}.day-header:hover{background:var(--primary-lighter)}.collapse-indicator{font-size:.875rem;color:var(--text-secondary);font-weight:500;transition:transform .2s ease;margin-right:.75rem;flex-shrink:0}.day-header h2{font-size:1rem;font-weight:500;margin:0;color:var(--text-primary);flex:1}.pending-choice-indicator{margin-left:auto;display:flex;align-items:center;padding:.25rem;animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.city-badge{background:var(--primary);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500}.timeline-items{position:relative;padding:0}.timeline-item{position:relative;padding:.75rem 1.5rem;border-bottom:1px solid var(--border-light);transition:background-color .2s ease}.timeline-item:last-child{border-bottom:none}.timeline-item:hover{background-color:var(--bg-light)}.timeline-row-wrapper{display:flex;flex-direction:column}.optional-activity-label.grey{color:var(--text-secondary)}.optional-activity-label{font-size:.75rem;font-weight:500;color:var(--primary, #007bff);text-transform:uppercase;letter-spacing:.5px;display:flex;justify-content:right}.timeline-item-row-mobile{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:.5rem 0;min-height:2rem}.timeline-mobile-content{display:flex;flex-direction:column;align-items:flex-start;align-self:flex-start;text-align:left;gap:.25rem;font-size:.875rem;line-height:1.4;flex:0 0 auto}.timeline-time{font-weight:400;color:var(--text-primary);font-size:.8rem}.timeline-category{font-weight:400;color:var(--text-secondary);text-transform:capitalize;font-size:.8rem}.timeline-right-column{align-self:flex-end;flex:1;display:flex;flex-direction:column;gap:.5rem;max-width:260px}.timeline-parameter{text-align:right;display:flex;flex-direction:column;gap:.125rem}.timeline-choices{text-align:right}.price-button-row{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.choice-row,.activity-price-row{display:flex;align-items:center;justify-content:flex-end;margin-top:.5rem}.activity-price{color:var(--success-primary, #28a745);padding:.25rem .5rem;font-size:.8rem;background:var(--success-bg, rgba(40, 167, 69, .1));border-radius:4px}.choice-prompt{color:var(--text-secondary);font-size:.75rem;margin-bottom:.5rem;font-style:italic}.join-button{background:var(--primary, #007bff);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.join-button:hover:not(:disabled){background:var(--primary-dark, #0056b3);transform:translateY(-1px)}.join-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.timeline-item-row-mobile.clickable{cursor:pointer;transition:background-color .2s ease}.timeline-item-row-mobile.clickable:hover{background-color:var(--bg-light)}.has-choices.light{background:linear-gradient(135deg,#fff,#ebebeb);border:2px solid darkgrey}.has-choices.light:hover{box-shadow:0 4px 16px #e1e1e126;border-color:#a9a9a9}.has-choices{background:linear-gradient(135deg,var(--bg-light, #f8f9fa) 0%,var(--primary-lightest, #e3f2fd) 100%);border:1px solid var(--primary-light, #90caf9);border-radius:8px;padding:.75rem;margin:.25rem 0;box-shadow:0 2px 8px #007bff14;transition:all .2s ease}.has-choices:hover{box-shadow:0 4px 16px #007bff26;border-color:var(--primary, #007bff)}.timeline-item-row-mobile.not-included{opacity:.4;background:#6c757d1a;border-radius:6px;position:relative}.timeline-item-row-mobile.not-included .timeline-time,.timeline-item-row-mobile.not-included .parameter-text{color:var(--text-secondary, #6c757d)}.timeline-progress{margin-top:8px;width:100%}.timeline-progress .progress-header{font-weight:600;font-size:.9rem;color:#1f2937;text-align:right}.progress-bar-container{display:flex;justify-content:flex-end;width:100%}.timeline-progress .progress-bar{height:8px;background:#e5e7eb;border-radius:6px;overflow:hidden;margin-top:4px;max-width:200px;width:100%}.timeline-progress .progress-fill{height:100%;background:#22c55e;width:0;transition:width .3s ease}.timeline-progress .progress-fill.over-capacity{background:#ef4444}.timeline-progress .progress-note{font-size:.7rem;color:#6b7280;margin-top:6px;text-align:right}.parameter-main{display:flex;gap:.5rem;align-items:center;justify-content:flex-end}.category-inline{color:var(--text-secondary);font-weight:400;font-size:.8rem;text-transform:capitalize}.parameter-text{color:var(--text-primary);font-weight:500;font-size:.85rem}.parameter-detail{color:var(--text-secondary);font-weight:400;font-size:.7rem}.item-main{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.item-title{font-size:.875rem;font-weight:600;color:var(--text-primary);line-height:1.3}.item-subtitle{font-size:.75rem;color:var(--text-secondary);line-height:1.3;margin-top:.125rem}.timeline-card-footer{margin-top:.5rem;border-top:1px dashed var(--border-light);padding-top:.5rem}@media (max-width: 480px){.choice-option{font-size:.75rem}.timeline-card-footer{margin-top:.375rem;padding-top:.375rem}}.category-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.15rem .5rem;border-radius:999px;font-size:.7rem;font-weight:600;color:var(--text-secondary);border:1px solid var(--border-light)}.pricing-tag{font-size:.75rem;font-weight:600;padding:.125rem .5rem;border-radius:999px;background:var(--bg-light);color:var(--text-secondary)}.meal-content{display:flex;flex-direction:column;gap:.25rem}.meal-type{font-weight:600;color:var(--primary);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.meal-location{font-weight:500;color:var(--text-primary)}.meal-pricing{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:8px;align-self:flex-start}.meal-pricing.included{background:var(--success-bg);color:var(--success-primary)}.meal-pricing.own-expense{background:var(--warning-bg);color:var(--warning-primary)}.activity-choices{display:flex;gap:.25rem}.activity-content{display:flex;flex-direction:column;gap:.25rem}.activity-title{font-weight:500;color:var(--text-primary);line-height:1.3}.activity-pricing{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:8px;align-self:flex-start}.activity-pricing.included{background:var(--success-bg);color:var(--success-primary)}.activity-pricing.own-expense{background:var(--warning-bg);color:var(--warning-primary)}.flight-content{display:flex;flex-direction:column;gap:.25rem}.flight-number{font-weight:600;color:var(--primary);font-size:.85rem}.flight-route{font-size:.8rem;color:var(--text-secondary);font-weight:500}.flight-pricing{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:8px;align-self:flex-start}.flight-pricing.included{background:var(--success-bg);color:var(--success-primary)}.flight-pricing.own-expense{background:var(--warning-bg);color:var(--warning-primary)}.transportation-content{display:flex;flex-direction:column;gap:.25rem}.transportation-description{font-weight:500;color:var(--text-primary);line-height:1.3}.transportation-pricing{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:8px;align-self:flex-start}.transportation-pricing.included{background:var(--success-bg);color:var(--success-primary)}.transportation-pricing.own-expense{background:var(--warning-bg);color:var(--warning-primary)}.hotel-content{display:flex;flex-direction:column;gap:.25rem}.hotel-action{font-size:.8rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.hotel-name{font-weight:600;color:var(--primary)}.hotel-pricing{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:8px;align-self:flex-start}.hotel-pricing.included{background:var(--success-bg);color:var(--success-primary)}.hotel-pricing.own-expense{background:var(--warning-bg);color:var(--warning-primary)}.freetime-content{display:flex;flex-direction:column;gap:.25rem}.freetime-title{font-weight:600;color:var(--primary);font-size:.85rem}.freetime-description{font-size:.8rem;color:var(--text-secondary);font-style:italic}.freetime-pricing{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:8px;align-self:flex-start}.freetime-pricing.included{background:var(--success-bg);color:var(--success-primary)}.freetime-pricing.own-expense{background:var(--warning-bg);color:var(--warning-primary)}.drinks-content{display:flex;flex-direction:column;gap:.25rem}.drinks-title{font-weight:500;color:var(--text-primary);line-height:1.3}.drinks-pricing{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:8px;align-self:flex-start}.drinks-pricing.included{background:var(--success-bg);color:var(--success-primary)}.drinks-pricing.own-expense{background:var(--warning-bg);color:var(--warning-primary)}.default-content{display:flex;flex-direction:column;gap:.25rem}.default-title{font-weight:600;color:var(--primary);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.default-description{font-weight:500;color:var(--text-primary);line-height:1.3}.default-pricing{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:8px;align-self:flex-start}.default-pricing.included{background:var(--success-bg);color:var(--success-primary)}.default-pricing.own-expense{background:var(--warning-bg);color:var(--warning-primary)}.choice-row{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.choice-option{padding:.4rem .8rem;border:1.5px solid var(--border-light, #e2e8f0);border-radius:6px;background:#fff;color:var(--text-secondary);font-size:.8rem;text-transform:capitalize;transition:all .2s ease;cursor:pointer}.choice-option:hover .choice-label{border-color:var(--primary, #007bff);color:var(--text-primary)}.choice-option input[type=radio]:checked+.choice-label{background:var(--primary, #007bff);border-color:var(--primary, #007bff);color:#fff;font-weight:600}.choice-option input[type=radio]:disabled+.choice-label{opacity:.6;cursor:not-allowed;background:var(--bg-light, #f8f9fa)}.saving-text{font-size:.875rem;color:var(--text-secondary);font-weight:500}.timeline-marker{position:absolute;left:1.5rem;top:1.25rem;width:1rem;height:1rem;background:var(--category-color);border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid white;box-shadow:0 2px 4px var(--shadow-dark)}.marker-icon{font-size:.6rem}.item-main{margin-bottom:.5rem}.item-category{font-size:.875rem;font-weight:500;color:var(--text-secondary);text-transform:capitalize;margin-bottom:.25rem}.item-description{font-size:.875rem;color:var(--text-primary);line-height:1.4;margin:0}.flight-info{display:flex;flex-direction:column;gap:.125rem}.flight-number{font-size:.875rem;font-weight:600;color:var(--primary)}.flight-route{font-size:.8rem;color:var(--text-secondary)}.item-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.item-choices{font-size:.75rem;color:var(--text-secondary);background:var(--bg-light);padding:.125rem .5rem;border-radius:8px}.item-pricing{font-size:.75rem;font-weight:500}.item-compact,.item-complex{display:flex;gap:1rem;align-items:flex-start}.item-left-column{display:flex;flex-direction:column;align-items:center;min-width:4rem;flex-shrink:0}.item-emoji{font-size:1.25rem;margin-bottom:.25rem}.item-time{font-size:.75rem;font-weight:600;color:var(--text-primary);text-align:center;min-width:3rem;line-height:1.2}.item-content{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:2.5rem}.item-compact .item-content{font-size:.875rem;color:var(--text-primary);margin:0;line-height:1.4}.item-complex .item-content{padding:.5rem 0}.item-complex .item-description{font-size:.875rem;color:var(--text-primary);line-height:1.4;margin:0 0 .5rem}.item-complex .item-choices{font-size:.75rem;color:var(--text-secondary);background:var(--bg-light);padding:.125rem .5rem;border-radius:8px;align-self:flex-start}.timeline-loading{text-align:center;padding:3rem 2rem;color:var(--text-secondary);background:#fff;border-radius:20px;box-shadow:0 20px 40px var(--shadow-dark);margin-bottom:2rem}.loading-spinner{width:1.5rem;height:1.5rem;border:2px solid var(--border-light);border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto .75rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.timeline-error{text-align:center;padding:2rem;background:var(--error-bg);border:1px solid var(--error-border);border-radius:12px;margin:2rem;color:var(--error-primary)}.timeline-error h3{margin:0 0 .75rem;color:var(--error-primary);font-size:1.1rem}.timeline-error button{background:var(--primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500}.timeline-empty{text-align:center;padding:3rem 2rem;color:var(--text-secondary)}.timeline-empty h3{margin:0 0 .5rem;color:var(--text-primary);font-size:1.1rem}.timeline-empty p{margin:0;font-size:.875rem}@media (max-width: 768px){.timeline-container{border-radius:12px;margin-bottom:1.5rem}.timeline-header{padding:1.5rem 1rem}.timeline-header-nav{flex-direction:column;align-items:center;gap:1rem}.timeline-header h1{font-size:1.5rem}.back-button{font-size:.8rem;padding:.4rem .8rem}.day-header{padding:.75rem 1rem}.timeline-item{padding:.5rem 1rem}.timeline-mobile-content{font-size:.8rem;gap:.375rem}.timeline-time{font-size:.75rem}}@media (max-width: 480px){.timeline-header{padding:1rem .75rem}.timeline-header h1{font-size:1.25rem}.day-header{padding:.5rem .75rem}.day-header h2{font-size:.9rem}.timeline-item{padding:.375rem .75rem}.timeline-mobile-content{font-size:.75rem;gap:.25rem}.timeline-time{font-size:.7rem}}.modal-overlay{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;background-color:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:modalFadeIn .2s ease-out;overflow:hidden;-webkit-overflow-scrolling:touch}.modal-content{background:#fff;border-radius:16px;box-shadow:0 25px 50px #00000040,0 0 0 1px #ffffff1a;max-width:450px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .3s ease-out;transform-origin:center}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header.right{justify-content:right}.modal-header{display:flex;align-items:center;padding:1rem}.modal-header h3{margin:0;font-size:1rem;font-weight:400;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.modal-close:hover{background-color:var(--bg-light)}.modal-body{padding:0rem 1.5rem 1.5rem;overflow-y:auto}.modal-body p{margin:0 0 1.5rem;line-height:1.6;color:var(--text-primary);font-size:.875rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.modal-actions .btn{padding:.5rem 1rem;border-radius:8px;border:none;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:80px}.modal-actions .btn-secondary{background:var(--bg-light, #f8f9fa);color:var(--text-secondary, #6c757d);border:1px solid var(--border-light, #e2e8f0)}.modal-actions .btn-secondary:hover{background:var(--border-light, #e2e8f0);color:var(--text-primary, #333);transform:translateY(-1px)}.modal-actions .btn-primary{background:var(--primary, #007bff);color:#fff;box-shadow:0 2px 4px #007bff33}.modal-actions .btn-primary:hover{background:var(--primary-dark, #0056b3);transform:translateY(-1px);box-shadow:0 4px 8px #007bff4d}.modal-actions .btn:active{transform:translateY(0)}.modal-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem 0;text-align:center}.modal-loading .loading-spinner{width:2rem;height:2rem;border:3px solid var(--border-light, #e2e8f0);border-top:3px solid var(--primary, #007bff);border-radius:50%;animation:spin 1s linear infinite;margin:0}.modal-loading p{margin:0;color:var(--text-secondary, #6c757d);font-size:.875rem;font-weight:500}.recommendations-list{margin:0;padding-left:1.25rem;list-style-type:disc}.recommendations-list li{margin-bottom:.75rem;line-height:1.5;color:var(--text-primary);font-size:.875rem}.recommendations-list li:last-child{margin-bottom:0}
