/*
 * Reading layer: explicit theme/plugin contrast and comfortable type sizes.
 * This file follows brand.css, system.css and homepage.css. Selectors are scoped
 * to established dark surfaces; light surfaces and green action colors retain
 * their original contrast treatments.
 */
:root {
  --uns-reading: #c6cbd0;
  --uns-reading-secondary: #b6bdc5;
  --uns-reading-meta: #a7afb8;
}

/* Astra's default white article/comment shells were beneath brand-white type. */
.single-post.ast-separate-container .ast-article-single,
.single-post.ast-separate-container .comments-area {
  background-color: var(--uns-ink-2);
  color: var(--uns-white);
}

.single-post .entry-content > :is(h1, h2, h3, h4, h5, h6),
.single-post .comments-area :is(.comments-title, .comment-reply-title),
.single-product .woocommerce-Tabs-panel > :is(h2, h3, h4),
.entry-content .crp_related > h3,
.woocommerce .crp_related > h3 {
  color: var(--uns-white);
}

.single-post .entry-content > p,
.single-post .entry-content > :is(ul, ol),
.single-post .comment-content p,
.single-product .woocommerce-product-details__short-description p,
.single-product .woocommerce-Tabs-panel > p,
.blog .ast-article-post .entry-content p,
.archive .ast-article-post .entry-content p,
.page .entry-content .elementor-widget-text-editor p {
  color: var(--uns-reading);
  font-size: 16px;
  line-height: 1.75;
}

.single-post .entry-meta,
.single-post .entry-meta :is(a, span, time),
.blog .entry-meta,
.blog .entry-meta :is(a, span, time),
.archive .entry-meta,
.archive .entry-meta :is(a, span, time),
.single-post .ast-comment-time a {
  color: var(--uns-reading-meta);
  font-size: 13px;
  line-height: 1.6;
}

.single-post .post-navigation .ast-post-nav {
  color: var(--uns-reading-secondary);
  font-size: 14px;
}

.single-post .comments-area .ast-comment-cite-wrap .fn {
  color: var(--uns-white);
}

.single-post .comments-area .ast-comment-cite-wrap a.fn:hover {
  color: var(--uns-accent);
}

.single-post .comment-form #submit {
  background: var(--uns-accent);
  color: var(--uns-ink);
  border: 1px solid var(--uns-accent);
  border-radius: 0;
  min-height: 48px;
  font-size: 14px;
}

.single-post .comment-form #submit:hover {
  background: var(--uns-white);
  border-color: var(--uns-white);
  color: var(--uns-ink) !important;
}

.single-post .comments-area :is(label, .comment-notes),
.entry-content .wpcf7 form label,
.pum-container .wpcf7 form label {
  color: var(--uns-reading-secondary);
  font-size: 14px;
  line-height: 1.6;
}

.entry-content .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.entry-content .wpcf7 textarea,
.single-post .comment-form input:not([type="submit"]):not([type="checkbox"]),
.single-post .comment-form textarea,
.single-product .variations select,
.single-product .quantity input.qty {
  font-size: 16px;
}

.entry-content .wpcf7 .wpcf7-not-valid-tip,
.entry-content .wpcf7 .wpcf7-response-output {
  font-size: 14px;
  line-height: 1.6;
}

/* Related reading: Astra's .entry-content heading rule previously won. */
.crp_related .crp_title {
  color: var(--uns-white);
  font-size: 16px;
  line-height: 1.5;
}

.crp_related .crp_link:hover .crp_title,
.crp_related .crp_link:focus-visible .crp_title {
  color: var(--uns-accent);
}

.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb a,
.woocommerce .woocommerce-result-count,
.single-product .product_meta,
.single-product.woocommerce div.product form.cart .variations label,
.single-product.woocommerce div.product form.cart .reset_variations {
  color: var(--uns-reading-secondary);
  font-size: 14px;
  line-height: 1.6;
}

