/* -----------------------------------------
   Thepineka.xyz — Complete Site Styles
   Colors & brand:
   headings/accents/buttons: #fe7ac1 (glow)
   text: #ffdaee
   background: #23383b
   button text: #23383b, hover background: #ffdaee
----------------------------------------- */

:root{
  --bg: #23383b;
  --heading: #fe7ac1;
  --text: #ffdaee;
  --accent: #fe7ac1;
  --btn-bg: #fe7ac1;
  --btn-text: #23383b;
  --btn-hover: #ffdaee;
  --max-width: 1200px;
  --radius: 12px;
}

/* Base */
* { box-sizing: border-box; }
html,body { height:100%; margin:0; }
body.thepineka-xyz {
  background: var(--bg);
  color: var(--text);
  font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x: hidden; /* prevents accidental horizontal scroll */
}

/* Utility container */
.container { max-width: var(--max-width); margin: 0 auto; padding: 0 18px; }

/* Links & active */
a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--btn-hover); }

/* Headings with neon glow */
h1,h2,h3,h4,h5 {
  color: var(--heading);
  font-family: 'Orbitron', 'Poppins', sans-serif;
  text-shadow:
    0 0 10px rgba(254,122,193,0.6),
    0 0 20px rgba(254,122,193,0.25);
  margin: 0 0 .6rem;
  font-weight:700;
}

/* Paragraph text */
p, li, label { color: var(--text); }

/* =========================
   NAVBAR
   ========================= */
.thepineka-xyz-navbar {
  background: transparent;
  padding: 0.7rem 0;
  border-bottom: 1px solid rgba(255,218,238,0.06);
}

.thepineka-xyz-navbar .site-logo { height:80px; display:inline-block; vertical-align:middle; }

/* Toggler */
.thepineka-xyz-navbar .navbar-toggler {
  border: none;
  color: var(--heading);
  font-size: 1.15rem;
}

/* Links */
.thepineka-xyz-navbar .nav-link {
  color: var(--text) !important;
  padding: 0.35rem 0.5rem;
  font-weight: 600;
  font-size: 0.95rem;
  white-space: nowrap;
}
.thepineka-xyz-navbar .nav-link:hover,
.thepineka-xyz-navbar .nav-link:focus {
  color: var(--accent) !important;
  text-shadow: 0 0 8px rgba(254,122,193,0.5);
}

/* Active */
.thepineka-xyz-navbar .nav-link.active {
  color: var(--accent) !important;
  box-shadow: inset 0 -3px 0 rgba(254,122,193,0.18);
}

/* Make nav wrap if too many items (prevents overflow) */
.thepineka-xyz-navbar .navbar-nav {
  gap: 6px;
  flex-wrap: wrap;
}

/* Mobile collapse styling */
@media (max-width: 767.98px) {
  .thepineka-xyz-navbar .navbar-collapse {
    background: rgba(35,56,59,0.95);
    margin-top: 10px;
    padding: 12px;
    border-radius: 10px;
  }
  .thepineka-xyz-navbar .nav-link {
    padding: 10px 8px;
    border-bottom: 1px solid rgba(255,218,238,0.02);
  }
  .thepineka-xyz-navbar .nav-link:last-child { border-bottom: none; }
}

/* =========================
   HERO (90vh)
   ========================= */
.thepineka-xyz-hero {
  height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 40px 18px;
  background:
    url('../images/hero.jpg') center/cover no-repeat;
  position: relative;
}

/* Hero inner */
.thepineka-xyz-hero .hero-inner { z-index:2; max-width:980px; margin:0 auto; }
.hero-title { font-size: 2.4rem; line-height:1.04; margin-bottom:14px; }
@media (min-width:768px){ .hero-title{font-size:3.2rem} }
.hero-sub { color: rgba(255,218,238,0.95); margin-bottom:20px; font-size:1.05rem; }

/* Hero buttons */
.btn-primary.thepineka-btn, .btn-primary {
  background: var(--btn-bg);
  color: var(--btn-text);
  border: none;
  padding: 10px 18px;
  border-radius: 10px;
  font-weight: 700;
  box-shadow: 0 10px 30px rgba(254,122,193,0.12);
  transition: transform .14s ease, background .18s ease;
  display: inline-block;
}
.btn-primary:hover, .thepineka-xyz-hero .btn-primary:hover {
  background: var(--btn-hover);
  transform: translateY(-3px);
  color: var(--btn-text);
}

