/*
Theme Name: U-TEAM GeneratePress Child
Theme URI: https://u-team.online/
Description: GeneratePress child theme that ships the U-TEAM.online React redesign as the front page.
Author: U-TEAM
Author URI: https://u-team.online/
Template: generatepress
Version: 1.1.1
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: u-team-generatepress-child
*/

/* U-TEAM app hard reset against WordPress + GeneratePress */
html,
body.u-team-app-page {
  margin: 0 !important;
  padding: 0 !important;
  min-width: 320px;
  min-height: 100%;
  background: #030712 !important;
  color: #f3f4f6 !important;
  overflow-x: hidden !important;
}

body.u-team-app-page {
  --contrast: #f3f4f6;
  --base: #030712;
  --base-2: #030712;
  --base-3: #030712;
  --accent: #06b6d4;
}

body.u-team-app-page .site-header,
body.u-team-app-page .main-navigation,
body.u-team-app-page .site-footer,
body.u-team-app-page .footer-widgets,
body.u-team-app-page .widget-area,
body.u-team-app-page #left-sidebar,
body.u-team-app-page #right-sidebar,
body.u-team-app-page .generate-back-to-top {
  display: none !important;
}

body.u-team-app-page #page,
body.u-team-app-page .site,
body.u-team-app-page .site-content,
body.u-team-app-page .content-area,
body.u-team-app-page .site-main,
body.u-team-app-page .inside-article,
body.u-team-app-page article,
body.u-team-app-page .entry-content {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body.u-team-app-page #root {
  min-height: 100vh !important;
  min-height: 100dvh !important;
  width: 100% !important;
  background: #030712 !important;
  isolation: isolate;
}

#u-team-landing-page,
#u-team-landing-page * {
  box-sizing: border-box !important;
}

#u-team-landing-page {
  width: 100% !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  background: #030712 !important;
  color: #f3f4f6 !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  line-height: 1.5;
}

#u-team-landing-page a {
  color: inherit !important;
  text-decoration: none !important;
}

#u-team-landing-page img,
#u-team-landing-page video,
#u-team-landing-page canvas,
#u-team-landing-page svg {
  display: block;
  max-width: 100%;
}

#u-team-landing-page button,
#u-team-landing-page input,
#u-team-landing-page textarea,
#u-team-landing-page select {
  font: inherit !important;
}

/* Kill GeneratePress default button rectangles */
#u-team-landing-page button,
#u-team-landing-page .button,
#u-team-landing-page input[type="button"],
#u-team-landing-page input[type="submit"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  text-decoration: none !important;
  box-shadow: none;
}

#u-team-landing-page nav button,
#u-team-landing-page button:not([class*="bg-"]):not([class*="gradient"]) {
  background: transparent !important;
  padding: 0 !important;
  border-color: transparent !important;
  color: inherit !important;
}

/* Restore app button backgrounds that WP overrides */
#u-team-landing-page .bg-cyan-500,
#u-team-landing-page [class*="bg-cyan-500"] {
  background-color: #06b6d4 !important;
}

#u-team-landing-page .bg-cyan-400,
#u-team-landing-page [class*="hover:bg-cyan-400"]:hover {
  background-color: #22d3ee !important;
}

#u-team-landing-page .bg-blue-600,
#u-team-landing-page [class*="bg-blue-600"] {
  background-color: #2563eb !important;
}

#u-team-landing-page .bg-blue-500,
#u-team-landing-page [class*="hover:bg-blue-500"]:hover {
  background-color: #3b82f6 !important;
}

#u-team-landing-page .bg-gray-950,
#u-team-landing-page [class*="bg-gray-950"] {
  background-color: #030712 !important;
}

#u-team-landing-page [class*="bg-gray-950/80"] {
  background-color: rgba(3, 7, 18, 0.8) !important;
}

#u-team-landing-page .bg-gray-900,
#u-team-landing-page [class*="bg-gray-900"] {
  background-color: #111827 !important;
}

