/*
Theme Name: Mycotar Naturalna Mykologia
Theme URI: https://mycotar.pl/
Author: Mycotar Team
Version: 1.0
Description: Szablon dostosowany pod naturalną mykologię i WooCommerce.
Text Domain: mycotar
*/

:root {
    --cream-bg: #f7f1e6;
    --cream-bg-alt: #ece2cc;
    --dark-brown: #3d3528;
    --dark-brown-2: #2e2820;
    --rust-accent: #c08a3e;
    --moss-green: #7a8a5a;
    --text-muted: #6b5d4f;
    --text-muted-dark: #d8cdb8;
    --tan-light: #a89472;
    --error-red: #c0392b;
    --border: rgba(61, 53, 40, 0.15);
    --status-available-bg: #e3efe0;
    --status-available-text: #3c6b35;
    --status-unavailable-bg: #f8e2df;
    --status-unavailable-text: #9a5a4f;
}

.card-link { display: flex; flex-direction: column; text-decoration: none; color: inherit; flex: 1; }

.badge-status { display: inline-block; padding: 2px 9px; border-radius: 4px; font-size: 0.62rem; font-weight: 600; letter-spacing: 0.04em; }
.badge-available { background: var(--status-available-bg); color: var(--status-available-text); }
.badge-unavailable { background: var(--status-unavailable-bg); color: var(--status-unavailable-text); }

.price-tag { font-family: 'Playfair Display', serif; font-size: 1.5rem; font-weight: 700; color: var(--rust-accent); margin-bottom: 10px; }
.price-tag del { font-size: 1rem; font-weight: 400; opacity: 0.55; margin-right: 6px; text-decoration: line-through; }
.price-tag ins { text-decoration: none; }

.card-cart-btn { display: block; text-align: center; margin: 8px 20px 18px; padding: 10px 14px; background: var(--rust-accent); color: #fff; text-decoration: none; font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; letter-spacing: 0.05em; text-transform: uppercase; border-radius: 5px; transition: 0.25s ease; }
.card-cart-btn:hover { background: var(--dark-brown-2); }
.card-cart-btn-disabled { background: transparent; color: var(--tan-light); border: 1px solid var(--border); }
.card-cart-btn-disabled:hover { background: var(--cream-bg-alt); color: var(--dark-brown); }

* { margin: 0; padding: 0; box-sizing: border-box; }
body, html { width: 100%; background-color: var(--cream-bg); color: var(--dark-brown); font-family: 'Lora', serif; scroll-behavior: smooth; overflow-x: clip; }
body { display: flex; flex-direction: column; min-height: 100vh; }

.eye-shutter {
    position: fixed; top: 0; left: 0; width: 100%; height: 15vh;
    background: linear-gradient(to bottom, rgba(8, 6, 4, 0.85) 0%, transparent 100%);
    z-index: 100; pointer-events: none;
}

.parallax-wrapper {
    position: fixed; top: 0; left: 0; width: 100%; height: 65vh; min-height: 420px;
    z-index: 1; overflow: hidden;
}
.parallax-wrapper::after {
    content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 30%;
    background: linear-gradient(to top, rgba(8, 6, 4, 0.85) 0%, transparent 100%);
    pointer-events: none;
}
.bg-video {
    width: 100%; height: 100%; object-fit: cover;
    filter: brightness(52%) contrast(1.05) sepia(0.15);
    background: var(--dark-brown);
}

.hero header {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    display: flex; flex-direction: column; justify-content: center; align-items: center;
    text-align: center; z-index: 3;
    transform: translateY(-30px);
}

h1 span { color: var(--rust-accent); font-weight: 300; }
.hero header h1 { font-family: 'Inter', sans-serif; font-size: clamp(2.4rem, 9vw, 6rem); font-weight: 800; letter-spacing: 0.02em; line-height: 0.95; color: #fff; }
.h1-tagline { display: block; font-family: 'JetBrains Mono', monospace; font-size: clamp(0.75rem, 1.6vw, 1rem); font-weight: 400; letter-spacing: 0.15em; text-transform: uppercase; color: var(--rust-accent); margin-top: 16px; }
.hero-emblem { width: 200px; height: 200px; object-fit: contain; margin-bottom: 18px; }
.status-bar { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--moss-green); margin-bottom: 20px; letter-spacing: 3px; text-transform: uppercase; }
.hero header h1, .nav .btn { text-shadow: 0px 2px 10px rgba(0,0,0,0.3); }

.nav { margin-top: 40px; display: flex; gap: 15px; flex-wrap: wrap; justify-content: center; }
.btn {
    padding: 12px 25px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 0.7rem;
    letter-spacing: 2px;
    transition: all 0.3s ease;
    font-family: 'JetBrains Mono', monospace;
    position: relative;
    background: rgba(61, 53, 40, 0.25);
    backdrop-filter: blur(5px);
    border-radius: 4px;
}
.btn:hover {
    border-color: var(--rust-accent);
    color: var(--rust-accent);
    background: rgba(192, 138, 62, 0.12);
    transform: translateY(-2px);
}
.btn-cart {
    background: var(--rust-accent) !important;
    border-color: var(--rust-accent) !important;
    color: #fff !important;
}
.btn-cart:hover {
    background: #fff !important;
    border-color: #fff !important;
    color: var(--dark-brown-2) !important;
}

.spacer { height: 65vh; min-height: 420px; width: 100%; }

.main-content {
    position: relative; z-index: 150; background: var(--cream-bg); width: 100%;
    padding-top: 20px;
}
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

.brand-section { padding: 60px 0; border-bottom: 2px solid var(--dark-brown); }
.brand-section:last-of-type { border-bottom: none; }
.section-tag { font-size: 0.65rem; color: var(--tan-light); letter-spacing: 4px; text-transform: uppercase; display: block; margin-bottom: 18px; font-family: 'JetBrains Mono', monospace; }

.slider-viewport {
    width: 100%;
    position: relative;
    margin: 0;
    border: 1px solid var(--border);
    border-radius: 0;
    background-color: var(--dark-brown);
    overflow: hidden;
}

.scanline-overlay { display: none; }

.slider-track {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    transition: transform 1.2s cubic-bezier(0.85, 0, 0.15, 1);
}

.slide {
    min-width: 100%;
    width: 100%;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    padding: 80px 20px;
}

.slide-inner {
    width: 100%;
    max-width: 750px;
    padding: clamp(30px, 6vw, 50px);
    background: rgba(247, 241, 230, 0.04);
    border: 1px solid var(--rust-accent);
    border-radius: 0;
    position: relative;
    z-index: 20;
    display: block;
    word-wrap: break-word;
    hyphens: auto;
}

.slide-inner h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.4rem, 5vw, 2.5rem);
    margin-bottom: 20px;
    color: var(--rust-accent);
    font-weight: 700;
    line-height: 1.1;
}

.slide-inner p {
    font-size: clamp(0.95rem, 2.5vw, 1.15rem);
    color: var(--text-muted-dark);
    line-height: 1.7;
    font-family: 'Lora', serif;
    border-left: 3px solid var(--rust-accent);
    padding-left: 20px;
}

.progress-mini { position: absolute; bottom: 0; left: 0; height: 2px; background: var(--rust-accent); width: 0%; animation: miniProg 4s linear infinite; }
@keyframes miniProg { from { width: 0%; } to { width: 100%; } }

.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 20px; margin-top: 30px; align-items: stretch; }
.grid .monitor-card { max-width: 460px; }

.monitor-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: var(--dark-brown);
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 0;
    position: relative;
    overflow: hidden;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.monitor-card:hover {
    border-color: rgba(192, 138, 62, 0.4);
    transform: translateY(-6px);
    box-shadow: 0 14px 24px rgba(61, 53, 40, 0.15);
}

.monitor-card .card-thumb {
    width: 100%;
    height: 300px;
    background: var(--cream-bg-alt);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--tan-light);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.65rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    border-bottom: 3px solid var(--rust-accent);
    overflow: hidden;
    flex-shrink: 0;
}
.monitor-card .card-thumb img { width: 100%; height: 100%; object-fit: cover; }

.monitor-card .card-body { padding: 18px 20px; flex: 1; display: flex; flex-direction: column; }

.card-header { display: flex; justify-content: space-between; font-family: 'JetBrains Mono', monospace; font-size: 0.62rem; margin-bottom: 10px; color: var(--tan-light); letter-spacing: 1px; }

.pulse { color: var(--rust-accent); }
.pulse-white { color: var(--moss-green); }
.pulse-pink { color: var(--rust-accent); }
.pulse-yellow { color: var(--rust-accent); }
.pulse-orange { color: var(--rust-accent); }
.pulse-grey { color: var(--moss-green); }

.mush-name { font-family: 'Playfair Display', serif; font-size: 1.4rem; font-weight: 700; margin-bottom: 4px; letter-spacing: 0; color: var(--dark-brown-2); line-height: 1.2; }
.data-stream { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--text-muted); margin-bottom: 3px; margin-top: 6px; }
.data-line { display: flex; justify-content: space-between; margin-bottom: 5px; border-bottom: 1px dotted var(--border); padding-bottom: 3px; }
.data-line span { color: var(--rust-accent); }

.status-badge { font-family: 'JetBrains Mono', monospace; font-size: 0.6rem; padding: 4px 10px; border: 1px solid var(--border); display: inline-block; margin-bottom: 16px; text-transform: uppercase; border-radius: 3px; color: var(--tan-light); }
.status-ready { color: var(--rust-accent); border-color: var(--rust-accent); }

.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 50px; }
.value-card { background: var(--cream-bg-alt); border: 1px solid var(--border); border-radius: 6px; padding: 28px; }
.value-card h3 { font-family: 'Playfair Display', serif; font-size: 1.3rem; color: var(--dark-brown-2); margin-bottom: 14px; padding-bottom: 12px; border-bottom: 2px solid var(--rust-accent); }
.value-card ul { list-style: none; }
.value-card li { color: var(--text-muted); font-size: 0.92rem; line-height: 1.6; margin-bottom: 10px; padding-left: 18px; position: relative; }
.value-card li::before { content: "—"; position: absolute; left: 0; color: var(--rust-accent); }

.text-block { max-width: 880px; }
.text-block-title { font-family: 'Playfair Display', serif; font-size: 1.5rem; color: var(--dark-brown-2); margin-bottom: 16px; font-weight: 700; }
.text-block p { color: var(--text-muted); line-height: 1.8; font-size: 1rem; margin-bottom: 16px; }

@media (max-width: 768px) {
    .value-grid { grid-template-columns: 1fr; }
}

.featured-slider-wrap { position: relative; z-index: 10; background: var(--dark-brown); }
.featured-slider-viewport { position: relative; width: 100%; height: 480px; overflow: hidden; }
.featured-slider-track { display: flex; height: 100%; transition: transform 1s cubic-bezier(0.85,0,0.15,1); }
.featured-slide { flex: 0 0 100%; height: 100%; background-size: cover; background-position: center; position: relative; }
.featured-slide-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(46,40,32,0.55), rgba(46,40,32,0.75)); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 40px 20px; }
.featured-slide-cat { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; letter-spacing: 3px; text-transform: uppercase; color: var(--rust-accent); margin-bottom: 16px; }
.featured-slide-title { font-family: 'Playfair Display', serif; font-size: clamp(1.6rem, 4vw, 2.6rem); color: #fff; max-width: 760px; margin-bottom: 18px; font-weight: 700; }
.featured-slide-excerpt { color: var(--text-muted-dark); font-size: 0.95rem; max-width: 620px; line-height: 1.6; margin-bottom: 26px; }
.featured-slide-btn { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; letter-spacing: 2px; text-transform: uppercase; color: #fff; border: 1px solid rgba(255,255,255,0.5); padding: 12px 26px; text-decoration: none; border-radius: 4px; transition: 0.3s ease; margin-bottom: 20px; }
.featured-slide-btn:hover { background: var(--rust-accent); border-color: var(--rust-accent); }
.featured-slide-date { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--tan-light); }

.featured-arrow { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0,0,0,0.25); color: #fff; border: none; width: 44px; height: 44px; border-radius: 50%; font-size: 1.6rem; cursor: pointer; z-index: 5; transition: 0.25s ease; }
.featured-arrow:hover { background: var(--rust-accent); }
.featured-arrow-prev { left: 20px; }
.featured-arrow-next { right: 20px; }

.featured-dots { position: absolute; bottom: 18px; left: 0; width: 100%; display: flex; justify-content: center; gap: 8px; z-index: 5; }
.featured-dot { width: 9px; height: 9px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.6); background: transparent; cursor: pointer; padding: 0; transition: 0.25s ease; }
.featured-dot.active { background: var(--rust-accent); border-color: var(--rust-accent); }

@media (max-width: 600px) {
    .featured-slider-viewport { height: 560px; }
}

.post-topbar { display: flex; justify-content: space-between; align-items: center; padding: 22px 40px; background: var(--dark-brown); }
.post-topbar-logo { font-family: 'Playfair Display', serif; font-size: 1.4rem; font-weight: 700; color: #fff; text-decoration: none; }
.post-topbar-logo span { color: var(--rust-accent); font-style: italic; }
.post-topbar-back { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; letter-spacing: 1px; text-transform: uppercase; color: var(--text-muted-dark); text-decoration: none; }
.post-topbar-back:hover { color: var(--rust-accent); }

.post-hero { width: 100%; height: 360px; background-size: cover; background-position: center; position: relative; }
.post-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(46,40,32,0.1), var(--cream-bg) 95%); }

.post-main { background: var(--cream-bg); padding: 50px 20px 80px; flex: 1 1 auto; }
.post-article { max-width: 760px; margin: 0 auto; }

.post-meta { display: flex; gap: 16px; align-items: center; font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; letter-spacing: 1px; text-transform: uppercase; color: var(--rust-accent); margin-bottom: 16px; }
.post-meta-date { color: var(--tan-light); }

.post-title { font-family: 'Playfair Display', serif; font-size: clamp(1.8rem, 5vw, 2.8rem); font-weight: 700; color: var(--dark-brown-2); line-height: 1.15; margin-bottom: 30px; }

.post-content { color: var(--text-muted); font-size: 1.05rem; line-height: 1.85; }
.post-content p { margin-bottom: 22px; }
.post-content h2, .post-content h3 { font-family: 'Playfair Display', serif; color: var(--dark-brown-2); margin: 36px 0 16px; }
.post-content img { max-width: 100%; border-radius: 6px; margin: 10px 0; }
.post-content a { color: var(--rust-accent); }
.post-content blockquote { border-left: 3px solid var(--rust-accent); padding-left: 20px; color: var(--dark-brown-2); font-style: italic; margin: 24px 0; }
.post-content ul, .post-content ol { margin: 0 0 22px 22px; color: var(--text-muted); }
.post-content li { margin-bottom: 8px; }

.post-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 40px; padding-top: 30px; border-top: 1px solid var(--border); }
.post-tags .tag-pill { color: var(--text-muted); border-color: var(--border); }
.post-tags .tag-pill:hover { color: var(--dark-brown); border-color: var(--rust-accent); background: var(--cream-bg-alt); }

.post-comments { margin-top: 50px; padding-top: 30px; border-top: 1px solid var(--border); }
.footer-inner { max-width: 1100px; margin: 0 auto; padding: 0 20px; }

.footer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 36px; text-align: left; margin-bottom: 44px; }
.footer-grid h4 { font-family: 'Playfair Display', serif; color: #fff; font-size: 1rem; margin-bottom: 14px; font-weight: 700; }
.footer-tagline { color: var(--text-muted-dark); font-size: 0.85rem; line-height: 1.6; }
.footer-address { color: var(--text-muted-dark); font-size: 0.85rem; line-height: 1.7; font-style: normal; }
.footer-address a { color: var(--rust-accent); text-decoration: none; }
.footer-address a:hover { color: #fff; }

.footer-links-col { display: flex; flex-direction: column; justify-content: flex-start; gap: 10px; margin-top: 0; }
.footer-links-col a { text-align: left; }

.footer-tags { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 30px; padding-top: 30px; border-top: 1px solid rgba(255,255,255,0.08); }
.tag-pill { font-family: 'JetBrains Mono', monospace; font-size: 0.62rem; letter-spacing: 0.03em; text-transform: lowercase; color: var(--text-muted-dark); border: 1px solid rgba(255,255,255,0.12); padding: 5px 12px; border-radius: 20px; text-decoration: none; transition: 0.25s ease; }
.tag-pill:hover { color: #fff; border-color: var(--rust-accent); background: rgba(192,138,62,0.15); }

.footer-text { color: var(--text-muted-dark); font-size: 0.65rem; letter-spacing: 5px; text-transform: uppercase; font-family: 'JetBrains Mono', monospace; }
.footer-links { display: flex; justify-content: center; gap: 30px; margin-top: 20px; flex-wrap: wrap; }
.footer-links a { font-family: 'JetBrains Mono', monospace; font-size: 0.6rem; letter-spacing: 3px; text-transform: uppercase; color: var(--rust-accent) !important; text-decoration: none; transition: color 0.3s; }
.footer-links a:hover { color: #fff !important; }

@media (max-width: 768px) {
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
}
@media (max-width: 480px) {
    .footer-grid { grid-template-columns: 1fr; }
}

.back-to-top {
    position: fixed; bottom: 30px; right: 30px; width: 50px; height: 50px;
    background: var(--rust-accent); backdrop-filter: blur(5px); color: #fff;
    display: flex; align-items: center; justify-content: center;
    text-decoration: none; z-index: 1000; opacity: 0; visibility: hidden; transition: 0.3s; border: 1px solid var(--rust-accent);
    border-radius: 50%;
}
.back-to-top.visible { opacity: 1; visibility: visible; }
.back-to-top:hover { background: #a4762f; border-color: #a4762f; }

/* ── HAMBURGER NAV ── */
.mob-nav {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    z-index: 500;
    padding: 14px 20px;
    background: rgba(61, 53, 40, 0.9);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border);
    align-items: center;
    justify-content: space-between;
}
.mob-nav-logo {
    font-family: 'Inter', sans-serif;
    font-weight: 800;
    font-size: 1.1rem;
    letter-spacing: 0.02em;
    color: #fff;
    text-decoration: none;
}
.mob-nav-logo span { color: var(--rust-accent); font-weight: 300; }

.hamburger {
    width: 34px; height: 34px;
    display: flex; flex-direction: column;
    justify-content: center; align-items: center; gap: 6px;
    cursor: pointer;
    background: none; border: none; padding: 4px;
}
.hamburger span {
    display: block;
    width: 24px; height: 1.5px;
    background: #fff;
    transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform-origin: center;
}
.hamburger.open span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); background: var(--rust-accent); }
.hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.hamburger.open span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); background: var(--rust-accent); }

.mob-menu {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 490;
    background: rgba(61, 53, 40, 0.98);
    display: flex; flex-direction: column;
    justify-content: center; align-items: center; gap: 20px;
    opacity: 0; visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}
.mob-menu.open { opacity: 1; visibility: visible; }

