/* Cleaned CSS: removed overridden duplicate declarations (kept later ones) */
/* ================================
   FONTS
================================ */

/* =========================
   PLAYFAIR DISPLAY
========================= */
@font-face {
    font-family: 'Playfair Display';
    src: url('../fonts/PlayfairDisplay-VariableFont_wght.ttf') format('truetype');
    font-weight: 400 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('../fonts/PlayfairDisplay-Italic-VariableFont_wght.ttf') format('truetype');
    font-weight: 400 800;
    font-style: italic;
    font-display: swap;
}

/* =========================
   LORA
========================= */
@font-face {
    font-family: 'Lora';
    src: url('../fonts/Lora-VariableFont_wght.ttf') format('truetype');
    font-weight: 400 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Lora';
    src: url('../fonts/Lora-Italic-VariableFont_wght.ttf') format('truetype');
    font-weight: 400 700;
    font-style: italic;
    font-display: swap;
}




:root {
    --color-primary: #CBB9B5;
    --color-dark: #4A3F35;
    --color-light: #F7F3F0;
    --color-accent1: #8F9779;
    --color-accent2: #A47148;
    --text-color: var(--color-dark);
    --bg-color: var(--color-light);
}

:root {
    --gutter: 28px;
}

:root {
    --max: clamp(960px, 88vw, 1120px);
}

.container {
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
}

@media (min-width: 1500px) {
    :root {
        --max: 1200px;
    }
}

* {
    box-sizing: border-box;
}

body {
    background-color: var(--bg-color);
    color: var(--text-color);
    font-family: "Inter", sans-serif;
}

a {
    text-decoration: none;
    transition: color .2s ease;
}

.container {
    max-width: var(--max);
    margin: auto;
    padding: 0 1rem;
}

.header {
    position: sticky;
    top: 0;
    background: #fff;
    border-bottom: 1px solid #eee;
    z-index: 10;
}

.nav {
    padding: .75rem 0;
}

.nav ul {
    list-style: none;
    display: flex;
    gap: 1rem;
    margin: 0;
    padding: 0;
}

.btn,
.button,
.woocommerce a.button,
.woocommerce button.button {
    background-color: var(--color-primary);
    text-transform: uppercase;
}

.hero {
    display: grid;
    place-items: center;
    min-height: 64vh;
    background: linear-gradient(180deg, #f0fdfa, #fff);
}

.hero .inner {
    max-width: 760px;
    text-align: center;
    padding: 3rem 1rem;
}

.hero h1 {
    font-size: clamp(2rem, 4vw, 3rem);
    margin: 0 0 .5rem;
}

.hero p {
    color: #444;
}

.grid {
    display: grid;
    gap: var(--gap);
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.card img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.card .body {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.badge {
    display: inline-block;
    background: #ecfeff;
    border: 1px solid #a5f3fc;
}

.section {
    background-color: var(--bg-color);
    padding: 80px 0;
}

footer {
    background-color: var(--color-dark);
    color: var(--color-light);
}

html,
body {
    background-color: #fff;
}

body {
    background-attachment: fixed, fixed, fixed, fixed;
    background-repeat: no-repeat;
    background-size: 100% 100%;
}

.hero-v2 {
    padding: 3.5rem 0 1rem;
}

@media (min-width: 960px) {
    .hero-v2 {
        padding: 5rem 0 2rem;
    }
}

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

.hero-copy .display {
    font-size: clamp(2rem, 4.8vw, 3.6rem);
    line-height: 1.05;
    margin: 0 0 .6rem;
}

.hero-copy .lead {
    font-size: clamp(1rem, 2.1vw, 1.25rem);
    color: #495;
    margin: 0;
}

.hero-collage {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(6, 1fr);
    gap: .9rem;
    min-height: 520px;
}

.hero-collage .img {
    border-radius: 18px;
    overflow: hidden;
    background: #f3f4f6;
    box-shadow: 0 10px 24px rgba(16, 24, 40, .08);
}

.hero-collage img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    /* zobrazí celú fotku */
    background: #fff;
    /* aby neboli prázdne transparentné miesta */
}


.hero-collage .main {
    grid-column: 1 / 2;
    grid-row: 1 / 7;
    border-radius: 24px;
}

.hero-collage .side.top {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
}

.hero-collage .side.mid {
    grid-column: 2 / 3;
    grid-row: 3 / 5;
}

.hero-collage .side.bot {
    grid-column: 2 / 3;
    grid-row: 5 / 7;
}

.hero-collage .main img {
    object-position: 50% 35%;
}

.hero-collage .side.top img {
    object-position: 85% 20%;
}

.hero-collage .side.mid img {
    object-position: 40% 55%;
}

.hero-collage .side.bot img {
    object-position: 20% 80%;
}

@media (max-width: 900px) {
    .hero-collage {
        min-height: 420px;
    }
}

.hero-search {
    position: relative;
    display: flex;
    gap: .75rem;
    align-items: stretch;
    margin: clamp(1rem, 4vw, 2.5rem) auto 0;
    padding: .75rem;
    border-radius: 999px;
    background: #fff;
    max-width: 980px;
    box-shadow: 0 20px 45px rgba(2, 6, 23, .08);
}

.hero-search .field {
    min-width: 0;
    background: #f8fafc;
    border-radius: 999px;
    padding: .75rem 1rem;
    display: flex;
    flex-direction: column;
}

.hero-search .field label {
    font-size: .8rem;
    color: #64748b;
    margin-bottom: .25rem;
}

.hero-search input[type="search"],
.hero-search select {
    background: transparent;
    border: none;
    outline: none;
    font-size: 1rem;
    min-width: 12ch;
}

.hero-search .dates .dates-row {
    display: flex;
    gap: .5rem;
}

.hero-search input[type="date"] {
    border: none;
    background: transparent;
    font-size: 1rem;
}

.hero-search .btn.pill {
    border-radius: 999px;
    padding: 0 1.25rem;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 900px) {
    .hero-search {
        flex-wrap: wrap;
        border-radius: 24px;
    }

    .hero-search .btn.pill {
        width: 100%;
        padding: .9rem 1rem;
    }

    .hero-search .field {
        flex: 1 1 240px;
        border-radius: 16px;
    }
}

.hero-badges {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    justify-content: center;
    padding: .85rem 0 0;
    margin: 0;
    list-style: none;
    color: #475569;
    font-size: .95rem;
}

@media (max-width:700px) {
    .hero-badges {
        flex-direction: column;
        gap: .4rem;
    }
}

.sponsors {
    padding: 3rem 0;
    background-color: #f3f4f6;
}

.sponsors .container {
    max-width: var(--max);
    margin: auto;
}

.sponsors h2 {
    font-size: 2rem;
    margin-bottom: 2rem;
    text-align: center;
}

.sponsor-logos {
    display: flex;
    justify-content: center;
    gap: 2rem;
    flex-wrap: wrap;
}

.sponsor-logo img {
    max-height: 60px;
    object-fit: contain;
}

.event-links a {
    display: inline-block;
    background-color: #0f766e;
    color: #fff;
    padding: 1rem 2rem;
    margin: 1rem;
    text-decoration: none;
    border-radius: 999px;
    font-size: 1.1rem;
    transition: background-color 0.3s ease;
}

.event-links a:hover {
    background-color: #0b4e47;
}

.events {
    padding: 3rem 0;
}

.events .container {
    max-width: var(--max);
    margin: auto;
}

.events h2 {
    font-size: 2rem;
    margin-bottom: 2rem;
    text-align: center;
}

.event-img {
    display: flex;
    justify-content: center;
    margin-bottom: 2rem;
}

.event-img img {
    width: 100%;
    max-width: 1000px;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 20px 45px rgba(2, 6, 23, .08);
}

.event-texts {
    display: flex;
    justify-content: space-around;
    gap: 2rem;
}

.event-item {
    text-align: center;
    max-width: 300px;
}

.event-item h3 {
    font-size: 1.25rem;
    font-weight: bold;
    margin-bottom: .75rem;
}

.event-item p {
    font-size: 1rem;
    color: #495;
}

.featured-in {
    padding: 1.25rem 0;
    background: linear-gradient(180deg, #eef2f7 0%, #eef2f7 100%);
}

.featured-in .featured-head {
    text-align: center;
    color: #475569;
    font-weight: 600;
    margin-bottom: .75rem;
}

.logo-strip {
    display: flex;
    gap: clamp(1rem, 4vw, 2.5rem);
    align-items: center;
    justify-content: center;
    padding: .9rem 1rem;
    background: #f5f7fb;
    border-radius: 18px;
    overflow-x: auto;
    scrollbar-width: thin;
}

.logo {
    flex: 0 0 auto;
    height: 38px;
    opacity: .75;
    filter: grayscale(100%);
    justify-content: center;
}

.logo img {
    max-height: 38px;
    width: auto;
    display: block;
}

.logo:hover {
    opacity: 1;
    filter: none;
}

.logo.placeholder {
    width: 120px;
    height: 38px;
    background: #e5e7eb;
    border-radius: 8px;
}

@media (max-width: 640px) {
    .featured-in {
        padding: .75rem 0;
    }

    .logo-strip {
        justify-content: flex-start;
    }
}

.gallery-section {
    padding-top: 80px;
    padding-bottom: 80px;
    border-radius: 20px;
}

.gallery-section .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.gallery-section {
    position: relative;
    background: transparent !important;
}

.gallery-section::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    top: 0;
    bottom: 0;
    background: #fff;
    z-index: 0;
}

.gallery-section>* {
    position: relative;
    z-index: 1;
}

.event-grid h2.center {
    text-align: center;
    margin-bottom: 40px;
}

.event-card h3 {
    margin-bottom: 10px;
}

.event-card .loc,
.event-card .date,
.event-card .price {
    margin: 3px 0;
    color: #555;
}

.blog-section {
    padding-top: 60px;
    padding-bottom: 60px;
}

.blog-title {
    text-align: center;
    margin: 0 0 28px;
    font-size: clamp(26px, 3.6vw, 40px);
    line-height: 1.15;
}

.blog-title span {
    font-weight: 600;
    margin-right: .35em;
}

.blog-title strong {
    font-weight: 800;
}

.blog-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 28px;
}

.blog-card {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .08);
    transition: transform .2s ease, box-shadow .2s ease;
}

.blog-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 36px rgba(15, 23, 42, .14);
}

.blog-card .card-link {
    color: inherit;
    text-decoration: none;
    display: block;
    height: 100%;
}

.blog-card .thumb img {
    width: 100%;
    height: 190px;
    object-fit: cover;
    display: block;
}

@media (min-width: 1024px) {
    .blog-card .thumb img {
        height: 220px;
    }
}

.blog-card .content {
    padding: 16px 18px 18px;
}

.blog-card .post-title {
    font-size: 18px;
    font-weight: 700;
    margin: 6px 0 12px;
    color: #0f172a;
}

.blog-card .meta {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #64748b;
    font-size: 14px;
}

.blog-card .author {
    display: flex;
    align-items: center;
    gap: 8px;
}

.blog-card .author img {
    border-radius: 50%;
    width: 28px;
    height: 28px;
}

.blog-card .dot {
    opacity: .6;
}

.blog-cta {
    text-align: center;
    margin-top: 22px;
}

.blog-cta .btn {
    display: inline-block;
    color: #fff;
    border-radius: 999px;
    padding: 10px 18px;
    font-weight: 600;
}

.blog-cta .btn:hover {
    filter: brightness(.95);
}

@media (max-width: 900px) {
    .callout-wrap {
        grid-template-columns: 1fr;
    }
}

