/***************************
// Font Imports
***************************/
/* Merriweather Sans font imports (from assets/fonts/Merriweather_Sans) */
@font-face {
    font-family: 'Merriweather Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/Merriweather_Sans/MerriweatherSans-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Merriweather Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/Merriweather_Sans/MerriweatherSans-Bold.ttf') format('truetype');
}

@font-face {
    font-family: 'Merriweather Sans';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('../fonts/Merriweather_Sans/MerriweatherSans-ExtraBold.ttf') format('truetype');
}

@font-face {
    font-family: 'Merriweather Sans';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('../fonts/Merriweather_Sans/MerriweatherSans-Light.ttf') format('truetype');
}

@font-face {
    font-family: 'Merriweather Sans';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/Merriweather_Sans/MerriweatherSans-Medium.ttf') format('truetype');
}

@font-face {
    font-family: 'Merriweather Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/Merriweather_Sans/MerriweatherSans-SemiBold.ttf') format('truetype');
}

/* Ubuntu font imports (from assets/fonts/Ubuntu) */
@font-face {
    font-family: 'Ubuntu';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/Ubuntu/Ubuntu-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Ubuntu';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/Ubuntu/Ubuntu-Bold.ttf') format('truetype');
}

@font-face {
    font-family: 'Ubuntu';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('../fonts/Ubuntu/Ubuntu-Light.ttf') format('truetype');
}

@font-face {
    font-family: 'Ubuntu';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/Ubuntu/Ubuntu-Medium.ttf') format('truetype');
}

/***************************
// End Font Imports
***************************/

/***************************
// Default Styles
***************************/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --font-merriweather-sans: 'Merriweather Sans', sans-serif;
    --font-ubuntu: 'Ubuntu', sans-serif;

    --color-white: #FFFFFF;
    --color-black: #000000;
}

.font-family-merriweather-sans * {
    font-family: var(--font-merriweather-sans) !important;
}

.font-family-ubuntu * {
    font-family: var(--font-ubuntu) !important;
}

.font-color-420300 * {
    color: #420300 !important;
}

.font-color-797979 * {
    color: #797979 !important;
}

.font-color-DCDCDC * {
    color: #DCDCDC !important;
}

/*
body {
    letter-spacing: 0;
    font-family: var(--font-roboto);
    color: #141414;
    background-color: #fff;
    background: url('../images/body-bg.png') center top no-repeat;
    background-size: 100% auto;
}
    */
body {
    letter-spacing: 0;
    font-family: var(--font-merriweather-sans);
    color: #141414;
    background-color: #fff;
    background:
        linear-gradient(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6)),
        url('../images/body-bg.png') center top no-repeat;
    background-attachment: fixed;
    background-size: auto;
    /*overflow-x: hidden;*/
}

.hero-slider-section {
    position: relative;
    z-index: 1;
}

.hero-slider-section::before {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    /* background removed to let body background show through */
    z-index: 0;
    pointer-events: none;
    border-radius: 32px;
}

.hero-slider-section>* {
    position: relative;
    z-index: 1;
}

a {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: 0;
}

.pt-6 {
    padding-top: 6rem !important;
}

.pb-6 {
    padding-bottom: 6rem !important;
}

