:root {
    --mp-navy: #13243d;
    --mp-navy-2: #0d1a2d;
    --mp-beige: #ead9cc;
    --mp-beige-2: #f3e9e1;
    --mp-cream: #fbf7f2;
    --mp-white: #ffffff;
    --mp-gold: #d5ae6f;
    --mp-gold-dark: #b98c4c;
    --mp-text: #10213a;
    --mp-muted: #5d6370;
    --mp-border: rgba(19, 36, 61, .12);
    --mp-shadow: 0 18px 45px rgba(20, 31, 48, .10);
    --mp-radius-xl: 30px;
    --mp-radius-lg: 24px;
    --mp-radius-md: 18px;
    --mp-radius-sm: 14px;
    --mp-shell: 1180px;
    --mp-serif: "Cormorant Garamond", "Playfair Display", Georgia, "Times New Roman", serif;
}

.mp-store,
.mp-store * {
    box-sizing: border-box;
}

.mp-store {
    width: 100%;
    max-width: none;
    overflow: hidden;
    background: var(--mp-cream);
    color: var(--mp-text);
    font-size: 16px;
    line-height: 1.55;
}

.mp-store img {
    display: block;
    max-width: 100%;
}

.mp-store a {
    color: inherit;
    text-decoration: none;
}

.mp-shell {
    width: min(100% - 32px, var(--mp-shell));
    margin-inline: auto;
}

.mp-reading-width {
    max-width: 880px;
}

.mp-store h1,
.mp-store h2,
.mp-store h3 {
    margin: 0;
    color: var(--mp-text);
    font-family: var(--mp-serif);
    font-weight: 700;
    line-height: 1.03;
    letter-spacing: -.02em;
}

.mp-store h1 {
    font-size: clamp(2.45rem, 10vw, 5.1rem);
}

.mp-store h2 {
    font-size: clamp(2rem, 7vw, 3.4rem);
}

.mp-store h3 {
    font-size: clamp(1.35rem, 4.8vw, 1.9rem);
}

.mp-store p {
    margin: 0;
}

.mp-eyebrow {
    margin-bottom: 12px;
    color: var(--mp-text);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.mp-eyebrow--light,
.mp-section-heading--light .mp-eyebrow {
    color: rgba(255, 255, 255, .74);
}

.mp-btn {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 13px 22px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.mp-btn:hover,
.mp-btn:focus-visible {
    transform: translateY(-1px);
}

.mp-btn:focus-visible,
.mp-store a:focus-visible,
.mp-store summary:focus-visible {
    outline: 3px solid rgba(213, 174, 111, .55);
    outline-offset: 3px;
}

.mp-btn--navy {
    background: var(--mp-navy);
    color: var(--mp-white) !important;
    box-shadow: 0 10px 22px rgba(13, 26, 45, .16);
}

.mp-btn--navy:hover {
    background: var(--mp-navy-2);
}

.mp-btn--gold {
    background: var(--mp-gold);
    color: #14233a !important;
    box-shadow: 0 10px 24px rgba(185, 140, 76, .18);
}

.mp-btn--gold:hover {
    background: #deb97f;
}

.mp-btn--outline {
    border-color: rgba(19, 36, 61, .55);
    background: transparent;
    color: var(--mp-text) !important;
}

.mp-btn--hero {
    width: 100%;
    min-height: 60px;
    padding-inline: 28px;
    font-size: 1.08rem;
}

.mp-btn--small {
    min-height: 42px;
    padding: 10px 16px;
    font-size: .88rem;
}

.mp-btn--disabled {
    width: 100%;
    background: #d9d9d9;
    color: #6f6f6f !important;
    cursor: not-allowed;
}

.mp-text-link {
    font-weight: 800;
}

/* SHOP HERO */
.mp-shop-hero,
.mp-product-hero {
    position: relative;
    background:
        radial-gradient(circle at 85% 15%, rgba(213, 174, 111, .18), transparent 28%),
        linear-gradient(135deg, #f8efe8 0%, #ead8ca 100%);
}

.mp-shop-hero {
    padding: 56px 0 0;
}

.mp-shop-hero__grid {
    display: grid;
    gap: 34px;
}

.mp-shop-hero__copy {
    position: relative;
    z-index: 2;
    padding-bottom: 8px;
}

.mp-shop-hero__copy > p {
    max-width: 620px;
    margin-top: 18px;
    color: #344052;
    font-size: clamp(1.05rem, 3.7vw, 1.35rem);
    line-height: 1.45;
}

.mp-shop-hero__copy .mp-btn {
    margin-top: 26px;
}

.mp-trust-points {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 28px;
}

.mp-trust-points > div {
    display: grid;
    min-width: 0;
    grid-template-columns: 34px 1fr;
    grid-template-rows: auto auto;
    column-gap: 8px;
    align-items: center;
}

.mp-trust-points .mp-icon {
    grid-row: 1 / span 2;
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(19, 36, 61, .22);
    border-radius: 999px;
    font-size: .86rem;
}

.mp-trust-points strong {
    font-size: .84rem;
    line-height: 1.15;
}

.mp-trust-points small {
    color: #626873;
    font-size: .72rem;
    line-height: 1.2;
}

.mp-shop-hero__visual {
    position: relative;
    min-height: 350px;
    overflow: hidden;
    border-radius: var(--mp-radius-xl) var(--mp-radius-xl) 0 0;
    background:
        radial-gradient(circle at 78% 22%, rgba(255,255,255,.58), transparent 22%),
        linear-gradient(145deg, rgba(255,255,255,.34), rgba(213,174,111,.18));
}

/* Stały slot na zdjęcie Butiku VOD. Zdjęcie wybierasz w:
   WooCommerce → Wygląd Butiku VOD → zdjęcie hero. */
.mp-shop-hero__media-slot {
    position: absolute;
    inset: 16px;
    z-index: 2;
    overflow: hidden;
    border-radius: calc(var(--mp-radius-xl) - 8px);
    background: #ead8ca;
    box-shadow: 0 18px 42px rgba(19,36,61,.10);
}

.mp-shop-hero__media-slot img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.mp-shop-hero__image-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    min-height: 318px;
    place-content: center;
    justify-items: center;
    gap: 12px;
    background:
        radial-gradient(circle at 70% 28%, rgba(255,255,255,.66), transparent 25%),
        linear-gradient(145deg, #ead8ca, #f8f0e9);
    color: var(--mp-navy);
}

.mp-shop-hero__image-placeholder span {
    display: grid;
    width: 120px;
    height: 120px;
    place-items: center;
    border: 1px solid rgba(19,36,61,.22);
    border-radius: 50%;
    font-family: var(--mp-serif);
    font-size: 2.25rem;
    font-weight: 700;
}

.mp-shop-hero__image-placeholder small {
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .18em;
}

/* Dekoracyjna prawa część hero pojawia się na desktopie. */
.mp-shop-hero__decor {
    display: none;
}

.mp-hero-placeholder__orb {
    position: absolute;
    left: 63%;
    top: 13%;
    width: 170px;
    height: 170px;
    border-radius: 50%;
    background: rgba(255,255,255,.36);
}

.mp-hero-placeholder__script {
    position: absolute;
    right: 5%;
    top: 24%;
    z-index: 2;
    color: var(--mp-navy);
    font-family: var(--mp-serif);
    font-size: clamp(2.15rem, 4.2vw, 4rem);
    font-style: italic;
    line-height: .9;
    transform: rotate(-4deg);
}

.mp-hero-placeholder__script::after {
    content: "";
    position: absolute;
    z-index: -1;
    right: -18px;
    top: -34px;
    width: 145px;
    height: 220px;
    border: 2px solid rgba(19,36,61,.11);
    border-radius: 50% 45% 55% 40%;
    transform: rotate(18deg);
}

.mp-hero-placeholder__tag {
    position: absolute;
    right: 5%;
    bottom: 12%;
    max-width: 190px;
    color: rgba(19,36,61,.70);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .17em;
    line-height: 1.8;
}

/* SECTION BASE */
.mp-section {
    padding: 64px 0;
}

.mp-section--navy {
    background:
        radial-gradient(circle at 10% 10%, rgba(213,174,111,.08), transparent 22%),
        linear-gradient(135deg, var(--mp-navy) 0%, var(--mp-navy-2) 100%);
    color: var(--mp-white);
}

.mp-section--beige {
    background: var(--mp-beige-2);
}

.mp-section--cream {
    background: var(--mp-cream);
}

.mp-section-heading {
    display: grid;
    gap: 18px;
    margin-bottom: 30px;
}

.mp-section-heading > p {
    max-width: 660px;
    color: #565d68;
}

.mp-section-heading--light h2,
.mp-section-heading--light h3 {
    color: var(--mp-white);
}

.mp-section-heading--light > p {
    color: rgba(255,255,255,.72);
}

/* PRODUCT CARDS */
.mp-featured-grid,
.mp-product-grid,
.mp-related-grid,
.mp-review-grid,
.mp-benefit-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

.mp-product-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(19,36,61,.09);
    border-radius: var(--mp-radius-lg);
    background: rgba(255,255,255,.96);
    color: var(--mp-text);
    box-shadow: 0 12px 28px rgba(18, 29, 45, .08);
}

.mp-product-card--featured {
    border-color: rgba(255,255,255,.28);
    box-shadow: 0 16px 36px rgba(0,0,0,.16);
}

.mp-product-card--bestseller {
    outline: 2px solid rgba(213, 174, 111, .8);
    outline-offset: -2px;
}

.mp-product-card__media {
    position: relative;
    display: block;
    margin: 10px 10px 0;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: calc(var(--mp-radius-lg) - 7px);
    background: var(--mp-beige);
}

.mp-product-card__media img,
.mp-related-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.mp-product-card:hover .mp-product-card__media img,
.mp-related-card:hover .mp-related-card__media img {
    transform: scale(1.025);
}

.mp-media-fallback {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    background:
        radial-gradient(circle at 72% 28%, rgba(255,255,255,.65), transparent 26%),
        linear-gradient(145deg, #ead8ca, #f9f3ee);
}

.mp-media-fallback span {
    display: grid;
    width: 72px;
    height: 72px;
    place-items: center;
    border: 1px solid rgba(19,36,61,.24);
    border-radius: 50%;
    color: var(--mp-navy);
    font-family: var(--mp-serif);
    font-size: 1.5rem;
    font-weight: 700;
}

.mp-badge {
    position: absolute;
    left: 14px;
    top: 14px;
    z-index: 2;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 900;
}

.mp-badge--gold {
    background: var(--mp-gold);
    color: var(--mp-text);
}

.mp-product-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 18px;
}

.mp-product-card__body h3 {
    font-size: 1.65rem;
    line-height: 1.05;
}

.mp-product-card__body > p {
    margin-top: 10px;
    color: #5a616c;
    font-size: .95rem;
}

.mp-mini-list {
    display: grid;
    gap: 6px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
    color: #384252;
    font-size: .9rem;
}

.mp-mini-list li {
    position: relative;
    padding-left: 24px;
}

.mp-mini-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--mp-gold-dark);
    font-weight: 900;
}

