/* Styles extracted from Index.cshtml to keep all homepage styling in wwwroot/css. */

.ups-home-posters{
					padding:55px 0 45px;
					background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
					overflow:hidden;
				}
				.ups-home-posters *{box-sizing:border-box}
				.ups-posters-container{
					width:100%;
					max-width:1240px;
					margin:0 auto;
					padding:0 20px;
				}
				.ups-posters-head{
					display:flex;
					align-items:end;
					justify-content:space-between;
					gap:20px;
					margin-bottom:24px;
				}
				.ups-posters-title h2{
					margin:0;
					color:#063b76;
					font-size:34px;
					font-weight:800;
					line-height:1.15;
				}
				.ups-posters-title .ar{
					margin-top:6px;
					color:#078acb;
					font-size:22px;
					font-weight:700;
				}
				.ups-posters-title p{
					margin:10px 0 0;
					color:#5d6674;
					font-size:15px;
				}
				.ups-posters-controls{
					display:flex;
					gap:9px;
					flex:0 0 auto;
				}
				.ups-posters-arrow{
					width:44px;
					height:44px;
					border:0;
					border-radius:50%;
					background:#063b76;
					color:#fff;
					font-size:24px;
					line-height:44px;
					cursor:pointer;
					transition:.2s ease;
					box-shadow:0 5px 15px rgba(6,59,118,.18);
				}
				.ups-posters-arrow:hover{
					background:#d89a16;
					transform:translateY(-2px);
				}
				.ups-posters-viewport{
					overflow:hidden;
					border-radius:20px;
				}
				.ups-posters-track{
					display:flex;
					gap:20px;
					overflow-x:auto;
					scroll-snap-type:x mandatory;
					scroll-behavior:smooth;
					padding:4px 2px 16px;
					scrollbar-width:none;
				}
				.ups-posters-track::-webkit-scrollbar{display:none}
				.ups-poster-card{
					flex:0 0 calc(25% - 15px);
					scroll-snap-align:start;
					border-radius:18px;
					overflow:hidden;
					background:#fff;
					border:1px solid #e2eaf3;
					box-shadow:0 9px 28px rgba(4,45,90,.10);
					transition:transform .2s ease,box-shadow .2s ease;
				}
				.ups-poster-card:hover{
					transform:translateY(-5px);
					box-shadow:0 14px 34px rgba(4,45,90,.17);
				}
				.ups-poster-button{
					display:block;
					width:100%;
					padding:0;
					border:0;
					background:#fff;
					cursor:pointer;
					text-align:left;
				}
				.ups-poster-image-wrap{
					position:relative;
					aspect-ratio:2/3;
					background:#edf3f8;
					overflow:hidden;
				}
				.ups-poster-image{
					width:100%;
					height:100%;
					display:block;
					object-fit:cover;
					transition:transform .35s ease;
				}
				.ups-poster-card:hover .ups-poster-image{transform:scale(1.025)}
				.ups-poster-open-label{
					position:absolute;
					left:50%;
					bottom:14px;
					transform:translateX(-50%);
					padding:8px 15px;
					border-radius:50px;
					background:rgba(4,45,90,.88);
					color:#fff;
					font-size:13px;
					font-weight:700;
					opacity:0;
					transition:.2s ease;
					white-space:nowrap;
				}
				.ups-poster-card:hover .ups-poster-open-label{opacity:1}
				.ups-poster-caption{
					padding:15px 15px 16px;
					text-align:center;
				}
				.ups-poster-caption strong{
					display:block;
					color:#063b76;
					font-size:16px;
					line-height:1.25;
				}
				.ups-poster-caption span{
					display:block;
					margin-top:4px;
					color:#7a8490;
					font-size:12px;
				}
				.ups-posters-dots{
					display:flex;
					justify-content:center;
					gap:7px;
					margin-top:8px;
				}
				.ups-posters-dot{
					width:8px;
					height:8px;
					padding:0;
					border:0;
					border-radius:50%;
					background:#c8d5e4;
				}
				.ups-posters-dot.active{
					width:26px;
					border-radius:20px;
					background:#d89a16;
				}

				/* Full-screen viewer */
				.ups-poster-lightbox{
					position:fixed;
					inset:0;
					z-index:99999;
					display:none;
					align-items:center;
					justify-content:center;
					padding:25px;
					background:rgba(0,20,45,.92);
				}
				.ups-poster-lightbox.is-open{display:flex}
				.ups-poster-lightbox-img{
					max-width:min(92vw,780px);
					max-height:92vh;
					object-fit:contain;
					border-radius:10px;
					box-shadow:0 15px 50px rgba(0,0,0,.35);
				}
				.ups-lightbox-close,
				.ups-lightbox-nav{
					position:absolute;
					border:0;
					color:#fff;
					background:rgba(255,255,255,.14);
					cursor:pointer;
					backdrop-filter:blur(5px);
				}
				.ups-lightbox-close{
					top:18px;
					right:20px;
					width:46px;
					height:46px;
					border-radius:50%;
					font-size:32px;
					line-height:42px;
				}
				.ups-lightbox-nav{
					top:50%;
					transform:translateY(-50%);
					width:50px;
					height:64px;
					border-radius:12px;
					font-size:28px;
				}
				.ups-lightbox-prev{left:18px}
				.ups-lightbox-next{right:18px}

							@media(max-width:991px) {
					.ups-poster-card{flex-basis:calc(50% - 10px)}
				}
				@media(max-width:575px){
					.ups-home-posters{padding:38px 0 32px}
					.ups-posters-container{padding:0 14px}
					.ups-posters-head{align-items:center}
					.ups-posters-title h2{font-size:26px}
					.ups-posters-title .ar{font-size:19px}
					.ups-posters-title p{display:none}
					.ups-posters-arrow{width:39px;height:39px;line-height:39px}
					.ups-poster-card{flex-basis:86%}
					.ups-lightbox-nav{width:42px;height:54px}
					.ups-lightbox-prev{left:8px}
					.ups-lightbox-next{right:8px}
					.ups-poster-open-label{opacity:1}
				}

