/* 
 Theme Name:   Cheffa Child
 Theme URI:    https://www.cheffa.ro/
 Description:  Cheffa Child
 Author:       cheffamin
 Author URI:   https://www.cheffa.ro/
 Template:     hello-elementor
 Version:      1.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html

 /* == Add your own styles below this line ==
--------------------------------------------*/


::-webkit-scrollbar {
    width: 12px;
}


::-webkit-scrollbar-track {
    background: #000;
}


::-webkit-scrollbar-thumb {
    background: #FF9000;
}


::-webkit-scrollbar-thumb:hover {
    background: #FF9000;
}

* {
    scrollbar-width: thin;
    scrollbar-color: #FF9000 #000;
}

/* hide Elementor header on the homepage when body has .home */
body.home #site-header {
    display: none !important;
}

/* Reveal Animation - Window Effect */
@property --p {
    syntax: '<percentage>';
    initial-value: 0%;
    inherits: false;
}

.reveal {
    position: relative;
    overflow: hidden;
    /* taie marginile la animatie */
}

.reveal::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: #FF9000;
    z-index: 1;
    opacity: 1 !important;
    mask:
        url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 100 150\'%3E%3Crect fill=\'white\' x=\'0\' y=\'0\' width=\'100\' height=\'150\' rx=\'50\' ry=\'50\'/%3E%3Crect fill=\'white\' x=\'0\' y=\'100\' width=\'50\' height=\'50\' /%3E%3Crect fill=\'white\' x=\'50\' y=\'100\' width=\'50\' height=\'50\' /%3E%3C/svg%3E'),
        linear-gradient(white, white);
    mask-size: var(--p) calc(var(--p) * 1.5), 100%;
    mask-position: 50% 50%, 0 0;
    mask-repeat: no-repeat;
    mask-composite: exclude;
    animation: none;
}

.reveal.is-visible::before {
    animation: reveal-hole 1.7s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

@keyframes reveal-hole {
    from {
        --p: 0%;
    }

    to {
        --p: 150%;
    }
}

/* Custom Add to Cart + Extras Styles */
.cheffa-custom-add-to-cart-container {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Montserrat', sans-serif;
    justify-content: center;
}

/* Layout: 60% product info, 40% controls (qty + button) */
.cheffa-custom-add-to-cart-wrapper {
    font-family: 'Montserrat', sans-serif;
}

.cheffa-custom-add-to-cart-container .quantity,
.cheffa-custom-add-to-cart-container .single_add_to_cart_button {
    flex-shrink: 0;
}

/* Extras wrapper above button */
.cheffa-extras-wrapper {
    margin-bottom: 20px;
    font-family: 'Montserrat', sans-serif;
}

/* Extra section titles (desktop) */
.cheffa-extra-title {
    font-size: 33px;
    font-weight: 600;
    line-height: 1.5;
    margin: 20px 0 0 0;
}

/* Extra item layout: 60% name, 40% qty controls */
.cheffa-extra-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 4px;
}

.cheffa-extra-name {
    flex: 0 0 70%;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
}

/* Qty controls on one line (40%) */
.cheffa-extra-qty-container {
    display: flex;
    gap: 6px;
    max-width: 160px;
    align-items: center;
}

/* Plus/minus for extras similar to main button */
.cheffa-extra-minus,
.cheffa-extra-plus {
    background-color: #ffffff;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    border: none;
    cursor: pointer;
    font-size: 24px;
    font-weight: 600;
    line-height: 1;
    color: #1E1D1B;
    display: flex;
    justify-content: center;
    align-items: center;
}

.cheffa-extra-qty {
    width: 50px;
    text-align: center;
    border: none;
    background: transparent;
    font-size: 24px;
    font-weight: 500;
    color: #1E1D1B;
    pointer-events: none;
    /* blochează interacțiunea directă */
}

/* Existing main container tweaks kept below */

/* Stilizare pentru containerul de cantitate principal (în zona de 40%) */
.cheffa-custom-add-to-cart-container .quantity {
    display: flex;
    align-items: center;
    background-color: #FDE4A6;
    border-radius: 12px;
    padding: 18px;
}

/* Elimină săgețile default pentru input-ul numeric */
.cheffa-custom-add-to-cart-container .quantity input[type=number]::-webkit-inner-spin-button,
.cheffa-custom-add-to-cart-container .quantity input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.cheffa-custom-add-to-cart-container .quantity input[type=number] {
    -moz-appearance: textfield;
}

