/*
Theme Name: DessertBar
Theme URI: 
Author: 
Author URI: 
Description: 
Requires at least: 7.0
Tested up to: 7.0
Requires PHP: 5.7
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: twentytwentyfive
Text Domain: dessertbar
Tags: 
*/
:root {
    --db-image-border-radius: 16px;
    --db-btn-transition-time: 0.18s;
    --db-color-gold-400: #f5dfa0;
    --db-shadow-card-hover: 0 14px 28px rgba(20, 60, 136, 0.14);
    --db-shadow-cta-hover: 0 10px 22px rgba(6, 88, 188, 0.32);
    --db-shadow-gold-hover: 0 10px 22px rgba(0, 0, 0, 0.25);
}

html {
    scrollbar-gutter: stable;
    overflow-y: scroll;
}

.wp-block-group.is-style-section-1 {
    border-left: 3px solid var(--wp--preset--color--db-gold-500);
    padding-left: var(--wp--preset--spacing--50);
}
.wp-site-blocks :focus {
    outline-width: 0;
}

header.wp-block-template-part {
    position: relative;
    top: calc(0px + var(--wp-admin--admin-bar--position-offset, 0px));
    position: sticky;
    z-index: 10;
}
footer.wp-block-template-part {
    margin-block-start: 0;
}
footer.wp-block-template-part > .has-db-blue-600-background-color {
    position: relative;
}
footer.wp-block-template-part > .has-db-blue-600-background-color::before {
    content: "";
    position: absolute;
    inset: 0;
    display: block;
    background-color: var(--wp--preset--color--db-blue-600);
    z-index: 0;
    opacity: .8;
}
footer.wp-block-template-part > .has-db-blue-600-background-color > * {
    position: relative;
    z-index: 1;
}

main.wp-block-group {
    margin-block-start: 0;
}

.o-hidden {
    overflow: hidden;
}

.wp-block-image img {
    display: block;
}

.show-only-on-cart {
    display: none;
}
.woocommerce-cart .show-only-on-cart {
    display: block;
}

.wp-block-social-links.has-icon-color.is-style-logos-only.is-style-circled .wp-block-social-link-anchor {
    border: 1px solid #4d77c9;
    border-radius: 50%;
    padding: 8px;
}

.wp-block-table.is-style-horizontal-nopad td {
    padding-inline: 0px;
    padding-top: 0px;
}

.wp-block-button.is-style-text-arrow>.wp-block-button__link::after,
.wp-block-read-more.is-style-text-arrow::after {
    content: "→";
    vertical-align: middle;
    display: inline-block;
    margin-block-start: -0.4em;
    margin-inline-start: 0.2em;
}

.wp-block-gallery.is-style-rounded-grid .wp-block-image img {
    border-radius: var(--db-image-border-radius, 16px);
}

/* ---- Grid based gallery styling ---- */
@media (min-width: 600px) {
    .wp-block-gallery.is-style-rounded-grid {
        display: grid;
    }
    .wp-block-gallery.has-nested-images.is-style-rounded-grid figure.wp-block-image:not(#individual-image) {
        width: 100%;
    }

    .wp-block-gallery.is-style-rounded-grid.columns-2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .wp-block-gallery.is-style-rounded-grid.columns-3 {
        grid-template-columns: repeat(3, 1fr);
    }
    .wp-block-gallery.is-style-rounded-grid.columns-4 {
        grid-template-columns: repeat(4, 1fr);
    }

    .wp-block-gallery.is-style-rounded-grid figure.wp-block-image.double {
        grid-column: span 2;
        grid-row: span 2;
    }
}
/* ---- Buttons extra hover/focus styling ---- */
.wp-block-button .wp-block-button__link,
:is(
    .button.single_add_to_cart_button,
    .wc-block-components-button,
    .woocommerce-button,
    .woocommerce-Button
) {
    transition-property: transform, box-shadow, background, border-color;
    transition-duration: var(--db-btn-transition-time, .2s);
    transition-timing-function: ease;
}
.wp-block-button:not([class*="is-style-outline"], .is-style-text-arrow) .wp-block-button__link:is(:hover, :focus),
:is(
    .button.single_add_to_cart_button,
    .wc-block-components-button,
    .woocommerce-button,
    .woocommerce-Button
):is(:hover, :focus) {
    transform: translateY(-2px);
}
.wp-block-button:not([class*="is-style-outline"], .is-style-text-arrow) .wp-block-button__link:not(.has-background):is(:hover, :focus),
:is(
    .button.single_add_to_cart_button,
    .wc-block-components-button,
    .woocommerce-button,
    .woocommerce-Button
):is(:hover, :focus) {
    box-shadow: var(--db-shadow-cta-hover);
    background-color: var(--wp--preset--color--db-blue-700);
}
.wp-block-button:not([class*="is-style-outline"], .is-style-text-arrow) .wp-block-button__link.has-db-gold-500-background-color:is(:hover, :focus) {
    box-shadow: var(--db-shadow-gold-hover);
    background-color: var(--db-color-gold-400);
}
.wp-block-button.is-style-outline-light .wp-block-button__link:is(:hover, :focus) {
    background-color: rgba(255,255,255,0.14);
    border-color: #fff;
}
.wp-block-button.is-style-outline-dark .wp-block-button__link:is(:hover, :focus) {
    background-color: #f3f7ff;
    border-color: var(--wp--preset--color--db-blue-600);
}

