/* Base Styles */
html {
  scroll-behavior: smooth;
}
body {
  font-family: 'Inter', sans-serif;
}
h1, h2, h3 {
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 800;
}

/* Gradient Text Utility */
.text-gradient {
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  background-image: linear-gradient(to right, var(--ts-color-accent-500), var(--ts-color-brand-indigo-500));
}

/* Global CTA Section Background */
.cta-global-section {
  background-color: var(--ts-color-surface-app-bg);
  background-image:
    /* SVG texture */
    url('data:image/svg+xml,%3Csvg width="52" height="26" viewBox="0 0 52 26" xmlns="http://www.w3.org/2000/svg"%3E%3Cg fill="none" fill-rule="evenodd"%3E%3Cg fill="%231e293b" fill-opacity="0.4"%3E%3Cpath d="M10 10c0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6h2c0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6 0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6 0 2.21 1.79 4 4 4v2c-3.314 0-6-2.686-6-6 0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6zm25.464-1.95l8.486 8.486-1.414 1.414-8.486-8.486 1.414-1.414z" /%3E%3C/g%3E%3C/g%3E%3C/svg%3E'),
    /* Gradient */
  linear-gradient(to bottom right, var(--ts-color-brand-indigo-900), var(--ts-color-brand-violet-900), var(--ts-color-text-primary));
}

/* Card Shadow Styles */
.card-shadow {
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.07), 0 2px 4px -2px rgb(0 0 0 / 0.07);
}
.card-shadow:hover {
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}


/* Tailwind Prose Overrides - Forcing paragraph margins */
.prose p {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
}

/*
==============================================
Abstract Chart Component Styles
==============================================
*/
.abstract-chart--sm {
    padding: 0.75rem; /* 12px */
    transform: scale(0.9);
}

.abstract-chart--sm .rounded-lg {
    padding: 0.75rem; /* 12px */
}

.abstract-chart--sm .fa-solid {
    font-size: 0.8em;
}

.abstract-chart--sm .space-y-3 > div + div {
    margin-top: 0.5rem; /* 8px, reduces space between checklist items */
}

/* Make checklist items smaller */
.abstract-chart--sm .h-5, 
.abstract-chart--sm .w-5 {
    height: 1rem; /* 16px */
    width: 1rem; /* 16px */
}

/* Make text placeholders smaller */
.abstract-chart--sm .h-4 {
    height: 0.75rem; /* 12px */
}

/* --------------------------------------------------
   Global Navigation Components
   (Hamburger button styles moved from app-itinerary-planner.css
   on 2025-09-27 so they are available site-wide.)
-------------------------------------------------- */
.ts-hamburger { position:relative; display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:14px; border:1px solid var(--ts-color-brand-violet-200); background:rgba(255,255,255,0.55); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); cursor:pointer; padding:0; transition:background .25s ease, border-color .25s ease, box-shadow .25s ease; }
.ts-hamburger:hover { background:rgba(255,255,255,0.8); }
.ts-hamburger:focus { outline:var(--ts-focus-ring-width,3px) solid var(--ts-focus-ring-color,rgba(14,165,233,0.45)); outline-offset:var(--ts-focus-ring-offset,2px); }
.ts-hamburger__box { position:relative; width:26px; height:18px; display:block; }
.ts-hamburger__inner, .ts-hamburger__inner:before, .ts-hamburger__inner:after { position:absolute; left:0; width:100%; height:3px; background:var(--ts-color-brand-violet-900); border-radius:2px; content:""; transition:transform .38s cubic-bezier(.68,-0.55,.27,1.55), top .38s ease, opacity .25s ease, background .25s ease; }
.ts-hamburger__inner { top:50%; transform:translateY(-50%); }
.ts-hamburger__inner:before { top:-7px; }
.ts-hamburger__inner:after { top:7px; }
.ts-hamburger.is-open .ts-hamburger__inner { background:transparent; }
.ts-hamburger.is-open .ts-hamburger__inner:before { top:0; transform:rotate(45deg); }
.ts-hamburger.is-open .ts-hamburger__inner:after { top:0; transform:rotate(-45deg); }
@media (max-width:640px){
  .ts-hamburger { width:42px; height:42px; border-radius:12px; }
}

/* ----------------------------------------------
   Component: Reusable List Item (ts-li)
   (Consider extracting to a build-level aggregated CSS in future.)
---------------------------------------------- */
@import url('./ts-list-item.css');
/* Action Card (ts-ac) */
@import url('./ts-action-card.css');