/* Shared frontend breakpoints: phone <=782px, tablet 783–1100px, desktop >=1101px.
 * Loaded after the theme bundles so navigation, forms and templates share one cascade.
 * Long mobile/tablet pages remain naturally scrollable; desktop hero copy stays visible.
 */
@media (max-width:1100px) {
  body .cc-header--floema .cc-header__dock { width:calc(100% - 32px)!important;max-width:none!important; }
  body .cc-header--floema .cc-header__inner { display:flex!important;align-items:center!important;gap:10px!important;min-height:60px!important;position:relative!important; }
  body .cc-header--floema .cc-header__inner>.cc-logo { margin-right:auto!important;flex-shrink:0!important; }
  body .cc-header--floema .cc-header__inner>.cc-nav--desktop { display:none!important;visibility:hidden!important;pointer-events:none!important; }
  body .cc-header--floema .cc-header__inner>.cc-menu-toggle--floema { display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 50px!important;width:50px!important;min-width:50px!important;max-width:50px!important;height:50px!important;min-height:50px!important;margin:0!important;padding:0!important; }
  body .cc-header--floema .cc-menu-toggle__text { display:none!important; }
  body .cc-header--floema .cc-header__inner>.cc-header-favorites { position:relative!important;flex:0 0 44px!important;width:44px!important;height:44px!important;margin:0!important;transform:none!important; }
  body .cc-header--floema .cc-topbar__message,
  body .cc-header--floema .cc-topbar__email { display:none!important; }
  body .cc-header--floema .cc-topbar__contacts { display:flex!important;flex-wrap:nowrap!important;justify-content:flex-end!important;gap:8px!important;min-width:0!important;width:100%!important; }
  body .cc-header-favorites-portal { width:auto!important;max-width:calc(100% - 32px)!important; }
}

/* The overlay's contact components also need their base styling above the
 * phone breakpoint. Unbounded SVGs otherwise expand to the aside width.
 */
