/*
Theme Name: Λύω
Theme URI: https://ekdoseislyo.gr
Author: Εκδόσεις Λύω
Description: Bespoke native block theme for the Greek independent publisher Εκδόσεις Λύω.
Requires at least: 7.0
Requires PHP: 8.1
Version: 0.8.1
Text Domain: lyo
*/

@font-face {
  font-family: "Commissioner";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("assets/fonts/commissioner-greek.woff2") format("woff2");
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

@font-face {
  font-family: "Commissioner";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("assets/fonts/commissioner-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Literata";
  font-style: normal;
  font-weight: 500 600;
  font-display: swap;
  src: url("assets/fonts/literata-greek-ext.woff2") format("woff2");
  unicode-range: U+1F00-1FFF;
}

@font-face {
  font-family: "Literata";
  font-style: normal;
  font-weight: 500 600;
  font-display: swap;
  src: url("assets/fonts/literata-greek.woff2") format("woff2");
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

@font-face {
  font-family: "Literata";
  font-style: normal;
  font-weight: 500 600;
  font-display: swap;
  src: url("assets/fonts/literata-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.lyo-catalogue-notice {
  background: var(--wp--preset--color--ink);
  color: var(--wp--preset--color--paper);
  margin: 0;
  padding: 0.65rem 1rem;
  text-align: center;
}

.lyo-catalogue-only .site-header__cart,
.lyo-catalogue-only .lyo-discovery-cart {
  display: none;
}

::selection {
  background: var(--wp--preset--color--muted-brass);
  color: var(--wp--preset--color--ink);
}

:where(h1, h2, h3, .wp-block-post-title) {
  letter-spacing: -0.015em;
  text-wrap: balance;
}

a {
  text-underline-offset: 0.18em;
  text-decoration-thickness: 0.06em;
}

a:hover {
  text-decoration-thickness: 0.12em;
}

main a:not(.wp-element-button),
.site-footer a {
  text-decoration: underline;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--wp--preset--color--deep-green);
  outline-offset: 3px;
}

.skip-link {
  background: var(--wp--preset--color--ink);
  color: var(--wp--preset--color--warm-white);
  left: 1rem;
  padding: 0.75rem 1rem;
  position: fixed;
  top: 1rem;
  transform: translateY(-200%);
  z-index: 100000;
}

.skip-link:focus {
  transform: none;
}

.site-header {
  background: var(--wp--preset--color--warm-white);
  border-bottom: 1px solid var(--wp--preset--color--rules);
  border-top: 0.35rem solid var(--wp--preset--color--deep-green);
}

.site-header__inner {
  padding-block: 1rem 0;
}

.site-header__top {
  align-items: center;
  gap: clamp(1rem, 2.5vw, 2.5rem);
}

.site-header__brand {
  flex-shrink: 0;
}

.site-header__brand .lyo-catalogue-switch {
  margin: 0;
}

.site-header .wp-block-site-title,
.lyo-wordmark {
  letter-spacing: -0.015em;
  margin: 0;
  white-space: nowrap;
}

.site-header .wp-block-site-title a,
.lyo-wordmark a,
.site-footer .wp-block-site-title a {
  color: var(--wp--preset--color--ink);
  text-decoration: none;
}

.site-header__search {
  flex: 1 1 26rem;
  margin: 0 0 0 auto;
  max-width: 38rem;
}

.site-header__search .wp-block-search__inside-wrapper {
  padding: 0;
}

.site-header__search .wp-block-search__input {
  border: 2px solid var(--wp--preset--color--ink);
  min-width: 0;
}

.site-header__search .wp-block-search__button {
  margin-left: 0;
  white-space: nowrap;
}

.site-header__cart {
  flex: 0 0 auto;
}

.site-header__cart .wp-block-button__link {
  border: 2px solid var(--wp--preset--color--deep-green);
  min-height: 3rem;
}

.site-header .wp-block-navigation__container {
  margin: 0;
  column-gap: clamp(1rem, 1.8vw, 1.75rem);
  justify-content: space-between;
  width: 100%;
}

nav.site-header__navigation {
  border-top: 1px solid var(--wp--preset--color--rules);
  font-size: 1rem;
  margin-top: 1rem;
  padding-block: 0.45rem;
  width: 100%;
}

@media (max-width: 75rem) {
  .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }

  .wp-block-navigation__responsive-container-open {
    display: flex !important;
  }

  nav.site-header__navigation {
    align-items: center;
    display: flex;
    justify-content: flex-start;
    min-height: 3.5rem;
  }

  .site-header .wp-block-navigation__responsive-container-open {
    align-items: center;
    gap: 0.5rem;
    min-height: 44px;
  }

  .site-header .wp-block-navigation__responsive-container-open::after {
    content: "Μενού";
    font-size: 1rem;
    font-weight: 600;
  }
}

.wp-block-navigation .wp-block-navigation-item__content {
  padding-block: 0.5rem;
  text-decoration: none;
}

.wp-block-navigation :where(.current-menu-item > .wp-block-navigation-item__content, .wp-block-navigation-item__content:hover) {
  text-decoration: underline;
  text-decoration-thickness: 0.12em;
  text-underline-offset: 0.35em;
}

.wp-site-blocks {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.wp-site-blocks > .site-main {
  flex: 1;
  width: 100%;
}

.editorial-opening {
  align-items: center;
  background: var(--wp--preset--color--warm-white);
  border-bottom: 1px solid var(--wp--preset--color--rules);
  display: grid;
  gap: clamp(2.5rem, 7vw, 7rem);
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.65fr);
}

.editorial-opening__copy {
  justify-self: center;
  max-width: 46rem;
  padding-inline: 0 !important;
  width: 100%;
}

.editorial-opening__copy h1 {
  margin-block: 0 2rem;
}

.editorial-opening__copy .wp-block-post-content {
  display: grid;
  gap: 1.25rem;
}

.editorial-opening__copy .wp-block-post-content > * {
  margin-block: 0;
}

.editorial-opening__copy .wp-block-post-content > p:not(.fixture-notice) {
  max-width: 62ch;
}

.lyo-featured-book {
  justify-self: center;
  margin-block: 0;
  max-width: 18.5rem;
  width: 100%;
}

.editorial-kicker,
.fixture-label {
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.fixture-label {
  color: var(--wp--preset--color--muted-text);
}

.fixture-notice {
  color: var(--wp--preset--color--muted-text);
  font-size: 1rem;
  font-weight: 600;
}

.lyo-home-tools {
  border-bottom: 1px solid var(--wp--preset--color--rules);
  border-top: 1px solid var(--wp--preset--color--ink);
}

.lyo-home-tools h2 {
  margin-top: 0;
}

.lyo-home-tools .wc-block-product-search {
  max-width: 48rem;
}

.wc-block-product-search__label {
  display: block;
  font-family: var(--wp--preset--font-family--literata);
  font-size: var(--wp--preset--font-size--heading-3);
  font-weight: 600;
  margin-bottom: 0.65rem;
}

.wc-block-product-search__fields {
  display: flex;
}

.wc-block-product-search__field {
  flex: 1;
  min-width: 0;
}

.wc-block-product-search__button {
  align-items: center;
  background: var(--wp--preset--color--deep-green);
  border: 2px solid var(--wp--preset--color--deep-green);
  color: var(--wp--preset--color--warm-white);
  display: inline-flex;
  justify-content: center;
  min-width: 3.5rem;
  margin-left: 0;
  padding-inline: 1rem;
  font: 600 1rem var(--wp--preset--font-family--commissioner);
}

.wc-block-product-search__button svg {
  display: none;
}

.wc-block-product-search__button::after {
  content: attr(aria-label);
}

.lyo-home-shortcuts {
  border-top: 1px solid var(--wp--preset--color--rules);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem clamp(1.25rem, 3vw, 2.5rem);
  list-style: none;
  margin-top: var(--wp--preset--spacing--50);
  padding: var(--wp--preset--spacing--30) 0 0;
}

.lyo-home-shortcuts a {
  color: var(--wp--preset--color--ink);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 600;
}

.lyo-section-heading {
  align-items: baseline;
  border-top: 1px solid var(--wp--preset--color--ink);
  display: flex;
  gap: var(--wp--preset--spacing--40);
  justify-content: space-between;
  padding-top: var(--wp--preset--spacing--30);
}

.lyo-section-heading > p {
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
}

.lyo-section-heading > * {
  margin-block: 0;
}

.lyo-book-grid .wc-block-product-template,
.lyo-book-grid.wc-block-product-template {
  gap: clamp(2.5rem, 4vw, 4rem) clamp(1.5rem, 3vw, 3rem);
}

.lyo-book-grid:not(.lyo-featured-book) .wc-block-product-template__responsive {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.lyo-book-grid li,
.wc-block-product-template li {
  background: transparent;
}

.lyo-book-grid .wc-block-product-template > li,
.lyo-book-grid.wc-block-product-template > li {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
}

.lyo-book-grid .wc-block-components-product-image,
.wc-block-product-template .wc-block-components-product-image {
  margin-bottom: var(--wp--preset--spacing--30);
}

.lyo-book-grid .wc-block-components-product-image img,
.wc-block-product-template .wc-block-components-product-image img,
.wp-block-woocommerce-product-image-gallery img {
  box-shadow: 0 0.55rem 1rem rgb(21 22 22 / 14%);
  height: auto;
  object-fit: contain;
}

.lyo-book-grid :where(.wp-block-post-title, .wc-block-components-product-title) {
  margin-block: 0.75rem 0.4rem;
}

.lyo-book-grid :where(.wp-block-post-title, .wc-block-components-product-title) a {
  color: var(--wp--preset--color--ink);
  text-decoration: none;
}

.lyo-book-grid :where(.wp-block-post-title, .wc-block-components-product-title) a:is(:hover, :focus-visible) {
  text-decoration: underline;
}

.wc-block-components-product-title,
.wp-block-post-title {
  overflow-wrap: anywhere;
}

.wc-block-components-product-price,
.price {
  color: var(--wp--preset--color--deep-green);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.lyo-book-grid .wc-block-components-product-price {
  font-size: 1.125rem;
}

.lyo-book-grid .wp-block-button,
.lyo-book-grid .wp-block-woocommerce-product-button {
  margin-top: auto;
  padding-top: 0.35rem;
}

#prosfores .wc-block-grid {
  margin-top: var(--wp--preset--spacing--50);
}

#prosfores .wc-block-grid__product {
  border: 0;
  font-size: var(--wp--preset--font-size--body);
  text-align: left;
}

#prosfores .wc-block-grid__product-image img {
  box-shadow: 0 0.55rem 1rem rgb(21 22 22 / 14%);
}

#prosfores .wc-block-grid__product-title {
  color: var(--wp--preset--color--ink);
  font-family: var(--wp--preset--font-family--literata);
  font-size: var(--wp--preset--font-size--book-title);
  line-height: 1.3;
}

#prosfores .wc-block-grid + .lyo-no-offers {
  display: none;
}

