:root {
    /* Paleta wskazana przez użytkownika: jasny beż + przygaszony róż, z ciemną zielenią dla kontrastu. */
    --dusty-rose: #bb7a97;
    --dusty-rose-deep: #9f607d;
    --sage: #304a3c;
    --sage-deep: #20352a;
    --sage-soft: #73877a;
    --beige: #ede2db;
    --brown: #6f515b;
    --off-white: #f8f1ec;
    --accent: #304a3c;
    --bg: #ede2db;
    --panel: #bb7a97;
    --panel-soft: #c991aa;
    --line: rgba(48, 74, 60, 0.20);
    --line-strong: rgba(48, 74, 60, 0.42);
    --muted: rgba(48, 74, 60, 0.72);
    --header-height: 106px;
    --content: 1400px;
    --gutter: clamp(20px, 3vw, 48px);
}
* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    background: var(--bg);
}

body {
    margin: 0;
    overflow-x: hidden;
    background: var(--bg);
    color: var(--sage);
    font-family: "Space Mono", monospace;
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.menu-is-open {
    overflow: hidden;
}

body.admin-bar .site-header {
    top: 32px;
}

@media (max-width: 782px) {
    body.admin-bar .site-header {
        top: 46px;
    }
}

::selection {
    background: var(--sage);
    color: var(--off-white);
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

a,
button,
input,
select,
textarea {
    cursor: pointer;
}

input,
select,
textarea {
    cursor: text;
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    color: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin-top: 0;
}

#grain {
    position: fixed;
    inset: 0;
    z-index: 9998;
    width: 128px;
    height: 128px;
    opacity: 0;
    pointer-events: none;
}

.site {
    min-height: 100vh;
}

/*
 * Jeden wspólny kontener dla strony głównej, archiwów i WooCommerce.
 * Wartość --content określa szerokość realnej treści, a gutter jest dodawany
 * jako wewnętrzny margines. Dzięki temu wszystkie widoki korzystają z tej
 * samej osi i nie rozjeżdżają się przy szerokich ekranach.
 */
.content-shell {
    width: 100%;
    max-width: calc(var(--content) + (var(--gutter) * 2));
    margin-inline: auto;
    padding-inline: var(--gutter);
}

.meta-label {
    color: var(--accent);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.3em;
    text-transform: uppercase;
}

.display-text {
    color: var(--beige);
    font-family: "Archivo", sans-serif;
    font-size: clamp(42px, 5vw, 76px);
    font-style: italic;
    font-weight: 800;
    line-height: 0.95;
    letter-spacing: -0.045em;
    text-align: right;
}

/* Header and menu */
.site-header {
    position: fixed;
    z-index: 500;
    top: 0;
    left: 0;
    width: 100%;
    padding: 29px var(--gutter);
    transition: padding 240ms ease, background-color 240ms ease, border-color 240ms ease;
    pointer-events: none;
}

.site-header.is-scrolled,
body:not(.home) .site-header {
    padding-top: 21px;
    padding-bottom: 21px;
    border-bottom: 1px solid rgba(237, 226, 219, 0.18);
    background: rgba(32, 53, 42, 0.92);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

.site-header__bar {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    pointer-events: auto;
}

.site-brand {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    min-width: 0;
    color: var(--off-white);
}

.site-brand .custom-logo-link {
    display: block;
}

.site-brand .custom-logo {
    width: auto;
    max-width: min(230px, 46vw);
    max-height: 54px;
}

.site-brand__mark {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
}

.site-brand__mark img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.site-brand__text {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.17em;
}

.desktop-nav {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: calc(100% - 350px);
    transform: translate(-50%, -50%);
}

.desktop-nav__list {
    display: flex;
    gap: clamp(15px, 1.7vw, 30px);
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.desktop-nav__list > li {
    margin: 0;
    padding: 0;
}

.desktop-nav__list > li > a {
    position: relative;
    display: block;
    padding: 11px 0;
    color: rgba(247, 242, 237, 0.84);
    font-family: "Space Mono", monospace;
    font-size: clamp(8px, 0.68vw, 10px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    white-space: nowrap;
    transition: color 180ms ease;
}

.desktop-nav__list > li > a::after {
    position: absolute;
    right: 0;
    bottom: 3px;
    left: 0;
    height: 1px;
    background: var(--accent);
    content: "";
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 180ms ease;
}

.desktop-nav__list > li > a:hover,
.desktop-nav__list > .current-menu-item > a,
.desktop-nav__list > .current_page_item > a {
    color: var(--off-white);
}

.desktop-nav__list > li > a:hover::after,
.desktop-nav__list > .current-menu-item > a::after,
.desktop-nav__list > .current_page_item > a::after {
    transform: scaleX(1);
    transform-origin: left center;
}

.desktop-nav .site-menu__index {
    display: none;
}

.menu-toggle {
    display: none;
    gap: 18px;
    align-items: center;
    padding: 10px 0 10px 16px;
    border: 0;
    background: transparent;
    text-transform: uppercase;
}

.menu-toggle__label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.28em;
}

.menu-toggle__icon {
    position: relative;
    display: block;
    width: 28px;
    height: 18px;
}

.menu-toggle__icon i {
    position: absolute;
    right: 0;
    display: block;
    width: 28px;
    height: 1px;
    background: currentColor;
    transition: top 240ms ease, transform 240ms ease, width 240ms ease;
}

.menu-toggle__icon i:first-child {
    top: 4px;
}

.menu-toggle__icon i:last-child {
    top: 13px;
    width: 18px;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__icon i:first-child {
    top: 9px;
    transform: rotate(45deg);
}

.menu-toggle[aria-expanded="true"] .menu-toggle__icon i:last-child {
    top: 9px;
    width: 28px;
    transform: rotate(-45deg);
}

.site-menu {
    position: fixed;
    z-index: 450;
    inset: 0;
    overflow-y: auto;
    visibility: hidden;
    background: rgba(187, 122, 151, 0.992);
    opacity: 0;
    transform: translateY(-18px);
    transition: opacity 280ms ease, transform 280ms ease, visibility 280ms step-end;
}

.site-menu.is-open {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    transition: opacity 280ms ease, transform 280ms ease, visibility 0s step-start;
}

.site-menu__inner {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    justify-content: center;
    width: min(calc(100% - (var(--gutter) * 2)), 1180px);
    margin: 0 auto;
    padding: 140px 0 50px;
}

.site-menu__eyebrow {
    margin-bottom: 24px;
}

.site-menu__list,
.site-menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-menu__list > li,
.site-menu .menu > li {
    border-top: 1px solid var(--line);
}

.site-menu__list > li:last-child,
.site-menu .menu > li:last-child {
    border-bottom: 1px solid var(--line);
}

.site-menu__list > li > a,
.site-menu .menu > li > a {
    display: grid;
    grid-template-columns: 48px 1fr;
    align-items: center;
    padding: clamp(14px, 2.1vh, 24px) 0;
    color: var(--beige);
    font-family: "Archivo", sans-serif;
    font-size: clamp(24px, 3vw, 42px);
    font-style: italic;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.035em;
    transition: color 180ms ease, padding-left 180ms ease;
}

.site-menu__list > li > a:hover,
.site-menu .menu > li > a:hover,
.site-menu .current-menu-item > a {
    padding-left: 16px;
    color: var(--off-white);
}

.site-menu__index {
    color: var(--accent);
    font-family: "Space Mono", monospace;
    font-size: 9px;
    font-style: normal;
    letter-spacing: 0.15em;
}

.site-menu__footer {
    display: flex;
    gap: 32px;
    align-items: flex-end;
    justify-content: space-between;
    margin-top: 40px;
    font-size: 11px;
}

.site-menu__footer > div {
    display: grid;
    gap: 8px;
}

.site-menu__socials {
    justify-items: end;
}

.site-menu__footer a {
    transition: color 180ms ease;
}

.site-menu__footer a:hover {
    color: var(--accent);
}

/* Hero */
.hero,
.page-hero,
.post-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-color: var(--bg);
    background-image: var(--hero-image);
    background-position: center;
    background-size: cover;
}

.hero--home {
    display: flex;
    min-height: 100svh;
    align-items: center;
    justify-content: center;
    padding: calc(var(--header-height) + 30px) var(--gutter) 70px;
}

.hero-slider {
    position: absolute;
    z-index: -2;
    inset: 0;
    overflow: hidden;
    background: var(--bg);
}

.hero-slide {
    position: absolute;
    inset: -2%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0;
    transform: scale(1.055);
    transition: opacity 1200ms ease-in-out, transform 6500ms ease-out;
    will-change: opacity, transform;
}

.hero-slide.is-active {
    opacity: 1;
    transform: scale(1);
}

.hero__shade {
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(32, 53, 42, 0.18) 0%, rgba(32, 53, 42, 0.54) 58%, rgba(32, 53, 42, 0.92) 100%),
        linear-gradient(90deg, rgba(32, 53, 42, 0.34), transparent 44%, rgba(32, 53, 42, 0.22));
}

.hero__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.hero__eyebrow {
    margin-bottom: 24px;
}

.hero-title {
    display: flex;
    flex-direction: column;
    margin: 0;
    color: var(--off-white);
    font-family: "Archivo", sans-serif;
    font-size: clamp(66px, 13.4vw, 220px);
    font-style: italic;
    font-weight: 900;
    line-height: 0.76;
    letter-spacing: -0.065em;
    text-align: center;
    text-transform: lowercase;
    mix-blend-mode: normal;
    opacity: 0.78;
    text-shadow: 0 8px 40px rgba(20, 34, 27, 0.28);
    will-change: transform, opacity;
}

.hero-title span:last-child {
    margin-left: 0.24em;
}

.hero-sub {
    margin-top: 32px;
    font-size: clamp(9px, 1vw, 12px);
    letter-spacing: clamp(0.2em, 0.5vw, 0.5em);
    text-transform: uppercase;
}

.hero__scroll {
    position: absolute;
    bottom: 34px;
    left: var(--gutter);
    color: var(--muted);
    font-size: 9px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.hero__scroll::before {
    display: block;
    width: 1px;
    height: 50px;
    margin: 0 auto 14px;
    background: var(--accent);
    content: "";
}

.page-hero {
    display: flex;
    min-height: min(76vh, 780px);
    align-items: flex-end;
    padding: calc(var(--header-height) + 90px) 0 72px;
}

.page-hero .hero__shade,
.post-hero .hero__shade {
    background: linear-gradient(180deg, rgba(32, 53, 42, 0.16), rgba(32, 53, 42, 0.72) 72%, rgba(32, 53, 42, 0.94));
}

.page-hero__content {
    position: relative;
    z-index: 1;
}

.page-hero__content h1,
.post-hero__content h1 {
    max-width: 1200px;
    margin: 18px 0 0;
    color: var(--off-white);
    font-family: "Archivo", sans-serif;
    font-size: clamp(64px, 11vw, 180px);
    font-style: italic;
    font-weight: 900;
    line-height: 0.83;
    letter-spacing: -0.06em;
    overflow-wrap: anywhere;
    text-transform: none;
}

.archive-description {
    max-width: 760px;
    margin-top: 24px;
    color: var(--beige);
}

/* Sections */
.section {
    position: relative;
    padding-top: clamp(88px, 10vw, 150px);
    padding-bottom: clamp(88px, 10vw, 150px);
}

.section-band {
    width: 100%;
    background: var(--panel);
}

.section-header {
    display: flex;
    gap: 30px;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: clamp(52px, 6vw, 86px);
    padding-bottom: 22px;
    border-bottom: 1px solid var(--line);
}

.split-content {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
    gap: clamp(50px, 8vw, 130px);
    align-items: center;
}

.split-image-frame {
    position: relative;
    padding: 11px;
    border: 1px solid var(--beige);
}

.split-image {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    filter: grayscale(0.35) contrast(1.08) brightness(0.8);
}

.image-index {
    position: absolute;
    left: calc(100% + 12px);
    right: auto;
    bottom: -10px;
    padding: 8px 12px;
    background: var(--sage);
    color: var(--beige);
    font-size: 9px;
    line-height: 1;
    letter-spacing: 0.2em;
    white-space: nowrap;
    transform: rotate(-90deg);
    transform-origin: bottom left;
}

.split-text {
    padding-top: clamp(0px, 7vw, 90px);
}

.split-text p,
.instagram-intro p {
    max-width: 720px;
    margin-bottom: 42px;
    color: var(--beige);
    font-size: clamp(17px, 1.45vw, 22px);
    line-height: 1.65;
}

.cta-btn {
    display: inline-flex;
    gap: 28px;
    align-items: center;
    justify-content: space-between;
    min-width: 220px;
    padding: 16px 22px;
    border: 1px solid rgba(227, 212, 199, 0.78);
    background: transparent;
    color: var(--off-white);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease;
}

.cta-btn:hover,
.cta-btn:focus-visible {
    border-color: var(--sage);
    background: var(--sage);
    color: var(--off-white);
}

.program-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 20px;
}

.offer-card {
    position: relative;
    grid-column: span 4;
    min-width: 0;
    padding: 26px 26px 24px;
    border: 1px solid rgba(247, 242, 237, 0.12);
    background: rgba(255, 255, 255, 0.025);
    transition: transform 300ms ease, border-color 300ms ease, background-color 300ms ease;
}

.offer-card:hover {
    border-color: var(--accent);
    background: rgba(48, 74, 60, 0.18);
    transform: translateY(-7px);
}

.offer-card__media {
    position: relative;
    overflow: hidden;
    margin-bottom: 26px;
}

.card-img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    filter: grayscale(0.5) contrast(1.1) brightness(0.78);
    transition: filter 400ms ease, transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.offer-card:hover .card-img {
    filter: grayscale(0.2) contrast(1.06) brightness(0.9);
    transform: scale(1.025);
}

.offer-card__number {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    background: var(--sage);
    color: var(--beige);
    font-size: 9px;
}

.card-title {
    min-height: 2.1em;
    margin: 0 0 46px;
    color: var(--off-white);
    font-family: "Archivo", sans-serif;
    font-size: clamp(24px, 2.2vw, 35px);
    font-style: italic;
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -0.035em;
}

.card-meta {
    display: flex;
    gap: 16px;
    justify-content: space-between;
    color: var(--muted);
    font-size: 8px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

/* Instagram */
.instagram-section {
    padding-top: clamp(88px, 10vw, 150px);
    padding-bottom: clamp(88px, 10vw, 150px);
}

.instagram-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 60px;
    align-items: end;
    margin-bottom: 56px;
}

.instagram-intro p {
    margin-bottom: 0;
}

.instagram-feed-shell {
    min-height: 200px;
}

.instagram-placeholder {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.instagram-placeholder__item {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    border: 1px solid var(--line);
}

.instagram-placeholder__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(0.45) brightness(0.75);
    transition: transform 500ms ease, filter 300ms ease;
}

.instagram-placeholder__item:hover img {
    filter: grayscale(0.1) brightness(0.9);
    transform: scale(1.03);
}

.instagram-placeholder__item > span:not(.meta-label) {
    position: absolute;
    right: 14px;
    bottom: 12px;
    left: 14px;
    color: var(--off-white);
    font-size: 8px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.instagram-placeholder__item--text {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 26px;
    background: var(--panel-soft);
}

.instagram-placeholder__item--text strong {
    font-family: "Archivo", sans-serif;
    font-size: clamp(22px, 2vw, 32px);
    font-style: italic;
    line-height: 1.05;
}

/* Generic content */
.page-content,
.posts-section,
.contact-layout,
.about-layout,
.single-post__layout {
    padding-top: clamp(76px, 9vw, 130px);
    padding-bottom: clamp(76px, 9vw, 130px);
}

.prose {
    color: var(--beige);
    font-size: clamp(16px, 1.2vw, 19px);
    line-height: 1.8;
}

.prose > * {
    max-width: 900px;
}

.prose > *.alignwide {
    max-width: 1200px;
}

.prose > *.alignfull {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
}

.prose h2,
.prose h3,
.prose h4 {
    margin-top: 2.2em;
    margin-bottom: 0.75em;
    color: var(--off-white);
    font-family: "Archivo", sans-serif;
    font-style: italic;
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.03em;
}

.prose h2 {
    font-size: clamp(36px, 4vw, 64px);
}

.prose h3 {
    font-size: clamp(27px, 2.8vw, 42px);
}

.prose p,
.prose ul,
.prose ol,
.prose blockquote,
.prose figure,
.prose table {
    margin-bottom: 1.6em;
}

.prose a {
    border-bottom: 1px solid var(--accent);
    color: var(--off-white);
}

.prose blockquote {
    margin-left: 0;
    padding: 10px 0 10px 28px;
    border-left: 2px solid var(--accent);
    color: var(--off-white);
    font-family: "Archivo", sans-serif;
    font-size: clamp(24px, 2.7vw, 40px);
    font-style: italic;
    line-height: 1.2;
}

.prose img {
    border: 1px solid rgba(247, 242, 237, 0.22);
}

.prose table {
    width: 100%;
    border-collapse: collapse;
}

.prose th,
.prose td {
    padding: 14px 16px;
    border: 1px solid var(--line);
    text-align: left;
}

/* About */
.about-layout {
    display: grid;
    grid-template-columns: minmax(250px, 0.65fr) minmax(0, 1.35fr);
    gap: clamp(60px, 10vw, 150px);
    align-items: start;
}

.about-layout__aside {
    position: sticky;
    top: 130px;
}

.about-layout__aside .display-text {
    margin-top: 20px;
    text-align: left;
}

.about-layout__content > :first-child {
    margin-top: 0;
}

.values-section {
    padding: clamp(88px, 10vw, 150px) 0;
}

.value-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
}

.value-grid article {
    min-height: 330px;
    padding: 32px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.value-grid article > span {
    color: var(--accent);
    font-size: 9px;
}

.value-grid h2 {
    margin: 90px 0 18px;
    font-family: "Archivo", sans-serif;
    font-size: clamp(29px, 3vw, 48px);
    font-style: italic;
    line-height: 1;
}

.value-grid p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
}

/* Contact */
.contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: clamp(60px, 10vw, 150px);
}

.contact-layout__intro .display-text {
    margin-bottom: 36px;
    text-align: left;
}

.contact-direct {
    display: grid;
    gap: 14px;
    margin-top: 42px;
    padding-top: 28px;
    border-top: 1px solid var(--line);
    font-size: 12px;
}

.contact-direct a:hover {
    color: var(--accent);
}

.contact-form {
    display: grid;
    gap: 28px;
}

.contact-form label:not(.contact-form__consent) {
    display: grid;
    gap: 10px;
}

.contact-form label > span:first-child {
    color: var(--accent);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form select,
.contact-form textarea,
.search-form input[type="search"] {
    width: 100%;
    padding: 16px 0;
    border: 0;
    border-bottom: 1px solid var(--line-strong);
    border-radius: 0;
    outline: 0;
    background: transparent;
    color: var(--off-white);
    transition: border-color 180ms ease;
}

.contact-form select option {
    background: var(--bg);
    color: var(--off-white);
}

.contact-form textarea {
    min-height: 170px;
    resize: vertical;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus,
.search-form input[type="search"]:focus {
    border-color: var(--off-white);
}

.contact-form__consent {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 14px;
    align-items: start;
    color: var(--muted);
    font-size: 11px;
}

.contact-form__consent input {
    width: 16px;
    height: 16px;
    margin: 3px 0 0;
    accent-color: var(--accent);
}

.contact-form .cta-btn {
    justify-self: start;
}

.form-notice {
    margin-bottom: 30px;
    padding: 16px 18px;
    border: 1px solid var(--line);
    font-size: 12px;
}

.form-notice--success {
    border-color: var(--sage);
}

.form-notice--error {
    border-color: #9c5b53;
}

/* Blog */
.section-header--posts {
    margin-bottom: 62px;
}

.posts-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.post-card {
    min-width: 0;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.018);
}

.post-card__media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: var(--panel-soft);
}

.post-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(0.45) brightness(0.78);
    transition: transform 500ms ease, filter 300ms ease;
}

