/* GRAINBUD — audyt, etap 1. Zwięzły panel cookies na telefonach. */
@media (max-width: 600px) {
    #gb-consent-panel {
        right: 8px;
        bottom: 8px;
        width: calc(100% - 16px);
        max-height: calc(100vh - 16px);
        max-height: calc(100dvh - 16px);
        padding: 12px 14px;
    }
    #gb-consent-panel h2 {
        margin-bottom: 6px;
        font-size: 17px;
        line-height: 1.3;
    }
    #gb-consent-panel p {
        margin: 6px 0;
        font-size: 13px;
        line-height: 1.45;
    }
    #gb-consent-panel .gb-consent-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        margin: 10px 0 6px;
    }
    #gb-consent-panel .gb-consent-actions button {
        min-height: 44px;
        padding: 8px 5px;
        font-size: 12px;
    }
    #gb-consent-panel #gb-consent-settings {
        grid-column: auto;
    }
    #gb-consent-panel #gb-consent-status {
        margin-top: 6px;
        font-size: 12px;
        line-height: 1.4;
    }
    #gb-consent-details {
        padding-top: 8px;
        margin-top: 10px;
    }
}

/* GRAINBUD — przyciski wyceny wyłącznie przy hero usługi Pale CFA. */
.gb-page-hero-content .gb-audit1-cfa-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 22px;
    margin-top: 24px;
}
.gb-page-hero-content .gb-audit1-cfa-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-height: 48px;
    padding: 12px 18px;
    border: 1px solid #f6b900;
    background: #f6b900;
    color: #101820;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
}
.gb-page-hero-content .gb-audit1-cfa-btn:hover {
    background: #ffd05b;
    border-color: #ffd05b;
    color: #101820;
}
.gb-page-hero-content .gb-audit1-cfa-docs {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.gb-page-hero-content .gb-audit1-cfa-actions a:focus-visible {
    outline: 3px solid #ffdb70;
    outline-offset: 4px;
}
@media (max-width: 600px) {
    .gb-page-hero-content .gb-audit1-cfa-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        margin-top: 20px;
    }
    .gb-page-hero-content .gb-audit1-cfa-docs {
        justify-content: center;
        text-align: center;
    }
}

/* GRAINBUD_POPRAWKI_16_20261002 */
/* GRAINBUD pack 16: scoped to four explicitly marked picture heroes. */
#gb-frontend [data-gb-hero16]::after,
#gb-frontend [data-gb-hero16] .gb-rental-hero-bg::after {
    background: rgba(14, 20, 22, .34) !important;
}
#gb-frontend [data-gb-hero16] .gb-hero16-picture {
    position: absolute;
    inset: 0;
    z-index: -2;
    display: block;
    width: 100%;
    height: 100%;
}
#gb-frontend [data-gb-hero16] .gb-hero16-picture img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: none;
}
#gb-frontend [data-gb-hero16] .gb-rental-hero-bg .gb-hero16-picture { z-index: 0; }
#gb-frontend [data-gb-hero16] .gb-rental-hero-bg::after { z-index: 1; }
#gb-frontend [data-gb-hero16] :is(.gb-hero-content, .gr-hero-copy, .gx-hero-copy, .gb-rental-hero-content) {
    text-shadow: 0 1px 3px rgba(0, 0, 0, .9), 0 3px 14px rgba(0, 0, 0, .5);
}
#gb-frontend [data-gb-hero16] :is(.gb-hero-content, .gr-hero-copy, .gx-hero-copy, .gb-rental-hero-content) p {
    color: #fff;
}
#gb-frontend [data-gb-hero16] :is(.gr-button, .gx-button, .gb-rental-btn) { text-shadow: none; }
#gb-frontend [data-gb-hero16] :is(.gr-button-outline, .gx-button-outline) {
    background-color: rgba(14, 20, 22, .2);
    text-shadow: 0 1px 3px rgba(0, 0, 0, .75);
}
#gb-frontend [data-gb-hero16="blog"] .gb-hero16-picture img { object-position: 50% 68%; }
#gb-frontend [data-gb-hero16="references"] .gb-hero16-picture img { object-position: 50% 58%; }
#gb-frontend [data-gb-hero16="realizations"] .gb-hero16-picture img { object-position: 50% 53%; }
#gb-frontend [data-gb-hero16="rental"] .gb-hero16-picture img { object-position: 50% 50%; }
@media (max-width: 767px) {
    #gb-frontend [data-gb-hero16="blog"] .gb-hero16-picture img { object-position: 56% 55%; }
    #gb-frontend [data-gb-hero16="references"] .gb-hero16-picture img { object-position: 66% 50%; }
    #gb-frontend [data-gb-hero16="realizations"] .gb-hero16-picture img { object-position: 68% 50%; }
    #gb-frontend [data-gb-hero16="rental"] .gb-hero16-picture img { object-position: 47% 50%; }
}

