@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cardo:ital,wght@0,400;0,700;1,400&family=GFS+Didot&family=Playfair+Display+SC:ital,wght@0,400;0,700;0,900;1,400;1,700;1,900&display=swap');

/* ========================================================
1. Theme Variables
========================================================= */
:root {
    --bg: #ffffff;
    --panel: #ffffff;
    --button: transparent;
    --button-text: #000000;
    --button-hover-text: #ffffff;
    --text: #000000;
    --muted: #737373;
    --bradius: 0;
    --primary: #111827;
    --primary-hover: #000000;
    --border: #52514f;
    --radius: 18px;
    --shadow: 0 1px 3px rgba(15, 23, 42, .3);
    --font-main: 'Inter', sans-serif;
    --font-header: 'GFS Didot', serif;
    --dropdown: #adadac;
    --link: #000000;
    --accent: rgba(72, 72, 72, 0.45);
    --accent-solid: #484848;
    --accent-text: #000000;
    --lightbox-overlay: rgba(72, 72, 72, 0.92);
    --lightbox-meta: rgba(72, 72, 72, 0.68);
    --accent-dark: #52514f;
    --contrast: #111827;
    --contrast-text: #ffffff;
    --content-text-width: 760px;
    --card: #ffffff;
    --line: #52514f;
}

.site-announcement {
    position: relative;
    z-index: 50;
    width: 100%;
    overflow: hidden;
    background: var(--announcement-background);
    color: var(--announcement-colour);
    font-size: var(--announcement-font-size);
    line-height: 1.4;
}

.site-announcement,
.site-announcement a,
.site-announcement span {
    color: var(--announcement-colour);
}