.mp-product-card__footer {
    display: grid;
    gap: 12px;
    margin-top: auto;
    padding-top: 18px;
}

/* Listing pojedynczych nagrań: cena + CTA jako jeden, wyśrodkowany blok. */
.mp-product-card:not(.mp-product-card--featured) .mp-product-card__footer {
    grid-template-columns: 1fr;
    gap: 22px;
    padding-top: 24px;
    text-align: center;
}

.mp-product-card:not(.mp-product-card--featured) .mp-price {
    width: 100%;
    justify-self: center;
    text-align: center;
}

.mp-product-card:not(.mp-product-card--featured) .mp-btn {
    width: 100%;
    margin-inline: auto;
}

.mp-price,
.mp-price .amount {
    color: var(--mp-text);
    font-family: var(--mp-serif);
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1;
}

.mp-price del {
    opacity: .5;
    margin-right: 4px;
}

.mp-price ins {
    text-decoration: none;
}

.mp-empty-state {
    padding: 26px;
    border: 1px dashed rgba(255,255,255,.34);
    border-radius: var(--mp-radius-lg);
    color: rgba(255,255,255,.78);
}

.mp-empty-state--light {
    border-color: var(--mp-border);
    color: var(--mp-muted);
}

/* REVIEWS */
.mp-review-card {
    position: relative;
    overflow: hidden;
    padding: 24px;
    border-radius: var(--mp-radius-lg);
    background: var(--mp-white);
    color: var(--mp-text);
    box-shadow: 0 12px 30px rgba(0,0,0,.10);
}

.mp-quote {
    margin-bottom: 6px;
    color: var(--mp-gold);
    font-family: var(--mp-serif);
    font-size: 3rem;
    font-weight: 700;
    line-height: .65;
}

.mp-review-card p {
    color: #434b58;
}

.mp-review-card__footer {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    margin-top: 18px;
}

.mp-review-card__footer span {
    color: var(--mp-gold-dark);
    letter-spacing: .1em;
}

/* WORKSHOPS */
.mp-section--workshops {
    position: relative;
    background:
        radial-gradient(circle at 5% 50%, rgba(213,174,111,.16), transparent 28%),
        var(--mp-beige);
}

.mp-workshops {
    display: grid;
    gap: 28px;
}

.mp-workshops h2 {
    margin-bottom: 12px;
}

.mp-workshops p {
    max-width: 660px;
    color: #4e5662;
}

.mp-workshops__action {
    display: flex;
    align-items: center;
}

.mp-newsletter-wrap {
    width: 100%;
}

.mp-newsletter-note {
    padding: 18px;
    border: 1px dashed rgba(19,36,61,.22);
    border-radius: var(--mp-radius-md);
    background: rgba(255,255,255,.45);
    font-size: .92rem;
}

/* SINGLE PRODUCT HERO */
.mp-product-hero {
    padding: 28px 0 56px;
}

.mp-breadcrumb {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-bottom: 24px;
    color: #666d76;
    font-size: .82rem;
    overflow: hidden;
    white-space: nowrap;
}

.mp-breadcrumb span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
}

.mp-product-hero__grid {
    display: grid;
    gap: 32px;
}

.mp-product-hero__media {
    position: relative;
    min-height: 390px;
    overflow: hidden;
    border-radius: var(--mp-radius-xl);
    background: #e6ddd5;
    box-shadow: var(--mp-shadow);
}

.mp-product-hero__media > img {
    width: 100%;
    height: 100%;
    min-height: 390px;
    object-fit: cover;
}

.mp-product-fallback {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    gap: 10px;
    text-align: center;
    background:
        radial-gradient(circle at 70% 26%, rgba(255,255,255,.62), transparent 21%),
        linear-gradient(145deg, #dfcbbb, #f7eee7);
}

.mp-product-fallback::after {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    left: 50%;
    top: 50%;
    border: 1px solid rgba(19,36,61,.15);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.mp-product-fallback__mark {
    position: relative;
    z-index: 2;
    color: var(--mp-navy);
    font-family: var(--mp-serif);
    font-size: 4rem;
    font-weight: 700;
}

.mp-product-fallback__line {
    position: relative;
    z-index: 2;
    color: rgba(19,36,61,.65);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.mp-product-media-label {
    position: absolute;
    left: 16px;
    bottom: 16px;
    display: grid;
    min-width: 170px;
    gap: 1px;
    padding: 13px 16px;
    border: 1px solid rgba(255,255,255,.5);
    border-radius: 18px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 8px 25px rgba(0,0,0,.08);
    backdrop-filter: blur(10px);
}

.mp-product-media-label strong {
    font-family: var(--mp-serif);
    font-size: 1.15rem;
    line-height: 1.1;
}

.mp-product-media-label span {
    color: #606773;
    font-size: .78rem;
}

.mp-product-hero__content {
    align-self: center;
}

.mp-product-lead {
    margin-top: 18px !important;
    color: #3f4855;
    font-size: clamp(1.02rem, 3.6vw, 1.23rem);
    line-height: 1.48;
}

.mp-product-badges {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 22px;
}

.mp-product-badges > div {
    display: grid;
    min-width: 0;
    grid-template-columns: 32px 1fr;
    grid-template-rows: auto auto;
    column-gap: 7px;
    align-items: center;
    padding: 10px 8px;
    border-radius: 15px;
    background: rgba(255,255,255,.42);
    border: 1px solid rgba(19,36,61,.06);
}

.mp-product-badges .mp-icon {
    grid-row: 1 / span 2;
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 10px;
    background: rgba(255,255,255,.7);
}

.mp-product-badges strong {
    min-width: 0;
    font-size: .78rem;
    line-height: 1.1;
}

.mp-product-badges small {
    min-width: 0;
    color: #59616d;
    font-size: .69rem;
    line-height: 1.15;
}

.mp-product-purchase {
    display: grid;
    gap: 10px;
    margin-top: 24px;
}

.mp-price--hero,
.mp-price--hero .amount {
    font-size: clamp(2.5rem, 8vw, 3.7rem);
}

.mp-payment-note {
    margin-top: 2px !important;
    color: #5d6470;
    font-size: .78rem;
    text-align: center;
}

/* BENEFITS */
.mp-benefit-card {
    padding: 22px;
    border-radius: var(--mp-radius-lg);
    background: var(--mp-white);
    color: var(--mp-text);
    box-shadow: 0 12px 30px rgba(0,0,0,.09);
}

.mp-benefit-card__icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    margin-bottom: 16px;
    border-radius: 15px;
    background: var(--mp-beige-2);
    color: var(--mp-navy);
    font-size: 1.25rem;
}

.mp-benefit-card h3 {
    font-size: 1.45rem;
}

.mp-benefit-card p {
    margin-top: 8px;
    color: #5b626d;
    font-size: .9rem;
}

/* DETAILS / SPEAKER */
.mp-product-details-grid {
    display: grid;
    gap: 24px;
}

.mp-product-details-grid > div > h2 {
    margin-bottom: 22px;
}

.mp-includes-list {
    display: grid;
    gap: 10px;
}

.mp-include-item {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 12px;
    align-items: center;
    padding: 16px;
    border: 1px solid var(--mp-border);
    border-radius: var(--mp-radius-md);
    background: var(--mp-white);
    box-shadow: 0 8px 20px rgba(20,31,48,.05);
}

.mp-include-item__number {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: var(--mp-beige-2);
    color: var(--mp-navy);
    font-family: var(--mp-serif);
    font-size: 1.2rem;
    font-weight: 800;
}

.mp-include-item strong,
.mp-include-item small {
    display: block;
}

.mp-include-item strong {
    color: var(--mp-text);
    font-family: var(--mp-serif);
    font-size: 1.16rem;
    line-height: 1.2;
}

.mp-include-item small {
    margin-top: 3px;
    color: #6a717a;
    font-size: .78rem;
}

.mp-speaker-card {
    position: relative;
    overflow: hidden;
    padding: 26px;
    border-radius: var(--mp-radius-xl);
    background:
        radial-gradient(circle at 95% 15%, rgba(213,174,111,.18), transparent 26%),
        var(--mp-navy);
    color: var(--mp-white);
    box-shadow: var(--mp-shadow);
}

.mp-speaker-card h2 {
    color: var(--mp-white);
}

.mp-speaker-card > p {
    margin-top: 14px;
    color: rgba(255,255,255,.78);
}

.mp-speaker-card__quote {
    margin-top: 28px;
    color: var(--mp-gold);
    font-family: var(--mp-serif);
    font-size: 1.6rem;
    font-style: italic;
    line-height: 1.05;
}

/* RICH TEXT */
.mp-about-recording h2 {
    margin-bottom: 22px;
}

.mp-richtext {
    color: #3f4753;
    font-size: 1.02rem;
    line-height: 1.75;
}

.mp-richtext > * + * {
    margin-top: 16px;
}

.mp-richtext ul,
.mp-richtext ol {
    padding-left: 22px;
}

/* FAQ */
.mp-faq-grid {
    display: grid;
    gap: 30px;
}

.mp-faq-intro h2 {
    color: var(--mp-white);
}

.mp-faq-intro p {
    margin-top: 12px;
    color: rgba(255,255,255,.7);
}

.mp-faq-list {
    display: grid;
    gap: 10px;
}

.mp-faq-list details {
    overflow: hidden;
    border-radius: 17px;
    background: var(--mp-cream);
    color: var(--mp-text);
}

.mp-faq-list summary {
    position: relative;
    padding: 17px 50px 17px 20px;
    cursor: pointer;
    font-weight: 800;
    list-style: none;
}

.mp-faq-list summary::-webkit-details-marker {
    display: none;
}

.mp-faq-list summary::after {
    content: "+";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.4rem;
    font-weight: 400;
}

.mp-faq-list details[open] summary::after {
    content: "−";
}

.mp-faq-list details p {
    padding: 0 20px 18px;
    color: #59616d;
    font-size: .92rem;
}

/* RELATED */
.mp-related-card {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 12px;
    padding: 10px;
    border: 1px solid var(--mp-border);
    border-radius: var(--mp-radius-lg);
    background: var(--mp-white);
    box-shadow: 0 10px 24px rgba(18,29,45,.06);
}

.mp-related-card__media {
    display: block;
    min-height: 120px;
    overflow: hidden;
    border-radius: 16px;
    background: var(--mp-beige);
}

.mp-related-card__body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: space-between;
    padding: 4px 4px 4px 0;
}

.mp-related-card h3 {
    font-size: 1.2rem;
    line-height: 1.08;
}

.mp-related-card__bottom {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
    margin-top: 12px;
}

.mp-related-card .mp-price,
.mp-related-card .mp-price .amount {
    font-size: 1.2rem;
}

/* Woo notices inside custom page */
.mp-store .woocommerce-notices-wrapper,
.mp-store > .woocommerce-error,
.mp-store > .woocommerce-message,
.mp-store > .woocommerce-info {
    width: min(100% - 32px, var(--mp-shell));
    margin: 16px auto;
}

.mp-store .woocommerce-message,
.mp-store .woocommerce-info,
.mp-store .woocommerce-error {
    border-radius: 14px;
}

/* CLEAN CHECKOUT */
body.mp-sd-clean-checkout header,
body.mp-sd-clean-checkout footer,
body.mp-sd-clean-checkout #masthead,
body.mp-sd-clean-checkout #colophon,
body.mp-sd-clean-checkout .site-header,
body.mp-sd-clean-checkout .site-footer,
body.mp-sd-clean-checkout .elementor-location-header,
body.mp-sd-clean-checkout .elementor-location-footer,
body.mp-sd-clean-checkout .wp-site-blocks > header,
body.mp-sd-clean-checkout .wp-site-blocks > footer {
    display: none !important;
}

body.mp-sd-clean-checkout {
    background: var(--mp-cream);
}

body.mp-sd-clean-checkout .site,
body.mp-sd-clean-checkout #page,
body.mp-sd-clean-checkout .site-content,
body.mp-sd-clean-checkout #content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.mp-checkout-brand {
    width: min(100% - 32px, 1080px);
    margin: 28px auto 20px;
    color: var(--mp-navy);
    font-family: var(--mp-serif);
    font-size: clamp(1.8rem, 6vw, 2.5rem);
    font-weight: 800;
    text-align: center;
}