.mob-menu a {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.85rem;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #fff;
    text-decoration: none;
    padding: 14px 30px;
    border: 1px solid var(--border);
    width: 260px;
    text-align: center;
    transition: all 0.3s ease;
    border-radius: 4px;
}
.mob-menu a:hover, .mob-menu a:focus {
    border-color: var(--rust-accent);
    color: var(--rust-accent);
}
.mob-menu .mob-status {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6rem;
    color: var(--rust-accent);
    letter-spacing: 3px;
    margin-bottom: 20px;
}

@media (max-width: 768px) {
    .mob-nav { display: flex; }
}

/* ── WOOCOMMERCE PRODUCT PAGE — MYCOTAR OVERRIDES ── */

.woocommerce div.product .woocommerce-product-details__short-description p,
.woocommerce div.product .woocommerce-product-details__short-description li,
.woocommerce div.product .woocommerce-tabs .panel p,
.woocommerce div.product .woocommerce-tabs .panel li,
.content-block p,
.content-block li,
.content-block ul,
.diag-content,
.faq-answer {
    color: var(--text-muted) !important;
}

.content-block strong,
.section-header h2,
.woocommerce div.product .woocommerce-tabs h2 {
    color: var(--dark-brown) !important;
    font-family: 'Playfair Display', serif !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--dark-brown) !important;
    font-family: 'Playfair Display', serif !important;
    font-weight: 700 !important;
    font-size: 2.5rem !important;
}

.woocommerce div.product .woocommerce-product-rating,
.woocommerce div.product .product_meta,
.woocommerce-breadcrumb,
.woocommerce div.product form.cart .variations,
.woocommerce-tabs ul.tabs {
    display: none !important;
}

.woocommerce div.product div.summary,
.woocommerce div.product div.woocommerce-tabs {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    float: none !important;
    width: 100% !important;
}

.woocommerce div.product {
    background: transparent !important;
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    border-radius: 4px !important;
    font-family: 'JetBrains Mono', monospace !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.woocommerce a:hover,
.woocommerce-page a:hover { color: var(--rust-accent) !important; }

.woocommerce-cart .return-to-shop .button {
    color: var(--rust-accent) !important;
    border-color: var(--rust-accent) !important;
}

.logo-small { color: var(--dark-brown) !important; text-decoration: none !important; font-family: 'Playfair Display', serif !important; }
.logo-small:hover { color: var(--dark-brown) !important; }
.logo-small span { color: var(--rust-accent) !important; font-style: italic; }
.logo-small:hover span { color: var(--rust-accent) !important; }

@media(max-width:600px){
    nav { padding: 14px 16px; }
    .btn-cart span, .btn-back span { display: none; }
    .btn-cart, .btn-back { padding: 8px 12px; min-width: 42px; justify-content: center; display: flex; align-items: center; }
}

/* ── COMPLIANZ COOKIE BANNER — MYCOTAR STYLE ── */
.cmplz-cookiebanner {
    background: var(--dark-brown) !important;
    border: 1px solid var(--rust-accent) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2) !important;
    color: var(--text-muted-dark) !important;
}
.cmplz-header, .cmplz-title, .cmplz-cookiebanner .cmplz-title {
    color: var(--rust-accent) !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.65rem !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    background: transparent !important;
}
.cmplz-body, .cmplz-cookiebanner .cmplz-body,
.cmplz-cookiebanner p {
    font-family: 'Lora', serif !important;
    font-size: 0.85rem !important;
    color: var(--text-muted-dark) !important;
    line-height: 1.6 !important;
}
.cmplz-cookiebanner a { color: var(--rust-accent) !important; }
.cmplz-btn, .cmplz-cookiebanner .cmplz-btn {
    border-radius: 4px !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.7rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
    transition: 0.3s !important;
}
.cmplz-btn.cmplz-accept, .cmplz-cookiebanner .cmplz-accept {
    background: var(--rust-accent) !important;
    border: 1px solid var(--rust-accent) !important;
    color: #fff !important;
}
.cmplz-btn.cmplz-accept:hover, .cmplz-cookiebanner .cmplz-accept:hover {
    background: #a4762f !important;
    color: #fff !important;
}
.cmplz-btn.cmplz-deny, .cmplz-cookiebanner .cmplz-deny {
    background: transparent !important;
    border: 1px solid var(--text-muted-dark) !important;
    color: var(--text-muted-dark) !important;
}
.cmplz-btn.cmplz-view-preferences, .cmplz-cookiebanner .cmplz-view-preferences {
    background: transparent !important;
    border: 1px solid var(--text-muted-dark) !important;
    color: var(--text-muted-dark) !important;
}
.cmplz-divider, .cmplz-divider-header, .cmplz-divider-footer {
    border-color: rgba(255,255,255,0.1) !important;
    background: rgba(255,255,255,0.1) !important;
}
.cmplz-cookiebanner .cmplz-close { color: var(--text-muted-dark) !important; background: transparent !important; }
.cmplz-cookiebanner .cmplz-close:hover { color: var(--rust-accent) !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message { color: var(--text-muted-dark) !important; }
.woocommerce-shipping-destination { display: none !important; }

#widget-modal-optin,
div[style*="z-index: 9999999"] {
    align-items: center !important;
    justify-content: center !important;
}


/* ════════════════════════════════════════════
   MYCOTAR CHECKOUT — DWUKOLUMNOWY LAYOUT
   ════════════════════════════════════════════ */

.shroomzy-checkout-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px 80px;
}
.shroomzy-coupon-row { margin-bottom: 30px; }
.shroomzy-checkout-grid {
    display: grid !important;
    grid-template-columns: 1fr 380px !important;
    gap: 40px !important;
    align-items: start !important;
    width: 100% !important;
}
.shroomzy-col-billing { grid-column: 1 !important; min-width: 0 !important; }
.shroomzy-col-review {
    grid-column: 2 !important;
    min-width: 0 !important;
    position: sticky !important;
    top: 80px !important;
    border: 1px solid var(--rust-accent) !important;
    border-radius: 8px !important;
    padding: 30px !important;
    background: rgba(192,138,62,0.04) !important;
}
.woocommerce-checkout .col2-set,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
    float: none !important;
    width: 100% !important;
    clear: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.shroomzy-section-title {
    display: block;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.65rem;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--rust-accent);
    margin-bottom: 25px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border);
}
.shroomzy-col-review #order_review_heading { display: none !important; }
.woocommerce-checkout .form-row { margin-bottom: 16px; }
.woocommerce-checkout label {
    display: block;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.65rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 8px;
}
.woocommerce-checkout label .required { color: var(--rust-accent); }
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout textarea {
    width: 100% !important;
    background: #fff !important;
    border: 1px solid var(--border) !important;
    color: var(--dark-brown) !important;
    font-family: 'Lora', serif !important;
    font-size: 0.95rem !important;
    padding: 14px 16px !important;
    outline: none !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    transition: border-color 0.2s !important;
    -webkit-appearance: none !important;
    box-sizing: border-box !important;
}
.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus { border-color: var(--rust-accent) !important; }
.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder { color: var(--tan-light) !important; }
.woocommerce-checkout select {
    width: 100% !important;
    background: #fff !important;
    border: 1px solid var(--border) !important;
    color: var(--dark-brown) !important;
    font-family: 'Lora', serif !important;
    font-weight: 400 !important;
    font-size: 0.95rem !important;
    padding: 14px 44px 14px 16px !important;
    outline: none !important;
    border-radius: 4px !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c08a3e' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    box-sizing: border-box !important;
}
.select2-container { width: 100% !important; }
.select2-container--default .select2-selection--single {
    background: #fff !important;
    border: 1px solid var(--border) !important;
    border-radius: 4px !important;
    height: 50px !important;
    display: flex !important;
    align-items: center !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--dark-brown) !important;
    font-family: 'Lora', serif !important;
    font-size: 0.95rem !important;
    padding: 0 44px 0 16px !important;
    line-height: 1 !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow { display: none !important; }
.select2-dropdown { background: #fff !important; border: 1px solid var(--border) !important; border-radius: 4px !important; }
.select2-results__option { color: var(--text-muted) !important; font-family: 'Lora', serif !important; font-size: 0.9rem !important; padding: 10px 16px !important; }
.select2-results__option--highlighted { background: var(--rust-accent) !important; color: #fff !important; }
.woocommerce-billing-fields__field-wrapper {
    display: flex !important; flex-wrap: wrap !important; gap: 0 20px;
}
.woocommerce-billing-fields .form-row,
.woocommerce-billing-fields .form-row-wide,
.woocommerce-billing-fields .form-row-first,
.woocommerce-billing-fields .form-row-last {
    display: block !important;
    width: calc(50% - 10px) !important;
    margin-right: 0 !important;
    vertical-align: top !important;
}
.woocommerce-shipping-fields, .ship-to-different-address { display: none !important; }
.woocommerce-checkout textarea { min-height: 90px; resize: vertical; }
.woocommerce-info {
    font-family: 'Lora', serif;
    font-size: 0.85rem;
    padding: 14px 20px;
    border: 1px solid var(--border) !important;
    background: #fff !important;
    color: var(--text-muted) !important;
    list-style: none;
    margin-bottom: 10px;
    border-radius: 4px;
}
.woocommerce-info::before { display: none !important; }
.woocommerce-info a, .woocommerce-info .showcoupon { color: var(--rust-accent) !important; text-decoration: none !important; }
.woocommerce-form-coupon {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 20px;
    margin-bottom: 20px;
    display: flex;
    gap: 10px;
    align-items: flex-end;
}
.woocommerce-form-coupon input[type="text"] { flex: 1 !important; }
.woocommerce-form-coupon .button {
    background: transparent !important;
    border: 1px solid var(--border) !important;
    color: var(--text-muted) !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.7rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    padding: 14px 18px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}
.woocommerce-form-coupon .button:hover { border-color: var(--rust-accent) !important; color: var(--rust-accent) !important; }
.woocommerce-checkout-review-order-table {
    width: 100%; border-collapse: collapse;
    font-family: 'Lora', serif;
    margin-bottom: 20px; font-size: 0.9rem;
    table-layout: fixed;
}
.woocommerce-checkout-review-order-table .product-name { width: 60%; padding-right: 16px; }
.woocommerce-checkout-review-order-table .product-total { width: 40%; }
.woocommerce-checkout-review-order-table thead th {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.6rem; letter-spacing: 3px; color: var(--rust-accent);
    padding: 0 0 12px; border-bottom: 1px solid var(--border);
    text-align: left; font-weight: 400; text-transform: uppercase;
}
.woocommerce-checkout-review-order-table thead th:last-child { text-align: right; }
.woocommerce-checkout-review-order-table tbody tr { }
.woocommerce-checkout-review-order-table tbody td { padding: 10px 0; color: var(--text-muted); }
.woocommerce-checkout-review-order-table tbody .product-name { color: var(--dark-brown); }
.woocommerce-checkout-review-order-table tbody .product-total { text-align: right; color: var(--text-muted); }
.woocommerce-checkout-review-order-table tfoot tr { border-bottom: 1px dotted var(--border); }
.woocommerce-checkout-review-order-table tfoot td,
.woocommerce-checkout-review-order-table tfoot th { padding: 9px 0; color: var(--text-muted); font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; }
.woocommerce-checkout-review-order-table tfoot th { width: 140px; white-space: nowrap; vertical-align: top; }
.woocommerce-checkout-review-order-table tfoot td { width: auto; }
.woocommerce-checkout-review-order-table tfoot th { text-align: left; }
.woocommerce-checkout-review-order-table tfoot td { text-align: right; }
.woocommerce-checkout-review-order-table tfoot .order-total td,
.woocommerce-checkout-review-order-table tfoot .order-total th { color: var(--dark-brown-2) !important; font-size: 1rem; padding-top: 14px; border-bottom: none; font-family: 'Lora', serif !important; }
.woocommerce-checkout-review-order-table tfoot .order-total .woocommerce-Price-amount { color: var(--dark-brown-2) !important; font-size: 1.5rem !important; font-weight: 700 !important; font-family: 'Lora', serif !important; }
#shipping_method { list-style: none !important; }
#shipping_method li { padding: 6px 0; }
#shipping_method label {
    font-family: 'Lora', serif !important;
    font-size: 0.85rem !important; color: var(--text-muted) !important;
    cursor: pointer !important; text-transform: none !important;
    letter-spacing: 0 !important; display: flex !important;
    align-items: center !important; gap: 8px !important;
}
#shipping_method input[type="radio"] { accent-color: var(--rust-accent) !important; }
#payment { margin-top: 16px; }
#payment .wc_payment_methods { list-style: none !important; padding: 0 !important; }
#payment .wc_payment_methods li {
    display: flex !important; flex-wrap: wrap; align-items: center !important; gap: 10px;
    padding: 14px 0; border-bottom: 1px solid var(--border);
}
#payment .wc_payment_methods li:last-child { border-bottom: none; }
#payment .wc_payment_methods label {
    font-family: 'Lora', serif !important;
    font-size: 0.85rem !important; color: var(--text-muted) !important;
    cursor: pointer !important; display: flex !important;
    align-items: center !important; gap: 10px !important;
    text-transform: none !important; letter-spacing: 0 !important;
    flex: 1 1 auto; margin: 0 !important;
}
#payment .wc_payment_methods input[type="radio"] { accent-color: var(--rust-accent) !important; flex-shrink: 0; margin: 0 !important; }
fieldset { border: none !important; padding: 0 !important; margin: 0 !important; }
#payment .payment_box { background: #fff !important; border: 1px solid var(--border) !important; border-radius: 4px; padding: 14px; margin-top: 8px; font-size: 0.85rem; color: var(--text-muted) !important; font-family: 'Lora', serif; width: 100%; flex-basis: 100%; }
#payment .payment_box p { color: var(--text-muted) !important; }
#place_order {
    display: block !important; width: 100% !important;
    padding: 18px !important; margin-top: 20px !important;
    border: 1px solid var(--rust-accent) !important;
    color: #fff !important; background: var(--rust-accent) !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.8rem !important; letter-spacing: 3px !important;
    text-transform: uppercase !important; cursor: pointer !important;
    transition: 0.3s !important; border-radius: 4px !important;
}
#place_order:hover { background: #a4762f !important; }
.woocommerce-checkout .woocommerce-invalid input,
.woocommerce-checkout .woocommerce-invalid select { border-color: var(--error-red) !important; }
.woocommerce-checkout .woocommerce-invalid label { color: var(--error-red) !important; }
.woocommerce-error { font-family: 'Lora', serif; font-size: 0.85rem; list-style: none; padding: 14px 18px 14px 3.4em; margin-bottom: 20px; border: 1px solid var(--error-red); background: rgba(192,57,43,0.06); color: var(--error-red); border-radius: 4px; position: relative; }
.woocommerce-error::before { left: 0.9em !important; top: 50% !important; transform: translateY(-50%) !important; }
.woocommerce-message { font-family: 'Lora', serif; font-size: 0.85rem; list-style: none; padding: 14px 18px; margin-bottom: 20px; border: 1px solid var(--rust-accent); background: rgba(192,138,62,0.05); color: var(--dark-brown); border-radius: 4px; }
button.btn.select-paczkomat-button,
button.select-paczkomat-button {
    display: block !important; width: 100% !important;
    white-space: nowrap !important;
    background: transparent !important;
    border: 1px solid var(--rust-accent) !important;
    color: var(--rust-accent) !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.75rem !important; letter-spacing: 2px !important;
    text-transform: uppercase !important; padding: 12px 16px !important;
    border-radius: 4px !important; cursor: pointer !important;
    margin-top: 10px !important; backdrop-filter: none !important;
    background-image: none !important; box-shadow: none !important;
    transition: 0.3s !important;
}
button.btn.select-paczkomat-button:hover,
button.select-paczkomat-button:hover { background: rgba(192,138,62,0.08) !important; }
#selected-paczkomat { font-family: 'Lora', serif; font-size: 0.85rem; color: var(--text-muted); margin-top: 8px; line-height: 1.6; text-align: right; }
.woocommerce-shipping-totals td { text-align: left !important; }
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals td,
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals td * { text-align: left !important; }
.woocommerce-shipping-totals .woocommerce-shipping-destination,
.woocommerce-checkout-review-order-table .shipping td p,
.woocommerce-checkout-review-order-table .shipping td label,
.woocommerce-checkout-review-order-table .shipping td { text-align: left !important; }
#shipping_method { text-align: right !important; }
#shipping_method li { text-align: right !important; }
#shipping_method li label { justify-content: flex-end !important; }
.woocommerce-billing-fields h3, .woocommerce-checkout h3 {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.65rem !important; letter-spacing: 4px !important;
    text-transform: uppercase !important; color: var(--rust-accent) !important;
    font-weight: 400 !important; margin-bottom: 25px !important;
    padding-bottom: 10px !important; border-bottom: 1px solid var(--border) !important;
}
.woocommerce-privacy-policy-text, .woocommerce-privacy-policy-text p {
    font-family: 'Lora', serif !important;
    font-size: 0.8rem !important; color: var(--tan-light) !important;
    line-height: 1.6 !important; margin-top: 16px !important;
    text-transform: none !important; letter-spacing: 0 !important;
}
.woocommerce-privacy-policy-text a { color: var(--tan-light) !important; text-decoration: underline !important; }
.woocommerce-privacy-policy-text a:hover { color: var(--rust-accent) !important; }
@media (max-width: 960px) {
    .shroomzy-checkout-grid { grid-template-columns: 1fr !important; gap: 30px !important; }
    .shroomzy-col-billing { grid-column: 1 !important; }
    .shroomzy-col-review { grid-column: 1 !important; position: static !important; order: -1; }
    .woocommerce-billing-fields .form-row,
    .woocommerce-billing-fields .form-row-wide,
    .woocommerce-billing-fields .form-row-first,
    .woocommerce-billing-fields .form-row-last { display: block !important; width: 100% !important; margin-right: 0 !important; }
}
@media (max-width: 600px) {
    .shroomzy-checkout-wrap { padding: 20px 12px 60px; }
    .shroomzy-col-review { padding: 20px !important; }
    .woocommerce-form-coupon { flex-direction: column; }
    .woocommerce-form-coupon .button { width: 100% !important; text-align: center; }
}

a.back-to-top:hover, #backToTop:hover { border-color: var(--rust-accent) !important; color: #fff !important; }

.slider-viewport .slide-inner,
.slider-viewport .slide-inner h2,
.slider-viewport .slide-inner p {
    text-align: left !important;
}

.woocommerce-cart .return-to-shop .button,
.woocommerce .return-to-shop .button {
    text-decoration: none !important;
}

.woocommerce-cart-form .quantity input[type="number"],
.woocommerce table.cart td.product-quantity input[type="number"] {
    background: #fff !important;
    border: 1px solid var(--border) !important;
    color: var(--dark-brown) !important;
    -webkit-text-fill-color: var(--dark-brown) !important;
}

