/* a'Gusto - nagłówek (pasek 36 / belka 80 / nawigacja 54), szuflada, stopka, pasek dolny.
   Progi z projektu: 1340 - znikają skróty po prawej w nawigacji,
   1180 - nagłówek przechodzi w wersję mobilną (burger + szuflada). */

.ag-header { position: sticky; top: 0; z-index: 80; background: #fff; }
.ag-header.is-scrolled { box-shadow: 0 6px 20px -14px rgba(15,36,56,.5); }

/* ---- Pasek górny 36px ---- */
.ag-topbar {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  height: 36px; padding: 0 var(--ag-gutter);
  background: var(--ag-navy-deep); color: var(--ag-topbar-text);
  font-size: 12.5px; letter-spacing: .01em; white-space: nowrap; overflow: hidden;
}
.ag-topbar__left { display: flex; align-items: center; gap: 16px; min-width: 0; }
.ag-topbar__strong { display: flex; align-items: center; gap: 7px; color: #fff; }
.ag-topbar__strong .ag-icon { color: var(--ag-green-500); }
.ag-topbar__where { overflow: hidden; text-overflow: ellipsis; }
.ag-topbar__links { display: flex; align-items: center; gap: 16px; flex: none; }
.ag-topbar__menu { display: flex; align-items: center; gap: 16px; margin: 0; padding: 0; list-style: none; }
.ag-topbar__menu li { display: flex; align-items: center; gap: 16px; }
.ag-topbar__menu li + li::before { content: ""; width: 1px; height: 11px; background: var(--ag-topbar-divider); }
.ag-topbar a { color: var(--ag-topbar-text); text-decoration: none; }
.ag-topbar a:hover { color: #fff; }
.ag-topbar__shop { display: flex; align-items: center; gap: 6px; color: #fff !important; }
@media (max-width: 1180px) { .ag-topbar { display: none; } }
@media (max-width: 1340px) { .ag-topbar__where { display: none; } }

/* ---- Belka 80px ---- */
.ag-bar {
  display: flex; align-items: center; gap: clamp(18px, 2.4vw, 36px);
  height: 80px; padding: 0 var(--ag-gutter);
  background: #fff;
}
.ag-logo { display: inline-flex; align-items: center; flex: none; }
.ag-logo__img { width: 150px; height: 38px; object-fit: contain; object-position: left center; display: block; max-height: none; }
.ag-logo__text { font-size: 26px; font-weight: 700; letter-spacing: -.035em; color: var(--ag-green-600); }

.ag-search {
  display: flex; align-items: center; gap: 12px;
  flex: 1 1 auto; min-width: 0; max-width: 620px;
  height: 52px; padding: 0 6px 0 18px;
  background: var(--ag-field); border: 1px solid var(--ag-line); border-radius: 26px;
}
.ag-search:focus-within { border-color: var(--ag-green-500); background: #fff; }
.ag-search svg { flex: none; }
.ag-search input[type="search"] {
  flex: 1; min-width: 0; border: 0; outline: 0; background: transparent;
  font-family: var(--ag-font); font-size: 15px; color: var(--ag-ink);
}
.ag-search__submit {
  display: flex; align-items: center; height: 40px; padding: 0 20px; flex: none;
  background: var(--ag-navy); color: #fff; border: 0; border-radius: 20px;
  font-family: var(--ag-font); font-size: 14px; font-weight: 600; cursor: pointer;
}
.ag-search__submit:hover { background: var(--ag-navy-hover); }

.ag-bar__actions { display: flex; align-items: center; gap: clamp(10px, 1.4vw, 20px); margin-left: auto; flex: none; }

.ag-phone { display: flex; align-items: center; gap: 11px; text-decoration: none; }
.ag-phone__ring { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; flex: none; background: var(--ag-green-pale); border-radius: 50%; }
.ag-phone__col { display: flex; flex-direction: column; gap: 1px; white-space: nowrap; }
.ag-phone__hint { font-size: 11.5px; color: var(--ag-muted-cool); }
.ag-phone__num { font-size: 16px; font-weight: 700; letter-spacing: -.01em; color: var(--ag-ink); }
.ag-phone:hover .ag-phone__num { color: var(--ag-green-600); }

.ag-cart {
  position: relative; display: flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; flex: none;
  border: 1px solid var(--ag-line); border-radius: 50%; text-decoration: none;
}
.ag-cart:hover { border-color: var(--ag-ink); }
.ag-cart__count {
  position: absolute; top: -3px; right: -3px;
  display: flex; align-items: center; justify-content: center;
  min-width: 20px; height: 20px; padding: 0 5px;
  background: var(--ag-green-500); color: #fff;
  font-size: 11px; font-weight: 700; border-radius: 10px; border: 2px solid #fff;
}
.ag-cart__count.is-empty { display: none; }

.ag-bar .ag-btn { display: inline-flex; align-items: center; gap: 9px; height: 50px; padding: 0 24px; border-radius: 25px; font-size: 15.5px; font-weight: 600; white-space: nowrap; text-decoration: none; }
.ag-iconbtn {
  display: none; align-items: center; justify-content: center;
  width: 46px; height: 46px; flex: none;
  background: transparent; border: 0; border-radius: 23px; cursor: pointer;
}
.ag-iconbtn:hover { background: var(--ag-paper); }
.ag-search-toggle { display: none; }

@media (max-width: 1340px) { .ag-phone__col { display: none; } .ag-phone__ring { width: 46px; height: 46px; } }
@media (max-width: 1180px) {
  .ag-bar { height: 64px; gap: 12px; }
  .ag-search { display: none; }
  .ag-search.is-open {
    display: flex; position: absolute; left: var(--ag-gutter); right: var(--ag-gutter); top: 72px; z-index: 5;
    max-width: none; background: #fff; box-shadow: var(--ag-shadow-lg);
  }
  .ag-search-toggle, .ag-burger { display: inline-flex; }
  .ag-bar__cta, .ag-phone { display: none; }
  .ag-logo__img { width: 128px; height: 32px; }
}

/* ---- Rząd nawigacji 54px ---- */
.ag-nav {
  display: flex; align-items: center; flex-wrap: wrap; gap: 6px; row-gap: 6px;
  min-height: 54px; padding: 6px var(--ag-gutter);
  border-top: 1px solid var(--ag-line-soft); border-bottom: 1px solid var(--ag-line);
  background: #fff;
}
.ag-nav__pill {
  display: inline-flex; align-items: center; gap: 10px;
  height: 38px; padding: 0 18px; margin-right: 12px;
  background: var(--ag-navy); color: #fff; border-radius: 19px;
  font-size: 15px; font-weight: 600; text-decoration: none; white-space: nowrap;
}
.ag-nav__pill:hover { background: var(--ag-navy-hover); color: #fff; }
.ag-nav__menu { display: flex; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ag-nav__menu > li { position: relative; }
.ag-nav__menu > li > a {
  display: flex; align-items: center; gap: 7px;
  height: 38px; padding: 0 14px; border-radius: 19px;
  font-size: 15.5px; font-weight: 500; color: var(--ag-ink);
  text-decoration: none; white-space: nowrap;
}
.ag-nav__menu > li > a:hover, .ag-nav__menu > li.current-menu-item > a { background: var(--ag-paper); color: var(--ag-ink); }
.ag-nav__menu > li.menu-item-has-children > a::after {
  content: ""; width: 7px; height: 7px; flex: none; margin-top: -3px;
  border-right: 1.7px solid var(--ag-muted); border-bottom: 1.7px solid var(--ag-muted);
  transform: rotate(45deg);
}
.ag-nav__menu .sub-menu {
  position: absolute; top: 100%; left: 0; z-index: 40;
  display: grid; gap: 2px; min-width: 260px; margin: 0; padding: 10px; list-style: none;
  background: #fff; border: 1px solid var(--ag-line-soft); border-radius: var(--ag-radius);
  box-shadow: var(--ag-shadow-lg);
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity .15s ease, transform .15s ease, visibility .15s;
}
.ag-nav__menu > li:hover > .sub-menu, .ag-nav__menu > li:focus-within > .sub-menu,
.ag-nav__menu > li.is-open > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.ag-nav__menu .sub-menu a { display: block; padding: 10px 12px; font-size: 15px; color: var(--ag-ink); border-radius: 3px; text-decoration: none; }
.ag-nav__menu .sub-menu a:hover { background: var(--ag-green-soft); color: var(--ag-green-600); }

@media (max-width: 1340px) { .ag-nav__extras { display: none; } }
@media (max-width: 1180px) { .ag-nav { display: none; } }

/* Rozwijanie podmenu na dotyku (JS dodaje przycisk) */
.ag-nav__expand { position: absolute; top: 50%; right: 2px; transform: translateY(-50%); width: 30px; height: 30px; background: transparent; border: 0; cursor: pointer; }
.ag-nav__expand::after { content: ""; position: absolute; top: 10px; left: 10px; width: 8px; height: 8px; border-right: 1.7px solid var(--ag-ink); border-bottom: 1.7px solid var(--ag-ink); transform: rotate(45deg); transition: transform .15s ease; }
.ag-nav__expand[aria-expanded="true"]::after { transform: rotate(-135deg); }

/* ---- Szuflada mobilna ---- */
.ag-drawer { position: fixed; inset: 0; z-index: 95; display: flex; flex-direction: column; background: #fff; overflow-y: auto; }
.ag-drawer[hidden] { display: none; }
.ag-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 14px var(--ag-gutter); border-bottom: 1px solid var(--ag-line); }
.ag-drawer__head .ag-iconbtn { display: inline-flex; }
.ag-drawer__title { font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ag-muted); }
.ag-drawer__nav { flex: 1; padding: 16px var(--ag-gutter) 8px; }
.ag-nav__pill--drawer { display: flex; justify-content: center; margin: 0 0 14px; }
.ag-drawer__menu, .ag-drawer__menu .sub-menu { margin: 0; padding: 0; list-style: none; }
.ag-drawer__menu > li { position: relative; border-bottom: 1px solid var(--ag-line-soft); }
.ag-drawer__menu a { display: block; padding: 16px 44px 16px 0; font-size: 17px; font-weight: 500; color: var(--ag-ink); text-decoration: none; }
.ag-drawer__menu .sub-menu { display: none; padding: 0 0 10px 14px; border-left: 2px solid var(--ag-green-border); }
.ag-drawer__menu .is-open > .sub-menu { display: block; }
.ag-drawer__menu .sub-menu a { padding: 11px 0; font-size: 15.5px; font-weight: 400; color: var(--ag-body); }
.ag-drawer__expand { position: absolute; top: 8px; right: 0; width: 40px; height: 40px; background: transparent; border: 0; cursor: pointer; }
.ag-drawer__expand::after { content: ""; position: absolute; top: 14px; left: 14px; width: 9px; height: 9px; border-right: 1.8px solid var(--ag-ink); border-bottom: 1.8px solid var(--ag-ink); transform: rotate(45deg); transition: transform .15s ease; }
.ag-drawer__expand[aria-expanded="true"]::after { transform: rotate(-135deg); top: 18px; }
.ag-drawer__foot { display: grid; gap: 10px; padding: 18px var(--ag-gutter) calc(24px + env(safe-area-inset-bottom)); border-top: 1px solid var(--ag-line); }
body.ag-drawer-open { overflow: hidden; }

/* ---- Pas CTA nad stopką ---- */
.ag-ctaband {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;
  gap: 26px clamp(24px, 3vw, 50px);
  padding: clamp(40px, 6vw, 62px) var(--ag-gutter);
  background: var(--ag-green-500);
}
.ag-ctaband__text { max-width: 730px; }
.ag-ctaband h2 { margin: 0; font-size: clamp(25px, 3vw, 38px); line-height: 1.12; color: #fff; }
.ag-ctaband p { margin: 8px 0 0; font-size: 17px; color: #DFF6EA; }
.ag-ctaband__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }

/* ---- Stopka ---- */
.ag-footer { background: var(--ag-navy-deep); color: var(--ag-navy-mist); }
.ag-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: clamp(26px, 3vw, 44px); padding: clamp(44px, 6vw, 62px) var(--ag-gutter) clamp(30px, 4vw, 42px); }
@media (max-width: 1080px) { .ag-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .ag-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 420px) { .ag-footer__grid { grid-template-columns: 1fr; } }
.ag-footer__col { display: flex; flex-direction: column; gap: 12px; }
.ag-footer__col--brand { gap: 16px; }
@media (max-width: 1080px) { .ag-footer__col--brand { grid-column: 1 / -1; } }
.ag-footer__logo { width: 148px; max-width: 100%; height: 38px; object-fit: contain; object-position: left center; }
.ag-footer__logotext { font-size: 24px; font-weight: 700; letter-spacing: -.035em; color: #fff; }
.ag-footer p { font-size: 15px; line-height: 1.55; color: var(--ag-navy-mist); }
.ag-footer__address { display: grid; gap: 8px; font-style: normal; font-size: 14.5px; }
.ag-footer__address span { display: flex; align-items: flex-start; gap: 9px; }
.ag-footer__head { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #5E7A97; }
.ag-footer__menu { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.ag-footer__menu a { display: block; padding: 5px 0; font-size: 15px; color: #C9D6E4; text-decoration: none; }
.ag-footer__menu a:hover { color: #fff; }
.ag-footer__contact { display: flex; flex-direction: column; gap: 7px; }
.ag-footer__phone { display: flex; align-items: center; gap: 9px; font-size: 20px; font-weight: 600; letter-spacing: -.02em; color: #fff; text-decoration: none; }
.ag-footer__phone .ag-icon { color: var(--ag-green-500); }
.ag-footer__phone:hover { color: var(--ag-green-mint); }
.ag-footer__note { font-size: 14.5px; }
.ag-footer__note a { color: var(--ag-green-mint); text-decoration: none; }
.ag-footer__mail, .ag-footer__where { display: flex; align-items: center; gap: 9px; font-size: 15px; color: var(--ag-navy-fade); text-decoration: none; }
.ag-footer__mail .ag-icon, .ag-footer__where .ag-icon { color: #5E7A97; }
.ag-footer__mail:hover { color: #fff; }
.ag-footer__legal { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; padding: 18px var(--ag-gutter); background: #0B1B2B; }
.ag-footer__legal p { margin: 0; font-size: 14px; color: #7E8FA1; }
.ag-footer__legalmenu { display: flex; flex-wrap: wrap; gap: 20px; margin: 0; padding: 0; list-style: none; }
.ag-footer__legalmenu a { font-size: 14px; color: #7E8FA1; text-decoration: none; }
.ag-footer__legalmenu a:hover { color: #fff; }

/* ---- Pasek dolny (telefony) ---- */
.ag-bottombar { display: none; }
@media (max-width: 980px) {
  .ag-bottombar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 85;
    display: flex; align-items: stretch; justify-content: space-between; gap: 10px;
    padding: 8px var(--ag-gutter) calc(8px + env(safe-area-inset-bottom));
    background: #fff; border-top: 1px solid var(--ag-line);
    box-shadow: 0 -8px 24px -16px rgba(15,36,56,.4);
  }
  .ag-bottombar .ag-btn { flex: 1 1 0; min-width: 0; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; border-radius: 24px; font-size: 15px; font-weight: 600; text-decoration: none; }
  body { padding-bottom: 74px; }
  body.ag-drawer-open .ag-bottombar { display: none; }
}
.ag-bottombar__item { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; flex: 1; min-width: 56px; min-height: 52px; padding: 4px 6px; background: transparent; border: 0; cursor: pointer; font-family: var(--ag-font); font-size: 11px; font-weight: 500; color: var(--ag-ink); text-decoration: none; }
.ag-bottombar__item--accent { background: var(--ag-green-500); border-radius: var(--ag-radius); color: #fff; }
.ag-bottombar__badge { position: absolute; top: 0; right: 12px; display: flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px; background: var(--ag-green-500); border-radius: 9px; font-size: 11px; font-weight: 700; color: #fff; }
.ag-bottombar__badge.is-empty { display: none; }

/* ---- Kolory ikon (ikony sa w currentColor - steruje CSS, nie PHP) ---- */
.ag-topbar__strong .ag-icon, .ag-topbar__shop .ag-icon { color: var(--ag-green-mint); }
.ag-search > .ag-icon { color: var(--ag-muted-cool); }
.ag-phone__ring { color: var(--ag-green-600); }
.ag-iconbtn, .ag-cart { color: var(--ag-ink); }
.ag-nav__pill .ag-icon--grid { color: var(--ag-green-500); }
.ag-footer__address .ag-icon { color: var(--ag-green-mint); }
.ag-bottombar__item { color: var(--ag-ink); }
.ag-bottombar__item--accent { color: #fff; }
.ag-bottombar .ag-btn--navy .ag-icon { color: var(--ag-green-mint); }

/* Logo z Kastomizatora wstawione do stopki recznie: odwrocenie na jasne */
.ag-footer__logo--invert { filter: brightness(0) invert(1); }