body.mp-sd-clean-checkout .woocommerce-checkout {
    width: min(100% - 32px, 1080px);
    margin-inline: auto;
}

body.mp-sd-clean-checkout .woocommerce-checkout .col2-set,
body.mp-sd-clean-checkout .woocommerce-checkout #order_review,
body.mp-sd-clean-checkout .woocommerce-checkout #order_review_heading {
    border-radius: 18px;
}

body.mp-sd-clean-checkout #place_order {
    min-height: 58px;
    border-radius: 999px !important;
    background: var(--mp-gold) !important;
    color: var(--mp-navy) !important;
    font-weight: 800 !important;
}

/* MOBILE SAFETY */
@media (max-width: 479px) {
    .mp-store {
        font-size: 15px;
    }

    .mp-shop-hero {
        padding-top: 42px;
    }

    .mp-trust-points {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .mp-trust-points > div {
        grid-template-columns: 38px 1fr;
    }

    .mp-product-badges {
        grid-template-columns: 1fr;
    }

    .mp-product-badges > div {
        grid-template-columns: 38px 1fr;
        padding: 11px 12px;
    }

    .mp-related-card {
        grid-template-columns: 92px 1fr;
    }

    .mp-related-card__bottom {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (min-width: 640px) {
    .mp-shell {
        width: min(100% - 48px, var(--mp-shell));
    }

    .mp-featured-grid,
    .mp-product-grid,
    .mp-benefit-grid,
    .mp-review-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

    .mp-product-card__footer {
        grid-template-columns: auto 1fr;
        align-items: center;
    }

    .mp-product-card__footer .mp-btn {
        width: 100%;
    }

    .mp-btn--hero {
        width: auto;
        min-width: 260px;
    }

    .mp-product-purchase .mp-btn--hero,
    .mp-product-purchase .mp-btn--outline {
        width: 100%;
    }
}

@media (min-width: 820px) {
    .mp-shop-hero {
        padding-top: 44px;
    }

    .mp-shop-hero__grid {
        grid-template-columns: minmax(0, .95fr) minmax(360px, 1.05fr);
        align-items: stretch;
    }

    .mp-shop-hero__copy {
        align-self: center;
        padding: 46px 0 58px;
    }

    .mp-shop-hero__visual {
        min-height: 510px;
        border-radius: var(--mp-radius-xl) var(--mp-radius-xl) 0 0;
    }

    .mp-shop-hero__media-slot {
        inset: 18px auto 18px 18px;
        width: 58%;
        border-radius: calc(var(--mp-radius-xl) - 8px);
    }

    .mp-shop-hero__image-placeholder {
        min-height: 474px;
    }

    .mp-shop-hero__decor {
        position: absolute;
        inset: 0;
        display: block;
        pointer-events: none;
    }

    .mp-section {
        padding: 82px 0;
    }

    .mp-section-heading {
        grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
        align-items: end;
    }

    .mp-section-heading > p,
    .mp-section-heading > .mp-text-link {
        justify-self: end;
        text-align: left;
    }

    /* Na stronie sklepu opis po prawej zaczyna się na wysokości H2,
       zamiast wisieć przy jego dolnej krawędzi. */
    .mp-section-heading--with-eyebrow {
        align-items: start;
    }

    .mp-section-heading--with-eyebrow > p {
        align-self: start;
        padding-top: 30px;
    }

    .mp-product-hero {
        padding: 32px 0 70px;
    }

    .mp-product-hero__grid {
        grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
        align-items: center;
        gap: 54px;
    }

    .mp-product-hero__media,
    .mp-product-hero__media > img {
        min-height: 540px;
    }

    .mp-product-details-grid {
        grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
        align-items: start;
        gap: 30px;
    }

    .mp-speaker-card {
        position: sticky;
        top: 24px;
    }

    .mp-faq-grid {
        grid-template-columns: minmax(260px, .55fr) minmax(0, 1.45fr);
        gap: 54px;
        align-items: start;
    }

    .mp-workshops {
        grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
        align-items: center;
    }

    .mp-workshops__action {
        justify-content: flex-end;
    }
}

@media (min-width: 1024px) {
    .mp-featured-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .mp-product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .mp-product-grid .mp-product-card__body h3 {
        font-size: 1.4rem;
    }

    .mp-product-grid .mp-product-card__footer {
        grid-template-columns: 1fr;
    }

    .mp-benefit-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .mp-review-grid,
    .mp-related-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1240px) {
    .mp-product-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (prefers-reduced-motion: reduce) {
    .mp-store *,
    .mp-store *::before,
    .mp-store *::after {
        scroll-behavior: auto !important;
        transition: none !important;
    }
}

/* =========================================================
   PURCHASE FUNNEL — CART / CHECKOUT / PAY / THANK YOU
   ========================================================= */
.mp-commerce-flow {
    min-height: 70vh;
    background: var(--mp-cream);
}

.mp-flow-shell {
    width: min(100% - 32px, 1080px);
    margin-inline: auto;
}

.mp-flow-top {
    position: relative;
    overflow: hidden;
    padding: 22px 0 44px;
    background:
        radial-gradient(circle at 88% 18%, rgba(213, 174, 111, .22), transparent 26%),
        linear-gradient(135deg, #fbf4ee 0%, #ead8ca 100%);
    border-bottom: 1px solid rgba(19, 36, 61, .08);
}

.mp-flow-top::after {
    content: "";
    position: absolute;
    right: -70px;
    bottom: -120px;
    width: 300px;
    height: 300px;
    border: 1px solid rgba(19, 36, 61, .08);
    border-radius: 50%;
    box-shadow: 0 0 0 40px rgba(255,255,255,.10), 0 0 0 80px rgba(255,255,255,.07);
    pointer-events: none;
}

.mp-flow-top--minimal {
    padding-top: 18px;
}

.mp-flow-brandrow {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

.mp-flow-brand {
    color: var(--mp-navy) !important;
    font-family: var(--mp-serif);
    font-size: clamp(1.55rem, 6vw, 2.15rem);
    font-weight: 800;
    line-height: 1;
}

.mp-flow-back {
    color: var(--mp-navy) !important;
    font-size: .88rem;
    font-weight: 800;
}

.mp-flow-steps {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 0 0 30px;
    padding: 0;
    list-style: none;
}

.mp-flow-steps li {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 7px;
    color: rgba(19, 36, 61, .48);
    font-size: .72rem;
    font-weight: 800;
    text-align: center;
}

.mp-flow-steps li::before,
.mp-flow-steps li::after {
    content: "";
    position: absolute;
    top: 17px;
    width: calc(50% - 20px);
    height: 2px;
    background: rgba(19, 36, 61, .12);
}

.mp-flow-steps li::before { left: 0; }
.mp-flow-steps li::after { right: 0; }
.mp-flow-steps li:first-child::before,
.mp-flow-steps li:last-child::after { display: none; }

.mp-flow-steps__dot {
    position: relative;
    z-index: 1;
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid rgba(19, 36, 61, .18);
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: var(--mp-navy);
    font-size: .82rem;
}

.mp-flow-steps li.is-active,
.mp-flow-steps li.is-done {
    color: var(--mp-navy);
}

.mp-flow-steps li.is-active .mp-flow-steps__dot {
    border-color: var(--mp-gold);
    background: var(--mp-gold);
    box-shadow: 0 8px 18px rgba(185, 140, 76, .18);
}

.mp-flow-steps li.is-done .mp-flow-steps__dot {
    border-color: var(--mp-navy);
    background: var(--mp-navy);
    color: #fff;
}

.mp-flow-steps li.is-done::after,
.mp-flow-steps li.is-done + li::before {
    background: rgba(19, 36, 61, .55);
}

.mp-flow-heading {
    position: relative;
    z-index: 2;
    max-width: 760px;
}

.mp-flow-heading h1 {
    font-size: clamp(2.2rem, 8.6vw, 4rem);
}

.mp-flow-heading p {
    max-width: 660px;
    margin-top: 12px;
    color: #455064;
    font-size: clamp(1rem, 3.8vw, 1.15rem);
}

.mp-flow-content {
    padding: 26px 0 72px;
}

.mp-flow-content--received {
    padding-top: 28px;
}

.mp-flow-trustline {
    display: grid;
    gap: 8px;
    margin-bottom: 18px;
}

.mp-flow-trustline span {
    display: flex;
    min-height: 42px;
    align-items: center;
    padding: 9px 13px;
    border: 1px solid rgba(19,36,61,.08);
    border-radius: 14px;
    background: rgba(255,255,255,.72);
    color: #364256;
    font-size: .82rem;
    font-weight: 700;
}

.mp-wc-surface {
    color: var(--mp-text);
}

.mp-wc-surface .woocommerce,
.mp-wc-surface .woocommerce-page {
    color: var(--mp-text);
}

.mp-wc-surface .woocommerce-notices-wrapper:empty {
    display: none;
}

.mp-wc-surface .woocommerce-message,
.mp-wc-surface .woocommerce-info,
.mp-wc-surface .woocommerce-error {
    margin: 0 0 18px !important;
    padding: 15px 18px 15px 48px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(20,31,48,.07);
    color: var(--mp-text) !important;
}

.mp-wc-surface .woocommerce-message::before,
.mp-wc-surface .woocommerce-info::before,
.mp-wc-surface .woocommerce-error::before {
    top: 15px !important;
    left: 18px !important;
    color: var(--mp-gold-dark) !important;
}

.mp-flow-footnote {
    margin-top: 12px !important;
    color: var(--mp-muted);
    font-size: .78rem;
}

/* CART */
.mp-wc-cart-surface .woocommerce-cart-form,
.mp-wc-cart-surface .cart_totals,
.mp-wc-cart-surface .wc-block-cart__main,
.mp-wc-cart-surface .wc-block-cart__sidebar {
    border: 1px solid rgba(19,36,61,.08);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--mp-shadow);
}

.mp-wc-cart-surface .woocommerce-cart-form {
    overflow: hidden;
}

.mp-wc-cart-surface table.shop_table {
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse !important;
    border-radius: 0 !important;
}

.mp-wc-cart-surface table.shop_table th,
.mp-wc-cart-surface table.shop_table td {
    border-color: rgba(19,36,61,.08) !important;
}

.mp-wc-cart-surface table.shop_table thead th {
    padding: 16px 18px !important;
    background: #f7efe8;
    color: var(--mp-navy);
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mp-wc-cart-surface table.shop_table td {
    padding: 16px !important;
    vertical-align: middle !important;
}

.mp-wc-cart-surface .product-thumbnail img {
    width: 74px !important;
    height: 74px !important;
    object-fit: cover;
    border-radius: 16px;
}

.mp-wc-cart-surface .product-name a {
    color: var(--mp-navy) !important;
    font-family: var(--mp-serif);
    font-size: 1.15rem;
    font-weight: 800;
}

.mp-wc-cart-surface .product-price,
.mp-wc-cart-surface .product-subtotal {
    color: var(--mp-navy);
    font-weight: 800;
}

.mp-wc-cart-surface .quantity .qty,
.mp-wc-checkout-surface .quantity .qty {
    min-height: 44px;
    border: 1px solid rgba(19,36,61,.14);
    border-radius: 12px;
    background: #fbf7f2;
}

.mp-wc-cart-surface .product-remove a.remove {
    display: grid !important;
    width: 34px !important;
    height: 34px !important;
    place-items: center;
    border-radius: 999px !important;
    background: #f7efe8 !important;
    color: var(--mp-navy) !important;
    font-size: 1.25rem !important;
    line-height: 1 !important;
}

.mp-wc-cart-surface .actions {
    padding: 16px !important;
    background: #fff;
}

.mp-wc-cart-surface .coupon {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.mp-wc-cart-surface .coupon #coupon_code {
    width: auto !important;
    min-width: 190px;
    min-height: 46px;
    padding: 10px 14px;
    border: 1px solid rgba(19,36,61,.14);
    border-radius: 999px;
    background: #fbf7f2;
}

.mp-wc-cart-surface button.button,
.mp-wc-cart-surface a.button,
.mp-wc-checkout-surface button.button,
.mp-wc-checkout-surface a.button,
.mp-wc-received-surface a.button,
.mp-wc-received-surface button.button {
    min-height: 46px;
    padding: 11px 18px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--mp-navy) !important;
    color: #fff !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}

.mp-wc-cart-surface .cart-collaterals {
    display: grid;
    margin-top: 22px;
}

.mp-wc-cart-surface .cart-collaterals .cart_totals {
    width: 100% !important;
    padding: 22px;
}

.mp-wc-cart-surface .cart_totals h2 {
    margin-bottom: 16px;
    font-size: 1.9rem;
}

.mp-wc-cart-surface .cart_totals table {
    margin-bottom: 18px !important;
}

.mp-wc-cart-surface .cart_totals th,
.mp-wc-cart-surface .cart_totals td {
    padding: 13px 0 !important;
}

.mp-wc-cart-surface .cart_totals .order-total th,
.mp-wc-cart-surface .cart_totals .order-total td {
    border-top: 1px solid rgba(19,36,61,.12) !important;
    font-size: 1.18rem;
}

.mp-wc-cart-surface .wc-proceed-to-checkout {
    margin: 18px 0 0 !important;
    padding: 0 !important;
}

.mp-wc-cart-surface .wc-proceed-to-checkout a.checkout-button {
    display: flex !important;
    min-height: 60px;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 15px 24px !important;
    border-radius: 999px !important;
    background: var(--mp-gold) !important;
    color: var(--mp-navy) !important;
    font-size: 1.05rem !important;
    font-weight: 900 !important;
    box-shadow: 0 12px 24px rgba(185,140,76,.17);
}

.mp-wc-cart-surface .return-to-shop .button {
    background: transparent !important;
    color: var(--mp-navy) !important;
    border: 1px solid rgba(19,36,61,.22) !important;
}

/* CHECKOUT */
.mp-wc-checkout-surface .woocommerce-form-login-toggle,
.mp-wc-checkout-surface .woocommerce-form-coupon-toggle {
    margin-bottom: 12px;
}

.mp-wc-checkout-surface .woocommerce-form-login,
.mp-wc-checkout-surface .checkout_coupon {
    margin: 0 0 18px !important;
    padding: 18px !important;
    border: 1px solid rgba(19,36,61,.08) !important;
    border-radius: 18px !important;
    background: #fff;
}

.mp-wc-checkout-surface form.checkout,
body.mp-sd-order-pay .mp-wc-surface form#order_review {
    display: grid;
    gap: 18px;
}

.mp-wc-checkout-surface #customer_details,
.mp-wc-checkout-surface #order_review,
body.mp-sd-order-pay .mp-wc-surface form#order_review,
body.mp-sd-order-pay .mp-wc-surface .shop_table {
    padding: 20px;
    border: 1px solid rgba(19,36,61,.08);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--mp-shadow);
}

.mp-wc-checkout-surface #customer_details .col-1,
.mp-wc-checkout-surface #customer_details .col-2 {
    float: none !important;
    width: 100% !important;
}

.mp-wc-checkout-surface #customer_details .col-2:empty {
    display: none;
}

.mp-wc-checkout-surface .woocommerce-billing-fields > h3,
.mp-wc-checkout-surface .woocommerce-additional-fields > h3,
.mp-wc-checkout-surface #order_review_heading,
body.mp-sd-order-pay .mp-wc-surface h2,
body.mp-sd-order-pay .mp-wc-surface h3 {
    margin: 0 0 16px !important;
    color: var(--mp-navy);
    font-family: var(--mp-serif);
    font-size: clamp(1.55rem, 5vw, 2rem);
    font-weight: 800;
}

.mp-wc-checkout-surface #order_review_heading {
    padding: 0 4px;
}

.mp-wc-checkout-surface .form-row {
    margin: 0 0 13px !important;
    padding: 0 !important;
}

.mp-wc-checkout-surface .form-row label {
    margin-bottom: 6px;
    color: #2d3950;
    font-size: .82rem;
    font-weight: 800;
}

.mp-wc-checkout-surface input.input-text,
.mp-wc-checkout-surface textarea,
.mp-wc-checkout-surface select,
.mp-wc-checkout-surface .select2-container .select2-selection--single,
body.mp-sd-order-pay .mp-wc-surface input.input-text,
body.mp-sd-order-pay .mp-wc-surface select {
    min-height: 50px !important;
    padding: 10px 14px !important;
    border: 1px solid rgba(19,36,61,.14) !important;
    border-radius: 14px !important;
    background: #fbf7f2 !important;
    color: var(--mp-text) !important;
    box-shadow: none !important;
}

.mp-wc-checkout-surface textarea {
    min-height: 100px !important;
}

.mp-wc-checkout-surface .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 29px !important;
}

