/* mistvoyage.css
   Theme tokens and global styles for Mistvoyage.cfd
   Colors (from user):
     Headings / accents / buttons: #6e2b32
     Text: #000000
     Button text: #8fac6a
     Button hover: #000000
     Site background: #8fac6a
*/

/* ================ Variables ================ */
:root{
  --mv-heading: #6e2b32;
  --mv-text: #000000;
  --mv-accent: #6e2b32;
  --mv-button-bg: #6e2b32;
  --mv-button-color: #8fac6a;
  --mv-button-hover: #000000;
  --mv-bg: #8fac6a;
  --mv-card-bg: rgba(255,255,255,0.95);
  --mv-card-shadow: 0 6px 22px rgba(0,0,0,0.08);
  --mv-radius: 14px;
  --mv-gap: 1.25rem;
  --mv-font: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mv-max-width: 1200px;
}

/* ================ Base ================ */
*{box-sizing:border-box}
html,body{height:100%}
body.mistvoyage-cfd{
  font-family: var(--mv-font);
  background: var(--mv-bg);
  color: var(--mv-text);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  margin:0;
  padding:0;
  text-rendering:optimizeLegibility;
}

/* Container helper */
.container { max-width: var(--mv-max-width); margin: 0 auto; padding: 0 1rem; }

/* Links */
a { color: var(--mv-accent); text-decoration: none; transition: opacity .18s ease, transform .12s ease; }
a:hover, a:focus { opacity: .9; text-decoration: underline; outline: none; }
a:focus { box-shadow: 0 0 0 3px rgba(110,43,50,0.12); border-radius:6px; }

/* Headings */
h1,h2,h3,h4,h5{ color: var(--mv-heading); margin:0 0 .6rem; font-weight:700; line-height:1.1; }
h1{ font-size:clamp(28px, 4.5vw, 44px);}
h2{ font-size:clamp(20px, 3vw, 28px);}
h3{ font-size:1.05rem; font-weight:600; }
.lead{ font-size:1.05rem; color: rgba(0,0,0,.88); }

/* Section spacing */
section{ padding: 48px 0; }

/* Cards */
.mistvoyage-cfd-card{
  background: var(--mv-card-bg);
  border-radius: var(--mv-radius);
  box-shadow: var(--mv-card-shadow);
  border: 1px solid rgba(0,0,0,0.04);
}

/* Buttons */
.mistvoyage-cfd-btn{
  display: inline-block;
  background: var(--mv-button-bg);
  color: var(--mv-button-color);
  padding: .7rem 1.25rem;
  border-radius: 10px;
  font-weight:600;
  text-decoration:none;
  transition: transform .12s ease, box-shadow .12s ease;
  border: 0;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(110,43,50,0.12);
}
.mistvoyage-cfd-btn:hover,
.mistvoyage-cfd-btn:focus{ transform: translateY(-2px); color: var(--mv-button-color); background: var(--mv-button-hover); color: var(--mv-button-color); outline:none; }
.mistvoyage-cfd-btn-ghost{ background: transparent; border: 1px solid rgba(110,43,50,0.08); color: var(--mv-heading); box-shadow:none; }
.mistvoyage-cfd-btn-ghost:hover{ background: rgba(255,255,255,0.6); }

/* Navbar */
.mistvoyage-cfd-navbar{
  background: transparent;
  border-bottom: 1px solid rgba(0,0,0,0.03);
  position: sticky;
  top:0;
  z-index:100;
  backdrop-filter: blur(6px);
}
.mistvoyage-cfd-logo{ height:80px; object-fit:contain; }
.mistvoyage-cfd-nav .nav-link{
  color: var(--mv-heading);
  font-weight:600;
  padding: .35rem .6rem;
}
.mistvoyage-cfd-nav .nav-link.active{ color: var(--mv-button-bg); text-decoration:underline; }
.mistvoyage-cfd-toggler{ border: none; color: var(--mv-heading); background: transparent; font-size:1.4rem; }
.mistvoyage-cfd-toggler-icon{ font-size:1.25rem; }

/* Hero */
.mistvoyage-cfd-hero {
  height: 90vh;
  padding: 0; /* remove padding so height fits cleanly */
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;

  /* Background image */
  background: url("../img/hero-bg.jpg") no-repeat center center;
  background-size: cover;

  /* Overlay for readability */
  position: relative;
  color: #fff;
}