.lyo-no-offers {
  border-bottom: 1px solid var(--wp--preset--color--rules);
  margin-top: 0;
  padding-block: var(--wp--preset--spacing--40);
}

.lyo-services > .wp-block-columns > .wp-block-column:last-child {
  border-left: 1px solid var(--wp--preset--color--rules);
  padding-left: var(--wp--preset--spacing--60);
}

.lyo-publisher-note {
  border-bottom: 1px solid var(--wp--preset--color--rules);
  border-top: 1px solid var(--wp--preset--color--ink);
  margin-top: var(--wp--preset--spacing--70);
  padding-block: var(--wp--preset--spacing--60);
}

.lyo-publisher-note .wp-block-column:last-child > p:first-child {
  margin-top: 0;
}

.lyo-philosophy {
  border-top: 1px solid var(--wp--preset--color--ink);
  display: grid;
  gap: clamp(2.5rem, 7vw, 7rem);
  grid-template-columns: minmax(14rem, 0.65fr) minmax(0, 1.35fr);
}

.lyo-philosophy__heading {
  align-self: start;
}

.lyo-philosophy__heading > :first-child,
.lyo-philosophy__body > :first-child {
  margin-top: 0;
}

.lyo-values {
  margin-block: var(--wp--preset--spacing--50);
}