/* Stilizare pentru input-ul de cantitate */
.cheffa-custom-add-to-cart-container .quantity .qty {
    width: 60px;
    text-align: center;
    border: none;
    background: transparent;
    font-weight: 600;
    font-size: 40px;
    color: #1E1D1B;
    font-family: 'Montserrat', sans-serif;
    padding: 0;
    line-height: 1;
}

@media (max-width: 782px) {
    .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
        display: none !important;
    }
}

.cheffa-custom-add-to-cart-container .quantity .minus {
    padding-bottom: 10px;
}

/* Stilizare pentru butonul principal "Comandă" */
.cheffa-custom-add-to-cart-container .single_add_to_cart_button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #FDB813;
    /* Culoare galben-portocaliu */
    color: #1E1D1B;
    /* Text mai închis pentru contrast */
    border: none;
    border-radius: 12px;
    padding: 12px 20px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    gap: 20px;
    /* Spațiu între text și preț */
    transition: background-color 0.3s ease;
}

.cheffa-custom-add-to-cart-container .single_add_to_cart_button:hover {
    background-color: #EAA90D;
    /* Culoare la hover */
}


/* AJAX Add to Cart Button States */
.cheffa-custom-add-to-cart-container .single_add_to_cart_button.loading {
    background-color: #a3a3a3 !important;
    cursor: wait !important;
    padding-right: 2.1em !important;
}

button.single_add_to_cart_button.button.alt,
button.single_add_to_cart_button.button.alt:hover {
    background: var(--e-global-color-primary) !important;
    border-radius: 12px;
    padding: 22px;
}

span.button-text {
    color: #1E1D1B;
}


button.cheffa-extra-minus:hover,
button.cheffa-extra-plus:hover,
button.cheffa-extra-minus:focus,
button.cheffa-extra-plus:focus {
    background-color: #EAA90D;
}