#u-team-landing-page [class*="bg-gray-900/60"] {
  background-color: rgba(17, 24, 39, 0.6) !important;
}

#u-team-landing-page [class*="bg-gray-900/80"] {
  background-color: rgba(17, 24, 39, 0.8) !important;
}

#u-team-landing-page .bg-gray-800,
#u-team-landing-page [class*="hover:bg-gray-800"]:hover {
  background-color: #1f2937 !important;
}

#u-team-landing-page [class*="bg-cyan-950/40"] {
  background-color: rgba(8, 51, 68, 0.4) !important;
}

#u-team-landing-page [class*="bg-[#030712]"] {
  background-color: #030712 !important;
}

#u-team-landing-page [class*="bg-[#090d16]"] {
  background-color: #090d16 !important;
}

#u-team-landing-page [class*="from-cyan-500"][class*="to-blue-600"],
#u-team-landing-page [class*="from-cyan-500"][class*="to-blue-600"]:hover {
  background-color: transparent !important;
  background-image: linear-gradient(to right, #06b6d4, #2563eb) !important;
}

#u-team-landing-page [class*="bg-gradient-to-tr"][class*="from-cyan-500"][class*="to-blue-600"] {
  background-image: linear-gradient(to top right, #06b6d4, #2563eb) !important;
}

/* Restore key text colors */
#u-team-landing-page .text-white,
#u-team-landing-page [class*="text-white"] {
  color: #ffffff !important;
}

#u-team-landing-page .text-gray-950,
#u-team-landing-page [class*="text-gray-950"] {
  color: #030712 !important;
}

#u-team-landing-page .text-gray-100 {
  color: #f3f4f6 !important;
}

#u-team-landing-page .text-gray-300 {
  color: #d1d5db !important;
}

#u-team-landing-page .text-gray-400 {
  color: #9ca3af !important;
}

#u-team-landing-page .text-cyan-400,
#u-team-landing-page [class*="text-cyan-400"] {
  color: #22d3ee !important;
}

/* Restore button shape, padding, borders */
#u-team-landing-page .rounded-full {
  border-radius: 9999px !important;
}

#u-team-landing-page .rounded-xl {
  border-radius: 0.75rem !important;
}

#u-team-landing-page .rounded-2xl {
  border-radius: 1rem !important;
}

#u-team-landing-page [class*="rounded-[8px]"] {
  border-radius: 8px !important;
}

#u-team-landing-page .border,
#u-team-landing-page [class*=" border "] {
  border-width: 1px !important;
  border-style: solid !important;
}

#u-team-landing-page .border-transparent {
  border-color: transparent !important;
}

#u-team-landing-page [class*="border-gray-800"] {
  border-color: rgba(31, 41, 55, 0.85) !important;
}

#u-team-landing-page [class*="border-cyan-800"] {
  border-color: rgba(21, 94, 117, 0.45) !important;
}

#u-team-landing-page .py-1 { padding-top: .25rem !important; padding-bottom: .25rem !important; }
#u-team-landing-page .py-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
#u-team-landing-page .px-3 { padding-left: .75rem !important; padding-right: .75rem !important; }
#u-team-landing-page .px-4 { padding-left: 1rem !important; padding-right: 1rem !important; }
#u-team-landing-page .p-2 { padding: .5rem !important; }
#u-team-landing-page .p-3 { padding: .75rem !important; }
#u-team-landing-page .p-4 { padding: 1rem !important; }
#u-team-landing-page .pl-5 { padding-left: 1.25rem !important; }
#u-team-landing-page .pr-2 { padding-right: .5rem !important; }


/* Mobile polish */
@media (max-width: 768px) {
  body.u-team-app-page {
    padding: 0 !important;
  }

  #u-team-landing-page {
    overflow-x: hidden !important;
  }

  #u-team-landing-page .rounded-full {
    max-width: 100%;
  }
}

/* --- U-TEAM floating buttons repair --- */

