/* Thirty Bees Shortcode — frontend styles for the WordPress-embedded shop.
 *
 * The shortcode embeds shop pages but does not re-inject the shop's CSS/icon
 * font, so icon-only controls (the cart quantity +/- buttons) collapse to 0x0
 * and become unclickable in WordPress. The rules below restore just those cart
 * controls, scoped to the embedded container so the rest of the site is
 * untouched, and render the +/- glyphs font-independently via ::before.
 */

/* ---- Cart quantity controls (Task 3) ----
 * Layout: [ - ] [ qty field ] [ + ] — field centered between the buttons.
 * thirtybees.js moves the qty input inside .cart_quantity_button (between the
 * minus and plus); this flex row keeps it perfectly aligned and responsive.
 */
.thirtybees-container .cart_quantity_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-wrap: nowrap;
}

.thirtybees-container .cart_quantity_up,
.thirtybees-container .cart_quantity_down {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 32px;
    height: 32px;
    padding: 0;
    line-height: 1;
    font-size: 18px;
    font-weight: 700;
    color: #074330;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    text-decoration: none;
    user-select: none;
}

.thirtybees-container .cart_quantity_up:hover,
.thirtybees-container .cart_quantity_down:hover {
    background: #f3f3f3;
    text-decoration: none;
}

/* Hide the (unstyled, glyph-less) icon and show a reliable +/- instead */
.thirtybees-container .cart_quantity_up > i,
.thirtybees-container .cart_quantity_down > i {
    display: none;
}
.thirtybees-container .cart_quantity_up::before {
    content: "+";
}
.thirtybees-container .cart_quantity_down::before {
    content: "\2212"; /* − minus sign */
}

/* Respect the theme's "minimum quantity reached" disabled state */
.thirtybees-container .cart_quantity_down.disabled {
    opacity: .4;
    pointer-events: none;
    cursor: default;
}

/* Ensure the quantity controls on customized lines are visible (the embed
 * otherwise hides this cell, so the +/- couldn't be used). */
.thirtybees-container tr.customization td.cart_quantity {
    display: table-cell;
}

.thirtybees-container .cart_quantity_input {
    width: 48px;
    height: 32px;
    box-sizing: border-box;
    margin: 0;
    padding: 0 4px;
    text-align: center;
    flex: 0 0 auto;
    display: inline-block;
    vertical-align: middle;
}