/* Outline style */
.btn-outline {
  background: transparent;
  color: var(--text);
  border: 1.6px solid rgba(254,122,193,0.18);
  padding: 9px 16px;
  border-radius: 10px;
  font-weight:700;
}
.btn-outline:hover {
  background: rgba(254,122,193,0.08);
  color: var(--btn-hover);
}

/* Disclaimer Card */
.thepineka-xyz .disclaimer-card {
  background: rgba(35, 56, 59, 0.9);
  border: 1px solid #fe7ac1;
  border-radius: 16px;
  max-width: 800px;
  margin: 0 auto;
  color: #ffdaee;
  text-align: center;
  box-shadow: 0 0 15px rgba(254, 122, 193, 0.4);
}

.thepineka-xyz .disclaimer-title {
  color: #fe7ac1;
  text-shadow: 0 0 6px rgba(254, 122, 193, 0.8);
  font-size: 2rem;
  font-weight: 700;
}

.thepineka-xyz .disclaimer-text {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 1rem;
  color: #ffdaee;
}

/* Read Full Disclaimer Button */
.thepineka-xyz .disclaimer-card .btn-primary {
  background: #fe7ac1;
  border: none;
  color: #23383b;
  font-weight: 600;
  padding: 10px 24px;
  border-radius: 8px;
  transition: all 0.3s ease-in-out;
  box-shadow: 0 0 12px rgba(254, 122, 193, 0.7);
}

.thepineka-xyz .disclaimer-card .btn-primary:hover {
  background: #ffdaee;
  color: #23383b;
  box-shadow: 0 0 18px rgba(254, 122, 193, 1);
  transform: translateY(-2px);
}

/* =========================
   GAMES (single column, 16:9, max-width 900px)
   ========================= */
.thepineka-xyz-games { padding-bottom: 24px; padding-top: 10px; }
.game-list { max-width: 900px; margin: 0 auto; }
.game-card {
  border-radius: 12px;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
  border: 1px solid rgba(254,122,193,0.06);
}
.game-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.45);
}
.game-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9; /* modern browsers */
  background: linear-gradient(180deg, rgba(254,122,193,0.02), rgba(254,122,193,0.01));
}

/* iframe responsive fallback */
@supports not (aspect-ratio: 16/9) {
  .game-frame { padding-top: 56.25%; position: relative; }
  .game-frame iframe { position:absolute; left:0; top:0; width:100%; height:100%; }
}

.game-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display:block;
}

/* subtle colored card variants (all within brand pink tones) */
.card-1 { background: linear-gradient(180deg, rgba(254,122,193,0.06), rgba(254,122,193,0.02)); }
.card-2 { background: linear-gradient(180deg, rgba(254,122,193,0.04), rgba(254,122,193,0.01)); }
.card-3 { background: linear-gradient(180deg, rgba(254,122,193,0.05), rgba(254,122,193,0.015)); }

/* Feature Cards */
.thepineka-xyz .feature {
  background: rgba(35, 56, 59, 0.9);
  border: 1px solid transparent;
  border-radius: 16px;
  color: #ffdaee;
  transition: all 0.3s ease-in-out;
  box-shadow: 0 0 12px rgba(254, 122, 193, 0.15);
}

.thepineka-xyz .feature-icon {
  font-size: 2rem;
  color: #fe7ac1;
  margin-bottom: 12px;
  text-shadow: 0 0 6px rgba(254, 122, 193, 0.7);
}

/* Hover Effect with Glow */
.thepineka-xyz .feature:hover {
  border: 1px solid #fe7ac1;
  box-shadow: 0 0 18px rgba(254, 122, 193, 0.6), 0 0 30px rgba(254, 122, 193, 0.4);
  transform: translateY(-6px);
  background: rgba(35, 56, 59, 1);
}

.thepineka-xyz .feature h5 {
  color: #fe7ac1;
  text-shadow: 0 0 5px rgba(254, 122, 193, 0.6);
  font-weight: 600;
  margin-bottom: 10px;
}

.thepineka-xyz .feature p {
  font-size: 0.95rem;
  line-height: 1.5;
  color: #ffdaee;
}

/* =========================
   ABOUT (image & text)
   ========================= */
.thepineka-xyz-about .about-img {
  width:100%;
  border-radius:12px;
  border: 1px solid rgba(254,122,193,0.06);
  box-shadow: 0 8px 30px rgba(0,0,0,0.45);
}