/* GRAINBUD content 16: native, server-rendered disclosure panels. */
#gb-wykopy-article .wyk-details-16{margin:22px 0;border:1px solid #d8d8d2;background:#fafaf8}
#gb-wykopy-article .wyk-details-16 summary{padding:15px 18px;cursor:pointer;font:inherit;font-weight:600;line-height:1.5}
#gb-wykopy-article .wyk-details-16 summary::marker{color:#795700}
#gb-wykopy-article .wyk-details-16 summary:focus-visible{outline:3px solid #977000;outline-offset:3px}
#gb-wykopy-article .wyk-details-16[open] summary{border-bottom:1px solid #deded8}
#gb-wykopy-article .wyk-details-body-16{padding:18px;font-size:14px;line-height:1.75}
#gb-wykopy-article .wyk-details-body-16 a,#gb-wykopy-article .wyk-sources-16 a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
#gb-wykopy-article .wyk-sources-16{font-size:12px;line-height:1.7;color:#626262;margin-top:18px}
#gb-wykopy-article .wyk-details-dark-16{background:#262626;border-color:#555;color:#eee}
#gb-wykopy-article .wyk-details-dark-16 summary::marker{color:#f6b900}
#gb-wykopy-article .wyk-details-dark-16[open] summary{border-color:#555}
#gb-wykopy-article .wyk-details-dark-16 .wyk-quote-list{margin-bottom:20px}
#gb-wykopy-article .wyk-details-dark-16 p{font-size:14px}
@media(max-width:650px){#gb-wykopy-article .wyk-details-16 summary{padding:14px}#gb-wykopy-article .wyk-details-body-16{padding:14px}}

/* Keep the documentary photographs intact; adjust only their presentation. */
#gb-wykopy-article .wyk-gallery picture { display: block; }
#gb-wykopy-article .wyk-gallery img {
    filter: brightness(1.035) contrast(1.075) saturate(1.12) sepia(.025);
}
@media (max-width: 650px) {
    #gb-wykopy-article .wyk-gallery { grid-template-columns: 1fr; gap: 24px; }
}

/* Paczka 17: append once to the shared package stylesheet. */
@media (min-width:1121px){
    .gh-site main .gh-process-17{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}
}
.gb-page-content .gb-cooperation-17{margin:32px 0 44px;padding:28px;background:#f4f4f2;border-left:3px solid #e8b20b}
.gb-page-content .gb-cooperation-17 h2{margin-top:0}
.gb-page-content .gb-cooperation-17-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;counter-reset:gb-cooperation;list-style:none;padding:0;margin:24px 0 0}
.gb-page-content .gb-cooperation-17-steps li{counter-increment:gb-cooperation;margin:0;padding:16px 0 0;border-top:1px solid #d9dcd8}
.gb-page-content .gb-cooperation-17-steps li::before{content:counter(gb-cooperation,decimal-leading-zero);display:block;color:#795700;font-size:12px;font-weight:700;line-height:1.4;margin-bottom:10px}
.gb-page-content .gb-cooperation-17-steps strong{display:block;font-size:15px;line-height:1.4;margin-bottom:8px}
.gb-page-content .gb-cooperation-17-steps span{display:block;font-size:13px;line-height:1.7}
@media (max-width:1120px){
    .gh-site main .gh-process-17{grid-template-columns:repeat(2,minmax(0,1fr))}
    .gb-page-content .gb-cooperation-17-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:650px){
    .gb-page-content .gb-cooperation-17{padding:22px 18px}
    .gb-page-content .gb-cooperation-17-steps{grid-template-columns:1fr;gap:17px}
    .gb-page-content .gb-cooperation-17-steps li{display:grid;grid-template-columns:26px 1fr;column-gap:12px}
    .gb-page-content .gb-cooperation-17-steps li::before{grid-row:1/3;margin:2px 0 0}
    .gb-page-content .gb-cooperation-17-steps span{grid-column:2}
}
@media (max-width:620px){
    .gh-site main .gh-process-17{grid-template-columns:1fr}
}

/* Pack 17: new authentic news photo; retain pack 16 overlay and typography. */
#gb-frontend [data-gb-hero16="blog"] .gb-hero16-picture img {
    object-position: 50% 63%;
}
@media (max-width: 767px) {
    #gb-frontend [data-gb-hero16="blog"] .gb-hero16-picture img {
        object-position: 64% 50%;
    }
}