/* ---- In-dialog login / logout control (Task 1) ---- */
.tb-auth-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0 0 16px;
    padding: 10px 14px;
    background: #f3f6f4;
    border: 1px solid #e0e6e2;
    border-radius: 6px;
    font-size: 15px;
}
.tb-auth-bar .tb-auth-greeting { color: #074330; font-weight: 600; }
.tb-auth-bar button {
    cursor: pointer;
    border: 1px solid #074330;
    border-radius: 4px;
    padding: 8px 16px;
    line-height: 1;
    font-size: 15px;
    background: #074330;
    color: #fff;
}
.tb-auth-bar .tb-login-toggle { background: #fff; color: #074330; }
.tb-auth-bar button:hover { opacity: .9; }
.tb-auth-bar .tb-login-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin-top: 4px;
}
.tb-auth-bar .tb-login-form input {
    height: 38px;
    padding: 0 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    min-width: 200px;
    flex: 1 1 200px;
}
.tb-auth-bar .tb-login-error {
    flex: 1 0 100%;
    color: #b00020;
    font-size: 14px;
}

/* Thirtybees Generic */

.thirtybees-container {
    /* border: 1px solid #0073aa;
    border-radius: 6px;
    padding: 20px;
    margin: 20px 0;
    background: #f8f8f8;
    position: relative; */
}

.thirtybees-meta {
    font-size: 0.85em;
    color: #666;
    margin-bottom: 12px;
    border-bottom: 1px dotted #ddd;
    padding-bottom: 8px;
}

.thirtybees-id-value {
    font-family: monospace;
    background: #fff;
    padding: 2px 6px;
    border-radius: 3px;
}

.thirtybees-content {
    line-height: 1.6;
}

/* Thirtybees Cart
 * Quelle: /wp-content/plugins/thirtybees-shortcode/assets/thirtybees.css
 * Zwecks Entwicklung an diese Stelle verschoben; soll nach Fertigstellung zurück in die CSS-Datei.
 * Warnung: Hier fliegt einiges Gerümpel herum und offenbar ist dies auch eine Müllhalde von Chris.
 * Daher bitte regelmäßig Stände / Änderung in eine getrennte TXT/CSS sichern für den Fall dass man sich hier gegenseitig die Änderungen überschreibt.
 */

/* /shop/themes/niara/fonts/font-awesome/fontawesome-webfont.eot?v=4.6.3 */
@font-face {
    font-family: 'FontAwesome';
    src: url("/shop/themes/niara/fonts/font-awesome/fontawesome-webfont.eot?v=4.6.3");
    src: url("/shop/themes/niara/fonts/font-awesome/fontawesome-webfont.eot?#iefix&v=4.6.3") format("embedded-opentype"), url("/shop/themes/niara/fonts/font-awesome/fontawesome-webfont.woff2?v=4.6.3") format("woff2"), url("/shop/themes/niara/fonts/font-awesome/fontawesome-webfont.woff?v=4.6.3") format("woff"), url("/shop/themes/niara/fonts/font-awesome/fontawesome-webfont.ttf?v=4.6.3") format("truetype"), url("/shop/themes/niara/fonts/font-awesome/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular") format("svg");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Raleway';
    font-weight: 400;
    font-style: normal;
    src: url('/shop/themes/niara/fonts/raleway/raleway_400_normal_303ca8bad3777732108cf87e49aadd57.woff2') format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

div.thirtybees-container-block-single .unvisible {
    display: none;
}

div.thirtybees-container-block-single {
    line-height: 2;
    font-size: 0.85vw;
    font-family: "Noto Sans";
    color: var(--primary);
}

div.thirtybees-container-block-single input.cart_quantity_input {
    border: none;
    background: transparent;
    /*opacity: 0;*/
    /* position: absolute; */
    pointer-events: none;
    width: fit-content;
    line-height: 0%;
    padding: 0 !important;
}

div.thirtybees-container-block-single div.alert-warning {
    color: var(--bricks-text-danger);
    font-weight: 600;
    margin-top: 2vh;
}

.fancybox-wrap .fancybox-error {
    font-weight: 600;
    color: var(--bricks-text-danger);
    background-color: #f8f8f8;
    border: 1px solid grey;
    padding: 0.5vw;
}

div.thirtybees-container-block-single .paiement_block .payment_module {
    background-color: #F7EACF;
    padding: 0.5vw;
}

div.thirtybees-container-block-single p.cart_navigation,
div.thirtybees-container-block-single p.address_add,
div.thirtybees-container-block-single div.submit2>button {
    /*vertical-align: middle;
	display: inline-block;
	flex-direction: row;
	display: flex;*/
    padding-top: 1vw;
    padding-bottom: 1vw;
    /*justify-content: space-between;
	max-width: 100%;
	align-items: flex-start;
	box-sizing: border-box;
	vertical-align: middle;*/
    display: inline-block;
    vertical-align: middle;
    letter-spacing: 0px;
    line-height: 0px;
    width: 100%;
    text-align: left;
    background-color: transparent;
}

div.thirtybees-container-block-single p.cart_navigation>a,
div.thirtybees-container-block-single p.address_add>a,
div.thirtybees-container-block-single p.cart_navigation>button.pull-right {
    /*gap: 1.5vw;
	vertical-align: middle;
	background-color: hsla(0, 0%, 100%, 0);*/
    font-weight: 600;
    color: var(--primary);
    display: inline-block;
    /*text-align: left;
	justify-content: space-between;*/
    /*padding: 0;
	min-width: 1.2vw;
	min-height: 1.2vw;*/
    align-items: center;
    border-width: 0;
    display: inline-flex;
    /*max-width: 100%;
	box-sizing: border-box;*/
}

div.thirtybees-container-block-single p.cart_navigation>a>span,
div.thirtybees-container-block-single p.address_add>a>span,
div.thirtybees-container-block-single p.cart_navigation>button.pull-right>span,
div.thirtybees-container-block-single div.submit2>button>span {
    display: inline-flex;
    /* or inline-block */
    align-items: center;
    /* Vertically center the content */
    vertical-align: middle;
    /* Vertically align the span with the surrounding content */
}

div.thirtybees-container-block-single p.cart_navigation>a>span>svg,
div.thirtybees-container-block-single p.address_add>a>span>svg,
div.thirtybees-container-block-single p.cart_navigation>button.pull-right>span>svg,
div.thirtybees-container-block-single div.submit2>button>span>svg {
    margin: 0 0 0 1.5vw;
}

div.thirtybees-container-block-single p.cart_navigation>a.btn-full,
div.thirtybees-container-block-single p.cart_navigation>button.pull-right {
    float: right;
    background-color: transparent;
}

div.thirtybees-container-block-single p.cart_navigation a.btn-default {
    /*display: none;*/
    float: left;
}

div.thirtybees-container-block-single p.cart_navigation a.btn-default svg {
    margin-right: 1.25vw;
}

div.thirtybees-container-block-single p.cart_navigation>a.btn-full>span {}

div.thirtybees-container-block-single p.cart_navigation>a.btn-full svg {
    height: 2.5vw;
    width: 2.5vw;
}

div.order_delivery ul.address,
div.addresses ul.address,
div.thirtybees-container-block-single nav ul.pager,
div.thirtybees-container-block-single .bloc_adresses ul.box {
    list-style-type: none;
    padding: 0;
    margin: 0;
    column-gap: 0.2vw;
    line-height: 1.3;
}

div.order_delivery ul.address li,
div.addresses ul.address li {}

h1#cart_title {

    margin-bottom: 3vw;
}

h1#cart_title #summary_products_quantity {
    font-weight: 600;
}

