@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
    --green: #9acd32;
    --red: #d62828;
    --black: #070707;
    --white: #ffffff;
    --cream: #f7f6f1;
    --cream-2: #f0efe9;
    --line: #e6e3da;
    --muted: #686868;
    --max: 1180px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    color: var(--black);
    background: var(--white);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.6;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }
a { color: inherit; }

.container {
    width: min(calc(100% - 44px), var(--max));
    margin-inline: auto;
}

.narrow { max-width: 780px; }

.sr-only {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

/* Header */
.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid rgba(0,0,0,.06);
    backdrop-filter: blur(14px);
}

.header-inner {
    min-height: 92px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.brand img {
    display: block;
    width: 178px;
    max-height: 76px;
    object-fit: contain;
}

.main-nav {
    display: flex;
    gap: 32px;
    align-items: center;
}

.main-nav a {
    position: relative;
    padding: 8px 0;
    text-decoration: none;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .02em;
}

.main-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: 2px;
    height: 3px;
    border-radius: 999px;
    background: var(--green);
    transition: right .18s ease;
}

.main-nav a:hover::after,
.main-nav a.active::after {
    right: 0;
}

.nav-toggle {
    display: none;
    border: 0;
    border-radius: 999px;
    padding: 10px 15px;
    background: var(--black);
    color: white;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
}

/* Hero */
.hero {
    min-height: calc(88vh - 92px);
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: 82px 0 92px;
    background:
        radial-gradient(circle at 50% 34%, rgba(154,205,50,.13), transparent 24%),
        radial-gradient(circle at 15% 88%, rgba(214,40,40,.045), transparent 18%),
        linear-gradient(180deg, #fff 0%, #fbfbf8 100%);
}

.hero-inner {
    position: relative;
    max-width: 960px;
    text-align: center;
}

.hero-mark {
    display: inline-flex;
    margin-bottom: 26px;
    padding: 8px 14px;
    border: 1px solid #dfded7;
    border-radius: 999px;
    color: #555;
    background: rgba(255,255,255,.76);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.hero-logo {
    display: block;
    width: min(690px, 92vw);
    margin: 0 auto 28px;
    filter: drop-shadow(0 18px 24px rgba(0,0,0,.035));
}

.hero-lead {
    max-width: 660px;
    margin: 0 auto 34px;
    color: #4e4e4e;
    font-size: clamp(18px, 2vw, 21px);
}

.hero-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
}

/* Buttons */
.btn-public {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 25px;
    border: 2px solid var(--black);
    border-radius: 999px;
    text-decoration: none;
    font-weight: 900;
    transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.btn-public:hover { transform: translateY(-1px); }

.btn-dark {
    background: var(--black);
    color: var(--white);
}

.btn-dark:hover {
    background: var(--green);
    border-color: var(--green);
    color: var(--black);
}

.btn-light {
    background: var(--white);
    color: var(--black);
}

.btn-light:hover {
    background: var(--black);
    color: var(--white);
}

.btn-green {
    background: var(--green);
    border-color: var(--green);
    color: var(--black);
}

.btn-green:hover {
    background: var(--white);
    border-color: var(--white);
}

/* General sections */
.section { padding: 108px 0; }

.split {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 80px;
    align-items: start;
}

.eyebrow {
    display: inline-block;
    margin-bottom: 12px;
    color: #679000;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .18em;
}

.eyebrow.red { color: var(--red); }

h1, h2, h3, p { overflow-wrap: anywhere; }

h2 {
    margin: 0;
    font-size: clamp(38px, 5vw, 66px);
    line-height: 1;
    letter-spacing: -.045em;
}

.lead-copy {
    padding-top: 6px;
}

.lead-copy p {
    margin-top: 0;
    margin-bottom: 30px;
    color: #484848;
    font-size: 20px;
}

.text-link {
    display: inline-block;
    padding-bottom: 2px;
    border-bottom: 2px solid var(--green);
    text-decoration: none;
    font-weight: 900;
}

.intro-section {
    background: var(--white);
}

/* Menu highlight */
.menu-highlight {
    position: relative;
    overflow: hidden;
    padding: 96px 0;
    background: var(--black);
    color: var(--white);
}

.menu-highlight-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    align-items: center;
    gap: 70px;
}

.menu-highlight-copy h2 {
    max-width: 720px;
    margin: 0 0 22px;
}

.menu-highlight-copy p {
    max-width: 650px;
    margin: 0 0 32px;
    color: #c8c8c8;
    font-size: 19px;
}

.menu-highlight-art {
    position: relative;
    min-height: 390px;
    display: grid;
    place-items: center;
}

.menu-highlight-art img {
    position: relative;
    z-index: 3;
    width: 92px;
    filter: drop-shadow(0 10px 20px rgba(0,0,0,.18));
}

.plate {
    position: absolute;
    border: 4px solid rgba(255,255,255,.94);
    border-radius: 50%;
}

.plate-one {
    width: 360px;
    height: 360px;
    border-right-color: transparent;
    transform: rotate(-26deg);
}

.plate-two {
    width: 235px;
    height: 235px;
    border-width: 2px;
    border-left-color: transparent;
    transform: rotate(18deg);
}

/* Contact teaser */
.contact-teaser {
    background: var(--cream);
}

.contact-teaser-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
}

.contact-teaser-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
}

.contact-big {
    text-decoration: none;
    font-size: clamp(26px, 4vw, 42px);
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.035em;
}

/* Inner pages */
.page-hero {
    padding: 118px 0 78px;
    background:
        radial-gradient(circle at 50% 0%, rgba(154,205,50,.09), transparent 38%),
        linear-gradient(180deg, #fafaf7, #fff);
}

.page-hero.compact {
    padding-bottom: 54px;
}

.page-hero h1 {
    margin: 0 0 20px;
    font-size: clamp(50px, 8vw, 92px);
    line-height: .96;
    letter-spacing: -.055em;
}

.page-hero p {
    margin: 0;
    color: #555;
    font-size: 19px;
}

.menu-title-section { text-align: center; }

.menu-flower {
    width: 76px;
    height: 76px;
    margin-bottom: 18px;
    object-fit: contain;
}

.menu-pdf { margin-top: 28px; }

.menu-content {
    padding: 12px 0 110px;
}

.menu-container {
    max-width: 920px;
}

.menu-category {
    padding: 54px 0;
    border-bottom: 1px solid var(--line);
}

.menu-category:last-child { border-bottom: 0; }

.menu-category-head {
    margin-bottom: 28px;
}

.menu-category-head h2 {
    font-size: clamp(34px, 6vw, 58px);
}

.menu-category-head p {
    margin-bottom: 0;
    color: var(--muted);
}

.menu-items {
    display: grid;
    gap: 5px;
}

.menu-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 22px;
    padding: 23px 0;
    border-top: 1px solid #ededed;
}

.menu-item:first-child { border-top: 0; }

.dish-photo {
    width: 126px;
    height: 96px;
    border-radius: 17px;
    object-fit: cover;
}

.dish-line {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 18px;
    align-items: start;
}

.dish-line h3 {
    margin: 0;
    font-size: 21px;
    line-height: 1.3;
}

.dish-price {
    white-space: nowrap;
    font-size: 19px;
    font-weight: 900;
}

.dish-description {
    margin: 7px 0 0;
    color: #555;
}

.dish-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 8px;
    color: #858585;
    font-size: 12px;
}

.empty-public {
    padding: 52px;
    border-radius: 22px;
    background: var(--cream);
    text-align: center;
}

/* Contact page */
.contact-section { padding-top: 24px; }

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.contact-card {
    padding: 42px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: white;
}

.contact-card.dark {
    border-color: var(--black);
    background: var(--black);
    color: white;
}

.contact-card h2 {
    margin-bottom: 28px;
    font-size: 36px;
}

.contact-row {
    margin: 20px 0;
}

.contact-row small {
    display: block;
    color: #777;
    text-transform: uppercase;
    letter-spacing: .1em;
}

.contact-row a,
.contact-row span {
    text-decoration: none;
    font-size: 21px;
    font-weight: 800;
}

.opening-hours {
    font-size: 19px;
}

/* Footer */
.site-footer {
    padding: 58px 0 22px;
    border-top: 1px solid var(--line);
    background: #fbfbf8;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.45fr .8fr 1fr;
    gap: 52px;
}

.footer-grid > div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
}

.footer-grid a {
    text-decoration: none;
}

.footer-logo {
    width: 176px;
    margin-bottom: 5px;
}

.footer-grid p {
    margin: 0;
    color: var(--muted);
}

.footer-bottom {
    margin-top: 42px;
    padding-top: 18px;
    border-top: 1px solid #deddd7;
    color: #777;
    font-size: 13px;
}

