:root {
  --gt-a-bg: #f5f7f4;
  --gt-a-surface: #ffffff;
  --gt-a-ink: #17221f;
  --gt-a-muted: #68736f;
  --gt-a-accent: #2e7469;
  --gt-a-accent-dark: #1e514a;
  --gt-a-line: #d7dfda;
  --gt-a-soft: #eaf0eb;
  --gt-a-container: 1240px;
  --gt-a-radius: 3px;
}

html { scroll-behavior: smooth; }
body,
body.light { background: var(--gt-a-bg) !important; color: var(--gt-a-ink) !important; }
body, button, input, select, textarea { font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif !important; }
body a { color: var(--gt-a-accent-dark); }
body a:hover { color: var(--gt-a-accent); }

#header,
#header .header-wrapper,
#header .header-main,
#header .header-bottom,
#header .header-nav { background: var(--gt-a-bg) !important; }
#header { border-bottom: 1px solid var(--gt-a-line); box-shadow: none !important; }
#header .header-top { display: none !important; }
#header .header-main { min-height: 74px !important; border-bottom: 1px solid var(--gt-a-line); }
#header .header-main .header-inner,
#header .header-bottom .header-inner { width: min(calc(100% - 48px), var(--gt-a-container)); margin: 0 auto; }
#header .header-main .header-inner { min-height: 74px; }
#header .header-bottom { min-height: 42px !important; border-bottom: 1px solid var(--gt-a-line); }
#header .header-bottom .header-inner { min-height: 42px; }
#header .header-bottom .header-nav { min-height: 42px; justify-content: flex-end; }
#header .header-bottom .nav > li > a,
#header .header-main .nav > li > a { min-height: 42px; padding: 12px 15px !important; color: var(--gt-a-ink) !important; font-size: 12px !important; font-weight: 800 !important; letter-spacing: .04em; }
#header .header-bottom .nav > li > a:hover,
#header .header-bottom .nav > li.active > a,
#header .header-main .nav > li > a:hover { color: var(--gt-a-accent-dark) !important; background: transparent !important; }
#header .header-bottom .nav > li > a:after { background: var(--gt-a-accent) !important; height: 2px !important; }
#header .header-main .nav-left { min-width: 0; }
#header .header-main .nav-left .header-search-form,
#header .header-main .nav-left .searchform { max-width: 190px; margin-left: 28px; }
#header .header-main .nav-left .searchform input { height: 38px; border: 1px solid var(--gt-a-line); border-radius: var(--gt-a-radius); background: var(--gt-a-surface); box-shadow: none; color: var(--gt-a-ink); }
#header .header-main .nav-left .searchform .button { height: 38px; border: 1px solid var(--gt-a-accent); background: transparent; color: var(--gt-a-accent-dark); }
#header .header-main .nav-right > li > a { color: var(--gt-a-ink) !important; font-size: 12px !important; }
#header .header-main .nav-right .cart-icon strong { border-color: var(--gt-a-accent); color: var(--gt-a-accent-dark); }
#header .header-main .nav-right .cart-icon strong:after { border-color: var(--gt-a-accent); }
#logo img { max-height: 42px !important; width: auto; }
#logo a { color: var(--gt-a-ink); }

.page-header-excerpt { display: none !important; }
.page-wrapper,
.archive .page-wrapper,
.single-product .page-wrapper { padding-top: 38px !important; padding-bottom: 72px !important; }
.row, .row.row-large, .row.row-main { max-width: var(--gt-a-container); }
.col, .row > .col { padding-bottom: 24px; }
h1, h2, h3, h4, h5, h6 { color: var(--gt-a-ink) !important; font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif !important; letter-spacing: -.045em; line-height: 1.08; }
h1 { font-size: clamp(38px, 4.8vw, 72px) !important; }
h2 { font-size: clamp(30px, 3.5vw, 48px) !important; }
h3 { font-size: clamp(22px, 2.4vw, 32px) !important; }
p, li { color: var(--gt-a-muted); }