.callout-photos .p:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
}

.callout-photos .p:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
}

.callout-photos .p:nth-child(4) {
    display: none;
}

@media (max-width: 900px) {
    .callout-photos .p:nth-child(1) img {
        height: 260px;
    }

    .callout-photos img {
        height: 150px;
    }
}

.section-white-bg {
    background: #ffffff;
    padding: 60px 0;
}

.merch-section {
    padding: 80px 0;
}

.merch-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.merch-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    transition: transform .2s ease;
}

.merch-card:hover {
    transform: translateY(-5px);
}

.merch-card .img-wrap img {
    width: 100%;
    display: block;
    height: 260px;
    object-fit: cover;
}

.merch-card .content {
    padding: 20px;
}

.merch-card h3 {
    margin: 0 0 10px;
    font-size: 20px;
}

.merch-card .price {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 12px;
}

.merch-card .more-link {
    font-size: 15px;
    color: #5a4fff;
    text-decoration: none;
}

.merch-card .more-link:hover {
    text-decoration: underline;
}

.center {
    text-align: center;
}

.btn {
    background-color: var(--accent);
    color: #fff;
    padding: 12px 28px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    transition: background-color .25s ease, transform .15s ease;
}

.btn:hover,
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
    background-color: var(--color-accent2);
}

.badge {
    padding: 4px 10px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
}

.price {
    color: var(--accent-dark);
}

.callout {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}

.callout .content {
    max-width: 60%;
}

.callout h2 {
    font-size: 28px;
    margin-bottom: 15px;
    color: var(--accent);
}

.callout p {
    font-size: 18px;
    color: #333;
    margin-bottom: 25px;
}

.callout .btn {
    background-color: var(--accent);
    color: #fff;
    border-radius: 6px;
    padding: 12px 28px;
    text-decoration: none;
    font-weight: 600;
    transition: background-color .25s ease, transform .15s ease;
}

.callout .btn:hover {
    background-color: var(--accent-dark, #b79f9b);
    transform: translateY(-2px);
}

.callout .images {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    max-width: 35%;
}

.callout .images img {
    width: 100%;
    height: 140px;
    object-fit: cover;
    border-radius: 10px;
}

.callout {
    position: relative;
    padding: 80px 0;
    overflow: hidden;
}

.callout-wrap {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 40px;
    align-items: center;
}

@media (max-width: 900px) {
    .callout-wrap {
        grid-template-columns: 1fr;
    }
}

.callout-title {
    font-size: clamp(26px, 4vw, 42px);
    line-height: 1.15;
    margin: 0 0 12px;
    color: var(--accent);
}

.callout-sub {
    color: #475569;
    max-width: 560px;
    margin: 0 0 20px;
}

.callout-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    border-radius: 999px;
    font-weight: 700;
    transition: transform .15s ease, filter .15s ease;
}

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

.callout-btn .arrow {
    font-size: 20px;
    line-height: 1;
    opacity: .9;
}

.callout-note {
    margin-top: 10px;
    color: var(--accent);
    font-weight: 600;
}

.callout-photos {
    display: grid;
    gap: 18px;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    justify-items: end;
}

.callout-photos .p {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
}

.callout-photos img {
    display: block;
    width: 100%;
    height: 170px;
    object-fit: cover;
}

.callout-photos .p:nth-child(1) {
    grid-column: 1;
    grid-row: 1 / span 2;
}

.callout-photos .p:nth-child(1) img {
    height: 360px;
}

@media (max-width: 900px) {
    .callout-photos .p:nth-child(1) img {
        height: 260px;
    }

    .callout-photos img {
        height: 150px;
    }
}

.callout-wave {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -40px;
    width: 120%;
    height: 220px;
    background: radial-gradient(120% 80% at 10% 50%, rgba(2, 132, 199, .06), transparent 60%),
        radial-gradient(120% 80% at 60% 60%, rgba(2, 132, 199, .05), transparent 60%);
    pointer-events: none;
    filter: blur(2px);
}

.shop-head {
    align-items: flex-start;
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

@media (max-width:980px) {
    .products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width:640px) {
    .products-grid {
        grid-template-columns: 1fr;
    }
}

.product-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
    transition: transform .15s ease, box-shadow .15s ease;
}

.product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .10);
}

.product-card .thumb img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
}

.product-card .body {
    padding: 18px;
}

.product-card .name {
    margin: 0 0 8px;
    font-size: 20px;
}

.product-card .price {
    font-weight: 700;
    margin-bottom: 12px;
}

.btn,
.button,
.woocommerce a.button,
.woocommerce button.button {
    border: none;
    border-radius: 10px;
    padding: 10px 16px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .15s ease, filter .15s ease;
}

.btn:hover,
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
    transform: translateY(-1px);
    filter: brightness(.96);
}

.add-to-cart {
    width: 100%;
    text-align: center;
}

.single-event-wrap {
    display: grid;
    gap: 32px;
    grid-template-columns: 1.1fr .9fr;
}

@media (max-width:980px) {
    .single-event-wrap {
        grid-template-columns: 1fr;
    }
}

.event-media img {
    width: 100%;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
}

.event-title {
    margin: 0 0 10px;
    font-size: clamp(26px, 3.8vw, 40px);
}

.event-meta {
    list-style: none;
    padding: 0;
    color: #475569;
}

.event-desc {
    margin: 10px 0 18px;
}

h1,
h2,
h3,
h4,
h5 {
    font-family: "Playfair Display", serif;
}

:root {
    --accent: var(--color-primary);
    --accent-dark: #B79F9B;
}

a {
    color: var(--color-accent2) !important;
}

a:hover {
    color: var(--color-accent1) !important;
}

h1,
h2,
h3,
h4,
h5 {
    color: var(--color-dark) !important;
}

body {
    background-image: radial-gradient(60% 50% at 10% 8%, rgba(202, 188, 182, .18) 0%, rgba(202, 188, 182, 0) 60%),
        radial-gradient(45% 35% at 85% 12%, rgba(164, 113, 72, .12) 0%, rgba(164, 113, 72, 0) 60%),
        radial-gradient(50% 40% at 25% 90%, rgba(143, 151, 121, .10) 0%, rgba(143, 151, 121, 0) 60%),
        radial-gradient(35% 25% at 75% 80%, rgba(203, 185, 181, .10) 0%, rgba(203, 185, 181, 0) 60%);
}

.gallery-section h2 {
    color: var(--color-primary) !important;
}

.gallery-section .badge {
    background: var(--color-accent1) !important;
    color: #fff !important;
    border: none !important;
}

.callout-title,
.callout h2 {
    color: var(--color-primary) !important;
}

.callout-btn {
    background: var(--color-primary) !important;
    box-shadow: 0 10px 24px rgba(74, 63, 53, .12) !important;
    color: #fff !important;
}

.callout-btn:hover {
    filter: brightness(.96) !important;
}

.callout-sub,
.gallery-section p,
.event-item p {
    color: var(--color-dark) !important;
}

.event-links a {
    background: var(--color-accent2) !important;
}

.event-links a:hover {
    background: var(--color-accent1) !important;
}

.event-card .price {
    color: var(--color-accent2) !important;
    font-weight: 700;
}

.blog-title span {
    color: var(--color-accent1) !important;
}

.blog-title strong {
    color: var(--color-dark) !important;
}

.blog-cta .btn {
    background: var(--color-primary) !important;
    box-shadow: 0 6px 16px rgba(203, 185, 181, .35) !important;
}

.btn,
.button,
.woocommerce a.button,
.woocommerce button.button {
    background: var(--color-primary) !important;
    color: #fff !important;
}

.btn:hover,
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
    background: var(--color-accent2) !important;
}

.badge {
    background-color: var(--color-accent1) !important;
    color: #fff !important;
}

.footer a,
footer a {
    color: var(--color-primary) !important;
}

footer a:hover {
    color: var(--color-accent2) !important;
}

.event-card .img-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.event-card .img-wrap img {
    max-height: 320px;
}

.retreats-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.retreat-item {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .06);
}

.retreat-item img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
}

.woocommerce .woocommerce-ordering {
    margin-left: auto;
}

.woocommerce .woocommerce-products-header,
.woocommerce .woocommerce-ordering,
.woocommerce .woocommerce-result-count {
    max-width: var(--max);
    margin: 0 auto 16px;
    padding: 0 1rem;
}

.woocommerce ul.products {
    max-width: var(--max);
}

@media (max-width: 980px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr;
    }
}

.woocommerce ul.products li.product a img {
    border-bottom: 1px solid rgba(0, 0, 0, .06);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce .added_to_cart,
.woocommerce ul.products li.product .button {
    background: var(--accent, #CBB9B5);
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 10px 16px;
    margin: 0 14px 4px;
    text-align: center;
    font-weight: 700;
    transition: transform .15s ease, filter .15s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .added_to_cart:hover,
.woocommerce ul.products li.product .button:hover {
    transform: translateY(-1px);
    filter: brightness(.96);
}

.woocommerce .woocommerce-ordering select {
    border-radius: 10px;
    background: #fff;
    border: 1px solid #E6DED9;
    padding: 8px 10px;
    color: var(--color-dark);
}

.woocommerce nav.woocommerce-pagination {
    max-width: var(--max);
    margin: 10px auto 60px;
    padding: 0 1rem;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    border-radius: 10px;
    border-color: #E6DED9;
    color: var(--color-dark);
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: var(--accent, #CBB9B5);
    color: #fff;
    border-color: transparent;
}

.woocommerce-page .site-main,
.woocommerce-page .content-area,
.woocommerce {
    background: var(--bg-color);
}

.shop-wrap {
    max-width: var(--max);
    margin: 0 auto;
}

.shop-head {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 14px;
}

.shop-title {
    margin: 0;
    font-size: clamp(28px, 4vw, 40px);
}

.shop-tabs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.shop-tabs .tab {
    padding: 8px 14px;
    border-radius: 999px;
    background: #f3f4f6;
    text-decoration: none;
    color: #111827;
}

.shop-tabs .tab.is-active {
    background: var(--accent, #CBB9B5);
    color: #fff;
}

.shop-block-title {
    margin: 22px 0 12px;
    font-size: 22px;
}

@media (max-width: 980px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr;
    }
}

.section#shop {
    padding-top: 40px;
    padding-bottom: 40px;
}

.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(320px, 1fr));
    gap: 28px;
    padding: 0;
    margin: 8px 0 24px;
}

@media (max-width: 980px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr;
    }
}

.woocommerce ul.products li.product {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .08);
    padding: 0 0 14px !important;
    transition: transform .15s ease, box-shadow .15s ease;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .12);
}

.woocommerce ul.products li.product a img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    display: block;
    margin: 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 20px;
    margin: 12px 14px 8px !important;
    font-family: "Playfair Display", serif;
    color: var(--color-dark);
}

.woocommerce ul.products li.product .price {
    margin: 0 14px 12px !important;
    font-weight: 700;
    color: var(--color-accent2);
}

.woocommerce ul.products li.product .button {
    margin: 0 14px;
    background: var(--accent, #CBB9B5);
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 10px 16px;
    font-weight: 700;
    transition: transform .15s ease, filter .15s ease;
}

.woocommerce ul.products li.product .button:hover {
    transform: translateY(-1px);
    filter: brightness(.96);
}

.woocommerce-ordering {
    display: none;
}

.blog-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: 10px;
}

.blog-row {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 18px;
    background: #fff;
    border: 1px solid rgba(74, 63, 53, .10);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .06);
}