@media (max-width:782px) {
  body .cc-menu-overlay .cc-menu-overlay__grid {
    overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
}
@media (min-width:783px) {
  body .cc-menu-overlay .cc-menu-overlay__contact-shell { display:grid!important;gap:10px!important;min-width:0!important; }
  body .cc-menu-overlay .cc-menu-overlay__contact-item {
    display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;align-items:center!important;
    gap:10px!important;min-width:0!important;min-height:64px!important;padding:12px!important;
    border:1px solid rgba(112,77,255,.12)!important;border-radius:16px!important;
    background:rgba(255,255,255,.66)!important;color:#171326!important;text-decoration:none!important;
  }
  body .cc-menu-overlay .cc-menu-overlay__contact-icon {
    display:flex!important;align-items:center!important;justify-content:center!important;
    width:36px!important;height:36px!important;min-width:36px!important;border-radius:12px!important;
    background:rgba(112,77,255,.08)!important;
  }
  body .cc-menu-overlay .cc-menu-overlay__contact-icon svg { display:block!important;width:20px!important;height:20px!important;max-width:20px!important;fill:#5d45ff!important; }
  body .cc-menu-overlay .cc-menu-overlay__contact-copy { display:grid!important;gap:4px!important;min-width:0!important; }
  body .cc-menu-overlay .cc-menu-overlay__contact-label { display:block!important;font-size:11px!important;line-height:1.3!important;letter-spacing:.08em!important;color:#706a80!important; }
  body .cc-menu-overlay .cc-menu-overlay__contact-copy strong { display:block!important;min-width:0!important;font-size:14px!important;line-height:1.35!important;overflow-wrap:anywhere!important; }
  body .cc-menu-overlay .cc-menu-overlay__contact-row-divider { display:none!important; }
  body .cc-menu-overlay .cc-menu-overlay__cta { width:100%!important;min-height:48px!important;margin:16px 0 20px!important;font-size:15px!important;box-sizing:border-box!important; }
  body .cc-menu-overlay .cc-menu-overlay__social-zone { display:grid!important;gap:12px!important; }
  body .cc-menu-overlay .cc-menu-overlay__social-label { display:flex!important;align-items:center!important;gap:10px!important;font-size:11px!important;line-height:1.4!important;color:#706a80!important; }
  body .cc-menu-overlay .cc-menu-overlay__social-label span { flex:1 1 auto!important;height:1px!important;background:rgba(112,77,255,.12)!important; }
  body .cc-menu-overlay .cc-menu-overlay__socials { display:flex!important;justify-content:center!important;align-items:center!important;gap:12px!important;margin:0!important; }
  body .cc-menu-overlay .cc-menu-overlay__socials a { display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 44px!important;width:44px!important;height:44px!important;border-radius:50%!important;background:#fff!important;box-shadow:0 8px 20px rgba(35,39,60,.09)!important; }
  body .cc-menu-overlay .cc-menu-overlay__socials svg { display:block!important;width:20px!important;height:20px!important;max-width:20px!important;fill:#171326!important; }
}

/* Tablet menu: bounded panel with a fixed top row and a scrollable content
 * grid, so portrait, landscape and shorter split-screen windows stay usable.
 */
@media (min-width:783px) and (max-width:1100px) {
  body .cc-menu-overlay { padding:24px!important;place-items:center!important;box-sizing:border-box!important;overflow:hidden!important; }
  body .cc-menu-overlay .cc-menu-overlay__panel {
    display:flex!important;flex-direction:column!important;width:100%!important;max-width:1000px!important;
    height:auto!important;min-height:0!important;max-height:calc(100vh - 48px)!important;max-height:calc(100dvh - 48px)!important;
    margin:0!important;padding:24px!important;border-radius:28px!important;overflow:hidden!important;box-sizing:border-box!important;
  }
  body .cc-menu-overlay .cc-menu-overlay__top { position:relative!important;top:auto!important;flex:0 0 auto!important;margin:0 0 20px!important;padding:0!important; }
  body .cc-menu-overlay .cc-menu-overlay__close { min-height:44px!important;min-width:88px!important;flex-shrink:0!important; }
  body .cc-menu-overlay .cc-menu-overlay__grid {
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,.9fr)!important;
    gap:24px!important;align-items:start!important;flex:1 1 auto!important;min-height:0!important;
    height:auto!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body .cc-menu-overlay .cc-menu-overlay__nav { display:grid!important;align-content:start!important;gap:0!important;min-width:0!important;margin:0!important;padding:0!important; }
  body .cc-menu-overlay .cc-menu-overlay__nav>a { display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;gap:12px!important;min-width:0!important;padding:14px 0!important;font-size:clamp(28px,4.4vw,44px)!important;line-height:1.08!important;letter-spacing:-.045em!important;white-space:normal!important;overflow-wrap:anywhere!important; }
  body .cc-menu-overlay .cc-menu-overlay__nav>a>span { font-size:12px!important;letter-spacing:.08em!important;align-self:center!important; }
  body .cc-menu-overlay .cc-menu-overlay__nav>a.cc-menu-overlay__subitem { font-size:18px!important;line-height:1.3!important;letter-spacing:-.025em!important;padding:10px 0!important; }
  body .cc-menu-overlay .cc-menu-overlay__aside { align-self:start!important;min-width:0!important;margin:0!important;padding:22px!important;border-radius:24px!important;box-sizing:border-box!important; }
  body .cc-menu-overlay .cc-menu-overlay__aside h2 { font-size:28px!important;line-height:1.1!important;letter-spacing:-.04em!important;margin:0 0 18px!important;overflow-wrap:anywhere!important; }
  body .cc-menu-overlay .cc-menu-overlay__kicker { font-size:11px!important;line-height:1.4!important;margin:0 0 12px!important; }
}

/* A tablet needs a real single-column introduction, not two phone-sized columns. */
@media (min-width:783px) and (max-width:1100px) {
  body.home .cc-home-hero.cc-home-hero--v131 { height:auto!important;min-height:0!important; }
  body.home .cc-home-hero.cc-home-hero--v131>.cc-shell.cc-hero__grid.has-hero-visual {
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:32px!important;
    width:calc(100% - 48px)!important;max-width:900px!important;height:auto!important;min-height:0!important;
    padding-top:164px!important;padding-bottom:36px!important;
  }
  body.home .cc-home-hero.cc-home-hero--v131 .cc-hero__grid.has-hero-visual>.cc-hero__copy {
    align-self:start!important;width:100%!important;max-width:100%!important;min-width:0!important;
    padding:0!important;transform:none!important;
  }
  body.home .cc-home-hero.cc-home-hero--v131 .cc-hero__copy h1 { font-size:clamp(44px,6vw,64px)!important;line-height:1!important;letter-spacing:-.045em!important;overflow-wrap:anywhere; }
  body.home .cc-home-hero.cc-home-hero--v131 .cc-hero__copy>.cc-hero__lead--desktop { max-width:100%!important; }
  body.home .cc-home-hero.cc-home-hero--v131 .cc-benefit-trio { grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important; }
  body.home .cc-home-hero.cc-home-hero--v131 .cc-benefit-trio__card { min-width:0!important;padding:16px!important;grid-template-rows:auto auto!important; }
  body.home .cc-home-hero.cc-home-hero--v131 .cc-benefit-trio__heading { font-size:20px!important;line-height:1.25!important;overflow-wrap:anywhere; }
  body.home .cc-home-hero.cc-home-hero--v131 .cc-hero__grid.has-hero-visual>.cc-hero__form-stage {
    display:flex!important;position:relative!important;align-items:flex-end!important;justify-content:flex-end!important;
    align-self:stretch!important;justify-self:stretch!important;width:100%!important;max-width:100%!important;
    height:auto!important;min-height:720px!important;padding:0!important;margin:0!important;transform:none!important;
  }
  body.home .cc-home-hero.cc-home-hero--v131 .cc-hero__grid.has-hero-visual>.cc-hero__form-stage>.cc-form-card {
    position:relative!important;width:min(76%,570px)!important;max-width:570px!important;
    margin:0 0 0 auto!important;padding-left:28px!important;padding-right:28px!important;transform:none!important;
  }
  body.home .cc-home-hero.cc-home-hero--v131 .cc-hero__grid.has-hero-visual .cc-hero__person-slot {
    position:absolute!important;display:flex!important;top:0!important;bottom:0!important;left:0!important;right:auto!important;
    width:min(74%,620px)!important;height:720px!important;max-height:none!important;
  }
  body.home .cc-home-hero .cc-hero__panel .cc-hero-lead-consent>span { font-size:11px!important; }
}

/* Shared compact introduction for laptop-height windows. Keep copy in normal flow. */
@media (min-width:1101px) and (max-height:850px) {
  body .cc-main :is(.cc-about-hero,.cc-premiums-hero,.cc-guide-hero,.cc-jobs-archive-hero,.cc-loyalty-hero,.cc-single-hero,.cc-job-hero) {
    --cc-description-size:16px;--cc-description-line:1.5;
    height:auto!important;min-height:0!important;padding-top:132px!important;padding-bottom:24px!important;
  }
  body .cc-main :is(.cc-about-hero,.cc-premiums-hero,.cc-guide-hero,.cc-jobs-archive-hero,.cc-loyalty-hero,.cc-single-hero,.cc-job-hero) h1 {
    font-size:clamp(36px,5.8svh,56px)!important;line-height:1.04!important;letter-spacing:-.04em!important;
  }
  body .cc-main .cc-loyalty-hero__grid { padding:24px!important;min-height:0!important;height:auto!important; }
  body .cc-main .cc-loyalty-hero__card { padding:24px!important;min-height:0!important;height:auto!important; }
  body .cc-main .cc-loyalty-hero__card strong { font-size:36px!important;line-height:1.1!important; }
  body .cc-main .cc-loyalty-hero__card em { font-size:clamp(52px,8svh,72px)!important;line-height:1!important; }
  body .cc-main .cc-loyalty-hero__card p { font-size:16px!important;line-height:1.45!important; }
}

@media (max-width:1100px) {
  body .cc-header.cc-header--floema .cc-topbar.cc-topbar--contact .cc-topbar__contacts>a.cc-topbar__email { display:none!important; }
}
/* Keep the logged-in WordPress toolbar from wrapping over the public header on tablets. */
@media (min-width:783px) and (max-width:1100px) {
  #wpadminbar #wp-admin-bar-root-default>li:not(#wp-admin-bar-wp-logo):not(#wp-admin-bar-site-name):not(#wp-admin-bar-edit) { display:none!important; }
}

/* Rich text added in the editor must follow the same phone typography as the theme. */
@media (max-width:782px) {
  body .cc-editorial-content h2 { font-size:clamp(22px,6.6vw,28px)!important;line-height:1.18!important;letter-spacing:-.025em!important;overflow-wrap:anywhere; }
  body .cc-editorial-content h3 { font-size:clamp(20px,5.6vw,24px)!important;line-height:1.25!important;overflow-wrap:anywhere; }
  body .cc-footer--modern .cc-footer__middle-shell h3 { font-size:16px!important;white-space:normal!important;overflow-wrap:anywhere; }
}

/* One readable compact card layout: labels and long values must wrap,
 * never disappear behind a fixed column or an ellipsis. Applies to home,
 * listings, regional pages and cards embedded in articles alike.
 */
@media (max-width:782px) {
  /* The archive search is fixed below the header from the first paint. */
  body.page-template-page-oferty-pracy .cc-main .cc-jobs-archive-hero {
    --cc-subpage-hero-start-mobile:calc(208px + var(--wp-admin--admin-bar--height,0px));
    --cc-subpage-hero-start:calc(208px + var(--wp-admin--admin-bar--height,0px));
    padding-top:calc(208px + var(--wp-admin--admin-bar--height,0px))!important;
  }
}
@media (max-width:1100px) {
  body .cc-job-card .cc-job-card__inner .cc-job-card__row {
    display:grid!important;grid-template-columns:minmax(112px,.95fr) minmax(0,1.05fr)!important;
    column-gap:8px!important;align-items:center!important;
    height:auto!important;min-height:44px!important;padding:10px!important;overflow:visible!important;
  }
  body .cc-job-card .cc-job-card__inner .cc-job-card__row .cc-job-card__label {
    display:grid!important;grid-template-columns:16px minmax(0,1fr)!important;gap:6px!important;
    align-items:center!important;min-width:0!important;max-width:100%!important;
    font-size:clamp(11px,3vw,12px)!important;line-height:1.35!important;letter-spacing:0!important;
    white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
    overflow-wrap:anywhere!important;
  }
  body .cc-job-card .cc-job-card__inner .cc-job-card__row .cc-job-card__icon {
    width:16px!important;min-width:16px!important;height:16px!important;flex-shrink:0!important;
  }
  body .cc-job-card .cc-job-card__inner .cc-job-card__row .cc-job-card__value,
  body.home .cc-section.cc-home-jobs .cc-home-jobs__grid>.cc-job-card .cc-job-card__inner .cc-job-card__row .cc-job-card__value {
    display:block!important;min-width:0!important;width:100%!important;max-width:100%!important;
    justify-self:stretch!important;text-align:right!important;padding-left:0!important;
    font-size:12px!important;line-height:1.35!important;letter-spacing:0!important;
    white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
    overflow-wrap:anywhere!important;
  }
}