.button,
button.button,
input[type="submit"],
input[type="button"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button { min-height: 50px; padding: 0 22px !important; border: 1px solid transparent !important; border-radius: var(--gt-a-radius) !important; background: var(--gt-a-accent) !important; box-shadow: none !important; color: #fff !important; font-size: 12px !important; font-weight: 800 !important; letter-spacing: .03em; text-shadow: none !important; }
.button:hover,
button.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover { background: var(--gt-a-accent-dark) !important; color: #fff !important; }
.button.secondary,
.button.is-outline,
.woocommerce a.button.alt { border-color: var(--gt-a-accent) !important; background: transparent !important; color: var(--gt-a-accent-dark) !important; }

/* Homepage: replace the old full-width image slider with a calm two-column hero. */
.page-id-97 #content { padding-top: 0; }
.page-id-97 .slider-wrapper { width: min(calc(100% - 48px), var(--gt-a-container)); height: 560px !important; margin: 0 auto 0; overflow: hidden; background: var(--gt-a-surface); }
.page-id-97 .slider { height: 560px !important; background: var(--gt-a-surface); }
.page-id-97 .flickity-viewport,
.page-id-97 .flickity-slider { height: 560px !important; }
.page-id-97 .flickity-slider { transform: none !important; }
.page-id-97 .slider .banner { display: none !important; }
.page-id-97 .slider .banner.is-selected { display: grid !important; position: absolute !important; inset: 0 !important; width: 100% !important; height: 560px !important; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); background: var(--gt-a-surface); }
.page-id-97 .banner-bg,
.page-id-97 .banner-link { display: none !important; }
.page-id-97 .banner:after { position: absolute; z-index: 0; top: 66px; right: 58px; bottom: 66px; width: 39%; border: 1px solid var(--gt-a-line); background-image: radial-gradient(circle, rgba(46,116,105,.72) 1.5px, transparent 1.9px); background-size: 15px 15px; content: ""; opacity: .95; transform: rotate(-4deg); }
.page-id-97 .banner:before { position: absolute; z-index: 1; top: 67px; right: 58px; bottom: 66px; width: 39%; border-top: 1px solid rgba(46,116,105,.35); border-bottom: 1px solid rgba(46,116,105,.35); content: "GRIDTACK / 01"; color: var(--gt-a-accent-dark); font-size: 10px; font-weight: 800; letter-spacing: .14em; padding: 18px 20px; box-sizing: border-box; }
.page-id-97 .banner-layers { z-index: 2; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; position: relative !important; display: flex !important; align-items: center; }
.page-id-97 .banner .text-box { position: static !important; width: 61% !important; max-width: 650px !important; height: auto !important; padding: 62px 48px 62px 72px !important; transform: none !important; }
.page-id-97 .banner .text-box-content,
.page-id-97 .banner .text-inner { width: 100% !important; max-width: 560px; text-align: left !important; }
.page-id-97 .banner .text-box h1,
.page-id-97 .banner .text-box h1 strong { margin: 0 0 24px !important; color: var(--gt-a-ink) !important; font-size: clamp(40px, 5vw, 70px) !important; line-height: .98 !important; text-shadow: none !important; }
.page-id-97 .banner .text-box p { max-width: 510px; margin: 0 0 27px !important; color: var(--gt-a-muted) !important; font-size: 18px !important; line-height: 1.55; text-shadow: none !important; }
.page-id-97 .banner .text-box .button { margin: 0 !important; }
.page-id-97 .flickity-page-dots,
.page-id-97 .flickity-prev-next-button { display: none !important; }
.page-id-97 #content > .row { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr); gap: 56px; padding: 72px 48px 84px; background: var(--gt-a-surface); }
.page-id-97 #content > .row > .col { width: auto !important; padding: 0; }
.page-id-97 #content > .row h2:first-child { margin-top: 0; }
.page-id-97 #content > .row h3 { margin-top: 36px; }
.page-id-97 #content > .row ul { padding-left: 20px; }
.page-id-97 #content > .row > .col:last-child { padding: 8px 0 0 30px; border-left: 2px solid var(--gt-a-accent); }
.page-id-97 #content > .row > .col:last-child h3 { margin-top: 0; }
.page-id-97 #content > .row > .col:last-child a { display: inline-flex; margin-top: 12px; }

/* Selector: turn the category cards into a quiet two-column choice. */
.page-id-19319 #content { width: min(calc(100% - 48px), var(--gt-a-container)); margin: 0 auto; padding: 0 0 70px; }
.page-id-19319 #content > .row-main { max-width: none; margin: 0; }
.page-id-19319 #content > .row-main > .col { width: 100%; padding: 0; }
.page-id-19319 #content > .row-main > .col > .col-inner { padding: 0; }
.page-id-19319 #content > .row-main > .col > .col-inner > .row:first-child { margin: 0 0 40px; padding: 0 0 28px; border-bottom: 1px solid var(--gt-a-line); }
.page-id-19319 #content > .row-main > .col > .col-inner > .row:first-child h1 { max-width: 720px; margin: 0 auto 20px; text-align: center !important; font-size: clamp(34px, 4.2vw, 60px) !important; }
.page-id-19319 #content > .row-main > .col > .col-inner > .row:first-child p { max-width: 760px; margin: 0 auto 12px; text-align: center !important; font-size: 17px; }
.page-id-19319 .products { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 0 !important; }
.page-id-19319 .products > .product-category { width: auto !important; padding: 0 !important; margin: 0 !important; }
.page-id-19319 .product-category { width: 100% !important; max-width: none !important; flex: none !important; min-width: 0 !important; }
.page-id-19319 .product-category .col-inner { width: 100% !important; padding: 0 !important; }
.page-id-19319 .product-category .box { min-height: 250px; display: flex; flex-direction: column; border: 1px solid var(--gt-a-line); border-radius: var(--gt-a-radius); background: var(--gt-a-surface); box-shadow: none; }
.page-id-19319 .product-category .box:hover { border-color: var(--gt-a-accent); box-shadow: none; }
.page-id-19319 .product-category .box-image { display: none !important; }
.page-id-19319 .product-category .box-text { position: static !important; min-height: 250px; display: flex; align-items: stretch; padding: 28px !important; background: transparent !important; }
.page-id-19319 .product-category .box-text-inner { width: 100%; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; text-align: left; }
.page-id-19319 .product-category .header-title { max-width: 380px; margin: 0 !important; overflow-wrap: anywhere; color: var(--gt-a-ink) !important; font-size: 27px !important; line-height: 1.08; text-transform: none !important; }
.page-id-19319 .product-category .count { margin: 15px 0 0 !important; color: var(--gt-a-muted) !important; font-size: 11px !important; }

/* Product page: remove the source sidebar and make the purchase path two-column. */
.single-product .page-wrapper { width: min(calc(100% - 48px), var(--gt-a-container)); margin: 0 auto; }
.single-product .product-main { width: 100%; }
.single-product .product-main .content-row { display: block !important; max-width: none; margin: 0 !important; }
.single-product #product-sidebar { display: none !important; }
.single-product .product-main .content-row > .large-9 { width: 100% !important; padding: 0 !important; }
.single-product .product-main .content-row > .large-9 > .row { display: grid !important; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); gap: 24px; margin: 0 !important; }
.single-product .product-gallery,
.single-product .product-info { width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; float: none !important; }
.single-product .product-gallery { min-width: 0; }
.single-product .product-images { min-height: 550px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--gt-a-line); border-radius: var(--gt-a-radius); background: var(--gt-a-surface); box-shadow: none; }
.single-product .product-images .woocommerce-product-gallery__image { width: 100%; }
.single-product .product-images img { max-height: 470px; object-fit: contain; }
.single-product .product-images:has(img[src*="revofol_placeholder"]) { background-image: radial-gradient(circle, rgba(46,116,105,.55) 1.4px, transparent 1.8px); background-size: 15px 15px; }
.single-product .product-images:has(img[src*="revofol_placeholder"]) img { visibility: hidden; }
.single-product .product-info { align-self: start; min-height: 550px; padding: 42px !important; border: 1px solid var(--gt-a-line); border-radius: var(--gt-a-radius); background: var(--gt-a-surface); }
.single-product .product-info .product-title { max-width: 580px; margin: 0 0 22px; color: var(--gt-a-ink) !important; font-size: clamp(34px, 4.2vw, 58px) !important; line-height: .99; }
.single-product .product-info .price { margin: 0 0 20px; color: var(--gt-a-accent-dark); font-size: 21px; font-weight: 800; }
.single-product .product-info .woocommerce-product-details__short-description { color: var(--gt-a-muted); font-size: 16px; }
.single-product .variations_form { margin-top: 28px !important; }
.single-product .variations_form label,
.single-product .variations_form .label { color: var(--gt-a-accent-dark) !important; font-size: 12px; font-weight: 800; }
.single-product .variations_form select,
.single-product .product-info input.qty { min-height: 48px; border: 1px solid var(--gt-a-line) !important; border-radius: var(--gt-a-radius) !important; background: #fff !important; box-shadow: none !important; color: var(--gt-a-ink) !important; }
.single-product .single_add_to_cart_button { min-width: 190px; }
.single-product .product-footer { width: 100%; margin-top: 24px; }
.single-product .woocommerce-tabs { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 28px 0 0 !important; border-top: 1px solid var(--gt-a-line); }
.single-product .woocommerce-tabs .tabs { border-bottom: 1px solid var(--gt-a-line); }
.single-product .woocommerce-tabs .tabs li a { color: var(--gt-a-accent-dark) !important; font-size: 12px; }
.single-product .woocommerce-tabs .tab-panels { padding: 20px 0 !important; }

/* Shared WooCommerce surfaces. */
.woocommerce-cart .page-wrapper,
.woocommerce-checkout .page-wrapper { width: min(calc(100% - 48px), var(--gt-a-container)); margin: 0 auto; }
.woocommerce-cart .shop_table,
.woocommerce-checkout form.checkout,
.woocommerce-checkout .woocommerce-checkout-review-order { border: 1px solid var(--gt-a-line); border-radius: var(--gt-a-radius); background: var(--gt-a-surface); box-shadow: none; }
.woocommerce-cart .cart-empty { border: 1px solid var(--gt-a-line); background: var(--gt-a-surface); color: var(--gt-a-ink); }
.woocommerce-cart .return-to-shop { text-align: left; }
#footer { background: var(--gt-a-ink) !important; color: #e7eeea; }
#footer .footer-widgets { padding: 62px 0 46px; }
#footer .footer-widgets .container,
#footer .absolute-footer .container { width: min(calc(100% - 48px), var(--gt-a-container)); margin: 0 auto; }
#footer .widget-title,
#footer .footer-secondary { color: #9ed0c5 !important; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
#footer a,
#footer p,
#footer li { color: #b7c3be !important; font-size: 13px; }
#footer a:hover { color: #fff !important; }
#footer .absolute-footer { border-top: 1px solid rgba(255,255,255,.16); background: var(--gt-a-ink) !important; }

@media (max-width: 900px) {
  #header .header-main .header-inner,
  #header .header-bottom .header-inner { width: calc(100% - 32px); }
  #header .header-bottom .header-nav { justify-content: center; }
  #header .header-bottom .nav > li > a { padding-inline: 9px !important; font-size: 11px !important; }
  .page-id-97 .slider-wrapper,
  .page-id-97 .slider,
  .page-id-97 .flickity-viewport,
  .page-id-97 .flickity-slider { height: 520px !important; }
  .page-id-97 .slider .banner.is-selected { height: 520px !important; grid-template-columns: 1fr .82fr; }
  .page-id-97 .banner .text-box { width: 66% !important; padding: 48px 26px 48px 42px !important; }
  .page-id-97 .banner:after,
  .page-id-97 .banner:before { right: 32px; width: 38%; }
  .page-id-97 #content > .row { gap: 32px; padding-inline: 32px; }
  .single-product .product-main .content-row > .large-9 > .row { grid-template-columns: minmax(0, 1fr) minmax(310px, .9fr); }
  .single-product .product-info { padding: 30px !important; }
}

@media (max-width: 600px) {
  #header .header-main { min-height: 62px !important; }
  #header .header-main .header-inner { min-height: 62px; }
  #header .header-bottom { min-height: 40px !important; }
  #header .header-bottom .header-inner { min-height: 40px; }
  #header .header-bottom .nav > li > a { padding: 11px 5px !important; font-size: 10px !important; }
  #header .header-main .nav-left .header-search-form,
  #header .header-main .nav-left .searchform { display: none; }
  #logo img { max-height: 34px !important; }
  .page-wrapper,
  .archive .page-wrapper,
  .single-product .page-wrapper,
  .page-id-19319 #content,
  .woocommerce-cart .page-wrapper,
  .woocommerce-checkout .page-wrapper { width: calc(100% - 32px); padding-top: 24px !important; }
  .page-id-97 .slider-wrapper { width: calc(100% - 32px); height: 460px !important; }
  .page-id-97 .slider,
  .page-id-97 .flickity-viewport,
  .page-id-97 .flickity-slider { height: 460px !important; }
  .page-id-97 .slider .banner.is-selected { height: 460px !important; grid-template-columns: 1fr; }
  .page-id-97 .banner:after { top: 238px; right: 18px; bottom: 18px; left: 18px; width: auto; transform: none; }
  .page-id-97 .banner:before { top: 238px; right: 18px; bottom: 18px; left: 18px; width: auto; }
  .page-id-97 .banner-layers { align-items: flex-start !important; }
  .page-id-97 .banner .text-box { width: 100% !important; max-width: none !important; padding: 32px 24px 0 !important; }
  .page-id-97 .banner .text-box h1,
  .page-id-97 .banner .text-box h1 strong { max-width: 350px; font-size: 37px !important; }
  .page-id-97 .banner .text-box p { max-width: 330px; font-size: 15px !important; }
  .page-id-97 #content > .row { display: block; padding: 42px 20px 58px; }
  .page-id-97 #content > .row > .col:last-child { margin-top: 34px; padding: 0 0 0 18px; border-left-width: 2px; }
  .page-id-19319 .products { grid-template-columns: 1fr; gap: 14px; }
  .page-id-19319 .product-category .box,
  .page-id-19319 .product-category .box-text { min-height: 190px; }
  .page-id-19319 .product-category .box-text { padding: 22px !important; }
  .page-id-19319 .product-category .header-title { font-size: 24px !important; }
  .single-product .product-main .content-row > .large-9 > .row { display: block !important; }
  .single-product .product-gallery { margin-bottom: 16px !important; overflow: hidden; }
  .single-product .product-thumbnails { width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
  .single-product .product-images { min-height: 330px; }
  .single-product .product-images img { max-height: 300px; }
  .single-product .product-info { min-height: 0; padding: 26px 20px !important; }
  .single-product .product-info .product-title { font-size: 36px !important; }
  .single-product .product-footer { margin-top: 16px; }
  .single-product .woocommerce-tabs .tabs { display: flex; gap: 12px; overflow: auto; }
  #footer .footer-widgets { padding: 42px 0 30px; }
}