.woocommerce-cart-form input.qty,
.woocommerce-cart-form input.input-text.qty,
table.shop_table td.product-quantity input,
table.cart input.qty {
    background-color: #fff !important;
    background: #fff !important;
    border: 1px solid var(--border) !important;
    color: var(--dark-brown) !important;
    -webkit-text-fill-color: var(--dark-brown) !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

body .woocommerce-cart-form input.qty.input-text,
body table.cart input.qty,
body .quantity input.qty {
    background: #fff !important;
    background-color: #fff !important;
    color: var(--dark-brown) !important;
    -webkit-text-fill-color: var(--dark-brown) !important;
    border-color: var(--border) !important;
}
body .woocommerce-cart-form button.qty-btn,
body .woocommerce button.qty-btn {
    background: #fff !important;
    background-color: #fff !important;
    color: var(--rust-accent) !important;
    border-color: var(--border) !important;
}

#cmplz-manage-consent,
.cmplz-manage-consent,
#cmplz-manage-consent-container,
.cmplz-floating-btn {
    display: none !important;
    visibility: hidden !important;
}

.woocommerce div.product form.cart .quantity input.qty {
    background: #fff !important;
    background-color: #fff !important;
    color: var(--dark-brown) !important;
    -webkit-text-fill-color: var(--dark-brown) !important;
    border: 1px solid var(--border) !important;
    border-left: none !important;
    border-right: none !important;
}

.woocommerce div.product form.cart .qty-btn {
    width: 42px !important;
    height: 42px !important;
    background: #fff !important;
    background-color: #fff !important;
    color: var(--rust-accent) !important;
    border: 1px solid var(--border) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.1rem !important;
    cursor: pointer !important;
    padding: 0 !important;
}

.woocommerce-cart-form .qty-btn {
    width: 42px !important;
    height: 42px !important;
}
.woocommerce-cart-form td.product-quantity input[type="number"] {
    height: 42px !important;
    width: 52px !important;
}

.woocommerce-cart-form td.product-quantity .quantity {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
}

footer { padding: 60px 0; border-top: 2px solid var(--dark-brown); text-align: center; background: var(--dark-brown); }
footer.comment-meta { padding: 0; border-top: none; text-align: left; background: none; }

.blog-main { background: var(--cream-bg); padding: 50px 0 80px; flex: 1 1 auto; }
.blog-title { font-family: 'Playfair Display', serif; font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 700; color: var(--dark-brown-2); margin-bottom: 40px; }

.blog-pagination { margin-top: 50px; display: flex; justify-content: center; }
.blog-pagination .nav-links { display: flex; gap: 10px; align-items: center; }
.blog-pagination a, .blog-pagination span { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; letter-spacing: 1px; padding: 10px 16px; border: 1px solid var(--border); border-radius: 4px; color: var(--text-muted); text-decoration: none; transition: 0.25s ease; }
.blog-pagination a:hover { border-color: var(--rust-accent); color: var(--rust-accent); }
.blog-pagination .current { background: var(--rust-accent); color: #fff; border-color: var(--rust-accent); }

/* ── Mycotar Lightbox / Viewer (zdjęcia w treści) ── */
.mycotar-viewable { cursor: zoom-in; transition: opacity 0.2s ease; }
.mycotar-viewable:hover { opacity: 0.85; }

.mycotar-lightbox-overlay {
    position: fixed; inset: 0; background: rgba(20, 17, 12, 0.93);
    display: none; align-items: center; justify-content: center;
    z-index: 9999; padding: 40px;
}
.mycotar-lightbox-overlay.open { display: flex; }
.mycotar-lightbox-img { max-width: 90vw; max-height: 85vh; object-fit: contain; border-radius: 4px; box-shadow: 0 10px 50px rgba(0,0,0,0.5); }

.mycotar-lightbox-close, .mycotar-lightbox-prev, .mycotar-lightbox-next {
    position: absolute; background: rgba(255,255,255,0.08); color: #fff; border: 1px solid rgba(255,255,255,0.25);
    cursor: pointer; transition: 0.25s ease; display: flex; align-items: center; justify-content: center;
}
.mycotar-lightbox-close:hover, .mycotar-lightbox-prev:hover, .mycotar-lightbox-next:hover { background: var(--rust-accent); border-color: var(--rust-accent); }

.mycotar-lightbox-close { top: 24px; right: 24px; width: 42px; height: 42px; border-radius: 50%; font-size: 1.6rem; line-height: 1; }
.mycotar-lightbox-prev, .mycotar-lightbox-next { top: 50%; transform: translateY(-50%); width: 50px; height: 50px; border-radius: 50%; font-size: 2rem; }
.mycotar-lightbox-prev { left: 24px; }
.mycotar-lightbox-next { right: 24px; }

.mycotar-lightbox-counter { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); color: var(--text-muted-dark); font-family: 'JetBrains Mono', monospace; font-size: 0.8rem; letter-spacing: 1px; }

@media (max-width: 600px) {
    .mycotar-lightbox-prev, .mycotar-lightbox-next { width: 40px; height: 40px; font-size: 1.6rem; }
    .mycotar-lightbox-close { width: 36px; height: 36px; font-size: 1.3rem; }
}

/* Zabezpieczenie KWOTA/ŁĄCZNIE na bardzo wąskich ekranach — gdyby etykieta
   + niełamliwa cena nadal się nie mieściły mimo min-width:0, łamiemy wiersz
   zamiast pozwolić mu wystawać poza box (.cart-collaterals ma overflow:visible). */
@media (max-width: 380px) {
    .woocommerce-page-content .cart_totals table tr {
        flex-wrap: wrap !important;
    }
}

/* ── Wspólny site-header (single.php, home.php, single-product.php) ── */
.site-header { display: flex; justify-content: space-between; align-items: center; padding: 22px 40px; background: var(--dark-brown); position: sticky; top: 0; z-index: 200; box-shadow: 0 4px 14px rgba(0,0,0,0.15); }
.site-header-logo { font-family: 'Playfair Display', serif; font-size: 1.5rem; font-weight: 700; color: #fff; text-decoration: none; }
.site-header-logo span { color: var(--rust-accent); font-style: italic; }

.site-header-nav { display: flex; gap: 28px; }
.site-header-nav a { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; letter-spacing: 2px; text-transform: uppercase; color: var(--text-muted-dark); text-decoration: none; transition: 0.25s ease; }
.site-header-nav a:hover { color: var(--rust-accent); }
.site-header-cart { display: flex; align-items: center; color: var(--text-muted-dark); }
.site-header-cart:hover { color: var(--rust-accent); }

.site-header-burger { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 32px; height: 32px; background: none; border: none; cursor: pointer; padding: 0; }
.site-header-burger span { display: block; width: 100%; height: 2px; background: #fff; transition: 0.3s ease; }
.site-header-burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.site-header-burger.open span:nth-child(2) { opacity: 0; }
.site-header-burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 768px) {
    .site-header-burger { display: flex; }
    .site-header-nav {
        position: absolute; top: 100%; left: 0; width: 100%; background: var(--dark-brown);
        flex-direction: column; gap: 0; max-height: 0; overflow: hidden; transition: max-height 0.3s ease;
    }
    .site-header-nav.open { max-height: 300px; }
    .site-header-nav a { padding: 16px 40px; border-top: 1px solid rgba(255,255,255,0.08); }
}

.archive-description { color: var(--text-muted); font-size: 1rem; line-height: 1.7; max-width: 760px; margin-bottom: 40px; }

@media (max-width: 480px) {
    .hero-emblem { width: 130px; height: 130px; }
}

/* ══════════════════════════════════════════════
   STRONY: page.php (Koszyk, Zamówienie, Kontakt itd.)
   ══════════════════════════════════════════════ */

.page-main { background: var(--cream-bg); padding: 50px 0 80px; flex: 1 1 auto; }
.page-title { font-family: 'Playfair Display', serif; font-size: clamp(1.8rem, 5vw, 2.8rem); font-weight: 700; color: var(--dark-brown-2); margin-bottom: 30px; }
.page-content { color: var(--text-muted); font-size: 1rem; line-height: 1.8; }
.page-content p { margin-bottom: 18px; }
.page-content a { color: var(--rust-accent); }
.page-content a.card-cart-btn,
.content-block a.card-cart-btn {
    color: #fff;
    text-decoration: none;
    margin: 16px 0;
}
.page-content a.card-cart-btn:hover,
.content-block a.card-cart-btn:hover {
    color: #fff;
}

/* Kroki koszyk → dane → płatność */
.cart-steps { display: flex; align-items: center; gap: 14px; margin-bottom: 40px; flex-wrap: wrap; }
.cart-step { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; letter-spacing: 1px; text-transform: uppercase; color: var(--tan-light); padding: 6px 14px; border: 1px solid var(--border); border-radius: 20px; }
.cart-step.active { color: #fff; background: var(--rust-accent); border-color: var(--rust-accent); }
.cart-step-divider { color: var(--tan-light); font-size: 0.9rem; }

/* ── Tabela koszyka (WooCommerce) ── */
.woocommerce-page-content table.shop_table,
.woocommerce-page-content table.cart {
    width: 100%; border-collapse: collapse; margin-bottom: 30px; background: #fff;
    border: 1px solid var(--border); border-radius: 8px; overflow: hidden;
}
.woocommerce-page-content table.shop_table th,
.woocommerce-page-content table.cart th {
    font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; letter-spacing: 1px; text-transform: uppercase;
    color: var(--tan-light); text-align: left; padding: 16px; border-bottom: 2px solid var(--border); background: var(--cream-bg-alt);
}
.woocommerce-page-content table.shop_table td,
.woocommerce-page-content table.cart td {
    padding: 16px; vertical-align: middle; color: var(--dark-brown-2); font-size: 1.2em;
}
.woocommerce-page-content table.shop_table tr:last-child td { border-bottom: none; }
.woocommerce-page-content .product-thumbnail img { width: 70px; height: 70px; object-fit: cover; border-radius: 6px; }
.woocommerce-page-content .product-name a { color: var(--dark-brown-2); font-family: 'Lora', serif; font-weight: 400; text-decoration: none; }
.woocommerce-page-content .product-name a:hover { color: var(--rust-accent); }
.woocommerce-page-content .product-remove a {
    color: var(--error-red); font-size: 1.3rem; text-decoration: none; border: 1px solid var(--border);
    width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
}
.woocommerce-page-content .product-remove a:hover { background: var(--error-red); color: #fff; border-color: var(--error-red); }
.woocommerce-page-content .quantity .qty {
    width: 60px; padding: 8px; border: 1px solid var(--border); border-radius: 5px; text-align: center;
    font-family: 'JetBrains Mono', monospace; background: var(--cream-bg);
}

/* Kupon + przyciski akcji */
.woocommerce-page-content .coupon { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-bottom: 20px; }
.woocommerce-page-content .coupon input#coupon_code {
    padding: 11px 16px; border: 1px solid var(--border); border-radius: 5px; font-family: 'Lora', serif; background: #fff;
}
.woocommerce-page-content button[name="update_cart"],
.woocommerce-page-content button[name="apply_coupon"] {
    font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; letter-spacing: 1px; text-transform: uppercase;
    padding: 11px 20px; background: transparent; border: 1px solid var(--rust-accent); color: var(--rust-accent);
    border-radius: 5px; cursor: pointer; transition: 0.25s ease;
}
.woocommerce-page-content button[name="update_cart"]:hover,
.woocommerce-page-content button[name="apply_coupon"]:hover { background: var(--rust-accent); color: #fff; }

/* Podsumowanie koszyka (cart_totals) — .cart_totals jest ZAGNIEŻDŻONE w .cart-collaterals,
   dlatego stylujemy tylko wewnętrzny element, żeby nie było "pudełka w pudełku" */
.woocommerce-page-content .cart-collaterals {
    max-width: 420px; margin-left: auto; clear: both; overflow: visible;
}
.woocommerce-page-content .cart_totals {
    background: var(--cream-bg-alt); border: 1px solid var(--border); border-radius: 8px; padding: 16px;
    width: 100%; max-width: none;
}
.woocommerce-page-content .cart_totals h2 {
    font-family: 'Playfair Display', serif; font-size: 1.3rem; color: var(--dark-brown-2);
    margin: 0 0 14px !important; padding: 0 !important; border-top: none !important;
}
/* Zabicie wbudowanej reguły WooCommerce: .cart_totals { float:right; width:50%; }
   To był prawdziwy powód ścieśnionego layoutu metod wysyłki przez cały czas. */
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals,
body .cart-collaterals .cart_totals {
    float: none !important;
    width: 100% !important;
}

.woocommerce-page-content .cart_totals table { background: transparent; border: none; }
/* WooCommerce core ustawia padding:0 na tej dokładnej kombinacji selektorów — przywracamy
   poziomy oddech (pionowy już jest na <tr>, 12px 0, więc tu tylko lewo/prawo). */
#add_payment_method .cart-collaterals .cart_totals table,
.woocommerce-cart .cart-collaterals .cart_totals table,
.woocommerce-checkout .cart-collaterals .cart_totals table {
    padding: 0 !important;
}
.woocommerce-page-content .cart_totals table td, .woocommerce-page-content .cart_totals table th { border-bottom: none; background: transparent; white-space: normal; }
.woocommerce-page-content .order-total td, .woocommerce-page-content .order-total th {
    font-weight: 700;
    font-family: 'Lora', serif;
    font-size: 1.5rem;
    color: var(--dark-brown-2);
    padding-top: 30px !important;
}
.woocommerce-page-content .order-total th { font-size: 1rem; }

#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
    margin-bottom: 0 !important;
}

.woocommerce-page-content a.checkout-button {
    display: block !important; text-align: center; margin-top: 18px; padding: 15px !important; background: var(--rust-accent) !important; color: #fff !important;
    text-decoration: none; font-family: 'JetBrains Mono', monospace; font-size: 0.78rem; letter-spacing: 1px; text-transform: uppercase;
    border-radius: 6px !important; transition: 0.25s ease;
}
.woocommerce-page-content a.checkout-button:hover { background: var(--dark-brown-2) !important; }

.woocommerce-page-content .shipping-calculator-form {
    list-style: none; padding: 0; margin: 0;
}

.woocommerce-page-content #shipping_method,
ul#shipping_method,
ul.woocommerce-shipping-methods {
    width: 100% !important;
    max-width: 100% !important;
    list-style: none; padding: 0; margin: 0;
}
.woocommerce-page-content #shipping_method li {
    display: flex !important; align-items: center !important; gap: 14px;
    padding: 16px 20px !important; border-bottom: 1px dotted var(--border); width: 100%;
    box-sizing: border-box;
}
.woocommerce-page-content #shipping_method li input[type="radio"] {
    order: 1; flex-shrink: 0; margin: 0 !important; width: 18px; height: 18px;
}
.woocommerce-page-content #shipping_method li label {
    order: 2; display: block !important; flex: 1 1 auto !important; width: auto !important; min-width: 0;
    white-space: normal !important; text-align: left !important; justify-content: flex-start !important;
    margin: 0 !important;
}
.woocommerce-page-content #shipping_method li label .woocommerce-Price-amount {
    white-space: nowrap; font-weight: 700; color: var(--rust-accent);
}
.woocommerce-page-content #shipping_method li .inpost_pl-shipping-method-meta-wrap {
    order: 3; flex-shrink: 0; display: flex !important; align-items: center; margin: 0 !important;
}
.woocommerce-page-content #shipping_method li img { max-height: 20px; width: auto; display: block; }

/* "Wybierz punkt odbioru" — div wstrzykiwany przez plugin InPost między <li>, na całą szerokość */
.woocommerce-page-content .easypack_show_geowidget {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 44px !important;
    box-sizing: border-box !important;
    margin: 8px 0 0 0 !important;
    background: transparent !important;
    border: 1px solid var(--rust-accent) !important;
    color: var(--rust-accent) !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.7rem !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    text-align: center !important;
}
.woocommerce-page-content .easypack_show_geowidget:hover {
    background: var(--rust-accent) !important;
    color: #fff !important;
}

/* Kontener podsumowania na KOSZYKU — trochę szerszy, żeby ceny/loga InPost miały miejsce.
   #order_review (checkout) NIE jest tu wliczony — ten ma być pełnej szerokości. */
.woocommerce-page-content .cart-collaterals { max-width: 480px; }
.woocommerce-page-content #order_review { width: 100%; max-width: none; }

/* Catch-all — gdyby to był jednak blok WooCommerce, a nie shortcode klasyczny:
   wymuszamy nasz kolor na KAŻDYM elemencie wewnątrz kontenera przycisku checkout */
.wc-block-cart__submit-container a,
.wc-block-cart__submit-container button,
.wc-block-cart__submit-container .wp-block-button__link,
.wp-block-woocommerce-cart a[class*="submit"],
.wp-block-woocommerce-cart button[class*="submit"] {
    background: var(--rust-accent) !important; color: #fff !important; border: none !important;
}
.wc-block-cart__submit-container a:hover,
.wc-block-cart__submit-container button:hover,
.wc-block-cart__submit-container .wp-block-button__link:hover { background: var(--dark-brown-2) !important; }

/* ── Checkout (formularz danych + płatność) ── */
.woocommerce-page-content .col2-set { display: flex; flex-wrap: wrap; gap: 40px; }
.woocommerce-page-content .col-1, .woocommerce-page-content .col-2 { flex: 1; min-width: 300px; }

.woocommerce-page-content .form-row { margin-bottom: 16px; }
.woocommerce-page-content .form-row label { display: block; font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; letter-spacing: 0.5px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 6px; }
.woocommerce-page-content input.input-text,
.woocommerce-page-content select,
.woocommerce-page-content textarea {
    width: 100%; padding: 12px 14px; border: 1px solid var(--border); border-radius: 5px;
    background: #fff; font-family: 'Lora', serif; font-size: 0.95rem; color: var(--dark-brown-2);
}
.woocommerce-page-content input.input-text:focus,
.woocommerce-page-content select:focus,
.woocommerce-page-content textarea:focus { outline: none; border-color: var(--rust-accent); }

.woocommerce-page-content #order_review,
.woocommerce-page-content #order_review_heading {
    background: var(--cream-bg-alt); border: 1px solid var(--border); border-radius: 8px; padding: 26px;
}
.woocommerce-page-content #order_review_heading { font-family: 'Playfair Display', serif; font-size: 1.3rem; margin-bottom: 16px; color: var(--dark-brown-2); border: none; padding: 0 0 16px; }

.woocommerce-page-content ul.payment_methods { list-style: none; border-top: 1px solid var(--border); padding-top: 16px; margin-top: 16px; }
.woocommerce-page-content ul.payment_methods li { margin-bottom: 10px; }
.woocommerce-page-content ul.payment_methods label { font-family: 'Lora', serif; color: var(--dark-brown-2); font-weight: 600; }
.woocommerce-page-content .payment_box {
    background: #fff; border: 1px solid var(--border); border-radius: 6px; padding: 14px 16px; margin-top: 8px;
    color: var(--text-muted); font-size: 0.9rem;
}

.woocommerce-page-content #place_order {
    width: 100%; padding: 16px; background: var(--rust-accent); color: #fff; border: none; border-radius: 6px;
    font-family: 'JetBrains Mono', monospace; font-size: 0.85rem; letter-spacing: 1px; text-transform: uppercase;
    cursor: pointer; transition: 0.25s ease; margin-top: 20px;
}
.woocommerce-page-content #place_order:hover { background: var(--dark-brown-2); }

