/* ==========================================================================
   Mobile pass (phones, 320-767px): shorter heroes, stacked buttons, compact
   blog list, readable text pages. Elementor parts are targeted by element id
   (ids from the page data of Home 12, O nas 129, Kontakt 15).
   ========================================================================== */

/* ---- text pages (Dostawa, Regulamin, Polityka) and single posts: all widths ---- */
body.page-id-127 .site-main,
body.page-id-31 .site-main,
body.page-id-34 .site-main,
body.single-post .site-main {
  max-width: 800px;
  margin-inline: auto;
  padding-inline: 20px;
  font-family: 'Inter', sans-serif;
  color: #2A170D;
}

body.page-id-127 .entry-title,
body.page-id-31 .entry-title,
body.page-id-34 .entry-title,
body.single-post .entry-title {
  margin: 28px 0 20px;
  font-family: 'Quicksand', sans-serif;
  font-size: clamp(1.9rem, 8vw, 2.5rem);
  line-height: 1.1;
  color: #2A170D;
}

body.page-id-127 .page-content,
body.page-id-31 .page-content,
body.page-id-34 .page-content,
body.single-post .page-content {
  font-size: 1rem;
  line-height: 1.65;
}

body.page-id-127 .page-content :is(h1, h2, h3),
body.page-id-31 .page-content :is(h1, h2, h3),
body.page-id-34 .page-content :is(h1, h2, h3),
body.single-post .page-content :is(h1, h2, h3) {
  margin: 1.8em 0 0.6em;
  font-family: 'Quicksand', sans-serif;
  font-size: clamp(1.3rem, 5.6vw, 1.65rem);
  line-height: 1.2;
  color: #2A170D;
}

body.page-id-127 .page-content :is(ul, ol),
body.page-id-31 .page-content :is(ul, ol),
body.page-id-34 .page-content :is(ul, ol),
body.single-post .page-content :is(ul, ol) {
  padding-left: 1.25rem;
}

body.page-id-127 .page-content :is(ul, ol) :is(ul, ol),
body.page-id-31 .page-content :is(ul, ol) :is(ul, ol),
body.page-id-34 .page-content :is(ul, ol) :is(ul, ol) {
  padding-left: 1rem;
}

body.page-id-127 .page-content a,
body.page-id-31 .page-content a,
body.page-id-34 .page-content a,
body.single-post .page-content a {
  overflow-wrap: anywhere;
}

/* Old Astra cover block: rounded, inside the gutter, its second title is a duplicate of the page title */
body.page-id-127 .page-content .wp-block-cover,
body.page-id-31 .page-content .wp-block-cover,
body.page-id-34 .page-content .wp-block-cover {
  width: 100%;
  max-width: 100%;
  min-height: 170px !important;
  margin: 0 0 8px;
  border-radius: 15px;
  overflow: hidden;
}

body.page-id-127 .page-content .wp-block-cover__inner-container,
body.page-id-31 .page-content .wp-block-cover__inner-container,
body.page-id-34 .page-content .wp-block-cover__inner-container {
  display: none;
}

body.page-id-127 .page-content .wp-block-group,
body.page-id-31 .page-content .wp-block-group,
body.page-id-34 .page-content .wp-block-group {
  padding: 0;
}

