/* Small, additive fixes; original palette, spacing and artwork are unchanged. */
:root { color-scheme: light; }
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 7.5rem; }
img { max-width: 100%; }
:where(main, section, article, aside, nav, footer, .site-main, .navigation-left-zone,
 .navigation-right-zone, .navigation-center-zone, .velmariq-footer-inner,
 .navigation-overlay-content, .navigation-overlay-links) { min-width: 0; }
:where(h1, h2, h3, h4, h5, h6, p, a) { overflow-wrap: break-word; }
:where(a, button, input, textarea, summary):focus-visible {
  outline: 3px solid var(--color-accent, #a84e6f);
  outline-offset: 3px;
}
a[href], button, summary { cursor: pointer; }
button { touch-action: manipulation; }
.plain-contact { cursor: text; }
.site-skip-link {
  position: fixed; z-index: 9999; left: 12px; top: -100px;
  padding: 10px 18px; background: var(--color-surface, #fef9f4);
  color: var(--color-on-surface, #1b1b1b);
  border: 2px solid var(--color-primary, #876d41);
  border-radius: 6px; text-decoration: none;
}
.site-skip-link:focus { top: 8px; }
@media (max-width: 1200px) {
  .navigation-left-zone, .navigation-utility-group { display: none; }
  .navigation-center-zone { flex: 1; min-width: 0; padding: 0; }
  .navigation-hamburger { display: flex; flex-shrink: 0; border: 0; cursor: pointer; }
  .navigation-cta:not(.navigation-overlay-cta) { display: none; }
  .navigation-right-zone { flex: 0 0 auto; }
}
.navigation-mobile-overlay {
  width: 100%; width: 100vw; height: 100dvh; max-height: 100dvh;
  overscroll-behavior: contain; scrollbar-gutter: stable;
}
.navigation-mobile-overlay.is-open { display: flex; }
.navigation-mobile-overlay[aria-hidden="true"] { display: none; }
.navigation-overlay-close { border: 0; flex-shrink: 0; }
.navigation-overlay-brand { height: auto; }
.navigation-overlay-header { gap: 12px; }
.navigation-overlay-header > a { min-width: 0; }
.navigation-overlay-links a {
  display: block; width: fit-content; max-width: 100%;
  color: var(--color-on-surface, #1b1b1b); text-decoration: none;
  cursor: pointer;
}
.navigation-overlay-links a:hover,
.navigation-overlay-links a:focus-visible { color: var(--color-primary, #876d41); }
.navigation-overlay-content { overflow-wrap: anywhere; }
body.site-menu-open { overflow: hidden; }
.velmariq-footer-nav a,
.navigation-left-zone a { cursor: pointer; text-decoration: none; }
.velmariq-footer-nav a:hover,
.velmariq-footer-nav a:focus-visible { color: var(--color-accent, #a84e6f); }
.navigation-left-zone a:hover,
.navigation-left-zone a:focus-visible { color: var(--color-accent, #a84e6f); }
.form-result { min-height: 1.4em; font-size: .9rem; line-height: 1.5; margin-top: .5rem; color: var(--color-on-surface, #1b1b1b); }
.footer-enquiry-form :where(input,textarea) { max-width: 100%; width: 100%; }
.legal-content p, .legal-content li, .contact-content p, .contact-content li {
  color: var(--color-on-surface-secondary, #4a4a4a); line-height: 1.8;
}
.legal-content h1, .contact-content h1 { font-size: clamp(2.1rem, 5vw, 3.4rem); line-height: 1.2; }
.legal-content h2, .contact-content h2 {
  margin-top: 1.3rem; font-family: var(--font-family-heading, Georgia, serif);
  font-size: clamp(1.35rem, 3vw, 1.8rem); line-height: 1.35;
}
.legal-content h3, .contact-content h3 { margin-top: .6rem; font-size: 1.05rem; }
.legal-content p, .contact-content p { margin: 0; }
.legal-content ul, .contact-content ul { padding-left: 1.35rem; }
.legal-content ul li + li { margin-top: .55rem; }
.legal-content [data-address], .contact-content [data-address] { overflow-wrap: anywhere; }
.legal-updated { opacity: .75; font-size: .92rem; }
.legal-home-link { display: inline-flex; width: fit-content; align-items: center; gap: .4rem;
  margin-top: 2rem; padding: .65rem 1.1rem;
  color: var(--color-on-primary, #fff); background: var(--color-primary, #876d41);
  border-radius: 999px; text-decoration: none; }
.legal-home-link:hover { background: var(--color-secondary, #8b5e3c); }
.contact-panel { width: 100%; padding: clamp(1.25rem,4vw,2.5rem);
  background: var(--color-surface-tint, #f8f0e9);
  border: 1px solid var(--color-border, #998e80); border-radius: var(--border-radius-card,4px); }
.contact-panel .footer-enquiry-form { max-width: 100%; }
.contact-panel .footer-form-actions { flex-wrap: wrap; }
.contact-content details { width: 100%; padding: 1rem 0; border-bottom: 1px solid var(--color-border,#998e80); }
.contact-content summary { font-weight: 600; }
.contact-content details p { padding-top: .65rem; }
@media (max-width: 991px) {
  :where(.flavour-grid, .waffles-masonry-grid, .signature-desserts-grid,
   .story-values-grid, .seasonal-inspiration-quad, .occasions-gallery-grid,
   .footer-preview-split) > * { min-width: 0; max-width: 100%; }
}
@media (max-width: 767px) {
  .navigation-mobile-overlay { height: 100dvh; }
  .navigation-overlay-content { padding: clamp(1.25rem, 5vw, 2rem); gap: 2rem; }
  .navigation-overlay-links { gap: clamp(.7rem, 3vh, 1.4rem); }
  .navigation-overlay-link { font-size: clamp(1.15rem, 5vw, 1.75rem); }
  .legal-content, .contact-content { padding: 2.5rem clamp(1rem,5vw,2rem); }
  .velmariq-footer-wordmark, .velmariq-footer-main-contact { overflow-wrap: anywhere; }
  .footer-enquiry-form .form-field { min-width: 0; }
  .footer-enquiry-form input, .footer-enquiry-form textarea { min-width: 0; }
  .navigation-overlay-brand .company-logo-name { white-space: normal; }
}
@media (max-width: 479px) {
  .hero-title, .story-hero-title, .menu-hero-title, .experience-hero-title {
    font-size: clamp(2rem, 8vw, 3.2rem); line-height: 1.14;
  }
  .navigation-capsule-rail { gap: .45rem; min-width: 0; }
  .navigation-center-zone { min-width: 0; }
  .company-logo-name { font-size: clamp(.9rem, 4vw, 1.1rem); }
  .navigation-overlay-header { padding: 1rem; }
  .navigation-overlay-header .company-logo-tagline { display: none; }
  .legal-content, .contact-content { padding: 2rem 1rem; }
  .footer-preview, .velmariq-footer-root { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  :where(*, *::before, *::after) { scroll-behavior: auto !important; }
}

/* Header contrast and remaining small-screen CTA fitting verified at 320px. */
.navigation-hamburger, .navigation-overlay-close {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  padding: 0;
}
.navigation-hamburger { color: #fff; }
@media (max-width: 1200px) {
  .site-main { padding-top: 3rem; }
  .terms-conditions-ve-terms-content-elm { padding-top: 7rem; }
}
@media (max-width: 340px) {
  .narrative-story-btn,
  .cafe-experience-html---the-caf--experience-btn {
    width: auto;
    white-space: normal;
    max-width: calc(100vw - 8rem);
    padding: .65rem .75rem;
    text-align: center;
  }
}

/* The full four-link header does not physically fit next to the centre mark at 1280px. */
@media (min-width: 1201px) and (max-width: 1479px) {
  .navigation-left-zone, .navigation-utility-group { display: none; }
  .navigation-center-zone { flex: 1; min-width: 0; padding: 0; }
  .navigation-right-zone { flex: 0 0 auto; }
  .navigation-hamburger { display: flex; flex-shrink: 0; }
  .navigation-cta:not(.navigation-overlay-cta) { display: none; }
  .site-main { padding-top: 3rem; }
  .terms-conditions-ve-terms-content-elm { padding-top: 7rem; }
}
@media (min-width: 1480px) {
  .navigation-capsule-container { max-width: 1400px; padding: 0 20px; }
  .navigation-left-zone { gap: var(--spacing-lg); }
}
.navigation-hamburger, .navigation-overlay-close { border: 0; }
