/*
Theme Name: VELUM Graphite – koszyk i kupony
Description: Motyw potomny VELUM Graphite z poprawkami produktów, koszyka i zamówienia.
Template: velum-theme
Version: 1.2.0
Text Domain: velum-graphite-koszyk
*/

/* Kupon wpisuje się w koszyku, przed przejściem do zamówienia. */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout form.checkout_coupon {
    display: none !important;
}

/* Przycisk pozostaje w formularzu, aby działała automatyczna aktualizacja ilości. */
body.woocommerce-cart form.woocommerce-cart-form button[name="update_cart"] {
    display: none !important;
}

body.woocommerce-cart form.woocommerce-cart-form .actions .coupon {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    float: none;
    width: min(100%, 580px);
}

body.woocommerce-cart form.woocommerce-cart-form .actions .coupon #coupon_code {
    box-sizing: border-box;
    float: none;
    flex: 1 1 300px;
    width: min(100%, 380px) !important;
    min-width: 220px;
    min-height: 46px;
    margin: 0 !important;
}

body.woocommerce-cart form.woocommerce-cart-form .actions .coupon button[name="apply_coupon"] {
    min-height: 46px;
    margin: 0 !important;
}

@media (max-width: 600px) {
    body.woocommerce-cart form.woocommerce-cart-form .actions .coupon {
        width: 100%;
    }

    body.woocommerce-cart form.woocommerce-cart-form .actions .coupon #coupon_code {
        flex-basis: 100%;
        width: 100% !important;
        min-width: 0;
    }
}

/* Cztery produkty na stronie głównej. */
.velum-home-products {
    background: #25292a;
    color: #f5f1e9;
    padding: clamp(48px, 6vw, 88px) max(24px, calc((100vw - 1320px) / 2));
}

.velum-home-products[hidden] { display: none !important; }

.velum-home-products__inner { max-width: 1320px; margin: 0 auto; }

.velum-home-products h2 {
    margin: 0 0 42px;
    color: #f5f1e9;
    font-family: Georgia, serif;
    font-size: clamp(38px, 4.5vw, 64px);
    line-height: 1.12;
}

.velum-home-products__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.velum-home-product {
    min-width: 0;
    padding: 14px;
    background: #292e2f;
    border: 1px solid #52524d;
    border-radius: 12px;
}

.velum-home-product__image {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    background: #34393a;
    overflow: hidden;
}

.velum-home-product__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.velum-home-product h3 {
    margin: 18px 0 7px;
    color: #f5f1e9;
    font-size: 21px;
    line-height: 1.3;
}

