
/* Admission page. All form styling is scoped to preserve the theme header/footer. */
.admission-page { --ink:#272327; --cream:#ffefd9; background:var(--cream); color:var(--ink); font:14px/1.55 Arial,Helvetica,sans-serif; }
.admission-page *, .admission-page *::before, .admission-page *::after { box-sizing:border-box; }
.admission-page img { display:block; max-width:100%; height:auto; }
.admission-shell { width:min(1440px,calc(100% - 64px)); margin-inline:auto; }
.admission-breadcrumb { background:#f2f2f2; padding:12px 0; color:#626262; font-size:12px; }
.admission-breadcrumb .admission-shell { display:flex; align-items:center; gap:9px; }
.admission-breadcrumb a { color:#616161; text-decoration:none; }
.admission-breadcrumb a:hover { color:#bd4211; }
.admission-page .form-main { position:relative; isolation:isolate; overflow:hidden; padding:60px 0 40px; background:url('https://academy.fpt.edu.vn/wp-content/uploads/2026/09/grid.svg') center 35px / max(1440px,100%) auto no-repeat; }
.admission-layout { position:relative; display:grid; grid-template-columns:31% 56% 13%; align-items:start; }
.admission-portrait { position:relative; margin-top:116px; margin-left:-18px; }
.admission-student { width:100%; mask-image:linear-gradient(to bottom,#000 90%,transparent 100%); -webkit-mask-image:linear-gradient(to bottom,#000 90%,transparent 100%); }
.admission-decorations { position:absolute; inset:0; z-index:-1; pointer-events:none; }
.admission-page .decoration { position:absolute; object-fit:contain; pointer-events:none; }
.decoration-cap { width:clamp(95px,12vw,175px); left:max(2%,calc((100% - 1440px) / 2 + 30px)); top:35px; transform:rotate(-10deg); }
.decoration-stars-left { width:clamp(95px,11vw,160px); left:23%; top:60px; transform:rotate(180deg); }
.decoration-ribbon { width:clamp(100px,12vw,175px); right:1.8%; top:54px; }
.decoration-megaphone { width:clamp(85px,10vw,145px); right:1%; top:395px; transform:rotate(-13deg); }
.decoration-stars-right { width:90px; right:3%; top:720px; }
.decoration-bell { width:82px; right:8px; bottom:18%; transform:rotate(-12deg); }
.admission-card { min-width:0; overflow:hidden; border-radius:25px; background:#fff; border:1px solid #e2dccf; box-shadow:0 2px 0 #d3d4c8; }
.admission-banner { width:100%; }
.admission-page form { margin:0; padding:12px 25px 28px; }
.admission-page h1 { margin:0 0 23px; color:#cf551d; text-align:center; font:700 22px/1.35 Arial,sans-serif; text-transform:uppercase; }
.admission-page .title-section { margin:30px 0 20px; font:700 15px/1.5 Arial,sans-serif; color:#bd4613; text-transform:uppercase; letter-spacing:0; }
.admission-page form > .title-section:first-of-type { margin-top:0; }
.admission-page h4 { font:600 13px/1.6 Arial,sans-serif; margin:22px 0 12px; color:var(--ink); }
.admission-page .form-input { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-bottom:28px; }
.admission-page .form-input[style*="repeat(4"] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.admission-page .form-item { min-width:0; display:flex; flex-direction:column; justify-content:flex-end; gap:7px; }
.admission-page .form-item label { color:var(--ink); font-size:12px; font-weight:400; margin:0; line-height:1.5; }
.admission-page .form-item:has([required]) > label::after { content:' *'; color:#b53026; }
.admission-page .form-item input:not([type="file"]), .admission-page .form-item select { display:block; width:100%; min-width:0; max-width:100%; min-height:44px; height:44px; padding:7px 3px; margin:0; border:0; border-bottom:1px solid #939393; border-radius:0; background-color:#fff; box-shadow:none; color:var(--ink); font:14px/1.4 Arial,sans-serif; }
.admission-page .form-item input::placeholder { color:#777; font-size:12px; opacity:1; }
.admission-page .form-item select { padding-right:20px; text-overflow:ellipsis; }
.admission-page .form-item select:disabled { color:#777; background-color:#f7f7f7; cursor:not-allowed; }
.admission-page input:focus-visible, .admission-page select:focus-visible, .admission-page button:focus-visible, .admission-page a:focus-visible { outline:2px solid #23235a; outline-offset:3px; }
.admission-page .form-item p { margin:0; font-size:12px; font-weight:400; line-height:1.65; }
.admission-page .form-item p span { display:block; color:#777; }
.admission-page .form-input-cc { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:20px; }
.admission-page .form-item-preview { display:flex; align-items:center; justify-content:center; height:110px; padding:8px; border:1px dashed #dfc9b7; border-radius:6px; background:#fffaf4; overflow:hidden; }
.admission-page .form-item-preview img { max-width:100%; max-height:100%; object-fit:contain; }
.admission-page .form-item-preview:has(img:not([src])) { display:none; }
.admission-page .form-item input[type="file"] { display:block; max-width:100%; width:100%; height:auto; min-height:44px; margin:0; padding:6px 0; border:0; box-shadow:none; font:12px/1.5 Arial,sans-serif; }
.admission-page input[type="file"]::file-selector-button { padding:8px 10px; margin-right:7px; border:1px solid #d7c2b0; border-radius:4px; background:#fff5e8; color:#623418; cursor:pointer; }
.admission-page small { font-size:11px; color:#686868; }
.admission-page .text_camket { font-size:12px; margin:16px 0; line-height:1.9; }
.admission-page .text_camket label { display:block; font-size:inherit; font-weight:400; color:var(--ink); cursor:pointer; }
.admission-page .text_camket input { width:16px; height:16px; vertical-align:middle; margin:0 7px 2px 0; accent-color:#cf551d; }
.admission-page .text_camket a { color:#a63c12; text-decoration:underline; }
.admission-page .admission-submit { display:block; min-height:46px; max-width:100%; margin:28px auto 0; padding:11px 22px; border:0; border-radius:4px; background:linear-gradient(110deg,#f69a24,#ec6424); color:#fff; font:700 14px/1.5 Arial,sans-serif; text-transform:uppercase; letter-spacing:.3px; cursor:pointer; box-shadow:0 3px 8px #e9762322; transition:background-color .2s,box-shadow .2s; }
.admission-page .admission-submit:hover { background:#d95014; box-shadow:0 4px 12px #e9762344; }
.admission-page .hocsinh, .admission-page .sinhvien, .admission-page .khac { display:none; }
@media(min-width:1600px) { .decoration-stars-left { left:calc((100% - 1440px) / 2 + 325px); } }
@media(max-width:1100px) {
 .admission-shell { width:calc(100% - 36px); }
 .admission-layout { grid-template-columns:29% 64% 7%; }
 .admission-page form { padding-inline:22px; }
 .decoration-ribbon { right:-30px; }
 .decoration-megaphone { right:-38px; }
 .decoration-stars-right { right:-30px; }
 .admission-portrait { margin-top:110px; }
 .decoration-bell { width:58px; right:-5px; }
}
@media(max-width:767px) {
 .admission-shell { width:calc(100% - 28px); }
 .admission-breadcrumb { padding:10px 0; }
 .admission-page .form-main { padding:25px 0 35px; background-size:auto 560px; }
 .admission-layout { display:block; }
 .admission-portrait { display:none; }
 .admission-decorations { opacity:.5; }
 .decoration-cap, .decoration-stars-left, .decoration-megaphone, .decoration-stars-right { display:none !important; }
 .decoration-ribbon { right:-28px; top:0; }
 .admission-card { border-radius:16px; }
 .admission-page form { padding:18px 20px 24px; }
 .admission-page h1 { font-size:20px; margin-bottom:24px; }
 .admission-page .form-input, .admission-page .form-input[style*="repeat(4"], .admission-page .form-input-cc { grid-template-columns:1fr !important; gap:21px; margin-bottom:24px; }
 .admission-page .form-item label { font-size:14px; }
 .admission-page .form-item input:not([type="file"]), .admission-page .form-item select { font-size:16px; }
 .admission-page .form-item input::placeholder { font-size:14px; }
 .admission-page .title-section { font-size:15px; margin-top:30px; }
 .admission-page .form-item-preview { height:145px; }
 .admission-page .text_camket { font-size:13px; }
 .admission-page .admission-submit { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .admission-page * { transition:none !important; } }