.mp-wc-checkout-surface .select2-container .select2-selection--single .select2-selection__arrow {
    height: 48px !important;
}

.mp-wc-checkout-surface #order_review table.shop_table,
body.mp-sd-order-pay .mp-wc-surface table.shop_table {
    margin: 0 0 18px !important;
    border: 0 !important;
}

.mp-wc-checkout-surface #order_review table.shop_table th,
.mp-wc-checkout-surface #order_review table.shop_table td,
body.mp-sd-order-pay .mp-wc-surface table.shop_table th,
body.mp-sd-order-pay .mp-wc-surface table.shop_table td {
    padding: 12px 4px !important;
    border-color: rgba(19,36,61,.08) !important;
}

.mp-wc-checkout-surface #order_review .order-total th,
.mp-wc-checkout-surface #order_review .order-total td,
body.mp-sd-order-pay .mp-wc-surface .order-total th,
body.mp-sd-order-pay .mp-wc-surface .order-total td {
    color: var(--mp-navy);
    font-size: 1.18rem;
    font-weight: 900;
}

.mp-wc-checkout-surface #payment,
body.mp-sd-order-pay .mp-wc-surface #payment {
    margin-top: 10px;
    border-radius: 18px !important;
    background: #f7efe8 !important;
}

.mp-wc-checkout-surface #payment ul.payment_methods,
body.mp-sd-order-pay .mp-wc-surface #payment ul.payment_methods {
    padding: 14px !important;
    border-bottom-color: rgba(19,36,61,.10) !important;
}