.woocommerce-page-content .woocommerce-error,
.woocommerce-page-content .woocommerce-message,
.woocommerce-page-content .woocommerce-info {
    list-style: none; padding: 14px 18px; border-radius: 6px; margin-bottom: 20px; font-size: 0.92rem;
}
.woocommerce-page-content .woocommerce-error { background: var(--status-unavailable-bg); color: var(--status-unavailable-text); }
.woocommerce-page-content .woocommerce-message,
.woocommerce-page-content .woocommerce-info { background: var(--status-available-bg); color: var(--status-available-text); }
.woocommerce-page-content .woocommerce-message::before { display: none !important; }

/* .cart_totals (Podsumowanie koszyka / Twoje zamówienie) — ZAWSZE jako pionowy stos
   (etykieta nad treścią), nie jako dwukolumnowa tabela. Ukrywamy duplikat etykiety,
   który WooCommerce dorzuca przez ::before/data-title. */
/* .cart_totals (Podsumowanie koszyka / Twoje zamówienie) — domyślnie proste wiersze
   (Kwota/Łącznie) zostają w JEDNEJ linii (etykieta lewo, wartość prawo). Tylko wiersz
   Przesyłki (złożona treść — lista metod wysyłki) idzie na pełną szerokość, w stosie. */
.woocommerce-page-content .cart_totals table { display: block !important; width: 100% !important; }
.woocommerce-page-content .cart_totals table tbody { display: block !important; width: 100% !important; }

.woocommerce-page-content .cart_totals table tr {
    display: flex !important; justify-content: space-between !important; align-items: baseline;
    border-bottom: none; padding: 12px 0; width: 100% !important;
}
.woocommerce-page-content .cart_totals table th,
.woocommerce-page-content .cart_totals table td {
    display: block !important; width: auto !important; border: none !important; padding: 12px !important;
    min-width: 0 !important;
}
.woocommerce-page-content .cart_totals table td::before {
    content: none !important; display: none !important;
}

/* Wiersz Przesyłki — wyjątek: pełna szerokość, etykieta nad treścią */
.woocommerce-page-content .cart_totals table tr.woocommerce-shipping-totals {
    display: block !important;
}
.woocommerce-page-content .cart_totals table tr.woocommerce-shipping-totals th,
.woocommerce-page-content .cart_totals table tr.woocommerce-shipping-totals td {
    display: block !important; width: 100% !important;
}
.woocommerce-page-content .cart_totals table tr.woocommerce-shipping-totals th {
    padding-bottom: 8px; text-align: left !important;
}

@media (max-width: 768px) {
    .woocommerce-page-content table.shop_table thead { display: none; }
    .woocommerce-page-content table.shop_table tr { display: block; border-bottom: 1px solid var(--border); padding: 10px 0; }
    .woocommerce-page-content table.shop_table td { display: flex; justify-content: space-between; border-bottom: none; padding: 6px 16px; }
    .woocommerce-page-content .col2-set { flex-direction: column; }

    /* (usunięto wymuszony table-cell na mobile — tfoot tej tabeli ma teraz
       uniwersalny "stos" zdefiniowany niżej, tbody korzysta z generycznego shop_table) */
}

/* .woocommerce-checkout-review-order-table tfoot (Kwota/Przesyłka/Łącznie) — ZAWSZE jako
   pionowy stos, ten sam wzorzec co .cart_totals — zawiera złożoną treść (listę wysyłki). */
/* .woocommerce-checkout-review-order-table tfoot — domyślnie proste wiersze (Kwota/Łącznie)
   w JEDNEJ linii. Tylko wiersz Przesyłki idzie na pełną szerokość, w stosie. */
.woocommerce-checkout-review-order-table tfoot { display: block !important; width: 100% !important; }
.woocommerce-checkout-review-order-table tfoot tr {
    display: flex !important; justify-content: space-between !important; align-items: baseline;
    border-bottom: 1px solid var(--border); padding: 12px 0; width: 100% !important;
}
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
    display: block !important; width: auto !important; border: none !important; padding: 0 !important;
}
.woocommerce-checkout-review-order-table tfoot td::before { content: none !important; display: none !important; }

.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals {
    display: block !important;
}
.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals th,
.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td {
    display: block !important; width: 100% !important;
}
.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals th {
    padding-bottom: 8px; text-align: left !important;
}
.woocommerce-checkout-review-order-table tfoot .order-total { border-bottom: none; }

/* ══════════════════════════════════════════════
   STRONY: WooCommerce BLOKI (Cart Block / Checkout Block)
   "Koszyk" i "Zamówienie" używają Edytora Blokowego, nie shortcode'ów —
   to inna struktura HTML niż klasyczna .cart_totals/.checkout-button wyżej.
   ══════════════════════════════════════════════ */

.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { font-family: 'Lora', serif; color: var(--dark-brown-2); }

/* Pozycje koszyka */
.wc-block-cart-items__header, .wc-block-cart-items { background: #fff; border: 1px solid var(--border); border-radius: 8px; }
.wc-block-cart-items__header { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; letter-spacing: 1px; text-transform: uppercase; color: var(--tan-light); background: var(--cream-bg-alt); }
.wc-block-cart-item__product-name, .wc-block-cart-item__product-name a { font-family: 'Playfair Display', serif; font-weight: 600; color: var(--dark-brown-2); text-decoration: none; }
.wc-block-cart-item__product-name a:hover { color: var(--rust-accent); }
.wc-block-cart-item__remove-link, .wc-block-cart-item__remove-link button { color: var(--error-red) !important; }
.wc-block-components-product-price, .wc-block-components-product-price__value { color: var(--dark-brown-2); font-weight: 600; }

/* Selektor ilości */
.wc-block-components-quantity-selector { border: 1px solid var(--border) !important; border-radius: 5px; background: var(--cream-bg); }
.wc-block-components-quantity-selector__input { font-family: 'JetBrains Mono', monospace; background: transparent; color: var(--dark-brown-2); }
.wc-block-components-quantity-selector__button { color: var(--rust-accent); }

/* Kupon */
.wc-block-components-totals-coupon__button, .wc-block-components-totals-coupon-link {
    font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; letter-spacing: 1px; text-transform: uppercase;
    color: var(--rust-accent) !important; border-color: var(--rust-accent) !important;
}
.wc-block-components-totals-coupon__input input { border: 1px solid var(--border) !important; border-radius: 5px; }

/* Podsumowanie / totals panel */
.wc-block-cart__totals-title, .wc-block-components-totals-wrapper { font-family: 'Playfair Display', serif; }
.wc-block-components-totals-item__value, .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--rust-accent); font-weight: 700;
}
.wc-block-components-panel { border-color: var(--border) !important; }

/* Wybór sposobu wysyłki (InPost itd.) — najbardziej "rozjechana" część ze screena */
.wc-block-components-shipping-rates-control__package { border: none; padding: 0; }
.wc-block-components-radio-control__option {
    display: flex !important; align-items: center; gap: 12px; padding: 14px !important;
    border: 1px solid var(--border) !important; border-radius: 6px; margin-bottom: 10px; background: #fff;
}
.wc-block-components-radio-control__option.is-checked, .wc-block-components-radio-control-accordion-option.is-checked {
    border-color: var(--rust-accent) !important; background: var(--status-available-bg);
}
.wc-block-components-radio-control__option img, .wc-block-components-shipping-rates-control__package img { max-height: 28px; width: auto; }
.wc-block-components-radio-control__option-secondary-label, .wc-block-components-radio-control__option .wc-block-components-formatted-money-amount {
    color: var(--rust-accent) !important; font-weight: 700;
}
.wc-block-components-radio-control__input { accent-color: var(--rust-accent); }

/* GŁÓWNY przycisk "Przejdź do płatności" / "Złóż zamówienie" — to było fioletowe */
.wc-block-cart__submit-button,
.wc-block-cart__submit-container .wp-block-button__link,
.wc-block-components-checkout-place-order-button,
a.checkout-button.wc-block-cart__submit-button,
.wp-block-woocommerce-cart .wp-element-button,
.wp-block-woocommerce-checkout .wp-element-button {
    background: var(--rust-accent) !important; color: #fff !important;
    font-family: 'JetBrains Mono', monospace !important; font-size: 0.8rem !important; letter-spacing: 1px !important;
    text-transform: uppercase !important; border: none !important; border-radius: 6px !important;
    padding: 16px !important; transition: 0.25s ease;
}
.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-container .wp-block-button__link:hover,
.wp-block-woocommerce-cart .wp-element-button:hover,
.wp-block-woocommerce-checkout .wp-element-button:hover { background: var(--dark-brown-2) !important; }

/* Checkout — pola formularza w bloku */
.wc-block-components-text-input input, .wc-block-components-textarea textarea,
.wc-block-components-select select, .wc-block-components-address-form input {
    border: 1px solid var(--border) !important; border-radius: 5px !important; font-family: 'Lora', serif !important;
}
.wc-block-components-text-input.is-active label, .wc-block-checkout__form label { color: var(--text-muted); }

/* ══════════════════════════════════════════════
   STRONA: Moje konto (WooCommerce MyAccount)
   ══════════════════════════════════════════════ */

.woocommerce-page-content .woocommerce-MyAccount-navigation {
    float: none; width: 100%; margin-bottom: 30px;
}
.woocommerce-page-content .woocommerce-MyAccount-navigation ul {
    list-style: none; display: flex; flex-wrap: wrap; gap: 10px; border-bottom: 1px solid var(--border); padding-bottom: 16px;
}
.woocommerce-page-content .woocommerce-MyAccount-navigation-link a {
    font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; letter-spacing: 1px; text-transform: uppercase;
    color: var(--text-muted); text-decoration: none; padding: 8px 16px; border: 1px solid var(--border); border-radius: 20px;
    transition: 0.25s ease; display: inline-block;
}
.woocommerce-page-content .woocommerce-MyAccount-navigation-link a:hover { border-color: var(--rust-accent); color: var(--rust-accent); }
.woocommerce-page-content .woocommerce-MyAccount-navigation-link.is-active a {
    background: var(--rust-accent); color: #fff; border-color: var(--rust-accent);
}
.woocommerce-page-content .woocommerce-MyAccount-content { width: 100%; float: none; }

/* Logowanie / Rejestracja */
.woocommerce-page-content .woocommerce-form-login,
.woocommerce-page-content .woocommerce-form-register {
    background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 28px; max-width: 460px;
}
.woocommerce-page-content .u-columns {
    display: flex; flex-wrap: wrap; align-items: flex-start; gap: 48px !important;
}
.woocommerce-page-content .u-column1, .woocommerce-page-content .u-column2 { flex: 1; min-width: 280px; }
/* nagłówki "Logowanie" / "Zarejestruj się" łapały styl nagłówków bloga
   (margin-top:56px, padding-top:24px, border-top) z .page-content h2 —
   stąd kolumny nie równały się w pionie. Zerujemy i stylujemy jako
   tytuły paneli formularza. */
.woocommerce-page-content .u-column1 h2,
.woocommerce-page-content .u-column2 h2 {
    margin: 0 0 18px !important; padding-top: 0 !important; border-top: none !important;
}
.woocommerce-page-content .woocommerce-LostPassword a { color: var(--rust-accent); font-size: 0.85rem; }
.woocommerce-page-content button[name="login"],
.woocommerce-page-content button[name="register"] {
    font-family: 'JetBrains Mono', monospace; font-size: 0.8rem; letter-spacing: 1px; text-transform: uppercase;
    background: var(--rust-accent); color: #fff; border: none; padding: 14px 24px; border-radius: 6px; cursor: pointer;
    transition: 0.25s ease; margin-top: 8px;
    width: 100%; display: block;
}
.woocommerce-page-content button[name="login"]:hover,
.woocommerce-page-content button[name="register"]:hover { background: var(--dark-brown-2); }

/* ════════ Checkout — panel logowania ("Powracający klient?") ════════
   1) baner toggle stylowany jak reszta komunikatów (zamiast gołego tekstu)
   2) zduplikowany toggle, który WC drukuje też ZA formularzem logowania
      (efekt: dwa identyczne "Powracający klient?" na stronie), ukryty —
      zostaje tylko ten przed formularzem
   3) "zapamiętaj mnie" — checkbox i tekst w jednej linii bazowej
   ══════════════════════════════════════════════ */
.woocommerce-form-login-toggle {
    background: var(--cream-bg-alt);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 14px 18px;
    margin-bottom: 20px;
    font-family: 'Lora', serif;
    font-size: 0.92rem;
    color: var(--dark-brown-2);
}
.woocommerce-form-login-toggle a {
    color: var(--rust-accent);
    text-decoration: underline;
}
.woocommerce-form-login ~ .woocommerce-form-login-toggle {
    display: none !important;
}
.woocommerce-page-content .woocommerce-form-login__rememberme {
    display: flex; align-items: center; gap: 8px; font-size: 0.85rem; color: var(--text-muted);
    margin: 14px 0; font-family: 'Lora', serif;
}
.woocommerce-page-content .woocommerce-form-login__rememberme input[type="checkbox"] {
    margin: 0; width: 16px; height: 16px; flex-shrink: 0;
}
.woocommerce-page-content .woocommerce-form-login .lost_password {
    margin-top: 10px;
}

