.gffs-shop{color:#263e5a}.gffs-cart-link{text-align:right;margin-bottom:20px;font-size:14px}.gffs-featured{display:grid!important;grid-template-columns:1fr 1fr!important;background:#f4f0e5;padding:24px;gap:32px!important;margin:30px 0}.gffs-card{display:grid;grid-template-columns:minmax(100px,.85fr) 1fr;gap:20px;align-items:center;min-width:0}.gffs-image img{width:100%;height:auto;max-height:400px;object-fit:contain;display:block}.gffs-card a{text-decoration:none}.gffs-copy h2,.gffs-copy h3{margin:10px 0;color:#284b3a}.gffs-copy h2{font-size:36px}.gffs-copy h3{font-size:25px}.gffs-copy p{margin:10px 0}.gffs-intro{font-size:16px;line-height:1.55}.gffs-eyebrow{font:12px/1.5 sans-serif;text-transform:uppercase;letter-spacing:.1em}.gffs-badges{display:flex;gap:5px;flex-wrap:wrap}.gffs-badges span{font:12px/1.5 sans-serif;padding:3px 7px;background:#eee4cd;color:#53482e;border-radius:2px}.gffs-shelf-nav{display:flex;justify-content:center;gap:12px 24px;flex-wrap:wrap;margin:35px 0}.gffs-shelf-nav a{color:#284b3a;text-underline-offset:5px}.gffs-shelf{border-top:1px solid #d9cfba;padding:28px 0;scroll-margin-top:20px}.gffs-shelf h2{font-size:30px;color:#284b3a;margin:0 0 24px}.gffs-commission{text-align:center}.gffs-link{display:inline-block;color:#284b3a!important;border-bottom:1px solid #96702c;padding:5px 0}.gffs-shop .price{font-size:19px;color:#284b3a}.gffs-shop .woocommerce div.product .product_title{font-size:36px}.gffs-shop div.product{width:100%}.gffs-shop div.product::after{content:'';display:table;clear:both}.gffs-shop .woocommerce-product-details__short-description{line-height:1.6}.gffs-shop button.button,.gffs-shop a.button,.gffs-shop input.button{background:#284b3a!important;color:#fffdf8!important;border-radius:2px}.gffs-shop .woocommerce-tabs{clear:both;padding-top:30px}.gffs-shop .woocommerce-product-gallery img{object-fit:contain}.gffs-shop .related{clear:both}.gffs-shop select,.gffs-shop input{max-width:100%}.gffs-shop :focus-visible{outline:2px solid #96702c;outline-offset:4px}.gffs-checkout-note{padding:15px;background:#f4f0e5}
@media(max-width:700px){.gffs-featured{grid-template-columns:1fr!important;padding:18px;gap:16px!important}.gffs-copy h2{font-size:30px}.gffs-card{gap:15px}.gffs-shelf-nav{font-size:15px;gap:12px}.gffs-image img{max-height:340px}.gffs-shop{overflow-wrap:anywhere}}
.gffs-shop div.product .product_title{font-size:36px;line-height:1.15;color:#284b3a;margin:14px 0}.gffs-shop .sku_wrapper,.gffs-shop .ast-woo-product-category{display:none}.gffs-shop div.product .summary{font-size:17px}.gffs-shop div.product p.price{font-size:24px}.gffs-shop .woocommerce-product-gallery__image img{max-height:620px;object-fit:contain}@media(max-width:700px){.gffs-shop div.product .product_title{font-size:29px}}
.gffs-shop .onsale{display:none!important}
.gffs-shop [lang="en"]{font-style:italic;color:#53634f}.gffs-badges span span{padding:0;background:none;border-radius:0}.gffs-shop .woocommerce-Tabs-panel h2[lang="en"]{margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid #dfd6c7}.gffs-shop .gffs-facts{padding-left:1.4em;margin:1.5rem 0 2rem}.gffs-shop .gffs-facts li{margin:.2em 0;line-height:1.4}.gffs-shop .woocommerce-Tabs-panel h2{margin-bottom:1.5rem}.gffs-shop .gff-page-heading h1{max-width:800px;margin-left:auto;margin-right:auto}.gffs-shelf-nav a{text-align:center}.gffs-shelf-nav a [lang="en"]{display:block}.gffs-shelf h2 [lang="en"]{font-size:.8em}
.gffs-shop div.product .gffs-product-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-content:start}.gffs-shop .gffs-product-gallery figure.wp-block-image{margin:0!important;width:100%!important;max-width:none!important}.gffs-shop .gffs-product-gallery .gffs-main-photo{grid-column:1/-1}.gffs-shop .gffs-product-gallery a{display:block;cursor:pointer}.gffs-shop .gffs-product-gallery img{display:block;width:100%;height:auto;object-fit:contain}.gffs-shop .gffs-product-gallery .gffs-main-photo img{max-height:620px}.gffs-shop .gffs-product-gallery figure:not(.gffs-main-photo) img{aspect-ratio:1;object-fit:contain}@media(max-width:700px){.gffs-shop div.product .gffs-product-gallery{width:100%;float:none}}

.gffs-shop .gffs-shelf-nav {
  display: grid;
  grid-template-columns: auto repeat(3, minmax(0, 1fr)) auto;
  align-items: center;
  gap: 0;
  max-width: 690px;
  margin: 35px auto;
}
.gffs-product-actions {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px 20px;
  text-align: start;
}
.gffs-product-actions > a:last-child { margin-inline-start: auto; }
.gffs-shop .product .summary .product_meta {
  border-top: 0;
  padding-top: 0;
}
.gffs-shop .product .summary .product_meta > :is(.posted_in, .sku_wrapper) { display: none; }
.gffs-shop .product .summary form.cart { padding-block-start: 12px; }
.gffs-shop :is(.gffs-intro, .woocommerce-product-details__short-description, .woocommerce-Tabs-panel) [lang="en"] {
  font-style: normal;
}
.gffs-shop :is(.gffs-intro, .woocommerce-product-details__short-description, .woocommerce-Tabs-panel--description) p {
  line-height: 1.45;
}
.gffs-shop :is(.gffs-intro, .woocommerce-product-details__short-description, .woocommerce-Tabs-panel--description) p:has(+ p) {
  margin-bottom: .8em;
}
.gffs-shop :is(.gffs-intro, .woocommerce-product-details__short-description, .woocommerce-Tabs-panel--description) p + p {
  margin-top: 0;
}
.gffs-shop .gffs-product-actions + .gffs-shelf-nav {
  margin-top: 0;
  margin-bottom: 50px;
}
.gffs-shelf-nav a {
  position: relative;
  display: block;
  padding: 6px clamp(4px, 1.5vw, 18px);
  line-height: 1.2;
}
.gffs-shelf-nav a [lang="en"] { margin-top: 2px; }
.gffs-shelf-nav a + a::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 50%;
  height: 1.8em;
  border-inline-start: 1px solid var(--gff-hairline);
  transform: translateY(-50%);
}
.gffs-shelf-ornament {
  color: var(--gff-gold);
  font: 20px/1 Georgia, serif;
}
@media (max-width: 480px) {
  .gffs-shop .gffs-shelf-nav { font-size: clamp(12px, 3.65vw, 15px); }
  .gffs-shelf-ornament { font-size: 13px; }
}
.gffs-shelf {
  border-top: 0;
  margin-block: 12px;
  padding: 26px clamp(8px, 4vw, 36px);
}
.gffs-shelf > h2 {
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  font-size: clamp(34px, 4vw, 44px);
  text-align: center;
}
.gffs-shelf > h2::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 7px;
  background: #c6ae82;
}
.gffs-shelf > .gffs-products:empty { display: none; }
.gffs-shelf:has(> .gffs-products:empty) > h2 { margin-bottom: 0; }
.gffs-shelf-note { text-align: center; }
.gffs-shelf-note p { margin: 0; line-height: 1.45; }
.gffs-shelf-note p + p { margin-top: .45em; }
.gffs-commission-layout {
  display: grid;
  grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(18px, 4vw, 34px);
  max-width: 660px;
  margin-inline: auto;
}
.gffs-commission-example { display: block; width: 100%; height: auto; }
.gffs-commission-copy { text-align: start; }
.gffs-commission-copy p { margin: 0; line-height: 1.45; }
.gffs-commission-copy p + p { margin-top: .8em; }
.gffs-shop .gffs-commission-copy [lang="en"] { font-style: normal; }
.gffs-commission-contact {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  margin-top: 14px;
  text-decoration: none;
}
.gffs-commission-contact img { display: block; width: 124px; height: auto; }
.gffs-commission-contact-label { border-bottom: 1px solid #96702c; }
@media (max-width: 560px) {
  .gffs-commission-layout { grid-template-columns: minmax(0, 1fr); }
  .gffs-commission-example { max-width: 220px; margin-inline: auto; }
}
.gffs-products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 2.5vw, 24px);
}
.gffs-products > .gffs-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  padding: clamp(10px, 1.6vw, 16px);
  background: #fff;
  text-align: center;
}
.gffs-products .gffs-image {
  position: relative;
  display: block;
  flex: none;
  aspect-ratio: 1;
}
.gffs-products .gffs-image img {
  position: absolute;
  inset: 0;
  height: 100%;
  max-height: none;
}
.gffs-products .gffs-copy h3 { margin: 0; }
.gffs-products .gffs-copy .price { margin: 5px 0 0; font-size: 16px; }
@media (max-width: 700px) {
  .gffs-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gffs-products .gffs-copy h3 { font-size: 22px; }
}
@media (max-width: 440px) {
  .gffs-products { grid-template-columns: minmax(0, 1fr); }
}
.gffs-shop .gffs-featured { padding-block: clamp(28px, 4vw, 40px); }
.gffs-shop .gffs-featured{background:#284b3a;color:#fffaf0}.gffs-shop .gffs-featured h2,.gffs-shop .gffs-featured h2 a,.gffs-shop .gffs-featured .price,.gffs-shop .gffs-featured .price ins,.gffs-shop .gffs-featured .gffs-link{color:#fffaf0!important}.gffs-shop .gffs-featured [lang="en"]{color:#e0e7d9}.gffs-shop .gffs-featured .gffs-eyebrow{color:#ead5a0}.gffs-shop .gffs-featured .gffs-link{border-bottom-color:#d8ba70}.gffs-shop .gffs-featured .gffs-badges>span{background:#eadbb5;color:#3c3829}.gffs-shop .gffs-featured .gffs-badges [lang="en"]{color:#4a4936}.gffs-shop .gffs-featured a:focus-visible{outline-color:#ead5a0}.gffs-shop .gffs-featured .price del{opacity:.8}

.gffs-shop {
  --gffs-link-color: var(--gff-forest-green);
  --gffs-link-hover: var(--gff-bronze);
}
.gff-paper:has(.gffs-storefront) { --gff-paper: #fff; }
.gffs-shop .gffs-featured {
  --gffs-link-color: #fffaf0;
  --gffs-link-hover: #f4d38a;
}
.gffs-shop a:not(.button) { color: var(--gffs-link-color); }
.gffs-shop .gffs-link { text-decoration: none; }
.gffs-shop a:not(.button):is(:hover, :focus-visible),
.gffs-shop a:not(.button):is(:hover, :focus-visible) [lang="en"] {
  color: var(--gffs-link-hover) !important;
}
.gffs-shop :is(.gffs-image, .gffs-product-gallery a):is(:hover, :focus-visible) {
  outline: 2px solid var(--gffs-link-hover);
  outline-offset: 4px;
}
.gffs-shop a.button:is(:hover, :focus-visible) { background: #744b30 !important; }
body:has(.gffs-shop) .gff-primary-nav :is(a, .gff-menu-trigger):is(:hover, :focus-visible) {
  color: var(--gff-bronze);
}
body:has(.gffs-shop) .gff-footer a:is(:hover, :focus-visible) {
  color: #f4d38a;
}