/* GRAINBUD: progressive page transitions and photo presentation. */
@view-transition { navigation: auto; }
::view-transition-group(root) { animation-duration: 240ms; }
::view-transition-old(root) { animation: gb-page-out 240ms ease both; }
::view-transition-new(root) { animation: gb-page-in 240ms ease both; }
@keyframes gb-page-out { to { opacity: 0; } }
@keyframes gb-page-in { from { opacity: 0; } }
@keyframes gb-page-enter { from { opacity: .72; } to { opacity: 1; } }
@media (prefers-reduced-motion: no-preference) {
  html.gb-nav-entry body { animation: gb-page-enter 220ms ease-out both; }
}

/* Explicit photo classes/paths only: logos, crests and reference scans retain their appearance. */
:is(img.gb-photo, img[data-gb-photo], img[data-gx-social-image], .gh-social-media img, .gh-hero-poster, .gh-article-photo,
    .gh-transport-image, .gh-service-card > img, .gh-office-visual > img,
    .hd-gallery img, .hd-hero-picture img, .gb-hero16-picture img,
    .gb-rental-card-image img,
    img[src*="/media/grainbud-refresh-20261003/photos/"],
    img[src*="/media/grainbud-domy-20261003/"],
    img[src*="/storage/equipment/"], img[src*="/storage/aktualnosci/"]) {
  filter: brightness(var(--gb-photo-brightness, .84));
  transition: filter 280ms ease, opacity 200ms ease;
}
@media (hover: hover) {
  :is(img:hover, a:hover, figure:hover, .gh-hero:hover, .hd-hero:hover,
      .gb-rental-hero:hover, section[class*="hero"]:hover,
      header[class*="hero"]:hover, [data-gb-hero16]:hover) { --gb-photo-brightness: 1; }
  :is(img.gb-photo:hover, img[data-gb-photo]:hover,
      a:hover > img.gb-photo, a:hover picture img.gb-photo,
      figure:hover img.gb-photo, .gb-photo-hero:hover img.gb-photo) {
    filter: brightness(1);
  }
}
:is(img.gb-photo:focus-visible, a:focus-visible img.gb-photo,
    button:focus-visible img.gb-photo, .gb-photo-hero:focus-within img.gb-photo,
    img.gb-photo[data-gb-photo-revealed],
    dialog[open] img.gb-photo, [role="dialog"] img.gb-photo,
    .fancybox__image, .fancybox-image, .lg-object, .glightbox-container img,
    #lightbox img, .gb-photo-viewer img) {
  filter: brightness(1) !important;
}
img[data-gb-photo-open] { cursor: zoom-in; }
img[data-gb-photo-open]:focus-visible { outline: 3px solid #f2bf36; outline-offset: 4px; }
.gb-photo-viewer {
  box-sizing: border-box; width: min(1440px, 96vw); max-width: 96vw;
  max-height: 94vh; max-height: 94dvh; margin: auto; padding: 48px 12px 14px;
  border: 0; border-radius: 10px; color: #fff; background: #17201c;
  overflow: auto; box-shadow: 0 16px 80px #0008;
}
.gb-photo-viewer::backdrop { background: rgba(4, 10, 7, .88); }
.gb-photo-viewer img {
  display: block; width: auto; max-width: 100%; height: auto;
  max-height: calc(88vh - 120px); max-height: calc(88dvh - 120px);
  margin: auto; object-fit: contain; filter: none !important;
}
.gb-photo-viewer__caption {
  margin: 13px auto 0; max-width: 1000px; font: 400 14px/1.5 Arial, sans-serif;
  color: #fff; text-align: center;
}
.gb-photo-viewer__close {
  position: absolute; top: 4px; right: 8px; min-height: 40px; padding: 6px 14px;
  border: 1px solid #ffffff70; border-radius: 5px; background: #17201c;
  color: #fff; font: 600 14px/1.4 Arial, sans-serif; cursor: pointer;
}
.gb-photo-viewer__close:hover { background: #344237; }
.gb-photo-viewer__close:focus-visible { outline: 3px solid #f2bf36; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) {
    animation: none !important;
  }
  html.gb-nav-entry body { animation: none !important; }
  img { transition: none !important; }
}