/* Tabela zamówień */
.woocommerce-page-content table.my_account_orders { width: 100%; background: #fff; border: 1px solid var(--border); border-radius: 8px; border-collapse: collapse; overflow: hidden; }
.woocommerce-page-content table.my_account_orders th {
    font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; letter-spacing: 1px; text-transform: uppercase;
    color: var(--tan-light); background: var(--cream-bg-alt); padding: 14px; text-align: left;
}
.woocommerce-page-content table.my_account_orders td { padding: 14px; border-bottom: 1px solid var(--border); }
.woocommerce-page-content .woocommerce-orders-table__cell-order-status { text-transform: capitalize; }
.woocommerce-page-content .woocommerce-button.view { color: var(--rust-accent); border: 1px solid var(--rust-accent); border-radius: 5px; padding: 6px 14px; text-decoration: none; font-size: 0.85rem; }

/* Adresy / dane konta */
.woocommerce-page-content .woocommerce-Addresses { display: flex; flex-wrap: wrap; gap: 24px; }
.woocommerce-page-content .woocommerce-Address { flex: 1; min-width: 280px; background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 22px; }
.woocommerce-page-content .woocommerce-Address-title h3 { font-family: 'Playfair Display', serif; color: var(--dark-brown-2); margin-bottom: 10px; }
.woocommerce-page-content .woocommerce-Address-title a.edit { color: var(--rust-accent); font-size: 0.85rem; }
.woocommerce-page-content fieldset { border: 1px solid var(--border); border-radius: 8px; padding: 20px; margin-bottom: 20px; }
.woocommerce-page-content fieldset legend { font-family: 'Playfair Display', serif; color: var(--dark-brown-2); padding: 0 10px; }

@media (max-width: 600px) {
    .woocommerce-page-content .woocommerce-MyAccount-navigation ul { gap: 6px; }
    .woocommerce-page-content table.my_account_orders { font-size: 0.85rem; }
}

/* ══════════════════════════════════════════════
   FORMULARZ KONTAKTOWY (Contact Form 7 / WPForms)
   ══════════════════════════════════════════════ */

.page-content form.wpcf7-form,
.page-content .wpforms-container {
    max-width: 560px; background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 28px;
}
.contact-form-col form.wpcf7-form { max-width: 100%; padding: 40px; }
.page-content form.wpcf7-form p { margin-bottom: 18px; color: var(--text-muted); font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; letter-spacing: 0.5px; text-transform: uppercase; }
.page-content form.wpcf7-form label { display: block; margin-bottom: 6px; }
.page-content form.wpcf7-form input[type="text"],
.page-content form.wpcf7-form input[type="email"],
.page-content form.wpcf7-form input[type="tel"],
.page-content form.wpcf7-form input[type="url"],
.page-content form.wpcf7-form textarea,
.page-content form.wpcf7-form select {
    width: 100%; padding: 15px 16px; border: 1px solid var(--border); border-radius: 5px;
    background: var(--cream-bg); font-family: 'Lora', serif; font-size: 1.05rem; color: var(--dark-brown-2);
    margin-top: 4px;
}
.page-content form.wpcf7-form input:focus,
.page-content form.wpcf7-form textarea:focus { outline: none; border-color: var(--rust-accent); background: #fff; }
.page-content form.wpcf7-form textarea { min-height: 180px; resize: vertical; }

.page-content form.wpcf7-form input[type="submit"] {
    background: var(--rust-accent); color: #fff; border: none; padding: 16px 36px; border-radius: 6px;
    font-family: 'JetBrains Mono', monospace; font-size: 0.85rem; letter-spacing: 1px; text-transform: uppercase;
    cursor: pointer; transition: 0.25s ease;
}
.page-content form.wpcf7-form input[type="submit"]:hover { background: var(--dark-brown-2); }

.page-content .wpcf7-not-valid-tip { color: var(--error-red); font-size: 0.78rem; margin-top: 4px; text-transform: none; letter-spacing: 0; }
.wpcf7-response-output,
.page-content .wpcf7-response-output {
    margin-top: 16px !important; padding: 14px 18px !important; border-radius: 6px !important;
    font-family: 'Lora', serif !important; font-size: 0.92rem !important; line-height: 1.5 !important;
    border: none !important; border-left: 4px solid transparent !important;
    background: var(--cream-bg-alt) !important; color: var(--dark-brown) !important;
}
.wpcf7-form.sent .wpcf7-response-output,
.page-content .wpcf7-form.sent .wpcf7-response-output,
form[data-status="sent"] .wpcf7-response-output,
.page-content form[data-status="sent"] .wpcf7-response-output {
    background: var(--status-available-bg) !important; color: var(--status-available-text) !important;
    border-left-color: var(--moss-green) !important;
}
.wpcf7-form.invalid .wpcf7-response-output, .wpcf7-form.failed .wpcf7-response-output, .wpcf7-form.spam .wpcf7-response-output, .wpcf7-form.aborted .wpcf7-response-output,
.page-content .wpcf7-form.invalid .wpcf7-response-output, .page-content .wpcf7-form.failed .wpcf7-response-output, .page-content .wpcf7-form.spam .wpcf7-response-output, .page-content .wpcf7-form.aborted .wpcf7-response-output,
form[data-status="validation-failed"] .wpcf7-response-output, form[data-status="mail-failed"] .wpcf7-response-output, form[data-status="spam"] .wpcf7-response-output, form[data-status="aborted"] .wpcf7-response-output,
.page-content form[data-status="validation-failed"] .wpcf7-response-output, .page-content form[data-status="mail-failed"] .wpcf7-response-output {
    background: var(--status-unavailable-bg) !important; color: var(--status-unavailable-text) !important;
    border-left-color: var(--error-red) !important;
}

/* Na wszelki wypadek — gdyby ten "śmieciowy" widget search/tagcloud na stronie
   Kontakt został w treści, niech przynajmniej nie wygląda aż tak źle */
.page-content .widget_search input[type="search"] { padding: 10px 14px; border: 1px solid var(--border); border-radius: 5px; }
.page-content .widget_search input[type="submit"] {
    background: var(--dark-brown-2); color: #fff; border: none; padding: 10px 18px; border-radius: 5px; cursor: pointer;
}
.page-content .widget_tag_cloud a, .page-content .tagcloud a {
    font-family: 'JetBrains Mono', monospace; font-size: 0.7rem !important; text-transform: lowercase;
    color: var(--text-muted) !important; border: 1px solid var(--border); padding: 5px 12px; border-radius: 20px;
    text-decoration: none; display: inline-block; margin: 3px;
}

/* ══════════════════════════════════════════════
   STRONA KONTAKT — układ dwukolumnowy z ilustracją
   ══════════════════════════════════════════════ */

.contact-grid { display: grid; grid-template-columns: 1.25fr 0.95fr; gap: 40px; align-items: stretch; }
.contact-form-col { min-width: 0; }
.contact-art-col { display: flex; justify-content: stretch; align-items: stretch; padding-top: 0; }
.contact-info-card {
    background: var(--dark-brown-2); border: 1px solid var(--dark-brown-2); border-radius: 10px;
    padding: 56px 48px; text-align: center; width: 100%;
    display: flex; flex-direction: column; justify-content: center;
}
.contact-emblem { width: 130px; height: 130px; object-fit: contain; margin: 0 auto 22px; opacity: 1; }
.contact-info-title { font-family: 'Playfair Display', serif; font-size: 2.1rem; color: #fff; margin-bottom: 6px; }
.contact-info-name { color: var(--moss-green); font-size: 1.1rem; margin-bottom: 32px; }

.contact-info-row {
    display: flex; align-items: flex-start; gap: 14px; text-align: left;
    padding: 20px 0; border-top: 1px solid rgba(255,255,255,0.12); color: var(--text-muted-dark); font-size: 1.1rem; line-height: 1.6;
}
.contact-info-row svg { flex-shrink: 0; margin-top: 3px; color: var(--moss-green); width: 20px; height: 20px; }
.contact-info-row a { color: var(--text-muted-dark); text-decoration: none; }
.contact-info-row a:hover { color: var(--moss-green); }

.contact-info-socials { display: flex; justify-content: center; gap: 32px; margin-top: 32px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,0.12); }
.contact-info-socials a {
    display: flex; align-items: center; gap: 9px;
    font-family: 'JetBrains Mono', monospace; font-size: 0.85rem; letter-spacing: 1px; text-transform: uppercase;
    color: var(--moss-green); text-decoration: none;
}
.contact-info-socials a svg { width: 20px; height: 20px; }
.contact-info-socials a:hover { color: #fff; }

@media (max-width: 900px) {
    .contact-grid { grid-template-columns: 1fr; }
    .contact-art-col { order: -1; margin: 0 auto 20px; }
}

/* ══════════════════════════════════════════════
   .page-content — nagłówki sekcji (np. Instrukcje uprawy) i listy
   ══════════════════════════════════════════════ */

.page-content h2, .page-content h3 {
    font-family: 'Playfair Display', serif; color: var(--dark-brown-2); font-weight: 700;
    margin-bottom: 18px; padding-top: 24px; border-top: 2px solid var(--rust-accent);
}
.page-content h2 { font-size: 1.6rem; }
.page-content h3 { font-size: 1.3rem; }
.page-content > h2:first-child, .page-content > h3:first-child { margin-top: 0; padding-top: 0; border-top: none; }

.page-content ol, .page-content ul {
    list-style: none; padding: 0; margin: 0 0 30px;
    background: #fff; border: 1px solid var(--border); border-radius: 8px; overflow: hidden;
}
.page-content ol { counter-reset: mycotar-list; }
.page-content ol li {
    counter-increment: mycotar-list;
    display: flex; align-items: baseline; gap: 14px;
    padding: 14px 18px; border-bottom: 1px solid var(--border);
}
.page-content ul li { padding: 14px 18px; border-bottom: 1px solid var(--border); }
.page-content ol li:last-child, .page-content ul li:last-child { border-bottom: none; }
.page-content ol li::before {
    content: counter(mycotar-list);
    flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%;
    background: var(--rust-accent); color: #fff; font-family: 'JetBrains Mono', monospace; font-size: 0.78rem; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
}
.page-content ol li a, .page-content ul li a {
    color: var(--dark-brown-2); text-decoration: none; font-family: 'Playfair Display', serif; font-weight: 600;
    transition: 0.2s ease;
}
.page-content ol li a:hover, .page-content ul li a:hover { color: var(--rust-accent); }
.page-content ul li::marker { color: var(--rust-accent); }

/* ══════════════════════════════════════════════
   TECH SPECS — parametry uprawy per gatunek (Instrukcje uprawy)
   ══════════════════════════════════════════════ */

.specs-section { margin: 40px 0; }
.specs-tag { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--tan-light); letter-spacing: 4px; text-transform: uppercase; display: block; margin-bottom: 10px; }
.specs-title { font-family: 'Playfair Display', serif; font-size: 1.6rem; color: var(--dark-brown-2); font-weight: 700; margin-bottom: 22px; }

.specs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.specs-box { background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 24px; }
.specs-box-title { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; letter-spacing: 2px; text-transform: uppercase; color: var(--rust-accent); margin-bottom: 16px; }
.specs-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px dotted var(--border); font-family: 'Lora', serif; color: var(--text-muted); }
.specs-row:last-child { border-bottom: none; }
.specs-row strong { color: var(--dark-brown-2); font-weight: 600; }

@media (max-width: 700px) {
    .specs-grid { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════
   404
   ══════════════════════════════════════════════ */

.error-404-content { text-align: center; max-width: 560px; margin: 40px auto 100px; }
.error-404-code {
    display: block; font-family: 'Playfair Display', serif; font-size: 6rem; font-weight: 700;
    color: var(--rust-accent); opacity: 0.5; line-height: 1; margin-bottom: 10px;
}
.error-404-content .page-title { font-size: 1.9rem; }
.error-404-text { color: var(--text-muted); font-size: 1.05rem; line-height: 1.7; margin-bottom: 36px; }
.error-404-links { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
.error-404-links .card-cart-btn { display: inline-block; width: auto; margin: 0; padding: 13px 26px; }

@media (max-width: 500px) {
    .error-404-code { font-size: 4.5rem; }
    .error-404-links { flex-direction: column; }
}

/* ══════════════════════════════════════════════
   InPost Geowidget (okno wyboru paczkomatu) — wymuszenie pełnej szerokości,
   niezależnie od ograniczonego kontenera .cart_totals/.cart-collaterals
   ══════════════════════════════════════════════ */
#easypack-map-modal,
.easypack-modal,
.easypack_show_geowidget,
[id*="geowidget"],
[class*="geowidget"],
[id="easypack_js_type_geowidget"],
.easypack-modal-content,
.easypack-modal-wrapper {
    width: 100% !important;
    max-width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
}
.easypack-modal iframe,
[class*="geowidget"] iframe,
[id*="geowidget"] iframe {
    width: 100% !important;
}

/* Zerowanie wbudowanego "zebra-stripe" tła WooCommerce na mobile (rgba(0,0,0,.025) na parzystych wierszach) */
.woocommerce table.shop_table_responsive tr:nth-child(2n) td,
.woocommerce-page table.shop_table_responsive tr:nth-child(2n) td,
.woocommerce-page-content table.shop_table_responsive tr:nth-child(2n) td {
    background-color: transparent !important;
}

/* ══════════════════════════════════════════════
   Ostateczne usunięcie beżowego tła z nagłówków sekcji
   (KWOTA/PRZESYŁKA/ŁĄCZNIE/TWOJE ZAMÓWIENIE) — "wyciekało"
   z generycznej reguły table.shop_table th.
   ══════════════════════════════════════════════ */
.woocommerce-page-content .cart_totals table th,
.woocommerce-page-content .cart_totals table td,
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
    background: transparent !important;
}
.woocommerce-page-content #order_review_heading {
    background: transparent !important; border: none !important; padding: 0 0 16px !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT — układ 2-kolumnowy: lewo dane, prawo sticky podsumowanie+płatność
   ══════════════════════════════════════════════ */
.woocommerce-page-content .woocommerce-checkout .col-2 { margin-top: 30px; }

/* Metody płatności jako wybieralne karty (BLIK / Karta / Klarna), nie radio-lista */
#payment .wc_payment_methods li {
    display: flex !important; align-items: center !important; gap: 12px;
    background: #fff; border: 1px solid var(--border) !important; border-radius: 8px;
    padding: 16px !important; margin-bottom: 10px !important;
    transition: 0.2s ease; cursor: pointer;
}
#payment .wc_payment_methods li:has(input:checked) {
    border-color: var(--rust-accent) !important; background: var(--status-available-bg);
}
#payment .wc_payment_methods label {
    font-family: 'JetBrains Mono', monospace !important; font-size: 0.82rem !important;
    letter-spacing: 0.5px; text-transform: uppercase; font-weight: 600 !important;
    color: var(--dark-brown-2) !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT — własny szablon woocommerce/checkout/form-checkout.php,
   układ 2-kolumnowy: lewo dane+dostawa, prawo sticky podsumowanie
   ══════════════════════════════════════════════ */
.mycotar-checkout-wrap { max-width: 1200px; margin: 0 auto; }

.mycotar-checkout-grid {
    display: grid !important;
    grid-template-columns: 1fr 400px !important;
    gap: 40px !important;
    align-items: start !important;
    width: 100% !important;
}
.mycotar-col-billing { grid-column: 1 !important; min-width: 0 !important; }
.mycotar-col-review {
    grid-column: 2 !important;
    min-width: 0 !important;
    position: sticky !important;
    top: 24px !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px;
    padding: 20px 24px !important;
    background: var(--cream-bg-alt) !important;
}
.mycotar-section-title {
    display: block;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem; letter-spacing: 3px; text-transform: uppercase;
    color: var(--rust-accent);
    margin-bottom: 22px; padding-bottom: 12px;
    border-bottom: 2px solid var(--rust-accent);
}

/* Resetujemy domyślne marginesy/floaty WooCommerce na elementach wewnątrz naszych kolumn */
.mycotar-col-billing .col2-set,
.mycotar-col-billing #customer_details {
    float: none !important; width: 100% !important; clear: none !important; padding: 0 !important; margin: 0 !important;
}
.mycotar-col-billing .woocommerce-billing-fields,
.mycotar-col-billing .woocommerce-shipping-fields { width: 100% !important; }

@media (max-width: 900px) {
    .mycotar-checkout-grid { grid-template-columns: 1fr !important; gap: 30px !important; }
    .mycotar-col-review {
        position: static !important;
        grid-column: 1 !important;
        width: 100% !important;
    }
    .mycotar-col-billing { grid-column: 1 !important; width: 100% !important; }
}

/* ══════════════════════════════════════════════
   CHECKOUT — poprawki po teście (zgłoszone usterki):
   duplikat nagłówka, nierówne wysokości pól, ciasne marginesy
   w podsumowaniu, panel InPost przyklejony do lewej, zbędne bordery.
   Scopowane do .mycotar-col-billing / .mycotar-col-review, żeby
   nie ruszać niczego poza checkoutem.
   ══════════════════════════════════════════════ */

/* WooCommerce sam dorzuca nagłówek "Dane rozliczeniowe" wewnątrz —
   mamy już własny "DANE I DOSTAWA" nad sekcją, ten drugi jest zbędny */
.mycotar-col-billing .woocommerce-billing-fields > h3 { display: none !important; }

/* Jednakowa wysokość wszystkich pól (text/select/select2 mają różne
   wewnętrzne paddingi, więc się nie zgadzały) */
.mycotar-col-billing input[type="text"],
.mycotar-col-billing input[type="email"],
.mycotar-col-billing input[type="tel"],
.mycotar-col-billing input[type="number"],
.mycotar-col-billing select {
    height: 50px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
}
.mycotar-col-billing .select2-container--default .select2-selection--single {
    box-sizing: border-box !important;
}

/* Panel podsumowania — usuwamy ewentualny "box w boxie" (border/tło/padding
   z osobna na #order_review), kartę daje już sam .mycotar-col-review */
.mycotar-col-review #order_review,
.mycotar-col-review .woocommerce-checkout-review-order {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
}
.mycotar-col-review .woocommerce-checkout-review-order-table { margin-bottom: 24px !important; }

/* Zdejmujemy zbędne bordery z samej tabeli/komórek — granica zostaje
   tylko jako dotted divider między wierszami (już zdefiniowany wyżej) */
.mycotar-col-review table,
.mycotar-col-review table th,
.mycotar-col-review table td {
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
}

/* Metoda dostawy (InPost) — na pełną szerokość kolumny podsumowania,
   nie przyklejona do lewej krawędzi */
.mycotar-col-review #shipping_method,
.mycotar-col-review ul.woocommerce-shipping-methods {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
.mycotar-col-review #shipping_method li,
.mycotar-col-review ul.woocommerce-shipping-methods li {
    width: 100% !important;
    box-sizing: border-box !important;
}
.mycotar-col-review .easypack_show_geowidget,
.mycotar-col-review [class*="geowidget"],
.mycotar-col-review [id*="easypack"],
.mycotar-col-review [class*="paczkomat"] {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}
button.select-paczkomat-button,
.mycotar-col-review button.btn.select-paczkomat-button {
    width: 100% !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT — druga runda poprawek:
   1) wszystkie pola jeden pod drugim na pełną szerokość (bez par 50%)
   2) metoda dostawy (InPost) — naprawa ucinającego się tekstu,
      spowodowanego starą regułą text-align:right / justify-content:flex-end
   ══════════════════════════════════════════════ */

/* Pola formularza — zawsze jedna kolumna, pełna szerokość, jeden pod drugim */
.mycotar-col-billing .woocommerce-billing-fields__field-wrapper {
    display: block !important;
}
.mycotar-col-billing .woocommerce-billing-fields .form-row,
.mycotar-col-billing .woocommerce-billing-fields .form-row-wide,
.mycotar-col-billing .woocommerce-billing-fields .form-row-first,
.mycotar-col-billing .woocommerce-billing-fields .form-row-last,
.mycotar-col-billing .col2-set .form-row,
.mycotar-col-billing #customer_details .form-row {
    display: block !important;
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    float: none !important;
}

/* Metoda dostawy — resetujemy starą regułę text-align:right/flex-end,
   która ucinała tekst w wąskiej kolumnie podsumowania */
.mycotar-col-review #shipping_method,
.mycotar-col-review #shipping_method li {
    text-align: left !important;
}
.mycotar-col-review #shipping_method li {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 0 !important;
}
.mycotar-col-review #shipping_method li label {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    text-align: left !important;
    white-space: normal !important;
    width: auto !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
.mycotar-col-review #shipping_method li .inpost_pl-shipping-method-meta-wrap {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT — trzecia runda: reset domyślnych marginesów/paddingów
   przeglądarki na <ul>/<li>/<label> metody dostawy InPost —
   to one (nie szerokość kolumny) powodowały "sklejanie" i ściśnięcie
   ══════════════════════════════════════════════ */
.mycotar-col-review ul#shipping_method,
.mycotar-col-review ul.woocommerce-shipping-methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
.mycotar-col-review #shipping_method li {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 14px 0 !important;
    border-bottom: 1px dotted var(--border) !important;
}
.mycotar-col-review #shipping_method li:last-child { border-bottom: none !important; }
.mycotar-col-review #shipping_method li input[type="radio"] {
    flex-shrink: 0 !important;
    margin: 0 !important;
}
.mycotar-col-review #shipping_method li label {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    word-break: break-word !important;
}
.mycotar-col-review #shipping_method li .inpost_pl-shipping-method-meta-wrap {
    flex-shrink: 0 !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
}
.mycotar-col-review #shipping_method li .inpost_pl-shipping-method-meta-wrap img {
    max-height: 20px !important;
    width: auto !important;
    display: block !important;
}

/* Komórka "Przesyłka" w tabeli podsumowania — własny odstęp od reszty */
.mycotar-col-review tr.woocommerce-shipping-totals td {
    padding: 8px 0 0 0 !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT — czwarta runda: wtyczka InPost dokłada własne CSS na
   ul#shipping_method (najpewniej display:flex + align-items:flex-start),
   które ściska <li> do szerokości treści. Wymuszamy block na ul
   i pełną szerokość na li z większą specyficznością (body + klasa + id),
   żeby wygrać z regułami wtyczki niezależnie od kolejności wczytania.
   ══════════════════════════════════════════════ */
body .mycotar-col-review ul#shipping_method {
    display: block !important;
    align-items: initial !important;
    flex-direction: initial !important;
    width: 100% !important;
    max-width: 100% !important;
}
body .mycotar-col-review ul#shipping_method > li {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT — piąta runda: dłuższy tekst ("InPost Kurier Standard
   Pobranie: 35,00 zł") zawijał się i kolidował z separatorem, bo label
   był flexem ograniczonym miejscem zajętym przez radio+logo.
   Radio i logo przypinamy absolutnie w prawym górnym rogu — label
   dostaje pełną szerokość z paddingiem po prawej i zawija się czysto.
   ══════════════════════════════════════════════ */
body .mycotar-col-review ul#shipping_method > li {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 16px 64px 16px 0 !important;
    margin: 0 !important;
}
.mycotar-col-review #shipping_method li label {
    display: block !important;
    width: 100% !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: normal !important;
}
.mycotar-col-review #shipping_method li input[type="radio"] {
    position: absolute !important;
    top: 16px !important;
    right: 0 !important;
    margin: 0 !important;
}
.mycotar-col-review #shipping_method li .inpost_pl-shipping-method-meta-wrap {
    position: absolute !important;
    top: 42px !important;
    right: 0 !important;
    margin: 0 !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT — szósta runda: cofam piątą rundę (absolutne pozycjonowanie
   nałożyło radio na tekst — "krzak"). Wracam do flex w jednym rzędzie
   (bez flex-wrap na <li>), żeby tylko <label> zawijał tekst do 2 linii,
   a radio + logo zostawały na miejscu po prawej, bez kolizji.
   ══════════════════════════════════════════════ */
body .mycotar-col-review ul#shipping_method > li {
    position: static !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    width: 100% !important;
    gap: 10px !important;
    box-sizing: border-box !important;
    padding: 16px 0 !important;
    margin: 0 !important;
}
.mycotar-col-review #shipping_method li input[type="radio"] {
    position: static !important;
    flex-shrink: 0 !important;
    align-self: flex-start !important;
    margin: 3px 0 0 0 !important;
    order: 2 !important;
}
.mycotar-col-review #shipping_method li label {
    position: static !important;
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: normal !important;
    order: 1 !important;
}
.mycotar-col-review #shipping_method li .inpost_pl-shipping-method-meta-wrap {
    position: static !important;
    flex-shrink: 0 !important;
    align-self: flex-start !important;
    margin: 0 !important;
    order: 3 !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT — siódma runda: znaleziony faktyczny winowajca przez DevTools —
   label miał computed width: 0 (nie błąd reguły na labelu, a sąsiad
   .inpost_pl-shipping-method-meta-wrap/img zajmował w flexie za dużo
   miejsca, bo ograniczenie szerokości na <img> nie wygrywało). Nakładamy
   sztywny limit na sam wrapper (nie tylko obrazek) i realny min-width
   na label, żeby nie mógł się już zapaść do zera.
   ══════════════════════════════════════════════ */
.mycotar-col-review #shipping_method li .inpost_pl-shipping-method-meta-wrap {
    flex: 0 0 auto !important;
    max-width: 60px !important;
    width: 60px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.mycotar-col-review #shipping_method li .inpost_pl-shipping-method-meta-wrap img,