/* ---- Header menu ---- */
.heading-menu :is(
    .wp-block-navigation-link,
    .wc-block-customer-account__link,
    .wc-block-mini-cart__button,
    .wp-block-woocommerce-cart-link
) {
    border-bottom: 2px solid transparent;
}
.heading-menu .wp-block-navigation-link a.wp-block-navigation-item__content,
.heading-menu a.wc-block-customer-account__link {
    font-weight: 600;
}
.heading-menu :is(
    .wp-block-navigation-link,
    .wc-block-customer-account__link,
    .wc-block-mini-cart__button,
    .wp-block-woocommerce-cart-link
):is(:hover, :focus, .current-menu-item) {
    color: var(--wp--preset--color--db-blue-600);
    border-bottom-color: var(--wp--preset--color--db-gold-500);
}
.heading-menu .wc-block-customer-account__link:is(:hover, :focus) {
    text-decoration: underline;
}
.wc-block-mini-cart__icon {
    width: 1.5em;
}

@media screen and (min-width: 971px) {
    .heading-menu .wp-block-navigation-link a.wp-block-navigation-item__content,
    .heading-menu a.wc-block-customer-account__link {
        padding: 24px 0;
    }
    .heading-menu .wc-block-mini-cart__button,
    .heading-menu .wp-block-woocommerce-cart-link {
        padding: 23px 0;
    }
}

/* ---- Header menu mobile breakpoint adjust ---- */
@media screen and (max-width: 970px) {
    /* Show the hamburger button */
    .wp-block-navigation__responsive-container-open {
        display: block !important;
    }

    /* Hide the full menu, but only when the modal is closed */
    .wp-block-navigation__responsive-container:not(.is-menu-open.has-modal-open) {
        display: none !important;
    }

    .heading-menu .desktop-only {
        display: none !important;
    }

    .heading-menu a.wc-block-customer-account__link,
    .heading-menu .wc-block-mini-cart__button,
    .heading-menu .wp-block-woocommerce-cart-link {
        padding: 0;
    }

    .heading-menu .wc-block-customer-account__link,
    .heading-menu .wp-block-woocommerce-cart-link {
        display: inline-flex;
    }
}

/* ---- Product listing style ---- */
.wp-block-read-more {
    text-wrap: nowrap;
}
.product-card {
    transition-property: transform, box-shadow, border-color;
    transition-duration: var(--db-btn-transition-time, .2s);
    transition-timing-function: ease;
}
.product-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--db-shadow-card-hover);
    border-color: #C9D8F2;
}
.wc-block-product-template__responsive.columns-3 {
    grid-template-columns: repeat(auto-fill, minmax(max(250px, calc(33.33333% - .83333em)), 1fr));
}

/* ---- Product page style ---- */
.variations_form table.variations {
    display: none;
}

.meret-cards {
    margin: 0 0 1.5rem;
}

.meret-cards__label {
    display: block;
    font-size: var(--wp--preset--font-size--small);
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 12px;
    letter-spacing: 0.05em;
    color: var(--wp--preset--color--db-ink-500);
}

.meret-cards__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}