/* ---- phones ------------------------------------------------------------- */
@media (max-width: 767px) {
  /* safety net: nothing may widen the page */
  html,
  body {
    overflow-x: clip;
  }

  /* cookies pill: icon only */
  .sffr-cc__revoke {
    left: 12px;
    bottom: 12px;
  }

  .sffr-cc__revoke-btn {
    padding: 4px !important;
    gap: 0 !important;
    font-size: 0 !important;
  }

  /* heroes: less air inside, small outer gutter, small radius */
  .elementor-element-c281999.e-con,
  .elementor-element-e994fca.e-con,
  .elementor-element-8604733.e-con {
    max-width: calc(100% - 24px) !important;
    margin: 12px auto !important;
    border-radius: 12px !important;
    min-height: 0 !important;
  }

  :is(.elementor-element-c281999, .elementor-element-e994fca, .elementor-element-8604733) .e-con {
    padding-inline: 0 !important;
  }

  .elementor-element-dc25828.e-con,
  .elementor-element-e266078.e-con,
  .elementor-element-7c923e8.e-con {
    padding: 36px 18px !important;
  }

  :is(.elementor-element-c281999, .elementor-element-e994fca, .elementor-element-8604733) .elementor-widget-container {
    padding-inline: 0 !important;
  }

  /* heroes: smaller title, buttons stacked */
  .elementor-element-ed1850a .elementor-heading-title,
  .elementor-element-960a80d .elementor-heading-title,
  .elementor-element-1a90074 .elementor-heading-title {
    font-size: clamp(2rem, 10vw, 2.6rem);
    line-height: 1.08;
  }

  .elementor-element-806807c,
  .elementor-element-de3720e,
  .elementor-element-c32d2a6 {
    font-size: 1.05rem;
    line-height: 1.5;
  }

  .elementor-element-ece3988,
  .elementor-element-459481d,
  .elementor-element-ef33fc0 {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }

  .elementor-element-ece3988 .elementor-widget-button:first-child .elementor-button,
  .elementor-element-459481d .elementor-widget-button:first-child .elementor-button,
  .elementor-element-ef33fc0 .elementor-widget-button:first-child .elementor-button {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .elementor-element-ece3988 .elementor-widget-button:last-child,
  .elementor-element-459481d .elementor-widget-button:last-child,
  .elementor-element-ef33fc0 .elementor-widget-button:last-child {
    align-self: flex-start;
  }

  /* section headings and texts on Home / O nas */
  .elementor-element-57792f0 .elementor-heading-title,
  .elementor-element-c838484 .elementor-heading-title,
  .elementor-element-5453a00 .elementor-heading-title {
    font-size: clamp(1.5rem, 7vw, 1.9rem);
    line-height: 1.2;
  }

  /* O nas: the four values as compact rows */
  .elementor-element-1a9a7fc {
    gap: 10px;
  }

  .elementor-element-1a9a7fc > .elementor-element {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr);
    column-gap: 14px;
    row-gap: 2px;
    align-items: start;
    padding: 14px 16px !important;
    min-height: 0 !important;
  }

  .elementor-element-1a9a7fc > .elementor-element > :nth-child(1) {
    grid-column: 1;
    grid-row: 1 / span 2;
    margin: 0 !important;
    transform: scale(0.8);
    transform-origin: top left;
  }

  .elementor-element-1a9a7fc > .elementor-element > :nth-child(2),
  .elementor-element-1a9a7fc > .elementor-element > :nth-child(3) {
    grid-column: 2;
    margin: 0 !important;
  }

  /* darker overlay under hero text on photos (Home, O nas) */
  .elementor-element-c281999 > .elementor-background-overlay,
  .elementor-element-e994fca > .elementor-background-overlay,
  .elementor-element-c281999::before,
  .elementor-element-e994fca::before {
    background: linear-gradient(180deg, rgba(42, 23, 13, 0.78), rgba(42, 23, 13, 0.55)) !important;
    opacity: 1 !important;
  }

  /* carousels: swipe instead of dots, larger quantity buttons */
  .sffr-dots {
    display: none !important;
  }

  .sffr-qty__btn {
    width: 36px !important;
    height: 36px !important;
  }

  /* homepage blog: large card + two rows + "all articles" card */
  .sffr-blog-list .sffr-blog-row:not(.sffr-blog-row--all):nth-child(n+3) {
    display: none;
  }

  /* blog index: compact list */
  body .sffr-blog__grid {
    gap: 14px;
  }

  body .sffr-post-card {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    column-gap: 14px;
    row-gap: 2px;
    align-content: start;
    padding-bottom: 14px;
    border-bottom: 1px solid #DAC1BA;
  }

  body .sffr-post-card__media {
    grid-column: 1;
    grid-row: 1 / span 2;
    margin: 0;
    border-radius: 12px;
  }

  body .sffr-post-card__title,
  body .sffr-post-card__excerpt {
    grid-column: 2;
  }

  body .sffr-post-card__title {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.25;
  }

  body .sffr-post-card__excerpt {
    margin: 0;
    font-size: 0.85rem;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  body .sffr-post-card__more {
    display: none;
  }

  body .sffr-post-card:not(:has(.sffr-post-card__media)) {
    grid-template-columns: minmax(0, 1fr);
  }

  body .sffr-post-card:not(:has(.sffr-post-card__media)) :is(.sffr-post-card__title, .sffr-post-card__excerpt) {
    grid-column: 1;
  }
}

/* ---- narrow phones (up to 480px): keep text lines wide ---- */
@media (max-width: 480px) {
  /* O nas values: the description spans the full card width under number + title */
  .elementor-element-1a9a7fc > .elementor-element {
    grid-template-columns: 36px minmax(0, 1fr);
    padding: 12px 14px !important;
  }

  .elementor-element-1a9a7fc > .elementor-element > :nth-child(1) {
    grid-row: 1;
  }

  .elementor-element-1a9a7fc > .elementor-element > :nth-child(3) {
    grid-column: 1 / -1;
  }

  /* blog list: small thumbnail beside the title, excerpt under both */
  body .sffr-post-card {
    grid-template-columns: 72px minmax(0, 1fr);
    column-gap: 12px;
  }

  body .sffr-post-card__media {
    grid-row: 1;
  }

  body .sffr-post-card__excerpt {
    grid-column: 1 / -1;
    margin-top: 6px;
  }

  body .sffr-post-card:not(:has(.sffr-post-card__media)) .sffr-post-card__excerpt {
    margin-top: 0;
  }

  /* text pages: slightly smaller gutter */
  body.page-id-127 .site-main,
  body.page-id-31 .site-main,
  body.page-id-34 .site-main,
  body.single-post .site-main {
    padding-inline: 16px;
  }
}
