/* =====================================================
   PRODUCT
===================================================== */

/* Product Layout */

.single-product-page{
    max-width:1600px;
    margin:160px auto;
}

.product-top{
    max-width:1560px;
    margin:0 auto;
    padding:30px;

    display:grid;
    grid-template-columns:90px 700px 500px;

    column-gap:80px;
    align-items:start;
}

/* ==========================================
   PRODUCT GALLERY
========================================== */

.product-gallery{
    width:700px;
}

.gallery-main{
    width:100%;
}

.gallery-main img{

    display:block;

    width:100%;

    height:auto;

    transition:
        opacity .35s ease,
        transform .5s ease;

}

.gallery-thumbs img {
    display: block;
    width: 90px;
    aspect-ratio: 2 / 3;
    object-fit: cover;
    cursor: pointer;

    opacity: .55;
    border: 1px solid transparent;

    transition:
        opacity .3s ease,
        transform .3s ease,
        border-color .3s ease;
}

.gallery-thumbs img:hover {
    opacity: .8;
}

.gallery-thumbs img.active {
    opacity: 1;
    transform: translateY(-4px);
    border-color: #1b1b1b;
}

.single-product-info{
    position:sticky;
    top:140px;
    max-width:560px;
    padding-top:0px;
}
/* Product Summary */

.product-title{
    font-size:60px;
    line-height:.95;
    margin-bottom:36px;
}

.product-price{
    font-size:24px;
    margin-bottom:45px;
}

.price{
    font-size:26px;
    margin-bottom:50px;
}

.description{
    margin-bottom:60px;
    line-height:1.8;
}

.product-description{
    line-height:2;
    max-width:520px;
    margin-bottom:55px;
}

.product-benefits{
    margin-bottom:5px;
    line-height:2.3;
}

/* Cart Form */

.cart{

    gap:22px;

    align-items:center;

}

.quantity input{
    width:52px;
    height:52px;

    border:1px solid #d7d1cb;
    background:transparent;

    text-align:center;
    font-size:17px;
}

.single_add_to_cart_button{

    flex:0;

    width:260px;
    min-width:260px;

    height:52px !important;

    padding:0 34px !important;

    background:transparent !important;
    color:#2b2b2b !important;

    border:1.5px solid #8f8881 !important;

    font-size:11px;

    font-weight:400;

    letter-spacing:.14em;

    margin-top:-2px;

    text-transform:uppercase;

    transition:.35s;
}

.single_add_to_cart_button:hover{

    background:#1b1b1b !important;

    color:#fff !important;

    border-color:#1b1b1b !important;

    transform:translateY(-2px);

}

/* Variation Form */

.variations_form{
    margin-top:50px;
} 

.variations{
    width:100%;
    border-collapse:collapse;
    display:none;
}

.variations tr{
    display:flex;
    flex-direction:column;
    margin-bottom:25px;
}

.variations td.label{
    margin-bottom:12px;
}

.variations label{
    font-size:22px;
    font-family:"Cormorant Garamond", serif;
}

.variations select{
    width:100%;
    max-width:300px;
    height:55px;
    padding:0 20px;
    border:1px solid #d9d4cf;
    background:transparent;
    font-size:16px;
    display:none;
}

.reset_variations{
    display:none !important;
}

.single_variation_wrap{
    margin-top:30px;
}

.woocommerce-variation-add-to-cart{
    display:flex;
    align-items:center;
    gap:18px;
}

.woocommerce-variation-add-to-cart .quantity{
    margin:0 !important;
}

.woocommerce-variation-add-to-cart .single_add_to_cart_button{
    margin:0 !important;
}

/* Custom Variations */

.custom-variations{
    margin-top:20px;
}

.custom-colors,.custom-colors h4,
.custom-sizes h4{
    margin-bottom:25px;
}

.custom-variations h4{

    font-size:13px;
    font-weight:500;

    letter-spacing:.06em;
    text-transform:none;

    color:#3b3632;

    margin-bottom:18px;
}

.color-buttons{

    display:flex;
    align-items:center;

    gap:14px;

    margin-bottom:42px;

}

.color-swatch{

    width:24px;
    height:24px;

    border-radius:50%;

    border:1px solid #d7d1cb;

    cursor:pointer;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;

}

.color-swatch:hover{

    transform:scale(1.12);

}

.color-swatch[data-color="Beżowy"]{
    background:#D8C3A5;
}

.color-swatch[data-color="Biały"]{
    background:#F6F4EF;
}

.color-swatch[data-color="Czarny"]{
    background:#1b1b1b;
}

.color-swatch[data-color="Granatowy"]{
    background:#293C6A;
}

.color-swatch[data-color="Błękitny"]{
    background:#BFD7EA;
}

.color-swatch[data-color="Różowy"]{
    background:#E8C1C5;
}

.color-swatch[data-color="Ecru"]{
    background:#ECE3D3;
}

.color-swatch.active{

    transform:scale(1.08);

    border:1px solid #1b1b1b;

    box-shadow:
        0 0 0 3px var(--color-background),
        0 0 0 4px #1b1b1b;

}

.color-swatch:focus-visible{

    outline:none;

    transform:scale(1.08);

}

.size-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.size-buttons .variation-button {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    min-width: 48px;
    height: 48px;
    flex: 0 0 48px;

    padding: 0;

    background: var(--color-background);
    border: 1px solid #d8d3ce;

    color: #2f2b28;

    font-size: 11px;
    font-weight: 300;
    letter-spacing: .04em;
    text-transform: uppercase;

    cursor: pointer;

    transition:
        background .3s ease,
        border-color .3s ease,
        transform .25s ease,
        color .3s ease;
}
/* ONESIZE i OVERSIZE — szersze prostokąty */

.size-buttons .variation-button[data-value="onesize"],
.size-buttons .variation-button[data-value="one-size"],
.size-buttons .variation-button[data-value="one_size"],
.size-buttons .variation-button[data-value="oversize"],
.size-buttons .variation-button[data-value="over-size"],
.size-buttons .variation-button[data-value="over_size"],
.size-buttons .variation-button[data-label="ONESIZE"],
.size-buttons .variation-button[data-label="ONE SIZE"],
.size-buttons .variation-button[data-label="One Size"],
.size-buttons .variation-button[data-label="OVERSIZE"],
.size-buttons .variation-button[data-label="Oversize"] {
    width: auto !important;
    min-width: 120px !important;
    height: 48px !important;

    flex: 0 0 auto !important;

    padding: 0 20px !important;

    white-space: nowrap !important;
}

.size-buttons .variation-button:hover{

    background:#ffffff;

    border-color:#1b1b1b;

    transform:translateY(-2px);

}

.size-buttons .variation-button.active{

    background:#1b1b1b;
    color:#fff;
    border-color:#1b1b1b;

}

.variation-button.selected,
.variation-button.active{

    background:#1b1b1b;

    color:#fff;

    border-color:#1b1b1b;

}

.variation-button{
    height:40px;
    padding:0 18px;

    display:flex;
    align-items:center;
    justify-content:center;
    font-size:11px;
    letter-spacing:.08em;

 transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease,
        transform .25s ease;
}

.variation-button:hover{

    background:#f3eee8;

    border-color:#8f867f;

    transform:translateY(-2px);

}

.variation-button.large{
    min-width:100px;
}

/* Product Story */

/* =====================================================
   STORY
===================================================== */

.story-section {
    max-width: 1680px;
    margin: 260px auto 220px;
    padding: 0 48px;
}

.story-heading {
    text-align: center;
    margin-bottom: 120px;
}

.story-number {
    display: block;
    margin-bottom: 80px;
    font-size: 11px;
    letter-spacing: .45em;
    color: #b7aa99;
}

.story-heading h2 {
    max-width: 1520px;
    margin: 0 auto;
    font-size: clamp(92px, 7.2vw, 150px);
    line-height: .96;
    font-weight: 400;
    letter-spacing: -.035em;
}

.story-content {
    max-width: 560px;
    margin: 0 8% 120px auto;
}

.story-content p {
    font-size: 28px;
    line-height: 1.85;
    color: #5e5953;
}

.story-image {
    max-width: 1680px;
    margin: 0 auto;
}

.story-image img {
    width: 100%;
    display: block;
    object-fit: cover;
}
/* Materials */

.materials-section{
    max-width:1400px;
    margin:220px auto;
}

.materials-gallery{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
}

.materials-gallery img{
    width:100%;
    aspect-ratio:3/4;
    object-fit:cover;
}

.materials-text{
    max-width:900px;
    margin:120px auto 0;
    text-align:center;
}

.materials-text h2{
    font-size:82px;
    line-height:1.1;
    font-weight:400;
    max-width:900px;
    margin:auto;
}

.materials-text a{
    text-decoration:none;
    color:#262220;
    letter-spacing:.2em;
    text-transform:uppercase;
    font-size:13px;
}

.merino-section{
    max-width:1400px;
    margin:250px auto;
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:120px;
    align-items:center;
}

.merino-text span{
    font-size:12px;
    letter-spacing:.4em;
    color:#b9a891;
}

.merino-text h2{
    font-size:96px;
    line-height:1;
    font-weight:400;
    margin:40px 0 80px;
}

.merino-features{
    display:flex;
    flex-direction:column;
    gap:30px;
    font-size:18px;
    line-height:1.8;
}

.merino-image img{
    width:100%;
    display:block;
}

/* Looks */

.looks-section {
    max-width: 1600px;
    margin: 80px auto 250px;
}

.looks-header{
    text-align:center;
    margin-bottom:100px;
}

.looks-header h2{
    font-size:72px;
    font-weight:400;
}

.looks-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.looks-grid img{
    width:100%;
    aspect-ratio:3/4;
    object-fit:cover;
}

/* =====================================================
   DETAILS / EDITORIAL
===================================================== */

.details-section {
    max-width: 1680px;
    margin: 220px auto 80px;
    padding: 0 48px;
}

.details-image img {
    width: 100%;
    display: block;
    object-fit: cover;
}

.image-top {
    width: 48%;
    margin-bottom: 110px;
}

.image-bottom {
    width: 48%;
    margin-left: auto;
    margin-top: 80px;
}

.details-content {
    max-width: 620px;
    margin: 0 auto;
    text-align: center;
}

.details-content span {
    display: block;
    margin-bottom: 36px;
    font-size: 11px;
    letter-spacing: .45em;
    color: #b7aa99;
}

.details-content h2 {
    margin: 0 auto 42px;
    font-size: clamp(72px, 5.6vw, 112px);
    line-height: .96;
    font-weight: 400;
    letter-spacing: -.025em;
}

.details-content p {
    margin: 0 auto 52px;
    max-width: 560px;
    font-size: 27px;
    line-height: 1.75;
    color: #5e5953;
}

.details-content a {
    display: inline-block;
    text-decoration: none;
    color: #1b1b1b;
    font-size: 12px;
    letter-spacing: .24em;
    text-transform: uppercase;
    border-bottom: 1px solid #1b1b1b;
    padding-bottom: 8px;
    transition: opacity .3s ease;
}

.details-content a:hover {
    opacity: .6;
}

/* =====================================================
   FEATURES / WHY YOU WILL LOVE IT
===================================================== */

.features-section {
    max-width: 1120px;
    margin: 130px auto 150px;
    padding: 0 48px;
    display: block;
    transform: translateX(-60px);
}

.features-left {
    max-width: 560px;
    margin: 0 auto 78px;
    padding: 0;
    text-align: center;
}

.features-left span {
    display: block;
    margin-bottom: 58px;
    font-size: 11px;
    letter-spacing: .45em;
    color: #b7aa99;
}

.features-left h2 {
    max-width: none;
    margin: 0 auto;
    font-size: 30px;
    line-height: 1.25;
    font-weight: 500;
    letter-spacing: -.01em;
}

.features-left p {
    max-width: 430px;
    margin: 28px auto 0;
    font-size: 16px;
    line-height: 1.8;
    color: #746d66;
}

.features-right {
    max-width: 860px;
    margin: 0 auto;
    padding-top: 0;
}

.feature-item {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 28px;
    align-items: baseline;
    padding: 22px 0;
    border-bottom: 1px solid #ded6cc;
}

.feature-item:first-child {
    border-top: 1px solid #ded6cc;
}

.feature-index {
    font-size: 10px;
    letter-spacing: .35em;
    color: #b7aa99;
}

.feature-text {
    display: block;
    font-size: 23px;
    line-height: 1.35;
    font-weight: 400;
    letter-spacing: -.01em;
    color: #2b2724;
}

/* =====================================================
   CARE / PRODUCT CARE NOTE
===================================================== */

.care-section {
    max-width: 980px;
    margin: 120px 120px 180px auto;
    padding: 0 48px 0 0;
}

.care-note {
    border-top: 1px solid #ded6cc;
    padding-top: 56px;
}

.care-number {
    display: block;
    margin-bottom: 72px;
    text-align: center;
    font-size: 11px;
    letter-spacing: .45em;
    color: #b7aa99;
}

.care-layout {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 80px;
    align-items: start;
}

.care-heading span {
    display: block;
    margin-bottom: 28px;
    font-size: 11px;
    letter-spacing: .38em;
    color: #2b2724;
}

.care-heading h2 {
    margin: 0;
    font-size: 28px;
    line-height: 1.28;
    font-weight: 500;
    letter-spacing: -.01em;
}

.care-heading p {
    max-width: 300px;
    margin: 28px 0 0;
    font-size: 16px;
    line-height: 1.8;
    color: #746d66;
}

.care-rules {
    margin-top: -18px;
}

.care-rule {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 28px;
    align-items: baseline;
    padding: 20px 0;
    border-bottom: 1px solid #ded6cc;
}

.care-rule:first-child {
    border-top: 1px solid #ded6cc;
}

.care-rule-index {
    font-size: 10px;
    letter-spacing: .35em;
    color: #b7aa99;
}

.care-rule p {
    margin: 0;
    font-size: 18px;
    line-height: 1.55;
    color: #3a3430;
}

/* Related Products */

.related-products-section{
    max-width:1600px;
    margin:260px auto;
}