.site-announcement a {
    font: inherit;
    font-weight: inherit;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

.site-announcement a:hover,
.site-announcement a:focus {
    color: var(--announcement-colour);
    opacity: 0.76;
}

.site-announcement__stationary,
.site-announcement__group {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.15rem;
    padding: 0.72rem 1rem;
}

.site-announcement__stationary {
    flex-wrap: wrap;
}

.site-announcement__stationary .site-announcement__item {
    flex: 0 1 auto;
    max-width: 100%;
}

.site-announcement__item {
    display: inline-flex;
    align-items: center;
    gap: 1.15rem;
    flex: 0 0 auto;
    font: inherit;
    font-weight: 600;
    text-align: center;
}

.site-announcement__item:not(:last-child)::after {
    content: "•";
    opacity: 0.55;
}

.site-announcement__viewport {
    width: 100%;
    overflow: hidden;
}

.site-announcement__track {
    display: flex;
    width: max-content;
    animation: site-announcement-scroll var(--announcement-scroll-duration) linear infinite;
    will-change: transform;
}

.site-announcement__group {
    flex: 0 0 auto;
    justify-content: flex-start;
    min-width: 0;
    padding: 0.72rem 1.15rem 0.72rem 0;
    white-space: nowrap;
}

.site-announcement--scroll .site-announcement__group .site-announcement__item:last-child::after {
    content: "•";
    opacity: 0.55;
}

.site-announcement--scroll:hover .site-announcement__track,
.site-announcement--scroll:focus-within .site-announcement__track {
    animation-play-state: paused;
}

@media (hover: none), (pointer: coarse) {
    .site-announcement--scroll:hover .site-announcement__track,
    .site-announcement--scroll:focus-within .site-announcement__track {
        animation-play-state: running;
    }

    .grecaptcha-badge {
        transition: right .3s ease !important;
    }

    .grecaptcha-badge:focus-within,
    .grecaptcha-badge.is-mobile-expanded {
        right: 0 !important;
    }

    .nune-recaptcha-badge-toggle {
        display: none;
        position: fixed;
        right: 0;
        bottom: 14px;
        z-index: 2147483647;
        width: 70px;
        height: 60px;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        opacity: 0;
        cursor: pointer;
    }

    .nune-recaptcha-badge-toggle.is-ready {
        display: block;
    }
}

.site-announcement__fade {
    display: grid;
    min-height: calc(1.4em + 1.44rem);
    align-items: center;
}

.site-announcement__fade-item {
    grid-area: 1 / 1;
    padding: 0.72rem 1rem;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    text-align: center;
    transition: opacity 0.55s ease, visibility 0.55s ease;
}

.site-announcement__fade-item.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.site-announcement__fade-item .site-announcement__item::after {
    content: none;
}

@keyframes site-announcement-scroll {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(-50%, 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-announcement__track {
        width: 100%;
        animation: none;
    }

    .site-announcement__group {
        width: 100%;
        flex-wrap: wrap;
        justify-content: center;
        white-space: normal;
    }

    .site-announcement__group[aria-hidden="true"] {
        display: none;
    }

    .site-announcement__fade-item {
        transition: none;
    }
}

@media (max-width: 700px) {
    .site-announcement__stationary {
        gap: 0.55rem;
        padding-block: 0.62rem;
    }

    .site-announcement__stationary .site-announcement__item {
        width: 100%;
        justify-content: center;
    }

    .site-announcement__stationary .site-announcement__item::after {
        content: none;
    }
}



.gfs-didot-regular {
    font-family: "GFS Didot", serif;
    font-weight: 400;
    font-style: normal;
}

h2.form {
    text-align: left;
}

.muted {
    color: var(--muted);
}

p {
    font-size: clamp(1.1rem, 1.5vw, 1.2rem);
    text-align: justify;
}

p.excerpt {
    font-size: clamp(1.1rem, 1.5vw, 1.2rem);
    font-style: italic;
}

p.footer {
    font-family: var(--font-main);
    font-size: clamp(.9rem, .9vw, 1rem);
    font-style: italic;
    font-weight: 400;
    text-align: center;
}

p.footer a {
    font-family: var(--font-main);
}

a {
    color: var(--text);
    font-style: italic;
}

a:link,
a:visited,
a:active {
    color: var(--text);
    text-decoration: none;
}

a:hover {
    color: var(--text);
    text-decoration: underline;
}

.product-full-description,
.product-excerpt,
.page-excerpt,
.post-excerpt,
.post-content,
.page-content,
.intro_text,
.vision_text {
    font-family: var(--font-main);
    font-size: 0.95rem;
    line-height: 1.8;
    color: var(--text);
    max-width: 100%;
    margin: 0 auto;
    text-align: justify;
}

.product-full-description > p,
.product-excerpt > p,
.page-excerpt > p,
.post-excerpt > p,
.post-content > p,
.page-content > p,
.intro_text > p,
.vision_text > p {
    font-family: var(--font-main);
    font-size: 0.95rem;
    line-height: 1.8;
    color: var(--text);
    max-width: var(--content-text-width, 760px);
    margin: 0 auto;
    text-align: justify;
}

.product-excerpt,
.page-excerpt,
.post-excerpt {
    font-family: var(--font-header);
    font-size: clamp(1.05rem, 1.6vw, 1.25rem);
    line-height: 1.2;
    font-style: italic;
    color: var(--accent-dark);
}

.full-width-leading-excerpt--after-media {
    margin-top: clamp(1.5rem, 4vw, 3rem);
}

.page-grid--full-width > .content-primary-panel,
.page-grid--full-width > .content-primary-panel > .responsive-primary-media,
.page-grid--full-width > .content-primary-panel > .responsive-main-content,
.page-grid--full-width .product-full-description,
.page-grid--full-width .post-content,
.page-grid--full-width .page-content,
.page-grid--full-width .product-excerpt,
.page-grid--full-width .post-excerpt,
.page-grid--full-width .page-excerpt {
    width: 100%;
    max-width: none;
}

.page-grid--full-width .product-full-description > p,
.page-grid--full-width .post-content > p,
.page-grid--full-width .page-content > p,
.page-grid--full-width .product-excerpt > p,
.page-grid--full-width .post-excerpt > p,
.page-grid--full-width .page-excerpt > p {
    width: 100%;
    max-width: none;
}

.product-excerpt > p,
.page-excerpt > p,
.post-excerpt > p {
    font-family: var(--font-header);
    font-size: clamp(1.05rem, 1.6vw, 1.25rem);
    line-height: 1.7;
    font-style: italic;
    color: var(--accent-dark);
}

.product-full-description p,
.product-excerpt p,
.page-excerpt p,
.post-excerpt p,
.post-content p,
.page-content p {
    margin: 0 0 1.2rem;
}

.product-full-description h2,
.product-full-description h3,
.post-content h2,
.post-content h3,
.page-content h2,
.page-content h3 {
    font-family: var(--font-header);
    font-weight: 400;
    font-style: italic;
    text-align: center;
    margin: 2rem 0 1rem;
    padding: 0;
}

.product-full-description a,
.product-excerpt a,
.post-excerpt a,
.post-content a,
.page-content a {
    color: var(--link);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.product-full-description a:hover,
.product-excerpt a:hover,
.post-excerpt a:hover,
.post-content a:hover,
.page-content a:hover {
    color: var(--text);
}

.product-full-description ul,
.product-full-description ol,
.post-content ul,
.post-content ol,
.page-content ul,
.page-content ol {
    margin: 0 0 1.4rem 1.5rem;
    padding: 0;
}

.product-full-description li,
.post-content li,
.page-content li {
    margin-bottom: 0.45rem;
}

.product-full-description blockquote,
.post-content blockquote,
.page-content blockquote {
    margin: 1.8rem auto;
    padding: 0.4rem 1.2rem;
    border-left: 1px solid var(--border);
    font-family: var(--font-header);
    font-style: italic;
    color: var(--accent);
}

.product-full-description img,
.post-content img,
.page-content img {
    box-sizing: border-box;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    display: block;
    margin: 1.5rem auto;
}

.product-full-description,
.post-content,
.page-content,
.page-grid > .panel {
    min-width: 0;
}

.product-full-description a,
.post-content a,
.page-content a {
    max-width: 100%;
}

/* ========================================================
2. Base / Reset
========================================================= */
* {
    box-sizing: border-box;
}

body,
input,
button,
select,
textarea,
table {
    color: var(--text);
    font-family: var(--font-main);
}

body {
    min-height: 100vh;
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-size: 16px;
}

section {
    max-width: 100%;
    margin: 0 auto;
    padding: 1em;
}

.page-container {
    position: relative;
    max-width: 100%;
    min-height: 50vh;
    margin: 0 auto;
    padding: 2rem 5rem;
}

.client-not-found {
    display: grid;
    min-height: 60vh;
    place-items: center;
    text-align: center;
}

.client-not-found__content {
    width: min(100%, 680px);
    padding: clamp(2rem, 7vw, 5rem) 1rem;
}

.client-not-found__code {
    margin: 0 0 .5rem;
    color: var(--muted);
    font-size: clamp(3rem, 10vw, 7rem);
    font-weight: 700;
    line-height: .9;
}

.client-not-found h1 {
    margin: 0 0 1rem;
    text-align: center;
}

.client-not-found__content > p:not(.client-not-found__code) {
    margin: 0 auto 1.5rem;
}

.client-not-found__button {
    margin-top: 0;
}

.content {

  display: flex;
  justify-content: center;
  flex-direction: row;
  width: 80%;
  max-width: 1200px;
  margin: 0 auto;
  position: static; /* remove z-index unless needed */

}



.breadcrumb,
.breadcrumb a {
    color: #6b7280;
    font-size:clamp(.9rem, 1vw, 1rem);
text-align:center;
    text-decoration: none;
}

.cart-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    background: transparent;
    color: var(--text);
    padding: 10px 16px;
    text-decoration: none;
    font-weight: 700;
}

.cart-icon {
    display: block;
}

.cart-count {
    position: absolute;
    top: 2px;
    right: 6px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #000;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

.cart-count[hidden] {
    display: none;
}

.page-grid {
    display: grid;
    grid-template-columns: minmax(320px, 1.25fr) minmax(0, .75fr);
    gap: 28px;
    align-items: start;
}

.cms-frontend-toolbar {
    position: relative;
    z-index: 1000;
    --cms-admin-bg: #ffffff;
    --cms-admin-text: #000000;
    --cms-admin-border: #52514f;
    --cms-admin-hover: #eef2f7;
    --cms-admin-shadow: 0 8px 20px rgba(15, 23, 42, .12);
    background: var(--cms-admin-bg);
    color: var(--cms-admin-text);
    border-bottom: 1px solid var(--cms-admin-border);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 14px;
}

.cms-frontend-toolbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 62px;
    padding: 15px 25px;
    box-sizing: border-box;
}

.cms-frontend-toolbar__mobile-actions {
    display: none;
}

.cms-frontend-toolbar__mobile-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid var(--cms-admin-border);
    border-radius: 4px;
    background: transparent;
    color: var(--cms-admin-text);
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
}

.cms-frontend-toolbar__mobile-button:hover,
.cms-frontend-toolbar__mobile-button:focus-visible {
    background: var(--cms-admin-hover);
    color: var(--cms-admin-text);
}

.cms-frontend-toolbar__mobile-button.is-disabled {
    cursor: not-allowed;
    opacity: .45;
}

.cms-frontend-toolbar__desktop-edit {
    flex: 0 0 auto;
}

.cms-frontend-toolbar .nav {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    min-width: 0;
    background: var(--cms-admin-bg);
}

.cms-frontend-toolbar .top-menu {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin: 0;
}

.cms-frontend-toolbar .menu-item {
    position: relative;
}

.cms-frontend-toolbar .top-menu a {
    display: block;
    padding: 10px 14px;
    color: var(--cms-admin-text);
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.cms-frontend-toolbar .top-menu a:hover,
.cms-frontend-toolbar .top-menu a:focus-visible {
    background: var(--cms-admin-hover);
    color: var(--cms-admin-text);
    text-decoration: underline;
}

.cms-frontend-toolbar .menu-item.has-dropdown > a::after {
    content: "▾";
    margin-left: 8px;
    font-size: 10px;
    opacity: .7;
}

.cms-frontend-toolbar .dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 2000;
    min-width: 220px;
    padding: 8px 0;
    background: var(--cms-admin-bg);
    border: 1px solid var(--cms-admin-border);
    box-shadow: var(--cms-admin-shadow);
}

.cms-frontend-toolbar .dropdown a {
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 400;
    text-transform: none;
}

.cms-frontend-toolbar .menu-toggle {
    display: none;
}

@media (min-width: 841px) {
    .cms-frontend-toolbar .menu-item:hover > .dropdown,
    .cms-frontend-toolbar .menu-item:focus-within > .dropdown {
        display: block;
    }
}

@media (max-width: 840px) {
    .cms-frontend-toolbar {
        padding: 0;
    }

    .cms-frontend-toolbar__inner {
        display: block;
        width: 100%;
        min-height: 52px;
        padding: 10px 18px;
    }

    .cms-frontend-toolbar__mobile-actions {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        width: 100%;
    }

    .cms-frontend-toolbar__desktop-edit {
        display: none;
    }

    .cms-frontend-toolbar .nav {
        display: none;
    }

    .cms-frontend-toolbar .menu-toggle {
        display: inline-flex;
        padding: 8px 10px;
        border: 1px solid var(--cms-admin-border);
        border-radius: 4px;
        background: transparent;
        color: var(--cms-admin-text);
        cursor: pointer;
        text-transform: uppercase;
    }

    .cms-frontend-toolbar .top-menu {
        display: none;
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        z-index: 2000;
        flex-direction: column;
        align-items: stretch;
        width: min(320px, calc(100vw - 24px));
        padding: 8px;
        background: var(--cms-admin-bg);
        border: 1px solid var(--cms-admin-border);
        box-shadow: var(--cms-admin-shadow);
    }

    .cms-frontend-toolbar .top-menu.open {
        display: flex;
    }

    .cms-frontend-toolbar .menu-item,
    .cms-frontend-toolbar .menu-item > a {
        width: 100%;
    }

    .cms-frontend-toolbar .menu-item.open > .dropdown {
        display: block;
        position: static;
        box-shadow: none;
    }
}

.page-grid--full-width {
    grid-template-columns: minmax(0, 1fr);
}

.booking-cancellation-page {
    min-height: 60vh;
}

.booking-cancellation-panel {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    min-height: 360px;
    width: 100%;
}

.booking-cancellation-content {
    width: min(100%, 760px);
}

.booking-cancellation-status {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin: 0 0 1rem;
    font-size: .9rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.booking-cancellation-status__symbol {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 1rem;
    line-height: 1;
}

.booking-cancellation-panel--success .booking-cancellation-status {
    color: #27734d;
}

.booking-cancellation-panel--error .booking-cancellation-status {
    color: #a12b2b;
}

.booking-cancellation-panel h1 {
    margin-top: 0;
}

.booking-cancellation-message {
    max-width: 68ch;
    font-size: 1.1rem;
    line-height: 1.7;
}

.booking-cancellation-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.75rem;
}

.page-grid--shortcode-gallery {
    grid-template-columns: 1fr;
}

.page-grid--shortcode-gallery > .panel {
    padding-left: 0;
    padding-right: 0;
}

.page-grid--shortcode-gallery .page-content {
    margin-left: auto;
    margin-right: auto;
}

.custom-footer-layout {
    display: grid;
    grid-template-columns: var(--custom-footer-template, repeat(var(--custom-footer-columns, 1), minmax(0, 1fr)));
    gap: clamp(20px, 3vw, 44px);
    padding: clamp(12px, 4vw, 26px) 0;
    text-align: left;
}

.custom-footer-column {
    min-width: 0;
    container-name: nune-footer-column;
    container-type: inline-size;
    overflow-wrap: anywhere;
}

.custom-footer-layout[data-footer-columns="1"] {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    text-align: center;
}

.custom-footer-layout[data-footer-columns="1"] .custom-footer-column,
.custom-footer-layout[data-footer-columns="1"] .custom-footer-block {
    width: 100%;
}

.custom-footer-layout[data-footer-columns="1"] :is(h1, h2, h3, h4, h5, h6, p) {
    text-align: center;
}

.custom-footer-layout[data-footer-columns="1"] :is(ul, ol) {
    display: inline-block;
    text-align: left;
}

.custom-footer-layout[data-footer-columns="1"] form {
    text-align: left;
}

.custom-footer-block + .custom-footer-block {
    margin-top: 18px;
}

.custom-footer-block > :first-child {
    margin-top: 0;
}

.custom-footer-block > :last-child {
    margin-bottom: 0;
}

.custom-footer-block--image img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
}