/* Stilizare pentru butoanele + și - */
button.cheffa-extra-minus,
button.cheffa-extra-plus,
.cheffa-custom-add-to-cart-container .quantity .minus,
.cheffa-custom-add-to-cart-container .quantity .plus {
    background-color: white;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    border: none;
    cursor: pointer;
    font-size: 40px;
    font-weight: 600;
    line-height: 1;
    color: #1E1D1B;
    display: flex;
    justify-content: center;
    align-items: center;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button,
.cheffa-custom-add-to-cart-container .single_add_to_cart_button .button-price .amount {
    color: #1E1D1B !important;
    font-size: 40px;
    font-weight: 600;
}

span.button-text {
    color: #1E1D1B;
    font-size: 33px;
    font-weight: 600;
}

a.added_to_cart.wc-forward {
    border-radius: 12px;
    padding: 10px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    background-color: white;
    color: #1E1D1B;
    border: 1px solid #cacaca;
    font-size: 33px;
}

span.woocommerce-Price-amount.amount {
    font-weight: 600;
}

input.cheffa-extra-qty {
    padding: 0 !important;
    border: 0 !important;
    background: #fde4a6;
}

#content,
.page-content {
    font-family: 'Montserrat', sans-serif;
}

.page-header h1.entry-title {
    font-family: 'Montserrat', sans-serif;
    margin-top: 30px;
}

.alignwide {
    margin-inline: 0px !important;
}

.shop-menu {
    cursor: pointer;
}

.e-current .e-n-menu-title-text,
.e-n-menu-title-text:hover {

    border: 1px solid;
    border-radius: 50%;
    padding: 10px 15px;
}

.wp-element-button,
button.wc-block-components-button {
    background: var(--e-global-color-primary);
    color: var(--e-global-color-secondary);
    border: 0;
}

.wp-element-button:hover,
.wp-element-button:active,
button.wc-block-components-button:hover,
button.wc-block-components-button:focus {
    background: var(--e-global-color-secondary);
    color: var(--e-global-color-primary);
    border: 0;
}


/* Search Overlay */
.search-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.search-overlay.active {
    display: flex;
    opacity: 1;
    align-items: flex-start;
    padding-top: 15%;
}

.search-container {
    position: relative;
    background: white;
    padding: 40px;
    border-radius: 15px;
    width: 80%;
    max-width: 600px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.search-container input[type="search"] {
    width: 100%;
    padding: 15px;
    font-size: 18px;
    border: 1px solid #ccc;
    border-radius: 8px;
}

.search-container .close-search {
    position: absolute;
    top: -20px;
    right: -10px;
    background: none;
    border: none;
    font-size: 45px;
    cursor: pointer;
    color: #333;
}


@media (max-width: 768px) {


    /* Extra titles mobile */
    .cheffa-extra-title {
        font-size: 16px;
        font-weight: 600;
    }

    /* Extra names mobile */
    .cheffa-extra-name {
        font-size: 12px;
        font-weight: 500;
    }

    /* Layout stack for mobile */
    .cheffa-extra-item {
        gap: 6px;
    }

    .cheffa-extra-qty-container {
        gap: 4px;
    }

    /* Stilizare pentru butoanele + și - */
    button.cheffa-extra-minus,
    button.cheffa-extra-plus,
    .cheffa-custom-add-to-cart-container .quantity .minus,
    .cheffa-custom-add-to-cart-container .quantity .plus {
        width: 20px;
        height: 30px;
        font-size: 20px;
        font-weight: 600;

    }

    .cheffa-custom-add-to-cart-container .quantity .qty,
    .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button,
    .cheffa-custom-add-to-cart-container .single_add_to_cart_button .button-price .amount {
        font-size: 20px;
    }

    span.button-text {
        font-size: 16px;
    }

    a.added_to_cart.wc-forward {
        border-radius: 12px;
        padding: 10px;
        font-size: 16px;
    }

    input.cheffa-extra-qty {
        padding: 0 !important;
        border: 0 !important;
        background: #fde4a6;
        font-size: 18px;
        font-weight: 600;
    }

    button.single_add_to_cart_button.button.alt,
    button.single_add_to_cart_button.button.alt:hover {
        padding: 22px 5px;
    }

    .cheffa-custom-add-to-cart-container .quantity {
        padding: 18px 5px;
    }

    .cheffa-extra-item {
        margin-bottom: 4px;
    }

    a.added_to_cart.wc-forward {
        position: absolute;
        bottom: -20px;
        right: 0;
    }

    .search-container {
        width: 95%;
    }



}

@keyframes rotate360 {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.roteste {
    animation: rotate360 30s linear infinite;
}

/* Restaurant Slide Menu */
body.restaurant-menu-open {
    overflow: hidden;
}

.restaurant-slide-menu {
    position: fixed;
    inset: 0;
    display: flex;
    justify-content: flex-end;
    background: rgba(0, 0, 0, 0.55);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
    z-index: 9999;
    perspective: 1400px;
}

.restaurant-slide-menu.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.restaurant-slide-menu.is-leaving {
    pointer-events: none;
    opacity: 1;
}

.restaurant-slide-menu__backdrop {
    position: absolute;
    inset: 0;
    cursor: pointer;
}

.restaurant-slide-menu__panel {
    position: relative;
    width: min(430px, 92vw);
    height: 100%;
    background: linear-gradient(135deg, #050505 0%, #000 40%, #161616 100%);
    transform: translateX(100%) rotateY(-12deg);
    transform-origin: right center;
    transform-style: preserve-3d;
    transition: transform 0.65s cubic-bezier(0.77, 0, 0.175, 1), opacity 0.35s ease;
    will-change: transform, opacity;
    box-shadow: -30px 0 60px rgba(0, 0, 0, 0.55);
    color: #fff;
    font-family: 'Libre Baskerville', serif;
    padding: 80px 60px 60px;
    overflow: hidden;
    backface-visibility: hidden;
}

.restaurant-slide-menu.is-visible .restaurant-slide-menu__panel {
    transform: translateX(0) rotateY(0deg);
    opacity: 1;
}

.restaurant-slide-menu.is-leaving .restaurant-slide-menu__panel {
    transition: none;
    transform-origin: left center;
    animation: restaurant-panel-flip-out 0.9s forwards cubic-bezier(0.77, 0, 0.175, 1);
    box-shadow: -15px 0 30px rgba(0, 0, 0, 0.4);
}

.restaurant-slide-menu__panel::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 10% 20%, rgba(255, 255, 255, 0.25), transparent 60%), linear-gradient(100deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 60%);
    opacity: 0;
    transition: opacity 0.25s ease;
    pointer-events: none;
}

.restaurant-slide-menu.is-leaving .restaurant-slide-menu__panel::before {
    animation: restaurant-panel-glint 0.9s forwards ease-out;
}

.restaurant-slide-menu__close {
    position: absolute;
    top: 24px;
    right: 28px;
    font-size: 34px;
    background: transparent;
    border: none;
    color: #fff;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.restaurant-slide-menu__close:hover {
    transform: scale(1.1);
}

.restaurant-slide-menu__cover {
    position: absolute;
    inset: 0;
    background: #050505;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.8rem;
    text-transform: uppercase;
    font-size: 32px;
    transform-origin: left center;
    transform-style: preserve-3d;
    backface-visibility: hidden;
    will-change: transform, opacity;
    animation: none;
    pointer-events: none;
}

.restaurant-slide-menu__cover::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(255, 255, 255, 0.25), rgba(0, 0, 0, 0.65));
    opacity: 0.6;
    pointer-events: none;
}

