/**
 * Theme Name:     Clean Ingredients (Kadence Child)
 * Author:         clean-ingredients
 * Template:       kadence
 * Text Domain:    kadence-child
 * Version:        1.0.40
 * Description:    Child theme for Kadence with the shop's custom WooCommerce code (moved from Astra Child).
 */

/* Jost for the home page button, served from the theme instead of Google Fonts */
@font-face {
    font-family: 'Jost';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('fonts/jost-600-latin.woff2') format('woff2');
}


li.woocommerce-MyAccount-navigation-link--edit-address {
    display: none;
}
.content--title h3 {
        margin-top: 1.5em;
    margin-bottom: calc(0.3em + 10px);    color: #1e293b;    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.3em;
}


.um-page-login .ekit-template-content-footer, .um-page-register .ekit-template-content-footer{
    margin-top: 40px;
}



.woocommerce-Price-amount.amount, .woocommerce-cart .price-per-kg {

    text-align: right;

}

.woocommerce-cart .cart_totals .shop_table {
    display: none;
}

.woocommerce-cart .product-subtotal {
    text-align: right;
}



/* Order details: right-align numbers */
.woocommerce-table--order-details th.product-total,
.woocommerce-table--order-details td.product-total,
.woocommerce-table--order-details tfoot td {
    text-align: right !important;
    font-variant-numeric: tabular-nums;
}
.woocommerce-orders-table__cell-order-total {
    text-align: right !important;
    white-space: nowrap;
}
.woocommerce-orders-table__header-order-total {
    text-align: right !important;
}

.woocommerce-js table.shop_table td, .woocommerce-page table.shop_table td {
    border-color: #d1d5db !important;
}


.woocommerce-account.woocommerce-js table.shop_table td.woocommerce-orders-table__cell-order-date

{
    text-align: right;
}



.woocommerce-account.woocommerce-js table.shop_table tbody th.woocommerce-orders-table__cell-order-number , 
.woocommerce-account.woocommerce-js table.shop_table tfoot td.woocommerce-orders-table__cell-order-number 

{
    text-align: right;

}
    
    
    .page-id-14.woocommerce-account.woocommerce-js table.shop_table td.woocommerce-orders-table__cell-order-actions, .page-id-14.woocommerce-account.woocommerce-page table.shop_table td.woocommerce-orders-table__cell-order-actions {
   text-align: center;
}



/* ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ Keep My Account orders list as a real table on all screen sizes ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ */
.woocommerce-orders-table.shop_table_responsive,
.woocommerce-orders-table.shop_table_responsive thead,
.woocommerce-orders-table.shop_table_responsive tbody,
.woocommerce-orders-table.shop_table_responsive tr,
.woocommerce-orders-table.shop_table_responsive th,
.woocommerce-orders-table.shop_table_responsive td {
    display: revert !important;
    
}
/* Keep header row visible */
.woocommerce-orders-table.shop_table_responsive thead tr {
    display: table-row !important;
}
/* Remove the data-title "label:" pseudo-elements injected for stacked layout */
.woocommerce-orders-table.shop_table_responsive td::before {
    display: none !important;
}
/* Optional: let the table scroll horizontally on very narrow screens */
@media (max-width: 600px) {
    
    .woocommerce-orders-table.shop_table_responsive,
.woocommerce-orders-table.shop_table_responsive thead,
.woocommerce-orders-table.shop_table_responsive tbody,
.woocommerce-orders-table.shop_table_responsive tr,
.woocommerce-orders-table.shop_table_responsive th,
.woocommerce-orders-table.shop_table_responsive td {
    border: 1px solid lightgray;
 
}
    .woocommerce-orders-table-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .woocommerce-orders-table.shop_table_responsive {
        min-width: 420px;
    }
}




/* ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ Cart: real table from 768px up, one card per product on phones ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ */

/* Remove button: a clearly visible red circle instead of a faint "ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â" */
.woocommerce-cart table.cart td.product-remove a.remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 2px solid #c62828;
    border-radius: 50%;
    color: #c62828 !important;
    font-size: 20px;
    line-height: 1;
    opacity: 1;
    text-decoration: none;
}
.woocommerce-cart table.cart td.product-remove a.remove:hover,
.woocommerce-cart table.cart td.product-remove a.remove:focus {
    background: #c62828;
    color: #fff !important;
}
/* The "Ã—" glyph sits low in its line box, so on tables the cross is drawn with two bars, exactly centred */
@media (min-width: 768px) {
    .woocommerce-cart table.cart td.product-remove a.remove { position: relative; font-size: 0; }
    .woocommerce-cart table.cart td.product-remove a.remove::before,
    .woocommerce-cart table.cart td.product-remove a.remove::after {
        content: ""; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; border-radius: 1px;
        background: currentColor; transform: translate(-50%, -50%) rotate(45deg);
    }
    .woocommerce-cart table.cart td.product-remove a.remove::after { transform: translate(-50%, -50%) rotate(-45deg); }
}