.post-card:hover .post-card__media img {
    filter: grayscale(0.2) brightness(0.9);
    transform: scale(1.025);
}

.post-card__placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: rgba(247, 242, 237, 0.12);
    font-family: "Archivo", sans-serif;
    font-size: clamp(64px, 8vw, 130px);
    font-style: italic;
    font-weight: 900;
}

.post-card__date {
    position: absolute;
    top: 14px;
    right: 14px;
    padding: 8px 10px;
    background: var(--sage);
    color: var(--beige);
    font-size: 8px;
}

.post-card__body {
    padding: 26px;
}

.post-card__body .meta-label a {
    color: inherit;
}

.post-card__title {
    margin: 17px 0;
    font-family: "Archivo", sans-serif;
    font-size: clamp(25px, 2.2vw, 36px);
    font-style: italic;
    line-height: 1.05;
    letter-spacing: -0.035em;
}

.post-card__excerpt {
    color: var(--muted);
    font-size: 13px;
}

.post-card__excerpt p {
    margin-bottom: 22px;
}

.text-link {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    color: var(--off-white);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.text-link:hover {
    color: var(--accent);
}

.pagination {
    margin-top: 60px;
}

.pagination .page-numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pagination .page-numbers li > * {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid var(--line);
    font-size: 10px;
}

.pagination .page-numbers li > .current,
.pagination .page-numbers li > a:hover {
    border-color: var(--sage);
    background: var(--sage);
    color: var(--off-white);
}

.empty-state {
    padding: 80px 0;
    text-align: center;
}

.empty-state .display-text {
    margin-bottom: 30px;
    text-align: center;
}

/* Single post */
.post-hero {
    display: flex;
    min-height: min(88vh, 940px);
    align-items: flex-end;
    padding: calc(var(--header-height) + 100px) 0 74px;
}

.post-hero__content {
    position: relative;
    z-index: 1;
}

.post-hero__content h1 {
    max-width: 1260px;
    font-size: clamp(54px, 8.8vw, 145px);
}

.post-hero__meta {
    display: flex;
    gap: 26px;
    align-items: center;
    color: var(--accent);
    font-size: 9px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.post-hero__meta a {
    color: inherit;
}

.post-hero__excerpt {
    max-width: 740px;
    margin: 32px 0 0;
    color: var(--beige);
    font-size: clamp(16px, 1.5vw, 22px);
}

.single-post__layout {
    display: grid;
    grid-template-columns: minmax(180px, 0.38fr) minmax(0, 1.2fr);
    gap: clamp(50px, 8vw, 120px);
    align-items: start;
}

.single-post__aside {
    position: sticky;
    top: 130px;
    display: grid;
    gap: 22px;
}

.single-post__reading {
    color: var(--beige);
    font-size: 12px;
}

.single-post__content > :first-child {
    margin-top: 0;
}

.post-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 60px;
    padding-top: 24px;
    border-top: 1px solid var(--line);
    font-size: 10px;
}

.post-tags a {
    padding: 7px 10px;
    border: 1px solid var(--line);
}

.related-posts {
    padding: clamp(88px, 10vw, 150px) 0;
}

/* Footer */
.site-footer {
    padding: clamp(90px, 11vw, 170px) 0 34px;
    text-align: center;
}

.footer-cta__title {
    display: block;
    margin: clamp(28px, 4vw, 55px) auto;
    color: var(--off-white);
    font-family: "Archivo", sans-serif;
    font-size: clamp(62px, 10vw, 165px);
    font-style: italic;
    font-weight: 900;
    line-height: 0.86;
    letter-spacing: -0.06em;
    text-transform: lowercase;
    transition: color 220ms ease;
}

.footer-cta__title:hover {
    color: var(--beige);
}

.social-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 30px;
    align-items: center;
    justify-content: center;
    margin-top: 42px;
}

.social-contact a {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    color: var(--accent);
    font-size: 9px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    transition: color 180ms ease;
}

.social-contact a:hover {
    color: var(--off-white);
}

.social-contact__icon {
    display: inline-grid;
    width: 19px;
    height: 19px;
    place-items: center;
}

.social-contact svg {
    width: 100%;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.6;
}

.social-contact svg .fill-dot {
    fill: currentColor;
    stroke: none;
}

.social-contact a:nth-child(2) svg {
    fill: currentColor;
    stroke: none;
}

.decorative-line {
    width: 100%;
    height: 1px;
    margin-top: clamp(70px, 8vw, 110px);
    background: linear-gradient(90deg, transparent, var(--accent), transparent);
    opacity: 0.34;
}

.site-footer__bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 20px;
    align-items: center;
    margin-top: 28px;
    color: rgba(247, 242, 237, 0.42);
    font-size: 8px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.site-footer__copyright {
    justify-self: start;
    text-align: left;
}

.site-footer__credit {
    justify-self: center;
    text-align: center;
}

.site-footer__motto {
    justify-self: end;
    text-align: right;
}

.site-footer__credit a {
    color: inherit;
    text-decoration: none;
    transition: color 180ms ease;
}

.site-footer__credit a:hover,
.site-footer__credit a:focus-visible {
    color: var(--dusty-rose);
}

/* Error */
.error-page {
    display: flex;
    min-height: 84vh;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding-top: 150px;
    padding-bottom: 100px;
}

.error-page h1 {
    max-width: 1100px;
    margin: 24px 0;
    font-family: "Archivo", sans-serif;
    font-size: clamp(64px, 12vw, 190px);
    font-style: italic;
    line-height: 0.82;
    letter-spacing: -0.06em;
}

.error-page p {
    margin-bottom: 36px;
    color: var(--beige);
}

/* WooCommerce */
.shop-shell {
    width: 100%;
    padding: clamp(68px, 6vw, 96px) 0 clamp(96px, 9vw, 140px);
}

/*
 * The catalogue and every WooCommerce endpoint use exactly the same horizontal
 * axis as the large H1 in the page hero and the sections on the home page.
 */
.woocommerce-content-shell {
    width: 100%;
    max-width: calc(var(--content) + (var(--gutter) * 2));
    margin-inline: auto;
    padding-inline: var(--gutter);
}

.woocommerce-content-shell > .woocommerce,
.woocommerce-content-shell > .woocommerce-notices-wrapper,
.woocommerce-content-shell > div.product {
    width: 100%;
}

/* A product has its own title, gallery and summary, so it starts directly below
 * the fixed header instead of repeating the photographic shop hero. */
.shop-shell--single-product {
    min-height: 70vh;
    padding-top: calc(var(--header-height) + clamp(54px, 6vw, 92px));
}

.shop-shell--single-product .woocommerce-breadcrumb {
    margin-bottom: clamp(30px, 4vw, 54px);
}

.shop-shell--single-product div.product {
    width: 100%;
    margin-inline: auto;
}

.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.woocommerce .product_meta,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price {
    color: var(--accent);
    font-size: 11px;
}

.woocommerce .woocommerce-breadcrumb a {
    color: var(--beige);
}

.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    float: none;
    width: auto;
    margin: 0;
    padding: 22px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.02);
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
    border-color: var(--accent);
    background: rgba(48, 74, 60, 0.12);
}

.woocommerce ul.products li.product a img {
    aspect-ratio: 1 / 1.2;
    object-fit: cover;
    filter: grayscale(0.35) brightness(0.85);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title,
.woocommerce h2,
.woocommerce h3 {
    color: var(--off-white);
    font-family: "Archivo", sans-serif;
    font-style: italic;
    font-weight: 800;
    line-height: 1.05;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: clamp(22px, 2vw, 32px);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    padding: 14px 18px;
    border: 1px solid var(--off-white);
    border-radius: 0;
    background: transparent;
    color: var(--off-white);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
    border-color: var(--sage);
    background: var(--sage);
    color: var(--off-white);
}

.woocommerce div.product {
    color: var(--beige);
}

.woocommerce div.product div.images img {
    border: 1px solid var(--line);
}

.woocommerce div.product form.cart .variations select,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select {
    min-height: 44px;
    border: 1px solid var(--line-strong);
    border-radius: 0;
    background: var(--panel);
    color: var(--off-white);
}

.woocommerce table.shop_table {
    border-color: var(--line);
    border-radius: 0;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    border-color: var(--line);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-top-color: var(--accent);
    background: var(--panel);
    color: var(--off-white);
}

.woocommerce-message::before,
.woocommerce-info::before {
    color: var(--accent);
}

/* Accessibility */
.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}

.screen-reader-text:focus {
    z-index: 100000;
    top: 10px;
    left: 10px;
    width: auto;
    height: auto;
    padding: 15px 20px;
    clip: auto;
    background: var(--off-white);
    color: var(--bg);
}

:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 4px;
}

/* Motion reveal */
.js [data-reveal] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 700ms ease, transform 700ms ease;
}

.js [data-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .hero-slide {
        transition: none;
        transform: none;
    }
}

@media (min-width: 1101px) {
    .site-menu {
        display: none !important;
    }
}


/* Contrast layer for the beige grain and pink offer band. */
.meta-label {
    color: rgba(48, 74, 60, 0.82);
}

.display-text {
    color: rgba(48, 74, 60, 0.68);
}

.section-header {
    border-bottom-color: rgba(48, 74, 60, 0.24);
}

.hero--home .hero__eyebrow {
    color: #e4b9cc;
}

.hero--home .hero-sub,
.hero--home .hero__scroll {
    color: rgba(237, 226, 219, 0.90);
}

.hero--home .hero__scroll::before {
    background: rgba(237, 226, 219, 0.76);
}

.section--method .split-image-frame {
    border-color: rgba(48, 74, 60, 0.62);
}

.section--method .split-text p,
.instagram-intro p,
.prose,
.value-grid p,
.post-card__excerpt,
.single-post__reading,
.error-page p,
.woocommerce div.product {
    color: var(--sage);
}

.section--method .display-text,
.instagram-section .display-text,
.about-layout__aside .display-text,
.contact-layout__intro .display-text,
.empty-state .display-text {
    color: rgba(48, 74, 60, 0.66);
}

.cta-btn {
    border-color: rgba(48, 74, 60, 0.66);
    color: var(--sage);
}

.cta-btn:hover,
.cta-btn:focus-visible {
    border-color: var(--sage);
    background: var(--sage);
    color: var(--beige);
}

.prose h2,
.prose h3,
.prose h4,
.prose a,
.prose blockquote,
.post-card__title,
.text-link,
.footer-cta__title,
.error-page h1,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title,
.woocommerce h2,
.woocommerce h3 {
    color: var(--sage);
}

.prose a {
    border-bottom-color: var(--dusty-rose-deep);
}

.prose blockquote {
    border-left-color: var(--dusty-rose);
}

.prose img {
    border-color: rgba(48, 74, 60, 0.24);
}

.contact-direct,
.post-card,
.pagination .page-numbers li > *,
.post-tags,
.post-tags a,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce table.shop_table,
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    border-color: rgba(48, 74, 60, 0.22);
}

.contact-form label > span:first-child,
.contact-direct a:hover,
.post-card__body .meta-label,
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.woocommerce .product_meta,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price {
    color: var(--dusty-rose-deep);
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form select,
.contact-form textarea,
.search-form input[type="search"] {
    border-bottom-color: rgba(48, 74, 60, 0.40);
    color: var(--sage);
}

.contact-form input::placeholder,
.contact-form textarea::placeholder,
.search-form input[type="search"]::placeholder {
    color: rgba(48, 74, 60, 0.54);
}

.contact-form select option {
    background: var(--beige);
    color: var(--sage);
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus,
.search-form input[type="search"]:focus {
    border-color: var(--sage);
}

.contact-form__consent,
.site-footer__bottom {
    color: rgba(48, 74, 60, 0.64);
}

.post-card,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    background: rgba(255, 255, 255, 0.16);
}

.post-card:hover,
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
    border-color: var(--dusty-rose-deep);
    background: rgba(187, 122, 151, 0.12);
}

.post-card__placeholder {
    color: rgba(48, 74, 60, 0.14);
}

.text-link:hover,
.footer-cta__title:hover,
.social-contact a:hover {
    color: var(--dusty-rose-deep);
}

.social-contact a {
    color: var(--dusty-rose-deep);
}

.decorative-line {
    background: linear-gradient(90deg, transparent, rgba(48, 74, 60, 0.58), transparent);
}

.woocommerce .woocommerce-breadcrumb a {
    color: var(--sage);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    border-color: var(--sage);
    color: var(--sage);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
    border-color: var(--sage);
    background: var(--sage);
    color: var(--beige);
}

.woocommerce div.product form.cart .variations select,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select {
    border-color: rgba(48, 74, 60, 0.34);
    background: rgba(255, 255, 255, 0.20);
    color: var(--sage);
}

/* Pink background: all structural accents and copy use beige for clear contrast. */
.section-band {
    background: var(--dusty-rose);
    color: var(--beige);
}

.section-band .section-header {
    border-bottom-color: rgba(237, 226, 219, 0.38);
}

.section-band .meta-label,
.section-band .display-text,
.section-band .card-title {
    color: var(--beige);
}

.section-band .display-text {
    opacity: 0.88;
}

.section-band .card-meta {
    color: rgba(237, 226, 219, 0.80);
}

.section-band .offer-card {
    border-color: rgba(237, 226, 219, 0.24);
    background: rgba(237, 226, 219, 0.035);
}

.section-band .offer-card:hover {
    border-color: rgba(237, 226, 219, 0.82);
    background: rgba(48, 74, 60, 0.18);
}

.section-band .offer-card__number {
    background: var(--sage);
    color: var(--beige);
}

.section-band .meta-label,
.section-band .display-text,
.section-band .card-meta,
.section-band .card-title {
    text-shadow: 0 1px 0 rgba(48, 74, 60, 0.08);
}

