/*
Theme Name: TyphoonMap Kadence Child
Theme URI: https://typhoonmap.com/
Description: A Kadence child theme designed for the TyphoonMap Tracker WordPress plugin. It provides the storm-tracker visual system, full-width app pages, Kadence layout cleanup, and public-safety branding.
Author: TyphoonMap
Author URI: https://typhoonmap.com/
Template: kadence
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: typhoonmap-kadence-child
*/

:root {
  --tmk-navy: #06152f;
  --tmk-deep: #09264d;
  --tmk-blue: #0067e6;
  --tmk-blue-dark: #004cae;
  --tmk-cyan: #39c8ff;
  --tmk-orange: #f08a00;
  --tmk-sky: #eaf6ff;
  --tmk-soft: #f4f8fb;
  --tmk-border: #d8e4ef;
  --tmk-text: #12233d;
  --tmk-muted: #627187;
  --tmk-card: #ffffff;
  --tmk-radius: 16px;
  --tmk-shadow: 0 18px 45px rgba(6, 21, 47, 0.10);
}

html {
  scroll-behavior: smooth;
}

body.typhoonmap-kadence {
  background: linear-gradient(180deg, #f7fbff 0%, #eef5fb 55%, #ffffff 100%);
  color: var(--tmk-text);
}

body.typhoonmap-kadence a {
  text-underline-offset: 3px;
}

body.typhoonmap-kadence button,
body.typhoonmap-kadence input,
body.typhoonmap-kadence textarea,
body.typhoonmap-kadence select {
  font-family: inherit;
}

/* Kadence global polish for non-app pages. */
body.typhoonmap-kadence:not(.typhoonmap-full-ui) .site-main {
  min-height: 55vh;
}

body.typhoonmap-kadence:not(.typhoonmap-full-ui) .entry-content-wrap,
body.typhoonmap-kadence:not(.typhoonmap-full-ui) .content-bg,
body.typhoonmap-kadence:not(.typhoonmap-full-ui) .kt-row-column-wrap {
  border-radius: var(--tmk-radius);
}

body.typhoonmap-kadence:not(.typhoonmap-full-ui) .entry-title {
  color: var(--tmk-navy);
  letter-spacing: -0.035em;
}

body.typhoonmap-kadence:not(.typhoonmap-full-ui) .entry-content h2,
body.typhoonmap-kadence:not(.typhoonmap-full-ui) .entry-content h3 {
  color: var(--tmk-deep);
}

body.typhoonmap-kadence:not(.typhoonmap-full-ui) .button,
body.typhoonmap-kadence:not(.typhoonmap-full-ui) button,
body.typhoonmap-kadence:not(.typhoonmap-full-ui) input[type="submit"] {
  border-radius: 999px;
}

body.typhoonmap-kadence .site-header,
body.typhoonmap-kadence .site-footer {
  box-shadow: 0 4px 24px rgba(6, 21, 47, 0.06);
}

body.typhoonmap-kadence .main-navigation .primary-menu-container > ul > li.menu-item > a {
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* TyphoonMap plugin pages should feel like an app, not a normal blog page. */
body.typhoonmap-full-ui {
  background: #eef5fb;
}

body.typhoonmap-full-ui .site-header,
body.typhoonmap-full-ui .site-footer,
body.typhoonmap-full-ui .entry-hero-container,
body.typhoonmap-full-ui .entry-header,
body.typhoonmap-full-ui .post-thumbnail,
body.typhoonmap-full-ui .page-header,
body.typhoonmap-full-ui .kadence-breadcrumbs,
body.typhoonmap-full-ui .single-content > .wp-block-spacer:first-child {
  display: none !important;
}

body.typhoonmap-full-ui .site,
body.typhoonmap-full-ui .site-main,
body.typhoonmap-full-ui .content-area,
body.typhoonmap-full-ui .content-container,
body.typhoonmap-full-ui .entry,
body.typhoonmap-full-ui .entry-content,
body.typhoonmap-full-ui .entry-content-wrap,
body.typhoonmap-full-ui .content-bg,
body.typhoonmap-full-ui .single-content {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

body.typhoonmap-full-ui .site-main {
  min-height: 100vh;
}

body.typhoonmap-full-ui .typhoonmap-template-full-width {
  width: 100%;
  max-width: none;
}

body.typhoonmap-full-ui .typhoonmap-template-full-width article {
  margin: 0;
}

body.typhoonmap-full-ui .wp-site-blocks,
body.typhoonmap-full-ui .site-container,
body.typhoonmap-full-ui .content-wrap {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Light integration with the TyphoonMap Tracker plugin classes. */
body.typhoonmap-full-ui .typhoonmap-app {
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(57, 200, 255, 0.16), transparent 32rem),
    linear-gradient(180deg, #f7fbff 0%, #eef5fb 44%, #ffffff 100%);
}

body.typhoonmap-full-ui .tm-header {
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

body.typhoonmap-full-ui .tm-card,
body.typhoonmap-full-ui .tm-hero,
body.typhoonmap-full-ui .tm-footer {
  box-shadow: var(--tmk-shadow);
}

body.typhoonmap-full-ui .tm-hero {
  border: 1px solid rgba(255,255,255,0.20);
}

body.typhoonmap-full-ui .tm-map-frame iframe {
  background: #07192e;
}

body.typhoonmap-full-ui .tm-footer {
  margin-top: 0;
}

/* Utility page styling if a normal Kadence page uses TyphoonMap buttons/blocks. */
.tmk-callout {
  border: 1px solid var(--tmk-border);
  border-radius: var(--tmk-radius);
  background: linear-gradient(135deg, #ffffff, var(--tmk-sky));
  box-shadow: var(--tmk-shadow);
  padding: clamp(1.25rem, 3vw, 2rem);
}

.tmk-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border-radius: 999px;
  background: rgba(0, 103, 230, 0.10);
  color: var(--tmk-blue-dark);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  padding: 0.35rem 0.75rem;
  text-transform: uppercase;
}

.tmk-button,
.wp-block-button .wp-block-button__link.tmk-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 44px;
  border-radius: 999px;
  background: var(--tmk-blue);
  color: #fff !important;
  font-weight: 900;
  letter-spacing: 0.02em;
  padding: 0.7rem 1.1rem;
  text-decoration: none !important;
  box-shadow: 0 12px 24px rgba(0, 103, 230, 0.22);
  transition: transform 140ms ease, box-shadow 140ms ease, background-color 140ms ease;
}

.tmk-button:hover,
.wp-block-button .wp-block-button__link.tmk-button:hover {
  background: var(--tmk-blue-dark);
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(0, 103, 230, 0.28);
}

.tmk-button--orange {
  background: var(--tmk-orange);
  box-shadow: 0 12px 24px rgba(240, 138, 0, 0.22);
}

.tmk-button--orange:hover {
  background: #cf7300;
}

@media (max-width: 767px) {
  body.typhoonmap-kadence:not(.typhoonmap-full-ui) .entry-content-wrap {
    border-radius: 0;
  }

  body.typhoonmap-full-ui .typhoonmap-app {
    background: #f7fbff;
  }
}


/* v2: full-width support for regional pages and storm detail pages */
body.typhoonmap-full-ui,
body.single-tm_storm.typhoonmap-kadence {
  background: #eef5fb !important;
}

body.typhoonmap-full-ui .wp-site-blocks,
body.typhoonmap-full-ui #wrapper,
body.typhoonmap-full-ui #inner-wrap,
body.typhoonmap-full-ui .site,
body.typhoonmap-full-ui .site-main,
body.typhoonmap-full-ui .content-area,
body.typhoonmap-full-ui .content-container,
body.typhoonmap-full-ui .entry,
body.typhoonmap-full-ui .entry-content,
body.typhoonmap-full-ui .entry-content-wrap,
body.typhoonmap-full-ui .content-bg,
body.typhoonmap-full-ui .single-content,
body.single-tm_storm .wp-site-blocks,
body.single-tm_storm #wrapper,
body.single-tm_storm #inner-wrap,
body.single-tm_storm .site,
body.single-tm_storm .site-main,
body.single-tm_storm .content-area,
body.single-tm_storm .content-container,
body.single-tm_storm .entry,
body.single-tm_storm .entry-content,
body.single-tm_storm .entry-content-wrap,
body.single-tm_storm .content-bg,
body.single-tm_storm .single-content {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

body.typhoonmap-full-ui .site-header,
body.typhoonmap-full-ui .site-footer,
body.typhoonmap-full-ui .entry-hero-container,
body.typhoonmap-full-ui .entry-header,
body.typhoonmap-full-ui .post-thumbnail,
body.typhoonmap-full-ui .page-header,
body.typhoonmap-full-ui .kadence-breadcrumbs,
body.single-tm_storm .site-header,
body.single-tm_storm .site-footer,
body.single-tm_storm .entry-hero-container,
body.single-tm_storm .entry-header,
body.single-tm_storm .post-thumbnail,
body.single-tm_storm .page-header,
body.single-tm_storm .kadence-breadcrumbs {
  display: none !important;
}

body.typhoonmap-full-ui .typhoonmap-app,
body.single-tm_storm .typhoonmap-app {
  border: 0 !important;
  box-shadow: none !important;
  min-height: 100vh;
}

body.typhoonmap-full-ui .tm-main,
body.single-tm_storm .tm-main {
  max-width: none !important;
}
