/* Student registration: compact, touch-friendly and scoped to the public portal. */
#studentPortal.student-portal{padding:24px 16px!important;font-size:16px;line-height:1.65;align-items:start;min-height:100dvh}
#studentPortal .student-shell{width:min(900px,100%);padding:28px;box-sizing:border-box;display:flex;flex-direction:column;gap:20px}
#studentPortal .student-head{margin:0;position:relative;gap:18px!important}
#studentPortal .student-head>div{width:100%;min-width:0}
#studentPortal .student-brand-lockup{display:flex;align-items:center;gap:12px;margin-bottom:20px}
#studentPortal .student-brand-lockup .saraya-student-brand{width:64px;height:64px;flex:0 0 64px;margin:0;object-fit:contain;border-radius:12px}
#studentPortal .student-brand-lockup strong{flex:1;min-width:0;font-size:21px;line-height:1.5;color:#124c40}
#studentPortal .student-brand-lockup small{display:block;font-size:14px;font-weight:400;color:#6c756f;margin-top:2px}
#studentPortal .student-shell .student-head .student-employee-login{position:static!important;flex:0 0 auto;width:auto!important;min-height:46px!important;margin:0!important;padding:8px 14px!important;font-size:14px;font-weight:800;line-height:1.5;color:#174f45!important;-webkit-text-fill-color:#174f45;background:linear-gradient(145deg,#fff,#fffdf7)!important;border:1px solid #caa45c!important;border-radius:12px!important;box-shadow:inset 0 1px 0 #fff,0 3px 0 #c7b58e,0 6px 14px #6448191a!important;text-shadow:0 1px 0 #fff;transition:background .15s,box-shadow .15s}
#studentPortal .student-shell .student-head .student-employee-login:hover{background:#fff!important}
#studentPortal .student-shell .student-head .student-employee-login:focus-visible{outline:3px solid #996b21;outline-offset:4px}
#studentPortal .student-shell .student-head .student-employee-login:active{box-shadow:inset 0 1px 0 #fff,0 1px 0 #c7b58e!important}
#studentPortal .student-shell .student-badge{display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;min-height:52px!important;padding:10px 12px!important;margin-bottom:14px;border-radius:12px!important;font-size:16px!important;line-height:1.5;text-align:center;white-space:normal;box-shadow:none!important;box-sizing:border-box}
#studentPortal .student-head>div>h1{font-size:28px!important;line-height:1.4;margin:0 0 10px}
#studentPortal .student-intro{margin:0;color:#4b5b53;font-size:16px;line-height:1.8;max-width:660px}
#studentPortal .student-intro>strong{display:block;font-size:21px;line-height:1.6;color:#195245;font-weight:700;margin-bottom:8px}
#studentPortal .student-intro>span{display:block}
#studentPortal .student-explore{display:flex;flex-direction:column;align-items:stretch;gap:8px;order:1;text-align:center}
#studentPortal .student-explore .student-gallery-link{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;max-width:100%;min-height:52px!important;padding:10px 12px!important;border-radius:12px!important;box-sizing:border-box;text-decoration:none;font-size:16px!important;line-height:1.5;box-shadow:0 3px 0 #8b6426!important}
#studentPortal .student-explore>small{font-size:13px;color:#617068}
#studentPortal .student-discount-banner{order:2;margin:0!important;padding:12px 16px!important;min-height:0;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;font-size:15px;border-radius:12px;box-shadow:none!important}
#studentPortal .student-discount-banner b{color:#ffda84}
#studentPortal .student-rooms{order:3;min-width:0}
#studentPortal .student-rooms h2{margin:0;font-size:23px;color:#174f45}
#studentPortal .student-rooms>p{margin:4px 0 14px;font-size:15px;color:#5e6e65}
#studentPortal #studentOffers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
#studentPortal #studentOffers .offer{display:flex;flex-direction:column;align-items:flex-start;padding:14px;border:1px solid #dfbd68;border-radius:14px;background:linear-gradient(155deg,#fff,#fffaf0);box-shadow:0 6px 16px #64481914;min-width:0;min-height:150px;font-size:15px;cursor:pointer;overflow-wrap:anywhere}
#studentPortal #studentOffers .offer h3{margin:8px 0 4px;font-size:18px;line-height:1.45}
#studentPortal #studentOffers .offer p{margin:0 0 8px;font-size:14px;line-height:1.5;white-space:normal;overflow:visible}
#studentPortal #studentOffers .offer strong{font-size:20px;display:block;margin-top:8px;color:#174f45}
#studentPortal #studentOffers .offer small{display:block;font-size:13px;color:#63716a}
#studentPortal #studentOffers .offer .pill{font-size:12px;padding:3px 8px;background:#fcf3da;color:#79571e}
#studentPortal #studentOffers .offer .student-interest-action{display:block;margin-top:10px;padding-top:6px;border-top:1px solid #dfd8c8;width:100%;font-size:14px;font-weight:700;color:#175b48}
#studentPortal #studentOffers .offer.selected{border:2px solid #17664f;background:#eef8f2;box-shadow:0 0 0 2px #17664f17}
#studentPortal #studentOffers .offer:focus-visible{outline:3px solid #a56b16;outline-offset:3px}
#studentPortal #studentOffers>.note{grid-column:1/-1}
#studentPortal :is(#studentForm,#studentBookingForm){order:4;padding:16px 0 0;margin:0;border-top:1px solid #dfd8c8;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;scroll-margin-top:16px}
#studentPortal :is(#studentForm,#studentBookingForm).hidden{display:none!important}
#studentPortal :is(#studentForm,#studentBookingForm) .full{grid-column:1/-1;min-width:0}
#studentPortal .student-form-heading>span{font-size:13px;color:#8a682a}
#studentPortal .student-form-heading h2{font-size:24px;color:#174f45;margin:0}
#studentPortal .student-form-heading p{font-size:15px;color:#63716a;margin:4px 0}
#studentPortal :is(#studentForm,#studentBookingForm) .field{margin:0;gap:3px;min-width:0;display:flex;flex-direction:column}
#studentPortal :is(#studentForm,#studentBookingForm) .field.hidden{display:none!important}
#studentPortal :is(#studentForm,#studentBookingForm) .field label{font-size:14px;line-height:1.5;color:#244f42}
#studentPortal :is(#studentForm,#studentBookingForm) .field input,#studentPortal :is(#studentForm,#studentBookingForm) .field select,#studentPortal :is(#studentForm,#studentBookingForm) .field textarea{font:inherit;font-size:16px;min-height:44px;line-height:1.5;border:1px solid #b8cec2;border-radius:10px;background:#fff;width:100%;min-width:0;max-width:100%;padding:8px;box-sizing:border-box}
#studentPortal :is(#studentForm,#studentBookingForm) .field input:focus,#studentPortal :is(#studentForm,#studentBookingForm) .field select:focus,#studentPortal :is(#studentForm,#studentBookingForm) .field textarea:focus{outline:2px solid #247960;outline-offset:2px}
#studentPortal :is(#studentForm,#studentBookingForm) .field input[readonly]{background:#f0f5f1;color:#205442}
#studentPortal :is(#studentForm,#studentBookingForm) .field small{font-size:13px;color:#66736c}
#studentPortal .student-extra{border:1px solid #dedbcf;border-radius:10px;background:#fafaf6}
#studentPortal .student-extra summary{cursor:pointer;padding:12px;font-size:15px;color:#315e4e;min-height:44px;box-sizing:border-box}
#studentPortal .student-extra-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;padding:0 10px 10px}
#studentPortal .student-consent{padding:13px;gap:10px;line-height:1.7;font-size:14px;background:#fff9e9;border-color:#dbc58a;cursor:pointer}
#studentPortal .student-consent input{width:22px;height:22px;flex:0 0 22px;margin:2px 0 0;accent-color:#17664f;cursor:pointer}
#studentPortal .student-consent b{display:block;font-size:13px;color:#735c2a}
#studentPortal :is(#studentForm,#studentBookingForm) .form-actions{margin:0;padding:0;display:block;border:0}
#studentPortal :is(#studentForm,#studentBookingForm) .form-actions .btn{width:100%;min-height:52px!important;font-size:18px;box-shadow:0 3px 0 #87571f!important}
#studentPortal .student-registration-note{font-size:13px;color:#67746d;text-align:center;line-height:1.7;margin:0}
#studentPortal .student-paths{order:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;scroll-margin-top:16px}
#studentPortal .student-paths .btn{display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px!important;padding:10px!important;box-sizing:border-box;text-decoration:none;white-space:normal;font-size:16px;color:#174f45}
#studentPortal .student-paths .btn.is-selected{background:linear-gradient(145deg,#246454,#0b3c31)!important;color:#fff!important;border-color:#caa45c!important}
#studentPortal .student-paths .btn:focus-visible{outline:3px solid #996b21;outline-offset:3px}
#studentPortal .student-booking-panel{order:5;scroll-margin-top:16px}
#studentPortal .student-booking-panel.hidden{display:none!important}
#studentPortal .student-booking-panel .student-rooms{margin-bottom:18px}
#studentPortal .student-form-error{font-size:14px;background:#fff1ee;border:1px solid #e4bbb3;color:#8d261e;padding:10px 12px;border-radius:8px}
#studentPortal .student-shell>.guest-contact{order:6!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0!important;border-top:1px solid #dfd8c8;padding-top:18px}
#studentPortal .student-shell>.guest-contact .contact-btn{min-height:48px!important;margin:0;box-shadow:none!important;font-size:14px!important;gap:8px!important;padding:10px!important;box-sizing:border-box}
#studentPortal .guest-contact .contact-icon{width:24px;height:24px;object-fit:contain}
#studentPortal :is(#studentSuccess,#studentBookingSuccess){order:4;padding:26px 12px;color:#174f45;border:1px solid #b9d3c6;border-radius:12px;background:#f0f8f3}
#studentPortal :is(#studentSuccess,#studentBookingSuccess) h2{font-size:24px}
#studentPortal :is(#studentSuccess,#studentBookingSuccess) p{font-size:16px}
@media(max-width:800px){
  #studentPortal #studentOffers{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  #studentPortal.student-portal{padding:10px 8px!important;background-attachment:scroll!important}
  #studentPortal .student-shell{padding:18px 14px;gap:18px;border-radius:18px}
  #studentPortal .student-head{display:block!important}
  #studentPortal .student-brand-lockup{gap:8px;margin:0 0 14px}
  #studentPortal .student-brand-lockup .saraya-student-brand{width:48px;height:48px;flex-basis:48px}
  #studentPortal .student-brand-lockup strong{font-size:18px}
  #studentPortal .student-brand-lockup small{font-size:13px}
  #studentPortal .student-shell .student-head .student-employee-login{width:88px!important;white-space:normal;padding:6px!important}
  #studentPortal .student-head>div>h1{font-size:26px!important}
  #studentPortal .student-intro>strong{font-size:20px}
  #studentPortal .student-explore{flex-direction:column;gap:8px;align-items:stretch;text-align:center}
  #studentPortal .student-explore .student-gallery-link{width:100%;box-sizing:border-box}
  #studentPortal #studentOffers{gap:10px}
  #studentPortal #studentOffers .offer{padding:12px 10px}
  #studentPortal :is(#studentForm,#studentBookingForm),#studentPortal .student-extra-fields{column-gap:8px}
  #studentPortal .student-shell>.guest-contact{grid-template-columns:1fr!important}
}