.custom-footer-block--image > a {
    display: block;
}

/* Shared components use a compact, footer-aware presentation here. */
.custom-footer-column :is(
    .shortcode-card--default,
    .shortcode-card--outline,
    .shortcode-card--accent,
    .shortcode-card--contrast,
    .shortcode-panel--default,
    .shortcode-panel--outline,
    .shortcode-panel--accent,
    .shortcode-panel--contrast,
    .feature-item
) {
    border-radius: var(--shortcode-default-border-radius, var(--bradius, 0));
    overflow: hidden;
}

.custom-footer-column .shortcode-container {
    max-width: none;
    padding-inline: 0;
}

.custom-footer-column .shortcode-section {
    padding-block: 0;
}

.custom-footer-column .shortcode-stack {
    gap: .75rem;
}

.custom-footer-column :is(.shortcode-accordion, .shortcode-tabs) {
    margin-block: .5rem;
}

.custom-footer-column :is(.shortcode-accordion--contrast, .shortcode-tabs--contrast) {
    padding: .65rem;
}

.custom-footer-column .shortcode-accordion {
    gap: .2rem;
}

.custom-footer-column .shortcode-accordion-item summary {
    gap: .5rem;
    padding: .5rem .65rem;
    font-size: .9rem;
    line-height: 1.25;
}

.custom-footer-column .shortcode-accordion-item__content {
    padding: 0 .65rem .6rem;
}

.custom-footer-column .shortcode-tabs__list {
    gap: .1rem;
}

.custom-footer-column .shortcode-tabs__button {
    padding: .45rem .6rem;
    font-size: .875rem;
    line-height: 1.2;
}

.custom-footer-column .shortcode-tab {
    padding: .6rem 0;
}

.custom-footer-column .shortcode-padding-large {
    padding: 1rem;
}

.custom-footer-column .shortcode-heading--display {
    letter-spacing: normal;
}

.custom-footer-column .lead {
    margin-bottom: .8rem;
}

.custom-footer-column blockquote {
    margin: .75rem 0;
    padding: .8rem 1rem;
}

.custom-footer-column .shortcode-image,
.custom-footer-column .shortcode-video,
.custom-footer-column .shortcode-embed,
.custom-footer-column .shortcode-button-wrap {
    margin-block: .75rem;
}

.custom-footer-column .site-logo img {
    width: 100%;
    max-width: 100%;
}

.custom-footer-layout .custom-footer-column .social-links {
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: .45rem .75rem;
    max-width: 100%;
    overflow: visible;
}

.custom-footer-layout .custom-footer-column .social-links > li {
    flex: 0 0 auto;
}

.custom-footer-layout[data-footer-columns="1"] .custom-footer-column .social-links {
    justify-content: safe center;
}

.custom-footer-column .business-info {
    gap: .35rem;
}

.custom-footer-column .business-info__row {
    grid-template-columns: minmax(78px, .32fr) minmax(0, 1fr);
}

.custom-footer-column .business-info__label,
.custom-footer-column .business-info__value {
    padding-block: .12rem;
}

.custom-footer-column .business-info__label {
    padding-right: .65rem;
    font-weight:bold;
}

.custom-footer-column .business-info__value {
    padding-left: .65rem;
}

.custom-footer-column .business-info__hours th,
.custom-footer-column .business-info__hours td {
    padding-block: .1rem;
}

.custom-footer-column .shortcode-menu {
    margin-block: 0;
}

.custom-footer-column .shortcode-menu > .cms-menu {
    display: grid;
    gap: .4rem;
}

.custom-footer-column .shortcode-menu .cms-submenu {
    gap: .2rem;
    padding-left: .75rem;
}

.custom-footer-column .shortcode-menu__title {
    margin-bottom: .5rem;
}

.custom-footer-column :is(
    .shortcode-booking-form,
    .shortcode-contact-form,
    .shortcode-newsletter-form
) {
    margin: 0;
    max-width: none;
}

.custom-footer-column :is(
    .shortcode-booking-form,
    .shortcode-contact-form,
    .shortcode-newsletter-form
) > h2 {
    margin: 0 0 .4rem;
    font-size: clamp(1rem, 1.4vw, 1.2rem);
    line-height: 1.25;
}

.intro {
	margin:1em 0em;
}

.custom-footer-column :is(.shortcode-booking-form, .shortcode-contact-form) > .intro {
    margin: 0 0 .55rem;
    font-size: .875rem;
    line-height: 1.45;
}

.custom-footer-column :is(.shortcode-booking-form, .shortcode-newsletter-form) > p {
    margin: 0 0 .45rem;
    font-size: .85rem;
    line-height: 1.4;
}

.custom-footer-column .shortcode-booking-form > .intro p {
    margin: 0;
}

.custom-footer-column .booking-shortcode-form,
.custom-footer-column .contact-shortcode-form,
.custom-footer-column .newsletter-shortcode-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
    margin: .55rem 0 0;
}

.custom-footer-column .newsletter-shortcode-form {
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) auto;
    align-items: end;
}

.custom-footer-column .booking-shortcode-form > div > label,
.custom-footer-column .contact-shortcode-form > div > .contact-form > label:first-child,
.custom-footer-column .newsletter-shortcode-form label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.custom-footer-column :is(
    .booking-shortcode-form,
    .contact-shortcode-form,
    .newsletter-shortcode-form
) :is(input, textarea)::placeholder {
    color: var(--muted);
    opacity: 1;
}

.custom-footer-column .contact-shortcode-form > div:nth-of-type(n + 3),
.custom-footer-column .contact-shortcode-form > .checkbox,
.custom-footer-column .booking-shortcode-form > p {
    grid-column: 1 / -1;
}

.custom-footer-column .booking-shortcode-form > div,
.custom-footer-column .contact-shortcode-form > div,
.custom-footer-column .newsletter-shortcode-form > div,
.custom-footer-column .contact-shortcode-form .contact-form {
    margin: 0;
}

.custom-footer-column .booking-shortcode-form > div,
.custom-footer-column .newsletter-shortcode-form > div,
.custom-footer-column .contact-shortcode-form .contact-form {
    display: grid;
    gap: .2rem;
}

.custom-footer-column :is(
    .booking-shortcode-form,
    .contact-shortcode-form,
    .newsletter-shortcode-form
) label {
    font-size: .825rem;
    line-height: 1.35;
}

.custom-footer-column .booking-shortcode-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.custom-footer-column .booking-shortcode-form select,
.custom-footer-column .booking-shortcode-form textarea,
.custom-footer-column .contact-shortcode-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.custom-footer-column .contact-shortcode-form select,
.custom-footer-column .contact-shortcode-form textarea,
.custom-footer-column .newsletter-shortcode-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.custom-footer-column .newsletter-shortcode-form select,
.custom-footer-column .newsletter-shortcode-form textarea {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: .5rem .65rem;
    font-size: .875rem;
    line-height: 1.35;
}

.custom-footer-column :is(
    .booking-shortcode-form,
    .contact-shortcode-form,
    .newsletter-shortcode-form
) textarea {
    min-height: 76px;
    resize: vertical;
}

.custom-footer-column .contact-shortcode-form .checkbox {
    font-size: .8rem;
    line-height: 1.35;
}

.custom-footer-column .contact-shortcode-form .checkbox label {
    display: flex;
    align-items: flex-start;
    gap: .4rem;
}

.custom-footer-column .contact-shortcode-form .checkbox input {
    flex: 0 0 auto;
    margin-top: .15em;
}

.custom-footer-column :is(
    .booking-shortcode-form,
    .contact-shortcode-form,
    .newsletter-shortcode-form
) button[type="submit"] {
    width: auto;
    justify-self: start;
    margin: .1rem 0 0;
    padding: .5rem .8rem;
    font-size: .85rem;
}

.custom-footer-column .newsletter-shortcode-form button[type="submit"] {
    align-self: stretch;
    margin: 0;
    white-space: nowrap;
}

.custom-footer-column .booking-shortcode-form button[type="submit"] {
    align-self: end;
    width: 100%;
}

.custom-footer-column :is(
    .shortcode-booking-form,
    .shortcode-contact-form,
    .shortcode-newsletter-form
) :is(
    .booking-success,
    .booking-waiting,
    .booking-error,
    .booking-response,
    .contact-success,
    .contact-error,
    .contact-response,
    .newsletter-success,
    .newsletter-error
) {
    margin-top: .55rem;
    font-size: .85rem;
    line-height: 1.4;
}

.custom-footer-column :is(
    .shortcode-booking-form,
    .shortcode-contact-form,
    .shortcode-newsletter-form
) :is(
    .booking-success,
    .booking-waiting,
    .booking-error,
    .contact-success,
    .contact-error,
    .newsletter-success,
    .newsletter-error
) :is(h3, p) {
    margin: 0;
}

.custom-footer-column :is(
    .shortcode-booking-form,
    .shortcode-contact-form,
    .shortcode-newsletter-form
) :is(
    .booking-success,
    .booking-waiting,
    .booking-error,
    .contact-success,
    .contact-error,
    .newsletter-success,
    .newsletter-error
) h3 {
    margin-bottom: .2rem;
    font-size: 1rem;
}

