/* catalog/detail.html — tablet/mobile (продовження kupolla-model-2.css) + desktop layout */

@media (max-width: 768px) {
  .kp-model-page { padding-bottom: 0; }
  .kp-breadcrumb { padding-top: calc(.5rem + var(--safe-t)); }
  .kp-model__layout {
    gap: 1.25rem;
    padding-bottom: 1rem;
  }
  .kp-model__gallery { min-height: 200px; border-radius: var(--r-lg); }
  .kp-model__thumbs {
    gap: .4rem;
    padding: 1.5rem .6rem .6rem;
  }
  .kp-model__thumb {
    flex: 0 0 56px;
    width: 56px;
    height: 44px;
  }
  .kp-model__head { margin-bottom: 1.25rem; }
  .kp-model__badge {
    padding: .34rem .85rem;
    font-size: .6875rem;
    letter-spacing: .08em;
  }
  .kp-model__plan { margin-bottom: 1.25rem; }
  .kp-model__specs { margin-bottom: 1.25rem; }
  .kp-model__tiers { margin-bottom: 1rem; }
  .kp-model__inquiry {
    padding: 1.25rem 0 0.25rem;
  }
  .kp-model__inquiry .kp-form {
    margin-top: 1rem;
    padding: 1.125rem;
  }
  .kp-model__actions { flex-direction: column; }
  .kp-model__actions .kp-btn {
    width: 100%;
    justify-content: center;
    white-space: normal;
    text-align: center;
    height: auto;
    min-height: 52px;
  }
  .kp-model__inquiry .kp-form__row { grid-template-columns: 1fr; }
  .kp-models__grid { grid-template-columns: 1fr; }
  .kp-specs-list__row {
    grid-template-columns: minmax(0, 1fr) minmax(0, max-content);
  }
  .kp-model__stats {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0;
  }
  .kp-model__stat {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.125rem;
    text-align: left;
  }
  .kp-model__stat + .kp-model__stat {
    border-top: 1px solid var(--c-border);
  }
  .kp-model__stat span {
    font-size: 1.625rem;
    flex-shrink: 0;
    min-width: 3rem;
  }
  .kp-model__stat small {
    text-align: right;
    text-transform: none;
    letter-spacing: 0;
    font-size: .8125rem;
    line-height: 1.4;
    flex: 1;
    max-width: 65%;
  }
}

@media (max-width: 480px) {
  .kp-model__specs { padding: 1rem; }
  .kp-model__title { font-size: clamp(1.75rem, 9vw, 2.25rem); }
  .kp-model__badge {
    padding: .32rem .75rem;
    font-size: .6875rem;
  }
  .kp-model__stat {
    padding: .875rem 1rem;
  }
  .kp-model__stat span {
    font-size: 1.5rem;
  }
  .kp-model__stat small {
    font-size: .75rem;
    max-width: 68%;
  }
}

/* ─── Desktop layout ─── */

@media (min-width: 1025px) {
  .kp-model-page {
    background: var(--c-stone-bg);
  }

  .kp-breadcrumb {
    padding-top: calc(1rem + var(--safe-t));
    padding-bottom: 1.5rem;
    margin-bottom: .5rem;
    border-bottom: 1px solid rgba(202, 201, 189, .55);
  }

  .kp-model__layout {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
    gap: clamp(2.5rem, 4vw, 4.25rem);
    align-items: start;
    padding: 1.5rem 0 2rem;
  }

  .kp-model__gallery {
    position: sticky;
    top: calc(var(--hh) + 1.25rem);
    aspect-ratio: 4/5;
    max-height: calc(100vh - var(--hh) - 2.5rem);
    max-height: calc(100dvh - var(--hh) - 2.5rem);
    min-height: 420px;
    box-shadow: var(--sh-lg);
    border: 1px solid rgba(14,35,25,.08);
  }

  .kp-model__gallery--empty::before {
    background-position: center 58%;
    background-size: 72% auto;
  }

  .kp-model__head {
    margin-bottom: 2.25rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--c-border);
  }

  .kp-model__title {
    font-size: clamp(2.75rem, 3.2vw, 3.75rem);
    margin-bottom: 1rem;
  }

  .kp-model__meta-item {
    font-size: 1rem;
  }

  .kp-model__desc,
  .kp-model__plan-note {
    font-size: 1rem;
    max-width: 34rem;
  }

  .kp-model__stats {
    max-width: 34rem;
    padding: 1.25rem 1.5rem;
  }

  .kp-model__stat span {
    font-size: 1.75rem;
  }

  .kp-model__price strong {
    font-size: 1.875rem;
  }

  .kp-model__actions {
    gap: 1rem;
  }

  .kp-model__specs {
    background: var(--c-white);
    border-radius: var(--r-xl);
    box-shadow: var(--sh-sm);
    padding: 1.5rem 1.75rem;
  }

  .kp-model__tiers {
    margin-top: .5rem;
    margin-bottom: 0;
    padding: 1.75rem 1.75rem 2rem;
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: var(--r-xl);
    box-shadow: var(--sh-sm);
  }

  .kp-model__inquiry {
    margin-top: .5rem;
    padding: 3rem 0 3.5rem;
    border-top: 1px solid rgba(202, 201, 189, .65);
  }

  .kp-model__inquiry .kp-form {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    box-shadow: var(--sh-md);
  }

  .kp-model__related {
    padding-top: 1rem;
  }
}
