/* Presentation only: homepage and editorial pages. Catalog and checkout retain their styles. */
body:is(.store-page-shop-index,.store-page-shop-page) { --gsb-ink:#163f2a; --gsb-muted:#68736b; --gsb-paper:#f7f6f1; background:#f7f6f1!important; color:#172019; }
body:is(.store-page-shop-index,.store-page-shop-page) .theme-universal-header {background:#fffef9!important;border-bottom:1px solid #e3e5df;box-shadow:none!important;color:#163f2a!important;backdrop-filter:none!important}
body:is(.store-page-shop-index,.store-page-shop-page) .theme-u-head {min-height:88px}
body:is(.store-page-shop-index,.store-page-shop-page) .theme-u-brand img {max-width:210px;max-height:66px;object-fit:contain}
body:is(.store-page-shop-index,.store-page-shop-page) .storefront-announcement {background:#163f2a!important;color:white!important}
.store-page-shop-index .storefront-stage {background:transparent!important;border:0!important;box-shadow:none!important;padding:24px 0!important}
.store-page-shop-index .storefront-home__content {gap:28px!important}
.store-page-shop-index .store-section {background:transparent!important;border:0!important;box-shadow:none!important;color:#172019!important;border-radius:18px!important}
.store-page-shop-index .store-section[data-id^="gsb-"] {padding:0!important;min-height:0!important;overflow:hidden}
.store-page-shop-index .store-section[data-id^="gsb-"] > h2:empty,.store-page-shop-index .store-section[data-id^="gsb-"] .image-content-layer > h2:empty {display:none}
.store-page-shop-index .store-section[data-id^="gsb-"] .image-content-layer {position:static!important;padding:0!important;background:none!important;transform:none!important;max-width:none!important}
.store-page-shop-index .gsb-hero {display:grid;grid-template-columns:1.05fr 1fr;align-items:center;min-height:480px;background:linear-gradient(115deg,#edece2,#fffefb);padding:clamp(24px,4vw,60px);gap:32px}
.store-page-shop-index .gsb-hero h1 {font-family:Georgia,serif!important;font-size:clamp(36px,4.8vw,68px)!important;line-height:1.08!important;letter-spacing:-.045em;color:#163f2a!important;margin:20px 0!important;font-weight:500}
.store-page-shop-index .gsb-hero h1 em {font-style:normal;color:#5f866c}
.store-page-shop-index .gsb-hero > img {width:100%!important;height:400px!important;max-height:400px!important;object-fit:contain!important;border-radius:14px;mix-blend-mode:multiply}
.store-page-shop-index .gsb-hero p:not(.gsb-eyebrow),.store-page-shop-index .gsb-services p:not(.gsb-eyebrow),.store-page-shop-index .gsb-story > p:not(.gsb-eyebrow) {font-size:17px;line-height:1.8;color:#68736b;max-width:530px}
.store-page-shop-index .gsb-eyebrow {font-size:11px!important;letter-spacing:.2em!important;text-transform:uppercase;font-weight:700!important;color:#5f866c!important;margin:0 0 16px!important}
.store-page-shop-index .gsb-actions {display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:28px}
.store-page-shop-index .gsb-button {display:inline-flex;align-items:center;justify-content:center;gap:14px;background:#163f2a!important;color:white!important;text-decoration:none!important;padding:14px 24px;border-radius:8px;font-weight:600;font-size:14px}
.store-page-shop-index .gsb-button:hover {background:#2f6446!important}
.store-page-shop-index .gsb-actions > a:not(.gsb-button),.store-page-shop-index .gsb-story > a {color:#163f2a!important;font-weight:600;text-underline-offset:5px}
.store-page-shop-index .gsb-services {display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:48px;background:#eaf0e7;padding:clamp(24px,4vw,52px)}
.store-page-shop-index .gsb-services h2,.store-page-shop-index .gsb-story h2 {font-family:Georgia,serif!important;font-size:clamp(27px,3vw,42px)!important;line-height:1.16!important;color:#163f2a!important;font-weight:500;letter-spacing:-.025em}
.store-page-shop-index .gsb-service-grid {display:grid;grid-template-columns:1fr 1fr;gap:14px}
.store-page-shop-index .gsb-service-grid > a {position:relative;min-height:140px;padding:24px;background:#fffef9;border:1px solid #dde4d9;border-radius:12px;color:#163f2a;text-decoration:none;transition:transform .2s}
.store-page-shop-index .gsb-service-grid > a:hover {transform:translateY(-3px)}
.store-page-shop-index .gsb-service-grid span {color:#9b8041;font-size:12px;letter-spacing:.1em}
.store-page-shop-index .gsb-service-grid h3 {font-family:Georgia,serif;font-size:21px;line-height:1.25;margin:18px 20px 0 0;color:#163f2a!important}
.store-page-shop-index .gsb-service-grid b {position:absolute;right:18px;bottom:18px;color:#9b8041}
.store-page-shop-index .gsb-story {padding:52px;background:linear-gradient(110deg,#eeeade,#fafaf6);text-align:center}
.store-page-shop-index .gsb-story > p {margin-left:auto;margin-right:auto}
.store-page-shop-index .storefront-category-ribbon {background:#fffef9!important;border:1px solid #e3e5df!important;border-radius:14px;padding:12px!important}
.store-page-shop-index .storefront-category-ribbon a {color:#163f2a!important;border:0!important;background:transparent!important}
.store-page-shop-index .storefront-category-ribbon a :is(strong,span) {white-space:normal!important;text-overflow:clip!important}
.store-page-shop-index .product-card {background:#fff!important;border:1px solid #e3e5df!important;border-radius:14px!important;box-shadow:none!important;overflow:hidden;color:#172019!important}
.store-page-shop-index .product-card .product-image {background:#f5f4ef!important}
.store-page-shop-index .product-card img {object-fit:contain}
.store-page-shop-index .product-card .btn {background:#163f2a!important;border-color:#163f2a!important;color:white!important;border-radius:7px!important}
.store-page-shop-index .product-card :is(h3,h4,.product-name,.product-price) {color:#172019!important}
.store-page-shop-index .product-card .product-description {color:#68736b!important}
.store-page-shop-index .section-head h2 {font-family:Georgia,serif;color:#163f2a!important;font-size:30px}
.store-page-shop-index .designer-product-card {background:#fffef9!important;border:1px solid #e3e5df!important;border-radius:14px!important;box-shadow:none!important;overflow:hidden}
.store-page-shop-index .designer-product-media {background:#f4f3ed!important}
.store-page-shop-index .designer-product-copy {color:#172019!important}
body.store-page-shop-index .theme-main-region .designer-product-cart-button {background:#163f2a!important;border-color:#163f2a!important;color:#fff!important;border-radius:8px!important;box-shadow:none!important}
body.store-page-shop-index .theme-main-region .designer-product-copy > span {color:#163f2a!important}
.store-page-shop-index [data-product-group-tab] {background:transparent!important;border:0!important;color:#163f2a!important;font:500 28px/1.3 Georgia,serif!important;box-shadow:none!important;padding:0 0 18px!important}
.store-page-shop-page .page-design-stage,.store-page-shop-page .page-designer-surface {background:#fffef9!important;color:#172019!important;border:1px solid #e3e5df!important;box-shadow:none!important;backdrop-filter:none!important;border-radius:16px}
.store-page-shop-page .content-page-inner {max-width:900px;margin:auto;padding:clamp(22px,4vw,56px)!important}
.store-page-shop-page .content-page-inner > h1 {font-family:Georgia,serif;color:#163f2a;font-size:clamp(32px,4vw,48px);line-height:1.15}
.gsb-page-copy {font-size:16px;line-height:1.85;color:#26382b;overflow-wrap:anywhere}
.gsb-page-copy :is(h2,h3,h4) {color:#163f2a!important;line-height:1.35;margin:1.6em 0 .7em;font-family:Georgia,serif}
.gsb-page-copy h2 {font-size:27px}
.gsb-page-copy p {margin:0 0 1em}
.gsb-page-copy img {max-width:100%;height:auto;max-height:420px;object-fit:contain;border-radius:12px}
.gsb-page-copy table {display:block;overflow-x:auto;max-width:100%;border-collapse:collapse}
.gsb-page-copy :is(td,th) {padding:12px;border:1px solid #e3e5df}
.gsb-page-copy a,.gsb-contact-cta a {color:#2f6446;text-underline-offset:3px}
.gsb-contact-cta {padding:24px;background:#eaf0e7;border-radius:12px}
body:not(.admin-root) .theme-universal-footer {background:#eaf0e6!important;color:#304d38!important;border-top:1px solid #cdd9c8;box-shadow:none!important}
body:not(.admin-root) .theme-universal-footer .theme-u-footer-inner {background:transparent!important;padding-top:32px;padding-bottom:28px}
body:not(.admin-root) .theme-universal-footer [data-localized-footer-banners] {grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:start}
body:not(.admin-root) .theme-universal-footer .theme-u-footer-inner :is(h2,h3) {color:#163f2a!important;opacity:1!important;font-weight:700}
body:not(.admin-root) .theme-universal-footer .theme-u-footer-inner :is(p,span) {color:#304d38!important;opacity:1!important}
body:not(.admin-root) .theme-universal-footer .theme-u-footer-inner a {color:#2f573b!important;opacity:1!important;text-decoration:none}
body:not(.admin-root) .theme-universal-footer .theme-u-footer-inner a:hover {color:#163f2a!important;text-decoration:underline;text-underline-offset:4px}
body:not(.admin-root) .theme-universal-footer [data-theme-slot="footer-categories"] {display:flex!important;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 28px}
body:not(.admin-root) .theme-universal-footer [data-theme-slot="footer-categories"] h3 {margin:0 12px 0 0}
body:not(.admin-root) .theme-universal-footer .theme-u-footer-bottom {background:transparent!important;border-top:1px solid #cdd9c8;color:#405846!important}
body:not(.admin-root) .theme-universal-footer .theme-u-footer-bottom span {color:#405846!important;opacity:1!important}
body:not(.admin-root) .theme-universal-footer .footer-directory {display:block!important;border-top:1px solid #cdd9c8}
body:not(.admin-root) .theme-universal-footer [data-theme-slot="footer-extra-pages"] {display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:24px}
body:not(.admin-root) .theme-universal-footer [data-theme-slot="footer-extra-pages"] h3 {margin:0 12px 0 0}
body:not(.admin-root) .theme-universal-footer .footer-business-address {white-space:pre-line}
body:not(.admin-root) .theme-universal-footer [data-theme-slot="footer-business"] img {max-width:210px;max-height:70px;object-fit:contain}
body:is(.store-page-shop-index,.store-page-shop-page) a:focus-visible {outline:3px solid #a07b2c;outline-offset:4px}
@media(max-width:760px) {
 .store-page-shop-page .page-design-stage,.store-page-shop-page .page-designer-surface {padding:8px!important;border:0!important}
 .store-page-shop-index .gsb-hero,.store-page-shop-index .gsb-services {grid-template-columns:1fr;gap:24px}
 .store-page-shop-index .gsb-hero {padding:28px 22px;min-height:0}
 .store-page-shop-index .gsb-hero > img {height:260px!important;max-height:260px!important}
 .store-page-shop-index .gsb-service-grid {gap:10px}
 .store-page-shop-index .gsb-service-grid > a {padding:18px;min-height:135px}
 .store-page-shop-index .gsb-story {padding:32px 22px}
 .store-page-shop-index .storefront-stage {padding:12px 0!important}
}
@media(prefers-reduced-motion:reduce) {.gsb-service-grid > a {transition:none}}

/* Keep product information below the gallery and in the normal page flow. */
body.store-page-shop-details[data-theme-layout]:not(.admin-root) .theme-product-detail__layout {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 24px !important;
}
body.store-page-shop-details[data-theme-layout]:not(.admin-root) :is(.theme-product-detail__gallery, .theme-product-detail__summary) {
  position: static !important;
  inset-block-start: auto;
  min-inline-size: 0;
}
body.store-page-shop-details[data-theme-layout]:not(.admin-root) .theme-product-detail__gallery .detail-image-shell {
  aspect-ratio: auto;
  block-size: clamp(260px, 45vw, 460px);
}

/* Category navigation in the header and catalogue. */
.header-product-categories{position:relative;display:flex;align-items:center}
.header-category-toggle{border:0;background:transparent;color:inherit;padding:10px 8px;cursor:pointer}
.header-category-list{display:none;position:absolute;top:100%;left:0;width:300px;max-width:calc(100vw - 32px);padding:12px;background:#fffef9;border:1px solid #dbe3d6;border-radius:12px;box-shadow:0 14px 32px #163f2a24;z-index:1000}
.header-product-categories.is-open>.header-category-list{display:block}
@media(min-width:981px) and (hover:hover){.header-product-categories:hover>.header-category-list,.header-product-categories:focus-within>.header-category-list{display:block}}
.header-category-list a{display:block;padding:10px;color:#244437;text-decoration:none;border-radius:7px}
.header-category-list a:hover{background:#eaf0e6}
.header-category-list .side-category-link-copy{display:flex;align-items:center;gap:12px}
.header-category-list img{width:30px;height:30px;object-fit:contain}
@media(min-width:981px){body.store-page-shop-products:not(.admin-root) .theme-catalog-sidebar#catalogSidebar{display:grid!important;visibility:visible!important;transform:none!important}body.store-page-shop-products:not(.admin-root) .theme-catalog-shell.has-catalog-sidebar{grid-template-columns:260px minmax(0,1fr)!important}}
@media(max-width:980px){.header-category-list{position:static;width:100%;box-shadow:none}.header-product-categories{flex-wrap:wrap}.header-category-list .side-category-flyout{position:static}body.store-page-shop-products:not(.admin-root) .theme-catalog-sidebar#catalogSidebar.is-open{display:grid!important}}

@media(max-width:980px), (hover:none) {
 .header-category-list{position:static;flex-basis:100%;width:100%;max-width:100%;box-shadow:none}
 .header-product-categories{flex-wrap:wrap;align-items:center}
 .header-product-categories > .theme-u-nav-link{flex:1}
 .header-category-toggle{min-width:44px;min-height:44px}
 .header-category-list a{min-height:44px}
}
body.store-page-shop-products[data-theme-layout]:not(.admin-root) .catalog-filter-trigger {
 inline-size:auto;min-inline-size:0;block-size:auto;min-block-size:44px;
 grid-auto-flow:column;gap:8px;padding:8px 12px!important;
}

@media(max-width:980px) {
 body[data-theme-engine="universal"]:not(.admin-root) .theme-u-items {
  justify-content:flex-start!important;overflow-x:hidden;overflow-anchor:none;
 }
}

/* Mobile featured cards need room for both photography and long product names. */
@media(max-width:760px) {
 body.store-page-shop-index[data-theme-layout]:not(.admin-root) .store-section[data-id="featured-products"] .designer-product-card {
  display:flex!important;flex-direction:column;aspect-ratio:auto!important;
  height:auto!important;min-height:0!important;padding:10px!important;gap:12px;
 }
 body.store-page-shop-index[data-theme-layout]:not(.admin-root) .store-section[data-id="featured-products"] .designer-product-main-link {
  display:flex!important;flex-direction:column;height:auto!important;flex:1;gap:12px;
 }
 body.store-page-shop-index[data-theme-layout]:not(.admin-root) .store-section[data-id="featured-products"] .designer-product-media {
  display:block;flex:none;width:100%!important;height:auto!important;aspect-ratio:1;
  min-height:0!important;padding:0!important;
 }
 body.store-page-shop-index[data-theme-layout]:not(.admin-root) .store-section[data-id="featured-products"] .designer-product-media img {
  width:100%!important;height:100%!important;max-height:none!important;padding:4px!important;object-fit:contain!important;
 }
 body.store-page-shop-index[data-theme-layout]:not(.admin-root) .store-section[data-id="featured-products"] .designer-product-copy {
  display:flex;flex-direction:column;gap:10px;flex:1;height:auto!important;
 }
 body.store-page-shop-index[data-theme-layout]:not(.admin-root) .store-section[data-id="featured-products"] .designer-product-copy strong {
  display:block!important;font-size:14px!important;line-height:1.4!important;
  height:auto!important;max-height:none!important;overflow:visible!important;
  -webkit-line-clamp:unset;white-space:normal;overflow-wrap:anywhere;
 }
 body.store-page-shop-index[data-theme-layout]:not(.admin-root) .store-section[data-id="featured-products"] .designer-product-copy > span {
  font-size:15px!important;line-height:1.4;margin-top:auto;
 }
}

@media(max-width:760px) {
 body.store-page-shop-index .store-section[data-id="featured-products"] {container-type:inline-size}
 body.store-page-shop-index .store-section[data-id="featured-products"] :is(.section-head h2, .store-product-group-tabs button) {
  font-size:clamp(18px, 6cqi, 28px)!important;line-height:1.25!important;
  min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;
 }
 body.store-page-shop-index .store-section[data-id="featured-products"] .store-product-group-tabs {
  flex-wrap:wrap;overflow:visible;
 }
}