/* Contact Section */
.thepineka-xyz #contact {
  color: #ffdaee;
}

.thepineka-xyz .contact-form {
  background: rgba(35, 56, 59, 0.85);
  border: 2px solid transparent;
  border-radius: 20px;
  padding: 30px;
  box-shadow: 0 0 15px rgba(254, 122, 193, 0.15);
  transition: all 0.3s ease-in-out;
}

/* Glow Frame on Hover */
.thepineka-xyz .contact-form:hover {
  border: 2px solid #fe7ac1;
  box-shadow: 0 0 20px rgba(254, 122, 193, 0.5), 0 0 40px rgba(254, 122, 193, 0.3);
  background: rgba(35, 56, 59, 1);
}

/* Input Fields */
.thepineka-xyz .input-field {
  background: #23383b;
  border: 1px solid #444;
  border-radius: 10px;
  color: #ffdaee;
  padding: 12px;
  transition: all 0.3s ease-in-out;
}

.thepineka-xyz .input-field:focus {
  border: 1px solid #fe7ac1;
  box-shadow: 0 0 12px rgba(254, 122, 193, 0.6);
  outline: none;
  background: #2c474b;
  color: #ffdaee;
}

/* Labels */
.thepineka-xyz .form-label {
  font-weight: 600;
  color: #fe7ac1;
  text-shadow: 0 0 5px rgba(254, 122, 193, 0.6);
}

/* Button */
.thepineka-xyz .btn-primary {
  background: #fe7ac1;
  color: #23383b;
  border: none;
  border-radius: 12px;
  padding: 12px 28px;
  font-weight: 600;
  transition: all 0.3s ease-in-out;
  box-shadow: 0 0 12px rgba(254, 122, 193, 0.4);
}

.thepineka-xyz .btn-primary:hover {
  background: #ffdaee;
  color: #23383b;
  box-shadow: 0 0 18px rgba(254, 122, 193, 0.7), 0 0 25px rgba(254, 122, 193, 0.4);
}

/* =========================
   FOOTER
   ========================= */
.thepineka-xyz-footer {
  background: linear-gradient(180deg, rgba(0,0,0,0.08), rgba(0,0,0,0.02));
  padding-top: 28px;
  border-top: 1px solid rgba(254,122,193,0.06);
  color: var(--text);
  text-align: center; /* center everything */
}

/* Centered logo */
.thepineka-xyz-footer .footer-logo {
  height: 54px;
  margin: 0 auto 14px auto; /* auto left/right centers */
  display: block;
}

/* Footer links */
.footer-links {
  margin-bottom: 20px;
}
.footer-links a {
  color: var(--text);
  font-weight: 700;
  margin: 0 8px;
  padding: 6px 8px;
  border-radius: 8px;
  transition: background .18s ease, color .18s ease;
}
.footer-links a:hover {
  background: rgba(254,122,193,0.12);
  color: var(--btn-hover);
}

/* Disclaimer text inside footer */
.thepineka-xyz-footer .footer-disclaimer {
  max-width: 700px; /* contain width */
  margin: 0 auto 22px auto;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--text);
  opacity: 0.9;
}

/* Powered by */
.thepineka-xyz-footer .powered {
  font-weight: 700;
  color: var(--accent);
  text-shadow: 0 0 10px rgba(254,122,193,0.25);
}


/* =========================
   DISCLAIMER POPUP
   ========================= */
.disclaimer-overlay {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(5, 10, 12, 0.55);
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  z-index: 2500;
  padding: 16px;
}

.disclaimer-popup-card {
  background: linear-gradient(180deg, rgba(25, 25, 35, 0.75), rgba(10, 10, 20, 0.65));
  border-radius: 18px;
  padding: 28px;
  max-width: 520px;
  width: 100%;
  color: var(--text);
  text-align: center;

  /* Glow frame */
  border: 2px solid rgba(254, 122, 193, 0.35);
  box-shadow: 0 0 15px rgba(254, 122, 193, 0.3),
              0 0 30px rgba(254, 122, 193, 0.15),
              0 12px 40px rgba(0, 0, 0, 0.6);

  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.disclaimer-popup-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 0 20px rgba(254, 122, 193, 0.45),
              0 0 40px rgba(254, 122, 193, 0.25),
              0 16px 50px rgba(0, 0, 0, 0.7);
}

