/*
Theme Name: Green IT Hub Workshop Ledger
Description: Independent WooCommerce theme reproducing the Workshop Ledger design.
Author: Green IT Hub
Version: 1.0.9
Text Domain: greenithub-workshop-ledger
*/

:root { color-scheme:light;
  --bg:#f5f7f3;
  --paper:#fff;
  --ink:#19231d;
  --muted:#68756d;
  --line:#dce3dd;
  --accent:#256844;
  --accent2:#dff0e4;
  --dark:#183b2a;
  --radius:12px;
  --font:'DM Sans',Arial,sans-serif;
  --mono:'DM Mono',monospace;
  --shadow:0 10px 32px #15241a0a }
* { box-sizing:border-box }
body { margin:0;
  background:var(--bg);
  color:var(--ink);
  font:15px/1.5 var(--font) }
a { color:inherit;
  text-decoration:none }
button { font:inherit;
  color:inherit;
  cursor:pointer }
.shell { max-width:1280px;
  margin:auto;
  padding:0 28px }
.utility { background:var(--dark);
  color:#e8f2eb;
  font-size:12px }
.utility .shell { height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between }
.header { background:var(--paper);
  border-bottom:1px solid var(--line) }
.headrow { min-height:78px;
  display:flex;
  align-items:center;
  gap:28px }
.brand { font-weight:800;
  letter-spacing:-.06em;
  font-size:24px;
  white-space:nowrap }
.brand b { color:var(--accent) }
form.search { height:42px;
  border:1px solid var(--line);
  border-radius:7px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 14px;
  flex:1;
  max-width:570px;
  color:var(--muted);
  font-size:14px }
form.search .key { margin-left:auto;
  font:11px var(--mono);
  border:1px solid var(--line);
  padding:1px 6px;
  border-radius:4px }
form.search input { flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit }
.headlinks { margin-left:auto;
  display:flex;
  gap:20px;
  font-size:13px;
  font-weight:600 }
.nav { border-top:1px solid #f0f2ef }
.nav .shell { height:43px;
  display:flex;
  align-items:center;
  gap:27px;
  font-size:13px;
  font-weight:600 }
.mobile-menu { display:none }
.proof { display:flex;
  gap:24px;
  align-items:center;
  color:var(--muted);
  font-size:12px;
  padding:13px 0;
  border-bottom:1px solid var(--line) }
.proof span:first-child { color:var(--accent);
  font-weight:700 }
.crumb { font-size:12px;
  color:var(--muted);
  padding:22px 0 }
.hero { display:grid;
  grid-template-columns:1.05fr .95fr;
  min-height:280px;
  background:var(--accent2);
  border-radius:var(--radius);
  overflow:hidden }
.hero-copy { padding:38px 42px }
.eyebrow { font:11px var(--mono);
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--accent);
  font-weight:500 }
.hero h1 { font-size:clamp(30px,4vw,48px);
  line-height:1.04;
  letter-spacing:-.055em;
  max-width:550px;
  margin:13px 0 }
.hero p { color:var(--muted);
  max-width:470px;
  margin:0 0 20px }
.actions { display:flex;
  gap:10px;
  align-items:center }
.btn { display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--accent);
  color:white;
  border:1px solid var(--accent);
  border-radius:6px;
  padding:11px 17px;
  font-size:13px;
  font-weight:700 }
.btn.secondary { color:var(--ink);
  background:transparent;
  border-color:var(--line) }