.mp-wc-checkout-surface #payment ul.payment_methods li,
body.mp-sd-order-pay .mp-wc-surface #payment ul.payment_methods li {
    padding: 8px 0;
}

.mp-wc-checkout-surface #payment div.payment_box,
body.mp-sd-order-pay .mp-wc-surface #payment div.payment_box {
    border-radius: 14px !important;
    background: #fff !important;
    color: #475267 !important;
    font-size: .88rem;
}

.mp-wc-checkout-surface #payment div.payment_box::before,
body.mp-sd-order-pay .mp-wc-surface #payment div.payment_box::before {
    border-bottom-color: #fff !important;
}

.mp-wc-checkout-surface #payment .place-order,
body.mp-sd-order-pay .mp-wc-surface #payment .place-order {
    padding: 15px !important;
}

.mp-wc-checkout-surface #place_order,
body.mp-sd-order-pay .mp-wc-surface #place_order {
    float: none !important;
    width: 100% !important;
    min-height: 60px !important;
    margin-top: 10px !important;
    border-radius: 999px !important;
    background: var(--mp-gold) !important;
    color: var(--mp-navy) !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    box-shadow: 0 12px 24px rgba(185,140,76,.18);
}

.mp-wc-checkout-surface .woocommerce-privacy-policy-text,
.mp-wc-checkout-surface .woocommerce-terms-and-conditions-wrapper,
body.mp-sd-order-pay .mp-wc-surface .woocommerce-privacy-policy-text,
body.mp-sd-order-pay .mp-wc-surface .woocommerce-terms-and-conditions-wrapper {
    color: #606879;
    font-size: .78rem;
    line-height: 1.45;
}

.mp-checkout-reassurance {
    display: grid;
    gap: 10px;
    margin-top: 20px;
}

.mp-checkout-reassurance > div {
    display: grid;
    gap: 4px;
    padding: 15px 16px;
    border: 1px solid rgba(19,36,61,.08);
    border-radius: 16px;
    background: #fff;
}

.mp-checkout-reassurance strong {
    color: var(--mp-navy);
    font-size: .88rem;
}

.mp-checkout-reassurance span {
    color: #5f6775;
    font-size: .79rem;
}

/* ORDER PAY */
body.mp-sd-order-pay .mp-wc-surface form#order_review {
    max-width: 780px;
    margin: 0 auto;
}

/* THANK YOU / ORDER RECEIVED */
.mp-afterpay-card {
    display: grid;
    gap: 14px;
    margin-bottom: 18px;
    padding: 20px;
    border: 1px solid rgba(19,36,61,.08);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--mp-shadow);
}

.mp-afterpay-card--success {
    background: linear-gradient(135deg, var(--mp-navy) 0%, #1c3557 100%);
    color: #fff;
}

.mp-afterpay-card--warning {
    border-color: rgba(185,140,76,.28);
    background: #fff8ed;
}

.mp-afterpay-card__icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 999px;
    background: var(--mp-gold);
    color: var(--mp-navy);
    font-size: 1.2rem;
    font-weight: 900;
}

.mp-afterpay-card h2 {
    margin-bottom: 6px;
    color: inherit;
    font-size: clamp(1.65rem, 6vw, 2.25rem);
}

.mp-afterpay-card p {
    color: inherit;
    opacity: .84;
}

.mp-afterpay-card .mp-btn {
    width: 100%;
}

.mp-afterpay-grid {
    display: grid;
    gap: 10px;
    margin-bottom: 22px;
}

.mp-afterpay-grid > div {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 3px 10px;
    align-items: center;
    padding: 14px 15px;
    border: 1px solid rgba(19,36,61,.08);
    border-radius: 16px;
    background: #fff;
}

.mp-afterpay-grid span {
    grid-row: 1 / span 2;
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 999px;
    background: #f1e5db;
    color: var(--mp-navy);
    font-weight: 900;
}

.mp-afterpay-grid strong {
    color: var(--mp-navy);
    font-size: .88rem;
}

.mp-afterpay-grid small {
    color: #626b7b;
    font-size: .76rem;
}

.mp-anchor-offset {
    display: block;
    position: relative;
    top: -12px;
    visibility: hidden;
}

.mp-wc-received-surface .woocommerce-order,
body.mp-sd-view-order .woocommerce-order-details,
body.mp-sd-view-order .woocommerce-customer-details,
body.mp-sd-view-order .mp-vod-order-access {
    color: var(--mp-text);
}

.mp-wc-received-surface .woocommerce-notice--success,
.mp-wc-received-surface .woocommerce-thankyou-order-received {
    margin: 0 0 16px !important;
    padding: 16px 18px !important;
    border: 0 !important;
    border-radius: 16px;
    background: #fff;
    color: var(--mp-text);
    box-shadow: 0 8px 24px rgba(20,31,48,.07);
    font-weight: 700;
}

.mp-wc-received-surface ul.woocommerce-order-overview {
    display: grid;
    gap: 8px;
    margin: 0 0 20px !important;
    padding: 0 !important;
}

.mp-wc-received-surface ul.woocommerce-order-overview li {
    float: none !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(19,36,61,.08) !important;
    border-radius: 14px;
    background: #fff;
    color: #687080;
    font-size: .72rem;
    line-height: 1.35;
}

.mp-wc-received-surface ul.woocommerce-order-overview li strong {
    display: block;
    margin-top: 4px;
    color: var(--mp-navy);
    font-size: .92rem;
}

.mp-wc-received-surface .woocommerce-order-details,
.mp-wc-received-surface .woocommerce-customer-details,
body.mp-sd-view-order .woocommerce-order-details,
body.mp-sd-view-order .woocommerce-customer-details {
    margin: 18px 0 !important;
    padding: 20px;
    border: 1px solid rgba(19,36,61,.08);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(20,31,48,.07);
}

.mp-wc-received-surface .woocommerce-order-details__title,
.mp-wc-received-surface .woocommerce-column__title,
body.mp-sd-view-order .woocommerce-order-details__title,
body.mp-sd-view-order .woocommerce-column__title {
    margin: 0 0 14px !important;
    color: var(--mp-navy);
    font-family: var(--mp-serif);
    font-size: 1.75rem;
}

.mp-wc-received-surface .shop_table,
body.mp-sd-view-order .shop_table {
    margin: 0 !important;
    border: 0 !important;
}

.mp-wc-received-surface .shop_table th,
.mp-wc-received-surface .shop_table td,
body.mp-sd-view-order .shop_table th,
body.mp-sd-view-order .shop_table td {
    padding: 11px 4px !important;
    border-color: rgba(19,36,61,.08) !important;
}