.lyo-values > .wp-block-group {
  border-top: 1px solid var(--wp--preset--color--rules);
  display: grid;
  gap: var(--wp--preset--spacing--40);
  grid-template-columns: minmax(8rem, 0.42fr) minmax(0, 1fr);
  padding-block: var(--wp--preset--spacing--40);
}

.lyo-values > .wp-block-group:last-child {
  border-bottom: 1px solid var(--wp--preset--color--rules);
}

.lyo-values > .wp-block-group > * {
  margin-block: 0;
}

.lyo-manifesto h2 {
  margin-inline: auto;
  max-width: 24ch;
}

.lyo-manifesto a {
  color: inherit;
}

.lyo-home-guides,
.lyo-page-split {
  border-bottom: 1px solid var(--wp--preset--color--rules);
  border-top: 1px solid var(--wp--preset--color--ink);
  display: grid;
  gap: clamp(2.5rem, 6vw, 6rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lyo-home-guides > .wp-block-group + .wp-block-group,
.lyo-page-split > .wp-block-group + .wp-block-group {
  border-left: 1px solid var(--wp--preset--color--rules);
  padding-left: clamp(2.5rem, 6vw, 6rem);
}

.lyo-section-index,
.lyo-contact-options {
  margin-block: var(--wp--preset--spacing--60);
}

.lyo-section-index > .wp-block-group,
.lyo-contact-options > .wp-block-group {
  border-top: 1px solid var(--wp--preset--color--rules);
  display: grid;
  gap: var(--wp--preset--spacing--40);
  grid-template-columns: minmax(12rem, 0.5fr) minmax(0, 1fr);
  padding-block: var(--wp--preset--spacing--40);
}

.lyo-section-index > .wp-block-group:last-child,
.lyo-contact-options > .wp-block-group:last-child {
  border-bottom: 1px solid var(--wp--preset--color--rules);
}

.lyo-section-index > .wp-block-group > *,
.lyo-contact-options > .wp-block-group > * {
  margin-block: 0;
}

.lyo-service-groups {
  align-items: start;
}

.lyo-service-groups > .wp-block-column {
  border-top: 1px solid var(--wp--preset--color--rules);
  padding-top: var(--wp--preset--spacing--30);
}

.lyo-catalogue-categories {
  border-bottom: 1px solid var(--wp--preset--color--rules);
  border-top: 1px solid var(--wp--preset--color--ink);
  margin-top: var(--wp--preset--spacing--40);
  padding-block: var(--wp--preset--spacing--40);
}

.lyo-catalogue-categories h2 {
  margin-top: 0;
}

.lyo-category-links {
  display: grid;
  gap: 0 clamp(2rem, 5vw, 5rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  padding-left: 0;
}

.lyo-category-links a {
  color: var(--wp--preset--color--ink);
  display: block;
  font-family: var(--wp--preset--font-family--literata);
  font-size: var(--wp--preset--font-size--book-title);
  font-weight: 600;
  overflow-wrap: anywhere;
  padding-block: 0.8rem;
}

.lyo-catalogue-search {
  margin-top: var(--wp--preset--spacing--50);
  max-width: 48rem;
}

.lyo-catalogue-toolbar {
  gap: 1rem 2rem;
}

.lyo-catalogue-toolbar label {
  font-weight: 600;
}

.lyo-page-cta {
  border-bottom: 1px solid var(--wp--preset--color--rules);
  border-top: 1px solid var(--wp--preset--color--ink);
  margin-top: var(--wp--preset--spacing--70);
  padding-block: var(--wp--preset--spacing--60);
}

.lyo-page-cta.alignwide {
  left: 50%;
  position: relative;
  transform: translateX(-50%);
  width: min(var(--wp--style--global--wide-size), calc(100vw - clamp(2rem, 6vw, 6rem)));
}

.lyo-process {
  counter-reset: process;
}

.lyo-process > .wp-block-group {
  border-top: 1px solid var(--wp--preset--color--rules);
  display: grid;
  gap: var(--wp--preset--spacing--30);
  grid-template-columns: 4rem minmax(0, 1fr);
  padding-block: var(--wp--preset--spacing--40);
}

.lyo-process > .wp-block-group::before {
  color: var(--wp--preset--color--deep-green);
  content: counter(process, decimal-leading-zero);
  counter-increment: process;
  font-family: var(--wp--preset--font-family--literata);
  font-size: var(--wp--preset--font-size--heading-3);
}

.lyo-process > .wp-block-group > :where(h2, p) {
  grid-column: 2;
  margin-block: 0;
}

.lyo-post-list .wp-block-post {
  border-top: 1px solid var(--wp--preset--color--rules);
  padding-block: var(--wp--preset--spacing--40);
}

.lyo-home-news .wp-block-post {
  align-items: baseline;
  display: grid;
  gap: var(--wp--preset--spacing--40);
  grid-template-columns: 8.5rem minmax(0, 1fr) auto;
}

.lyo-home-news .wp-block-post > * {
  margin-block: 0;
}

.lyo-post-list .wp-block-post-excerpt {
  max-width: 70ch;
}

.wp-block-woocommerce-empty-cart-block .with-empty-cart-icon::before,
.wp-block-woocommerce-empty-cart-block .is-style-dots {
  display: none;
}

.lyo-meta,
.taxonomy-product_cat,
.taxonomy-category,
.wp-block-post-date {
  color: var(--wp--preset--color--muted-text);
  font-size: var(--wp--preset--font-size--small);
}

.lyo-product-layout {
  align-items: start;
  display: grid;
  gap: clamp(2rem, 6vw, 6rem);
  grid-template-columns: minmax(18rem, 0.85fr) minmax(0, 1fr);
}

.lyo-product-summary {
  padding-top: clamp(1rem, 3vw, 3rem);
}

.lyo-product-summary .wp-block-post-title {
  max-width: 20ch;
}

.lyo-product-summary .wp-block-post-excerpt {
  font-size: var(--wp--preset--font-size--body);
  margin-block: 1.5rem;
  max-width: 54ch;
}

.lyo-product-summary .wc-block-components-product-price {
  font-family: var(--wp--preset--font-family--literata);
  font-size: var(--wp--preset--font-size--heading-3) !important;
  margin-block: 1.5rem;
}

.lyo-product-information {
  border-top: 1px solid var(--wp--preset--color--ink);
  display: grid;
  gap: clamp(2.5rem, 6vw, 6rem);
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.9fr);
}

.lyo-product-information h2 {
  margin-top: 0;
}

.lyo-product-details table {
  border-collapse: collapse;
}

.lyo-product-details :where(th, td) {
  border-width: 0 0 1px !important;
  padding-inline: 0.5rem !important;
}

.lyo-product-details :where(th, td):first-child {
  padding-left: 0 !important;
}

.woocommerce .woocommerce-breadcrumb,
.wp-block-woocommerce-breadcrumbs,
.wc-block-product-results-count {
  color: var(--wp--preset--color--muted-text);
  font-size: var(--wp--preset--font-size--small);
}

.woocommerce-ordering select,
.wc-block-product-sort-select select {
  background-color: var(--wp--preset--color--warm-white);
  border: 2px solid var(--wp--preset--color--ink);
  box-sizing: border-box;
  max-width: 100%;
  padding-inline: 0.75rem 2.5rem;
  width: 100%;
}

.lyo-content-measure {
  max-width: 65ch;
}

.wp-block-button__link,
button,
input,
select,
textarea {
  border-radius: 0;
}

.wp-block-button__link,
.single_add_to_cart_button,
.wc-block-components-button,
.wp-block-search__button {
  font-size: 1rem;
  font-weight: 600;
  min-height: 3rem;
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  background: var(--wp--preset--color--warm-white);
  border: 1px solid var(--wp--preset--color--ink);
  color: var(--wp--preset--color--ink);
  font: inherit;
  min-height: 3rem;
  padding: 0.65rem 0.75rem;
}

.wp-block-woocommerce-checkout input:not([type="checkbox"]):not([type="radio"]),
.wp-block-woocommerce-checkout select,
.wp-block-woocommerce-checkout textarea,
.wp-block-woocommerce-checkout .wc-block-components-address-card,
.wp-block-woocommerce-checkout .wc-blocks-components-select__container,
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option,
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  border-radius: 0 !important;
}

.wp-block-woocommerce-order-confirmation-summary,
.wc-block-order-confirmation-totals__table,
.wp-block-woocommerce-order-confirmation-billing-address,
.wp-block-woocommerce-order-confirmation-shipping-address {
  border-radius: 0 !important;
}

.wc-block-cart-item__remove-link {
  align-items: center;
  display: inline-flex !important;
  justify-content: center;
  min-height: 2.75rem;
  min-width: 2.75rem;
}

.site-footer {
  background: var(--wp--preset--color--warm-white);
  border-top: 1px solid var(--wp--preset--color--rules);
}

.site-footer :where(.wp-block-site-title, p) {
  margin-block: 0;
}

/* The traditional catalogue, including its JavaScript-free fallback. */
html:not([data-edition="discovery"]):not([data-edition="choose"]) {
  .editorial-opening {
    padding-inline: max(var(--wp--style--root--padding-left), calc((100vw - var(--wp--style--global--wide-size)) / 2)) !important;
  }

  .lyo-book-grid:not(.lyo-featured-book) .wc-block-components-product-image {
    height: clamp(20rem, 32vw, 28rem);
    width: 100%;
  }

  .lyo-book-grid:not(.lyo-featured-book) .wc-block-components-product-image > a {
    display: flex;
    align-items: end;
    height: 100%;
  }

  .lyo-book-grid:not(.lyo-featured-book) .wc-block-components-product-image img {
    width: auto;
    height: auto;
    max-height: 100%;
    max-width: 100%;
  }

  .lyo-book-grid:not(.lyo-featured-book) .wp-block-woocommerce-product-price {
    margin-top: auto;
    padding-top: 1rem;
  }

  .lyo-book-grid .wp-block-woocommerce-product-button {
    margin-top: 1rem;
    padding-top: 0;
  }

  .lyo-product-information + .lyo-book-grid {
    margin-top: var(--wp--preset--spacing--60);
  }

  .lyo-product-information + .lyo-book-grid > h2 {
    font-size: var(--wp--preset--font-size--heading-2);
    border-top: 1px solid var(--wp--preset--color--ink);
    padding-top: var(--wp--preset--spacing--30);
  }

  .lyo-values > .wp-block-group {
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
    column-gap: clamp(1.5rem, 3vw, 3rem);
    align-items: baseline;
  }

  .lyo-process > .wp-block-group > :where(h2, p) {
    width: 100%;
  }

  .lyo-process > .wp-block-group::before {
    grid-row: 1 / span 2;
    line-height: 1.2;
  }

  .lyo-home-guides,
  .lyo-page-split {
    column-gap: 0;
  }

  .lyo-home-guides > .wp-block-group:first-child,
  .lyo-page-split > .wp-block-group:first-child {
    padding-right: clamp(2rem, 4vw, 4rem);
  }

  .lyo-home-guides > .wp-block-group + .wp-block-group,
  .lyo-page-split > .wp-block-group + .wp-block-group {
    padding-left: clamp(2rem, 4vw, 4rem);
  }

  .lyo-home-guides > .wp-block-group > :first-child,
  .lyo-page-split > .wp-block-group > :first-child {
    margin-top: 0;
  }

  .site-footer {
    margin-top: var(--wp--preset--spacing--60);
    padding-block: var(--wp--preset--spacing--50);
  }

  .error404 .site-main {
    padding-block: var(--wp--preset--spacing--50) !important;
  }

  .site-footer .wp-block-navigation__container {
    gap: 0.5rem 1.5rem;
  }

  .wc-block-components-quantity-selector {
    border-radius: 0;
    width: 8.5rem;
  }

  .wc-block-components-quantity-selector input {
    box-sizing: border-box;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .wc-block-components-quantity-selector__button {
    min-width: 44px;
  }

  .wc-block-cart-items .wc-block-cart-item__quantity {
    flex-wrap: wrap;
    padding-right: 0;
  }

  @media (max-width: 800px) {
    .site-header__top {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
    }

    .site-header__search {
      grid-column: 1 / -1;
      width: 100%;
    }

    .lyo-wordmark {
      font-size: clamp(1.3rem, 6vw, 1.55rem) !important;
    }

    .lyo-home-guides > .wp-block-group,
    .lyo-page-split > .wp-block-group {
      padding-inline: 0;
    }

    .site-footer .wp-block-navigation__container {
      justify-content: flex-start;
    }
  }

  @media (max-width: 1100px) {
    .lyo-values > .wp-block-group {
      grid-template-columns: 1fr;
      gap: 0.5rem;
    }

    .lyo-service-groups {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 600px) {
    .wc-block-cart-items .wc-block-cart-items__row {
      grid-template-columns: 4rem minmax(0, 1fr) auto;
    }

    .wc-block-cart-items td.wc-block-cart-item__product {
      grid-column: 2;
      min-width: 0;
    }

    .wc-block-cart-items td.wc-block-cart-item__image {
      padding-right: 0;
    }

    .lyo-service-groups {
      grid-template-columns: 1fr;
    }
  }
}

@media (max-width: 800px) {
  .editorial-opening,
  .lyo-philosophy,
  .lyo-home-guides,
  .lyo-page-split,
  .lyo-product-layout,
  .lyo-product-information {
    grid-template-columns: 1fr;
  }

  .editorial-opening__copy {
    justify-self: stretch;
  }

  .lyo-featured-book {
    justify-self: center;
  }

  .lyo-home-guides > .wp-block-group + .wp-block-group,
  .lyo-page-split > .wp-block-group + .wp-block-group {
    border-left: 0;
    border-top: 1px solid var(--wp--preset--color--rules);
    padding-left: 0;
    padding-top: var(--wp--preset--spacing--50);
  }

  .lyo-product-summary {
    padding-top: 0;
  }

  .lyo-services > .wp-block-columns > .wp-block-column:last-child {
    border-left: 0;
    border-top: 1px solid var(--wp--preset--color--rules);
    padding-left: 0;
    padding-top: var(--wp--preset--spacing--50);
  }

  .lyo-home-news .wp-block-post {
    gap: var(--wp--preset--spacing--20);
    grid-template-columns: 1fr;
  }

  .site-header__top {
    flex-wrap: wrap;
  }

  .site-header__search {
    flex-basis: 100%;
    max-width: none;
    order: 3;
  }

  nav.site-header__navigation {
    margin-top: 0.75rem;
  }

  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    font-size: 1.25rem;
    padding-block: 0.65rem;
  }

  .lyo-book-grid:not(.lyo-featured-book) .wc-block-product-template__responsive {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 480px) {
  .lyo-section-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .lyo-process > .wp-block-group {
    grid-template-columns: 3rem minmax(0, 1fr);
  }

  .lyo-values > .wp-block-group,
  .lyo-section-index > .wp-block-group,
  .lyo-contact-options > .wp-block-group {
    gap: var(--wp--preset--spacing--20);
    grid-template-columns: 1fr;
  }

  .lyo-category-links,
  .lyo-book-grid:not(.lyo-featured-book) .wc-block-product-template__responsive {
    grid-template-columns: 1fr !important;
  }

  .lyo-book-grid:not(.lyo-featured-book) .wc-block-components-product-image {
    max-width: 22rem;
    width: 100%;
  }

  .site-header__search .wp-block-search__button {
    padding-inline: 0.8rem;
  }

  .lyo-catalogue-toolbar > * {
    flex-basis: 100%;
  }

  #prosfores .wc-block-grid.has-3-columns .wc-block-grid__product {
    flex: 1 0 100%;
    max-width: 100%;
  }
}

.lyo-cookie-banner {
  position: fixed;
  z-index: 100001;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  max-height: min(75vh, 42rem);
  overflow: auto;
  border: 1px solid var(--wp--preset--color--rules);
  background: var(--wp--preset--color--warm-white);
  box-shadow: 0 0.4rem 1.8rem rgb(30 31 27 / 22%);
  color: var(--wp--preset--color--ink);
}

.lyo-cookie-banner[hidden],
.lyo-cookie-banner__settings[hidden] {
  display: none;
}

.lyo-cookie-banner__inner {
  max-width: 76rem;
  margin-inline: auto;
  padding: clamp(1rem, 3vw, 1.5rem);
}

.lyo-cookie-banner h2,
.lyo-cookie-banner h3 {
  margin: 0 0 0.5rem;
}

.lyo-cookie-banner p {
  margin: 0.5rem 0 1rem;
}

.lyo-cookie-banner a,
.lyo-cookie-settings-trigger {
  color: var(--wp--preset--color--deep-green);
}

.lyo-cookie-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.lyo-cookie-banner button {
  min-height: 2.75rem;
  border: 1px solid var(--wp--preset--color--ink);
  padding: 0.6rem 1rem;
  background: var(--wp--preset--color--ink);
  color: var(--wp--preset--color--warm-white);
  font: inherit;
  cursor: pointer;
}

.lyo-cookie-banner button[data-lyo-cookie-settings] {
  background: transparent;
  color: var(--wp--preset--color--ink);
}

.site-footer .lyo-cookie-settings-trigger {
  border: 1px solid var(--wp--preset--color--ink);
  padding: 0.3rem 0.55rem;
  background: var(--wp--preset--color--warm-white);
  color: var(--wp--preset--color--ink);
  font: inherit;
}

.lyo-cookie-banner__settings {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--wp--preset--color--rules);
}

.lyo-cookie-banner__settings label {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin: 1rem 0;
}

.lyo-cookie-banner__settings input {
  margin-top: 0.3rem;
}

.lyo-cookie-banner__status:empty {
  display: none;
}

@media (max-width: 600px) {
  .lyo-cookie-banner {
    right: 0;
    bottom: 0;
    left: 0;
    max-height: 82vh;
  }

  .lyo-cookie-banner__actions {
    display: grid;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