[class*="max-"] * {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.default-section {
    padding-top: 6rem;
    padding-bottom: 6rem;
}


.letter-spacing-02 * {
    letter-spacing: 0.2px !important;
}

.max-10-row-text * {
    -webkit-line-clamp: 10;
    line-clamp: 10;
}

.max-9-row-text * {
    -webkit-line-clamp: 9;
    line-clamp: 9;
}

.max-8-row-text * {
    -webkit-line-clamp: 8;
    line-clamp: 8;
}

.max-7-row-text * {
    -webkit-line-clamp: 7;
    line-clamp: 7;
}

.max-6-row-text * {
    -webkit-line-clamp: 6;
    line-clamp: 6;
}

.max-5-row-text * {
    -webkit-line-clamp: 5;
    line-clamp: 5;
}

.max-4-row-text * {
    -webkit-line-clamp: 4;
    line-clamp: 4;
}

.max-3-row-text * {
    -webkit-line-clamp: 3;
    line-clamp: 3;
}

.max-2-row-text * {
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.max-1-row-text * {
    -webkit-line-clamp: 1;
    line-clamp: 1;
}


.font-size-70 * {
    font-size: 70px !important;
}

.font-size-69 * {
    font-size: 69px !important;
}

.font-size-68 * {
    font-size: 68px !important;
}

.font-size-67 * {
    font-size: 67px !important;
}

.font-size-66 * {
    font-size: 66px !important;
}

.font-size-65 * {
    font-size: 65px !important;
}

.font-size-64 * {
    font-size: 64px !important;
}

.font-size-63 * {
    font-size: 63px !important;
}

.font-size-62 * {
    font-size: 62px !important;
}

.font-size-61 * {
    font-size: 61px !important;
}

.font-size-60 * {
    font-size: 60px !important;
}

.font-size-59 * {
    font-size: 59px !important;
}

.font-size-58 * {
    font-size: 58px !important;
}

.font-size-57 * {
    font-size: 57px !important;
}

.font-size-56 * {
    font-size: 56px !important;
}

.font-size-55 * {
    font-size: 55px !important;
}

.font-size-54 * {
    font-size: 54px !important;
}

.font-size-53 * {
    font-size: 53px !important;
}

.font-size-52 * {
    font-size: 52px !important;
}

.font-size-51 * {
    font-size: 51px !important;
}

.font-size-50 * {
    font-size: 50px !important;
}

.font-size-49 * {
    font-size: 49px !important;
}

.font-size-48 * {
    font-size: 48px !important;
}

.font-size-47 * {
    font-size: 47px !important;
}

.font-size-46 * {
    font-size: 46px !important;
}

.font-size-45 * {
    font-size: 45px !important;
}

.font-size-44 * {
    font-size: 44px !important;
}

.font-size-43 * {
    font-size: 43px !important;
}

.font-size-42 * {
    font-size: 42px !important;
}

.font-size-41 * {
    font-size: 41px !important;
}

.font-size-40 * {
    font-size: 40px !important;
}

.font-size-39 * {
    font-size: 39px !important;
}

.font-size-38 * {
    font-size: 38px !important;
}

.font-size-37 * {
    font-size: 37px !important;
}

.font-size-36 * {
    font-size: 36px !important;
}

.font-size-35 * {
    font-size: 35px !important;
}

.font-size-34 * {
    font-size: 34px !important;
}

.font-size-33 * {
    font-size: 33px !important;
}

.font-size-32 * {
    font-size: 32px !important;
}

.font-size-31 * {
    font-size: 31px !important;
}

.font-size-30 * {
    font-size: 30px !important;
}

.font-size-29 * {
    font-size: 29px !important;
}

.font-size-28 * {
    font-size: 28px !important;
}

.font-size-27 * {
    font-size: 27px !important;
}

.font-size-26 * {
    font-size: 26px !important;
}

.font-size-25 * {
    font-size: 30px !important;
}

.font-size-24 * {
    font-size: 24px !important;
}

.font-size-23 * {
    font-size: 23px !important;
}

.font-size-22 * {
    font-size: 22px !important;
}

.font-size-21 * {
    font-size: 21px !important;
}

.font-size-20 * {
    font-size: 20px !important;
}

.font-size-19 * {
    font-size: 19px !important;
}

.font-size-18 * {
    font-size: 18px !important;
}

.font-size-17 * {
    font-size: 17px !important;
}

.font-size-16 * {
    font-size: 16px !important;
}

.font-size-15 * {
    font-size: 15px !important;
}

.font-size-14 * {
    font-size: 14px !important;
}

.font-size-13 * {
    font-size: 13px !important;
}

.font-size-12 * {
    font-size: 12px !important;
}

.font-size-11 * {
    font-size: 11px !important;
}

.font-size-10 * {
    font-size: 10px !important;
}



strong {
    font-weight: 700 !important;
}

.font-weight-900 *:not(strong) {
    font-weight: 900 !important;
}

.font-weight-800 *:not(strong) {
    font-weight: 800 !important;
}

.font-weight-700 *:not(strong) {
    font-weight: 700 !important;
}

.font-weight-600 *:not(strong) {
    font-weight: 600 !important;
}

.font-weight-500 *:not(strong) {
    font-weight: 500 !important;
}

.font-weight-400 *:not(strong) {
    font-weight: 400 !important;
}

.font-weight-300 *:not(strong) {
    font-weight: 300 !important;
}

.font-weight-200 *:not(strong) {
    font-weight: 200 !important;
}

.font-weight-100 *:not(strong) {
    font-weight: 100 !important;
}



.line-height-200 * {
    line-height: 200% !important;
}

.line-height-190 * {
    line-height: 190% !important;
}

.line-height-180 * {
    line-height: 180% !important;
}

.line-height-170 * {
    line-height: 170% !important;
}

.line-height-160 * {
    line-height: 160% !important;
}

.line-height-150 * {
    line-height: 150% !important;
}

.line-height-140 * {
    line-height: 140% !important;
}

.line-height-130 * {
    line-height: 130% !important;
}

.line-height-120 * {
    line-height: 120% !important;
}

.line-height-110 * {
    line-height: 110% !important;
}

.line-height-100 * {
    line-height: 100% !important;
}

.line-height-24 * {
    line-height: 24px !important;
}

/***************************
// End Default Styles
***************************/

/***************************
// Static Content Section
***************************/
.static-content {
    font-weight: 400;
    line-height: 1.4;
}

/* Text elements */
.static-content :is(li, span, p) {
    font-size: 16px;
}

/* Paragraph spacing adjustment */
.static-content p:has(+ ul) {
    margin-bottom: 0;
}

/* Headings base */
.static-content :is(h1, h2, h3, h4, h5, h6) {
    font-family: var(--font-ubuntu);
    font-weight: 500;
    margin-bottom: 1rem;
}

/* Individual heading sizes */
.static-content h1,
.static-content h2,
.static-content h3 {
    color: #420300;
}

.static-content h1 {
    font-size: 32px;
}

.static-content h2 {
    font-size: 28px;
}

.static-content h3 {
    font-size: 24px;
}

.static-content h4 {
    font-size: 20px;
}

.static-content h5 {
    font-size: 18px;
}

.static-content h6 {
    font-size: 16px;
}

/***************************
// End Static Content Section
***************************/

/***************************
// Buttons
***************************/

.btn,
.btn:focus {
    outline: none;
    box-shadow: none;
}

.btn img {
    transform: translateX(0);
    transition: transform 0.3s ease;
}

.nav-link.btn {
    display: flex;
    align-items: center;
    gap: 4px;
}

.btn.btn-plus img,
.btn.btn-minus img {
    transition: none !important;
}

.btn.btn-plus:hover img,
.btn.btn-minus:hover img {
    transform: none !important;
}

.btn.btn-filled-blue {
    background: #006ED5;
    padding-top: 21px;
    padding-right: 49px;
    padding-bottom: 21px;
    padding-left: 49px;
    gap: 10px;
    border-radius: 30px;
    color: white;

}

.btn.btn-filled-blue:hover {
    background: #2196f3;
    color: white;
}


/***************************
// End Buttons
***************************/

/***************************
// Navbar
***************************/

:root {
    --header-bg-light: #F1E5E3;
    --header-bg-red: #C75146;
    --header-text-dark: #4A2B29;
    --header-text-red: #8B231D;
    --font-family-sans: 'Arial', sans-serif;
}

.koinonia-header {
    font-family: var(--font-family-sans);
    position: relative;
    z-index: 100;
}

/* --- Felső világos sáv --- */
.header-top {
    background-color: #F1E5E3;
}

/* Kereső sáv */
.search-container {
    max-width: 350px;
}

.search-container form {
    border: 2px dotted #C75146;
    border-radius: 5px;
    background: #fff;
    overflow: hidden;
    height: 40px;
}

.search-input-group {
    border: 2px dotted #C75146;
    border-radius: 5px;
    background: #fff;
    overflow: hidden;
    height: 60px;
}

.search-input {
    border: none;
    outline: none;
    padding: 5px 15px;
    width: 100%;
    font-size: 14px;
}

.search-btn {
    background: none;
    border: none;
    padding: 0 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* --- Felső linkek --- */
.top-nav-links {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-right: 150px;
    /* Helykihagyás a kosárnak ASZTALI nézetben */
}

.top-nav-links .nav-item {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #420300;
    font-size: 14px;
    font-weight: 600;
    transition: color 0.2s;
}

.top-nav-links .nav-item:hover {
    color: #81171B;
}

.top-nav-links .nav-item .icon-img {
    object-fit: contain;
}

.login-item .text-group {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.login-item .login-text {
    color: #81171B;
}

.login-item .register-text {
    font-size: 13px;
}

/* --- Lógó Kosár Szalag --- */
.cart-badge-container {
    position: absolute;
    right: 15px;
    top: 0;
    width: 141px;
    height: auto;
    z-index: 110;
    display: inline-block;
    text-decoration: none;
}

.badge-bg {
    width: 100%;
    height: auto;
    display: block;
}

.badge-content {
    position: absolute;
    top: 10px;
    left: 0;
    width: 100%;
    /*height: 100%;*/
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-bottom: 25px;
    pointer-events: none;
}

.cart-icon-img {
    width: 27px;
    height: auto;
    margin-bottom: 5px;
}

.cart-label {
    color: #fff;
    font-size: 16px;
    font-weight: 400;
}

/* --- Alsó piros sáv --- */
.header-bottom {
    background-color: #C75146;
    position: relative;
    z-index: 90;
}

.bottom-nav-item {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: white;
    font-weight: 700;
    transition: opacity 0.2s;
}

.bottom-nav-item:hover {
    opacity: 0.8;
    color: white;
}

/* Hamburger Gomb alapstílus */
.hamburger-btn {
    background: none;
    border: none;
    padding: 5px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* =========================================
   RESZPONSZIVITÁS (MINDEN MÉRETRE)
========================================= */

/* --- ASZTALI NÉZET FIXÁLÁSA (1200px felett) --- */
@media (min-width: 1200px) {

    /* Biztosítjuk, hogy asztali nézetben a menü mindig látható, és felülírja a Bootstrap Collapse-t */
    #topNavMenu.collapse:not(.show) {
        display: block !important;
        visibility: visible !important;
    }

    .w-xl-auto {
        width: auto !important;
    }
}

/* --- TABLET / MOBIL (1199px alatt) --- */
@media (max-width: 1199px) {
    .d-xl-none {
        display: block !important;
    }

    .header-top .container {
        justify-content: space-between;
    }

    .search-container {
        max-width: 100%;
        margin-top: 10px;
    }

    /* Kosár levétele a lebegésből, beillesztés a jobb felső sarokba */
    .cart-badge-container {
        position: relative;
        right: auto;
        width: 100px;
    }

    .badge-content {
        padding-bottom: 15px;
    }

    .cart-label {
        font-size: 15px;
    }

    .cart-icon-img {
        width: 20px;
    }

    /* Lenyíló menü (Hamburger tartalom) formázása */
    .top-nav-links {
        margin-right: 0;
        flex-direction: column;
        /* Egymás alá kerülnek a linkek */
        align-items: flex-start;
        background: #fff;
        /* Fehér dobozba tesszük, hogy elkülönüljön */
        padding: 20px;
        border-radius: 8px;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
        margin-top: 15px;
        gap: 20px;
        width: 100%;
    }
}

/* --- KISEBB MOBILOK (767px alatt) --- */
@media (max-width: 767px) {
    .brand-logo .logo-text {
        font-size: 26px;
    }

    .bottom-nav-item {
        font-size: 14px;
    }


    .cart-label {
        font-size: 13px;
    }

    .cart-icon-img {
        width: 16px;
    }
}

/* =========================================
   1. HERO SZEKCIÓ 
========================================= */
.hero-slider-section {
    position: relative;
    padding: 0;
    z-index: 10;
    /* background removed to let body background show through */
}

.hero-splide {
    width: 100%;
    z-index: 11;
    position: relative;
    border-radius: 32px;
    overflow: hidden;
}

.hero-splide .splide__track {
    overflow: hidden;
    border-radius: 32px;
}

/* Hero pagination */
.hero-splide .splide__pagination {
    display: flex !important;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 18px;
    z-index: 20;
    gap: 8px;
    pointer-events: auto;
}

.hero-splide .splide__pagination__page {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #B0B0B0;
    opacity: 1;
    border: none;
    margin: 0;
    transition: all 0.3s ease;
    cursor: pointer;
}

.hero-splide .splide__pagination__page.is-active {
    transform: scale(1);
    background: #81171B;
}

.hero-slide-bg {
    position: relative;
    width: 100%;
    max-height: 410px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    /* background removed to let body background show through */
    box-shadow: 0px 0px 5.3px 0px #0000001A;
    border-radius: 32px;
}

.hero-slide-img {
    width: 100%;
    max-height: 410px;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 32px;
}

.hero-slide-overlay {
    position: absolute;
    inset: 0;
    background-color: #F1E5E399;
    z-index: 1;
}

.hero-slide-content {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 1000px;
    color: #420300;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.hero-splide .splide__arrow,
.book-slider .splide__arrow {
    background: transparent url("../images/arrow-draw.png") center center / 72px auto no-repeat;
    border: none;
    width: 48px;
    height: 48px;
    position: absolute;
    transform: translateY(-50%);
    transition: transform 0.16s ease, opacity 0.16s ease;
    background-color: transparent !important;
    box-shadow: none !important;
    border-radius: 0;
}

/* Hero Nyilak - SCOPEOLVA .hero-splide alá */
.hero-splide .splide__arrow {
    top: 50%;
    z-index: 12;
}

.hero-splide .splide__arrow--prev {
    transform: translateY(-50%);
}

.hero-splide .splide__arrow--next {
    transform: translateY(-50%) scaleY(-1) rotate(180deg);
}

@media (max-width: 768px) {

    .hero-slide-bg,
    .hero-slide-img {
        height: 400px;
        min-height: 400px;
    }

    .hero-splide .splide__arrow {
        width: 40px;
        height: 40px;
        background-size: 22px 22px;
    }

    .hero-splide .splide__arrow--prev {
        left: 8px;
    }

    .hero-splide .splide__arrow--next {
        right: 8px;
    }
}


/* =========================================
   2. SZÉPIRODALOM / KÖNYVEK SZEKCIÓ
========================================= */
:root {
    --color-dark-red: #7B1F1A;
    --color-coral-red: #F65B4E;
    --color-text-brown: #4A2B29;
}

.products-section .products-section-inner {
    padding: 0;
    padding-bottom: 0;
}

.section-title {
    color: var(--color-text-brown);
    font-size: 32px;
    font-weight: 600;
}

.decorative-dots {
    height: 30px;
    background-image: url("../images/red-dot.png");
    /* Ellenőrizd a pontos útvonalat! */
    /* Az első érték a pöttyök ismétlődésének távolsága, a második a pötty magassága */
    background-size: 30px 38px;
    background-repeat: repeat-x;
    /* Csak vízszintesen ismétlődik */
    background-position: left center;
}

.splide__arrow svg,
.splide__arrow::before,
.splide__arrow::after {
    display: none !important;
}


/* Könyvek Nyilak - SCOPEOLVA #books-slider alá */
.book-slider .splide__arrow {
    /* IDE JÖTT A VÁLTOZÁS: 50% helyett fix 130px felülről */
    top: 130px;
    z-index: 0;
}

/* Elrejtjük a Splide alapértelmezett nyilát (SVG), hogy ne zavarjon be a háttérképnek/saját képnek */
.book-slider .splide__arrow svg {
    display: none !important;
}

.book-slider .splide__arrow img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.2s ease;
}

.book-slider .splide__arrow--next img {
    transform: translateY(-50%) scaleY(-1) rotate(180deg);
}

.book-slider .splide__arrow--prev {
    left: -0.5em;
}

.book-slider .splide__arrow--next {
    transform: translateY(-50%) scaleY(-1) rotate(180deg);
    right: -0.5em;
}

/* Könyvek Track Padding - Ne másszon át a Hero sliderre */
.book-slider .splide__track {
    padding-top: 30px !important;
}

/* --- TERMÉKKÁRTYA --- */
.product-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 200px;
    margin: 0 auto;
    height: 440px;
    padding: 0;
    text-align: center;
    cursor: pointer;
    z-index: 1;
}

.product-card::before {
    content: '';
    position: absolute;
    top: 60px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #fff;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.08);
    opacity: 0;
    transition: opacity 0.3s ease;
    border-radius: 6px;
    z-index: -1;
}

.product-card:hover::before {
    opacity: 1;
}

.img-container {
    width: 140px;
    height: 200px;
    margin-bottom: 1rem;
    position: relative;
    z-index: 4;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.product-card:hover .img-container {
    transform: scale(1.15) translateY(-15px);
}

.product-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.discount-badge,
.new-badge {
    position: absolute;
    top: 5px;
    color: white;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    z-index: 6;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.discount-badge {
    right: 5px;
    background-color: #FF584B;
    transform-origin: top right;
}

.product-card:hover .discount-badge,
.product-card:hover .new-badge {
    transform: scale(0.87);
}

.card-content-wrapper {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
}

.product-title {
    margin-bottom: 5px;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.price-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 45px;
}

.old-price {
    color: #B0B0B0;
    text-decoration: line-through;
}

.hover-content {
    position: absolute;
    bottom: 15px;
    left: 0;
    right: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
    padding: 0 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 3;
}

.product-card:hover .hover-content {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.btn-cart {
    background-color: #81171B;
    color: white;
    border: none;
    border-radius: 10px;
    padding: 10px 0;
    width: 100%;
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 1rem;
    transition: background-color 0.2s;
}

.btn-cart:hover {
    background-color: #9c2721;
}

.delivery-info {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #DCDCDC;
    font-size: 14px;
}

.delivery-info stroke {
    opacity: 0.5;
}

/* =========================================
   3. EGYÉB MEGLÉVŐ SZEKCIÓK
========================================= */
.hero-little {
    position: relative;
    width: 100%;
    height: 320px;
    background: url("../images/little-hero-bg.png") center center / cover no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-little::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #1E1E1E99;
    opacity: 1;
    z-index: 1;
    pointer-events: none;
    user-select: none;
}

.hero-little .container,
.hero-little .container * {
    position: relative;
    z-index: 2;
}

.image-text-split {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.image-text-split .image-column {
    display: flex;
    align-items: stretch;
}

.image-text-split .image-wrapper img {
    border-radius: 10px;
    max-width: 510px;
}

@media (min-width: 992px) {
    .image-text-split .col-lg-5.image-column {
        width: 40.666667%
    }

    .image-text-split .col-lg-7 {
        width: 59.333333%;
    }
}

/* ÚJ Jelvény (Bal felső sarok) */
.new-badge {
    left: 5px;
    background-color: #AD2E24;
    /* text-transform: uppercase; */
    transform-origin: top left;
}

/* Hover esetén ez is visszakicsinyedik, hogy a képen maradjon */
/* (Összevonva fentebb a .discount-badge hoverrel) */


/* Ajándékutalvány Banner, Hírelevél, Footer Stílusok */
.gift-card-banner,
.newsletter-banner,
.footer-main-box,
.feature-card {
    background-color: #C75146;
}

.gift-card-banner,
.newsletter-banner {
    border-radius: 32px;
    padding: 40px;
}

/* Link formázása */
.gift-card-link {
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.gift-card-link:hover {
    opacity: 0.8;
    color: #ffffff;
}

.gift-card-link img {
    object-fit: contain;
}

/* Jobb oldali kép beállítása */
.gift-img {
    max-height: 292px;
    object-fit: contain;
}

/* Reszponzivitás nagyobb kijelzőkre */
@media (min-width: 992px) {
    .gift-card-banner {
        padding: 50px 60px;
        /* Desktopon még nagyobb belső térköz */
    }
}



/* Hírlevél Banner Alapstílusok */
.newsletter-banner {
    /* Background and basics moved to shared block above */
}

/* Kép beállítása */
.owl-img {
    max-height: 292px;
    object-fit: contain;
}


/* Input mezők formázása */
.custom-input {
    border-radius: 5px;
    border: 1px solid #81171B;
    padding: 14px 20px;
    font-size: 16px;
    box-shadow: none !important;
}

.custom-input::placeholder {
    color: #420300;
}

/* Egyedi kör alakú Checkbox */
.custom-circle-check {
    width: 24px;
    height: 24px;
    border-radius: 50% !important;
    /* Ettől lesz kör alakú */
    border: 1px solid #ffffff;
    background-color: transparent;
    cursor: pointer;
    appearance: none;
    transition: all 0.2s ease;
}

.custom-circle-check:checked {
    background-color: #ffffff;
    border-color: #ffffff;
    /* Opcionális: pipát rak a belsejébe, ha be van pipálva */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23c05c4d' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}

/* Checkbox szövege */
.consent-text {
    font-size: 14px;
    line-height: 1.4;
    cursor: pointer;
}

/* Feliratkozás gomb */
.btn-subscribe {
    background-color: #81171B;
    /* Sötét bordó */
    color: #ffffff;
    border: none;
    border-radius: 10px;
    padding: 9px 58px;
    font-size: 18px;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

.btn-subscribe:hover {
    background-color: #611816;
    /* Még sötétebb hover állapot */
    color: #ffffff;
}

.btn-subscribe:active {
    transform: scale(0.98);
}

/* Reszponzivitás asztali nézetre */
@media (min-width: 992px) {
    .newsletter-banner {
        padding: 50px 60px;
    }

    .newsletter-banner .title {
        font-size: 36px;
    }
}

/* Footer Fő Doboz */
.footer-main-box {
    background-color: #C75146;
    /* Téglavörös árnyalat */
    border-radius: 10px;
    padding: 40px;
}

.footer-logo {
    max-height: 70px;
    width: auto;
    filter: invert(100%) sepia(100%) grayscale(100%) brightness(200%);
}

.email-link {
    transition: opacity 0.2s ease;
}

.email-link:hover {
    opacity: 1;
    text-decoration: underline !important;
}

/* Közösségi Ikonok */
.social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: #ffffff;
    transition: all 0.2s ease;
}

.social-icon:hover {
    background-color: #ffffff;
    color: #c05c4d;
    /* Hover esetén megfordul a szín */
}

/* Linkek (Menü & Kategóriák) */
.footer-links li {
    margin-bottom: 12px;
}

.footer-links a {
    color: #ffffff;
    text-decoration: none;
    transition: all 0.2s ease;
}

.footer-links a:hover {
    text-decoration: underline;
}

/* Készítői felirat (CoderWeb) */
.coderweb-credit {
    font-size: 14px;
    opacity: 0.95;
}

/* Footer Alsó Sáv (Fehér) */
.footer-bottom {
    padding-bottom: 20px;
}

.copyright-text {
    font-size: 16px;
}

.policy-links a {
    font-size: 16px;
    text-decoration: underline;
    margin: 0 10px;
    transition: color 0.2s ease;
}

.policy-links a:hover {
    color: #c05c4d;
}

/* Reszponzivitás nagyobb képernyőkre */
@media (min-width: 992px) {
    .footer-main-box {
        padding: 60px 70px;
        /* Nagyobb térköz asztali nézeten */
    }

    .policy-links a {
        margin: 0 15px;
        /* Kicsit nagyobb távolság a linkek között */
    }
}







.about-image-placeholder {
    width: 100%;
    height: 350px;
    background-color: #C75146;
    border-radius: 32px;
    margin-bottom: 2.5rem;
}

.feature-card {
    background-color: #C75146;
    color: white;
    border-radius: 15px;
    padding: 1.5rem;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.feature-card span {
    max-width: 60%;
}

.feature-card img {
    width: 84px;
    height: auto;
    object-fit: contain;
}


.faq-section-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}

.faq-section-icon {
    width: 40px;
    height: 40px;
    object-fit: contain;
}




/* Termék belső oldal stílusok */
.product-inside .row {
    align-items: flex-start;
}

.product-image-container {
    box-shadow: 0px 0px 50px 3px #00000012;
    padding: 40px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 60px;
}

.product-cover-img {
    width: 100%;
    height: auto;
    margin-bottom: 1rem;
    margin-top: -100px;
}

.format-buttons-wrapper {
    display: flex;
    gap: 15px;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
}

.product-format-btn {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #E6E6E6;
    border-radius: 10px;
    width: 120px;
    height: 100px;
}

.product-format-btn img {
    width: 41px;
    height: 50px;
    margin-bottom: 8px;
    object-fit: contain;
}

.product-format-btn span {
    color: #DCDCDC;
    font-weight: 400;
}

.product-title-large {
    color: #420300;
    margin-bottom: 0.5rem;
}

.product-author {
    color: #797979;
    margin-bottom: 1.5rem;
}

.product-desc-container {
    margin-bottom: 2.5rem;
}

.product-desc {
    margin-bottom: 0.5rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
}

.product-desc.expanded {
    -webkit-line-clamp: unset;
}

.show-more-link {
    color: #420300;
    font-size: 15px;
    font-weight: 400;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    border-bottom: 1px solid #420300;
    padding-bottom: 2px;
    margin-top: 0.5rem;
}

.show-more-link:hover {
    color: #81171B;
    border-color: #81171B;
}

.cart-feedback-message {
    display: none;
    margin-top: 1rem;
    padding: 1rem 1.25rem;
    border-radius: 12px;
    font-size: 15px;
    line-height: 1.4;
    color: #ffffff;
}

.cart-feedback-message.success {
    background-color: #207227;
}

.cart-feedback-message.error {
    background-color: #D62828;
}

.show-more-link i {
    margin-right: 6px;
    font-style: normal;
    font-size: 20px;
    font-weight: 400;
}

.product-price {
    margin-bottom: 1.5rem;
}

.action-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 3rem;
}

.qty-input {
    width: 120px;
    height: 54px;
    border: 1px solid #E6E6E6;
    border-radius: 10px;
    text-align: center;
    background: #fff;
    outline: none;
}

.add-to-cart-btn {
    background-color: #81171B;
    color: #fff;
    border: none;
    border-radius: 10px;
    height: 54px;
    padding: 6px 58px;
    transition: background-color 0.2s;
}

.add-to-cart-btn:hover {
    background-color: #A92026;
}

.product-meta-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #DCDCDC;
}

.meta-item img {
    width: 24px;
    height: auto;
}



.gift-card-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-top: 30px;
}

.gift-card-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.gift-card-img-box {
    width: 100%;
    aspect-ratio: 5/3;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    overflow: hidden;
}

.gift-card-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gift-card-subtitle {
    color: #420300;
    margin-bottom: 0.5rem;
}

.gift-card-category {
    color: #797979;
    margin-bottom: 1rem;
}

@media(max-width: 991px) {
    .gift-card-row {
        flex-direction: column;
        gap: 40px;
    }

    .gift-card-col {
        width: 100%;
    }
}



.register-title {
    color: #420300;
}

.register-subtitle {
    color: #797979;
}

.custom-input:focus {
    border-color: #551415;
    box-shadow: 0 0 0 0.2rem rgba(85, 20, 21, 0.25);
}

.custom-checkbox {
    width: 20px;
    height: 20px;
    border: 1px solid #d5836a;
    border-radius: 50% !important;
    /* Circle look */
    flex-shrink: 0;
    margin-top: 0;
    cursor: pointer;
}

.custom-checkbox:checked {
    background-color: #551415;
    border-color: #551415;
}

.privacy-label {
    cursor: pointer;
}

.btn-register {
    background-color: #81171B;
    color: white;
    border-radius: 10px;
    padding: 9px 58px;
    border: none;
    transition: background-color 0.3s ease;
}

.btn-register:hover {
    background-color: #551415;
    color: white;
}

.login-link-text {
    color: #980309;
}

.login-link-text a {
    font-weight: 700 !important;
}

.login-link-text a:hover {
    text-decoration: underline;
}

.owl-illustration {
    max-width: 380px;
    width: 100%;
    object-fit: contain;
}

@media (max-width: 991px) {
    .owl-illustration {
        max-width: 200px;
    }
}


.login-register-section .custom-checkbox {
    width: 20px;
    height: 20px;
    border: 1px solid #d5836a;
    border-radius: 50% !important;
    flex-shrink: 0;
    margin-top: 0;
    cursor: pointer;
}

.login-register-section .auth-subtitle {
    color: #797979;
}

.login-register-section .custom-checkbox:checked {
    background-color: #81171B;
    border-color: #81171B;
}

.login-register-section .btn-auth {
    background-color: #81171B;
    color: #ffffff;
    border-radius: 10px;
    padding: 12px;
    border: none;
    transition: background-color 0.3s;
}

.login-register-section .btn-auth:hover {
    background-color: #551415;
    color: #ffffff;
}

.login-register-section .forgot-password {
    color: #980309;
    text-decoration: none;
    display: inline-block;
    margin-top: 5px;
}

.login-register-section .forgot-password:hover {
    text-decoration: underline;
}





.cart-item {
    display: grid;
    grid-template-columns: 130px 2.5fr 1.5fr auto 120px;
    align-items: center;
    padding: 1.5rem 0;
    border-bottom: 1px solid #f0f0f0;
    gap: 40px;
}

.cart-item:first-of-type {
    border-top: none;
}

.cart-item-img-wrap {
    position: relative;
    width: 100%;
    max-width: 130px;
    margin: 0 auto;
}

.cart-item-img-wrap img {
    width: 100%;
    height: auto;
    display: block;
}

.cart-item-details {
    text-align: center;
}


.cart-item-status {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.status-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.cart-item-qty {
    display: flex;
    align-items: center;
    gap: 15px;
}

.qty-btn {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #141414;
    line-height: 1;
    padding: 0 5px;
}

.qty-input-box {
    width: 90px;
    height: 45px;
    border: 1px solid #E6E6E6;
    border-radius: 10px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #141414;
}

.cart-item-price {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.old-price-cart {
    color: #B0B0B0;
    text-decoration: line-through;
    font-size: 15px;
    margin-bottom: 2px;
}

.cart-actions {
    display: flex;
    justify-content: flex-end;
    padding: 1.5rem 0;
    border-bottom: 1px solid #f0f0f0;
}

.clear-cart-btn {
    background: none;
    border: none;
    color: #7F7F7F;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: color 0.2s;
}

.clear-cart-btn:hover {
    color: #81171B;
}

.cart-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2.5rem 0 1rem;
    flex-wrap: wrap;
    gap: 30px;
}

.summary-values-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 120px;
}

.summary-block {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.btn-continue {
    background-color: #81171B;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 9px 58px;
    transition: background-color 0.3s;
}

.btn-continue:hover {
    background-color: #551415;
    color: #fff;
}

@media (max-width: 991px) {
    .cart-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .cart-item-details,
    .cart-item-status,
    .cart-item-price {
        width: 100%;
        align-items: center;
        justify-content: center;
    }

    .cart-item-status {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .cart-item-price {
        text-align: center;
    }

    .cart-summary {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .summary-values-wrapper {
        flex-direction: column;
        gap: 20px;
        align-items: center;
        margin-bottom: 1rem;
    }

    .btn-continue {
        width: 100%;
    }
}


.filter-container {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 40px;
    margin-top: 15px;
}

.filter-item {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 15px;
}

.filter-item input[type="checkbox"] {
    display: none;
}

.filter-item .checkmark {
    width: 20px;
    height: 20px;
    border: 1px solid #797979;
    border-radius: 50%;
    margin-right: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.filter-item input[type="checkbox"]:checked+.checkmark::after {
    content: '';
    width: 10px;
    height: 10px;
    background-color: #a72314;
    /* Active dot color */
    border-radius: 50%;
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 10px;
}

@media (min-width: 576px) {
    .products-grid {
        gap: 40px 20px;
    }
}

@media (min-width: 768px) {
    .products-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 992px) {
    .products-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 1200px) {
    .products-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

.pagination-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    align-items: center;
    border-top: 1px solid #f0f0f0;
    padding-top: 20px;
    margin-top: 50px;
}

@media (min-width: 576px) {
    .pagination-container {
        justify-content: space-between;
    }
}

.pagination-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
    list-style: none;
    padding: 0;
    margin: 0;
}

@media (min-width: 576px) {
    .pagination-list {
        gap: 8px;
    }
}

.pagination-link {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid #E6E6E6;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.2s;
}

@media (min-width: 576px) {
    .pagination-link {
        width: 35px;
        height: 35px;
        font-size: 14px;
    }
}

.pagination-link:hover,
.pagination-link.active {
    background-color: #AD2E24;
    color: #fff;
    border-color: #AD2E24;
}

.pagination-nav {
    border: 1px solid #E6E6E6;
    padding: 6px 12px;
    border-radius: 30px;
    display: flex;
    align-items: center;
    color: #420300;
    text-decoration: none;
    font-size: 16px;
    transition: color 0.2s;
}

.pagination-nav:hover {
    color: #a72314;
}

.pagination-nav svg {
    width: 20px;
    height: 20px;
}

.pagination-nav.prev svg {
    margin-right: 3px;
}

.pagination-nav.next svg {
    margin-left: 3px;
}


.order-textarea {
    resize: none;
}

.delivery-card {
    border: 1px solid #E6E6E6;
    border-radius: 10px;
    padding: 1rem;
    text-align: center;
    height: 100%;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.delivery-card.active {
    border: 1px solid #1E1E1E;
}

.delivery-card img {
    max-height: 100px;
    margin-bottom: 15px;
    opacity: 0.4;
    transition: opacity 0.3s;
}

.delivery-card.active img {
    opacity: 1;
}

.delivery-card h4 {
    color: #dcdcdc;
    transition: color 0.3s;
}

.delivery-card.active h4 {
    color: #1E1E1E;
}

.delivery-price {
    color: #dcdcdc;
    transition: color 0.3s;
}

.delivery-card.active .delivery-price {
    color: #1E1E1E;
}

.delivery-desc {
    color: #dcdcdc;
    transition: color 0.3s;
}

.delivery-card.active .delivery-desc {
    color: #1E1E1E;
}

.custom-radio-box {
    display: flex;
    align-items: start;
    margin-bottom: 15px;
}

.order-checkbox {
    width: 20px;
    height: 20px;
    border: 1px solid #d5836a;
    border-radius: 50% !important;
    flex-shrink: 0;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    display: inline-block;
    position: relative;
    background-color: #fff;
}

.order-checkbox:checked {
    background-color: #81171B;
    border-color: #81171B;
}

/* Custom dropdown styling on top of custom-input */
select.custom-input {
    appearance: none;
    -webkit-appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg width="12" height="8" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1.5L6 6.5L11 1.5" stroke="%23420300" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    background-repeat: no-repeat;
    background-position: right 20px center;
    cursor: pointer;
}

.step-card {
    border: 1px solid #E6E6E6;
    border-radius: 10px;
    padding: 15px;
    text-align: center;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
}

.step-card.active {
    border: 1px solid #1E1E1E;
}

.step-card img {
    height: 100px;
    margin-bottom: 10px;
    object-fit: contain;
    opacity: 0.3;
    transition: opacity 0.3s;
}

.step-card.active img {
    opacity: 1;
}

.step-card span {
    color: #dcdcdc;
    transition: color 0.3s;
}

.step-card.active span {
    color: #1E1E1E;
}