/* Mobile */
@media (max-width: 800px) {
    .container { width: min(calc(100% - 28px), var(--max)); }

    .header-inner { min-height: 74px; }

    .brand img {
        width: 124px;
        max-height: 58px;
    }

    .nav-toggle { display: inline-flex; }

    .main-nav {
        display: none;
        position: absolute;
        top: 74px;
        left: 14px;
        right: 14px;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        overflow: hidden;
        border: 1px solid var(--line);
        border-radius: 18px;
        background: white;
        box-shadow: 0 14px 40px rgba(0,0,0,.12);
    }

    .main-nav.open { display: flex; }

    .main-nav a { padding: 14px 18px; }

    .main-nav a::after { display: none; }

    .hero {
        min-height: 76vh;
        padding: 58px 0 70px;
    }

    .hero-logo {
        width: min(560px, 95vw);
    }

    .section { padding: 74px 0; }

    .split,
    .menu-highlight-grid,
    .contact-teaser-inner,
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .menu-highlight {
        padding: 74px 0;
    }

    .menu-highlight-art {
        min-height: 290px;
    }

    .plate-one {
        width: 275px;
        height: 275px;
    }

    .plate-two {
        width: 180px;
        height: 180px;
    }

    .menu-highlight-art img {
        width: 74px;
    }

    .page-hero {
        padding: 82px 0 50px;
    }

    .menu-category { padding: 39px 0; }

    .menu-item {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .dish-photo {
        width: 100%;
        height: 210px;
    }

    .dish-line h3 { font-size: 19px; }
    .dish-price { font-size: 17px; }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}

@media (max-width: 480px) {
    .hero-mark {
        font-size: 10px;
        letter-spacing: .1em;
    }

    .hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .btn-public {
        width: 100%;
    }

    .dish-line {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .dish-price {
        white-space: normal;
    }
}


/* Andrzej Polan */
.chef-section {
    background: var(--white);
}

.chef-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 86px;
    align-items: start;
}

.chef-title {
    position: sticky;
    top: 132px;
}

.chef-title h2 {
    max-width: 560px;
}

.chef-copy {
    padding-top: 8px;
}

.chef-copy p {
    color: #4e4e4e;
    font-size: 18px;
}

.chef-copy .chef-lead {
    margin-top: 0;
    color: var(--black);
    font-size: clamp(22px, 2.5vw, 29px);
    line-height: 1.45;
    font-weight: 700;
    letter-spacing: -.02em;
}

.chef-links {
    display: flex;
    flex-wrap: wrap;
    gap: 26px;
    margin-top: 32px;
}

@media (max-width: 800px) {
    .chef-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .chef-title {
        position: static;
    }
}


/* v1.4 – karta menu inspirowana drukowaną kartą */
.menu-paper-page {
    background:
        radial-gradient(circle at 50% 10%, rgba(154,205,50,.055), transparent 22%),
        #f2f1ec;
}

.menu-paper-wrap {
    padding: 58px 18px 82px;
}

.menu-paper {
    width: min(100%, 760px);
    margin: 0 auto;
    padding: 56px 64px 64px;
    background: #fff;
    box-shadow: 0 22px 70px rgba(0,0,0,.08);
    text-align: center;
}

.menu-paper-header {
    padding-bottom: 22px;
}

.menu-paper-logo {
    display: block;
    width: min(285px, 70vw);
    margin: 0 auto 22px;
}

.menu-paper-header h1 {
    margin: 0;
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.1;
    letter-spacing: -.035em;
}

.menu-paper-intro {
    max-width: 520px;
    margin: 12px auto 0;
    color: #686868;
}

.menu-paper-sections {
    padding-top: 6px;
}

.menu-paper-category {
    padding: 27px 0 23px;
}

.menu-paper-category h2 {
    margin: 0 0 18px;
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: 0;
}

.menu-paper-category-desc {
    margin: -8px auto 16px;
    color: #777;
    font-size: 13px;
}

.menu-paper-items {
    display: grid;
    gap: 11px;
}

.menu-paper-item {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    align-items: baseline;
    text-align: left;
}

.menu-paper-dish h3 {
    display: inline;
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 400;
}

.menu-paper-dish p {
    margin: 4px 0 0;
    color: #666;
    font-size: 12px;
}

.menu-paper-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
    color: #929292;
    font-size: 10px;
}

.menu-paper-price {
    min-width: 28px;
    text-align: right;
    font-size: 14px;
    font-weight: 700;
}

.menu-paper-footer {
    display: grid;
    place-items: center;
    gap: 18px;
    padding-top: 32px;
}

.menu-paper-signature {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
    font-style: italic;
    line-height: 1;
    transform: rotate(-3deg);
}

.menu-paper-pdf {
    color: #333;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    border-bottom: 2px solid var(--green);
}

.menu-seo-copy {
    padding: 82px 0 94px;
    background: #fff;
}

.menu-seo-copy h2 {
    margin-bottom: 22px;
}

.menu-seo-copy p {
    color: #555;
    font-size: 19px;
}

@media (max-width: 700px) {
    .menu-paper-wrap {
        padding: 24px 10px 48px;
    }

    .menu-paper {
        padding: 38px 24px 44px;
        box-shadow: 0 12px 35px rgba(0,0,0,.07);
    }

    .menu-paper-logo {
        width: min(245px, 72vw);
    }

    .menu-paper-category {
        padding: 23px 0 19px;
    }

    .menu-paper-item {
        grid-template-columns: 1fr auto;
        gap: 7px;
    }

    .menu-paper-dish h3,
    .menu-paper-price {
        font-size: 13px;
    }

    .menu-paper-signature {
        font-size: 29px;
    }

    .menu-seo-copy {
        padding: 64px 0 72px;
    }
}


/* v1.5 – /menu jako graficzna karta, tekst SEO osobno */
.menu-visual-page {
    min-height: 75vh;
    background:
        radial-gradient(circle at 50% 0%, rgba(154,205,50,.08), transparent 28%),
        #efeee9;
}

.menu-visual-shell {
    width: min(calc(100% - 30px), 860px);
    margin: 0 auto;
    padding: 34px 0 70px;
}

.menu-visual-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
    color: #62645e;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em;
}

.menu-back {
    text-decoration: none;
}

.menu-visual-card {
    overflow: hidden;
    background: white;
    box-shadow: 0 22px 65px rgba(0,0,0,.12);
}

.menu-generated-image {
    display: block;
    width: 100%;
    height: auto;
}

.menu-visual-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
    padding-top: 28px;
}

.menu-text-link {
    color: #5f615d;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    border-bottom: 1px solid #aaa;
}

.menu-seo-page .menu-item {
    grid-template-columns: 1fr;
}

.menu-seo-page .menu-category {
    max-width: 900px;
    margin-inline: auto;
}

@media (max-width: 700px) {
    .menu-visual-shell {
        width: min(calc(100% - 16px), 860px);
        padding-top: 18px;
    }

    .menu-visual-toolbar {
        padding: 0 4px;
    }

    .menu-visual-card {
        box-shadow: 0 12px 36px rgba(0,0,0,.11);
    }

    .menu-visual-actions {
        flex-direction: column;
        gap: 14px;
    }

    .menu-visual-actions .btn-public {
        width: auto;
        min-width: 180px;
    }
}


/* v1.5.1 – center fix */
.menu-visual-shell {
    width: min(calc(100% - 24px), 760px);
    margin: 0 auto;
    padding: 34px 0 70px;
}

.menu-visual-top {
    text-align: center;
    margin: 0 auto 22px;
}

.menu-visual-top h1 {
    margin: 0 0 10px;
    font-size: clamp(28px, 5vw, 42px);
    line-height: 1.06;
    letter-spacing: -.03em;
}

.menu-visual-top p {
    margin: 0;
    color: #63665f;
    font-size: 16px;
}

.menu-visual-card {
    max-width: 760px;
    margin: 0 auto;
    overflow: hidden;
    background: white;
    box-shadow: 0 22px 65px rgba(0,0,0,.12);
}

.menu-generated-image {
    display: block;
    width: 100%;
    max-width: 760px;
    height: auto;
    margin: 0 auto;
}

.menu-visual-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
    text-align: center;
    padding-top: 28px;
}

.menu-seo-page .page-hero,
.menu-seo-page .menu-category-head,
.menu-seo-page .menu-seo-copy {
    text-align: center;
}

.menu-seo-page .menu-container {
    max-width: 820px;
    margin-inline: auto;
}

.menu-seo-page .dish-line {
    grid-template-columns: 1fr auto;
    align-items: baseline;
}

@media (max-width: 700px) {
    .menu-visual-shell {
        width: min(calc(100% - 14px), 760px);
        padding-top: 18px;
    }

    .menu-visual-top {
        margin-bottom: 16px;
    }

    .menu-visual-card {
        box-shadow: 0 12px 36px rgba(0,0,0,.11);
    }
}