.meret-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .35rem;
    text-align: left;
    cursor: pointer;
    padding: 16px 18px;
    font-weight: 700;
    border: 1.5px solid var(--wp--preset--color--db-keret);
    border-radius: 14px;
    background: #fff;
    transition-property: background, border-color;
    transition-duration: var(--db-btn-transition-time, .2s);
    transition-timing-function: ease;
}
.meret-card.is-selected {
    border-color: var(--wp--preset--color--db-blue-600);
    background: #f3f7ff;
    box-shadow: 0 0 0 1px var(--wp--preset--color--db-blue-600) inset;
}

.meret-card__title {
    color: var(--wp--preset--color--db-navy-800);
}
.meret-card__info  {
    font-size: var(--wp--preset--font-size--small);
    color: var(--wp--preset--color--db-ink-500);
    font-weight: 400;
}
.meret-card__price {
    color: var(--wp--preset--color--db-blue-600);
    font-size: 1.1875rem;
    margin-top: .15rem;
}
.meret-card__price .amount {
    color: inherit;
}

.single-product .woocommerce-variation {
    margin-bottom: 0 !important;
}
.single-product .woocommerce-variation .woocommerce-variation-price {
    display: none;
}

.thwepo-extra-options {
    margin-block-end: 1rem;
    border-collapse: separate;
    border-spacing: 0px 10px;
}
.thwepo-extra-options td.value {
    border: 1px solid var(--wp--preset--color--db-keret);
    padding: 13px 16px !important;
    border-radius: 12px;
    position: relative;
}
.thwepo-extra-options input[type="checkbox"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    z-index: 5;
}
.thwepo-extra-options input[type="checkbox"] + label {
    display: flex !important;
    gap: 10px;
    margin-bottom: 0;
}
.thwepo-extra-options input[type="checkbox"] + label::before {
    content: "";
    width: 17px;
    height: 20px;
    padding-left: 3px;
    border-radius: 6px;
    font-size: 18px;
    line-height: 20px;
    display: block;
    flex-shrink: 0;
    flex-basis: 17px;
    border: 2px solid var(--wp--preset--color--db-ink-500);
    opacity: .6;
    text-align: center;
}
.thwepo-extra-options input[type="checkbox"]:checked + label::before {
    opacity: 1;
    background-color: var(--wp--preset--color--db-blue-600);
    border-color: var(--wp--preset--color--db-blue-600);
    color: var(--wp--preset--color--base);
    content: "✔";
}

.wp-block-woocommerce-product-specifications {
    border-radius: 16px;
    padding: var(--wp--preset--spacing--30);
    font-size: 0.84rem;
    background-color: var(--wp--preset--color--db-cream);
}
.wp-block-woocommerce-product-specifications table :is(th, td) {
    border: none;
    padding-block: 0;
}
.wp-block-woocommerce-product-specifications table th {
    padding-left: 0;
}
.wp-block-woocommerce-product-specifications table :is(th, td) :first-child {
    margin-top: 0;
}
.wp-block-woocommerce-product-specifications table :is(th, td) :last-child {
    margin-bottom: 0;
}

/* WC buttons which should look like  */
.button.single_add_to_cart_button,
.wc-block-components-button,
.woocommerce-button,
.woocommerce-Button {
    padding-block: clamp(10px, 10px + ((1vw - 3.2px) * 0.476), 14px);
    padding-inline: clamp(15px, 15px + ((1vw - 3.2px) * 1.548), 28px);
    background-color: var(--wp--preset--color--db-blue-600);
    color: var(--wp--preset--color--base);
    font-size: clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.119), 15px);
    letter-spacing: 0.01em;
    line-height: inherit;
    border-radius: 9999px;
}

/* quantity style */
.quantity {
    border: 1px solid var(--wp--preset--color--db-keret);
    border-radius: 9999px;
    min-height: 50px;
    overflow: hidden;
    align-items: stretch;
}
button.btn-qty {
    width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: var(--wp--preset--color--db-blue-600);
    border: none;
    cursor: pointer;
    background-color: transparent;
}
button.btn-qty:hover {
    background-color: var(--wp--preset--color--db-cream);
}
.woocommerce .quantity .qty {
    border: none;
    text-align: center;
    font-size: var(--wp--preset--font-size--medium);
    color: var(--wp--preset--color--db-navy-800);
    font-weight: 700;
    margin: 0 !important;
}
.woocommerce .quantity .qty:focus {
    box-shadow: inset 0 0 1px 1px var(--wp--preset--color--db-keret);
}