.mistvoyage-cfd-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(110, 43, 50, 0.2); /* accent-colored overlay */
}

.mistvoyage-cfd-hero .container {
  position: relative;
  z-index: 1;
}

.mistvoyage-cfd-hero h1 span{ display:inline-block; background: rgba(255,255,255,0.85); padding: .2rem .5rem; border-radius:6px; color: var(--mv-heading); }
.mistvoyage-cfd-hero p {
  max-width: 780px;
  margin: 0 auto 1.25rem;
  color: rgba(255, 255, 255, 0.9); /* light text for visibility */
}

/* Notice / Disclaimer highlight */
.mistvoyage-cfd-notice .section-title{ margin-bottom: .75rem; }
.mistvoyage-cfd-notice p{ color: rgba(0,0,0,.85); }

/* Game iframe container */
.mistvoyage-cfd-game-frame{ max-width: 980px; border-radius: 12px; overflow: hidden; }
.mistvoyage-cfd-iframe-wrap{ width:100%; height:0; padding-bottom:56.25%; position:relative; }
.mistvoyage-cfd-iframe-wrap iframe{
  position:absolute; inset:0; width:100%; height:100%; border:0; display:block;
  background: #fff;
}

/* Features grid */
.mistvoyage-cfd-feature-title{ color: var(--mv-heading); margin-bottom: .5rem; font-size:1.05rem; }
.mistvoyage-cfd-feature-text{ color: rgba(0,0,0,.75); }
/* Features */
.mistvoyage-cfd-feature-icon {
  font-size: 2.5rem;
  color: #6e2b32; /* brand accent color */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  margin: 0 auto 1rem;
  border-radius: 50%;
  background: rgba(110, 43, 50, 0.1);
  transition: all 0.3s ease;
}

.mistvoyage-cfd-feature:hover .mistvoyage-cfd-feature-icon {
  background: #6e2b32;
  color: #8fac6a; /* button text color */
  transform: scale(1.1);
}

/* About */
.mistvoyage-cfd-about-img{ border-radius: 12px; box-shadow: var(--mv-card-shadow); }
.mistvoyage-cfd-about-img::before,
.mistvoyage-cfd-about-img::after {
  content: none !important; /* removes any overlay pseudo elements */
}

/* Reviews grid */
.mistvoyage-cfd-reviews-grid{
  display:grid;
  grid-template-columns: repeat(1,1fr);
  gap: 1rem;
}
@media(min-width:700px){
  .mistvoyage-cfd-reviews-grid{ grid-template-columns: repeat(2,1fr); }
}
@media(min-width:1000px){
  .mistvoyage-cfd-reviews-grid{ grid-template-columns: repeat(4,1fr); }
}

/* Footer */
.mistvoyage-cfd-footer{
  margin-top: 48px;
  padding-top: 36px;
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  border-top: 1px solid rgba(0,0,0,0.04);
}
.mistvoyage-cfd-footer-logo{ height:56px; object-fit:contain; }
.mistvoyage-cfd-footer-nav a{ color: var(--mv-heading); font-weight:600; opacity:.95; }
.mistvoyage-cfd-footer-disclaimer h5{ color: var(--mv-heading); }
.mistvoyage-cfd-footer-copy{ color: rgba(0,0,0,.6); }

/* Scroll to top button */
.mistvoyage-cfd-scrolltop{
  position: fixed;
  right: 28px; bottom: 28px;
  width:44px;height:44px;border-radius:50%;
  display:none; align-items:center; justify-content:center; z-index:1000;
  background: var(--mv-button-bg); color: var(--mv-button-color);
  box-shadow: 0 10px 28px rgba(0,0,0,0.12);
  text-decoration:none;
}
.mistvoyage-cfd-scrolltop:after{ content: "↑"; font-weight:700; }

/* Age popup */
.mistvoyage-cfd-age-popup{
  position: fixed; inset:0; display:none; align-items:center; justify-content:center;
  background: rgba(0,0,0,0.36); z-index:1200;
}
.mistvoyage-cfd-age-dialog{ width: min(560px, 94%); max-width: 560px; border-radius:12px; }
.mistvoyage-cfd-age-btn{
  padding:.6rem 1rem; border-radius:10px; border:0; background:var(--mv-button-bg); color:var(--mv-button-color); font-weight:600; cursor:pointer;
}
.mistvoyage-cfd-age-btn-ghost{ background: transparent; border: 1px solid rgba(0,0,0,.06); color: var(--mv-heading); }