/* VOD access output from the companion importer */
.mp-wc-received-surface .mp-vod-order-access,
body.mp-sd-view-order .mp-vod-order-access {
    margin: 22px 0 0 !important;
    padding: 22px !important;
    border-radius: 22px;
    background: linear-gradient(135deg, var(--mp-navy) 0%, #1d3658 100%);
    color: #fff;
    box-shadow: 0 18px 42px rgba(13,26,45,.17);
}

.mp-wc-received-surface .mp-vod-order-access h2,
.mp-wc-received-surface .mp-vod-order-access h3,
body.mp-sd-view-order .mp-vod-order-access h2,
body.mp-sd-view-order .mp-vod-order-access h3 {
    color: #fff !important;
}

.mp-wc-received-surface .mp-vod-order-access h2,
body.mp-sd-view-order .mp-vod-order-access h2 {
    margin: 0 0 8px !important;
    font-size: clamp(1.8rem, 6vw, 2.4rem);
}

.mp-wc-received-surface .mp-vod-order-access p,
body.mp-sd-view-order .mp-vod-order-access p {
    color: rgba(255,255,255,.78) !important;
}

.mp-wc-received-surface .mp-vod-order-access ul,
body.mp-sd-view-order .mp-vod-order-access ul {
    display: grid;
    gap: 10px;
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
}

.mp-wc-received-surface .mp-vod-order-access li,
body.mp-sd-view-order .mp-vod-order-access li {
    margin: 0 !important;
    padding: 14px !important;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 16px;
    background: rgba(255,255,255,.07);
}

.mp-wc-received-surface .mp-vod-order-access a,
body.mp-sd-view-order .mp-vod-order-access a {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    margin-top: 8px;
    padding: 9px 15px;
    border-radius: 999px;
    background: var(--mp-gold);
    color: var(--mp-navy) !important;
    font-weight: 900;
}

.mp-wc-received-surface .mp-vod-order-access code,
body.mp-sd-view-order .mp-vod-order-access code {
    display: inline-block;
    margin-top: 6px;
    padding: 5px 8px;
    border-radius: 8px;
    background: rgba(255,255,255,.13);
    color: #fff;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: .92em;
}

/* WooCommerce Blocks fallback, in case a theme/plugin inserts them inside notices/widgets. */
.mp-wc-surface .wc-block-components-text-input input,
.mp-wc-surface .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
    border-radius: 14px !important;
}

.mp-wc-surface .wc-block-components-button,
.mp-wc-surface .wc-block-cart__submit-button {
    min-height: 58px !important;
    border-radius: 999px !important;
    background: var(--mp-gold) !important;
    color: var(--mp-navy) !important;
    font-weight: 900 !important;
}

/* Clean checkout keeps only our in-page brand and purchasing UI. */
body.mp-sd-clean-checkout header,
body.mp-sd-clean-checkout footer,
body.mp-sd-clean-checkout #masthead,
body.mp-sd-clean-checkout #colophon,
body.mp-sd-clean-checkout .site-header,
body.mp-sd-clean-checkout .site-footer,
body.mp-sd-clean-checkout .elementor-location-header,
body.mp-sd-clean-checkout .elementor-location-footer,
body.mp-sd-clean-checkout .wp-site-blocks > header,
body.mp-sd-clean-checkout .wp-site-blocks > footer {
    display: none !important;
}

body.mp-sd-clean-checkout .mp-flow-top,
body.mp-sd-clean-checkout .mp-commerce-flow {
    display: block !important;
}

body.mp-sd-clean-checkout .site,
body.mp-sd-clean-checkout #page,
body.mp-sd-clean-checkout .site-content,
body.mp-sd-clean-checkout #content,
body.mp-sd-clean-checkout main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

@media (max-width: 767px) {
    .mp-flow-back {
        display: none;
    }

    .mp-flow-steps__label {
        font-size: .68rem;
    }

    .mp-wc-cart-surface table.shop_table_responsive tr {
        display: grid !important;
        grid-template-columns: 1fr;
        padding: 14px 14px 8px;
        border-bottom: 1px solid rgba(19,36,61,.08);
    }

    .mp-wc-cart-surface table.shop_table_responsive tr td {
        display: grid !important;
        grid-template-columns: minmax(92px, .7fr) minmax(0, 1.3fr);
        align-items: center;
        gap: 10px;
        padding: 8px 0 !important;
        border: 0 !important;
        text-align: right !important;
    }

    .mp-wc-cart-surface table.shop_table_responsive tr td::before {
        color: #6a7280;
        font-size: .74rem;
        font-weight: 800;
        text-align: left;
    }

    .mp-wc-cart-surface table.shop_table_responsive tr td.product-thumbnail {
        display: none !important;
    }

    .mp-wc-cart-surface table.shop_table_responsive tr td.product-name {
        grid-template-columns: 1fr;
        text-align: left !important;
    }

    .mp-wc-cart-surface table.shop_table_responsive tr td.product-name::before {
        display: none;
    }

    .mp-wc-cart-surface table.shop_table_responsive tr td.product-remove {
        grid-template-columns: 1fr;
        justify-items: end;
    }

    .mp-wc-cart-surface table.shop_table_responsive tr td.product-remove::before {
        display: none;
    }

    .mp-wc-cart-surface .actions {
        display: grid !important;
        gap: 10px;
    }

    .mp-wc-cart-surface .coupon,
    .mp-wc-cart-surface .coupon #coupon_code,
    .mp-wc-cart-surface .coupon button {
        width: 100% !important;
    }

    .mp-wc-cart-surface .actions > button {
        width: 100% !important;
    }
}

@media (min-width: 680px) {
    .mp-flow-trustline,
    .mp-checkout-reassurance,
    .mp-afterpay-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

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

    .mp-afterpay-card {
        grid-template-columns: 54px minmax(0, 1fr) auto;
        align-items: center;
    }

    .mp-afterpay-card .mp-btn {
        width: auto;
    }
}

@media (min-width: 880px) {
    .mp-flow-top {
        padding: 28px 0 52px;
    }

    .mp-flow-content {
        padding-top: 34px;
    }

    .mp-wc-cart-surface .cart-collaterals {
        justify-content: end;
    }

    .mp-wc-cart-surface .cart-collaterals .cart_totals {
        width: min(100%, 430px) !important;
    }

    .mp-wc-checkout-surface form.checkout {
        grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
        align-items: start;
        gap: 24px;
    }

    .mp-wc-checkout-surface #customer_details {
        grid-column: 1;
        grid-row: 1 / span 2;
        padding: 26px;
    }

    .mp-wc-checkout-surface #order_review_heading {
        grid-column: 2;
        grid-row: 1;
        align-self: end;
        margin: 0 !important;
        padding: 0 4px 2px;
    }

    .mp-wc-checkout-surface #order_review {
        grid-column: 2;
        grid-row: 2;
        position: sticky;
        top: 18px;
        padding: 22px;
    }

    .mp-wc-received-surface ul.woocommerce-order-overview {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* Optional distraction-free shell across the whole purchase funnel. */
body.mp-sd-clean-funnel header,
body.mp-sd-clean-funnel footer,
body.mp-sd-clean-funnel #masthead,
body.mp-sd-clean-funnel #colophon,
body.mp-sd-clean-funnel .site-header,
body.mp-sd-clean-funnel .site-footer,
body.mp-sd-clean-funnel .elementor-location-header,
body.mp-sd-clean-funnel .elementor-location-footer,
body.mp-sd-clean-funnel .wp-site-blocks > header,
body.mp-sd-clean-funnel .wp-site-blocks > footer {
    display: none !important;
}

body.mp-sd-clean-funnel .mp-commerce-flow,
body.mp-sd-clean-funnel .mp-flow-top {
    display: block !important;
}

/* =========================================================
   v1.2 — THEME HEADER + TRUE FULL-WIDTH + CHECKOUT 50/50
   Fixes for transparent / absolute header builders and theme
   WooCommerce width rules leaking into our custom templates.
   ========================================================= */

/*
 * The custom content remains constrained by .mp-shell, while the page and
 * every coloured section can span the full browser width even when the theme
 * puts WooCommerce inside its own max-width content container.
 */
body.mp-sd-shop,
body.mp-sd-product,
body.mp-sd-funnel {
    overflow-x: clip;
}

body.mp-sd-shop .mp-store,
body.mp-sd-product .mp-store,
body.mp-sd-funnel .mp-store {
    position: relative;
    left: 50%;
    width: 100vw !important;
    max-width: none !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    overflow: clip;
}

/* Neutralise the most common theme content wrappers only on our Woo pages. */
body.mp-sd-shop #content,
body.mp-sd-product #content,
body.mp-sd-funnel #content,
body.mp-sd-shop .site-content,
body.mp-sd-product .site-content,
body.mp-sd-funnel .site-content {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible !important;
}

body.mp-sd-shop #content > .ast-container,
body.mp-sd-product #content > .ast-container,
body.mp-sd-funnel #content > .ast-container,
body.mp-sd-shop .site-content > .ast-container,
body.mp-sd-product .site-content > .ast-container,
body.mp-sd-funnel .site-content > .ast-container,
body.mp-sd-shop .site-content > .container,
body.mp-sd-product .site-content > .container,
body.mp-sd-funnel .site-content > .container,
body.mp-sd-shop .site-content > .grid-container,
body.mp-sd-product .site-content > .grid-container,
body.mp-sd-funnel .site-content > .grid-container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.mp-sd-shop #primary,
body.mp-sd-product #primary,
body.mp-sd-funnel #primary,
body.mp-sd-shop .content-area,
body.mp-sd-product .content-area,
body.mp-sd-funnel .content-area {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/*
 * On some page/header builders the header is transparent and positioned over
 * the first section on single products. store.js measures the real visible
 * header and sets --mp-theme-header-space only if an overlap actually exists.
 */
body.mp-sd-store-header-offset.mp-sd-shop .mp-store,
body.mp-sd-store-header-offset.mp-sd-product .mp-store {
    margin-top: var(--mp-theme-header-space, 0px) !important;
}

body.mp-sd-shop .mp-sd-theme-header,
body.mp-sd-product .mp-sd-theme-header,
body.mp-sd-shop .elementor-location-header,
body.mp-sd-product .elementor-location-header,
body.mp-sd-shop [data-elementor-type="header"],
body.mp-sd-product [data-elementor-type="header"],
body.mp-sd-shop #masthead,
body.mp-sd-product #masthead,
body.mp-sd-shop .site-header,
body.mp-sd-product .site-header {
    background-color: #fff !important;
    background-image: none !important;
}

/* Header builders often put the actual background on the first child. */
body.mp-sd-shop .mp-sd-theme-header > .e-con,
body.mp-sd-product .mp-sd-theme-header > .e-con,
body.mp-sd-shop .mp-sd-theme-header > .elementor-element,
body.mp-sd-product .mp-sd-theme-header > .elementor-element,
body.mp-sd-shop .elementor-location-header > .elementor-element,
body.mp-sd-product .elementor-location-header > .elementor-element {
    background-color: #fff !important;
    background-image: none !important;
}

/* Transparent headers usually switch the menu to white; reset it on shop/VOD. */
body.mp-sd-shop .mp-sd-theme-header nav a,
body.mp-sd-product .mp-sd-theme-header nav a,
body.mp-sd-shop .mp-sd-theme-header .menu-item > a,
body.mp-sd-product .mp-sd-theme-header .menu-item > a,
body.mp-sd-shop .mp-sd-theme-header .elementor-nav-menu a,
body.mp-sd-product .mp-sd-theme-header .elementor-nav-menu a,
body.mp-sd-shop .elementor-location-header .elementor-nav-menu a,
body.mp-sd-product .elementor-location-header .elementor-nav-menu a {
    color: var(--mp-navy) !important;
    text-shadow: none !important;
}

body.mp-sd-shop .mp-sd-theme-header nav svg,
body.mp-sd-product .mp-sd-theme-header nav svg {
    color: var(--mp-navy) !important;
}

/* A little breathing room between a normal in-flow menu and the first hero. */
body.mp-sd-shop:not(.mp-sd-store-header-offset) .mp-shop-hero,
body.mp-sd-product:not(.mp-sd-store-header-offset) .mp-product-hero {
    scroll-margin-top: 24px;
}

/* Checkout shell can use the same generous desktop width as the shop. */
.mp-flow-shell {
    width: min(100% - 32px, 1180px);
}

/*
 * Theme WooCommerce CSS commonly forces #customer_details and #order_review
 * to 48% width. They are already grid items in our layout, so those legacy
 * widths must be explicitly reset.
 */
.mp-wc-checkout-surface form.checkout,
.mp-wc-checkout-surface form.woocommerce-checkout {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.mp-wc-checkout-surface #customer_details,
.mp-wc-checkout-surface #order_review_heading,
.mp-wc-checkout-surface #order_review {
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    clear: none !important;
}

.mp-wc-checkout-surface #customer_details.col2-set {
    display: block !important;
}

.mp-wc-checkout-surface #customer_details .col-1,
.mp-wc-checkout-surface #customer_details .col-2,
.mp-wc-checkout-surface .woocommerce-billing-fields,
.mp-wc-checkout-surface .woocommerce-billing-fields__field-wrapper,
.mp-wc-checkout-surface .woocommerce-additional-fields {
    width: 100% !important;
    max-width: none !important;
}

/* Do not let a theme turn the order title into a little floating card. */
.mp-wc-checkout-surface #order_review_heading {
    display: block !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.mp-wc-checkout-surface #order_review,
.mp-wc-checkout-surface #customer_details {
    box-sizing: border-box !important;
}