.custom-footer-column .shortcode-page-categories-grid,
.custom-footer-column .shortcode-post-categories-grid,
.custom-footer-column .shortcode-product-categories-grid,
.custom-footer-column .shortcode-split {
    grid-template-columns: minmax(0, 1fr) !important;
}

.custom-footer-column .shortcode-grid {
    margin-block: .5rem;
}

.custom-footer-column .shortcode-grid.shortcode-gap-default,
.custom-footer-column .shortcode-grid.shortcode-gap-medium {
    gap: .75rem;
}

.custom-footer-column .shortcode-grid.shortcode-gap-small {
    gap: .5rem;
}

.custom-footer-column .shortcode-grid.shortcode-gap-large {
    gap: 1rem;
}

.custom-footer-column .shortcode-media-card-grid {
    grid-template-columns: repeat(auto-fit, minmax(140px, 180px)) !important;
    justify-content: start;
    gap: .55rem;
    margin: .65rem 0;
}

.custom-footer-column .shortcode-media-card {
    width: 100%;
    max-width: 180px;
    aspect-ratio: 1;
    min-width: 0;
}

.custom-footer-column .card .shortcode-media-card__link {
    display: block;
    height: 100%;
    margin: 0;
    padding: 0;
}

.custom-footer-column .shortcode-media-card__image-wrap,
.custom-footer-column .shortcode-media-card__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    aspect-ratio: 1;
    border-radius: var(--shortcode-default-border-radius, var(--bradius, 0));
    overflow: hidden;
}

.custom-footer-column .card .shortcode-media-card__image {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    aspect-ratio: 1;
    object-fit: cover;
}

.custom-footer-column .shortcode-media-card__body {
    gap: .3rem;
    min-width: 0;
    padding: .75rem;
    text-align: center;
    background: var(--accent, rgba(0, 0, 0, .62));
}

.custom-footer-column .shortcode-media-card__title {
    font-size: .9rem;
    line-height: 1.25;
}

.custom-footer-column :is(.shortcode-media-card__description, .shortcode-media-card__price) {
    margin: 0;
    font-size: .78rem;
    line-height: 1.35;
}

.custom-footer-column .shortcode-media-card__description {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.custom-footer-layout[data-footer-columns="1"] .custom-footer-column .shortcode-media-card-grid {
    justify-content: center;
}

.custom-footer-column .cms-gallery,
.custom-footer-column .cms-shortcode-gallery {
    width: 100%;
    max-width: 100%;
    grid-template-columns: repeat(auto-fit, 88px) !important;
    grid-auto-rows: auto;
    justify-content: center;
    justify-items: center;
    align-content: start;
    gap: 6px;
    margin: .75rem 0;
}

.custom-footer-column .cms-shortcode-gallery .mosaic-item,
.custom-footer-column .cms-shortcode-gallery .mosaic-item.large,
.custom-footer-column .cms-shortcode-gallery .mosaic-item.tall,
.custom-footer-column .cms-shortcode-gallery .mosaic-item.wide,
.custom-footer-column .cms-gallery__figure,
.custom-footer-column .cms-gallery__figure:nth-child(1),
.custom-footer-column .cms-gallery__figure:nth-child(2),
.custom-footer-column .cms-gallery__figure:nth-child(5),
.custom-footer-column .cms-gallery__figure:nth-child(7),
.custom-footer-column .cms-gallery__figure:nth-child(9) {
    grid-column: span 1;
    grid-row: span 1;
    width: 88px;
    height: 88px;
    aspect-ratio: 1;
}

.custom-footer-column .cms-shortcode-gallery__figure[hidden] {
    display: none !important;
}

@media (max-width: 600px) {
    .custom-footer-column .cms-shortcode-gallery.cms-footer-gallery--mobile-three {
        grid-template-columns: repeat(3, minmax(0, 88px)) !important;
    }

    .custom-footer-column .cms-shortcode-gallery.cms-footer-gallery--mobile-three .cms-shortcode-gallery__figure {
        width: 100%;
        height: auto;
        aspect-ratio: 1;
    }
}

body .custom-footer-layout .custom-footer-column .cms-shortcode-gallery.cms-footer-gallery--fitted {
    grid-template-columns: repeat(var(--cms-footer-gallery-columns), 88px) !important;
}

.custom-footer-layout[data-footer-columns="1"] .custom-footer-column .cms-gallery,
.custom-footer-layout[data-footer-columns="1"] .custom-footer-column .cms-shortcode-gallery {
    width: 100% !important;
    max-width: 100%;
    grid-template-columns: repeat(auto-fit, 88px) !important;
    margin-right: auto;
    margin-left: auto;
    justify-content: center;
}

.custom-footer-column .cms-gallery__item img,
.custom-footer-column .cms-shortcode-gallery__link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.custom-footer-column .cms-shortcode-gallery__meta {
    padding: 6px;
    font-size: .72rem;
}

.custom-footer-column .shortcode-column {
    grid-column: auto !important;
    margin: 0;
}

.custom-footer-column .shortcode-column--contrast {
    padding: .75rem;
}

.custom-footer-column .shortcode-page-embed:not(.shortcode-media-card),
.custom-footer-column .shortcode-post-card:not(.shortcode-media-card),
.custom-footer-column .shortcode-product-card:not(.shortcode-media-card) {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: center;
    gap: 0;
    margin: .65rem 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: var(--shortcode-default-border-radius, var(--bradius, 0));
    box-shadow: none;
}

.custom-footer-column .shortcode-page-embed:has(> .shortcode-page-embed__image-link),
.custom-footer-column .shortcode-post-card:not(.shortcode-media-card):has(> .shortcode-post-card__image-link),
.custom-footer-column .shortcode-product-card:not(.shortcode-media-card):has(> .shortcode-product-card__image-link) {
    grid-template-columns: 76px minmax(0, 1fr) !important;
}

.custom-footer-column :is(
    .shortcode-page-embed__image-link,
    .shortcode-post-card__image-link,
    .shortcode-product-card__image-link
) {
    width: 76px;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: var(--shortcode-default-border-radius, var(--bradius, 0));
}

.custom-footer-column .card :is(
    .shortcode-page-embed__image,
    .shortcode-post-card__image,
    .shortcode-product-card__image
) {
    width: 100%;
    height: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}

.custom-footer-column :is(
    .shortcode-page-embed__content,
    .shortcode-post-card__content,
    .shortcode-product-card__content
) {
    min-width: 0;
    padding: .6rem;
    text-align: left;
}

.custom-footer-column :is(
    .shortcode-page-embed__content h2,
    .shortcode-post-card__content h3,
    .shortcode-product-card__content h3
) {
    margin: 0 0 .22rem;
    font-size: .9rem;
    line-height: 1.25;
}

.custom-footer-column :is(
    .shortcode-page-embed__body,
    .shortcode-post-card__content,
    .shortcode-product-card__content
) p {
    display: -webkit-box;
    overflow: hidden;
    margin: .2rem 0 0;
    font-size: .78rem;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.custom-footer-column :is(
    .shortcode-post-card__badge,
    .shortcode-product-card__badge,
    .shortcode-post-card__button,
    .shortcode-product-card__button
) {
    display: none;
}

.custom-footer-layout[data-footer-columns="1"] .custom-footer-column :is(
    .shortcode-page-embed__content,
    .shortcode-post-card__content,
    .shortcode-product-card__content,
    .shortcode-page-embed__content h2,
    .shortcode-post-card__content h3,
    .shortcode-product-card__content h3,
    .shortcode-page-embed__body p,
    .shortcode-post-card__content p,
    .shortcode-product-card__content p
) {
    text-align: left;
}

.custom-footer-column .shortcode-page-category-detail__hero,
.custom-footer-column .shortcode-post-category,
.custom-footer-column .shortcode-product-category {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1rem;
    margin: .75rem 0;
    padding: 1rem;
}

@container nune-footer-column (max-width: 360px) {
    .shortcode-button {
        max-width: 100%;
    }

    .social-links {
        align-items: center;
        flex-direction: row;
        flex-wrap: wrap;
    }
}

@media (max-width: 900px) {
    .custom-footer-layout:not([data-footer-columns="1"]) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(18px, 4vw, 32px);
    }

    .custom-footer-layout:not([data-footer-columns="1"]) :is(
        .custom-footer-column--large,
        .custom-footer-column--small-orphan
    ) {
        grid-column: 1 / -1;
    }

    .custom-footer-layout .custom-footer-column,
    .custom-footer-layout .custom-footer-block,
    .custom-footer-layout .custom-footer-column :is(h1, h2, h3, h4, h5, h6, p, figcaption) {
        text-align: center;
    }

    .custom-footer-layout .custom-footer-column .social-links,
    .custom-footer-layout .custom-footer-column .shortcode-menu--horizontal > .cms-menu {
        justify-content: center;
    }

    .custom-footer-layout .custom-footer-column .shortcode-menu--horizontal > .cms-menu {
        justify-items: center;
    }

    .custom-footer-layout .custom-footer-column .shortcode-menu--horizontal {
        text-align: center;
    }

    .custom-footer-layout .custom-footer-column .shortcode-button-wrap {
        text-align: center;
    }

    .custom-footer-layout .custom-footer-column :is(.cms-gallery, .cms-shortcode-gallery) {
        grid-template-columns:repeat(auto-fit, 88px) !important;
        justify-content:center;
        justify-items:center;
    }

    .custom-footer-layout .custom-footer-column :is(
        .cms-gallery__figure,
        .cms-shortcode-gallery__figure
    ) {
        width:88px;
        height:88px;
    }

    .custom-footer-layout .custom-footer-column :is(
        .site-logo,
        .shortcode-image,
        .shortcode-video,
        .shortcode-embed,
        .business-info,
        .shortcode-booking-form,
        .shortcode-contact-form,
        .shortcode-newsletter-form
    ) {
        margin-inline: auto;
    }

    .custom-footer-layout .custom-footer-column :is(form, label, input, select, textarea),
    .custom-footer-layout .custom-footer-column .business-info :is(th, td, address, p) {
        text-align: left;
    }
}

@media (max-width: 600px) {
    div.footer {
        margin:1em 0;
    }

    .custom-footer-layout {
        gap:14px 12px;
        padding-block:10px;
    }

    .custom-footer-layout .custom-footer-block + .custom-footer-block {
        margin-top:12px;
    }

    .custom-footer-layout .custom-footer-column .shortcode-stack {
        gap:.55rem;
    }

    .custom-footer-layout .custom-footer-column :is(
        .shortcode-image,
        .shortcode-video,
        .shortcode-embed,
        .shortcode-button-wrap
    ) {
        margin-block:.5rem;
    }

    .custom-footer-layout .custom-footer-column .shortcode-menu__title {
        margin-bottom:.3rem;
    }

    .custom-footer-layout .custom-footer-column .shortcode-menu > .cms-menu {
        gap:.28rem;
    }

    .custom-footer-layout .custom-footer-column .social-links {
        gap:.35rem .6rem;
    }
}

@media (max-width: 320px) {
    .custom-footer-layout {
        grid-template-columns: 1fr;
    }

    .custom-footer-layout .custom-footer-column {
        grid-column: auto;
    }
}

.panel {
    background: #fff;

    padding: 22px;

    width:100%;
}

.main-image {
    width: 100%;
    height:560px;
    object-fit: cover;
    border-radius: var(--shortcode-default-border-radius, var(--bradius, 0));
    background: #fff;
}

.gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.gallery img {
    width: 100%;
    height: 100px;
    object-fit: cover;
    border-radius: var(--shortcode-default-border-radius, var(--bradius, 0));
    background: #f3f4f6;
    cursor: pointer;
    border: 1px solid transparent;
}

.main-media-frame {
    width: 100%;
    border-radius: var(--shortcode-default-border-radius, var(--bradius, 0));
    overflow: hidden;
    cursor: zoom-in;
    touch-action: pan-y;
}

.main-media-frame > .main-image {
    display: block;
    width: 100%;
    border-radius: inherit;
}

.gallery .gallery-media-thumb {
    appearance: none;
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    width: 100%;
    height: 100px;
    overflow: hidden;
    margin: 0px;
}

.gallery .gallery-media-thumb img,
.gallery .gallery-media-thumb video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery img:hover {
    border-color: #111827;
}
.page-content {
    line-height: 1.7;
    color: #374151;
    margin:  0 0;

}

.page-content img {
    max-width: 100%;
    height: auto;
    border-radius: 14px;
}

.secondary-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 12px;
    background: #4b5563;
    color: #fff;
    padding: 12px 16px;
    text-decoration: none;
    font-weight: 700;

}

