
.card .title {
    min-height: 2.6em;        /* ~2 lines of Inter at your size */
    line-height: 1.3;
    display: -webkit-box;     /* optional: clamp to 2 lines */
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
    overscroll-behavior-x: none;
}
body {
    font-family: Inter, sans-serif;
    background-color: #F2EEE9;
    min-height: 100vh;
}
:root {
    --mobile-menu-top-offset: 0px;
}
nav {
    background: #F2EEE9;
    position: relative;
    z-index: 1000;
    transition: box-shadow .28s ease;
}
nav.nav-scrolled {
    box-shadow: 0 8px 24px rgba(0,0,0,0.14);
}
.menu-left{
    margin-top: 10px;
}
.nav-container {
    max-width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 70px;
}

.menu-left img {
    width: clamp(100px, 12vw, 237px);
    height: clamp(50px, 10vw, 126px);
    object-fit: contain;
}

.menu-right {
    display: flex;
    gap: 30px;
    height: fit-content;
}

.nav-menu {
    display: flex;
    list-style: none;
    gap: 35px;
    align-items: center;
    margin: auto 0;
}

.nav-link, .cart-text {
    text-decoration: none;
    padding: 8px 0;
    transition: color 0.3s ease;
    position: relative;
    color: #000;
    font-family: "Inter", sans-serif;
    font-size: calc(16px + (20 - 16) * ((100vw - 1300px) / (1920 - 1300)));
    font-weight: 400;
}

.nav-link:hover {
    color: #847630;
}

.nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: -2px;
    left: 0;
    background-color: #847630;
    transition: width 0.3s ease;
}

.nav-link:hover::after {
    width: 100%;
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}

.contact-btn {
    background-color: #000000;
    padding: 12px 21px;
    border-radius: 25px;
    text-decoration: none;
    transition: background-color 0.3s ease, transform 0.2s ease;
    color: #FFF;
    font-size: calc(16px + (20 - 16) * ((100vw - 1300px) / (1920 - 1300)));
    font-weight: 400;
}

.contact-btn:hover {
    background-color: #1a1a1a;
    transform: translateY(-1px);
    text-decoration: underline;
}

.cart-icon img {
    width: 30px;
    height: 30px;
    cursor: pointer;
    transition: transform 0.2s ease;
}
.cart-icon{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    transition: .3s;
    text-decoration: none;
}

.cart-text{
    display: none;
}

.cart-icon:hover {
    transform: scale(1.1);
    transition: .3s;
}
.mobile-cart-icon {
    display: none;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    /*border: 2px solid #000;*/

    /*width: 50px;*/
    /*height: 50px;*/
    border: none;

    border-radius: 999px;
    background: #F2EEE9;
    text-decoration: none;
    position: relative;
    margin-left: auto;
}
.mobile-cart-icon img {
    width: 30px;
    height: 30px;
}
.mobile-cart-icon .cart-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 16px;
    height: 16px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-size: .65rem;
    color: #fff;
    background: #ff5a5a;
}

/* Hamburger Menu */
.hamburger {
    display: none;
    flex-direction: column;
    cursor: pointer;
    padding: 5px;
    margin-left: 10px;
    position: relative;
    height: fit-content;
}

.hamburger span {
    width: 25px;
    height: 3px;
    background-color: #000;
    margin: 2px 0;
    transition: 0.4s ease;
}

.hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.hamburger.active span:nth-child(2) {
    opacity: 0;
}

.hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