body.u-team-app-page #u-team-landing-page #u_team_online_ai_assistant {
  position: fixed !important;
  right: max(24px, env(safe-area-inset-right)) !important;
  bottom: max(24px, env(safe-area-inset-bottom)) !important;
  left: auto !important;
  top: auto !important;
  z-index: 9990 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  pointer-events: auto !important;
}

body.u-team-app-page #u-team-landing-page #ai-onboarding-assistant-launcher {
  position: relative !important;
  inset: auto !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 9999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  color: #030712 !important;
  background-color: transparent !important;
  background-image: linear-gradient(to right, #06b6d4, #2563eb) !important;
  box-shadow: 0 20px 45px rgba(6, 182, 212, .2) !important;
  cursor: pointer !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.u-team-app-page #u-team-landing-page #ai-onboarding-assistant-launcher .absolute {
  position: absolute !important;
}

body.u-team-app-page #u-team-landing-page #ai-onboarding-assistant-launcher svg {
  display: block !important;
  stroke: currentColor !important;
  fill: none !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.u-team-app-page #u-team-landing-page #ai-onboarding-assistant-launcher > div:not(.absolute) > svg:first-child {
  width: 22px !important;
  height: 22px !important;
}

body.u-team-app-page #u-team-landing-page #ai-onboarding-assistant-launcher svg.absolute {
  width: 11px !important;
  height: 11px !important;
}

body.u-team-app-page #u-team-landing-page #u-team-scroll-top {
  position: fixed !important;
  left: max(32px, env(safe-area-inset-left)) !important;
  bottom: max(32px, env(safe-area-inset-bottom)) !important;
  right: auto !important;
  top: auto !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid rgba(34, 211, 238, .35) !important;
  border-radius: 9999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #030712 !important;
  background: #06b6d4 !important;
  box-shadow: 0 20px 45px rgba(6, 182, 212, .25) !important;
  cursor: pointer !important;
  z-index: 9989 !important;
}

body.u-team-app-page #u-team-landing-page #u-team-scroll-top svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  stroke: currentColor !important;
  fill: none !important;
  visibility: visible !important;
  opacity: 1 !important;
}

@media (max-width: 768px) {
  body.u-team-app-page #u-team-landing-page #u_team_online_ai_assistant {
    right: max(16px, env(safe-area-inset-right)) !important;
    bottom: max(16px, env(safe-area-inset-bottom)) !important;
  }

  body.u-team-app-page #u-team-landing-page #u-team-scroll-top {
    left: max(16px, env(safe-area-inset-left)) !important;
    bottom: max(16px, env(safe-area-inset-bottom)) !important;
  }
}

/* --- U-TEAM admin customizer launcher position --- */

body.u-team-app-page #u-team-landing-page #wp-customizer-open-launcher {
  position: fixed !important;
  right: calc(max(24px, env(safe-area-inset-right)) + 80px) !important;
  bottom: max(24px, env(safe-area-inset-bottom)) !important;
  left: auto !important;
  top: auto !important;
  z-index: 9992 !important;

  min-width: 56px !important;
  height: 56px !important;
  padding: 0 17px !important;
  margin: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;

  border: 0 !important;
  border-radius: 9999px !important;
  color: #030712 !important;
  background-color: transparent !important;
  background-image: linear-gradient(135deg, #22d3ee, #2563eb) !important;
  box-shadow: 0 20px 45px rgba(6, 182, 212, .22) !important;
  cursor: pointer !important;
}

body.u-team-app-page #u-team-landing-page #wp-customizer-open-launcher svg {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  display: block !important;
  stroke: currentColor !important;
  fill: none !important;
}

@media (max-width: 768px) {
  body.u-team-app-page #u-team-landing-page #wp-customizer-open-launcher {
    right: max(16px, env(safe-area-inset-right)) !important;
    bottom: calc(max(16px, env(safe-area-inset-bottom)) + 72px) !important;
    min-width: 52px !important;
    height: 52px !important;
    padding: 0 15px !important;
  }
}