/*

              _   ____    ____                _                ______                   _
             (_) |_   \  /   _|              / |_             |_   _ `.                (_)
             __    |   \/   |   ,--.   .--. `| |-'.---.  _ .--. | | `. \ .---.  .--.   __   .--./) _ .--.
            [  |   | |\  /| |  `'_\ : ( (`\] | | / /__\\[ `/'`\]| |  | |/ /__\\( (`\] [  | / /'`\;[ `.-. |
             | |  _| |_\/_| |_ // | |, `'.'. | |,| \__., | |   _| |_.' /| \__., `'.'.  | | \ \._// | | | |
            [___]|_____||_____|\'-;__/[\__) )\__/ '.__.'[___] |______.'  '.__.'[\__) )[___].',__` [___||__]
                                                                                          ( ( __))


    @iMasterDesign Brazil [ ©1998-2077 ]
    iMasterDesign™ | iNet Solutions CORPORATION™
    Web . App . Developer . DBA . Social Marketing

    Marcelo Rocha Main | Founder and CEO by iMasterDesign™
    Full-Stack Developer, imasterdesign@imasterdesign.com.br

    Via Service · aviso de cookies, Política de Privacidade e página de erro
*/

:root {
  --im-global-navy: #09385b;
  --im-global-green: #4fb848;
  --im-global-ink: #1d2733;
  --im-global-muted: #5b6672;
  --im-global-paper: #ffffff;
  --im-global-soft: #efefef;
  --im-cookie-h: 0px;
}

/* ---------- aviso de cookies ---------- */
.im-cookie {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10001;
  background: var(--im-global-paper);
  border-top: 4px solid var(--im-global-navy);
  box-shadow: 0 -6px 24px rgba(9, 56, 91, 0.18);
  font-family: 'Open Sans', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
}
.im-cookie[hidden] { display: none; }
.im-cookie__inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 24px;
}
.im-cookie__text {
  margin: 0;
  flex: 1 1 auto;
  font-size: 14px;
  line-height: 1.55;
  color: var(--im-global-ink);
}
.im-cookie__text a {
  color: var(--im-global-navy);
  font-weight: 700;
  text-decoration: underline;
}
.im-cookie__actions {
  display: flex;
  gap: 12px;
  flex: 0 0 auto;
}
/* os dois botões com o MESMO destaque: nada de esconder o Recusar */
.im-cookie__btn {
  min-width: 120px;
  min-height: 44px;
  padding: 10px 22px;
  border: 2px solid var(--im-global-navy);
  border-radius: 6px;
  background: var(--im-global-navy);
  color: #fff;
  font: 700 14px/1 'Open Sans', system-ui, Arial, sans-serif;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.im-cookie__btn:hover,
.im-cookie__btn:focus-visible {
  background: #0c4b7a;
  border-color: #0c4b7a;
  outline: none;
}
.im-cookie__btn:focus-visible { box-shadow: 0 0 0 3px rgba(79, 184, 72, 0.6); }

/* o botão do WhatsApp sobe enquanto o aviso estiver aberto */
.im-cookie-open .whatsapp-float { bottom: calc(var(--im-cookie-h) + 16px); }

@media (max-width: 767px) {
  .im-cookie__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    padding: 14px 16px;
  }
  .im-cookie__text { font-size: 13px; text-align: center; }
  .im-cookie__actions { gap: 10px; }
  .im-cookie__btn { flex: 1 1 0; min-width: 0; }
}

/* ---------- link legal nas páginas de galeria ---------- */
.im-legal-link {
  margin: 40px auto 0;
  text-align: center;
  font-size: 13px;
}
.im-legal-link a { color: var(--im-global-navy); font-weight: 600; }

/* ---------- link no rodapé da home ---------- */
footer .im-footer-legal {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  text-align: center;
  font-size: 13px;
}
footer .im-footer-legal a { color: var(--im-global-navy); font-weight: 600; }
footer .im-footer-legal button {
  background: none;
  border: 0;
  padding: 0;
  margin-left: 14px;
  color: var(--im-global-navy);
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
}

/* ---------- Política de Privacidade ---------- */
.im-policy {
  padding: 140px 0 70px;
  background: var(--im-global-paper);
  color: var(--im-global-ink);
}
.im-policy__head {
  max-width: 820px;
  margin: 0 auto 40px;
  text-align: center;
}
.im-policy__kicker {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--im-global-green);
}
.im-policy__head h1 {
  margin: 0 0 14px;
  font-family: 'Open Sans', sans-serif;
  font-size: 38px;
  font-weight: 800;
  color: var(--im-global-navy);
}
.im-policy__head p { margin: 0; font-size: 15px; color: var(--im-global-muted); }
.im-policy__body { max-width: 820px; margin: 0 auto; }
.im-policy__item {
  padding: 26px 0;
  border-top: 1px solid #e3e7eb;
}
.im-policy__item h2 {
  margin: 0 0 12px;
  font-family: 'Open Sans', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: var(--im-global-navy);
}
.im-policy__item p,
.im-policy__item li {
  font-size: 15px;
  line-height: 1.7;
  color: var(--im-global-ink);
}
.im-policy__item ul { list-style: disc; padding-left: 22px; margin: 8px 0 0; }
.im-policy__item a { color: var(--im-global-navy); font-weight: 600; text-decoration: underline; }
.im-policy__button {
  margin-top: 10px;
  min-height: 44px;
  padding: 10px 22px;
  border: 2px solid var(--im-global-navy);
  border-radius: 6px;
  background: var(--im-global-navy);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
.im-policy__updated {
  margin-top: 10px;
  padding-top: 24px;
  border-top: 1px solid #e3e7eb;
  font-size: 13px;
  color: var(--im-global-muted);
}
.im-header-solid {
  background-color: rgba(250, 250, 250, 0.98);
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25);
}

@media (max-width: 767px) {
  .im-policy { padding: 110px 0 50px; }
  .im-policy__head h1 { font-size: 28px; }
  .im-policy__item h2 { font-size: 18px; }
}

/* ---------- página de erro ---------- */
.im-error {
  min-height: 100vh;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 16px;
  background: var(--im-global-soft);
  font-family: 'Open Sans', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
  color: var(--im-global-ink);
  text-align: center;
}
.im-error__card {
  width: 100%;
  max-width: 520px;
  padding: 44px 32px;
  background: var(--im-global-paper);
  border-top: 6px solid var(--im-global-navy);
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(9, 56, 91, 0.12);
}
.im-error__logo { max-width: 220px; height: auto; margin-bottom: 26px; }
.im-error h1 { margin: 0 0 12px; font-size: 26px; font-weight: 800; color: var(--im-global-navy); }
.im-error p { margin: 0 0 26px; font-size: 15px; line-height: 1.6; color: var(--im-global-muted); }
.im-error__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.im-error__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 22px;
  line-height: 1.2;
  border-radius: 6px;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
}
.im-error__btn--primary { background: var(--im-global-navy); color: #fff; }
.im-error__btn--whats { background: var(--im-global-green); color: #fff; }