/* Responsive */
@media (max-width: 1100px) {
    .desktop-nav {
        display: none;
    }

    .menu-toggle {
        display: inline-flex;
        color: var(--beige) !important;
    }

    .menu-toggle__label,
    .menu-toggle__icon,
    .menu-toggle__icon i {
        color: var(--beige) !important;
    }

    .site-menu {
        display: block;
    }

    .site-menu__inner {
        width: min(calc(100% - (var(--gutter) * 2)), 820px);
    }

    .site-menu__list > li > a,
    .site-menu .menu > li > a {
        font-size: clamp(27px, 4vw, 42px);
    }

    .offer-card {
        grid-column: span 6;
    }

    .offer-card:last-child {
        grid-column: 4 / span 6;
    }

    .instagram-placeholder {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .posts-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    :root {
        --header-height: 88px;
    }

    .split-content,
    .about-layout,
    .contact-layout,
    .single-post__layout {
        grid-template-columns: 1fr;
    }

    .split-image-frame {
        width: min(100%, 650px);
    }

    .split-text {
        padding-top: 0;
    }

    .about-layout__aside,
    .single-post__aside {
        position: static;
    }

    .about-layout__aside .display-text {
        max-width: 580px;
    }

    .value-grid {
        grid-template-columns: 1fr;
    }

    .value-grid article {
        min-height: 250px;
    }

    .value-grid h2 {
        margin-top: 55px;
    }

    .instagram-intro {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .post-hero {
        min-height: 78vh;
    }
}

@media (max-width: 700px) {
    :root {
        --gutter: 20px;
    }

    .site-header {
        padding-top: 18px;
        padding-bottom: 18px;
    }

    .site-brand {
        gap: 12px;
    }

    .site-brand__mark {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }

    .site-brand__text {
        font-size: 12px;
        letter-spacing: 0.17em;
    }

    .menu-toggle__label {
        display: none;
    }

    .site-menu__inner {
        justify-content: flex-start;
        padding-top: 115px;
    }

    .site-menu__list > li > a,
    .site-menu .menu > li > a {
        grid-template-columns: 35px 1fr;
        font-size: clamp(23px, 7.4vw, 34px);
        line-height: 0.98;
    }

    .site-menu__footer {
        flex-direction: column;
        align-items: flex-start;
    }

    .site-menu__socials {
        justify-items: start;
    }

    .hero--home {
        min-height: 90svh;
    }

    .hero-title {
        width: calc(100% - 12px);
        max-width: 100%;
        font-size: clamp(42px, 14.5vw, 76px);
        line-height: 0.82;
        letter-spacing: -0.055em;
    }

    .hero-title span {
        display: block;
        max-width: 100%;
        white-space: nowrap;
    }

    .hero-title span:last-child {
        margin-left: 0;
    }

    .hero-sub {
        max-width: 290px;
        line-height: 1.8;
    }

    .hero__scroll {
        display: none;
    }

    .page-hero {
        min-height: 64vh;
        padding-bottom: 48px;
    }

    .shop-shell--single-product {
        padding-top: calc(var(--header-height) + 42px);
    }

    .page-hero__content h1,
    .post-hero__content h1 {
        font-size: clamp(51px, 16vw, 92px);
    }

    .section-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .section-header .display-text {
        align-self: flex-end;
    }

    .program-grid {
        display: block;
    }

    .offer-card {
        display: block;
        margin-bottom: 18px;
    }

    .offer-card:last-child {
        margin-bottom: 0;
    }

    .instagram-placeholder,
    .posts-grid,
    .woocommerce ul.products {
        grid-template-columns: 1fr;
    }

    .instagram-placeholder__item--text {
        min-height: 300px;
    }

    .post-hero__meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .site-footer__bottom {
        display: flex;
        align-items: center;
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }

    .site-footer__copyright,
    .site-footer__credit,
    .site-footer__motto {
        justify-self: auto;
        text-align: center;
    }

    .site-footer__copyright { order: 1; }
    .site-footer__motto { order: 2; }
    .site-footer__credit { order: 3; }

    .social-contact {
        align-items: flex-start;
        flex-direction: column;
        width: max-content;
        max-width: 100%;
        margin-inline: auto;
    }
}

@media (max-width: 480px) {
    .offer-card,
    .post-card__body,
    .instagram-placeholder__item--text,
    .value-grid article {
        padding: 20px;
    }

    .card-meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    .footer-cta__title {
        font-size: clamp(54px, 18vw, 84px);
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}


/* ========================================================================== 
   Layout alignment — home, archives and WooCommerce share one horizontal axis
   ========================================================================== */
.page-hero__content.content-shell,
.post-hero__content.content-shell,
.section.content-shell,
.posts-section.content-shell,
.page-content.content-shell,
.about-layout.content-shell,
.contact-layout.content-shell,
.single-post__layout.content-shell,
.related-posts .content-shell,
.shop-shell .woocommerce-content-shell {
    width: 100%;
    max-width: calc(var(--content) + (var(--gutter) * 2));
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--gutter);
    padding-left: var(--gutter);
}

/* WooCommerce sometimes injects wrappers with their own width or floats. */
.shop-shell .woocommerce-content-shell > .woocommerce,
.shop-shell .woocommerce-content-shell > .woocommerce-notices-wrapper,
.shop-shell .woocommerce-content-shell > div.product,
.shop-shell .woocommerce-content-shell .woocommerce-notices-wrapper,
.shop-shell .woocommerce-content-shell .woocommerce {
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
}

.shop-shell .woocommerce::before,
.shop-shell .woocommerce::after,
.shop-shell .woocommerce-content-shell::before,
.shop-shell .woocommerce-content-shell::after {
    display: table;
    clear: both;
    content: "";
}

/* Catalogues, categories, tags and search results keep the same content edge. */
.shop-shell--catalog .woocommerce-products-header,
.shop-shell--catalog .woocommerce-notices-wrapper,
.shop-shell--catalog .woocommerce-result-count,
.shop-shell--catalog .woocommerce-ordering,
.shop-shell--catalog ul.products,
.shop-shell--catalog .woocommerce-pagination,
.posts-section .posts-grid,
.posts-section .pagination {
    max-width: 100%;
}

/* Product gallery and summary stay inside the common home-page container. */
.shop-shell--single-product div.product,
.shop-shell--single-product div.product .woocommerce-product-gallery,
.shop-shell--single-product div.product .summary,
.shop-shell--single-product .related.products,
.shop-shell--single-product .up-sells.products,
.shop-shell--single-product .woocommerce-tabs {
    box-sizing: border-box;
    max-width: 100%;
}

@media (max-width: 700px) {
    .page-hero__content.content-shell,
    .post-hero__content.content-shell,
    .section.content-shell,
    .posts-section.content-shell,
    .page-content.content-shell,
    .about-layout.content-shell,
    .contact-layout.content-shell,
    .single-post__layout.content-shell,
    .related-posts .content-shell,
    .shop-shell .woocommerce-content-shell {
        padding-right: var(--gutter);
        padding-left: var(--gutter);
    }
}


/* 1.0.20 — podstrona O mnie: wyraźny podział beżowego ziarna i różowego podejścia. */

/* Sekcja 03 ma dokładnie tę samą jasną, ziarnistą bazę co 01 // Filozofia ruchu. */
.about-story--grain {
    position: relative;
    background: transparent;
    color: var(--sage);
}

.about-story--grain .about-layout {
    background: transparent;
}

.about-story--grain .meta-label {
    color: rgba(48, 74, 60, 0.82);
}

.about-story--grain .display-text {
    color: rgba(48, 74, 60, 0.66);
    opacity: 1;
    text-shadow: none;
}

.about-story--grain .prose,
.about-story--grain .prose p,
.about-story--grain .prose h2,
.about-story--grain .prose h3,
.about-story--grain .prose h4,
.about-story--grain .prose a {
    color: var(--sage);
}

/* Sekcja 02 pozostaje różowa, ale nie zawiera żadnych zielonych akcentów. */
.values-section {
    background: var(--dusty-rose);
    color: var(--beige);
}

.values-section .section-header {
    border-bottom-color: rgba(237, 226, 219, 0.62);
}

.values-section .meta-label,
.values-section .display-text,
.values-section .value-grid article > span,
.values-section .value-grid h2,
.values-section .value-grid p {
    color: var(--beige);
    text-shadow: none;
}

.values-section .display-text {
    opacity: 0.94;
}

.values-section .value-grid {
    border-top-color: rgba(237, 226, 219, 0.66);
    border-left-color: rgba(237, 226, 219, 0.66);
}

.values-section .value-grid article {
    border-right-color: rgba(237, 226, 219, 0.66);
    border-bottom-color: rgba(237, 226, 219, 0.66);
}

.values-section .value-grid article > span {
    opacity: 0.78;
}

.values-section .value-grid p {
    opacity: 0.90;
}


/* 1.0.21 — dodatkowa sekcja Instagram na podstronie O mnie: różowe tło i beżowe akcenty. */
.about-instagram {
    background: var(--dusty-rose);
    color: var(--beige);
}

.about-instagram .section-header {
    border-bottom-color: rgba(237, 226, 219, 0.48);
}

.about-instagram .meta-label,
.about-instagram .display-text,
.about-instagram .instagram-intro p,
.about-instagram .instagram-placeholder__item--text strong,
.about-instagram .instagram-placeholder__item--text .meta-label {
    color: var(--beige);
}

.about-instagram .display-text {
    opacity: 0.92;
}

.about-instagram .instagram-intro {
    margin-bottom: 56px;
}

.about-instagram .cta-btn {
    border-color: rgba(237, 226, 219, 0.66);
    color: var(--beige);
    background: rgba(237, 226, 219, 0.04);
}

.about-instagram .cta-btn:hover {
    background: rgba(237, 226, 219, 0.10);
    border-color: rgba(237, 226, 219, 0.96);
}

.about-instagram .instagram-placeholder__item {
    border-color: rgba(237, 226, 219, 0.52);
    background: rgba(237, 226, 219, 0.03);
}

.about-instagram .instagram-placeholder__item > span:not(.meta-label) {
    color: var(--beige);
}

.about-instagram .instagram-placeholder__item--text {
    background: rgba(237, 226, 219, 0.10);
}

.about-instagram .instagram-placeholder__item--text strong {
    max-width: 12ch;
}


/* 1.0.22 — nagłówki głównych podstron bez numeracji i różowa etykieta bloga. */
.page-hero .meta-label--rose {
    color: var(--dusty-rose);
    text-shadow: 0 1px 12px rgba(32, 53, 42, 0.34);
}


/* 1.0.24 — różowe etykiety we wszystkich nagłówkach z zielonym gradientem. */
.page-hero .page-hero__content > .meta-label,
.post-hero .post-hero__meta {
    color: var(--dusty-rose);
    text-shadow: 0 1px 12px rgba(32, 53, 42, 0.34);
}

.post-hero .post-hero__meta a {
    color: inherit;
}


/* 1.0.25 — formularz kwalifikacyjny produktu Kalistenika online. */
.smokovska-training-product .summary form.cart {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.smokovska-training-card {
    clear: both;
    position: relative;
    margin: clamp(76px, 8vw, 118px) 0 clamp(66px, 7vw, 104px);
    padding: clamp(28px, 4vw, 58px);
    border: 1px solid rgba(237, 226, 219, 0.72);
    background: var(--dusty-rose);
    color: var(--beige);
}

.smokovska-training-card__header {
    display: grid;
    grid-template-columns: minmax(190px, 0.36fr) minmax(0, 1fr);
    gap: 20px clamp(36px, 6vw, 96px);
    padding-bottom: clamp(30px, 4vw, 54px);
    border-bottom: 1px solid rgba(237, 226, 219, 0.48);
}

.smokovska-training-card__header .meta-label {
    grid-row: 1 / span 2;
    color: var(--beige);
}

.smokovska-training-card__header h2 {
    max-width: 900px;
    margin: 0;
    color: var(--beige);
    font-family: "Archivo", sans-serif;
    font-size: clamp(42px, 5.2vw, 76px);
    font-style: italic;
    font-weight: 800;
    line-height: 0.96;
    letter-spacing: -0.045em;
}

.smokovska-training-card__header p {
    max-width: 820px;
    margin: 8px 0 0;
    color: rgba(237, 226, 219, 0.92);
}

.smokovska-training-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 24px;
    padding-top: clamp(34px, 5vw, 64px);
}

.smokovska-training-field,
.smokovska-training-consent {
    margin: 0;
}

.smokovska-training-field--wide {
    grid-column: 1 / -1;
}

.smokovska-training-field label,
.smokovska-training-schedule legend,
.smokovska-picker > label {
    display: block;
    margin-bottom: 10px;
    color: var(--beige);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.smokovska-training-card input[type="text"],
.smokovska-training-card input[type="email"],
.smokovska-training-card input[type="tel"],
.smokovska-training-card select,
.smokovska-training-card textarea {
    width: 100%;
    min-height: 54px;
    padding: 14px 16px;
    border: 1px solid rgba(237, 226, 219, 0.62);
    border-radius: 0;
    outline: 0;
    background: rgba(237, 226, 219, 0.96);
    color: var(--sage-deep);
    box-shadow: none;
}

.smokovska-training-card textarea {
    min-height: 132px;
    resize: vertical;
}

.smokovska-training-card input::placeholder,
.smokovska-training-card textarea::placeholder {
    color: rgba(48, 74, 60, 0.62);
}

.smokovska-training-card input:focus,
.smokovska-training-card select:focus,
.smokovska-training-card textarea:focus {
    border-color: var(--sage-deep);
    box-shadow: 0 0 0 2px rgba(48, 74, 60, 0.16);
}

.smokovska-training-schedule {
    min-width: 0;
    padding: 24px;
    border: 1px solid rgba(237, 226, 219, 0.54);
}

.smokovska-training-schedule legend {
    padding: 0 10px;
}

.smokovska-training-schedule__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.smokovska-picker {
    position: relative;
}

.smokovska-picker__control {
    position: relative;
}

.smokovska-picker__display {
    padding-right: 58px !important;
    cursor: pointer !important;
}

.smokovska-picker__toggle {
    position: absolute;
    top: 1px;
    right: 1px;
    display: grid;
    width: 52px;
    height: 52px;
    padding: 0;
    place-items: center;
    border: 0;
    border-left: 1px solid rgba(48, 74, 60, 0.22);
    background: transparent;
    color: var(--sage-deep);
}

.smokovska-picker__toggle svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
}

.smokovska-picker__popover {
    position: absolute;
    z-index: 80;
    top: calc(100% + 8px);
    right: 0;
    left: 0;
    padding: 18px;
    border: 1px solid var(--sage-deep);
    background: var(--beige);
    color: var(--sage-deep);
    box-shadow: 0 18px 40px rgba(32, 53, 42, 0.18);
}

.smokovska-date-picker__header {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 38px;
    gap: 10px;
    align-items: center;
    margin-bottom: 16px;
    text-align: center;
}

.smokovska-date-picker__header button,
.smokovska-date-picker__days button,
.smokovska-time-picker button {
    border: 1px solid rgba(48, 74, 60, 0.22);
    border-radius: 0;
    background: transparent;
    color: var(--sage-deep);
}

.smokovska-date-picker__header button {
    width: 38px;
    height: 38px;
}

.smokovska-date-picker__header button:disabled,
.smokovska-date-picker__days button:disabled {
    opacity: 0.28;
    cursor: not-allowed;
}

.smokovska-date-picker__weekdays,
.smokovska-date-picker__days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 5px;
}

.smokovska-date-picker__weekdays {
    margin-bottom: 6px;
    text-align: center;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
}

.smokovska-date-picker__days button,
.smokovska-date-picker__days .is-empty {
    min-height: 38px;
}

.smokovska-date-picker__days button:hover:not(:disabled),
.smokovska-date-picker__days button.is-selected,
.smokovska-time-picker button:hover,
.smokovska-time-picker button.is-selected {
    border-color: var(--sage-deep);
    background: var(--sage-deep);
    color: var(--beige);
}

.smokovska-date-picker__days button.is-today:not(.is-selected) {
    border-color: var(--dusty-rose-deep);
}

.smokovska-time-picker {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.smokovska-time-picker button {
    min-height: 42px;
}

.smokovska-training-consent label {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    color: rgba(237, 226, 219, 0.94);
    cursor: pointer;
}

.smokovska-training-consent input {
    width: 20px;
    height: 20px;
    margin: 0;
    accent-color: var(--sage-deep);
}

.smokovska-training-card .has-error input,
.smokovska-training-card .has-error select,
.smokovska-training-card .has-error textarea,
.smokovska-training-card .has-error .smokovska-picker__display,
.smokovska-training-card .has-error.smokovska-training-consent label {
    outline: 2px solid #7a213f;
    outline-offset: 2px;
}

.smokovska-training-card__actions {
    display: flex;
    gap: 24px;
    align-items: center;
    justify-content: space-between;
    margin-top: 36px;
    padding-top: 28px;
    border-top: 1px solid rgba(237, 226, 219, 0.44);
}

.smokovska-training-add-to-cart {
    min-width: min(100%, 330px);
    min-height: 56px;
    padding: 15px 24px;
    border: 1px solid var(--sage-deep);
    border-radius: 0;
    background: var(--sage-deep);
    color: var(--beige);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.smokovska-training-add-to-cart:hover:not(:disabled) {
    border-color: var(--beige);
    background: transparent;
}

.smokovska-training-add-to-cart:disabled {
    opacity: 0.48;
    cursor: not-allowed;
}

.smokovska-training-status,
.smokovska-training-noscript {
    margin: 0;
    color: rgba(237, 226, 219, 0.84);
    font-size: 11px;
}

/* Reviews and product tabs follow the same light, geometric visual system. */
.smokovska-training-product .woocommerce-tabs {
    padding-top: clamp(42px, 5vw, 70px);
    border-top: 1px solid var(--line-strong);
}

.smokovska-training-product .woocommerce-tabs ul.tabs {
    margin: 0 0 36px !important;
    padding: 0 !important;
    border: 0 !important;
}

.smokovska-training-product .woocommerce-tabs ul.tabs::before,
.smokovska-training-product .woocommerce-tabs ul.tabs li::before,
.smokovska-training-product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.smokovska-training-product .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--sage) !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.smokovska-training-product .woocommerce-tabs ul.tabs li a {
    padding: 13px 18px !important;
    color: var(--sage) !important;
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.smokovska-training-product .woocommerce-tabs ul.tabs li.active,
.smokovska-training-product .woocommerce-tabs ul.tabs li:hover {
    background: var(--sage) !important;
}

.smokovska-training-product .woocommerce-tabs ul.tabs li.active a,
.smokovska-training-product .woocommerce-tabs ul.tabs li:hover a {
    color: var(--beige) !important;
}

.smokovska-training-product #reviews,
.smokovska-training-product #review_form_wrapper {
    color: var(--sage);
}

.smokovska-training-product #review_form_wrapper {
    margin-top: 38px;
    padding: clamp(24px, 3vw, 42px);
    border: 1px solid var(--line-strong);
}

.smokovska-training-product #review_form_wrapper input,
.smokovska-training-product #review_form_wrapper textarea,
.smokovska-training-product #review_form_wrapper select {
    background: rgba(255, 255, 255, 0.28);
    color: var(--sage-deep);
}

@media (max-width: 820px) {
    .smokovska-training-card__header,
    .smokovska-training-fields,
    .smokovska-training-schedule__grid {
        grid-template-columns: 1fr;
    }

    .smokovska-training-card__header .meta-label {
        grid-row: auto;
    }

    .smokovska-training-card__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .smokovska-training-add-to-cart {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .smokovska-training-card {
        padding: 22px 18px;
    }

    .smokovska-training-schedule {
        padding: 18px 14px;
    }

    .smokovska-date-picker__days button,
    .smokovska-date-picker__days .is-empty {
        min-height: 34px;
    }

    .smokovska-picker__popover {
        padding: 12px;
    }
}


/* 1.0.26 — zamykanie pickerów oraz zielony stan zaznaczenia zgody. */
.smokovska-picker__popover[hidden] {
    display: none !important;
}

.smokovska-training-consent input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    display: grid;
    width: 22px;
    height: 22px;
    margin: 2px 0 0;
    padding: 0;
    place-content: center;
    border: 1px solid rgba(237, 226, 219, 0.88);
    border-radius: 2px;
    outline: 0;
    background: var(--beige);
    color: var(--beige);
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.smokovska-training-consent input[type="checkbox"]::before {
    width: 11px;
    height: 6px;
    border-bottom: 3px solid currentColor;
    border-left: 3px solid currentColor;
    content: "";
    opacity: 0;
    transform: translateY(-1px) rotate(-45deg) scale(0.7);
    transition: opacity 140ms ease, transform 140ms ease;
}

.smokovska-training-consent input[type="checkbox"]:checked {
    border-color: var(--sage-deep);
    background: var(--sage-deep);
    color: var(--beige);
    box-shadow: 0 0 0 3px rgba(32, 53, 42, 0.16);
}

.smokovska-training-consent input[type="checkbox"]:checked::before {
    opacity: 1;
    transform: translateY(-1px) rotate(-45deg) scale(1);
}

.smokovska-training-consent input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--beige);
    outline-offset: 3px;
}


/* 1.0.27 — formularz treningowy jako sekcja niezależna od opinii i zakładek WooCommerce. */
.smokovska-training-section {
    clear: both;
    width: 100%;
    margin: clamp(64px, 8vw, 118px) 0 0;
    padding: 0 0 clamp(64px, 8vw, 108px);
    border-bottom: 1px solid rgba(237, 226, 219, 0.52);
}

.smokovska-training-section .smokovska-training-card {
    margin: 0;
}

.smokovska-training-section + .woocommerce-tabs,
.smokovska-training-section + .wc-tabs-wrapper {
    clear: both;
    margin-top: clamp(54px, 7vw, 92px);
}

/* Gdy opinie i wszystkie zakładki produktu są wyłączone, formularz zachowuje
   własne domknięcie wizualne i nie wymaga obecności .woocommerce-tabs. */
.smokovska-training-product .smokovska-training-section:last-child {
    margin-bottom: clamp(30px, 4vw, 60px);
}

@media (max-width: 700px) {
    .smokovska-training-section {
        margin-top: 52px;
        padding-bottom: 58px;
    }

    .smokovska-training-section + .woocommerce-tabs,
    .smokovska-training-section + .wc-tabs-wrapper {
        margin-top: 46px;
    }
}


/* 1.0.29 — checkbox RODO i treść wyśrodkowane w jednej osi. */
.contact-form__consent {
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    color: var(--sage);
    cursor: pointer;
}

.contact-form__consent input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    display: grid;
    width: 22px;
    height: 22px;
    margin: 0;
    padding: 0;
    place-content: center;
    border: 1px solid rgba(48, 74, 60, 0.58);
    border-radius: 2px;
    outline: 0;
    background: var(--beige);
    color: var(--beige);
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.contact-form__consent input[type="checkbox"]::before {
    width: 11px;
    height: 6px;
    border-bottom: 3px solid currentColor;
    border-left: 3px solid currentColor;
    content: "";
    opacity: 0;
    transform: translateY(-1px) rotate(-45deg) scale(0.7);
    transition: opacity 140ms ease, transform 140ms ease;
}

.contact-form__consent input[type="checkbox"]:checked {
    border-color: var(--sage-deep);
    background: var(--sage-deep);
    color: var(--beige);
    box-shadow: 0 0 0 3px rgba(32, 53, 42, 0.16);
}

.contact-form__consent input[type="checkbox"]:checked::before {
    opacity: 1;
    transform: translateY(-1px) rotate(-45deg) scale(1);
}

.contact-form__consent input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--dusty-rose);
    outline-offset: 3px;
}

.contact-form__consent > span {
    display: flex;
    align-items: center;
    min-height: 22px;
    color: var(--sage);
    font-size: 11px;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: 0;
    text-transform: none;
}

/* 1.0.30 — czytelniejsza typografia na pojedynczych stronach produktów. */
@media (min-width: 1101px) {
    body.single-product.woocommerce div.product .summary h1.product_title.entry-title,
    body.single-product .woocommerce div.product .summary h1.product_title.entry-title,
    body.single-product div.product .summary h1.product_title.entry-title {
        margin: 0 0 24px !important;
        font-size: clamp(58px, 4.6vw, 82px) !important;
        line-height: 0.98 !important;
        letter-spacing: -0.045em !important;
    }

    body.single-product.woocommerce div.product .summary p.price,
    body.single-product.woocommerce div.product .summary span.price,
    body.single-product .woocommerce div.product .summary p.price,
    body.single-product .woocommerce div.product .summary span.price {
        margin: 0 0 24px !important;
        font-size: 30px !important;
        line-height: 1.2 !important;
    }

    body.single-product.woocommerce div.product .summary p.price .woocommerce-Price-amount.amount,
    body.single-product.woocommerce div.product .summary span.price .woocommerce-Price-amount.amount,
    body.single-product .woocommerce div.product .summary .woocommerce-Price-amount.amount,
    body.single-product div.product .summary .woocommerce-Price-amount.amount,
    body.single-product div.product .summary .woocommerce-Price-currencySymbol {
        font-size: inherit !important;
        line-height: inherit !important;
    }
}