/* Cart stuff */
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
    font-family: var(--wp--preset--font-family--cormorant-garamond);
    font-size: clamp(1.1rem, 1.1rem + ((1vw - 0.2rem) * 0.174), 1.3rem);
    color: var(--wp--preset--color--db-navy-800);
    text-decoration: none;
}
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name:hover {
    text-decoration: underline;
}
.db-cart-totals {
    background-color: var(--wp--preset--color--db-cream);
    border-radius: 16px;
    padding: clamp(15px, 15px + ((1vw - 3.2px) * 1.548), 28px) !important;
}
.wc-block-components-sidebar-layout {
    align-items: flex-start;
}

.wc-block-cart .wc-block-components-sidebar .wc-block-cart__totals-title,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
    display: block;
    font-family: var(--wp--preset--font-family--cormorant-garamond);
    font-size: var(--wp--preset--font-size--x-large);
    margin-top: 0;
    margin-bottom: 0.75rem;
    padding: 0;
    text-transform: none;
}

.is-small table.wc-block-cart-items .wc-block-cart-items__row {
    gap: 12px;
}
.is-mobile table.wc-block-cart-items .wc-block-cart-items__row {
    gap: 8px;
}

.wc-block-components-quantity-selector {
    border: 1px solid var(--wp--preset--color--db-keret);
    border-radius: 9999px;
}
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
    font-size: clamp(12px, 12px + ((1vw - 3.2px) * 0.238), 14px);
    color: var(--wp--preset--color--db-navy-800);
    font-weight: 700;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
    font-size: clamp(12px, 12px + ((1vw - 3.2px) * 0.238), 14px);
    color: var(--wp--preset--color--db-blue-600);
    font-weight: 700;
}

.wc-block-components-product-metadata__description { display: none; }

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
    margin-top: 0;
}

/* ---- Form inputs ---- */
.wc-block-components-form .wc-block-components-text-input,
.wc-block-components-text-input,
.wc-blocks-components-select__container {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
}
:is(
    .wc-block-components-form .wc-block-components-text-input,
    .wc-block-components-text-input
) input:is(
    [type=email],
    [type=number],
    [type=password],
    [type=tel],
    [type=text],
    [type=url]
),
.wc-blocks-components-select .wc-blocks-components-select__select,
.woocommerce form .form-row input.input-text {
    border: 1px solid var(--wp--preset--color--db-keret);
    padding: 12px 14px;
    border-radius: 10px;
    color: var(--wp--preset--color--db-navy-800);
    font-size: clamp(13px, 13px + ((1vw - 3.2px) * 0.238), 15px);
    line-height: 1.2;
    order: 2;
    height: auto;
}

:is(
    .wc-block-components-form .wc-block-components-text-input,
    .wc-block-components-text-input
).is-active input:is(
    [type=email],
    [type=number],
    [type=password],
    [type=tel],
    [type=text],
    [type=url]
):is(*, :focus),
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
    padding: 12px 14px;
}

:is(
    .wc-block-components-form .wc-block-components-text-input,
    .wc-block-components-text-input
).is-active input:is(
    [type=email],
    [type=number],
    [type=password],
    [type=tel],
    [type=text],
    [type=url]
):focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
    border-color: var(--wp--preset--color--db-blue-600);
}

:is(
    .wc-block-components-form .wc-block-components-text-input,
    .wc-block-components-text-input
) label,
.wc-blocks-components-select .wc-blocks-components-select__label,
.woocommerce form .form-row label {
    position: static;
    font-size: var(--wp--preset--font-size--small);
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--wp--preset--color--db-ink-500);
    transform: scale(1);
    line-height: 1rem;
    order: 1;
}

:is(
    .wc-block-components-form .wc-block-components-text-input,
    .wc-block-components-text-input
).is-active label {
    transform: scale(1);
}

.wc-blocks-components-select .wc-blocks-components-select__expand {
    fill: var(--wp--preset--color--db-navy-800);
    top: 32px;
    transform: none;
}

.wc-block-components-title.wc-block-components-title {
    font-size: var(--wp--preset--font-size--large);
}

.wc-block-components-radio-control--highlight-checked :is(
    .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
    label.wc-block-components-radio-control__option--checked-option-highlighted
) {
    border-radius: 10px;
    box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--db-blue-600);
}

