/* ======================================== TWIN FLAME FREQUENCY - STYLES Non-critical styles: animations, loading screen, popup, date select fallback ======================================== */

/* ======================================== DATE SELECT FALLBACK (native select) ======================================== */
.tff-date-select{font-size:15px;padding:14px 35px 14px 14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M10.293 3.293L6 7.586 1.707 3.293A1 1 0 00.293 4.707l5 5a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-color:rgba(255,255,255,0.9);color:#333;cursor:pointer;line-height:1.5!important;overflow:visible!important;text-overflow:clip!important;white-space:nowrap}.tff-date-select::-webkit-input-placeholder{color:#999}.tff-date-select option{color:#333;background:white;padding:10px}@supports (-webkit-touch-callout:none){.tff-date-select{padding:14px 35px 14px 12px}}

/* ======================================== SUBMIT BUTTON ANIMATION ======================================== */
.tff-submit-btn::after{content:'';position:absolute;inset:0;border-radius:15px;background:linear-gradient(90deg,transparent 0%,rgba(255,0,128,0) 5%,rgba(180,0,255,0.28) 15%,rgba(0,160,255,0.26) 28%,rgba(0,255,200,0.24) 40%,rgba(120,255,80,0.2) 52%,rgba(255,220,0,0.22) 64%,rgba(255,80,160,0.24) 76%,rgba(140,0,255,0.2) 88%,transparent 95%);background-size:220% 100%;animation:auroraSweep 16s ease-in-out infinite;pointer-events:none;mix-blend-mode:screen}@keyframes auroraSweep{0%{background-position:220% 30%;opacity:0}10%{opacity:1}40%{background-position:80% 60%}65%{background-position:20% 40%}85%{background-position:-20% 50%;opacity:0.9}100%{background-position:-40% 30%;opacity:0}}

/* ======================================== FOCUS STATE (accessible select + custom dropdown) ======================================== */
.tff-accessible-select:focus + .custom-dropdown{outline:none;border-color:#6a40d3;box-shadow:0 0 20px rgba(106,64,211,0.2);background:rgba(255,255,255,1)}
.tff-submit-btn:disabled{opacity:0.7;cursor:not-allowed;transform:none}

/* ======================================== LOADING SCREEN ======================================== */
.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100dvh;height:-webkit-fill-available;background:#000000;color:white;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;z-index:99999;display:none;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity 1.5s ease-in;min-height:unset;overscroll-behavior:none;touch-action:none;-webkit-overflow-scrolling:auto}.instruction-text{color:rgba(255,255,255,0.9);font-size:18px;font-weight:300;font-style:italic;text-align:center;margin-bottom:40px;letter-spacing:0.5px;line-height:1.4;padding:0 30px;max-width:90%;margin-left:auto;margin-right:auto}.flower-container{position:relative;display:flex;align-items:center;justify-content:center}.flower-svg{width:220px;height:220px;animation:spin 20s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes colorCycle{0%{stroke:#22d3ee}25%{stroke:#a855f7}50%{stroke:#fb923c}75%{stroke:#4ade80}100%{stroke:#22d3ee}}.flower-circle{stroke-width:2;fill:none;animation:colorCycle 6s linear infinite}.circle-1{animation-delay:0s}.circle-2{animation-delay:-0.5s}.circle-3{animation-delay:-1s}.circle-4{animation-delay:-1.5s}.circle-5{animation-delay:-2s}.circle-6{animation-delay:-2.5s}.circle-7{animation-delay:-3s}.loading-container{width:220px;height:2px;background:rgba(255,255,255,0.15);border-radius:9999px;overflow:hidden;margin-top:40px;outline:none}.loading-bar{height:100%;width:0%;background:#22d3ee;transition:width 75ms ease;border-radius:9999px;-webkit-transition:width 75ms ease;will-change:width}.status-text{color:rgba(255,255,255,0.7);font-size:16px;font-weight:400;font-style:italic;text-align:center;margin-top:30px;letter-spacing:1px;transition:opacity 0.5s ease-in-out;min-height:24px;font-variant-numeric:tabular-nums;min-width:340px;display:inline-block}

/* ======================================== EMAIL POPUP ======================================== */
.popup-overlay{position:fixed;top:0;left:0;width:100%;height:100dvh;height:-webkit-fill-available;background:#06030f;z-index:9999;display:none;min-height:unset;overscroll-behavior:none;touch-action:none;-webkit-overflow-scrolling:auto}

/* ======================================== BODY SCROLL LOCK ======================================== */
body.overlay-active{overflow:hidden;position:fixed;width:100%;top:0}.popup-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#f2f0f7;padding:40px;border-radius:15px;max-width:450px;width:90%;box-shadow:0 10px 30px rgba(0,0,0,0.3);text-align:center;-webkit-border-radius:15px;overflow:hidden;z-index:10}.popup-content h3{margin:0 0 15px 0;color:#1F2937;font-size:29px;font-weight:600}.popup-content p{margin:0 0 25px 0;color:#4B5563;font-size:18px;padding:0 8% 0 8%}.email-input{width:80%;padding:15px;margin-bottom:20px;border:2px solid #ddd;border-radius:8px;font-size:16px;box-sizing:border-box}.email-input:focus{outline:none;border-color:#8B4B8C}.email-submit-btn{margin:10px 0 10px 0;width:100%;padding:15px;background:#dc3545;color:white;border:none;border-radius:8px;font-size:18px;font-weight:bold;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:relative;overflow:hidden;box-shadow:0 4px 15px rgba(220,53,69,0.3);transition:background 0.25s ease,box-shadow 0.25s ease}.email-submit-btn::before{content:'';position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,0.08) 40%,rgba(255,255,255,0.22) 50%,rgba(255,255,255,0.08) 60%,transparent 100%);transform:skewX(-15deg);animation:emailShimmer 6s ease-in-out infinite;pointer-events:none}@keyframes emailShimmer{0%{left:-75%;opacity:0}5%{opacity:1}30%{left:125%;opacity:1}31%{opacity:0}100%{left:125%;opacity:0}}.email-submit-btn:hover{background:#f04050;box-shadow:0 6px 22px rgba(220,53,69,0.45)}.privacy-note{font-size:12px!important;color:#6B7280;margin-top:22px;margin-bottom:0;font-style:normal;line-height:1.4}

/* ======================================== ANIMATIONS ======================================== */
.fade-out{opacity:0;transform:scale(0.95);transition:all 0.8s ease-out}.fade-in{opacity:1!important;transition:opacity 0.1s}

/* ======================================== RESPONSIVE - MOBILE ======================================== */
@media (max-width:600px){.tff-date-select{padding:14px 35px 14px 14px!important;font-size:16px!important;height:52px!important;line-height:1.3!important;box-sizing:border-box!important;-webkit-appearance:none!important;appearance:none!important}.tff-date-select option{padding:10px;font-size:16px}.instruction-text{font-size:16px;padding:0 25px;margin-bottom:30px;max-width:85%}.flower-svg{width:160px;height:160px}.loading-container{width:180px;margin-top:30px}.status-text{font-size:14px;margin-top:25px;padding:0 20px}.popup-content{padding:35px 25px;width:85%;border-radius:12px;-webkit-border-radius:12px}.popup-content h3{font-size:24px;margin-bottom:15px}.popup-content p{font-size:16px;margin-bottom:20px}.email-input{padding:14px 16px;font-size:16px;margin-bottom:15px}.email-submit-btn{padding:16px 20px;font-size:16px;min-height:48px}.privacy-note{font-size:11px!important;margin-top:18px!important}}

/* ======================================== RESPONSIVE - SMALL MOBILE ======================================== */
@media (max-width:414px){.instruction-text{font-size:15px;padding:0 20px;line-height:1.5}}@media (max-width:375px){.flower-svg{width:140px;height:140px}.loading-container{width:160px}.instruction-text{font-size:15px;padding:0 20px;max-width:80%}.status-text{font-size:13px}.popup-content{padding:30px 20px;border-radius:12px;-webkit-border-radius:12px}.popup-content h3{font-size:22px}.privacy-note{font-size:9px!important}}

/* ======================================== RESPONSIVE - TABLET ======================================== */
@media (min-width:768px) and (max-width:1024px){.flower-svg{width:200px;height:200px}}

/* ======================================== RESPONSIVE - DESKTOP ======================================== */
@media (min-width:769px){#twinFlameFormWrapper .tff-date-select,#twinFlameFormWrapper select.tff-date-select{padding-top:18px!important;padding-bottom:18px!important;line-height:1.4!important}}