/*
 * Multipage Layout Styles for Atas VC
 * Adds persistent sidebar nav + scrollable right content area
 * Do NOT modify style.css — all new rules go here
 */

/* =========================================
   MULTIPAGE LAYOUT — Sidebar + Content
   ========================================= */

/* Dark background on all pages — prevents light gaps when
   the browser is resized or panels are closed on index page */
body {
  background: #20232D;
}

/* =========================================
   BRAND LOGO — repositioned inside .content flow
   Override style.css's position:absolute so the logo sits
   in the normal document flow above the h1 heading.
   ========================================= */
#left-side .content .brand-logo {
  position: static !important;
  left: auto !important;
  bottom: auto !important;
  max-width: 160px;
  margin-bottom: 28px;
  display: block;
}

#left-side .content h1 {
  margin-bottom: 18px;
}

#left-side .content p {
  margin-bottom: 40px;
}

/* =========================================
   TEAM SINGLE — full portrait, side-by-side layout
   Photo on the left (full portrait, no crop),
   bio text on the right spanning remaining width.
   ========================================= */
.team-single {
  display: flex;
  gap: 28px;
  align-items: flex-start;
  margin-bottom: 20px;
}

.team-single-photo {
  flex-shrink: 0;
  width: 38%;
}

.team-single-photo img {
  width: 100%;
  height: auto; /* full portrait — no fixed height crop */
  display: block;
}

.team-single-bio {
  flex: 1;
  min-width: 0;
}

.team-single-bio h4 {
  font-family: Montserrat, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 700;
  font-size: 22px;
  color: #20232D;
  margin-bottom: 4px;
}

.team-single-bio .team-single-title {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #757A86;
  margin-bottom: 12px;
}

.team-single-bio p {
  font-size: 13px;
  line-height: 1.6em;
  color: #747c83;
  margin-bottom: 10px;
}

.team-linkedin-link {
  color: #00af94;
  font-size: 18px;
  text-decoration: none;
  display: inline-block;
  margin-top: 4px;
  transition: color 0.2s;
}

.team-linkedin-link:hover {
  color: #20232D;
}

@media (max-width: 768px) {
  .team-single {
    flex-direction: column;
  }
  .team-single-photo {
    width: 55%;
    margin: 0 auto;
  }
}

/* =========================================
   CLOSE PANEL BUTTON — always visible
   style.css hides #close-more-info at max-width:1024px.
   Override so the X is always reachable when a panel is open.
   ========================================= */
#close-more-info:not(.hide-close) {
  display: flex !important;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 12px;
  right: 12px;
  z-index: 200;
  width: 38px;
  height: 38px;
  background: rgba(32, 35, 45, 0.75);
  color: #ffffff !important;
  border-radius: 50%;
  font-size: 1.1em;
  cursor: pointer;
  border: none;
}

/* =========================================
   HOME BUTTONS — flexbox grid layout
   ========================================= */
.home-nav {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 12px;
  justify-content: start;
}