.woocommerce .woocommerce-breadcrumb a:hover,
.single-product.woocommerce div.product form.cart .reset_variations:hover {
  color: var(--uns-accent);
}

.woocommerce .woocommerce-ordering select {
  font-size: 16px;
}

body.woocommerce-account #content .woocommerce :is(h2, h3, h4) {
  color: var(--uns-white);
}

body.woocommerce-account #content .woocommerce form :is(input.input-text, textarea.input-text) {
  background: var(--uns-ink-2);
  color: var(--uns-white);
  border-color: #42474b;
  font-size: 16px;
}

body.woocommerce-account #content .woocommerce form :is(input.input-text, textarea.input-text)::placeholder {
  color: var(--uns-reading-meta);
  opacity: 1;
}

body.woocommerce-account #content .woocommerce .show-password-input,
body.woocommerce-account #content .woocommerce .show-password-input::before {
  color: var(--uns-reading-secondary);
}

.woocommerce ul.products li.product .ast-woo-product-category {
  font-size: 12px;
  line-height: 1.6;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 16px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
  font-size: 14px;
  line-height: 1.6;
}

.woocommerce ul.products li.product .price {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

/* Both price and action keep their full text when a commerce card is narrow. */
.woocommerce ul.products li.product .astra-shop-summary-wrap {
  container-type: inline-size;
  container-name: uns-commerce-card;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap > .button {
  font-size: 12px !important;
  line-height: 1.4;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: normal;
}

@container uns-commerce-card (max-width: 270px) {
  .woocommerce ul.products li.product .astra-shop-summary-wrap > .price {
    grid-column: 1 / -1;
    grid-row: 3;
  }

  .woocommerce ul.products li.product .astra-shop-summary-wrap > .button {
    grid-column: 1 / -1;
    grid-row: 4;
    justify-self: start;
    margin-top: 3px;
  }
}

.woocommerce ul.products li.product .ast-card-action-tooltip {
  font-size: 12px;
  line-height: 1.4;
}

/* Main homepage prose reads as prose; terminal labels remain the quieter voice. */
.uns-home .uns-hero-description {
  color: #d1d5d8;
  font-size: 16px;
  line-height: 1.7;
}

.uns-home .uns-section-intro,
.uns-home .uns-manifesto-copy > p:not(.uns-section-label),
.uns-home .uns-release-grid p,
.uns-home .uns-home-newsletter p:not(.uns-section-label):not(.uns-signup-privacy),
.uns-home .uns-faq-list p,
.uns-home .uns-home-map-heading > p:last-child {
  color: var(--uns-reading);
  font-size: 16px;
  line-height: 1.75;
}

.uns-home .uns-hero-label,
.uns-home .uns-hero-product,
.uns-home .uns-section-label,
.uns-home .uns-section-meta,
.uns-home .uns-product-code,
.uns-home .uns-product-type,
.uns-home .uns-from,
.uns-home .uns-slide-count,
.uns-home .uns-slider-controls .uns-slider-toggle,
.uns-home .uns-catalog-bottom,
.uns-home .uns-spec-footnote,
.uns-home .uns-log-header,
.uns-home .uns-log-header code,
.uns-home .uns-log-header > span,
.uns-home .uns-manifesto-details span,
.uns-home .uns-manifesto-image figcaption {
  font-size: 12px;
  line-height: 1.6;
}

.uns-home .uns-hero-label {
  color: var(--uns-white);
  flex-wrap: wrap;
  gap: 8px;
}

.uns-home .uns-hero-product {
  flex-wrap: wrap;
  gap: 8px;
  max-width: calc(100% - var(--uns-gutter) * 2);
}

.uns-home .uns-section-meta,
.uns-home .uns-from,
.uns-home .uns-catalog-bottom,
.uns-home .uns-spec-footnote,
.uns-home .uns-manifesto-details span {
  color: var(--uns-reading-meta);
}

.uns-home .uns-catalog-filters {
  font-size: 14px;
  line-height: 1.4;
  flex-wrap: wrap;
}

.uns-home .uns-catalog-filters span {
  font-size: 12px;
}

.uns-home .uns-product-info h3 {
  font-size: 16px;
  line-height: 1.4;
}

.uns-home .uns-product-buy,
.uns-home .uns-catalog-bottom {
  flex-wrap: wrap;
  row-gap: 12px;
}

.uns-home .uns-product-buy p {
  font-size: 15px;
  line-height: 1.5;
}

.uns-home .uns-options {
  min-height: 44px;
  max-width: 100%;
  font-size: 12px;
  line-height: 1.4;
  padding: 12px 14px;
  gap: 8px;
}

.uns-home .uns-release-grid a,
.uns-home .uns-text-link {
  font-size: 14px;
  line-height: 1.6;
}

.uns-home .uns-home-spec table {
  font-size: 14px;
  line-height: 1.6;
}

.uns-home .uns-home-spec thead {
  font-size: 12px;
}

.uns-home .uns-home-spec tbody td:nth-child(3) {
  font-size: 14px;
  line-height: 1.6;
}

.uns-home .uns-drop-form input[type="email"] {
  font-size: 16px;
  line-height: 1.4;
}

.uns-home .uns-drop-form input[type="submit"] {
  font-size: 12px !important;
}

.uns-home .uns-drop-form .uns-signup-privacy {
  color: var(--uns-reading-secondary) !important;
  font-size: 14px !important;
  line-height: 1.65;
}

.uns-home .uns-signup-privacy a {
  color: var(--uns-reading-secondary);
}

.uns-home .uns-faq-list summary {
  font-size: 16px;
  line-height: 1.5;
}

.uns-site-footer .uns-footer-intro p {
  color: var(--uns-reading);
  font-size: 16px;
  line-height: 1.75;
}

.uns-site-footer .uns-footer-grid nav a {
  color: var(--uns-reading-secondary);
  font-size: 14px;
  line-height: 1.6;
}

.uns-site-footer .uns-footer-grid nav a:hover {
  color: var(--uns-accent);
}

.uns-site-footer .uns-footer-grid nav h2,
.uns-site-footer .uns-footer-note,
.uns-site-footer .uns-footer-bottom {
  font-size: 12px;
  line-height: 1.6;
}

.uns-site-footer .uns-footer-bottom {
  flex-wrap: wrap;
  gap: 16px;
  color: var(--uns-reading-meta);
}

.uns-site-header .uns-cart-count {
  min-width: 24px;
  width: auto;
  height: 24px;
  padding-inline: 5px;
  font-size: 12px;
  line-height: 24px;
}

.uns-finland-map .uns-map-caption-tag,
.uns-finland-map .uns-map-caption-detail,
.uns-finland-map a.uns-map-fallback,
.uns-finland-map button.uns-map-touch-toggle,
.uns-finland-map button.uns-map-retry,
.uns-finland-map .uns-map-canvas .leaflet-control-attribution {
  font-size: 12px;
  line-height: 1.5;
}

.uns-finland-map .uns-map-status {
  font-size: 14px;
  line-height: 1.6;
}

@media (max-width: 540px) {
  .woocommerce ul.products {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .woocommerce ul.products li.product {
    width: 100%;
    margin-right: 0;
  }

  /* Extra breathing room for the larger prose without changing the photograph. */
  .uns-home .uns-slider {
    min-height: 740px;
    height: 740px;
  }

  .uns-home .uns-slide-layout {
    padding-bottom: 145px;
  }

  .uns-home .uns-manifesto-details {
    flex-wrap: wrap;
  }

  .uns-home .uns-drop-form .uns-signup-row {
    flex-wrap: wrap;
  }

  .uns-home .uns-drop-form .wpcf7-form-control-wrap {
    flex-basis: 180px;
  }
}