/* v1.6 – zaślepka menu */
.menu-splash-page {
    min-height: 78vh;
    background:
        radial-gradient(circle at 50% 0%, rgba(154,205,50,.12), transparent 26%),
        radial-gradient(circle at 20% 80%, rgba(214,40,40,.05), transparent 18%),
        linear-gradient(180deg, #fcfcf8 0%, #f3f1ea 100%);
}

.menu-splash-shell {
    width: min(calc(100% - 30px), 1100px);
    min-height: calc(78vh - 92px);
    margin: 0 auto;
    padding: 56px 0 76px;
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 56px;
    align-items: center;
}

.menu-splash-visual {
    position: relative;
    min-height: 420px;
    display: grid;
    place-items: center;
}

.cloche-top {
    width: 260px;
    height: 160px;
    border-radius: 160px 160px 0 0;
    background: linear-gradient(180deg, #111 0%, #202020 100%);
    position: relative;
    box-shadow: 0 22px 50px rgba(0,0,0,.12);
}

.cloche-top::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -26px;
    width: 44px;
    height: 44px;
    margin-left: -22px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: inset 0 0 0 10px #fff;
}

.cloche-base {
    position: absolute;
    bottom: 92px;
    width: 360px;
    height: 18px;
    border-radius: 999px;
    background: #111;
    box-shadow: 0 18px 40px rgba(0,0,0,.18);
}

.steam {
    position: absolute;
    bottom: 255px;
    width: 20px;
    height: 110px;
    border-radius: 40px;
    border: 4px solid rgba(154,205,50,.72);
    border-color: rgba(154,205,50,.72) transparent transparent transparent;
    opacity: .7;
    animation: steamUp 3.2s ease-in-out infinite;
}

.steam-1 { left: 39%; animation-delay: 0s; }
.steam-2 { left: 50%; animation-delay: .7s; }
.steam-3 { left: 61%; animation-delay: 1.4s; }

.spark {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--red);
    opacity: .7;
    animation: pulseSpark 2.8s ease-in-out infinite;
}
.spark-1 { left: 28%; top: 110px; }
.spark-2 { right: 26%; top: 160px; animation-delay: 1.1s; }

@keyframes steamUp {
    0%   { transform: translateY(20px) scale(.95); opacity: 0; }
    20%  { opacity: .75; }
    60%  { opacity: .55; }
    100% { transform: translateY(-42px) scale(1.12); opacity: 0; }
}

@keyframes pulseSpark {
    0%,100% { transform: scale(.8); opacity: .3; }
    50% { transform: scale(1.25); opacity: .85; }
}

.menu-splash-copy h1 {
    margin: 0 0 18px;
    font-size: clamp(38px, 6vw, 76px);
    line-height: .95;
    letter-spacing: -.05em;
}

.menu-splash-lead {
    margin: 0 0 16px;
    font-size: 22px;
    line-height: 1.55;
    color: #3d3d3d;
}

.menu-splash-note {
    max-width: 640px;
    margin: 0 0 30px;
    color: #747474;
    font-size: 16px;
}

.menu-splash-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

@media (max-width: 860px) {
    .menu-splash-shell {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 32px 0 52px;
        text-align: center;
    }

    .menu-splash-visual {
        min-height: 300px;
        order: 2;
    }

    .cloche-top {
        width: 210px;
        height: 130px;
    }

    .cloche-base {
        width: 290px;
        bottom: 70px;
    }

    .steam {
        bottom: 205px;
        height: 88px;
    }

    .menu-splash-copy {
        order: 1;
    }

    .menu-splash-actions {
        justify-content: center;
    }
}


/* v1.6.1 — wymuszone centrowanie menu / splash / SEO */
.menu-visual-page,
.menu-splash-page,
.menu-seo-page {
    width: 100%;
}