.home-nav .light-btn {
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .home-nav {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .home-nav {
    grid-template-columns: 1fr;
  }
}

/* =========================================
   TIKTOK ICON — always render white
   Font Awesome brand icons inherit the parent color; this
   ensures fa-tiktok is always white in all social icon blocks.
   ========================================= */
.social-icons .fa-tiktok,
.sidebar-social .fa-tiktok,
.mobile-social .fa-tiktok {
  color: #FFFFFF;
}

/* =========================================
   OVERSCROLL BACKGROUND FIX
   Match the html element's background to the two-column
   split so rubber-band / overscroll reveals the right color
   on both the dark sidebar side and the light content side.
   ========================================= */

/* Multipage subpages: 40% dark sidebar / 60% light content */
html:has(body.multipage:not(.dataroom)) {
  background: linear-gradient(to right, #20232D 40%, #F2F3F7 40%);
}

/* Data room: 25% dark sidebar / 75% light content */
html:has(body.dataroom) {
  background: linear-gradient(to right, #20232D 25%, #F2F3F7 25%);
}

/* Mobile: no sidebar, full light background */
@media (max-width: 768px) {
  html:has(body.multipage) {
    background: #F2F3F7;
  }
}

/* Body class applied on subpages (portfolio, team, perspectives) */
body.multipage {
  margin: 0;
  padding: 0;
  background: #20232D;
  font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5em;
  color: #FFFFFF;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

body.multipage *,
body.multipage *::before,
body.multipage *::after {
  box-sizing: border-box;
}

/* =========================================
   SIDEBAR (LEFT PANEL)
   ========================================= */
.mp-sidebar {
  position: fixed;
  top: 0;
  left: 0;
  width: 40%;
  height: 100vh;
  background: #20232D;
  z-index: 100;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
}

/* Vegas slideshow container inside sidebar */
.mp-sidebar .sidebar-vegas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

/* Dark overlay with skew */
.mp-sidebar .sidebar-overlay {
  position: absolute;
  top: 0;
  left: -50%;
  width: 200%;
  height: 100%;
  background: rgba(32, 35, 45, 0.8);
  z-index: 1;
  border-right: 1px solid #15171e;
  transform: skew(-25deg, 0deg);
}

/* Stars effect container */
.mp-sidebar .sidebar-stars {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}

/* Sidebar inner content */
.mp-sidebar .sidebar-content {
  position: relative;
  z-index: 10;
  padding: 40px 10%;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.mp-sidebar .sidebar-bottom {
  position: relative;
  z-index: 10;
  padding: 0 10% 30px;
}

/* Logo */
.mp-sidebar .sidebar-logo {
  max-width: 160px;
  margin-bottom: 40px;
  display: block;
}

/* Navigation */
.mp-sidebar .sidebar-nav {
  list-style: none;
  padding: 0;
  margin: 0 0 40px;
}

.mp-sidebar .sidebar-nav li {
  margin-bottom: 12px;
}

.mp-sidebar .sidebar-nav a {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #FFFFFF;
  text-decoration: none;
  letter-spacing: 0.5px;
  transition: all 0.2s cubic-bezier(0.42, 0, 0.58, 1);
  display: inline-block;
  padding: 4px 0;
}

.mp-sidebar .sidebar-nav a:hover,
.mp-sidebar .sidebar-nav a.active {
  color: #00af94;
}

/* Social icons */
.mp-sidebar .sidebar-social {
  display: flex;
  gap: 0;
}

.mp-sidebar .sidebar-social a {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  text-decoration: none;
  font-size: 14px;
  transition: all 0.2s cubic-bezier(0.42, 0, 0.58, 1);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.mp-sidebar .sidebar-social a:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #00af94;
}

/* Footer tagline */
.mp-sidebar .sidebar-tagline {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  margin-top: 20px;
  letter-spacing: 0.5px;
}

/* =========================================
   MAIN CONTENT (RIGHT PANEL)
   ========================================= */
.mp-content {
  margin-left: 40%;
  width: 60%;
  min-height: 100vh;
  background: #F2F3F7;
  padding: 60px 8% 60px;
  position: relative;
}

.mp-content h1,
.mp-content h2,
.mp-content h3,
.mp-content h4,
.mp-content h5,
.mp-content h6 {
  font-family: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  color: #757A86;
}

.mp-content h1 {
  font-weight: 700;
  font-size: 40px;
  line-height: 52px;
  margin-bottom: 20px;
}

.mp-content h2 {
  font-weight: 700;
  font-size: 35px;
  margin-bottom: 16px;
}

.mp-content h3 {
  font-weight: 700;
  font-size: 30px;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.mp-content h4 {
  font-size: 25px;
  margin-bottom: 12px;
}

.mp-content h5 {
  font-size: 20px;
  margin-bottom: 10px;
}

.mp-content p {
  color: #747c83;
  font-size: 16px;
  line-height: 1.5em;
  margin-bottom: 16px;
}

.mp-content .subhead {
  font-size: 16px;
  color: #747c83;
  line-height: 1.6em;
  margin-bottom: 40px;
  max-width: 640px;
}

/* =========================================
   PORTFOLIO CARDS
   ========================================= */
.portfolio-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.portfolio-card {
  width: calc(50% - 15px);
}

.portfolio-card .card-inner {
  background: #FFFFFF;
  overflow: hidden;
  transition: all 0.2s cubic-bezier(0.42, 0, 0.58, 1);
}

.portfolio-card .card-inner:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

.portfolio-card .portfolio-logo {
  width: 100%;
  height: 200px;
  object-fit: contain;
  padding: 30px;
  background: #f8f9fb;
  display: block;
}

.portfolio-card .card-content {
  padding: 24px;
}

.portfolio-card .card-content h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #20232D;
  margin-bottom: 8px;
}

.portfolio-card .sector-tag {
  display: inline-block;
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #00af94;
  margin-bottom: 12px;
}

.portfolio-card .card-content p {
  font-size: 14px;
  line-height: 1.5em;
  color: #747c83;
  margin-bottom: 0;
}

/* =========================================
   TEAM CARDS
   ========================================= */
.team-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.team-card {
  width: calc(50% - 15px);
}

.team-card .card-inner {
  background: #FFFFFF;
  overflow: hidden;
  transition: all 0.2s cubic-bezier(0.42, 0, 0.58, 1);
}

.team-card .card-inner:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

.team-card .team-photo {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
  background: #e8e9ed;
}

.team-card .card-content {
  padding: 24px;
}

.team-card .card-content h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 22px;
  color: #20232D;
  margin-bottom: 4px;
}

.team-card .card-content .team-title {
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #757A86;
  margin-bottom: 12px;
  display: block;
}

.team-card .card-content p {
  font-size: 14px;
  line-height: 1.6em;
  color: #747c83;
  margin-bottom: 12px;
}

.team-card .card-content .team-linkedin {
  color: #00af94;
  font-size: 18px;
  transition: all 0.2s cubic-bezier(0.42, 0, 0.58, 1);
}

.team-card .card-content .team-linkedin:hover {
  color: #20232D;
}

/* =========================================
   PERSPECTIVES — PDF GALLERY
   ========================================= */
.perspectives-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.perspective-card {
  width: calc(50% - 15px);
}

.perspective-card .card-inner {
  background: #FFFFFF;
  overflow: hidden;
  transition: all 0.2s cubic-bezier(0.42, 0, 0.58, 1);
}

.perspective-card .card-inner:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

.perspective-card .perspective-thumb {
  width: 100%;
  display: block;
}

.perspective-card .card-content {
  padding: 24px;
}

.perspective-card .card-content h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: #20232D;
  margin-bottom: 8px;
  line-height: 1.3;
}

.perspective-card .card-content p {
  font-size: 14px;
  line-height: 1.5em;
  color: #747c83;
  margin-bottom: 16px;
}

/* Dark-on-light button variant */
.btn-dark {
  display: inline-block;
  background: transparent;
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 14px;
  padding: 10px 28px;
  color: #20232D;
  border: 2px solid #20232D;
  border-radius: 0;
  text-decoration: none;
  text-transform: none;
  transition: all 0.2s cubic-bezier(0.42, 0, 0.58, 1);
  cursor: pointer;
}

.btn-dark:hover {
  background: #20232D;
  color: #FFFFFF;
}

/* Additional PDFs (link list section) */
.perspectives-links {
  margin-top: 50px;
}

.perspectives-links h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #757A86;
  margin-bottom: 20px;
}

.perspectives-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.perspectives-links li {
  margin-bottom: 12px;
}

.perspectives-links a {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #20232D;
  text-decoration: none;
  transition: all 0.2s cubic-bezier(0.42, 0, 0.58, 1);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.perspectives-links a:hover {
  color: #00af94;
}

.perspectives-links a i {
  font-size: 14px;
}

/* =========================================
   PASSWORD GATE OVERLAY
   ========================================= */
.password-gate {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #20232D;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.password-gate .gate-inner {
  text-align: center;
  max-width: 400px;
  width: 90%;
}

.password-gate .gate-logo {
  max-width: 160px;
  margin-bottom: 40px;
}

.password-gate .gate-input {
  width: 100%;
  padding: 14px 20px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 0;
  background: transparent;
  color: #FFFFFF;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  font-weight: 400;
  outline: none;
  transition: all 0.2s cubic-bezier(0.42, 0, 0.58, 1);
  margin-bottom: 20px;
  display: block;
}

.password-gate .gate-input:focus {
  border-color: #FFFFFF;
}

.password-gate .gate-input::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.password-gate .gate-btn {
  display: inline-block;
  background: transparent;
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 16px;
  padding: 11.2px 32px;
  color: #FFFFFF;
  border: 2px solid #FFFFFF;
  border-radius: 0;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.42, 0, 0.58, 1);
  width: 100%;
}

.password-gate .gate-btn:hover {
  background: #FFFFFF;
  color: #2B2D35;
}

.password-gate .gate-error {
  color: #ff4757;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  margin-top: 16px;
  display: none;
}

/* Shake animation for wrong password */
@keyframes shake {
  0%, 100% { transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% { transform: translateX(-6px); }
  20%, 40%, 60%, 80% { transform: translateX(6px); }
}

.gate-shake {
  animation: shake 0.5s ease;
}

/* =========================================
   CONTACT INFO (for footer on right side)
   ========================================= */
.mp-footer {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 2px solid #FFFFFF;
}

.mp-footer .info-row {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin-bottom: 20px;
}

.mp-footer .info-item {
  flex: 1;
  min-width: 180px;
}

.mp-footer .info-item i {
  color: #00af94;
  font-size: 20px;
  margin-bottom: 8px;
  display: block;
}

.mp-footer .info-item p {
  font-size: 14px;
  color: #747c83;
  line-height: 1.5;
}

.mp-footer .info-item a {
  color: #747c83;
  text-decoration: none;
  transition: color 0.2s;
}

.mp-footer .info-item a:hover {
  color: #00af94;
}

.mp-footer .footer-tagline {
  font-size: 13px;
  color: #9a9da5;
  margin-top: 30px;
}

/* =========================================
   MOBILE HAMBURGER NAVBAR
   ========================================= */
.mp-mobile-nav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  background: #20232D;
  z-index: 200;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
}

.mp-mobile-nav .mobile-logo {
  max-width: 100px;
}

.mp-mobile-nav .hamburger {
  background: none;
  border: none;
  color: #FFFFFF;
  font-size: 24px;
  cursor: pointer;
  padding: 8px;
  line-height: 1;
}

/* Mobile dropdown menu */
.mp-mobile-menu {
  display: none;
  position: fixed;
  top: 60px;
  left: 0;
  width: 100%;
  background: #20232D;
  z-index: 199;
  padding: 20px;
  border-top: 1px solid #15171e;
}

.mp-mobile-menu.open {
  display: block;
}

.mp-mobile-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mp-mobile-menu li {
  margin-bottom: 8px;
}

.mp-mobile-menu a {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #FFFFFF;
  text-decoration: none;
  display: block;
  padding: 10px 0;
  transition: color 0.2s;
}

.mp-mobile-menu a:hover,
.mp-mobile-menu a.active {
  color: #00af94;
}

.mp-mobile-menu .mobile-social {
  display: flex;
  gap: 0;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #15171e;
}

.mp-mobile-menu .mobile-social a {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-size: 14px;
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.mp-mobile-menu .mobile-tagline {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  margin-top: 16px;
}

/* =========================================
   INDEX PAGE — MULTI-PANEL RIGHT SIDES
   ========================================= */

/* .right-panel overlays the right half of the viewport, sliding in from the right */
.right-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: 50%;
  height: 100vh;
  background: #f2f3f7;
  overflow-y: auto;
  z-index: 50;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.7, 0, 0.3, 1);
  transition: transform 0.5s cubic-bezier(0.7, 0, 0.3, 1);
}

.right-panel.hide-right {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.right-panel:not(.hide-right) {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.right-panel .content {
  width: 100%;
  padding: 8% 10% 0;
  text-align: left;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  opacity: 1;
  visibility: visible;
}

.right-panel .content h1,
.right-panel .content h2,
.right-panel .content h3,
.right-panel .content h4,
.right-panel .content h5,
.right-panel .content h6 {
  color: #757A86;
}

.right-panel .content h3 {
  font-family: Montserrat, "Helvetica Neue", "Lucida Grande", Arial, Verdana, sans-serif;
  text-transform: uppercase;
  font-weight: 700;
}

.right-panel .content p {
  color: #747c83;
}

.right-panel .content span.separator {
  display: block;
  height: 2px;
  background: #FFFFFF;
  width: 100%;
  margin: 50px 0 60px;
}

.right-panel footer {
  padding: 40px 10%;
}

.right-panel footer p {
  color: #747c83;
  font-size: 13px;
}

/* Close button must sit above panels */
#close-more-info {
  z-index: 60;
}

/* =========================================
   INDEX PAGE — NAV OVERLAY ON LEFT SIDE
   ========================================= */
.index-nav {
  position: absolute;
  z-index: 20;
  bottom: 30%;
  left: 10%;
  list-style: none;
  padding: 0;
  margin: 0;
}

.index-nav li {
  margin-bottom: 8px;
}

.index-nav a {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  transition: all 0.2s cubic-bezier(0.42, 0, 0.58, 1);
  letter-spacing: 0.5px;
}

.index-nav a:hover,
.index-nav a.active {
  color: #00af94;
}

/* Index mobile nav */
.index-mobile-nav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  background: #20232D;
  z-index: 200;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
}

.index-mobile-nav .mobile-logo {
  max-width: 100px;
}

.index-mobile-nav .hamburger {
  background: none;
  border: none;
  color: #FFFFFF;
  font-size: 24px;
  cursor: pointer;
  padding: 8px;
  line-height: 1;
}

/* =========================================
   RESPONSIVE — TABLET & MOBILE
   ========================================= */
@media (max-width: 1024px) {
  .mp-sidebar {
    width: 35%;
  }
  .mp-content {
    margin-left: 35%;
    width: 65%;
  }
}

@media (max-width: 768px) {
  /* Hide desktop sidebar */
  .mp-sidebar {
    display: none;
  }

  /* Show mobile nav */
  .mp-mobile-nav {
    display: flex;
  }

  /* Content goes full width */
  .mp-content {
    margin-left: 0;
    width: 100%;
    padding: 80px 6% 40px;
  }

  /* Cards go single column */
  .portfolio-card,
  .team-card,
  .perspective-card {
    width: 100%;
  }

  /* Index page mobile */
  .index-mobile-nav {
    display: flex;
  }

  .index-nav {
    display: none;
  }

  /* Right panels go full width on mobile */
  .right-panel {
    width: 100%;
  }

  /* ---- Index page: logo centered at top, increased section spacing ---- */
  #left-side {
    padding-top: 36px;
  }

  #left-side .content .brand-logo {
    display: block;
    margin: 0 auto 32px;
    transform: none;
  }

  #left-side .content h1 {
    margin-bottom: 20px;
  }

  #left-side .content p {
    margin-bottom: 48px;
  }

}