.blog-row__thumb {
    display: block;
    height: 100%;
}

.blog-row__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.blog-row__content {
    padding: 16px 16px 16px 0;
}

.blog-row__title {
    margin: 6px 0 8px;
    font-size: 22px;
    line-height: 1.15;
}

.blog-row__title a {
    color: var(--color-dark);
}

.blog-row__meta {
    display: flex;
    gap: 10px;
    align-items: center;
    color: rgba(74, 63, 53, .65);
    font-size: 14px;
    margin-bottom: 10px;
}

.blog-row__meta .dot {
    opacity: .5;
}

.blog-row__excerpt {
    margin: 0 0 12px;
    color: rgba(74, 63, 53, .85);
}

.blog-row__more {
    font-weight: 700;
    color: var(--color-accent2);
}

.blog-pagination {
    margin-top: 22px;
}

@media (max-width:700px) {
    .blog-row {
        grid-template-columns: 1fr;
    }

    .blog-row__thumb img {
        height: 210px;
    }

    .blog-row__content {
        padding: 14px 16px 16px;
    }
}

.post-lead {
    font-size: 1.2rem;
    line-height: 1.6;
    opacity: 0.9;
    margin-bottom: 2rem;
}

.single-post h2 {
    margin-top: 3rem;
    margin-bottom: 1rem;
}

.post-callout {
    margin: 3rem 0;
    padding: 2rem;
    border-radius: 16px;
    background: rgba(0, 0, 0, 0.04);
    font-weight: 500;
}

.single-post ul {
    padding-left: 1.2rem;
    margin: 1.5rem 0;
}

.single-post ul li {
    margin-bottom: 0.6rem;
}

.single-merch-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: start;
}

.single-merch-media img {
    width: 100%;
    height: auto;
    border-radius: 16px;
    display: block;
}

.single-merch-title {
    margin: 0 0 12px;
}

.single-merch-desc {
    margin: 0 0 18px;
    line-height: 1.6;
}

@media (max-width: 900px) {
    .single-merch-wrap {
        grid-template-columns: 1fr;
    }
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}

.brand__logo img {
    height: 32px;
    width: auto;
    display: block;
}

.brand__title {
    font-weight: 700;
}

.logo {
    text-decoration: none;
}

.logo__img img {
    height: 22px;
    display: block;
}

@media (max-width: 768px) {
    .logo__img img {
        height: 22px;
    }
}

.header .nav {
    display: flex;
    justify-content: space-between;
    gap: 24px;
}

.header .logo {
    flex: 0 0 auto;
}

.header .logo__img img {
    display: block;
}

.header .btn {
    flex: 0 0 auto;
}

.header .container.nav {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
}

.header .menu {
    margin: 0 auto !important;
}

.header .logo__img img {
    height: 22px !important;
    max-height: 22px !important;
    width: auto !important;
}

.header .logo {
    text-decoration: none;
}

.header .custom-logo {
    max-height: 30px;
    height: 26px;
    width: auto;
    object-fit: contain;
    display: block;
}

.header .custom-logo-link {
    display: flex;
    align-items: center;
}

.header .logo__text {
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
}

.header .logo {
    display: flex;
    align-items: center;
    gap: 12px;
}

.header .logo__img img,
.header img.custom-logo {
    height: 40px;
    width: auto;
    max-width: 140px;
    object-fit: contain;
    display: block;
}

.header .logo__text {
    line-height: 1;
}

.footer {
    margin-top: 80px;
    padding: 56px 0 0;
    background: #0b1526;
    color: rgba(255, 255, 255, .86);
}

.footer a {
    color: rgba(255, 255, 255, .86);
    text-decoration: none;
}

.footer a:hover {
    color: #fff;
}

.footer__grid {
    padding-bottom: 40px;
}

.footer__logo .custom-logo {
    height: 52px;
    width: auto;
    max-width: 220px;
    display: block;
    object-fit: contain;
}

.footer__desc {
    opacity: .9;
}

.footer__social {
    display: flex;
    gap: 10px;
}

.footer__icon {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    font-weight: 700;
}

.footer__menu li {
    margin: 0;
}

.footer__contactList {
    list-style: none;
    padding: 0;
    margin: 0 0 18px;
    display: grid;
    gap: 10px;
}

.footer__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 22px;
    border-radius: 999px;
}

.footer__bar {
    border-top: 1px solid rgba(255, 255, 255, .10);
    padding: 16px 0;
    background: rgba(0, 0, 0, .12);
}

.footer__barInner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.footer__legal {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    opacity: .9;
}

@media (max-width: 960px) {
    .footer__grid {
        grid-template-columns: 1fr;
    }

    .footer__barInner {
        flex-direction: column;
        align-items: flex-start;
    }
}

.faq-header {
    margin-bottom: 40px;
}

.faq-header h1 {
    font-size: 42px;
    margin-bottom: 12px;
}

.faq-intro {
    font-size: 18px;
    color: #6f6f6f;
}

.faq-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    padding: 22px 0;
}

.faq-item h3 {
    font-size: 20px;
    cursor: pointer;
    position: relative;
    padding-right: 20px;
}

.faq-item p {
    margin-top: 12px;
    color: #555;
    line-height: 1.6;
}

.faq-item p {
    display: none;
}

.faq-item.open p {
    display: block;
}

.contact-header {
    margin-bottom: 40px;
}

.contact-header h1 {
    font-size: 42px;
    margin-bottom: 12px;
}

.contact-intro {
    font-size: 18px;
    color: #6f6f6f;
}

.contact-box {
    background: #fff;
    padding: 36px;
    border-radius: 18px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.06);
}

.contact-box h2 {
    margin-bottom: 16px;
}

.contact-box p {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 16px;
}

.contact-phone a {
    font-size: 22px;
    font-weight: 600;
    color: var(--accent, #b88b5a);
    text-decoration: none;
}

.footer--dark {
    background: #071827;
    color: #c9d3dc;
    padding: 70px 0 26px;
    margin-top: 60px;
}

.footer__grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 0.7fr;
    gap: 60px;
    align-items: start;
}

.footer__title {
    font-size: 16px;
    letter-spacing: .02em;
    color: #ffffff;
    margin: 0 0 18px;
    font-weight: 600;
}

.footer__brandLink {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: #fff;
    margin-bottom: 14px;
}

.footer__logo img {
    height: 42px;
    width: auto;
    max-width: 120px;
    display: block;
}

.footer__brandName {
    font-weight: 700;
    font-size: 18px;
    opacity: .95;
}

.footer__desc {
    margin: 0 0 18px;
    line-height: 1.6;
    color: #b9c6d2;
    max-width: 340px;
}

.footer__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 12px;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    transition: .2s;
}

.footer__btn:hover {
    border-color: #fff;
    transform: translateY(-1px);
}

.footer__text {
    line-height: 1.7;
    color: #b9c6d2;
}

.footer__meta {
    margin-top: 18px;
    line-height: 1.9;
    color: #b9c6d2;
}

.footer__meta a {
    color: #e9f1f8;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.footer__menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer__menu a {
    color: #b9c6d2;
    text-decoration: none;
}

.footer__menu a:hover {
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.footer__powered {
    text-align: right;
}

.footer__poweredLink {
    color: #fff;
    text-decoration: none;
    font-weight: 700;
}

.footer__poweredImg {
    height: 34px;
    width: auto;
    display: inline-block;
    opacity: .95;
}

.footer__bottom {
    margin-top: 46px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .10);
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: #9fb0bf;
}

@media (max-width: 980px) {
    .footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 36px;
    }

    .footer__powered {
        text-align: left;
    }
}

@media (max-width: 560px) {
    .footer__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .events-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .events-wrapper {
        grid-template-columns: 1fr;
    }
}

.event-card a {
    display: block;
    color: inherit;
    text-decoration: none;
}

.event-card .img-wrap {
    width: 100%;
}

.events-more {
    margin-top: 40px;
}

.events-wrapper {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

@media (max-width: 980px) {
    .events-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .events-wrapper {
        grid-template-columns: 1fr;
    }
}

.event-card {
    display: block;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .08);
    transition: transform .15s ease, box-shadow .15s ease;
}

.event-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 50px rgba(0, 0, 0, .10);
}

.event-card .img-wrap {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #eee;
}

.event-card .img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.event-card .content {
    padding: 16px 16px 18px;
}

.event-card h3 {
    margin: 0 0 10px;
    font-size: 18px;
    line-height: 1.25;
}

.event-card .loc,
.event-card .date {
    margin: 6px 0;
    opacity: .85;
    font-size: 14px;
}

.event-card .price {
    margin-top: 10px;
    font-size: 16px;
}

.cart-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
}

.cart-link img {
    width: 22px;
    height: 22px;
    max-width: 22px;
    max-height: 22px;
    object-fit: contain;
    display: block;
}

.event-card {
    position: relative;
}

.event-cart-btn {
    background: #c7b3a5;
    z-index: 5;
    transition: transform .15s ease, background .15s ease;
}

.event-cart-btn:hover {
    background: #b59f90;
}

.nav-cart {
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    text-decoration: none;
}

.nav-cart:hover {
    transform: scale(1.15);
}

.event-single__thumb img {
    max-width: 100%;
    border-radius: 16px;
    display: block;
}

.event-single__meta {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    margin: 10px 0 18px;
    opacity: .9;
}

.event-single__buy {
    margin-top: 22px;
}

.event-cart-btn {
    gap: 10px;
    padding: 12px 18px;
    font-weight: 700;
}

.event-card-wrap {
    position: relative;
}

.event-cart-btn {
    position: absolute;
    right: 18px;
    bottom: 18px;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    border: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    line-height: 1;
}

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

.footer img,
.site-footer img {
    max-width: 280px;
    height: auto;
    display: block;
}

.nav {
    gap: 16px;
}