.page-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 22px;
}

input,
textarea,
select {
    width: 100%;
    padding: 1rem;
    border: 1px solid transparent;
    border-bottom: 1px solid var(--line);
    background: var(--bg);
    font-family: var(--font-main);
    color: var(--text);
     margin:1em 0em;
     font-size:1rem;
}

input::placeholder,
textarea::placeholder {
    color: var(--muted);
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: var(--line);
    border-bottom-color: var(--text);
    background: var(--bg);
}

label {
    font-family: var(--font-header);
    font-style: italic;
    font-size: 1.2rem;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    text-align:left;


}
.cart-thumb {
    width: 70px;
    height: 70px;
    object-fit: cover;
    display: block;
    margin-bottom: .5rem;
}
.cart-product-image-link {
    display: block;
    width: fit-content;
    max-width: 100%;
}
.cart-product-title-link {
    color: inherit;
    text-decoration: none;
}
.cart-product-title-link:hover,
.cart-product-title-link:focus-visible {
    text-decoration: underline;
}
.checkout-thumb {
    width: 70px;
    height: 70px;
    object-fit: cover;
    display: block;
    margin-bottom: .5rem;
}

  .button.checkout {
            background: transparent;
    color: var(--text);
    border: 1px solid var(--border);
    font-size:1rem;
    margin:1rem 0;
    padding:0.5rem;
    text-align: center;
        }

button {
    background: transparent;
    color: var(--text);
    border: 1px solid var(--border);
    font-size:1rem;
    margin:1rem 0;
    padding:0.5rem;
}

button:hover {
    background: var(--text);
    color: #fff;
}

.button.checkout:hover {
    background: var(--text);
    color: #fff;
    text-decoration: none;
}


.checkbox {
    margin-top: 1.5rem;
}

.checkbox label {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.95rem;
    color: var(--text);
    cursor: pointer;
}

.checkbox input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin: 0;
    accent-color: #111827;
    cursor: pointer;
}



.header {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 2rem;
    padding: 15px 25px;
    background: var(--bg);
    position: relative;
    z-index: 100;
}

.header--no-menu {
    grid-template-columns: 1fr auto;
}

.header-logo {
    justify-self: start;
    min-width: 0;
    max-width: min(260px, 32vw);
}

.header-nav {
    justify-self: center;
}

.header-cart {
    justify-self: end;
}

.header--no-menu .header-cart {
    grid-column: 2;
}

.header-logo a {
    font-family: var(--font-header);
    font-size: 1.6rem;
    font-style: italic;
    color: var(--text);
    text-decoration: none;
}

.header-nav {
    display: flex;
    justify-content: center;
}

.header-cart {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
}

.menu-search {
    margin: 0;
}

.menu-search input[type="search"] {
    width: min(220px, 24vw);
    margin: 0;
    padding: .65rem .8rem;
    border: 1px solid var(--line);
    border-radius: var(--bradius);
}

.menu-search input[type="search"]:focus {
    border-color: var(--text);
}
.header-logo img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 90px;
    object-fit: contain;
}

/*
 * Keep the brand visible while the centred navigation and right-hand tools
 * compete for space. The extra selector specificity intentionally wins over
 * older duplicated header rules in the shortcode stylesheet.
 */
body .header:not(.header--no-menu) {
    grid-template-columns: minmax(120px, 1fr) auto minmax(120px, 1fr);
}

.header > .header-logo {
    width: min(100%, 260px);
    min-width: 120px;
    max-width: 100%;
}

.header > .header-logo > a {
    display: flex;
    min-width: 0;
    align-items: center;
}

.header > .header-logo .site-logo {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 90px;
    object-fit: contain;
    object-position: left center;
}

@media (min-width: 841px) and (max-width: 1100px) {
    body .header {
        gap: 1rem;
        padding-inline: 1rem;
    }

    .header > .header-cart .menu-search input[type="search"] {
        width: min(160px, 18vw);
    }
}

@media (max-width: 840px) {
    body .header:not(.header--no-menu) {
        grid-template-columns:
            minmax(clamp(84px, 25vw, 96px), 1fr)
            auto
            minmax(clamp(84px, 25vw, 96px), 1fr);
        gap: clamp(8px, 2.5vw, 16px);
        padding: 15px clamp(12px, 4vw, 25px);
    }

    .header > .header-logo {
        width: min(100%, 160px);
        min-width: clamp(84px, 25vw, 96px);
    }

    .header > .header-logo .site-logo {
        max-height: 64px;
    }

    .header > .header-cart .menu-search {
        display: none;
    }

    .header > .header-cart .cart-link {
        padding-inline: 8px;
    }

    body .header.header--no-cart:not(.header--no-menu) {
        grid-template-columns:minmax(clamp(84px, 25vw, 160px), 1fr) auto;
    }

    .header.header--no-cart:not(.header--no-menu) > .header-logo {
        grid-column:1;
    }

    .header.header--no-cart:not(.header--no-menu) > .header-nav {
        grid-column:2;
        justify-self:end;
    }

    .header.header--no-cart:not(.header--no-menu) > .header-cart {
        display:none;
    }
}

body .header.header--compact:not(.header--no-menu) {
    grid-template-columns:
        minmax(clamp(84px, 25vw, 160px), 1fr)
        auto
        minmax(clamp(84px, 25vw, 160px), 1fr);
    gap: clamp(8px, 2.5vw, 16px);
    padding: 15px clamp(12px, 4vw, 25px);
}

.header.header--compact > .header-logo {
    width: min(100%, 160px);
    min-width: clamp(84px, 25vw, 160px);
}

.header.header--compact > .header-logo .site-logo {
    max-height: 64px;
}

.header.header--compact > .header-cart .menu-search {
    display: none;
}

