/* ===================================================================
  reboland.css
  ReboLand page — PAGE-SPECIFIC overrides and components only.

  Guidelines:
  - Keep only rules that are unique to the ReboLand pages.
  - Base components (cards, ipbox base, header, layout) live in
    `assets/css/styles.css` and should not be duplicated here.
  - Organize sections: fonts, layout, components, mobile-overrides.
  =================================================================== */

/* -----------------------------
   Fonts (page-specific fallback)
   ----------------------------- */
@font-face{
  font-family: 'MinecraftFont2';
  src: local('MinecraftFont2'), local('Minecraft Font 2'),
       url('../../fonts/Minecraft.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Apply page-specific background for the ReboLand page only */
html.reboland, body.reboland{
  background:
    linear-gradient(180deg, rgba(15,23,32,0.65), rgba(7,16,33,0.75)),
    url('../img/page-bg2.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* -----------------------------
  Posts / Listing
  ----------------------------- */
.posts.two-col{ display:grid; grid-template-columns: repeat(2, 1fr); gap:14px; margin-top:12px }
.posts{ display:grid; grid-template-columns: 1fr; gap:12px; margin-top:12px }
.post{ background: rgba(255,255,255,0.02); padding:14px; border-radius:10px; box-shadow:0 6px 14px rgba(0,0,0,0.25); position:relative }
.post h3{ margin:0 0 6px 0; color:var(--accent); font-size:18px }
.post .meta{ color:var(--muted); font-size:13px; margin-bottom:8px }


/* -----------------------------
   Download button (per-post)
   ----------------------------- */
.post .download-box{
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 8;
}

.post .download-box__btn{
  display:inline-block;
  background: rgba(var(--accent-rgb), 0.16);
  color: #04263b;
  padding: 8px 12px;
  border-radius: 8px;
  font-weight:700;
  font-size: small;
  text-decoration: none;
  transition: background .16s ease, transform .12s ease, box-shadow .12s ease;
  box-shadow: 0 4px 10px rgba(2,6,23,0.12);
}
.post .download-box__btn:hover{ background: rgba(var(--accent-rgb), 0.24); transform: translateY(-2px); box-shadow:0 10px 20px rgba(2,6,23,0.18); }
.post .download-box__btn:focus{ outline:none; box-shadow: 0 0 0 4px rgba(var(--accent-rgb),0.12), 0 10px 20px rgba(2,6,23,0.18); }

/* Small icon helper inside download button */
.post .download-box__btn .icon{ display:inline-block; vertical-align:middle; margin-right:8px; color: rgba(var(--accent-rgb),0.98); }
.post .download-box__btn .icon--download{ width:16px; height:16px; flex:0 0 16px }
.post .download-box__btn span{ vertical-align:middle }

/* Preserve summary download link style as fallback */
.post .summary .post-download{ display:inline-block; }

/* -----------------------------
   Mobile overrides (<= 900px)
   ----------------------------- */
@media (max-width:900px){
  /* Remove page background image on small screens to match main site behavior */
  html.reboland, body.reboland{ background-image: none !important; background-image: none; background-color: #04263b; }
  .posts.two-col{ grid-template-columns: 1fr }
  .post{ padding:12px }

  /* Ensure download button stays at top-right of each post on mobile */
  .post .download-box{ position: absolute; top:12px; right:12px; margin:0; z-index:16 }

  /* ipbox: flow between description and posts (centered by wrapper) */
  .card.reboland .ipbox--card{ position: static !important; transform:none !important; margin:12px auto 8px auto !important; box-shadow:0 8px 18px rgba(0,0,0,0.28) !important; display:inline-flex }

  /* Title & description alignment for ReboLand */
  .card.reboland #rebo-titulo{ text-align:center; width:100%; }
  .card.reboland p.sub{ text-align:center; width:100%; margin:0 0 12px 6px !important; }

  /* Mobile warning (non-dismissible) */
  .reboland-mobile-warning{ display:flex; align-items:center; text-align: center; justify-content:center; gap:12px; padding:10px 12px; border-radius:8px; background: linear-gradient(90deg, rgba(255,165,0,0.12), rgba(255,200,60,0.06)); color: #fff; border:1px solid rgba(255,165,0,0.12); margin-bottom:10px }

  /* Move the page bg into the card on small screens */
  .card.reboland{
    background: linear-gradient(180deg, rgba(15,23,32,0.65), rgba(7,16,33,0.75)), url('../img/page-bg2.webp') center top / cover no-repeat;
    background-clip: padding-box;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

/* Wrapper helper to center ipbox without changing its shape */
.ipbox-wrapper{ text-align: center }
.ipbox-wrapper .ipbox{ display: inline-block }

/* Ensure ipbox contents are centered vertically and the status block centers its children */
.ipbox.ipbox--card{ display:inline-flex; align-items:center; justify-content:center; gap:10px; padding: 10px 8px 10px 14px }
.ipbox.ipbox--card .status{ display:inline-flex; align-items:center; justify-content:center; gap:8px }
.ipbox.ipbox--card .status .status-text{ text-align:center }

/* Small helpers specific to ReboLand */
.card.reboland #rebo-titulo{ padding: 12px 0 10px 6px; font-family: 'MinecraftFont2', 'Press Start 2P', monospace; font-size: clamp(18px, 2.6vw, 28px); color: rgba(222,222,222,0.98); margin:0; line-height:1.1 }
.card.reboland p.sub{ margin:0 0 12px 6px }

/* header back button removed per request */

/* password overlay styles removed per request */

/* -----------------------------
   Very small screens: hide download buttons
   ----------------------------- */
@media (max-width:500px){
  /* hide the per-post download box entirely to avoid UI clutter on very small devices */
  .post .download-box{ display:none !important; }
}