.restaurant-slide-menu__cover-text {
    font-family: 'Libre Baskerville', serif;
}

.restaurant-slide-menu.is-revealed .restaurant-slide-menu__cover {
    animation: restaurant-cover-flip 0.65s forwards cubic-bezier(0.77, 0, 0.175, 1);
}

.restaurant-slide-menu.is-leaving .restaurant-slide-menu__cover {
    opacity: 0;
}

.restaurant-slide-menu__inner {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.45s ease, transform 0.45s ease;
}

.restaurant-slide-menu.is-revealed .restaurant-slide-menu__inner {
    opacity: 1;
    transform: translateY(0);
}

.restaurant-slide-menu.is-leaving .restaurant-slide-menu__inner {
    opacity: 0;
    transform: translateY(40px);
}

@keyframes restaurant-panel-flip-out {
    0% {
        transform: translateX(0) rotateY(0deg);
        opacity: 1;
    }

    25% {
        transform: translateX(-4%) rotateY(-45deg);
        opacity: 1;
    }

    65% {
        transform: translateX(-22%) rotateY(-110deg);
        opacity: 1;
    }

    100% {
        transform: translateX(-38%) rotateY(-165deg);
        opacity: 0;
    }
}

@keyframes restaurant-panel-glint {
    0% {
        opacity: 0;
        transform: translateX(0);
    }

    35% {
        opacity: 0.75;
        transform: translateX(-30%);
    }

    100% {
        opacity: 0;
        transform: translateX(-60%);
    }
}

.restaurant-slide-menu__nav {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.restaurant-slide-menu__link,
.restaurant-slide-menu__link:hover,
.restaurant-slide-menu__link:focus-visible {
    color: #fff;
    text-decoration: none;
    font-size: clamp(24px, 2.2vw, 34px);
    letter-spacing: 0.15em;
    text-transform: uppercase;
    position: relative;
    padding-bottom: 8px;
}

.restaurant-slide-menu__link::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 60px;
    height: 2px;
    background: #fff;
    transform-origin: left center;
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.restaurant-slide-menu__link:hover::after,
.restaurant-slide-menu__link:focus-visible::after {
    transform: scaleX(1);
}

@media (max-width: 768px) {
    .restaurant-slide-menu__panel {
        padding: 60px 38px;
    }

    .restaurant-slide-menu__cover {
        letter-spacing: 0.5rem;
    }

    .restaurant-slide-menu__link {
        letter-spacing: 0.1em;
    }

    .e-current .e-n-menu-title-text,
    .e-n-menu-title-text:hover {
        padding: 0px 5px !important;
    }
}

@media (prefers-reduced-motion: reduce) {

    .restaurant-slide-menu,
    .restaurant-slide-menu__panel,
    .restaurant-slide-menu__cover,
    .restaurant-slide-menu__inner {
        transition: none;
    }

    .restaurant-slide-menu.is-leaving .restaurant-slide-menu__panel {
        animation: none;
        transform: translateX(100%);
        opacity: 0;
    }

    .restaurant-slide-menu.is-leaving .restaurant-slide-menu__panel::before {
        animation: none;
        opacity: 0;
    }

    .restaurant-slide-menu.is-revealed .restaurant-slide-menu__cover {
        animation: none;
        opacity: 0;
    }



}

@keyframes restaurant-cover-flip {
    0% {
        transform: translateX(0) rotateY(0deg);
        opacity: 1;
    }

    18% {
        transform: translateX(-2%) rotateY(-35deg);
        opacity: 1;
    }

    45% {
        transform: translateX(-9%) rotateY(-90deg);
        opacity: 0.92;
    }

    75% {
        transform: translateX(-18%) rotateY(-135deg);
        opacity: 0.7;
    }

    100% {
        transform: translateX(-26%) rotateY(-170deg);
        opacity: 0;
    }
}


button.restaurant-slide-menu__close,
button.restaurant-slide-menu__close:not(:disabled),
button.restaurant-slide-menu__close:hover,
button.restaurant-slide-menu__close:focus {
    color: white;
    background-color: rgba(0, 0, 0, 0) !important;
    border: none;
    font-size: 70px;
    padding: 0;
    z-index: 99;
    margin-top: -20px;
}

[type=button]:focus,
[type=button]:hover,
[type=submit]:focus,
[type=submit]:hover,
button:focus,
button:hover {
    background-color: #ffffff00 !important;
    color: inherit !important;

}

@media (max-width: 1024px) {
    .cheffa-custom-add-to-cart-container {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        margin-bottom: 82px;
        z-index: 1;
    }
}