/* Mobilní verze */
@media screen and (max-width: 1024px) {
    nav{
        position: sticky;
        top: 0;
        z-index: 1500;
    }
    .cart-text{
        display: block;
    }
    .cart-icon{
        border: 2px solid black;
        border-radius: 25px;
        padding: 2px 15px;
    }
    .menu-right {
        position: fixed;
        top: var(--mobile-menu-top-offset, 0px);
        right: -100vw;
        height: calc(100dvh - var(--mobile-menu-top-offset, 0px));
        width: min(300px, 92vw);
        max-width: 92vw;
        min-width: 0;
        background: #F2EEE9;
        box-shadow: -5px 0 15px rgba(0,0,0,0.2);
        transition: right 0.4s ease, box-shadow .3s ease;
        padding: 26px 30px 24px;
        flex-direction: column;
        justify-content: flex-start;
        gap: 20px;
        margin: 0;
    }
    .nav-link, .contact-btn, .cart-text{
        font-size: 18px;
    }

    .menu-right.active {
        right: 0;
        box-shadow: -10px 0 24px rgba(0,0,0,0.24);
    }

    .nav-menu {
        flex-direction: column;
        gap: 25px;
        align-items: flex-start;
        margin: 0;
    }

    .nav-actions {
        flex-direction: column;
        gap: 15px;
        margin-top: 14px;
        align-items: flex-start;
    }
    .menu-right .cart-icon{
        display: none;
    }
    .mobile-cart-icon {
        display: inline-flex;
    }

    .hamburger {
        display: flex;
        margin-left: 8px;
    }
}
@media  screen and (max-width: 320px) {
    .menu-right{
        width: min(250px, 92vw);
        max-width: 92vw;
        min-width: 0;
    }
    .nav-link, .contact-btn, .cart-text{
        font-size: 16px;
    }
}

.cart-badge{
    position: relative;
    top: -6px;
    right: 22px;
    min-width: 16px;
    height: 16px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-size: .65rem;
    color: #fff;
    background: #ff5a5a;
    text-decoration: none;
}



.review-s{
    display: flex;
    flex-direction: column;
}
.rev-meta{
    margin-top: auto !important;
    margin-bottom: 0px;
}

