:root {
  --background: 0 0% 100%;
  --foreground: 220 13% 13%;

  --card: 0 0% 100%;
  --card-foreground: 220 13% 13%;

  --popover: 0 0% 100%;
  --popover-foreground: 220 13% 13%;

  --primary: 197 100% 40%;
  --primary-foreground: 0 0% 100%;

  --secondary: 210 16% 93%;
  --secondary-foreground: 220 13% 13%;

  --muted: 210 16% 96%;
  --muted-foreground: 220 9% 46%;

  --accent: 197 100% 40%;
  --accent-foreground: 0 0% 100%;

  --destructive: 0 84.2% 60.2%;
  --destructive-foreground: 0 0% 100%;

  --border: 220 13% 91%;
  --input: 220 13% 91%;
  --ring: 197 100% 40%;

  --apple-podcast: 281 89% 62%;
  --apple-podcast-foreground: 0 0% 100%;

  --spotify: 141 73% 42%;
  --spotify-foreground: 0 0% 100%;

    --deezer: 268 91% 61%;
    --deezer-foreground: 0 0% 100%;

  --radius: 0.75rem;
}

  .dark {
  --background: 220 18% 8%;
  --foreground: 210 16% 93%;

  --card: 220 16% 12%;
  --card-foreground: 210 16% 93%;

  --popover: 220 16% 12%;
  --popover-foreground: 210 16% 93%;

  --primary: 197 100% 40%;
  --primary-foreground: 0 0% 100%;

  --secondary: 220 16% 16%;
  --secondary-foreground: 210 16% 93%;

  --muted: 220 16% 16%;
  --muted-foreground: 220 9% 65%;

  --accent: 197 100% 40%;
  --accent-foreground: 0 0% 100%;

  --destructive: 0 62.8% 30.6%;
  --destructive-foreground: 210 16% 93%;

  --border: 220 16% 20%;
  --input: 220 16% 20%;
  --ring: 197 100% 40%;

  --apple-podcast: 281 89% 62%;
  --apple-podcast-foreground: 0 0% 100%;

  --spotify: 141 73% 42%;
  --spotify-foreground: 0 0% 100%;

    --deezer: 268 91% 61%;
    --deezer-foreground: 0 0% 100%;
  }

* {
  border-color: hsl(var(--border));
}

body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  letter-spacing: -0.01em;
}

/* Logo carousel */
.tm-logo-carousel {
  overflow: hidden;
}

.tm-logo-track {
  display: flex;
  width: max-content;
  animation: tm-logo-scroll 30s linear infinite;
}

/* Featured episode description visibility */
.tm-featured-desc {
  display: none;
}

@media (min-width: 768px) {
  .tm-featured-desc {
    display: block;
  }
}

/* Article cards */
.tm-article-card-media {
  height: 12rem;
}

.tm-article-card-media__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width: 768px) {
  .tm-article-card-media {
    height: 14rem;
  }
}

@keyframes tm-logo-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

/* Pagination button tweaks */
.tm-pagination a,
.tm-pagination button {
  cursor: pointer;
}

/* Utility for JS toggling */
.tm-hidden {
  display: none;
}

[data-menu-toggle] .tm-icon-close {
  display: none;
}

[data-menu-toggle][aria-expanded="true"] .tm-icon-open {
  display: none;
}

[data-menu-toggle][aria-expanded="true"] .tm-icon-close {
  display: inline-flex;
}

/* Brevo (newsletter) form styling to match Lovable */
.sib-form {
  background: transparent;
}

.sib-form-container,
#sib-container {
  background: transparent;
  border: 0;
  padding: 0;
  max-width: none;
}

.jc-newsletter-form .sib-form-block,
.jc-newsletter-form .sib-input {
  margin: 0;
  padding: 0;
}

.jc-newsletter-form .entry__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.jc-newsletter-form .entry__error,
.jc-newsletter-form .entry__specification {
  display: block;
  font-size: 0.75rem;
  margin-top: 0.25rem;
  color: hsl(var(--muted-foreground));
}

.jc-newsletter-form {
  justify-content: center;
  width: max-content;
  max-width: 100%;
}

.jc-deezer-button {
  --deezer: 268 91% 61%;
}

.jc-newsletter-form .entry__error--primary {
  color: hsl(var(--destructive));
}

.jc-newsletter-form .sib-form-block__button {
  width: auto;
}

.jc-newsletter-form .entry__field {
  min-width: 260px;
}

@media (min-width: 768px) {
  .jc-newsletter-form .entry__field {
    min-width: 360px;
  }
}

.sib-form-message-panel {
  border: 0;
}

.sib-form-message-panel--active {
  display: block !important;
}

/* Contact Form 7 styling to match theme */
.wpcf7 form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.wpcf7 label {
  font-size: 0.875rem;
  font-weight: 500;
  color: hsl(var(--foreground));
  display: block;
  margin-bottom: 0.5rem;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
  display: flex;
  width: 100%;
  border-radius: 0.375rem;
  border: 1px solid hsl(var(--input));
  background: hsl(var(--background));
  padding: 0.5rem 0.75rem;
  font-size: 1rem;
  color: hsl(var(--foreground));
}

.wpcf7 textarea {
  min-height: 150px;
}

.wpcf7 input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
  padding: 0.75rem 2rem;
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
  width: 100%;
}

.wpcf7 input[type="submit"]:hover {
  background: hsl(var(--primary) / 0.9);
}

.wpcf7 .wpcf7-not-valid-tip {
  font-size: 0.75rem;
  color: hsl(var(--destructive));
  margin-top: 0.25rem;
}

.wpcf7 .wpcf7-response-output {
  border: 0;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  margin: 0;
}