@media (max-width: 480px) {
  .mp-content {
    padding: 80px 5% 30px;
  }

  .mp-content h3 {
    font-size: 24px;
  }

  .password-gate .gate-inner {
    width: 85%;
  }

  /* Keep logo near the top on small phones */
  #left-side {
    padding-top: 28px;
  }

}

/* =========================================
   MOBILE OPTIMIZATIONS
   ========================================= */

/* Minimum 44px touch targets (Apple HIG / WCAG) */
@media (max-width: 768px) {
  .light-btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .social-icons a,
  .sidebar-social a,
  .mobile-social a {
    min-width: 44px;
    min-height: 44px;
  }

  #close-more-info:not(.hide-close) {
    width: 44px;
    height: 44px;
  }

  /* Prevent horizontal overflow on small screens */
  body {
    overflow-x: hidden;
  }

  /* Ensure text is readable without zooming (16px minimum) */
  #left-side .content p {
    font-size: 16px;
    line-height: 1.6;
  }

  /* More breathing room for nav buttons on mobile */
  .home-nav {
    gap: 10px;
  }

  .home-nav .light-btn {
    font-size: 14px;
    padding: 0.8em 1.2em;
  }
}

/* =========================================
   DATA ROOM — 25/75 layout + file list
   ========================================= */

