/* Holmes Of Melrose design layer
   Forest #173C32 / Ivory #FAF7F0 / Sage #E5EBE1 / Copper #A7603D / Charcoal #232A26 / Stone #DDD8CD */
:root{
  --hom-forest:#173C32;--hom-forest-dk:#0F2A23;--hom-ivory:#FAF7F0;--hom-sage:#E5EBE1;
  --hom-copper:#A7603D;--hom-ink:#232A26;--hom-muted:#4F5751;--hom-stone:#DDD8CD;--hom-white:#FFFFFF;
  --hom-serif:"Libre Caslon Text",Georgia,"Times New Roman",serif;
  --hom-sans:"Work Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --hom-r-sm:6px;--hom-r-md:8px;--hom-r-lg:10px;
  --hom-shadow:0 10px 24px -14px rgba(23,60,50,.35);
  --hom-wrap:1240px;
}
html{-webkit-text-size-adjust:100%}
body{background:var(--hom-ivory);color:var(--hom-ink);font-family:var(--hom-sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--hom-serif);font-weight:400;color:var(--hom-ink);line-height:1.15;letter-spacing:-.005em;margin:0 0 .5em}
h1{font-size:clamp(2rem,1.4rem + 2.2vw,2.9rem)}
h2{font-size:clamp(1.6rem,1.25rem + 1.3vw,2.15rem)}
h3{font-size:1.4rem}
h4{font-size:1.15rem}
a{color:var(--hom-forest);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--hom-forest-dk)}
img{max-width:100%;height:auto}
::selection{background:var(--hom-sage);color:var(--hom-ink)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--hom-forest);outline-offset:2px;box-shadow:0 0 0 4px var(--hom-ivory)}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link.screen-reader-text:focus{clip:auto;clip-path:none;height:auto;width:auto;background:var(--hom-forest);color:var(--hom-ivory);padding:12px 18px;z-index:100000;top:8px;left:8px;border-radius:var(--hom-r-sm)}
hr{border:0;border-top:1px solid var(--hom-stone)}

.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.hom-btn,a.hom-btn,.hom-filters .button,.hom-empty .button,.woocommerce-page .button,
.wp-element-button,.wc-block-components-button:not(.is-link){
  font-family:var(--hom-sans)!important;font-weight:500;font-size:15px;line-height:1.2;letter-spacing:.01em;
  background:var(--hom-forest)!important;color:var(--hom-ivory)!important;border:1px solid var(--hom-forest)!important;
  border-radius:var(--hom-r-sm)!important;padding:13px 22px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  transition:background-color .15s ease,color .15s ease,border-color .15s ease;min-height:46px;box-shadow:none;cursor:pointer}