.nav-menu {
    display: block;
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.nav-toggle {
    display: none;
    background: transparent;
    border: 0;
    padding: 8px;
    cursor: pointer;
}

.nav-toggle span {
    display: block;
    width: 26px;
    height: 2px;
    margin: 6px 0;
    background: #3b2f2a;
    border-radius: 2px;
}

@media (max-width: 900px) {
    .nav-toggle {
        display: block;
    }

    .nav-menu {
        position: absolute;
        left: 0;
        right: 0;
        top: 64px;
        background: #fff;
        padding: 14px 18px;
        border-top: 1px solid rgba(0, 0, 0, .08);
        display: none;
        z-index: 999;
    }

    body.nav-open .nav-menu {
        display: block;
    }

    .nav-menu .menu {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .logo__text {
        font-size: 16px;
    }
}

body.nav-open .nav-toggle span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

body.nav-open .nav-toggle span:nth-child(2) {
    opacity: 0;
}

body.nav-open .nav-toggle span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

.nav-toggle span {
    transition: transform .2s ease, opacity .2s ease;
}

.logo {
    display: flex;
    align-items: center;
    gap: 10px;
}

.logo__img img {
    max-height: 32px;
    width: auto;
}

.logo__text {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    margin: 0;
}

.section {
    padding-top: 60px;
    padding-bottom: 60px;
}

@media (max-width: 768px) {
    .section {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}

h1 {
    font-size: 42px;
    line-height: 1.15;
    margin-bottom: 20px;
}

@media (max-width: 768px) {
    h1 {
        font-size: 32px;
    }
}

.header {
    padding: 12px 0;
}

.nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.hero-text {
    max-width: 620px;
}

.hero-title {
    font-size: clamp(2.2rem, 3vw, 3.2rem);
    line-height: 1.2;
    font-weight: 600;
    margin-bottom: 1.2rem;
    color: #4a4036;
}

.hero-lead {
    font-size: 1.05rem;
    line-height: 1.7;
    margin-bottom: 1rem;
    color: #5f554b;
}

.hero-subtitle {
    margin-top: 1.5rem;
    font-weight: 600;
    color: #4a4036;
}

.hero-list {
    margin: 0.8rem 0 1.2rem;
    padding-left: 1.2rem;
    list-style: disc;
    color: #5f554b;
}

.hero-list li {
    margin-bottom: 0.4rem;
    line-height: 1.6;
}

.hero-cta {
    margin-top: 1.4rem;
    font-size: 1.05rem;
    font-weight: 500;
    color: #7a5c3d;
}

@media (max-width: 900px) {
    .hero-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .hero-title {
        font-size: 2rem;
    }
}

.logo__img .custom-logo {
    height: 56px !important;
    width: auto !important;
    max-width: none !important;
}

.logo__img .custom-logo {
    transform: scale(1.25);
    transform-origin: left center;
}

.logo__text {
    color: #000 !important;
}

.page-hero {
    background: #faf7f5;
    padding: 80px 0 40px;
}

.page-hero--firms {
    background: linear-gradient(180deg, #faf7f5 0%, #ffffff 100%);
}

.page-title {
    font-size: clamp(2.2rem, 4vw, 3rem);
    font-weight: 600;
    color: #2b2623;
    margin-bottom: 20px;
}

.page-intro {
    color: #6b5f58;
}

.page-content {
    padding: 60px 0;
}

.container.narrow {
    max-width: 760px;
}

.content-box p {
    font-size: 1.05rem;
    line-height: 1.8;
    color: #2f2a27;
    margin-bottom: 1.2em;
}

.about-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 22px;
    align-items: start;
}

.about-card {
    background: #fff;
    border-radius: 18px;
    padding: 28px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .08);
}

.about-card--highlight {
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(0, 0, 0, .06);
}

.about-h2 {
    margin: 0 0 14px;
    font-size: 28px;
    line-height: 1.15;
}

.about-card p {
    line-height: 1.7;
    margin: 0 0 14px;
}

.about-card p:last-child {
    margin-bottom: 0;
}

.about-card .lead {
    font-size: 18px;
    margin-bottom: 12px;
}

.about-list {
    margin: 12px 0 18px;
    padding-left: 18px;
    line-height: 1.7;
}

.about-cta {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(0, 0, 0, .08);
}

.about-question {
    margin-bottom: 6px;
}

@media (max-width: 900px) {
    .about-grid {
        grid-template-columns: 1fr;
    }

    .about-card {
        padding: 22px;
    }
}

.about-page .page-head {
    margin-bottom: 26px;
}

.about-page .page-title {
    margin-bottom: 10px;
}

.about-page .page-subtitle {
    max-width: 760px;
    margin: 0 auto;
    opacity: .8;
}

.about-wrap {
    display: flex;
    justify-content: center;
}

.about-content {
    width: 100%;
    max-width: 860px;
}

.content-box {
    background: #fff;
    border-radius: 18px;
    padding: 40px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .08);
}

.content-box p,
.content-box li {
    font-size: 1.05rem;
    line-height: 1.8;
}

.content-box h2 {
    margin-top: 24px;
    margin-bottom: 12px;
    font-size: 28px;
    line-height: 1.2;
}

.content-box ul {
    padding-left: 18px;
}

@media (max-width: 900px) {
    .content-box {
        padding: 22px;
        border-radius: 16px;
    }
}

.page-intro {
    max-width: 760px;
    margin: 14px auto 36px;
    font-size: 1.05rem;
    line-height: 1.8;
    opacity: 0.85;
}

.site-footer {
    padding: 56px 0 18px;
    border-top: 1px solid var(--footer-line);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 40px;
    align-items: start;
}

.footer-logo {
    display: flex;
    gap: 14px;
    align-items: center;
    text-decoration: none;
    color: inherit;
}

.footer-logo__img img {
    display: block;
}

.footer-logo__text strong {
    display: block;
    letter-spacing: .2px;
}

.footer-logo__text span {
    display: block;
    font-size: 14px;
    margin-top: 4px;
}

.footer-note {
    margin-top: 14px;
    max-width: 420px;
    color: var(--footer-muted);
    line-height: 1.55;
}

.footer-title {
    margin: 0 0 14px;
    font-size: 15px;
    text-transform: none;
}

.footer-text {
    line-height: 1.7;
}

.footer-text a {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.footer-text a:hover {
    opacity: .8;
}

.footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}

.footer-links a {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    border-radius: 10px;
}

.footer-links a:hover {
    opacity: .85;
    transition: transform .15s ease, opacity .15s ease;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
}

@media (max-width: 900px) {
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 8px;
        align-items: flex-start;
    }
}

:root {
    --footer-links: #2b2b2b;
    --footer-line: rgba(0, 0, 0, .15);
}

.site-footer {
    background: var(--footer-bg);
    color: var(--footer-text);
}

.footer-logo__img img {
    max-height: 86px;
    width: 86px;
    height: 86px;
    object-fit: contain;
    background: #fff;
    padding: 10px;
    border-radius: 50%;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .12);
}

.footer-logo__text strong {
    font-size: 18px;
    color: #000;
}

.footer-logo__text span {
    color: rgba(0, 0, 0, .65);
}

.footer-title {
    color: var(--footer-title);
    font-weight: 700;
    letter-spacing: .5px;
    margin-bottom: 16px;
}

.footer-links a {
    color: var(--footer-links);
    font-weight: 500;
}

.footer-links a:hover {
    color: var(--footer-title);
    transform: translateX(3px);
}

.footer-text {
    color: var(--footer-text);
}

.footer-text a {
    color: var(--footer-links);
}

.footer-text a:hover {
    color: var(--footer-title);
}

.footer-bottom {
    border-top: 1px solid var(--footer-line);
    margin-top: 40px;
    padding-top: 18px;
    color: rgba(0, 0, 0, .6);
}

@media (max-width: 900px) {
    .footer-logo {
        align-items: flex-start;
    }
}

.footer-pro__logo {
    gap: 14px;
}

.footer-pro__logoText {
    font-weight: 800;
    font-size: 26px;
    color: #fff;
    letter-spacing: .5px;
}

.footer-pro__company span {
    display: inline-block;
    margin-top: 6px;
}

.footer-pro__title--mt {
    margin-top: 24px;
}

.footer-pro a {
    color: rgba(255, 255, 255, .82);
    text-decoration: none;
}

.footer-pro a:hover {
    color: #ffffff;
    text-decoration: underline;
}

.footer-pro__menu li a {
    border-bottom: 1px solid rgba(255, 255, 255, .10);
}

.footer-pro__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-pro__list li a {
    display: inline-block;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .10);
}

.footer-pro__hint {
    margin-top: 14px;
    font-size: 13px;
    color: rgba(255, 255, 255, .55);
}

.footer-pro__social {
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.footer-pro__social a {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 999px;
    font-weight: 800;
    line-height: 1;
}

.footer-pro__social a:hover {
    background: rgba(255, 255, 255, .12);
    text-decoration: none;
}

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

@media (max-width: 640px) {
    .footer-pro {
        padding: 42px 0 18px;
    }

    .footer-pro__grid {
        grid-template-columns: 1fr;
    }
}

:root {
    --footer-bg: #c9b9b4;
    --footer-text: #1b1b1b;
    --footer-muted: rgba(0, 0, 0, .65);
    --footer-border: rgba(0, 0, 0, .18);
    --footer-title: #6b7b3a;
    --footer-card: rgba(255, 255, 255, .35);
}

.footer-pro {
    background: var(--footer-bg);
    color: var(--footer-text);
    padding: 72px 0 22px;
}

.footer-pro__grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1.2fr;
    align-items: start;
}

.footer-pro__logo {
    border: 1px solid var(--footer-border);
}

.footer-pro__logo .custom-logo-link {
    width: 100%;
    height: 100%;
}

.footer-pro__company strong {
    font-size: 18px;
    color: var(--footer-text);
}

.footer-pro__company span {
    color: var(--footer-muted);
    line-height: 1.5;
}

.footer-pro__title {
    font-size: 14px;
    text-transform: uppercase;
    margin: 0 0 16px;
}

.footer-pro__links {
    background: var(--footer-card);
    border: 1px solid var(--footer-border);
    border-radius: 18px;
    padding: 18px 18px;
}

.footer-pro__menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-pro__menu li a {
    color: var(--footer-text);
    text-decoration: none;
    display: block;
    padding: 10px 10px;
    border-radius: 12px;
}

.footer-pro__menu li a:hover {
    background: rgba(255, 255, 255, .55);
}

.footer-pro__socialLink {
    place-items: center;
    border: 1px solid var(--footer-border);
}

.footer-pro__socialLink svg {
    opacity: .9;
}

.footer-pro__socialLink:hover {
    background: rgba(255, 255, 255, .75);
}

.footer-pro__contact {
    margin-top: 12px;
    background: var(--footer-card);
    border: 1px solid var(--footer-border);
    border-radius: 18px;
    padding: 16px 16px;
}

.footer-pro__row {
    padding-bottom: 10px;
    border-bottom: 1px solid var(--footer-border);
}

.footer-pro__row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.footer-pro__ico {
    width: 22px;
    opacity: .85;
}

.footer-pro__contact a {
    color: var(--footer-text);
    text-decoration: none;
}

.footer-pro__contact a:hover {
    text-decoration: underline;
}

.footer-pro__bottom {
    color: var(--footer-muted);
    font-size: 14px;
}

@media (max-width: 1000px) {
    .footer-pro__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .footer-pro__logo {
        width: 140px;
        height: 140px;
    }
}

.footer-pro,
.footer-pro a,
.footer-pro span,
.footer-pro strong,
.footer-pro p,
.footer-pro__menu li a,
.footer-pro__contact,
.footer-pro__contact a {
    color: #000 !important;
}

.footer-pro__company span,
.footer-pro__copy {
    opacity: 0.75;
}

.footer-pro__logo img {
    max-width: 75%;
    max-height: 75%;
}

.footer-pro__brand img+.footer-pro__company {
    margin-top: 12px;
}

.footer-pro__logoText {
    display: none;
}

.footer-pro__title {
    color: #000;
    letter-spacing: 0.12em;
    font-weight: 700;
}

.footer-pro__title {
    opacity: 0.85;
}

.footer-pro__grid {
    gap: 80px;
}

.footer-pro__brand {
    gap: 20px;
}

.footer-pro__brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer-pro__logo {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: #f4efeb;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .15);
    margin-bottom: 16px;
    overflow: hidden;
}

.footer-pro__logo img {
    width: 75%;
    height: auto;
    object-fit: contain;
}

