/* Responsive layouts, fallbacks, and viewport-specific styling. */

/* RESPONSIVE ADJUSTMENTS                                                      */
/* -------------------------------------------------------------------------- */

@media (max-width: 1024px) {
  :where(.blog, .archive, .search-results) .entries:not([data-layout="enhanced-grid"]),
  .entries[data-layout="enhanced-grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }

  .entries[data-layout="enhanced-grid"] > .entry-card,
  .entries[data-layout="enhanced-grid"] > .entry-card:nth-child(5n + 1),
  .entries[data-layout="enhanced-grid"] > .entry-card:nth-child(5n + 2) {
    grid-column: auto !important;
  }

  .entries[data-layout="enhanced-grid"] > .entry-card:nth-child(n) > .ct-media-container {
    aspect-ratio: 16 / 10;
  }

  .ct-related-posts {
    max-width: calc(100% - 28px);
    margin-block: 46px;
    padding: 28px 22px 32px;
  }

  .ct-related-posts .ct-related-posts-items {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
}

@media (max-width: 768px) {
  .page-title,
  h1.entry-title,
  .ct-advanced-heading {
    margin-bottom: 18px;
    font-size: clamp(28px, 7.5vw, 38px);
    line-height: 1.15;
    letter-spacing: -0.02em;
  }

  :where(.ct-advanced-heading[title], .blog .page-title[title], .page .page-title[title])::after {
    top: 0;
    font-size: clamp(38px, 13vw, 72px);
    line-height: 0.95;
    white-space: normal;
    opacity: 0.55;
  }

  :where(
    .entry-content,
    .ct-panel-content,
    .cookie-notification
  ) :where(
    .wp-block-button,
    .wp-block-button__link,
    input[type="submit"],
    input[type="button"],
    input[type="reset"],
    .button,
    .btn,
    .ct-button,
    .cta-link-button
  ) {
    width: 100%;
  }

  .ct-search-form .ct-search-form-inner.ct-pseudo-input {
    grid-template-columns: minmax(0, 1fr) 50px;
    min-height: 52px;
  }

  .ct-search-results :where(a, .ct-search-result) {
    grid-template-columns: 62px minmax(0, 1fr);
  }

  .ct-search-results .ct-media-container {
    width: 62px;
    height: 54px;
  }

  :where(.blog, .archive, .search-results) .entries:not([data-layout="enhanced-grid"]),
  .entries[data-layout="enhanced-grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  :where(.blog, .archive, .search-results) .entry-card > .ct-media-container,
  .entries[data-layout="enhanced-grid"] > .entry-card:nth-child(n) > .ct-media-container {
    aspect-ratio: 16 / 9;
  }

  :where(.blog, .archive, .search-results) .entry-card > .entry-title,
  .entries[data-layout="enhanced-grid"] > .entry-card > .entry-title {
    padding: 19px 18px 0;
    font-size: clamp(1.08rem, 5vw, 1.24rem);
  }

  :where(.blog, .archive, .search-results) .entry-card > .entry-excerpt,
  .entries[data-layout="enhanced-grid"] > .entry-card > .entry-excerpt {
    padding: 12px 18px 0;
  }

  :where(.blog, .archive, .search-results) .entry-card > .entry-button,
  .entries[data-layout="enhanced-grid"] > .entry-card > .entry-button {
    width: auto;
    margin: 18px;
  }

  .ct-pagination {
    margin-top: 32px;
  }

  .ct-related-posts {
    max-width: calc(100% - 24px);
    margin-block: 42px;
    padding: 24px 16px 26px;
    border-radius: var(--dafy-radius-md);
  }

  .ct-related-posts .ct-related-posts-items {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .quote-grid__list {
    grid-template-columns: 1fr;
  }

  .pullquote {
    margin-block: 2.4em;
  }

  .author-box.is-width-constrained {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 20px 18px;
  }

  .author-box.is-width-constrained .ct-media-container {
    width: 78px;
    height: 78px;
  }

  .single-post .custom-toc__summary {
    padding: 16px 18px;
    font-size: 1rem;
  }

  .single-post .custom-toc__list {
    padding: 0 18px 18px !important;
  }

  .single-post .custom-toc__link {
    padding: 13px 14px 13px 36px;
    font-size: 0.95rem;
  }

  .entry-content .custom-faq-question {
    gap: 14px;
    padding: 16px 18px;
  }

  .entry-content .custom-faq-heading {
    font-size: 1rem;
    line-height: 1.4;
  }

  .entry-content .custom-faq-answer {
    padding: 0 18px 18px;
    font-size: 0.96rem;
  }

  .single .entry-header,
  .single-post .entry-header {
    gap: 9px;
    margin: 0;
    padding: 18px 16px 20px;
    border-left-width: 4px;
    border-radius: var(--dafy-radius-md);
  }

  .single .hero-section[data-type="type-1"],
  .single-post .hero-section[data-type="type-1"] {
    margin-bottom: 28px;
  }

  .single .entry-header > :where(.page-title, .entry-title, h1.page-title, h1.entry-title),
  .single-post .entry-header > :where(.page-title, .entry-title, h1.page-title, h1.entry-title) {
    margin-bottom: 7px;
    font-size: clamp(1.7rem, 7vw, 2.35rem);
    line-height: 1.04;
  }

  .single .entry-header .entry-meta,
  .single-post .entry-header .entry-meta,
  .single .entry-header .meta-categories,
  .single-post .entry-header .meta-categories {
    gap: 8px;
    min-height: 32px;
  }

  .single .entry-header .meta-categories a,
  .single-post .entry-header .meta-categories a,
  .single .entry-header .entry-meta > :where(.meta-date, .meta-updated-date),
  .single-post .entry-header .entry-meta > :where(.meta-date, .meta-updated-date) {
    min-height: 32px;
    padding: 6px 11px !important;
    font-size: 0.83rem;
  }

  .preferred-source-box {
    flex-direction: column;
    gap: 15px;
    padding-inline: 20px;
  }

  .preferred-source-box a:first-child,
  .preferred-source-box a:last-child {
    max-width: 380px;
  }

  .cookie-notification .ct-button-group {
    flex-direction: column;
    align-items: stretch;
  }

  .cookie-notification .ct-button {
    width: 100%;
  }

  .entry-content :where(.wp-block-table, .dafy-table-scroll) {
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--dafy-orange) var(--dafy-surface-5);
  }

  .entry-content :where(.wp-block-table, .dafy-table-scroll)::before {
    content: "Листайте таблицу →";
    position: sticky;
    left: 0;
    display: block;
    width: max-content;
    padding: 8px 12px;
    border-bottom: 1px solid var(--dafy-content-surface-border);
    color: var(--dafy-text-soft);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  html:lang(en) .entry-content :where(.wp-block-table, .dafy-table-scroll)::before {
    content: "Scroll the table →";
  }

  .entry-content :where(.wp-block-table, .dafy-table-scroll) table {
    width: max-content;
    min-width: max(100%, 640px);
    max-width: none;
    table-layout: auto;
  }

  .entry-content .wp-block-table table.has-fixed-layout,
  .entry-content .dafy-table-scroll table.has-fixed-layout {
    width: max-content;
    table-layout: auto;
  }

  .entry-content :where(.wp-block-table, .dafy-table-scroll) :where(th, td) {
    min-width: 150px;
    padding: 12px 14px;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: none;
  }

  .entry-content :where(.wp-block-table, .dafy-table-scroll) th {
    white-space: nowrap;
    overflow-wrap: normal;
  }

  .entry-content :where(.wp-block-table, .dafy-table-scroll) :where(th, td):first-child {
    min-width: 180px;
  }

  .entry-content :where(.wp-block-table, .dafy-table-scroll)::-webkit-scrollbar {
    height: 10px;
  }

  .entry-content :where(.wp-block-table, .dafy-table-scroll)::-webkit-scrollbar-track {
    background: var(--dafy-surface-5);
  }

  .entry-content :where(.wp-block-table, .dafy-table-scroll)::-webkit-scrollbar-thumb {
    border: 2px solid var(--dafy-surface-5);
    border-radius: var(--dafy-radius-pill);
    background: var(--dafy-orange);
  }
}

@media (min-width: 768px) {
  .pullquote {
    width: 70%;
    margin-inline: auto;
    padding-inline: 3em;
  }
}

@media (max-width: 500px) {
  .dafy-cta-minimal {
    flex-direction: column;
    width: 100%;
    max-width: 220px;
  }
}

@media (max-width: 689px) {
  :where(.blog, .archive, .search-results) .entries:not([data-layout="enhanced-grid"]),
  .entries[data-layout="enhanced-grid"] {
    grid-template-columns: 1fr !important;
  }

  .entries[data-layout="enhanced-grid"] > .entry-card:nth-child(n) {
    grid-column: auto !important;
  }
}

@media (max-width: 480px) {
  .page-title,
  h1.entry-title,
  .ct-advanced-heading {
    margin-bottom: 14px;
    font-size: clamp(25px, 8vw, 32px);
    line-height: 1.12;
  }

  :where(.ct-advanced-heading[title], .blog .page-title[title], .page .page-title[title])::after {
    font-size: clamp(34px, 15vw, 58px);
    opacity: 0.42;
  }

  .ct-search-form .ct-search-form-inner.ct-pseudo-input {
    padding: 4px;
    border-radius: var(--dafy-radius-md);
  }

  .ct-search-form input[type="search"].modal-field {
    padding-inline: 12px;
    font-size: 1rem;
  }

  .ct-search-results {
    padding: 7px;
    border-radius: var(--dafy-radius-md);
  }

  :where(.blog, .archive, .search-results) .entry-card,
  .entries[data-layout="enhanced-grid"] > .entry-card {
    border-radius: 18px !important;
  }

  .ct-pagination .page-numbers {
    min-width: 38px;
    min-height: 38px;
    padding: 8px 11px;
  }
}

/* -------------------------------------------------------------------------- */
/* FALLBACKS AND REDUCED MOTION                                                */
/* -------------------------------------------------------------------------- */

@supports not (aspect-ratio: 1 / 1) {
  /* Archive cards: preserve image proportions in older Safari/Chromium. */
  .entries[data-layout="enhanced-grid"] > .entry-card:nth-child(5n + 1),
  .entries[data-layout="enhanced-grid"] > .entry-card:nth-child(5n + 2) {
    --dafy-archive-image-fallback-ratio: 56.25%;
  }

  .entries[data-layout="enhanced-grid"] > .entry-card:nth-child(5n + 3),
  .entries[data-layout="enhanced-grid"] > .entry-card:nth-child(5n + 4),
  .entries[data-layout="enhanced-grid"] > .entry-card:nth-child(5n + 5) {
    --dafy-archive-image-fallback-ratio: 75%;
  }
  .blog .entry-card > .ct-media-container,
  .archive .entry-card > .ct-media-container,
  .search-results .entry-card > .ct-media-container,
  .entries[data-layout="enhanced-grid"] > .entry-card > .ct-media-container {
    height: 0;
    padding-top: var(--dafy-archive-image-fallback-ratio, 62.5%);
  }

  .blog .entry-card > .ct-media-container img,
  .archive .entry-card > .ct-media-container img,
  .search-results .entry-card > .ct-media-container img,
  .entries[data-layout="enhanced-grid"] > .entry-card > .ct-media-container img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

  .ct-related-posts .ct-related-posts-items article > div {
    height: 0;
    padding-top: 75%;
  }

  .ct-related-posts .ct-media-container {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

}

/* Keep responsive fallback values outside @supports for older CSS validators. */
@media (max-width: 1024px) {
  .blog .entry-card > .ct-media-container,
  .archive .entry-card > .ct-media-container,
  .search-results .entry-card > .ct-media-container,
  .entries[data-layout="enhanced-grid"] > .entry-card > .ct-media-container {
    --dafy-archive-image-fallback-ratio: 62.5%;
  }
}

@media (max-width: 768px) {
  .blog .entry-card > .ct-media-container,
  .archive .entry-card > .ct-media-container,
  .search-results .entry-card > .ct-media-container,
  .entries[data-layout="enhanced-grid"] > .entry-card > .ct-media-container {
    --dafy-archive-image-fallback-ratio: 56.25%;
  }
}

@supports not (aspect-ratio: 16 / 9) {
  :where(
    figure.wp-block-embed.is-type-video .video-container,
    figure.wp-block-embed.is-provider-youtube .video-container,
    figure.wp-block-embed.is-type-video .wp-block-embed__wrapper,
    figure.wp-block-embed.is-provider-youtube .wp-block-embed__wrapper
  ) {
    height: 0;
    padding-top: 56.25%;
  }
}

@media (hover: none), (pointer: coarse) {
  .dafy-lightbox-media,
  .dafy-lightbox-media img[data-dafy-lightbox],
  img[data-dafy-lightbox] {
    cursor: default;
  }
}

/* -------------------------------------------------------------------------- */
/* CTA MOTION AND STATIC CONTROL EXCEPTIONS                                   */
/* -------------------------------------------------------------------------- */


/* CTA controls keep their size; section 30 supplies the sheen. */
:where(.cta-link-button, .dg-hero__nav a):not(.dafy-no-pulse) {
  animation: none; /* Replace continuous scaling with the sheen effect. */
}

/* Icon-only and utility controls keep their geometry. Color states are not changed here. */
.single .entry-header .meta-categories a,
.single-post .entry-header .meta-categories a,
.ct-search-form button,
.ct-header-search,
.ct-header-trigger,
.ct-toggle-dropdown-desktop-ghost,
[data-button="icon"],
.dafy-no-pulse {
  animation: none;
  transform: none;
  will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* -------------------------------------------------------------------------- */
/* UNIFIED DARK EDITORIAL SURFACES                                             */
/* -------------------------------------------------------------------------- */

/*
 * These tokens create a clearer separation from the normal article canvas.
 * The same base surface is shared by CTA blocks, editorial lists, tables,
 * captions, quotes, FAQ cards and code blocks. Archive cards, menus, category
 * pills, the header and search interface are intentionally outside this scope.
 */

/* CTA, quotes and compact information blocks. */
:where(
  .single-post .entry-content,
  .page:not(.home) .entry-content
) :where(
  .ct-cta-paragraph,
  .styled-quote,
  .platform-box,
  .pullquote,
  .wp-block-quote,
  .wp-block-pullquote,
  .wp-block-details,
  p.has-background
) {
  background-color: var(--dafy-content-surface) !important;
  background-image: none !important;
  box-shadow: var(--dafy-content-surface-shadow);
}

:where(
  .single-post .entry-content,
  .page:not(.home) .entry-content
) :where(.ct-cta-paragraph, .styled-quote, .platform-box, .wp-block-details) {
  border-top: 1px solid var(--dafy-content-surface-border);
  border-right: 1px solid var(--dafy-content-surface-border);
  border-bottom: 1px solid var(--dafy-content-surface-border);
}

/* Keep each component's colored left accent. */
:where(
  .single-post .entry-content,
  .page:not(.home) .entry-content
) .ct-cta-paragraph {
  border-left: 5px solid var(--dafy-orange);
}

:where(
  .single-post .entry-content,
  .page:not(.home) .entry-content
) .styled-quote {
  border-left: 4px solid var(--dafy-danger);
}

:where(
  .single-post .entry-content,
  .page:not(.home) .entry-content
) .platform-box {
  border-left: 4px solid var(--dafy-yellow);
}

/* Tables: dark container, deeper header and a visible but restrained hover. */
:where(
  .single-post .entry-content,
  .page:not(.home) .entry-content
) .wp-block-table {
  border-color: var(--dafy-content-surface-border-strong);
  background: var(--dafy-content-surface);
  box-shadow: var(--dafy-content-surface-shadow);
}

:where(
  .single-post .entry-content,
  .page:not(.home) .entry-content
) .wp-block-table table {
  background: var(--dafy-content-surface);
}

:where(
  .single-post .entry-content,
  .page:not(.home) .entry-content
) .wp-block-table th {
  background: var(--dafy-content-surface-deep);
}

:where(
  .single-post .entry-content,
  .page:not(.home) .entry-content
) .wp-block-table td {
  border-bottom-color: var(--dafy-content-surface-border);
}

:where(
  .single-post .entry-content,
  .page:not(.home) .entry-content
) .wp-block-table tbody tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.015);
}

:where(
  .single-post .entry-content,
  .page:not(.home) .entry-content
) .wp-block-table tbody tr:hover {
  background: var(--dafy-content-surface-hover);
}

/* Captions under images, videos, embeds, Steam charts and tables. */
:where(
  .single-post .entry-content,
  .page:not(.home) .entry-content
) :where(
  figure.wp-block-image figcaption,
  figure.ct-featured-image figcaption,
  .wp-block-embed figcaption,
  .steam-chart-wrapper figcaption,
  .wp-block-table figcaption,
  .wp-block-table table caption
) {
  border-top-color: var(--dafy-content-surface-border-strong);
  background: var(--dafy-content-surface-deep) !important;
  color: var(--dafy-text-muted);
}

/* Additional editorial cards that visually interrupt the article flow. */
:where(
  .single-post .entry-content,
  .page:not(.home) .entry-content
) :where(
  .quote-grid__item,
  .custom-faq-item,
  pre,
  .wp-block-code,
  .wp-block-preformatted
) {
  border-color: var(--dafy-content-surface-border);
  background: var(--dafy-content-surface) !important;
  background-image: none !important;
  box-shadow: var(--dafy-content-surface-shadow);
}

:where(.single-post, .page:not(.home)) .author-box.is-width-constrained {
  border-color: var(--dafy-content-surface-border-strong);
  border-left-color: var(--dafy-orange);
  background: var(--dafy-content-surface);
  background-image: none;
  box-shadow: var(--dafy-content-surface-shadow);
}

/* A slightly deeper open FAQ answer area improves visual hierarchy. */
:where(
  .single-post .entry-content,
  .page:not(.home) .entry-content
) .custom-faq-item[open] {
  background: var(--dafy-content-surface-deep) !important;
}


@media (max-width: 768px) {
  :root {
    --dafy-shadow-md: 0 8px 20px rgba(0, 0, 0, 0.28);
    --dafy-shadow-lg: 0 12px 28px rgba(0, 0, 0, 0.32);
    --dafy-shadow-orange: 0 8px 20px rgba(255, 102, 0, 0.16);
    --dafy-shadow-yellow: 0 8px 20px rgba(252, 236, 7, 0.16);
    --dafy-content-surface-shadow: var(--dafy-shadow-md);
  }
}

/* -------------------------------------------------------------------------- */
/* FIX: SINGLE POST FEATURED IMAGE RATIO                                      */
/* -------------------------------------------------------------------------- */

.single-post figure.ct-featured-image {
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  margin-bottom: 28px !important;
  padding: 0 !important;
  line-height: 0;
}

.single-post figure.ct-featured-image > .ct-media-container {
  --theme-image-ratio: auto !important;

  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  aspect-ratio: auto !important;
  line-height: 0;
  background: transparent;
}

/* Reset Blocksy's possible ratio spacer. */
.single-post figure.ct-featured-image > .ct-media-container::before {
  content: none !important;
  display: none !important;
  padding: 0 !important;
}

/* Let the image's actual proportions determine its height. */
.single-post figure.ct-featured-image > .ct-media-container > img {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  vertical-align: top;
}

/* Fallback for an effectively empty caption. */
.single-post figure.ct-featured-image figcaption:empty {
  display: none !important;
}

/* ==========================================================================
   DAFY — SIDEBAR SUPPORT CTA
   ========================================================================== */

.dafy-support-card,
.dafy-support-card *,
.dafy-support-card *::before,
.dafy-support-card *::after {
  box-sizing: border-box;
}

.dafy-support-card {
  position: relative;
  isolation: isolate;

  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 22px 20px;
  overflow: hidden;

  border: 1px solid
    var(--dafy-content-surface-border-strong, rgba(255, 255, 255, 0.15));
  border-radius: var(--dafy-radius-lg, 16px);

  background:
    radial-gradient(
      circle at 50% 0,
      var(--dafy-yellow-12, rgba(252, 236, 7, 0.12)),
      transparent 38%
    ),
    radial-gradient(
      circle at 100% 100%,
      var(--dafy-orange-10, rgba(255, 102, 0, 0.1)),
      transparent 45%
    ),
    linear-gradient(
      180deg,
      var(--dafy-surface-2, #1f1f1f) 0%,
      var(--dafy-content-surface-deep, #101010) 100%
    );

  color: var(--dafy-text, #f5f5f5);

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    var(--dafy-shadow-md, 0 10px 24px rgba(0, 0, 0, 0.3));

  transition:
    border-color var(--dafy-duration-fast, 180ms)
      var(--dafy-ease, ease),
    box-shadow var(--dafy-duration-base, 280ms)
      var(--dafy-ease, ease);
}

.dafy-support-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 20px;
  left: 20px;

  height: 2px;

  background: linear-gradient(
    90deg,
    transparent,
    var(--dafy-yellow, #fcec07),
    transparent
  );

  opacity: 0.75;
  pointer-events: none;
}

.dafy-support-card:hover,
.dafy-support-card:focus-within {
  border-color: var(--dafy-yellow-22, rgba(252, 236, 7, 0.22));

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    var(--dafy-shadow-lg, 0 16px 36px rgba(0, 0, 0, 0.36));
}


/* ==========================================================================
   TEXT
   ========================================================================== */

.dafy-support-card__text {
  display: block;

  width: 100%;
  max-width: 100%;
  margin: 0;

  color: var(--dafy-text-secondary, #d7d7dd);

  font-size: 0.92rem;
  line-height: 1.55;
  text-align: center;

  overflow-wrap: anywhere;
  word-break: normal;
}

.dafy-support-card__lead {
  display: block;
  margin-bottom: 7px;

  color: var(--dafy-yellow, #fcec07);

  font-size: clamp(1.02rem, 3.5vw, 1.16rem);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.015em;

  text-wrap: balance;
  text-shadow: 0 4px 16px rgba(252, 236, 7, 0.12);
}

.dafy-support-card__copy {
  display: block;

  max-width: 28ch;
  margin-inline: auto;

  color: var(--dafy-text-secondary, #d7d7dd);

  font-size: 0.91rem;
  line-height: 1.55;
  text-wrap: balance;
}


/* ==========================================================================
   ACTIONS
   ========================================================================== */

.dafy-support-card__actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;

  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-top: 18px;
}

.dafy-support-card__button {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 46px;
  padding: 11px 42px;

  overflow: hidden;

  border: 1px solid transparent;
  border-radius: var(--dafy-radius-md, 12px);

  font-size: 0.86rem;
  font-weight: 750;
  line-height: 1.25;
  text-align: center;
  text-decoration: none !important;

  cursor: pointer;

  transition:
    transform var(--dafy-duration-fast, 180ms)
      var(--dafy-ease, ease),
    border-color var(--dafy-duration-fast, 180ms)
      var(--dafy-ease, ease),
    background-color var(--dafy-duration-fast, 180ms)
      var(--dafy-ease, ease),
    color var(--dafy-duration-fast, 180ms)
      var(--dafy-ease, ease),
    box-shadow var(--dafy-duration-fast, 180ms)
      var(--dafy-ease, ease);
}

.dafy-support-card__button-text {
  display: block;

  min-width: 0;
  max-width: 100%;

  overflow-wrap: anywhere;
}


/* ==========================================================================
   ICONS
   ========================================================================== */

.dafy-support-card__icon,
.dafy-support-card__arrow {
  position: absolute;
  top: 50%;

  display: block;
  flex: 0 0 auto;

  width: 18px;
  height: 18px;

  fill: currentColor;
  transform: translateY(-50%);
}

.dafy-support-card__icon {
  left: 14px;
}

.dafy-support-card__arrow {
  right: 14px;

  width: 16px;
  height: 16px;

  opacity: 0.72;

  transition:
    right var(--dafy-duration-fast, 180ms)
      var(--dafy-ease, ease),
    opacity var(--dafy-duration-fast, 180ms)
      var(--dafy-ease, ease);
}

.dafy-support-card__button--boosty {
  padding-right: 16px;
}


/* ==========================================================================
   BOOSTY
   ========================================================================== */

.dafy-support-card__button--boosty {
  border-color: rgba(255, 102, 0, 0.92) !important;
  background: var(--dafy-orange, #ff6600) !important;
  color: var(--dafy-text-dark, #111111) !important;

  box-shadow:
    0 9px 20px rgba(255, 102, 0, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.dafy-support-card__button--boosty:hover {
  border-color: var(--dafy-yellow, #fcec07) !important;
  background: var(--dafy-yellow, #fcec07) !important;
  color: var(--dafy-text-dark, #111111) !important;

  transform: translateY(-2px);

  box-shadow:
    0 10px 24px rgba(252, 236, 7, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.24);
}


/* ==========================================================================
   GGSEL
   ========================================================================== */

.dafy-support-card__button--ggsel {
  border-color: var(--dafy-border-strong, #444444) !important;
  background: rgba(255, 255, 255, 0.035) !important;
  color: var(--dafy-text-secondary, #d7d7dd) !important;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    var(--dafy-shadow-xs, 0 3px 10px rgba(0, 0, 0, 0.2));
}

.dafy-support-card__button--ggsel:hover {
  border-color: rgba(255, 102, 0, 0.72) !important;
  background: var(--dafy-orange-10, rgba(255, 102, 0, 0.1)) !important;
  color: var(--dafy-text, #f5f5f5) !important;

  transform: translateY(-2px);

  box-shadow:
    0 8px 20px rgba(255, 102, 0, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.dafy-support-card__button--ggsel:hover
  .dafy-support-card__arrow {
  right: 11px;
  opacity: 1;
}


/* ==========================================================================
   INTERACTION
   ========================================================================== */

.dafy-support-card__button:focus-visible {
  outline: 2px solid var(--dafy-yellow, #fcec07);
  outline-offset: 3px;
  box-shadow: none;
}

.dafy-support-card__button:active {
  transform: translateY(0) scale(0.99);
  box-shadow: none;
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 480px) {
  .dafy-support-card {
    padding: 20px 15px;
    border-radius: var(--dafy-radius-md, 12px);
  }

  .dafy-support-card::before {
    right: 15px;
    left: 15px;
  }

  .dafy-support-card__lead {
    font-size: 1.02rem;
  }

  .dafy-support-card__copy {
    max-width: 100%;
    font-size: 0.88rem;
  }

  .dafy-support-card__button {
    min-height: 44px;
    padding-inline: 38px;

    font-size: 0.83rem;
  }

  .dafy-support-card__button--boosty {
    padding-right: 12px;
  }

  .dafy-support-card__icon {
    left: 12px;
    width: 17px;
    height: 17px;
  }

  .dafy-support-card__arrow {
    right: 12px;
    width: 15px;
    height: 15px;
  }
}

@media (max-width: 340px) {
  .dafy-support-card {
    padding-inline: 12px;
  }

  .dafy-support-card__button {
    padding-inline: 34px;
    font-size: 0.8rem;
  }

  .dafy-support-card__button--boosty {
    padding-right: 10px;
  }

  .dafy-support-card__icon {
    left: 10px;
  }

  .dafy-support-card__arrow {
    right: 10px;
  }
}


/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  .dafy-support-card,
  .dafy-support-card__button,
  .dafy-support-card__arrow {
    transition: none;
  }
}

/* Information page snippets: retain readable columns at tablet/mobile widths. */
@media (max-width: 768px) {
  .dafy-info-page :where(.about-hero, .partners-hero) {
    display: grid;
  }

  .dafy-info-page :where(.about-hero, .partners-hero, .about-grid-2col,
  .contact-main__container, .about-main-contact__container,
  .partners-contact, .partners-ai, .partners-proof) {
    grid-template-columns: minmax(0, 1fr);
  }

  .dafy-info-page .reverse-on-mobile .about-grid-content {
    order: -1;
  }
  .dafy-info-page .partners-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dafy-info-page :where(.about-hero__image-frame, .partners-hero__image-frame) img {
    max-width: 240px;
  }
}

@media (max-width: 600px) {
  .dafy-info-page .partners-data-grid {
    columns: 1;
  }
  .dafy-info-page .timeline-item {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }
  .dafy-info-page :where(.about-inline-cta, .partners-inline-cta,
    .contact-hero__actions, .partners-hero__actions) .button {
    width: 100%;
  }
}

@media (max-width: 360px) {
  .dafy-info-page .partners-metrics {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* -------------------------------------------------------------------------- */