@media (min-width: 768px) {
    /* Cancel WooCommerce smallscreen stacking between 768px and its own breakpoint */
    .woocommerce-cart .woocommerce-cart-form table.shop_table.shop_table_responsive tbody tr {
        display: table-row !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table.shop_table_responsive tbody td,
    .woocommerce-cart .woocommerce-cart-form table.shop_table.shop_table_responsive thead th {
        display: table-cell !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table.shop_table_responsive td::before {
        display: none !important;
    }
    .woocommerce-js #content table.cart td, .woocommerce-page #content table.cart td {
        border: 1px solid lightgray;
        padding-left: 7px;
        padding-right: 7px;
    }
}

@media (max-width: 767px) {
    .woocommerce-cart .woocommerce-cart-form table.shop_table,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody {
        display: block;
        width: 100%;
        min-width: 0;
        border: 0;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table thead {
        display: none;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "details details"
            "qty qty"
            "price subtotal"
            "remove remove";
        gap: 10px 12px;
        margin: 0 0 14px;
        padding: 14px;
        border: 1px solid #d1d5db;
        border-radius: 8px;
        background: #fff;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td {
        display: block !important;
        padding: 0 !important;
        border: 0 !important;
        text-align: left !important;
        background: none !important;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td:not(.product-price):not(.product-subtotal)::before {
        display: none !important;
    }
    .woocommerce-cart table.cart td.product-details  { grid-area: details; }
    .woocommerce-cart table.cart td.product-quantity { grid-area: qty; }
    .woocommerce-cart table.cart td.product-price    { grid-area: price; }
    .woocommerce-cart table.cart td.product-subtotal { grid-area: subtotal; text-align: right !important; }
    .woocommerce-cart table.cart td.product-remove   { grid-area: remove; }

    /* Labels above the values that lost their table header */
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-price::before,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-subtotal::before {
        display: block !important;
        float: none !important;
        font-size: 12px;
        font-weight: 400;
        color: #64748b;
    }
    .woocommerce-cart table.cart td.product-price::before    { content: "Grundpreis" !important; }
    .woocommerce-cart table.cart td.product-subtotal::before { content: "Gebindepreis" !important; }
    .woocommerce-cart table.cart td.product-price,
    .woocommerce-cart table.cart td.product-subtotal { font-weight: 600; }
    .woocommerce-cart table.cart td.product-price p { margin: 0; text-align: left; }

    /* Product: small image next to name and SKU */
    .woocommerce-cart table.cart td.product-details .grid-row {
        display: flex;
        align-items: center;
        gap: 12px;
    }
    .woocommerce-cart table.cart td.product-details img {
        width: 64px;
        height: auto;
        flex: none;
    }
    .woocommerce-cart table.cart td.product-details .product-info-wrapper a {
        font-weight: 600;
    }
    .woocommerce-cart table.cart td.product-details .product-sku { margin: 2px 0 0; font-size: 13px; }

    /* The old Astra CSS (css/legacy.css) pins the remove cell to the top right corner; here it is the
       full-width "Entfernen" button at the bottom of the card */
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-remove {
        position: static !important; top: auto !important; right: auto !important; width: 100%;
    }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item { position: relative; }

    /* Quantity: input and pack size side by side */
    .woocommerce-cart table.cart td.product-quantity .grid-row {
        display: flex;
        align-items: center;
        gap: 12px;
    }
    .woocommerce-cart table.cart td.product-quantity .product-weight { margin: 0; font-size: 14px; }
    .woocommerce-cart table.cart td.product-quantity input.qty { width: 80px; }

    /* Remove: full-width text button at the bottom of the card */
    .woocommerce-cart table.cart td.product-remove a.remove {
        width: 100%;
        height: 40px;
        border-radius: 6px;
        font-size: 0;
    }
    .woocommerce-cart table.cart td.product-remove a.remove::after {
        content: "\00D7  Entfernen";
        font-size: 15px;
        font-weight: 600;
    }

    .woocommerce-cart .woocommerce-cart-form table.shop_table tr:not(.cart_item),
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr:not(.cart_item) td {
        display: block;
        border: 0;
    }
}


.woocommerce-cart main {
    padding: 0px !important;
    
}


@media screen and (max-width: 767px) {
    body.woocommerce-cart .site-content .ast-container
    {
        padding: 12px !important;
    }
}


/* FunnelKit side cart: start below the WordPress admin bar, otherwise its header ("Ihr Warenkorb", close X)
   is hidden behind the bar for logged-in shop managers */
body.admin-bar #fkcart-modal .fkcart-preview-ui { top: 32px !important; height: calc(100% - 32px) !important; }
@media screen and (max-width: 782px) {
    body.admin-bar #fkcart-modal .fkcart-preview-ui { top: 46px !important; height: calc(100% - 46px) !important; }
}

/* FunnelKit side cart: the remove cross as a small white badge on the picture corner, cross centred */
#fkcart-modal .fkcart-remove-item { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; top: -10px; left: -10px; }
#fkcart-modal .fkcart-remove-item > span {
    display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%;
    background: #fff; border: 1px solid #d1d5db; box-shadow: 0 1px 3px rgba(0, 0, 0, .12); color: #64748b;
}
#fkcart-modal .fkcart-remove-item svg { width: 10px; height: 10px; }
#fkcart-modal .fkcart-remove-item:hover > span { border-color: #c62828; color: #c62828; }

/* FunnelKit side cart, matched to how it looked under Astra */
/* notices in WooCommerce's own style, as on the old shop (Kadence draws them with a green bar) */
.woocommerce-info, .woocommerce .woocommerce-info, .woocommerce-page .woocommerce-info {
    position: relative; margin: 0 0 32px; padding: 16px 32px 16px 56px !important;
    background: #f7f6f7 !important; border: 0 !important; border-top: 3px solid #902d22 !important; color: #515151 !important; font-size: 16px;
}
.woocommerce-info::before {
    content: ""; position: absolute; left: 24px; top: 18px; width: 16px; height: 16px; background: #902d22;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 16H5V9h14v11z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 16H5V9h14v11z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Full-width blocks (home hero) must not stick out past the screen edge on phones */
.content-width-fullwidth .entry-content > .alignfull { margin-left: 0; margin-right: 0; width: 100%; max-width: 100%; }

/* Product search as a menu item below 1025px, where the header search field is hidden:
   last item of the menu bar on tablets, in the blue bar left of the menu button on phones */
#primary-menu > .ci-menu-search { display: flex; align-items: center; margin-left: 12px; }
#primary-menu > .ci-menu-search .dgwt-wcas-search-wrapp { width: 250px; min-width: 0; max-width: none; }
@media (min-width: 1025px) { #primary-menu > .ci-menu-search { display: none; } }
#mobile-header .site-bottom-header-inner-wrap { display: flex; align-items: center; gap: 12px; }
#mobile-header .site-header-bottom-section-left { flex: 1 1 auto; min-width: 0; }
#mobile-header .ci-mobile-search { width: 100%; }
#mobile-header .ci-mobile-search .dgwt-wcas-search-wrapp { width: 100%; min-width: 0; max-width: none; }

/* Home hero title grows with the screen from tablets up, so it stays on one line (65px from ~1230px) */
@media (min-width: 768px) {
    .entry-content .ci-hero .ci-hero-title { font-size: clamp(38px, calc(6vw - 8px), 65px); }
}

/* Header logo never larger than on desktop (226px): phones up to 205px, aligned left like on tablets;
   tablets grow from 205px to 226px */
@media (max-width: 767px) {
    #mobile-header .site-header-main-section-left .site-branding a.brand { justify-content: flex-start; }
    #mobile-header .site-header-main-section-left .site-branding a.brand img { max-width: 205px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
    #main-header .site-header-main-section-center .site-branding a.brand img { max-width: 226px; }
}

/* Phones: slim search field in the blue bar, same corners as the menu button, so it does not fill the whole bar */
@media (max-width: 767px) {
    #mobile-header .ci-mobile-search .dgwt-wcas-sf-wrapp { padding: 0; }
    #mobile-header .ci-mobile-search input.dgwt-wcas-search-input {
        height: 32px; padding: 0 34px 0 36px; border: 0; border-radius: 3px; font-size: 14px; line-height: 32px;
    }
    #mobile-header .ci-mobile-search .dgwt-wcas-search-submit {
        top: 0; left: 4px; width: 30px; height: 32px; min-height: 0; margin: 0; transform: none;
    }
    #mobile-header .ci-mobile-search .dgwt-wcas-search-submit svg { width: 15px; height: 15px; }
    #mobile-header .ci-mobile-search .dgwt-wcas-preloader,
    #mobile-header .ci-mobile-search .dgwt-wcas-close { height: 32px; top: 0; right: 6px; margin: 0; }
}
