.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#333333;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px rgba(0,0,0,.3)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid var(--border-color);margin-bottom:24px}.modal-header h2{margin:0;color:var(--text-primary);font-size:1.5rem;font-weight:600}.modal-close{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:4px;line-height:1;transition:color .2s ease}.modal-close:hover{color:var(--text-primary)}.membership-summary{text-align:center;background:var(--accent-bg);margin:0 24px 24px;padding:16px;border-radius:8px}.membership-summary h3{margin:0 0 8px;color:var(--text-primary);font-size:1.2rem}.price-display{display:flex;align-items:baseline;justify-content:center;gap:4px}.price-display .price{font-size:2rem;font-weight:700;color:var(--accent-color)}.price-display .period{font-size:1rem;color:var(--text-secondary)}.guest-checkout-form{padding:0 24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;color:var(--text-primary);font-weight:500}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text]{width:100%;padding:12px 16px;border:2px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-primary);font-size:1rem;transition:border-color .2s ease}.form-group input[type=email]:focus,.form-group input[type=password]:focus,.form-group input[type=text]:focus{outline:none;border-color:var(--accent-color)}.checkbox-group{margin:24px 0}.checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:.9rem;line-height:1.4}.checkbox-label input[type=checkbox]{position:absolute;opacity:0;cursor:pointer}.checkmark{width:20px;height:20px;border:2px solid var(--border-color);border-radius:4px;background:var(--input-bg);position:relative;flex-shrink:0;transition:all .2s ease}.checkbox-label input[type=checkbox]:checked+.checkmark{background:var(--accent-color);border-color:var(--accent-color)}.checkbox-label input[type=checkbox]:checked+.checkmark:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:white;font-size:12px;font-weight:700}.checkbox-label a{color:var(--accent-color);text-decoration:none}.checkbox-label a:hover{text-decoration:underline}.error-message{background:#fee;color:#c33;padding:12px 16px;border-radius:6px;margin-bottom:20px;font-size:.9rem;border:1px solid #fcc}.modal-actions{display:flex;gap:12px;padding:24px;border-top:1px solid var(--border-color);margin-top:24px}.modal-actions .btn{flex:1 1;padding:12px 24px;border-radius:8px;font-weight:600;text-align:center;cursor:pointer;transition:all .2s ease;border:none;font-size:1rem}.modal-actions .btn-secondary{background:var(--card-bg);color:var(--text-secondary);border:2px solid var(--border-color)}.modal-actions .btn-secondary:hover{background:var(--accent-bg);color:var(--text-primary)}.modal-actions .btn-primary{background:var(--accent-color);color:white}.modal-actions .btn-primary:hover:not(:disabled){background:var(--accent-hover)}.modal-actions .btn:disabled{opacity:.6;cursor:not-allowed}.checkout-info{padding:0 24px 24px;background:var(--accent-bg);margin:24px 24px 0;border-radius:8px}.checkout-info p{margin:0 0 12px;font-weight:600;color:var(--text-primary)}.checkout-info ul{margin:0;padding-left:20px;color:var(--text-secondary)}.checkout-info li{margin-bottom:6px;font-size:.9rem}@media (max-width:768px){.modal-overlay{padding:10px}.modal-content{max-height:95vh}.modal-header{padding:20px 20px 0}.checkout-info,.guest-checkout-form,.membership-summary{padding-left:20px;padding-right:20px}.modal-actions{padding:20px;flex-direction:column}}.membership-tiers{margin:3rem 0}.billing-toggle{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:3rem;font-weight:500}.billing-toggle span{color:white;transition:color .2s ease}.billing-toggle span.active{color:var(--primary-orange);font-weight:600}.toggle-switch{position:relative;width:60px;height:30px;background:var(--gray-light);border-radius:15px;border:none;cursor:pointer;transition:background-color .2s ease;background:#6b6b6b}.toggle-switch:hover{background:var(--border-color)}.toggle-slider{position:absolute;top:3px;left:3px;width:24px;height:24px;background:var(--white);border-radius:50%;transition:transform .2s ease;box-shadow:0 2px 4px rgba(0,0,0,.2)}.toggle-slider.active{transform:translateX(30px);background:var(--primary-green)}.savings-badge{background:var(--terracotta);color:var(--white);padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;margin-left:.5rem}.tiers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));grid-gap:2rem;gap:2rem;margin-bottom:3rem}.tier-card{background:var(--card-background);border-radius:16px;padding:2.5rem;text-align:center;position:relative;box-shadow:0 4px 6px var(--shadow);border:2px solid var(--border-color);transition:all .3s ease}.tier-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px var(--shadow)}.tier-card.popular{border-color:var(--primary-green);transform:scale(1.05)}.tier-card.popular:hover{transform:scale(1.05) translateY(-8px)}.tier-card.current{border-color:var(--accent-green);background:linear-gradient(135deg,var(--card-background) 0,rgba(127,176,105,.05) 100%)}.current-badge,.popular-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:.5rem 1.5rem;border-radius:20px;font-size:.875rem;font-weight:600;color:var(--white)}.current-badge.downgrading{top:-30px}.popular-badge{background:var(--primary-green)}.current-badge{background:var(--accent-green);display:flex;flex-direction:column;align-items:center;gap:4px}.pending-change{font-size:.75rem;font-weight:400;background:rgba(255,255,255,.2);padding:2px 6px;border-radius:10px;text-align:center;line-height:1.2;white-space:nowrap}.tier-header{margin-bottom:2rem}.tier-header h3{font-size:1.75rem;color:var(--primary-green)}.tier-header h3,.tier-price{margin-bottom:1rem}.tier-price .price{font-size:3rem;font-weight:700;color:var(--terracotta)}.tier-price .period{font-size:1.125rem;color:var(--gray-medium);margin-left:.25rem}.tier-description{color:var(--gray-medium);font-size:1rem}.tier-features{margin-bottom:2.5rem}.tier-features ul{list-style:none;padding:0;margin:0}.tier-features li{border-bottom:1px solid var(--border-color);color:var(--foreground);position:relative;padding:.75rem 0 .75rem 2rem}.tier-features li:last-child{border-bottom:none}.tier-features li:before{content:"✓";position:absolute;left:0;color:var(--accent-green);font-weight:700;font-size:1.125rem}.tier-action .btn{width:100%;padding:1rem 2rem;font-size:1rem;font-weight:600}.tier-action .btn.disabled{opacity:.6;cursor:not-allowed}.manage-subscription{text-align:center;padding:2rem;background:var(--gray-light);border-radius:12px;margin-top:2rem}.manage-subscription p{margin-bottom:1rem;color:var(--gray-medium)}@media (max-width:768px){.tiers-grid{grid-template-columns:1fr;gap:1.5rem}.tier-card{padding:2rem}.tier-card.popular{transform:none}.tier-card.popular:hover{transform:translateY(-4px)}.billing-toggle{flex-direction:column;gap:.5rem}.tier-price .price{font-size:2.5rem}.tier-features li{padding:.5rem 0 .5rem 1.5rem}}@media (max-width:480px){.tier-card{padding:1.5rem}.tier-header h3{font-size:1.5rem}.tier-price .price{font-size:2rem}.manage-subscription{padding:1.5rem}}.membership-page{padding:2rem 0 4rem;min-height:80vh}.current-membership-banner{background:linear-gradient(135deg,var(--accent-green),var(--light-green));border-radius:12px;padding:1rem 2rem;margin:2rem auto;max-width:500px;box-shadow:0 4px 6px var(--shadow)}.banner-content{display:flex;justify-content:space-between;align-items:center;color:var(--white)}.banner-text{font-size:1.125rem}.banner-status{background:rgba(255,255,255,.2);padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:600}.membership-benefits{margin:4rem 0}.membership-benefits h2{text-align:center;font-size:2.5rem;color:var(--primary-green);margin-bottom:3rem}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem}.benefit-card{background:var(--card-background);border-radius:12px;padding:2rem;text-align:center;box-shadow:0 4px 6px var(--shadow);border:1px solid var(--border-color);transition:transform .2s ease,box-shadow .2s ease}.benefit-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px var(--shadow)}.benefit-icon{font-size:3rem;margin-bottom:1rem}.benefit-card h3{color:var(--primary-green);margin-bottom:1rem;font-size:1.25rem}.benefit-card p{color:var(--gray-medium);line-height:1.6}.membership-faq{margin:4rem 0}.membership-faq h2{text-align:center;font-size:2.5rem;color:var(--primary-green);margin-bottom:3rem}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));grid-gap:2rem;gap:2rem}.faq-item{background:var(--card-background);border-radius:12px;padding:2rem;box-shadow:0 4px 6px var(--shadow);border:1px solid var(--border-color)}.faq-item h3{color:var(--primary-green);margin-bottom:1rem;font-size:1.125rem}.faq-item p{color:var(--gray-medium);line-height:1.6}@media (max-width:768px){.membership-page{padding:1rem 0 3rem}.current-membership-banner{margin:1.5rem auto;padding:1rem}.banner-content{flex-direction:column;gap:.5rem;text-align:center}.membership-benefits h2,.membership-faq h2{font-size:2rem}.benefits-grid{grid-template-columns:1fr;gap:1.5rem}.benefit-card{padding:1.5rem}.faq-grid{grid-template-columns:1fr;gap:1.5rem}.faq-item{padding:1.5rem}}@media (max-width:480px){.benefit-icon{font-size:2.5rem}.benefit-card,.faq-item{padding:1rem}}