@charset "UTF-8";

/* Globalny fix poziomego scrolla */
html, body {
    overflow-x: hidden;
    max-width: 100%;
}

/*
	Theme Name: Platea Child Theme
	Theme URI: https://themeforest.net/user/gloriathemes
	Description: Platea Child Theme
	Author: Gloria Themes
	Author URI: https://gloriathemes.com/
	Template: platea
	License: GNU General Public License v2 or later
	License URI: http://www.gnu.org/licenses/gpl-2.0.html
	Text Domain: platea
	Version: 1.0
*/

/* === Custom Header Style 1: logo (lewa kolumna) + top bar / main (prawa kolumna) === */
.gt-header.gt-style-1.gt-logo-left .gt-header-grid {
    display: flex;
    align-items: stretch;
    gap: 30px;
}

.gt-header.gt-style-1.gt-logo-left .gt-header-logo-col {
    flex: 0 0 auto;
    align-self: flex-start;
    line-height: 0;
}

.gt-header.gt-style-1.gt-logo-left .gt-header-logo-col .gt-header-logo-link {
    display: block;
    line-height: 0;
}

.gt-header.gt-style-1.gt-logo-left .gt-header-logo-col img.gt-header-logo-img {
    display: block;
    max-width: 100%;
    object-fit: contain;
    object-position: left top;
}

.gt-header.gt-style-1.gt-logo-left .gt-header-stack-col {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
  
}

/* Top bar renderowany przez platea_top_bar() ma własny .container —
   wewnątrz prawej kolumny rozciągamy go na pełną szerokość kolumny */
.gt-header.gt-style-1.gt-logo-left .gt-header-stack-col .gt-top-bar > .container,
.gt-header.gt-style-1.gt-logo-left .gt-header-stack-col .gt-top-bar > .container-fluid {
    max-width: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}

/* Main row — bez container, full width prawej kolumny */
.gt-header.gt-style-1.gt-logo-left .gt-header-stack-col .gt-header-main-inner {
    width: 100%;
}


/* Zakres tych globalnych resetów ograniczamy do desktop headera,
   żeby nie psuły mobilnego nagłówka (<1300px). */
.gt-desktop-header .gt-top-border+*:not(.gt-top-bar) {
    margin-top: 0px !important
}

.gt-desktop-header .gt-top-border{
    height:0px !important;
}

/* Margines pod top-barem TYLKO w zwykłym (nie podążającym) headerze */
.gt-header.gt-child-desktop .gt-top-bar + * {
    margin-top: 25px !important;
}

/* Sticky / podążający — pełny reset odstępów wokół .gt-header-main.
   Parent CSS:
   - .gt-header.gt-style-1 { padding: 23px 0 }       (padding-bottom zostaje)
   - .gt-top-border { height: 2px }                  (cienki pasek u góry)
   - .gt-top-bar + * { margin-top: 23px }            (margines do main)
   Wszystko to neutralizujemy na sticky */
.gt-header.gt-child-sticky.gt-style-1,
.gt-header.gt-sticky-header.gt-style-1 {
    padding: 0 !important;
}

.gt-header.gt-child-sticky .gt-top-bar + *,
.gt-header.gt-sticky-header .gt-top-bar + * {
    margin-top: 0 !important;
}

.gt-header.gt-child-sticky .gt-top-border,
.gt-header.gt-sticky-header .gt-top-border {
    display: none !important;
    height: 0 !important;
}

.gt-header.gt-child-sticky .gt-top-border + *,
.gt-header.gt-sticky-header .gt-top-border + * {
    margin-top: 0 !important;
}

.gt-header.gt-child-sticky .gt-header-main,
.gt-header.gt-sticky-header .gt-header-main {
    padding: 0 !important;
}

/* WordPress admin bar — gdy zalogowany, parent CSS spycha sticky o 32px w dół.
   Jeśli ma być zlicowane z górą strony NAWET dla zalogowanego admina.
   UWAGA: ograniczone do desktop sticky, żeby nie ruszać mobilnego sticky. */
.admin-bar .gt-header.gt-desktop-header.gt-sticky-header,
.admin-bar .gt-header.gt-desktop-header.gt-fixed {
    top: 0 !important;
}



/* Tło sticky headera */
.gt-header.gt-sticky-header,
.gt-header.gt-child-sticky, .gt-mobile-header {
    background-color: #fde3b2 !important;
}

/* Skrócenie dystansu animacji sticky headera.
   Parent SCSS startuje z translateY(-200%) — 2x wysokość headera.
   Zmniejszamy do -100% (dokładnie wysokość headera), żeby GSAP miał
   krótszy dystans do przelecenia przy tym samym czasie 0.5s — wizualnie
   wejście/wyjście jest dwa razy szybsze. */