.hero-art { min-height:250px;
  display:grid;
  place-items:center;
  position:relative;
  background:linear-gradient(135deg,#d1e6d7,#edf5ed) }
.chip { width:min(70%,310px);
  aspect-ratio:1.3;
  background:linear-gradient(145deg,#182a20,#273c2d);
  border:1px solid #536a59;
  border-radius:14px;
  transform:rotate(-9deg);
  box-shadow:0 24px 40px #16352240;
  position:relative;
  display:grid;
  place-items:center;
  color:#bcddc3;
  font:12px var(--mono);
  letter-spacing:.22em }
.chip:before,.chip:after { content:'';
  position:absolute;
  inset:13px;
  border:1px solid #b6d4bc4d;
  border-radius:8px }
.chip:after { inset:auto;
  width:34%;
  height:23%;
  border:1px solid #77967e;
  background:#25372a;
  right:20px;
  bottom:20px;
  border-radius:4px }
.chip .pins { position:absolute;
  inset:-8px 25px;
  border-top:2px dotted #9fbca5;
  border-bottom:2px dotted #9fbca5 }
.section { margin:34px 0 }
.section-head { display:flex;
  justify-content:space-between;
  align-items:end;
  margin-bottom:15px }
.section h2 { font-size:23px;
  letter-spacing:-.04em;
  margin:0 }
.section-head a { color:var(--accent);
  font-size:13px;
  font-weight:700 }
.cats { display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px }
.cat { background:var(--paper);
  border:1px solid var(--line);
  border-radius:9px;
  padding:15px;
  min-height:94px }
.cat strong { display:block;
  font-size:14px }
.cat small { color:var(--muted);
  font-size:12px }
.cat .symbol { float:right;
  color:var(--accent);
  font:12px var(--mono) }
.feature-grid { display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px }
.product { background:var(--paper);
  border:1px solid var(--line);
  border-radius:9px;
  overflow:hidden;
  min-width:0 }
.prod-img { height:145px;
  background:#f0f3f0;
  display:grid;
  place-items:center;
  position:relative;
  color:#45574a }
.ram { width:68%;
  height:27px;
  background:linear-gradient(#44604b,#1f3728);
  border-radius:4px;
  position:relative;
  box-shadow:0 12px 22px #17291b22 }
.ram:before { content:'';
  position:absolute;
  left:10%;
  right:10%;
  top:6px;
  height:8px;
  background:repeating-linear-gradient(90deg,#94ae91 0 12px,transparent 12px 17px) }
.ram:after { content:'';
  position:absolute;
  left:8%;
  right:8%;
  bottom:-5px;
  border-bottom:5px dotted #b4a966 }
.ssd { width:46%;
  height:82px;
  border-radius:7px;
  background:#252d2a;
  color:#b7cdbb;
  display:grid;
  place-items:center;
  font:10px var(--mono);
  transform:rotate(-8deg);
  box-shadow:0 12px 22px #17291b22 }
.drive { width:85px;
  height:85px;
  border-radius:50%;
  border:7px solid #cbd3cd;
  background:radial-gradient(circle,#66736a 0 8%,#f0f2ef 9% 13%,#89958b 14% 16%,#d9dedb 17%);
  box-shadow:0 8px 22px #17291b22 }
.prod-img .tag { position:absolute;
  top:10px;
  left:10px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:4px;
  padding:3px 6px;
  font:10px var(--mono) }
.prod-copy { padding:12px }
.sku { font:10px var(--mono);
  color:var(--muted) }
.prod-copy h3 { font-size:13px;
  line-height:1.4;
  margin:5px 0 7px;
  min-height:36px }
.spec-pills { display:flex;
  flex-wrap:wrap;
  gap:4px }
.spec-pills span { font:10px var(--mono);
  padding:2px 5px;
  background:#f1f4f1;
  border-radius:3px;
  color:#47564b }
.price-row { display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:12px }
.price { font-size:17px;
  font-weight:800;
  letter-spacing:-.04em }
.stock { font-size:10px;
  color:var(--accent);
  font-weight:700 }
.catalog-head { display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid var(--line);
  padding-bottom:15px }
.catalog-head h1 { font-size:30px;
  letter-spacing:-.05em;
  margin:0 }
.catalog { display:grid;
  grid-template-columns:205px 1fr;
  gap:24px;
  margin-top:20px }
.filters { background:var(--paper);
  border:1px solid var(--line);
  border-radius:9px;
  padding:16px;
  height:max-content }
.filters h3 { font-size:13px;
  margin:0 0 10px }
.filter-group { padding:12px 0;
  border-top:1px solid var(--line);
  font-size:12px }
.filter-group label { display:block;
  margin:7px 0;
  color:var(--muted) }
.filter-group input { accent-color:var(--accent);margin:0 6px 0 0 }
.toolbar { display:flex;
  justify-content:space-between;
  align-items:center;
  color:var(--muted);
  font-size:12px;
  padding:0 0 12px }
.toolbar select { padding:8px 10px;
  border:1px solid var(--line);
  border-radius:5px;
  background:white;
  color:var(--ink) }
.cat-intro { max-width:760px;
  color:var(--muted);
  font-size:14px;
  margin:12px 0 20px }
.buy-guide { display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:18px }
.buy-guide span { border:1px solid var(--line);
  background:var(--paper);
  border-radius:5px;
  padding:6px 9px;
  font-size:11px }
.pdp { display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(350px,.98fr);
  gap:36px }
.gallery { display:grid;
  grid-template-columns:64px 1fr;
  gap:12px }
.thumbs { display:flex;
  flex-direction:column;
  gap:8px }
.thumb { height:62px;
  border:1px solid var(--line);
  background:white;
  border-radius:6px;
  display:grid;
  place-items:center }
.thumb .ram { width:75%;
  height:13px }
.main-photo { min-height:355px;
  border-radius:10px;
  background:#f0f3f0;
  display:grid;
  place-items:center }
.main-photo .ram { height:44px }
.details h1 { font-size:31px;
  line-height:1.15;
  letter-spacing:-.05em;
  margin:8px 0 9px }
.details .lead { color:var(--muted);
  font-size:13px }
.price-big { font-size:29px;
  font-weight:800;
  letter-spacing:-.05em;
  margin:14px 0 }
.availability { padding:10px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  font-size:12px }
.availability b { color:var(--accent) }
.spec-table { width:100%;
  border-collapse:collapse;
  margin:14px 0;
  font-size:12px }
.spec-table th,.spec-table td { text-align:left;
  border-bottom:1px solid var(--line);
  padding:7px 5px }
.spec-table th { color:var(--muted);
  font-weight:500;
  width:38% }
.condition { background:var(--accent2);
  padding:12px;
  border-radius:7px;
  font-size:12px;
  margin:14px 0 }
.buyrow { display:flex;
  gap:9px;
  margin:15px 0 }
.qty { width:64px;
  text-align:center;
  border:1px solid var(--line);
  border-radius:6px }
.policy-grid { display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px }
.policy { background:var(--paper);
  border:1px solid var(--line);
  border-radius:8px;
  padding:13px;
  font-size:12px }
.policy b { display:block;
  margin-bottom:4px }
.tabs { display:flex;
  gap:20px;
  border-bottom:1px solid var(--line);
  margin:28px 0 12px;
  font-size:13px }
.tabs b { padding-bottom:9px;
  border-bottom:2px solid var(--accent) }
.spec-row { display:flex;
  gap:8px;
  align-items:center;
  min-height:29px;
  font-size:12px }
.spec-row label { width:155px;
  color:var(--muted) }
.trust-row { display:flex;
  gap:14px;
  flex-wrap:wrap;
  padding:15px 0;
  color:var(--muted);
  font-size:11px }
.page[hidden] { display:none }
.mobile-nav { display:none }
@media(max-width:760px) {
.shell { padding:0 16px }
.utility .shell { height:31px;
    font-size:10px }
.headrow { min-height:64px;
    gap:10px;
    display:grid;
    grid-template-columns:1fr auto }
.brand { font-size:21px }
.headlinks { display:none }
.headrow form.search { grid-row:2;
    grid-column:1/-1;
    max-width:none;
    margin:0 0 12px;
    height:40px }
.mobile-menu { display:block;
    border:1px solid var(--line);
    background:transparent;
    border-radius:6px;
    padding:7px 10px;
    font-size:12px }
.nav { display:none }
.proof { overflow:auto;
    gap:16px;
    white-space:nowrap;
    padding:10px 0;
    font-size:11px }
.hero { grid-template-columns:1fr;
    min-height:0 }
.hero-copy { padding:26px 22px }
.hero h1 { font-size:35px }
.hero-art { min-height:160px }
.chip { width:195px }
.section { margin:27px 0 }
.section h2 { font-size:20px }
.cats { grid-template-columns:repeat(2,1fr) }
.cat:nth-child(5) { display:none }
.feature-grid { grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px }
.prod-img { height:118px }
.prod-copy { padding:10px }
.prod-copy h3 { font-size:12px }
.catalog { grid-template-columns:1fr;
    gap:12px }
.filters { display:none }
.catalog-head h1 { font-size:25px }
.cat-intro { font-size:13px }
.pdp { grid-template-columns:1fr;
    gap:20px }
.gallery { grid-template-columns:46px 1fr;
    gap:8px }
.thumb { height:48px }
.main-photo { min-height:245px }
.main-photo .ram { height:35px }
.details h1 { font-size:25px }
.policy-grid { grid-template-columns:1fr }
.toolbar { gap:8px }
.toolbar select { max-width:142px }
.crumb { padding:15px 0 }
}
.real-thumb { width:120px;
  height:120px;
  object-fit:contain }
.real-product { display:block;
  width:min(88%,440px);
  height:auto;
  max-height:440px;
  object-fit:contain }
.main-photo { overflow:hidden }
.footer { border-top:1px solid var(--line);
  background:var(--paper);
  padding:24px 0;
  font-size:12px;
  color:var(--muted) }
.footer .shell { display:flex;align-items:center;gap:18px;flex-wrap:wrap }
.footer nav { display:flex;gap:16px;margin-left:auto }
@media(min-width:761px) and (max-width:980px) {
.shell { padding:0 20px }
.cats { grid-template-columns:repeat(3,1fr) }
.feature-grid { grid-template-columns:repeat(3,1fr) }
.headrow { gap:16px }
.headlinks { gap:12px }
.pdp { gap:24px }
}

/* WordPress and WooCommerce integration around the exact preview layout. */
.brand-suffix { color:var(--muted);font-size:10px;letter-spacing:0;margin-left:5px }
.search-submit { display:none }
.proof.shell { width:100%;min-width:0;max-width:1280px;box-sizing:border-box;overflow-x:auto;margin:0 auto;padding:13px 28px;border-bottom:1px solid var(--line) }
.skip-link { position:absolute;left:-9999px;top:auto }
.skip-link:focus { left:12px;top:12px;z-index:1000;background:#fff;padding:10px;border:2px solid var(--accent) }
.board.shell { padding-top:22px;padding-bottom:40px }
.page { min-width:0 }
.page h1,.page h2,.page h3 { color:var(--ink) }
form.search input { min-width:0 }
form.search:focus-within { border-color:var(--accent);box-shadow:0 0 0 2px #25684422 }
.nav .shell { flex-wrap:wrap;gap:8px 24px }
.nav a { padding:10px 0 }
.woocommerce-breadcrumb { padding:0 0 16px;color:var(--muted);font-size:12px }
.woocommerce-breadcrumb a { color:var(--accent) }
.woocommerce ul.products,.woocommerce-page ul.products,.feature-grid.products { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none }
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product { float:none;width:auto;margin:0;min-width:0 }
.woocommerce ul.products li.product a img { width:120px;height:120px;object-fit:contain;margin:0 }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding:0;color:var(--ink);font-size:13px;line-height:1.4;margin:5px 0 7px;min-height:36px }
.woocommerce ul.products li.product .price { margin:0;color:var(--ink);font-size:17px;font-weight:800 }
.woocommerce ul.products li.product .button { display:none }
.prod-img .real-thumb { display:block }
.toolbar .woocommerce-result-count { margin:0 }
.toolbar .woocommerce-ordering { margin:0 }
.toolbar .orderby { max-width:240px }
.empty-stock { padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--paper) }
.empty-stock p { color:var(--muted) }
.product-page .product { margin:0 }
.product-page .woocommerce-product-gallery { float:none!important;width:100%!important;max-width:100%;margin:0;background:#f0f3f0;border-radius:10px;overflow:hidden }
.product-page .woocommerce-product-gallery { display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:start }
.product-page .woocommerce-product-gallery .flex-viewport { grid-column:2;grid-row:1;width:100%!important;min-width:0 }
.product-page .woocommerce-product-gallery__wrapper { margin:0 }
.product-page .woocommerce-product-gallery__image img { width:100%;max-height:500px;object-fit:contain }
.product-page .woocommerce-product-gallery .flex-control-thumbs { grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:8px;margin:8px 0;overflow:auto;list-style:none;padding:0 }
.product-page .woocommerce-product-gallery .flex-control-thumbs li { width:62px!important;float:none!important;flex:none }
.details .summary { float:none!important;width:100%!important;margin:0!important }
.details .product_title { font-size:31px;line-height:1.15;letter-spacing:-.05em;margin:8px 0 9px }
.details .price { color:var(--ink);font-size:29px;font-weight:800;letter-spacing:-.05em }
.details .woocommerce-product-details__short-description,.details .woocommerce-product-rating,.details .product_meta { color:var(--muted);font-size:13px }
.details .stock { margin:10px 0;padding:10px 0;border-block:1px solid var(--line) }
.details .cart { display:flex;align-items:center;gap:9px;margin:15px 0 }
.details .quantity .qty { min-height:44px;width:64px }
.details .single_add_to_cart_button,.woocommerce .button,.wp-block-woocommerce-cart .wc-block-cart__submit-button,.wp-block-woocommerce-checkout .wc-block-components-button { min-height:44px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff;padding:11px 17px;font-weight:700 }
.details .single_add_to_cart_button:hover,.woocommerce .button:hover { background:var(--dark);color:#fff }
.details table.variations { width:100% }
.details .woocommerce-variation-add-to-cart { display:flex;gap:9px;align-items:center }
.product-page .woocommerce-tabs { margin:28px 0 12px }
.product-page .woocommerce-tabs ul.tabs { display:flex;gap:20px;border-bottom:1px solid var(--line);padding:0;margin:0 0 12px }
.product-page .woocommerce-tabs ul.tabs::before,.product-page .woocommerce-tabs ul.tabs::after { display:none }
.product-page .woocommerce-tabs ul.tabs li { border:0;background:transparent;margin:0;padding:0 }
.product-page .woocommerce-tabs ul.tabs li::before,.product-page .woocommerce-tabs ul.tabs li::after { display:none }
.product-page .woocommerce-tabs ul.tabs li a { padding:8px 0;border-bottom:2px solid transparent;font-size:13px }
.product-page .woocommerce-tabs ul.tabs li.active a { border-color:var(--accent) }
.product-page .woocommerce-tabs .panel { margin:0;padding:10px 0 }
.product-page .woocommerce-tabs .panel { overflow-wrap:anywhere }
.woocommerce-product-attributes { width:100%;border-collapse:collapse;font-size:12px }
.woocommerce-product-attributes th,.woocommerce-product-attributes td { padding:7px 5px;border-bottom:1px solid var(--line);text-align:left }
.woocommerce-product-attributes th { width:38%;color:var(--muted);font-weight:500 }
.woocommerce-info,.woocommerce-message,.woocommerce-error { border-top-color:var(--accent);background:var(--paper) }
.page-content .entry-content { max-width:900px }
.page-content .entry-content p,.page-content .entry-content li { line-height:1.65 }
.woocommerce-cart .board,.woocommerce-checkout .board,.woocommerce-account .board { max-width:1120px }
.woocommerce-cart-form,.cart-collaterals,.woocommerce-checkout form,.woocommerce-account .woocommerce { background:var(--paper);padding:18px;border:1px solid var(--line);border-radius:8px }
.woocommerce-cart-form table,.woocommerce-checkout-review-order-table { width:100%;border-collapse:collapse }
.woocommerce-cart-form td,.woocommerce-cart-form th,.woocommerce-checkout-review-order-table td,.woocommerce-checkout-review-order-table th { padding:10px 8px;border-bottom:1px solid var(--line) }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select { min-height:44px;border:1px solid #b9c7bd;border-radius:5px;padding:9px 11px }
.woocommerce form .form-row label { display:block;font-size:13px;font-weight:600 }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none;padding:0 }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:block;padding:10px;border-bottom:1px solid var(--line) }
.tabs a { padding-bottom:9px }
.glh-404 { padding:36px;border:1px solid var(--line);border-radius:10px;background:var(--paper) }
.glh-404 h1 { font-size:clamp(30px,5vw,48px);line-height:1.1;letter-spacing:-.05em }
.footer nav { flex-wrap:wrap }
@media(max-width:760px) {
	.shell,.proof.shell { padding-left:16px;padding-right:16px }
	.proof.shell { display:flex }
	.mobile-menu { position:relative;justify-self:end;display:block;z-index:5;border:0;padding:0;background:transparent }
	.mobile-menu summary { list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-size:12px }
	.mobile-menu summary::-webkit-details-marker { display:none }
	.mobile-nav { display:none;position:absolute;right:0;top:calc(100% + 8px);width:min(280px,calc(100vw - 32px));padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow) }
	.mobile-menu[open] .mobile-nav { display:grid;grid-template-columns:1fr 1fr;gap:0 10px }
	.mobile-nav a { padding:10px 6px;border-bottom:1px solid var(--line);font-size:13px }
	.nav { display:none }
	.woocommerce ul.products,.woocommerce-page ul.products,.feature-grid.products { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px }
	.product-page .woocommerce-product-gallery { float:none }
	.product-page .woocommerce-product-gallery { grid-template-columns:46px minmax(0,1fr);gap:8px }
	.product-page .woocommerce-product-gallery .flex-control-thumbs li { width:46px!important }
	.product-page .product_title { font-size:25px }
	.details .cart { flex-wrap:wrap }
	.product-page .woocommerce-tabs ul.tabs { flex-wrap:wrap;gap:8px 14px }
	.woocommerce-cart-form,.cart-collaterals,.woocommerce-checkout form,.woocommerce-account .woocommerce { padding:12px }
	.footer nav { margin-left:0 }
}
