/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 1024px) {
  :root { --section-v: 70px; }

  /* Bio section */
  .bio-grid { grid-template-columns: 1fr; gap: 48px; }
  .bio-photos { display: flex; gap: 20px; align-items: flex-start; max-width: 560px; margin: 0 auto; padding-bottom: 0; order: -1; }
  .bio-photo--main   { width: 54%; margin-left: 0; }
  .bio-photo--secondary { width: 48%; margin-top: 32px; }
  .bio-photos__accent { display: none; }

  .hero__inner   { grid-template-columns: 1fr; }
  .hero__visual  { display: none; }

  .why__inner    { grid-template-columns: 1fr; }
  .why__stats    { grid-template-columns: repeat(4, 1fr); }

  .stats__grid   { grid-template-columns: repeat(2, 1fr); }
  .stats__item   { border-right: none; border-bottom: 1px solid rgba(255,255,255,.15); }
  .stats__item:nth-child(odd)  { border-right: 1px solid rgba(255,255,255,.15); }
  .stats__item:nth-last-child(-n+2) { border-bottom: none; }


  .site-footer__top { grid-template-columns: 1fr 1fr; gap: 32px; }
  .footer-brand { grid-column: 1 / -1; }

  /* Hero feature boxes */
  .hero              { flex-direction: column; align-items: stretch; justify-content: flex-start; padding-bottom: 0; overflow-x: clip; }
  .hero__features    { position: static; transform: none; width: 100%; padding-inline: 0; margin-top: 0; padding-bottom: 0; }
  .hero__features-grid { grid-template-columns: 1fr; border-radius: var(--r-lg); }
  .hero-feat__sep    { width: 80%; height: 1px; margin-inline: auto; }
  .hero-feat__title  { white-space: normal; }
  .hero-feat__desc   { white-space: normal; }
  .services          { padding-top: var(--section-v); }

  /* About home */
  .about-home__grid  { grid-template-columns: 1fr; gap: 48px; }
  .about-home__badge { left: 0; bottom: -14px; }

  /* Inner pages */
  .about-hero__inner  { grid-template-columns: 1fr; }
  .about-hero__visual { display: none; }
  .about-hero         { padding: 150px 0 80px; }
  .about-intro        { grid-template-columns: 1fr; gap: 36px; }
  .about-highlights   { grid-template-columns: 1fr; }
  .about-split        { grid-template-columns: 1fr; gap: 36px; direction: ltr; }
  .about-split--reverse { direction: ltr; }
  .about-stats-row    { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .values-grid        { grid-template-columns: 1fr 1fr; }
  .service-block      { grid-template-columns: 1fr; }
  .service-block__hd  { position: static; }
  .pricing-grid        { grid-template-columns: 1fr; max-width: 480px; margin-inline: auto; }
  .srv-grid            { grid-template-columns: repeat(3, 1fr); }
  .srv-detail          { grid-template-columns: 1fr; gap: 36px; direction: ltr; }
  .srv-detail--reverse { direction: ltr; }
  .srv-detail__body    { order: 1; }
  .srv-detail__visual  { order: 2; }
  .srv-online-band__inner { grid-template-columns: 1fr; }
  .srv-online-band__visual { display: none; }
  .contact-layout     { grid-template-columns: 1fr; }
  .kont-layout        { grid-template-columns: 1fr; }
  .kont-layout > *    { min-width: 0; }
  .kont-strip__grid   { grid-template-columns: 1fr 1fr; }
  .kont-form-col      { position: static; }
  .konsult-layout     { grid-template-columns: 1fr; }
  .blog-layout        { grid-template-columns: 1fr; }
  .blog-sidebar       { position: static; }
  .blog-grid          { grid-template-columns: 1fr 1fr; }
  .included-grid      { grid-template-columns: 1fr; }
  .offices-grid       { grid-template-columns: 1fr; }
  .process-step__arrow{ display: none; }

  /* CTA contact section - stack map + form on all mobile/tablet sizes */
  .cta-contact__info-bar { grid-template-columns: 1fr; border-radius: 12px; }
  /* Reset all items first, then override the desktop nth-last-child rule */
  .cta-info-item,
  .cta-info-item:nth-last-child(-n+2) { border-right: none; border-bottom: 1px solid var(--border); }
  .cta-info-item:last-child { border-bottom: none; }
  .cta-info-item__value { overflow-wrap: break-word; word-break: break-word; }
  .cta-contact__bottom { grid-template-columns: 1fr !important; }
  .cta-contact__bottom > * { min-width: 0; }
  .cta-contact__map { min-height: 280px; }
  .cta-contact__map iframe { min-height: 280px; }
  .cta-contact__form-card { padding: 28px 24px; }
  .contact-form__row { grid-template-columns: 1fr; }
  .contact-form__row > * { min-width: 0; }
  .contact-form__row .contact-form__field { margin-bottom: 16px; }
  .contact-form__footer { flex-direction: column; align-items: stretch; }
}

@media (max-width: 768px) {
  :root { --section-v: 52px; }

  /* Hide desktop nav; show hamburger */
  .site-nav   { display: none; }
  .nav-toggle { display: flex; }

  /* Hide topbar items that don't fit */
  .topbar__left { gap: 12px; }
  .topbar__item:nth-child(2) { display: none; }

  .services__grid,
  .testimonials__grid,
  .blog-preview__grid { grid-template-columns: 1fr; }

  .why__stats { grid-template-columns: 1fr 1fr; }

  .site-footer__top { grid-template-columns: 1fr; gap: 32px; }
  .footer-brand { grid-column: auto; }
  .site-footer__bottom { flex-direction: column; align-items: center; text-align: center; gap: 6px; }
  .footer-social { justify-content: flex-start; }

  .hero__actions { flex-direction: column; align-items: flex-start; }
  .awards__badges { gap: 18px; }

  /* Bio photos – compact collage */
  .bio-photos {
    display: block;
    position: relative;
    width: 270px;
    height: 270px;
    max-width: 270px;
    margin: 0 auto;
    padding-bottom: 0;
  }
  .bio-photo--main {
    position: absolute;
    top: 0; left: 0;
    width: 200px; height: 215px;
    margin: 0;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(24,99,220,.15);
    z-index: 1;
  }
  .bio-photo--main img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
  .bio-photo--secondary {
    position: absolute;
    top: 85px; right: 0;
    width: 140px; height: 185px;
    margin: 0;
    overflow: hidden;
    border-radius: 12px;
    border: 4px solid var(--white);
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    z-index: 2;
  }
  .bio-photo--secondary img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }

  /* Inner pages */
  .values-grid        { grid-template-columns: 1fr; }
  .about-stats-grid   { grid-template-columns: 1fr 1fr; }
  .about-pillars      { grid-template-columns: 1fr; }
  .about-stats-row    { grid-template-columns: repeat(2, 1fr); }
  .blog-grid   { grid-template-columns: 1fr; }
  .srv-grid    { grid-template-columns: repeat(2, 1fr); }
  .kont-strip__grid   { grid-template-columns: 1fr 1fr; }
  .kont-strip__item   { padding: 18px 16px; min-width: 0; }
  .kont-strip__item > div { min-width: 0; overflow: hidden; }
  .kont-strip__label,
  .kont-strip__value  { overflow-wrap: break-word; word-break: break-all; }
  .kont-office-card__map iframe { width: 100%; max-width: 100%; }
  .kont-form-card__hd,
  .kont-form-card .contact-form-wrap { padding-inline: 24px; }
  .tseni-intro    { grid-template-columns: 1fr; gap: 40px; }
  .tseni-intro__card { position: static; }
  .tseni-grid     { grid-template-columns: repeat(3, 1fr); }
  .tseni-included { grid-template-columns: 1fr 1fr; }

  /* Pricing extra table – stacked card rows */
  .tseni-extra,
  .tseni-extra tbody { display: block; }
  .tseni-extra thead { display: none; }
  .tseni-extra tbody tr {
    display: flex;
    flex-direction: column;
    padding: 12px 4px;
    border-bottom: 1px solid var(--border);
    border-top: none;
  }
  .tseni-extra tbody tr:last-child { border-bottom: none; }
  .tseni-extra tbody tr:hover { background: rgba(24,99,220,.04); }
  .tseni-extra td { display: block; padding: 0; text-align: left; white-space: normal; }
  .tseni-extra td:first-child { color: var(--dark); font-weight: var(--fw-medium); margin-bottom: 4px; line-height: 1.45; }
  .tseni-extra__price { color: var(--blue); white-space: normal; text-align: left; font-size: var(--fs-xs); }

  /* Promo tab – compact left-side tab on mobile (override bottom-bar from pages.css) */
  .promo-tab { top: 50%; bottom: auto; left: 0; right: auto; width: auto; transform: translateY(-50%); }
  .promo-tab__inner {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    width: 44px;
    padding: 14px 8px;
    border-radius: 0 10px 10px 0;
    box-shadow: 4px 0 24px rgba(11,22,40,.5), 0 0 0 1px rgba(24,99,220,.3) inset;
  }
  .promo-tab__promo { display: none; }
  .promo-tab__price { font-size: 0; }
  .promo-tab__price span { font-size: 20px; font-weight: 900; color: #f59e0b; letter-spacing: 0; }
  .promo-tab__label { display: none; }
  .promo-tab__arrow { display: none; }
  .promo-tab__dot { position: absolute; top: -5px; right: -5px; }
  .promo-tab:hover .promo-tab__inner,
  .promo-tab:focus-visible .promo-tab__inner { width: 44px; }
  .has-promo-tab .cw-widget { bottom: 16px; }
}

@media (max-width: 600px) {
  /* Blog post thumbnail - reduce height on small screens */
  .post-article__thumb img { height: 220px; }

  /* Promo banner inside post */
  .promo-banner-post { flex-direction: column; align-items: flex-start; gap: 20px; padding: 22px 20px; }
  .promo-banner-post__price { flex-direction: row; align-items: baseline; gap: 10px; width: 100%; }

  /* Bio section */
  .bio-cols { grid-template-columns: 1fr; }

  .tseni-grid      { grid-template-columns: 1fr 1fr; }
  .tseni-included  { grid-template-columns: 1fr; }
  .tseni-tab       { padding: 10px 20px; }
  .tseni-svobodni  { grid-template-columns: 1fr; width: 100%; }
  .svobodna-grid   { grid-template-columns: 1fr; }
  .tseni-trz__card { flex-direction: column; text-align: center; }
  .tseni-extra td { padding: 0; }
}

@media (max-width: 480px) {
  .stats__grid { grid-template-columns: 1fr 1fr; }
  .btn { width: 100%; justify-content: center; }
  .btn-group { flex-direction: column; align-items: stretch; }

  /* Footer services - collapse two-column list to single column */
  .footer-col__two-cols { grid-template-columns: 1fr; gap: 0; }

  /* About-hero - reduce padding on small phones */
  .about-hero { padding: 135px 0 60px; }
  .about-hero--simple { padding: 135px 0 60px; }
  .page-hero { padding: 150px 0 48px; }

  /* Blog post nav - stack prev/next vertically */
  .post-nav { grid-template-columns: 1fr; }
  .post-nav__link--next { text-align: left; }

  /* Contact strip - single column */
  .kont-strip__grid { grid-template-columns: 1fr; }
}

@media (max-width: 400px) {
  /* Hide phone number on very small phones to prevent overflow */
  .topbar__left { display: none; }
}