.gt-header.gt-desktop-header.gt-sticky-header {
    transform: translateY(-100%);
}

.gt-header-title-menu{
    gap:45px;
    align-items:center;
}


.gt-header-main-inner .gt-header-title {
    margin: 0;
    line-height: 1;
    transform: translateY(-3px);   /* lub -1px, dopasuj okiem */
}


.gt-footer .gt-copyright-content {
    padding: 1.5rem 0 0 0 !important;
}

.gt-desktop-header{
	background:#fde3b2 !important;
}

.gt-top-bar a,.gt-top-bar .gt-text{
	color:#938350 !important;
}

.gt-top-bar a:hover,.gt-top-bar .gt-text:hover{
	color:#d60000 !important;
}


body .gt-lists.gt-style-2 ul li .gt-title-wrapper .gt-title span {
    background-color: #fde3b2;
    z-index: 2 !important;
    position: relative;
}


:root {
    --gt-section-background: #ffd58b !important;
}

.gt-social-links.gt-style-10 ul li a, .gt-social-links.gt-style-10 ul li a:visited {
    background: #ffa300 !important;
    color: #fff !important;

}


.gt-lists.gt-style-6 ul li:hover {
    background-color: #ffa300 !important;
    
}


.gt-overview-box .gt-quantity-minus, .gt-overview-box .gt-quantity-plus {
    border: 1px solid #ffa300 !important;
    border-radius: 99999px !important;
	background: #ffa300 !important;
}

.gt-overview-box .gt-quantity-minus, .gt-overview-box .gt-quantity-plus {
  
    color: #FFF !important;

}


.gt-overview-box .gt-quantity-minus:hover, .gt-overview-box .gt-quantity-plus:hover {
 
    background:#d60000 !important;
	border: 1px solid #d60000 !important;
    transition: .15s;
}


.gt-details a{
	font-family: Playfair Display !important;
	font-weight:700 !important;
	font-feature-settings: "lnum";
}


.gt-overview-box .gt-ingredients-title {
    color: #988855 !important;
}


.gt-overview-box .gt-quantity-title {
   font-family: Playfair Display !important;
	font-weight:700 !important;
	font-feature-settings: "lnum";
	font-style:italic;
	margin-top: -4px
}

.gt-categories a{
	font-family: Playfair Display !important;
	font-weight:800 !important;
}

.gt-author-desc a{
	font-family: Playfair Display !important;
	font-weight:700 !important;	
	color:#ce0002;
}

.gt-recipe-directions .gt-title{
	font-family: Playfair Display !important;
	font-weight:700 !important;
	font-style:italic;
}

.gt-content-body .gt-title{
	font-family: Playfair Display !important;
	font-weight:700 !important;
	font-style:italic;
}


.gt-title-bar .gt-count{
	display:none !important;
}


.gt-overview-box .gt-ingredients-quantity {
    
    margin-left: 1.3rem !important;
}

/* Author Avatar Styles */
.gt-author {
    display: flex !important;
    align-items: center;
    gap: 15px;
}

.gt-author-desc {
    display: flex;
    flex-direction: column;
}

.gt-author-avatar {
    display: block;
    line-height: 0;
    flex: 0 0 60px;
}

.gt-author-avatar img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.gt-author-desc a {
    display: block !important;
    text-decoration: none;
    line-height: 1.2;
}

.gt-author-desc .gt-role {
    display: block;
    line-height: 1.2;
}



.gt-overview-box .gt-author {
    gap: 0.5rem !important;
}


.gt-header .gt-menu ul li:hover>a, .gt-header .gt-menu ul li:focus>a, .gt-header .gt-menu ul li a:hover, .gt-header .gt-menu ul li a:focus {
    color: #fff !important;
    background-color: #ffa100 !important;
}


.gt-header .gt-menu ul li.gt-dropdown .gt-dropdown-menu {
    border: 1px solid #ffa100 !important;
    background-color: #ffa100 !important;
}





.gt-button.gt-style-4 a:hover span {

    color: white !important;
}


body .gt-button.gt-style-4 a:hover  {
	background:#d60000 !important;
    border-color:#d60000 !important;
}


.gt-social-links.gt-style-10 ul li a:hover{
    background: #d60000 !important;
   
}


.gt-social-links.gt-size-m ul li i {
    font-size: 1rem !important;
}


.gt-header .gt-menu .gt-dropdown-menu li a:hover,
.gt-header .gt-menu .gt-dropdown-menu li a:focus {
   
    background-color: #d60000 !important;
}

