*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:tahoma,sans-serif
}

body{
direction:rtl;
background:#f4f5f7;
color:#222
}

.container{
width:100%;
max-width:1200px;
margin:auto;
padding:20px
}

.form-box{
background:#fff;
border-radius:20px;
padding:30px;
box-shadow:0 5px 20px rgba(0,0,0,.08)
}

.logo{
text-align:center;
margin-bottom:20px
}

.logo img{
max-width:180px;
height:auto
}

h1{
text-align:center;
color:#5b2da3;
margin-bottom:10px
}

.subtitle{
text-align:center;
color:#666;
margin-bottom:30px
}

.section-title{
margin:30px 0 15px;
color:#5b2da3;
font-size:18px;
font-weight:bold
}

.row{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px
}

.col{
display:flex;
flex-direction:column
}

.full{
grid-column:1/-1
}

label{
margin-bottom:8px;
font-size:14px;
font-weight:bold
}

input[type=text],
input[type=tel],
input[type=number],
textarea{
width:100%;
padding:12px;
border:1px solid #ddd;
border-radius:10px;
font-size:14px
}

textarea{
resize:vertical;
min-height:120px
}

input:focus,
textarea:focus{
outline:none;
border-color:#5b2da3
}
.age-group{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:15px;
margin-top:15px
}

.age-item{
display:flex;
align-items:center;
justify-content:center;
gap:8px;
padding:15px;
border:1px solid #ddd;
border-radius:12px;
background:#fafafa;
cursor:pointer;
transition:.3s
}

.age-item:hover{
border-color:#5b2da3;
background:#f7f3ff
}

.skills{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
margin-top:20px
}

.skill-box{
background:#fafafa;
border:1px solid #e5e5e5;
border-radius:15px;
padding:20px;
width:100%;
min-width:0
}

.skill-item{
display:flex;
align-items:flex-start;
gap:8px;
margin-bottom:14px;
flex-wrap:wrap
}

.skill-item:last-child{
margin-bottom:0
}

.skill-item input[type=checkbox]{
width:18px;
height:18px;
margin-top:2px;
flex-shrink:0
}

.skill-item span{
flex:1;
font-size:14px;
line-height:1.7;
word-break:break-word;
overflow-wrap:anywhere
}

.skill-item input[type=text]{
width:100%;
margin-top:8px
}

.submit{
margin-top:30px
}

button{
width:100%;
padding:15px;
border:none;
border-radius:12px;
background:#5b2da3;
color:#fff;
font-size:16px;
font-weight:bold;
cursor:pointer;
transition:.3s
}

button:hover{
background:#4b2487
}

.success{
max-width:700px;
margin:60px auto;
background:#fff;
padding:40px;
border-radius:20px;
text-align:center;
box-shadow:0 5px 20px rgba(0,0,0,.08)
}
/* Tablet */

@media(max-width:992px){

.container{
padding:15px
}

.form-box{
padding:25px
}

.row{
grid-template-columns:1fr
}

.age-group{
grid-template-columns:1fr
}

.skills{
grid-template-columns:1fr
}

.skill-box{
width:100%;
max-width:100%;
overflow:hidden
}

h1{
font-size:28px
}

.section-title{
font-size:17px
}

button{
padding:14px
}

}

/* Mobile */

@media(max-width:768px){

.container{
padding:10px
}

.form-box{
padding:18px;
border-radius:15px
}

.logo img{
max-width:130px
}

h1{
font-size:24px
}

.subtitle{
font-size:13px
}

.section-title{
font-size:16px
}

.skills{
display:grid;
grid-template-columns:1fr;
gap:15px
}

.skill-box{
padding:15px;
width:100%;
max-width:100%;
overflow:hidden
}

.skill-item{
display:flex;
align-items:flex-start;
gap:8px;
flex-wrap:wrap
}

.skill-item span{
width:calc(100% - 30px);
font-size:13px;
line-height:1.8;
word-break:break-word;
overflow-wrap:anywhere
}

.skill-item input[type=text]{
width:100%;
margin-top:8px
}

input[type=text],
input[type=tel],
input[type=number],
textarea{
font-size:14px;
padding:12px
}

button{
font-size:15px
}

}

/* Small Phones */

@media(max-width:480px){

.container{
padding:8px
}

.form-box{
padding:15px
}

h1{
font-size:22px
}

.subtitle{
font-size:12px
}

.section-title{
font-size:15px
}

.skill-box{
padding:12px
}

.skill-item span{
font-size:12px
}

input[type=text],
input[type=tel],
input[type=number],
textarea{
padding:10px;
font-size:13px
}

button{
padding:13px;
font-size:14px
}

}

/* Helpers */

.required::after{
content:" *";
color:#e74c3c
}

.success h2{
color:#27ae60;
margin-bottom:15px
}

.success p{
color:#555
}