/* HomeOwnPath.com - Static Site Styles */
/* Uses Tailwind CSS CDN + Custom Styles */
:root {
      --background: 0 0% 100%;
      --foreground: 0 0% 9%;
      --card: 0 0% 98%;
      --card-foreground: 0 0% 9%;
      --popover: 0 0% 95%;
      --popover-foreground: 0 0% 9%;
      --popover-border: 0 0% 89%;
      --primary: 180 100% 25%;
      --primary-foreground: 0 0% 98%;
      --secondary: 32 100% 49%;
      --secondary-foreground: 0 0% 100%;
      --primary-border: hsl(from hsl(var(--primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
      --secondary-border: hsl(var(--secondary));
      --opaque-button-border-intensity: -8;
      --muted: 0 0% 93%;
      --muted-foreground: 0 0% 35%;
      --accent: 32 100% 49%;
      --accent-foreground: 0 0% 100%;
      --border: 0 0% 89%;
      --input: 0 0% 65%;
      --ring: 197 89% 42%;
      --radius: 0.5rem;
}

body { font-family: Inter, 'DM Sans', system-ui, -apple-system, sans-serif; }

.flex-4 {
      flex-grow: 4;
      flex-shrink: 4;
      flex-basis: 0%;
}

.border-primary-border {
    border-color: var(--primary-border);
}

.btn-teal-outline {
      background-color: #f57a00e6;
      border-color: #f57a00e6;
      color: #ffffff;
}
.btn-teal-outline:hover, .btn-teal-outline.selected {
      background-color: #008080;
      border-color: #008080;
}

.bg-popover {
      --tw-bg-opacity: 1;
      background-color: hsl(var(--popover) / var(--tw-bg-opacity, 1));
}

#submitBtn .animate-spin {
      display: none;
}

#submitBtn.sent:disabled span {
      display: none;
}

#submitBtn.sent:disabled .animate-spin {
      display: block;
}

.form-error-message {
      display: none;
}