.mp-wc-checkout-surface #order_review table.shop_table {
    width: 100% !important;
    table-layout: auto !important;
}

.mp-wc-checkout-surface #order_review table.shop_table th.product-name,
.mp-wc-checkout-surface #order_review table.shop_table td.product-name {
    width: auto !important;
    min-width: 0 !important;
    word-break: normal !important;
    overflow-wrap: anywhere;
}

.mp-wc-checkout-surface #order_review table.shop_table th.product-total,
.mp-wc-checkout-surface #order_review table.shop_table td.product-total {
    width: 34% !important;
    min-width: 112px;
    white-space: nowrap;
    text-align: right;
}

.mp-wc-checkout-surface #payment,
.mp-wc-checkout-surface #payment ul.payment_methods,
.mp-wc-checkout-surface #payment .payment_box,
.mp-wc-checkout-surface #payment .place-order {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

.mp-wc-checkout-surface #payment label,
.mp-wc-checkout-surface #payment p,
.mp-wc-checkout-surface #payment li {
    word-break: normal !important;
    overflow-wrap: break-word;
}

/* Guarantee sensible full-width fields even if the theme assigns hard widths. */
.mp-wc-checkout-surface .form-row-wide,
.mp-wc-checkout-surface .form-row-first,
.mp-wc-checkout-surface .form-row-last {
    max-width: none !important;
}

.mp-wc-checkout-surface .form-row-wide {
    width: 100% !important;
    float: none !important;
}

@media (min-width: 880px) {
    .mp-wc-checkout-surface form.checkout,
    .mp-wc-checkout-surface form.woocommerce-checkout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        column-gap: 28px !important;
        row-gap: 12px !important;
        align-items: start !important;
    }

    .mp-wc-checkout-surface #customer_details {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        align-self: stretch;
        padding: 28px !important;
    }

    .mp-wc-checkout-surface #order_review_heading {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: end !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 2px 4px !important;
        text-align: left !important;
    }

    .mp-wc-checkout-surface #order_review {
        grid-column: 2 !important;
        grid-row: 2 !important;
        width: 100% !important;
        padding: 28px !important;
        position: sticky;
        top: 18px;
    }

    /* First and last name remain a neat 50/50 sub-grid inside billing. */
    .mp-wc-checkout-surface .woocommerce-billing-fields__field-wrapper {
        display: flex;
        flex-wrap: wrap;
        column-gap: 14px;
    }

    .mp-wc-checkout-surface .woocommerce-billing-fields__field-wrapper > .form-row {
        flex: 0 0 100%;
        width: 100% !important;
    }

    .mp-wc-checkout-surface .woocommerce-billing-fields__field-wrapper > .form-row-first,
    .mp-wc-checkout-surface .woocommerce-billing-fields__field-wrapper > .form-row-last {
        flex: 1 1 calc(50% - 7px);
        width: calc(50% - 7px) !important;
        float: none !important;
    }
}

@media (max-width: 879px) {
    .mp-wc-checkout-surface form.checkout,
    .mp-wc-checkout-surface form.woocommerce-checkout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .mp-wc-checkout-surface #customer_details,
    .mp-wc-checkout-surface #order_review_heading,
    .mp-wc-checkout-surface #order_review {
        grid-column: 1 !important;
        width: 100% !important;
    }

    .mp-wc-checkout-surface #customer_details {
        grid-row: auto !important;
    }

    .mp-wc-checkout-surface #order_review_heading {
        grid-row: auto !important;
        margin-top: 8px !important;
        padding: 0 2px 4px !important;
    }

    .mp-wc-checkout-surface #order_review {
        grid-row: auto !important;
        position: static !important;
    }
}

/* 24-inch / wide-monitor polish: backgrounds edge-to-edge, content stays calm. */
@media (min-width: 1440px) {
    :root {
        --mp-shell: 1240px;
    }

    .mp-flow-shell {
        width: min(100% - 64px, 1240px);
    }

    .mp-product-hero__grid {
        gap: 68px;
    }
}

/* =========================================================
   v1.2.1 — FULL-WIDTH ORIGIN FIX
   The v1.2 viewport-centering trick (left:50% / -50vw) was
   unnecessary after neutralising the theme content wrappers.
   On this header-builder/theme combination it moved the whole
   custom WooCommerce surface by half of the viewport. Keep the
   backgrounds full-width, but start the layout at the natural
   left edge of the document.
   ========================================================= */
body.mp-sd-shop .mp-store,
body.mp-sd-product .mp-store,
body.mp-sd-funnel .mp-store {
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
}

/* Make sure a theme-level site shell cannot re-introduce a desktop max-width. */
body.mp-sd-shop #page,
body.mp-sd-product #page,
body.mp-sd-funnel #page,
body.mp-sd-shop .site,
body.mp-sd-product .site,
body.mp-sd-funnel .site {
    width: 100% !important;
    max-width: none !important;
}

/* Sections own the edge-to-edge colour; .mp-shell still constrains content. */
body.mp-sd-shop .mp-store > section,
body.mp-sd-product .mp-store > section,
body.mp-sd-funnel .mp-store > section {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}


/* =========================================================
   v1.2.2 — drobne poprawki ekspozycji / koszyka
   ========================================================= */

/* Sklep: żadnego sztucznego odstępu między białym headerem a pierwszą sekcją. */
body.mp-sd-shop.mp-sd-store-header-offset .mp-store,
body.mp-sd-shop .mp-store {
    margin-top: 0 !important;
}

/* Gdy newsletter nie jest skonfigurowany, prawa kolumna nie tworzy pustego boxu/placeholdera. */
.mp-workshops__action:empty {
    display: none !important;
}

/* Koszyk: CTA ma wyraźny oddech od dolnej krawędzi panelu. */
.mp-wc-cart-surface .wc-proceed-to-checkout {
    margin: 18px 0 14px !important;
    padding: 0 !important;
}

.mp-wc-cart-surface .cart_totals {
    padding-bottom: 14px !important;
}

/* ==========================================================
   v1.2.5 — WARSZTATY I PRAKTYKI / DYNAMIC NEWSLETTER
   ========================================================== */
.mp-workshop-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}

.mp-workshop-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(19,36,61,.09);
    border-radius: var(--mp-radius-lg);
    background: rgba(255,255,255,.96);
    color: var(--mp-text);
    box-shadow: 0 14px 34px rgba(18,29,45,.08);
}

.mp-workshop-card__media {
    display: block;
    margin: 10px 10px 0;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: calc(var(--mp-radius-lg) - 8px);
    background: #e8d8cb;
}

.mp-workshop-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mp-workshop-card__placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-content: center;
    gap: 8px;
    text-align: center;
    background:
        radial-gradient(circle at 30% 25%, rgba(255,255,255,.72), transparent 28%),
        linear-gradient(145deg, #ead8ca, #f8efe8);
}

.mp-workshop-card__placeholder span {
    font-family: var(--mp-serif);
    font-size: 2.6rem;
    font-weight: 700;
}