.woocommerce a.button:hover,.woocommerce button.button:hover,.hom-btn:hover,.woocommerce-page .button:hover,
.wp-element-button:hover,.wc-block-components-button:not(.is-link):hover{background:var(--hom-forest-dk)!important;border-color:var(--hom-forest-dk)!important;color:#fff!important}
.hom-btn--outline,a.hom-btn--outline{background:transparent!important;color:var(--hom-forest)!important}
.hom-btn--outline:hover{background:var(--hom-forest)!important;color:var(--hom-ivory)!important}
.woocommerce .button.disabled,.woocommerce button.button:disabled,.woocommerce button.button.disabled,.hom-buy-now.disabled{opacity:.55;cursor:not-allowed}
.elementor-button{border-radius:var(--hom-r-sm)}

.woocommerce form .input-text,.woocommerce select,.woocommerce-page select,.hom-filters select,.hom-search input[type=search],
.woocommerce textarea,.hom-personalise textarea,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.elementor-field-group .elementor-field-textual{
  font-family:var(--hom-sans);font-size:16px;color:var(--hom-ink);background:var(--hom-white);
  border:1px solid #BFB8A9;border-radius:var(--hom-r-sm);padding:11px 14px;min-height:46px;line-height:1.4;box-shadow:none}
.woocommerce select,.hom-filters select{appearance:none;-webkit-appearance:none;padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23173C32' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center}
.woocommerce form .input-text:focus,.woocommerce select:focus,.hom-filters select:focus,.hom-search input:focus,.hom-personalise textarea:focus,.elementor-field-group .elementor-field-textual:focus{border-color:var(--hom-forest);outline:2px solid var(--hom-forest);outline-offset:0}
label,.woocommerce form .form-row label{font-weight:500;color:var(--hom-ink)}
.elementor-field-group .elementor-field-label{font-weight:500;color:var(--hom-ink);margin-bottom:6px}
.elementor-message.elementor-message-success{color:var(--hom-forest)}
.elementor-message.elementor-message-danger,.elementor-error .elementor-field{color:#9B2C1F}

.hom-header{background:var(--hom-ivory);border-bottom:1px solid var(--hom-stone);position:relative;z-index:50}
.hom-logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--hom-forest)}
.hom-logo__mark{width:52px;height:52px;flex:none;display:block}
.hom-logo__mark svg{width:100%;height:100%;display:block}
.hom-logo__text{display:flex;flex-direction:column;line-height:1}
.hom-logo__name{font-family:var(--hom-serif);font-size:25px;color:var(--hom-forest);white-space:nowrap;letter-spacing:.005em}
.hom-logo__sub{font-family:var(--hom-sans);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--hom-muted);margin-top:7px}
.hom-logo--light,.hom-logo--light .hom-logo__name{color:var(--hom-ivory)}
.hom-logo--light .hom-logo__sub{color:#C9D3CB}
.hom-search{display:flex;align-items:stretch;width:100%;max-width:560px;position:relative}
.hom-search input[type=search]{flex:1;border-radius:var(--hom-r-sm) 0 0 var(--hom-r-sm);border-right:0;min-width:0}
.hom-search button{background:var(--hom-forest);color:var(--hom-ivory);border:1px solid var(--hom-forest);border-radius:0 var(--hom-r-sm) var(--hom-r-sm) 0;padding:0 16px;min-width:50px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.hom-search button:hover{background:var(--hom-forest-dk)}
.hom-header-icons{display:flex;align-items:center;gap:6px;justify-content:flex-end}
.hom-icon-link{display:inline-flex;align-items:center;gap:8px;color:var(--hom-ink);text-decoration:none;font-size:15px;font-weight:500;padding:10px;border-radius:var(--hom-r-sm);position:relative}
.hom-icon-link:hover{background:var(--hom-sage);color:var(--hom-forest)}
.hom-icon-link svg{flex:none;color:var(--hom-forest)}
.hom-cart-count{display:inline-flex;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--hom-forest);color:var(--hom-ivory);font-size:12px;font-weight:600;align-items:center;justify-content:center;line-height:1}
.hom-nav-row{border-top:1px solid var(--hom-stone)}
.hom-header .elementor-nav-menu--main .elementor-item{font-family:var(--hom-sans);font-weight:500;font-size:15px;color:var(--hom-ink);padding:15px 14px}
.hom-header .elementor-nav-menu--main .elementor-item:hover,.hom-header .elementor-nav-menu--main .elementor-item.elementor-item-active,.hom-header .elementor-nav-menu--main .elementor-item.highlighted{color:var(--hom-forest)}
.hom-header .elementor-nav-menu--main .elementor-item:after{background-color:var(--hom-copper)!important;height:2px!important}
.hom-header .elementor-nav-menu--dropdown{background:var(--hom-white);border:1px solid var(--hom-stone);border-radius:var(--hom-r-md);box-shadow:var(--hom-shadow);padding:6px 0}
.hom-header .elementor-nav-menu--dropdown a{font-family:var(--hom-sans);font-size:15px;color:var(--hom-ink)!important;padding:10px 18px!important;border-left:0!important}
.hom-header .elementor-nav-menu--dropdown a:hover,.hom-header .elementor-nav-menu--dropdown a:focus,.hom-header .elementor-nav-menu--dropdown a.highlighted{background:var(--hom-sage)!important;color:var(--hom-forest)!important}
.hom-header .elementor-menu-toggle{background:transparent;color:var(--hom-forest);border:1px solid var(--hom-stone);border-radius:var(--hom-r-sm);padding:9px}
.hom-header .elementor-menu-toggle:hover{background:var(--hom-sage)}
.hom-header .elementor-nav-menu--dropdown.elementor-nav-menu__container{margin-top:8px!important}
.hom-announce{background:var(--hom-forest);color:var(--hom-ivory);font-size:14px;text-align:center}
.hom-announce a{color:var(--hom-ivory)}
.hom-announce p{margin:0}
@media (max-width:1024px){
  .hom-logo__name{font-size:21px}.hom-logo__mark{width:44px;height:44px}
  .hom-icon-link__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}
@media (max-width:767px){
  .hom-logo__sub{display:none}.hom-logo__name{font-size:19px}.hom-logo__mark{width:38px;height:38px}.hom-logo{gap:9px}
  .hom-search{max-width:none}
  .hom-header .elementor-nav-menu--dropdown{border-radius:0;border-left:0;border-right:0;box-shadow:none}
  .hom-header .elementor-nav-menu--dropdown a{padding:14px 20px!important;font-size:16px}
}

.hom-footer{background:var(--hom-forest);color:var(--hom-ivory)}
.hom-footer,.hom-footer p,.hom-footer li,.hom-footer address,.hom-footer .elementor-widget-text-editor{color:#EEF0E8;font-size:15px;line-height:1.65}
.hom-footer h2,.hom-footer h3,.hom-footer .elementor-heading-title{color:var(--hom-ivory)!important;font-family:var(--hom-serif);font-size:19px;font-weight:400;margin-bottom:14px}
.hom-footer a{color:var(--hom-ivory);text-decoration:none}
.hom-footer a:hover{text-decoration:underline;color:#fff}
.hom-footer :focus-visible{outline-color:var(--hom-ivory);box-shadow:0 0 0 4px var(--hom-forest)}
.hom-footer ul.hom-links{list-style:none;margin:0;padding:0}
.hom-footer ul.hom-links li{margin:0 0 8px}
.hom-footer address{font-style:normal}
.hom-footer .hom-rule{border-top:1px solid rgba(250,247,240,.22)}
.hom-footer .hom-legal p{font-size:14px;color:#D7DDD5;margin:0}
.hom-social{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--hom-r-sm);border:1px solid rgba(250,247,240,.45);color:var(--hom-ivory)}
.hom-social:hover{background:var(--hom-ivory);color:var(--hom-forest)!important}
.hom-social svg{width:20px;height:20px;fill:currentColor}
.hom-footer .hom-hours th,.hom-footer .hom-hours td{color:#EEF0E8}
.hom-payments{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:14px}
.hom-payments ul{display:flex;gap:8px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.hom-payments li{border:1px solid rgba(250,247,240,.4);border-radius:var(--hom-r-sm);padding:3px 9px}

.hom-hours{border-collapse:collapse;width:100%;max-width:340px;margin:0}
.hom-hours th,.hom-hours td{padding:5px 0;text-align:left;font-weight:400;border:0;background:none!important;font-size:15px}
.hom-hours td{text-align:right;font-variant-numeric:tabular-nums}
.hom-contact-details{font-style:normal;line-height:1.75}
.hom-contact-links{margin-top:12px}

.site-main{max-width:var(--hom-wrap);margin-inline:auto;padding-inline:20px}
body:not(.elementor-page) .site-main.post-type-page,body.hom-prose-page .site-main{max-width:820px;padding-top:48px;padding-bottom:72px}
.page-header .entry-title{font-size:clamp(2rem,1.5rem + 2vw,2.7rem);margin-bottom:.4em}
body:not(.elementor-page) .page-content{font-size:17px}
body:not(.elementor-page) .page-content h2{font-size:1.6rem;margin-top:1.8em;padding-top:.3em}
body:not(.elementor-page) .page-content h3{font-size:1.25rem;margin-top:1.4em}
body:not(.elementor-page) .page-content p,body:not(.elementor-page) .page-content li{max-width:68ch}
body:not(.elementor-page) .page-content ul,body:not(.elementor-page) .page-content ol{padding-left:1.25em}
body:not(.elementor-page) .page-content li{margin-bottom:.4em}
.hom-callout{background:var(--hom-sage);border-radius:var(--hom-r-md);padding:20px 24px;margin:1.5em 0}
.hom-callout p:last-child{margin-bottom:0}
.hom-updated{color:var(--hom-muted);font-size:15px}
.page-content table{border-collapse:collapse;width:100%;margin:1em 0 1.6em;font-size:15.5px}
.page-content table th,.page-content table td{border:1px solid var(--hom-stone);padding:10px 12px;text-align:left;vertical-align:top;background:var(--hom-white)}
.page-content table th{background:var(--hom-sage);font-weight:600}

.woocommerce .woocommerce-breadcrumb{font-size:14px;color:var(--hom-muted);margin:0 0 18px}
.woocommerce .woocommerce-breadcrumb a{color:var(--hom-forest)}
.woocommerce-products-header__title.page-title,.woocommerce-products-header h1{margin:0 0 10px}
.term-description{max-width:68ch;color:var(--hom-muted)}
.post-type-archive-product .site-main,.tax-product_cat .site-main,.search-results .site-main,.search-no-results .site-main,.single-product .site-main{padding-top:32px;padding-bottom:72px}
.hom-catnav ul,.hom-subcatnav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.hom-catnav{margin:6px 0 12px}
.hom-catnav a,.hom-subcatnav a{display:inline-block;padding:8px 14px;border:1px solid var(--hom-stone);border-radius:var(--hom-r-sm);background:var(--hom-white);text-decoration:none;color:var(--hom-ink);font-size:15px}
.hom-catnav a:hover,.hom-subcatnav a:hover{border-color:var(--hom-forest);color:var(--hom-forest)}
.hom-catnav a[aria-current],.hom-subcatnav a[aria-current]{background:var(--hom-forest);color:var(--hom-ivory);border-color:var(--hom-forest)}
.hom-subcatnav{margin:0 0 12px}
.hom-subcatnav a{background:transparent;font-size:14px;padding:6px 12px}
.hom-subcatnav .count{color:inherit;opacity:.75}
.hom-filters{border:1px solid var(--hom-stone);border-radius:var(--hom-r-md);background:var(--hom-white);margin:6px 0 22px;clear:both}
.hom-filters summary{cursor:pointer;padding:13px 18px;font-weight:500;list-style:none;display:flex;align-items:center;gap:10px}
.hom-filters summary::-webkit-details-marker{display:none}
.hom-filters summary:before{content:"";width:16px;height:12px;background:linear-gradient(var(--hom-forest),var(--hom-forest)) 0 0/16px 2px no-repeat,linear-gradient(var(--hom-forest),var(--hom-forest)) 3px 5px/10px 2px no-repeat,linear-gradient(var(--hom-forest),var(--hom-forest)) 6px 10px/4px 2px no-repeat}
.hom-filters[open] summary{border-bottom:1px solid var(--hom-stone)}
.hom-filters__form{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;padding:16px 18px 6px}
.hom-field{display:flex;flex-direction:column;gap:6px;min-width:200px;flex:1 1 200px;max-width:280px}
.hom-field label{font-size:14px}
.hom-filters__actions{display:flex;gap:14px;align-items:center}
.hom-filters__clear{font-size:15px}
.hom-filters__note{font-size:14px;color:var(--hom-muted);margin:6px 18px 14px}
.woocommerce .woocommerce-result-count{font-size:15px;color:var(--hom-muted);margin:10px 0 18px}
.woocommerce .woocommerce-ordering{margin:0 0 18px}
.woocommerce .woocommerce-ordering select{min-width:220px}

.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px;margin:0 0 32px!important;padding:0;clear:both}
.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;display:flex;flex-direction:column;background:var(--hom-white);border:1px solid var(--hom-stone);border-radius:var(--hom-r-md);overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease}
.woocommerce ul.products li.product:hover{box-shadow:var(--hom-shadow);border-color:#CFC8B9}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;text-decoration:none;color:inherit}
.woocommerce ul.products li.product a img{aspect-ratio:1/1;object-fit:cover;width:100%;margin:0!important;background:#F1EEE6;border-bottom:1px solid var(--hom-stone)}
.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product h2{font-family:var(--hom-sans)!important;font-size:15.5px!important;font-weight:500;line-height:1.4;color:var(--hom-ink);padding:14px 16px 4px!important;margin:0}
.woocommerce ul.products li.product .price{font-family:var(--hom-sans);color:var(--hom-forest)!important;font-weight:600;font-size:16px!important;padding:2px 16px 14px;margin:auto 0 0!important;display:block}
.woocommerce ul.products li.product .price del{color:var(--hom-muted);font-weight:400;opacity:1}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .button{margin:0 16px 16px!important;width:calc(100% - 32px);font-size:14px;padding:10px 14px;min-height:42px;background:transparent!important;color:var(--hom-forest)!important}
.woocommerce ul.products li.product .button:hover{background:var(--hom-forest)!important;color:var(--hom-ivory)!important}
.woocommerce ul.products li.product .added_to_cart{margin:-8px 16px 14px;font-size:14px}
.woocommerce span.onsale{background:var(--hom-forest);color:var(--hom-ivory);border-radius:var(--hom-r-sm);min-height:0;min-width:0;line-height:1;padding:7px 10px;font-weight:600;font-size:13px;top:10px;left:10px;right:auto;margin:0}
.woocommerce ul.products li.product-category a{display:flex;flex-direction:column;text-decoration:none}
.woocommerce ul.products li.product-category h2{font-family:var(--hom-serif)!important;font-size:19px!important;font-weight:400;padding:14px 16px!important}
.woocommerce ul.products li.product-category mark{background:none;color:var(--hom-muted);font-family:var(--hom-sans);font-size:14px}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:6px;justify-content:center}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:42px;min-height:42px;display:flex;align-items:center;justify-content:center;border:1px solid var(--hom-stone);border-radius:var(--hom-r-sm);background:var(--hom-white);color:var(--hom-ink);font-size:15px}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--hom-forest);color:var(--hom-ivory);border-color:var(--hom-forest)}
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--hom-sage)}
.hom-empty{background:var(--hom-white);border:1px solid var(--hom-stone);border-radius:var(--hom-r-md);padding:36px;text-align:left;max-width:720px}
.hom-empty .hom-search{margin-top:14px}
@media (max-width:1024px){.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14.5px!important;padding:12px 12px 4px!important}
  .woocommerce ul.products li.product .price{padding:2px 12px 12px}
  .woocommerce ul.products li.product .button{margin:0 12px 12px!important;width:calc(100% - 24px);font-size:13.5px;padding:9px 8px}
  .hom-field{max-width:none}
  .woocommerce .woocommerce-ordering,.woocommerce .woocommerce-result-count{float:none;width:100%}
  .woocommerce .woocommerce-ordering select{width:100%}
}