.velum-home-product__kind { min-height: 24px; margin: 0; color: #c7c3bb; font-size: 15px; }
.velum-home-product__price { margin: 15px 0 0; color: #cba974; font-weight: 700; }
.velum-home-product__link { display: inline-block; margin-top: 14px; color: #cba974; font-weight: 700; text-decoration: none; }
.velum-home-product__link:hover, .velum-home-product__link:focus { color: #f5d29e; text-decoration: underline; }

.velum-home-products__all { margin: 34px 0 0; text-align: center; }
.velum-home-products__all a {
    display: inline-block;
    padding: 17px 26px;
    border-radius: 7px;
    background: #cba974;
    color: #202323;
    font-weight: 700;
    text-decoration: none;
}
.velum-home-products__all a:hover, .velum-home-products__all a:focus { background: #e2bd88; color: #202323; }

/* Katalog: prawdziwe kategorie WooCommerce i równa siatka kart. */
.velum-category-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 8px 0 34px;
    clear: both;
}
.velum-category-nav a {
    display: inline-block;
    padding: 12px 20px;
    border: 1px solid #52524d;
    border-radius: 30px;
    background: #303536;
    color: #f5f1e9;
    font-size: 15px;
    line-height: 1.25;
    text-decoration: none;
}
.velum-category-nav a:hover, .velum-category-nav a:focus,
.velum-category-nav a[aria-current="page"] { background: #cba974; border-color: #cba974; color: #202323; }

body.post-type-archive-product .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch;
}
body.post-type-archive-product .woocommerce ul.products::before,
body.post-type-archive-product .woocommerce ul.products::after,
body.tax-product_cat .woocommerce ul.products::before,
body.tax-product_cat .woocommerce ul.products::after { display: none !important; content: none !important; }
body.post-type-archive-product .woocommerce ul.products li.product,
body.tax-product_cat .woocommerce ul.products li.product {
    width: auto !important;
    max-width: none !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
}

@media (max-width: 900px) {
    .velum-home-products__grid,
    body.post-type-archive-product .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
    .velum-home-products__grid,
    body.post-type-archive-product .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products { grid-template-columns: minmax(0, 1fr) !important; }
    .velum-category-nav { gap: 8px; }
    .velum-category-nav a { padding: 10px 13px; font-size: 14px; }
}

/* Katalog renderowany przez szablon motywu potomnego. */
.velum-shop-page {
    min-height: 65vh;
    padding: clamp(54px, 6vw, 92px) 24px 110px;
    background: #25292a;
    color: #f5f1e9;
}
.velum-shop-page__inner { max-width: 1320px; margin: 0 auto; }
.velum-shop-page__eyebrow {
    margin: 0 0 16px;
    color: #cba974;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.velum-shop-page h1 {
    margin: 0 0 48px;
    color: #f5f1e9;
    font-family: Georgia, serif;
    font-size: clamp(42px, 5vw, 68px);
    line-height: 1.12;
}
.velum-shop-page .velum-category-nav { margin-bottom: 35px; }
.velum-shop-page__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}
.velum-shop-card {
    min-width: 0;
    padding: 14px;
    border: 1px solid #52524d;
    border-radius: 12px;
    background: #292e2f;
}
.velum-shop-card__image {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: #34393a;
}
.velum-shop-card__image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.velum-shop-card h2 { margin: 18px 0 7px; color: #f5f1e9; font-size: 21px; line-height: 1.3; }
.velum-shop-card__kind { min-height: 24px; margin: 0; color: #c7c3bb; font-size: 15px; }
.velum-shop-card__price { margin: 15px 0 0; color: #cba974; font-weight: 700; }
.velum-shop-card__link { display: inline-block; margin-top: 14px; color: #cba974; font-weight: 700; text-decoration: none; }
.velum-shop-card__link:hover, .velum-shop-card__link:focus { color: #f5d29e; text-decoration: underline; }
.velum-shop-page__empty { margin: 32px 0; color: #c7c3bb; }
.velum-shop-page .navigation.pagination { margin: 42px 0 0; }
.velum-shop-page .page-numbers { color: #f5f1e9; }
.velum-shop-page .page-numbers.current { color: #cba974; }

@media (max-width: 900px) {
    .velum-shop-page__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .velum-shop-page__grid { grid-template-columns: minmax(0, 1fr); }
    .velum-shop-page h1 { margin-bottom: 30px; }
}
/* Konto klienta: czytelne formularze logowania i rejestracji. */
body.woocommerce-account .woocommerce #customer_login {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(20px, 3vw, 40px);
    align-items: stretch;
    max-width: 1060px;
    margin: 10px auto 32px;
}
body.woocommerce-account .woocommerce #customer_login::before,
body.woocommerce-account .woocommerce #customer_login::after { display: none; content: none; }
body.woocommerce-account .woocommerce #customer_login > .col-1,
body.woocommerce-account .woocommerce #customer_login > .col-2 {
    float: none;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
}
body.woocommerce-account .woocommerce #customer_login h2 {
    margin: 0 0 18px;
    color: #f5f1e9;
    font-family: Georgia, serif;
    font-size: clamp(28px, 3vw, 38px);
}
body.woocommerce-account .woocommerce #customer_login form.login,
body.woocommerce-account .woocommerce #customer_login form.register,
body.woocommerce-account .woocommerce form.lost_reset_password {
    height: auto;
    min-height: 100%;
    margin: 0;
    padding: clamp(22px, 3vw, 38px);
    border: 1px solid #8b744e88;
    border-radius: 14px;
    background: #303536;
    box-shadow: 0 18px 45px #0002;
}
body.woocommerce-account .woocommerce form.lost_reset_password { max-width: 580px; min-height: 0; }
body.woocommerce-account .woocommerce #customer_login .form-row { margin: 0 0 19px; }
body.woocommerce-account .woocommerce #customer_login label,
body.woocommerce-account .woocommerce form.lost_reset_password label {
    display: block;
    margin: 0 0 7px;
    color: #f5f1e9;
    font-weight: 600;
}
body.woocommerce-account .woocommerce #customer_login input.input-text,
body.woocommerce-account .woocommerce form.lost_reset_password input.input-text {
    display: block;
    width: 100%;
    min-height: 48px;
    padding: 11px 13px;
    border: 1px solid #a88d62;
    border-radius: 8px;
    background: #252829;
    color: #fff;
}
body.woocommerce-account .woocommerce #customer_login input.input-text:focus,
body.woocommerce-account .woocommerce form.lost_reset_password input.input-text:focus {
    border-color: #e0be83;
    outline: 2px solid #c7a46c66;
    outline-offset: 1px;
}
body.woocommerce-account .woocommerce #customer_login .password-input { display: block; width: 100%; }
body.woocommerce-account .woocommerce #customer_login .show-password-input { top: 50%; transform: translateY(-50%); color: #cba974; }
body.woocommerce-account .woocommerce #customer_login .woocommerce-form-login__rememberme {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-right: 16px;
    font-weight: 400;
}
body.woocommerce-account .woocommerce #customer_login input[type="checkbox"] { width: 18px; height: 18px; accent-color: #cba974; }
body.woocommerce-account .woocommerce #customer_login button.button,
body.woocommerce-account .woocommerce form.lost_reset_password button.button {
    min-height: 48px;
    padding: 12px 25px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
}
body.woocommerce-account .woocommerce #customer_login .lost_password { margin: 18px 0 0; }
body.woocommerce-account .woocommerce #customer_login a,
body.woocommerce-account .woocommerce form.lost_reset_password a { color: #e2bd88; text-decoration: underline; text-underline-offset: 3px; }
body.woocommerce-account .woocommerce #customer_login .woocommerce-privacy-policy-text { margin: 12px 0 20px; font-size: 14px; line-height: 1.6; }
@media (max-width: 760px) {
    body.woocommerce-account .woocommerce #customer_login { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 480px) {
    body.woocommerce-account .woocommerce #customer_login form.login,
    body.woocommerce-account .woocommerce #customer_login form.register,
    body.woocommerce-account .woocommerce form.lost_reset_password { padding: 22px 18px; }
    body.woocommerce-account .woocommerce #customer_login button.button { width: 100%; margin: 10px 0 0; }
}
/* Układ konta, koszyka i formularzy na węższych ekranach. */
@media (max-width: 900px) {
    body.woocommerce-account .woocommerce-MyAccount-navigation,
    body.woocommerce-account .woocommerce-MyAccount-content {
        float: none;
        width: 100%;
        max-width: 100%;
    }
    body.woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        padding: 0;
        list-style: none;
    }
    body.woocommerce-account .woocommerce-MyAccount-navigation li a {
        display: block;
        padding: 10px 14px;
        border: 1px solid #8b744e88;
        border-radius: 8px;
    }
    body.woocommerce-account .woocommerce-MyAccount-content { margin-top: 26px; }
}
@media (max-width: 620px) {
    body.woocommerce-cart .woocommerce-cart-form,
    body.woocommerce-account .woocommerce-MyAccount-content { overflow-x: auto; }
    body.woocommerce-cart .cart-collaterals .cart_totals,
    body.woocommerce-checkout #order_review,
    body.woocommerce-checkout .woocommerce-checkout-review-order-table { width: 100%; max-width: 100%; }
    body.woocommerce-checkout form.checkout .form-row-first,
    body.woocommerce-checkout form.checkout .form-row-last,
    body.woocommerce-account .woocommerce form .form-row-first,
    body.woocommerce-account .woocommerce form .form-row-last { float: none; width: 100%; }
    body.woocommerce-cart .woocommerce table.shop_table,
    body.woocommerce-account .woocommerce table.shop_table { max-width: 100%; }
}

/* VELUM: responsywne podobne produkty. */
body.single-product .related.products ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 22px !important; }
body.single-product .related.products ul.products::before, body.single-product .related.products ul.products::after { display: none !important; content: none !important; }
body.single-product .related.products ul.products li.product { float: none !important; clear: none !important; width: auto !important; max-width: none !important; min-width: 0; margin: 0 !important; }
@media (max-width: 900px) { body.single-product .related.products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 600px) { body.single-product .related.products ul.products { grid-template-columns: minmax(0, 1fr) !important; } }

/* VELUM: czytelny formularz platnosci karta WooPayments. */
body.woocommerce-checkout #payment { background: #252829; border: 1px solid #8b744e88; border-radius: 14px; overflow: hidden; }
body.woocommerce-checkout #payment ul.payment_methods { padding: 22px; border-bottom: 1px solid #8b744e55; }
body.woocommerce-checkout #payment .payment_method_woocommerce_payments > label { color: #f5f1e9; font-weight: 600; line-height: 1.6; }
body.woocommerce-checkout #payment .payment_box.payment_method_woocommerce_payments { box-sizing: border-box; margin: 18px 0 0; padding: 22px; background: #303536; color: #f5f1e9; border: 1px solid #8b744e88; border-radius: 12px; box-shadow: 0 8px 24px #0002; }
body.woocommerce-checkout #payment .payment_box.payment_method_woocommerce_payments::before { display: none; }
body.woocommerce-checkout #payment .wc-payment-form { min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; }
body.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew { margin: 20px 0 0; padding: 16px 0 0; border-top: 1px solid #8b744e55; }
body.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew label { display: inline; margin: 0; color: #d6d3cc; font-size: 14px; font-weight: 400; line-height: 1.6; }
body.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew input[type="checkbox"] { width: 18px; height: 18px; margin: 0 9px 0 0; vertical-align: middle; accent-color: #c7a46c; }
body.woocommerce-checkout #payment .place-order { margin: 0; padding: 22px; }
body.woocommerce-checkout #payment #place_order { min-height: 50px; padding: 14px 30px; border: 1px solid #c7a46c; box-shadow: 0 4px 14px #0002; }
body.woocommerce-checkout #payment #place_order:hover { background: #e2bd88; border-color: #e2bd88; }
@media (max-width: 600px) {
 body.woocommerce-checkout #order_review { padding: 16px; }
 body.woocommerce-checkout #payment ul.payment_methods, body.woocommerce-checkout #payment .place-order { padding: 16px; }
 body.woocommerce-checkout #payment .payment_box.payment_method_woocommerce_payments { padding: 18px 14px; }
 body.woocommerce-checkout #payment #place_order { width: 100%; float: none; }
}

/* VELUM: czytelna lista krajow i regionow w zamowieniu. */
body.woocommerce-checkout .select2-dropdown { background: #fff; color: #161616; border-color: #a88d62; }
body.woocommerce-checkout .select2-container .select2-results__option { color: #161616 !important; background: #fff; }
body.woocommerce-checkout .select2-container .select2-results__option[aria-selected="true"] { background: #eee8de; color: #161616 !important; }
body.woocommerce-checkout .select2-container .select2-results__option--highlighted[aria-selected] { background: #c7a46c !important; color: #161616 !important; }
body.woocommerce-checkout .select2-container .select2-search--dropdown .select2-search__field { background: #fff; color: #161616; border: 1px solid #a88d62; border-radius: 6px; }
body.woocommerce-checkout .select2-container .select2-search__field::placeholder { color: #626262; }

/* VELUM: estetyczna wyszukiwarka krajow z lupa. */
body.woocommerce-checkout .select2-dropdown { border: 1px solid #a88d62; border-radius: 12px; overflow: hidden; box-shadow: 0 12px 32px #0003; font-size: 15px; }
body.woocommerce-checkout .select2-search--dropdown { position: relative; padding: 12px; background: #f7f5f1; border-bottom: 1px solid #e6dfd3; }
body.woocommerce-checkout .select2-search--dropdown::before { content: ""; position: absolute; z-index: 1; left: 26px; top: 50%; width: 12px; height: 12px; border: 2px solid #796344; border-radius: 50%; transform: translateY(-65%); pointer-events: none; }
body.woocommerce-checkout .select2-search--dropdown::after { content: ""; position: absolute; z-index: 1; left: 39px; top: calc(50% + 5px); width: 7px; height: 2px; background: #796344; border-radius: 2px; transform: rotate(45deg); transform-origin: left center; pointer-events: none; }
body.woocommerce-checkout .select2-container .select2-search--dropdown .select2-search__field { box-sizing: border-box; width: 100%; min-height: 44px; margin: 0; padding: 10px 14px 10px 42px !important; font-size: 16px; line-height: 1.4; border: 1px solid #c4b79f; border-radius: 8px; box-shadow: none; }
body.woocommerce-checkout .select2-container .select2-search--dropdown .select2-search__field:focus { border-color: #a88d62; outline: 2px solid #c7a46c55; outline-offset: 1px; }
body.woocommerce-checkout .select2-container .select2-results__options { max-height: 260px; scrollbar-width: thin; scrollbar-color: #b9aa91 #f7f5f1; }
body.woocommerce-checkout .select2-container .select2-results__option { padding: 11px 16px; line-height: 1.4; transition: background-color .12s ease; }
body.woocommerce-checkout .select2-container .select2-results__option[aria-selected="true"] { font-weight: 600; }
body.woocommerce-checkout .select2-container .select2-results__option--highlighted[aria-selected] { background: #eadbc1 !important; }
@media(max-width:600px){body.woocommerce-checkout .select2-container .select2-results__option { padding: 13px 16px; } body.woocommerce-checkout .select2-container .select2-results__options { max-height: 230px; }}

/* VELUM: ukrycie dodatkowego napisu nad katalogiem. */
body.post-type-archive-product .velum-shop-page__eyebrow { display: none; }