.mp-workshop-card__placeholder small {
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.mp-workshop-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 20px;
}

.mp-workshop-card__date {
    margin-bottom: 8px;
    color: var(--mp-gold-dark);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.mp-workshop-card h3 {
    margin: 0 0 8px;
    font-size: clamp(1.45rem, 5vw, 2rem);
}

.mp-workshop-card h3 a {
    color: var(--mp-text);
}

.mp-workshop-card__meta {
    margin-bottom: 12px;
    color: #505866;
    font-size: .9rem;
    font-weight: 700;
}

.mp-workshop-card__body p {
    margin-bottom: 20px;
    color: #5a616c;
}

.mp-workshop-card__body .mp-btn {
    width: 100%;
    margin-top: auto;
}

.mp-workshops-all {
    margin-top: 24px;
    text-align: right;
}

.mp-workshops-heading {
    align-items: start;
}

.mp-section--newsletter .mp-workshops h2 {
    max-width: 780px;
    text-wrap: balance;
}

.mp-section--newsletter .mp-workshops__action {
    min-width: 0;
}

.mp-newsletter-wrap form,
.mp-newsletter-wrap .wpforms-container,
.mp-newsletter-wrap .fluentform,
.mp-newsletter-wrap .mailerlite-form {
    width: 100%;
    margin: 0 !important;
}

.mp-newsletter-wrap input[type="email"],
.mp-newsletter-wrap input[type="text"] {
    width: 100%;
    min-height: 52px;
    padding: 12px 16px;
    border: 1px solid rgba(19,36,61,.15);
    border-radius: 999px;
    background: rgba(255,255,255,.8);
    color: var(--mp-text);
}

.mp-newsletter-wrap button,
.mp-newsletter-wrap input[type="submit"] {
    min-height: 52px;
    margin-top: 10px;
    padding: 12px 24px;
    border: 0;
    border-radius: 999px;
    background: var(--mp-gold);
    color: var(--mp-text);
    font-weight: 800;
    cursor: pointer;
}

.mp-workshop-archive__hero,
.mp-workshop-single__hero {
    background:
        radial-gradient(circle at 82% 18%, rgba(213,174,111,.18), transparent 28%),
        linear-gradient(135deg, #f8efe8 0%, #ead8ca 100%);
}

.mp-workshop-archive__hero {
    padding: 64px 0;
}

.mp-workshop-archive__hero p {
    max-width: 700px;
    margin-top: 16px;
    color: #4e5662;
    font-size: 1.08rem;
}

.mp-workshop-single__hero {
    padding: 28px 0 60px;
}

.mp-workshop-single__grid {
    display: grid;
    gap: 30px;
}

.mp-workshop-single__media {
    position: relative;
    min-height: 360px;
    overflow: hidden;
    border-radius: var(--mp-radius-xl);
    background: #e6ddd5;
    box-shadow: var(--mp-shadow);
}

.mp-workshop-single__media > img {
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
}

.mp-workshop-single__content {
    align-self: center;
}

.mp-workshop-single__facts {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 22px 0;
}

.mp-workshop-single__facts > div {
    display: grid;
    gap: 3px;
    padding: 14px 16px;
    border: 1px solid rgba(19,36,61,.08);
    border-radius: var(--mp-radius-md);
    background: rgba(255,255,255,.56);
}

.mp-workshop-single__facts strong {
    font-size: .78rem;
}

.mp-workshop-single__facts span {
    color: #505866;
}

.mp-workshop-single__body {
    max-width: 900px;
    font-size: 1.06rem;
    line-height: 1.75;
}

.mp-workshop-single__body > * + * {
    margin-top: 1em;
}

@media (min-width: 760px) {
    .mp-workshop-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

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

@media (min-width: 1024px) {
    .mp-workshop-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 24px;
    }

    .mp-workshop-single__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: center;
        gap: 56px;
    }

    .mp-workshop-single__media,
    .mp-workshop-single__media > img {
        min-height: 520px;
    }
}

/* ==========================================================
   v1.2.6 — WARSZTATY: FULL WIDTH + RESPONSIVE PREVIEW
   ========================================================== */

/*
 * Archiwum / pojedynczy warsztat korzystają z tego samego pełnoszerokościowego
 * systemu co sklep. Motyw nie może zamykać ich w swoim kontenerze ani zostawiać
 * granatowego pasa / marginesu pod headerem.
 */
body.mp-sd-workshops {
    overflow-x: clip;
    background: var(--mp-cream) !important;
}

body.mp-sd-workshops #page,
body.mp-sd-workshops .site,
body.mp-sd-workshops #content,
body.mp-sd-workshops .site-content,
body.mp-sd-workshops #primary,
body.mp-sd-workshops .content-area {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

body.mp-sd-workshops #content,
body.mp-sd-workshops .site-content,
body.mp-sd-workshops #primary,
body.mp-sd-workshops .content-area {
    margin-top: 0 !important;
    padding-top: 0 !important;
    overflow: visible !important;
}

body.mp-sd-workshops #content > .ast-container,
body.mp-sd-workshops .site-content > .ast-container,
body.mp-sd-workshops .site-content > .container,
body.mp-sd-workshops .site-content > .grid-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.mp-sd-workshops .mp-store {
    position: relative;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
    background: var(--mp-cream);
}

body.mp-sd-workshops .mp-store > section {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* Biały header jak w sklepie, bez nakładania na treść. */
body.mp-sd-workshops .mp-sd-theme-header,
body.mp-sd-workshops .elementor-location-header,
body.mp-sd-workshops [data-elementor-type="header"],
body.mp-sd-workshops #masthead,
body.mp-sd-workshops .site-header {
    background-color: #fff !important;
    background-image: none !important;
}

body.mp-sd-workshops .mp-sd-theme-header > .e-con,
body.mp-sd-workshops .mp-sd-theme-header > .elementor-element,
body.mp-sd-workshops .elementor-location-header > .elementor-element {
    background-color: #fff !important;
    background-image: none !important;
}

body.mp-sd-workshops .mp-sd-theme-header nav a,
body.mp-sd-workshops .mp-sd-theme-header .menu-item > a,
body.mp-sd-workshops .mp-sd-theme-header .elementor-nav-menu a,
body.mp-sd-workshops .elementor-location-header .elementor-nav-menu a {
    color: var(--mp-navy) !important;
    text-shadow: none !important;
}

body.mp-sd-workshops .mp-sd-theme-header nav svg {
    color: var(--mp-navy) !important;
}

/* Hero archiwum dochodzi bezpośrednio do headera. */
body.mp-sd-workshops .mp-workshop-archive__hero,
body.mp-sd-workshops .mp-workshop-single__hero {
    margin-top: 0 !important;
}

/*
 * Podgląd na stronie sklepu: JS ukrywa nadmiar kart i pokazuje link do archiwum
 * wyłącznie wtedy, gdy faktycznie są kolejne aktywne wydarzenia.
 */
.mp-workshop-grid--preview .mp-workshop-card[hidden] {
    display: none !important;
}

.mp-workshops-all[hidden] {
    display: none !important;
}

/* Na bardzo szerokim monitorze cztery wydarzenia mieszczą się w jednym rzędzie. */
@media (min-width: 1440px) {
    .mp-workshop-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* Archiwum ma spokojniejszą, pełnoszerokościową przestrzeń pod hero. */
.mp-workshop-archive > .mp-section--beige {
    min-height: 360px;
}

@media (max-width: 759px) {
    .mp-workshop-archive__hero {
        padding: 42px 0 38px;
    }
}

/* ==========================================================
   v1.2.7 — WARSZTAT: CZYTELNA PODSTRONA + CTA
   ========================================================== */

/* Więcej oddechu pod białym headerem na pojedynczej stronie wydarzenia. */
body.mp-sd-workshops .mp-workshop-single__hero {
    padding-top: clamp(44px, 4vw, 68px) !important;
    padding-bottom: clamp(56px, 5vw, 84px);
}

.mp-workshop-single .mp-breadcrumb {
    margin-bottom: clamp(28px, 3vw, 42px);
}

.mp-workshop-single__content {
    align-self: start;
    padding-top: clamp(4px, 1vw, 14px);
}

/* Opis jest częścią hero i pojawia się bezpośrednio pod terminem / formą. */
.mp-workshop-single__description {
    max-width: 680px;
    margin-top: 20px;
    color: #344052;
    font-size: 1.04rem;
    line-height: 1.72;
}

.mp-workshop-single__description > :first-child {
    margin-top: 0;
}

.mp-workshop-single__description > :last-child {
    margin-bottom: 0;
}

.mp-workshop-single__description > * + * {
    margin-top: .9em;
}

/* Na stronie szczegółów przycisk istnieje wyłącznie, gdy administrator świadomie
   włączy zewnętrzny link (np. zapis / rezerwację). */
.mp-workshop-single__register {
    margin-top: 26px;
}

@media (max-width: 759px) {
    body.mp-sd-workshops .mp-workshop-single__hero {
        padding-top: 30px !important;
        padding-bottom: 52px;
    }

    .mp-workshop-single .mp-breadcrumb {
        margin-bottom: 22px;
    }

    .mp-workshop-single__description {
        margin-top: 16px;
        font-size: 1rem;
    }
}

/* ==========================================================
   v1.2.8 — WIĘCEJ ODDECHU POD HEADEREM NA PODSTRONIE WARSZTATU
   ========================================================== */

/* Pojedynczy warsztat zaczyna się wyraźnie niżej pod białym headerem.
   Dotyczy całej sekcji hero, dzięki czemu tytuł i zdjęcie zachowują wspólną oś. */
body.mp-sd-workshops .mp-workshop-single__hero {
    padding-top: clamp(82px, 6vw, 112px) !important;
}

@media (max-width: 759px) {
    body.mp-sd-workshops .mp-workshop-single__hero {
        padding-top: 52px !important;
    }
}