.header.header--compact > .header-cart .cart-link {
    padding-inline: 8px;
}

body .header.header--compact.header--no-cart:not(.header--no-menu) {
    grid-template-columns: minmax(clamp(84px, 25vw, 160px), 1fr) auto;
}

.header.header--compact.header--no-cart:not(.header--no-menu) > .header-logo {
    grid-column: 1;
}

.header.header--compact.header--no-cart:not(.header--no-menu) > .header-nav {
    grid-column: 2;
    justify-self: end;
}

.header.header--compact.header--no-cart:not(.header--no-menu) > .header-cart {
    display: none;
}


.content-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 2em;
    max-width: 80%;
    margin: 0 auto;
    box-sizing: border-box;
}

.content-row .text {
    flex: 1 1 50%;
}

.content-row .wheel {
    flex: 1 1 50%;
}

/* Ensure wheel stays within container */
.content-row .wheel .rotator {
    max-width: 100%;
    margin: 0 auto;
}

div.footer {
    margin: 2rem 1rem;
}

.nune-cookie-settings-row {
    margin-top: 0.35rem;
}

.nune-cookie-settings-link {
    appearance: none;
    width: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 0.875rem;
    text-decoration: underline;
    text-underline-offset: 0.18em;
    cursor: pointer;
}

.nune-cookie-settings-link:hover,
.nune-cookie-settings-link:focus {
    background: transparent;
    color: inherit;
    opacity: 0.72;
}

.nune-cookie-consent {
    position: fixed;
    z-index: 100000;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.25rem;
    align-items: center;
    width: min(760px, calc(100% - 2rem));
    margin: 0 auto;
    padding: 1rem;
    border: 1px solid rgba(0, 0, 0, 0.18);
    border-radius: 12px;
    background: #fff;
    color: #111;
    box-shadow: 0 8px 35px rgba(0, 0, 0, 0.18);
}

.nune-cookie-consent[hidden] {
    display: none;
}

.nune-cookie-consent h2 {
    margin: 0 0 0.35rem;
    color: inherit;
    font-size: 1rem;
    line-height: 1.25;
}

.nune-cookie-consent p {
    margin: 0;
    color: inherit;
    font-size: 0.9rem;
    line-height: 1.45;
}

.nune-cookie-consent__details {
    margin-top: 0.45rem;
    font-size: 0.82rem;
}

.nune-cookie-consent__details summary {
    width: fit-content;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.nune-cookie-consent__details p {
    margin-top: 0.4rem;
    font-size: inherit;
}

.nune-cookie-consent__actions {
    display: flex;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.nune-cookie-consent__choice {
    width: auto;
    min-height: 42px;
    margin: 0;
    padding: 0.65rem 0.9rem;
    border: 1px solid #111;
    border-radius: 7px;
    background: #fff;
    color: #111;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
}

.nune-cookie-consent__choice:hover,
.nune-cookie-consent__choice:focus {
    background: #111;
    color: #fff;
}

@media (max-width: 700px) {
    .nune-cookie-consent {
        grid-template-columns: 1fr;
        gap: 0.8rem;
    }

    .nune-cookie-consent__actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .nune-cookie-consent__choice {
        min-width: 0;
        padding-inline: 0.55rem;
    }
}
.footer a {
	font-style: inherit;
}
.footer-menu{
	margin:2rem;
}


/* HOMEPAGE*/


.homepage-hero {
    position: relative;
    min-height: calc(100vh - var(--homepage-hero-offset, 75px));
    min-height: max(320px, calc(100dvh - var(--homepage-hero-offset, 75px)));
    display: grid;
    place-items: center;
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.homepage-hero__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.homepage-hero__overlay {
    position: absolute;
    inset: 0;
    background: var(--accent, rgba(40, 40, 40, 0.45));
    z-index: 1;
}

.homepage-hero__content {
    position: relative;
    z-index: 2;
    max-width: 900px;
    padding: 10rem 1.5rem;
    text-align: center;
    color: #fff;
}

.homepage-hero__content h1 {

    font-size: clamp(3rem, 5vw, 6rem);
    font-weight: 300;
    line-height: .9;
    letter-spacing: -.02em;
    margin: 0;
    color: #fff;
    text-shadow: 0 2px 10px rgba(0,0,0,.35);
    font-size: 3.25rem;
}

.homepage-hero__content p {
    font-family: var(--font-main);
    font-size: clamp(1rem, 2vw, 1.4rem);
    letter-spacing: .2em;
    text-transform: uppercase;
    margin: 0;
    text-align: center;
    color: rgba(255,255,255,.92);
    text-shadow: 0 2px 8px rgba(0,0,0,.3);
}

.homepage-hero .header,
.homepage-hero .scroll-indicator {
    z-index: 3;
}

/* ===== WHEELS ===== */

.wheel {


    /* adjust as needed */
  margin: 0 auto;
}

.rotator {
  position: relative;

}

/* Outer wheel (static) */
.outer-wheel {
  width: 100%;
  display: block;
}

/* Inner rotating wheel */
#spin, #spin2, #spin3 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transform-origin: center center;
  will-change: transform;
  touch-action: none;
  user-select: none;
  cursor: grab;
  transition: transform 0.2s ease;
}

#spin.dragging,
#spin2.dragging,
#spin3.dragging {
  cursor: grabbing;
  transition: none;
}


/* ============================= */
/* G A L L E R Y   P A G E      */
/* ============================= */

.gallery-page {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    margin-inline: auto;
}


.gallery-page__header {
    box-sizing: border-box;
    width: min(100%, 1000px);
    margin: 0 auto clamp(24px, 4vw, 48px);
    text-align: center;
}

.gallery-page__header .breadcrumb {
    justify-content: center;
    margin-bottom: 14px;
}

.gallery-page__description {
    width: min(760px, 100%);
    margin: 0 auto;
    line-height: 1.75;
}

.gallery-page .cms-shortcode-gallery {
    justify-self: center;
    width: 100%;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.gallery-page .cms-shortcode-gallery img {
    border-radius: var(--shortcode-default-border-radius, var(--bradius, 0));
}

.gallery-page__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    box-sizing: border-box;
    width: min(100%, 1200px);
    margin: 0 auto;
}

.gallery-page__card {
    min-width: 0;
    border-radius: var(--shortcode-default-border-radius, var(--bradius, 0));
    overflow: hidden;
}

.gallery-page__card a {
    position: relative;
    display: grid;
    place-items: center;
    overflow: hidden;
    min-height: 140px;
    padding: 24px;
    background: #f7f7f7;
    color: var(--text);
    text-decoration: none;
    border-radius: inherit;
}

.gallery-page__card a::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: transparent;
}

.gallery-page__card--has-image a {
    background: rgb(40, 40, 40);
    color: #fff;
}

.gallery-page__card--has-image a::after {
    background: linear-gradient(to top, var(--accent, rgba(0, 0, 0, .62)), transparent 70%);
}

.gallery-page__card-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: inherit;
}

.gallery-page__card a:hover .gallery-page__card-image,
.gallery-page__card a:focus .gallery-page__card-image {
    transform: none;
}

.gallery-page__card span {
    position: relative;
    z-index: 2;
    font-size: clamp(1.3rem, 2vw, 2.25rem);
    font-weight: 700;
    text-align: center;
}

.gallery-page__card--has-image span {
    text-shadow: 0 1px 4px rgba(0, 0, 0, .6);
}

.gallery-page__empty {
    width: min(100%, 760px);
    margin: 0 auto;
    text-align: center;
}

/* ============================= */
/* M O S A I C   G A L L E R Y  */
/* ============================= */

.mosaic-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-auto-rows: 200px;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  margin: 2em auto;

}

.page-content .cms-shortcode-gallery {
  width: 100%;
  max-width: 100%;
  margin: 2em 0;
}

.intro_text .cms-shortcode-gallery {
  width: 100%;
  max-width: 100%;
  margin: 2em 0;
  transform: none;
  text-align: initial;
}

.page-content .cms-shortcode-gallery img,
.intro_text .cms-shortcode-gallery img {
  border-radius: var(--shortcode-default-border-radius, var(--bradius, 0));
}

.mosaic-item {
  position: relative;
  overflow: hidden;
}

.mosaic-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

/* Hover zoom */
.mosaic-item:hover img {
  transform: scale(1.05);
}

/* Size variations */
.mosaic-item.large {
  grid-column: span 2;
  grid-row: span 2;
}

.mosaic-item.tall {
  grid-row: span 2;
}

.mosaic-item.wide {
  grid-column: span 2;
}
 /*SCROLL INDICATOR*/
 	.scroll-indicator {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  text-decoration: none;
}

.chevron {
  display: block;
  width: 20px;
  height: 20px;
  border-right: 2px solid white;
  border-bottom: 2px solid white;
  transform: rotate(45deg);
  animation: bounce 1.8s infinite;
}

/* Smooth bounce animation */
@keyframes bounce {
  0%, 100% {
    transform: rotate(45deg) translateY(0);
    opacity: 1;
  }
  50% {
    transform: rotate(45deg) translateY(8px);
    opacity: 0.6;
  }
}