/* Existing tuition fees View / Download list styles, unchanged */
/* =========================================================
						   POLICIES - KEEP SAME LOOK AS ORIGINAL DESIGN
						   ========================================================= */

					.policy-list {
						margin: 0;
						padding: 0;
					}

						.policy-list .policy-item {
							display: flex !important;
							align-items: center !important;
							justify-content: space-between !important;
							flex-wrap: nowrap !important;
							width: 100%;
							min-height: 66px;
							padding-top: 8px;
							padding-bottom: 8px;
							border-bottom: 1px solid #eeeeee;
							gap: 10px;
						}


							/* =========================================================
						   TITLE AREA
						   ========================================================= */

							.policy-list .policy-item .policy-text {
								flex: 1 1 auto;
								min-width: 0;
								display: flex;
								flex-direction: column;
								padding-right: 10px;
							}


								/* English title */
								.policy-list .policy-item .policy-text .en {
									display: block !important;
									font-size: 18px;
									font-weight: 600;
									line-height: 1.35;
									color: #111111;
								}


								/* Arabic title */
								.policy-list .policy-item .policy-text .ar {
									display: block !important;
									margin-top: 3px;
									font-size: 13px;
									font-weight: 400;
									line-height: 1.4;
									color: #333333;
									text-align: center;
								}


							/* =========================================================
						   BUTTON AREA
						   ========================================================= */

							.policy-list .policy-item .policy-actions {
								flex: 0 0 auto;
								display: flex !important;
								flex-direction: row !important;
								align-items: center !important;
								justify-content: flex-end !important;
								flex-wrap: nowrap !important;
								gap: 7px;
								margin-left: auto;
							}


								/* Normal View / Download buttons */
								.policy-list .policy-item .policy-actions .btn-action {
									width: 40px;
									height: 40px;
									min-width: 40px;
									display: inline-flex !important;
									align-items: center;
									justify-content: center;
									padding: 0;
									border: 1px solid #dddddd;
									border-radius: 50%;
									background: #ffffff;
									color: #20c2b5;
									text-decoration: none;
									font-size: 16px;
									transition: all .2s ease;
								}


									.policy-list .policy-item .policy-actions .btn-action:hover {
										background: #20c2b5;
										border-color: #20c2b5;
										color: #ffffff;
									}


							/* =========================================================
						   POLICIES WITH EN + AR FILES
						   ========================================================= */

							.policy-list .policy-item .multi-lang-actions .btn-action {
								width: auto;
								min-width: 48px;
								padding-left: 8px;
								padding-right: 8px;
								border-radius: 20px;
								gap: 4px;
								font-size: 12px;
								font-weight: 600;
							}


					/* =========================================================
						   MOBILE
						   ========================================================= */

					@media (max-width: 575px) {

						.policy-list .policy-item {
							gap: 6px;
						}

							.policy-list .policy-item .policy-text .en {
								font-size: 15px;
							}

							.policy-list .policy-item .policy-text .ar {
								font-size: 12px;
							}

							.policy-list .policy-item .policy-actions {
								gap: 4px;
							}

								.policy-list .policy-item .policy-actions .btn-action {
									width: 34px;
									height: 34px;
									min-width: 34px;
									font-size: 14px;
								}

							.policy-list .policy-item .multi-lang-actions .btn-action {
								width: auto;
								min-width: 43px;
								padding-left: 6px;
								padding-right: 6px;
							}
					}