.section-header{
    margin-bottom:100px;
}

.section-header span{
    font-size:12px;
    letter-spacing:.3em;
    color:#b8ac9d;
}

.section-header h2{
    font-size:90px;
    line-height:1.1;
    font-weight:400;
    margin-top:30px;
}

.related.products h2{
    display:none;
}

.related.products ul.products{
    display:grid !important;
    grid-template-columns:repeat(3,1fr);
    gap:70px;
}

.related.products li.product{
    width:100% !important;
    margin:0 !important;
}

.related.products img{
    width:100% !important;
    aspect-ratio:3/4;
    object-fit:cover;
    transition:.7s;
}

.related.products li:hover img{
    transform:scale(1.02);
}

.related.products .woocommerce-loop-product__title{
    font-size:32px !important;
    font-weight:400;
    margin-top:30px !important;
}

.related.products .price{
    font-size:24px !important;
    color:#222 !important;
}

/* FAQ */

.product-faq{
    max-width:1400px;
    margin:200px auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:120px;
}

.faq-heading h2{
    font-size:72px;
    line-height:1;
    font-weight:400;
}

.faq-item{
    border-bottom:1px solid #ddd7d0;
}

.faq-item button{
    width:100%;
    background:none;
    border:none;
    text-align:left;
    padding:35px 0;
    font-size:28px;
    cursor:pointer;
    font-family:inherit;
}

.faq-content{
    display:none;
    max-height:0;
    overflow:hidden;
    padding-bottom:30px;
    color:#666;
    font-size:18px;
    line-height:1.8;
    transition:.4s;
}

.faq-item.active .faq-content{
    display:block;
    max-height:200px;
    padding-bottom:30px;
}

/* =====================================================
   FAQ
===================================================== */

.product-faq {
    max-width: 980px;
    margin: 120px auto 150px;
    padding: 0 48px;
}

.faq-heading {
    max-width: 620px;
    margin: 0 auto 82px;
    text-align: center;
}

.faq-heading span {
    display: block;
    margin-bottom: 58px;
    font-size: 11px;
    letter-spacing: .45em;
    color: #b7aa99;
}

.faq-heading h2 {
    max-width: 560px;
    margin: 0 auto;
    font-size: clamp(42px, 3.8vw, 58px);
    line-height: 1.05;
    font-weight: 400;
    letter-spacing: -.02em;
}

.faq-heading p {
    max-width: 420px;
    margin: 34px auto 0;
    font-size: 16px;
    line-height: 1.8;
    color: #746d66;
}

.faq-list {
    max-width: 760px;
    margin: 0 auto;
    padding-top: 0;
}

.faq-item {
    border-bottom: 1px solid #ded6cc;
}

.faq-item:first-child {
    border-top: 1px solid #ded6cc;
}

.faq-item button {
    width: 100%;
    padding: 26px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;

    background: none;
    border: none;
    text-align: left;
    cursor: pointer;

    font-family: inherit;
    font-size: 21px;
    line-height: 1.35;
    font-weight: 500;
    letter-spacing: -.01em;
    color: #2b2724;
}

.faq-item button::after {
    content: "+";
    margin-left: 40px;
    font-size: 20px;
    font-weight: 300;
    color: #9f9386;
    transition: transform .3s ease;
}

.faq-item.active button::after {
    content: "–";
}

.faq-content {
    display: none;
    padding: 0 0 30px;
    max-width: 560px;
}

.faq-content p {
    margin: 0;
    font-size: 16px;
    line-height: 1.8;
    color: #746d66;
}

.faq-item.active .faq-content {
    display: block;
}

/* Size Table */

.size-table-section{
    max-width:1200px;
    margin:180px auto;
}

.size-header{
    text-align:center;
    margin-bottom:70px;
}

.size-header span{
    display:block;
    margin-bottom:20px;
    letter-spacing:.2em;
}

.size-header h2{
    font-size:72px;
    font-weight:400;
}

.size-table{
    width:60%;
    margin:0 auto;
    border-collapse:collapse;
}

.size-table thead th{
    text-align:center;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.15em;
    font-weight:400;
    color:#777;
    padding-bottom:25px;
    border-bottom:1px solid #ddd;
}

.size-table td{
    text-align:center;
    padding:30px 0;
    border-bottom:1px solid #ece8e1;
    font-size:18px;
}

.size-table tbody tr{
    transition:.3s;
}

.size-table tbody tr:hover{
    background:#faf8f4;
}

/* =====================================================
   DELIVERY / RETURNS
===================================================== */

.delivery-section {
    max-width: 1380px;
    margin: 140px auto 170px;
    padding: 0 48px;
}

.delivery-header {
    max-width: 680px;
    margin: 0 auto 92px;
    text-align: center;
}

.delivery-header span {
    display: block;
    margin-bottom: 58px;
    font-size: 11px;
    letter-spacing: .45em;
    color: #b7aa99;
}

.delivery-header h2 {
    margin: 0;
    font-size: clamp(48px, 4vw, 68px);
    line-height: 1.05;
    font-weight: 400;
    letter-spacing: -.025em;
    color: #2b2724;
}

.delivery-header p {
    max-width: 420px;
    margin: 34px auto 0;
    font-size: 16px;
    line-height: 1.8;
    color: #746d66;
}

.delivery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 34px;
    text-align: center;
}

.delivery-card {
    padding-top: 30px;
    border-top: 1px solid #ded6cc;
}

.delivery-card-number {
    display: block;
    margin-bottom: 42px;
    font-size: 10px;
    letter-spacing: .35em;
    color: #b7aa99;
}

.delivery-card h3 {
    margin: 0 0 18px;
    font-size: 24px;
    line-height: 1.25;
    font-weight: 400;
    letter-spacing: -.01em;
    color: #2b2724;
}

.delivery-card p {
    max-width: 260px;
    margin: 0 auto;
    font-size: 16px;
    line-height: 1.7;
    color: #746d66;
}

.delivery-payment-text {
    display: block;
    margin-top: 28px;
    font-size: 12px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #8d8277;
}
/* =====================================================
   02. EDITORIAL INTRO
===================================================== */

.product-editorial-intro{

    padding:180px 0;

}

.editorial-container{

    max-width:1600px;
    margin:auto;

    display:grid;
    grid-template-columns:1fr 1fr;

    column-gap:140px;

}

.editorial-number{

    grid-column:1/-1;

    text-align:center;

    margin-bottom:60px;

}

.editorial-number span{

    font-size:12px;

    letter-spacing:.35em;

    text-transform:uppercase;

    color:#b7aa96;

}

.editorial-heading h2{

    font-family:var(--font-heading);

    font-size:clamp(72px,7vw,120px);

    line-height:.92;

    font-weight:400;

    letter-spacing:-.03em;

    margin:0;

}

.editorial-content{

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

}

.editorial-content p{

    font-size:34px;

    line-height:1.75;

    color:#59514d;

    max-width:520px;

}

.editorial-link{

    margin-top:50px;

    display:inline-block;

    text-transform:uppercase;

    letter-spacing:.15em;

    font-size:12px;

}

/* mniejszy odstęp między kolejnymi sekcjami produktu */
.single-product-page section + section {
    margin-top: 80px;
}

/* jeżeli sekcje mają duże paddingi góra/dół */
.product-story,
.product-styling,
.product-benefits,
.product-care,
.product-sizechart,
.product-faq,
.product-complements,
.product-delivery {
    padding-top: 80px;
    padding-bottom: 80px;
}

/* COMPLETE LOOK - final polish */

.complete-look {
    max-width: 1580px;
    margin: 140px auto 170px;
    padding: 0 40px;
}

.complete-look-header {
    max-width: 720px;
    margin: 0 auto 90px;
    text-align: center;
}

.complete-look-header span {
    display: block;
    margin-bottom: 54px;
    font-size: 11px;
    letter-spacing: .45em;
    color: #b7aa99;
}

.complete-look-header h2 {
    margin: 0;
    font-size: clamp(48px, 4vw, 68px);
    line-height: 1.05;
    font-weight: 400;
    letter-spacing: -.025em;
}

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

.complete-look-card {
    display: block;
    color: #2b2724;
    text-decoration: none;
}

.complete-look-card img {
    width: 100%;
    display: block;
    aspect-ratio: 6 / 7;
    object-fit: cover;
    object-position: center top;
    transition: transform .7s ease, opacity .7s ease;
}

.complete-look-card:hover img {
    transform: scale(1.012);
}

.complete-look-card h3 {
    margin: 24px 0 7px;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 400;
    color: #2b2724;
    text-decoration: none;
}

.complete-look-card .price {
    margin: 0;
    font-size: 15px;
    line-height: 1.4;
    color: #746d66;
}

.complete-look-card .price,
.complete-look-card .price span,
.complete-look-card .price bdi {
    color: #746d66;
    text-decoration: none;
}

/* =====================================================
   STICKY CART - FINAL DESKTOP FORM
===================================================== */

.sticky-cart {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;

    width: 100%;
    max-width: none;

    background: rgba(248, 244, 239, .97);
    border-top: 1px solid #ded6cc;
    backdrop-filter: blur(12px);

    transform: translateY(100%);
    transition: transform .35s ease;

    overflow: hidden;
}

.sticky-cart.show {
    transform: translateY(0);
}

.sticky-cart-inner {
    grid-template-columns: 300px minmax(0, 1fr) auto;
}

.sticky-cart-product {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
}

.sticky-cart-thumb {
    width: 52px;
    height: 52px;
    overflow: hidden;
}

.sticky-cart-image {
    width: 58px;
    height: 58px;
    display: block;
    object-fit: cover;
    flex: 0 0 58px;
}

.sticky-cart-info {
    min-width: 0;
}

.sticky-cart-title {
    margin: 0 0 5px;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 400;
    color: #2b2724;
}

.sticky-cart-price {
    margin: 0;
    font-size: 14px;
    line-height: 1.2;
    color: #746d66;
}

.sticky-cart-price span,
.sticky-cart-price bdi {
    color: #746d66;
}

.sticky-cart-options {
    display: grid;
    grid-template-columns: minmax(220px, .85fr) minmax(320px, 1.15fr);
    gap: 34px;
    align-items: center;
}

.sticky-cart-field > span {
    display: block;
    margin-bottom: 10px;
    font-size: 10px;
    line-height: 1;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: #8d8277;
}