.footer-pro__logo .custom-logo-link {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.footer-pro__company img {
    display: none;
}

.footer-pro__logo:hover {
    transform: translateY(-4px);
    transition: all .3s ease;
}

.footer-pro__logoFallback {
    font-weight: 700;
    text-align: center;
    padding: 20px;
}

.footer-pro__logoCircle {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: #f4efeb;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .15);
    margin-bottom: 16px;
    transition: transform .25s ease;
}

.footer-pro__logoCircle:hover {
    transform: scale(1.05);
}

.footer-pro__logoImg {
    width: 78%;
    height: 78%;
    object-fit: contain;
    display: block;
    transition: transform .25s ease;
}

.footer-pro__logoCircle:hover .footer-pro__logoImg {
    transform: scale(1.07);
}

.footer-pro__socialBtn {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f4efeb;
    border: 1px solid rgba(0, 0, 0, .12);
    color: #111;
    text-decoration: none;
    font-weight: 700;
    box-shadow: 0 10px 20px rgba(0, 0, 0, .10);
    transition: transform .2s ease, box-shadow .2s ease;
}

.footer-pro__socialBtn:hover {
    transform: scale(1.08);
    box-shadow: 0 14px 26px rgba(0, 0, 0, .16);
}

.footer-pro__socialBtn span {
    font-size: 16px;
    line-height: 1;
}

.footer-pro__logoCircle img {
    max-width: 100% !important;
    height: auto !important;
}

.footer-pro__social {
    display: flex;
    gap: 14px;
    align-items: center;
}

.footer-pro__socialLink {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #f4efeb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 22px rgba(0, 0, 0, .12);
    transition: transform .2s ease, box-shadow .2s ease;
}

.footer-pro__socialLink:hover {
    transform: scale(1.1);
    box-shadow: 0 16px 30px rgba(0, 0, 0, .18);
}

.footer-pro__socialLink svg {
    width: 20px;
    height: 20px;
    fill: #111;
    transition: fill .2s ease;
}

.footer-pro__socialLink:hover svg {
    fill: #000;
}

.bcw-footer {
    background: var(--footer-bg, #cbb9b5);
    padding: 60px 0 24px;
}

.bcw-footer__grid {
    display: grid;
    grid-template-columns: 1.2fr .9fr 1fr 1.1fr;
    gap: 56px;
    align-items: start;
}

.bcw-footer__title {
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: none;
    margin: 0 0 14px;
    font-size: 28px;
    color: #fff;
}

.bcw-footer,
.bcw-footer a,
.bcw-footer span,
.bcw-footer p {
    color: #fff;
}

.bcw-footer__brandLink {
    display: inline-block;
}

.bcw-footer__logoImg,
.bcw-footer .custom-logo {
    max-width: 260px;
    height: auto;
    display: block;
}

.bcw-footer__tagline {
    margin-top: 18px;
    font-weight: 600;
    opacity: .95;
}

.bcw-footer__menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.bcw-footer__menu li {
    margin: 10px 0;
}

.bcw-footer__menu a {
    text-decoration: none;
    font-weight: 600;
}

.bcw-footer__menu a:hover {
    opacity: 1;
}

.bcw-footer__row {
    display: flex;
    gap: 10px;
    margin: 10px 0;
    align-items: center;
}

.bcw-footer__ico {
    width: 18px;
    display: inline-flex;
    justify-content: center;
}

.bcw-footer__socialBtn {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #111;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    text-decoration: none;
    font-weight: 800;
    transition: transform .15s ease, opacity .15s ease;
}

.bcw-footer__socialBtn:hover {
    transform: scale(1.06);
    opacity: .95;
}

.bcw-footer__mapBox {
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
    background: rgba(255, 255, 255, .15);
    min-height: 170px;
}

.bcw-footer__mapBox iframe {
    width: 100%;
    height: 170px;
    border: 0;
    display: block;
}

.bcw-footer__mapPlaceholder {
    padding: 18px;
    opacity: .9;
}

.bcw-footer__bottom {
    margin-top: 42px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, .25);
}

.bcw-footer__copy {
    opacity: .85;
    font-weight: 600;
}

@media (max-width: 1024px) {
    .bcw-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 36px;
    }
}

@media (max-width: 640px) {
    .bcw-footer__grid {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .bcw-footer {
        padding: 44px 0 20px;
    }
}

.bcw-footer__menu a {
    color: #fff !important;
    opacity: 1;
}

.bcw-footer__menu a:hover {
    color: #fff;
    text-decoration: underline;
}

.footer-pro__contact,
.footer-pro__contact a {
    color: #ffffff;
}

.footer-pro__contact a:hover {
    opacity: 0.8;
}

.footer-pro__ico {
    color: #ffffff;
}

.footer-pro__contact,
.footer-pro__contact a,
.footer-pro__contact span {
    color: #ffffff;
}

.footer-pro__contact .footer-pro__ico {
    color: #ffffff;
}

.footer-pro__contact svg {
    fill: #ffffff;
}

.footer-pro__contact {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-pro__row {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 16px;
    line-height: 1.4;
}

.footer-pro__ico {
    min-width: 18px;
    text-align: center;
}

.footer-pro__bottom {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    text-align: center;
}

.footer-pro__copy {
    color: #ffffff !important;
    font-size: 14px;
}

.bcw-footer__row a,
.bcw-footer__row span {
    color: #ffffff !important;
}

.bcw-footer__row a:hover {
    color: #ffffff !important;
    opacity: 0.85;
}

.bcw-footer__ico {
    color: #ffffff !important;
}

.bcw-footer__social {
    align-items: center;
}

.bcw-footer__socialLink img {
    width: 42px;
    height: 42px;
    object-fit: contain;
    display: block;
    transition: transform .25s ease, opacity .25s ease;
}

.bcw-footer__socialLink:hover img {
    transform: scale(1.1);
    opacity: .9;
}

.hero-media img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 18px;
    object-fit: cover;
}

.hero-copy {
    max-width: 620px;
}

.hero-collage .img.main img {
    border-radius: 24px 0 0 24px;
}

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

    .hero-collage {
        width: 100%;
        margin-left: 0;
    }

    .hero-collage .img.main img {
        border-radius: 24px;
    }
}

.hero-v2 {
    overflow: hidden;
}

.hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
    align-items: center;
    gap: 48px;
}

.hero-v2 .container.hero-grid {
    min-height: 72vh;
}

.hero-collage {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    height: 72vh;
    max-height: 720px;
    display: flex;
    align-items: stretch;
}

.hero-collage .img.side {
    display: none;
}

.hero-collage .img.main {
    width: 100%;
    height: 100%;
    border-radius: 28px 0 0 28px;
}

.hero-collage .img.main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-collage .img.main:hover img {
    transform: scale(1.10);
}

.hero-collage .img.main::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, 0) 55%);
    border-radius: 28px 0 0 28px;
}

@media (max-width: 980px) {
    .hero-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .hero-v2 .container.hero-grid {
        min-height: auto;
    }

    .hero-collage {
        width: 100%;
        margin-left: 0;
        height: 360px;
        max-height: none;
    }

    .hero-collage .img.main {
        border-radius: 24px;
    }

    .hero-collage .img.main::after {
        border-radius: 24px;
    }
}

.hero-collage .img.main {
    position: relative;
    overflow: hidden;
}

.hero-collage:hover .img.main img,
.hero-collage .img.main:hover img,
.hero-collage .img.main img:hover {
    transform: scale(1.10);
}

.hero-collage .img.main img {
    transform: scale(1.02);
    transition: transform .5s ease;
    will-change: transform;
    display: block;
}

.nav-cart-pill {
    line-height: 1;
    transition: transform .18s ease, filter .18s ease;
}

.nav-cart-pill:hover {
    transform: translateY(-1px);
}

.nav-cart-pill__total {
    font-size: 16px;
    white-space: nowrap;
}

.nav-cart-pill__count {
    padding: 0 6px;
}

.nav-event-pill {
    white-space: nowrap;
}

.nav-event-pill:hover {
    filter: brightness(1.05);
}

.event-single {
    padding-bottom: 64px;
}

.event-hero {
    padding: 48px 0 32px;
    background: #fff;
}

.event-hero__grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 48px;
    align-items: center;
}

.event-hero__kicker {
    margin: 0 0 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 12px;
    opacity: .7;
}

.event-hero__title {
    margin: 0 0 18px;
    line-height: 1.08;
}

.event-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    margin: 0 0 22px;
}

.event-meta__item {
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: .9;
}

.event-meta__price {
    font-weight: 800;
}

.event-hero__actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}

.event-hero__excerpt {
    margin: 0;
    opacity: .85;
    max-width: 58ch;
}

.event-hero__mediaBox {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .08);
}

.event-hero__img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block;
    transform: scale(1);
    transition: transform .35s ease;
}

.event-hero__mediaBox:hover .event-hero__img {
    transform: scale(1.04);
}

.event-body {
    padding-top: 28px;
}

.event-body__grid {
    display: grid;
    grid-template-columns: 1.4fr .8fr;
    gap: 36px;
    align-items: start;
}

.event-body__content {
    background: #fff;
}

.event-side .event-card {
    position: sticky;
    top: 110px;
    background: rgba(255, 255, 255, .7);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 16px;
    padding: 18px;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .06);
}

.event-card__title {
    margin: 0 0 12px;
}

.event-card__rows {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 14px;
}

.event-card__row {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0, 0, 0, .08);
}

.event-card__row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.event-card__label {
    opacity: .7;
}

.event-card__value {
    text-align: right;
    font-weight: 600;
}

.btn--full {
    width: 100%;
    justify-content: center;
}

.btn--primary {
    background: var(--accent);
    border: 1px solid transparent;
    color: #000;
}

.btn--ghost {
    background: transparent;
    border: 1px solid rgba(0, 0, 0, .18);
    color: #000;
}

@media (max-width: 980px) {
    .event-hero__grid {
        grid-template-columns: 1fr;
    }

    .event-hero__img {
        height: 340px;
    }

    .event-body__grid {
        grid-template-columns: 1fr;
    }

    .event-side .event-card {
        position: static;
    }
}

.bcw-footer__link {
    color: #fff;
}

.bcw-footer__link:hover {
    opacity: .85;
}

.bcw-footer__social {
    display: flex;
    gap: 14px;
    margin-top: 16px;
}

.bcw-footer__socialLink {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(255, 255, 255, .15);
    transition: transform .2s ease, background .2s ease;
}

.bcw-footer__socialLink:hover {
    transform: scale(1.06);
    background: rgba(255, 255, 255, .25);
}

.bcw-footer__socialLink svg {
    width: 22px;
    height: 22px;
    fill: #fff;
    display: block;
}

#backToTop {
    position: fixed;
    right: 22px;
    bottom: 22px;
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    text-decoration: none;
    font-size: 20px;
    line-height: 1;
    border: 1px solid rgba(0, 0, 0, .06);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .18);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity .22s ease, transform .22s ease, visibility .22s ease, background .22s ease, box-shadow .22s ease;
    z-index: 9999;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

#backToTop.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

#backToTop:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(0, 0, 0, .22);
}

#backToTop:active {
    transform: translateY(-1px);
}

#backToTop:focus-visible {
    outline: 3px solid rgba(168, 143, 136, .35);
    outline-offset: 3px;
}

#backToTop svg {
    display: block;
}

#backToTop {
    background: #bca6a0;
    color: #fff;
}

#backToTop svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
    stroke: none;
}

#backToTop:hover {
    background: #a88f88;
    color: #fff;
}

.nav-event-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-radius: 999px;
    background: #1f7a4d;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    line-height: 1;
    box-shadow: 0 8px 20px rgba(31, 122, 77, .25);
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
    position: relative;
}

.nav-event-pill:hover {
    background: #196a43;
    transform: translateY(-1px);
    box-shadow: 0 10px 26px rgba(31, 122, 77, .35);
}

.nav-event-pill__icon {
    font-size: 18px;
    line-height: 1;
}

.nav-event-pill__label {
    white-space: nowrap;
}

.nav-event-pill__count {
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #fff;
    color: #1f7a4d;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nav-event-pill__label:empty {
    display: none;
}

.nav-event-pill__label {
    color: #ffffff;
    font-weight: 600;
}

