/*
Theme Name: Java Guidance
Theme URI: https://example.com/java-guidance
Author: Java Guidance
Author URI: https://example.com
Description: A modern responsive Java Guidance WordPress theme for interview preparation content, app downloads, blog articles, testimonials, and marketing pages.
Version: 3.2.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: java-guidance
Tags: blog, custom-logo, custom-menu, featured-images, one-column, two-columns, theme-options, translation-ready
*/

/* Base tokens live in assets/css/main.css — this file is the theme header required by WordPress. */

/* Download App modal state */
html.jg-modal-open,
body.jg-modal-open { overflow: hidden; }

/* v24: refined Download App popup */
body.ip-modal-open, html.ip-modal-html-open { overflow: hidden !important; }
.jg-download-dialog {
  width: min(920px, calc(100vw - 32px));
  max-height: min(720px, calc(100vh - 32px));
  overflow: hidden !important;
  border-radius: 24px;
  padding: 0 !important;
}
.jg-download-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
  min-height: 560px;
  max-height: min(720px, calc(100vh - 32px));
  overflow: hidden;
}
.jg-download-copy {
  padding: 52px 42px 42px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.jg-app-badge { margin-bottom: 16px; }
.jg-download-copy h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.08;
  margin: 0 0 16px;
}
.jg-download-description {
  color: var(--ip-muted);
  font-size: 1rem;
  line-height: 1.7;
  max-width: 34rem;
  margin: 0 0 22px;
}
.jg-download-points {
  display: grid;
  gap: 12px;
  margin: 0 0 26px;
}
.jg-download-points div {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #292944;
  font-size: .9rem;
}
.jg-download-points span {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #ede9fe;
  color: var(--ip-primary);
  font-weight: 800;
}
.jg-download-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.jg-google-play-btn img { height: 48px; width: auto; }
.jg-maybe-later {
  border: 0;
  background: transparent;
  color: var(--ip-muted);
  font-weight: 600;
  cursor: pointer;
}
.jg-download-visual {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: linear-gradient(145deg, #f5f3ff, #ece9ff);
}
.jg-phone-glow {
  position: absolute;
  width: 330px;
  height: 330px;
  border-radius: 50%;
  background: rgba(99,102,241,.20);
  filter: blur(12px);
}
.jg-phone-frame {
  position: relative;
  z-index: 1;
  width: min(72%, 330px);
  max-height: 500px;
  display: flex;
  justify-content: center;
}
.jg-phone-frame img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 500px;
  object-fit: contain;
  filter: drop-shadow(0 24px 35px rgba(50, 35, 120, .22));
}
.jg-phone-caption {
  position: absolute;
  bottom: 18px;
  z-index: 2;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  color: #3f3f55;
  font-size: .75rem;
  font-weight: 600;
}
@media (max-width: 760px) {
  .jg-download-dialog {
    width: min(520px, calc(100vw - 20px));
    max-height: calc(100vh - 20px);
  }
  .jg-download-grid {
    display: block;
    min-height: 0;
    max-height: calc(100vh - 20px);
    overflow: hidden;
  }
  .jg-download-copy { padding: 34px 26px 28px; }
  .jg-download-copy h2 { font-size: 1.8rem; }
  .jg-download-description { font-size: .9rem; }
  .jg-download-points { gap: 9px; }
  .jg-download-visual { display: none; }
}

/* Legal pages */
.jg-legal-page { background:#fff; min-height:60vh; padding:72px 20px 90px; }
.jg-legal-container { width:min(900px,100%); margin:0 auto; color:#292944; font-family:inherit; }
.jg-legal-eyebrow { display:inline-block; padding:7px 13px; border-radius:999px; background:#f0edff; color:#5b4bd8; font-size:12px; font-weight:700; margin-bottom:16px; }
.jg-legal-container h1 { font-size:44px; line-height:1.1; margin:0 0 10px; }
.jg-legal-updated { color:#77768a; font-size:14px; margin:0 0 38px; }
.jg-legal-container h2 { font-size:22px; line-height:1.25; margin:32px 0 10px; color:#24233b; }
.jg-legal-container p, .jg-legal-container li { font-size:15px; line-height:1.75; color:#5d5c70; }
.jg-legal-container ul { padding-left:22px; margin-top:8px; }
@media(max-width:700px){
  .jg-legal-page{padding:48px 18px 64px;}
  .jg-legal-container h1{font-size:34px;}
  .jg-legal-container h2{font-size:20px;}
}