.single-product div.product{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:start}
.single-product div.product .woocommerce-product-gallery,.single-product div.product .summary{width:auto!important;float:none!important;margin:0!important}
.single-product div.product .woocommerce-tabs,.single-product div.product .related,.single-product div.product .upsells{grid-column:1 / -1}
.single-product .woocommerce-product-gallery{position:relative}
.single-product .woocommerce-product-gallery__wrapper{border-radius:var(--hom-r-lg);overflow:hidden;background:#F1EEE6}
.single-product .woocommerce-product-gallery .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:10px!important}
.single-product .woocommerce-product-gallery .flex-control-thumbs li{width:auto!important;float:none!important;margin:0!important}
.single-product .woocommerce-product-gallery .flex-control-thumbs img{border-radius:var(--hom-r-sm);border:1px solid var(--hom-stone);opacity:.75}
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1;border-color:var(--hom-forest)}
.single-product .woocommerce-product-gallery__trigger{background:var(--hom-white)!important;border:1px solid var(--hom-stone);border-radius:var(--hom-r-sm)!important;width:40px!important;height:40px!important}
.single-product div.product .product_title{font-size:clamp(1.7rem,1.3rem + 1.4vw,2.35rem);margin-bottom:12px}
.single-product div.product p.price,.single-product div.product span.price{color:var(--hom-forest)!important;font-family:var(--hom-sans);font-size:24px!important;font-weight:600;margin:0 0 16px}
.single-product div.product p.price del{color:var(--hom-muted);font-weight:400;font-size:18px}
.single-product div.product p.price ins{text-decoration:none}
.single-product .woocommerce-product-details__short-description{color:var(--hom-ink);margin-bottom:20px;max-width:60ch}
.single-product div.product form.cart{margin:0 0 18px;padding:20px;background:var(--hom-white);border:1px solid var(--hom-stone);border-radius:var(--hom-r-md)}
.single-product div.product form.cart .variations{margin:0 0 12px;border:0;width:100%}
.single-product div.product form.cart .variations tr{display:flex;flex-direction:column;margin-bottom:12px}
.single-product div.product form.cart .variations th,.single-product div.product form.cart .variations td{display:block;padding:0;text-align:left;line-height:1.4;border:0;background:none}
.single-product div.product form.cart .variations th label{font-size:15px;margin-bottom:6px;display:block}
.single-product div.product form.cart .variations select{width:100%;max-width:none;margin:0}
.single-product div.product form.cart .reset_variations{font-size:14px;display:inline-block;margin-top:8px}
.single-product .woocommerce-variation-price .price{font-size:20px!important;margin:4px 0 6px}
.single-product .woocommerce-variation-availability p.stock{margin:0 0 10px;font-size:15px}
.single-product .woocommerce-variation-description p{font-size:15px;color:var(--hom-muted)}
.single-product div.product form.cart .woocommerce-variation-add-to-cart,.single-product div.product form.cart:not(.variations_form){display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.single-product div.product form.cart .quantity{margin:0!important;display:flex}
.single-product div.product form.cart .quantity .qty{width:84px;min-height:50px;text-align:center;font-size:16px;border:1px solid #BFB8A9;border-radius:var(--hom-r-sm);background:var(--hom-white)}
.single-product div.product form.cart .single_add_to_cart_button,.single-product div.product form.cart .hom-buy-now{flex:1 1 150px;min-height:50px;font-size:16px;margin:0!important;float:none!important}
.single-product div.product form.cart .single_add_to_cart_button{background:transparent!important;color:var(--hom-forest)!important}
.single-product div.product form.cart .single_add_to_cart_button:hover:not(.disabled){background:var(--hom-sage)!important;color:var(--hom-forest)!important}
.single-product div.product form.cart .hom-buy-now{background:var(--hom-forest)!important;color:var(--hom-ivory)!important}
.hom-form-msg{flex-basis:100%;margin:6px 0 0;color:#9B2C1F;font-size:15px;display:none}
.hom-personalise{flex-basis:100%;margin:0 0 6px}
.single-product div.product form.cart .hom-personalise{order:-1}
.hom-personalise label{display:block;font-size:15px;margin-bottom:6px}
.hom-personalise__req{font-weight:400;color:var(--hom-muted);font-size:14px}
.hom-personalise textarea{width:100%;min-height:90px;resize:vertical}
.hom-personalise__help{font-size:14px;color:var(--hom-muted);margin:6px 0 0}
.hom-purchase-notes{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:8px;font-size:15px}
.hom-purchase-notes li{display:flex;gap:10px;align-items:flex-start}
.hom-purchase-notes svg{flex:none;margin-top:3px;color:var(--hom-forest)}
.single-product .product_meta{font-size:14.5px;color:var(--hom-muted);border-top:1px solid var(--hom-stone);padding-top:14px;display:grid;gap:4px}
.single-product .product_meta a{color:var(--hom-forest)}
.woocommerce div.product .woocommerce-tabs{margin-top:24px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 24px!important;display:flex;gap:4px;border-bottom:1px solid var(--hom-stone);overflow-x:auto}
.woocommerce div.product .woocommerce-tabs ul.tabs:before{display:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li:before,.woocommerce div.product .woocommerce-tabs ul.tabs li:after{display:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:12px 16px!important;font-weight:500;color:var(--hom-muted)!important;border-bottom:2px solid transparent;white-space:nowrap}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--hom-forest)!important;border-bottom-color:var(--hom-copper)}
.woocommerce div.product .woocommerce-tabs .panel{max-width:800px;margin:0 0 40px}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:1.35rem;margin-top:1.4em}
.woocommerce table.shop_attributes{border:1px solid var(--hom-stone);border-radius:var(--hom-r-md);border-collapse:separate;overflow:hidden}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{border-bottom:1px solid var(--hom-stone)!important;padding:12px 14px!important;font-style:normal;background:var(--hom-white)!important}
.woocommerce table.shop_attributes th{background:var(--hom-sage)!important;width:200px;font-weight:600}
.woocommerce table.shop_attributes td p{padding:0}
.single-product .related>h2,.single-product .upsells>h2{font-size:1.8rem;margin:16px 0 22px}
.woocommerce div.product .stock{color:var(--hom-forest)}
@media (max-width:900px){.single-product div.product{grid-template-columns:1fr;gap:24px}}

.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{border-radius:var(--hom-r-md)!important;border:1px solid var(--hom-stone)!important;border-left:4px solid var(--hom-forest)!important;background:var(--hom-white)!important;color:var(--hom-ink)!important;font-size:15.5px}
.woocommerce-error,.wc-block-components-notice-banner.is-error{border-left-color:#9B2C1F!important}
.woocommerce-message:before,.woocommerce-info:before{color:var(--hom-forest)!important}
.woocommerce-message .button{margin-left:12px}

.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{font-family:var(--hom-sans);color:var(--hom-ink)}
.wc-block-components-sidebar .wc-block-components-panel,.wc-block-components-totals-wrapper{border-color:var(--hom-stone)!important}
.wc-block-cart .wc-block-cart__totals-title,.wc-block-components-title,.wc-block-components-checkout-step__title{font-family:var(--hom-serif)!important;font-weight:400!important;text-transform:none!important;letter-spacing:0!important;font-size:1.3rem!important}
.wc-block-components-product-name{color:var(--hom-ink)!important;font-weight:500}
.wc-block-components-product-price,.wc-block-components-totals-item__value,.wc-block-formatted-money-amount{font-variant-numeric:tabular-nums}
.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input,.wc-blocks-components-select select,.wc-block-components-textarea{border-color:#BFB8A9!important;border-radius:var(--hom-r-sm)!important;background:var(--hom-white)!important}
.wc-block-components-text-input.is-active input,.wc-block-components-text-input input:focus{border-color:var(--hom-forest)!important;box-shadow:0 0 0 1px var(--hom-forest)!important}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked{background:var(--hom-forest)!important;border-color:var(--hom-forest)!important}
.wc-block-components-radio-control__input:checked{border-color:var(--hom-forest)!important}
.wc-block-components-radio-control__input:checked:before{background:var(--hom-forest)!important}
.wc-block-cart-item__remove-link{color:var(--hom-forest)!important}
.wc-block-components-quantity-selector{border-radius:var(--hom-r-sm)!important;border-color:#BFB8A9!important}
.wc-block-components-quantity-selector:after{border-color:#BFB8A9!important;border-radius:var(--hom-r-sm)!important}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title{font-family:var(--hom-serif)}
.woocommerce-cart .site-main,.woocommerce-checkout .site-main,.woocommerce-account .site-main{padding-top:40px;padding-bottom:72px;max-width:var(--hom-wrap)}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;border:1px solid var(--hom-stone);border-radius:var(--hom-r-md);background:var(--hom-white);overflow:hidden}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:12px 16px;border-bottom:1px solid var(--hom-stone);text-decoration:none}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--hom-sage);font-weight:600}
.woocommerce form.login,.woocommerce form.register,.woocommerce form.track_order,.woocommerce form.checkout_coupon,.woocommerce form.lost_reset_password{border:1px solid var(--hom-stone)!important;border-radius:var(--hom-r-md)!important;background:var(--hom-white);padding:24px!important}
.woocommerce form.track_order{max-width:640px}
.woocommerce form.track_order .form-row-first,.woocommerce form.track_order .form-row-last{width:100%;float:none}

.hom-section{padding-block:clamp(48px,6vw,88px)}
.hom-hero{background:var(--hom-ivory)}
.hom-hero__media img{border-radius:var(--hom-r-lg);aspect-ratio:1/1;object-fit:cover;width:100%}
.hom-hero h1{font-size:clamp(2.2rem,1.4rem + 2.8vw,3.4rem);line-height:1.08;margin-bottom:18px;max-width:14ch}
.hom-hero .hom-lede{font-size:clamp(1.05rem,1rem + .3vw,1.2rem);color:var(--hom-muted);max-width:44ch;margin-bottom:28px}
.hom-btn-row{display:flex;flex-wrap:wrap;gap:12px}
.hom-kicker{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--hom-forest);font-weight:600;margin-bottom:14px;display:inline-flex;align-items:center;gap:10px}
.hom-kicker:before{content:"";width:28px;height:2px;background:var(--hom-copper)}
.hom-sage{background:var(--hom-sage)}
.hom-white{background:var(--hom-white)}
.hom-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.hom-section-head h2{margin:0}
.hom-section-head p{margin:6px 0 0;color:var(--hom-muted);max-width:60ch}
.hom-link-arrow{font-weight:500;text-decoration:none;white-space:nowrap;border-bottom:1px solid currentColor;padding-bottom:2px}
.hom-link-arrow:after{content:" \2192"}
.hom-cats ul.products li.product-category img{aspect-ratio:4/3;object-fit:cover}
.hom-feature{background:var(--hom-white);border:1px solid var(--hom-stone);border-radius:var(--hom-r-lg);overflow:hidden}
.hom-feature__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1;display:block}
.hom-spec{list-style:none;padding:0;margin:18px 0 26px;border-top:1px solid var(--hom-stone)}
.hom-spec li{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--hom-stone);font-size:15.5px}
.hom-spec li span:first-child{color:var(--hom-muted)}
.hom-spec li span:last-child{text-align:right;font-weight:500}
.hom-price-line{font-size:22px;font-weight:600;color:var(--hom-forest);margin:0 0 20px}
.hom-tile{position:relative;border-radius:var(--hom-r-lg);overflow:hidden;background:var(--hom-white);border:1px solid var(--hom-stone);display:flex;flex-direction:column;height:100%;text-decoration:none;color:var(--hom-ink)}
.hom-tile img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}
.hom-tile__body{padding:18px 20px 22px}
.hom-tile__body h3{margin:0 0 6px;font-size:1.3rem}
.hom-tile__body p{margin:0;color:var(--hom-muted);font-size:15.5px}
.hom-tile:hover{box-shadow:var(--hom-shadow)}
.hom-tile:hover h3{color:var(--hom-forest)}
.hom-about-text p{max-width:62ch}
.hom-service{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--hom-stone);border-radius:var(--hom-r-lg);background:var(--hom-white);overflow:hidden}
.hom-service a{display:flex;gap:16px;padding:24px;text-decoration:none;color:var(--hom-ink);border-right:1px solid var(--hom-stone)}
.hom-service a:last-child{border-right:0}
.hom-service a:hover{background:var(--hom-sage)}
.hom-service svg{flex:none;color:var(--hom-forest);width:28px;height:28px}
.hom-service strong{display:block;font-family:var(--hom-serif);font-weight:400;font-size:1.15rem;margin-bottom:4px}
.hom-service span{color:var(--hom-muted);font-size:15px}
@media (max-width:860px){.hom-service{grid-template-columns:1fr}.hom-service a{border-right:0;border-bottom:1px solid var(--hom-stone)}.hom-service a:last-child{border-bottom:0}}
.hom-faq details{border-bottom:1px solid var(--hom-stone);background:transparent}
.hom-faq details:first-of-type{border-top:1px solid var(--hom-stone)}
.hom-faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font-size:17.5px;font-weight:500;position:relative}
.hom-faq summary::-webkit-details-marker{display:none}
.hom-faq summary:after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;margin-top:-8px;border-right:2px solid var(--hom-forest);border-bottom:2px solid var(--hom-forest);transform:rotate(45deg);transition:transform .15s ease}
.hom-faq details[open] summary:after{transform:rotate(-135deg);margin-top:-2px}
.hom-faq details>div{padding:0 0 20px;max-width:68ch;color:var(--hom-ink)}
.hom-faq details>div p:last-child{margin-bottom:0}
.hom-cta{background:var(--hom-forest);color:var(--hom-ivory);border-radius:var(--hom-r-lg)}
.hom-cta h2,.hom-cta .elementor-heading-title{color:var(--hom-ivory)!important}
.hom-cta p{color:#E2E7DF}
.hom-cta .hom-btn{background:var(--hom-ivory)!important;color:var(--hom-forest)!important;border-color:var(--hom-ivory)!important}
.hom-cta .hom-btn:hover{background:#fff!important}
.hom-cta :focus-visible{outline-color:var(--hom-ivory);box-shadow:0 0 0 4px var(--hom-forest)}
.hom-products-wrap .woocommerce ul.products{margin-bottom:0!important}
.elementor-widget-text-editor{font-family:var(--hom-sans)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.hom-header,.hom-footer{display:none}}

/* Home components */
.hom-tiles{list-style:none;margin:0;padding:0;display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
.hom-tiles--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.hom-tiles li{margin:0}
.hom-tile__body{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.hom-tile__name{font-family:var(--hom-serif);font-size:1.25rem;line-height:1.2;color:var(--hom-ink)}
.hom-tile:hover .hom-tile__name{color:var(--hom-forest)}
.hom-tile__count{font-size:14px;color:var(--hom-muted);white-space:nowrap}
.hom-tile img{border-bottom:1px solid var(--hom-stone)}
@media (max-width:1024px){.hom-tiles--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.hom-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hom-tile__body{flex-direction:column;gap:2px;padding:12px 14px 14px}.hom-tile__name{font-size:1.05rem}}
.hom-caption{font-size:14px;color:var(--hom-muted);margin:10px 0 0}
.hom-caption a{color:var(--hom-ink)}
.hom-caption .amount{color:var(--hom-forest);font-weight:600}
.hom-chiplist{list-style:none;padding:0;margin:20px 0 28px;display:flex;flex-wrap:wrap;gap:8px}
.hom-chiplist a{display:inline-block;padding:8px 14px;border:1px solid var(--hom-stone);border-radius:var(--hom-r-sm);background:var(--hom-white);text-decoration:none;color:var(--hom-ink);font-size:15px}
.hom-chiplist a:hover{border-color:var(--hom-forest);color:var(--hom-forest)}
.hom-products-2 .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
.hom-visit{background:var(--hom-ivory);border:1px solid var(--hom-stone);border-radius:var(--hom-r-lg);padding:28px}
.hom-visit h3{margin-bottom:12px}
.hom-visit .hom-hours{margin-top:16px;border-top:1px solid var(--hom-stone);padding-top:8px}
.hom-feature h2{margin-bottom:14px}
.hom-feature .elementor-widget-button{margin-top:4px}
.hom-section-head{margin-bottom:28px}
.hom-hero .elementor-widget-image img{border-radius:var(--hom-r-lg);aspect-ratio:1/1;object-fit:cover;width:100%}
.hom-feature .elementor-widget-image,.hom-feature .elementor-widget-image a{height:100%}
.hom-feature .elementor-widget-image img{height:100%;width:100%;object-fit:cover;border-radius:0}
.hom-faq{max-width:860px}
.hom-faq h2{margin-bottom:20px}
.hom-faq>p{margin-top:22px}
.hom-cta h2{margin:0 0 6px}
.hom-cta p{margin:0}
.hom-section .elementor-widget-heading .elementor-heading-title{font-family:var(--hom-serif);font-weight:400}
.hom-footer .hom-logo__mark{width:46px;height:46px}
.hom-footer .hom-logo__name{font-size:22px}
.hom-footer nav ul.hom-links{list-style:none;margin:0;padding:0}
.hom-footer .hom-links li{margin:0 0 9px}
.hom-footer .e-con-inner > .e-con{padding-right:24px}
.hom-legal .elementor-widget-shortcode{margin:0}
.hom-hero .elementor-widget-image img{aspect-ratio:5/4;max-height:520px}
.hom-hero{padding-top:36px!important}
.hom-hero h1{margin-bottom:14px}
.hom-hero .hom-lede{margin-bottom:24px}
@media (max-width:767px){.hom-hero .elementor-widget-image img{aspect-ratio:4/3}}
.hom-feature .elementor-widget-image img{object-position:50% 78%}
.hom-section:has(.hom-service){padding-block:8px 0!important}
.hom-section:has(.hom-faq){padding-top:64px!important;padding-bottom:24px!important}
.hom-section:has(.hom-cta){padding-top:40px!important}
/* Inner pages built in Elementor */
.hom-page-hero{background:var(--hom-sage)}
.hom-page-hero h1{margin:0 0 10px}
.hom-page-hero p{max-width:62ch;margin:0;color:var(--hom-muted);font-size:1.1rem}
.hom-panel{background:var(--hom-white);border:1px solid var(--hom-stone);border-radius:var(--hom-r-lg);padding:28px}
.hom-panel h2,.hom-panel h3{margin-top:0}
.hom-form .elementor-field-group{margin-bottom:16px}
.hom-form .elementor-button{min-height:48px}
.hom-form .elementor-field-required .elementor-field-label:after{color:#9B2C1F}
.hom-prose p,.hom-prose li{max-width:68ch}
@media (max-width:767px){
  .hom-header__top{flex-wrap:wrap!important;column-gap:6px!important}
  .hom-header__top .elementor-widget-shortcode:has(.hom-logo){flex:1 1 0!important;min-width:0}
  .hom-header__top .elementor-widget-shortcode:has(.hom-header-icons){flex:0 0 auto!important}
  .hom-logo__name{font-size:17px}
  .hom-logo__mark{width:32px;height:32px}
  .hom-logo{gap:7px}
  .hom-icon-link{padding:8px 5px}
  .hom-header-icons{gap:0}
  .hom-header .elementor-menu-toggle{padding:7px}
  .hom-announce{font-size:13px;padding-block:7px!important}
  .hom-hero{padding-top:20px!important}
  .hom-kicker{margin-bottom:10px}
  .hom-section-head{margin-bottom:18px}
}
@media (max-width:360px){.hom-logo__name{font-size:15.5px}}
.hom-header .elementor-nav-menu--dropdown a.elementor-item-active,.hom-header .elementor-nav-menu--dropdown a.elementor-sub-item-active{background:var(--hom-sage)!important;color:var(--hom-forest)!important}
.hom-header .elementor-nav-menu--dropdown .sub-menu a,.hom-header .elementor-nav-menu--dropdown a.elementor-sub-item{font-size:15px!important;font-family:var(--hom-sans)!important}
.hom-header .elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-menu a{padding-left:34px!important}
.hom-header .elementor-nav-menu--main .sub-menu a{padding-left:18px!important}
.hom-faq--page h2{margin:40px 0 10px;font-size:1.5rem}
.hom-faq--page h2:first-child{margin-top:0}
.hom-main-nav .menu-item-has-children:focus-within>.sub-menu{display:block!important;opacity:1!important;visibility:visible!important;z-index:60}
.hom-main-nav .menu-item-has-children.hom-kb-closed>.sub-menu{display:none!important}
.hom-header :where(a,button,input):focus-visible{outline:2px solid var(--hom-forest)!important;outline-offset:2px}
.hom-main-nav .elementor-nav-menu--main .sub-menu,.hom-main-nav .sub-menu{min-width:230px!important}
body.page:not(.elementor-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .site-main{max-width:820px;padding-top:56px;padding-bottom:80px}
body.page:not(.elementor-page) .page-header{margin-bottom:8px}
.woocommerce-error,.woocommerce-info,.woocommerce-message{padding:1em 1.5em 1em 3.4em!important;position:relative}
.woocommerce-error::before,.woocommerce-info::before,.woocommerce-message::before{left:1.2em!important;top:1em!important}
.woocommerce-error li{margin:0;padding:0!important}
.hom-empty-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.wp-block-woocommerce-empty-cart-block{padding:40px 0 20px}
.wp-block-woocommerce-empty-cart-block h2{font-size:2rem}
@media (min-width:768px) and (max-width:1024px){.hom-header__top .elementor-widget-shortcode:has(.hom-search){width:100%!important;max-width:100%!important;order:10!important;--order:10!important}.hom-header__top .elementor-widget-shortcode:has(.hom-logo){flex:1 1 auto!important}}
@media (max-width:900px){.single-product div.product{grid-template-columns:minmax(0,1fr)!important}}
.single-product div.product>*{min-width:0}
.single-product div.product form.cart .variations select{max-width:100%;text-overflow:ellipsis}
.single-product div.product form.cart,.single-product div.product form.cart table{max-width:100%}
.page-content td,.page-content th{overflow-wrap:anywhere;word-break:normal}
@media (max-width:600px){.page-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}
.woocommerce table.shop_attributes td,.woocommerce table.shop_attributes th{overflow-wrap:anywhere}
@media (max-width:600px){.woocommerce table.shop_attributes th{width:38%}}
body .site-main{max-width:var(--hom-wrap)!important;width:100%;box-sizing:border-box;padding-inline:20px}
body.page:not(.elementor-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .site-main{max-width:820px!important}
.wp-block-woocommerce-cart.alignwide,.wp-block-woocommerce-checkout.alignwide{margin-left:0!important;margin-right:0!important;max-width:none!important;width:100%}
@media (max-width:767px){body .site-main{padding-inline:16px}}