.logo__img img,
.logo__img .custom-logo {
    max-height: 94px;
    width: auto;
}

.custom-logo {
    max-height: 80px !important;
    width: auto !important;
}

.header img {
    max-height: 100px !important;
    height: auto !important;
    width: auto !important;
}

.header .logo,
.header .logo__img,
.header .custom-logo-link {
    max-height: 100px;
    display: flex;
    align-items: center;
}

.header .nav {
    min-height: 90px;
    align-items: center;
}

.header .logo__img {
    display: flex;
    align-items: center;
    height: auto !important;
    width: auto !important;
    overflow: visible !important;
}

.header .logo__img img,
.header .custom-logo,
.header .custom-logo-link img,
.header .logo__img svg {
    height: 80px !important;
    width: auto !important;
    max-height: none !important;
}

.header .custom-logo-link img[width],
.header .custom-logo-link img[height] {
    width: auto !important;
    height: 80px !important;
}

.nav-cart-pill {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 18px;
    border-radius: 999px;
    background: #1f6f44;
    color: #fff !important;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(31, 111, 68, .25);
}

.nav-cart-pill__total {
    color: #fff !important;
    font-weight: 700;
}

.nav-cart-pill__icon {
    color: #fff;
}

.nav-cart-pill__count {
    margin-left: 2px;
    min-width: 22px;
    height: 22px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .18);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}

.nav-cart-pill:hover {
    filter: brightness(1.05);
}

.nav-cart-pill__icon {
    font-size: 20px;
    line-height: 1;
}

.nav-cart-pill__icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.nav-cart-pill__icon svg {
    width: 22px;
    height: 22px;
}

@font-face {}

html,
body {
    font-family: "ETOILE", serif !important;
}

/* ==== HERO FIX: text vľavo, obrázky vpravo, bez prekrývania ==== */

.hero-v2 {
    padding: 48px 0;
}

.hero-v2 .hero-grid {
    /* 2 stĺpce: text + koláž */
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(360px, 1fr);
    gap: 32px;
    align-items: start;
}

/* nech sa nič neprekrýva */
.hero-v2 .hero-copy,
.hero-v2 .hero-collage {
    position: relative;
    z-index: 1;
}

/* koláž nesmie “utekat” cez celú šírku */
.hero-v2 .hero-collage {
    width: 100%;
    max-width: 720px;
    /* môžeš upraviť */
    margin-left: auto;
    /* prilepí doprava */
}

/* obrázky nech vyplnia boxy */
.hero-v2 .hero-collage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (max-width: 980px) {
    .hero-v2 .hero-grid {
        grid-template-columns: 1fr;
    }

    .hero-v2 .hero-collage {
        max-width: 100%;
        margin-left: 0;
    }
}

/* HERO viac do strán (wide) */
.hero-v2 .container {
    max-width: 1320px;
    /* skús 1320 až 1440 */
}

@media (min-width: 1200px) {
    .hero-v2 .container {
        padding-left: 24px;
        padding-right: 24px;
    }
}

.hero-single {
    width: 100%;
    max-width: 720px;
    margin-left: auto;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(16, 24, 40, .08);
}

.hero-single img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* ==== HERO COLLAGE: force grid layout (main + top/mid/bot) ==== */

.hero-v2 .hero-collage {
    display: grid !important;
    grid-template-columns: 1.15fr 0.85fr;
    /* main + pravý stĺpec */
    grid-template-rows: repeat(6, 1fr);
    gap: 14px;
    width: 100%;
    max-width: 720px;
    margin-left: auto;
    min-height: 520px;
    /* dôležité – aby side nemali 0 výšku */
}

.hero-v2 .hero-collage .img {
    border-radius: 22px;
    overflow: hidden;
    background: #f3f4f6;
}

.hero-v2 .hero-collage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* MAIN vľavo cez celú výšku */
.hero-v2 .hero-collage .img.main {
    grid-column: 1 / 2;
    grid-row: 1 / 7;
}

/* TOP/MID/BOT vpravo */
.hero-v2 .hero-collage .img.side.top {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
}

.hero-v2 .hero-collage .img.side.mid {
    grid-column: 2 / 3;
    grid-row: 3 / 5;
}

.hero-v2 .hero-collage .img.side.bot {
    grid-column: 2 / 3;
    grid-row: 5 / 7;
}

/* len pre istotu: nič nesmie byť skryté */
.hero-v2 .hero-collage .img.side {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

@media (max-width: 980px) {
    .hero-v2 .hero-collage {
        max-width: 100%;
        min-height: 420px;
    }
}


.bcw-event-map {
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 10px 24px rgba(16, 24, 40, .08);
}

.bcw-event-map iframe {
    width: 100%;
    height: 340px;
    border: 0;
    display: block;
}

/* =========================
   EVENT MAP CARD
========================= */

.event-map-card {
    margin-top: 20px;
    background: #ffffff;
    border-radius: 16px;
    padding: 18px;
    box-shadow: 0 10px 24px rgba(16, 24, 40, .08);
}

.event-map-title {
    font-size: 18px;
    margin: 0 0 12px;
    font-weight: 600;
}

.event-map-embed {
    border-radius: 12px;
    overflow: hidden;
}

.event-map-embed iframe {
    width: 100%;
    height: 220px;
    /* menšia výška */
    border: 0;
    display: block;
}

.hero-v2 {
    background-color: #cbb9b5;
    /* daj sem farbu z footeru */
}

/* ===== FOOTER FIX – bez mapy (3 stĺpce) ===== */

.bcw-footer__inner,
.bcw-footer__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px;
}

/* vycentrovanie obsahu */
.bcw-footer__inner {
    max-width: 1200px;
    margin: 0 auto;
}

/* odstránenie map stĺpca ak by existoval */
.bcw-footer__map {
    display: none !important;
}

/* lepšie vertikálne zarovnanie */
.bcw-footer__col {
    display: flex;
    flex-direction: column;
}

/* =========================================================
   FOOTER – responsive layout (bez mapy)
   ========================================================= */

/* ak by sa niekde ešte renderoval map stĺpec */
.bcw-footer__map {
    display: none !important;
}

/* wrapper – nech je footer pekne vycentrovaný */
.bcw-footer .container {
    max-width: 1200px;
}

/* GRID: desktop 3 stĺpce */
.bcw-footer__grid,
.bcw-footer__inner {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 56px;
    align-items: start;
}

/* každý stĺpec nech sa správa normálne */
.bcw-footer__col {
    min-width: 0;
}

/* trocha zjemnenie – dlhé emaily/odkazy nech nelámu layout */
.bcw-footer a,
.bcw-footer__col a {
    word-break: break-word;
}

/* ikonky / social – nech sa nelámu divne */
.bcw-footer__social,
.bcw-footer__icons,
.bcw-footer__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

/* =========================================================
   Tablet – 2 stĺpce
   ========================================================= */
@media (max-width: 900px) {

    .bcw-footer__grid,
    .bcw-footer__inner {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }

    /* logo stĺpec nech ide cez celú šírku (vyzerá to lepšie) */
    .bcw-footer__col--brand,
    .bcw-footer__brand,
    .bcw-footer__logoCol {
        grid-column: 1 / -1;
    }
}

/* =========================================================
   Mobil – 1 stĺpec, centrovanie
   ========================================================= */
@media (max-width: 560px) {

    .bcw-footer__grid,
    .bcw-footer__inner {
        grid-template-columns: 1fr;
        gap: 22px;
        text-align: center;
    }

    /* centrovanie vecí v stĺpcoch */
    .bcw-footer__col {
        align-items: center;
    }

    .bcw-footer__social,
    .bcw-footer__icons,
    .bcw-footer__buttons {
        justify-content: center;
    }

    /* ak máš v kontakte riadky s ikonami, nech sa to zarovná */
    .bcw-footer__contactItem,
    .bcw-footer__row,
    .bcw-footer__line {
        justify-content: center;
    }
}

/* =========================================================
   Spodný riadok (copyright) – nech sa pekne zlomí na mobile
   ========================================================= */
.bcw-footer__bottom,
.bcw-footer__bar,
.bcw-footer__copyright {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

@media (max-width: 560px) {

    .bcw-footer__bottom,
    .bcw-footer__bar,
    .bcw-footer__copyright {
        justify-content: center;
        text-align: center;
    }
}

/* ======================================
   BLOG SINGLE – featured image fix
   ====================================== */

/* wrapper */
.single-post .post-thumbnail,
.single-post .entry-media,
.single-post .wp-post-image {
    width: 100%;
    max-width: 100%;
}

/* obrázok */
.single-post .wp-post-image {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 16px;
    object-fit: cover;
}

/* MOBILE FIX */
@media (max-width: 768px) {

    .single-post .wp-post-image {
        width: 100%;
        height: 240px;
        /* nastav pevnu výšku */
        object-fit: cover;
        /* pekne oreže */
        border-radius: 14px;
    }

}

/* =========================================
   HERO COLLAGE – card tvary ako v ukážke
   ========================================= */

.hero-v2 .hero-collage {
    /* rozloženie */
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    grid-template-rows: repeat(6, 1fr);
    gap: 14px;

    width: 100%;
    max-width: 760px;
    margin-left: auto;

    /* “papier” pod kolážou */
    padding: 18px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(10px);
    box-shadow: 0 20px 50px rgba(16, 24, 40, .10);

    /* ten jemný tilt */
    transform: rotate(-2.5deg);
    transform-origin: center;
}

/* tile karta */
.hero-v2 .hero-collage .img {
    border-radius: 26px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 14px 32px rgba(16, 24, 40, .12);
    transform: rotate(2.5deg);
    /* vyrovná proti parent rotate */
}

/* obrázky */
.hero-v2 .hero-collage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* rozmery a umiestnenie */
.hero-v2 .hero-collage .img.main {
    grid-column: 1 / 2;
    grid-row: 1 / 7;
    border-radius: 34px;
    /* hlavný ešte viac */
}

/* pravý stĺpec 3 karty */
.hero-v2 .hero-collage .img.side.top {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
}

.hero-v2 .hero-collage .img.side.mid {
    grid-column: 2 / 3;
    grid-row: 3 / 5;
}

.hero-v2 .hero-collage .img.side.bot {
    grid-column: 2 / 3;
    grid-row: 5 / 7;
}

/* jemný hover */
@media (hover:hover) {
    .hero-v2 .hero-collage .img {
        transition: transform .25s ease, box-shadow .25s ease;
    }

    .hero-v2 .hero-collage .img:hover {
        transform: rotate(2.5deg) scale(1.02);
        box-shadow: 0 18px 44px rgba(16, 24, 40, .18);
    }
}

/* mobil – bez rotácie, aby to nebolo “divné” */
@media (max-width: 900px) {
    .hero-v2 .hero-collage {
        max-width: 100%;
        transform: none;
        padding: 14px;
        border-radius: 22px;
    }

    .hero-v2 .hero-collage .img {
        transform: none;
        border-radius: 18px;
    }

    .hero-v2 .hero-collage .img.main {
        border-radius: 22px;
    }
}

/* =========================================
   HERO COLLAGE – kratšie sloty (aspect-ratio)
   ========================================= */

.hero-v2 .hero-collage {
    display: grid !important;
    grid-template-columns: 1.05fr .95fr;
    grid-template-rows: auto auto auto;
    /* už nie 1fr/1fr/1fr */
    gap: 14px;

    width: 100%;
    max-width: 760px;
    margin-left: auto;

    padding: 18px;
    border-radius: 28px;
    background: rgba(255, 255, 255, .65);
    backdrop-filter: blur(10px);
    box-shadow: 0 20px 50px rgba(16, 24, 40, .10);

    /* jemný tilt ako v ukážke */
    transform: rotate(-2.5deg);
    transform-origin: center;

    /* DÔLEŽITÉ: zruš nútenú výšku */
    min-height: 0 !important;
    height: auto !important;
}

/* tile karta */
.hero-v2 .hero-collage .img {
    border-radius: 26px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 14px 32px rgba(16, 24, 40, .12);
    transform: rotate(2.5deg);
    height: auto;
    /* aby sa nenaťahovalo */
}

/* obrázky */
.hero-v2 .hero-collage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* umiestnenie do gridu */
.hero-v2 .hero-collage .img.main {
    grid-column: 1;
    grid-row: 1 / 4;
}

.hero-v2 .hero-collage .img.side.top {
    grid-column: 2;
    grid-row: 1;
}

.hero-v2 .hero-collage .img.side.mid {
    grid-column: 2;
    grid-row: 2;
}

.hero-v2 .hero-collage .img.side.bot {
    grid-column: 2;
    grid-row: 3;
}

/* ✅ toto robí "správne tvary" (kratšie ako u teba) */
.hero-v2 .hero-collage .img.main {
    aspect-ratio: 3 / 4;
    border-radius: 34px;
}

.hero-v2 .hero-collage .img.side.top {
    aspect-ratio: 16 / 10;
}

.hero-v2 .hero-collage .img.side.mid {
    aspect-ratio: 16 / 10;
}

.hero-v2 .hero-collage .img.side.bot {
    aspect-ratio: 16 / 10;
}

/* hover */
@media (hover:hover) {
    .hero-v2 .hero-collage .img {
        transition: transform .25s ease, box-shadow .25s ease;
    }

    .hero-v2 .hero-collage .img:hover {
        transform: rotate(2.5deg) scale(1.02);
        box-shadow: 0 18px 44px rgba(16, 24, 40, .18);
    }
}

/* mobil – bez rotácie */
@media (max-width: 900px) {
    .hero-v2 .hero-collage {
        transform: none;
        padding: 14px;
        border-radius: 22px;
        max-width: 100%;
    }

    .hero-v2 .hero-collage .img {
        transform: none;
        border-radius: 18px;
    }

    .hero-v2 .hero-collage .img.main {
        border-radius: 22px;
    }
}

/* =========================================
   HERO COLLAGE – layout ako na screenshote
   (A hore vľavo + MAIN veľký vľavo + 3 vpravo)
   ========================================= */

.hero-v2 .hero-collage {
    display: grid !important;
    grid-template-columns: 1.25fr 0.75fr;
    /* ľavý širší, pravý užší */
    grid-template-rows: auto auto auto auto;
    /* výšku riadkov riadi obsah */
    gap: 14px;

    width: 100%;
    max-width: 820px;
    margin-left: auto;

    padding: 18px;
    border-radius: 28px;
    background: rgba(255, 255, 255, .65);
    backdrop-filter: blur(10px);
    box-shadow: 0 20px 50px rgba(16, 24, 40, .10);

    transform: rotate(-2.5deg);
    transform-origin: center;

    min-height: 0 !important;
    height: auto !important;
}

.hero-v2 .hero-collage .img {
    overflow: hidden;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(16, 24, 40, .12);
    transform: rotate(2.5deg);
}

.hero-v2 .hero-collage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* esteticky, ak chceš celú fotku → contain */
    display: block;
}

