.ec-dates-badge{display:inline-flex;align-items:center;gap:8px;background:var(--color-accent);color:var(--color-white);padding:8px 18px;border-radius:24px;font-weight:600;font-size:.95rem;margin-top:16px}.ec-facts-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:32px}.ec-fact-card{background:var(--color-white);border-radius:12px;padding:28px;border:1px solid rgba(0,0,0,.05);text-align:center}.ec-fact-value{font-family:var(--font-heading);font-size:2rem;color:var(--color-primary);margin-bottom:4px;letter-spacing:-.02em}.ec-fact-label{font-size:.85rem;color:var(--color-text-light);font-weight:500}.ec-intro-card{background:var(--color-white);border-radius:16px;padding:40px;margin-bottom:32px;border:1px solid rgba(0,0,0,.05)}.ec-intro-card h2{font-family:var(--font-heading);font-size:1.5rem;color:var(--color-primary);margin:0 0 16px}.ec-intro-card p{color:var(--color-text-light);line-height:1.8;margin:0}.ec-section-block{background:var(--color-white);border-radius:16px;padding:40px;margin-bottom:24px;border:1px solid rgba(0,0,0,.05)}.ec-section-block h2{font-family:var(--font-heading);font-size:1.3rem;color:var(--color-primary);margin:0 0 14px;display:flex;align-items:center;gap:12px}.ec-section-block p{color:var(--color-text-light);line-height:1.8;margin-bottom:10px}.ec-section-block p:last-child{margin-bottom:0}.ec-section-block a{color:var(--color-accent);text-decoration:none;font-weight:500}.ec-section-block a:hover{text-decoration:underline}.ec-icon{width:36px;height:36px;min-width:36px;background:#008b9d14;border-radius:8px;display:flex;align-items:center;justify-content:center}.ec-icon svg{width:18px;height:18px}.ec-price-highlight{background:var(--color-primary);color:var(--color-white);border-radius:16px;padding:36px 40px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px}.ec-price-highlight h2{font-family:var(--font-heading);font-size:1.3rem;margin:0 0 6px}.ec-price-highlight p{color:#ffffffbf;font-size:.9rem;max-width:480px;margin:0}.ec-price-amount{text-align:right;flex-shrink:0}.ec-amount{font-family:var(--font-heading);font-size:2.8rem;color:var(--color-accent);letter-spacing:-.03em}.ec-per{font-size:.85rem;color:#fff9}.ec-cta-block{background:var(--color-bg-alt);border-radius:16px;padding:40px;text-align:center;margin-top:32px}.ec-cta-block h2{font-family:var(--font-heading);font-size:1.6rem;color:var(--color-primary);margin:0 0 12px}.ec-cta-block p{color:var(--color-text-light);margin:0 auto 28px;max-width:480px}.ec-btn-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary);margin-left:12px}.ec-btn-outline:hover{background:var(--color-primary);color:var(--color-white)}.ec-booking-wrapper{background:var(--color-white);border-radius:16px;overflow:hidden;margin:28px 0;box-shadow:0 4px 24px #0000000f}.ec-form{padding:36px 40px;display:flex;flex-direction:column;gap:32px;text-align:left}.ec-form-section{border-top:1px solid rgba(0,0,0,.08);padding-top:24px}.ec-form-section:first-child{border-top:none;padding-top:0}.ec-form-section-title{font-family:var(--font-heading);font-size:1.15rem;color:var(--color-primary);margin:0 0 6px}.ec-form-section-hint{font-size:.85rem;color:var(--color-text-light);margin:0 0 16px}.ec-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.ec-field{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--color-text-light)}.ec-field-wide{grid-column:1 / -1}.ec-field input,.ec-field select{padding:11px 14px;border:1px solid rgba(0,0,0,.12);border-radius:8px;font-size:.95rem;color:var(--color-text);background:var(--color-white);font-family:inherit;transition:border-color .15s,box-shadow .15s}.ec-field input:focus,.ec-field select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #008b9d1f}.ec-field input:invalid:not(:placeholder-shown):not(:focus){border-color:#c0392b}.ec-field small{font-size:.78rem;color:var(--color-text-light)}.ec-field textarea{padding:11px 14px;border:1px solid rgba(0,0,0,.12);border-radius:8px;font-size:.95rem;color:var(--color-text);background:var(--color-white);font-family:inherit;resize:vertical;min-height:76px;transition:border-color .15s,box-shadow .15s}.ec-field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #008b9d1f}.ec-program-loading{color:var(--color-text-light);font-size:.9rem;font-style:italic}.ec-program-summary{margin-top:4px;max-width:420px}.ec-program-card{display:flex;flex-direction:column;gap:8px;background:#008b9d0a;border:2px solid var(--color-primary);border-radius:12px;padding:22px 24px}.ec-program-card-title{font-family:var(--font-heading);color:var(--color-primary);font-size:1.15rem;line-height:1.3}.ec-program-card-desc{color:var(--color-text-light);font-size:.88rem;line-height:1.5}.ec-program-card-meta{display:flex;align-items:center;gap:6px;color:var(--color-text-light);font-size:.88rem;margin-top:2px}.ec-program-card-meta svg{width:14px;height:14px;stroke:var(--color-accent);fill:none;stroke-width:2;flex-shrink:0}.ec-program-card-price{font-family:var(--font-heading);font-size:1.4rem;color:var(--color-accent);margin-top:6px}.ec-checkbox{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:.9rem;color:var(--color-text);line-height:1.6;cursor:pointer}.ec-checkbox input{margin-top:4px;flex-shrink:0}.ec-checkbox a{color:var(--color-accent)}.ec-form-actions{border-top:1px solid rgba(0,0,0,.08);padding-top:24px;display:flex;flex-direction:column;gap:12px;align-items:stretch}.ec-form-actions .btn{padding:14px 28px;font-size:1rem}.ec-form-actions .btn[disabled]{opacity:.6;cursor:not-allowed}.ec-form-error{background:#fff1ef;border:1px solid #f5c2c0;color:#b03028;padding:12px 16px;border-radius:8px;font-size:.9rem}.ec-booking-success{text-align:center;padding:60px 32px}.ec-booking-success .ec-success-icon{width:64px;height:64px;margin:0 auto 20px}.ec-booking-success .ec-success-icon svg{width:100%;height:100%;stroke:var(--color-primary);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ec-booking-success h3{font-size:1.5rem;color:var(--color-primary);margin-bottom:12px}.ec-booking-success p{color:var(--color-text-light);font-size:1rem;max-width:480px;margin:0 auto;line-height:1.7}.ec-cta-links{margin-top:20px}@media(max-width:700px){.ec-section-block,.ec-intro-card{padding:24px}.ec-price-highlight{flex-direction:column;text-align:center}.ec-price-amount{text-align:center}.ec-form{padding:24px}.ec-form-grid{grid-template-columns:1fr}}@media(max-width:480px){.ec-facts-grid{grid-template-columns:1fr}}