body .gt-dropdown-menu li a {
    color: #fff !important;
}


.gt-lists.gt-style-2 ul li .gt-title-wrapper .gt-title:before {
    background-color:#dcc695 !important;
	z-index:1 !important;
}


.gt-recipe-ingredients .gt-title {
    position: relative;
    padding-left: 30px; /* miejsce na kółko */
}

.gt-recipe-ingredients .gt-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border: 1px solid #dcc695;
    border-radius: 50%;
    box-sizing: border-box;
}

.gt-title-bar{
	background-image:none !important;
}

.gt-copyright-text{
	font-weight:600;
}


.single-recipe .gt-overview-box .gt-image {
    height: auto;
}

#customer_login h2{
	text-align:center;
}



/* ==========================================================================
   POPRAWKA MENU MOBILNEGO (< 1300px)
   Naprawia ucinanie, niepełną szerokość i błędne pozycjonowanie off-canvas.
   Zapewnia płynne działanie przy zmianie rozmiaru okna.
   ========================================================================== */

@media only screen and (max-width: 1299.98px) {
    /* Wymuszamy pokazanie nagłówka mobilnego */
    .gt-mobile-header {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* Ukrywamy nagłówek desktopowy */
    .gt-desktop-header {
        display: none !important;
    }

    /* Fix dla panelu bocznego (off-canvas) */
    .gt-off-canvas.gt-style-1 {
        width: 100% !important;
        max-width: 400px !important; /* Szerokość bocznego panelu */
        height: 100% !important;
        top: 0 !important;
        bottom: 0 !important;
        z-index: 999999 !important;
        -webkit-overflow-scrolling: touch;
        
        /* Pozycjonowanie i reset JS */
        left: auto !important;
        right: 0 !important;
        
        /* Animacja oparta na transform */
        transform: translateX(100%) !important;
        transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.4s, visibility 0.4s !important;
        
        /* Nie używamy !important na visibility/opacity tutaj, 
           aby pozwolić skryptowi GSAP na ich zmianę, co odpali nasz MutationObserver */
        visibility: hidden;
        opacity: 0;
    }

    /* Stan otwarty - wymuszamy klasą dodawaną przez nasz JS lub reakcję na styl */
    body.gt-canvas-active .gt-off-canvas.gt-style-1 {
        transform: translateX(0) !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* Na bardzo małych ekranach panel na całą szerokość */
    @media (max-width: 480px) {
        .gt-off-canvas.gt-style-1 {
            max-width: 100% !important;
        }
    }

    /* Stylizacja ikony burgera w mobilnym pasku */
    .gt-mobile-header .gt-off-canvas-icon {
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Zapewnienie tła dla overlay */
    .gt-overlay-opacity-bg {
        z-index: 999998 !important;
    }
}

/* Fix dla logowania / admin bar na mobile */
.admin-bar .gt-mobile-header.gt-fixed {
    top: 32px !important;
}
@media screen and (max-width: 782px) {
    .admin-bar .gt-mobile-header.gt-fixed {
        top: 46px !important;
    }
}
@media screen and (max-width: 600px) {
    .admin-bar .gt-mobile-header.gt-fixed {
        top: 0 !important; /* Admin bar jest relatywny na małych ekranach */
    }
}

.gt-custom-icon{
	width:20px;
	height:20px !important;
}


/* Custom Action Button Icons (Like/Save/Print) */
.gt-action-button a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 48px;
    height: 48px;
    text-decoration: none !important;
}

.gt-action-button a .gt-before,
.gt-action-button a .gt-after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.2s ease, visibility 0.2s ease;
    width: 48px;
    height: 48px;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.gt-action-button a .gt-after {
    opacity: 0;
    visibility: hidden;
}

/* Hover: Ukryj domyślną, pokaż active */
.gt-action-button a:hover .gt-before {
    opacity: 0;
    visibility: hidden;
}
.gt-action-button a:hover .gt-after {
    opacity: 1;
    visibility: visible;
}

/* Stan aktywne (polubione/zapisane): Ukryj domyślną, pokaż active */
.gt-action-button a.gt-liked .gt-before,
.gt-action-button a.gt-saved .gt-before {
    opacity: 0;
    visibility: hidden;
}
.gt-action-button a.gt-liked .gt-after,
.gt-action-button a.gt-saved .gt-after {
    opacity: 1;
    visibility: visible;
}

/* Rozmiar obrazków */
.gt-action-button img {
    width: 48px !important;
    height: auto !important;
    display: block;
    max-width: none !important;
}

.gt-recipe-listing .gt-recipe-action-buttons ul {

    flex-direction: column;
}