/* ===== UMIETNENIE DO GRIDU ===== */

/* A = side top hore vľavo (wide banner) */
.hero-v2 .hero-collage .img.side.top {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    aspect-ratio: 16 / 6;
    /* nízky “banner” */
}

/* MAIN = veľký vľavo pod bannerom */
.hero-v2 .hero-collage .img.main {
    grid-column: 1 / 2;
    grid-row: 2 / 5;
    /* zaberie 3 riadky */
    aspect-ratio: 4 / 5;
    /* výška ako na screenshote */
    border-radius: 34px;
}

/* Pravý stĺpec: 3 rovnaké karty */
.hero-v2 .hero-collage .img.side.mid {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    aspect-ratio: 16 / 10;
}

.hero-v2 .hero-collage .img.side.bot {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    aspect-ratio: 16 / 10;
}

/* Ak chceš mať ešte tretí malý vpravo dole, použijeme C ako “third” */
.hero-v2 .hero-collage .img.side.third {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
    aspect-ratio: 16 / 10;
}

/* ====== Ak máš len 4 obrázky (main + top + mid + bot), tak spravíme 3 vpravo takto: 
   - mid = hore
   - bot = stred
   - (ak chceš tretí, musíš mať 5. obrázok v customizeri alebo premapovať A/C)
*/

/* MOBIL: zruš rotáciu */
@media (max-width: 900px) {
    .hero-v2 .hero-collage {
        transform: none;
        max-width: 100%;
        padding: 14px;
        border-radius: 22px;
    }

    .hero-v2 .hero-collage .img {
        transform: none;
        border-radius: 18px;
    }

    .hero-v2 .hero-collage .img.main {
        border-radius: 22px;
    }
}

/* =========================================
   HERO COLLAGE – 1 a 3 rovnako veľké
   ========================================= */

.hero-v2 .hero-collage {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    gap: 14px;

    width: 100%;
    max-width: 820px;
    margin-left: auto;

    padding: 18px;
    border-radius: 28px;
    background: rgba(255, 255, 255, .65);
    backdrop-filter: blur(10px);
    box-shadow: 0 20px 50px rgba(16, 24, 40, .10);

    transform: rotate(-2.5deg);
    transform-origin: center;
}

/* všeobecné */
.hero-v2 .hero-collage .img {
    overflow: hidden;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(16, 24, 40, .12);
    transform: rotate(2.5deg);
}

.hero-v2 .hero-collage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ===== ROZLOŽENIE ===== */

/* 2 – banner vľavo hore */
.hero-v2 .hero-collage .img.side.top {
    grid-column: 1;
    grid-row: 1;
    aspect-ratio: 16 / 6;
}

/* 3 – veľký vpravo hore */
.hero-v2 .hero-collage .img.side.mid {
    grid-column: 2;
    grid-row: 1 / 3;
    aspect-ratio: 4 / 5;
    /* rovnaký pomer ako 1 */
}

/* 1 – veľký vľavo dole */
.hero-v2 .hero-collage .img.main {
    grid-column: 1;
    grid-row: 2 / 4;
    aspect-ratio: 4 / 5;
    /* rovnaký pomer ako 3 */
    border-radius: 34px;
}

/* 4 – menší vpravo dole */
.hero-v2 .hero-collage .img.side.bot {
    grid-column: 2;
    grid-row: 3;
    aspect-ratio: 16 / 10;
}

/* ===== MOBILE ===== */
@media (max-width: 900px) {
    .hero-v2 .hero-collage {
        transform: none;
        max-width: 100%;
        padding: 14px;
    }

    .hero-v2 .hero-collage .img {
        transform: none;
    }
}

.hero-v2 .hero-collage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* vždy vyplní box */
    object-position: center;
    /* vždy stred */
    display: block;
}

/* HERO – väčší headline */
.hero-v2 .hero-title {
    font-size: clamp(40px, 4vw, 64px);
    line-height: 1.1;
}

/* Hero odstavce */
.hero-v2 .hero-lead {
    font-size: 18px;
    line-height: 1.6;
}

/* List */
.hero-v2 .hero-list li {
    font-size: 17px;
}

/* Etoile len na nadpisy */
h1,
h2,
h3,
.hero-title {
    font-family: 'Etoile', serif;
    font-weight: 400;
    letter-spacing: 0.2px;
}

/* všetko ostatné = čitateľný font */
body {
    font-family: ui-serif, Georgia, "Times New Roman", serif;
    font-weight: 400;
    line-height: 1.6;
}

/* menu a malé texty nech sú čitateľné */
nav,
.menu,
.nav,
header a {
    font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-weight: 500;
}

.event-hero__kicker,
.hero-subtitle {
    font-family: 'Etoile', serif;
    font-style: italic;
}

/* MOBILE LOGO SIZE */
@media (max-width: 768px) {

    .site-logo img,
    .custom-logo,
    .custom-logo-link img {
        max-height: 42px;
        /* uprav podľa potreby */
        width: auto;
    }

}

/* ==========================
   MOBILE LOGO – ukázať celé
   ========================== */
@media (max-width: 768px) {

    /* obrázok loga */
    .custom-logo-link img,
    .custom-logo,
    .site-logo img,
    .site-branding img {
        height: auto !important;
        max-height: 64px;
        /* uprav podľa potreby */
        width: auto !important;
        max-width: 100% !important;

        object-fit: contain !important;
        /* kľúčové */
        object-position: left center !important;

        display: block;
    }

    /* wrapper loga – aby ho nič neorezalo */
    .custom-logo-link,
    .site-logo,
    .site-branding {
        display: flex;
        align-items: center;
        max-width: 60vw;
        /* nech nezaberie celý header */
        overflow: visible !important;
        /* kľúčové */
    }
}

@media (max-width: 768px) {

    header,
    .site-header,
    .header,
    .bcw-header {
        overflow: visible !important;
    }
}

/* ================================
   GLOBAL TYPOGRAPHY
================================ */

body {
    font-family: 'Lora Custom', serif;
    font-weight: 400;
    line-height: 1.7;
    color: var(--text-color);
}

/* Nadpisy */
h1,
h2,
h3,
h4,
h5,
h6,
.hero-title {
    font-family: 'Cormorant Garamond Custom', serif;
    font-weight: 600;
    line-height: 1.2;
}

/* Jemnejší hero efekt */
.hero-title {
    font-weight: 500;
}

.hero-title {
    font-family: 'Cormorant Garamond Custom', serif;
    font-weight: 600;
    /* dôležité */
    font-size: clamp(40px, 4.5vw, 64px);
    line-height: 1.1;
    color: #4A3F35;
    /* tmavšia farba */
}

.hero-lead {
    font-family: 'Lora Custom', serif;
    font-size: 18px;
    line-height: 1.6;
    color: #4A3F35;
}

.hero-cta-wrap {
    margin-top: 28px;
}

.hero-btn {
    display: inline-block;
    padding: 14px 28px;
    border-radius: 40px;
    font-family: 'Lora Custom', serif;
    font-size: 16px;
    font-weight: 500;
    background: var(--color-accent2);
    color: #fff;
    text-decoration: none;
    transition: all 0.3s ease;
}

.hero-btn:hover {
    background: var(--color-dark);
    transform: translateY(-2px);
}

.hero-btn {
    display: inline-block;
    padding: 14px 28px;
    border-radius: 40px;
    font-family: 'Lora Custom', serif;
    font-size: 16px;
    font-weight: 600;
    background: #4A3F35;
    /* tmavohnedá */
    color: #fff;
    text-decoration: none;
    transition: all 0.3s ease;
}

.hero-btn:hover {
    background: #2f2721;
    transform: translateY(-2px);
}

.hero-btn {
    background: #fff;
    color: #4A3F35;
    border: 2px solid #4A3F35;
}

.hero-btn:hover {
    background: #4A3F35;
    color: #fff;
}

.hero-btn {
    background: #8F7979;
    /* tvoja accent farba */
    color: #fff;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
}

.hero-btn {
    font-size: 18px;
    padding: 16px 34px;
}