.sticky-color-buttons {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sticky-color-buttons .color-swatch {
    width: 22px;
    height: 22px;
    min-width: 22px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid rgba(43, 39, 36, .16);
    cursor: pointer;
}

.sticky-color-buttons .color-swatch.active {
    box-shadow:
        0 0 0 3px #f8f4ef,
        0 0 0 4px #1f1f1f;
}

.sticky-size-buttons {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.sticky-size-buttons .variation-button {
    min-width: 44px;
    height: 38px;
    padding: 0 15px;
    background: transparent;
    border: 1px solid #d8d3ce;

    font-family: inherit;
    font-size: 10px;
    font-weight: 400;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #2b2724;

    cursor: pointer;
    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease;
}

.sticky-size-buttons .variation-button:hover {
    border-color: #2b2724;
}

.sticky-size-buttons .variation-button.active {
    background: #1f1f1f;
    border-color: #1f1f1f;
    color: #fff;
}

.sticky-cart-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

.sticky-cart-quantity {
    height: 52px;
    display: inline-flex;
    align-items: center;
    border: 1.5px solid #8f8881;
    background: transparent;
}

.sticky-cart-quantity button {
    width: 42px;
    height: 50px;
    padding: 0;
    background: transparent;
    border: none;

    font-family: inherit;
    font-size: 18px;
    font-weight: 300;
    color: #2b2724;

    cursor: pointer;
}

.sticky-cart-quantity input {
    width: 42px;
    height: 50px;
    padding: 0;
    border: none;
    background: transparent;

    text-align: center;
    font-family: inherit;
    font-size: 15px;
    color: #2b2724;

    -moz-appearance: textfield;
}

.sticky-cart-quantity input::-webkit-outer-spin-button,
.sticky-cart-quantity input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.sticky-cart-button {
    width: 260px;
    min-width: 260px;
    height: 52px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: transparent;
    color: #2b2b2b;
    border: 1.5px solid #8f8881;

    font-family: inherit;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .18em;
    text-transform: uppercase;

    cursor: pointer;
    transition:
        background .35s ease,
        color .35s ease,
        border-color .35s ease,
        transform .35s ease,
        opacity .35s ease;
}

.sticky-cart-button:hover {
    background: #1f1f1f;
    color: #fff;
    border-color: #1f1f1f;
    transform: translateY(-1px);
}

.sticky-cart-button.is-disabled {
    opacity: .45;
}

body {
    padding-bottom: 98px;
}

/* =====================================================
   STICKY CART - COMPACT FIX
===================================================== */

.sticky-cart {
    overflow: hidden;
}

.sticky-cart-inner {
    max-width: 1680px;
    min-height: 78px;
    padding: 10px 40px;

    display: grid;
    grid-template-columns: 230px minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
}

.sticky-cart-product {
    gap: 14px;
}

.sticky-cart-image {
    width: 52px;
    height: 52px;
    display: block;
    object-fit: cover;
}

.sticky-cart-title {
    font-size: 16px;
    margin-bottom: 4px;
}

.sticky-cart-price {
    font-size: 13px;
}

.sticky-cart-options {
    display: flex;
    align-items: center;
    gap: 28px;
    min-width: 0;
}

.sticky-cart-field {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.sticky-cart-field > span {
    margin: 0;
    font-size: 10px;
    letter-spacing: .22em;
    text-transform: uppercase;
    white-space: nowrap;
    color: #8d8277;
}

.sticky-color-buttons {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: nowrap;
}

.sticky-color-buttons .color-swatch {
    width: 20px;
    height: 20px;
    min-width: 20px;
}

.sticky-size-buttons {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
    min-width: 0;
}

.sticky-size-buttons .variation-button {
    height: 32px;
    min-width: 38px;
    padding: 0 11px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    font-size: 9px;
    line-height: 1;
    letter-spacing: .1em;
    white-space: nowrap;
}

.sticky-size-buttons .variation-button[data-value="oversize"],
.sticky-size-buttons .variation-button[data-value="onesize"] {
    min-width: 78px;
}

.sticky-cart-actions {
    gap: 12px;
    flex-shrink: 0;
}

.sticky-cart-quantity {
    height: 48px;
}

.sticky-cart-quantity button {
    width: 38px;
    height: 46px;
}

.sticky-cart-quantity input {
    width: 38px;
    height: 46px;
}

.sticky-cart-button {
    width: 240px;
    min-width: 240px;
    height: 48px;
}

/* Sticky cart image from gallery */

.sticky-cart-product {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
}

.sticky-cart-thumb {
    width: 52px;
    height: 52px;
    overflow: hidden;
    background: rgba(222, 214, 204, .35);
}

.sticky-cart-thumb img,
.sticky-cart-image {
    width: 52px;
    height: 52px;
    display: block;
    object-fit: cover;
}

/* Sticky cart text cleanup */

.sticky-cart-title {
    margin: 0 0 5px;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 400;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sticky-cart-price {
    margin: 0;
    font-size: 13px;
    line-height: 1.2;
    color: #746d66;
}

.sticky-cart-info {
    min-width: 0;
}

/* =====================================================
   PREMIUM CATEGORY PAGE
===================================================== */

.category-premium {
    max-width: 1800px;
    margin: 120px auto 0;
    padding: 0 48px 80px;
}

.category-hero-editorial {
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    min-height: 620px;
    background: #f8f3ed;
}

.category-hero-content {
    padding: 140px 80px 70px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.category-section-number {
    display: block;
    margin-bottom: 42px;
    font-size: 11px;
    letter-spacing: .32em;
    color: #a99b8d;
}

.category-hero-content h1 {
    margin: 0;
    font-size: 58px;
    line-height: .95;
    font-weight: 400;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #2b2724;
}

.category-hero-line {
    width: 56px;
    height: 1px;
    margin: 38px 0 46px;
    background: #2b2724;
}

.category-hero-content p {
    margin: 0 0 64px;
    max-width: 260px;
    font-size: 22px;
    line-height: 1.55;
    color: #4f4943;
}

.category-hero-link {
    margin-top: 0;
    display: inline-flex;
    align-items: center;
    gap: 20px;

    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #2b2724;
    text-decoration: none;
    border-bottom: 1px solid #2b2724;
    padding-bottom: 7px;
}

.category-hero-image {
    min-height: 620px;
}

.category-hero-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}


/* toolbar */

.category-toolbar-premium {
    height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.category-filter-button {
    background: transparent;
    border: none;
    padding: 0;

    display: inline-flex;
    align-items: center;
    gap: 16px;

    font-family: inherit;
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #2b2724;

    cursor: pointer;
}

.category-toolbar-right {
    display: flex;
    align-items: center;
    gap: 28px;
}

.category-toolbar-right .woocommerce-ordering {
    margin: 0;
}

.category-toolbar-right select {
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #2b2724;
}

.category-view-icons {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 15px;
    color: #2b2724;
}


/* product grids */

.category-product-grid {
    display: grid;
    gap: 34px;
    margin-bottom: 72px;
}

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

.category-product-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

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

.category-product-grid .product-card,
.category-product-grid li.product {
    list-style: none;
    margin: 0;
    width: 100%;
}

.category-product-grid a {
    color: inherit;
    text-decoration: none;
}

.category-product-grid img {
    width: 100%;
    display: block;
    object-fit: cover;
}

.category-product-grid--featured img {
    aspect-ratio: 1.22 / 1;
}

.category-product-grid--three img,
.category-product-grid--four img {
    aspect-ratio: 1 / 1.18;
}

.category-product-grid .woocommerce-loop-product__title,
.category-product-grid .product-card-title,
.category-product-grid h2,
.category-product-grid h3 {
    margin: 18px 0 6px;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #2b2724;
}

.category-product-grid .price,
.category-product-grid .product-card-price {
    font-size: 12px;
    color: #2b2724;
}


/* swetry wide banner */

.category-wide-banner {
    margin: 72px 0;
    min-height: 260px;
    display: grid;
    grid-template-columns: 1.45fr .55fr;
    background: #f1e9df;
}

.category-wide-banner-image img {
    width: 100%;
    height: 100%;
    min-height: 260px;
    display: block;
    object-fit: cover;
}

.category-wide-banner-content {
    padding: 64px 76px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.category-wide-banner-content h2 {
    margin: 0 0 10px;
    font-size: 24px;
    line-height: 1.35;
    font-weight: 400;
    color: #2b2724;
}

.category-wide-banner-content p {
    margin: 0 0 38px;
    font-size: 21px;
    line-height: 1.45;
    color: #4f4943;
}

.category-wide-banner-content a {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    align-self: flex-start;

    font-size: 10px;
    letter-spacing: .18em;
    text-transform: uppercase;
    text-decoration: none;
    color: #2b2724;
    border-bottom: 1px solid #2b2724;
    padding-bottom: 6px;
}


/* split story banner */

.category-split-banner {
    margin: 72px 0;
    display: grid;
    grid-template-columns: .95fr 1.45fr;
    min-height: 300px;
    background: #f4eee7;
}

.category-split-content {
    padding: 78px 92px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.category-split-content span {
    display: block;
    margin-bottom: 34px;
    font-size: 11px;
    letter-spacing: .26em;
    color: #a99b8d;
}

.category-split-content h2 {
    margin: 0 0 28px;
    font-size: 36px;
    line-height: 1.18;
    font-weight: 400;
    color: #2b2724;
}

.category-split-content p {
    margin: 0 0 34px;
    max-width: 280px;
    font-size: 18px;
    line-height: 1.6;
    color: #5c554f;
}

.category-split-content a {
    display: inline-flex;
    align-self: flex-start;
    color: #2b2724;
    text-decoration: none;
}

.category-split-image img {
    width: 100%;
    height: 100%;
    min-height: 300px;
    display: block;
    object-fit: cover;
}


/* koszule top material story */

.category-wide-story {
    margin-top: 28px;
    display: grid;
    grid-template-columns: 1.55fr .7fr;
    min-height: 330px;
    background: #f4eee7;
}

.category-wide-story-image img {
    width: 100%;
    height: 100%;
    min-height: 330px;
    display: block;
    object-fit: cover;
}

.category-wide-story-content {
    padding: 78px 72px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.category-wide-story-content span {
    display: block;
    margin-bottom: 32px;
    font-size: 11px;
    letter-spacing: .26em;
    color: #a99b8d;
}

.category-wide-story-content h2 {
    margin: 0 0 28px;
    font-size: 34px;
    line-height: 1.18;
    font-weight: 400;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #2b2724;
}

.category-wide-story-content p {
    margin: 0 0 36px;
    max-width: 260px;
    font-size: 18px;
    line-height: 1.6;
    color: #5c554f;
}

.category-wide-story-content a {
    color: #2b2724;
    text-decoration: none;
}


/* bottom benefits */

.category-benefit-bar {
    margin-top: 72px;
    min-height: 58px;
    border: 1px solid #ded6cc;

    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: center;

    font-size: 10px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #2b2724;
}

.category-benefit-bar div,
.category-benefit-bar a {
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.category-benefit-bar a {
    gap: 20px;
    color: #2b2724;
    text-decoration: none;
}

.category-pagination {
    margin-top: 60px;
    text-align: center;
}

.category-empty {
    padding: 120px 0;
    text-align: center;
}

/* =====================================================
   CATEGORY GRID FIX — unified 2-column editorial product cards
   cena | kolory | rozmiary
===================================================== */

.category-product-grid,
.category-product-grid--featured,
.category-product-grid--three,
.category-product-grid--four {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 64px 34px !important;
}

.category-product-grid .product-card,
.category-product-grid--featured .product-card,
.category-product-grid--three .product-card,
.category-product-grid--four .product-card {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.category-product-grid .product-card-link,
.category-product-grid--featured .product-card-link,
.category-product-grid--three .product-card-link,
.category-product-grid--four .product-card-link {
    display: block !important;
    color: inherit !important;
    text-decoration: none !important;
}

.category-product-grid .product-image,
.category-product-grid--featured .product-image,
.category-product-grid--three .product-image,
.category-product-grid--four .product-image {
    width: 100% !important;
    aspect-ratio: 4 / 5 !important;
    overflow: hidden !important;
    background: #f3eee8 !important;
}

.category-product-grid .product-image img,
.category-product-grid--featured .product-image img,
.category-product-grid--three .product-image img,
.category-product-grid--four .product-image img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
}

.category-product-grid .product-info,
.category-product-grid--featured .product-info,
.category-product-grid--three .product-info,
.category-product-grid--four .product-info {
    display: grid !important;
    grid-template-columns: max-content max-content max-content !important;
    column-gap: 14px !important;
    row-gap: 9px !important;
    align-items: center !important;
    padding-top: 22px !important;
}

.category-product-grid .product-info h3,
.category-product-grid--featured .product-info h3,
.category-product-grid--three .product-info h3,
.category-product-grid--four .product-info h3 {
    grid-column: 1 / -1 !important;
    margin: 0 0 2px !important;

    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color: #2b2724 !important;
}

.category-product-grid .price,
.category-product-grid--featured .price,
.category-product-grid--three .price,
.category-product-grid--four .price {
    grid-column: 1 !important;
    grid-row: 2 !important;

    display: block !important;
    margin: 0 !important;

    font-size: 12px !important;
    line-height: 1 !important;
    color: #2b2724 !important;
    white-space: nowrap !important;
}

.category-product-grid .product-card-colors,
.category-product-grid--featured .product-card-colors,
.category-product-grid--three .product-card-colors,
.category-product-grid--four .product-card-colors {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 0 0 0 12px !important; /* odsunięcie od ceny */
}

.category-product-grid .product-card-color,
.category-product-grid--featured .product-card-color,
.category-product-grid--three .product-card-color,
.category-product-grid--four .product-card-color {
    width: 13px !important;
    height: 13px !important;
    flex: 0 0 13px !important;
    display: block !important;
    border-radius: 999px !important;
    background: var(--swatch-color) !important;
    border: 1px solid rgba(43, 39, 36, .18) !important;
}

.category-product-grid .product-card-sizes,
.category-product-grid--featured .product-card-sizes,
.category-product-grid--three .product-card-sizes,
.category-product-grid--four .product-card-sizes {
    grid-column: 3 !important;
    grid-row: 2 !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 0 0 6px !important; /* lekkie odsunięcie od kolorów */
    padding: 0 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color: #7b736b !important;
    white-space: nowrap !important;
}

.category-product-grid .product-card-sizes::before,
.category-product-grid--featured .product-card-sizes::before,
.category-product-grid--three .product-card-sizes::before,
.category-product-grid--four .product-card-sizes::before {
    content: "";
    display: block;
    width: 1px;
    height: 12px;
    background: #d8d0c6;
    margin: 0 9px 0 2px;
}

/* mobile */
@media (max-width: 768px) {
    .category-product-grid,
    .category-product-grid--featured,
    .category-product-grid--three,
    .category-product-grid--four {
        grid-template-columns: 1fr !important;
        gap: 48px !important;
    }

    .category-product-grid .product-info,
    .category-product-grid--featured .product-info,
    .category-product-grid--three .product-info,
    .category-product-grid--four .product-info {
        grid-template-columns: 1fr !important;
        row-gap: 8px !important;
    }

    .category-product-grid .product-info h3,
    .category-product-grid .price,
    .category-product-grid .product-card-colors,
    .category-product-grid .product-card-sizes,
    .category-product-grid--featured .product-info h3,
    .category-product-grid--featured .price,
    .category-product-grid--featured .product-card-colors,
    .category-product-grid--featured .product-card-sizes,
    .category-product-grid--three .product-info h3,
    .category-product-grid--three .price,
    .category-product-grid--three .product-card-colors,
    .category-product-grid--three .product-card-sizes,
    .category-product-grid--four .product-info h3,
    .category-product-grid--four .price,
    .category-product-grid--four .product-card-colors,
    .category-product-grid--four .product-card-sizes {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    .category-product-grid .product-card-sizes::before,
    .category-product-grid--featured .product-card-sizes::before,
    .category-product-grid--three .product-card-sizes::before,
    .category-product-grid--four .product-card-sizes::before {
        display: none !important;
    }
}

/* =====================================================
   CATEGORY EDITORIAL SECTIONS — 02 / 03 PREMIUM LOOK
===================================================== */

/* wspólne ustawienie sekcji 02 i 03 */
body .category-premium .category-wide-story,
body .category-premium .category-split-banner {
    width: calc(100% - 120px) !important;
    max-width: 1720px !important;
    margin-left: auto !important;
    margin-right: auto !important;

    display: grid !important;
    grid-template-columns: 1.1fr .9fr !important;
    align-items: stretch !important;

    background: #f4efe8 !important;
    min-height: 560px !important;
}

/* 02 — zdjęcie po lewej, tekst po prawej */
body .category-premium .category-wide-story {
    grid-template-columns: 1.15fr .85fr !important;
}

/* 03 — tekst po lewej, zdjęcie po prawej */
body .category-premium .category-split-banner {
    grid-template-columns: .85fr 1.15fr !important;
}

/* obrazy w 02 / 03 */
body .category-premium .category-wide-story-image,
body .category-premium .category-split-image {
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}

body .category-premium .category-wide-story-image img,
body .category-premium .category-split-image img {
    width: 100% !important;
    height: 100% !important;
    min-height: 560px !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* treść 02 / 03 */
body .category-premium .category-wide-story-content,
body .category-premium .category-split-content {
    min-height: 560px !important;
    padding: 82px 76px !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
}

/* numer 02 / 03 */
body .category-premium .category-wide-story-content span,
body .category-premium .category-split-content span {
    display: block !important;
    margin-bottom: 46px !important;

    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: .18em !important;
    color: #8a8178 !important;
}

/* nagłówki 02 / 03 */
body .category-premium .category-wide-story-content h2,
body .category-premium .category-split-content h2 {
    max-width: 520px !important;
    margin: 0 0 28px !important;

    font-size: clamp(34px, 3.2vw, 58px) !important;
    line-height: .98 !important;
    font-weight: 400 !important;
    letter-spacing: -.03em !important;
    color: #2b2724 !important;
}

/* tekst 02 / 03 */
body .category-premium .category-wide-story-content p,
body .category-premium .category-split-content p {
    max-width: 360px !important;
    margin: 0 0 44px !important;

    font-size: 14px !important;
    line-height: 1.8 !important;
    font-weight: 300 !important;
    color: #625a52 !important;
}

/* strzałka / link 02 / 03 */
body .category-premium .category-wide-story-content a,
body .category-premium .category-split-content a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 42px !important;
    height: 42px !important;

    border: 1px solid rgba(43, 39, 36, .22) !important;
    border-radius: 999px !important;

    color: #2b2724 !important;
    text-decoration: none !important;
    font-size: 18px !important;
    line-height: 1 !important;

    transition: transform .35s ease, border-color .35s ease !important;
}

body .category-premium .category-wide-story-content a:hover,
body .category-premium .category-split-content a:hover {
    transform: translateX(4px) !important;
    border-color: rgba(43, 39, 36, .55) !important;
}

/* mobile */
@media (max-width: 768px) {
    body .category-premium .category-wide-story,
    body .category-premium .category-split-banner {
        width: calc(100% - 32px) !important;
        grid-template-columns: 1fr !important;
        min-height: auto !important;
    }

    body .category-premium .category-wide-story-image img,
    body .category-premium .category-split-image img {
        min-height: 420px !important;
    }

    body .category-premium .category-wide-story-content,
    body .category-premium .category-split-content {
        min-height: auto !important;
        padding: 48px 28px 54px !important;
    }

    body .category-premium .category-wide-story-content span,
    body .category-premium .category-split-content span {
        margin-bottom: 34px !important;
    }

    body .category-premium .category-wide-story-content h2,
    body .category-premium .category-split-content h2 {
        font-size: 36px !important;
    }
}

/* PRODUCT — sekcja "Dlaczego go pokochasz" większa */

@media (min-width: 769px) {

    .swiat-product-love,
    .product-love,
    .product-why,
    .swiat-product-section-love {
        padding-top: 120px !important;
        padding-bottom: 120px !important;
    }

    .swiat-product-love span,
    .product-love span,
    .product-why span,
    .swiat-product-section-love span {
        font-size: 14px !important;
        letter-spacing: .32em !important;
        margin-bottom: 46px !important;
        display: block !important;
    }

    .swiat-product-love h2,
    .product-love h2,
    .product-why h2,
    .swiat-product-section-love h2 {
        font-size: clamp(46px, 3.4vw, 68px) !important;
        line-height: 1.05 !important;
        margin-bottom: 34px !important;
    }

    .swiat-product-love p,
    .product-love p,
    .product-why p,
    .swiat-product-section-love p {
        max-width: 720px !important;
        font-size: 21px !important;
        line-height: 1.85 !important;
    }
}

/* =====================================================
   MOBILE PRODUCT — RECOMMENDED PRODUCTS IMAGE FIX
===================================================== */

@media screen and (max-width: 768px) {

    body.single-product .related,
    body.single-product .upsells,
    body.single-product .cross-sells,
    body.single-product .product-recommendations,
    body.single-product .recommended-products {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
        overflow: hidden !important;
    }

    body.single-product .related ul.products,
    body.single-product .upsells ul.products,
    body.single-product .cross-sells ul.products,
    body.single-product .product-recommendations .products,
    body.single-product .recommended-products .products {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 42px !important;

        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.single-product .related ul.products li.product,
    body.single-product .upsells ul.products li.product,
    body.single-product .cross-sells ul.products li.product,
    body.single-product .product-recommendations .product,
    body.single-product .recommended-products .product {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.single-product .related ul.products li.product a,
    body.single-product .upsells ul.products li.product a,
    body.single-product .cross-sells ul.products li.product a {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.single-product .related ul.products li.product img,
    body.single-product .upsells ul.products li.product img,
    body.single-product .cross-sells ul.products li.product img,
    body.single-product .product-recommendations img,
    body.single-product .recommended-products img {
        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        aspect-ratio: 4 / 5 !important;

        object-fit: cover !important;
        object-position: center top !important;

        display: block !important;
        margin: 0 0 22px !important;
    }

    body.single-product .related .woocommerce-loop-product__title,
    body.single-product .upsells .woocommerce-loop-product__title,
    body.single-product .cross-sells .woocommerce-loop-product__title {
        font-size: 24px !important;
        line-height: 1.18 !important;
        margin: 0 0 10px !important;
        text-align: left !important;
    }

    body.single-product .related .price,
    body.single-product .upsells .price,
    body.single-product .cross-sells .price {
        font-size: 17px !important;
        line-height: 1.4 !important;
        text-align: left !important;
    }
}

/* =====================================================
   MOBILE — FAQ PRODUKTU JEDNA KOLUMNA
===================================================== */

@media screen and (max-width: 768px) {

    body.single-product .product-faq {
        display: block !important;
        width: auto !important;
        max-width: none !important;
        margin: 120px 40px !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.single-product .product-faq .faq-heading {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 48px !important;
        padding: 0 !important;
        text-align: center !important;
    }

    body.single-product .product-faq .faq-heading span {
        display: block !important;
        margin-bottom: 24px !important;
        font-size: 12px !important;
        letter-spacing: .28em !important;
        color: #b8ac9d !important;
    }

    body.single-product .product-faq .faq-heading h2 {
        max-width: 100% !important;
        margin: 0 auto !important;
        font-size: clamp(42px, 13vw, 64px) !important;
        line-height: 1.02 !important;
        text-align: center !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    body.single-product .product-faq .faq-list {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        position: static !important;
        transform: none !important;
        left: auto !important;
        right: auto !important;
    }

    body.single-product .product-faq .faq-item {
        width: 100% !important;
        max-width: 100% !important;
        border-bottom: 1px solid #ddd7d0 !important;
    }

    body.single-product .product-faq .faq-item button {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 24px !important;
        padding: 26px 0 !important;
        font-size: 28px !important;
        line-height: 1.18 !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    body.single-product .product-faq .faq-content {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        font-size: 18px !important;
        line-height: 1.75 !important;
    }

    body.single-product .product-faq .faq-content p {
        margin: 0 !important;
        max-width: 100% !important;
    }
}

/* =========================================================
   PRODUCT — add to cart notice premium style
========================================================= */

.single-product-page .swiat-product-notices {
    width: 100%;
    max-width: 1480px;
    margin: 0 auto 42px;
    padding: 42px 48px 0;
    box-sizing: border-box;
}

.single-product-page .swiat-product-notices .woocommerce-message {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #2d2926 !important;
    box-shadow: none !important;
    outline: none !important;
    border-radius: 0 !important;
}

.single-product-page .swiat-product-notices .woocommerce-message:focus,
.single-product-page .swiat-product-notices .woocommerce-message:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.single-product-page .swiat-product-notices .woocommerce-message::before {
    display: none !important;
}

.swiat-cart-success {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    width: 100%;
    padding: 26px 30px;
    background: #eee7dd;
    border: 1px solid rgba(45, 41, 38, 0.16);
    box-sizing: border-box;
}

.swiat-cart-success__content {
    display: grid;
    gap: 6px;
}

.swiat-cart-success__content strong {
    display: block;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 500;
    color: #2d2926;
}

.swiat-cart-success__content span {
    display: block;
    font-size: 14px;
    line-height: 1.45;
    color: rgba(45, 41, 38, 0.72);
}

.swiat-cart-success__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.swiat-cart-success__actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 20px;
    border: 1px solid rgba(45, 41, 38, 0.28);
    color: #2d2926 !important;
    background: transparent;
    text-decoration: none !important;
    font-size: 11px;
    line-height: 1;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.swiat-cart-success__actions a:last-child {
    background: #2d2926;
    border-color: #2d2926;
    color: #fff !important;
}

.swiat-cart-success__actions a:hover {
    background: #2d2926;
    border-color: #2d2926;
    color: #fff !important;
}


/* Mobile */

@media (max-width: 767px) {

    .single-product-page .swiat-product-notices {
        margin-bottom: 28px;
        padding: 24px 18px 0;
    }

    .swiat-cart-success {
        display: grid;
        gap: 22px;
        padding: 22px 20px;
    }

    .swiat-cart-success__content strong {
        font-size: 16px;
    }

    .swiat-cart-success__content span {
        font-size: 13px;
    }

    .swiat-cart-success__actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        width: 100%;
    }

    .swiat-cart-success__actions a {
        width: 100%;
        min-height: 46px;
        box-sizing: border-box;
    }
}

/* =========================================================
   PRODUCT — all WooCommerce notices final override
========================================================= */

html body .single-product-page .swiat-product-notices {
    width: 100% !important;
    max-width: 1480px !important;
    margin: 0 auto 42px !important;
    padding: 42px 48px 0 !important;
    box-sizing: border-box !important;
}

html body .single-product-page .swiat-product-notices .woocommerce-message,
html body .single-product-page .swiat-product-notices .woocommerce-info,
html body .single-product-page .swiat-product-notices .woocommerce-error {
    margin: 0 !important;
    padding: 24px 28px !important;
    border: 1px solid rgba(45, 41, 38, 0.16) !important;
    background: #eee7dd !important;
    color: #2d2926 !important;
    box-shadow: none !important;
    outline: none !important;
    border-radius: 0 !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    list-style: none !important;
}

html body .single-product-page .swiat-product-notices .woocommerce-message:focus,
html body .single-product-page .swiat-product-notices .woocommerce-info:focus,
html body .single-product-page .swiat-product-notices .woocommerce-error:focus,
html body .single-product-page .swiat-product-notices .woocommerce-message:focus-visible,
html body .single-product-page .swiat-product-notices .woocommerce-info:focus-visible,
html body .single-product-page .swiat-product-notices .woocommerce-error:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

html body .single-product-page .swiat-product-notices .woocommerce-message::before,
html body .single-product-page .swiat-product-notices .woocommerce-info::before,
html body .single-product-page .swiat-product-notices .woocommerce-error::before {
    display: none !important;
}

html body .single-product-page .swiat-product-notices a {
    color: #2d2926 !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(45, 41, 38, 0.35) !important;
}

html body .single-product-page .swiat-product-notices a:hover {
    border-bottom-color: #2d2926 !important;
}


/* custom add to cart box */

html body .single-product-page .swiat-product-notices .swiat-cart-success {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 32px !important;
    width: 100% !important;
    padding: 26px 30px !important;
    background: #eee7dd !important;
    border: 1px solid rgba(45, 41, 38, 0.16) !important;
    box-sizing: border-box !important;
}

html body .single-product-page .swiat-cart-success__content {
    display: grid !important;
    gap: 6px !important;
}

html body .single-product-page .swiat-cart-success__content strong {
    display: block !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    color: #2d2926 !important;
}

html body .single-product-page .swiat-cart-success__content span {
    display: block !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: rgba(45, 41, 38, 0.72) !important;
}

html body .single-product-page .swiat-cart-success__actions {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-shrink: 0 !important;
}

html body .single-product-page .swiat-cart-success__actions a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 0 20px !important;
    border: 1px solid rgba(45, 41, 38, 0.28) !important;
    color: #2d2926 !important;
    background: transparent !important;
    text-decoration: none !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

html body .single-product-page .swiat-cart-success__actions a:last-child {
    background: #2d2926 !important;
    border-color: #2d2926 !important;
    color: #fff !important;
}

html body .single-product-page .swiat-cart-success__actions a:hover {
    background: #2d2926 !important;
    border-color: #2d2926 !important;
    color: #fff !important;
}


/* mobile */

@media (max-width: 767px) {

    html body .single-product-page .swiat-product-notices {
        margin-bottom: 28px !important;
        padding: 24px 18px 0 !important;
    }

    html body .single-product-page .swiat-product-notices .woocommerce-message,
    html body .single-product-page .swiat-product-notices .woocommerce-info,
    html body .single-product-page .swiat-product-notices .woocommerce-error {
        padding: 18px !important;
        font-size: 14px !important;
    }

    html body .single-product-page .swiat-product-notices .swiat-cart-success {
        display: grid !important;
        gap: 22px !important;
        padding: 22px 20px !important;
    }

    html body .single-product-page .swiat-cart-success__actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
    }

    html body .single-product-page .swiat-cart-success__actions a {
        width: 100% !important;
        min-height: 46px !important;
        box-sizing: border-box !important;
    }
}

/* =========================================================
   PRODUCT — size guide modal premium tabs
========================================================= */

.single-product-page .size-guide-modal button,
.single-product-page .swiat-size-guide-modal button,
.single-product-page .swiat-size-modal button,
.single-product-page .product-size-modal button,
.single-product-page .size-modal button {
    appearance: none !important;
    -webkit-appearance: none !important;
}


/* przyciski: Tabela rozmiarów / Jak się mierzyć */

.single-product-page .size-guide-tabs button,
.single-product-page .swiat-size-guide-tabs button,
.single-product-page .swiat-size-modal-tabs button,
.single-product-page .product-size-modal-tabs button,
.single-product-page .size-modal-tabs button,
.single-product-page .size-guide-modal button:not(.modal-close):not(.close):not(.mfp-close):not([aria-label="Close"]):not([aria-label="Zamknij"]),
.single-product-page .swiat-size-guide-modal button:not(.modal-close):not(.close):not(.mfp-close):not([aria-label="Close"]):not([aria-label="Zamknij"]) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 42px !important;
    padding: 0 18px !important;
    margin: 0 8px 0 0 !important;

    border: 1px solid rgba(45, 41, 38, 0.22) !important;
    border-radius: 0 !important;

    background: transparent !important;
    color: #2d2926 !important;

    font-family: "Lato", Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;

    cursor: pointer !important;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        opacity 0.25s ease !important;
}


/* hover */

.single-product-page .size-guide-tabs button:hover,
.single-product-page .swiat-size-guide-tabs button:hover,
.single-product-page .swiat-size-modal-tabs button:hover,
.single-product-page .product-size-modal-tabs button:hover,
.single-product-page .size-modal-tabs button:hover,
.single-product-page .size-guide-modal button:not(.modal-close):not(.close):not(.mfp-close):not([aria-label="Close"]):not([aria-label="Zamknij"]):hover,
.single-product-page .swiat-size-guide-modal button:not(.modal-close):not(.close):not(.mfp-close):not([aria-label="Close"]):not([aria-label="Zamknij"]):hover {
    border-color: rgba(45, 41, 38, 0.72) !important;
    background: #2d2926 !important;
    color: #f6f1eb !important;
}


/* aktywny tab */

.single-product-page .size-guide-tabs button.active,
.single-product-page .size-guide-tabs button.is-active,
.single-product-page .size-guide-tabs button[aria-selected="true"],
.single-product-page .swiat-size-guide-tabs button.active,
.single-product-page .swiat-size-guide-tabs button.is-active,
.single-product-page .swiat-size-guide-tabs button[aria-selected="true"],
.single-product-page .swiat-size-modal-tabs button.active,
.single-product-page .swiat-size-modal-tabs button.is-active,
.single-product-page .swiat-size-modal-tabs button[aria-selected="true"],
.single-product-page .product-size-modal-tabs button.active,
.single-product-page .product-size-modal-tabs button.is-active,
.single-product-page .product-size-modal-tabs button[aria-selected="true"],
.single-product-page .size-modal-tabs button.active,
.single-product-page .size-modal-tabs button.is-active,
.single-product-page .size-modal-tabs button[aria-selected="true"] {
    border-color: #2d2926 !important;
    background: #2d2926 !important;
    color: #f6f1eb !important;
}


/* X zamykania — zostawiamy osobno, elegancko */

.single-product-page .size-guide-modal .modal-close,
.single-product-page .size-guide-modal .close,
.single-product-page .swiat-size-guide-modal .modal-close,
.single-product-page .swiat-size-guide-modal .close,
.single-product-page .swiat-size-modal .modal-close,
.single-product-page .swiat-size-modal .close,
.single-product-page .product-size-modal .modal-close,
.single-product-page .product-size-modal .close,
.single-product-page .size-modal .modal-close,
.single-product-page .size-modal .close {
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;

    border: 0 !important;
    background: transparent !important;
    color: #2d2926 !important;

    font-family: "Lato", Arial, sans-serif !important;
    font-size: 28px !important;
    line-height: 1 !important;
    font-weight: 300 !important;

    cursor: pointer !important;
    opacity: 0.85 !important;

    transition: opacity 0.25s ease, transform 0.25s ease !important;
}

.single-product-page .size-guide-modal .modal-close:hover,
.single-product-page .size-guide-modal .close:hover,
.single-product-page .swiat-size-guide-modal .modal-close:hover,
.single-product-page .swiat-size-guide-modal .close:hover,
.single-product-page .swiat-size-modal .modal-close:hover,
.single-product-page .swiat-size-modal .close:hover,
.single-product-page .product-size-modal .modal-close:hover,
.single-product-page .product-size-modal .close:hover,
.single-product-page .size-modal .modal-close:hover,
.single-product-page .size-modal .close:hover {
    opacity: 1 !important;
    transform: rotate(90deg) !important;
}


/* mobile */

@media (max-width: 767px) {
    .single-product-page .size-guide-tabs button,
    .single-product-page .swiat-size-guide-tabs button,
    .single-product-page .swiat-size-modal-tabs button,
    .single-product-page .product-size-modal-tabs button,
    .single-product-page .size-modal-tabs button,
    .single-product-page .size-guide-modal button:not(.modal-close):not(.close):not(.mfp-close):not([aria-label="Close"]):not([aria-label="Zamknij"]),
    .single-product-page .swiat-size-guide-modal button:not(.modal-close):not(.close):not(.mfp-close):not([aria-label="Close"]):not([aria-label="Zamknij"]) {
        min-height: 38px !important;
        padding: 0 14px !important;
        margin-right: 6px !important;

        font-size: 10px !important;
        letter-spacing: 0.11em !important;
    }
}

/* =========================================================
   PRODUCT HERO — final price repair after size modal changes
========================================================= */

.single-product-page .product-price,
.single-product-page [data-swiat-product-price] {
    margin: 0 0 44px !important;
    padding: 0 !important;

    color: #2d2926 !important;

    font-family: "Lato", Arial, sans-serif !important;
    font-size: initial !important;
    line-height: initial !important;
}


/* cały blok ceny */

.single-product-page .product-price .swiat-price-block,
.single-product-page [data-swiat-product-price] .swiat-price-block {
    display: grid !important;
    gap: 14px !important;

    max-width: 680px !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* linia: stara cena / nowa cena / rabat */

.single-product-page .product-price .swiat-price-line,
.single-product-page [data-swiat-product-price] .swiat-price-line {
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 18px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #2d2926 !important;

    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 34px !important;
    line-height: 1.05 !important;
    font-weight: 400 !important;

    text-decoration: none !important;
}


/* stara cena */

.single-product-page .product-price .swiat-price-line del,
.single-product-page [data-swiat-product-price] .swiat-price-line del {
    position: relative !important;

    display: inline-block !important;

    color: rgba(45, 41, 38, 0.42) !important;

    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: 400 !important;

    text-decoration: none !important;
}

.single-product-page .product-price .swiat-price-line del::after,
.single-product-page [data-swiat-product-price] .swiat-price-line del::after {
    content: "" !important;

    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 52% !important;

    height: 1px !important;

    background: rgba(45, 41, 38, 0.5) !important;
}


/* nowa cena */

.single-product-page .product-price .swiat-price-line ins,
.single-product-page [data-swiat-product-price] .swiat-price-line ins {
    display: inline-block !important;

    color: #2d2926 !important;

    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: 500 !important;

    text-decoration: none !important;
    border: 0 !important;
    box-shadow: none !important;
}


/* kwoty WooCommerce */

.single-product-page .product-price .woocommerce-Price-amount,
.single-product-page [data-swiat-product-price] .woocommerce-Price-amount,
.single-product-page .product-price .woocommerce-Price-currencySymbol,
.single-product-page [data-swiat-product-price] .woocommerce-Price-currencySymbol {
    color: inherit !important;

    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;

    text-decoration: none !important;
}


/* rabat -33% */

.single-product-page .product-price .swiat-price-discount,
.single-product-page [data-swiat-product-price] .swiat-price-discount {
    order: 3 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 28px !important;
    padding: 0 12px !important;

    border: 1px solid rgba(132, 96, 82, 0.42) !important;
    background: transparent !important;
    color: #846052 !important;

    font-family: "Lato", Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;

    text-decoration: none !important;
}


/* notka Omnibus */

.single-product-page .product-price .swiat-omnibus-note,
.single-product-page [data-swiat-product-price] .swiat-omnibus-note {
    position: relative !important;

    max-width: 620px !important;

    margin: 4px 0 0 !important;
    padding: 16px 0 0 !important;

    color: rgba(45, 41, 38, 0.58) !important;

    font-family: "Lato", Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 1.7 !important;
    font-weight: 400 !important;
    letter-spacing: 0.045em !important;
    text-transform: none !important;

    text-decoration: none !important;
}

.single-product-page .product-price .swiat-omnibus-note::before,
.single-product-page [data-swiat-product-price] .swiat-omnibus-note::before {
    content: "" !important;

    position: absolute !important;
    left: 0 !important;
    top: 0 !important;

    width: 72px !important;
    height: 1px !important;

    background: rgba(45, 41, 38, 0.18) !important;
}


/* ukrycie domyślnej ceny wariantu przy przycisku */

.single-product-page .single_variation .woocommerce-variation-price,
.single-product-page .single_variation .price,
.single-product-page .woocommerce-variation-price {
    display: none !important;
}


/* mobile */

@media (max-width: 767px) {
    .single-product-page .product-price .swiat-price-line,
    .single-product-page [data-swiat-product-price] .swiat-price-line {
        gap: 12px !important;
        font-size: 28px !important;
    }

    .single-product-page .product-price .swiat-price-discount,
    .single-product-page [data-swiat-product-price] .swiat-price-discount {
        min-height: 26px !important;
        padding: 0 10px !important;

        font-size: 10px !important;
        letter-spacing: 0.12em !important;
    }

    .single-product-page .product-price .swiat-omnibus-note,
    .single-product-page [data-swiat-product-price] .swiat-omnibus-note {
        max-width: 100% !important;

        font-size: 10.5px !important;
        line-height: 1.65 !important;
    }
}

/* =========================================================
   PRODUCT — Story section calmer / smaller
========================================================= */

.single-product .story-section {
    max-width: 1320px !important;
    margin: 150px auto 140px !important;
    padding: 0 48px !important;
}

.single-product .story-heading {
    text-align: left !important;
    margin-bottom: 64px !important;
}

.single-product .story-number {
    margin-bottom: 34px !important;

    font-family: "Lato", Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: 0.32em !important;
    color: rgba(45, 41, 38, 0.34) !important;
}

.single-product .story-heading h2 {
    max-width: 980px !important;
    margin: 0 !important;

    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: clamp(54px, 5vw, 92px) !important;
    line-height: 0.98 !important;
    font-weight: 400 !important;
    letter-spacing: -0.025em !important;

    color: #2d2926 !important;
}

.single-product .story-content {
    max-width: 520px !important;
    margin: 0 8% 72px auto !important;
}

.single-product .story-content p {
    margin: 0 !important;

    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 22px !important;
    line-height: 1.75 !important;
    font-weight: 400 !important;

    color: rgba(45, 41, 38, 0.68) !important;
}

.single-product .story-image {
    max-width: 1180px !important;
    margin: 0 auto !important;
}

.single-product .story-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;

    max-height: 760px !important;
    object-fit: cover !important;
    object-position: center !important;
}


/* tablet */

@media (max-width: 1024px) {
    .single-product .story-section {
        margin: 110px auto 100px !important;
        padding: 0 28px !important;
    }

    .single-product .story-heading {
        margin-bottom: 44px !important;
    }

    .single-product .story-heading h2 {
        max-width: 760px !important;
        font-size: clamp(44px, 7vw, 70px) !important;
    }

    .single-product .story-content {
        max-width: 620px !important;
        margin: 0 0 56px !important;
    }

    .single-product .story-content p {
        font-size: 20px !important;
        line-height: 1.7 !important;
    }
}


/* mobile */

@media (max-width: 767px) {
    .single-product .story-section {
        margin: 80px auto 80px !important;
        padding: 0 20px !important;
    }

    .single-product .story-number {
        margin-bottom: 24px !important;
        font-size: 9px !important;
        letter-spacing: 0.26em !important;
    }

    .single-product .story-heading {
        margin-bottom: 32px !important;
    }

    .single-product .story-heading h2 {
        max-width: 100% !important;
        font-size: clamp(36px, 11vw, 48px) !important;
        line-height: 1.02 !important;
        letter-spacing: -0.02em !important;
    }

    .single-product .story-content {
        max-width: 100% !important;
        margin: 0 0 42px !important;
    }

    .single-product .story-content p {
        font-size: 18px !important;
        line-height: 1.65 !important;
    }

    .single-product .story-image img {
        max-height: none !important;
    }
}

/* =========================================================
   PRODUCT — Story section even smaller / calmer
========================================================= */

.single-product .story-section {
    max-width: 1180px !important;
    margin: 110px auto 110px !important;
    padding: 0 48px !important;
}

.single-product .story-heading {
    margin-bottom: 46px !important;
}

.single-product .story-number {
    margin-bottom: 24px !important;
    font-size: 9px !important;
    letter-spacing: 0.28em !important;
}

.single-product .story-heading h2 {
    max-width: 820px !important;

    font-size: clamp(44px, 4.2vw, 72px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.02em !important;
}

.single-product .story-content {
    max-width: 460px !important;
    margin: 0 10% 56px auto !important;
}

.single-product .story-content p {
    font-size: 19px !important;
    line-height: 1.7 !important;
}

.single-product .story-image {
    max-width: 980px !important;
}

.single-product .story-image img {
    max-height: 620px !important;
    object-fit: cover !important;
    object-position: center !important;
}


/* tablet */

@media (max-width: 1024px) {
    .single-product .story-section {
        max-width: 100% !important;
        margin: 90px auto 90px !important;
        padding: 0 28px !important;
    }

    .single-product .story-heading {
        margin-bottom: 36px !important;
    }

    .single-product .story-heading h2 {
        max-width: 640px !important;
        font-size: clamp(38px, 6vw, 58px) !important;
    }

    .single-product .story-content {
        max-width: 560px !important;
        margin: 0 0 44px !important;
    }

    .single-product .story-content p {
        font-size: 18px !important;
        line-height: 1.65 !important;
    }

    .single-product .story-image {
        max-width: 100% !important;
    }
}


/* mobile */

@media (max-width: 767px) {
    .single-product .story-section {
        margin: 64px auto 64px !important;
        padding: 0 20px !important;
    }

    .single-product .story-number {
        margin-bottom: 18px !important;
        font-size: 8px !important;
        letter-spacing: 0.22em !important;
    }

    .single-product .story-heading {
        margin-bottom: 26px !important;
    }

    .single-product .story-heading h2 {
        font-size: clamp(32px, 9vw, 42px) !important;
        line-height: 1.04 !important;
    }

    .single-product .story-content {
        margin: 0 0 34px !important;
    }

    .single-product .story-content p {
        font-size: 16.5px !important;
        line-height: 1.62 !important;
    }

    .single-product .story-image img {
        max-height: none !important;
    }
}

/* =========================================================
   PRODUCT — Details / Editorial section smaller
========================================================= */

.single-product .details-section {
    max-width: 1180px !important;
    margin: 90px auto 90px !important;
    padding: 0 48px !important;
}

.single-product .details-content {
    max-width: 520px !important;
    margin: 0 auto !important;
    text-align: center !important;
}

.single-product .details-content span {
    margin-bottom: 22px !important;

    font-size: 9px !important;
    letter-spacing: 0.28em !important;
    color: rgba(45, 41, 38, 0.32) !important;
}

.single-product .details-content h2 {
    max-width: 540px !important;
    margin: 0 auto 28px !important;

    font-size: clamp(42px, 4.2vw, 66px) !important;
    line-height: 1.02 !important;
    font-weight: 400 !important;
    letter-spacing: -0.018em !important;
}

.single-product .details-content p {
    max-width: 460px !important;
    margin: 0 auto 34px !important;

    font-size: 18px !important;
    line-height: 1.68 !important;
    color: rgba(45, 41, 38, 0.66) !important;
}

.single-product .details-content a {
    font-size: 10px !important;
    letter-spacing: 0.18em !important;
    padding-bottom: 6px !important;
}


/* zdjęcia w tej sekcji */

.single-product .details-image img {
    width: 100% !important;
    display: block !important;
    object-fit: cover !important;
}

.single-product .image-top {
    width: 42% !important;
    margin: 0 auto 56px !important;
}

.single-product .image-bottom {
    width: 42% !important;
    margin: 56px auto 0 !important;
}


/* tablet */

@media (max-width: 1024px) {
    .single-product .details-section {
        max-width: 100% !important;
        margin: 78px auto 78px !important;
        padding: 0 28px !important;
    }

    .single-product .details-content {
        max-width: 560px !important;
    }

    .single-product .details-content h2 {
        font-size: clamp(38px, 6vw, 56px) !important;
        margin-bottom: 24px !important;
    }

    .single-product .details-content p {
        max-width: 520px !important;
        font-size: 17px !important;
        line-height: 1.65 !important;
    }

    .single-product .image-top,
    .single-product .image-bottom {
        width: 68% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* mobile */

@media (max-width: 767px) {
    .single-product .details-section {
        margin: 64px auto 64px !important;
        padding: 0 20px !important;
    }

    .single-product .details-content span {
        margin-bottom: 18px !important;
        font-size: 8px !important;
        letter-spacing: 0.22em !important;
    }

    .single-product .details-content h2 {
        max-width: 100% !important;
        font-size: clamp(32px, 9vw, 42px) !important;
        line-height: 1.04 !important;
        margin-bottom: 22px !important;
    }

    .single-product .details-content p {
        max-width: 100% !important;
        font-size: 16px !important;
        line-height: 1.62 !important;
        margin-bottom: 28px !important;
    }

    .single-product .image-top,
    .single-product .image-bottom {
        width: 100% !important;
        margin: 0 0 34px !important;
    }

    .single-product .image-bottom {
        margin-top: 34px !important;
    }
}

/* =========================================================
   PRODUCT HERO — composition near product info
========================================================= */

.single-product-page .product-composition {
    margin: 34px 0 0 !important;
    padding: 22px 0 0 !important;

    border-top: 1px solid rgba(45, 41, 38, 0.14) !important;
}

.single-product-page .product-composition span {
    display: block !important;

    margin-bottom: 10px !important;

    color: rgba(45, 41, 38, 0.48) !important;

    font-family: "Lato", Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}

.single-product-page .product-composition p {
    margin: 0 !important;

    color: #2d2926 !important;

    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
}

@media (max-width: 767px) {
    .single-product-page .product-composition {
        margin-top: 26px !important;
        padding-top: 18px !important;
    }

    .single-product-page .product-composition p {
        font-size: 17px !important;
    }
}

/* =========================================================
   PRODUCT — Materials section smaller / calmer
========================================================= */

.single-product .materials-section {
    max-width: 1120px !important;
    margin: 90px auto 90px !important;
    padding: 0 48px !important;
}

.single-product .materials-gallery {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px !important;

    max-width: 860px !important;
    margin: 0 auto !important;
}

.single-product .materials-gallery img {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    object-position: center !important;
}

.single-product .materials-text {
    max-width: 640px !important;
    margin: 62px auto 0 !important;

    text-align: center !important;
}

.single-product .materials-text h2 {
    max-width: 560px !important;
    margin: 0 auto 24px !important;

    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: clamp(38px, 3.8vw, 58px) !important;
    line-height: 1.04 !important;
    font-weight: 400 !important;
    letter-spacing: -0.015em !important;

    color: #2d2926 !important;
}

.single-product .materials-text p {
    max-width: 520px !important;
    margin: 0 auto !important;

    color: rgba(45, 41, 38, 0.68) !important;

    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
    font-weight: 400 !important;
}

.single-product .materials-text a {
    display: inline-flex !important;
    margin-top: 28px !important;

    color: #2d2926 !important;

    font-family: "Lato", Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;

    border-bottom: 1px solid rgba(45, 41, 38, 0.35) !important;
    padding-bottom: 7px !important;
}


/* tablet */

@media (max-width: 1024px) {
    .single-product .materials-section {
        max-width: 100% !important;
        margin: 76px auto 76px !important;
        padding: 0 28px !important;
    }

    .single-product .materials-gallery {
        max-width: 760px !important;
        gap: 22px !important;
    }

    .single-product .materials-text {
        max-width: 560px !important;
        margin-top: 48px !important;
    }

    .single-product .materials-text h2 {
        font-size: clamp(34px, 5.6vw, 50px) !important;
        margin-bottom: 20px !important;
    }

    .single-product .materials-text p {
        font-size: 16.5px !important;
        line-height: 1.62 !important;
    }
}


/* mobile */

@media (max-width: 767px) {
    .single-product .materials-section {
        margin: 62px auto 62px !important;
        padding: 0 20px !important;
    }

    .single-product .materials-gallery {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        max-width: 100% !important;
    }

    .single-product .materials-text {
        max-width: 100% !important;
        margin-top: 34px !important;
    }

    .single-product .materials-text h2 {
        max-width: 100% !important;

        font-size: clamp(30px, 8.5vw, 40px) !important;
        line-height: 1.06 !important;
        margin-bottom: 18px !important;
    }

    .single-product .materials-text p {
        max-width: 100% !important;

        font-size: 16px !important;
        line-height: 1.58 !important;
    }

    .single-product .materials-text a {
        margin-top: 24px !important;
        font-size: 9.5px !important;
        letter-spacing: 0.16em !important;
    }
}

/* =========================================================
   PRODUCT — Dynamic lookbook / stylizacje max 3
========================================================= */

.single-product .looks-section {
    max-width: 1280px !important;
    margin: 90px auto 100px !important;
    padding: 0 48px !important;
}

.single-product .looks-header {
    margin-bottom: 54px !important;
    text-align: center !important;
}

.single-product .looks-header span {
    display: block !important;

    margin-bottom: 18px !important;

    color: rgba(45, 41, 38, 0.32) !important;

    font-family: "Lato", Arial, sans-serif !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0.28em !important;
}

.single-product .looks-header h2 {
    margin: 0 !important;

    color: #2d2926 !important;

    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: clamp(40px, 4vw, 64px) !important;
    line-height: 1.02 !important;
    font-weight: 400 !important;
    letter-spacing: -0.018em !important;
}

.single-product .looks-grid {
    display: grid !important;
    grid-template-columns: repeat(var(--looks-count, 3), minmax(0, 1fr)) !important;
    gap: 28px !important;

    width: 100% !important;
    margin: 0 auto !important;
}

.single-product .looks-grid[data-count="1"] {
    max-width: 430px !important;
}

.single-product .looks-grid[data-count="2"] {
    max-width: 860px !important;
}

.single-product .looks-grid[data-count="3"] {
    max-width: 1120px !important;
}

.single-product .looks-item {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
    background: #f6f1eb !important;
}

.single-product .looks-item img,
.single-product .looks-grid img {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    object-position: center !important;

    transition:
        transform 0.45s ease,
        filter 0.35s ease !important;
}

.single-product .looks-item:hover img {
    transform: scale(1.015) !important;
    filter: brightness(0.94) !important;
}


/* tablet */

@media (max-width: 1024px) {
    .single-product .looks-section {
        max-width: 100% !important;
        margin: 76px auto 84px !important;
        padding: 0 28px !important;
    }

    .single-product .looks-header {
        margin-bottom: 42px !important;
    }

    .single-product .looks-header h2 {
        font-size: clamp(36px, 5.6vw, 54px) !important;
    }

    .single-product .looks-grid {
        gap: 22px !important;
    }
}


/* mobile */

@media (max-width: 767px) {
    .single-product .looks-section {
        margin: 62px auto 68px !important;
        padding: 0 20px !important;
    }

    .single-product .looks-header {
        margin-bottom: 30px !important;
    }

    .single-product .looks-header span {
        margin-bottom: 14px !important;

        font-size: 8px !important;
        letter-spacing: 0.22em !important;
    }

    .single-product .looks-header h2 {
        font-size: clamp(30px, 8.5vw, 40px) !important;
        line-height: 1.05 !important;
    }

    .single-product .looks-grid,
    .single-product .looks-grid[data-count="1"],
    .single-product .looks-grid[data-count="2"],
    .single-product .looks-grid[data-count="3"] {
        grid-template-columns: 1fr !important;
        max-width: 100% !important;
        gap: 18px !important;
    }
}

/* =========================================================
   PRODUCT — Features / Zalety section stronger
========================================================= */

.single-product .features-section {
    max-width: 1180px !important;
    margin: 120px auto 130px !important;
    padding: 0 48px !important;

    transform: none !important;
}

.single-product .features-left {
    max-width: 720px !important;
    margin: 0 auto 72px !important;

    text-align: center !important;
}

.single-product .features-left span {
    display: block !important;

    margin-bottom: 24px !important;

    color: rgba(45, 41, 38, 0.34) !important;

    font-family: "Lato", Arial, sans-serif !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0.28em !important;
}

.single-product .features-left h2 {
    max-width: 720px !important;
    margin: 0 auto 24px !important;

    color: #2d2926 !important;

    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: clamp(42px, 4vw, 64px) !important;
    line-height: 1.04 !important;
    font-weight: 400 !important;
    letter-spacing: -0.018em !important;
}

.single-product .features-left p {
    max-width: 520px !important;
    margin: 0 auto !important;

    color: rgba(45, 41, 38, 0.62) !important;

    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 18px !important;
    line-height: 1.65 !important;
    font-weight: 400 !important;
}

.single-product .features-right {
    max-width: 980px !important;
    margin: 0 auto !important;
}

.single-product .feature-item {
    display: grid !important;
    grid-template-columns: 86px 1fr !important;
    gap: 34px !important;
    align-items: baseline !important;

    padding: 30px 0 !important;

    border-bottom: 1px solid rgba(45, 41, 38, 0.14) !important;
}

.single-product .feature-item:first-child {
    border-top: 1px solid rgba(45, 41, 38, 0.14) !important;
}

.single-product .feature-index {
    color: rgba(45, 41, 38, 0.34) !important;

    font-family: "Lato", Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0.32em !important;
}

.single-product .feature-text {
    display: block !important;

    color: #2d2926 !important;

    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 30px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em !important;
}


/* tablet */

@media (max-width: 1024px) {
    .single-product .features-section {
        max-width: 100% !important;
        margin: 90px auto 96px !important;
        padding: 0 28px !important;
    }

    .single-product .features-left {
        margin-bottom: 54px !important;
    }

    .single-product .features-left h2 {
        font-size: clamp(36px, 5.8vw, 54px) !important;
    }

    .single-product .features-left p {
        font-size: 17px !important;
        line-height: 1.6 !important;
    }

    .single-product .features-right {
        max-width: 760px !important;
    }

    .single-product .feature-item {
        grid-template-columns: 64px 1fr !important;
        gap: 24px !important;
        padding: 26px 0 !important;
    }

    .single-product .feature-text {
        font-size: 26px !important;
    }
}


/* mobile */

@media (max-width: 767px) {
    .single-product .features-section {
        margin: 68px auto 74px !important;
        padding: 0 20px !important;
    }

    .single-product .features-left {
        margin-bottom: 38px !important;
        text-align: left !important;
    }

    .single-product .features-left span {
        margin-bottom: 18px !important;
        font-size: 8px !important;
        letter-spacing: 0.22em !important;
    }

    .single-product .features-left h2 {
        max-width: 100% !important;
        margin: 0 0 18px !important;

        font-size: clamp(32px, 8.5vw, 42px) !important;
        line-height: 1.06 !important;
    }

    .single-product .features-left p {
        max-width: 100% !important;
        margin: 0 !important;

        font-size: 16px !important;
        line-height: 1.58 !important;
    }

    .single-product .feature-item {
        grid-template-columns: 44px 1fr !important;
        gap: 18px !important;
        padding: 22px 0 !important;
    }

    .single-product .feature-index {
        font-size: 9px !important;
        letter-spacing: 0.22em !important;
    }

    .single-product .feature-text {
        font-size: 22px !important;
        line-height: 1.28 !important;
    }
}

/* =========================================================
   PRODUCT — Care / Pielęgnacja section final
========================================================= */

.single-product .care-section {
    max-width: 1180px !important;
    margin: 105px auto 115px !important;
    padding: 0 48px !important;
}

.single-product .care-note {
    border-top: 0 !important;
    padding-top: 0 !important;
}

.single-product .care-number {
    display: block !important;

    margin: 0 0 52px !important;

    text-align: center !important;

    color: rgba(45, 41, 38, 0.32) !important;

    font-family: "Lato", Arial, sans-serif !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0.28em !important;
}

.single-product .care-layout {
    display: grid !important;
    grid-template-columns: 0.9fr 1.1fr !important;
    gap: 96px !important;
    align-items: start !important;
}

.single-product .care-heading span {
    display: block !important;

    margin-bottom: 28px !important;

    color: rgba(45, 41, 38, 0.58) !important;

    font-family: "Lato", Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0.24em !important;
    text-transform: uppercase !important;
}

.single-product .care-heading h2 {
    max-width: 420px !important;
    margin: 0 !important;

    color: #2d2926 !important;

    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: clamp(34px, 3.2vw, 48px) !important;
    line-height: 1.08 !important;
    font-weight: 400 !important;
    letter-spacing: -0.015em !important;
}

.single-product .care-heading p {
    max-width: 360px !important;
    margin: 30px 0 0 !important;

    color: rgba(45, 41, 38, 0.64) !important;

    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 19px !important;
    line-height: 1.65 !important;
    font-weight: 400 !important;
}

.single-product .care-rules {
    margin-top: 0 !important;
}

.single-product .care-rule {
    display: grid !important;
    grid-template-columns: 56px 1fr !important;
    gap: 30px !important;
    align-items: baseline !important;

    padding: 28px 0 !important;

    border-bottom: 1px solid rgba(45, 41, 38, 0.14) !important;
}

.single-product .care-rule:first-child {
    border-top: 1px solid rgba(45, 41, 38, 0.14) !important;
}

.single-product .care-rule-index {
    color: rgba(45, 41, 38, 0.32) !important;

    font-family: "Lato", Arial, sans-serif !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0.28em !important;
}

.single-product .care-rule p {
    margin: 0 !important;

    color: #2d2926 !important;

    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 22px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
}


/* tablet */

@media (max-width: 1024px) {
    .single-product .care-section {
        max-width: 100% !important;
        margin: 84px auto 92px !important;
        padding: 0 28px !important;
    }

    .single-product .care-number {
        margin-bottom: 42px !important;
    }

    .single-product .care-layout {
        grid-template-columns: 1fr !important;
        gap: 48px !important;
    }

    .single-product .care-heading h2 {
        max-width: 540px !important;
        font-size: clamp(32px, 5vw, 44px) !important;
    }

    .single-product .care-heading p {
        max-width: 520px !important;
        font-size: 18px !important;
        line-height: 1.62 !important;
    }

    .single-product .care-rule p {
        font-size: 20px !important;
    }
}


/* mobile */

@media (max-width: 767px) {
    .single-product .care-section {
        margin: 64px auto 72px !important;
        padding: 0 20px !important;
    }

    .single-product .care-number {
        margin-bottom: 30px !important;
        font-size: 8px !important;
        letter-spacing: 0.22em !important;
    }

    .single-product .care-layout {
        gap: 34px !important;
    }

    .single-product .care-heading span {
        margin-bottom: 20px !important;
        font-size: 9px !important;
        letter-spacing: 0.2em !important;
    }

    .single-product .care-heading h2 {
        max-width: 100% !important;
        font-size: clamp(30px, 8vw, 40px) !important;
        line-height: 1.06 !important;
    }

    .single-product .care-heading p {
        max-width: 100% !important;
        margin-top: 22px !important;

        font-size: 16.5px !important;
        line-height: 1.58 !important;
    }

    .single-product .care-rule {
        grid-template-columns: 42px 1fr !important;
        gap: 18px !important;
        padding: 22px 0 !important;
    }

    .single-product .care-rule-index {
        font-size: 8px !important;
        letter-spacing: 0.2em !important;
    }

    .single-product .care-rule p {
        font-size: 18px !important;
        line-height: 1.5 !important;
    }
}

/* =========================================
   PRODUCT SUMMARY — editorial premium
========================================= */

.single-product .product .summary {
    max-width: 760px;
}

.single-product .product .product_title {
    font-size: clamp(52px, 5.2vw, 86px);
    line-height: 0.95;
    letter-spacing: -0.02em;
    font-weight: 400;
    margin: 0 0 28px;
}

.single-product .product .price {
    font-size: clamp(24px, 2.2vw, 40px);
    line-height: 1.1;
    font-weight: 500;
    margin: 0 0 34px;
    color: #2f2a28;
}

.single-product .product .price .amount {
    font-weight: 500;
}

.single-product .product .woocommerce-product-details__short-description {
    font-size: 18px;
    line-height: 1.85;
    color: #3d3734;
    max-width: 720px;
    margin: 0 0 42px;
}

.single-product .product .woocommerce-product-details__short-description p {
    margin: 0 0 18px;
}

/* wspólny blok z kreską i małym podpisem */
.product-meta-block {
    border-top: 1px solid rgba(47, 42, 40, 0.16);
    padding-top: 22px;
    margin-top: 34px;
}

.product-meta-label {
    display: block;
    margin-bottom: 18px;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #8e8680;
}

/* skład */
.product-material-value {
    font-size: 18px;
    line-height: 1.8;
    color: #2f2a28;
}

/* info / benefity */
.product-benefits-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.product-benefits-list li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 14px;
    font-size: 18px;
    line-height: 1.7;
    color: #2f2a28;
}

.product-benefits-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #2f2a28;
    font-size: 16px;
}

/* wybierz */
.product-choose-block {
    border-top: 1px solid rgba(47, 42, 40, 0.16);
    padding-top: 22px;
    margin-top: 38px;
}

/* etykiety kolor / rozmiar możesz wyciszyć albo ukryć */
.single-product .product .variations_form .label,
.single-product .product .variations_form label {
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #8e8680;
    margin-bottom: 14px;
    display: inline-block;
}

/* jeśli chcesz bardziej minimalistycznie, możesz odkomentować */
/*
.single-product .product .variations_form .label,
.single-product .product .variations_form label {
    display: none !important;
}
*/

.single-product .product .variations {
    margin-top: 0;
    margin-bottom: 0;
}

.single-product .product .variations tr {
    display: block;
    margin-bottom: 20px;
}

.single-product .product .variations td {
    display: block;
    width: 100%;
    padding: 0;
}

/* spacing przed add to cart */
.single-product .product .single_variation_wrap,
.single-product .product form.cart {
    margin-top: 28px;
}

/* trochę lepsza ekspozycja ceny promocyjnej */
.single-product .product .price del {
    opacity: 0.45;
    margin-right: 10px;
}

.single-product .product .price ins {
    text-decoration: none;
    font-weight: 600;
    color: #2f2a28;
}

/* tablet */
@media (max-width: 1024px) {
    .single-product .product .product_title {
        font-size: 58px;
        margin-bottom: 24px;
    }

    .single-product .product .price {
        font-size: 30px;
        margin-bottom: 28px;
    }

    .single-product .product .woocommerce-product-details__short-description {
        font-size: 17px;
        line-height: 1.8;
    }
}

/* mobile */
@media (max-width: 767px) {
    .single-product .product .product_title {
        font-size: 42px;
        line-height: 0.98;
        margin-bottom: 18px;
    }

    .single-product .product .price {
        font-size: 28px;
        margin-bottom: 22px;
    }

    .single-product .product .woocommerce-product-details__short-description {
        font-size: 16px;
        line-height: 1.75;
        margin-bottom: 28px;
    }

    .product-meta-block,
    .product-choose-block {
        padding-top: 18px;
        margin-top: 26px;
    }

    .product-material-value,
    .product-benefits-list li {
        font-size: 16px;
    }
}

/* =========================================================
   PRODUCT HERO — editorial hierarchy final
========================================================= */

.single-product-page .single-product-info {
    max-width: 680px !important;
}


/* tytuł mniej dominujący */

.single-product-page .product-title {
    max-width: 620px !important;

    margin: 0 0 28px !important;

    color: #2d2926 !important;

    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: clamp(48px, 4.6vw, 74px) !important;
    line-height: 0.98 !important;
    font-weight: 400 !important;
    letter-spacing: -0.025em !important;
}


/* cena bardziej widoczna */

.single-product-page .product-price {
    margin: 0 0 42px !important;
}

.single-product-page .product-price .swiat-price-line {
    font-size: clamp(30px, 2.6vw, 42px) !important;
    line-height: 1.05 !important;
}

.single-product-page .product-price .swiat-price-line ins {
    font-weight: 500 !important;
}

.single-product-page .product-price .swiat-price-line del {
    opacity: 0.55 !important;
}


/* opis */

.single-product-page .product-description {
    max-width: 620px !important;

    margin: 0 0 44px !important;

    color: rgba(45, 41, 38, 0.78) !important;

    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 22px !important;
    line-height: 1.72 !important;
    font-weight: 400 !important;
}

.single-product-page .product-description p {
    margin: 0 0 18px !important;
}

.single-product-page .product-description p:last-child {
    margin-bottom: 0 !important;
}


/* wspólny blok: Skład / Informacje / Wybierz */

.single-product-page .product-info-block {
    margin: 38px 0 0 !important;
    padding: 24px 0 0 !important;

    border-top: 1px solid rgba(45, 41, 38, 0.16) !important;
}

.single-product-page .product-info-label {
    display: block !important;

    margin: 0 0 18px !important;

    color: rgba(45, 41, 38, 0.48) !important;

    font-family: "Lato", Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
}


/* skład */

.single-product-page .product-composition p {
    margin: 0 !important;

    color: #2d2926 !important;

    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 20px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
}


/* informacje / wysyłka */

.single-product-page .product-benefits {
    display: grid !important;
    gap: 12px !important;

    margin: 0 !important;
    padding: 0 !important;
}

.single-product-page .product-benefits div {
    color: #2d2926 !important;

    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 19px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
}


/* wybór wariantów */

.single-product-page .product-choice-block {
    margin-top: 42px !important;
}

.single-product-page .product-choice-block .custom-variations {
    margin-top: 0 !important;
}

.single-product-page .product-choice-block h4 {
    margin-bottom: 16px !important;

    color: rgba(45, 41, 38, 0.58) !important;

    font-family: "Lato", Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}


/* przycisk koszyka bliżej wyboru */

.single-product-page .product-choice-block form.cart {
    margin-top: 34px !important;
}


/* mobile */

@media (max-width: 767px) {
    .single-product-page .product-title {
        font-size: clamp(38px, 10vw, 48px) !important;
        line-height: 1.02 !important;
        margin-bottom: 22px !important;
    }

    .single-product-page .product-price {
        margin-bottom: 32px !important;
    }

    .single-product-page .product-price .swiat-price-line {
        font-size: 30px !important;
    }

    .single-product-page .product-description {
        font-size: 18px !important;
        line-height: 1.62 !important;
        margin-bottom: 34px !important;
    }

    .single-product-page .product-info-block {
        margin-top: 30px !important;
        padding-top: 20px !important;
    }

    .single-product-page .product-composition p,
    .single-product-page .product-benefits div {
        font-size: 17px !important;
    }
}

/* =========================================================
   PRODUCT HERO — link przewijania
========================================================= */

html {
    scroll-behavior: smooth;
}

.single-product-page .product-scroll-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;

    margin-top: 22px !important;

    color: rgba(45, 41, 38, 0.72) !important;
    text-decoration: none !important;

    font-family: "Lato", Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;

    transition: opacity 0.25s ease, transform 0.25s ease !important;
}

.single-product-page .product-scroll-link::after {
    content: "↓";
    display: inline-block;
    font-size: 13px;
    line-height: 1;
}

.single-product-page .product-scroll-link:hover {
    opacity: 1 !important;
    transform: translateY(2px) !important;
}

.single-product-page .product-scroll-link:focus {
    outline: none !important;
    opacity: 1 !important;
}

/* =========================================================
   PRODUCT HERO — repair size guide modal after gallery changes
========================================================= */

/* Modal ma być ukryty i nie może wpadać pod zdjęcie jako element grida */

.single-product-page .product-top > .size-guide-modal,
.single-product-page .size-guide-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100vw !important;
    height: 100vh !important;

    padding: 48px !important;

    background: rgba(45, 41, 38, 0.42) !important;

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    margin: 0 !important;

    transform: none !important;
}


/* Modal pokazuje się dopiero po kliknięciu "Jak dobrać rozmiar?" */

.single-product-page .size-guide-modal.active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}


/* Wnętrze modala */

.single-product-page .size-guide-content {
    position: relative !important;

    width: min(1460px, calc(100vw - 96px)) !important;
    max-height: calc(100vh - 96px) !important;

    overflow-y: auto !important;

    margin: 0 !important;
    padding: 72px 72px 80px !important;

    background: #f6f1eb !important;
    color: #2d2926 !important;

    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.12) !important;
}


/* X zamykania */

.single-product-page .close-size-guide {
    position: absolute !important;
    top: 24px !important;
    right: 24px !important;

    width: 48px !important;
    height: 48px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 1px solid rgba(45, 41, 38, 0.18) !important;
    background: transparent !important;
    color: #2d2926 !important;

    font-size: 24px !important;
    line-height: 1 !important;

    cursor: pointer !important;
}


/* Tabela w modalu nie może się ściskać */

.single-product-page .size-guide-content table {
    width: 100% !important;
    table-layout: auto !important;
}

.single-product-page .size-guide-content th,
.single-product-page .size-guide-content td {
    white-space: normal !important;
    text-align: left !important;
}


/* Mobile */

@media (max-width: 767px) {
    .single-product-page .product-top > .size-guide-modal,
    .single-product-page .size-guide-modal {
        padding: 18px !important;
    }

    .single-product-page .size-guide-content {
        width: calc(100vw - 36px) !important;
        max-height: calc(100vh - 36px) !important;

        padding: 64px 22px 48px !important;
    }

    .single-product-page .close-size-guide {
        top: 16px !important;
        right: 16px !important;

        width: 42px !important;
        height: 42px !important;
    }
}

/* tablet i mobile — miniaturki poziomo, bez rozciągania */

@media (max-width: 1024px) {
    .single-product-page .gallery-thumbs {
        display: flex !important;
        flex-direction: row !important;
        gap: 8px !important;

        width: 100% !important;
        height: auto !important;

        overflow-x: auto !important;
    }

    .single-product-page .gallery-thumbs img {
        flex: 0 0 auto !important;

        width: 72px !important;
        height: auto !important;

        aspect-ratio: 4 / 5 !important;
        object-fit: cover !important;
    }
}

@media (max-width: 767px) {
    .single-product-page .product-title {
        font-size: clamp(34px, 9vw, 44px) !important;
    }

    .single-product-page .product-description {
        font-size: 16px !important;
        line-height: 1.58 !important;
    }
}

/* =========================================================
   PRODUCT — Features / Dlaczego go pokochasz smaller
========================================================= */

body.single-product .single-product-page .features-section {
    max-width: 1040px !important;
    margin: 82px auto 92px !important;
    padding: 0 48px !important;
}

body.single-product .single-product-page .features-left {
    max-width: 560px !important;
    margin: 0 auto 48px !important;
    text-align: center !important;
}

body.single-product .single-product-page .features-left span {
    margin-bottom: 18px !important;

    font-size: 8px !important;
    letter-spacing: 0.24em !important;
}

body.single-product .single-product-page .features-left h2 {
    max-width: 560px !important;
    margin: 0 auto 18px !important;

    font-size: clamp(34px, 3.2vw, 48px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.015em !important;
}

body.single-product .single-product-page .features-left p {
    max-width: 420px !important;
    margin: 0 auto !important;

    font-size: 15.5px !important;
    line-height: 1.58 !important;
}

body.single-product .single-product-page .features-right {
    max-width: 820px !important;
    margin: 0 auto !important;
}

body.single-product .single-product-page .feature-item {
    grid-template-columns: 58px 1fr !important;
    gap: 24px !important;

    padding: 22px 0 !important;

    border-bottom: 1px solid rgba(45, 41, 38, 0.13) !important;
}

body.single-product .single-product-page .feature-item:first-child {
    border-top: 1px solid rgba(45, 41, 38, 0.13) !important;
}

body.single-product .single-product-page .feature-index {
    font-size: 8px !important;
    letter-spacing: 0.24em !important;
}

body.single-product .single-product-page .feature-text {
    font-size: 23px !important;
    line-height: 1.28 !important;
    letter-spacing: -0.006em !important;
}


/* laptop */

@media (min-width: 1025px) and (max-width: 1540px) {
    body.single-product .single-product-page .features-section {
        max-width: 900px !important;
        margin: 72px auto 82px !important;
    }

    body.single-product .single-product-page .features-left {
        margin-bottom: 40px !important;
    }

    body.single-product .single-product-page .features-left h2 {
        font-size: clamp(30px, 2.8vw, 42px) !important;
    }

    body.single-product .single-product-page .features-left p {
        font-size: 14.5px !important;
    }

    body.single-product .single-product-page .features-right {
        max-width: 720px !important;
    }

    body.single-product .single-product-page .feature-item {
        grid-template-columns: 48px 1fr !important;
        gap: 20px !important;
        padding: 18px 0 !important;
    }

    body.single-product .single-product-page .feature-text {
        font-size: 20px !important;
    }
}


/* tablet */

@media (max-width: 1024px) {
    body.single-product .single-product-page .features-section {
        max-width: 100% !important;
        margin: 68px auto 76px !important;
        padding: 0 28px !important;
    }

    body.single-product .single-product-page .features-left {
        margin-bottom: 38px !important;
    }

    body.single-product .single-product-page .features-left h2 {
        font-size: clamp(30px, 5vw, 42px) !important;
    }

    body.single-product .single-product-page .features-left p {
        font-size: 15.5px !important;
    }

    body.single-product .single-product-page .feature-item {
        grid-template-columns: 44px 1fr !important;
        gap: 18px !important;
        padding: 18px 0 !important;
    }

    body.single-product .single-product-page .feature-text {
        font-size: 20px !important;
    }
}


/* mobile */

@media (max-width: 767px) {
    body.single-product .single-product-page .features-section {
        margin: 58px auto 64px !important;
        padding: 0 20px !important;
    }

    body.single-product .single-product-page .features-left {
        margin-bottom: 30px !important;
        text-align: left !important;
    }

    body.single-product .single-product-page .features-left span {
        margin-bottom: 14px !important;
        font-size: 8px !important;
        letter-spacing: 0.2em !important;
    }

    body.single-product .single-product-page .features-left h2 {
        max-width: 100% !important;
        margin: 0 0 14px !important;

        font-size: clamp(28px, 8vw, 36px) !important;
        line-height: 1.06 !important;
    }

    body.single-product .single-product-page .features-left p {
        max-width: 100% !important;
        margin: 0 !important;

        font-size: 15px !important;
        line-height: 1.55 !important;
    }

    body.single-product .single-product-page .feature-item {
        grid-template-columns: 36px 1fr !important;
        gap: 14px !important;
        padding: 17px 0 !important;
    }

    body.single-product .single-product-page .feature-index {
        font-size: 8px !important;
        letter-spacing: 0.18em !important;
    }

    body.single-product .single-product-page .feature-text {
        font-size: 18px !important;
        line-height: 1.28 !important;
    }
}

#product-materials {
    scroll-margin-top: 90px !important;
}

x/* =========================================================
   PRODUCT — dynamic full width image
========================================================= */

body.single-product .single-product-page .full-image {
    width: min(1480px, calc(100vw - 96px)) !important;

    margin: 90px auto 100px !important;
    padding: 0 !important;
}

body.single-product .single-product-page .full-image img {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    max-height: 760px !important;

    object-fit: cover !important;
    object-position: center !important;
}

@media (max-width: 1024px) {
    body.single-product .single-product-page .full-image {
        width: calc(100vw - 56px) !important;
        margin: 72px auto 80px !important;
    }

    body.single-product .single-product-page .full-image img {
        max-height: 620px !important;
    }
}

@media (max-width: 767px) {
    body.single-product .single-product-page .full-image {
        width: calc(100vw - 40px) !important;
        margin: 56px auto 64px !important;
    }

    body.single-product .single-product-page .full-image img {
        max-height: none !important;
    }
}

/* =====================================================
   KOLORY WARIANTÓW — MAPOWANIE PO SLUGU
===================================================== */

.color-swatch[data-value="bezowy"] {
    background: #d8c3a5 !important;
}

.color-swatch[data-value="bezowy-z-ciemnymi-paskami"] {
    background:
        repeating-linear-gradient(
            135deg,
            #d8c3a5 0,
            #d8c3a5 7px,
            #4d4741 7px,
            #4d4741 9px
        ) !important;
}

.color-swatch[data-value="bialy"] {
    background: #f6f4ef !important;
}

.color-swatch[data-value="blekit"] {
    background: #bfd7ea !important;
}

.color-swatch[data-value="bordowy"] {
    background: #722f42 !important;
}

.color-swatch[data-value="cappuccino"] {
    background: #a78368 !important;
}

.color-swatch[data-value="czarny"] {
    background: #1b1b1b !important;
}

.color-swatch[data-value="ecru"] {
    background: #ece3d3 !important;
}

.color-swatch[data-value="granatowy"] {
    background: #293c6a !important;
}

.color-swatch[data-value="mango"] {
    background: #e7a34b !important;
}

.color-swatch[data-value="niebieski"] {
    background: #547fa8 !important;
}

.color-swatch[data-value="rozowy"] {
    background: #e8c1c5 !important;
}

.color-swatch[data-value="szary"] {
    background: #a7a5a1 !important;
}


/* jasne kolory — wyraźniejsza obwódka */

.color-swatch[data-value="bialy"],
.color-swatch[data-value="ecru"],
.color-swatch[data-value="bezowy"] {
    border-color: rgba(45, 41, 38, .22) !important;
}

/* =====================================================
   LISTING PRODUKTÓW — RÓWNE KOLORY I ROZMIARY
===================================================== */

@media screen and (min-width: 769px) {

    .category-product-grid .product-info,
    .category-product-grid--featured .product-info,
    .category-product-grid--three .product-info,
    .category-product-grid--four .product-info {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr)
            max-content !important;

        grid-template-rows:
            auto
            18px !important;

        column-gap: 24px !important;
        row-gap: 10px !important;

        align-items: end !important;

        padding-top: 22px !important;
    }


    /* tytuł — zawsze ta sama minimalna wysokość */

    .category-product-grid .product-info h3,
    .category-product-grid--featured .product-info h3,
    .category-product-grid--three .product-info h3,
    .category-product-grid--four .product-info h3 {
        grid-column: 1 !important;
        grid-row: 1 !important;

        align-self: end !important;

        min-height: 3.75em !important;

        margin: 0 !important;
    }


    /* cena — lewy dół */

    .category-product-grid .price,
    .category-product-grid--featured .price,
    .category-product-grid--three .price,
    .category-product-grid--four .price {
        grid-column: 1 !important;
        grid-row: 2 !important;

        align-self: center !important;

        margin: 0 !important;
    }


    /* kolor — prawy górny róg */

    .category-product-grid .product-card-colors,
    .category-product-grid--featured .product-card-colors,
    .category-product-grid--three .product-card-colors,
    .category-product-grid--four .product-card-colors {
        grid-column: 2 !important;
        grid-row: 1 !important;

        justify-self: end !important;
        align-self: end !important;

        margin: 0 0 4px !important;
    }


    /* rozmiary — zawsze prawy dół */

    .category-product-grid .product-card-sizes,
    .category-product-grid--featured .product-card-sizes,
    .category-product-grid--three .product-card-sizes,
    .category-product-grid--four .product-card-sizes {
        grid-column: 2 !important;
        grid-row: 2 !important;

        justify-self: end !important;
        align-self: center !important;

        min-height: 18px !important;

        margin: 0 !important;
        padding: 0 !important;

        white-space: nowrap !important;
    }


    /* usuwamy pionową kreskę między kolorem a rozmiarem */

    .category-product-grid .product-card-sizes::before,
    .category-product-grid--featured .product-card-sizes::before,
    .category-product-grid--three .product-card-sizes::before,
    .category-product-grid--four .product-card-sizes::before {
        display: none !important;
        content: none !important;
    }
}

/* =========================================================
   PRODUCT SECTIONS — STORY / EDITORIAL / FULL IMAGE FINAL
   Wklej na samym końcu assets/css/product.css
========================================================= */

/* ---------- STORY: dopasowanie do pionu / poziomu ---------- */

body.single-product .single-product-page .story-image {
    width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

body.single-product .single-product-page .story-image--landscape {
    width: min(1480px, calc(100vw - 96px)) !important;
    max-width: 1480px !important;
}

body.single-product .single-product-page .story-image--portrait {
    width: clamp(760px, 52vw, 1080px) !important;
    max-width: 1080px !important;

    margin-right: auto !important;
    margin-left: auto !important;
}

/* STORY — numer 01 wyśrodkowany */

body.single-product .single-product-page .story-number {
    display: block !important;

    width: 100% !important;

    margin-right: auto !important;
    margin-left: auto !important;

    text-align: center !important;
}

@media screen and (min-width: 1025px) and (max-width: 1500px) {

    body.single-product .single-product-page .story-image--portrait {
        width: min(820px, calc(100vw - 96px)) !important;
        max-width: 820px !important;
    }
}

body.single-product .single-product-page .story-image--square {
    width: min(900px, calc(100vw - 96px)) !important;
    max-width: 900px !important;
}

body.single-product .single-product-page .story-image__img,
body.single-product .single-product-page .story-image img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
}


/* ---------- EDITORIAL: dwa obrazy zawsze widoczne ---------- */

body.single-product .single-product-page .details-section {
    display: flex !important;
    flex-direction: column !important;
    width: min(1320px, calc(100vw - 96px)) !important;
    max-width: 1320px !important;
    margin: 100px auto !important;
    padding: 0 !important;
}

body.single-product .single-product-page .details-section--text-first .details-content {
    order: 1 !important;
    margin-bottom: 64px !important;
}

body.single-product .single-product-page .details-section--text-first .details-media {
    order: 2 !important;
}

body.single-product .single-product-page .details-section--images-first .details-media {
    order: 1 !important;
}

body.single-product .single-product-page .details-section--images-first .details-content {
    order: 2 !important;
    margin-top: 64px !important;
}

body.single-product .single-product-page .details-media {
    width: 100% !important;
    display: grid !important;
    gap: 28px !important;
    align-items: start !important;
}

body.single-product .single-product-page .details-media--two {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.single-product .single-product-page .details-media--one {
    grid-template-columns: minmax(0, 760px) !important;
    justify-content: center !important;
}

body.single-product .single-product-page .details-image {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-product .single-product-page .details-image__img,
body.single-product .single-product-page .details-image img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
}

body.single-product .single-product-page .details-content {
    width: 100% !important;
    max-width: 560px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
}


/* ---------- FULL IMAGE: obsługa pionu / poziomu ---------- */

body.single-product .single-product-page .full-image {
    margin: 90px auto 100px !important;
    padding: 0 !important;
}

body.single-product .single-product-page .full-image--landscape {
    width: min(1480px, calc(100vw - 96px)) !important;
    max-width: 1480px !important;
}

body.single-product .single-product-page .full-image--portrait {
    width: min(760px, calc(100vw - 96px)) !important;
    max-width: 760px !important;
}

body.single-product .single-product-page .full-image--square {
    width: min(980px, calc(100vw - 96px)) !important;
    max-width: 980px !important;
}

body.single-product .single-product-page .full-image__img,
body.single-product .single-product-page .full-image img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
}


/* ---------- TABLET ---------- */

@media (max-width: 1024px) {
    body.single-product .single-product-page .story-image--landscape,
    body.single-product .single-product-page .story-image--portrait,
    body.single-product .single-product-page .story-image--square,
    body.single-product .single-product-page .details-section,
    body.single-product .single-product-page .full-image--landscape,
    body.single-product .single-product-page .full-image--portrait,
    body.single-product .single-product-page .full-image--square {
        width: calc(100vw - 56px) !important;
        max-width: calc(100vw - 56px) !important;
    }

    body.single-product .single-product-page .details-media {
        gap: 20px !important;
    }
}


/* ---------- MOBILE ---------- */

@media (max-width: 767px) {
    body.single-product .single-product-page .story-image--landscape,
    body.single-product .single-product-page .story-image--portrait,
    body.single-product .single-product-page .story-image--square,
    body.single-product .single-product-page .details-section,
    body.single-product .single-product-page .full-image--landscape,
    body.single-product .single-product-page .full-image--portrait,
    body.single-product .single-product-page .full-image--square {
        width: calc(100vw - 40px) !important;
        max-width: calc(100vw - 40px) !important;
    }

    body.single-product .single-product-page .details-media--two,
    body.single-product .single-product-page .details-media--one {
        grid-template-columns: 1fr !important;
    }

    body.single-product .single-product-page .details-section--images-first .details-content {
        margin-top: 42px !important;
    }

    body.single-product .single-product-page .details-section--text-first .details-content {
        margin-bottom: 42px !important;
    }
}