/* Small replacements for Squarespace JavaScript behavior; core visual styles are captured separately. */
.sqs-announcement-bar-dropzone { display: block !important; }
.local-announcement { position: relative; min-height: 44px; display: flex; align-items: center; justify-content: center; box-sizing: border-box; padding: 0 35px; background: #bda994; color: #302923; font: 14px Arial, sans-serif; text-align: center; }
.local-announcement a { color: inherit; text-decoration: none; }
.local-announcement button { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; color: inherit; font: 15px Arial,sans-serif; cursor: pointer; }
#page { padding-top: 57px; }
#header { transition: transform .22s ease-out !important; }
#header.local-header-hidden { transform: translate3d(0, calc(-100% - 2px), 0) !important; pointer-events: none; }
body.local-menu-open #header { transform: none !important; pointer-events: auto; }
@media (prefers-reduced-motion: reduce) {
  #header { transition: none !important; }
}
.preFade,.preSlide,.preScale,.preClip,.preBlur { opacity: 1 !important; transform: none !important; filter: none !important; }
.local-enquiry-form { box-sizing: border-box; max-width: 680px; min-height: 711px; margin: 0 auto; padding-top: 48px; display: grid; align-content: start; gap: 12px; font-family: inherit; }
.local-form-fields { display: grid; gap: 12px; }
.local-form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.local-name-group { display: grid; gap: .5rem; }
.local-enquiry-form label { display: grid; gap: .35rem; font-size: .95rem; }
.local-enquiry-form label em { font-size: .85rem; font-style: normal; color: #72675d; }
.local-enquiry-form input:not([type=file]),.local-enquiry-form textarea { box-sizing: border-box; width: 100%; border: 1px solid #40382f; border-radius: 22px; background: transparent; color: #161616; padding: .6rem .9rem; font: inherit; }
.local-enquiry-form input:not([type=file]) { height: 42px; }
.local-enquiry-form textarea { height: 100px; min-height: 100px; resize: vertical; }
.local-upload-control { display: grid; gap: 10px; min-width: 0; }
.local-upload-control .local-upload-label { cursor: pointer; }
.local-upload-drop { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .45rem; box-sizing: border-box; width: 100%; height: 112px; border: 1px dashed #534b44; border-radius: 28px; cursor: pointer; }
.local-upload-drop strong { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.5); font-size: 24px; font-weight: 400; }
.local-upload-drop input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.local-upload-drop.has-files { width: max-content; max-width: 100%; height: 44px; flex-direction: row; gap: .4rem; padding: 0 16px 0 10px; border-radius: 22px; }
.local-upload-drop.has-files strong { width: 25px; height: 25px; font-size: 20px; }
.local-upload-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 112px)); gap: 10px; min-width: 0; }
.local-upload-list:empty { display: none; }
.local-upload-card { position: relative; box-sizing: border-box; display: grid; grid-template-rows: auto 1em; gap: 5px; min-width: 0; padding: 5px; border: 1px solid #b7a99d; border-radius: 12px; background: rgba(255,255,255,.55); }
.local-upload-card img,.local-upload-icon { display: block; width: 100%; aspect-ratio: 1; border-radius: 8px; object-fit: cover; background: #e8e1da; }
.local-upload-icon { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: #36302a; font-size: .75rem; font-weight: bold; }
.local-upload-icon::before { content: ''; display: block; width: 27px; height: 34px; border: 2px solid #6b6055; border-radius: 3px 9px 3px 3px; background: rgba(255,255,255,.55); }
.local-upload-filename { display: block; min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .72rem; line-height: 1em; text-align: center; }
.local-enquiry-form .local-upload-remove { position: absolute; top: 8px; right: 8px; display: grid; place-items: center; box-sizing: border-box; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 50%; background: #36302a; color: white; font-size: 20px; line-height: 1; }
.local-enquiry-form .local-upload-remove:focus-visible,.local-upload-drop:focus-within { outline: 2px solid #36302a; outline-offset: 2px; }
.local-upload-error { margin: 0; color: #9b2626; font-size: .9rem; }
.local-upload-error:empty { display: none; }
.local-enquiry-form button { justify-self: start; border: 0; border-radius: 32px; padding: .9rem 2rem; background: #36302a; color: white; font: inherit; cursor: pointer; }
.local-form-status { margin: 0; font-size: .9rem; }
/* The captured review cards use a local horizontal track in place of Squarespace's carousel runtime. */
.local-reviews-section .user-items-list { padding: clamp(32px, 5vw, 64px) 0 !important; }
.local-reviews-section .list-section-title { padding-bottom: 24px !important; }
.local-reviews-section .list-section-button-container { margin-top: 24px !important; }
.local-reviews-ready { --local-review-count: 3; --local-review-gap: 18px; }
.local-reviews-ready .user-items-list-carousel__gutter { overflow: visible !important; }
.local-reviews-ready .user-items-list-carousel__slideshow-holder { width: calc(100% - 152px) !important; margin-inline: auto !important; }
.local-reviews-ready .user-items-list-carousel__slides-revealer { overflow: hidden !important; }
.local-reviews-ready .user-items-list-carousel__slides { display: flex !important; align-items: stretch; gap: var(--local-review-gap) !important; opacity: 1 !important; padding: 0 !important; margin: 0 !important; list-style: none; transition: transform .42s cubic-bezier(.22,.61,.36,1) !important; }
.local-reviews-ready .user-items-list-carousel__slides.local-review-no-transition { transition: none !important; }
.local-reviews-ready .user-items-list-carousel__slide { display: flex !important; flex: 0 0 calc((100% - 36px) / 3) !important; box-sizing: border-box; width: auto !important; min-width: 0 !important; min-height: 0 !important; padding: 24px 20px !important; margin: 0 !important; transform: none !important; opacity: 1 !important; }
.local-reviews-ready .user-items-list-carousel__media-container { width: 96px !important; height: 96px !important; margin: 0 auto 16px !important; overflow: hidden; border-radius: 50%; }
.local-reviews-ready .user-items-list-carousel__media-inner { width: 100%; height: 100% !important; padding: 0 !important; }
.local-reviews-ready .user-items-list-carousel__media { width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 50%; }
.local-reviews-ready .list-item-content,.local-reviews-ready .list-item-content__text-wrapper { width: 100%; }
.local-reviews-ready .list-item-content__description { max-width: 60ch !important; overflow-wrap: anywhere; }
.local-reviews-ready .list-item-content__description p { white-space: normal !important; }
@media (min-width: 700px) {
  .local-reviews-ready .desktop-arrows { display: flex !important; position: absolute !important; top: 50% !important; width: 60px !important; height: 60px !important; padding: 0 !important; margin: 0 !important; transform: translateY(-50%); align-items: center; justify-content: center; }
  .local-reviews-ready .user-items-list-carousel__arrow-wrapper--left { left: 8px !important; right: auto !important; }
  .local-reviews-ready .user-items-list-carousel__arrow-wrapper--right { right: 8px !important; left: auto !important; }
  .local-reviews-ready .desktop-arrows .user-items-list-carousel__arrow-container { width: 60px; height: 60px; padding: 0 !important; }
  .local-reviews-ready .mobile-arrows { display: none !important; }
}
@media (min-width: 700px) and (max-width: 1023px) {
  .local-reviews-ready { --local-review-count: 2; }
  .local-reviews-ready .user-items-list-carousel__slide { flex-basis: calc((100% - 18px) / 2) !important; }
}
@media (max-width: 699px) {
  .local-reviews-ready { --local-review-count: 1; --local-review-gap: 14px; }
  .local-reviews-ready .user-items-list-carousel__slideshow-holder { width: calc(100% - 24px) !important; }
  .local-reviews-ready .user-items-list-carousel__slide { flex-basis: 100% !important; padding: 20px 18px !important; }
  .local-reviews-ready .user-items-list-carousel__media-container { width: 80px !important; height: 80px !important; }
  .local-reviews-ready .desktop-arrows { display: none !important; }
  .local-reviews-ready .mobile-arrows { display: flex !important; justify-content: center; gap: 16px; margin-top: 16px !important; }
  .local-reviews-ready .mobile-arrow-button { min-width: 48px; min-height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  .local-reviews-ready .user-items-list-carousel__slides { transition: none !important; }
}
@media(max-width:600px) {
  .local-upload-list { grid-template-columns: repeat(auto-fill, minmax(80px, 96px)); gap: 8px; }
}
.local-video { display: block; width: 100%; max-height: 75vh; background: #111; }
.product-gallery-thumbnails-item { opacity: 1 !important; overflow: hidden; }
.product-gallery-thumbnails-item-image,.product-gallery-slides-item-image { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center !important; opacity: 1 !important; }
.product-gallery-slides-item.selected { display: block !important; visibility: visible !important; opacity: 1 !important; }
.product-gallery-slides-item.selected .product-gallery-slides-item-image { visibility: visible !important; }
.product-gallery-carousel-controls,.product-gallery-current-slide-indicator { opacity: 1 !important; }
.local-cart-notice { max-width: 760px; margin: 8rem auto; padding: 2rem; text-align: center; }
.local-whatsapp-widget { position: fixed; right: 22px; bottom: 22px; z-index: 900; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #19cf63; color: #fff; box-shadow: 0 3px 10px rgba(0,0,0,.2); }
.local-whatsapp-widget svg { width: 36px; height: 36px; }
.local-whatsapp-dot { position: absolute; right: 2px; top: 1px; width: 10px; height: 10px; border-radius: 50%; background: red; }
.local-lightbox { display: none; position: fixed; inset: 0; z-index: 10000; background: rgba(0,0,0,.93); align-items: center; justify-content: center; padding: 3rem; box-sizing: border-box; }
.local-lightbox.is-open { display: flex; }
.local-lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; }
.local-lightbox button { position: absolute; top: .5rem; right: 1rem; border: 0; background: transparent; color: #fff; font-size: 2.6rem; cursor: pointer; }
@media(max-width:800px) {
  .local-announcement { min-height: 40px; font-size: 12px; }
  .local-form-row { grid-template-columns: 1fr; }
  body.local-menu-open { overflow: hidden; }
  body.local-menu-open .header-menu { display: block !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; position: fixed !important; top: 137px !important; left: 0; right: 0; bottom: 0; height: auto !important; z-index: 999; overflow-y: auto; }
  body.local-menu-open .header-menu-nav, body.local-menu-open .header-menu-nav-list, body.local-menu-open .header-menu-nav-folder { height: auto !important; min-height: 0 !important; overflow: visible !important; }
  body.local-menu-open .header-burger { z-index: 1001; }
  body.local-menu-open .header-burger-btn .burger-box { visibility: hidden; }
  body.local-menu-open .header-burger-btn::after { content: '×'; position: absolute; top: -14px; left: 6px; font: 40px Arial,sans-serif; font-weight: 200; color: #302923; }
}