.hero-btn {
    background: #4A3F35;
    /* tmavá hnedá */
    color: #fff;
    border: none;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.hero-btn:hover {
    background: #2f2721;
}

.hero-btn {
    background: #8F7979;
    color: #fff;
    border: none;
}

.hero-btn:hover {
    background: #745f5f;
}

.hero-btn {
    background: #2F6B4F;
    color: #fff;
}

.hero {
    display: flex;
    align-items: stretch;
    /* veľmi dôležité */
}

.hero-images {
    flex: 1;
    display: flex;
}

.hero-collage {
    height: 100%;
}

.hero-text {
    flex: 1;
}

.hero-images {
    flex: 1.2;
    /* viac miesta pre obrázky */
}

.hero {
    display: flex;
    align-items: stretch;
    gap: 60px;
}

.hero-text,
.hero-images {
    flex: 1;
}

.hero-collage {
    height: 100%;
}

/* HERO grid: nech sa oba stĺpce natiahnu na rovnakú výšku */
.hero-v2 .hero-grid {
    display: grid;
    /* ak už máš grid, nechaj - toto len potvrdí */
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    /* dôležité */
    gap: clamp(24px, 4vw, 64px);
}

/* Pravý stĺpec nech sa natiahne */
.hero-v2 .hero-collage,
.hero-v2 .hero-single {
    height: 100%;
    align-self: stretch;
}

/* Toto je tá "karta" s pozadím/zaoblením – natiahni ju */
.hero-v2 .hero-collage {
    min-height: 520px;
    /* uprav podľa toho, aby to sedelo s textom */
}

/* Ak chceš aby bola ešte väčšia a viac do výšky */
@media (min-width: 1024px) {
    .hero-v2 .hero-collage {
        min-height: 600px;
    }
}

.hero-v2 .hero-grid {
    grid-template-columns: 1fr 1.15fr;
    /* pravý stĺpec širší */
}

/* BIELA KARTA ZA OBRÁZKAMI */
.hero-v2 .hero-collage {
    background: #f6f2ef;
    /* tvoja svetlá farba */
    border-radius: 32px;
    padding: 28px;

    min-height: 650px;
    /* 🔥 toto zväčší celé pozadie */

    display: grid;
    gap: 20px;
}

.hero-v2 .hero-grid {
    align-items: stretch;
}

.hero-v2 .hero-collage {
    height: 100%;
}

/* ================================
   HERO RESPONSIVE FIX
   (paste at end of main.css)
================================ */

/* 1) default: obrázky nech sa správajú predvídateľne */
.hero-v2 .hero-collage .img,
.hero-v2 .hero-collage img {
    width: 100%;
    height: 100%;
    display: block;
}

.hero-v2 .hero-collage img {
    object-fit: cover;
    /* vyplní box */
    object-position: center;
    /* stred */
    border-radius: 22px;
}

/* 2) MOBILE & TABLET: 1 column, menšie paddingy */
@media (max-width: 900px) {

    .hero-v2 .hero-grid {
        grid-template-columns: 1fr !important;
        gap: 22px !important;
        padding-left: 16px;
        padding-right: 16px;
    }

    .hero-v2 .hero-text {
        max-width: 100%;
    }

    /* menšie H1 na mobile */
    .hero-v2 .hero-title {
        font-size: clamp(34px, 9vw, 46px);
        line-height: 1.05;
    }

    .hero-v2 .hero-lead {
        font-size: 16px;
        line-height: 1.6;
    }

    /* 3) koláž karta – zruš veľké min-height, zmenši padding */
    .hero-v2 .hero-collage {
        min-height: unset !important;
        height: auto !important;
        padding: 16px !important;
        border-radius: 26px;
        gap: 14px;
    }

    /* 4) Rozloženie 4 fotiek na mobile:
        - prvá veľká hore
        - zvyšné 3 v 2 stĺpcoch
  */
    .hero-v2 .hero-collage {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 140px;
        /* výška základného riadku */
    }

    .hero-v2 .hero-collage .img.main {
        grid-column: 1 / -1;
        grid-row: span 2;
        min-height: 220px;
    }

    .hero-v2 .hero-collage .img.side.top {
        grid-column: 1 / 2;
    }

    .hero-v2 .hero-collage .img.side.mid {
        grid-column: 2 / 3;
    }

    .hero-v2 .hero-collage .img.side.bot {
        grid-column: 1 / -1;
        min-height: 160px;
    }

    /* CTA button nech ide pekne na mobile */
    .hero-v2 .hero-cta-wrap {
        margin-top: 18px;
    }

    .hero-v2 .hero-btn {
        width: 100%;
        text-align: center;
        padding: 16px 18px;
    }
}

/* 5) Extra malé mobily */
@media (max-width: 420px) {
    .hero-v2 .hero-collage {
        grid-auto-rows: 120px;
    }

    .hero-v2 .hero-collage .img.main {
        min-height: 200px;
    }
}

/* =================================
   MOBILE – iné rozloženie koláže
================================= */

@media (max-width: 768px) {

    .hero-v2 .hero-collage {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 120px;
        gap: 14px;
    }

    /* 1. malá hore vľavo */
    .hero-v2 .hero-collage .img.main {
        grid-column: 1 / 2;
        grid-row: 1;
        min-height: 120px;
    }

    /* 2. malá hore vpravo */
    .hero-v2 .hero-collage .img.side.top {
        grid-column: 2 / 3;
        grid-row: 1;
    }

    /* 3. veľká dole cez celú šírku */
    .hero-v2 .hero-collage .img.side.mid {
        grid-column: 1 / -1;
        grid-row: 2;
        min-height: 220px;
    }

    /* ak používaš ešte .side.bot môžeš ho skryť */
    .hero-v2 .hero-collage .img.side.bot {
        display: none;
    }

    /* nech sa obrázky vždy vyplnia */
    .hero-v2 .hero-collage img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

}

/* =========================
   GLOBAL TYPOGRAPHY
========================= */

/* TEXT */
body {
    font-family: 'Lora', serif;
    font-weight: 400;
    line-height: 1.7;
    color: #4A3F35;
}

/* NADPISY */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    letter-spacing: 0.5px;
    color: #3A3028;
}

/* HERO */
.hero-title {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    font-size: clamp(2.4rem, 4vw, 3.5rem);
    line-height: 1.2;
}

/* Subtitle italic */
.hero-subtitle {
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-weight: 500;
}

/* Menu */
.main-navigation a {
    font-family: 'Playfair Display', serif;
    font-weight: 500;
}

@media (max-width: 768px) {

    h1 {
        font-size: 2rem;
    }

    .hero-title {
        font-size: 2rem;
    }

    body {
        font-size: 15px;
    }

}

.custom-logo-link+.site-title,
.site-branding .site-title {
    display: none !important;
}

.custom-logo-link {
    display: inline-block !important;
}

/* ===== FAQ layout ===== */
.faq-section {
    padding: clamp(32px, 6vw, 84px) 0;
    background: var(--bg-color, #f7f3f0);
}

.faq-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: clamp(20px, 4vw, 56px);
    align-items: start;
}

.faq-title {
    font-size: clamp(28px, 3.2vw, 44px);
    line-height: 1.1;
    margin: 0 0 10px;
}

.faq-intro {
    margin: 0 0 28px;
    opacity: .85;
    font-size: 16px;
}

/* ===== Right image card ===== */
.faq-media {
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .08);
}

.faq-media__img {
    width: 100%;
    height: auto;
    display: block;
}

/* ===== Accordion based on <details> ===== */
.faq-accordion details {
    border-top: 1px solid rgba(0, 0, 0, .12);
    padding: 0;
}

.faq-accordion details:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, .12);
}

.faq-accordion summary {
    list-style: none;
    cursor: pointer;
    padding: 22px 54px 22px 0;
    position: relative;
    font-size: 18px;
    line-height: 1.3;
}

.faq-accordion summary::-webkit-details-marker {
    display: none;
}

/* =========================
   FAQ LAYOUT
========================= */
.faq {
    padding: 120px 0;
}

.faq .container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
}

/* Nadpis */
.faq h1 {
    font-family: "Playfair Display", serif;
    font-size: 52px;
    margin-bottom: 60px;
}

/* =========================
   FAQ ACCORDION
========================= */
.faq-accordion details {
    border-top: 1px solid rgba(0, 0, 0, .15);
}

.faq-accordion details:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, .15);
}

.faq-accordion summary {
    list-style: none;
    cursor: pointer;
    padding: 22px 64px 22px 0;
    position: relative;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.35;
}

/* odstráni default šípku */
.faq-accordion summary::-webkit-details-marker {
    display: none;
}

/* PLUS IKONA (stále +, iba rotácia) */
.faq-accordion summary::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
    width: 36px;
    height: 36px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-size: 26px;
    font-weight: 300;
    background: rgba(0, 0, 0, .06);
    transition: transform .25s ease, background .25s ease;
}

/* otvorené = otočí sa (vyzerá ako X), NIKDY nie mínus */
.faq-accordion details[open] summary::after {
    transform: translateY(-50%) rotate(45deg);
    background: rgba(0, 0, 0, .12);
}

/* odpoveď */
.faq-accordion details>*:not(summary) {
    padding: 0 0 22px;
    opacity: .9;
}

.faq-accordion p {
    margin: 0 0 12px;
}

/* =========================
   MOBILE
========================= */
@media (max-width: 900px) {
    .faq .container {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .faq h1 {
        font-size: 38px;
        margin-bottom: 32px;
    }

    .faq-accordion summary {
        font-size: 18px;
        padding-right: 56px;
    }
}

/* plynulý accordion obsah */
.faq-accordion .faq-answer {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 420ms ease, opacity 300ms ease;
    will-change: max-height;
}

/* keď je otvorené, JS nastaví max-height inline (px) */
.faq-accordion details[open] .faq-answer {
    opacity: 1;
}

@media (max-width: 900px) {

    .faq .container {
        display: flex;
        flex-direction: column;
    }

    .faq-right {
        order: 1;
        /* fotka */
    }

    .faq-left {
        order: 2;
        /* text */
    }

}

/* ===== FAQ layout ===== */
.faq {
    padding: 120px 0;
}

.faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
}

.faq-title {
    margin: 0 0 30px;
}

/* horný riadok: nadpis + mobilná fotka */
.faq-top {
    display: block;
}

.faq-top__img {
    display: none;
    /* default: skryté (desktop) */
}

.faq-right .faq-media {
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .08);
}

.faq-right .faq-media img {
    width: 100%;
    height: auto;
    display: block;
}

/* ===== Mobile: fotka pri FAQ ===== */
@media (max-width: 900px) {

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

    /* veľká fotka vpravo sa na mobile skryje */
    .faq-right {
        display: none;
    }

    /* nadpis + mala fotka do jedného riadku */
    .faq-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        margin-bottom: 10px;
    }

    .faq-title {
        margin: 0;
    }

    .faq-top__img {
        display: block;
        width: 86px;
        height: 86px;
        border-radius: 18px;
        overflow: hidden;
        flex: 0 0 auto;
        box-shadow: 0 14px 30px rgba(0, 0, 0, .08);
    }

    .faq-top__img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
}

.blog-card img {
    width: 100%;
    height: auto;
    /* dôležité */
    object-fit: contain;
    /* zobrazí celý obrázok */
}


.logo__text {
    display: none !important;
}

/* FAQ answer – zobraz celý text (zruší všetky "clamp/ellipsis" štýly) */
.faq-accordion .faq-answer,
.faq-accordion .faq-answer p {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;

    display: block !important;
    max-height: none !important;

    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
}