/* 1.0.31 — H1 na podstronach i archiwach zachowują wielkie litery z treści WordPressa. */
.page-hero__content h1,
.post-hero__content h1,
.woocommerce .woocommerce-products-header__title.page-title,
.woocommerce-page .woocommerce-products-header__title.page-title,
body.single-product h1.product_title.entry-title,
.page-content h1,
.entry-content h1 {
    text-transform: none !important;
}


/* 1.0.33 — mniejsze, czytelne H1 w nagłówkach kategorii WooCommerce. */
body.tax-product_cat .page-hero--shop .page-hero__content h1 {
    max-width: 1180px;
    font-size: clamp(58px, 8.2vw, 138px);
    line-height: 0.96;
    letter-spacing: -0.045em;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

@media (max-width: 700px) {
    body.tax-product_cat .page-hero--shop .page-hero__content h1 {
        font-size: clamp(46px, 14vw, 76px);
        line-height: 1.02;
        letter-spacing: -0.035em;
    }
}


/* 1.0.39 — wspólna skala H1 dla wszystkich nagłówków podstron i archiwów. */
.page-hero__content h1,
.post-hero__content h1,
body.tax-product_cat .page-hero--shop .page-hero__content h1,
body.post-type-archive-product .page-hero--shop .page-hero__content h1,
body.woocommerce-shop .page-hero--shop .page-hero__content h1 {
    max-width: 1200px;
    font-size: clamp(58px, 8.2vw, 138px) !important;
    line-height: 0.96 !important;
    letter-spacing: -0.045em !important;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

@media (max-width: 700px) {
    .page-hero__content h1,
    .post-hero__content h1,
    body.tax-product_cat .page-hero--shop .page-hero__content h1,
    body.post-type-archive-product .page-hero--shop .page-hero__content h1,
    body.woocommerce-shop .page-hero--shop .page-hero__content h1 {
        max-width: 100%;
        font-size: clamp(42px, 12.5vw, 64px) !important;
        line-height: 1.02 !important;
        letter-spacing: -0.035em !important;
    }
}


/* 1.0.40 — aktywna pozycja mobilnego menu bez ramki. */
@media (max-width: 1100px) {
    .site-menu .current-menu-item > a,
    .site-menu .current_page_item > a,
    .site-menu a[aria-current="page"],
    .site-menu .current-menu-item > a:focus,
    .site-menu .current-menu-item > a:focus-visible,
    .site-menu .current_page_item > a:focus,
    .site-menu .current_page_item > a:focus-visible,
    .site-menu a[aria-current="page"]:focus,
    .site-menu a[aria-current="page"]:focus-visible {
        padding-left: 0;
        border: 0;
        outline: 0;
        color: var(--sage-deep);
        box-shadow: none;
    }
}


/* 1.0.44 — identyczny rozmiar marki na desktopie, tablecie i mobilce oraz aktywne menu bez ramki. */
.site-brand {
    gap: 12px;
}

.site-brand__mark {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
}

.site-brand__text {
    font-size: 12px;
    letter-spacing: 0.17em;
}

@media (max-width: 1100px) {
    /* Safari/iOS potrafi pozostawić outline po tapnięciu linku — w menu zastępuje go zmiana koloru tekstu. */
    .site-menu li,
    .site-menu li:focus,
    .site-menu li:focus-within,
    .site-menu a,
    .site-menu a:focus,
    .site-menu a:focus-visible,
    .site-menu a:active {
        border-left: 0 !important;
        border-right: 0 !important;
        outline: 0 !important;
        outline-offset: 0 !important;
        box-shadow: none !important;
        -webkit-tap-highlight-color: transparent;
    }

    .site-menu li.current-menu-item,
    .site-menu li.current_page_item,
    .site-menu li:has(> a[aria-current="page"]) {
        background: transparent !important;
        outline: 0 !important;
        box-shadow: none !important;
    }

    .site-menu .current-menu-item > a,
    .site-menu .current_page_item > a,
    .site-menu a[aria-current="page"],
    .site-menu .current-menu-item > a:hover,
    .site-menu .current_page_item > a:hover,
    .site-menu a[aria-current="page"]:hover,
    .site-menu .current-menu-item > a:focus,
    .site-menu .current_page_item > a:focus,
    .site-menu a[aria-current="page"]:focus,
    .site-menu .current-menu-item > a:focus-visible,
    .site-menu .current_page_item > a:focus-visible,
    .site-menu a[aria-current="page"]:focus-visible {
        padding-left: 0 !important;
        border: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        color: var(--sage-deep) !important;
    }

    .site-menu .current-menu-item > a::before,
    .site-menu .current-menu-item > a::after,
    .site-menu .current_page_item > a::before,
    .site-menu .current_page_item > a::after,
    .site-menu a[aria-current="page"]::before,
    .site-menu a[aria-current="page"]::after {
        display: none !important;
        content: none !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .site-menu .current-menu-item > a > span:last-child,
    .site-menu .current_page_item > a > span:last-child,
    .site-menu a[aria-current="page"] > span:last-child {
        color: var(--sage-deep) !important;
    }
}


/* 1.0.45 — wspólna pionowa oś marki i nawigacji na wszystkich breakpointach. */
.site-header__bar {
    min-height: 38px;
    align-items: center;
}

.site-brand {
    height: 38px;
    align-items: center;
    align-self: center;
    line-height: 1;
}

.site-brand__mark,
.site-brand__mark img {
    align-self: center;
}

.site-brand__text {
    display: inline-flex;
    height: 38px;
    align-items: center;
    line-height: 1;
}

.desktop-nav {
    display: flex;
    height: 38px;
    align-items: center;
    align-self: center;
}

.desktop-nav__list {
    height: 38px;
    align-items: center;
}

.desktop-nav__list > li,
.desktop-nav__list > li > a {
    height: 38px;
}

.desktop-nav__list > li > a {
    display: flex;
    align-items: center;
    padding-top: 0;
    padding-bottom: 0;
}

.menu-toggle {
    min-width: 38px;
    height: 38px;
    align-items: center;
    align-self: center;
    justify-content: center;
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 1;
}

.menu-toggle__label,
.menu-toggle__icon {
    align-self: center;
}

@media (max-width: 1100px) {
    .site-header__bar {
        display: flex;
        min-height: 38px;
        align-items: center;
        justify-content: space-between;
    }

    .site-brand,
    .menu-toggle {
        top: auto;
        align-self: center;
        transform: none;
    }

    .menu-toggle__icon {
        margin-top: 0;
        margin-bottom: 0;
    }
}


/* 1.0.46 — koszyk w navbarze i poprawny podział na menu desktopowe oraz rozwijane menu mobilne. */
.site-header__actions {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    justify-content: flex-end;
    min-height: 38px;
    margin-left: auto;
}

.site-cart {
    position: relative;
    display: inline-flex;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    align-items: center;
    justify-content: center;
    border: 0;
    color: var(--beige);
    line-height: 1;
    transition: color 180ms ease, opacity 180ms ease;
}

.site-cart:hover,
.site-cart:focus-visible {
    color: var(--dusty-rose);
}

.site-cart__icon {
    display: block;
    width: 22px;
    height: 22px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
}

.site-cart__count {
    display: inline-flex;
    min-width: 17px;
    height: 17px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--dusty-rose);
    color: var(--beige);
    font-family: "Space Mono", monospace;
    font-size: 8px;
    font-weight: 700;
    line-height: 1;
}

.site-cart > .site-cart__count {
    position: absolute;
    top: -1px;
    right: -3px;
}

.site-menu__cart {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 0;
    align-items: center;
    padding: clamp(14px, 2.1vh, 24px) 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    color: var(--beige);
    font-family: "Archivo", sans-serif;
    font-size: clamp(24px, 3vw, 42px);
    font-style: italic;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.035em;
    transition: color 180ms ease;
}

.site-menu__cart:hover,
.site-menu__cart:focus-visible {
    color: var(--sage-deep);
}

.site-menu__cart .site-cart__count {
    min-width: 26px;
    height: 26px;
    padding: 0 7px;
    font-size: 10px;
}

@media (min-width: 1101px) {
    .desktop-nav {
        display: flex !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .menu-toggle,
    .site-menu {
        display: none !important;
    }
}

@media (max-width: 1100px) {
    /* Na tablecie i telefonie menu desktopowe nigdy nie może wejść do layoutu. */
    .desktop-nav,
    .desktop-nav__list {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    .site-header__actions {
        gap: 8px;
    }

    .menu-toggle {
        display: inline-flex !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .site-menu {
        display: block;
    }

    .site-menu__cart {
        grid-template-columns: 35px minmax(0, 1fr) auto;
        font-size: clamp(23px, 7.4vw, 34px);
        line-height: 0.98;
    }

    /* Aktywna podstrona: bez prostokątnej ramki, zmienia kolor tylko nazwa pozycji. */
    .site-menu__list > li.current-menu-item,
    .site-menu__list > li.current_page_item,
    .site-menu__list > li:has(> a[aria-current="page"]),
    .site-menu .menu > li.current-menu-item,
    .site-menu .menu > li.current_page_item,
    .site-menu .menu > li:has(> a[aria-current="page"]) {
        border-top: 1px solid var(--line) !important;
        border-right: 0 !important;
        border-bottom: 0 !important;
        border-left: 0 !important;
        outline: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .site-menu__list > li:last-child.current-menu-item,
    .site-menu__list > li:last-child.current_page_item,
    .site-menu__list > li:last-child:has(> a[aria-current="page"]),
    .site-menu .menu > li:last-child.current-menu-item,
    .site-menu .menu > li:last-child.current_page_item,
    .site-menu .menu > li:last-child:has(> a[aria-current="page"]) {
        border-bottom: 1px solid var(--line) !important;
    }

    .site-menu .current-menu-item > a,
    .site-menu .current_page_item > a,
    .site-menu a[aria-current="page"] {
        padding-left: 0 !important;
        border: 0 !important;
        outline: 0 !important;
        background: transparent !important;
        color: var(--beige) !important;
        box-shadow: none !important;
    }

    .site-menu .current-menu-item > a > span:last-child,
    .site-menu .current_page_item > a > span:last-child,
    .site-menu a[aria-current="page"] > span:last-child {
        color: var(--sage-deep) !important;
    }
}


/* ========================================================================== 
   1.0.47 — konto w navbarze oraz spójne widoki Moje konto / Koszyk / Zamówienie
   ========================================================================== */

/* Ikona konta korzysta z tej samej geometrii i osi co koszyk. */
.site-account {
    position: relative;
    display: inline-flex;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    align-items: center;
    justify-content: center;
    border: 0;
    color: var(--beige);
    line-height: 1;
    transition: color 180ms ease, opacity 180ms ease;
}

.site-account:hover,
.site-account:focus-visible,
.site-account.is-current,
.site-cart.is-current {
    color: var(--dusty-rose);
}

.site-account__icon {
    display: block;
    width: 22px;
    height: 22px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
}

.site-menu__utilities {
    border-top: 1px solid var(--line);
}

.site-menu__utility-link {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 0;
    align-items: center;
    padding: clamp(14px, 2.1vh, 24px) 0;
    border-bottom: 1px solid var(--line);
    color: var(--beige);
    font-family: "Archivo", sans-serif;
    font-size: clamp(24px, 3vw, 42px);
    font-style: italic;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.035em;
    transition: color 180ms ease;
}

.site-menu__utility-link:hover,
.site-menu__utility-link:focus-visible,
.site-menu__utility-link.is-current,
.site-menu__utility-link[aria-current="page"] {
    color: var(--sage-deep);
}

.site-menu__utility-link svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
}

.site-menu__utility-link .site-cart__count {
    min-width: 26px;
    height: 26px;
    padding: 0 7px;
    font-size: 10px;
}

/* WooCommerce pages must occupy the same horizontal axis as the home page. */
body.woocommerce-account .page-content.content-shell,
body.woocommerce-cart .page-content.content-shell,
body.woocommerce-checkout .page-content.content-shell {
    max-width: calc(var(--content) + (var(--gutter) * 2));
}

body.woocommerce-account .page-content > .woocommerce,
body.woocommerce-cart .page-content > .woocommerce,
body.woocommerce-checkout .page-content > .woocommerce,
body.woocommerce-cart .page-content > .wp-block-woocommerce-cart,
body.woocommerce-checkout .page-content > .wp-block-woocommerce-checkout,
body.woocommerce-cart .page-content > [class*="wp-block-woocommerce-cart"],
body.woocommerce-checkout .page-content > [class*="wp-block-woocommerce-checkout"] {
    width: 100%;
    max-width: none;
}

/* Shared panels, headings and copy. */
body.woocommerce-account .woocommerce,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-checkout {
    color: var(--sage);
    font-size: 15px;
}

body.woocommerce-account .woocommerce h2,
body.woocommerce-account .woocommerce h3,
body.woocommerce-cart .woocommerce h2,
body.woocommerce-cart .woocommerce h3,
body.woocommerce-checkout .woocommerce h2,
body.woocommerce-checkout .woocommerce h3,
body.woocommerce-cart .wc-block-cart h2,
body.woocommerce-checkout .wc-block-checkout h2,
body.woocommerce-checkout .wc-block-checkout h3 {
    color: var(--sage);
    font-family: "Archivo", sans-serif;
    font-style: italic;
    font-weight: 800;
    letter-spacing: -0.035em;
}

/* ------------------------------ Moje konto ------------------------------ */
body.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: minmax(230px, 300px) minmax(0, 1fr);
    gap: clamp(28px, 4vw, 64px);
    align-items: start;
}

body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after {
    display: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: auto;
    min-width: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
    position: sticky;
    top: calc(var(--header-height) + 24px);
    border: 1px solid rgba(48, 74, 60, 0.34);
    background: rgba(255, 255, 255, 0.16);
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0;
    border-bottom: 1px solid rgba(48, 74, 60, 0.18);
}

body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
    border-bottom: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
    position: relative;
    display: flex;
    min-height: 58px;
    align-items: center;
    padding: 16px 20px 16px 46px;
    color: var(--sage);
    font-family: "Space Mono", monospace;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: background-color 180ms ease, color 180ms ease, padding 180ms ease;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a::before {
    position: absolute;
    left: 20px;
    width: 8px;
    height: 8px;
    border: 1px solid currentColor;
    content: "";
    transform: rotate(45deg);
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible {
    background: var(--dusty-rose);
    color: var(--beige);
    padding-left: 50px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before {
    background: currentColor;
}

body.woocommerce-account .woocommerce-MyAccount-content {
    min-height: 340px;
    padding: clamp(26px, 3.6vw, 52px);
    border: 1px solid rgba(48, 74, 60, 0.28);
    background: rgba(255, 255, 255, 0.18);
}

body.woocommerce-account .woocommerce-MyAccount-content > :last-child {
    margin-bottom: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content p {
    max-width: 850px;
    line-height: 1.8;
}

body.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
    color: var(--dusty-rose-deep);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
}

body.woocommerce-account .woocommerce-Addresses {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

body.woocommerce-account .woocommerce-Address {
    float: none;
    width: auto;
    padding: 24px;
    border: 1px solid rgba(48, 74, 60, 0.24);
    background: rgba(237, 226, 219, 0.36);
}

body.woocommerce-account .woocommerce-Address-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
}

body.woocommerce-account .woocommerce-Address-title h3 {
    float: none;
    margin: 0 0 18px;
}

body.woocommerce-account .woocommerce-Address-title .edit {
    float: none;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

body.woocommerce-account .woocommerce form.login,
body.woocommerce-account .woocommerce form.register,
body.woocommerce-account .woocommerce form.edit-account,
body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm {
    margin: 0;
    padding: clamp(24px, 3vw, 42px);
    border: 1px solid rgba(48, 74, 60, 0.28);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.18);
}

body.woocommerce-account:not(.logged-in) .woocommerce {
    display: block;
}

body.woocommerce-account:not(.logged-in) .woocommerce .u-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

body.woocommerce-account:not(.logged-in) .woocommerce .u-column1,
body.woocommerce-account:not(.logged-in) .woocommerce .u-column2 {
    float: none;
    width: auto;
}

/* Tables — account orders, classic cart, order details. */
body.woocommerce-account table.shop_table,
body.woocommerce-cart table.shop_table,
body.woocommerce-checkout table.shop_table,
body.woocommerce-order-received table.shop_table {
    width: 100%;
    margin: 0 0 28px;
    border: 1px solid rgba(48, 74, 60, 0.30);
    border-collapse: collapse;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.16);
}

body.woocommerce-account table.shop_table th,
body.woocommerce-cart table.shop_table th,
body.woocommerce-checkout table.shop_table th,
body.woocommerce-order-received table.shop_table th {
    padding: 15px 18px;
    border: 1px solid rgba(237, 226, 219, 0.24);
    background: var(--dusty-rose);
    color: var(--beige);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-align: left;
    text-transform: uppercase;
}

body.woocommerce-account table.shop_table td,
body.woocommerce-cart table.shop_table td,
body.woocommerce-checkout table.shop_table td,
body.woocommerce-order-received table.shop_table td {
    padding: 17px 18px;
    border: 1px solid rgba(48, 74, 60, 0.20);
    color: var(--sage);
    vertical-align: middle;
}

body.woocommerce-account table.shop_table tr:nth-child(even) td,
body.woocommerce-order-received table.shop_table tr:nth-child(even) td {
    background: rgba(187, 122, 151, 0.06);
}

/* Shared Woo forms. */
body.woocommerce-account .woocommerce input.input-text,
body.woocommerce-account .woocommerce input[type="email"],
body.woocommerce-account .woocommerce input[type="password"],
body.woocommerce-account .woocommerce input[type="tel"],
body.woocommerce-account .woocommerce select,
body.woocommerce-account .woocommerce textarea,
body.woocommerce-cart .woocommerce input.input-text,
body.woocommerce-checkout .woocommerce input.input-text,
body.woocommerce-checkout .woocommerce select,
body.woocommerce-checkout .woocommerce textarea {
    min-height: 54px;
    padding: 13px 15px;
    border: 1px solid rgba(48, 74, 60, 0.36);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.62);
    color: var(--sage);
    box-shadow: none;
}

body.woocommerce-account .woocommerce input:focus,
body.woocommerce-account .woocommerce select:focus,
body.woocommerce-account .woocommerce textarea:focus,
body.woocommerce-cart .woocommerce input:focus,
body.woocommerce-checkout .woocommerce input:focus,
body.woocommerce-checkout .woocommerce select:focus,
body.woocommerce-checkout .woocommerce textarea:focus {
    border-color: var(--dusty-rose-deep);
    outline: 0;
    box-shadow: 0 0 0 2px rgba(187, 122, 151, 0.14);
}

/* ------------------------------- Koszyk -------------------------------- */
body.woocommerce-cart .wc-block-cart,
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals {
    width: 100%;
}

body.woocommerce-cart .wc-block-components-sidebar-layout {
    gap: clamp(26px, 4vw, 64px);
    align-items: start;
}

body.woocommerce-cart .wc-block-components-main {
    width: calc(66.666% - 28px);
    padding-right: 0;
}

body.woocommerce-cart .wc-block-components-sidebar {
    position: sticky;
    top: calc(var(--header-height) + 24px);
    width: calc(33.333% - 12px);
    padding-left: 0;
}

body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wc-block-cart-items__row,
body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-cart .cart_totals,
body.woocommerce-cart .woocommerce-cart-form {
    border-color: rgba(48, 74, 60, 0.24);
}

body.woocommerce-cart .wc-block-cart-items {
    border-collapse: collapse;
    background: rgba(255, 255, 255, 0.14);
}

body.woocommerce-cart .wc-block-cart-items th {
    padding: 15px 18px;
    border-bottom: 1px solid rgba(48, 74, 60, 0.26);
    color: var(--sage);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.woocommerce-cart .wc-block-cart-items td {
    padding-top: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(48, 74, 60, 0.22);
}

body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-name {
    color: var(--sage);
    font-family: "Archivo", sans-serif;
    font-size: 18px;
    font-style: italic;
    font-weight: 800;
    line-height: 1.2;
}

body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-details,
body.woocommerce-checkout .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-product-details {
    color: rgba(48, 74, 60, 0.78);
    font-size: 11px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

body.woocommerce-cart .wc-block-components-product-metadata__description {
    color: rgba(48, 74, 60, 0.68);
}

body.woocommerce-cart .wc-block-components-quantity-selector {
    min-height: 46px;
    border: 1px solid rgba(48, 74, 60, 0.30);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.36);
}

body.woocommerce-cart .wc-block-components-quantity-selector input,
body.woocommerce-cart .wc-block-components-quantity-selector button {
    color: var(--sage);
}

body.woocommerce-cart .wc-block-cart-item__remove-link {
    color: var(--dusty-rose-deep);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;
}

body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-cart .cart_totals {
    padding: clamp(24px, 3vw, 38px);
    border: 1px solid rgba(48, 74, 60, 0.28);
    background: rgba(255, 255, 255, 0.18);
}

body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-cart .cart_totals h2 {
    margin: 0 0 26px;
    padding: 0 0 18px;
    border-bottom: 1px solid rgba(48, 74, 60, 0.22);
    color: var(--sage);
    font-family: "Archivo", sans-serif;
    font-size: clamp(26px, 2.4vw, 38px);
    font-style: italic;
    font-weight: 800;
    text-align: left;
}

body.woocommerce-cart .wc-block-components-totals-wrapper {
    padding: 18px 0;
    border-top: 1px solid rgba(48, 74, 60, 0.18);
}

body.woocommerce-cart .wc-block-components-totals-footer-item {
    font-size: 18px;
}

body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-cart .checkout-button {
    min-height: 62px;
    border: 1px solid var(--sage) !important;
    border-radius: 0 !important;
    background: var(--sage) !important;
    color: var(--beige) !important;
    font-family: "Space Mono", monospace;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-cart .checkout-button:hover {
    border-color: var(--dusty-rose-deep) !important;
    background: var(--dusty-rose-deep) !important;
    color: var(--beige) !important;
}

/* ------------------------------ Zamówienie ------------------------------ */
body.woocommerce-checkout .wc-block-checkout {
    max-width: none;
}

body.woocommerce-checkout .wc-block-components-sidebar-layout {
    gap: clamp(28px, 4vw, 64px);
    align-items: start;
}

body.woocommerce-checkout .wc-block-components-main {
    width: calc(66.666% - 28px);
    padding-right: 0;
}

body.woocommerce-checkout .wc-block-components-sidebar {
    position: sticky;
    top: calc(var(--header-height) + 24px);
    width: calc(33.333% - 12px);
    padding: clamp(24px, 3vw, 38px);
    border: 1px solid rgba(48, 74, 60, 0.28);
    background: rgba(255, 255, 255, 0.18);
}

body.woocommerce-checkout .wc-block-components-checkout-step {
    margin: 0 0 22px;
    padding: clamp(24px, 3vw, 36px);
    border: 1px solid rgba(48, 74, 60, 0.24);
    background: rgba(255, 255, 255, 0.14);
}

body.woocommerce-checkout .wc-block-components-checkout-step__heading {
    margin-bottom: 22px;
}

body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-title {
    color: var(--sage);
    font-family: "Archivo", sans-serif;
    font-size: clamp(22px, 2vw, 30px);
    font-style: italic;
    font-weight: 800;
    line-height: 1.15;
}

body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-address-form input,
body.woocommerce-checkout .wc-block-components-address-form select,
body.woocommerce-checkout .wc-block-components-textarea {
    min-height: 56px;
    border: 1px solid rgba(48, 74, 60, 0.36) !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.68) !important;
    color: var(--sage) !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-combobox-control label {
    color: rgba(48, 74, 60, 0.74) !important;
}

body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
body.woocommerce-checkout .wc-block-components-address-form input:focus,
body.woocommerce-checkout .wc-block-components-address-form select:focus,
body.woocommerce-checkout .wc-block-components-textarea:focus {
    border-color: var(--dusty-rose-deep) !important;
    box-shadow: 0 0 0 2px rgba(187, 122, 151, 0.14) !important;
}

body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-panel,
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
    border-color: rgba(48, 74, 60, 0.22);
}

body.woocommerce-checkout .wc-block-components-order-summary-item {
    padding: 18px 0;
    border-bottom: 1px solid rgba(48, 74, 60, 0.18);
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image img,
body.woocommerce-cart .wc-block-cart-item__image img {
    border: 1px solid rgba(48, 74, 60, 0.26);
    background: rgba(255, 255, 255, 0.48);
}

body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
    color: var(--sage);
    font-family: "Archivo", sans-serif;
    font-size: 24px;
    font-weight: 700;
}

body.woocommerce-checkout .wc-block-components-notice-banner,
body.woocommerce-cart .wc-block-components-notice-banner,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-error,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-error {
    padding: 18px 20px;
    border: 1px solid var(--dusty-rose-deep);
    border-left-width: 4px;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.56);
    color: var(--sage);
}

/* Classic checkout fallback. */
body.woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(340px, 0.75fr);
    gap: clamp(28px, 4vw, 64px);
    align-items: start;
}

body.woocommerce-checkout form.checkout #customer_details,
body.woocommerce-checkout form.checkout #order_review_heading,
body.woocommerce-checkout form.checkout #order_review {
    float: none;
    width: auto;
}

body.woocommerce-checkout form.checkout #order_review_heading,
body.woocommerce-checkout form.checkout #order_review {
    grid-column: 2;
}

body.woocommerce-checkout form.checkout #order_review {
    padding: 28px;
    border: 1px solid rgba(48, 74, 60, 0.28);
    background: rgba(255, 255, 255, 0.18);
}

