/* YALS 2027 Registration Form — v3.0 Premium */
.yals-wrap,.yals-wrap *,.yals-wrap *::before,.yals-wrap *::after{box-sizing:border-box}
.yals-wrap{max-width:960px;margin:-30px auto 0;padding:40px 30px 60px;font-family:'Lora',Georgia,serif;color:#E8E8E8;font-size:15px;line-height:1.6;background:linear-gradient(180deg,#060E18 0%,#0A1628 100%);min-height:80vh;border-radius:0}
.yals-wrap label{color:#B0BEC5;font-weight:600;font-size:13px;letter-spacing:.3px;margin-bottom:4px}
.yals-wrap .req{color:#E8BC3F}

/* Logo header */
.yals-form-header{text-align:center;margin-bottom:32px;padding:0 20px}
.yals-form-header img{height:50px;margin-bottom:12px}
.yals-form-header h1{font-family:'Lora',serif;font-size:28px;font-weight:700;color:#fff;margin:0 0 4px}
.yals-form-header p{font-size:13px;color:#7A8EA0;margin:0}

/* Step progress */
.yals-progress{display:flex;justify-content:center;gap:8px;margin-bottom:32px}
.yals-progress-dot{width:10px;height:10px;border-radius:50%;background:#1E3250;transition:all .3s}
.yals-progress-dot.active{background:#D4A31A;box-shadow:0 0 8px rgba(212,163,26,.4)}
.yals-progress-dot.done{background:#27AE60}

/* Cards */
.yals-step{background:#0F2035;border-radius:14px;box-shadow:0 4px 24px rgba(0,0,0,.3);border:1px solid #1E3250;overflow:hidden;margin-bottom:24px}
.yals-card-header{background:linear-gradient(135deg,#0D1B2A,#142D5E);padding:20px 36px;display:flex;align-items:center;gap:14px;border-bottom:1px solid #1E3250}
.yals-card-header.yals-navy{background:linear-gradient(135deg,#0A1E45,#1A3A6E)}
.yals-card-icon{width:40px;height:40px;background:rgba(212,163,26,.15);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px}
.yals-card-header h2{font-family:'Lora',serif;font-weight:700;font-size:20px;color:#fff;margin:0}
.yals-card-header p{font-size:13px;color:rgba(255,255,255,.5);margin:3px 0 0;font-family:'Lora',serif}
.yals-card-body{padding:32px 36px 34px!important}

/* Actions bar */
.yals-actions{display:flex;justify-content:space-between;align-items:center;padding:20px 36px;border-top:1px solid #1E3250;background:#0A1628}
.yals-btn{font-family:'Lora',serif;font-size:14px;font-weight:700;padding:12px 32px;border-radius:8px;border:none;cursor:pointer;transition:all .2s;letter-spacing:.5px}
.yals-btn-primary{background:linear-gradient(135deg,#D4A31A,#E8BC3F);color:#0A1628}
.yals-btn-primary:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px rgba(212,163,26,.3)}
.yals-btn-secondary{background:transparent;color:#7A8EA0;border:1.5px solid #1E3250}
.yals-btn-secondary:hover{border-color:#E8BC3F;color:#E8BC3F}

/* Form rows */
.yals-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.yals-row-1{grid-template-columns:1fr}
.yals-row-3{grid-template-columns:1fr 1fr 1fr}
.yals-field{display:flex;flex-direction:column}
.yals-field-full{grid-column:1/-1}

/* Section divider */
.yals-section-divider{display:flex;align-items:center;gap:14px;margin:28px 0 20px;font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:#E8BC3F}
.yals-section-divider::before,.yals-section-divider::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,#1E3250,transparent)}
.yals-section-label{font-size:14px;font-weight:700;color:#E8BC3F;letter-spacing:.3px;display:block}

/* Inputs */
.yals-field input,.yals-field select,.yals-field textarea{font-family:'Lora',serif;font-size:15px;padding:12px 16px;border:1.5px solid #1E3250;border-radius:8px;background:#0A1628;color:#E8E8E8;transition:all .2s;outline:none;width:100%}
.yals-field input:focus,.yals-field select:focus,.yals-field textarea:focus{border-color:#D4A31A;box-shadow:0 0 0 3px rgba(212,163,26,.12);background:#0D1B2A}
.yals-field input::placeholder,.yals-field textarea::placeholder{color:#4A6080;font-style:italic}
.yals-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23E8BC3F' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.yals-field select option{background:#0A1628;color:#E8E8E8}
.yals-field textarea{resize:vertical;min-height:100px}
.yals-hint{font-size:12px;color:#4A6080;margin-top:4px;line-height:1.4}

/* File upload */
.yals-file-input{padding:12px 16px!important;background:#0A1628!important;border-style:dashed!important;cursor:pointer;border-color:#1E3250!important}
.yals-file-input:hover{border-color:#D4A31A!important}
.yals-file-input::file-selector-button{font-family:'Lora',serif;font-size:13px;font-weight:600;padding:7px 18px;background:#D4A31A;color:#0A1628;border:none;border-radius:5px;cursor:pointer;margin-right:12px}

/* Fee cards */
.yals-fee-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0}
.yals-fee-card{position:relative;border:2px solid #1E3250;border-radius:10px;padding:16px 18px;cursor:pointer;transition:all .2s;background:#0A1628}
.yals-fee-card:hover{border-color:rgba(212,163,26,.4);background:#0D1B2A}
.yals-fee-card.selected{border-color:#D4A31A;background:rgba(212,163,26,.08);box-shadow:0 0 16px rgba(212,163,26,.15)}
.yals-fee-card input[type="radio"]{position:absolute;top:14px;right:14px;accent-color:#D4A31A;width:16px;height:16px}
.yals-fc-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:rgba(212,163,26,.15);color:#E8BC3F;padding:3px 10px;border-radius:4px;margin-bottom:6px}
.yals-fc-badge.yals-badge-gold{background:rgba(212,163,26,.25);color:#E8BC3F}
.yals-fc-title{display:block;font-weight:700;font-size:14.5px;color:#fff;padding-right:24px;font-family:'Lora',serif}
.yals-fc-price{display:block;font-size:22px;font-weight:700;color:#E8BC3F;margin:6px 0 2px;font-family:'Lora',serif}
.yals-fc-desc{font-size:11.5px;color:#7A8EA0;line-height:1.4}
.yals-fc-group{font-size:10.5px;color:#4A6080;margin-top:6px;font-style:italic}

/* Accommodation cards */
.yals-acc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}
.yals-acc-card{border:1.5px solid #1E3250;border-radius:8px;padding:14px 10px;text-align:center;cursor:pointer;transition:all .2s;background:#0A1628}
.yals-acc-card:hover{border-color:rgba(212,163,26,.4)}
.yals-acc-card.selected{border-color:#D4A31A;background:rgba(212,163,26,.08)}
.yals-acc-card input[type="radio"]{accent-color:#D4A31A}
.yals-ac-title{display:block;font-weight:700;font-size:12px;color:#fff;margin-top:6px}
.yals-ac-price{display:block;font-size:18px;font-weight:700;color:#E8BC3F;margin:4px 0}
.yals-ac-note{font-size:10px;color:#7A8EA0}

/* Fee summary */
.yals-fee-summary{background:#0A1628;border:1.5px solid #1E3250;border-radius:10px;padding:22px;margin:20px 0}
.yals-fee-summary h3{font-family:'Lora',serif;margin:0 0 12px;font-size:16px;color:#E8BC3F}
.yals-fee-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;border-bottom:1px solid #1E3250;color:#B0BEC5}
.yals-fee-row:last-child{border-bottom:none}
.yals-fee-row.total{font-weight:700;font-size:16px;border-top:2px solid #D4A31A;margin-top:8px;padding-top:10px;color:#E8BC3F}

/* Checkboxes */
.yals-cb-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.yals-cb-item{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;border:1px solid #1E3250;border-radius:8px;background:#0A1628;cursor:pointer;transition:all .2s}
.yals-cb-item:hover{border-color:rgba(212,163,26,.3)}
.yals-cb-item input[type="checkbox"]{width:18px;height:18px;accent-color:#D4A31A;margin-top:2px;flex-shrink:0}
.yals-cb-label{font-size:13px;color:#B0BEC5}

/* ESBD section */
.yals-esbd-section{background:linear-gradient(135deg,#0A1628,#142D5E);border:1.5px solid rgba(212,163,26,.2);border-radius:10px;padding:22px;margin-top:12px}
.yals-esbd-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.yals-esbd-fields select,.yals-esbd-fields input{background:#0D1B2A!important;border-color:#1E3250!important;color:#E8E8E8!important}
.yals-esbd-fields select option{color:#E8E8E8;background:#0A1628}

/* Review step */
.yals-review-notice{background:#0A1628;border-radius:10px;padding:20px;margin-bottom:20px;border:1.5px solid #1E3250;color:#B0BEC5}
.yals-review-section{margin-bottom:16px}
.yals-review-section h3{font-size:14px;font-weight:700;color:#E8BC3F;margin:0 0 8px;letter-spacing:.5px;text-transform:uppercase}
.yals-review-card{background:#0A1628;border:1.5px solid #1E3250;border-radius:10px;padding:20px}
.yals-review-row{display:flex;justify-content:space-between;padding:5px 0;font-size:13px;border-bottom:1px solid #1E3250}
.yals-review-row:last-child{border-bottom:none}
.yals-review-label{color:#7A8EA0}
.yals-review-value{font-weight:600;color:#fff}

/* Success */
.yals-success-card{background:#0F2035;border-radius:14px;padding:48px;text-align:center;box-shadow:0 4px 24px rgba(0,0,0,.3);border:1px solid #1E3250}
.yals-success-icon{font-size:52px;margin-bottom:16px}
.yals-success-title{font-family:'Lora',serif;font-size:24px;font-weight:700;color:#27AE60;margin-bottom:8px}
.yals-success-msg{font-size:14px;color:#B0BEC5;line-height:1.6;max-width:500px;margin:0 auto}
.yals-ref-box{background:#0A1628;border:1.5px solid #D4A31A;border-radius:10px;padding:16px;margin:20px auto;max-width:320px}
.yals-ref-label{font-size:11px;color:#7A8EA0;text-transform:uppercase;letter-spacing:1px}
.yals-ref-number{font-size:28px;font-weight:700;color:#E8BC3F;font-family:'Lora',serif}

/* Mobile */
@media(max-width:768px){
    .yals-wrap{padding:20px 16px 40px;margin-top:-20px}
    .yals-card-body{padding:24px 22px 26px!important}
    .yals-card-header{padding:18px 22px}
    .yals-actions{padding:18px 22px}
    .yals-row,.yals-fee-grid,.yals-cb-grid,.yals-esbd-fields{grid-template-columns:1fr}
    .yals-row-3{grid-template-columns:1fr 1fr}
    .yals-acc-grid{grid-template-columns:1fr 1fr}
    .yals-form-header h1{font-size:22px}
    .yals-fc-price{font-size:18px}
}
@media(max-width:480px){
    .yals-wrap{padding:12px 10px 30px}
    .yals-card-body{padding:20px 18px!important}
    .yals-row-3,.yals-acc-grid{grid-template-columns:1fr}
}