.btn-gradient {
      background: linear-gradient(to right, #0fa8a8, #f57a00e6);
}
.step-number {
      width: 48px;
      height: 48px;
      min-width: 48px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      font-weight: 700;
      font-size: 1.25rem;
}
.gradient-text {
      background: linear-gradient(135deg, #008080 0%, #0fa8a8 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
}

.long .gradient-text {
      background: linear-gradient(135deg, #008080 0%, #0fa8a8 50%, #008080 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
}
.hero-glow {
      background: radial-gradient(ellipse 80% 50% at 50% -20%, rgba(15, 168, 168, 0.15), transparent);
}

.dpa a {
      color: hsl(var(--secondary));
      text-decoration: underline;
}

.prose h2 {
      font-size: 1.5rem;
      font-weight: 700;
      margin-top: 2rem;
      margin-bottom: 1rem;
      color: hsl(174 82% 37%);
}
.prose h3 {
      font-size: 1.25rem;
      font-weight: 600;
      margin-top: 1.5rem;
      margin-bottom: 0.75rem;
      color: hsl(222.2 84% 4.9%);
}
.prose p {
      margin-bottom: 1rem;
      line-height: 1.75;
}
.prose ul, .prose ol {
      margin-bottom: 1rem;
      padding-left: 1.5rem;
}
.prose li {
      margin-bottom: 0.5rem;
      line-height: 1.75;
}
.prose ul li {
      list-style-type: disc;
}
.prose ol li {
      list-style-type: decimal;
}

.contact-card {
      transition: all 0.3s ease;
}
.contact-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
}
.gradient-bg {
      background: linear-gradient(135deg, #0fa8a8 0%, #008080 100%);
}
.icon-float {
      animation: float 3s ease-in-out infinite;
}
@keyframes float {
      0%, 100% {
            transform: translateY(0px);
      }
      50% {
            transform: translateY(-8px);
      }
}

.orange-gradient {
      background: linear-gradient(135deg, #f57a00 0%, #ef781a 100%);
}


.cta-glow {
      box-shadow: 0 0 60px rgba(245, 122, 0, 0.4), 0 0 100px rgba(245, 122, 0, 0.2);
}
.cta-glow:hover {
      box-shadow: 0 0 80px rgba(245, 122, 0, 0.5), 0 0 120px rgba(245, 122, 0, 0.3);
}
.float-animation {
      animation: float 3s ease-in-out infinite;
}

.article-card {
      transition: all 0.3s ease;
}
.article-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
}
.article-card:hover .article-image {
      transform: scale(1.05);
}
.article-image {
      transition: transform 0.4s ease;
}
.line-clamp-2 {
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
}
.line-clamp-3 {
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
}

header .header_ad {
      height: 100px !important;
      width: 100%;

      position: absolute;
      top: -400px;
      background-color: #FFF;

      z-index: 100;

      text-align: center;
      transition: top 0.5s ease-in-out;
}

.header_responsive {
      width: 300px;
      height: 100px;
      margin: 0px auto;
}

/* Close button */
.close-ad {
      position: absolute;
      top: 5px;
      right: 10px;
      font-size: 18px;
      cursor: pointer;
      font-weight: bold;
}

@media screen and (min-width: 500px) {
      .header_responsive {
            width: 468px;
            height: 60px;
      }
}

@media screen and (min-width: 768px) {

      header .header_ad {
            height: 93px !important;
      }
}

@media screen and (min-width: 800px) {
      .header_responsive {
            width: 728px;
            height: 90px;
      }
}

/* Info Tooltip */
.info-tooltip {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 18px;
      height: 18px;
      margin-left: 8px;
      font-size: 12px;
      font-weight: 600;
      color: #fff;
      background-color: #00a822;
      border-radius: 50%;
      cursor: help;
      vertical-align: middle;
}
.info-tooltip:hover {
      background-color: #d1d5db;
      color: #374151;
}
.info-tooltip .tooltip-text {
      visibility: hidden;
      opacity: 0;
      position: absolute;
      bottom: calc(100% + 8px);
      left: 50%;
      transform: translateX(-50%);
      width: 220px;
      padding: 8px 10px;
      background-color: #1f2937;
      color: #fff;
      font-size: 12px;
      font-weight: 400;
      line-height: 1.4;
      text-align: left;
      border-radius: 6px;
      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
      z-index: 50;
      transition: opacity 0.2s, visibility 0.2s;
}
.info-tooltip .tooltip-text::after {
      content: '';
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
      border-width: 6px;
      border-style: solid;
      border-color: #1f2937 transparent transparent transparent;
}
/* Hover for desktop */
@media (hover: hover) {
      .info-tooltip:hover .tooltip-text {
            visibility: visible;
            opacity: 1;
      }
}
/* Active state for mobile tap */
.info-tooltip.active .tooltip-text {
      visibility: visible;
      opacity: 1;
}

/* Flag blocks - mobile responsive layout */
.flag-block {
      flex-wrap: wrap;
      align-items: center;
}
.flag-block .flag-icon {
      flex-shrink: 0;
      margin-top: 0;
}
.flag-block .flag-title {
      flex: 1;
      min-width: 0;
}
.flag-block .flag-content {
      flex: none !important;
      width: 100%;
      margin-top: 0.25rem;
}
/* Mobile: hide desktop title, show mobile title */
.flag-block .flag-title-desktop {
      display: none;
}

/* Desktop/Tablet: revert to original side-by-side layout */
@media (min-width: 640px) {
      .flag-block {
            flex-wrap: nowrap;
            align-items: flex-start;
      }
      .flag-block .flag-title {
            display: none;
      }
      .flag-block .flag-title-desktop {
            display: block;
      }
      .flag-block .flag-content {
            width: auto;
            flex: 1 !important;
            margin-top: 0;
      }
}

/* Sticky sidebar - sticks once bottom is reached */
@media (min-width: 1024px) {
      .sticky-sidebar {
            position: sticky;
            align-self: start;
      }
}
