/* Southern light: forest, stone and aurora. Presentation only. */
body.ash-rimu-theme {
  --ash-ink: #142d2b;
  --ash-bark: #126557;
  --ash-bark-dark: #09493f;
  --ash-copper: #126557;
  --ash-gold: #126557;
  --ash-cream: #e9f0eb;
  --ash-paper: #f5f7f4;
  --ash-mist: #e9f0eb;
  --ash-sage: #126557;
  --ash-line: #ccdad3;
  --ash-card: #fff;
  --ash-muted: #526963;
  --ash-card-shadow: 0 8px 28px rgb(15 51 43 / 5%);
}
body.ash-rimu-theme ::selection { background: #b6f7db; color: #092c25; }
body.ash-rimu-theme :is(h1,h2,h3) { text-wrap: balance; }
body.ash-rimu-theme :is(a,button,summary,input,select,textarea):focus-visible { outline: 3px solid #168572; outline-offset: 4px; }

/* Dark navigation with a bright logo plate and a fine southern-light edge. */
body.ash-shell-active #masthead.site-header {
  background: #0b2523;
  border-top: 2px solid #87edbd;
  border-bottom-color: #274640;
  box-shadow: 0 8px 24px rgb(5 28 23 / 10%);
}
#ash-shell { --ash-ink: #f2f9f5; --ash-line: #38554e; --ash-card: #123630; --ash-cream: #204b42; --ash-bark: #a6f2d1; --ash-bark-dark: #d5ffe9; }
#ash-shell .ash-nav-logo { background: #fff; padding: 3px; border-radius: 3px; }
#ash-shell .ash-nav-brand span { font-weight: 700; letter-spacing: .1em; }
#ash-shell .ash-header-cart a.cart-contents { background: #b9f5d8; color: #10372d; border-color: #b9f5d8; box-shadow: none; }
#ash-shell .ash-header-cart a.cart-contents:hover { background: #ddffed; color: #10372d; }
#ash-shell .ash-header-cart .count { background: #174c3e; color: #fff; }
#ash-shell .ash-nav-toggle { color: #f2f9f5; }
#ash-shell .site-search input[type="search"] { color: #142d2b; }
#ash-shell .ash-search-panel { --ash-ink: #142d2b; --ash-bark: #126557; --ash-bark-dark: #09493f; --ash-cream: #e9f0eb; --ash-card: #fff; --ash-line: #ccdad3; }
#ash-shell .site-search button[type="submit"] { color: #fff; }
#ash-shell .ash-main-menu > a:first-child { box-shadow: none; }
#ash-shell .ash-main-menu > a[aria-current="page"] { box-shadow: inset 0 -2px 0 #9ff4cf; }

/* A compact hero: big type, a quiet technical grid and an aurora glow. */
body.ash-rimu-theme .ash-home { padding-top: 28px; }
body.ash-rimu-theme .ash-home__intro,
body.ash-rimu-theme .ash-south-page-intro {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: radial-gradient(ellipse at 93% 110%, #317b67 0, transparent 48%), radial-gradient(ellipse at 75% -40%, #306458 0, transparent 60%), #092b28;
  border: 1px solid #365e51;
  border-radius: 6px;
  padding: 38px 42px;
  margin: 0 0 24px;
  color: #eefbf4;
}
body.ash-rimu-theme .ash-home__intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.ash-home__intro::before,.ash-south-page-intro::before {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: linear-gradient(rgb(181 255 218 / 5%) 1px, transparent 1px), linear-gradient(90deg,rgb(181 255 218 / 5%) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(90deg,transparent, #000);
}
.ash-home__intro::after,.ash-south-page-intro::after {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  width: 560px; height: 560px; right: -180px; top: -235px;
  border-radius: 44%; border: 1px solid rgb(177 249 208 / 22%); transform: rotate(-28deg);
  box-shadow: 0 0 0 22px rgb(177 249 208 / 5%), 0 0 0 44px rgb(177 249 208 / 5%), 0 0 0 66px rgb(177 249 208 / 5%), 0 0 0 88px rgb(177 249 208 / 4%), 0 0 0 110px rgb(177 249 208 / 4%);
}
body.ash-rimu-theme .ash-south-eyebrow {
  margin: 0 0 16px; font-size: 11px; line-height: 1.5; font-weight: 650;
  color: #b9f5d8; text-transform: uppercase; letter-spacing: .16em;
}
body.ash-rimu-theme :is(.ash-home__intro,.ash-south-page-intro) h1 {
  margin: 0; max-width: 850px; color: #f3fff8; font-size: clamp(38px,5.3vw,68px);
  font-weight: 600; letter-spacing: -.055em; line-height: 1.02;
}
body.ash-rimu-theme :is(.ash-home__intro,.ash-south-page-intro) h1 em {
  font-style: normal; color: #b5f4d4;
  background: linear-gradient(100deg,#baffce,#8ce6da); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
body.ash-rimu-theme .ash-home__lead,
body.ash-rimu-theme .ash-south-page-intro > p:last-child { margin: 18px 0 0; max-width: 500px; font-size: 15px; line-height: 1.65; color: #c6ddd3; }
body.ash-rimu-theme a.ash-south-cta {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 36px; flex-shrink: 0;
  color: #123b30; background: #c6f8da; padding: 14px 20px; border: 1px solid #ddffe9;
  border-radius: 3px; font-size: 14px; font-weight: 650; text-decoration: none; min-height: 48px;
  transition: background .18s ease, transform .18s ease;
}
body.ash-rimu-theme a.ash-south-cta:hover { background: #e1ffeb; transform: translateY(-2px); }
.ash-south-cta span { font-size: 22px; line-height: 1; }

/* Keep the existing product-led mosaic, with sharper framing and image depth. */
body.ash-rimu-theme .ash-home__categories { grid-template-rows: repeat(2,220px); gap: 16px; }
body.ash-rimu-theme .ash-home__category { border: 1px solid #b9ccc1; border-radius: 5px; background: #e9efe7; }
body.ash-rimu-theme .ash-home__category:nth-child(1) { background: #e9efe7; }
body.ash-rimu-theme .ash-home__category:nth-child(1) span { color: #174a3d; }
body.ash-rimu-theme .ash-home__category:not(:nth-child(1)) span { background: linear-gradient(transparent, rgb(5 28 23 / 91%)); }
body.ash-rimu-theme .ash-home__category span::after { content: '\2197'; }
body.ash-rimu-theme .ash-home__category:hover { border-color: #21826a; box-shadow: 0 12px 24px rgb(15 51 43 / 13%); }
body.ash-rimu-theme .ash-home__gifts { margin-top: 44px; }
body.ash-rimu-theme .ash-home__section-head { border-bottom: 1px solid var(--ash-line); position: relative; }
.ash-home__section-head::after { content: ''; width: 58px; height: 2px; background: #16806a; position: absolute; left: 0; bottom: -1px; }
body.ash-rimu-theme .ash-home h2 { font-size: clamp(24px,2.8vw,34px); font-weight: 550; letter-spacing: -.04em; }
body.ash-rimu-theme .ash-home__product { border-radius: 5px; box-shadow: var(--ash-card-shadow); }
body.ash-rimu-theme .ash-home__product-link { flex: 0 0 auto; }
body.ash-rimu-theme .ash-home__product h3 { font-weight: 650; }
body.ash-rimu-theme .ash-product-caption {
  color: var(--ash-muted); font-size: 13px; font-weight: 400; line-height: 1.55;
  letter-spacing: 0; text-transform: none; margin: 8px 0 12px;
}
body.ash-rimu-theme .ash-home__product .ash-product-caption { padding: 0 16px; margin-bottom: 4px; }
body.ash-rimu-theme ul.products li.product .ash-product-caption { padding: 0 18px; }
body.ash-rimu-theme .ash-home__price { margin-top: auto; padding-top: 12px; font-weight: 700; }
body.ash-rimu-theme .ash-home__workshop {
  background: #eaf0e9; border-left: 3px solid #28846a; padding: 32px;
  box-shadow: none; border-radius: 5px;
}

/* Consistent catalogue and product-page typography without changing forms. */
body.ash-rimu-theme :is(.ashlaser-shop-landing-intro,.archive-header,.entry-header) h1 {
  font-size: clamp(30px,4vw,48px); line-height: 1.1; font-weight: 600; letter-spacing: -.045em;
}
body.ash-rimu-theme .ashlaser-shop-landing-intro { border-bottom: 1px solid var(--ash-line); padding-bottom: 24px; }
body.ash-rimu-theme.ashlaser-shop-landing ul.products li.product-category { border-radius: 5px; background: #fff; box-shadow: var(--ash-card-shadow); }
body.ash-rimu-theme ul.products li.product { border-radius: 5px; }
body.ash-rimu-theme ul.products li.product :is(.woocommerce-loop-product__title,.woocommerce-loop-category__title) { font-weight: 600; }
body.ash-rimu-theme.single-product div.product.ash-single-product .product_title { font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-weight: 600; letter-spacing: -.04em; line-height: 1.12; }
body.ash-rimu-theme #main .woocommerce-products-header__title {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: clamp(30px,4vw,46px); font-weight: 600; line-height: 1.1; letter-spacing: -.04em; margin-bottom: 24px;
}
body.ash-rimu-theme :is(.ashlaser-contact-hero,.ashlaser-gallery-intro) {
  background: radial-gradient(ellipse at 100% 100%,#316e58,transparent 65%),#0c3029;
  border: 1px solid #325b49; border-radius: 5px; padding: 30px;
}
body.ash-rimu-theme :is(.ashlaser-contact-hero,.ashlaser-gallery-intro) h1 { color: #eafff1; font-family: inherit; font-size: clamp(32px,4vw,52px); font-weight: 600; line-height: 1.08; letter-spacing: -.04em; }
body.ash-rimu-theme :is(.ashlaser-contact-hero,.ashlaser-gallery-intro) p { color: #c6ddd3; }
body.ash-rimu-theme .ashlaser-contact-hero-copy > span { color: #b9f5d8; }
body.ash-rimu-theme #primary:has(> .ashlaser-contact-page) { width: 100%; max-width: none; float: none; margin: 0; }
body.ash-rimu-theme .ashlaser-contact-hero-icon { color: #8bceae; }
body.ash-rimu-theme .ashlaser-gallery-item { background: #e9efe9; border-radius: 5px; box-shadow: var(--ash-card-shadow); }
body.ash-rimu-theme .ashlaser-gallery-button { color: #fff; background: #126557; }
body.ash-rimu-theme .ashlaser-gallery-button--secondary { color: #142d2b; background: #e3eee5; }
body.ash-rimu-theme #main ul.products { width: 100%; max-width: 100%; }
body.ash-rimu-theme :is(.woocommerce-product-details__short-description,.ashlaser-standard-info) { color: var(--ash-muted); }
body.ash-rimu-theme :is(a.button,button.button,.ashlaser-gp-add) { border-radius: 3px; box-shadow: none; }
body.ash-rimu-theme .ashlaser-gp-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
body.ash-rimu-theme .ashlaser-gp-card { padding: 0; overflow: hidden; border-radius: 5px; box-shadow: var(--ash-card-shadow); }
body.ash-rimu-theme .ashlaser-gp-card-body { padding: 22px; }
body.ash-rimu-theme .ashlaser-gp-card-body h2 { font-size: 25px; font-weight: 600; letter-spacing: -.035em; line-height: 1.2; margin: 8px 0 12px; }
body.ash-rimu-theme .ashlaser-gp-price { background: #f4faf5; border: 1px solid #c8dbcd; }
body.ash-rimu-theme .ashlaser-gp-card-tags { color: var(--ash-muted); }

/* A matching night-sky footer anchors the lighter product surfaces. */
body.ash-rimu-theme .ashlaser-footer {
  --ash-ink: #f1faf4; --ash-muted: #b5cfc2; --ash-line: #305347; --ash-bark: #b9f5d8;
  background: radial-gradient(ellipse at 100% 0,#184c3d,transparent 65%), #0b2722;
  border-top: 2px solid #80c6a3; color: #f1faf4;
}
body.ash-rimu-theme .ashlaser-footer-brand strong { font-size: 22px; letter-spacing: .1em; }
body.ash-rimu-theme .ashlaser-footer-col h2 { color: #c4f6db; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }

@media (max-width: 1100px) {
  #ash-shell .ash-main-menu { background: #123630; }
  body.ash-rimu-theme .ash-home__intro { padding: 32px; }
  body.ash-rimu-theme .ash-home__categories { grid-template-rows: repeat(2,195px); }
}
@media (max-width: 760px) {
  body.ash-rimu-theme .ash-home__intro { align-items: flex-start; flex-direction: column; gap: 22px; }
  body.ash-rimu-theme .ash-home__categories { grid-template-rows: auto; }
  body.ash-rimu-theme .ash-home__category:nth-child(2) { height: clamp(280px,65vw,450px); }
  body.ash-rimu-theme .ash-home__category:nth-child(1) { height: 175px; }
  body.ash-rimu-theme .ash-home__product .ash-product-caption { padding: 0 12px; }
}
@media (max-width: 600px) {
  body.ash-rimu-theme .ash-home { padding: 18px 16px 36px; }
  body.ash-rimu-theme :is(.ash-home__intro,.ash-south-page-intro) { padding: 26px 22px; }
  body.ash-rimu-theme :is(.ash-home__intro,.ash-south-page-intro) h1 { font-size: clamp(36px,10vw,54px); }
  body.ash-rimu-theme .ash-home__lead { font-size: 14px; }
  body.ash-rimu-theme .ash-home__categories { gap: 12px; }
  body.ash-rimu-theme .ash-home__workshop { padding: 24px 20px; }
  body.ash-rimu-theme .ashlaser-gp-grid { grid-template-columns: 1fr; }
  body.ash-rimu-theme .ashlaser-gp-card-body { padding: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  body.ash-rimu-theme a.ash-south-cta { transition: none; transform: none; }
}