/* Widen content to 75% for data room pages */
body.dataroom .mp-sidebar {
  width: 25%;
}

body.dataroom .mp-content {
  margin-left: 25%;
  width: 75%;
}

@media (max-width: 1024px) {
  body.dataroom .mp-sidebar {
    width: 25%;
  }
  body.dataroom .mp-content {
    margin-left: 25%;
    width: 75%;
  }
}

@media (max-width: 768px) {
  body.dataroom .mp-content {
    margin-left: 0;
    width: 100%;
  }
}

/* Section block */
.data-room-section {
  margin-bottom: 48px;
}

.data-room-section > h4 {
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #00af94;
  margin: 0 0 10px;
  padding-bottom: 8px;
  border-bottom: 2px solid #e8e9ed;
}

/* File list */
.file-list {
  list-style: none;
  padding: 0;
  margin: 0;
  border: 1px solid #e8e9ed;
  border-radius: 4px;
  overflow: hidden;
}

.file-item {
  display: flex;
  align-items: center;
  padding: 13px 16px;
  background: #fff;
  border-bottom: 1px solid #f0f1f4;
  transition: background 0.12s;
  gap: 12px;
}

.file-item:last-child {
  border-bottom: none;
}

.file-item:hover {
  background: #f8f9fb;
}

/* File type icon */
.file-type {
  flex-shrink: 0;
  font-size: 20px;
  width: 24px;
  text-align: center;
}

.file-pdf  { color: #d9534f; }
.file-xlsx { color: #1d7145; }

/* File display name */
.file-name {
  flex: 1;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #20232D;
  line-height: 1.3;
}

.file-meta {
  font-size: 12px;
  font-weight: 400;
  color: #9a9da5;
  margin-top: 2px;
}

/* Action buttons */
.file-actions {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
}

.file-btn {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #757A86;
  text-decoration: none;
  padding: 5px 14px;
  border: 1px solid #d0d2d8;
  border-radius: 3px;
  transition: all 0.12s;
  white-space: nowrap;
  cursor: pointer;
}

.file-btn:hover {
  background: #20232D;
  color: #fff;
  border-color: #20232D;
}

.file-btn.primary {
  background: #00af94;
  color: #fff;
  border-color: #00af94;
}

.file-btn.primary:hover {
  background: #008f79;
  border-color: #008f79;
}

@media (max-width: 600px) {
  .file-item {
    flex-wrap: wrap;
  }
  .file-actions {
    width: 100%;
    margin-top: 8px;
  }
}