/* ==========================================================
   UNIVERSAL PRIVATE SCHOOL | POLICY CATALOG (2026–2027)
   No global li pseudo icons; every check has its own grid cell.
   ========================================================== */
.ups-policy-categories { margin: 0 auto 38px; }
.ups-policy-categories, .ups-policy-categories * { box-sizing: border-box; }
.ups-policy-group {
  --ups-policy-accent: #09877f;
  --ups-policy-soft: #eefaf7;
  position: relative;
  margin: 0 0 30px;
  overflow: hidden;
  border: 1px solid #dfe9ee;
  border-radius: 19px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(23, 60, 79, .08);
  scroll-margin-top: 100px;
}
.ups-policy-group--admin {
  --ups-policy-accent: #235ca0;
  --ups-policy-soft: #eff5fc;
}
.ups-policy-group-head {
  display: flex;
  align-items: center;
  gap: 19px;
  min-height: 102px;
  padding: 23px 28px;
  color: #fff;
  background: linear-gradient(115deg, #075c67, #159e97);
}
.ups-policy-group--admin .ups-policy-group-head {
  background: linear-gradient(115deg, #173b73, #326dad);
}
.ups-policy-group-icon {
  width: 60px;
  height: 60px;
  flex: 0 0 60px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.17);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px;
  font-size: 26px;
}
.ups-policy-group-heading {
  min-width: 0;
  flex: 1;
}
.ups-policy-group-heading h3 {
  margin: 0 0 5px;
  padding: 0;
  font-size: clamp(20px, 2.1vw, 27px);
  line-height: 1.25;
  color: #fff !important;
  font-weight: 800;
  overflow-wrap: break-word;
}
.ups-policy-group-ar {
  display: block;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255,255,255,.96);
  text-align: start;
}
.ups-policy-group-count {
  flex: 0 0 auto;
  border-radius: 50px;
  border: 1px solid rgba(255,255,255,.45);
  background: rgba(255,255,255,.14);
  padding: 8px 13px;
  font-size: 12px;
  font-weight: 800;
  color: #fff;
  white-space: nowrap;
}
.ups-policy-group-intro {
  margin: 0;
  padding: 20px 28px 7px;
  color: #60778a;
  font-size: 14px;
  line-height: 1.6;
}
.ups-policy-group-body { padding: 7px 20px 22px; }
.ups-policy-group-body .ups-policy-row { margin-left: -10px; margin-right: -10px; }
.ups-policy-column { min-width: 0; padding-left: 10px; padding-right: 10px; }
.ups-policy-list,
.ups-policy-list li { list-style: none !important; }
.ups-policy-list { padding: 0 !important; margin: 0 !important; }
.ups-policy-list > li::before,
.ups-policy-list > li::after { content: none !important; display: none !important; }
.ups-policy-item {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 12px;
  row-gap: 8px;
  position: relative;
  width: 100%;
  min-width: 0;
  min-height: 87px;
  padding: 14px 9px 14px 7px;
  margin: 0;
  border-bottom: 1px solid #eaf0f4;
  transition: background-color .2s ease;
}
.ups-policy-item:hover { background-color: #f8fbfd; }
.ups-policy-item:last-child { border-bottom: 0; }
.ups-policy-check {
  display: grid;
  place-items: center;
  align-self: start;
  width: 27px;
  height: 27px;
  margin-top: 2px;
  border-radius: 50%;
  background: #22b9b0;
  color: #fff;
  font-size: 13px;
  flex-shrink: 0;
}
.ups-policy-copy { min-width: 0; padding-right: 4px; }
.ups-policy-title {
  display: block;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.5;
  letter-spacing: -.01em;
  color: #17324e;
  overflow-wrap: anywhere;
  word-break: normal;
}
.ups-policy-title-ar {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.65;
  font-weight: 500;
  text-align: right;
  color: #708397;
  overflow-wrap: anywhere;
}
.ups-policy-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}
.ups-policy-file-actions {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  min-width: 0;
}
.ups-policy-language {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 25px;
  height: 22px;
  border-radius: 5px;
  background: var(--ups-policy-soft);
  color: var(--ups-policy-accent);
  font-size: 10px;
  font-weight: 800;
}
.ups-policy-action {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 39px;
  height: 39px;
  min-width: 39px;
  padding: 0 !important;
  border: 1px solid #dce6ec;
  border-radius: 11px;
  background: #fff;
  color: var(--ups-policy-accent) !important;
  font-size: 16px;
  line-height: 1;
  text-decoration: none !important;
  box-shadow: 0 2px 5px rgba(20, 64, 90, .025);
  transition: background-color .18s, border-color .18s, transform .18s;
}
.ups-policy-action:hover, .ups-policy-action:focus-visible {
  background: var(--ups-policy-soft);
  border-color: var(--ups-policy-accent);
  color: var(--ups-policy-accent) !important;
  transform: translateY(-1px);
}
.ups-policy-action:focus-visible,
.ups-pdf-close:focus-visible,
.ups-pdf-download:focus-visible { outline: 3px solid #ffca64; outline-offset: 2px; }
.ups-policy-group-body .ups-policy-row .ups-policy-column:last-child { border-left: 1px solid #edf1f4; }
/* PDF stays on the SAME page in a self-contained overlay (no Bootstrap dependency). */
body.ups-pdf-scroll-locked { overflow: hidden !important; }
.ups-pdf-modal[hidden] { display: none !important; }
.ups-pdf-modal {
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  background: rgba(9, 25, 44, .82);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  box-sizing: border-box;
}
.ups-pdf-modal, .ups-pdf-modal * { box-sizing: border-box; }
.ups-pdf-dialog {
  display: flex;
  flex-direction: column;
  width: min(1100px, 100%);
  height: min(92vh, 1000px);
  min-height: 360px;
  min-width: 0;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.2);
  background: #f4f7fb;
  box-shadow: 0 25px 80px rgba(0,0,0,.35);
}
.ups-pdf-header {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 73px;
  padding: 11px 18px 11px 22px;
  background: linear-gradient(115deg, #0c406d, #246da3);
  color: #fff;
}
.ups-pdf-header-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 11px;
  background: rgba(255,255,255,.16);
  font-size: 19px;
}
.ups-pdf-titles { min-width: 0; flex: 1; }
.ups-pdf-titles h3 {
  color: #fff !important;
  margin: 0;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 750;
  overflow-wrap: anywhere;
}
.ups-pdf-titles p { margin: 2px 0 0; color: #dceaf6; font-size: 12px; line-height: 1.3; text-align: start; }
.ups-pdf-controls { display: flex; flex: 0 0 auto; align-items: center; gap: 9px; }
.ups-pdf-download, .ups-pdf-close {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  border: 1px solid rgba(255,255,255,.4);
  border-radius: 10px;
  background: rgba(255,255,255,.14);
  color: #fff !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
}
.ups-pdf-download { padding: 0 13px; }
.ups-pdf-close { width: 42px; padding: 0; font-size: 22px; }
.ups-pdf-download:hover, .ups-pdf-close:hover { background: rgba(255,255,255,.29); }
.ups-pdf-frame { display: block; flex: 1 1 auto; width: 100%; height: 100%; min-height: 0; border: none; background: #fff; }
.ups-pdf-footer { padding: 7px 15px; font-size: 11px; color: #678095; text-align: center; background: #f4f7fb; }
@media (max-width: 1199px) {
  .ups-policy-item { grid-template-columns: 27px minmax(0,1fr) auto; column-gap: 9px; }
  .ups-policy-title { font-size: 13px; }
  .ups-policy-action { width: 35px; height: 35px; min-width: 35px; }
}
@media (max-width: 991px) {
  .ups-policy-group-body .ups-policy-row .ups-policy-column:last-child { border-left: none; }
  .ups-policy-group-body { padding: 5px 22px 19px; }
  .ups-policy-title { font-size: 14px; }
  .ups-policy-action { width: 39px; height: 39px; min-width: 39px; }
  .ups-policy-item { min-height: 76px; }
}
@media (max-width: 640px) {
  .ups-policy-group { border-radius: 15px; margin-bottom: 22px; }
  .ups-policy-group-head { padding: 19px 16px; min-height: 93px; gap: 12px; flex-wrap: wrap; }
  .ups-policy-group-icon { width: 47px; height: 47px; flex-basis: 47px; font-size: 21px; border-radius: 12px; }
  .ups-policy-group-heading h3 { font-size: 19px; }
  .ups-policy-group-ar { font-size: 12px; }
  .ups-policy-group-count { margin-left: 59px; padding: 5px 10px; }
  .ups-policy-group-intro { padding: 15px 18px 7px; font-size: 13px; }
  .ups-policy-group-body { padding: 3px 13px 14px; }
  .ups-policy-item { grid-template-columns: 25px minmax(0,1fr) auto; column-gap: 8px; padding: 13px 3px; }
  .ups-policy-check { width: 24px; height: 24px; font-size: 11px; }
  .ups-policy-title { font-size: 13px; }
  .ups-policy-title-ar { font-size: 11px; }
  .ups-policy-action { width: 35px; height: 35px; min-width: 35px; border-radius: 9px; font-size: 14px; }
  .ups-policy-actions { gap: 5px; }
  .ups-policy-item--multi { grid-template-columns: 25px minmax(0,1fr); }
  .ups-policy-item--multi .ups-policy-actions { grid-column: 2 / -1; justify-content: flex-start; }
  .ups-pdf-modal { padding: 8px; }
  .ups-pdf-dialog { height: 95vh; border-radius: 11px; }
  .ups-pdf-header { padding: 9px; gap: 8px; }
  .ups-pdf-header-icon { display: none; }
  .ups-pdf-titles h3 { font-size: 13px; }
  .ups-pdf-titles p { font-size: 10px; }
  .ups-pdf-download { padding: 0 9px; min-height: 36px; }
  .ups-pdf-download .ups-pdf-download-text { display: none; }
  .ups-pdf-close { width: 36px; min-height: 36px; }
}
@media (max-width: 360px) {
  .ups-policy-item { grid-template-columns: 24px minmax(0,1fr); }
  .ups-policy-actions { grid-column: 2 / -1; justify-content: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .ups-policy-action, .ups-policy-item { transition: none; }
}