.main-image[data-post-lightbox-trigger="1"],
.main-image[data-page-lightbox-trigger="1"],
.main-image[data-product-lightbox-trigger="1"] {
    cursor: zoom-in;
    touch-action: pan-y;
    user-select: none;
    -webkit-user-drag: none;
}

.main-media-frame[data-post-lightbox-trigger="1"],
.main-media-frame[data-page-lightbox-trigger="1"],
.main-media-frame[data-product-lightbox-trigger="1"] {
    cursor: zoom-in;
    touch-action: pan-y;
    user-select: none;
}

.cms-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--lightbox-overlay, rgba(72,72,72,.92));
}

.cms-lightbox__stage {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 90vw;
    max-height: 86vh;
}

.cms-lightbox__image {
    display: block;
    max-width: 90vw;
    max-height: 86vh;
    object-fit: contain;
}

.cms-lightbox__video {
    display: block;
    max-width: 90vw;
    max-height: 86vh;
    margin: auto;
    object-fit: contain;
    background: #000;
}

.cms-lightbox__image[hidden],
.cms-lightbox__video[hidden] {
    display: none;
}

.cms-lightbox__meta {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    overflow: hidden;
    background: var(--lightbox-meta, rgba(72,72,72,.68));
    color: white;
    text-align: center;
}

.cms-lightbox__meta[hidden] {
    display: none;
}

.cms-lightbox .cms-lightbox__meta-toggle {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 14px 48px;
    border: 0;
    background: transparent;
    color: #fff;
    font: inherit;
    line-height: 1.35;
    text-align: center;
    cursor: default;
    transition: background .18s ease;
}

.cms-lightbox__meta.has-description .cms-lightbox__meta-toggle {
    cursor: pointer;
}

.cms-lightbox .cms-lightbox__meta-toggle:hover,
.cms-lightbox .cms-lightbox__meta-toggle:focus,
.cms-lightbox .cms-lightbox__meta-toggle:active {
    border: 0;
    background: rgba(255,255,255,.08);
    color: #fff;
    transform: none;
}

.cms-lightbox__title {
    display: block;
    font-size: 15px;
    font-weight: 600;
}

.cms-lightbox__meta-indicator {
    position: absolute;
    top: 50%;
    right: 20px;
    font-size: 18px;
    line-height: 1;
    transform: translateY(-40%);
    transition: transform .25s ease;
}

.cms-lightbox__meta:not(.has-description) .cms-lightbox__meta-indicator {
    display: none;
}

.cms-lightbox__meta.is-open .cms-lightbox__meta-indicator {
    transform: translateY(-60%) rotate(180deg);
}

.cms-lightbox__description {
    max-height: 0;
    overflow: auto;
    padding: 0 24px;
    opacity: 0;
    font-size: 15px;
    line-height: 1.5;
    text-align: left;
    transition: max-height .3s ease, padding .3s ease, opacity .2s ease;
}

.cms-lightbox__meta.is-open .cms-lightbox__description {
    max-height: 35vh;
    padding: 0 24px 20px;
    opacity: 1;
}

.cms-lightbox__close,
.cms-lightbox__prev,
.cms-lightbox__next {
    position: absolute;
    z-index: 5;
    border: 0;
    background: rgba(255,255,255,.15);
    color: white;
    cursor: pointer;
    border-radius: 50%;
    margin: 0;
    padding: 0;
    line-height: 1;
    transition: background .18s ease, color .18s ease;
}

.cms-lightbox__close {
    top: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    font-size: 28px;
}

.cms-lightbox__prev,
.cms-lightbox__next {
    top: 50%;
    width: 60px;
    height: 60px;
    transform: translateY(-50%);
    font-size: 30px;
}

.cms-lightbox__prev { left: 20px; }
.cms-lightbox__next { right: 20px; }

.cms-lightbox__prev:hover,
.cms-lightbox__prev:focus,
.cms-lightbox__prev:active,
.cms-lightbox__next:hover,
.cms-lightbox__next:focus,
.cms-lightbox__next:active {
    transform: translateY(-50%);
}

.cms-lightbox__close:hover,
.cms-lightbox__close:focus,
.cms-lightbox__close:active {
    transform: none;
}

@media (max-width: 700px) {
    .cms-lightbox__close {
        top: 12px;
        right: 12px;
        width: 44px;
        height: 44px;
    }

    .cms-lightbox__prev,
    .cms-lightbox__next {
        width: 48px;
        height: 48px;
        font-size: 24px;
    }

    .cms-lightbox__prev {
        left: 10px;
    }

    .cms-lightbox__next {
        right: 10px;
    }
}


.filters {
    display: flex;
    gap: 10px;
    margin-bottom: 25px;
    flex-wrap: wrap;
}

.filters input,
.filters select {
    padding: 10px;
}

.listing-filters {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(160px, 1fr) auto;
    align-items: stretch;
    gap: 10px;
    width: 100%;
    flex-wrap: nowrap;
}

.multi-search-filters {
    grid-template-columns: minmax(0, 2fr) minmax(140px, .8fr) minmax(160px, 1fr) auto;
}

.listing-filters input,
.listing-filters select {
    width: 100%;
    min-width: 0;
    margin: 0;
}

.listing-filters__actions {
    display: flex;
    align-items: stretch;
    gap: 10px;
    min-width: max-content;
}

.listing-filters__actions button,
.listing-filters__actions .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    white-space: nowrap;
}

@media (max-width: 700px) {
    .listing-filters,
    .multi-search-filters {
        grid-template-columns: minmax(0, 1fr);
    }

    .listing-filters__actions {
        width: 100%;
        min-width: 0;
    }

    .listing-filters__actions button,
    .listing-filters__actions .button {
        flex: 1 1 0;
    }
}

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

.card {
    border: 1px solid #ddd;
    border-radius: var(--bradius);
    overflow: hidden;
    background: #fff;
}

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

.card-content {
    padding: 15px;
}

.card h3 {
    margin: 10px 0;
}

.category {
    font-size: 0.85rem;
    color: #666;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.meta {
    font-size: 0.85rem;
    color: #888;
    margin: 10px 0;
}

.card strong {
    font-size: 1rem;
}

.card a {
    display: inline-block;
    margin-top: 10px;
    text-decoration: none;
}


        input.qty {
            width: 86px;
        }

        .qty-form {
            display: flex;
            gap: 8px;
            align-items: center;
        }

        .delete-form {
            margin-top: 8px;
        }

        .summary-row {
            display: flex;
            justify-content: space-between;
            gap: 16px;
            padding: 10px 0;
            border-bottom: 1px solid #eef2f7;
        }

        .summary-row.total {
            border-bottom: 0;
            font-size: 22px;
            font-weight: 900;
            padding-top: 16px;
        }

        .shipping-form {
            display: grid;
            gap: 10px;
            margin-bottom: 18px;
        }

        .shipping-option {
            border: 1px solid #e5e7eb;
            border-radius: 14px;
            padding: 12px;
            margin-bottom: 10px;
            background: #fafafa;
        }

        .shipping-option strong {
            display: block;
            margin-bottom: 4px;
        }

.notice {
    margin: 14px 0 16px;
    padding: 12px 16px;
    border-radius: 12px;
    background: #dcfce7;
    color: #166534;
}

.notice.warning {
    background: #fef3c7;
    color: #92400e;
}

.notice.danger {
    background: #fee2e2;
    color: #991b1b;
}

.notice.success {
    background: #dcfce7;
    color: #166534;
}

        .empty-cart {
            text-align: center;
            padding: 56px 22px;
        }

        .empty-cart h2 {
            font-size: 28px;
        }

        .cart-actions {
            display: grid;
            gap: 10px;
            margin-top: 16px;
        }

        .mobile-label {
            display: none;
        }

           .cart-table {
            width: 100%;
            border-collapse: collapse;
        }

        .cart-table th,
        .cart-table td {
            text-align: left;
            padding: 14px 10px;
            border-bottom: 1px solid #000000;
            vertical-align: middle;
        }

        .cart-table th {
            color: #4b5563;
            font-size: 13px;
           
        }

        .item-name {
            font-weight: 800;
        }

        .item-variation {
            display: block;
            color: #6b7280;
            font-size: 13px;
            margin-top: 4px;
        }

.cart-page .page-grid,
.checkout-page .page-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 22px;
    align-items: start;
}

.cart-page .topbar,
.checkout-page .topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 22px;
}
.topbar {
	margin-bottom:1em;
}

.cart-page .breadcrumb,
.cart-page .breadcrumb a,
.checkout-page .breadcrumb,
.checkout-page .breadcrumb a {
    color: #6b7280;
    font-size: 14px;
    text-decoration: none;
}

.cart-page .muted,
.checkout-page .muted,
.cart-page .cart-table td,
.checkout-page .order-item,
.checkout-page .order-item-meta,
.cart-page .shipping-option,
.checkout-page .shipping-option,
.cart-page .summary-row,
.checkout-page .summary-row,
.cart-page label,
.checkout-page label {
    font-size: 14px;
}

.cart-page .item-name,
.checkout-page .order-item-title {
    font-size: 14px;
    font-weight: 800;
}

.cart-page input,
.cart-page select,
.cart-page textarea,
.checkout-page input,
.checkout-page select,
.checkout-page textarea {
    font-size: 14px;
}

