/*
Theme Name: Jelito – Poradnik IBS
Description: Responsywny motyw blokowy dla jelitodrazliwe.pl.
Version: 1.3.2
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: jelito-poradnik
*/
:root { --ibs-gutter: clamp(1rem, 4vw, 2rem); }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.ibs-container { width: min(75rem, calc(100% - 2 * var(--ibs-gutter))); margin-inline: auto; }
.ibs-section { padding-block: clamp(2rem, 5vw, 3.75rem); }
.ibs-header { background: var(--wp--preset--color--paper); border-block: .24rem solid var(--wp--preset--color--pine); border-bottom-width: 1px; }
.ibs-header-inner { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 5.5rem; }
.ibs-header-inner > * { margin: 0; }
.ibs-logo { flex: 0 1 18.75rem; min-width: 0; }
.ibs-logo a { display: block; padding-block: .35rem; }
.ibs-logo img { display: block; width: 100%; height: auto; }
.ibs-main { margin-block-start: 0; }
.ibs-home-hero, .ibs-article-hero { background: #e8f2f0; }
.ibs-home-hero-grid, .ibs-article-hero-grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); align-items: stretch; }
.ibs-home-hero-grid > *, .ibs-article-hero-grid > * { min-width: 0; margin: 0; }
.ibs-home-intro, .ibs-article-heading { align-self: center; padding-block: clamp(2rem, 5vw, 4.5rem); padding-inline-end: clamp(1rem, 4vw, 3.5rem); }
.ibs-home-intro h1, .ibs-article-heading h1 { margin: 0; color: #153e3a; font-weight: 750; letter-spacing: -.035em; overflow-wrap: anywhere; }
.ibs-home-intro h1 { font-size: clamp(2.5rem, 5vw, 4.65rem); max-width: 12ch; line-height: 1.04; }
.ibs-home-intro > p { max-width: 39ch; color: #35534f; font-size: clamp(1.05rem, 1.6vw, 1.2rem); }
.ibs-home-photo, .ibs-article-cover { position: relative; overflow: hidden; background: #ceded9; }
.ibs-home-photo { min-height: clamp(23rem, 35vw, 33rem); }
.ibs-article-cover { min-height: clamp(14rem, 24vw, 22rem); }
.ibs-home-photo img, .ibs-article-cover img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.ibs-home-photo img { object-position: center 45%; }
.ibs-article-cover img { object-position: center 48%; }
.ibs-breadcrumb { margin: 0 0 .8rem; font-size: .93rem; }
.ibs-article-heading h1 { font-size: clamp(2rem, 4.3vw, 3.85rem); line-height: 1.09; }
.ibs-home-section { padding-block: clamp(2rem, 6vw, 4.75rem); }
.ibs-home-section h2 { margin: 0 0 1.25rem; color: #153e3a; }
.ibs-home-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.ibs-home-card { position: relative; margin: 0; padding: clamp(1rem, 2.1vw, 1.65rem); border: 1px solid #ccdeda; border-radius: .8rem; background: #f5faf9; }
.ibs-home-card:focus-within, .ibs-home-card:hover { background: #e8f2f0; border-color: #72938d; }
.ibs-home-card h3 { margin: 0 0 .6rem; }
.ibs-home-card h3 a { display: inline-block; text-underline-offset: .18em; }
.ibs-home-card h3 a::after { content: ""; position: absolute; inset: 0; border-radius: .8rem; }
.ibs-home-card p { margin: 0; color: #35534f; font-size: .96rem; }
.ibs-home-more { margin: 0; padding-block: clamp(2rem, 4.5vw, 3.6rem); background: #eff5f4; }
.ibs-home-more-inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1.25rem 2rem; }
.ibs-home-more-inner > *, .ibs-home-more-copy > h2 { margin: 0; }
.ibs-home-more-copy > p { margin: .6rem 0 0; }
.ibs-reading-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(15rem, 17.5rem); gap: clamp(1.5rem, 5vw, 4rem); align-items: start; padding-block: clamp(2rem, 5vw, 4rem); }
.ibs-reading-grid > * { min-width: 0; margin: 0; }
.ibs-reading-grid > .wp-block-template-part { position: sticky; top: 3rem; }
.ibs-guide-aside { padding: 1.25rem 1.35rem; background: #f3f8f7; border: 1px solid #d1e1de; border-radius: .7rem; }
.ibs-guide-aside h2 { margin: 0 0 .55rem; font-size: 1.2rem; }
.ibs-guide-aside .wp-block-navigation__container { gap: 0; width: 100%; align-items: stretch; }
.ibs-guide-aside .wp-block-navigation-item + .wp-block-navigation-item { border-top: 1px solid #d8e5e3; }
.ibs-guide-aside .wp-block-navigation-item__content { display: flex; width: 100%; min-height: 44px; align-items: center; padding-inline: .35rem; color: #164d49; text-decoration: underline; text-underline-offset: .16em; }
.ibs-guide-aside .wp-block-navigation-item__content[aria-current="page"] { background: #dcecea; font-weight: 750; }
.ibs-article { font-size: clamp(1rem, 1.5vw, 1.15rem); line-height: 1.72; }
.ibs-article .wp-block-post-content > :first-child { margin-block-start: 0; }
.ibs-article .wp-block-post-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.ibs-article .wp-block-post-content :where(th,td) { padding: .55rem .65rem; border: 1px solid #ccdeda; vertical-align: top; }
@media (max-width: 59rem) { .ibs-home-cards { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 49rem) {
  .ibs-home-hero-grid, .ibs-article-hero-grid, .ibs-reading-grid { grid-template-columns: minmax(0,1fr); }
  .ibs-home-intro, .ibs-article-heading { padding-inline-end: 0; }
  .ibs-home-photo, .ibs-article-cover { min-height: 0; aspect-ratio: 16 / 8; }
  .ibs-reading-grid > .wp-block-template-part { position: static; }
}
@media (max-width: 34rem) {
  .ibs-home-cards { grid-template-columns: minmax(0,1fr); }
  .ibs-home-intro .wp-block-buttons { align-items: stretch; flex-direction: column; }
  .ibs-home-intro .wp-block-button__link { display: block; }
}

.ibs-footer { border-top: 1px solid #d8d5cd; padding-block: 2rem; background: var(--wp--preset--color--sage); }
.ibs-footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 1rem 2rem; }
.ibs-footer-inner > * { margin: 0; }
.ibs-brand { font-weight: 750; }
.ibs-footer-links a { display: inline-flex; align-items: center; min-height: 2.75rem; margin-right: .75rem; }
.ibs-article { overflow-wrap: anywhere; }
.ibs-article .wp-block-post-content :where(img, iframe) { max-width: 100%; }
.ibs-article .wp-block-post-content img { height: auto; }
.ibs-article .wp-block-post-content :where(h2,h3,h4) { margin-top: 1.65em; }
.ibs-article .wp-block-post-content :where(a) { text-underline-offset: .16em; }
.wp-block-button.is-style-outline .wp-block-button__link { color: var(--wp--preset--color--pine); border: 2px solid currentColor; }
.wp-block-button__link:hover { text-decoration: underline; text-underline-offset: .18em; }
.wp-block-search__input { min-width: 0; background: #fff; color: var(--wp--preset--color--ink); border: 1px solid #65778c; border-radius: .3rem; }
.wp-block-search__button { margin-inline-start: .5rem; }
.ibs-header .wp-block-navigation { font-size: .95rem; color: var(--wp--preset--color--ink); }
.ibs-header .wp-block-navigation__container { gap: .25rem .75rem; }
.ibs-header .wp-block-navigation-item__content { display: inline-flex; min-height: 44px; align-items: center; font-weight: 650; }
.ibs-header .wp-block-navigation-item__content:hover { text-decoration: underline; text-underline-offset: .2em; }
.ibs-header .wp-block-navigation__container > li > [aria-current="page"] { color: var(--wp--preset--color--pine); text-decoration: underline; text-underline-offset: .25em; }
.ibs-header .wp-block-navigation__submenu-container { padding: .3rem; border-color: #d8d5cd; }
.ibs-header .wp-block-navigation-submenu__toggle { min-width: 28px; min-height: 28px; margin-inline-start: .15rem; justify-content: center; }
.ibs-header .wp-block-navigation__responsive-container-open,
.ibs-header .wp-block-navigation__responsive-container-close { min-height: 44px; min-width: 44px; align-items: center; justify-content: center; padding: .45rem .7rem; font-weight: 700; border: 1px solid #65778c; border-radius: .3rem; }
.ibs-header .wp-block-navigation__responsive-container-open { gap: .5rem; color: var(--wp--preset--color--pine); white-space: nowrap; }
.ibs-header .wp-block-navigation__responsive-container-open::before { content: ""; width: 1.15rem; height: .75rem; border-block: 2px solid currentColor; background: linear-gradient(currentColor,currentColor) center / 100% 2px no-repeat; }
.ibs-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); }
.ibs-header .is-menu-open .wp-block-navigation__responsive-dialog { margin-inline: 1rem; }
.ibs-header .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch; padding-top: 3.6rem; }
.ibs-header .is-menu-open .wp-block-navigation__container { width: 100%; align-items: stretch; gap: 0; }
.ibs-header .is-menu-open .wp-block-navigation-item { align-items: stretch; }
.ibs-header .is-menu-open .wp-block-navigation-item__content { padding: .45rem .6rem; }
.ibs-header .is-menu-open .wp-block-navigation__container > li { border-top: 1px solid #d8d5cd; }
.ibs-header .is-menu-open .wp-block-navigation__container > li > .wp-block-navigation-item__content { min-height: 48px; font-size: 1.06rem; }
.ibs-header .is-menu-open .wp-block-navigation__submenu-container { width: 100%; padding: 0 0 .4rem .85rem; border: 0; background: var(--wp--preset--color--sage); }
.ibs-header .is-menu-open .wp-block-navigation__submenu-container a { font-weight: 500; }
:where(a,button,input,select,textarea,[tabindex]):focus-visible { outline: 3px solid #41566e; outline-offset: 3px; box-shadow: 0 0 0 3px #fff; }
.skip-link:focus { z-index: 100000; }
@media (max-width: 64.99rem) {
  .ibs-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
  .ibs-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
}
@media (max-width: 46rem) {
  .ibs-header-inner { min-height: 4.5rem; }
  .ibs-logo { flex-basis: 15rem; }
}

.ibs-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.ibs-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.ibs-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: stretch; }
.ibs-header .is-menu-open .wp-block-navigation-item__content { width: 100%; text-align: start; margin: 0; }
.ibs-header .is-menu-open .wp-block-navigation-submenu__toggle { justify-content: space-between; gap: .75rem; }
.ibs-header .is-menu-open .wp-block-navigation-submenu__toggle::after { content: ""; flex: 0 0 .5rem; width: .5rem; height: .5rem; margin-inline-end: .3rem; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.ibs-header .is-menu-open .wp-block-navigation-submenu__toggle[aria-expanded="true"]::after { transform: rotate(225deg); }
.ibs-header .is-menu-open .wp-block-navigation__submenu-container.ibs-submenu-collapsed { display: none !important; }

@media (min-width: 65rem) {
  .ibs-header { position: relative; z-index: 2; }
  .ibs-header .wp-block-navigation__container { gap: clamp(.25rem, 1vw, .8rem); }
  .ibs-header .wp-block-navigation__container > li > .wp-block-navigation-item__content {
    padding-inline: .5rem;
    border-radius: .35rem;
    line-height: 1.35;
  }
  .ibs-header .wp-block-navigation__container > li.has-child > button { padding-inline-end: .25rem; }
  .ibs-header .wp-block-navigation__container > li > .wp-block-navigation__submenu-icon { margin: 0 .35rem 0 .1rem; }
  .ibs-header .wp-block-navigation__container > li > button[aria-expanded="true"] {
    color: var(--wp--preset--color--pine);
    background: #edf5f3;
  }
  .ibs-header .wp-block-navigation .wp-block-navigation__container > li > .wp-block-navigation__submenu-container {
    inset: 100% auto auto 0;
    gap: 0;
    padding: 0;
    border: 0;
  }
  .ibs-header .wp-block-navigation .wp-block-navigation__container > li:nth-last-child(-n+2) > .wp-block-navigation__submenu-container {
    inset-inline: auto 0;
  }
  .ibs-header .wp-block-navigation .wp-block-navigation__container > li > button[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
    box-sizing: border-box;
    width: 17.5rem;
    min-width: 17.5rem;
    padding: .35rem;
    border: 1px solid #d1e1de;
    border-radius: .6rem;
    background: #fff;
    color: var(--wp--preset--color--ink);
    box-shadow: 0 .65rem 1.75rem rgb(21 62 58 / .16);
  }
  .ibs-header .wp-block-navigation .wp-block-navigation__submenu-container > li > a {
    box-sizing: border-box;
    width: 100%;
    min-height: 44px;
    padding: .55rem .75rem;
    border-radius: .3rem;
    line-height: 1.4;
    font-weight: 550;
    text-align: start;
  }
  .ibs-header .wp-block-navigation__submenu-container > li > a:is(:hover, :focus-visible, [aria-current="page"]) {
    color: var(--wp--preset--color--pine);
    background: #edf5f3;
  }
}

.ibs-header .is-menu-open .wp-block-navigation__container > li { margin-block: 0; }
.ibs-header .wp-block-navigation .is-menu-open .wp-block-navigation__submenu-container {
  gap: 0;
  padding: .2rem .45rem .4rem .85rem;
}
.ibs-header .wp-block-navigation .is-menu-open .wp-block-navigation__submenu-container > li > a {
  box-sizing: border-box;
  min-height: 44px;
  padding: .5rem .65rem;
  line-height: 1.45;
}

.wp-block-post-content .ibs-article-image { margin-block: 0 1.75rem; }
.ibs-article-image img { display: block; width: 100%; height: auto; border-radius: .9rem; }
.ibs-article-photo img { aspect-ratio: 16 / 8; object-fit: cover; }
.ibs-article > .wp-block-post-title { color: var(--wp--preset--color--pine); letter-spacing: -.025em; }

@media (max-width: 37rem) {
  .page-id-59 .ibs-article table,
  .page-id-59 .ibs-article tbody,
  .page-id-59 .ibs-article tr,
  .page-id-59 .ibs-article td { display: block; width: 100% !important; box-sizing: border-box; }
  .page-id-59 .ibs-article tr { margin-block: 0 1rem; padding: .8rem; border: 1px solid #ccdeda; border-radius: .55rem; }
  .page-id-59 .ibs-article td { height: auto !important; padding: .15rem 0; border: 0; text-align: start !important; }
  .page-id-59 .ibs-article td p { margin: 0; }
}