/* Accessibility focus states */
button:focus, .mistvoyage-cfd-btn:focus, .nav-link:focus { outline: none; box-shadow: 0 0 0 4px rgba(110,43,50,0.08); border-radius:8px; }

/* Small screens adjustments */
@media (max-width:768px){
  .mistvoyage-cfd-hero{ padding: 48px 0; }
  .mistvoyage-cfd-logo{ height:68px; }
  .mistvoyage-cfd-iframe-wrap{ padding-bottom:66%; } /* taller on phones */
  .mistvoyage-cfd-nav{ gap: .5rem; flex-wrap:wrap; }
}

/* High-contrast / reduced motion preferences */
@media (prefers-reduced-motion: reduce){
  *{ transition:none !important; animation: none !important; }
}

/* Tiny helpers */
.text-center { text-align:center; }
.mb-0 { margin-bottom:0; }
.mb-2 { margin-bottom:.5rem; }
.mb-3 { margin-bottom:.75rem; }
.mb-4 { margin-bottom:1rem; }
.mt-4 { margin-top:1rem; }
.p-3 { padding:1rem; }
.p-4 { padding:1.25rem; }

.mistvoyage-cfd-disclaimer-text {
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
  color: rgba(0,0,0,0.75);
  line-height: 1.5;
}



/* Contact Section */
.mistvoyage-cfd-contact {
  background: var(--mv-bg); /* green site background */
  padding: 64px 24px;
}

.mistvoyage-cfd-contact-box {
  background: #fff;
  border-radius: var(--mv-radius);
  box-shadow: var(--mv-card-shadow);
  padding: 32px;
  max-width: 640px;   /* contain overall box width */
  margin: 0 auto;
}

.mistvoyage-cfd-contact-form {
  max-width: 500px;   /* contain form fields width */
  margin: 0 auto;
  text-align: left;
}

.mistvoyage-cfd-contact-form .form-group {
  margin-bottom: 1.25rem;
}

.mistvoyage-cfd-contact-form label {
  display: block;
  margin-bottom: .4rem;
  font-weight: 600;
  color: var(--mv-heading);
}

.mistvoyage-cfd-contact-form input,
.mistvoyage-cfd-contact-form textarea {
  width: 100%;
  padding: .75rem 1rem;
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 8px;
  font-size: 1rem;
  font-family: var(--mv-font);
  color: var(--mv-text);
  background: #fafafa;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.mistvoyage-cfd-contact-form input:focus,
.mistvoyage-cfd-contact-form textarea:focus {
  outline: none;
  border-color: var(--mv-accent);
  box-shadow: 0 0 0 3px rgba(110,43,50,0.1);
}




/* Legal Pages */
.mistvoyage-cfd-legal {
  background: #fff;
  border-top: 1px solid rgba(0,0,0,0.05);
}

.mistvoyage-cfd-legal-box {
  max-width: 900px;
  margin: 0 auto;
  padding: 40px;
  background: #fafafa;
  border-radius: var(--mv-radius);
  box-shadow: var(--mv-card-shadow);
}

.mistvoyage-cfd-legal-box h3 {
  margin-top: 2rem;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--mv-heading);
}

.mistvoyage-cfd-legal-box p,
.mistvoyage-cfd-legal-box ul {
  margin-bottom: 1rem;
  color: rgba(0,0,0,0.85);
  line-height: 1.65;
}

.mistvoyage-cfd-legal-box ul {
  padding-left: 1.5rem;
  list-style: disc;
}



/* Legal Pages */
/* Legal Sections */
.mistvoyage-cfd-legal {
  background: var(--mv-bg); /* site green background */
  padding: 60px 0;
}

.mistvoyage-cfd-legal-box {
  max-width: 900px;
  margin: 0 auto;
  background: #ffffff; /* white card for readability */
  border-radius: 12px;
  box-shadow: var(--mv-card-shadow);
  padding: 2rem;
}


.mistvoyage-cfd-legal-box h3 {
  margin-top: 2rem;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--mv-heading);
}

.mistvoyage-cfd-legal-box p,
.mistvoyage-cfd-legal-box ul {
  margin-bottom: 1rem;
  color: rgba(0,0,0,0.85);
  line-height: 1.65;
}

.mistvoyage-cfd-legal-box ul {
  padding-left: 1.5rem;
  list-style: disc;
}