#emptyCartWarning {}

#cart_summary {}

#cart_summary i.icon.icon-trash {
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    box-sizing: border-box;
}

#cart_summary i.icon.icon-trash:before {
    content: "";
}

div.thirtybees-container-block-single main.col-xs-12>div.row>div.col-sm-6 {
    width: 49%;
    display: inline-block;
    vertical-align: top;
}

div.thirtybees-container-block-single main.col-xs-12>div.row>div.col-sm-6:not(:last-child) {
    padding-right: 1vw;
}

div.thirtybees-container-block-single main div.gender-line label.radio-inline {
    width: 49%;
    display: inline-block;
}

div.thirtybees-container-block-single main div.date-select>div.row>div.col-xs-4 {
    width: 33%;
    display: inline-block;
}

div.thirtybees-container-block-single main form > div.box {
    padding-left: 0 !important;
}

div.thirtybees-container-block-single main form > p.cart_navigation {
    padding-left: 0;
}

div.thirtybees-container-block-single main form > p.cart_navigation > button {
    display: inline-block;
}

div.thirtybees-container-block-single main form > p.cart_navigation > span {
    display: none;
}

div.thirtybees-container-block-single main form > p.cart_navigation span > svg {
    vertical-align: middle;
    margin-left: 1.5vw;
}

#cart_summary tr th {
    font-weight: 600;
    border-bottom: 2px solid rgba(7, 67, 48, 0.5);
    padding-top: 0.8vw;
    padding-right: 3vw;
    padding-bottom: 0.8vw;
    column-gap: 2vw;
    /*
	padding-left: 0;
	padding-right: 0;
	margin-left: 0;
	margin-right: 0;
	*/
}

#cart_summary tr td {
    font-size: 1.2vw;
    line-height: 1.6;
}

#cart_summary th.cart_product {}

#cart_summary td.cart_product {}

#cart_summary th.cart_product,
#cart_summary td.cart_product {
    display: none;
}

#cart_summary th.cart_description {}

#cart_summary td.cart_description {}

#cart_summary th.cart_description,
#cart_summary td.cart_description {
    text-align: left;
}


#cart_summary th.cart_avail {}

#cart_summary td.cart_avail {}

#cart_summary th.cart_avail,
#cart_summary td.cart_avail {
    display: none;
}

#cart_summary tr.customization>td:first-child,
#cart_summary tr.customization>td:nth-child(3) {
    display: none;
}

#cart_summary tr.customization>td ul {
    list-style-type: none;
    padding: 0;
}

#cart_summary th.cart_unit {}

#cart_summary td.cart_unit {}

#cart_summary th.cart_unit,
#cart_summary td.cart_unit {
    text-align: left;
}

#cart_summary td.cart_unit ul.price {
    list-style-type: none;
    padding: 0px;
}

#cart_summary th.cart_quantity {}

#cart_summary td.cart_quantity {}

#cart_summary th.cart_quantity,
#cart_summary td.cart_quantity {
    text-align: left;
}

#cart_summary th.cart_total {}

#cart_summary td.cart_total {}

#cart_summary td#cart_voucher {}

/*
#cart_summary tr.cart_total_price > td:nth-child(8) {
	display: none;
}

#cart_summary #total_product:nth-child(4), #cart_summary #total_shipping:nth-child(3) {
	display: none;
}

#cart_summary form#voucher {
    display: none;
}
*/
#cart_summary tfoot td.cart_voucher {
    display: none;
}

#cart_summary tfoot td.price {
    text-align: right;
}

#cart_summary tfoot tr.cart_total_price td.text-right {
    text-align: right;
}

#cart_summary th.cart_total,
#cart_summary td.cart_total {
    text-align: right;
}

#order_step.nav {
    list-style-type: none;
    column-gap: 0.2vw;
    row-gap: 2vw;
    max-width: 100%;
    align-items: flex-start;
    display: flex;
    flex-direction: row;
    /* width: 100%; */
    box-sizing: border-box;
    line-height: 2;
    font-size: 0.85vw;
    font-family: "Noto Sans";
    /* padding: 0; */
    margin: 0;
}

#order_step.nav>li {
    padding-top: 0.5vw;
    padding-bottom: 0.5vw;
    align-items: center;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
    margin-right: 1px;
}

#order_step.nav>li.active {
    background-color: var(--primary);
    color: #fff !important;
}

#order_step.nav>li.completed {
    background-color: var(--bricks-bg-success);
}

#order_step.nav>li.not-completed {
    background-color: #F7EACF;
}