.wc-block-components-radio-control .wc-block-components-radio-control__input,
.wc-block-components-radio-control .wc-block-components-radio-control__input:checked {
    border-color: var(--wp--preset--color--db-blue-600);
}
.wc-block-components-radio-control .wc-block-components-radio-control__input:checked:before {
    background: var(--wp--preset--color--db-blue-600);
}

/* Order thank you page */
.wp-block-woocommerce-order-confirmation-status {
    text-align: center;
}

.wc-block-order-confirmation-totals table,
.woocommerce table.shop_table {
    border: none;
}
.wc-block-order-confirmation-totals table :is(td, th) {
    padding: clamp(10px, 10px + ((1vw - 3.2px) * 0.476), 14px);
}
:is(
    .wc-block-order-confirmation-totals table,
    .woocommerce table.shop_table
) tr :is(td, th):first-child {
    padding-left: 0;
}
:is(
    .wc-block-order-confirmation-totals table,
    .woocommerce table.shop_table
) tr :is(td, th):last-child {
    padding-right: 0;
}

/* User pages stylings */
.woocommerce {
    position: relative;
}
.woocommerce-account main .wc-user-wrap .woocommerce:not(:has(
    .woocommerce-MyAccount-navigation,
    #customer_login.u-columns
)) {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    max-width: calc(400px + var(--wp--preset--spacing--30) * 2);
    margin-inline: auto;
}
.woocommerce-account.woocommerce-dashboard main .wc-user-wrap .woocommerce {
    flex-direction: row;
}
.wc-user-wrap .woocommerce > h2 {
    order: -1;
    padding-block: var(--wp--preset--spacing--80);
    padding-left: var(--wp--style--root--padding-left);
    padding-right: var(--wp--style--root--padding-right);
    margin-block: 0;
    margin-right: calc(var(--wp--style--root--padding-right) * -1);
    margin-left: calc(var(--wp--style--root--padding-left) * -1);
    background-color: var(--wp--preset--color--db-cream);
    text-align: center;
    box-sizing: border-box;
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
}
.wc-user-wrap .woocommerce form .form-row label {
    margin-bottom: 8px;
}
.wc-user-wrap .woocommerce form .form-row {
    padding: 0;
    margin-bottom: var(--wp--preset--spacing--30);
    width: 100%;
}
.wc-user-wrap .woocommerce:not(:has(> h2)) {
    --ptop: calc(var(--wp--preset--spacing--80) * 2 + var(--wp--preset--font-size--xx-large) * 1.05);
    padding-top: calc(var(--ptop) + var(--wp--preset--spacing--50));
}
.woocommerce-account .wc-user-wrap .woocommerce:not(:has(> h2))::before {
    content: "Fiókom";
    text-align: center;
    font-size: var(--wp--preset--font-size--xx-large);
    font-family: var(--wp--preset--font-family--cormorant-garamond);
    color: var(--wp--preset--color--db-navy-800);
    font-weight: 600;
    line-height: 1.05;
    display: block;
    box-sizing: border-box;
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
    background-color: var(--wp--preset--color--db-cream);
    padding-block: var(--wp--preset--spacing--80);
    position: absolute;
    top:0;
    inset-inline: 0;
}
.woocommerce-lost-password.woocommerce-account .wc-user-wrap .woocommerce::before {
    content: "Elfelejtett jelszó";
}
.wc-user-wrap .woocommerce form:is(*,.login) {
    border: 0;
    padding: var(--wp--preset--spacing--30);
    width: 100%;
}
.wc-user-wrap .woocommerce form :is(.woocommerce-button,.woocommerce-Button) {
    display: block;
    float: none;
    width: 100%;
}
.wc-user-wrap .woocommerce form.login .form-row .woocommerce-form-login__rememberme {
    margin-bottom: var(--wp--preset--spacing--30);
}
.woocommerce-Address h2,
h2.woocommerce-order-details__title {
    font-size: var(--wp--preset--font-size--large);
}
.woocommerce-MyAccount-navigation ul {
    border-left: 2px solid var(--wp--preset--color--db-navy-800);
}
.woocommerce-MyAccount-navigation li a {
    display: inline-block;
    padding-left: var(--wp--preset--spacing--30);
    margin-left: -2px;
    border-left: 2px solid transparent;
    font-weight: 600;
}
.woocommerce-MyAccount-navigation li a:is(:hover,:focus),
.woocommerce-MyAccount-navigation li.is-active a {
    border-left-color: var(--wp--preset--color--db-gold-500);
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
    padding-bottom: 0;
}