/* Language switcher */
.lang-switch{position:relative}
.lang-btn{
    border:0px solid #000; background:#fff; color:#000;
    padding:8px 12px; border-radius:999px; cursor:pointer;
    font-weight:600; font-size:14px; display:flex; align-items:center; gap:8px;
}
.lang-caret{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #000;transition:transform .2s ease}
.lang-btn[aria-expanded="true"] .lang-caret{transform:rotate(180deg)}
.lang-menu{
    position:absolute; right:0; top:110%;
    background:#fff; border:1px solid rgba(0,0,0,.12); border-radius:12px;
    box-shadow:0 10px 30px rgba(0,0,0,.15);
    padding:6px; min-width:120px; overflow:hidden;
    transform-origin:top right;
    opacity:0; transform:scale(.96); pointer-events:none;
    transition:opacity .15s ease, transform .15s ease;
}
.lang-menu.open{opacity:1; transform:scale(1); pointer-events:auto}
.lang-item{
    display:flex; align-items:center; gap:10px;
    width:100%; border:0; background:none; cursor:pointer;
    text-align:left; padding:10px 12px; border-radius:8px; font-weight:600;
}
.lang-item:hover{background:#F2EEE9}
.lang-item[aria-current="true"]{background:#e8e3db}
.flag{width:18px;height:18px;border-radius:3px;display:inline-block;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.flag-cs{background:linear-gradient(180deg,#fff 0 33%,#d7141a 33% 100%), linear-gradient(90deg,#11457e 0 50%, transparent 0)}
.flag-en{background:linear-gradient(180deg,#00247d 0 100%), linear-gradient(0deg,#cf142b 0 100%)}
.lang-code{font-variant:small-caps; letter-spacing:.03em}
.lang-flag svg {
    width: 18px;
    height: 18px;
    display: block;
    border-radius: 3px;
}


.main-img-wrapper {
    position: relative;
    width: 100%;
    height: min(80vh, 900px); /* tune for your design */
    overflow: hidden;
}
.main-video {
    width: 100%;
    height: 100%;
    object-fit: cover;       /* fill without distortion */
    display: block;
    filter: brightness(0.5);

}
.main-img-wrapper { opacity: 0; transition: opacity .3s ease; }
.main-img-wrapper.ready { opacity: 1; }


.lwn-media{
    display:block;
    width:100%;
    aspect-ratio: 16 / 9; /* keeps videos consistent with images */
    position:relative;
    background:#000;
    overflow:hidden;
    border-radius: 8px;
}
.lwn-media iframe{
    position:absolute; inset:0;
    width:100%; height:100%;
}

.lwn-title a{
    color: #000;
    text-decoration: none;
}
/* Optional: subtle fade-in for revealed cards */
.lwn-card--extra.revealed {
    animation: lwnFadeIn .35s ease forwards;
}

.lwn-card{
    min-width: 230px;
}
@keyframes lwnFadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}
/* Ensure the more button spans full row in the right column */
#latest-wine-news .lwn-right-col .lwn-more {
    flex: 1 1 100%;
    display: grid;
    place-items: center;
    margin-top: 0;
}

/* ===== LATEST WINE NEWS ===== */
:root{
    --lwn-text:#0f0f0f;
    --lwn-muted:#6d6d6d;
    --lwn-accent:#847630;
    --lwn-gap:40px;
}

#latest-wine-news{
    background: #fff;
    padding: 32px 16px 20px;
    color: var(--lwn-text);
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Helvetica Neue", sans-serif;
    padding-top: 60px;
    padding-bottom: 60px;
}

#latest-wine-news .lwn-heading{
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
    font-weight: 400;
    font-size: clamp(32px, 3.6vw, 68px);
    line-height: 1.05;
    margin: 0 0 28px 0;
    letter-spacing: -0.01em;
}

/*.lwn-wrapper{*/
/*    max-width: 1220px;*/
/*    margin: 0 auto;*/
/*}*/

.lwn-grid{
    display: grid;
    grid-template-columns: 1.25fr 2fr;
    gap: var(--lwn-gap);
    align-items: start;
}

/* Cards */
.lwn-card{
    display: block;
    flex: 1;
}

.lwn-card .lwn-img{
    display:block;
    width:100%;
    aspect-ratio: 4/3;
    overflow:hidden;
    position:relative;
    background:#eee;
}

.lwn-card--feature .lwn-img{
    aspect-ratio: 7/8;
}

.lwn-card img{
    width:100%;
    height:100%;
    object-fit: cover;
    display:block;
    transition: transform .35s ease;
}

.lwn-card .lwn-img:hover img{
    transform: scale(1.02);
}

.lwn-meta{
    display:flex;
    justify-content: space-between;
    align-items:center;
    gap:16px;
    margin-top: 14px;
    font-size: 13px;
    letter-spacing:.06em;
    text-transform: uppercase;
}

.lwn-tag{
    color: var(--lwn-muted);
}

.lwn-date{
    color: var(--lwn-muted);
    white-space: nowrap;
}

.lwn-title{
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
    font-weight: 500;
    font-size: clamp(20px, 2.2vw, 32px);
    line-height: 1.15;
    margin: 6px 0 0 0;
}

/* More button with arc */
.lwn-more{
    margin: clamp(20px, 6vw, 56px) auto 8px;
    margin-top: 0px !important;
    display: grid;
    place-items: center;
    text-decoration: none;
    color: var(--lwn-text);
    width: min(640px, 90%);
    row-gap: 8px;


    /*position: absolute;*/
    /*right: 0px;*/
    /* bottom: 0px; */
    /*margin-top: 320px;*/
    flex: 1 100%;
}

.lwn-more-arc{
    display:flex;
    justify-content:center;
    align-items:center;
    /*width:100%;*/
}

.lwn-more svg{
    width: 100%;
    height: auto;
    max-width: 570px;
    display:block;
}

.lwn-more-label{
    font-size: 14px;
    letter-spacing:.12em;
    text-transform: uppercase;
    color: var(--lwn-accent);
    text-align:center;
}

/* ===== Responsive ===== */
@media (max-width: 1024px){
    .lwn-grid{
        grid-template-columns: 1fr;
    }
    .lwn-card--feature{
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px){
    :root{ --lwn-gap:20px; }
    .lwn-grid{
        grid-template-columns: 1fr;
    }
    .lwn-meta{ font-size:12px; }
    .lwn-title{ font-size: clamp(18px, 6vw, 28px); }
}

.added{
    transition: .3s;
    background: #00a500;
    width: fit-content;

}.buy-btn{
     transition: .3s;
     width: fit-content;

 }
.title>a{
    text-decoration: none;
    color: #2b2825;
}

.wi-modal-backdrop{
    position:fixed; inset:0; background:rgba(0,0,0,.45);
    display:none; z-index:2000;
}
.wi-modal{
    position:fixed; inset:0; display:none; z-index:2001;
    align-items:center; justify-content:center; padding:20px;
}
.wi-modal.open, .wi-modal-backdrop.open{ display:flex; }
.wi-modal .sheet{
    width:min(1100px, 95vw);
    background:#fff; border-radius:16px;
    overflow:auto;
    box-shadow:0 20px 80px rgba(0,0,0,.35);
    display:grid; grid-template-columns: 520fr 620fr; gap:0;
    max-height:calc(100vh - 60px);
}
.wi-modal .media{ min-height: 300px; position:relative; padding:16px; background:#f7f3ee; display:flex; align-items:center; justify-content:center }
.wi-modal .media .frame{ position:relative; width:100% }
.wi-modal .media img.slide{ width:100%; height:auto; display:none; border-radius:10px; box-shadow:0 6px 18px rgba(0,0,0,.12) }
.wi-modal .media img.slide.active{ display:block }
.wi-modal .nav-arrow{
    position:absolute; top:50%; transform:translateY(-50%);
    width:36px; height:36px; border-radius:8px; border:0; cursor:pointer;
    background:#000000a6; color:#fff; display:grid; place-items:center;
}
.wi-modal .nav-arrow.left{ left:18px }
.wi-modal .nav-arrow.right{ right:18px }

.wi-modal .content{ padding:20px 22px 20px 10px; overflow:auto }
.wi-modal .close{
    position:absolute; top:10px; right:10px; border:0; background:#000; color:#fff;
    width:36px; height:36px; border-radius:999px; cursor:pointer;
    z-index: 333333;
}
.wi-modal h2{ font-family:"Playfair Display", serif; font-size:28px; line-height:1.2; margin:6px 0 10px }
.wi-modal .tag{ display:inline-block; background:#847630; color:#fff; padding:7px 12px; border-radius:999px; font-weight:600; font-size:13px }
.wi-modal .intro{ color:#2a2623; margin:12px 0 14px }
.wi-modal .features{ list-style:none; padding:0; margin:0; display:grid; gap:12px }
.wi-modal .features li{ display:grid; grid-template-columns:48px 1fr; gap:14px; align-items:center }
.wi-modal .bullet{ width:48px; height:48px; border-radius:999px; background:#847630; color:#000; display:grid; place-items:center; font-weight:800; box-shadow:0 1px 0 rgba(0,0,0,.15); font-size:18px }
.wi-modal .bullet i{ font-size:20px }

.wi-modal .price-row{ margin-top:18px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-top:1px solid #d7cdb7; padding-top:14px }
.wi-modal .price strong{ font-size:28px; color:#1b1a17; display:block; line-height:1 }
.wi-modal .price .sub{ font-size:13px; color:#8a837b; margin-top:6px }
.wi-modal .btn-buy{ background:#847630; color:#fff; padding:10px 22px; border-radius:10px; font-weight:700; border:0; cursor:pointer }

@media (max-width:980px){
    .wi-modal .sheet{ grid-template-columns:1fr; }
    .wi-modal .sheet .media img{ aspect-ratio: 14 / 9;
        object-fit: cover;}
    .wi-modal .content{ padding:16px; }
}

.home-about-section {
    padding: 72px 0 28px;
}

.home-about-section .container-w {
    align-items: flex-start;
    gap: 56px;
}

.home-about-section .left-part-w,
.home-about-section .right-part-w {
    flex: 1 1 0;
    width: 100%;
    max-width: none;
}

.home-about-text,
.home-about-why-text {
    color: #000;
    font-family: Inter, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.55;
    margin: 0;
}

.home-about-why {
    margin-top: 30px;
}

.home-about-why-title {
    color: #000;
    font-family: "Playfair Display", serif;
    font-size: 42px;
    font-weight: 400;
    line-height: 1.12;
    margin: 0 0 14px;
}

.home-about-team-section {
    padding: 24px 0 80px;
}

.home-about-team-section .container-w {
    align-items: flex-start;
    gap: 48px;
}

.home-about-team-section .left-part-w,
.home-about-team-section .right-part-w {
    flex: 1 1 0;
    width: 100%;
    max-width: none;
}

.home-about-people {
    display: grid;
    gap: 24px;
}

.home-about-person {
    display: grid;
    grid-template-columns: 116px 1fr;
    align-items: center;
    gap: 20px;
    padding: 22px;
    border-radius: 14px;
    background: rgba(132, 118, 48, 0.14);
}

.home-about-avatar {
    width: 116px;
    height: 116px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.home-about-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.home-about-person-name {
    color: #000;
    font-family: "Playfair Display", serif;
    font-size: 34px;
    font-weight: 400;
    line-height: 1.1;
    margin: 0 0 10px;
}

.home-about-person-text {
    color: #000;
    font-family: Inter, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    margin: 0;
}

.home-about-facebook {
    width: 100%;
    max-width: 560px;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
}

.home-about-facebook iframe {
    width: 100%;
    max-width: 560px;
    min-height: 620px;
    border: 0;
    display: block;
}

@media (max-width: 900px) {
    .home-about-section .container-w,
    .home-about-team-section .container-w {
        flex-direction: column;
        gap: 28px;
    }

    .home-about-text,
    .home-about-why-text {
        font-size: 17px;
    }

    .home-about-why-title {
        font-size: 32px;
    }

    .home-about-person {
        grid-template-columns: 92px 1fr;
        gap: 16px;
        padding: 18px;
    }

    .home-about-avatar {
        width: 92px;
        height: 92px;
    }

    .home-about-person-name {
        font-size: 28px;
        margin-bottom: 8px;
    }

    .home-about-person-text {
        font-size: 16px;
    }

    .home-about-facebook,
    .home-about-facebook iframe {
        max-width: 100%;
    }

    .home-about-facebook iframe {
        min-height: 540px;
    }
}

/* ===== FLOATING CTA BUTTON ===== */
.float-cta {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 9000;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: #847630;
    color: #fff;
    text-decoration: none;
    padding: 14px 22px;
    border-radius: 999px;
    font-family: Inter, sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    box-shadow: 0 6px 24px rgba(132, 118, 48, 0.45), 0 2px 8px rgba(0,0,0,0.15);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    white-space: nowrap;
    cursor: pointer;
    letter-spacing: 0.01em;
}

.float-cta:hover {
    background: #6e6228;
    transform: translateY(-2px);
    box-shadow: 0 10px 32px rgba(132, 118, 48, 0.55), 0 4px 12px rgba(0,0,0,0.18);
}

.float-cta:active {
    transform: translateY(0);
}

.float-cta svg {
    flex-shrink: 0;
}

@media (max-width: 640px) {
    .float-cta {
        bottom: 18px;
        right: 16px;
        padding: 12px 18px;
        font-size: 14px;
    }
}