.menu-visual-shell {
    width: min(760px, calc(100% - 24px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

.menu-visual-top,
.menu-visual-actions {
    width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    justify-content: center !important;
}

.menu-visual-card {
    width: 100% !important;
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
}

.menu-generated-image {
    display: block !important;
    width: 100% !important;
    max-width: 760px !important;
    height: auto !important;
    margin: 0 auto !important;
}

/* Zaślepka — jeden centralny układ */
.menu-splash-shell {
    width: min(820px, calc(100% - 30px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 24px !important;
    text-align: center !important;
}

.menu-splash-visual {
    width: 100% !important;
    min-height: 330px !important;
    margin: 0 auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.menu-splash-copy {
    width: min(720px, 100%) !important;
    margin: 0 auto !important;
    text-align: center !important;
}

.menu-splash-copy h1,
.menu-splash-lead,
.menu-splash-note,
.menu-splash-copy .eyebrow {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.menu-splash-actions {
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
}

/* Strona tekstowa SEO — wszystko centralnie */
.menu-seo-page .page-hero .container,
.menu-seo-page .menu-container,
.menu-seo-page .menu-seo-copy .container {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

.menu-seo-page .menu-category,
.menu-seo-page .menu-category-head,
.menu-seo-page .menu-items,
.menu-seo-page .menu-item,
.menu-seo-page .dish-main,
.menu-seo-page .dish-line,
.menu-seo-page .dish-description,
.menu-seo-page .dish-meta,
.menu-seo-page .dish-price {
    text-align: center !important;
}

.menu-seo-page .dish-line {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
}

.menu-seo-page .dish-meta {
    justify-content: center !important;
}

/* Header na podstronach menu także optycznie centralny */
.menu-visual-page + .site-footer,
.menu-splash-page + .site-footer,
.menu-seo-page + .site-footer {
    text-align: center;
}

@media (max-width: 700px) {
    .menu-visual-shell,
    .menu-splash-shell {
        width: min(100% - 12px, 760px) !important;
    }

    .menu-splash-visual {
        min-height: 280px !important;
    }
}


/* v1.7 – global full-page splash */
.site-splash-page {
    min-height: 100vh;
    width: 100%;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at 50% 0%, rgba(154,205,50,.12), transparent 26%),
        radial-gradient(circle at 15% 85%, rgba(214,40,40,.05), transparent 22%),
        linear-gradient(180deg, #fcfcf8 0%, #f1efe7 100%);
}

.site-splash-shell {
    width: min(calc(100% - 32px), 1080px);
    min-height: 100vh;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 48px;
    padding: 40px 0;
}

.site-splash-visual {
    position: relative;
    min-height: 460px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 42px;
}

.pot-glow {
    position: absolute;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(154,205,50,.18) 0%, rgba(154,205,50,0) 65%);
    filter: blur(10px);
}

.pot {
    position: relative;
    width: 220px;
    height: 240px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.pot-body {
    position: absolute;
    bottom: 0;
    width: 180px;
    height: 120px;
    border-radius: 0 0 28px 28px;
    background: linear-gradient(180deg, #1d1d1d 0%, #080808 100%);
    box-shadow: 0 18px 38px rgba(0,0,0,.15);
}

.pot-lid {
    position: absolute;
    bottom: 102px;
    width: 170px;
    height: 56px;
    border-radius: 999px 999px 24px 24px;
    background: linear-gradient(180deg, #171717 0%, #0b0b0b 100%);
    animation: lidBounce 4s ease-in-out infinite;
}

.pot-lid::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -16px;
    width: 34px;
    height: 34px;
    margin-left: -17px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: inset 0 0 0 8px #fff;
}

.pot-handle {
    position: absolute;
    bottom: 28px;
    width: 24px;
    height: 48px;
    border: 6px solid #111;
    border-top: 0;
    border-radius: 0 0 18px 18px;
}

.pot-handle-left { left: 8px; }
.pot-handle-right { right: 8px; }

.steam {
    position: absolute;
    bottom: 150px;
    width: 24px;
    height: 120px;
    border-radius: 40px;
    border: 4px solid rgba(154,205,50,.75);
    border-color: rgba(154,205,50,.75) transparent transparent transparent;
    opacity: .72;
    animation: steamUp 3.3s ease-in-out infinite;
}
.steam-a { left: 70px; animation-delay: 0s; }
.steam-b { right: 72px; animation-delay: .9s; }
.steam-c { left: 70px; animation-delay: .5s; }
.steam-d { right: 72px; animation-delay: 1.4s; }

@keyframes lidBounce {
    0%, 100% { transform: translateY(0); }
    45% { transform: translateY(-3px); }
    55% { transform: translateY(0); }
}

.site-splash-copy {
    text-align: left;
}

.site-splash-copy h1 {
    margin: 0 0 18px;
    font-size: clamp(42px, 6vw, 84px);
    line-height: .94;
    letter-spacing: -.05em;
}

.site-splash-lead {
    margin: 0 0 16px;
    color: #3f3f3f;
    font-size: clamp(19px, 2vw, 24px);
    line-height: 1.55;
}

.site-splash-note {
    margin: 0 0 28px;
    color: #747474;
    font-size: 16px;
    line-height: 1.6;
}

.site-splash-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

@media (max-width: 920px) {
    .site-splash-shell {
        grid-template-columns: 1fr;
        gap: 16px;
        text-align: center;
        padding: 24px 0 34px;
    }

    .site-splash-visual {
        min-height: 340px;
        gap: 16px;
    }

    .pot {
        width: 168px;
        height: 190px;
    }

    .pot-body {
        width: 132px;
        height: 92px;
    }

    .pot-lid {
        width: 126px;
        height: 42px;
        bottom: 78px;
    }

    .pot-lid::before {
        width: 28px;
        height: 28px;
        margin-left: -14px;
    }

    .pot-handle {
        height: 36px;
        bottom: 24px;
    }

    .steam {
        bottom: 118px;
        height: 84px;
    }

    .site-splash-copy {
        text-align: center;
    }

    .site-splash-actions {
        justify-content: center;
    }
}


/* v1.8 – wspólny garnek + nowy layout strony głównej */
.pot-visual {
    width:100%;
    margin:0 auto;
    display:grid;
    place-items:center;
}
.pot-svg {
    display:block;
    width:100%;
    height:auto;
    overflow:visible;
}
.pot-group {
    transform-origin:50% 80%;
    animation:potBreatheV18 4.5s ease-in-out infinite;
}
.pot-lid {
    transform-origin:50% 100%;
    animation:potLidV18 3.8s ease-in-out infinite;
}
.pot-steam {
    fill:none;
    stroke:#9acd32;
    stroke-width:10;
    stroke-linecap:round;
    opacity:0;
    stroke-dasharray:62 150;
    animation:potSteamV18 3.15s ease-in-out infinite;
}
.pot-steam-2 { animation-delay:.65s; }
.pot-steam-3 { animation-delay:1.3s; }
.pot-red-dot {
    transform-origin:center;
    animation:potDotV18 2.6s ease-in-out infinite;
}
@keyframes potSteamV18 {
    0%{opacity:0;stroke-dashoffset:72;transform:translateY(18px)}
    15%{opacity:.95}
    55%{opacity:.8}
    82%{opacity:.35}
    100%{opacity:0;stroke-dashoffset:-100;transform:translateY(-48px)}
}
@keyframes potLidV18 {
    0%,100%{transform:translateY(0)}
    45%{transform:translateY(-5px)}
}
@keyframes potBreatheV18 {
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-3px)}
}
@keyframes potDotV18 {
    0%,100%{transform:scale(.9)}
    50%{transform:scale(1.18)}
}

.home-hero-v18 {
    min-height:calc(88svh - 92px);
    display:grid;
    place-items:center;
    padding:64px 0 82px;
    background:
        radial-gradient(circle at 38% 35%,rgba(154,205,50,.12),transparent 25rem),
        linear-gradient(180deg,#fff 0%,#f8f7f1 100%);
}
.home-hero-grid-v18 {
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:clamp(32px,5vw,76px);
}
.home-hero-art-v18 {
    width:100%;
    display:grid;
    place-items:center;
}
.pot-visual-home {
    width:min(580px,100%);
}
.home-hero-copy-v18 {
    width:min(560px,100%);
}
.home-logo-v18 {
    display:block;
    width:min(330px,78%);
    max-height:190px;
    object-fit:contain;
    margin:0 auto 24px;
}
.home-hero-copy-v18 h1 {
    margin:0 0 22px;
    font-size:clamp(50px,6vw,82px);
    line-height:.92;
    letter-spacing:-.055em;
}
.home-hero-copy-v18 > p {
    margin:0 0 30px;
    color:#4b4b46;
    font-size:20px;
    line-height:1.6;
}
.menu-highlight-pot {
    display:grid;
    place-items:center;
}
.pot-visual-small {
    width:min(360px,100%);
}
.pot-visual-menu {
    width:100%;
}
@media(max-width:860px){
    .home-hero-grid-v18 {
        grid-template-columns:1fr;
        text-align:center;
    }
    .home-hero-copy-v18 {
        margin:0 auto;
    }
    .home-logo-v18 {
        margin:0 auto 18px;
    }
    .home-hero-copy-v18 .eyebrow {
        justify-content:center;
    }
    .home-hero-copy-v18 .hero-actions {
        justify-content:center;
    }
    .pot-visual-home {
        width:min(480px,92vw);
    }
}


/* v1.9 – sezonowe grafiki zamiast garnka */
.showcase-visual {
    width:100%;
    margin:0 auto;
    display:grid;
    place-items:center;
}
.showcase-visual-image img {
    display:block;
    width:100%;
    height:auto;
    max-width:100%;
    object-fit:contain;
    border-radius:28px;
    box-shadow:0 22px 52px rgba(0,0,0,.12);
    background:#fff;
}
.pot-visual-home.showcase-visual-image {
    width:min(580px,100%);
}
.pot-visual-small.showcase-visual-image {
    width:min(360px,100%);
}
.pot-visual-menu.showcase-visual-image {
    width:min(240px,55vw);
}
.pot-visual-menu-splash.showcase-visual-image {
    width:min(480px,85vw);
}
@media (max-width:860px){
    .pot-visual-home.showcase-visual-image {
        width:min(480px,92vw);
    }
}


/* v1.9.1 – ruch zdjęć: fade + Ken Burns + parallax */
.showcase-visual-image {
    --parallax-x: 0px;
    --parallax-y: 0px;
    --parallax-rotate-x: 0deg;
    --parallax-rotate-y: 0deg;
    transform:
        perspective(1100px)
        translate3d(var(--parallax-x), var(--parallax-y), 0)
        rotateX(var(--parallax-rotate-x))
        rotateY(var(--parallax-rotate-y));
    transform-style: preserve-3d;
    transition: transform .22s ease-out;
}

.showcase-visual-frame {
    width: 100%;
    overflow: hidden;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 22px 52px rgba(0,0,0,.12);
    animation: seasonalFadeIn .9s ease both;
}

.showcase-visual-image img.seasonal-media {
    display: block;
    width: 100%;
    height: auto;
    min-height: 100%;
    object-fit: cover;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    transform-origin: center center;
    will-change: transform;
}

.showcase-visual-image.motion-enabled .seasonal-media {
    animation-duration: var(--motion-duration, 16s);
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

.showcase-visual-image.motion-enabled .seasonal-media.motion-1 {
    animation-name: seasonalKenBurns1;
}

.showcase-visual-image.motion-enabled .seasonal-media.motion-2 {
    animation-name: seasonalKenBurns2;
}

.showcase-visual-image.motion-enabled .seasonal-media.motion-3 {
    animation-name: seasonalKenBurns3;
}

@keyframes seasonalFadeIn {
    from { opacity: 0; transform: scale(.985); }
    to   { opacity: 1; transform: scale(1); }
}

@keyframes seasonalKenBurns1 {
    0%   { transform: scale(1.02) translate3d(-1.5%, -1%, 0); }
    100% { transform: scale(1.10) translate3d(1.8%, 1.4%, 0); }
}

@keyframes seasonalKenBurns2 {
    0%   { transform: scale(1.03) translate3d(1.6%, -1.2%, 0); }
    100% { transform: scale(1.11) translate3d(-1.4%, 1.6%, 0); }
}

@keyframes seasonalKenBurns3 {
    0%   { transform: scale(1.025) translate3d(0, 1.5%, 0); }
    100% { transform: scale(1.105) translate3d(0, -1.5%, 0); }
}

@media (max-width: 860px) {
    .showcase-visual-image {
        transform: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .showcase-visual-frame,
    .showcase-visual-image .seasonal-media {
        animation: none !important;
        transition: none !important;
    }

    .showcase-visual-image {
        transform: none !important;
        transition: none !important;
    }
}


/* v2.0 – rezerwacja stolika */
.reservation-page {
    background:#f7f5ee;
}

.reservation-hero {
    padding:70px 0 50px;
    background:
        radial-gradient(circle at 20% 20%,rgba(154,205,50,.12),transparent 24rem),
        linear-gradient(180deg,#fff 0%,#f7f5ee 100%);
}

.reservation-hero-grid {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:clamp(32px,6vw,82px);
    align-items:center;
}

.reservation-art {
    display:grid;
    place-items:center;
}

.reservation-visual {
    width:min(500px,100%);
}

.reservation-copy h1 {
    margin:0 0 20px;
    font-size:clamp(44px,6vw,78px);
    line-height:.95;
    letter-spacing:-.055em;
}

.reservation-copy > p {
    max-width:620px;
    margin:0;
    color:#50514b;
    font-size:20px;
    line-height:1.6;
}

.reservation-form-section {
    padding:30px 0 90px;
}

.reservation-form-wrap {
    max-width:900px;
}

.reservation-form,
.reservation-success {
    padding:clamp(24px,4vw,48px);
    border-radius:28px;
    background:#fff;
    box-shadow:0 18px 55px rgba(0,0,0,.07);
}

.reservation-form-head {
    margin-bottom:28px;
}

.reservation-form-head h2,
.reservation-success h2 {
    margin:0 0 10px;
    font-size:clamp(30px,4vw,48px);
    line-height:1;
}

.reservation-form-head p,
.reservation-success p {
    color:#65665f;
}

.reservation-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.reservation-grid label {
    display:grid;
    gap:7px;
    font-size:13px;
    font-weight:800;
}

.reservation-grid label.full {
    grid-column:1 / -1;
}

.reservation-grid input,
.reservation-grid textarea,
.reservation-grid select {
    width:100%;
    border:1px solid #d9d8d1;
    border-radius:13px;
    padding:13px 14px;
    background:#fff;
    font:inherit;
    font-weight:400;
}

.reservation-grid input:focus,
.reservation-grid textarea:focus {
    outline:3px solid rgba(154,205,50,.18);
    border-color:#9acd32;
}

.reservation-consent {
    display:flex!important;
    grid-template-columns:auto 1fr!important;
    align-items:flex-start;
    gap:10px!important;
    font-weight:500!important;
    color:#555;
}

.reservation-consent input {
    width:18px;
    height:18px;
    margin-top:2px;
}

.reservation-submit {
    margin-top:24px;
}

.reservation-disclaimer {
    margin:14px 0 0;
    color:#777;
    font-size:12px;
}

.reservation-errors {
    margin-bottom:18px;
    padding:16px 18px;
    border:1px solid #efbbbb;
    border-radius:14px;
    background:#fff0f0;
}

.reservation-errors ul {
    margin:8px 0 0;
}

.reservation-success {
    text-align:center;
}

.reservation-code {
    display:inline-block;
    margin:12px auto 24px;
    padding:10px 14px;
    border-radius:999px;
    background:#f1f0ea;
    font-size:14px;
}

.reservation-hp {
    position:absolute!important;
    left:-99999px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
}

@media(max-width:800px) {
    .reservation-hero-grid,
    .reservation-grid {
        grid-template-columns:1fr;
    }

    .reservation-copy {
        text-align:center;
    }

    .reservation-copy .eyebrow {
        justify-content:center;
    }

    .reservation-grid label.full {
        grid-column:auto;
    }
}


/* v2.0.1 – kontakt, dane firmy, legal, alergeny */
.company-card {
    width:100%;
    margin-top:24px;
    padding:42px;
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:48px;
    align-items:start;
    border:1px solid var(--line);
    border-radius:24px;
    background:#fff;
}

.company-card h2 {
    margin:0;
    font-size:clamp(32px,4vw,48px);
}

.company-data-grid {
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:24px;
}

.company-data-grid small {
    display:block;
    margin-bottom:5px;
    color:#777;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:11px;
}

.company-data-grid strong {
    font-size:16px;
    line-height:1.5;
}

.legal-content {
    padding:28px 0 90px;
    background:#fff;
}

.legal-container {
    max-width:880px;
}

.legal-container > section {
    padding:32px 0;
    border-bottom:1px solid var(--line);
}

.legal-container > section:last-child {
    border-bottom:0;
}

.legal-container h2 {
    margin:0 0 16px;
    font-size:clamp(26px,3vw,38px);
    letter-spacing:-.03em;
}

.legal-container p {
    margin:10px 0;
    color:#4d4f49;
    font-size:17px;
    line-height:1.72;
}

.legal-container a {
    font-weight:700;
}

.legal-notice {
    padding:26px!important;
    border:0!important;
    border-radius:18px;
    background:#f6f5f0;
}

.allergen-category {
    padding:36px 0!important;
}

.allergen-items {
    display:grid;
    gap:16px;
}

.allergen-item {
    padding:22px 24px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
}

.allergen-item h3 {
    margin:0 0 10px;
    font-size:20px;
}

.allergen-item p {
    margin:6px 0;
    font-size:15px;
}

.allergen-highlight {
    color:#222!important;
    padding:9px 11px;
    border-radius:10px;
    background:#f2f7e9;
}

.dish-ingredients {
    margin:8px 0 0;
    color:#666;
    font-size:12px;
}

.footer-bottom-legal {
    display:flex;
    justify-content:center;
    gap:10px 22px;
    flex-wrap:wrap;
    text-align:center;
}

.reservation-consent a {
    text-decoration:underline;
    font-weight:700;
}

@media(max-width:800px) {
    .company-card,
    .company-data-grid {
        grid-template-columns:1fr;
    }

    .company-card {
        padding:28px;
        gap:26px;
    }
}


/* v2.0.2 – garnek czytelny także na ciemnym tle */
.pot-visual {
    --pot-shell: #111111;
    --pot-inner: #1d1d1d;
    --pot-handle: #111111;
    --pot-lid: #0e0e0e;
    --pot-rim: #111111;
    --pot-shadow: rgba(0,0,0,.08);
    --pot-steam: #9acd32;
    --pot-knob: #9acd32;
    --pot-dot: #d62828;
}

.pot-shadow {
    fill: var(--pot-shadow);
}

.pot-shell {
    fill: var(--pot-shell);
}

.pot-inner {
    fill: var(--pot-inner);
}

.pot-handle {
    fill: none;
    stroke: var(--pot-handle);
    stroke-width: 22;
    stroke-linecap: round;
}

.pot-lid-shape {
    fill: var(--pot-lid);
}

.pot-lid-rim {
    fill: var(--pot-rim);
}

.pot-knob {
    fill: var(--pot-knob);
}

.pot-red-dot {
    fill: var(--pot-dot);
}

.pot-steam {
    stroke: var(--pot-steam);
}

/* Sekcja z czarnym tłem: jasny garnek zamiast czarnego na czarnym */
.menu-highlight .pot-visual {
    --pot-shell: #f4f4ef;
    --pot-inner: #cacac3;
    --pot-handle: #f4f4ef;
    --pot-lid: #eeeeea;
    --pot-rim: #f4f4ef;
    --pot-shadow: rgba(255,255,255,.08);
    --pot-steam: #9acd32;
}

.menu-highlight .pot-svg {
    filter: drop-shadow(0 26px 36px rgba(0,0,0,.28));
}

.menu-highlight-pot {
    min-height: 360px;
}

.menu-highlight .pot-visual-small {
    width: min(390px, 100%);
}

/* delikatnie porządkujemy stopkę */
.footer-logo {
    width: 150px;
    height: auto;
}

@media (max-width: 800px) {
    .footer-grid > div:first-child {
        align-items: center;
        text-align: center;
    }

    .footer-logo {
        width: 135px;
    }

    .menu-highlight-pot {
        min-height: 300px;
    }
}


/* v2.1 – video / ruchome media */
.showcase-visual-frame video.seasonal-video {
    display:block;
    width:100%;
    height:100%;
    min-height:260px;
    max-height:620px;
    object-fit:cover;
    border-radius:0;
}

.showcase-visual-image.has-video .showcase-visual-frame {
    background:#111;
}

/* przyszłe sekcje */
.future-section-page {
    min-height:65svh;
    background:#fff;
}


/* v2.2 – social bar */
.social-topbar {
    border-bottom:1px solid rgba(0,0,0,.06);
    background:#0d0d0d;
    color:#fff;
}

.social-topbar-inner {
    min-height:36px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    font-size:11px;
    letter-spacing:.04em;
}

.social-links {
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
}

.social-link {
    width:28px;
    height:28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    text-decoration:none!important;
    line-height:1;
    border:1px solid rgba(255,255,255,.18);
    color:inherit;
    transition:transform .18s ease, background .18s ease, color .18s ease;
}

.social-link svg {
    width:16px;
    height:16px;
    display:block;
    flex:0 0 auto;
}

.social-link:hover {
    transform:translateY(-2px);
    background:#9acd32;
    color:#0b0b0b;
    border-color:#9acd32;
}

.social-links-footer {
    margin-top:14px;
    color:#111;
}

.social-links-footer .social-link {
    border-color:rgba(0,0,0,.16);
}

.splash-socials {
    margin:20px 0 4px;
    color:#111;
}

.splash-socials .social-link {
    border-color:rgba(0,0,0,.16);
}

/* v2.2 – 4 interaktywne pory roku */
.seasonal-interactive {
    --season-green:#9acd32;
    --season-red:#d62828;
    --season-ink:#111;
    position:relative;
    width:min(580px,100%);
    margin:0 auto;
    display:grid;
    place-items:center;
    transform:
        perspective(1100px)
        translate3d(var(--season-x,0px),var(--season-y,0px),0)
        rotateX(var(--season-rx,0deg))
        rotateY(var(--season-ry,0deg));
    transition:transform .22s ease-out;
    animation:seasonSceneFloat 6.5s ease-in-out infinite alternate;
    will-change:transform;
}

.seasonal-svg {
    width:100%;
    height:auto;
    overflow:visible;
    filter:drop-shadow(0 24px 30px rgba(0,0,0,.10));
}

.season-shadow {
    fill:rgba(0,0,0,.08);
}

.season-plate {
    fill:#f3f1e9;
    stroke:#111;
    stroke-width:10;
}

.season-plate-inner {
    fill:#fff;
    stroke:#d7d4ca;
    stroke-width:4;
}

.season-red {
    fill:var(--season-red)!important;
}

/* wiosna */
.spring-leaf {
    fill:var(--season-green);
    transform-origin:center bottom;
    animation:springLeaf 4.8s ease-in-out infinite alternate;
}

.spring-leaf-b {
    animation-delay:.8s;
}

.spring-leaf .season-stem,
.season-stem {
    fill:none;
    stroke:#698f10;
    stroke-width:7;
    stroke-linecap:round;
}

.spring-herbs path {
    fill:none;
    stroke:#3d6113;
    stroke-width:8;
    stroke-linecap:round;
    animation:springHerb 4s ease-in-out infinite alternate;
}

.spring-flower {
    fill:#f4f2ec;
    transform-origin:center;
    animation:springFlower 4.4s ease-in-out infinite;
}

.spring-flower-b {
    animation-delay:1s;
}

.spring-dot {
    animation:seasonDot 2.6s ease-in-out infinite alternate;
}

.spring-dot-b {
    animation-delay:.7s;
}

.spring-petal {
    fill:#f7ecf2;
    opacity:.88;
    transform-origin:center;
    animation:springPetal 6.2s ease-in-out infinite;
}

.spring-petal-b {
    animation-delay:1.3s;
}

/* lato */
.summer-tomato {
    transform-origin:center;
    animation:summerTomato 5s ease-in-out infinite alternate;
}

.summer-tomato-b {
    animation-delay:.8s;
}

.summer-red-soft {
    fill:#e64034!important;
}

.summer-star,
.summer-herb ellipse {
    fill:var(--season-green);
}

.summer-herb path {
    fill:none;
    stroke:#557b12;
    stroke-width:8;
    stroke-linecap:round;
}

.summer-herb {
    transform-origin:320px 320px;
    animation:summerHerb 4.5s ease-in-out infinite alternate;
}

.summer-sun {
    fill:#f3e5a4;
    stroke:#d8b94c;
    stroke-width:5;
    transform-origin:463px 154px;
    animation:summerSun 5s ease-in-out infinite alternate, summerSpin 18s linear infinite;
}

.summer-sun-ray {
    fill:none;
    stroke:#d8b94c;
    stroke-width:7;
    stroke-linecap:round;
    transform-origin:463px 154px;
    animation:summerSunRay 5s ease-in-out infinite alternate, summerSpin 18s linear infinite;
}

.summer-heat {
    fill:none;
    stroke:rgba(216,185,76,.72);
    stroke-width:8;
    stroke-linecap:round;
    animation:summerHeat 3.2s ease-in-out infinite;
}

.summer-heat-b {
    animation-delay:.7s;
}

.summer-heat-c {
    animation-delay:1.4s;
}

/* jesień */
.season-bowl {
    fill:#e7d8c3;
    stroke:#161616;
    stroke-width:9;
}

.season-bowl-front {
    fill:#bc8b55;
    stroke:#161616;
    stroke-width:8;
}

.mushroom-cap {
    fill:#cb7b35;
    stroke:#111;
    stroke-width:7;
}

.mushroom-stem {
    fill:#eee1ca;
    stroke:#111;
    stroke-width:6;
}

.mushroom {
    transform-origin:center bottom;
    animation:mushroomBob 4.4s ease-in-out infinite alternate;
}

.mushroom-b {
    animation-delay:.8s;
}

.autumn-leaf {
    fill:#d36a2d;
    transform-origin:center;
    animation:autumnFall 6s ease-in-out infinite;
}

.autumn-leaf-b {
    fill:#b34825;
    animation-delay:1.2s;
}

.autumn-leaf-c {
    fill:#d49b2d;
    animation-delay:2.2s;
}

.autumn-leaf-d {
    fill:#c3541b;
    animation-delay:.55s;
    animation-duration:5.3s;
}

.autumn-herb {
    fill:none;
    stroke:#738f20;
    stroke-width:9;
    stroke-linecap:round;
}

/* zima */
.season-winter {
    min-height:360px;
}

.season-winter .seasonal-winter-pot {
    width:min(520px,100%);
}

.seasonal-orbit {
    position:absolute;
    width:10px;
    height:10px;
    border-radius:50%;
    background:#fff;
    box-shadow:
        78px -100px 0 1px rgba(255,255,255,.75),
        -120px -60px 0 0 rgba(255,255,255,.65),
        140px 18px 0 1px rgba(255,255,255,.75),
        -150px 40px 0 1px rgba(255,255,255,.7);
    opacity:.85;
    animation:winterFloat 5s ease-in-out infinite alternate;
}

.seasonal-orbit-b {
    transform:rotate(35deg) scale(.7);
    animation-delay:1.1s;
}

/* na ciemnym tle */
.menu-highlight .season-spring .season-plate,
.menu-highlight .season-summer .season-plate,
.menu-highlight .season-spring .season-plate-inner,
.menu-highlight .season-summer .season-plate-inner {
    stroke:#f5f5ef;
}

@keyframes springLeaf {
    from { transform:rotate(-2deg) translateY(2px); }
    to   { transform:rotate(3deg) translateY(-4px); }
}

@keyframes springHerb {
    from { transform:translateY(3px); }
    to   { transform:translateY(-5px); }
}

@keyframes springFlower {
    0%,100% { transform:rotate(-3deg) scale(.97); }
    50%     { transform:rotate(3deg) scale(1.05); }
}

@keyframes seasonDot {
    from { transform:scale(.85); }
    to   { transform:scale(1.18); }
}

@keyframes summerTomato {
    from { transform:translateY(2px) rotate(-1deg); }
    to   { transform:translateY(-5px) rotate(1.5deg); }
}

@keyframes summerHerb {
    from { transform:rotate(-2deg); }
    to   { transform:rotate(3deg); }
}

@keyframes summerSun {
    from { transform:scale(.95); opacity:.75; }
    to   { transform:scale(1.08); opacity:1; }
}

@keyframes summerSunRay {
    from { opacity:.5; }
    to   { opacity:1; }
}

@keyframes mushroomBob {
    from { transform:translateY(2px) rotate(-1deg); }
    to   { transform:translateY(-5px) rotate(1.2deg); }
}

@keyframes autumnFall {
    0%   { transform:translate3d(0,-16px,0) rotate(-12deg); }
    50%  { transform:translate3d(12px,12px,0) rotate(10deg); }
    100% { transform:translate3d(-4px,28px,0) rotate(-4deg); }
}

@keyframes winterFloat {
    from { transform:translateY(-5px); }
    to   { transform:translateY(9px); }
}


@keyframes seasonSceneFloat {
    from { transform:perspective(1100px) translate3d(var(--season-x,0px),calc(var(--season-y,0px) + 4px),0) rotateX(var(--season-rx,0deg)) rotateY(var(--season-ry,0deg)); }
    to   { transform:perspective(1100px) translate3d(var(--season-x,0px),calc(var(--season-y,0px) - 4px),0) rotateX(var(--season-rx,0deg)) rotateY(var(--season-ry,0deg)); }
}

@keyframes springPetal {
    0%   { transform:translate3d(0,-8px,0) rotate(-10deg) scale(.96); opacity:.25; }
    35%  { opacity:.9; }
    50%  { transform:translate3d(14px,8px,0) rotate(8deg) scale(1.04); opacity:.8; }
    100% { transform:translate3d(-8px,28px,0) rotate(18deg) scale(.92); opacity:.2; }
}

@keyframes summerSpin {
    from { transform:rotate(0deg); }
    to   { transform:rotate(360deg); }
}

@keyframes summerHeat {
    0%   { transform:translateY(8px) scale(.96); opacity:.12; }
    30%  { opacity:.36; }
    100% { transform:translateY(-18px) scale(1.05); opacity:0; }
}
@media (max-width:800px) {
    .social-topbar-inner {
        justify-content:center;
    }

    .social-topbar-inner > span {
        display:none;
    }

    .seasonal-interactive {
        transform:none!important;
    }
}



/* v2.14 – wyraźniejszy ruch ilustracji sezonowych + poprawne transformacje SVG */
.seasonal-svg g,
.seasonal-svg circle,
.seasonal-svg ellipse,
.seasonal-svg path {
    transform-box:fill-box;
}

.seasonal-interactive {
    animation:seasonSceneFloatV214 3.8s ease-in-out infinite alternate;
}

.seasonal-svg {
    animation:seasonVisualBreatheV214 4.8s ease-in-out infinite alternate;
}

/* Wiosna */
.spring-leaf-a {
    transform-origin:65% 95%;
    animation:springLeafV214A 2.8s ease-in-out infinite alternate;
}
.spring-leaf-b {
    transform-origin:35% 95%;
    animation:springLeafV214B 3.1s ease-in-out infinite alternate;
}
.spring-herbs {
    transform-origin:50% 100%;
    animation:springHerbsV214 3s ease-in-out infinite alternate;
}
.spring-flower-a {
    animation:springFlowerV214A 3.2s ease-in-out infinite;
}
.spring-flower-b {
    animation:springFlowerV214B 3.6s ease-in-out infinite;
}
.spring-petal {
    animation-duration:4.8s;
}

/* Lato – ruch celowo bardziej widoczny */
.summer-tomato-a {
    transform-origin:50% 72%;
    animation:summerTomatoV214A 2.5s ease-in-out infinite alternate;
}
.summer-tomato-b {
    transform-origin:50% 72%;
    animation:summerTomatoV214B 2.9s ease-in-out infinite alternate;
}
.summer-herb {
    transform-origin:48% 88%;
    animation:summerHerbV214 2.6s ease-in-out infinite alternate;
}
.summer-sun {
    transform-origin:center;
    animation:summerSunPulseV214 2.2s ease-in-out infinite alternate;
}
.summer-sun-ray {
    transform-origin:center;
    animation:summerSunSpinV214 11s linear infinite;
}
.summer-heat {
    animation:summerHeatV214 2.3s ease-in-out infinite;
}
.summer-heat-b {
    animation-delay:.6s;
}
.summer-heat-c {
    animation-delay:1.2s;
}

/* Jesień */
.mushroom-a {
    transform-origin:50% 100%;
    animation:mushroomV214A 2.8s ease-in-out infinite alternate;
}
.mushroom-b {
    transform-origin:50% 100%;
    animation:mushroomV214B 3.1s ease-in-out infinite alternate;
}
.autumn-leaf-a {
    animation:autumnLeafV214A 4.4s ease-in-out infinite;
}
.autumn-leaf-b {
    animation:autumnLeafV214B 5s ease-in-out infinite;
}
.autumn-leaf-c {
    animation:autumnLeafV214C 4.7s ease-in-out infinite;
}
.autumn-leaf-d {
    animation:autumnLeafV214D 5.3s ease-in-out infinite;
}

@keyframes seasonSceneFloatV214 {
    from {
        transform:
            perspective(1100px)
            translate3d(var(--season-x,0px),calc(var(--season-y,0px) + 9px),0)
            rotateX(var(--season-rx,0deg))
            rotateY(var(--season-ry,0deg));
    }
    to {
        transform:
            perspective(1100px)
            translate3d(var(--season-x,0px),calc(var(--season-y,0px) - 9px),0)
            rotateX(var(--season-rx,0deg))
            rotateY(var(--season-ry,0deg));
    }
}

@keyframes seasonVisualBreatheV214 {
    from { filter:drop-shadow(0 22px 26px rgba(0,0,0,.09)); }
    to   { filter:drop-shadow(0 29px 34px rgba(0,0,0,.14)); }
}

@keyframes springLeafV214A {
    from { transform:translateY(5px) rotate(-6deg); }
    to   { transform:translateY(-9px) rotate(7deg); }
}
@keyframes springLeafV214B {
    from { transform:translateY(4px) rotate(5deg); }
    to   { transform:translateY(-8px) rotate(-7deg); }
}
@keyframes springHerbsV214 {
    from { transform:rotate(-4deg) translateY(3px); }
    to   { transform:rotate(5deg) translateY(-7px); }
}
@keyframes springFlowerV214A {
    0%,100% { transform:rotate(-7deg) scale(.94); }
    50%     { transform:rotate(8deg) scale(1.08); }
}
@keyframes springFlowerV214B {
    0%,100% { transform:rotate(7deg) scale(.95); }
    50%     { transform:rotate(-8deg) scale(1.07); }
}

@keyframes summerTomatoV214A {
    from { transform:translate3d(-5px,8px,0) rotate(-4deg) scale(.98); }
    to   { transform:translate3d(6px,-11px,0) rotate(4deg) scale(1.025); }
}
@keyframes summerTomatoV214B {
    from { transform:translate3d(5px,7px,0) rotate(4deg) scale(.985); }
    to   { transform:translate3d(-6px,-10px,0) rotate(-4deg) scale(1.02); }
}
@keyframes summerHerbV214 {
    from { transform:translateY(4px) rotate(-6deg); }
    to   { transform:translateY(-9px) rotate(7deg); }
}
@keyframes summerSunPulseV214 {
    from { transform:scale(.92); opacity:.72; }
    to   { transform:scale(1.12); opacity:1; }
}
@keyframes summerSunSpinV214 {
    from { transform:rotate(0deg); }
    to   { transform:rotate(360deg); }
}
@keyframes summerHeatV214 {
    0%   { transform:translate3d(0,14px,0) scale(.94); opacity:0; }
    25%  { opacity:.6; }
    70%  { opacity:.42; }
    100% { transform:translate3d(3px,-28px,0) scale(1.08); opacity:0; }
}

@keyframes mushroomV214A {
    from { transform:translateY(6px) rotate(-3deg); }
    to   { transform:translateY(-10px) rotate(4deg); }
}
@keyframes mushroomV214B {
    from { transform:translateY(5px) rotate(3deg); }
    to   { transform:translateY(-9px) rotate(-4deg); }
}
@keyframes autumnLeafV214A {
    0%   { transform:translate3d(-6px,-24px,0) rotate(-18deg); opacity:.45; }
    45%  { opacity:1; }
    100% { transform:translate3d(26px,38px,0) rotate(32deg); opacity:.35; }
}
@keyframes autumnLeafV214B {
    0%   { transform:translate3d(10px,-26px,0) rotate(18deg); opacity:.4; }
    50%  { opacity:1; }
    100% { transform:translate3d(-22px,42px,0) rotate(-34deg); opacity:.3; }
}
@keyframes autumnLeafV214C {
    0%   { transform:translate3d(-4px,-18px,0) rotate(-12deg); opacity:.45; }
    100% { transform:translate3d(18px,34px,0) rotate(26deg); opacity:.3; }
}
@keyframes autumnLeafV214D {
    0%   { transform:translate3d(8px,-30px,0) rotate(12deg); opacity:.35; }
    100% { transform:translate3d(-26px,44px,0) rotate(-30deg); opacity:.25; }
}

/* Na telefonie ruch zostaje, tylko bez przechyłu za kursorem. */
@media(max-width:860px) {
    .home-logo-v18 {
        width:min(300px,78vw);
        max-height:170px;
        margin:0 auto 22px;
    }
}

@media (prefers-reduced-motion:reduce) {
    .seasonal-interactive[data-motion="0"] *,
    .seasonal-interactive[data-motion="0"] {
        animation:none!important;
        transition:none!important;
        transform:none!important;
    }
}


/* v2.15 HARD MOTION FIX */
.seasonal-interactive[data-motion="1"]{overflow:visible}
.seasonal-interactive[data-motion="1"] .seasonal-svg{will-change:transform;transform-origin:50% 55%}
.seasonal-interactive[data-motion="1"] .summer-tomato-a,
.seasonal-interactive[data-motion="1"] .summer-tomato-b,
.seasonal-interactive[data-motion="1"] .summer-herb,
.seasonal-interactive[data-motion="1"] .summer-sun,
.seasonal-interactive[data-motion="1"] .summer-sun-ray,
.seasonal-interactive[data-motion="1"] .spring-leaf,
.seasonal-interactive[data-motion="1"] .spring-herbs,
.seasonal-interactive[data-motion="1"] .autumn-leaf{will-change:transform,opacity}


/* v3.6 – tryb podglądu przy globalnej zaślepce */
.splash-preview-bar{position:sticky;top:0;z-index:11000;background:#111;color:#fff;border-bottom:3px solid #9acd32}
.splash-preview-bar-inner{min-height:42px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:7px 16px;font-size:12px}
.splash-preview-bar strong{color:#9acd32;text-transform:uppercase;letter-spacing:.07em}.splash-preview-bar a{color:#fff;font-weight:900;text-decoration:underline;text-underline-offset:3px}

/* v3.6 – Blog */
.blog-page,.blog-article-page{background:#f7f6f1}.blog-hero{padding-bottom:34px}.blog-grid-wrap{padding-top:30px;padding-bottom:80px}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.blog-card{overflow:hidden;background:#fff;border-radius:24px;box-shadow:0 15px 36px rgba(0,0,0,.07);display:flex;flex-direction:column}
.blog-card-media{display:block;aspect-ratio:4/3;background:#f1f2e9;overflow:hidden}.blog-card-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .4s ease}.blog-card:hover .blog-card-media img{transform:scale(1.035)}
.blog-card-fallback{height:100%;display:grid;place-items:center;overflow:hidden}.blog-card-fallback .seasonal-interactive{width:min(320px,90%);transform:scale(.84)}
.blog-card-copy{padding:22px 22px 24px;display:grid;gap:12px}.blog-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#707267;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.blog-meta span{color:#628807}
.blog-card h2{margin:0;font-size:25px;line-height:1.06}.blog-card h2 a{color:#111;text-decoration:none}.blog-card p{margin:0;color:#55584f;line-height:1.6}.blog-read-more{font-weight:900;color:#111;text-decoration:none}.blog-empty{padding:40px;background:#fff;border-radius:22px;text-align:center}
.blog-article{max-width:940px;padding-top:64px;padding-bottom:90px}.blog-article-head{max-width:820px;margin:0 auto 34px;text-align:center}.blog-article-head h1{font-size:clamp(42px,7vw,78px);line-height:.98;letter-spacing:-.045em;margin:16px 0 20px}.blog-lead{font-size:20px;line-height:1.65;color:#50534b;margin:0 auto;max-width:760px}
.blog-article-image{margin:0 0 42px}.blog-article-image img{display:block;width:100%;max-height:620px;object-fit:cover;border-radius:28px}.blog-content{max-width:760px;margin:0 auto;font-size:18px;line-height:1.78;color:#2f312c}.blog-content h2{font-size:34px;line-height:1.1;margin:42px 0 14px}.blog-content h3{font-size:25px;margin:32px 0 10px}.blog-content p{margin:0 0 22px}.blog-content ul{margin:0 0 24px;padding-left:24px}.blog-content li{margin:8px 0}.blog-back{max-width:760px;margin:42px auto 0}.blog-back a{font-weight:900;color:#111}.blog-preview-note{max-width:760px;margin:0 auto 24px;padding:12px 16px;border-radius:14px;background:#111;color:#fff;text-align:center;font-weight:900}
@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.splash-preview-bar-inner{justify-content:flex-start}.blog-grid{grid-template-columns:1fr}.blog-grid-wrap{padding-top:18px}.blog-article{padding-top:38px}.blog-article-head{text-align:left}.blog-article-head h1{font-size:43px}.blog-content{font-size:17px}}

/* POLANA TYPOGRAPHY PREMIUM v1.0 START */
:root{
  --polana-font-body:'Manrope',Arial,Helvetica,sans-serif;
  --polana-font-display:'Cormorant Garamond',Georgia,'Times New Roman',serif;
}
body{font-family:var(--polana-font-body);font-weight:500;letter-spacing:-.008em}
.main-nav a,.nav-toggle,.btn-public,.text-link,.eyebrow,.hero-mark,.footer-grid,.footer-bottom{font-family:var(--polana-font-body)}
h1,h2,h3,
.section h1,.section h2,.section h3,
.hero h1,.hero h2,
.menu-page h1,.menu-page h2,.menu-page h3,
.contact-page h1,.contact-page h2,.contact-page h3,
.reservation-page h1,.reservation-page h2,.reservation-page h3{
  font-family:var(--polana-font-display);
  font-weight:700;
  letter-spacing:-.025em;
  text-wrap:balance;
}
h2{line-height:.98}
.main-nav a{font-weight:700;letter-spacing:.015em}
.btn-public{font-weight:800;letter-spacing:0}
/* POLANA TYPOGRAPHY PREMIUM v1.0 END */


/* POLANA NEWSLETTER V1.1 START */
.newsletter-strip{background:#10130f;color:#fff;padding:72px 24px;border-top:1px solid rgba(255,255,255,.08)}
.newsletter-strip__inner{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:64px;align-items:center}
.newsletter-strip__eyebrow,.newsletter-page__eyebrow{display:block;color:#9acd32;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:12px}
.newsletter-strip h2{margin:0 0 14px;font-size:clamp(34px,5vw,62px);line-height:.98;letter-spacing:-.04em}
.newsletter-strip__copy p{margin:0;max-width:620px;color:rgba(255,255,255,.72);font-size:16px}
.newsletter-strip__label{display:block;font-weight:800;font-size:13px;margin-bottom:8px}
.newsletter-strip__row{display:grid;grid-template-columns:1fr auto;gap:10px}
.newsletter-strip__row input,.newsletter-page__form input[type="email"],.newsletter-page__form input[type="text"]{width:100%;min-height:52px;border:1px solid rgba(255,255,255,.2);background:#fff;color:#111;border-radius:999px;padding:0 20px;font:inherit;outline:none}
.newsletter-strip__row input:focus,.newsletter-page__form input:focus{border-color:#9acd32;box-shadow:0 0 0 4px rgba(154,205,50,.15)}
.newsletter-strip__row button,.newsletter-page__form button{min-height:52px;border:0;border-radius:999px;background:#9acd32;color:#0d100d;padding:0 24px;font:inherit;font-weight:900;cursor:pointer}
.newsletter-consent{display:flex!important;gap:10px!important;align-items:flex-start!important;margin-top:13px!important;font-size:11px!important;line-height:1.45!important;color:rgba(255,255,255,.66)!important;text-transform:none!important;letter-spacing:0!important;font-weight:500!important}
.newsletter-consent input{width:18px!important;height:18px!important;min-height:0!important;flex:0 0 18px!important;margin:1px 0 0!important;accent-color:#9acd32}
.reservation-newsletter{margin:18px 0 8px;padding:15px 17px;border:1px solid #dfe5d7;border-radius:14px;background:#f7f9f3}
.reservation-newsletter .newsletter-consent{color:#485045!important;margin-top:0!important;font-size:12px!important}
.reservation-newsletter strong{display:block;margin-bottom:7px;color:#111}
.newsletter-page{min-height:65vh;background:#f3f0e7;padding:72px 20px;display:grid;place-items:center}
.newsletter-page__card{width:min(720px,100%);background:#fff;border-radius:28px;padding:clamp(28px,5vw,58px);box-shadow:0 22px 70px rgba(0,0,0,.08)}
.newsletter-page__card h1{font-size:clamp(36px,6vw,66px);line-height:1;margin:0 0 24px}
.newsletter-page__message{padding:14px 16px;border-radius:12px;background:#f3f5ee;margin-bottom:22px}
.newsletter-page__message.is-ok{background:#edf7df;color:#283a17}
.newsletter-page__form{display:grid;gap:15px}.newsletter-page__form>label{display:grid;gap:7px;font-weight:800}
.newsletter-page__form>label span{font-weight:500;color:#777}.newsletter-page__form .newsletter-consent{color:#555!important}
.newsletter-page__form button{justify-self:start}
.newsletter-page__back{margin:24px 0 0}.newsletter-page__back a{color:#111;font-weight:800}
@media(max-width:800px){.newsletter-strip{padding:54px 18px}.newsletter-strip__inner{grid-template-columns:1fr;gap:28px}.newsletter-strip__row{grid-template-columns:1fr}.newsletter-strip__row button{width:100%}}
/* POLANA NEWSLETTER V1.1 END */











/* POLANA OPINIE SIMPLE V2 START */
.google-reviews-strip{background:#f4f1e9;color:#111;padding:76px 24px;border-top:1px solid rgba(0,0,0,.07)}
.google-reviews-strip__inner{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:54px;align-items:center}
.google-reviews-strip__eyebrow{display:block;color:#729c16;font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;margin-bottom:12px}
.google-reviews-strip h2{margin:0 0 14px;font-size:clamp(36px,5vw,64px);line-height:.96;letter-spacing:-.045em;max-width:820px}
.google-reviews-strip__copy p{max-width:720px;margin:0;color:#5f655b;font-size:16px}
.google-reviews-strip__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.google-review-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border-radius:999px;padding:0 22px;text-decoration:none;font-weight:900}
.google-review-btn--primary{background:#9acd32;color:#111}.google-review-btn--secondary{border:1px solid #c9cfc2;color:#111;background:#fff}
.google-reviews-strip__mark{min-width:220px;background:#fff;border:1px solid #dde2d8;border-radius:22px;padding:19px 21px;display:flex;align-items:center;gap:15px;box-shadow:0 12px 35px rgba(0,0,0,.05)}
.google-gmark,.google-review-float__g{font-weight:1000;font-size:31px;line-height:1;color:#4285F4}
.google-reviews-strip__mark strong{display:block;font-size:17px}.google-reviews-strip__mark span{display:block;color:#777;font-size:12px;margin-top:2px}
.google-reviews-strip__widget{width:min(1180px,100%);margin:36px auto 0}
.google-review-float{position:fixed;right:18px;bottom:18px;z-index:900;display:flex;align-items:center;gap:8px;background:#fff;color:#111;text-decoration:none;border:1px solid rgba(0,0,0,.12);border-radius:999px;padding:10px 15px 10px 11px;box-shadow:0 10px 32px rgba(0,0,0,.18);font-weight:900}
.google-review-float__g{font-size:20px}.google-reviews-page{background:#fff}.google-reviews-page__hero{background:#111;color:#fff;padding:110px 24px}.google-reviews-page__inner{width:min(1100px,100%);margin:0 auto}
.google-reviews-page__hero h1{font-size:clamp(44px,7vw,86px);line-height:.93;letter-spacing:-.05em;max-width:850px;margin:0 0 20px}.google-reviews-page__hero p{max-width:720px;color:rgba(255,255,255,.72);font-size:18px}
.google-reviews-page__widget{padding:72px 24px;background:#f4f1e9}.google-reviews-empty{background:#fff;border-radius:22px;padding:30px}
@media(max-width:820px){.google-reviews-strip{padding:58px 18px}.google-reviews-strip__inner{grid-template-columns:1fr;gap:28px}.google-reviews-strip__mark{min-width:0;width:100%}.google-review-float{right:12px;bottom:12px}.google-reviews-page__hero{padding:80px 18px}}
/* POLANA OPINIE SIMPLE V2 END */

/* POLANA I18N EN/PL */
.polana-lang-switch{display:flex;align-items:center;gap:5px;white-space:nowrap;margin-left:8px}
.polana-lang-switch a{display:inline-flex;gap:4px;align-items:center;padding:6px 8px;border:1px solid #c7c8bd;border-radius:999px;text-decoration:none;color:inherit;font-size:12px;font-weight:800;background:#fff;line-height:1.2}
.polana-lang-switch a.selected{border:2px solid #89ba25;background:#f3fadf}
.polana-kind-tabs{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin:4px auto 24px}
.polana-kind-tabs a{padding:11px 17px;border-radius:24px;border:1px solid #c9d0c0;background:#fff;color:#292d24;font-weight:800;text-decoration:none}
.polana-kind-tabs a.active{background:#9acd32;border-color:#9acd32;color:#111}
@media(max-width:950px){.polana-lang-switch{margin:8px 0}.polana-lang-switch a{font-size:13px;padding:8px 12px}}