.cart-page button,
.cart-page .button,
.checkout-page button,
.checkout-page .button {
    margin: 0;
    padding: 11px 16px;
    font-size: 14px;
    font-weight: 700;
}

.cart-page .cart-actions,
.checkout-page .sidebar-actions {
    display: grid;
    gap: 10px;
}

.checkout-page .order-item {
    border-bottom: 1px solid #eef2f7;
    padding: 12px 0;
}

.checkout-page .order-item:last-child {
    border-bottom: 0;
}

.checkout-page .order-item-meta {
    color: #6b7280;
    margin-top: 4px;
}

.checkout-page .place-order {
    width: 100%;
    padding: 15px 18px;
    font-size: 16px;
    margin-top: 14px;
}

@media (max-width: 880px) {
    .cart-page .page-grid,
    .checkout-page .page-grid {
        grid-template-columns: 1fr;
    }

    .cart-page .topbar,
    .checkout-page .topbar {
        align-items: flex-start;
        flex-direction: column;
    }
}



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

.checkout-grid .full-width {
    grid-column: 1 / -1;
}

.success-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 22px;
    align-items: start;
}

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

.meta-card {
    padding: 14px;
    border: 1px solid #e5e7eb;
}

.meta-card span {
    display: block;
    margin-bottom: 4px;
    color: #6b7280;
    font-size: 12px;
    font-weight: 800;
}

.meta-card strong {
    overflow-wrap: anywhere;
}

.order-items {
    display: grid;
    gap: 12px;
}

.order-item {
    display: grid;
    grid-template-columns: 76px 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 12px;
}

.order-thumb,
.order-placeholder {
    width: 76px;
    height: 76px;
    border: 1px solid #e5e7eb;
    background: #f8fafc;
}

.order-thumb {
    object-fit: cover;
}

.order-placeholder {
    display: grid;
    place-items: center;
    color: #94a3b8;
    font-size: 12px;
    text-align: center;
}

.order-main strong,
.order-main small {
    display: block;
}

.order-main small {
    margin-top: 3px;
    color: #6b7280;
}

.order-price {
    text-align: right;
    white-space: nowrap;
}

/* Price block */
.price {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin: 0.75rem 0;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
}

.was-price {
    font-size: 1.15rem;
    color: #9ca3af;
    text-decoration: line-through;
    font-weight: 500;
}

.sale-price {
    color: #b85c38;
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}

/* Sale badge */
.sale-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0.5rem 0 1rem;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #b85c38, #d97757);
    color: #fff;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    box-shadow: 0 4px 12px rgba(220, 38, 38, 0.18);
}

.product-bundle-items {
    display: grid;
    gap: .65rem;
    margin: 1rem 0;
    list-style: none;
}

.product-bundle-item {
    min-width: 0;
    margin: 0;
}

.product-bundle-item__link {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    margin: 0;
    color: inherit;
    text-decoration: none;
}

.product-bundle-item__image {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    overflow: hidden;
    border-radius: var(--bradius);
    background: var(--card);
}

.product-bundle-item__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-bundle-item__details {
    display: grid;
    gap: .2rem;
    min-width: 0;
}

.product-bundle-item__details strong,
.product-bundle-item__details small {
    overflow-wrap: anywhere;
}

.product-bundle-item__option {
    display: grid;
    gap: .3rem;
    margin: .45rem 0 0 84px;
    font-size: .82rem;
}

.product-bundle-item__option select {
    width: 100%;
    min-width: 0;
    margin: 0;
}

.product-bundle-saving {
    display: block;
    margin-top: .85rem;
}

.product-bundle-add-form {
    margin-top: 1rem;
}

.product-bundle-add-form button {
    width: 100%;
}

.product-bundle-add-form + .small-text {
    margin-bottom: 0;
}

@media (max-width: 420px) {
    .product-bundle-item__image {
        flex-basis: 60px;
        width: 60px;
        height: 60px;
    }

    .product-bundle-item__option {
        margin-left: 72px;
    }
}

.cart-sale-label {
    display: inline-flex;
    width: fit-content;
    margin-top: .35rem;
    padding: .25rem .5rem;
    border-radius: 999px;
    background: var(--contrast);
    color: var(--contrast-text);
    font-size: .75rem;
    font-weight: 700;
}

.cart-was-price {
    display: block;
    color: var(--muted);
    font-size: .85em;
    text-decoration: line-through;
}

.cart-sale-price,
.sale-saving-row strong {
    color: var(--link-hover);
}

/* Categories */
.category-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 1rem 0 18px;
}

.category-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    background: var(--panel);
    border: 1px solid var(--line);
    color: var(--text);
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 600;
    transition: all 0.2s ease;
}

.category-pill:hover {
    background: var(--primary);
    border-color: var(--primary);
    color: #ffffff;
    transform: translateY(-1px);
}

/* ========================================================
Default Theme Polish
========================================================= */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-header);
    font-weight: 400;
    font-style: italic;
    color: var(--text);
    line-height: 1.15;
    margin: 0 0 1rem;
    padding: 0;
}

h1 {
    font-size: 2.25rem;
    line-height: 1.08;
    margin-bottom: 1.4rem;
    text-align: center;
    user-select: none;
}

.content-page-title,
.page-content h1 {
    margin: 0 0 1.4rem;
}

h2 {
    font-size: 2rem;
    line-height: 1.12;
    margin-bottom: 1.25rem;
    text-align: center;
    user-select: none;
}

h3 {
    font-size: 1.75rem;
    line-height: 1.18;
    margin-bottom: 1rem;
    user-select: none;
}

h4 {
    font-size: 1.25rem;
    line-height: 1.25;
    margin-bottom: .85rem;
    text-align:center;
}

h5 {
    font-size: 1rem;
    line-height: 1.3;
    margin-bottom: .7rem;
    letter-spacing: .02em;
}

h6 {
    font-family: var(--font-main);
    font-size: .85rem;
    line-height: 1.35;
    margin-bottom: .55rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

@media (max-width: 700px) {
    h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.8rem;
    }

    h3 {
        font-size: 1.55rem;
    }

    h4 {
        font-size: 1.15rem;
    }
}

p,
li {
    color: var(--text);
    font-family: var(--font-main);
    line-height: 1.75;
}

a,
a:link,
a:visited,
a:hover,
a:focus {
    text-decoration: none;
}

p a,
.page-content p a,
.post-content p a,
.product-full-description p a,
.product-excerpt p a,
.post-excerpt p a,
.page-excerpt p a,
.intro_text p a,
.vision_text p a {
    color: var(--link);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .22em;
}

p a:hover,
p a:focus,
.page-content p a:hover,
.page-content p a:focus,
.post-content p a:hover,
.post-content p a:focus,
.product-full-description p a:hover,
.product-full-description p a:focus,
.product-excerpt p a:hover,
.product-excerpt p a:focus,
.post-excerpt p a:hover,
.post-excerpt p a:focus,
.page-excerpt p a:hover,
.page-excerpt p a:focus,
.intro_text p a:hover,
.intro_text p a:focus,
.vision_text p a:hover,
.vision_text p a:focus {
    color: var(--accent-dark);
}

:where(button,.button,.btn,.primary-button,.secondary-button,.shortcode-button,a.button,input[type="button"],input[type="submit"],input[type="reset"]) {
    border-radius: var(--bradius);
}

button,
.button,
.btn,
.primary-button,
.secondary-button,
.shortcode-button,
a.button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
    background: var(--button);
    border: 1px solid var(--text);
    color: var(--text);
    font-family: var(--font-main);
    font-size: .95rem;
    font-weight: 600;
    line-height: 1.2;
    padding: .75rem 1rem;
    text-align:center;
    text-decoration: none;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

button:hover,
button:focus,
.button:hover,
.button:focus,
.btn:hover,
.btn:focus,
.primary-button:hover,
.primary-button:focus,
.secondary-button:hover,
.secondary-button:focus,
.shortcode-button:hover,
.shortcode-button:focus,
a.button:hover,
a.button:focus {
    background: var(--text);
    border-color: var(--text);
    color: #ffffff;
    transform: translateY(-1px);
}

.secondary-button {
    background: var(--button);
    color: var(--text);
    border-color: var(--text);
}

.secondary-button:hover,
.secondary-button:focus {
    background: var(--text);
    border-color: var(--text);
    color: var(--bg);
}

.header a,
.cms-menu-wrap-header a,
.cms-menu-wrap-footer a,
.breadcrumb a,
.cart-link,
.header-logo a {
    text-decoration: none;
}

.cart-link,
.cart-link:hover,
.cart-link:focus {
    background: transparent;
    border: 0;
    color: var(--text);
    transform: none;
}

.page-container,
.post-container,
.product-container,
.shop-container,
.blog-container,
.gallery-page {
    color: var(--text);
}

.panel,
.card,
.product-card,
.post-card,
.page-card,
.gallery-card,
.meta-card,
.order-item {
    background: var(--card);
    border-color: var(--line);
    margin:0 0 .55rem 0;
}

blockquote,
.product-full-description blockquote,
.post-content blockquote,
.page-content blockquote {
    border-left: 1px solid var(--border);
    color: var(--muted);
    font-family: var(--font-header);
    font-style: italic;
}