.mycotar-col-review #shipping_method li .inpost_pl-shipping-method-meta-wrap * {
    max-width: 50px !important;
    max-height: 20px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
}
.mycotar-col-review #shipping_method li label {
    min-width: 150px !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT — ósma runda, ZMIANA STRATEGII: flex z auto-obliczanym
   grow/shrink/order okazał się niedeterministyczny (radio "ukradło"
   240px szerokości, logo zniknęło). Przechodzimy na GRID z jawnie
   zdefiniowanymi, sztywnymi kolumnami — radio (18px) / tekst (elastyczny)
   / logo (50px). To nadpisuje WSZYSTKIE poprzednie reguły flex dla
   tych elementów (te same selektory, dalej w pliku = wygrywają).
   ══════════════════════════════════════════════ */
.mycotar-col-review #shipping_method li {
    display: grid !important;
    grid-template-columns: 18px 1fr 50px !important;
    column-gap: 10px !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px 0 !important;
    margin: 0 !important;
}
.mycotar-col-review #shipping_method li input[type="radio"] {
    grid-column: 1 !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    flex: none !important;
    position: static !important;
}
.mycotar-col-review #shipping_method li label {
    grid-column: 2 !important;
    width: auto !important;
    min-width: 0 !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    display: block !important;
}
.mycotar-col-review #shipping_method li .inpost_pl-shipping-method-meta-wrap {
    grid-column: 3 !important;
    width: 50px !important;
    flex: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    margin: 0 !important;
}
.mycotar-col-review #shipping_method li .inpost_pl-shipping-method-meta-wrap img {
    max-width: 44px !important;
    max-height: 20px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT — dziewiąta runda, PRAWDZIWY KOREŃ PROBLEMU znaleziony
   przez DevTools: <table> nigdy nie dostała display:block — tylko jej
   dzieci (thead/tbody/tfoot). Mieszany model (prawdziwa CSS-tabela
   z table-layout:fixed + block-childami) dawał niedeterministyczne,
   "uciśnięte" szerokości (tfoot 242px mimo width:100%). Wymuszamy
   block na samej tabeli — usuwa to model tabelaryczny całkowicie.
   ══════════════════════════════════════════════ */
.mycotar-col-review .woocommerce-checkout-review-order-table {
    display: block !important;
    width: 100% !important;
    table-layout: auto !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT — dziesiąta runda:
   1) biały box od WC (.shop_table) nie obejmował thead (Produkt/Kwota) —
      przenosimy białe tło + zaokrąglenie na samą <table>, a thead/tbody/
      tfoot robimy przezroczyste, żeby całość była jedną spójną kartą
      od góry do dołu, bez kwadratowego nagłówka na beżu.
   2) #payment li (metoda BLIK/przelew) miało dziwny cień + wystającą
      białą zaokrągloną ramkę spod spodu — to artefakt domyślnego
      box-shadow WooCommerce na li, usuwamy.
   ══════════════════════════════════════════════ */
.mycotar-col-review .woocommerce-checkout-review-order-table {
    background: #fff !important;
    border: 1px solid var(--border) !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}
.mycotar-col-review .woocommerce-checkout-review-order-table thead,
.mycotar-col-review .woocommerce-checkout-review-order-table tbody,
.mycotar-col-review .woocommerce-checkout-review-order-table tfoot,
.mycotar-col-review .woocommerce-checkout-review-order-table tr,
.mycotar-col-review .woocommerce-checkout-review-order-table th,
.mycotar-col-review .woocommerce-checkout-review-order-table td {
    background: transparent !important;
}
.mycotar-col-review .woocommerce-checkout-review-order-table thead th {
    padding: 16px 18px 12px !important;
}
.mycotar-col-review .woocommerce-checkout-review-order-table tbody td {
    padding: 10px 18px !important;
}
.mycotar-col-review .woocommerce-checkout-review-order-table tfoot td,
.mycotar-col-review .woocommerce-checkout-review-order-table tfoot th {
    padding: 9px 18px !important;
}
.mycotar-col-review .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td {
    padding: 8px 18px 14px !important;
}

#payment .wc_payment_methods li {
    box-shadow: none !important;
}
#payment .wc_payment_methods li::before,
#payment .wc_payment_methods li::after,
#payment .wc_payment_methods li label::before,
#payment .wc_payment_methods li label::after {
    display: none !important;
    content: none !important;
    box-shadow: none !important;
}
#payment .wc_payment_method .payment_box {
    box-shadow: none !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT — jedenasta runda: <li> metody dostawy nie miało marginesu
   bocznego (jak resztą tabeli, teraz 18px) — stąd tekst przyklejony do
   lewej i druga ikonka InPost nie miała miejsca po prawej.
   ══════════════════════════════════════════════ */
.mycotar-col-review #shipping_method li {
    padding: 14px 18px !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT — dwunasta runda: "paproch" w rogu #payment li — brak
   overflow:hidden na <li> (cokolwiek wystawało poza zaokrąglony róg
   było widoczne) + niewyłączony .payment_box::after.
   ══════════════════════════════════════════════ */
#payment .wc_payment_methods li {
    overflow: hidden !important;
    border-radius: 8px !important;
}
.mycotar-col-review #payment .wc_payment_method .payment_box {
    border-radius: 6px !important;
    overflow: visible !important;
}
.mycotar-col-review #payment .wc_payment_method .payment_box::after {
    display: none !important;
    content: none !important;
}
/* trzynasta runda: strzałka to ::before (core WC), nie ::after — ::after
   zostaje wyłączony (był prawdziwym "paprochem"), ::before ma teraz
   overflow:visible na rodzicu więc znów wystaje nad box jak powinno */
.mycotar-col-review #payment .wc_payment_method .payment_box::before {
    border-bottom-color: #fff !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT — trzynasta runda:
   1) "paproch" = domyślny padding:1em + border-bottom na ul.payment_methods
      z core WooCommerce (nie z naszego CSS, stąd trudno było znaleźć).
   2) brązowe tło pod boksami = background: var(--cream-bg-alt) na całej
      .mycotar-col-review — usuwamy, kolumna ma być przezroczysta.
   ══════════════════════════════════════════════ */
#payment ul.payment_methods,
#payment ul.payment_methods.methods {
    padding: 0 !important;
    margin: 0 !important;
    border-top: none !important;
    border-bottom: none !important;
}
#payment {
    background: transparent !important;
    border: none !important;
}
.mycotar-col-review {
    background: transparent !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT — czternasta runda:
   1) generyczna reguła ".page-content ol, .page-content ul" (z białym
      tłem, border, border-radius, overflow:hidden, margin 0 0 30px)
      łapała też nasze <ul> w checkout (#shipping_method, payment_methods)
      i dorzucała drugą, niechcianą "kartę" w karcie. Resetujemy ją
      całkowicie, ale TYLKO w obrębie checkoutu — nie ruszamy global
      reguły dla bloga/innych stron.
   2) więcej miejsca na tekst w <li> metody dostawy (mniejsze kolumny
      radio/logo + mniejszy gap), żeby "InPost Kurier Standard: XX,00 zł"
      mieściło się bez ucinania na typowych szerokościach.
   ══════════════════════════════════════════════ */
.mycotar-checkout-wrap ol,
.mycotar-checkout-wrap ul {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
/* Wyjątek od resetu wyżej — komunikaty WooCommerce (.woocommerce-error/-message/-info)
   to też <ul>, więc reset list je gasił (znikał border/tło/padding-left na ikonę).
   Wyższa specyficzność (dwie klasy) gwarantuje, że to wygra niezależnie od kolejności w pliku. */
.mycotar-checkout-wrap ul.woocommerce-error,
.mycotar-checkout-wrap ul.woocommerce-message,
.mycotar-checkout-wrap ul.woocommerce-info {
    background: rgba(192,57,43,0.06) !important;
    border: 1px solid var(--error-red) !important;
    border-radius: 4px !important;
    padding: 16px 20px 16px 3.4em !important;
    margin: 0 0 20px !important;
    list-style: none !important;
}

.mycotar-col-review #shipping_method li {
    grid-template-columns: 16px 1fr 40px !important;
    column-gap: 8px !important;
}
.mycotar-col-review #shipping_method li input[type="radio"] {
    width: 16px !important;
    height: 16px !important;
}
.mycotar-col-review #shipping_method li .inpost_pl-shipping-method-meta-wrap {
    width: 40px !important;
}
.mycotar-col-review #shipping_method li .inpost_pl-shipping-method-meta-wrap img {
    max-width: 36px !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT — piętnasta runda: wymuszony, stały podział tekstu metody
   dostawy — cena zawsze na własnej linii pod nazwą metody, niezależnie
   od szerokości kontenera (nie liczymy już na naturalne zawijanie).
   ══════════════════════════════════════════════ */
.mycotar-col-review #shipping_method li label .woocommerce-Price-amount {
    display: block !important;
    margin-top: 2px !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT — szesnasta runda: layout metody dostawy od nowa, 2-wierszowy
   grid (nazwa+radio / cena+logo), pełna szerokość, równe kolumny.
   label dostaje display:contents — jego dzieci (tekst nazwy + span ceny)
   wchodzą jako osobne elementy gridu w <li>, radio/logo/cena mają
   explicit grid-column/row, a "goły" tekst nazwy metody (bez selektora)
   automatycznie ląduje w jedynej wolnej komórce (row1, col1).
   ══════════════════════════════════════════════ */
.mycotar-col-review #shipping_method li {
    display: grid !important;
    grid-template-columns: 1fr 40px !important;
    grid-template-rows: auto auto !important;
    column-gap: 10px !important;
    row-gap: 4px !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px 18px !important;
    margin: 0 !important;
}
.mycotar-col-review #shipping_method li label {
    display: contents !important;
}
.mycotar-col-review #shipping_method li input[type="radio"] {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    align-self: center !important;
}
.mycotar-col-review #shipping_method li label .woocommerce-Price-amount {
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin-top: 0 !important;
}
.mycotar-col-review #shipping_method li .inpost_pl-shipping-method-meta-wrap {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: center !important;
    align-self: center !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT — siedemnasta runda: label nad inputem ma być "przyklejony"
   (margin-bottom: 0, sprawdzone w devtools) — niezależnie od tego, która
   z dwóch konkurujących reguł (.woocommerce form vs .woocommerce-page-content)
   akurat wygrywa.
   ══════════════════════════════════════════════ */
.mycotar-col-billing .form-row label {
    margin-bottom: 0 !important;
    line-height: 1.3 !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT — osiemnasta runda: kolejność w jednym rzędzie —
   bullet (radio) » dostawa (nazwa) » koszt (cena) » ikona (do prawej).
   Flex z order; cena dostaje margin-left:auto, co odpycha ją (i ikonę)
   do prawej krawędzi, podczas gdy radio+nazwa zostają po lewej.
   ══════════════════════════════════════════════ */
.mycotar-col-review #shipping_method li {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px 18px !important;
    margin: 0 !important;
}
.mycotar-col-review #shipping_method li label {
    display: contents !important;
}
.mycotar-col-review #shipping_method li input[type="radio"] {
    order: -1 !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}
.mycotar-col-review #shipping_method li label .woocommerce-Price-amount {
    order: 2 !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    margin-left: auto !important;
    margin-top: 0 !important;
}
.mycotar-col-review #shipping_method li .inpost_pl-shipping-method-meta-wrap {
    order: 3 !important;
    flex-shrink: 0 !important;
}

/* ══════════════════════════════════════════════
   KOSZYK — sekcja kuponu i "Zaktualizuj koszyk", napisana od nowa
   jako jeden, samodzielny blok (zastępuje rozproszone poprawki z
   poprzednich rund). Działa niezależnie od tego, jak wygląda wiersz/
   komórka tabeli wokół — wszystko ma jawne wymiary.
   ══════════════════════════════════════════════ */
.woocommerce-page-content .coupon {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
}
.woocommerce-page-content .coupon input#coupon_code {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    height: 44px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    border: 1px solid var(--border) !important;
    border-radius: 5px !important;
    font-family: 'Lora', serif !important;
    font-size: 0.9rem !important;
    background: #fff !important;
}
.woocommerce-page-content .coupon button[name="apply_coupon"] {
    flex: 0 0 auto !important;
    height: 44px !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    background: transparent !important;
    border: 1px solid var(--rust-accent) !important;
    color: var(--rust-accent) !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.7rem !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    border-radius: 5px !important;
    cursor: pointer !important;
}
.woocommerce-page-content .coupon button[name="apply_coupon"]:hover {
    background: var(--rust-accent) !important;
    color: #fff !important;
}

.woocommerce-page-content button[name="update_cart"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    background: transparent !important;
    border: 1px solid var(--rust-accent) !important;
    color: var(--rust-accent) !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.7rem !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}
.woocommerce-page-content button[name="update_cart"]:hover {
    background: var(--rust-accent) !important;
    color: #fff !important;
}

@media (min-width: 769px) {
    .woocommerce-page-content .coupon input#coupon_code {
        flex: 0 0 280px !important;
    }
}

/* Powiadomienie "Koszyk zaktualizowany" — czarny border to domyślny
   styl WooCommerce (nie nasz), nadpisujemy na zielony zgodnie z resztą */
.woocommerce-page-content .woocommerce-message {
    border: 1px solid var(--moss-green) !important;
    border-top: 1px solid var(--moss-green) !important;
}

/* ══════════════════════════════════════════════
   KOSZYK — komunikat kuponu (błąd/sukces), wstrzykiwany przez JS
   WooCommerce zaraz po formularzu kuponu. Stylujemy oba statusy,
   wymuszamy pełną szerokość (żeby nie ucinał się przy krawędzi) i
   `order` najwyższe w obrębie ewentualnego flex-kontenera, żeby
   zawsze lądował na końcu — pod przyciskiem "Zaktualizuj koszyk".
   ══════════════════════════════════════════════ */
.woocommerce-page-content .coupon-error-notice,
.woocommerce-page-content .coupon-success-notice {
    display: block !important;
    width: 100% !important;
    flex-basis: 100% !important;
    box-sizing: border-box !important;
    order: 99 !important;
    margin: 14px 0 0 0 !important;
    padding: 12px 16px !important;
    border-radius: 6px !important;
    font-family: 'Lora', serif !important;
    font-size: 0.88rem !important;
}
.woocommerce-page-content .coupon-error-notice {
    background: var(--status-unavailable-bg) !important;
    color: var(--status-unavailable-text) !important;
    border: 1px solid var(--error-red) !important;
}
.woocommerce-page-content .coupon-success-notice {
    background: var(--status-available-bg) !important;
    color: var(--status-available-text) !important;
    border: 1px solid var(--moss-green) !important;
}
.woocommerce-page-content .coupon,
.woocommerce-page-content button[name="update_cart"] {
    order: 1 !important;
}

/* ══════════════════════════════════════════════
   KOSZYK — komunikat kuponu nadal w jednym rzędzie, bo jego prawdziwy
   rodzic NIE jest flex-kontenerem (order/flex-basis nic nie dawały).
   Wymuszamy to bezpośrednio na rodzicu .coupon przez :has() — nie
   musimy znać jego dokładnej klasy. Ten sam breakpoint (768px) co
   reszta kart koszyka na mobile.
   ══════════════════════════════════════════════ */