body.woocommerce-checkout #payment {
    border-radius: 0;
    background: rgba(187, 122, 151, 0.10);
}

body.woocommerce-checkout #payment div.payment_box {
    background: rgba(255, 255, 255, 0.52);
    color: var(--sage);
}

/* Order confirmation and order details. */
body.woocommerce-order-received .woocommerce-order-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin: 0 0 36px;
    padding: 1px;
    border: 1px solid rgba(48, 74, 60, 0.28);
    background: rgba(48, 74, 60, 0.20);
    list-style: none;
}

body.woocommerce-order-received .woocommerce-order-overview li {
    float: none;
    margin: 0;
    padding: 20px;
    border: 0;
    background: var(--beige);
    color: rgba(48, 74, 60, 0.72);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.woocommerce-order-received .woocommerce-order-overview li strong {
    display: block;
    margin-top: 8px;
    color: var(--sage);
    font-size: 15px;
    letter-spacing: 0;
    text-transform: none;
}

/* Buttons and links across account/cart/checkout. */
body.woocommerce-account .woocommerce a.button,
body.woocommerce-account .woocommerce button.button,
body.woocommerce-account .woocommerce input.button,
body.woocommerce-cart .woocommerce a.button,
body.woocommerce-cart .woocommerce button.button,
body.woocommerce-cart .woocommerce input.button,
body.woocommerce-checkout .woocommerce a.button,
body.woocommerce-checkout .woocommerce button.button,
body.woocommerce-checkout .woocommerce input.button {
    min-height: 46px;
    padding: 13px 18px;
    border: 1px solid var(--sage);
    border-radius: 0;
    background: transparent;
    color: var(--sage);
    font-family: "Space Mono", monospace;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

body.woocommerce-account .woocommerce a.button:hover,
body.woocommerce-account .woocommerce button.button:hover,
body.woocommerce-account .woocommerce input.button:hover,
body.woocommerce-cart .woocommerce a.button:hover,
body.woocommerce-cart .woocommerce button.button:hover,
body.woocommerce-cart .woocommerce input.button:hover,
body.woocommerce-checkout .woocommerce a.button:hover,
body.woocommerce-checkout .woocommerce button.button:hover,
body.woocommerce-checkout .woocommerce input.button:hover {
    border-color: var(--dusty-rose-deep);
    background: var(--dusty-rose-deep);
    color: var(--beige);
}

@media (max-width: 1100px) {
    .site-menu__utility-link {
        grid-template-columns: 35px minmax(0, 1fr) auto;
        font-size: clamp(23px, 7.4vw, 34px);
        line-height: 0.98;
    }

    body.woocommerce-account .woocommerce {
        grid-template-columns: 220px minmax(0, 1fr);
        gap: 28px;
    }

    body.woocommerce-cart .wc-block-components-main,
    body.woocommerce-checkout .wc-block-components-main {
        width: calc(62% - 16px);
    }

    body.woocommerce-cart .wc-block-components-sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar {
        width: calc(38% - 12px);
    }
}

@media (max-width: 800px) {
    body.woocommerce-account .woocommerce,
    body.woocommerce-account:not(.logged-in) .woocommerce .u-columns,
    body.woocommerce-account .woocommerce-Addresses,
    body.woocommerce-checkout form.checkout {
        display: block;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation {
        position: static;
        margin-bottom: 24px;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation li {
        border-right: 1px solid rgba(48, 74, 60, 0.18);
    }

    body.woocommerce-account .woocommerce-MyAccount-content {
        padding: 24px;
    }

    body.woocommerce-account:not(.logged-in) .woocommerce .u-column1,
    body.woocommerce-account:not(.logged-in) .woocommerce .u-column2 {
        margin-bottom: 24px;
    }

    body.woocommerce-cart .wc-block-components-sidebar-layout,
    body.woocommerce-checkout .wc-block-components-sidebar-layout {
        display: block;
    }

    body.woocommerce-cart .wc-block-components-main,
    body.woocommerce-cart .wc-block-components-sidebar,
    body.woocommerce-checkout .wc-block-components-main,
    body.woocommerce-checkout .wc-block-components-sidebar {
        position: static;
        width: 100%;
    }

    body.woocommerce-cart .wc-block-components-sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar {
        margin-top: 28px;
    }

    body.woocommerce-checkout form.checkout #order_review_heading,
    body.woocommerce-checkout form.checkout #order_review {
        grid-column: auto;
        margin-top: 28px;
    }

    body.woocommerce-order-received .woocommerce-order-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .site-header__actions {
        gap: 4px;
    }

    .site-account,
    .site-cart,
    .menu-toggle {
        width: 34px;
        min-width: 34px;
        height: 38px;
        flex-basis: 34px;
    }

    .site-account__icon,
    .site-cart__icon {
        width: 20px;
        height: 20px;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation ul {
        grid-template-columns: 1fr;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation li {
        border-right: 0;
    }

    body.woocommerce-account table.shop_table,
    body.woocommerce-cart table.shop_table,
    body.woocommerce-checkout table.shop_table {
        font-size: 12px;
    }

    body.woocommerce-account table.shop_table th,
    body.woocommerce-account table.shop_table td,
    body.woocommerce-cart table.shop_table th,
    body.woocommerce-cart table.shop_table td,
    body.woocommerce-checkout table.shop_table th,
    body.woocommerce-checkout table.shop_table td {
        padding: 13px 12px;
    }

    body.woocommerce-cart .wc-block-components-sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar,
    body.woocommerce-checkout .wc-block-components-checkout-step {
        padding: 20px;
    }

    body.woocommerce-order-received .woocommerce-order-overview {
        grid-template-columns: 1fr;
    }
}

/* 1.0.48 — stabilny układ koszyka, checkoutu i adresów w Moim koncie. */

/* Pseudoelementy czyszczące WooCommerce nie mogą zajmować komórek siatki. */
body.woocommerce-account .woocommerce-Addresses::before,
body.woocommerce-account .woocommerce-Addresses::after {
    display: none !important;
    content: none !important;
}

body.woocommerce-account .woocommerce-Addresses {
    display: grid !important;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(20px, 2.4vw, 32px);
    align-items: stretch;
}

body.woocommerce-account .woocommerce-Addresses > .woocommerce-Address,
body.woocommerce-account .woocommerce-Addresses > .u-column1,
body.woocommerce-account .woocommerce-Addresses > .u-column2,
body.woocommerce-account .woocommerce-Addresses > .col-1,
body.woocommerce-account .woocommerce-Addresses > .col-2 {
    float: none !important;
    display: flex;
    width: 100% !important;
    min-width: 0;
    min-height: 280px;
    margin: 0 !important;
    padding: clamp(24px, 3vw, 40px);
    flex-direction: column;
    border: 1px solid rgba(48, 74, 60, 0.28);
    background: rgba(255, 255, 255, 0.18);
}

body.woocommerce-account .woocommerce-Address-title {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: start;
    width: 100%;
}

body.woocommerce-account .woocommerce-Address-title::before,
body.woocommerce-account .woocommerce-Address-title::after {
    display: none !important;
    content: none !important;
}

body.woocommerce-account .woocommerce-Address-title h3 {
    float: none !important;
    max-width: 100%;
    margin: 0 0 28px !important;
    color: var(--sage);
    font-size: clamp(27px, 2.5vw, 40px) !important;
    line-height: 1.02 !important;
    overflow-wrap: normal;
    word-break: normal;
}

body.woocommerce-account .woocommerce-Address-title .edit {
    float: none !important;
    align-self: start;
    margin: 4px 0 0 !important;
    white-space: normal;
    text-align: right;
}

body.woocommerce-account .woocommerce-Address address {
    margin-top: auto;
    color: var(--sage);
    font-style: normal;
    line-height: 1.75;
}

/* Komunikaty na koncie: ikona nie może nachodzić na treść. */
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-message {
    display: flex;
    gap: 14px;
    align-items: center;
    width: 100%;
}

body.woocommerce-account .woocommerce-info::before,
body.woocommerce-account .woocommerce-message::before {
    position: static !important;
    top: auto !important;
    left: auto !important;
    flex: 0 0 auto;
    margin: 0 !important;
}

body.woocommerce-account .woocommerce-info .button,
body.woocommerce-account .woocommerce-message .button {
    float: none !important;
    margin-left: auto;
    flex: 0 0 auto;
}

@media (min-width: 901px) {
    /* Klasyczny koszyk: produkty i podsumowanie w jednym rzędzie. */
    body.woocommerce-cart .page-content > .woocommerce {
        display: grid !important;
        grid-template-columns: minmax(0, 1.7fr) minmax(340px, 0.78fr);
        column-gap: clamp(32px, 4vw, 68px);
        row-gap: 28px;
        align-items: start;
    }

    body.woocommerce-cart .page-content > .woocommerce > * {
        grid-column: 1 / -1;
        min-width: 0;
    }

    body.woocommerce-cart .page-content > .woocommerce > .woocommerce-cart-form {
        grid-column: 1;
        width: 100% !important;
        min-width: 0;
        margin: 0 !important;
    }

    body.woocommerce-cart .page-content > .woocommerce > .cart-collaterals {
        grid-column: 2;
        width: 100% !important;
        min-width: 0;
        margin: 0 !important;
        align-self: start;
    }

    body.woocommerce-cart .cart-collaterals .cart_totals {
        float: none !important;
        position: sticky;
        top: calc(var(--header-height) + 24px);
        width: 100% !important;
        margin: 0 !important;
    }

    /* Blokowy koszyk i checkout: grid zapobiega zawijaniu sidebara pod formularz. */
    body.woocommerce-cart .wc-block-components-sidebar-layout,
    body.woocommerce-checkout .wc-block-components-sidebar-layout,
    body.woocommerce-cart .wc-block-cart__sidebar-layout,
    body.woocommerce-checkout .wc-block-checkout__sidebar-layout {
        display: grid !important;
        width: 100% !important;
        grid-template-columns: minmax(0, 1.7fr) minmax(340px, 0.78fr) !important;
        gap: clamp(32px, 4vw, 68px) !important;
        align-items: start !important;
    }

    body.woocommerce-cart .wc-block-components-main,
    body.woocommerce-cart .wc-block-cart__main,
    body.woocommerce-checkout .wc-block-components-main,
    body.woocommerce-checkout .wc-block-checkout__main {
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding-right: 0 !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar,
    body.woocommerce-cart .wc-block-cart__sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar,
    body.woocommerce-checkout .wc-block-checkout__sidebar {
        position: sticky !important;
        top: calc(var(--header-height) + 24px);
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding-left: 0 !important;
        align-self: start;
    }

    /* Klasyczny checkout: dane po lewej, podsumowanie po prawej. */
    body.woocommerce-checkout form.checkout {
        display: grid !important;
        grid-template-columns: minmax(0, 1.7fr) minmax(340px, 0.78fr) !important;
        column-gap: clamp(32px, 4vw, 68px) !important;
        row-gap: 0 !important;
        align-items: start !important;
    }

    body.woocommerce-checkout form.checkout #customer_details {
        grid-column: 1;
        grid-row: 1 / span 2;
        width: 100% !important;
        min-width: 0;
        margin: 0 !important;
    }

    body.woocommerce-checkout form.checkout #order_review_heading {
        grid-column: 2;
        grid-row: 1;
        width: 100% !important;
        margin: 0 !important;
        padding: 28px 28px 0;
        border: 1px solid rgba(48, 74, 60, 0.28);
        border-bottom: 0;
        background: rgba(255, 255, 255, 0.18);
    }

    body.woocommerce-checkout form.checkout #order_review {
        position: static;
        grid-column: 2;
        grid-row: 2;
        width: 100% !important;
        min-width: 0;
        margin: 0 !important;
        border-top: 0;
    }
}

@media (max-width: 900px) {
    body.woocommerce-account .woocommerce-Addresses {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.woocommerce-account .woocommerce-Addresses > .woocommerce-Address,
    body.woocommerce-account .woocommerce-Addresses > .u-column1,
    body.woocommerce-account .woocommerce-Addresses > .u-column2,
    body.woocommerce-account .woocommerce-Addresses > .col-1,
    body.woocommerce-account .woocommerce-Addresses > .col-2 {
        min-height: 0;
    }

    body.woocommerce-cart .wc-block-components-sidebar-layout,
    body.woocommerce-checkout .wc-block-components-sidebar-layout,
    body.woocommerce-cart .wc-block-cart__sidebar-layout,
    body.woocommerce-checkout .wc-block-checkout__sidebar-layout {
        display: grid !important;
        width: 100% !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 28px !important;
    }

    body.woocommerce-cart .wc-block-components-main,
    body.woocommerce-cart .wc-block-components-sidebar,
    body.woocommerce-cart .wc-block-cart__main,
    body.woocommerce-cart .wc-block-cart__sidebar,
    body.woocommerce-checkout .wc-block-components-main,
    body.woocommerce-checkout .wc-block-components-sidebar,
    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-checkout__sidebar {
        position: static !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    body.woocommerce-cart .page-content > .woocommerce,
    body.woocommerce-checkout form.checkout {
        display: block !important;
    }

    body.woocommerce-cart .page-content > .woocommerce > .woocommerce-cart-form,
    body.woocommerce-cart .page-content > .woocommerce > .cart-collaterals,
    body.woocommerce-checkout form.checkout #customer_details,
    body.woocommerce-checkout form.checkout #order_review_heading,
    body.woocommerce-checkout form.checkout #order_review {
        width: 100% !important;
        margin: 0 0 28px !important;
    }

    body.woocommerce-cart .cart-collaterals .cart_totals,
    body.woocommerce-checkout form.checkout #order_review {
        position: static !important;
        width: 100% !important;
    }
}

@media (max-width: 600px) {
    body.woocommerce-account .woocommerce-Address-title {
        grid-template-columns: minmax(0, 1fr);
    }

    body.woocommerce-account .woocommerce-Address-title .edit {
        text-align: left;
    }

    body.woocommerce-account .woocommerce-info,
    body.woocommerce-account .woocommerce-message {
        flex-wrap: wrap;
        align-items: flex-start;
    }

    body.woocommerce-account .woocommerce-info .button,
    body.woocommerce-account .woocommerce-message .button {
        width: 100%;
        margin: 8px 0 0;
    }
}

/* 1.0.49 — symetryczne marginesy podsumowań oraz mniejsze nagłówki adresów. */
@media (min-width: 901px) {
    /*
     * Woo Blocks zostawiały cały poziomy padding po prawej, a zerowały go
     * po lewej. Zachowujemy tę samą łączną ilość miejsca, rozdzielając ją
     * równo pomiędzy obie strony ramki.
     */
    body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar,
    body.woocommerce-cart .wc-block-cart__sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar.wc-block-checkout__sidebar,
    body.woocommerce-checkout .wc-block-checkout__sidebar {
        padding-top: clamp(24px, 3vw, 38px) !important;
        padding-right: clamp(12px, 1.5vw, 19px) !important;
        padding-bottom: clamp(24px, 3vw, 38px) !important;
        padding-left: clamp(12px, 1.5vw, 19px) !important;
    }
}

/* Karty adresowe na /moje-konto/edit-address/ mają zachować czytelną skalę. */
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title h3,
body.woocommerce-account.woocommerce-edit-address .woocommerce-Address-title h3 {
    font-size: clamp(22px, 1.55vw, 28px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.025em;
}


/* 1.0.50 — kupony w kolorystyce motywu i mniejsze H2 adresów. */
body.woocommerce-cart .wc-block-components-totals-coupon__button,
body.woocommerce-checkout .wc-block-components-totals-coupon__button,
body.woocommerce-cart .wc-block-components-totals-coupon__form button,
body.woocommerce-checkout .wc-block-components-totals-coupon__form button {
    min-height: 54px !important;
    padding: 12px 22px !important;
    border: 1px solid var(--sage) !important;
    border-radius: 0 !important;
    background: var(--sage) !important;
    color: var(--beige) !important;
    -webkit-text-fill-color: var(--beige) !important;
    font-family: "Space Mono", monospace !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.09em !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
    box-shadow: none !important;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__button:hover:not(:disabled),
body.woocommerce-checkout .wc-block-components-totals-coupon__button:hover:not(:disabled),
body.woocommerce-cart .wc-block-components-totals-coupon__form button:hover:not(:disabled),
body.woocommerce-checkout .wc-block-components-totals-coupon__form button:hover:not(:disabled) {
    border-color: var(--dusty-rose-deep) !important;
    background: var(--dusty-rose-deep) !important;
    color: var(--beige) !important;
    -webkit-text-fill-color: var(--beige) !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__button:disabled,
body.woocommerce-checkout .wc-block-components-totals-coupon__button:disabled,
body.woocommerce-cart .wc-block-components-totals-coupon__form button:disabled,
body.woocommerce-checkout .wc-block-components-totals-coupon__form button:disabled {
    border-color: rgba(48, 74, 60, 0.52) !important;
    background: rgba(48, 74, 60, 0.52) !important;
    color: rgba(237, 226, 219, 0.86) !important;
    -webkit-text-fill-color: rgba(237, 226, 219, 0.86) !important;
    opacity: 1 !important;
    cursor: not-allowed;
}

@media (min-width: 901px) {
    body.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title h2,
    body.woocommerce-account .woocommerce-Address-title.title h2,
    body.woocommerce-account.woocommerce-edit-address .woocommerce-Address-title h2 {
        float: none !important;
        max-width: 100% !important;
        margin: 0 0 26px !important;
        color: var(--sage) !important;
        font-family: "Archivo", sans-serif !important;
        font-size: clamp(30px, 2.4vw, 42px) !important;
        font-style: italic !important;
        font-weight: 800 !important;
        line-height: 1.02 !important;
        letter-spacing: -0.035em !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }
}


/* 1.0.51 — usunięto powielone pozycje Moje konto i Koszyk z rozwijanego menu mobilnego; ikony pozostają w navbarze. */

/* 1.0.52 — breadcrumbs w nagłówkach sklepu i kategorii WooCommerce. */
.page-hero .shop-hero-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.7em;
    max-width: 100%;
}

.page-hero .shop-hero-breadcrumbs a,
.page-hero .shop-hero-breadcrumbs span {
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
}

.page-hero .shop-hero-breadcrumbs a {
    text-decoration: none;
    transition: color 180ms ease, opacity 180ms ease;
}

.page-hero .shop-hero-breadcrumbs a:hover,
.page-hero .shop-hero-breadcrumbs a:focus-visible,
.page-hero .shop-hero-breadcrumbs [aria-current="page"] {
    color: var(--beige);
}

.page-hero .shop-hero-breadcrumbs__separator {
    opacity: 0.58;
}



/* 1.0.53 — breadcrumbs podstron, mobilne logowanie i czystsze podsumowanie zamówienia. */
body.woocommerce-checkout .wc-block-components-product-metadata__description {
    display: none !important;
}

@media (max-width: 782px) {
    body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme {
        float: none !important;
        display: flex !important;
        align-items: center;
        gap: 14px;
        width: fit-content;
        margin: 0 0 18px !important;
        color: var(--sage);
        cursor: pointer;
    }

    body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme input[type="checkbox"] {
        -webkit-appearance: none;
        appearance: none;
        display: grid;
        flex: 0 0 22px;
        width: 22px;
        height: 22px;
        margin: 0;
        padding: 0;
        place-content: center;
        border: 1px solid rgba(48, 74, 60, 0.58);
        border-radius: 2px;
        outline: 0;
        background: var(--beige);
        color: var(--beige);
        cursor: pointer;
        transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
    }

    body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme input[type="checkbox"]::before {
        width: 11px;
        height: 6px;
        border-bottom: 3px solid currentColor;
        border-left: 3px solid currentColor;
        content: "";
        opacity: 0;
        transform: translateY(-1px) rotate(-45deg) scale(0.7);
        transition: opacity 140ms ease, transform 140ms ease;
    }

    body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme input[type="checkbox"]:checked {
        border-color: var(--sage-deep);
        background: var(--sage-deep);
        color: var(--beige);
        box-shadow: 0 0 0 3px rgba(32, 53, 42, 0.16);
    }

    body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme input[type="checkbox"]:checked::before {
        opacity: 1;
        transform: translateY(-1px) rotate(-45deg) scale(1);
    }

    body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme input[type="checkbox"]:focus-visible {
        outline: 2px solid var(--dusty-rose);
        outline-offset: 3px;
    }

    body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme span {
        display: flex;
        align-items: center;
        min-height: 22px;
        line-height: 1.4;
    }

    body.woocommerce-account:not(.logged-in) .woocommerce-form-login .woocommerce-form-login__submit {
        float: none !important;
        display: block;
        margin: 0 !important;
    }
}


/* 1.0.56 — pełna szerokość pojedynczego kafelka produktu na urządzeniach mobilnych. */
@media (max-width: 700px) {
    body.woocommerce-shop .shop-shell--catalog ul.products,
    body.tax-product_cat .shop-shell--catalog ul.products,
    body.tax-product_tag .shop-shell--catalog ul.products,
    body.post-type-archive-product .shop-shell--catalog ul.products,
    body.search-results.post-type-archive-product .shop-shell--catalog ul.products,
    .woocommerce-page ul.products,
    .woocommerce ul.products {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 20px !important;
        width: 100% !important;
        max-width: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
        justify-items: stretch !important;
    }

    body.woocommerce-shop .shop-shell--catalog ul.products li.product,
    body.tax-product_cat .shop-shell--catalog ul.products li.product,
    body.tax-product_tag .shop-shell--catalog ul.products li.product,
    body.post-type-archive-product .shop-shell--catalog ul.products li.product,
    body.search-results.post-type-archive-product .shop-shell--catalog ul.products li.product,
    .woocommerce-page ul.products[class*="columns-"] li.product,
    .woocommerce ul.products[class*="columns-"] li.product,
    .woocommerce-page ul.products li.product,
    .woocommerce ul.products li.product {
        float: none !important;
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        justify-self: stretch !important;
    }

    .woocommerce ul.products li.product > a,
    .woocommerce-page ul.products li.product > a,
    .woocommerce ul.products li.product .woocommerce-LoopProduct-link,
    .woocommerce-page ul.products li.product .woocommerce-LoopProduct-link {
        display: block;
        width: 100%;
    }

    .woocommerce ul.products li.product a img,
    .woocommerce-page ul.products li.product a img {
        width: 100% !important;
        max-width: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .woocommerce ul.products li.product .button,
    .woocommerce-page ul.products li.product .button {
        width: 100%;
        text-align: center;
    }
}


/* ========================================================================== 
   1.0.60 — płaskie kategorie produktów i rozwijane menu sprzętu
   ========================================================================== */
.primary-submenu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.primary-submenu-toggle svg {
    display: block;
    width: 14px;
    height: 14px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.6;
    transition: transform 180ms ease;
}

.primary-submenu-toggle[aria-expanded="true"] svg,
.smokovska-equipment-menu.is-submenu-open > .primary-submenu-toggle svg {
    transform: rotate(180deg);
}

@media (min-width: 1101px) {
    .desktop-nav__list > li.smokovska-equipment-menu {
        position: relative;
        display: flex;
        height: 38px;
        align-items: center;
    }

    .desktop-nav__list > li.smokovska-equipment-menu > a {
        padding-right: 18px;
    }

    .desktop-nav .primary-submenu-toggle {
        position: absolute;
        z-index: 2;
        top: 50%;
        right: -3px;
        width: 18px;
        height: 38px;
        color: rgba(247, 242, 237, 0.78);
        transform: translateY(-50%);
        transition: color 180ms ease;
    }

    .desktop-nav .primary-submenu-toggle:hover,
    .desktop-nav .primary-submenu-toggle:focus-visible,
    .desktop-nav .smokovska-equipment-menu:hover > .primary-submenu-toggle,
    .desktop-nav .smokovska-equipment-menu:focus-within > .primary-submenu-toggle {
        color: var(--dusty-rose);
    }

    .desktop-nav .smokovska-equipment-menu > .sub-menu {
        position: absolute;
        z-index: 520;
        top: calc(100% + 12px);
        left: 50%;
        display: grid;
        width: max-content;
        min-width: 300px;
        margin: 0;
        padding: 8px;
        border: 1px solid rgba(237, 226, 219, 0.22);
        background: rgba(48, 74, 60, 0.985);
        box-shadow: 0 18px 42px rgba(18, 31, 24, 0.24);
        list-style: none;
        opacity: 0;
        pointer-events: none;
        transform: translate(-50%, -8px);
        visibility: hidden;
        transition: opacity 180ms ease, transform 180ms ease, visibility 180ms step-end;
    }

    .desktop-nav .smokovska-equipment-menu > .sub-menu::before {
        position: absolute;
        right: 0;
        bottom: 100%;
        left: 0;
        height: 13px;
        content: "";
    }

    .desktop-nav .smokovska-equipment-menu:hover > .sub-menu,
    .desktop-nav .smokovska-equipment-menu:focus-within > .sub-menu,
    .desktop-nav .smokovska-equipment-menu.is-submenu-open > .sub-menu {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: translate(-50%, 0);
        transition: opacity 180ms ease, transform 180ms ease, visibility 0s step-start;
    }

    .desktop-nav .smokovska-equipment-menu > .sub-menu li {
        margin: 0;
        padding: 0;
        border-bottom: 1px solid rgba(237, 226, 219, 0.12);
    }

    .desktop-nav .smokovska-equipment-menu > .sub-menu li:last-child {
        border-bottom: 0;
    }

    .desktop-nav .smokovska-equipment-menu > .sub-menu a {
        display: flex;
        min-height: 42px;
        align-items: center;
        padding: 10px 12px;
        color: rgba(247, 242, 237, 0.86);
        font-family: "Space Mono", monospace;
        font-size: 10px;
        font-weight: 700;
        line-height: 1.35;
        letter-spacing: 0.07em;
        text-transform: uppercase;
        white-space: nowrap;
        transition: padding-left 180ms ease, background-color 180ms ease, color 180ms ease;
    }

    .desktop-nav .smokovska-equipment-menu > .sub-menu a::before {
        margin-right: 9px;
        color: var(--dusty-rose);
        content: "↳";
    }

    .desktop-nav .smokovska-equipment-menu > .sub-menu a:hover,
    .desktop-nav .smokovska-equipment-menu > .sub-menu a:focus-visible,
    .desktop-nav .smokovska-equipment-menu > .sub-menu .current-menu-item > a {
        padding-left: 17px;
        background: rgba(187, 122, 151, 0.14);
        color: var(--off-white);
    }
}

@media (max-width: 1100px) {
    .site-menu .smokovska-equipment-menu {
        position: relative;
    }

    .site-menu .smokovska-equipment-menu > a {
        padding-right: 58px !important;
    }

    .site-menu .smokovska-equipment-menu > .primary-submenu-toggle {
        position: absolute;
        z-index: 3;
        top: 9px;
        right: 0;
        width: 48px;
        height: 48px;
        color: var(--beige);
        transition: color 180ms ease, background-color 180ms ease;
    }

    .site-menu .smokovska-equipment-menu > .primary-submenu-toggle:hover,
    .site-menu .smokovska-equipment-menu > .primary-submenu-toggle:focus-visible,
    .site-menu .smokovska-equipment-menu.is-submenu-open > .primary-submenu-toggle {
        background: rgba(237, 226, 219, 0.08);
        color: var(--sage-deep);
    }

    .site-menu .smokovska-equipment-menu > .primary-submenu-toggle svg {
        width: 22px;
        height: 22px;
        stroke-width: 1.4;
    }

    .site-menu .smokovska-equipment-menu > .sub-menu {
        display: grid;
        max-height: 0;
        margin: 0;
        padding: 0 0 0 35px;
        overflow: hidden;
        border: 0;
        opacity: 0;
        visibility: hidden;
        transition: max-height 300ms ease, opacity 180ms ease, padding-bottom 300ms ease, visibility 300ms step-end;
    }

    .site-menu .smokovska-equipment-menu.is-submenu-open > .sub-menu {
        max-height: 430px;
        padding-bottom: 12px;
        opacity: 1;
        visibility: visible;
        transition: max-height 300ms ease, opacity 180ms ease, padding-bottom 300ms ease, visibility 0s step-start;
    }

    .site-menu .smokovska-equipment-menu > .sub-menu li {
        margin: 0;
        padding: 0;
        border-top: 1px solid rgba(48, 74, 60, 0.24) !important;
        border-right: 0 !important;
        border-bottom: 0 !important;
        border-left: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .site-menu .smokovska-equipment-menu > .sub-menu li:last-child {
        border-bottom: 1px solid rgba(48, 74, 60, 0.24) !important;
    }

    .site-menu .smokovska-equipment-menu > .sub-menu a,
    .site-menu .smokovska-equipment-menu > .sub-menu .current-menu-item > a,
    .site-menu .smokovska-equipment-menu > .sub-menu a[aria-current="page"] {
        display: flex;
        min-height: 46px;
        align-items: center;
        padding: 11px 8px 11px 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: var(--beige) !important;
        font-family: "Space Mono", monospace;
        font-size: clamp(12px, 3.35vw, 15px);
        font-style: normal;
        font-weight: 700;
        line-height: 1.35;
        letter-spacing: 0.035em;
        box-shadow: none !important;
        transition: color 180ms ease, padding-left 180ms ease;
    }

    .site-menu .smokovska-equipment-menu > .sub-menu a::before {
        flex: 0 0 auto;
        margin-right: 10px;
        color: var(--sage-deep);
        content: "↳";
    }

    .site-menu .smokovska-equipment-menu > .sub-menu a:hover,
    .site-menu .smokovska-equipment-menu > .sub-menu a:focus-visible,
    .site-menu .smokovska-equipment-menu > .sub-menu .current-menu-item > a,
    .site-menu .smokovska-equipment-menu > .sub-menu a[aria-current="page"] {
        padding-left: 8px !important;
        color: var(--sage-deep) !important;
    }
}

@media (min-width: 1101px) {
    .desktop-nav__list > .smokovska-equipment-menu.current-menu-ancestor > a {
        color: var(--off-white);
    }

    .desktop-nav__list > .smokovska-equipment-menu.current-menu-ancestor > a::after {
        transform: scaleX(1);
        transform-origin: left center;
    }
}

@media (max-width: 1100px) {
    .site-menu .smokovska-equipment-menu.current-menu-ancestor > a > span:last-child {
        color: var(--sage-deep) !important;
    }
}

/* ========================================================================== 
   1.0.61 - related products carousel
   ========================================================================== */
.related-products-carousel {
    position: relative;
    overflow: hidden;
}

.related-products-carousel__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.related-products-carousel__header > h2 {
    margin: 0 !important;
}

.related-products-carousel__controls {
    display: inline-flex;
    flex: 0 0 auto;
    gap: 10px;
}

.related-products-carousel__arrow {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(48, 74, 60, 0.48);
    border-radius: 0;
    background: transparent;
    color: var(--sage);
    cursor: pointer;
    transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, opacity 180ms ease;
}

.related-products-carousel__arrow svg {
    display: block;
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.related-products-carousel__arrow:hover,
.related-products-carousel__arrow:focus-visible {
    border-color: var(--dusty-rose-deep);
    background: var(--dusty-rose-deep);
    color: var(--beige);
}

.related-products-carousel__arrow:focus-visible {
    outline: 2px solid var(--dusty-rose);
    outline-offset: 3px;
}

.related-products-carousel__arrow:disabled {
    opacity: 0.28;
    cursor: default;
}

.related-products-carousel__arrow:disabled:hover {
    border-color: rgba(48, 74, 60, 0.48);
    background: transparent;
    color: var(--sage);
}

.related-products-carousel__controls.is-static {
    opacity: 0.45;
}

.woocommerce section.related.products.related-products-carousel > ul.products.related-products-carousel__track,
.woocommerce-page section.related.products.related-products-carousel > ul.products.related-products-carousel__track {
    display: flex !important;
    grid-template-columns: none !important;
    width: 100% !important;
    max-width: none !important;
    align-items: stretch;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.woocommerce section.related.products.related-products-carousel > ul.products.related-products-carousel__track::-webkit-scrollbar,
.woocommerce-page section.related.products.related-products-carousel > ul.products.related-products-carousel__track::-webkit-scrollbar {
    display: none;
}

.woocommerce section.related.products.related-products-carousel > ul.products.related-products-carousel__track > li.product,
.woocommerce-page section.related.products.related-products-carousel > ul.products.related-products-carousel__track > li.product {
    display: flex !important;
    flex: 0 0 calc((100% - 48px) / 3) !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex-direction: column;
    grid-column: auto !important;
    margin: 0 !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.woocommerce section.related.products.related-products-carousel li.product .woocommerce-LoopProduct-link,
.woocommerce-page section.related.products.related-products-carousel li.product .woocommerce-LoopProduct-link {
    display: flex;
    width: 100%;
    flex: 1 1 auto;
    flex-direction: column;
}

.woocommerce section.related.products.related-products-carousel li.product .button,
.woocommerce-page section.related.products.related-products-carousel li.product .button {
    width: 100%;
    margin-top: auto;
    text-align: center;
}

@media (max-width: 1100px) {
    .woocommerce section.related.products.related-products-carousel > ul.products.related-products-carousel__track,
    .woocommerce-page section.related.products.related-products-carousel > ul.products.related-products-carousel__track {
        gap: 20px !important;
    }

    .woocommerce section.related.products.related-products-carousel > ul.products.related-products-carousel__track > li.product,
    .woocommerce-page section.related.products.related-products-carousel > ul.products.related-products-carousel__track > li.product {
        flex-basis: calc((100% - 20px) / 2) !important;
    }
}

@media (max-width: 700px) {
    .related-products-carousel__header {
        align-items: center;
        gap: 16px;
        margin-bottom: 18px;
    }

    .related-products-carousel__header > h2 {
        font-size: clamp(28px, 8vw, 40px) !important;
    }

    .related-products-carousel__controls {
        gap: 8px;
    }

    .related-products-carousel__arrow {
        width: 44px;
        height: 44px;
    }

    .woocommerce section.related.products.related-products-carousel > ul.products.related-products-carousel__track,
    .woocommerce-page section.related.products.related-products-carousel > ul.products.related-products-carousel__track {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 16px !important;
        justify-items: normal !important;
    }

    .woocommerce section.related.products.related-products-carousel > ul.products.related-products-carousel__track > li.product,
    .woocommerce-page section.related.products.related-products-carousel > ul.products.related-products-carousel__track > li.product {
        flex: 0 0 100% !important;
        grid-column: auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .woocommerce section.related.products.related-products-carousel > ul.products.related-products-carousel__track,
    .woocommerce-page section.related.products.related-products-carousel > ul.products.related-products-carousel__track {
        scroll-behavior: auto;
    }
}


/* 1.0.62: jedna cena produktu w koszyku i podsumowaniu zamowienia */
.wp-block-woocommerce-cart .wc-block-cart-items .wc-block-cart-item__prices,
.wp-block-woocommerce-checkout-order-summary-cart-items-block .wc-block-cart-item__prices,
.wp-block-woocommerce-checkout-order-summary-cart-items-block .wc-block-components-order-summary-item__individual-prices {
    display: none !important;
}


/* 1.0.63: mobilny checkout z jednym podsumowaniem pod zgodami. */
@media (max-width: 767px) {
    body.woocommerce-checkout.smokovska-mobile-checkout-active .wc-block-checkout__sidebar,
    body.woocommerce-checkout.smokovska-mobile-checkout-active .wc-block-components-sidebar.wc-block-checkout__sidebar {
        display: none !important;
    }

    body.woocommerce-checkout.smokovska-mobile-checkout-active
    .wp-block-woocommerce-checkout-order-summary-block:not(.smokovska-mobile-checkout-summary) {
        display: none !important;
    }

    body.woocommerce-checkout .smokovska-mobile-checkout-finalize {
        display: flex;
        width: 100%;
        margin: 22px 0 0;
        flex-direction: column;
        gap: 16px;
    }

    body.woocommerce-checkout .smokovska-mobile-checkout-summary {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid rgba(48, 74, 60, 0.28);
        background: rgba(255, 255, 255, 0.18);
    }

    body.woocommerce-checkout .smokovska-mobile-checkout-summary
    .wc-block-components-checkout-order-summary__title {
        min-height: 64px;
        padding: 18px 20px !important;
    }

    body.woocommerce-checkout .smokovska-mobile-checkout-summary
    .wc-block-components-checkout-order-summary__content {
        padding: 0 20px 20px;
    }

    body.woocommerce-checkout .smokovska-mobile-place-order-button {
        display: flex !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 62px;
        margin: 0 !important;
    }
}

/* ========================================================================== 
   1.0.65 - "Nowe w sklepie" w koszyku jak karty katalogu i podobnych produktow
   ========================================================================== */
body.woocommerce-cart .smokovska-cart-new-products {
    width: 100%;
    max-width: none;
    margin: clamp(64px, 7vw, 110px) 0 0;
    padding: 0;
}

body.woocommerce-cart .smokovska-cart-new-products > h2,
body.woocommerce-cart .smokovska-cart-new-products > h3,
body.woocommerce-cart .smokovska-cart-new-products > .wp-block-heading,
body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__heading {
    margin: 0 0 24px !important;
    color: var(--sage) !important;
    font-family: "Archivo", sans-serif !important;
    font-size: clamp(34px, 4vw, 58px) !important;
    font-style: italic;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    text-align: left !important;
}

body.woocommerce-cart .smokovska-cart-new-products .smokovska-product-grid,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__products,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-product-template,
body.woocommerce-cart .smokovska-cart-new-products ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: none !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.woocommerce-cart .smokovska-cart-new-products .smokovska-product-grid::before,
body.woocommerce-cart .smokovska-cart-new-products .smokovska-product-grid::after,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__products::before,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__products::after,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-product-template::before,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-product-template::after {
    display: none !important;
}

body.woocommerce-cart .smokovska-cart-new-products .smokovska-product-card,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__product,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-product,
body.woocommerce-cart .smokovska-cart-new-products li.product {
    float: none !important;
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100%;
    margin: 0 !important;
    padding: 22px !important;
    flex-direction: column;
    border: 1px solid rgba(48, 74, 60, 0.22) !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.16) !important;
    color: var(--sage);
    text-align: left !important;
    box-shadow: none !important;
    transition: border-color 180ms ease, background-color 180ms ease;
}

body.woocommerce-cart .smokovska-cart-new-products .smokovska-product-card:hover,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__product:hover,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-product:hover,
body.woocommerce-cart .smokovska-cart-new-products li.product:hover {
    border-color: var(--dusty-rose-deep) !important;
    background: rgba(187, 122, 151, 0.12) !important;
}

body.woocommerce-cart .smokovska-cart-new-products .smokovska-product-card > a,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__product-link,
body.woocommerce-cart .smokovska-cart-new-products .woocommerce-LoopProduct-link,
body.woocommerce-cart .smokovska-cart-new-products .wp-block-post-title + * {
    min-width: 0;
}

body.woocommerce-cart .smokovska-cart-new-products .smokovska-product-card > a,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__product-link,
body.woocommerce-cart .smokovska-cart-new-products .woocommerce-LoopProduct-link {
    display: flex !important;
    width: 100% !important;
    flex: 1 1 auto;
    flex-direction: column;
    color: inherit;
    text-decoration: none;
}

body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__product-image,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-components-product-image,
body.woocommerce-cart .smokovska-cart-new-products .wp-block-woocommerce-product-image {
    width: 100% !important;
    margin: 0 0 18px !important;
}

body.woocommerce-cart .smokovska-cart-new-products img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 1 / 1.2;
    margin: 0 !important;
    object-fit: cover;
    filter: grayscale(0.35) brightness(0.85);
}

body.woocommerce-cart .smokovska-cart-new-products .smokovska-product-card__title,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__product-title,
body.woocommerce-cart .smokovska-cart-new-products .woocommerce-loop-product__title,
body.woocommerce-cart .smokovska-cart-new-products .wp-block-post-title,
body.woocommerce-cart .smokovska-cart-new-products .wp-block-post-title a {
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: var(--sage) !important;
    font-family: "Archivo", sans-serif !important;
    font-size: clamp(22px, 2vw, 32px) !important;
    font-style: italic;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    text-align: left !important;
    text-decoration: none !important;
}

body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__product-price,
body.woocommerce-cart .smokovska-cart-new-products .wp-block-woocommerce-product-price,
body.woocommerce-cart .smokovska-cart-new-products .price {
    display: block !important;
    margin: 0 0 18px !important;
    color: var(--dusty-rose-deep) !important;
    font-family: "Space Mono", monospace !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
    text-align: left !important;
}

body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__product-add-to-cart,
body.woocommerce-cart .smokovska-cart-new-products .wp-block-button,
body.woocommerce-cart .smokovska-cart-new-products .wp-block-woocommerce-product-button {
    width: 100% !important;
    margin: auto 0 0 !important;
}

body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__product-add-to-cart .wp-block-button__link,
body.woocommerce-cart .smokovska-cart-new-products .wp-block-button__link,
body.woocommerce-cart .smokovska-cart-new-products .add_to_cart_button,
body.woocommerce-cart .smokovska-cart-new-products a.button {
    display: flex !important;
    width: 100% !important;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 13px 18px !important;
    border: 1px solid var(--sage) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--sage) !important;
    font-family: "Space Mono", monospace !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0.1em !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
    transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}

body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__product-add-to-cart .wp-block-button__link:focus-visible,
body.woocommerce-cart .smokovska-cart-new-products .wp-block-button__link:hover,
body.woocommerce-cart .smokovska-cart-new-products .wp-block-button__link:focus-visible,
body.woocommerce-cart .smokovska-cart-new-products .add_to_cart_button:hover,
body.woocommerce-cart .smokovska-cart-new-products .add_to_cart_button:focus-visible,
body.woocommerce-cart .smokovska-cart-new-products a.button:hover,
body.woocommerce-cart .smokovska-cart-new-products a.button:focus-visible {
    border-color: var(--dusty-rose-deep) !important;
    background: var(--dusty-rose-deep) !important;
    color: var(--beige) !important;
}

@media (max-width: 1100px) {
    body.woocommerce-cart .smokovska-cart-new-products .smokovska-product-grid,
    body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__products,
    body.woocommerce-cart .smokovska-cart-new-products .wc-block-product-template,
    body.woocommerce-cart .smokovska-cart-new-products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }
}

@media (max-width: 700px) {
    body.woocommerce-cart .smokovska-cart-new-products {
        margin-top: 56px;
    }

    body.woocommerce-cart .smokovska-cart-new-products > h2,
    body.woocommerce-cart .smokovska-cart-new-products > h3,
    body.woocommerce-cart .smokovska-cart-new-products > .wp-block-heading,
    body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__heading {
        margin-bottom: 18px !important;
        font-size: clamp(30px, 9vw, 42px) !important;
    }

    body.woocommerce-cart .smokovska-cart-new-products .smokovska-product-grid,
    body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__products,
    body.woocommerce-cart .smokovska-cart-new-products .wc-block-product-template,
    body.woocommerce-cart .smokovska-cart-new-products ul.products {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 20px !important;
    }

    body.woocommerce-cart .smokovska-cart-new-products .smokovska-product-card,
    body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__product,
    body.woocommerce-cart .smokovska-cart-new-products .wc-block-product,
    body.woocommerce-cart .smokovska-cart-new-products li.product {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        padding: 20px !important;
    }
}

/* 1.0.66: po AJAX add-to-cart zostaje tylko licznik koszyka. */
ul.products li.product .add_to_cart_button.added::after,
ul.products li.product .ajax_add_to_cart.added::after,
.wc-block-grid__products .add_to_cart_button.added::after,
.wc-block-product-template .add_to_cart_button.added::after,
.smokovska-cart-new-products .add_to_cart_button.added::after {
    display: none !important;
    content: none !important;
    margin: 0 !important;
}

ul.products li.product .added_to_cart.wc-forward,
.wc-block-grid__products .added_to_cart.wc-forward,
.wc-block-product-template .added_to_cart.wc-forward,
.smokovska-cart-new-products .added_to_cart.wc-forward {
    display: none !important;
}


/* ========================================================================== 
   1.0.67 - "Nowe w sklepie" jako karuzela w szerokosci koszyka
   ========================================================================== */
body.woocommerce-cart .smokovska-cart-new-products.smokovska-cart-new-products-carousel {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    overflow: hidden !important;
    transform: none !important;
}

body.woocommerce-cart .smokovska-cart-new-products__header {
    display: flex;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin: 0 0 24px;
}

body.woocommerce-cart .smokovska-cart-new-products__header .smokovska-cart-new-products__heading {
    min-width: 0;
    margin: 0 !important;
}

body.woocommerce-cart .smokovska-cart-new-products__controls {
    display: inline-flex;
    flex: 0 0 auto;
}

body.woocommerce-cart .smokovska-cart-new-products .wp-block-query-pagination,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__pagination,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-components-pagination,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-product-collection__pagination,
body.woocommerce-cart .smokovska-cart-new-products [class*="product-collection__pagination"] {
    display: none !important;
}

body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track,
body.woocommerce-cart .smokovska-cart-new-products ul.smokovska-cart-new-products__track,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__products.smokovska-cart-new-products__track,
body.woocommerce-cart .smokovska-cart-new-products .wc-block-product-template.smokovska-cart-new-products__track {
    display: flex !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: none !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-behavior: smooth;
    scroll-padding-inline: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
    list-style: none !important;
    transform: none !important;
    -webkit-overflow-scrolling: touch;
}

body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track::-webkit-scrollbar {
    display: none;
}

body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track > .smokovska-product-card,
body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track > .wc-block-grid__product,
body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track > .wc-block-product,
body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track > li.product,
body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track > li {
    float: none !important;
    display: flex !important;
    box-sizing: border-box !important;
    flex: 0 0 calc((100% - 48px) / 3) !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    grid-column: auto !important;
    margin: 0 !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

@media (max-width: 1100px) {
    body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track {
        gap: 20px !important;
    }

    body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track > .smokovska-product-card,
    body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track > .wc-block-grid__product,
    body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track > .wc-block-product,
    body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track > li.product,
    body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track > li {
        flex-basis: calc((100% - 20px) / 2) !important;
        width: auto !important;
    }
}

@media (max-width: 700px) {
    body.woocommerce-cart .smokovska-cart-new-products__header {
        align-items: center;
        gap: 16px;
        margin-bottom: 18px;
    }

    body.woocommerce-cart .smokovska-cart-new-products__controls {
        gap: 8px;
    }

    body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track {
        gap: 16px !important;
    }

    body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track > .smokovska-product-card,
    body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track > .wc-block-grid__product,
    body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track > .wc-block-product,
    body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track > li.product,
    body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track > li {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.woocommerce-cart .smokovska-cart-new-products .smokovska-cart-new-products__track {
        scroll-behavior: auto;
    }
}


/* ========================================================================== 
   1.0.68 - mobile-first, first-tap-safe add to cart
   ========================================================================== */
@media (max-width: 900px) {
    .woocommerce ul.products li.product .add_to_cart_button,
    .woocommerce-page ul.products li.product .add_to_cart_button,
    .woocommerce section.related.products .add_to_cart_button,
    body.woocommerce-cart .smokovska-cart-new-products .add_to_cart_button,
    body.woocommerce-cart .smokovska-cart-new-products .wp-block-button__link,
    body.single-product .single_add_to_cart_button,
    body.single-product .smokovska-training-add-to-cart {
        position: relative !important;
        z-index: 8 !important;
        pointer-events: auto !important;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
        user-select: none;
    }

    .woocommerce ul.products li.product .add_to_cart_button[data-smokovska-cart-pending="1"],
    .woocommerce-page ul.products li.product .add_to_cart_button[data-smokovska-cart-pending="1"],
    .woocommerce section.related.products .add_to_cart_button[data-smokovska-cart-pending="1"],
    body.woocommerce-cart .smokovska-cart-new-products .add_to_cart_button[data-smokovska-cart-pending="1"] {
        cursor: progress;
        opacity: 0.72;
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product,
    .woocommerce section.related.products li.product,
    body.woocommerce-cart .smokovska-cart-new-products li,
    body.woocommerce-cart .smokovska-cart-new-products .wc-block-grid__product,
    body.woocommerce-cart .smokovska-cart-new-products .wc-block-product {
        isolation: isolate;
    }
}


/* ========================================================================== 
   1.0.69 - contained cart layout and shared product carousel geometry
   ========================================================================== */
body.woocommerce-cart .page-content.content-shell {
    width: 100% !important;
    max-width: calc(var(--content) + (var(--gutter) * 2)) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: var(--gutter) !important;
    padding-left: var(--gutter) !important;
}

body.woocommerce-cart .page-content.content-shell > *,
body.woocommerce-cart .page-content.content-shell > *.alignwide,
body.woocommerce-cart .page-content.content-shell > *.alignfull,
body.woocommerce-cart .page-content.content-shell .smokovska-cart-new-products,
body.woocommerce-cart .page-content.content-shell .smokovska-cart-new-products__host {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

body.woocommerce-cart .page-content.content-shell .alignwide,
body.woocommerce-cart .page-content.content-shell .alignfull {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
}

body.woocommerce-cart .smokovska-cart-new-products.related-products-carousel {
    position: relative !important;
    overflow: hidden !important;
}

body.woocommerce-cart .smokovska-cart-new-products__header.related-products-carousel__header {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 24px !important;
    margin: 0 0 24px !important;
}

body.woocommerce-cart .smokovska-cart-new-products__header .smokovska-cart-new-products__heading {
    margin: 0 !important;
}

body.woocommerce-cart ul.smokovska-cart-new-products__track.products.related-products-carousel__track {
    display: flex !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
    list-style: none !important;
    -webkit-overflow-scrolling: touch;
}

body.woocommerce-cart ul.smokovska-cart-new-products__track.products.related-products-carousel__track::-webkit-scrollbar {
    display: none;
}

body.woocommerce-cart ul.smokovska-cart-new-products__track.products.related-products-carousel__track > li.product {
    float: none !important;
    display: flex !important;
    box-sizing: border-box !important;
    flex: 0 0 calc((100% - 48px) / 3) !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 22px !important;
    flex-direction: column !important;
    border: 1px solid rgba(48, 74, 60, 0.22) !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.16) !important;
    color: var(--sage) !important;
    text-align: left !important;
    box-shadow: none !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

body.woocommerce-cart ul.smokovska-cart-new-products__track.products.related-products-carousel__track > li.product:hover {
    border-color: var(--dusty-rose-deep) !important;
    background: rgba(187, 122, 151, 0.12) !important;
}

body.woocommerce-cart .smokovska-cart-new-products li.product .woocommerce-LoopProduct-link {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
}

body.woocommerce-cart .smokovska-cart-new-products li.product .wc-block-grid__product-image {
    width: 100% !important;
    margin: 0 0 18px !important;
}

body.woocommerce-cart .smokovska-cart-new-products li.product .wc-block-grid__product-image img,
body.woocommerce-cart .smokovska-cart-new-products li.product .woocommerce-LoopProduct-link > img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 1 / 1.2;
    margin: 0 !important;
    object-fit: cover;
    filter: grayscale(0.35) brightness(0.85);
}

body.woocommerce-cart .smokovska-cart-new-products li.product .woocommerce-loop-product__title {
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: var(--sage) !important;
    font-family: "Archivo", sans-serif !important;
    font-size: clamp(22px, 2vw, 32px) !important;
    font-style: italic !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    text-align: left !important;
}

body.woocommerce-cart .smokovska-cart-new-products li.product .price {
    display: block !important;
    margin: 0 0 18px !important;
    color: var(--dusty-rose-deep) !important;
    font-family: "Space Mono", monospace !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
    text-align: left !important;
}

body.woocommerce-cart .smokovska-cart-new-products li.product .wc-block-grid__product-add-to-cart {
    width: 100% !important;
    margin: auto 0 0 !important;
}

body.woocommerce-cart .smokovska-cart-new-products li.product .button {
    display: flex !important;
    width: 100% !important;
    min-height: 46px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 13px 18px !important;
    border: 1px solid var(--sage) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--sage) !important;
    font-family: "Space Mono", monospace !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0.1em !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

body.woocommerce-cart .smokovska-cart-new-products li.product .button:hover,
body.woocommerce-cart .smokovska-cart-new-products li.product .button:focus-visible {
    border-color: var(--dusty-rose-deep) !important;
    background: var(--dusty-rose-deep) !important;
    color: var(--beige) !important;
}

@media (max-width: 1100px) {
    body.woocommerce-cart ul.smokovska-cart-new-products__track.products.related-products-carousel__track {
        gap: 20px !important;
    }

    body.woocommerce-cart ul.smokovska-cart-new-products__track.products.related-products-carousel__track > li.product {
        flex-basis: calc((100% - 20px) / 2) !important;
    }
}

@media (max-width: 700px) {
    body.woocommerce-cart .smokovska-cart-new-products__header.related-products-carousel__header {
        align-items: center !important;
        gap: 16px !important;
        margin-bottom: 18px !important;
    }

    body.woocommerce-cart ul.smokovska-cart-new-products__track.products.related-products-carousel__track {
        gap: 16px !important;
    }

    body.woocommerce-cart ul.smokovska-cart-new-products__track.products.related-products-carousel__track > li.product {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.woocommerce-cart ul.smokovska-cart-new-products__track.products.related-products-carousel__track {
        scroll-behavior: auto;
    }
}


/* ========================================================================== 
   1.0.70 - mobile menu layer and submenu interaction hardening
   ========================================================================== */
.site-menu {
    pointer-events: none;
}

.site-menu.is-open[aria-hidden="false"] {
    pointer-events: auto;
}

.site-menu[aria-hidden="true"],
.site-menu[inert],
body:not(.menu-is-open) .site-menu {
    pointer-events: none !important;
}

.site-menu[aria-hidden="true"] *,
.site-menu[inert] *,
body:not(.menu-is-open) .site-menu * {
    pointer-events: none !important;
}

@media (max-width: 1100px) {
    .site-menu .smokovska-equipment-menu > .sub-menu {
        pointer-events: none;
    }

    .site-menu .smokovska-equipment-menu.is-submenu-open > .sub-menu {
        pointer-events: auto;
    }

    .site-menu:not(.is-open) .primary-submenu-toggle,
    .site-menu:not(.is-open) .smokovska-equipment-menu > .sub-menu,
    .site-menu[aria-hidden="true"] .primary-submenu-toggle,
    .site-menu[aria-hidden="true"] .smokovska-equipment-menu > .sub-menu {
        pointer-events: none !important;
    }
}

/* ========================================================================== 
   1.0.71 - static "Nowe w sklepie" grid: 3 desktop, 2x2 tablet, 1x4 mobile
   ========================================================================== */
body.woocommerce-cart .smokovska-cart-new-products--static,
body.woocommerce-cart .smokovska-cart-new-products--static .smokovska-cart-new-products__host {
    overflow: visible !important;
}

body.woocommerce-cart .smokovska-cart-new-products--static .smokovska-cart-new-products__header {
    display: block !important;
    width: 100% !important;
    margin: 0 0 24px !important;
}

body.woocommerce-cart .smokovska-cart-new-products--static .smokovska-cart-new-products__controls,
body.woocommerce-cart .smokovska-cart-new-products--static .related-products-carousel__controls {
    display: none !important;
}

body.woocommerce-cart .smokovska-cart-new-products--static ul.smokovska-cart-new-products__track,
body.woocommerce-cart .smokovska-cart-new-products--static .wc-block-grid__products.smokovska-cart-new-products__track,
body.woocommerce-cart .smokovska-cart-new-products--static .wc-block-product-template.smokovska-cart-new-products__track {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    list-style: none !important;
}

body.woocommerce-cart .smokovska-cart-new-products--static .smokovska-cart-new-products__track > li.product,
body.woocommerce-cart .smokovska-cart-new-products--static .smokovska-cart-new-products__track > .wc-block-grid__product,
body.woocommerce-cart .smokovska-cart-new-products--static .smokovska-cart-new-products__track > .wc-block-product,
body.woocommerce-cart .smokovska-cart-new-products--static .smokovska-cart-new-products__track > li {
    display: flex !important;
    box-sizing: border-box !important;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    scroll-snap-align: none !important;
}

@media (min-width: 1101px) {
    body.woocommerce-cart .smokovska-cart-new-products--static .smokovska-cart-new-products__track > li:nth-child(n+4) {
        display: none !important;
    }
}

@media (max-width: 1100px) {
    body.woocommerce-cart .smokovska-cart-new-products--static ul.smokovska-cart-new-products__track,
    body.woocommerce-cart .smokovska-cart-new-products--static .wc-block-grid__products.smokovska-cart-new-products__track,
    body.woocommerce-cart .smokovska-cart-new-products--static .wc-block-product-template.smokovska-cart-new-products__track {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }

    body.woocommerce-cart .smokovska-cart-new-products--static .smokovska-cart-new-products__track > li:nth-child(n) {
        display: flex !important;
    }
}

@media (max-width: 700px) {
    body.woocommerce-cart .smokovska-cart-new-products--static .smokovska-cart-new-products__header {
        margin-bottom: 18px !important;
    }

    body.woocommerce-cart .smokovska-cart-new-products--static ul.smokovska-cart-new-products__track,
    body.woocommerce-cart .smokovska-cart-new-products--static .wc-block-grid__products.smokovska-cart-new-products__track,
    body.woocommerce-cart .smokovska-cart-new-products--static .wc-block-product-template.smokovska-cart-new-products__track {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 20px !important;
    }
}

/* ========================================================================== 
   1.0.73 - keep related products below the complete single-product layout
   ========================================================================== */
body.single-product .shop-shell--single-product section.related.products,
body.single-product .shop-shell--single-product section.related.products.related-products-carousel,
body.single-product .shop-shell--single-product section.up-sells.products,
body.single-product .shop-shell--single-product .woocommerce-tabs {
    clear: both !important;
    float: none !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

body.single-product .shop-shell--single-product section.related.products.related-products-carousel {
    margin-top: clamp(56px, 7vw, 96px) !important;
}

body.single-product .shop-shell--single-product section.related.products.related-products-carousel .related-products-carousel__header,
body.single-product .shop-shell--single-product section.related.products.related-products-carousel > ul.products {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* WooCommerce gallery/summary use desktop floats. The related section must not
 * create a formatting context in the remaining space beside either float. */
body.single-product .shop-shell--single-product div.product::after {
    display: table !important;
    clear: both !important;
    content: "" !important;
}

/* ========================================================================== 
   1.0.74 - mobilne menu hamburger z nawigacja drill-down
   ========================================================================== */
@media (min-width: 1101px) {
    /* Warstwa drill-down jest przeznaczona wyłącznie dla menu mobilnego. */
    .site-menu__drilldown {
        display: none !important;
    }
}

@media (max-width: 1100px) {
    .site-menu__inner {
        justify-content: flex-start;
        overflow: hidden;
        padding-top: clamp(112px, 14vh, 152px);
        padding-bottom: 34px;
    }

    .site-menu__eyebrow,
    .site-menu__footer {
        transition: opacity 180ms ease, visibility 180ms step-end;
    }

    .site-menu__drilldown {
        position: relative;
        width: 100%;
        min-height: 1px;
        overflow: hidden;
        transition: height 280ms cubic-bezier(0.22, 1, 0.36, 1);
    }

    .site-menu__track {
        display: flex;
        width: 100%;
        align-items: flex-start;
        transform: translate3d(0, 0, 0);
        transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
        will-change: transform;
    }

    .site-menu__panel {
        width: 100%;
        min-width: 0;
        flex: 0 0 100%;
    }

    .site-menu__panel[aria-hidden="true"] {
        visibility: hidden;
        pointer-events: none;
    }

    .site-menu__panel--root > .site-menu__list,
    .site-menu__panel--root > .menu {
        width: 100%;
    }

    .site-menu.is-drilldown-ready .site-menu__panel--root .menu-item-has-children {
        position: relative;
    }

    .site-menu.is-drilldown-ready .site-menu__panel--root .menu-item-has-children > a {
        padding-right: 66px !important;
    }

    .site-menu.is-drilldown-ready .site-menu__panel--root .menu-item-has-children > .primary-submenu-toggle {
        position: absolute;
        z-index: 4;
        top: 50%;
        right: 0;
        width: 54px;
        height: 54px;
        border: 1px solid rgba(237, 226, 219, 0.22);
        border-radius: 999px;
        background: rgba(237, 226, 219, 0.055);
        color: var(--beige);
        transform: translateY(-50%);
        transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
    }

    .site-menu.is-drilldown-ready .site-menu__panel--root .menu-item-has-children > .primary-submenu-toggle:hover,
    .site-menu.is-drilldown-ready .site-menu__panel--root .menu-item-has-children > .primary-submenu-toggle:focus-visible,
    .site-menu.is-drilldown-ready .site-menu__panel--root .menu-item-has-children.is-submenu-open > .primary-submenu-toggle {
        border-color: rgba(32, 53, 42, 0.48);
        background: rgba(32, 53, 42, 0.12);
        color: var(--sage-deep);
    }

    .site-menu.is-drilldown-ready .site-menu__panel--root .primary-submenu-toggle svg,
    .site-menu.is-drilldown-ready .site-menu__panel--root .primary-submenu-toggle[aria-expanded="true"] svg {
        width: 21px;
        height: 21px;
        stroke-width: 1.5;
        transform: rotate(-90deg);
    }

    .site-menu__drilldown-header {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 18px;
        align-items: center;
        min-height: 64px;
        padding-bottom: 18px;
        border-bottom: 1px solid var(--line);
    }

    .site-menu__back {
        display: inline-flex;
        min-height: 44px;
        align-items: center;
        gap: 8px;
        margin: 0;
        padding: 0 4px 0 0;
        border: 0;
        background: transparent;
        color: var(--sage-deep);
        font-family: "Space Mono", monospace;
        font-size: 10px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0.14em;
        text-transform: uppercase;
    }

    .site-menu__back svg {
        width: 22px;
        height: 22px;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.6;
        transition: transform 180ms ease;
    }

    .site-menu__back:hover svg,
    .site-menu__back:focus-visible svg {
        transform: translateX(-3px);
    }

    .site-menu__panel-title {
        overflow: hidden;
        margin: 0;
        color: var(--beige);
        font-family: "Archivo", sans-serif;
        font-size: clamp(22px, 4.4vw, 38px);
        font-style: italic;
        font-weight: 800;
        line-height: 0.98;
        letter-spacing: -0.035em;
        text-overflow: ellipsis;
    }

    .site-menu__overview-link {
        display: flex;
        min-height: 58px;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        padding: 14px 0;
        border-bottom: 1px solid var(--line);
        color: var(--sage-deep);
        font-family: "Space Mono", monospace;
        font-size: 10px;
        font-weight: 700;
        line-height: 1.35;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        transition: color 180ms ease, padding-left 180ms ease;
    }

    .site-menu__overview-link:hover,
    .site-menu__overview-link:focus-visible {
        padding-left: 8px;
        color: var(--beige);
    }

    .site-menu__overview-link > span:last-child {
        font-size: 20px;
        font-weight: 400;
        line-height: 1;
        letter-spacing: 0;
    }

    .site-menu.is-drilldown-ready .site-menu__submenu-list {
        display: block !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        border: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .site-menu.is-drilldown-ready .site-menu__submenu-list > li {
        margin: 0 !important;
        padding: 0 !important;
        border-top: 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid var(--line) !important;
        border-left: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a,
    .site-menu.is-drilldown-ready .site-menu__submenu-list > li.current-menu-item > a,
    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a[aria-current="page"] {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 18px;
        align-items: center;
        min-height: 62px;
        padding: 15px 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: var(--beige) !important;
        font-family: "Archivo", sans-serif;
        font-size: clamp(19px, 3.3vw, 28px);
        font-style: italic;
        font-weight: 800;
        line-height: 1.05;
        letter-spacing: -0.025em;
        box-shadow: none !important;
        transition: color 180ms ease, padding-left 180ms ease;
    }

    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a::before {
        display: none !important;
        content: none !important;
    }

    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a::after {
        display: block !important;
        color: var(--sage-deep);
        content: "→" !important;
        font-family: "Space Mono", monospace;
        font-size: 18px;
        font-style: normal;
        font-weight: 400;
        line-height: 1;
        transition: transform 180ms ease;
    }

    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a:hover,
    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a:focus-visible,
    .site-menu.is-drilldown-ready .site-menu__submenu-list > li.current-menu-item > a,
    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a[aria-current="page"] {
        padding-left: 8px !important;
        color: var(--sage-deep) !important;
    }

    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a:hover::after,
    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a:focus-visible::after {
        transform: translateX(4px);
    }

    .site-menu.is-drilled .site-menu__eyebrow,
    .site-menu.is-drilled .site-menu__footer {
        height: 0;
        margin: 0;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }
}

@media (max-width: 700px) {
    .site-menu__inner {
        padding-top: 108px;
    }

    .site-menu.is-drilldown-ready .site-menu__panel--root .menu-item-has-children > a {
        padding-right: 58px !important;
    }

    .site-menu.is-drilldown-ready .site-menu__panel--root .menu-item-has-children > .primary-submenu-toggle {
        width: 46px;
        height: 46px;
    }

    .site-menu__drilldown-header {
        grid-template-columns: 1fr;
        gap: 4px;
        min-height: 82px;
        padding-bottom: 14px;
    }

    .site-menu__back {
        min-height: 32px;
    }

    .site-menu__panel-title {
        font-size: clamp(23px, 7vw, 34px);
    }

    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a,
    .site-menu.is-drilldown-ready .site-menu__submenu-list > li.current-menu-item > a,
    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a[aria-current="page"] {
        min-height: 58px;
        font-size: clamp(18px, 5.8vw, 26px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-menu__drilldown,
    .site-menu__track,
    .site-menu__back svg,
    .site-menu__overview-link,
    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a,
    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a::after {
        transition: none !important;
    }
}


/* ========================================================================== 
   1.0.75 - drill-down: strzalki tylko dla kolejnych poziomow
   ========================================================================== */
@media (max-width: 1100px) {
    /* Chevron otwiera kolejny poziom, ale nie jest zamkniety w kole. */
    .site-menu.is-drilldown-ready .site-menu__panel .menu-item-has-children {
        position: relative;
    }

    .site-menu.is-drilldown-ready .site-menu__panel .menu-item-has-children > a {
        padding-right: 48px !important;
    }

    .site-menu.is-drilldown-ready .site-menu__panel .menu-item-has-children > .primary-submenu-toggle {
        position: absolute;
        z-index: 4;
        top: 50%;
        right: 0;
        width: 40px;
        height: 54px;
        margin: 0;
        padding: 0;
        border: 0 !important;
        border-radius: 0 !important;
        outline-offset: 2px;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--beige);
        transform: translateY(-50%);
        transition: color 180ms ease, transform 180ms ease;
    }

    .site-menu.is-drilldown-ready .site-menu__panel .menu-item-has-children > .primary-submenu-toggle:hover,
    .site-menu.is-drilldown-ready .site-menu__panel .menu-item-has-children > .primary-submenu-toggle:focus-visible,
    .site-menu.is-drilldown-ready .site-menu__panel .menu-item-has-children.is-submenu-open > .primary-submenu-toggle {
        border: 0 !important;
        background: transparent !important;
        color: var(--sage-deep);
        box-shadow: none !important;
    }

    .site-menu.is-drilldown-ready .site-menu__panel .primary-submenu-toggle svg,
    .site-menu.is-drilldown-ready .site-menu__panel .primary-submenu-toggle[aria-expanded="true"] svg {
        width: 23px;
        height: 23px;
        stroke-width: 1.5;
        transform: rotate(-90deg);
    }

    /* Zwykle linki nie sugeruja kolejnego poziomu. */
    .site-menu__overview-link {
        justify-content: flex-start;
    }

    .site-menu__overview-link > span:only-child {
        font-size: inherit;
        font-weight: inherit;
        line-height: inherit;
        letter-spacing: inherit;
    }

    /* Podkategorie korzystaja z tego samego rytmu co pierwszy ekran menu. */
    .site-menu.is-drilldown-ready .site-menu__submenu-list {
        counter-reset: mobile-submenu-item;
    }

    .site-menu.is-drilldown-ready .site-menu__submenu-list > li {
        position: relative;
        counter-increment: mobile-submenu-item;
        border-top: 1px solid var(--line) !important;
        border-right: 0 !important;
        border-bottom: 0 !important;
        border-left: 0 !important;
    }

    .site-menu.is-drilldown-ready .site-menu__submenu-list > li:first-child {
        border-top: 0 !important;
    }

    .site-menu.is-drilldown-ready .site-menu__submenu-list > li:last-child {
        border-bottom: 1px solid var(--line) !important;
    }

    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a,
    .site-menu.is-drilldown-ready .site-menu__submenu-list > li.current-menu-item > a,
    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a[aria-current="page"] {
        display: grid;
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 0;
        align-items: center;
        min-height: 0;
        padding: clamp(14px, 2.1vh, 24px) 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: var(--beige) !important;
        font-family: "Archivo", sans-serif;
        font-size: clamp(27px, 4vw, 42px);
        font-style: italic;
        font-weight: 800;
        line-height: 1;
        letter-spacing: -0.035em;
        box-shadow: none !important;
        transition: color 180ms ease, padding-left 180ms ease;
    }

    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a::before {
        display: block !important;
        margin: 0 !important;
        color: var(--accent);
        content: counter(mobile-submenu-item, decimal-leading-zero) !important;
        font-family: "Space Mono", monospace;
        font-size: 9px;
        font-style: normal;
        font-weight: 400;
        line-height: 1;
        letter-spacing: 0.15em;
    }

    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a::after {
        display: none !important;
        content: none !important;
    }

    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a:hover,
    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a:focus-visible,
    .site-menu.is-drilldown-ready .site-menu__submenu-list > li.current-menu-item > a,
    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a[aria-current="page"] {
        padding-left: 16px !important;
        color: var(--off-white) !important;
    }

    .site-menu.is-drilldown-ready .site-menu__submenu-list > li.current-menu-item > a,
    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a[aria-current="page"] {
        padding-left: 0 !important;
        color: var(--sage-deep) !important;
    }
}

@media (max-width: 700px) {
    .site-menu.is-drilldown-ready .site-menu__panel .menu-item-has-children > a {
        padding-right: 42px !important;
    }

    .site-menu.is-drilldown-ready .site-menu__panel .menu-item-has-children > .primary-submenu-toggle {
        width: 36px;
        height: 46px;
    }

    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a,
    .site-menu.is-drilldown-ready .site-menu__submenu-list > li.current-menu-item > a,
    .site-menu.is-drilldown-ready .site-menu__submenu-list > li > a[aria-current="page"] {
        grid-template-columns: 35px minmax(0, 1fr);
        font-size: clamp(23px, 7.4vw, 34px);
        line-height: 0.98;
    }
}