.disclaimer-popup-card h2 {
  color: var(--heading);
  margin-bottom: 12px;
  font-weight: 700;
  text-shadow: 0 0 12px rgba(254, 122, 193, 0.25);
}
.disclaimer-popup-card p {
  line-height: 1.6;
  margin-bottom: 18px;
  color: rgba(255, 255, 255, 0.85);
}

.popup-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

/* Buttons inside popup */
.popup-actions .btn-primary {
  background: linear-gradient(135deg, #fe7ac1, #ff94d9);
  color: #fff;
  border: none;
  box-shadow: 0 0 12px rgba(254, 122, 193, 0.4);
  transition: all 0.25s ease;
}
.popup-actions .btn-primary:hover {
  background: linear-gradient(135deg, #ff94d9, #fe7ac1);
  box-shadow: 0 0 18px rgba(254, 122, 193, 0.6);
}

.popup-actions .btn-outline {
  border: 2px solid rgba(254, 122, 193, 0.35);
  color: var(--text);
  background: rgba(255, 255, 255, 0.04);
  transition: all 0.25s ease;
}
.popup-actions .btn-outline:hover {
  background: rgba(254, 122, 193, 0.12);
  border-color: rgba(254, 122, 193, 0.55);
  color: #fff;
  box-shadow: 0 0 14px rgba(254, 122, 193, 0.4);
}

.popup-remember {
  color: rgba(255, 218, 238, 0.75);
  font-size: 0.95rem;
  margin-top: 10px;
}

/* =========================
   Scroll to top (rounded square)
   ========================= */
.scroll-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  background: var(--btn-bg);
  color: var(--btn-text);
  border-radius: 10px;
  display: none;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  border: none;
  cursor: pointer;
  z-index: 1200;
  transition: background .18s ease, transform .14s ease;
}
.scroll-top:hover { background: var(--btn-hover); transform: translateY(-3px); }

/* =========================
   Small adjustments & responsiveness
   ========================= */
@media (max-width: 991px) {
  .hero-title { font-size: 2.1rem; }
  .thepineka-xyz-hero { padding: 30px 14px; height: 75vh; }
}

@media (max-width: 576px) {
  .container { padding: 0 14px; }
  .hero-title { font-size: 1.6rem; }
  .disclaimer-popup-card { padding: 16px; }
  .feature { padding: 14px; }
  .footer-links a { margin: 4px; display:inline-block; }
}

/* focus outlines for accessibility */
a:focus, button:focus, input:focus, textarea:focus { outline: 3px solid rgba(254,122,193,0.12); outline-offset: 2px; }

/* Keep wide elements from causing horizontal scroll */
img, iframe { max-width: 100%; height: auto; display:block; }



/* =============================
   LEGAL PAGES (Disclaimer / Privacy / Terms)
============================= */
.legal-section {
  background: #23383b; /* site background */
  color: var(--text, #ffdaee);
  padding: 60px 20px;
}

.legal-section .container {
  max-width: 900px;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(254, 122, 193, 0.15);
  border-radius: 14px;
  padding: 32px;
  box-shadow: 0 0 25px rgba(254, 122, 193, 0.15);
  backdrop-filter: blur(6px);
}

/* Main Title */
.legal-title {
  font-size: 2.2rem;
  font-weight: 800;
  color: #fe7ac1;
  text-align: center;
  text-shadow: 0 0 12px rgba(254, 122, 193, 0.6);
  margin-bottom: 28px;
}

/* Subheadings */
.legal-section h2 {
  font-size: 1.4rem;
  margin-top: 28px;
  margin-bottom: 12px;
  font-weight: 700;
  color: #fe7ac1;
  text-shadow: 0 0 8px rgba(254, 122, 193, 0.5);
}

/* Paragraph text */
.legal-section p {
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 18px;
  color: #ffdaee;
}

/* Links inside legal pages */
.legal-section a {
  color: #fe7ac1;
  font-weight: 600;
  text-decoration: underline;
  transition: color 0.25s ease, text-shadow 0.25s ease;
}
.legal-section a:hover {
  color: #ffdaee;
  text-shadow: 0 0 8px rgba(254, 122, 193, 0.6);
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .legal-title {
    font-size: 1.8rem;
  }
  .legal-section h2 {
    font-size: 1.2rem;
  }
  .legal-section .container {
    padding: 20px;
  }
}