@media (max-width: 768px) {
    *:has(> .coupon) {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* ══════════════════════════════════════════════
   CHECKOUT — przycisk geowidgetu InPost ("Wybierz punkt odbioru"),
   dotąd zupełnie nieostylowany (goły tekst).
   ══════════════════════════════════════════════ */
.mycotar-col-review .easypack_show_geowidget {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 44px !important;
    box-sizing: border-box !important;
    margin: 8px 0 0 0 !important;
    background: transparent !important;
    border: 1px solid var(--rust-accent) !important;
    color: var(--rust-accent) !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.7rem !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    text-align: center !important;
}
.mycotar-col-review .easypack_show_geowidget:hover {
    background: var(--rust-accent) !important;
    color: #fff !important;
}

/* Kolumny checkoutu — twarda blokada szerokości, żeby długi komunikat
   (np. błąd kuponu) nie mógł ich rozciągnąć */
.mycotar-col-billing,
.mycotar-col-review {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
.mycotar-checkout-grid {
    overflow: hidden !important;
}

/* ══════════════════════════════════════════════
   MOBILE ONLY (≤768px) — kontenery koszyka/checkoutu mają być sztywne
   (nic, w tym komunikat błędu kuponu, nie może ich rozciągnąć poza
   ekran). Te same poprawki co wcześniej (grid na td.actions, limit
   szerokości kolumn checkout) — ale teraz ŚCIŚLE w mobile, więc desktop
   (wersja 7, zatwierdzona) zostaje nietknięty.
   ══════════════════════════════════════════════ */
@media (max-width: 768px) {
    /* Twarda blokada poziomego overflow na każdym poziomie strony koszyka/checkoutu */
    .page-content,
    .woocommerce,
    table.shop_table,
    table.shop_table tr,
    table.shop_table td,
    .mycotar-checkout-wrap,
    .mycotar-checkout-grid {
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    td.actions:has(> .coupon) {
        display: grid !important;
        grid-template-columns: 100% !important;
        row-gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }
    td.actions > .coupon {
        grid-row: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    td.actions > button[name="update_cart"] {
        grid-row: 2 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    td.actions > .coupon-error-notice,
    td.actions > .coupon-success-notice {
        grid-row: 3 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
    }

    .mycotar-col-billing,
    .mycotar-col-review {
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        overflow: hidden !important;
    }
}

/* ══════════════════════════════════════════════
   KOSZYK — mobile (≤768px), karta produktu — KONSOLIDACJA wszystkich
   poprzednich, rozdrobnionych rund w jeden, ostateczny blok (usuwa
   konflikt dwóch wersji siatki, które nawarstwiły się i psuły marginesy).
   Układ: [X][miniatura][nazwa] / cena (pełna szer.) / ilość / kwota.
   ══════════════════════════════════════════════ */
@media (max-width: 768px) {

    .woocommerce-page-content table.shop_table,
    .woocommerce-page-content table.cart {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        border: none !important;
        background: white !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }
    .woocommerce-page-content table.shop_table thead {
        display: none !important;
    }
    .woocommerce-page-content table.shop_table tbody,
    .woocommerce-page-content table.shop_table tfoot {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Karta produktu — grid 3 kolumny: X (38px) / miniatura (56px) / treść */
    .woocommerce-page-content table.shop_table tr:has(td.product-thumbnail) {
        display: grid !important;
        grid-template-columns: 38px 56px minmax(0, 1fr) !important;
        column-gap: 14px !important;
        row-gap: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        position: relative !important;
        background: #fff !important;
        padding: 10px !important;
        margin: 0 0 12px 0 !important;
        overflow: hidden !important;
    }
    .woocommerce-page-content table.shop_table tr:has(td.product-thumbnail) td {
        display: block !important;
        border: none !important;
        padding: 10px 0 0 0 !important;
        margin: 0 !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* X — kolumna 1 */
    .woocommerce-page-content table.shop_table td.product-remove {
        grid-column: 1 !important;
        grid-row: 1 !important;
        position: static !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
    }
    .woocommerce-page-content table.shop_table td.product-remove a {
        width: 32px !important;
        height: 32px !important;
    }

    /* Miniatura — kolumna 2 */
    .woocommerce-page-content table.shop_table td.product-thumbnail {
        grid-column: 2 !important;
        grid-row: 1 !important;
        min-height: 45px !important;
    }
    .woocommerce-page-content table.shop_table td.product-thumbnail img {
        width: 56px !important;
        height: 56px !important;
        border-radius: 8px !important;
        object-fit: cover !important;
        display: block !important;
    }

    /* Nazwa produktu — kolumna 3 */
    .woocommerce-page-content table.shop_table td.product-name {
        grid-column: 3 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        font-size: 0.92rem !important;
        padding-right: 40px !important;
        text-align: left !important;
    }
    .woocommerce-page-content table.shop_table td.product-name a {
        display: block !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        text-align: left !important;
    }

    /* Cena / Ilość / Kwota — pełna szerokość karty (wszystkie kolumny) */
    .woocommerce-page-content table.shop_table td.product-price {
        grid-column: 2 / -1 !important;
        grid-row: 2 !important;
        margin-top: 18px !important;
        margin-right: 0 !important;
        padding-top: 16px !important;
        border-top: 1px dashed var(--border) !important;
        font-size: 0.85rem !important;
        color: var(--text-muted) !important;
        display: flex !important;
        align-items: baseline !important;
        justify-content: space-between !important;
        gap: 6px !important;
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .woocommerce-page-content table.shop_table td.product-quantity {
        grid-column: 2 / -1 !important;
        grid-row: 3 !important;
        margin-top: 18px !important;
        margin-right: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .woocommerce-page-content table.shop_table td.product-subtotal {
        grid-column: 2 / -1 !important;
        grid-row: 4 !important;
        margin-top: 18px !important;
        margin-right: 0 !important;
        margin-bottom: 4px !important;
        display: flex !important;
        align-items: baseline !important;
        justify-content: space-between !important;
        gap: 6px !important;
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .woocommerce-page-content table.shop_table td.product-subtotal .woocommerce-Price-amount {
        font-weight: 700 !important;
        font-size: 1.05rem !important;
        color: var(--rust-accent) !important;
    }

    /* Etykiety (Cena/Ilość/Kwota) — drobny mono label */
    .woocommerce-page-content table.shop_table td.product-price::before,
    .woocommerce-page-content table.shop_table td.product-quantity::before,
    .woocommerce-page-content table.shop_table td.product-subtotal::before {
        display: inline-block !important;
        font-family: 'JetBrains Mono', monospace !important;
        font-size: 0.62rem !important;
        letter-spacing: 1px !important;
        text-transform: uppercase !important;
        color: var(--tan-light) !important;
        margin: 0 !important;
        flex-shrink: 0 !important;
    }
    .woocommerce-page-content table.shop_table td.product-name::before,
    .woocommerce-page-content table.shop_table td.product-thumbnail::before,
    .woocommerce-page-content table.shop_table td.product-remove::before {
        display: none !important;
    }

    /* Input ilości — kompaktowy, sztywny box-model */
    .woocommerce-page-content .quantity {
        margin: 0 !important;
    }
    .woocommerce-page-content .quantity .qty {
        width: 52px !important;
        height: 30px !important;
        padding: 0 6px !important;
        box-sizing: border-box !important;
        line-height: normal !important;
        font-size: 1rem !important;
        margin: 0 !important;
    }
    /* Selektor o wyższej specyficzności z core WooCommerce blokował zmianę
       wysokości/szerokości inputu — nadpisujemy tym samym selektorem */
    .woocommerce-cart-form td.product-quantity input[type="number"] {
        height: 30px !important;
        width: 52px !important;
    }
}

/* Etykieta "ILOŚĆ:" nie była wyśrodkowana względem inputu — wyrównujemy
   oba elementy względem siebie w tym samym flex-rzędzie */
@media (max-width: 768px) {
    .woocommerce-page-content table.shop_table td.product-quantity::before {
        align-self: center !important;
        margin: 0 !important;
        line-height: 30px !important;
    }
    .woocommerce-page-content table.shop_table td.product-quantity .quantity {
        align-self: center !important;
        margin: 0 !important;
        height: auto !important;
        padding: 0 !important;
    }
    .woocommerce-page-content table.shop_table td.product-quantity .qty {
        align-self: center !important;
        margin: 0 !important;
    }
}

/* ══════════════════════════════════════════════
   KOSZYK mobile — dwie poprawki:
   1) stara reguła z pierwszej wersji mobile (border-bottom + padding
      na KAŻDYM <tr>) kolidowała z własnym borderem kart produktów —
      neutralizujemy ją tym samym selektorem.
   2) td.actions (kupon + przyciski) nigdy nie dostał własnej "karty"
      (białe tło/border/radius) jak karty produktów — dodajemy.
   ══════════════════════════════════════════════ */
@media (max-width: 768px) {
    .woocommerce-page-content table.shop_table tr {
        border-bottom: none !important;
        border-top: none !important;
        padding-top: 10px !important;
    }
    td.actions:has(> .coupon) {
        background: #fff !important;
        border: 1px solid var(--border) !important;
        border-radius: 10px !important;
        padding: 16px !important;
    }
}

/* ══════════════════════════════════════════════
   KOSZYK mobile — PRAWDZIWY cel: .coupon-error-notice jest DZIECKIEM
   div.coupon (siostrą inputu/przycisku), nie td.actions. Stąd wcześniejsze
   reguły z td.actions > .coupon-error-notice nigdy nie trafiały.
   Naprawiamy w .coupon: flex-wrap, komunikat na pełną szerokość,
   własną linię pod inputem/przyciskiem (bez rozszerzania kontenera).
   ══════════════════════════════════════════════ */
@media (max-width: 768px) {
    .woocommerce-page-content .coupon {
        flex-wrap: wrap !important;
    }
    .woocommerce-page-content .coupon .coupon-error-notice,
    .woocommerce-page-content .coupon .coupon-success-notice {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin: 10px 0 0 0 !important;
        order: 99 !important;
    }
}

/* Wyśrodkowanie przycisku "Wykorzystaj kupon" (po zawinięciu pod input) */
@media (max-width: 768px) {
    .woocommerce-page-content .coupon {
        justify-content: center !important;
    }
    .woocommerce-page-content .coupon button[name="apply_coupon"] {
        margin: 0 auto !important;
    }
}

/* Input kuponu — dokładnie taka sama szerokość/pozycja jak przycisk
   "Zaktualizuj koszyk" (width:100% wprost, nie liczymy na flex-grow) */
@media (max-width: 768px) {
    .woocommerce-page-content .coupon input#coupon_code {
        flex: 0 0 100% !important;
        width: 100% !important;
    }
}

/* ══════════════════════════════════════════════
   KOSZYK mobile — kupon, ostatnie poprawki:
   1) padding-top karty miał mniej miejsca niż padding-bottom
      (label screen-reader-text mogła dodawać niewidoczną wysokość) —
      wymuszamy symetryczny padding i zerujemy ukrytą etykietę.
   2) Przycisk "Wykorzystaj kupon" — domyślnie ciemnobrązowe tło,
      hover odwrotnie: białe tło, ciemny tekst.
   ══════════════════════════════════════════════ */
@media (max-width: 768px) {
    td.actions:has(> .coupon) {
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }
    .woocommerce-page-content .coupon label.screen-reader-text {
        display: none !important;
        height: 0 !important;
        margin: 0 !important;
    }

    .woocommerce-page-content .coupon button[name="apply_coupon"] {
        background: var(--dark-brown-2) !important;
        color: var(--cream-bg) !important;
        border-color: var(--dark-brown-2) !important;
    }
    .woocommerce-page-content .coupon button[name="apply_coupon"]:hover {
        background: #fff !important;
        color: var(--dark-brown-2) !important;
        border-color: var(--dark-brown-2) !important;
    }
}

/* div.coupon ma padding z domyślnego stylu WooCommerce, nigdy
   nie wyzerowany — stąd input "odsunięty" od góry */
@media (max-width: 768px) {
    .woocommerce-page-content .coupon {
        padding: 0 !important;
    }
}

/* Prawdziwy winowajca: .woocommerce-page-content table.cart td.actions .coupon
   { padding-bottom: .5em } — wyższa specyficzność niż .coupon, wygrywała
   mimo !important po naszej stronie. Nadpisujemy identycznym selektorem. */
@media (max-width: 768px) {
    .woocommerce-page-content table.cart td.actions .coupon {
        padding: 0 !important;
        padding-bottom: 0 !important;
        float: none !important;
    }
}

/* Hipoteza: <label class="screen-reader-text">Kupon:</label> mimo
   display:none wciąż liczy się jako trzeci element we flex-wrap,
   dodając swój wiersz + gap (44+44+10=98, a box ma 108 = +gap+coś).
   Uderzamy z każdej strony: display:none, wymiary 0, position:absolute
   jako siatka bezpieczeństwa, żeby na 100% wypadł z flow i z flexa. */
@media (max-width: 768px) {
    .woocommerce-page-content .coupon label {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
        position: absolute !important;
        flex: 0 0 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 0 !important;
    }
}

/* gap dawał odstęp nawet PRZED inputem (przez wciąż obecny "duch"
   niewidocznego labela) — zamiast gap, odstęp input↔przycisk robimy
   przez margin-top na samym przycisku */
@media (max-width: 768px) {
    .woocommerce-page-content .coupon {
        gap: 0 !important;
    }
    .woocommerce-page-content .coupon button[name="apply_coupon"] {
        margin-top: 10px !important;
    }
}

/* Desktop — komunikat kuponu (błąd/sukces) wyrównany w pionie z
   inputem/przyciskiem w tym samym rzędzie (margin-top:14px zbijał go
   niżej; dopasowujemy wysokość do 44px, tak jak input/przycisk) */
@media (min-width: 769px) {
    .woocommerce-page-content .coupon .coupon-error-notice,
    .woocommerce-page-content .coupon .coupon-success-notice {
        margin: 0 !important;
        align-self: center !important;
        display: flex !important;
        align-items: center !important;
        height: 44px !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }
}

/* ══════════════════════════════════════════════
   Geowidget InPost ("Wybierz punkt odbioru") — finalne porządki dla
   obu kontekstów (koszyk i checkout):
   1) usuwamy box-shadow wstrzykiwany przez plugin (front.css)
   2) wymuszamy margin:0 (bez lewo/prawo) — ma się równać od bulletu
      do ikonki, tak jak reszta wierszy w #shipping_method
   ══════════════════════════════════════════════ */
.woocommerce-page-content .easypack_show_geowidget,
.mycotar-col-review .easypack_show_geowidget {
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 8px 18px 0 18px !important;
    width: auto !important;
    max-width: none !important;
}

/* "Oblicz koszty wysyłki" — link wyglądał niespójnie z resztą serwisu,
   ujednolicamy do tego samego stylu co inne małe linki/etykiety */
.woocommerce-page-content .shipping-calculator-button {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: fit-content !important;
    margin: 0 0 0 auto !important;
    padding-top: 10px !important;
    gap: 6px !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.72rem !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: var(--rust-accent) !important;
    text-decoration: none !important;
    border-bottom: 1px dotted var(--rust-accent) !important;
    padding-bottom: 2px !important;
}
.woocommerce-page-content .shipping-calculator-button:hover {
    color: var(--dark-brown-2) !important;
    border-bottom-color: var(--dark-brown-2) !important;
}

/* "Kwota" w podsumowaniu koszyka — ten sam font co inne liczby na
   stronie (Lora), większy, bold (był mały i niespójny, jak w devtools
   widać <bdi> 64x19). Plus odstęp od góry całego boksu podsumowania. */
.woocommerce-page-content .cart-subtotal .woocommerce-Price-amount {
    font-family: 'Lora', serif !important;
    font-weight: 700 !important;
    font-size: 1.2rem !important;
    color: var(--dark-brown-2) !important;
}
.woocommerce-page-content .cart_totals {
    margin-top: 24px !important;
}

/* Generyczny reset .woocommerce-page-content table.shop_table tr
   {padding:0} (mobile) nadpisywał padding-top na .order-total —
   przywracamy bezpośrednio na samym <tr>, z wyższym priorytetem */
@media (max-width: 768px) {
    .woocommerce-page-content table.shop_table tr.order-total {
        padding-top: 30px !important;
    }
}

/* Desktop — KWOTA (product-subtotal) w tabeli koszyka, ten sam styl co
   na mobile: pogrubione, rdzawy kolor */
.woocommerce-page-content table.shop_table td.product-subtotal,
.woocommerce-page-content table.cart td.product-subtotal {
    font-weight: 700 !important;
    color: var(--rust-accent) !important;
}

/* "KWOTA" (cart-subtotal) na checkoucie — ten sam styl co w koszyku
   (Lora, bold, ciemnobrązowy), bo dotąd dziedziczyło drobny mono-styl
   z domyślnej reguły tfoot td */
.woocommerce-checkout-review-order-table .cart-subtotal .woocommerce-Price-amount {
    font-family: 'Lora', serif !important;
    font-weight: 700 !important;
    font-size: 1.2rem !important;
    color: var(--dark-brown-2) !important;
}

/* Panel "Twoje zamówienie" na checkoucie — to samo tło co .cart_totals
   w koszyku (var(--cream-bg-alt)), zgodnie z ujednolicaniem stylu */
.mycotar-col-review {
    background: var(--cream-bg-alt) !important;
}

/* ══════════════════════════════════════════════
   CHECKOUT mobile — lista produktów w "Twoje zamówienie" nie miała
   dedykowanego stylu mobilnego (tylko desktopowe kolumny 70%/30%),
   stąd rozjazd. Stawiamy nazwę nad ceną, pełna szerokość, czysto.
   ══════════════════════════════════════════════ */
@media (max-width: 768px) {
    .woocommerce-checkout-review-order-table tbody tr {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        padding: 12px 0 !important;
        border-bottom: 1px solid var(--border) !important;
    }
    .woocommerce-checkout-review-order-table tbody .product-name,
    .woocommerce-checkout-review-order-table tbody .product-total {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        text-align: left !important;
        font-family: 'Lora', serif !important;
    }
    .woocommerce-checkout-review-order-table tbody .product-name {
        color: var(--dark-brown-2) !important;
        font-size: 0.92rem !important;
        overflow-wrap: break-word !important;
    }
    .woocommerce-checkout-review-order-table tbody .product-total {
        margin-top: 6px !important;
        font-weight: 700 !important;
        font-size: 1rem !important;
        color: var(--rust-accent) !important;
        text-align: right !important;
    }
}

/* Kupon na checkoucie — usunięty (jest już na koszyku, to wystarczy) */
.is-checkout-page .woocommerce-form-coupon-toggle,
.is-checkout-page .checkout_coupon {
    display: none !important;
}

/* Desktop — ceny produktów (product-total) w "Twoje zamówienie",
   ten sam styl co mobile: rdzawy, bold */
.woocommerce-checkout-review-order-table tbody .product-total .woocommerce-Price-amount {
    color: var(--rust-accent) !important;
    font-weight: 700 !important;
}

/* ════════ INSTRUKCJE UPRAWY — strona /sklep/instrukcje-uprawy/ ════════ */
.uprawa-wrap {
        --cream-bg: #f7f1e6; --cream-bg-alt: #ece2cc; --dark-brown: #3d3528;
        --dark-brown-2: #2e2820; --rust-accent: #c08a3e; --moss-green: #7a8a5a;
        --text-muted: #6b5d4f; --tan-light: #a89472; --border: rgba(61,53,40,0.15);
        font-family: 'Lora', serif; color: var(--dark-brown); line-height: 1.65;
        max-width: 900px; margin: 0 auto;
    }
    .uprawa-card h2, .uprawa-intro h2 { font-family: 'Playfair Display', serif; color: var(--dark-brown-2); }
    .uprawa-card strong { color: var(--dark-brown-2); font-weight: 700; }
    .uprawa-intro { margin-bottom: 40px; }
    .uprawa-intro p { color: var(--text-muted); font-size: 0.98rem; margin-bottom: 10px; }
    /* Spis treści — skoki do każdego grzyba */
    .uprawa-toc {
        display: flex; flex-wrap: wrap; gap: 8px;
        margin-bottom: 50px; padding: 20px; background: #fff;
        border: 1px solid var(--border); border-radius: 8px;
    }
    .uprawa-toc a {
        font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; letter-spacing: 0.03em;
        text-transform: uppercase; color: var(--rust-accent); text-decoration: none;
        border: 1px solid var(--border); padding: 6px 12px; border-radius: 20px;
        transition: 0.2s ease;
    }
    .uprawa-toc a:hover { background: var(--rust-accent); color: #fff; border-color: var(--rust-accent); }
    /* Karta jednego grzyba */
    .uprawa-card {
        background: #fff; border: 1px solid var(--border); border-radius: 10px;
        padding: 32px; margin-bottom: 28px; scroll-margin-top: 100px;
    }
    .uprawa-card h2 { font-size: 1.5rem; font-weight: 700; margin-bottom: 4px; line-height: 1.2; }
    .uprawa-card .latin-name {
        display: block; font-family: 'JetBrains Mono', monospace; font-size: 0.7rem;
        color: var(--moss-green); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 16px;
    }
    /* Pasek szybkich faktów: temperatura / rzuty / plony */
    .uprawa-facts { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }
    .uprawa-fact {
        display: flex; align-items: center; gap: 6px;
        background: var(--cream-bg); border: 1px solid var(--border); border-radius: 6px;
        padding: 7px 12px; font-family: 'JetBrains Mono', monospace; font-size: 0.7rem;
        letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-muted);
    }
    .uprawa-fact b { color: var(--rust-accent); font-weight: 700; }
    .uprawa-card p { color: var(--text-muted); font-size: 0.95rem; margin-bottom: 12px; }
    .uprawa-card p:last-child { margin-bottom: 0; }
    .uprawa-warning {
        background: rgba(192,138,62,0.08); border-left: 3px solid var(--rust-accent);
        padding: 10px 16px; margin-bottom: 16px; font-size: 0.92rem; color: var(--dark-brown-2);
    }
    .uprawa-card a { color: var(--rust-accent); text-decoration: underline; text-decoration-color: rgba(192,138,62,0.4); }
    .uprawa-card a:hover { color: var(--dark-brown-2); text-decoration-color: var(--dark-brown-2); }
    @media (max-width: 600px) {
        .uprawa-card { padding: 22px; }
        .uprawa-toc { gap: 6px; }
    }

/* ════════ INSTRUKCJE UPRAWY — wersja kompaktowa (limit rozmiaru hostingu) ════════ */
.ui { max-width: 900px; margin: 0 auto 40px; color: var(--text-muted); font-size: 0.98rem; }
.ut { max-width: 900px; margin: 0 auto 40px; display: flex; flex-wrap: wrap; gap: 8px; padding: 20px; background: #fff; border: 1px solid var(--border); border-radius: 8px; }
.ut a { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; letter-spacing: 0.03em; text-transform: uppercase; color: var(--rust-accent); text-decoration: none; border: 1px solid var(--border); padding: 6px 12px; border-radius: 20px; }
.ut a:hover { background: var(--rust-accent); color: #fff; border-color: var(--rust-accent); }
.uc { max-width: 900px; margin: 0 auto 28px; background: #fff; border: 1px solid var(--border); border-radius: 10px; padding: 32px; scroll-margin-top: 100px; }
.uc h2 { font-family: 'Playfair Display', serif; font-size: 1.5rem; font-weight: 700; margin-bottom: 14px; color: var(--dark-brown-2); }
.uc h2 small { display: block; font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--moss-green); font-weight: 400; margin-top: 4px; }
.uf { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; letter-spacing: 0.03em; color: var(--text-muted); margin-bottom: 16px; }
.uf b { color: var(--rust-accent); }
.uc p { color: var(--text-muted); font-size: 0.95rem; margin-bottom: 0; }
.uc strong { color: var(--dark-brown-2); font-weight: 700; }
.uc a { color: var(--rust-accent); text-decoration: underline; text-decoration-color: rgba(192,138,62,0.4); }
.uc a:hover { color: var(--dark-brown-2); }
@media (max-width: 600px) { .uc { padding: 22px; } .ut { gap: 6px; } }

/* ════════ INSTRUKCJE UPRAWY — pojedyncza strona gatunku (hero/tabela/FAQ/CTA) ════════ */
.instr-breadcrumb { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; letter-spacing: 0.05em; color: var(--tan-light); margin-bottom: 16px; }
.instr-breadcrumb a { color: var(--tan-light); text-decoration: none; }
.instr-breadcrumb a:hover { color: var(--rust-accent); }

.instr-hero { margin-bottom: 10px; }
.instr-hero h1 { font-family: 'Playfair Display', serif; font-size: clamp(1.9rem, 4.5vw, 2.6rem); font-weight: 700; color: var(--dark-brown-2); line-height: 1.15; margin-bottom: 6px; }
.instr-hero h1 small { display: block; font-family: 'Lora', serif; font-style: italic; font-weight: 400; font-size: 0.55em; color: var(--text-muted); margin-top: 6px; }
.instr-latin { font-family: 'JetBrains Mono', monospace; font-size: 0.78rem; letter-spacing: 2px; text-transform: uppercase; color: var(--moss-green); margin-bottom: 28px; }

.instr-hero-img { margin: 0 0 28px; border-radius: 10px; overflow: hidden; border: 1px solid var(--border); max-height: 380px; }
.instr-hero-img img { display: block; width: 100%; height: 100%; max-height: 380px; object-fit: cover; }
.instr-spec { width: 100%; margin: 0 0 36px; border-collapse: collapse; background: #fff; border: 2px solid var(--dark-brown); border-radius: 10px; overflow: hidden; }
.instr-spec tr { border-bottom: 1px solid var(--border); }
.instr-spec tr:last-child { border-bottom: none; }
.instr-spec th, .instr-spec td { padding: 14px 22px; text-align: left; font-size: 0.92rem; }
.instr-spec th { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-muted); font-weight: 600; width: 42%; background: var(--cream-bg); }
.instr-spec td { color: var(--dark-brown-2); font-weight: 600; font-family: 'Lora', serif; }
@media (max-width: 600px) {
    .instr-spec th, .instr-spec td { padding: 12px 16px; font-size: 0.85rem; }
}

.instr-body { margin-bottom: 40px; }
.instr-body h2 { font-family: 'Playfair Display', serif; font-size: 1.4rem; color: var(--dark-brown-2); margin: 32px 0 14px; }
.instr-body h2:first-child { margin-top: 0; }
.instr-body p { color: var(--text-muted); font-size: 0.98rem; margin-bottom: 14px; }
.instr-body strong { color: var(--dark-brown-2); }
.instr-body a { color: var(--rust-accent); text-decoration: underline; text-decoration-color: rgba(192,138,62,0.4); }
.instr-body a:hover { color: var(--dark-brown-2); }

.instr-faq { margin-bottom: 40px; }
.instr-faq h2 { font-family: 'Playfair Display', serif; font-size: 1.4rem; color: var(--dark-brown-2); margin-bottom: 16px; }
.instr-faq details { background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 16px 20px; margin-bottom: 10px; }
.instr-faq summary { font-family: 'Lora', serif; font-weight: 600; color: var(--dark-brown-2); cursor: pointer; }
.instr-faq summary:hover { color: var(--rust-accent); }
.instr-faq details p { color: var(--text-muted); font-size: 0.92rem; margin: 10px 0 0; }

.instr-cta { margin-bottom: 30px; background: var(--dark-brown); border-radius: 10px; padding: 32px; text-align: center; }
.instr-cta p { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; letter-spacing: 0.05em; text-transform: uppercase; color: rgba(255,255,255,0.6); margin-bottom: 14px; }
.instr-cta a.card-cart-btn { display: inline-block; width: auto; margin: 0; padding: 14px 28px; font-size: 0.8rem; }

.instr-related { margin-bottom: 30px; font-size: 0.9rem; color: var(--text-muted); }
.instr-related a { color: var(--rust-accent); text-decoration: underline; text-decoration-color: rgba(192,138,62,0.4); }
.instr-related a:hover { color: var(--dark-brown-2); }

.instr-back { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; }
.instr-back a { color: var(--text-muted); text-decoration: none; }
.instr-back a:hover { color: var(--rust-accent); }

.instr-list-btn-wrap { text-align: center; padding: 0 20px 20px; }
.instr-list-btn {
    display: inline-block; width: auto;
    padding: 9px 22px; margin: 0;
    background: var(--rust-accent); color: #fff;
    font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; letter-spacing: 0.05em; text-transform: uppercase;
    text-decoration: none; border-radius: 5px; transition: background 0.25s ease;
}
.instr-list-btn:hover { background: var(--dark-brown-2); color: #fff; }
.page-content a.instr-list-btn,
.content-block a.instr-list-btn {
    color: #fff;
    text-decoration: none;
}



/* ════════ SEKCJA KOMENTARZY (domyślny formularz WordPress, #respond/#commentform) ════════ */
#respond, .comment-respond { max-width: 900px; margin: 40px auto; padding-top: 30px; border-top: 1px solid var(--border); }
.comment-reply-title { font-family: 'Playfair Display', serif; font-size: 1.4rem; font-weight: 700; color: var(--dark-brown-2); margin-bottom: 16px; }
.comment-reply-title small { font-size: 0.6em; font-weight: 400; }
.comment-reply-title small a { color: var(--rust-accent); }

.comment-notes, .logged-in-as { font-family: 'Lora', serif; font-size: 0.92rem; color: var(--text-muted); margin-bottom: 20px; }
.comment-notes a, .logged-in-as a { color: var(--rust-accent); text-decoration: underline; text-decoration-color: rgba(192,138,62,0.4); }
.comment-notes a:hover, .logged-in-as a:hover { color: var(--dark-brown-2); }
.required { color: var(--rust-accent); }

#commentform p, .comment-form p { margin-bottom: 16px; }
#commentform label, .comment-form label {
    display: block; font-family: 'JetBrains Mono', monospace; font-size: 0.7rem;
    letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-muted);
    margin-bottom: 8px;
}
#commentform textarea,
#commentform input[type="text"],
#commentform input[type="email"],
#commentform input[type="url"],
.comment-form textarea,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"] {
    width: 100%; box-sizing: border-box;
    font-family: 'Lora', serif; font-size: 0.95rem; color: var(--dark-brown-2);
    background: #fff; border: 1px solid var(--border); border-radius: 6px;
    padding: 12px 14px; transition: border-color 0.2s ease;
}
#commentform textarea:focus,
#commentform input:focus,
.comment-form textarea:focus,
.comment-form input:focus {
    outline: none; border-color: var(--rust-accent);
}
#commentform textarea#comment { min-height: 120px; resize: vertical; }

.form-submit { margin-top: 8px; }
#commentform input#submit,
.comment-form input[type="submit"] {
    width: auto; display: inline-block;
    background: var(--rust-accent); color: #fff; border: none;
    font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; letter-spacing: 0.05em; text-transform: uppercase;
    padding: 11px 26px; border-radius: 5px; cursor: pointer; transition: background 0.25s ease;
}
#commentform input#submit:hover,
.comment-form input[type="submit"]:hover { background: var(--dark-brown-2); }

/* ════════ LISTA KOMENTARZY (ol.commentlist / li.comment / article.comment-body) ════════ */
#comments { margin-bottom: 28px; }
ol.commentlist { list-style: none; margin: 0 0 20px; padding: 0; max-width: 900px; margin-left: auto; margin-right: auto; }
ol.commentlist li.comment { margin-bottom: 16px; }
article.comment-body {
    background: #fff; border: 1px solid var(--border); border-radius: 8px;
    padding: 20px 24px;
}
footer.comment-meta { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.comment-author.vcard { display: flex; align-items: center; gap: 10px; }
.comment-author.vcard img { border-radius: 50%; display: block; }
.comment-author.vcard .fn { font-family: 'Lora', serif; font-weight: 700; color: var(--dark-brown-2); font-style: normal; }
.comment-metadata { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; letter-spacing: 0.03em; color: var(--tan-light); }
.comment-metadata a { color: var(--tan-light); text-decoration: none; }
.comment-metadata a:hover { color: var(--rust-accent); }
.comment-content p { font-family: 'Lora', serif; font-size: 0.95rem; color: var(--text-muted); margin-bottom: 0; }
.reply { margin-top: 10px; }
.reply a {
    font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; letter-spacing: 0.04em; text-transform: uppercase;
    color: var(--rust-accent); text-decoration: none; border: 1px solid var(--border); padding: 5px 12px; border-radius: 4px;
}
.reply a:hover { background: var(--rust-accent); color: #fff; border-color: var(--rust-accent); }

/* Badge "Promocja" na kartach produktów (stosowane na front-page.php i archive-product.php) */
.sale-badge {
    position: absolute; top: 14px; left: 14px; z-index: 2;
    background: var(--error-red); color: #fff;
    font-family: 'JetBrains Mono', monospace; font-size: 0.62rem; font-weight: 600;
    letter-spacing: 0.05em; text-transform: uppercase;
    padding: 4px 10px; border-radius: 4px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

/* ════════ TOAST "Dodano do koszyka" (AJAX add-to-cart na kartach produktów) ════════ */
.added_to_cart,
.woocommerce a.added_to_cart, .woocommerce-page a.added_to_cart,
a.added_to_cart.wc-forward, .monitor-card .added_to_cart {
    display: none !important;
} /* domyślny link WC pod przyciskiem — chowamy, zastępuje go toast */

#mycotar-cart-toast {
    position: fixed; top: 20px; left: 50%; transform: translateX(-50%) translateY(-20px);
    z-index: 9999; background: #fff; border: 1px solid var(--border); border-left: 4px solid var(--moss-green);
    border-radius: 8px; padding: 14px 20px; box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    display: flex; align-items: center; gap: 16px; font-family: 'Lora', serif; font-size: 0.92rem;
    color: var(--dark-brown-2); opacity: 0; visibility: hidden; transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
    max-width: 90vw;
}
#mycotar-cart-toast.visible { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
#mycotar-cart-toast a {
    flex-shrink: 0; background: var(--rust-accent); color: #fff; text-decoration: none;
    font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; letter-spacing: 0.04em; text-transform: uppercase;
    padding: 8px 14px; border-radius: 5px; transition: background 0.2s ease;
}
#mycotar-cart-toast a:hover { background: var(--dark-brown-2); }
@media (max-width: 600px) { #mycotar-cart-toast { left: 16px; right: 16px; transform: translateY(-20px); max-width: none; }
    #mycotar-cart-toast.visible { transform: translateY(0); } }

/* ════════ Błędy WooCommerce poza .woocommerce-page-content (np. limit magazynowy na siatce produktów) ════════ */
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
ul.woocommerce-error, ul.woocommerce-message, ul.woocommerce-info {
    display: flex !important; flex-direction: column !important; justify-content: center !important;
    border: 1px solid var(--rust-accent) !important; background: rgb(227, 202, 167) !important;
    color: var(--dark-brown) !important; border-radius: 4px !important;
    font-family: 'Lora', serif !important; font-size: 0.85rem !important;
    padding: 16px 20px !important; margin: 0 auto 20px !important; list-style: none !important;
    position: relative !important;
}
.woocommerce-notices-wrapper .woocommerce-error,
ul.woocommerce-error {
    padding-left: 3.4em !important;
}
.woocommerce-notices-wrapper .woocommerce-error::before,
ul.woocommerce-error::before {
    left: 0.9em !important; top: 50% !important; transform: translateY(-50%) !important;
}
.woocommerce-notices-wrapper .woocommerce-error,
ul.woocommerce-error {
    border-color: var(--error-red) !important; background: rgba(192,57,43,0.06) !important; color: var(--error-red) !important;
}
.woocommerce-notices-wrapper .woocommerce-error li,
.woocommerce-notices-wrapper .woocommerce-message li,
.woocommerce-notices-wrapper .woocommerce-info li,
ul.woocommerce-error li, ul.woocommerce-message li, ul.woocommerce-info li {
    display: flex !important; align-items: center !important; justify-content: space-between !important;
    gap: 16px !important; min-height: 24px !important;
}
.woocommerce .woocommerce-error .button, .woocommerce .woocommerce-message .button, .woocommerce .woocommerce-info .button,
.woocommerce-page .woocommerce-error .button, .woocommerce-page .woocommerce-message .button, .woocommerce-page .woocommerce-info .button,
.woocommerce-notices-wrapper .button, .woocommerce-error .button, .woocommerce-message .button, .woocommerce-info .button {
    float: none !important; display: inline-block !important; margin-left: 10px !important;
    background: var(--dark-brown) !important; color: #fff !important;
    font-family: 'JetBrains Mono', monospace !important; font-size: 0.68rem !important;
    letter-spacing: 0.04em !important; text-transform: uppercase !important;
    text-decoration: none !important; padding: 7px 14px !important; border-radius: 4px !important;
    white-space: nowrap !important; border: none !important;
}
.woocommerce .woocommerce-error .button:hover, .woocommerce .woocommerce-message .button:hover, .woocommerce .woocommerce-info .button:hover,
.woocommerce-notices-wrapper .button:hover {
    background: var(--rust-accent) !important;
}
a.added_to_cart.wc-forward { display: none !important; }

/* ════════ Wrapper dla komunikatów WooCommerce — padding pod fixed-nav + wycentrowanie ════════ */
.shop-notices-wrap { padding-top: 78px; }
.shop-notices-wrap .woocommerce-error,
.shop-notices-wrap .woocommerce-message,
.shop-notices-wrap .woocommerce-info {
    max-width: 1100px; margin-left: auto; margin-right: auto;
}
@media (max-width: 768px) { .shop-notices-wrap { padding-top: 90px; } }

/* ════════ Checkbox regulaminu na checkout — mobile: ciaśniejsza interlinia
   (tekst łamie się do 2 linii i robił się zbyt "przewiewny") ════════ */
/* ════════ Checkbox regulaminu na checkout — układ dwukolumnowy:
   kol. 1 = checkbox, kol. 2 = tekst (zawija się do lewej w swojej kolumnie,
   nie wyśrodkowuje się pod checkboxem) ════════ */
.woocommerce-terms-and-conditions-wrapper label.checkbox {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    column-gap: 8px;
    text-align: left;
}
.woocommerce-terms-and-conditions-wrapper input.woocommerce-form__input-checkbox {
    margin-top: 4px;
}
.woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-checkbox-text {
    text-align: left;
    min-width: 0;
}
/* większy obszar klikalny linku, bez przesuwania go wizualnie —
   padding rozszerza "hitbox", ujemny margin cofa go na to samo miejsce,
   więc lewa krawędź dalej równa się z "Przeczytałem/am..." */
.woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-link {
    display: inline-block;
    padding: 6px 8px;
    margin: -6px -8px;
}
@media (max-width: 600px) {
    .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-checkbox-text,
    .woocommerce-terms-and-conditions-wrapper label.checkbox {
        line-height: 1.35 !important;
    }
    .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-link {
        white-space: nowrap;
    }
}

/* ════════════════════════════════════════════════════════════
   INPOST — wybrany paczkomat (#easypack_selected_point_data)
   Koszyk (.cart-collaterals) i Checkout (.mycotar-col-review)
   ════════════════════════════════════════════════════════════ */


/* ════════════════════════════════════════════════════════════
   INPOST — wybrany paczkomat (#easypack_selected_point_data)
   Koszyk (.cart-collaterals) i Checkout (.mycotar-col-review)
   ════════════════════════════════════════════════════════════ */

/* Koszyk — button i box są bezpośrednimi dziećmi ul#shipping_method
   (nie dziećmi li), więc margin-left + width ogranicza je do przestrzeni
   między radiobuttonem (18px + 14px gap = 32px) a ikoną InPost (~35px + 14px = 49px) */
.woocommerce-page-content .cart_totals #shipping_method .easypack_show_geowidget,
.woocommerce-page-content .cart_totals #shipping_method #easypack_selected_point_data {
    margin-left: 32px !important;
    margin-right: 0 !important;
    width: calc(100% - 81px) !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
}
.woocommerce-page-content .cart_totals #shipping_method .easypack_show_geowidget {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}
.woocommerce-page-content .cart_totals #shipping_method #easypack_selected_point_data {
    margin-top: 6px !important;
    margin-bottom: 8px !important;
}

/* Wspólne — box z wybranym paczkomatem */
#easypack_selected_point_data {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 8px 0 0 !important;
    padding: 12px 16px !important;
    background: var(--cream-bg-alt) !important;
    border: 1px solid var(--border) !important;
    border-left: 3px solid var(--rust-accent) !important;
    border-radius: 6px !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.78rem !important;
    color: var(--dark-brown-2) !important;
    line-height: 1.6 !important;
    text-align: left !important;
    overflow: visible !important;
}

/* Przycisk "Zmień paczkomat" — dopasowany szerokością do boxa,
   wyrównany od lewej tak jak box */
.woocommerce-page-content .easypack_show_geowidget,
.mycotar-col-review .easypack_show_geowidget {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 8px 0 0 !important;
}

/* Wewnętrzne spany — kod paczkomatu i opis */
#easypack_selected_point_data span {
    display: block !important;
    color: inherit !important;
    font-size: inherit !important;
    text-align: left !important;
}
#selected-parcel-machine-id {
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    color: var(--rust-accent) !important;
    letter-spacing: 1px !important;
    margin-bottom: 2px !important;
}

/* ════ GPay koszyk — informacja o obsłudze tylko kuriera ════ */
.woocommerce-cart .wc-stripe-express-checkout-element-wrapper::after,
.woocommerce-cart #wc-stripe-payment-request-button-wrapper::after,
.woocommerce-cart .wc-stripe-express-checkout-wrapper::after,
.woocommerce-cart .wc_stripe_express_checkout_container::after {
    content: "Google Pay obsługuje wyłącznie wysyłkę kurierem. Aby wybrać Paczkomat, użyj przycisku powyżej.";
    display: block;
    font-family: 'Lora', serif;
    font-size: 0.75rem;
    color: var(--text-muted);
    text-align: center;
    margin-top: 8px;
    line-height: 1.5;
    padding: 0 4px;
}
