/* ============================================================
   POLTEKPEL SULUT — V2.5 Layout Premium
   Additive styles only; earlier glass/header fixes remain active.
   ============================================================ */
:root { --v25-ink: #0c3047; --v25-teal: #1bc3ce; --v25-gold: #f3cf86; }

/* Desktop: keep header legible, reduce menu density. */
@media (min-width: 901px) {
  html body.poltekpel-v25 #site-header #main-nav,
  html body.poltekpel-v25 #site-header.is-scrolled #main-nav {
    gap: 6px 8px !important;
    min-height: 58px !important;
    padding: 4px 12px !important;
    justify-content: center !important;
  }
  html body.poltekpel-v25 #site-header #main-nav .nav-link,
  html body.poltekpel-v25 #site-header #main-nav .wp-menu-list > li > a {
    padding: 11px 14px !important;
    min-height: 47px !important;
    font-size: var(--poltekpel-nav-font-size, 16px) !important;
    font-weight: 750 !important;
  }
}
/* Native <details> is keyboard-accessible and needs no JS to expand. */
html body.poltekpel-v25 .v25-explore {position:relative;flex:0 0 auto;z-index:110;min-width:0}
html body.poltekpel-v25 .v25-explore summary {list-style:none}
html body.poltekpel-v25 .v25-explore summary::-webkit-details-marker {display:none}
html body.poltekpel-v25 .v25-explore-trigger {
  display:flex;align-items:center;justify-content:center;gap:7px;
  padding:11px 14px;min-height:47px;cursor:pointer;border-radius:10px;
  font-size:var(--poltekpel-nav-font-size, 16px);font-weight:800;color:var(--glass-fg, #fff);
  transition:background-color .2s ease,color .2s ease;white-space:nowrap;
}
html body.poltekpel-v25 .v25-explore-trigger .icon {width:17px;height:17px;transition:transform .2s ease}
html body.poltekpel-v25 .v25-explore[open] .v25-explore-trigger .icon {transform:rotate(180deg)}
html body.poltekpel-v25 .v25-explore[open] .v25-explore-trigger,
html body.poltekpel-v25 .v25-explore-trigger:hover {background:rgba(116,220,242,.2)}
html body.poltekpel-v25 .v25-explore-trigger:focus-visible {outline:3px solid #7ee6f4;outline-offset:2px}
html body.poltekpel-v25 .v25-explore-panel {
  position:absolute;top:calc(100% + 7px);right:0;z-index:130;
  display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));gap:24px;
  width:min(520px,calc(100vw - 45px));padding:21px;
  background:rgba(7,32,54,.98);border:1px solid rgba(172,235,245,.28);border-radius:17px;
  box-shadow:0 22px 52px rgba(0,15,31,.30);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
}
html body.poltekpel-v25 .v25-explore-group {display:flex;flex-direction:column;align-items:stretch;gap:3px}
html body.poltekpel-v25 .v25-explore-label {padding:7px 9px 10px;color:#f4ce84;font-weight:800;letter-spacing:.11em;font-size:10px}
html body.poltekpel-v25 .v25-explore-panel a {
  display:block;padding:11px 10px;border-radius:9px;font-size:14px;font-weight:700;
  line-height:1.4;color:#effaff;text-decoration:none;white-space:normal;
}
html body.poltekpel-v25 .v25-explore-panel a:is(:hover,:focus-visible) {
  background:rgba(135,226,244,.17);color:#fff;outline-offset:2px;
}

/* Hero: preserve the dark navy glass and room for text. */
html body.poltekpel-v25 .hero {min-height:640px}
html body.poltekpel-v25 .hero .hero-copy {max-width:730px}
html body.poltekpel-v25 .hero h1 {font-size:clamp(40px,4.25vw,66px);line-height:1.15;letter-spacing:-.047em;text-wrap:balance}
html body.poltekpel-v25 .hero-copy > p {max-width:590px;font-size:clamp(14px,1.08vw,16px);line-height:1.85}
html body.poltekpel-v25 .hero .hero-side-card {width:min(300px,28vw);min-width:240px}
html body.poltekpel-v25 .hero-buttons .btn {min-height:53px;font-size:14px;padding:15px 22px}

/* Shortcut ribbon: four clear destinations after the hero. */
html body.poltekpel-v25 .v25-shortcuts {
  background:linear-gradient(125deg,#eef8fb 0%,#f8fbfd 65%,#fff9ec 100%);
  padding:24px 0 28px;border-block:1px solid #e1ecf0;
}
html body.poltekpel-v25 .v25-shortcuts-inner {display:grid;grid-template-columns:175px minmax(0,1fr);gap:22px;align-items:center}
html body.poltekpel-v25 .v25-shortcuts-caption {display:flex;flex-direction:column;align-items:flex-start;gap:5px;color:#163b50}
html body.poltekpel-v25 .v25-caption-dot {display:block;width:33px;height:4px;background:#1a96b0;border-radius:9px;margin-bottom:5px}
html body.poltekpel-v25 .v25-shortcuts-caption strong {font-size:20px;font-weight:850}
html body.poltekpel-v25 .v25-shortcuts-caption small {font-size:12px;line-height:1.4;color:#637e90}
html body.poltekpel-v25 .v25-shortcuts-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
html body.poltekpel-v25 .v25-shortcut {
  display:flex;gap:9px;align-items:center;min-height:72px;padding:12px 13px;
  background:rgba(255,255,255,.82);border:1px solid #dce8ee;
  box-shadow:0 8px 24px rgba(17,59,84,.045);border-radius:15px;
  color:#153e53;font-size:13px;font-weight:850;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
html body.poltekpel-v25 .v25-shortcut:is(:hover,:focus-visible) {transform:translateY(-3px);border-color:#8ec8d9;box-shadow:0 13px 27px rgba(14,74,91,.13)}
html body.poltekpel-v25 .v25-shortcut-icon {width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;background:#e6f6fa;border-radius:11px;color:#0b7894;font-size:21px}
html body.poltekpel-v25 .v25-shortcut-arrow {margin-left:auto;color:#3f94a6;font-size:17px}

/* Spacing and consistent type rhythm. */
html body.poltekpel-v25.home .section {padding-block:clamp(54px,5.4vw,84px)}
html body.poltekpel-v25.home :is(.about-section,.poltekpel-history-section,.mission-goals-section,.campus-apps-section) {padding-block:clamp(62px,6vw,95px)}
html body.poltekpel-v25.home :is(.section-heading,.info-heading,.gallery-home-heading,.digital-intro,.v24-section-head) {margin-bottom:28px}
html body.poltekpel-v25.home :is(.program-card,.info-card,.digital-card,.why-card,.v24-card) {border-radius:19px}

/* Glass for real digital service cards: keeps their high-contrast text. */
html body.poltekpel-v25 .campus-apps-section {
  background:linear-gradient(132deg,#e6f1f6 0%,#eaf6f8 42%,#f8fbfd 80%);
}
html body.poltekpel-v25 .campus-apps-section .digital-card {
  background:linear-gradient(130deg,rgba(6,44,69,.93),rgba(9,98,122,.85)) !important;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 15px 42px rgba(13,64,83,.14);
  -webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);
  min-height:300px;padding:29px;
}
html body.poltekpel-v25 .campus-apps-section .digital-card.library-card {
  background:linear-gradient(135deg,rgba(5,71,85,.94),rgba(5,118,135,.86)) !important;
}
html body.poltekpel-v25 .campus-apps-section .digital-card:is(:hover,:focus-within) {
  transform:translateY(-4px);box-shadow:0 20px 46px rgba(13,64,83,.24);
}
html body.poltekpel-v25 .campus-apps-section .digital-icon {background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.18)}
html body.poltekpel-v25 .campus-apps-section .digital-button {border-radius:11px;min-height:45px;font-size:13px}

/* Compact empty-state modules, no content is lost: only spacing is reduced.
   JS marks sections after inspecting their actual published content. */
html body.poltekpel-v25-compact-empty .v25-empty-section {padding-block:30px!important;background:#f8fbfc!important;border-bottom:1px solid #e8eff2}
html body.poltekpel-v25-compact-empty .v25-empty-section > .container {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 24px;align-items:center}
html body.poltekpel-v25-compact-empty .v25-empty-section :is(.v20-home-heading,.v21-home-header,.v22-home-header,.v23-home-head,.v24-section-head,.gallery-home-heading,.announcement-heading,.news-heading) {
  grid-column:1/-1;margin:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;
}
html body.poltekpel-v25-compact-empty .v25-empty-section :is(h2) {font-size:clamp(23px,2.4vw,28px)!important;margin:4px 0!important;line-height:1.24!important}
html body.poltekpel-v25-compact-empty .v25-empty-section :is(.v20-home-heading,.v21-home-header,.v22-home-header,.v23-home-head,.v24-section-head,.gallery-home-heading,.announcement-heading,.news-heading) p {display:none!important}
html body.poltekpel-v25-compact-empty .v25-empty-section :is(.news-grid,.information-toolbar,.announcement-list,.gallery-home-empty,.v20-empty,.v21-empty,.v22-empty,.v23-home-empty,.v24-empty,.announcements-empty) {grid-column:1/-1;max-width:100%;margin:0!important}
html body.poltekpel-v25-compact-empty .v25-empty-section :is(.v20-empty,.v21-empty,.v22-empty,.v23-home-empty,.v24-empty,.announcements-empty,.gallery-home-empty,.news-empty) {
  min-height:0!important;padding:13px 17px!important;border-radius:12px!important;font-size:13px!important;box-shadow:none!important;
}
html body.poltekpel-v25-compact-empty .v25-empty-section :is(.v20-empty,.v21-empty,.v22-empty,.v24-empty) > span:first-child {display:none}
html body.poltekpel-v25-compact-empty .v25-empty-section :is(.v20-empty,.v21-empty,.v22-empty,.v24-empty,.news-empty) p {margin:3px 0 0!important;font-size:12px!important;line-height:1.5!important}
html body.poltekpel-v25-compact-empty .v25-empty-section .news-grid {display:block!important}
html body.poltekpel-v25-compact-empty .v25-empty-section .information-toolbar {display:none!important}
html body.poltekpel-v25-compact-empty .v25-empty-section .news-empty {display:flex!important;align-items:center;flex-wrap:wrap;gap:10px;text-align:left}
html body.poltekpel-v25-compact-empty .v25-empty-section .news-empty .news-placeholder {display:none!important}
html body.poltekpel-v25-compact-empty .v25-empty-section .news-empty h3 {font-size:15px!important;margin:0!important}
html body.poltekpel-v25-compact-empty .v25-empty-section .news-empty p {margin:0!important}
html body.poltekpel-v25-compact-empty .v25-empty-section :is(.information-after-grid) {margin:0!important;grid-column:1/-1}

/* Footer: clear visual rhythm and wrapping of long names/links. */
html body.poltekpel-v25 .footer {background:linear-gradient(135deg,#061c32,#0b324b 80%)}
html body.poltekpel-v25 .footer .footer-main {gap:clamp(18px,2vw,34px)}
html body.poltekpel-v25 .footer .footer-col a {overflow-wrap:anywhere;line-height:1.45}
html body.poltekpel-v25 .footer .footer-col h3 {margin-bottom:17px}
html body.poltekpel-v25 .footer-bottom {gap:10px;flex-wrap:wrap;line-height:1.5}
html body.poltekpel-v25 .poltekpel-wa-float {box-shadow:0 12px 35px rgba(10,53,39,.26)}

@media (max-width: 1100px) and (min-width: 901px) {
  html body.poltekpel-v25 .v25-shortcuts-inner {grid-template-columns:1fr;gap:13px}
  html body.poltekpel-v25 .v25-shortcuts-caption {flex-direction:row;align-items:center;gap:12px}
  html body.poltekpel-v25 .v25-shortcuts-caption .v25-caption-dot {margin:0}
  html body.poltekpel-v25 .v25-shortcuts-caption small {margin-left:auto}
}
@media (max-width: 900px) {
  /* The V1.6.2 hamburger remains the only mobile navigation toggle. */
  html body.poltekpel-v25 #site-header #main-nav .v25-explore {width:100%;margin:0!important}
  html body.poltekpel-v25 #site-header #main-nav .v25-explore-trigger {
    justify-content:space-between;padding:14px 12px!important;min-height:50px;
    color:#fff!important;font-size:17px!important;
    border-bottom:1px solid rgba(255,255,255,.14);border-radius:0;
  }
  html body.poltekpel-v25 #site-header #main-nav .v25-explore-panel {
    position:static;display:flex;flex-direction:column;width:100%;padding:10px 9px 14px;gap:13px;
    background:rgba(3,27,45,.55);box-shadow:none;border-radius:9px;border-color:rgba(255,255,255,.15);
  }
  html body.poltekpel-v25 #site-header #main-nav .v25-explore-panel a {padding:11px 12px;font-size:15px}
  html body.poltekpel-v25 .hero {min-height:640px}
  html body.poltekpel-v25 .hero h1 {font-size:clamp(35px,7vw,52px)}
  html body.poltekpel-v25 .hero .hero-side-card {display:none}
  html body.poltekpel-v25 .v25-shortcuts-inner {grid-template-columns:1fr;gap:15px}
  html body.poltekpel-v25 .v25-shortcuts-caption {flex-direction:row;align-items:center;gap:12px}
  html body.poltekpel-v25 .v25-shortcuts-caption .v25-caption-dot {margin:0}
  html body.poltekpel-v25 .v25-shortcuts-caption small {margin-left:auto}
  html body.poltekpel-v25 .v25-shortcuts-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  html body.poltekpel-v25-compact-empty .v25-empty-section :is(.v20-home-heading,.v21-home-header,.v22-home-header,.v23-home-head,.v24-section-head,.gallery-home-heading,.announcement-heading,.news-heading) {align-items:flex-start!important}
}
@media (max-width: 600px) {
  html body.poltekpel-v25 .container {width:calc(100% - 34px)}
  html body.poltekpel-v25 .hero {min-height:610px}
  html body.poltekpel-v25 .hero-inner {padding-bottom:20px}
  html body.poltekpel-v25 .hero h1 {font-size:clamp(31px,8vw,42px);line-height:1.17}
  html body.poltekpel-v25 .hero-copy>p {font-size:13px;line-height:1.7}
  html body.poltekpel-v25 .hero .hero-eyebrow {font-size:9px}
  html body.poltekpel-v25 .hero-buttons {gap:10px;margin-top:23px}
  html body.poltekpel-v25 .hero-buttons .btn {padding:13px 15px;min-height:48px;font-size:12px}
  html body.poltekpel-v25 .hero-trust {font-size:10px;margin-top:20px}
  html body.poltekpel-v25 .v25-shortcuts {padding:19px 0 22px}
  html body.poltekpel-v25 .v25-shortcuts-caption strong {font-size:18px}
  html body.poltekpel-v25 .v25-shortcuts-caption small {display:none}
  html body.poltekpel-v25 .v25-shortcuts-grid {gap:9px}
  html body.poltekpel-v25 .v25-shortcut {min-height:67px;padding:10px;gap:7px;font-size:12px}
  html body.poltekpel-v25 .v25-shortcut-icon {width:30px;height:30px;flex-basis:30px;font-size:17px}
  html body.poltekpel-v25 .v25-shortcut-arrow {font-size:13px}
  html body.poltekpel-v25 .campus-apps-section .digital-card {min-height:270px;padding:23px}
  html body.poltekpel-v25-compact-empty .v25-empty-section {padding-block:26px!important}
  html body.poltekpel-v25-compact-empty .v25-empty-section :is(.v20-home-heading,.v21-home-header,.v22-home-header,.v23-home-head,.v24-section-head,.gallery-home-heading,.announcement-heading,.news-heading) {flex-direction:column!important;gap:10px!important}
  html body.poltekpel-v25-compact-empty .v25-empty-section :is(.v20-button-outline,.v21-all-link,.v22-home-all,.v23-home-all,.v24-all,.gallery-home-more) {align-self:flex-start!important;width:auto!important}
  html body.poltekpel-v25-compact-empty .v25-empty-section :is(.news-empty,.v20-empty,.v21-empty,.v22-empty,.v23-home-empty,.v24-empty,.announcements-empty,.gallery-home-empty) {font-size:12px!important}
}
@media (prefers-reduced-motion:reduce) {
  html body.poltekpel-v25 .v25-shortcut,
  html body.poltekpel-v25 .v25-explore-trigger,
  html body.poltekpel-v25 .campus-apps-section .digital-card {transition:none!important;transform:none!important}
  html body.poltekpel-v25 .v25-explore-trigger .icon {transition:none!important}
}
