@font-face {
  font-family: "Manrope Variable";
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url("../fonts/manrope-cyrillic-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* LAPORIA information pages and editorial guide. */
.laporia-entry:has(.laporia-info-page) .laporia-entry__header {
  max-width: 1040px;
  margin-bottom: 30px;
}

.laporia-entry:has(.laporia-info-page) .laporia-entry__header h1 {
  max-width: 960px;
  font-size: clamp(36px, 4vw, 58px);
}

.laporia-entry__content:has(.laporia-info-page) {
  max-width: none;
  font-size: 16px;
}

.laporia-info-page {
  color: #55655d;
  line-height: 1.72;
}

.laporia-info-lead {
  max-width: 940px;
  margin: 0 0 28px;
  color: #34483e;
  font-size: clamp(17px, 1.5vw, 20px);
  line-height: 1.65;
}

.laporia-info-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 42px;
}

.laporia-entry__content .laporia-info-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid rgba(36, 93, 69, .18);
  border-radius: 9px;
  color: var(--lp-green-dark);
  background: #f4f8f4;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.laporia-info-section {
  max-width: 1160px;
  margin: 0;
  padding: 42px 0;
  border-top: 1px solid var(--lp-line);
}

.laporia-entry__content .laporia-info-section h2,
.laporia-info-page--archive h2 {
  max-width: 880px;
  margin: 7px 0 22px;
  font-size: clamp(27px, 3vw, 39px);
}

.laporia-info-kicker,
.laporia-info-page__intro > span,
.laporia-guide-index__section-head span,
.laporia-guide-cta span,
.laporia-guide-related header span {
  display: block;
  color: var(--lp-green);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.laporia-info-grid {
  display: grid;
  gap: 12px;
}

.laporia-info-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.laporia-info-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.laporia-info-card {
  min-width: 0;
  padding: 20px;
  border: 1px solid rgba(23, 39, 31, .12);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 9px 24px rgba(16, 43, 34, .035);
}

.laporia-entry__content .laporia-info-card h3,
.laporia-info-page--archive .laporia-info-card h3 {
  margin: 0 0 8px;
  font-family: var(--lp-body);
  font-size: 17px;
  letter-spacing: -.02em;
}

.laporia-info-card p { margin: 0; font-size: 13px; line-height: 1.65; }

.laporia-entry__content .laporia-info-card a,
.laporia-info-page--archive .laporia-info-card a {
  display: inline-flex;
  margin-top: 14px;
  color: var(--lp-green-dark);
  font-size: 11px;
  font-weight: 850;
  text-decoration: none;
}

.laporia-link-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.laporia-entry__content .laporia-link-list a {
  position: relative;
  display: grid;
  gap: 3px;
  min-height: 82px;
  padding: 15px 40px 15px 16px;
  border: 1px solid var(--lp-line);
  border-radius: 13px;
  color: var(--lp-ink);
  background: #fafbf8;
  text-decoration: none;
}

.laporia-link-list a::after {
  position: absolute;
  top: 50%;
  right: 16px;
  color: var(--lp-green);
  content: "→";
  transform: translateY(-50%);
}

.laporia-link-list strong { font-size: 13px; }
.laporia-link-list span { color: var(--lp-muted); font-size: 11px; }

.laporia-step-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0 !important;
  padding: 0 !important;
  counter-reset: laporia-step;
  list-style: none;
}

.laporia-step-list li {
  position: relative;
  min-width: 0;
  padding: 40px 17px 17px;
  border-top: 2px solid #cfe1d5;
  counter-increment: laporia-step;
}

.laporia-step-list li::before {
  position: absolute;
  top: -15px;
  left: 16px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 4px solid var(--lp-paper);
  border-radius: 50%;
  color: #fff;
  background: var(--lp-green);
  content: counter(laporia-step);
  font-size: 10px;
  font-weight: 900;
}

.laporia-step-list strong,
.laporia-step-list span { display: block; }
.laporia-step-list strong { margin-bottom: 6px; color: var(--lp-ink); font-size: 13px; }
.laporia-step-list span { font-size: 11px; line-height: 1.55; }

.laporia-info-note {
  max-width: 1160px;
  margin: 26px 0 0;
  padding: 18px 20px 18px 23px;
  border-left: 3px solid var(--lp-green);
  border-radius: 0 14px 14px 0;
  background: #edf5ef;
}

.laporia-info-note strong { display: block; margin-bottom: 4px; color: var(--lp-ink); font-size: 13px; }
.laporia-info-note p { margin: 0; font-size: 13px; }

.laporia-fact-grid,
.laporia-contact-panel {
  display: grid;
  gap: 10px;
  max-width: 1160px;
  margin: 34px 0 44px;
}

.laporia-fact-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.laporia-contact-panel { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.laporia-fact-grid > div,
.laporia-contact-panel > div {
  display: flex;
  min-width: 0;
  min-height: 128px;
  flex-direction: column;
  justify-content: space-between;
  padding: 18px;
  border: 1px solid var(--lp-line);
  border-radius: 15px;
  background: #fff;
}

.laporia-fact-grid span,
.laporia-contact-panel span { color: var(--lp-green); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.laporia-fact-grid strong,
.laporia-contact-panel strong,
.laporia-entry__content .laporia-contact-panel a { color: var(--lp-ink); font-size: 15px; font-weight: 850; line-height: 1.3; text-decoration: none; }
.laporia-fact-grid small,
.laporia-contact-panel small { color: var(--lp-muted); font-size: 10px; line-height: 1.45; }

.laporia-faq { display: grid; gap: 8px; max-width: 940px; }
.laporia-faq details { border: 1px solid var(--lp-line); border-radius: 13px; background: #fff; }
.laporia-faq summary { position: relative; padding: 15px 46px 15px 16px; color: var(--lp-ink); cursor: pointer; font-size: 13px; font-weight: 800; list-style: none; }
.laporia-faq summary::-webkit-details-marker { display: none; }
.laporia-faq summary::after { position: absolute; top: 50%; right: 17px; content: "+"; font-size: 20px; transform: translateY(-50%); }
.laporia-faq details[open] summary::after { content: "−"; }
.laporia-faq details p { margin: 0; padding: 0 16px 16px; font-size: 13px; }

.laporia-info-cta,
.laporia-guide-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 1160px;
  margin-top: 28px;
  padding: 24px 26px;
  border-radius: 18px;
  color: #fff;
  background: var(--lp-green-dark);
}

.laporia-entry__content .laporia-info-cta h2,
.laporia-guide-cta h2 { margin: 5px 0 0; color: #fff; font-size: clamp(22px, 2.7vw, 32px); }
.laporia-info-cta > div > span { color: #f6cf69; font-size: 9px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.laporia-info-cta .laporia-button,
.laporia-guide-cta .laporia-button { flex: 0 0 auto; color: var(--lp-ink); background: #f6cf69; text-decoration: none; }

.laporia-legal-page { max-width: 980px; }
.laporia-legal-page .laporia-info-section { padding: 30px 0; }
.laporia-legal-page ul { padding-left: 21px; }
.laporia-legal-page li { margin-bottom: 7px; }

.laporia-archive-seo {
  margin: 46px 0 14px;
  padding: 28px;
  border: 1px solid var(--lp-line);
  border-radius: 22px;
  background: #f7f8f4;
}

.laporia-info-page--archive .laporia-info-page__intro { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.4fr); gap: 5px 40px; margin-bottom: 23px; }
.laporia-info-page--archive .laporia-info-page__intro > span { grid-column: 1; }
.laporia-info-page--archive .laporia-info-page__intro h2 { grid-column: 1; grid-row: 2 / span 2; margin: 3px 0 0; font-size: clamp(24px, 3vw, 34px); }
.laporia-info-page--archive .laporia-info-page__intro p { grid-column: 2; grid-row: 1 / span 3; align-self: center; margin: 0; color: var(--lp-muted); font-size: 13px; line-height: 1.7; }

.laporia-guide-index { background: var(--lp-paper); }
.laporia-guide-index__hero { padding: 44px 0 40px; border-bottom: 1px solid var(--lp-line); background: #edf5ef; }
.laporia-guide-index__hero h1 { max-width: 900px; margin: 10px 0 14px; font-size: clamp(38px, 4.8vw, 60px); }
.laporia-guide-index__hero h1 em { color: var(--lp-green); font-style: normal; }
.laporia-guide-index__hero > .laporia-container > p:not(.laporia-eyebrow) { max-width: 730px; margin: 0; color: #4f6258; font-size: 16px; line-height: 1.6; }
.laporia-guide-index__topics { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 20px; }
.laporia-guide-index__topics a { padding: 9px 12px; border: 1px solid rgba(36, 93, 69, .18); border-radius: 9px; color: var(--lp-green-dark); background: rgba(255,255,255,.55); font-size: 11px; font-weight: 800; text-decoration: none; }
.laporia-guide-index__body { padding: 48px 0 90px; }
.laporia-guide-index__section-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 24px; }
.laporia-guide-index__section-head h2 { margin: 6px 0 0; font-size: clamp(30px, 4vw, 45px); }
.laporia-guide-index__section-head p { max-width: 390px; margin: 0; color: var(--lp-muted); font-size: 13px; }
.laporia-guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.laporia-guide-card { min-width: 0; border: 1px solid var(--lp-line); border-radius: 18px; background: #fff; transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.laporia-guide-card:hover { border-color: rgba(36,93,69,.34); box-shadow: 0 13px 32px rgba(16,43,34,.07); transform: translateY(-2px); }
.laporia-guide-card__main { display: flex; min-height: 260px; flex-direction: column; padding: 24px; color: var(--lp-ink); text-decoration: none; }
.laporia-guide-card__meta { color: var(--lp-green); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.laporia-guide-card h2 { margin: 18px 0 11px; font-size: clamp(22px, 2.7vw, 31px); }
.laporia-guide-card p { margin: 0; color: var(--lp-muted); font-size: 13px; line-height: 1.65; }
.laporia-guide-card__link { margin-top: auto; padding-top: 22px; color: var(--lp-green-dark); font-size: 12px; font-weight: 850; }
.laporia-guide-cta { max-width: none; margin-top: 28px; }
.laporia-guide-index .navigation.pagination { margin-top: 24px; }

.laporia-guide-article__header { padding: 34px 0 40px; border-bottom: 1px solid var(--lp-line); background: #edf5ef; }
.laporia-guide-breadcrumbs { display: flex; gap: 8px; margin-bottom: 25px; color: var(--lp-muted); font-size: 10px; }
.laporia-guide-breadcrumbs a { color: var(--lp-green-dark); text-decoration: none; }
.laporia-guide-article__header h1 { max-width: 1050px; margin: 10px 0 14px; font-size: clamp(36px, 4.4vw, 56px); }
.laporia-guide-article__lead { max-width: 820px; margin: 0; color: #4d6056; font-size: 17px; line-height: 1.65; }
.laporia-guide-article__meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 24px; color: #607168; font-size: 10px; font-weight: 700; }
.laporia-guide-article__layout { display: grid; grid-template-columns: minmax(0, 820px) 250px; gap: 70px; align-items: start; padding-top: 48px; padding-bottom: 78px; }
.laporia-guide-article__content { color: #4e6057; font-size: 16px; line-height: 1.78; }
.laporia-guide-article__content h2 { margin: 2em 0 .65em; color: var(--lp-ink); font-size: clamp(26px, 3vw, 36px); }
.laporia-guide-article__content h3 { margin: 1.3em 0 .5em; color: var(--lp-ink); font-size: 19px; }
.laporia-guide-article__content ul { padding-left: 21px; }
.laporia-guide-article__content li { margin-bottom: 8px; }
.laporia-guide-callout,
.laporia-guide-checklist,
.laporia-guide-disclaimer { padding: 18px 20px; border-radius: 14px; }
.laporia-guide-callout { margin: 0 0 30px; border-left: 3px solid var(--lp-green); border-radius: 0 14px 14px 0; color: #34483e; background: #edf5ef; }
.laporia-guide-checklist { margin-top: 34px; border: 1px solid var(--lp-line); background: #fafbf8; }
.laporia-guide-article__content .laporia-guide-checklist h2 { margin-top: 0; font-size: 24px; }
.laporia-guide-disclaimer { margin-top: 22px; background: #fff3d1; font-size: 12px; }
.laporia-guide-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.laporia-guide-split > div { padding: 17px; border: 1px solid var(--lp-line); border-radius: 13px; background: #fff; }
.laporia-guide-split h3 { margin-top: 0; }
.laporia-guide-category-link { display: inline-flex; min-height: 46px; align-items: center; margin-top: 12px; padding: 0 17px; border-radius: 10px; color: #fff; background: var(--lp-green); font-size: 12px; font-weight: 850; text-decoration: none; }
.laporia-guide-article__aside { position: sticky; top: 22px; display: grid; gap: 0; padding: 18px; border: 1px solid var(--lp-line); border-radius: 15px; background: #fff; }
.laporia-guide-article__aside strong { margin-bottom: 9px; color: var(--lp-ink); font-size: 12px; }
.laporia-guide-article__aside a { padding: 9px 0; border-top: 1px solid #edf0ed; color: var(--lp-green-dark); font-size: 11px; font-weight: 750; text-decoration: none; }
.laporia-guide-related { padding: 42px 0 80px; background: #edf5ef; }
.laporia-guide-related header h2 { margin: 6px 0 22px; font-size: clamp(29px, 4vw, 42px); }
.laporia-guide-related__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.laporia-guide-related__grid a { position: relative; display: grid; min-height: 130px; align-content: start; gap: 9px; padding: 18px 40px 18px 18px; border: 1px solid rgba(36,93,69,.15); border-radius: 14px; color: var(--lp-ink); background: rgba(255,255,255,.7); text-decoration: none; }
.laporia-guide-related__grid span { color: var(--lp-green); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.laporia-guide-related__grid strong { font-size: 14px; line-height: 1.4; }
.laporia-guide-related__grid b { position: absolute; right: 17px; bottom: 16px; color: var(--lp-green); }

@media (max-width: 920px) {
  .laporia-info-grid--3,
  .laporia-fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .laporia-step-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 0; }
  .laporia-guide-article__layout { grid-template-columns: 1fr; gap: 28px; }
  .laporia-guide-article__aside { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .laporia-guide-article__aside strong { grid-column: 1 / -1; }
  .laporia-guide-related__grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .laporia-entry:has(.laporia-info-page) .laporia-entry__header { margin-bottom: 20px; }
  .laporia-entry:has(.laporia-info-page) .laporia-entry__header h1 { font-size: 34px; }
  .laporia-info-lead { font-size: 15px; }
  .laporia-info-nav { margin-bottom: 28px; }
  .laporia-info-grid--2,
  .laporia-info-grid--3,
  .laporia-fact-grid,
  .laporia-contact-panel,
  .laporia-link-list,
  .laporia-guide-grid,
  .laporia-guide-split { grid-template-columns: 1fr; }
  .laporia-info-section { padding: 31px 0; }
  .laporia-info-card { padding: 17px; }
  .laporia-step-list { grid-template-columns: 1fr; gap: 25px; }
  .laporia-step-list li { padding: 34px 10px 5px 16px; }
  .laporia-info-cta,
  .laporia-guide-cta { align-items: stretch; flex-direction: column; padding: 21px; }
  .laporia-info-cta .laporia-button,
  .laporia-guide-cta .laporia-button { width: 100%; }
  .laporia-archive-seo { margin-top: 30px; padding: 19px 15px; border-radius: 18px; }
  .laporia-info-page--archive .laporia-info-page__intro { grid-template-columns: 1fr; gap: 6px; }
  .laporia-info-page--archive .laporia-info-page__intro > span,
  .laporia-info-page--archive .laporia-info-page__intro h2,
  .laporia-info-page--archive .laporia-info-page__intro p { grid-column: auto; grid-row: auto; }
  .laporia-guide-index__hero { padding: 38px 0; }
  .laporia-guide-index__hero h1 { font-size: 40px; }
  .laporia-guide-index__hero > .laporia-container > p:not(.laporia-eyebrow) { font-size: 14px; }
  .laporia-guide-index__body { padding: 34px 0 60px; }
  .laporia-guide-index__section-head { align-items: start; flex-direction: column; gap: 10px; }
  .laporia-guide-card__main { min-height: 235px; padding: 20px; }
  .laporia-guide-article__header { padding: 28px 0 35px; }
  .laporia-guide-article__header h1 { font-size: 35px; }
  .laporia-guide-article__lead { font-size: 14px; }
  .laporia-guide-article__layout { padding-top: 32px; padding-bottom: 52px; }
  .laporia-guide-article__content { font-size: 14px; }
  .laporia-guide-article__aside { grid-template-columns: 1fr; }
  .laporia-guide-article__aside strong { grid-column: auto; }
}

/* Product information tabs: compact, readable and consistent with LAPORIA. */
.laporia-site.single-product .woocommerce-tabs {
  width: min(100%, 1120px);
  margin-top: 34px;
  margin-right: auto;
  margin-left: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--lp-line);
  border-radius: 22px;
  background: var(--lp-white);
  box-shadow: 0 14px 38px rgba(16, 43, 34, 0.055);
}

.laporia-site.single-product .woocommerce-tabs .tabs {
  display: flex;
  justify-content: flex-start !important;
  align-items: center;
  gap: 7px;
  width: 100%;
  margin: 0 !important;
  padding: 13px 18px !important;
  border-bottom: 1px solid var(--lp-line);
  background: #f6f7f3;
}

.laporia-site.single-product .woocommerce-tabs .tabs li {
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 0 !important;
}

.laporia-site.single-product .woocommerce-tabs .tabs li::before,
.laporia-site.single-product .woocommerce-tabs .tabs li::after {
  display: none !important;
  content: none !important;
}

.laporia-site.single-product .woocommerce-tabs .tabs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px !important;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--lp-ink) !important;
  background: transparent !important;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.035em;
  text-transform: uppercase;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.laporia-site.single-product .woocommerce-tabs .tabs li:not(.active) a:hover,
.laporia-site.single-product .woocommerce-tabs .tabs li:not(.active) a:focus-visible {
  border-color: rgba(36, 93, 69, 0.18);
  background: #eaf2ec !important;
}

.laporia-site.single-product .woocommerce-tabs .tabs .active a {
  border-color: var(--lp-green-dark);
  border-radius: 10px;
  color: #fff !important;
  background: var(--lp-green-dark) !important;
  box-shadow: none;
}

.laporia-site.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
  width: 100%;
  max-width: none;
  margin: 0 !important;
  padding: 27px 30px 31px !important;
  color: var(--lp-muted);
  font-size: 15px;
  line-height: 1.72;
}

.laporia-site.single-product .woocommerce-Tabs-panel--description > * {
  max-width: 920px;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.laporia-site.single-product .woocommerce-Tabs-panel--description > p {
  margin-top: 0;
  margin-bottom: 15px;
}

.laporia-site.single-product .woocommerce-Tabs-panel--description > p:first-of-type:empty {
  display: none;
}

.laporia-site.single-product .woocommerce-Tabs-panel--description > p:first-of-type:not(:empty),
.laporia-site.single-product .woocommerce-Tabs-panel--description > p:first-of-type:empty + p {
  max-width: 920px;
  margin-bottom: 18px;
  padding: 14px 16px;
  border-left: 3px solid var(--lp-green);
  border-radius: 0 12px 12px 0;
  color: var(--lp-ink);
  background: #eef5f0;
  font-size: 16px;
  line-height: 1.55;
}

.laporia-site.single-product .woocommerce-Tabs-panel--description p:has(+ ul) {
  margin-top: 23px;
  margin-bottom: 10px;
  color: var(--lp-ink);
  font-size: 16px;
}

.laporia-site.single-product .woocommerce-Tabs-panel--description ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  max-width: 920px;
  margin: 0 0 21px !important;
  padding: 0 !important;
  list-style: none;
}

.laporia-site.single-product .woocommerce-Tabs-panel--description li {
  position: relative;
  margin: 0;
  padding: 10px 12px 10px 35px;
  border: 1px solid rgba(23, 39, 31, 0.1);
  border-radius: 11px;
  color: #44574e;
  background: #fafbf8;
  font-size: 13px;
  line-height: 1.45;
}

.laporia-site.single-product .woocommerce-Tabs-panel--description li::before {
  position: absolute;
  top: 10px;
  left: 12px;
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  color: #fff;
  background: var(--lp-green);
  content: "\2713";
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
}

.laporia-site.single-product .woocommerce-Tabs-panel--description > p:last-child {
  margin-bottom: 0;
  padding-top: 17px;
  border-top: 1px solid var(--lp-line);
}

.laporia-site.single-product .woocommerce-Tabs-panel--additional_information .shop_attributes {
  width: min(100%, 760px);
  margin: 0 !important;
  overflow: hidden;
  border: 1px solid var(--lp-line);
  border-radius: 14px;
  border-spacing: 0;
  background: #fff;
}

.laporia-site.single-product .woocommerce-Tabs-panel--additional_information .shop_attributes th,
.laporia-site.single-product .woocommerce-Tabs-panel--additional_information .shop_attributes td {
  padding: 13px 15px;
  border: 0;
  border-bottom: 1px solid var(--lp-line);
  text-align: left;
}

.laporia-site.single-product .woocommerce-Tabs-panel--additional_information .shop_attributes th {
  width: 34%;
  color: var(--lp-ink);
  background: #f6f7f3;
  font-size: 12px;
  font-weight: 800;
}

.laporia-site.single-product .woocommerce-Tabs-panel--additional_information .shop_attributes tr:last-child th,
.laporia-site.single-product .woocommerce-Tabs-panel--additional_information .shop_attributes tr:last-child td {
  border-bottom: 0;
}

.laporia-site.single-product .woocommerce-Tabs-panel--additional_information .shop_attributes p {
  margin: 0;
}

.laporia-site.single-product #reviews {
  display: grid;
  grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.5fr);
  gap: 18px;
  width: 100%;
  max-width: 1040px;
  margin: 0 !important;
}

.laporia-site.single-product #reviews #comments,
.laporia-site.single-product #reviews #review_form_wrapper {
  min-width: 0;
  padding: 21px;
  border: 1px solid var(--lp-line);
  border-radius: 16px;
  background: #fafbf8;
}

.laporia-site.single-product #reviews #comments {
  align-self: start;
}

.laporia-site.single-product #reviews .woocommerce-Reviews-title {
  margin: 0 0 10px;
  color: var(--lp-ink);
  font-size: 18px;
  line-height: 1.3;
}

.laporia-site.single-product #reviews .woocommerce-noreviews {
  margin: 0;
  color: var(--lp-muted);
  font-size: 13px;
}

.laporia-site.single-product #reviews .comment-reply-title {
  display: block;
  margin: 0 0 7px;
  color: var(--lp-ink);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.4;
}

.laporia-site.single-product #reviews .comment-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
  margin-top: 16px;
}

.laporia-site.single-product #reviews .comment-form > * {
  min-width: 0;
  margin: 0;
}

.laporia-site.single-product #reviews .comment-notes,
.laporia-site.single-product #reviews .comment-form-rating,
.laporia-site.single-product #reviews .comment-form-field-textarea,
.laporia-site.single-product #reviews .comment-form-cookies-consent,
.laporia-site.single-product #reviews .form-submit {
  grid-column: 1 / -1;
}

.laporia-site.single-product #reviews .comment-notes {
  color: var(--lp-muted);
  font-size: 12px;
  line-height: 1.55;
}

.laporia-site.single-product #reviews .comment-form-rating {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 9px 12px;
  border: 1px solid var(--lp-line);
  border-radius: 11px;
  background: #fff;
}

.laporia-site.single-product #reviews .comment-form-rating > label,
.laporia-site.single-product #reviews .comment-form label {
  margin-bottom: 6px;
  color: #42554c;
  font-size: 12px;
  font-weight: 800;
}

.laporia-site.single-product #reviews .comment-form-rating > label {
  flex: 0 0 auto;
  margin: 0;
}

.laporia-site.single-product #reviews p.stars {
  margin: 0 !important;
  line-height: 1;
}

.laporia-site.single-product #reviews .comment-form input[type="text"],
.laporia-site.single-product #reviews .comment-form input[type="email"],
.laporia-site.single-product #reviews .comment-form textarea {
  width: 100%;
  border: 1px solid var(--lp-line);
  border-radius: 11px;
  color: var(--lp-ink);
  background: #fff;
  box-shadow: none;
}

.laporia-site.single-product #reviews .comment-form input[type="text"],
.laporia-site.single-product #reviews .comment-form input[type="email"] {
  height: 46px;
  padding: 0 13px;
}

.laporia-site.single-product #reviews .comment-form textarea {
  height: 124px;
  min-height: 124px;
  padding: 12px 13px;
  resize: vertical;
}

.laporia-site.single-product #reviews .comment-form input:focus,
.laporia-site.single-product #reviews .comment-form textarea:focus {
  border-color: var(--lp-green);
  outline: 3px solid rgba(46, 125, 91, 0.12);
}

.laporia-site.single-product #reviews .comment-form-cookies-consent {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: var(--lp-muted);
  font-size: 12px;
  line-height: 1.5;
}

.laporia-site.single-product #reviews .comment-form-cookies-consent input {
  flex: 0 0 auto;
  margin-top: 2px;
}

.laporia-site.single-product #reviews .comment-form-cookies-consent label {
  margin: 0;
  font-weight: 500;
}

.laporia-site.single-product #reviews .form-submit .submit {
  width: auto;
  min-width: 180px;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 11px;
  background: var(--lp-green);
  font-size: 13px;
  font-weight: 800;
}

.laporia-site.single-product #reviews .commentlist {
  margin: 15px 0 0;
  padding: 0;
  list-style: none;
}

.laporia-site.single-product #reviews .commentlist > li {
  margin: 0 0 10px;
  padding: 14px;
  border: 1px solid var(--lp-line);
  border-radius: 12px;
  background: #fff;
}

@media (max-width: 820px) {
  .laporia-site.single-product .woocommerce-tabs {
    width: 100%;
    margin-top: 24px;
    padding: 0;
    border-radius: 18px;
  }

  .laporia-site.single-product .woocommerce-tabs .tabs {
    justify-content: flex-start !important;
    overflow-x: auto;
    padding: 10px 11px !important;
    white-space: nowrap;
    scrollbar-width: none;
  }

  .laporia-site.single-product .woocommerce-tabs .tabs::-webkit-scrollbar {
    display: none;
  }

  .laporia-site.single-product .woocommerce-tabs .tabs a {
    min-height: 36px;
    padding: 0 12px !important;
    font-size: 10px;
  }

  .laporia-site.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
    padding: 20px 17px 23px !important;
    font-size: 14px;
    line-height: 1.65;
  }

  .laporia-site.single-product .woocommerce-Tabs-panel--description > p:first-of-type:not(:empty),
  .laporia-site.single-product .woocommerce-Tabs-panel--description > p:first-of-type:empty + p {
    padding: 12px 13px;
    font-size: 14px;
  }

  .laporia-site.single-product .woocommerce-Tabs-panel--description ul {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .laporia-site.single-product #reviews {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .laporia-site.single-product #reviews #comments,
  .laporia-site.single-product #reviews #review_form_wrapper {
    padding: 16px;
    border-radius: 14px;
  }

  .laporia-site.single-product #reviews .comment-reply-title {
    font-size: 16px;
  }
}

@media (max-width: 560px) {
  .laporia-site.single-product .woocommerce-tabs {
    width: 100%;
    margin-top: 20px;
    padding: 0;
  }

  .laporia-site.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
    padding: 17px 13px 20px !important;
  }

  .laporia-site.single-product #reviews .comment-form {
    grid-template-columns: 1fr;
  }

  .laporia-site.single-product #reviews .comment-notes,
  .laporia-site.single-product #reviews .comment-form-rating,
  .laporia-site.single-product #reviews .comment-form-field-textarea,
  .laporia-site.single-product #reviews .comment-form-cookies-consent,
  .laporia-site.single-product #reviews .form-submit {
    grid-column: auto;
  }

  .laporia-site.single-product #reviews .comment-form-rating {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }

  .laporia-site.single-product #reviews .form-submit .submit {
    width: 100%;
  }
}

/* Make discounted catalogue prices instantly scannable. */
.laporia-site ul.products li.product .price:has(ins) {
  align-items: center;
  gap: 7px;
}

.laporia-site ul.products li.product .price ins {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 3px 9px;
  border: 1px solid rgba(201, 146, 20, 0.2);
  border-radius: 8px;
  color: #173c30;
  background: #fff1be;
  text-decoration: none;
  line-height: 1;
}

.laporia-site ul.products li.product .price ins .amount,
.laporia-site ul.products li.product .price ins bdi {
  color: inherit !important;
}

.laporia-site ul.products li.product .price del {
  color: #7b847f;
  font-weight: 650;
  opacity: 1;
}

.laporia-site ul.products li.product .price del .amount,
.laporia-site ul.products li.product .price del bdi {
  color: inherit !important;
}

@font-face {
  font-family: "Manrope Variable";
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url("../fonts/manrope-latin-wght-normal.woff2") format("woff2-variations");
  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: "Unbounded Variable";
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url("../fonts/unbounded-cyrillic-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

@font-face {
  font-family: "Unbounded Variable";
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url("../fonts/unbounded-latin-wght-normal.woff2") format("woff2-variations");
  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;
}

:root {
  --lp-ink: #17271f;
  --lp-paper: #fffaf0;
  --lp-white: #ffffff;
  --lp-green: #337a5b;
  --lp-green-dark: #245d45;
  --lp-mint: #cfe9d6;
  --lp-apricot: #f4a67e;
  --lp-sky: #b9dcf4;
  --lp-yellow: #f5ce64;
  --lp-violet: #cdbcec;
  --lp-line: rgba(23, 39, 31, 0.16);
  --lp-muted: #617068;
  --lp-display: "Unbounded Variable", "Arial Black", sans-serif;
  --lp-body: "Manrope Variable", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --lp-radius: 28px;
  --lp-shadow: 0 18px 60px rgba(36, 65, 49, 0.12);
  --lp-container: 1240px;
}

html {
  scroll-behavior: smooth;
}

body.laporia-site {
  margin: 0;
  color: var(--lp-ink);
  background: var(--lp-paper);
  font-family: var(--lp-body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

.laporia-site *,
.laporia-site *::before,
.laporia-site *::after {
  box-sizing: border-box;
}

.laporia-site img,
.laporia-site svg {
  display: block;
  max-width: 100%;
}

.laporia-site a {
  color: inherit;
  text-decoration: none;
}

.laporia-site button,
.laporia-site input,
.laporia-site select,
.laporia-site textarea {
  font: inherit;
}

.laporia-container {
  width: min(calc(100% - 40px), var(--lp-container));
  margin-inline: auto;
}

.laporia-main {
  min-height: 50vh;
  overflow: clip;
}

.laporia-topline {
  color: var(--lp-paper);
  background: var(--lp-ink);
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.01em;
}

.laporia-topline__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 36px;
}

.laporia-topline p {
  margin: 0;
}

.laporia-topline nav {
  display: flex;
  gap: 26px;
}

.laporia-topline a:hover,
.laporia-topline a:focus-visible {
  color: var(--lp-yellow);
}

.laporia-header {
	position: sticky;
	top: 0;
	z-index: 30;
  border-bottom: 1px solid var(--lp-line);
  background: rgba(255, 250, 240, 0.96);
}

.laporia-header__inner {
  display: grid;
  grid-template-columns: auto minmax(320px, 680px) auto;
  align-items: center;
  min-height: 78px;
  gap: 30px;
  justify-content: space-between;
}

.laporia-logo {
  display: inline-flex;
  align-items: center;
  width: fit-content;
}

.laporia-logo__image {
  display: block;
  width: 184px;
  height: auto;
}

.laporia-header-search {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
}

.laporia-header-search > svg {
  position: absolute;
  z-index: 1;
  left: 18px;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: var(--lp-green-dark);
  stroke-width: 1.8;
  stroke-linecap: round;
}

.laporia-header-search input[type="search"] {
  width: 100%;
  min-width: 0;
  height: 48px;
  padding: 0 92px 0 50px;
  border: 1px solid var(--lp-line);
  border-radius: 999px;
  color: var(--lp-ink);
  background: var(--lp-white);
  outline: 0;
}

.laporia-header-search input[type="search"]:focus {
  border-color: var(--lp-green);
  box-shadow: 0 0 0 4px rgba(51, 122, 91, 0.12);
}

.laporia-header-search button {
  position: absolute;
  right: 5px;
  min-height: 38px;
  padding: 0 17px;
  border: 0;
  border-radius: 999px;
  color: var(--lp-paper);
  background: var(--lp-green);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.laporia-header-search button.is-loading {
  color: transparent;
  cursor: wait;
}

.laporia-header-search button.is-loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.42);
  border-top-color: #fff;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: laporia-search-spin 650ms linear infinite;
}

@keyframes laporia-search-spin {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

.laporia-category-nav {
  border-top: 1px solid rgba(23, 39, 31, 0.08);
  background: var(--lp-white);
}

.laporia-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.laporia-nav__mobile-head,
.laporia-nav__mobile-label,
.laporia-menu-overlay {
  display: none;
}

.laporia-nav__list {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.laporia-nav__shortcuts {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0 0 0 auto;
  padding: 0;
  list-style: none;
}

.laporia-nav__shortcuts a {
  display: block;
  padding: 11px 9px;
  color: var(--lp-green-dark);
  font-size: 12px;
  font-weight: 800;
}

.laporia-nav__shortcuts a:hover,
.laporia-nav__shortcuts a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.laporia-nav__list > li {
  position: relative;
}

.laporia-nav__list > li > a {
  position: relative;
  display: block;
  padding: 12px 13px 14px;
  border-radius: 0;
  font-size: 14px;
  font-weight: 750;
  transition: color 160ms ease;
}

.laporia-site .laporia-header .laporia-nav__list > li > a::after {
  content: "";
  position: absolute !important;
  top: auto !important;
  right: 25px !important;
  bottom: 7px !important;
  left: 13px !important;
  display: block !important;
  width: auto !important;
  height: 1px !important;
  border: 0 !important;
  background: var(--lp-green) !important;
  box-shadow: none !important;
  opacity: 0;
  transform: scaleX(0);
  transform-origin: left center;
  transition: opacity 160ms ease, transform 180ms ease;
}

.laporia-site .laporia-header .laporia-nav__list > li > a::before {
  content: "";
  position: absolute !important;
  z-index: 1;
  top: auto !important;
  right: 8px !important;
  bottom: 2px !important;
  left: auto !important;
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  border: 0 !important;
  color: var(--lp-green);
  background:
    radial-gradient(circle at 50% 70%, currentColor 0 3.7px, transparent 4px),
    radial-gradient(circle at 13% 34%, currentColor 0 1.75px, transparent 2px),
    radial-gradient(circle at 37% 15%, currentColor 0 1.8px, transparent 2.05px),
    radial-gradient(circle at 64% 15%, currentColor 0 1.8px, transparent 2.05px),
    radial-gradient(circle at 87% 34%, currentColor 0 1.75px, transparent 2px) !important;
  box-shadow: none !important;
  opacity: 0;
  transform: translate(-5px, 3px) rotate(-10deg) scale(0.72);
  transition: opacity 160ms ease, transform 190ms ease;
}

.laporia-nav__list > li > a:hover,
.laporia-nav__list > li > a:focus-visible,
.laporia-nav__list > .current-menu-item > a {
  color: var(--lp-green-dark);
  background: transparent;
}

.laporia-site .laporia-header .laporia-nav__list > li > a:hover::after,
.laporia-site .laporia-header .laporia-nav__list > li > a:focus-visible::after,
.laporia-site .laporia-header .laporia-nav__list > .current-menu-item > a::after {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

.laporia-site .laporia-header .laporia-nav__list > li > a:hover::before,
.laporia-site .laporia-header .laporia-nav__list > li > a:focus-visible::before,
.laporia-site .laporia-header .laporia-nav__list > .current-menu-item > a::before {
  opacity: 1 !important;
  transform: translate(0, 0) rotate(-10deg) scale(1) !important;
}

.laporia-nav .sub-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: 240px;
  margin: 0;
  padding: 12px;
  list-style: none;
  border: 1px solid var(--lp-line);
  border-radius: 18px;
  background: var(--lp-white);
  box-shadow: var(--lp-shadow);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: 180ms ease;
}

.laporia-nav li:hover > .sub-menu,
.laporia-nav li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.laporia-nav .sub-menu a {
  display: block;
  padding: 9px 10px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 650;
}

.laporia-nav .sub-menu a:hover,
.laporia-nav .sub-menu a:focus-visible {
  background: #eff5ef;
}

.laporia-header__actions {
  display: flex;
  gap: 7px;
}

.laporia-icon-button,
.laporia-menu-toggle {
  position: relative;
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  padding: 0;
  border: 1px solid var(--lp-line);
  border-radius: 50%;
  color: var(--lp-ink);
  background: transparent;
  cursor: pointer;
}

.laporia-icon-button:hover,
.laporia-icon-button:focus-visible,
.laporia-menu-toggle:hover,
.laporia-menu-toggle:focus-visible {
  border-color: var(--lp-green);
  color: var(--lp-paper);
  background: var(--lp-green);
}

.laporia-icon-button svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.laporia-cart-count {
  position: absolute;
  top: -5px;
  right: -5px;
  display: grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding-inline: 4px;
  border: 2px solid var(--lp-paper);
  border-radius: 10px;
  color: var(--lp-ink);
  background: var(--lp-yellow);
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}

body.laporia-cart-open {
  overflow: hidden;
}

.laporia-cart-drawer-shell[hidden] {
  display: none;
}

.laporia-cart-drawer-shell {
  position: fixed;
  z-index: 240;
  inset: 0;
  pointer-events: none;
}

.laporia-cart-drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(12, 25, 17, 0.54);
  opacity: 0;
  backdrop-filter: blur(3px);
  transition: opacity 220ms ease;
}

.laporia-cart-drawer {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  width: min(430px, 100%);
  height: 100dvh;
  grid-template-rows: auto minmax(0, 1fr) auto;
  color: var(--lp-ink);
  background: var(--lp-paper);
  box-shadow: -18px 0 60px rgba(12, 25, 17, 0.2);
  transform: translateX(104%);
  transition: transform 240ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.laporia-cart-drawer-shell.is-open {
  pointer-events: auto;
}

.laporia-cart-drawer-shell.is-open .laporia-cart-drawer__backdrop {
  opacity: 1;
}

.laporia-cart-drawer-shell.is-open .laporia-cart-drawer {
  transform: translateX(0);
}

.laporia-cart-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 25px 26px 20px;
  border-bottom: 1px solid var(--lp-line);
}

.laporia-cart-drawer__header span {
  display: block;
  margin-bottom: 3px;
  color: var(--lp-green);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.laporia-cart-drawer__header h2 {
  margin: 0;
  font-family: var(--lp-display);
  font-size: 26px;
  line-height: 1;
  letter-spacing: -0.045em;
}

.laporia-cart-drawer__close {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  padding: 0;
  border: 1px solid var(--lp-line);
  border-radius: 50%;
  color: var(--lp-ink);
  background: var(--lp-white);
  cursor: pointer;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.laporia-cart-drawer__close:hover,
.laporia-cart-drawer__close:focus-visible {
  border-color: var(--lp-green);
  color: var(--lp-paper);
  background: var(--lp-green);
  transform: rotate(5deg);
}

.laporia-cart-drawer__close svg,
.laporia-cart-drawer__note svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.laporia-cart-drawer__content {
  display: flex;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
}

.laporia-cart-drawer__content .woocommerce-mini-cart {
  display: grid;
  flex: 1;
  align-content: start;
  gap: 10px;
  margin: 0;
  padding: 18px 20px;
  overflow-y: auto;
  list-style: none;
}

.laporia-cart-drawer__content .woocommerce-mini-cart-item {
  position: relative;
  display: grid !important;
  grid-template-columns: 78px minmax(0, 1fr);
  grid-template-rows: minmax(0, auto) auto;
  column-gap: 13px;
  align-items: center;
  min-height: 96px;
  padding: 10px 38px 10px 10px !important;
  border: 1px solid var(--lp-line);
  border-radius: 16px;
  background: var(--lp-white);
}

.laporia-cart-drawer__content .woocommerce-mini-cart-item > a:not(.remove):has(img) {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: center;
}

.laporia-cart-drawer__content .woocommerce-mini-cart-item > a:not(.remove):not(:has(img)) {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  color: var(--lp-ink);
  font-size: 12px;
  font-weight: 780;
  line-height: 1.35;
}

.laporia-cart-drawer__content .woocommerce-mini-cart-item img {
  display: block;
  width: 78px !important;
  height: 78px !important;
  margin: 0 !important;
  border-radius: 12px;
  object-fit: contain;
  background: #f5f3eb;
  float: none !important;
}

.laporia-cart-drawer__content .woocommerce-mini-cart-item .quantity {
  display: block;
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  margin: 5px 0 0 !important;
  color: var(--lp-muted);
  font-size: 11px;
}

.laporia-cart-drawer__content .remove_from_cart_button {
  position: absolute;
  z-index: 2;
  top: 10px;
  right: 10px;
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border: 1px solid var(--lp-line);
  border-radius: 50%;
  color: var(--lp-muted) !important;
  background: var(--lp-paper);
  font-size: 16px;
  line-height: 1;
}

.laporia-cart-drawer__content .remove_from_cart_button:hover,
.laporia-cart-drawer__content .remove_from_cart_button:focus-visible {
  border-color: #b74a40;
  color: #b74a40 !important;
}

.laporia-cart-drawer__content .woocommerce-mini-cart__total {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
  padding: 17px 22px 12px;
  border-top: 1px solid var(--lp-line);
  font-size: 14px;
  width: 100% !important;
}

.laporia-cart-drawer__content .woocommerce-mini-cart__total strong {
  font-weight: 760;
}

.laporia-cart-drawer__content .woocommerce-mini-cart__total .amount {
  color: var(--lp-green-dark);
  font-size: 16px;
  font-weight: 850;
}

.laporia-cart-drawer__content .woocommerce-mini-cart__buttons {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 9px;
  margin: 0;
  padding: 0 20px 18px;
  width: 100% !important;
}

.laporia-cart-drawer__content .woocommerce-mini-cart__buttons .button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0 14px;
  border: 1px solid var(--lp-green-dark);
  border-radius: 12px;
  color: var(--lp-green-dark);
  background: transparent;
  font-size: 12px;
  font-weight: 850;
  text-align: center;
  width: 100% !important;
}

.laporia-cart-drawer__content .woocommerce-mini-cart__buttons .checkout {
  color: var(--lp-paper);
  background: var(--lp-green-dark);
}

.laporia-cart-drawer__content .woocommerce-mini-cart__buttons .button:hover,
.laporia-cart-drawer__content .woocommerce-mini-cart__buttons .button:focus-visible {
  color: var(--lp-paper);
  background: var(--lp-green);
}

.laporia-cart-drawer__content .woocommerce-mini-cart__empty-message {
  display: grid;
  flex: 1;
  place-items: center;
  margin: 0;
  padding: 40px 28px;
  color: var(--lp-muted);
  text-align: center;
}

.laporia-cart-drawer__content .woocommerce-mini-cart__empty-message::before {
  content: "🐾";
  display: block;
  margin-bottom: 12px;
  font-size: 42px;
  filter: grayscale(1);
  opacity: 0.55;
}

#laporia-cart-drawer .wc-empty-cart-message {
  display: grid;
  flex: 1;
  place-items: center;
  padding: 44px 28px 18px;
}

#laporia-cart-drawer .cart-empty.woocommerce-info {
  display: grid;
  place-items: center;
  gap: 14px;
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--lp-muted);
  background: transparent;
  text-align: center;
}

#laporia-cart-drawer .cart-empty.woocommerce-info::before {
  content: "🐾";
  position: static;
  display: grid;
  width: 72px;
  height: 72px;
  place-items: center;
  border-radius: 50%;
  color: inherit;
  background: var(--lp-mint);
  font-size: 34px;
  line-height: 1;
  filter: grayscale(1);
  opacity: 0.72;
}

#laporia-cart-drawer .return-to-shop {
  margin: 0;
  padding: 0 20px 22px;
}

#laporia-cart-drawer .return-to-shop .button {
  display: inline-flex;
  width: 100%;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: var(--lp-paper);
  background: var(--lp-green-dark);
  font-size: 12px;
  font-weight: 850;
}

.laporia-cart-drawer__note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 14px 20px max(14px, env(safe-area-inset-bottom));
  border-top: 1px solid var(--lp-line);
  color: var(--lp-muted);
  background: #f2f5ef;
  font-size: 10px;
  font-weight: 720;
  text-align: center;
}

/* Blocksy replaces the classic mini-cart item markup with its own two-column
   grid. Keep the drawer dimensions authoritative without changing Woo data. */
#laporia-cart-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item {
  grid-template-columns: 78px minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  gap: 13px !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 100px !important;
  padding: 10px 42px 10px 10px !important;
}

#laporia-cart-drawer .woocommerce-mini-cart-item > a.ct-media-container {
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 78px !important;
  height: 78px !important;
  align-self: center !important;
}

#laporia-cart-drawer .woocommerce-mini-cart-item > a.ct-media-container img {
  display: block !important;
  width: 78px !important;
  height: 78px !important;
  margin: 0 !important;
  object-fit: contain !important;
  float: none !important;
}

#laporia-cart-drawer .woocommerce-mini-cart-item > .product-data {
  display: flex !important;
  min-width: 0;
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  flex-direction: column;
  gap: 6px;
  padding: 0 !important;
}

#laporia-cart-drawer .woocommerce-mini-cart-item .product-title {
  color: var(--lp-ink);
  font-size: 12px;
  font-weight: 780;
  line-height: 1.35;
}

#laporia-cart-drawer .woocommerce-mini-cart-item .quantity {
  margin: 0 !important;
  color: var(--lp-muted);
  font-size: 11px;
}

#laporia-cart-drawer .woocommerce-mini-cart-item > .remove_from_cart_button {
  position: absolute !important;
  z-index: 3;
  top: 10px !important;
  right: 10px !important;
  left: auto !important;
  display: grid !important;
  width: 26px !important;
  height: 26px !important;
  place-items: center;
  padding: 0 !important;
  border: 1px solid var(--lp-line) !important;
  border-radius: 50% !important;
  background: var(--lp-paper) !important;
}

#laporia-cart-drawer .woocommerce-mini-cart-item > .remove_from_cart_button svg {
  width: 10px;
  height: 10px;
  fill: currentColor;
}

#laporia-cart-drawer .woocommerce-mini-cart__total {
  display: flex !important;
  width: 100% !important;
}

#laporia-cart-drawer .woocommerce-mini-cart__buttons {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: 1fr 1.15fr !important;
  gap: 9px !important;
}

#laporia-cart-drawer .woocommerce-mini-cart__buttons .button {
  display: inline-flex !important;
  width: 100% !important;
  margin: 0 !important;
  border-radius: 12px !important;
}

.laporia-menu-toggle {
  display: none;
}

.laporia-menu-toggle > span:not(.screen-reader-text) {
  width: 18px;
  height: 2px;
  margin: 0;
  border-radius: 2px;
  background: currentColor;
}

.laporia-search {
  position: absolute;
  top: 100%;
  inset-inline: 0;
  padding-block: 18px;
  border-bottom: 1px solid var(--lp-line);
  background: var(--lp-paper);
  box-shadow: 0 20px 40px rgba(23, 39, 31, 0.1);
}

.laporia-mobile-dock {
  display: none;
}

.laporia-search form,
.laporia-site .woocommerce-product-search {
  display: flex;
  max-width: 760px;
  margin-inline: auto;
}

.laporia-search input[type="search"],
.laporia-site .woocommerce-product-search input[type="search"] {
  width: 100%;
  min-height: 52px;
  padding: 0 20px;
  border: 1px solid var(--lp-line);
  border-radius: 999px 0 0 999px;
  background: var(--lp-white);
}

.laporia-search button,
.laporia-site .woocommerce-product-search button {
  min-height: 52px;
  padding: 0 25px;
  border: 0;
  border-radius: 0 999px 999px 0;
  color: var(--lp-paper);
  background: var(--lp-green);
  font-weight: 750;
  cursor: pointer;
}

.laporia-hero {
  position: relative;
  padding: 74px 0 64px;
  background:
    radial-gradient(circle at 7% 15%, rgba(245, 206, 100, 0.28) 0 4px, transparent 5px),
    radial-gradient(circle at 95% 75%, rgba(51, 122, 91, 0.14) 0 6px, transparent 7px),
    var(--lp-paper);
  background-size: 84px 84px, 120px 120px, auto;
}

.laporia-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(390px, 0.96fr);
  align-items: center;
  gap: 70px;
}

.laporia-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 20px;
  color: var(--lp-green-dark);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.laporia-eyebrow > span {
  width: 28px;
  height: 2px;
  background: var(--lp-green);
}

.laporia-hero h1,
.laporia-section h2,
.laporia-entry h1,
.laporia-site .woocommerce-products-header__title,
.laporia-site .product_title,
.laporia-site .woocommerce h1,
.laporia-site .woocommerce h2 {
  margin: 0;
  color: var(--lp-ink);
  font-family: var(--lp-display);
  font-weight: 650;
  line-height: 1.08;
  letter-spacing: -0.055em;
}

.laporia-hero h1 {
  max-width: 730px;
  font-size: clamp(45px, 5.4vw, 78px);
}

.laporia-hero h1 em {
  color: var(--lp-green);
  font-style: normal;
}

.laporia-hero__lead {
  max-width: 620px;
  margin: 27px 0 0;
  color: var(--lp-muted);
  font-size: clamp(17px, 1.8vw, 20px);
  line-height: 1.65;
}

.laporia-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.laporia-button,
.laporia-site .button,
.laporia-site button.button,
.laporia-site input.button,
.laporia-site .wc-block-components-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 52px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-weight: 800;
  line-height: 1.2;
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.laporia-button:hover,
.laporia-site .button:hover,
.laporia-site button.button:hover,
.laporia-site input.button:hover {
  transform: translateY(-2px);
}

.laporia-button--primary,
.laporia-site .button,
.laporia-site button.button,
.laporia-site input.button,
.laporia-site .wc-block-components-button {
  color: var(--lp-paper) !important;
  background: var(--lp-green) !important;
  box-shadow: 0 12px 28px rgba(51, 122, 91, 0.18);
}

.laporia-button--primary:hover,
.laporia-site .button:hover,
.laporia-site button.button:hover,
.laporia-site input.button:hover {
  background: var(--lp-green-dark) !important;
  box-shadow: 0 15px 34px rgba(51, 122, 91, 0.24);
}

.laporia-button--ghost {
  border-color: var(--lp-line);
  background: rgba(255, 255, 255, 0.5);
}

.laporia-button--ghost:hover {
  border-color: var(--lp-ink);
  background: var(--lp-white);
}

.laporia-trust-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 650px;
  margin: 42px 0 0;
  padding: 23px 0 0;
  border-top: 1px solid var(--lp-line);
  list-style: none;
}

.laporia-trust-list li {
  display: grid;
  gap: 2px;
  padding-right: 18px;
}

.laporia-trust-list strong {
  font-family: var(--lp-display);
  font-size: 15px;
  letter-spacing: -0.03em;
}

.laporia-trust-list span {
  color: var(--lp-muted);
  font-size: 12px;
}

.laporia-hero__visual {
  position: relative;
  min-height: 560px;
}

.laporia-hero__visual::before {
  content: "";
  position: absolute;
  top: 10%;
  right: 2%;
  width: 79%;
  aspect-ratio: 1;
  border: 1px dashed rgba(23, 39, 31, 0.32);
  border-radius: 50%;
}

.laporia-hero__blob {
  position: absolute;
  inset: 5% 8% 8% 5%;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 45% 55% 38% 62% / 55% 37% 63% 45%;
  background: var(--lp-mint);
  transform: rotate(-3deg);
  box-shadow: inset 0 0 0 14px rgba(255, 255, 255, 0.35);
}

.laporia-hero__blob img,
.laporia-hero-fallback {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: rotate(3deg) scale(0.9);
}

.laporia-hero__blob img {
  mix-blend-mode: multiply;
}

.laporia-orbit {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 15px 10px 10px;
  border: 1px solid rgba(23, 39, 31, 0.12);
  border-radius: 999px;
  background: var(--lp-white);
  box-shadow: 0 12px 30px rgba(23, 39, 31, 0.13);
  font-size: 13px;
  font-weight: 800;
  transition: transform 160ms ease;
}

.laporia-orbit:hover,
.laporia-orbit:focus-visible {
  transform: translateY(-3px) rotate(-2deg);
}

.laporia-orbit span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--lp-yellow);
  font-size: 20px;
}

.laporia-orbit--dog {
  top: 2%;
  left: 0;
  transform: rotate(-3deg);
}

.laporia-orbit--cat {
  right: -3%;
  bottom: 13%;
  transform: rotate(3deg);
}

.laporia-orbit--cat span {
  background: var(--lp-violet);
}

.laporia-paw {
  position: absolute;
  color: var(--lp-green);
  font-size: 13px;
}

.laporia-paw::before,
.laporia-paw::after {
  content: "●";
  position: absolute;
  top: -8px;
  font-size: 7px;
}

.laporia-paw::before { left: -3px; }
.laporia-paw::after { right: -6px; }
.laporia-paw--one { top: 0; right: 22%; transform: rotate(20deg); }
.laporia-paw--two { top: 8%; right: 12%; transform: rotate(35deg); }
.laporia-paw--three { top: 18%; right: 7%; transform: rotate(50deg); }

.laporia-section {
  padding: 100px 0;
}

.laporia-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.65fr);
  align-items: end;
  gap: 70px;
  margin-bottom: 42px;
}

.laporia-section-heading h2 {
  font-size: clamp(34px, 4.2vw, 58px);
}

.laporia-section-heading > p {
  margin: 0 0 5px;
  color: var(--lp-muted);
  font-size: 17px;
}

.laporia-category-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 13px;
}

.laporia-categories {
  padding-block: 72px;
}

.laporia-category-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

.laporia-category-heading h2 {
  font-size: clamp(28px, 2.5vw, 38px);
  letter-spacing: -0.045em;
}

.laporia-category-heading .laporia-text-link {
  flex: 0 0 auto;
}

.laporia-category-card {
  position: relative;
  display: block;
  min-height: 168px;
  overflow: hidden;
  border: 1px solid rgba(23, 39, 31, 0.1);
  border-radius: 18px;
  background: var(--lp-mint);
  transition: transform 180ms ease, box-shadow 180ms ease;
  isolation: isolate;
}

.laporia-category-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.12) 50%, transparent 72%);
  pointer-events: none;
}

.laporia-category-card:hover,
.laporia-category-card:focus-visible {
  transform: translateY(-5px);
  box-shadow: var(--lp-shadow);
}

.laporia-category-card--apricot { background: var(--lp-apricot); }
.laporia-category-card--sky { background: var(--lp-sky); }
.laporia-category-card--yellow { background: var(--lp-yellow); }
.laporia-category-card--mint { background: var(--lp-mint); }
.laporia-category-card--violet { background: var(--lp-violet); }

.laporia-category-card__image {
  position: absolute;
  z-index: -1;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  object-fit: cover;
  transition: opacity 220ms ease, transform 320ms ease;
}

.laporia-category-card__image.is-loaded {
  opacity: 1;
}

.laporia-category-card:hover .laporia-category-card__image,
.laporia-category-card:focus-visible .laporia-category-card__image {
  transform: scale(1.035);
}

.laporia-category-card__content {
  position: relative;
  z-index: 1;
  display: flex;
  width: 55%;
  min-width: 126px;
  min-height: 168px;
  flex-direction: column;
  align-items: flex-start;
  padding: 20px 8px 16px 18px;
}

.laporia-category-card__title {
  font-family: var(--lp-display);
  font-size: clamp(15px, 1.2vw, 18px);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.035em;
}

.laporia-category-card__text {
  margin-top: 6px;
  color: var(--lp-muted);
  font-size: 11px;
  line-height: 1.35;
}

.laporia-category-card__arrow {
  display: grid;
  margin-top: auto;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: var(--lp-green-dark);
  font-size: 15px;
  transition: transform 180ms ease;
}

.laporia-category-card:hover .laporia-category-card__arrow,
.laporia-category-card:focus-visible .laporia-category-card__arrow {
  transform: translateX(3px);
}

.laporia-featured-products {
  background: var(--lp-white);
}

.laporia-section-heading--inline {
  grid-template-columns: 1fr auto;
}

.laporia-text-link {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--lp-ink);
  font-weight: 800;
}

.laporia-text-link:hover,
.laporia-text-link:focus-visible {
  color: var(--lp-green);
  border-color: var(--lp-green);
}

.laporia-site ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px 18px;
  margin: 0;
}

.laporia-site ul.products::before,
.laporia-site ul.products::after {
  display: none;
}

.laporia-site ul.products li.product {
  position: relative;
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
}

.laporia-site ul.products li.product > a.woocommerce-LoopProduct-link {
  display: block;
}

.laporia-site ul.products li.product img {
  width: 100%;
  aspect-ratio: 1 / 1.05;
  margin: 0 0 16px;
  border-radius: 22px;
  background: #f3f2ed;
  object-fit: contain;
  transition: transform 200ms ease;
}

.laporia-site ul.products li.product:hover img {
  transform: translateY(-4px);
}

.laporia-site ul.products li.product .woocommerce-loop-product__title {
  min-height: 44px;
  margin: 0 0 8px;
  padding: 0;
  color: var(--lp-ink);
  font-family: var(--lp-body);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.45;
}

.laporia-site ul.products li.product .price {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 13px;
  color: var(--lp-green-dark);
  font-size: 17px;
  font-weight: 800;
}

.laporia-site ul.products li.product .price del {
  color: #536159;
  font-size: 13px;
  opacity: 1;
}

.laporia-site ul.products li.product .price del .amount,
.laporia-site ul.products li.product .price del bdi {
  color: #536159 !important;
}

.laporia-site ul.products li.product .button {
  min-height: 42px;
  margin: 0;
  padding-inline: 18px;
  font-size: 13px;
}

.laporia-product-badge {
  position: absolute;
  z-index: 3;
  top: 12px;
  left: 12px;
  padding: 7px 11px;
  border-radius: 999px;
  color: var(--lp-green-dark);
  background: var(--lp-white);
  box-shadow: 0 4px 14px rgba(23, 39, 31, 0.08);
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.laporia-product-badge--sale {
  color: var(--lp-ink);
  background: var(--lp-yellow);
}

/* Product card system: white supplier photos sit on LAPORIA's soft colour mats. */
.laporia-featured-products {
  background: #eef4ed;
}

.laporia-site ul.products {
  align-items: stretch;
  gap: 22px 16px;
}

.laporia-site ul.products li.product {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 10px 10px 14px;
  overflow: hidden;
  border: 1px solid rgba(23, 39, 31, 0.12);
  border-radius: 25px;
  background: var(--lp-white);
  box-shadow: 0 5px 18px rgba(23, 39, 31, 0.04);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.laporia-site ul.products li.product:hover {
  z-index: 2;
  border-color: rgba(51, 122, 91, 0.35);
  box-shadow: 0 20px 50px rgba(23, 39, 31, 0.13);
  transform: translateY(-5px);
}

.laporia-site ul.products li.product figure {
  position: relative;
  display: grid;
  min-height: 0;
  aspect-ratio: 1 / 1.02;
  margin: 0 0 16px;
  overflow: hidden;
  border-radius: 19px;
  background: #e8f1e9;
  order: 1;
}

.laporia-site ul.products li.product:nth-child(4n + 2) figure { background: #f8eadb; }
.laporia-site ul.products li.product:nth-child(4n + 3) figure { background: #e8f1f7; }
.laporia-site ul.products li.product:nth-child(4n + 4) figure { background: #f5eed8; }

.laporia-site ul.products li.product figure > .ct-media-container {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  overflow: hidden;
  background: transparent;
  isolation: auto;
}

.laporia-site ul.products li.product figure img,
.laporia-site ul.products li.product:hover figure img {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 8px;
  border-radius: 0;
  background: transparent;
  object-fit: contain;
  mix-blend-mode: multiply;
  filter: saturate(0.98) contrast(1.02);
  transform: scale(0.95);
  transition: transform 220ms ease;
}

.laporia-site ul.products li.product:hover figure img {
  transform: scale(1);
}

.laporia-site ul.products li.product > :not(figure) {
  margin-right: 8px;
  margin-left: 8px;
}

.laporia-card-kicker {
  min-height: 17px;
  margin-top: 0 !important;
  margin-bottom: 5px !important;
  overflow: hidden;
  color: var(--lp-green-dark);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.09em;
  line-height: 1.4;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  order: 2;
}

.laporia-site ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box;
  min-height: 47px;
  margin-bottom: 9px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 14px;
  line-height: 1.5;
  order: 3;
}

.laporia-site ul.products li.product .price {
  min-height: 27px;
  margin-bottom: 7px;
  font-size: 18px;
  order: 4;
}

.laporia-site ul.products li.product .entry-meta {
  display: none;
  order: 6;
}

.laporia-card-stock {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 18px;
  margin-top: 0 !important;
  margin-bottom: 13px !important;
  color: var(--lp-muted);
  font-size: 10px;
  font-weight: 750;
  order: 5;
}

.laporia-card-stock > span {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: #b95142;
}

.laporia-card-stock.is-in-stock > span {
  background: var(--lp-green);
  box-shadow: 0 0 0 3px rgba(51, 122, 91, 0.11);
}

.laporia-site ul.products li.product .ct-woo-card-actions {
  width: auto;
  margin-top: auto;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  order: 7;
}

.laporia-site ul.products li.product .ct-woo-card-actions .button {
  width: 100%;
  min-height: 44px;
  padding-inline: 13px;
  box-shadow: none;
}

.laporia-site ul.products li.product .onsale,
.laporia-site .woocommerce div.product .onsale.laporia-sale-percent {
  position: absolute !important;
  z-index: 3;
  top: 12px;
  right: auto !important;
  bottom: auto !important;
  left: 12px;
  display: inline-flex !important;
  width: auto !important;
  height: 32px !important;
  min-width: 46px;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  padding: 0 11px;
  border-radius: 999px !important;
  color: var(--lp-ink) !important;
  background: var(--lp-yellow) !important;
  box-shadow: 0 6px 16px rgba(23, 39, 31, 0.12);
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.laporia-site .onsale {
  color: #fff !important;
  background: var(--lp-green-dark) !important;
}

.laporia-story {
  padding-block: clamp(46px, 5vw, 64px);
  background: var(--lp-green-dark);
}

.laporia-story__panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  align-items: center;
  gap: clamp(38px, 6vw, 82px);
  overflow: hidden;
  padding: clamp(32px, 4vw, 50px);
  border: 1px solid rgba(255, 250, 240, .14);
  border-radius: 30px;
  background:
    radial-gradient(circle at 6% 92%, rgba(255, 209, 82, .09) 0 3px, transparent 4px),
    radial-gradient(circle at 10% 84%, rgba(255, 250, 240, .07) 0 7px, transparent 8px),
    linear-gradient(135deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .015));
  box-shadow: 0 24px 70px rgba(6, 26, 19, .2);
}

.laporia-story__panel::before {
  content: "";
  position: absolute;
  top: -95px;
  left: -95px;
  width: 270px;
  height: 270px;
  border: 1px solid rgba(255, 250, 240, .07);
  border-radius: 50%;
  box-shadow: 0 0 0 35px rgba(255, 250, 240, .018), 0 0 0 70px rgba(255, 250, 240, .012);
  pointer-events: none;
}

.laporia-story__copy .laporia-eyebrow {
  position: relative;
  z-index: 1;
  color: var(--lp-mint);
}

.laporia-story__copy .laporia-eyebrow > span {
  background: var(--lp-mint);
}

.laporia-story__copy h2 {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--lp-paper);
  font-size: clamp(35px, 4vw, 53px);
  line-height: 1.1;
}

.laporia-story__copy h2 em {
  color: var(--lp-yellow);
  font-style: normal;
}

.laporia-story__copy > p:not(.laporia-eyebrow) {
  position: relative;
  z-index: 1;
  max-width: 590px;
  margin: 22px 0 27px;
  color: rgba(255, 250, 240, 0.76);
  font-size: 15px;
  line-height: 1.65;
}

.laporia-story__actions {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 22px;
}

.laporia-button--sun {
  color: var(--lp-ink);
  background: var(--lp-yellow);
  box-shadow: 0 12px 30px rgba(7, 28, 20, .2);
}

.laporia-button--sun:hover,
.laporia-button--sun:focus-visible {
  color: var(--lp-ink);
  background: #ffe189;
  transform: translateY(-1px);
}

.laporia-site .laporia-story__about {
  color: var(--lp-paper);
  font-size: 12px;
  font-weight: 750;
  text-decoration: underline;
  text-decoration-color: rgba(255, 250, 240, .35);
  text-underline-offset: 5px;
}

.laporia-site .laporia-story__about:hover,
.laporia-site .laporia-story__about:focus-visible { color: var(--lp-yellow); }

.laporia-story__principles {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 10px;
}

.laporia-story-card {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  min-height: 91px;
  padding: 14px 17px;
  border: 1px solid rgba(23, 39, 31, .08);
  border-radius: 19px;
  color: var(--lp-ink);
  background: #eef5f0;
  box-shadow: 0 10px 25px rgba(7, 28, 20, .1);
}

.laporia-story-card--clear { margin-left: 22px; background: #fff1d9; }
.laporia-story-card--help { background: #efedf7; }

.laporia-story-card__icon {
  display: grid;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(23, 39, 31, .09);
  border-radius: 15px;
  place-items: center;
  color: var(--lp-green-dark);
  background: rgba(255, 255, 255, .68);
}

.laporia-story-card__icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.laporia-story-card strong {
  display: block;
  margin-bottom: 4px;
  font-size: 13px;
  line-height: 1.3;
}

.laporia-story-card p {
  margin: 0;
  color: var(--lp-muted);
  font-size: 10px;
  line-height: 1.45;
}

.laporia-site .laporia-story__help {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 7px 3px 0;
  color: rgba(255, 250, 240, .8);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.45;
}

.laporia-story__help span { font-size: 15px; }
.laporia-story__help b { margin-left: auto; color: var(--lp-yellow); font-size: 14px; }
.laporia-site .laporia-story__help:hover,
.laporia-site .laporia-story__help:focus-visible { color: var(--lp-yellow); }

.laporia-seo-intro {
  background: var(--lp-mint);
}

.laporia-seo-intro__inner {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 90px;
}

.laporia-seo-intro h2 {
  font-size: clamp(32px, 4vw, 52px);
}

.laporia-seo-intro p {
  margin: 0 0 16px;
  font-size: 17px;
}

.laporia-footer {
  padding: 72px 0 24px;
  color: var(--lp-paper);
  background: var(--lp-ink);
}

.laporia-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 1fr);
  gap: 60px;
}

.laporia-logo--footer .laporia-logo__image {
  width: 190px;
}

.laporia-footer__brand > p {
  max-width: 300px;
  margin-top: 20px;
  color: rgba(255, 250, 240, 0.65);
}

.laporia-footer h2 {
  margin: 0 0 20px;
  color: var(--lp-paper);
  font-family: var(--lp-body);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.laporia-footer ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.laporia-footer a:hover,
.laporia-footer a:focus-visible {
  color: var(--lp-yellow);
}

.laporia-footer p {
  margin: 0 0 9px;
}

.laporia-footer__bottom {
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 250, 240, 0.15);
  color: rgba(255, 250, 240, 0.55);
  font-size: 12px;
}

.laporia-content-shell,
.laporia-site .ct-container,
.laporia-site .site-main > .woocommerce {
  width: min(calc(100% - 40px), var(--lp-container));
  margin-inline: auto;
}

.laporia-content-shell {
  padding-block: 74px 110px;
}

.laporia-entry__header {
  max-width: 820px;
  margin-bottom: 50px;
}

.laporia-entry__header h1 {
  font-size: clamp(38px, 5vw, 68px);
}

.laporia-entry__content {
  max-width: 850px;
  font-size: 17px;
}

.laporia-entry__content h2,
.laporia-entry__content h3 {
  margin: 2em 0 0.65em;
  color: var(--lp-ink);
  font-family: var(--lp-display);
  line-height: 1.25;
  letter-spacing: -0.04em;
}

.laporia-entry__content h2 { font-size: clamp(27px, 3vw, 38px); }
.laporia-entry__content h3 { font-size: 23px; }

.laporia-entry__content a {
  color: var(--lp-green-dark);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.laporia-entry__content .wp-block-group,
.laporia-entry__content .wp-block-columns {
  margin-block: 30px;
}

/* WooCommerce pages */
.laporia-site .site-main {
  background: var(--lp-paper);
}

.laporia-shop-rail {
	margin: 0 0 22px;
	padding: 18px;
	border: 1px solid var(--lp-line);
	border-radius: 24px;
	background: var(--lp-white);
}

.laporia-shop-rail__heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 14px;
}

.laporia-shop-rail__heading h1,
.laporia-shop-rail__heading p,
.laporia-shop-rail__heading span {
	margin: 0;
}

.laporia-shop-rail__heading > div > span {
	display: block;
	margin-bottom: 2px;
	color: var(--lp-green-dark);
	font-size: 9px;
	font-weight: 850;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.laporia-shop-rail__heading h1 {
	font-family: var(--lp-display);
	font-size: clamp(25px, 2.6vw, 36px);
	font-weight: 650;
	line-height: 1.05;
	letter-spacing: -0.055em;
}

.laporia-shop-rail__heading p {
	color: var(--lp-muted);
	font-size: 11px;
	text-align: right;
}

.laporia-shop-rail__meta {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
}

.laporia-shop-rail__meta > a {
	display: inline-flex;
	min-height: 34px;
	align-items: center;
	gap: 7px;
	padding: 0 12px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	white-space: nowrap;
}

.laporia-shop-rail__meta > a > span {
	font-size: 17px;
	font-weight: 500;
	line-height: 1;
}

.laporia-shop-rail--search .laporia-shop-rail__heading {
	align-items: center;
	padding: 14px 16px;
	border-radius: 16px;
	background: linear-gradient(112deg, #173d31 0%, #102f26 72%, #1b4a3c 100%);
}

.laporia-shop-rail--search .laporia-shop-rail__heading > div > span {
	color: #f3c85d;
}

.laporia-shop-rail--search .laporia-shop-rail__heading h1 {
	color: #fff9ed;
}

.laporia-shop-rail--search .laporia-shop-rail__heading p {
	color: #c4d5cc;
}

.laporia-shop-rail--search .laporia-shop-rail__meta > a {
	color: #102f26;
	background: #f3c85d;
}

.laporia-shop-rail__items {
	display: grid;
	grid-template-columns: repeat(7, minmax(135px, 1fr));
	gap: 8px;
	overflow-x: auto;
	padding-bottom: 3px;
	scrollbar-width: thin;
}

.laporia-shop-rail__items a {
	position: relative;
	display: block;
	min-width: 135px;
	height: 104px;
	overflow: hidden;
	border: 1px solid rgba(23, 39, 31, 0.08);
	border-radius: 16px;
	background: #eef4ef;
	isolation: isolate;
	transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.laporia-shop-rail__items a::before {
	content: "";
	position: absolute;
	z-index: 4;
	inset: 0;
	border-radius: 15px;
	box-shadow: inset 0 0 0 1.5px transparent;
	pointer-events: none;
	transition: box-shadow 160ms ease;
}

.laporia-shop-rail__items a::after {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.78) 44%, rgba(255, 255, 255, 0) 78%);
}

.laporia-shop-rail__items img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 220ms ease;
}

.laporia-shop-rail__items a:hover,
.laporia-shop-rail__items a:focus-visible,
.laporia-shop-rail__items a[aria-current="page"] {
	border-color: var(--lp-green);
	box-shadow: 0 8px 20px rgba(23, 39, 31, 0.09);
}

.laporia-shop-rail__items a:hover::before,
.laporia-shop-rail__items a:focus-visible::before,
.laporia-shop-rail__items a[aria-current="page"]::before {
	box-shadow: inset 0 0 0 1.5px var(--lp-green);
}

.laporia-shop-rail__items a:hover img,
.laporia-shop-rail__items a:focus-visible img {
	transform: scale(1.035);
}

.laporia-shop-rail__copy {
	position: absolute;
	z-index: 2;
	top: 0;
	bottom: 0;
	left: 0;
	display: flex;
	width: 64%;
	flex-direction: column;
	justify-content: end;
	padding: 12px 7px 12px 12px;
}

.laporia-shop-rail__items strong {
	font-size: 11px;
	line-height: 1.25;
}

.laporia-shop-rail__items small {
	margin-top: 3px;
	color: var(--lp-muted);
	font-size: 9px;
}

.laporia-shop-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 25px;
}

.laporia-shop-tools__left {
  display: flex;
  align-items: center;
  gap: 18px;
}

.laporia-shop-tools .woocommerce-result-count,
.laporia-shop-tools .woocommerce-ordering {
  float: none !important;
  margin: 0 !important;
}

.laporia-shop-tools .woocommerce-ordering {
  position: relative;
  width: clamp(280px, 26vw, 360px);
  max-width: 100%;
  color: var(--lp-paper);
}

.laporia-shop-tools .woocommerce-ordering::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 17px;
  width: 18px;
  height: 16px;
  background:
    linear-gradient(currentColor 0 0) 0 2px / 18px 2px no-repeat,
    linear-gradient(currentColor 0 0) 0 7px / 12px 2px no-repeat,
    linear-gradient(currentColor 0 0) 0 12px / 7px 2px no-repeat;
  border-radius: 2px;
  transform: translateY(-50%);
  pointer-events: none;
}

.laporia-shop-tools .woocommerce-ordering::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: calc(50% - 3px);
  right: 18px;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  pointer-events: none;
}

.laporia-filter-toggle {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  padding: 0 17px;
  border: 1px solid var(--lp-ink);
  border-radius: 999px;
  color: var(--lp-paper);
  background: var(--lp-ink);
  font-weight: 800;
  cursor: pointer;
}

.laporia-filter-toggle svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
}

.laporia-filter-toggle > span {
  color: var(--lp-yellow);
  font-size: 9px;
}

.laporia-filter-overlay {
  position: fixed;
  z-index: 90;
  inset: 0;
  background: rgba(12, 25, 17, 0.54);
  backdrop-filter: blur(3px);
}

.laporia-filter-panel {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  width: min(420px, 100%);
  height: 100dvh;
  overflow-y: auto;
  padding: 28px;
  background: var(--lp-paper);
  box-shadow: -20px 0 70px rgba(23, 39, 31, 0.22);
  visibility: hidden;
  transform: translateX(105%);
  transition: transform 220ms ease, visibility 220ms ease;
}

.laporia-filter-panel.is-open {
  visibility: visible;
  transform: translateX(0);
}

.laporia-filter-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 25px;
}

.laporia-filter-panel__head span {
  color: var(--lp-green-dark);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.laporia-filter-panel__head h2 {
  margin: 3px 0 0;
  font-family: var(--lp-display);
  font-size: 27px;
  letter-spacing: -0.05em;
}

.laporia-filter-panel__head button {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--lp-line);
  border-radius: 50%;
  background: var(--lp-white);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.laporia-filter-panel fieldset {
  margin: 0;
  padding: 22px 0;
  border: 0;
  border-top: 1px solid var(--lp-line);
}

.laporia-filter-panel legend {
  width: 100%;
  margin-bottom: 14px;
  font-size: 14px;
  font-weight: 800;
}

.laporia-check {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  cursor: pointer;
}

.laporia-check input {
  position: absolute;
  opacity: 0;
}

.laporia-check > span {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border: 1px solid var(--lp-line);
  border-radius: 6px;
  background: var(--lp-white);
}

.laporia-check input:checked + span {
  border-color: var(--lp-green);
  background: var(--lp-green);
  box-shadow: inset 0 0 0 4px var(--lp-white);
}

.laporia-check small {
  margin-left: auto;
  color: var(--lp-muted);
}

.laporia-brand-checks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3px 18px;
}

.laporia-price-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.laporia-price-fields label {
  position: relative;
}

.laporia-price-fields label span {
  position: absolute;
  top: 13px;
  left: 13px;
  color: var(--lp-muted);
  font-size: 11px;
}

.laporia-price-fields input {
  width: 100%;
  min-height: 52px;
  padding: 18px 12px 3px;
  border: 1px solid var(--lp-line);
  border-radius: 12px;
  background: var(--lp-white);
}

.laporia-filter-panel__actions {
  display: grid;
  gap: 12px;
  padding-top: 8px;
  text-align: center;
}

.laporia-filter-panel__actions .laporia-button {
  width: 100%;
}

.laporia-filter-panel__actions > a {
  color: var(--lp-muted);
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Filter sheet: one calm surface, compact controls and actions that stay reachable. */
#laporia-filter-panel {
  display: grid;
  width: min(400px, 100%);
  grid-template-rows: auto minmax(0, 1fr);
  padding: 0;
  overflow: hidden;
  color: var(--lp-ink);
  background: #fbfaf5;
  box-shadow: -24px 0 70px rgba(10, 29, 21, .24);
}

#laporia-filter-panel .laporia-filter-panel__head {
  z-index: 3;
  margin: 0;
  padding: 17px 18px 15px;
  border-bottom: 1px solid rgba(23, 39, 31, .1);
  background: rgba(255, 250, 240, .96);
  backdrop-filter: blur(12px);
}

#laporia-filter-panel .laporia-filter-panel__head span {
  font-size: 9px;
  letter-spacing: .15em;
}

#laporia-filter-panel .laporia-filter-panel__head h2 {
  margin-top: 2px;
  font-size: 24px;
  line-height: 1.05;
}

#laporia-filter-panel .laporia-filter-panel__head button {
  width: 36px;
  height: 36px;
  border: 0;
  color: var(--lp-paper);
  background: var(--lp-ink);
  font-size: 21px;
  transition: color 160ms ease, background 160ms ease, transform 160ms ease;
}

#laporia-filter-panel .laporia-filter-panel__head button:hover,
#laporia-filter-panel .laporia-filter-panel__head button:focus-visible {
  color: var(--lp-ink);
  background: var(--lp-yellow);
  transform: rotate(5deg);
}

#laporia-filter-panel > form {
  display: flex;
  min-height: 0;
  flex-direction: column;
  padding: 0 18px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

#laporia-filter-panel fieldset {
  margin: 0;
  padding: 17px 2px 18px;
  border: 0;
  border-bottom: 1px solid rgba(23, 39, 31, .09);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#laporia-filter-panel legend {
  width: auto;
  margin: 0 0 10px;
  padding: 0;
  color: var(--lp-ink);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .01em;
}

#laporia-filter-panel legend::after { display: none !important; }

#laporia-filter-panel .laporia-check {
  min-height: 40px;
  padding: 7px 9px;
  border: 1px solid rgba(23, 39, 31, .07);
  border-radius: 11px;
  background: rgba(255, 255, 255, .72);
  font-size: 12px;
  font-weight: 720;
  transition: border-color 150ms ease, background 150ms ease, transform 150ms ease;
}

#laporia-filter-panel .laporia-check:hover,
#laporia-filter-panel .laporia-check:has(input:focus-visible) {
  border-color: rgba(51, 122, 91, .28);
  background: #f0f6f1;
  transform: translateY(-1px);
}

#laporia-filter-panel .laporia-check > span {
  position: relative;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border-color: rgba(23, 39, 31, .18);
  border-radius: 6px;
}

#laporia-filter-panel .laporia-check > span::after {
  content: "";
  width: 8px;
  height: 4px;
  border-bottom: 2px solid var(--lp-paper);
  border-left: 2px solid var(--lp-paper);
  opacity: 0;
  transform: translateY(-1px) rotate(-45deg);
}

#laporia-filter-panel .laporia-check input:checked + span {
  border-color: var(--lp-green);
  background: var(--lp-green);
  box-shadow: none;
}

#laporia-filter-panel .laporia-check input:checked + span::after { opacity: 1; }

#laporia-filter-panel .laporia-check--switch {
  min-height: 48px;
  padding: 8px 11px;
  border-color: rgba(51, 122, 91, .16);
  background: #eef5f0;
}

#laporia-filter-panel .laporia-check--switch > span {
  width: 38px;
  height: 22px;
  flex-basis: 38px;
  border: 0;
  border-radius: 999px;
  background: #cfd9d2;
  box-shadow: none;
}

#laporia-filter-panel .laporia-check--switch > span::after {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border: 0;
  border-radius: 50%;
  opacity: 1;
  background: #fff;
  box-shadow: 0 2px 5px rgba(23, 39, 31, .18);
  transform: none;
  transition: transform 160ms ease;
}

#laporia-filter-panel .laporia-check--switch input:checked + span { background: var(--lp-green); }
#laporia-filter-panel .laporia-check--switch input:checked + span::after { transform: translateX(16px); }

#laporia-filter-panel .laporia-check small {
  display: grid;
  min-width: 24px;
  height: 22px;
  place-items: center;
  margin-left: auto;
  padding-inline: 6px;
  border-radius: 999px;
  color: var(--lp-green-dark);
  background: #edf4ed;
  font-size: 9px;
  font-weight: 850;
}

#laporia-filter-panel .laporia-brand-checks { gap: 6px; }
#laporia-filter-panel .laporia-price-fields { gap: 8px; }

#laporia-filter-panel .laporia-price-fields label span {
  top: 8px;
  left: 12px;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

#laporia-filter-panel .laporia-price-fields input {
  min-height: 52px;
  padding: 19px 12px 4px;
  border-color: rgba(23, 39, 31, .14);
  border-radius: 11px;
  color: var(--lp-ink);
  background: #fff;
  font-size: 14px;
  font-weight: 750;
  outline: 0;
}

#laporia-filter-panel .laporia-price-fields input:focus {
  border-color: var(--lp-green);
  box-shadow: 0 0 0 3px rgba(51, 122, 91, .11);
}

#laporia-filter-panel .laporia-filter-panel__actions {
  position: sticky;
  z-index: 2;
  bottom: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  margin: auto -18px 0;
  padding: 12px 18px max(12px, env(safe-area-inset-bottom));
  border-top: 1px solid rgba(23, 39, 31, .1);
  background: rgba(251, 250, 245, .96);
  box-shadow: 0 -10px 26px rgba(23, 39, 31, .06);
  backdrop-filter: blur(12px);
}

#laporia-filter-panel .laporia-filter-panel__actions .laporia-button {
  min-height: 46px;
  border-radius: 12px;
  font-size: 12px;
}

#laporia-filter-panel .laporia-filter-panel__actions > a {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border: 1px solid var(--lp-line);
  border-radius: 12px;
  color: var(--lp-muted);
  background: var(--lp-white);
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
}

@media (max-width: 560px) {
  #laporia-filter-panel { width: 100%; }
  #laporia-filter-panel .laporia-filter-panel__head { padding: 15px 15px 13px; }
  #laporia-filter-panel > form { padding-inline: 15px; }
  #laporia-filter-panel fieldset { padding-block: 15px 16px; }
  #laporia-filter-panel .laporia-filter-panel__actions { margin-inline: -15px; padding-inline: 15px; }
}

.laporia-filter-toggle,
.laporia-shop-tools .woocommerce-ordering select {
  box-shadow: 0 7px 18px rgba(23, 39, 31, 0.1);
}

.laporia-filter-toggle:hover,
.laporia-filter-toggle:focus-visible {
  border-color: var(--lp-green);
  background: var(--lp-green-dark);
  transform: translateY(-1px);
}

body.laporia-filter-open {
  overflow: hidden;
}

.laporia-no-products-reset {
  margin: 22px 0 70px;
  text-align: center;
}

.laporia-site .woocommerce-breadcrumb {
  margin: 0 0 16px;
  color: var(--lp-muted);
  font-size: 11px;
}

.laporia-site .woocommerce-products-header__title,
.laporia-site .product_title {
  font-size: clamp(34px, 4.2vw, 58px);
}

.laporia-site .hero-section[data-type="type-2"] {
  height: 160px !important;
}

.laporia-site.woocommerce-shop .hero-section,
.laporia-site.tax-product_cat .hero-section {
  display: none;
}

.laporia-site.woocommerce-shop .site-main > .ct-container,
.laporia-site.tax-product_cat .site-main > .ct-container {
  padding-top: 26px;
}

.laporia-site .laporia-shop-tools .woocommerce-ordering select {
  width: 100%;
  min-height: 44px;
  padding: 0 45px 0 48px;
  border: 1px solid var(--lp-ink);
  border-radius: 999px;
  color: var(--lp-paper);
  background-color: var(--lp-ink);
  background-image: none !important;
  font-weight: 800;
  appearance: none;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.laporia-site .laporia-shop-tools .woocommerce-ordering select:hover {
  border-color: var(--lp-green);
  background-color: var(--lp-green-dark);
}

.laporia-site .laporia-shop-tools .woocommerce-ordering select:focus {
  border-color: var(--lp-green);
  outline: 0;
  box-shadow: 0 0 0 4px rgba(51, 122, 91, 0.14);
}

.laporia-site .laporia-shop-tools .woocommerce-ordering select option {
  color: var(--lp-ink);
  background: var(--lp-white);
}

.laporia-site .woocommerce-message,
.laporia-site .woocommerce-info,
.laporia-site .woocommerce-error {
  border: 0;
  border-radius: 16px;
  background: var(--lp-mint);
}

.laporia-site .woocommerce div.product div.images img {
  border-radius: 24px;
  background: #f3f2ed;
}

.laporia-site.single-product .site-main > .ct-container {
  padding-top: 24px;
}

.laporia-site.single-product .product-entry-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(24px, 3vw, 38px);
}

.laporia-site.single-product .woocommerce-product-gallery,
.laporia-site.single-product .product-entry-wrapper > .entry-summary,
.laporia-site.single-product div.product > .summary {
  width: auto !important;
  min-width: 0;
}

.laporia-site.single-product .woocommerce-product-gallery .ct-product-gallery-container {
  overflow: hidden;
  padding: 16px;
  border: 1px solid rgba(23, 39, 31, 0.1);
  border-radius: 26px;
  background: var(--lp-white);
  box-shadow: 0 8px 28px rgba(23, 39, 31, 0.05);
}

.laporia-site.single-product .woocommerce-product-gallery .flexy-view,
.laporia-site.single-product .woocommerce-product-gallery .flexy-items,
.laporia-site.single-product .woocommerce-product-gallery .flexy-item,
.laporia-site.single-product .woocommerce-product-gallery .flexy-item figure {
  height: min(31vw, 380px) !important;
  max-height: 380px;
}

.laporia-site.single-product .woocommerce-product-gallery .flexy-item figure {
  display: flex !important;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 18px;
  background: var(--lp-white) !important;
  isolation: auto;
  cursor: zoom-in;
}

.laporia-site.single-product .woocommerce-product-gallery .flexy-item img,
.laporia-site.single-product .woocommerce-product-gallery .flexy-item img.entered {
  width: 100%;
  height: 100% !important;
  max-height: 380px;
  padding: 8px;
  aspect-ratio: auto !important;
  border-radius: 0;
  background: var(--lp-white) !important;
  object-fit: contain;
  mix-blend-mode: normal;
  filter: none;
}

.laporia-site.single-product .woocommerce-product-gallery .flexy-pills img {
  width: 58px;
  height: 58px;
  padding: 3px;
  border: 1px solid var(--lp-line);
  border-radius: 12px;
  background: var(--lp-white);
  object-fit: contain;
  mix-blend-mode: normal;
}

.laporia-site.single-product .woocommerce-product-gallery .flexy-pills {
  margin-top: 8px;
}

.laporia-site.single-product .product-entry-wrapper > .entry-summary,
.laporia-site.single-product div.product > .summary {
  align-self: start;
  padding: clamp(20px, 2.1vw, 27px);
  border: 1px solid rgba(23, 39, 31, 0.11);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 18px 55px rgba(23, 39, 31, 0.07);
}

.laporia-product-kicker {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 11px;
}

.laporia-product-kicker a,
.laporia-product-kicker span {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 0 9px;
  border-radius: 999px;
  color: var(--lp-green-dark);
  background: #e7f1e9;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.laporia-product-kicker span {
  color: var(--lp-muted);
  background: #f1f0eb;
}

.laporia-site.single-product .product_title {
  max-width: 720px;
  margin-bottom: 11px;
  font-size: clamp(25px, 2.15vw, 32px);
  line-height: 1.13;
  letter-spacing: -0.045em;
}

.laporia-site.single-product div.product .summary > p.price {
  margin-bottom: 3px;
  font-size: clamp(25px, 2.5vw, 31px);
}

.laporia-saving-note {
  width: fit-content;
  margin: 0 0 13px;
  padding: 5px 9px;
  border-radius: 8px;
  color: var(--lp-green-dark);
  background: var(--lp-yellow);
  font-size: 11px;
  font-weight: 750;
}

.laporia-saving-note strong {
  font-weight: 900;
}

.laporia-site.single-product .woocommerce-product-details__short-description {
  display: none;
}

.laporia-site.single-product .summary .ct-product-divider {
  display: none;
}

.laporia-site.single-product .summary .ct-cart-actions {
  display: grid;
  grid-template-columns: 128px 1fr;
  gap: 10px;
}

.laporia-site.single-product .summary .single_add_to_cart_button {
  width: 100%;
}

.laporia-site.single-product .summary .product_meta {
  display: none;
}

.laporia-site.single-product .woocommerce-tabs {
  margin-top: 65px;
  padding: clamp(24px, 4vw, 48px);
  border: 1px solid var(--lp-line);
  border-radius: 30px;
  background: var(--lp-white);
}

.laporia-site.single-product .woocommerce-tabs .tabs {
  gap: 8px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--lp-line);
}

.laporia-site.single-product .woocommerce-tabs .tabs a {
  padding: 9px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  transition: none;
}

.laporia-site.single-product .woocommerce-tabs .tabs .active a {
  color: #fff !important;
  background: var(--lp-green-dark) !important;
}

.laporia-site.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
  max-width: 850px;
  padding-top: 20px;
  color: var(--lp-muted);
  font-size: 16px;
}

.laporia-site.single-product .related,
.laporia-site.single-product .up-sells {
  margin-top: 70px;
  padding: 46px 28px;
  border-radius: 32px;
  background: #eef4ed;
}

.laporia-site.single-product .related > h2,
.laporia-site.single-product .up-sells > h2 {
  margin-bottom: 28px;
  font-size: clamp(27px, 3.2vw, 40px);
}

.laporia-site .woocommerce div.product p.price,
.laporia-site .woocommerce div.product span.price {
  color: var(--lp-green-dark);
  font-size: 25px;
  font-weight: 800;
}

.laporia-product-assurance {
  margin-top: 13px;
  padding: 13px;
  border: 1px solid var(--lp-line);
  border-radius: 16px;
  background: #f7faf7;
}

.laporia-stock-state {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 10px;
  font-size: 11px;
  font-weight: 800;
}

.laporia-stock-state > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #b95142;
  box-shadow: 0 0 0 4px rgba(185, 81, 66, 0.12);
}

.laporia-stock-state.is-in-stock > span {
  background: var(--lp-green);
  box-shadow: 0 0 0 4px rgba(51, 122, 91, 0.12);
}

.laporia-product-assurance ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin: 0 0 9px;
  padding: 0;
  list-style: none;
}

.laporia-product-assurance li {
  position: relative;
  display: grid;
  min-width: 0;
  align-content: center;
  min-height: 46px;
  padding: 7px 7px 7px 24px;
  border: 1px solid rgba(23, 39, 31, .07);
  border-radius: 11px;
  background: #fff;
}

.laporia-product-assurance li::before {
  content: "✓";
  position: absolute;
  top: 9px;
  left: 8px;
  color: var(--lp-green);
  font-weight: 900;
}

.laporia-product-assurance li strong {
  font-size: 9px;
  line-height: 1.3;
}

.laporia-product-assurance li span { display: none; }

.laporia-product-assurance > a {
  color: var(--lp-green-dark);
  font-size: 10px;
  font-weight: 800;
}

.laporia-mobile-buy-bar {
  display: none;
}

.laporia-image-lightbox[hidden] {
  display: none !important;
}

.laporia-image-lightbox {
  position: fixed;
  z-index: 99999;
  inset: 0;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) 56px;
  align-items: center;
  gap: 14px;
  padding: 28px;
  background: rgba(9, 20, 14, 0.88);
  backdrop-filter: blur(9px);
}

.laporia-image-lightbox figure {
  display: grid;
  max-width: min(940px, 100%);
  max-height: calc(100dvh - 56px);
  justify-self: center;
  margin: 0;
}

.laporia-image-lightbox figure img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: calc(100dvh - 94px);
  justify-self: center;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.34);
  object-fit: contain;
}

.laporia-image-lightbox figcaption {
  min-height: 24px;
  padding-top: 8px;
  color: rgba(255, 255, 255, 0.76);
  font-size: 12px;
  text-align: center;
}

.laporia-image-lightbox button {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 50%;
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
}

.laporia-image-lightbox__close {
  position: absolute;
  top: 18px;
  right: 18px;
}

.laporia-image-lightbox__arrow--prev { grid-column: 1; }
.laporia-image-lightbox figure { grid-column: 2; }
.laporia-image-lightbox__arrow--next { grid-column: 3; }

body.laporia-lightbox-open {
  overflow: hidden;
}

.laporia-site .woocommerce div.product form.cart .variations select,
.laporia-site .woocommerce form .form-row input.input-text,
.laporia-site .woocommerce form .form-row textarea,
.laporia-site .woocommerce form .form-row select {
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid var(--lp-line);
  border-radius: 12px;
  background: var(--lp-white);
}

.laporia-site .quantity .qty {
  min-height: 52px;
  border: 1px solid var(--lp-line);
  border-radius: 12px;
}

.laporia-site table.shop_table {
  overflow: hidden;
  border: 1px solid var(--lp-line);
  border-radius: 18px;
  background: var(--lp-white);
}

.laporia-site .woocommerce-checkout-review-order,
.laporia-site .cart_totals,
.laporia-site .woocommerce-MyAccount-navigation,
.laporia-site .woocommerce-MyAccount-content {
  padding: 22px;
  border: 1px solid var(--lp-line);
  border-radius: 20px;
  background: var(--lp-white);
}

.laporia-skip-link:focus {
  position: fixed;
  z-index: 9999;
  top: 10px;
  left: 10px;
  width: auto;
  height: auto;
  padding: 12px 18px;
  clip: auto;
  color: var(--lp-white);
  background: var(--lp-ink);
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

:focus-visible {
  outline: 3px solid var(--lp-yellow);
  outline-offset: 3px;
}

@media (max-width: 1024px) {
  .laporia-header__inner { gap: 18px; }
  .laporia-nav__list > li > a { padding-inline: 8px; font-size: 13px; }
  .laporia-nav__shortcuts { display: none; }
  .laporia-hero__grid { gap: 35px; }
  .laporia-hero__visual { min-height: 470px; }
  .laporia-category-grid {
    grid-template-columns: repeat(5, minmax(230px, 1fr));
    overflow-x: auto;
    padding: 5px 3px 14px;
    scroll-padding-inline: 3px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  .laporia-category-grid::-webkit-scrollbar { display: none; }
  .laporia-category-card { scroll-snap-align: start; }
  .laporia-site ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .laporia-story__panel { grid-template-columns: minmax(0, 1fr) minmax(340px, .92fr); gap: 36px; padding: 40px; }
  .laporia-footer__grid { grid-template-columns: 1.2fr repeat(3, 1fr); gap: 30px; }
}

@media (max-width: 820px) {
  body.laporia-menu-open { overflow: hidden; }
  .laporia-topline nav { display: none; }
  .laporia-topline__inner { justify-content: center; text-align: center; }
  .laporia-header__inner {
    grid-template-columns: auto 1fr auto;
    grid-template-areas: "menu logo actions" "search search search";
    min-height: 0;
    column-gap: 10px;
    row-gap: 8px;
    padding-block: 11px 12px;
  }
  .laporia-logo { grid-area: logo; justify-self: center; }
  .laporia-logo__image { width: 154px; }
  .laporia-menu-toggle {
    display: flex;
    grid-area: menu;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
  }
  .laporia-header-search { grid-area: search; }
  .laporia-header-search input[type="search"] { height: 42px; padding-right: 55px; font-size: 14px; }
  .laporia-header-search button { right: 4px; width: 39px; min-height: 37px; padding: 0; font-size: 0; }
  .laporia-header-search button::after { content: "→"; font-size: 17px; }
  .laporia-header__actions { grid-area: actions; }
  .laporia-account-button { display: none; }
  .laporia-category-nav { border: 0; }
  .laporia-category-nav > .laporia-container { width: 100%; }
  .laporia-menu-overlay {
    position: fixed;
    z-index: 210;
    inset: 0;
    display: block;
    background: rgba(12, 25, 17, 0.56);
    opacity: 0;
    visibility: hidden;
    backdrop-filter: blur(3px);
    transition: opacity 220ms ease, visibility 220ms ease;
  }
  .laporia-menu-overlay[hidden] { display: none; }
  .laporia-menu-overlay.is-open { opacity: 1; visibility: visible; }
  .laporia-nav {
    position: fixed;
    z-index: 220;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: min(86vw, 360px);
    height: 100dvh;
    padding: 0 20px max(28px, env(safe-area-inset-bottom));
    overflow-y: auto;
    border-right: 1px solid var(--lp-line);
    background: var(--lp-paper);
    box-shadow: 24px 0 60px rgba(12, 25, 17, 0.22);
    visibility: hidden;
    transform: translateX(-104%);
    transition: transform 240ms cubic-bezier(0.2, 0.8, 0.2, 1), visibility 240ms ease;
  }
  .laporia-nav.is-open { visibility: visible; transform: translateX(0); }
  .laporia-nav__mobile-head {
    position: sticky;
    z-index: 2;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 -4px;
    padding: max(18px, env(safe-area-inset-top)) 4px 16px;
    border-bottom: 1px solid var(--lp-line);
    background: var(--lp-paper);
  }
  .laporia-nav__mobile-logo .laporia-logo__image { width: 136px; }
  .laporia-nav__close {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    place-items: center;
    padding: 0;
    border: 1px solid var(--lp-line);
    border-radius: 50%;
    color: var(--lp-ink);
    background: var(--lp-white);
    cursor: pointer;
  }
  .laporia-nav__close:hover,
  .laporia-nav__close:focus-visible { border-color: var(--lp-green); color: var(--lp-paper); background: var(--lp-green); }
  .laporia-nav__close svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
  .laporia-nav__mobile-label {
    display: block;
    margin: 18px 0 8px;
    color: var(--lp-green);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }
  .laporia-nav__list { display: grid; gap: 1px; }
  .laporia-nav__list > li > a { padding: 13px 14px; border-bottom: 1px solid rgba(23, 39, 31, 0.07); font-size: 15px; }
  .laporia-nav__shortcuts { display: grid; grid-template-columns: repeat(2, 1fr); width: 100%; margin: 18px 0 0; padding-top: 14px; border-top: 1px solid var(--lp-line); }
  .laporia-nav__shortcuts a { padding: 10px 12px; }
  .laporia-nav .sub-menu { position: static; display: grid; width: auto; margin-left: 14px; padding: 0 0 6px; border: 0; background: transparent; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .laporia-mobile-dock {
    position: fixed;
    z-index: 80;
    right: 10px;
    bottom: max(10px, env(safe-area-inset-bottom));
    left: 10px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    min-height: 62px;
    padding: 5px;
    border: 1px solid var(--lp-line);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 15px 45px rgba(23, 39, 31, 0.22);
    backdrop-filter: blur(16px);
  }
  .laporia-mobile-dock a,
  .laporia-mobile-dock button {
    position: relative;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 3px;
    padding: 3px;
    border: 0;
    border-radius: 15px;
    color: var(--lp-muted);
    background: transparent;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
  }
  .laporia-mobile-dock a[aria-current="page"] { color: var(--lp-green-dark); background: var(--lp-mint); }
  .laporia-mobile-dock svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .laporia-mobile-dock .laporia-cart-count { top: 1px; right: 14px; min-width: 17px; height: 17px; border-width: 1px; font-size: 9px; }
  .laporia-footer { padding-bottom: 105px; }
  .laporia-shop-rail__heading { display: grid; gap: 5px; }
  .laporia-shop-rail__heading p { text-align: left; }
  .laporia-shop-rail__meta { justify-content: flex-start; }
  .laporia-shop-rail__items { grid-template-columns: repeat(7, 142px); scroll-snap-type: x proximity; }
  .laporia-shop-rail__items a { scroll-snap-align: start; }
  .laporia-shop-tools { align-items: stretch; }
  .laporia-shop-tools__left { align-items: center; }
  .laporia-shop-tools .woocommerce-result-count { font-size: 12px; }
  .laporia-mobile-buy-bar {
    position: fixed;
    z-index: 79;
    right: 10px;
    bottom: calc(82px + env(safe-area-inset-bottom));
    left: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 10px 10px 16px;
    border: 1px solid rgba(255, 250, 240, 0.14);
    border-radius: 19px;
    color: var(--lp-paper);
    background: var(--lp-ink);
    box-shadow: 0 16px 45px rgba(23, 39, 31, 0.3);
  }
  .laporia-mobile-buy-bar > div { display: grid; }
  .laporia-mobile-buy-bar > div > span { color: rgba(255, 250, 240, 0.65); font-size: 9px; text-transform: uppercase; }
  .laporia-mobile-buy-bar strong { font-size: 15px; }
  .laporia-mobile-buy-bar del { display: none; }
  .laporia-mobile-buy-bar button { min-height: 43px; padding: 0 17px; border: 0; border-radius: 999px; color: var(--lp-ink); background: var(--lp-yellow); font-size: 12px; font-weight: 900; }
  .laporia-hero { padding-top: 54px; }
  .laporia-hero__grid { grid-template-columns: 1fr; }
  .laporia-hero__copy { text-align: center; }
  .laporia-eyebrow { justify-content: center; }
  .laporia-hero__lead { margin-inline: auto; }
  .laporia-button-row { justify-content: center; }
  .laporia-trust-list { margin-inline: auto; text-align: left; }
  .laporia-hero__visual { width: min(100%, 570px); min-height: 520px; margin-inline: auto; }
  .laporia-section { padding-block: 54px; }
  .laporia-section-heading { grid-template-columns: 1fr; gap: 16px; }
  .laporia-section-heading .laporia-eyebrow { justify-content: flex-start; }
  .laporia-site ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .laporia-site.single-product .product-entry-wrapper { display: block !important; }
  .laporia-site.single-product .product-entry-wrapper > .entry-summary,
  .laporia-site.single-product div.product > .summary { margin-top: 12px; padding: 20px; border-radius: 22px; }
  .laporia-site.single-product .woocommerce-product-gallery .ct-product-gallery-container { padding: 12px; border-radius: 22px; }
  .laporia-site.single-product .woocommerce-product-gallery .flexy-view,
  .laporia-site.single-product .woocommerce-product-gallery .flexy-items,
  .laporia-site.single-product .woocommerce-product-gallery .flexy-item,
  .laporia-site.single-product .woocommerce-product-gallery .flexy-item figure { height: min(68vw, 350px) !important; }
  .laporia-site.single-product .woocommerce-breadcrumb { overflow: hidden; margin-bottom: 12px; text-overflow: ellipsis; white-space: nowrap; }
  .laporia-site.single-product .product_title { font-size: clamp(24px, 5.4vw, 29px); }
  .laporia-site.single-product .laporia-product-assurance { padding: 11px; }
  .laporia-site.single-product .woocommerce-tabs { margin-top: 32px; padding: 22px; border-radius: 24px; }
  .laporia-site.single-product .related,
  .laporia-site.single-product .up-sells { margin-top: 34px; padding: 24px 16px; border-radius: 25px; }
  .laporia-story { padding-block: 45px; }
  .laporia-story__panel { grid-template-columns: 1fr; gap: 30px; padding: 34px; }
  .laporia-story__copy .laporia-eyebrow { justify-content: flex-start; }
  .laporia-story__copy > p:not(.laporia-eyebrow) { max-width: 650px; }
  .laporia-story__principles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .laporia-story-card { grid-template-columns: 1fr; align-content: start; min-height: 154px; }
  .laporia-story-card--clear { margin-left: 0; }
  .laporia-story__help { grid-column: 1 / -1; }
  .laporia-seo-intro__inner { grid-template-columns: 1fr; gap: 24px; }
  .laporia-seo-intro .laporia-eyebrow { justify-content: flex-start; }
  .laporia-footer__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
  .laporia-container,
  .laporia-content-shell,
  .laporia-site .ct-container,
  .laporia-site .site-main > .woocommerce { width: min(calc(100% - 28px), var(--lp-container)); }
  .laporia-topline { display: none; }
  .laporia-header__inner { row-gap: 7px; padding-block: 8px 9px; }
  .laporia-header__actions { gap: 4px; }
  .laporia-icon-button,
  .laporia-menu-toggle { width: 39px; height: 39px; }
  .laporia-hero { padding: 28px 0 34px; }
  .laporia-hero h1 { font-size: clamp(39px, 12vw, 56px); }
  .laporia-hero__lead { font-size: 16px; }
  .laporia-button-row { display: grid; grid-template-columns: 1fr; }
  .laporia-button { width: 100%; }
  .laporia-trust-list { gap: 8px; }
  .laporia-trust-list li { padding-right: 5px; }
  .laporia-trust-list strong { font-size: 12px; }
  .laporia-trust-list span { font-size: 10px; line-height: 1.35; }
  .laporia-hero__visual { min-height: 390px; }
  .laporia-hero__blob { inset: 8% 4% 4%; }
  .laporia-orbit { padding: 7px 11px 7px 7px; font-size: 11px; }
  .laporia-orbit span { width: 30px; height: 30px; font-size: 16px; }
  .laporia-orbit--dog { left: -2%; }
  .laporia-orbit--cat { right: -1%; bottom: 5%; }
  .laporia-section { padding-block: 42px; }
  .laporia-section-heading { margin-bottom: 20px; }
  .laporia-section-heading h2 { font-size: 34px; }
  .laporia-categories { padding-block: 32px; }
  .laporia-category-heading { align-items: flex-end; margin-bottom: 10px; }
  .laporia-category-heading h2 { font-size: 27px; }
  .laporia-category-heading .laporia-text-link { gap: 6px; font-size: 11px; }
  .laporia-category-grid { grid-template-columns: repeat(5, minmax(265px, 82vw)); gap: 11px; }
  .laporia-category-card,
  .laporia-category-card__content { min-height: 174px; }
  .laporia-section-heading--inline { grid-template-columns: 1fr; }
  .laporia-site ul.products { gap: 18px 10px; }
  .laporia-site ul.products li.product { padding: 7px 7px 10px; border-radius: 19px; }
  .laporia-site ul.products li.product figure { margin-bottom: 11px; border-radius: 14px; }
  .laporia-site ul.products li.product figure img { padding: 3px; }
  .laporia-site ul.products li.product > :not(figure) { margin-right: 5px; margin-left: 5px; }
  .laporia-card-kicker { min-height: 14px; margin-bottom: 3px !important; font-size: 8px; }
  .laporia-site ul.products li.product .woocommerce-loop-product__title { min-height: 55px; margin-bottom: 5px; font-size: 12px; line-height: 1.5; -webkit-line-clamp: 3; }
  .laporia-site ul.products li.product .price { font-size: 15px; }
  .laporia-card-stock { margin-bottom: 8px !important; font-size: 8px; }
  .laporia-site ul.products li.product .button { width: 100%; min-height: 40px; padding-inline: 6px; font-size: 10px; }
  .laporia-product-badge { top: 8px; left: 8px; padding: 6px 8px; font-size: 8px; }
  .laporia-site ul.products li.product .onsale,
  .laporia-site .woocommerce div.product .onsale.laporia-sale-percent { top: 7px; left: 7px; width: auto !important; height: 27px !important; min-width: 38px; min-height: 27px; padding-inline: 8px; font-size: 9px; line-height: 1; }
  .laporia-site.single-product .site-main > .ct-container { padding-top: 14px; }
  .laporia-site.single-product .product-entry-wrapper > .entry-summary,
  .laporia-site.single-product div.product > .summary { padding: 20px 16px; }
  .laporia-site.single-product .woocommerce-product-gallery .ct-product-gallery-container { padding: 9px; border-radius: 19px; }
  .laporia-site.single-product .woocommerce-product-gallery .flexy-view,
  .laporia-site.single-product .woocommerce-product-gallery .flexy-items,
  .laporia-site.single-product .woocommerce-product-gallery .flexy-item,
  .laporia-site.single-product .woocommerce-product-gallery .flexy-item figure { height: min(72vw, 300px) !important; }
  .laporia-site.single-product .product_title { font-size: 23px; line-height: 1.17; }
  .laporia-site.single-product div.product .summary > p.price { font-size: 25px; }
  .laporia-site.single-product .summary .ct-cart-actions { grid-template-columns: 88px 1fr; }
  .laporia-site.single-product .laporia-product-assurance ul { gap: 5px; }
  .laporia-site.single-product .laporia-product-assurance li { min-height: 43px; padding: 6px 5px 6px 20px; }
  .laporia-site.single-product .laporia-product-assurance li::before { top: 8px; left: 6px; }
  .laporia-site.single-product .laporia-product-assurance li strong { font-size: 8px; }
  .laporia-site.single-product .woocommerce-tabs { margin-top: 26px; padding: 18px 15px; }
  .laporia-site.single-product .woocommerce-tabs .tabs { display: flex; overflow-x: auto; white-space: nowrap; }
  .laporia-site.single-product .related,
  .laporia-site.single-product .up-sells { margin-top: 30px; margin-inline: -5px; padding: 20px 10px; }
  .laporia-site.woocommerce-shop .site-main > .ct-container,
  .laporia-site.tax-product_cat .site-main > .ct-container { padding-top: 14px; }
  .laporia-shop-rail { margin: 0 -4px 13px; padding: 11px 10px; border-radius: 20px; }
  .laporia-shop-rail__heading { margin-bottom: 9px; padding-inline: 2px; }
  .laporia-shop-rail__heading h1 { font-size: 27px; }
  .laporia-shop-rail__heading p { font-size: 10px; }
  .laporia-shop-rail--search .laporia-shop-rail__heading { padding: 13px; }
  .laporia-shop-rail--search .laporia-shop-rail__heading h1 { font-size: 23px; line-height: 1.15; }
  .laporia-shop-rail__meta { flex-wrap: wrap; gap: 8px; }
  .laporia-shop-rail__meta > a { min-height: 31px; padding-inline: 10px; font-size: 10px; }
  .laporia-shop-rail__items { grid-template-columns: repeat(7, 136px); gap: 7px; }
  .laporia-shop-rail__items a { min-width: 136px; height: 88px; }
  .laporia-shop-rail__copy { padding: 10px; }
  .laporia-shop-tools { display: grid; grid-template-columns: 1fr; gap: 10px; margin-bottom: 16px; }
  .laporia-shop-tools__left { justify-content: space-between; }
  .laporia-shop-tools .woocommerce-ordering,
  .laporia-shop-tools .woocommerce-ordering select { width: 100%; }
  .laporia-filter-panel { padding: 22px 18px 110px; }
  .laporia-brand-checks { grid-template-columns: 1fr; }
  .laporia-story { padding-block: 34px; }
  .laporia-story__panel { gap: 25px; padding: 25px 20px; border-radius: 22px; }
  .laporia-story__copy h2 { font-size: 31px; }
  .laporia-story__copy > p:not(.laporia-eyebrow) { margin: 17px 0 21px; font-size: 13px; }
  .laporia-story__actions { display: grid; gap: 14px; }
  .laporia-story__about { justify-self: start; }
  .laporia-story__principles { grid-template-columns: 1fr; gap: 8px; }
  .laporia-story-card { grid-template-columns: 44px minmax(0, 1fr); min-height: 82px; padding: 12px 13px; border-radius: 16px; }
  .laporia-story-card__icon { width: 44px; height: 44px; border-radius: 13px; }
  .laporia-story__help { grid-column: auto; margin-top: 5px; }
  .laporia-content-shell { padding-block: 38px 76px; }
  .laporia-entry__header { margin-bottom: 28px; }
  .laporia-footer { padding: 44px 0 96px; }
  .laporia-footer__grid { grid-template-columns: 1fr; gap: 26px; }
  .laporia-footer h2 { margin-bottom: 12px; }
  .laporia-footer__bottom { display: grid; gap: 5px; margin-top: 32px; padding-top: 16px; }
  .laporia-image-lightbox { grid-template-columns: 42px minmax(0, 1fr) 42px; gap: 5px; padding: 18px 8px; }
  .laporia-image-lightbox button { width: 40px; height: 40px; font-size: 27px; }
  .laporia-image-lightbox__close { top: 10px; right: 10px; }
  .laporia-image-lightbox figure img { max-height: calc(100dvh - 76px); border-radius: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

/* Panoramic storefront hero — one calm visual thesis, three useful routes. */
.laporia-hero.laporia-hero-banner {
  padding: 26px 0 0;
  background: var(--lp-paper);
  background-image: none;
}

.laporia-hero-banner__stage {
  position: relative;
  min-height: clamp(400px, 34vw, 490px);
  overflow: hidden;
  border: 1px solid rgba(23, 39, 31, 0.09);
  border-radius: 28px;
  background: #eef2e9;
  box-shadow: 0 24px 65px rgba(23, 39, 31, 0.09);
  isolation: isolate;
}

.laporia-hero-banner__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 420ms ease, visibility 420ms ease;
}

.laporia-hero-banner__slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.laporia-hero-banner__slide::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgba(247, 246, 239, 0.98) 0%, rgba(247, 246, 239, 0.91) 34%, rgba(247, 246, 239, 0.25) 61%, transparent 76%);
  pointer-events: none;
}

.laporia-hero-banner__image {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.laporia-hero-banner__copy {
  position: relative;
  z-index: 2;
  display: flex;
  width: 50%;
  min-height: clamp(400px, 34vw, 490px);
  flex-direction: column;
  justify-content: center;
  padding: 42px 20px 46px 42px;
}

.laporia-hero-banner__copy .laporia-eyebrow {
  margin-bottom: 14px;
}

.laporia-hero-banner__copy h1,
.laporia-hero-banner__copy h2 {
  max-width: 650px;
  margin: 0;
  color: var(--lp-ink);
  font-family: var(--lp-display);
  font-size: clamp(42px, 4.5vw, 66px);
  font-weight: 650;
  line-height: 1.04;
  letter-spacing: -0.06em;
}

.laporia-hero-banner__copy h1 em,
.laporia-hero-banner__copy h2 em {
  color: var(--lp-green);
  font-style: normal;
}

.laporia-hero-banner__copy .laporia-hero__lead {
  max-width: 510px;
  margin-top: 17px;
  font-size: clamp(15px, 1.35vw, 18px);
  line-height: 1.52;
}

.laporia-hero-banner__copy .laporia-button-row {
  margin-top: 24px;
}

.laporia-hero-banner__copy .laporia-button {
  min-height: 48px;
  padding-inline: 21px;
}

.laporia-hero-banner__copy .laporia-button--ghost {
  border-color: rgba(23, 39, 31, 0.32);
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(8px);
}

.laporia-hero-banner__controls {
  position: absolute;
  z-index: 4;
  right: 20px;
  bottom: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
  border: 1px solid rgba(23, 39, 31, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 10px 28px rgba(23, 39, 31, 0.12);
  backdrop-filter: blur(12px);
}

.laporia-hero-banner__controls > button {
  display: grid;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  place-items: center;
  color: var(--lp-ink);
  background: transparent;
  font-size: 15px;
  cursor: pointer;
}

.laporia-hero-banner__controls > button:hover,
.laporia-hero-banner__controls > button:focus-visible {
  color: #fff;
  background: var(--lp-green-dark);
}

.laporia-hero-banner__dots {
  display: flex;
  align-items: center;
  gap: 0;
}

.laporia-hero-banner__dots button {
  display: grid;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  place-items: center;
  background: transparent;
  cursor: pointer;
}

.laporia-hero-banner__dots button::after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(23, 39, 31, 0.25);
  transition: width 180ms ease, background 180ms ease;
}

.laporia-hero-banner__dots button[aria-current="true"]::after {
  width: 18px;
  background: var(--lp-green-dark);
}

.laporia-hero-banner__trust {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 12px 0 0;
  overflow: hidden;
  padding: 5px;
  border: 1px solid rgba(255, 249, 237, 0.14);
  border-radius: 20px;
  list-style: none;
  background-color: #123329;
  background-image:
    radial-gradient(circle at 18px 20px, rgba(255, 249, 237, 0.035) 0 3px, transparent 3.5px),
    radial-gradient(circle at 29px 15px, rgba(255, 249, 237, 0.035) 0 3.5px, transparent 4px),
    radial-gradient(circle at 40px 20px, rgba(255, 249, 237, 0.035) 0 3px, transparent 3.5px),
    radial-gradient(ellipse at 29px 34px, rgba(255, 249, 237, 0.035) 0 8px, transparent 8.5px),
    linear-gradient(118deg, #173d31 0%, #102f26 58%, #19473a 100%);
  background-size: 118px 96px, 118px 96px, 118px 96px, 118px 96px, 100% 100%;
  box-shadow: 0 12px 28px rgba(16, 47, 38, 0.14);
}

.laporia-hero-banner__trust-item {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 78px;
  align-items: center;
  gap: 12px;
  padding: 11px 15px;
  border: 0;
  border-left: 1px solid rgba(255, 249, 237, 0.16);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.laporia-hero-banner__trust-item:first-child { border-left: 0; }

.laporia-hero-banner__trust-item::after {
  content: none;
}

.laporia-hero-banner__trust-item--delivery,
.laporia-hero-banner__trust-item--payment,
.laporia-hero-banner__trust-item--help { background: transparent; }

.laporia-hero-banner__trust-icon {
  position: relative;
  z-index: 1;
  display: grid;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  place-items: center;
  border: 1px solid rgba(255, 249, 237, 0.18);
  border-radius: 14px;
  color: #102f26;
  background: #f3c85d;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

.laporia-hero-banner__trust-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.laporia-hero-banner__trust-icon svg .laporia-icon-fill {
  fill: currentColor;
  stroke: none;
}

.laporia-hero-banner__trust-copy {
  position: relative;
  z-index: 1;
  display: grid;
  min-width: 0;
  gap: 3px;
}

.laporia-hero-banner__trust-copy strong {
  color: #fff9ed;
  font-size: 12px;
  line-height: 1.25;
}

.laporia-hero-banner__trust-copy > span {
  color: #c4d5cc;
  font-size: 10px;
  line-height: 1.35;
}

@media (max-width: 1024px) {
  .laporia-hero-banner__stage,
  .laporia-hero-banner__copy { min-height: 430px; }
  .laporia-hero-banner__copy { width: 56%; padding-left: 32px; }
  .laporia-hero-banner__copy h1,
  .laporia-hero-banner__copy h2 { font-size: clamp(39px, 5.6vw, 55px); }
}

@media (max-width: 820px) {
  .laporia-hero.laporia-hero-banner { padding: 12px 0 0; }
  .laporia-hero-banner__stage { min-height: 580px; border-radius: 22px; }
  .laporia-hero-banner__slide { background: var(--lp-paper); }
  .laporia-hero-banner__slide::after {
    background: linear-gradient(180deg, rgba(247, 246, 239, 1) 0%, rgba(247, 246, 239, 1) 52%, rgba(247, 246, 239, 0.88) 61%, rgba(247, 246, 239, 0.06) 84%);
  }
  .laporia-hero-banner__image {
    top: auto;
    height: 47%;
    object-position: 72% center;
  }
  .laporia-hero-banner__copy {
    width: 100%;
    min-height: 340px;
    justify-content: flex-start;
    padding: 24px 23px 18px;
  }
  .laporia-hero-banner__copy h1,
  .laporia-hero-banner__copy h2 { font-size: clamp(36px, 10vw, 48px); }
  .laporia-hero-banner__copy .laporia-hero__lead { max-width: 500px; margin-top: 14px; font-size: 15px; }
  .laporia-hero-banner__copy .laporia-button-row { margin-top: 19px; }
  .laporia-hero-banner__copy .laporia-button { min-height: 46px; }
  .laporia-hero-banner__controls { right: 13px; bottom: 13px; }
  .laporia-hero-banner__trust { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 4px; border-radius: 18px; }
  .laporia-hero-banner__trust-item { min-height: 72px; gap: 9px; padding: 9px 10px; border-left: 0; border-radius: 0; }
  .laporia-hero-banner__trust-item:nth-child(even) { border-left: 1px solid rgba(255, 249, 237, 0.16); }
  .laporia-hero-banner__trust-item:nth-child(n + 3) { border-top: 1px solid rgba(255, 249, 237, 0.16); }
  .laporia-hero-banner__trust-icon { width: 40px; height: 40px; flex-basis: 40px; border-radius: 13px; }
  .laporia-hero-banner__trust-icon svg { width: 22px; height: 22px; }
  .laporia-hero-banner__trust-copy strong { font-size: 11px; }
  .laporia-hero-banner__trust-copy > span { font-size: 9px; }
}

@media (max-width: 480px) {
  .laporia-hero-banner__stage { min-height: 560px; }
  .laporia-hero-banner__copy { min-height: 325px; padding: 22px 19px 16px; }
  .laporia-hero-banner__copy .laporia-eyebrow { font-size: 10px; }
  .laporia-hero-banner__copy h1,
  .laporia-hero-banner__copy h2 { font-size: 36px; }
}

/* Guest account — compact split composition instead of a stretched page form. */
.laporia-site.woocommerce-account:not(.logged-in) .laporia-content-shell {
  width: min(calc(100% - 40px), 1120px);
  padding-block: 34px 66px;
}

.laporia-site.woocommerce-account:not(.logged-in) .laporia-entry__header {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.laporia-site.woocommerce-account:not(.logged-in) .laporia-entry__content {
  max-width: none;
  font-size: 15px;
}

.laporia-site.woocommerce-account:not(.logged-in) .laporia-entry__content .woocommerce {
  width: 100%;
}

.laporia-account-login {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  min-height: 545px;
  overflow: hidden;
  border: 1px solid rgba(23, 39, 31, .11);
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(23, 39, 31, .09);
}

.laporia-account-login__welcome {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding: 48px clamp(34px, 4vw, 58px);
  color: var(--lp-paper);
  background:
    radial-gradient(circle at 84% 16%, rgba(255, 209, 82, .18) 0 4px, transparent 5px),
    radial-gradient(circle at 90% 23%, rgba(255, 250, 240, .11) 0 7px, transparent 8px),
    radial-gradient(circle at 78% 27%, rgba(255, 250, 240, .08) 0 11px, transparent 12px),
    linear-gradient(145deg, #102b22 0%, #174b39 100%);
}

.laporia-account-login__welcome::after {
  content: "";
  position: absolute;
  right: -118px;
  bottom: -136px;
  width: 330px;
  height: 330px;
  border: 1px solid rgba(255, 250, 240, .12);
  border-radius: 50%;
  box-shadow: 0 0 0 42px rgba(255, 250, 240, .025), 0 0 0 86px rgba(255, 250, 240, .02);
  pointer-events: none;
}

.laporia-account-login__mark {
  position: relative;
  z-index: 1;
  display: grid;
  width: 58px;
  height: 58px;
  margin-bottom: 25px;
  border: 1px solid rgba(255, 250, 240, .22);
  border-radius: 18px;
  place-items: center;
  color: var(--lp-ink);
  background: var(--lp-yellow);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .16);
  transform: rotate(-3deg);
}

.laporia-account-login__mark svg {
  width: 31px;
  height: 31px;
  fill: currentColor;
}

.laporia-account-login__eyebrow,
.laporia-account-login__card-eyebrow {
  position: relative;
  z-index: 1;
  margin: 0 0 12px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.laporia-account-login__eyebrow { color: #b9dac9; }

.laporia-account-login__welcome h2,
.laporia-entry__content .laporia-account-login__welcome h2 {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #fffaf0;
  font-family: var(--lp-display);
  font-size: clamp(36px, 4vw, 51px);
  line-height: 1.08;
  letter-spacing: -.055em;
}

.laporia-account-login__lead {
  position: relative;
  z-index: 1;
  max-width: 390px;
  margin: 18px 0 28px;
  color: rgba(255, 250, 240, .72);
  font-size: 14px;
  line-height: 1.65;
}

.laporia-account-login__benefits {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 10px;
  max-width: 395px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.laporia-account-login__benefits li {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 250, 240, .1);
  border-radius: 15px;
  background: rgba(255, 255, 255, .045);
}

.laporia-account-login__benefits li > span {
  display: grid;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 10px;
  place-items: center;
  color: var(--lp-ink);
  background: #dcefe5;
  font-size: 13px;
  font-weight: 900;
}

.laporia-account-login__benefits div { display: grid; gap: 2px; }
.laporia-account-login__benefits strong { color: #fffaf0; font-size: 13px; line-height: 1.3; }
.laporia-account-login__benefits small { color: rgba(255, 250, 240, .58); font-size: 10px; line-height: 1.35; }

.laporia-account-login__card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 48px clamp(38px, 5vw, 72px);
  background: #fff;
}

.laporia-account-login__card-eyebrow {
  margin-bottom: 9px;
  color: var(--lp-green-dark);
}

.laporia-account-login__card-title,
.laporia-entry__content .laporia-account-login__card-title {
  margin: 0;
  color: var(--lp-ink);
  font-family: var(--lp-display);
  font-size: clamp(30px, 3.2vw, 42px);
  line-height: 1.12;
  letter-spacing: -.05em;
}

.laporia-account-login__card-lead {
  max-width: 480px;
  margin: 12px 0 26px;
  color: var(--lp-muted);
  font-size: 13px;
  line-height: 1.55;
}

.laporia-account-login__card > h2:not(.laporia-account-login__card-title) {
  display: none;
}

.laporia-account-login__card .woocommerce-form-login {
  display: grid;
  gap: 16px;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
}

.laporia-account-login__card .form-row {
  margin: 0;
  padding: 0;
}

.laporia-account-login__card .form-row > label:not(.woocommerce-form-login__rememberme) {
  display: block;
  margin: 0 0 7px;
  color: var(--lp-ink);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .01em;
}

.laporia-account-login__card .input-text {
  width: 100%;
  height: 54px;
  padding: 0 16px;
  border: 1px solid #dce3de;
  border-radius: 14px;
  outline: 0;
  color: var(--lp-ink);
  background: #f8faf8;
  box-shadow: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.laporia-account-login__card .input-text:hover { border-color: #bdcdc4; }

.laporia-account-login__card .input-text:focus {
  border-color: var(--lp-green);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(52, 132, 96, .12);
}

.laporia-account-login__card .password-input { display: block; width: 100%; }

.laporia-account-login__card .show-password-input {
  right: 14px;
  color: var(--lp-green-dark);
}

.laporia-account-login__card .woocommerce-form-login > .form-row:not(.form-row-wide) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 13px;
}

.laporia-account-login__card .woocommerce-form-login__rememberme {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  color: var(--lp-ink);
  font-size: 12px;
  font-weight: 650;
  cursor: pointer;
}

.laporia-account-login__card .woocommerce-form-login__rememberme input {
  width: 18px;
  height: 18px;
  margin: 0;
  border: 1px solid #c8d3cc;
  border-radius: 6px;
  accent-color: var(--lp-green-dark);
}

.laporia-account-login__card .woocommerce-form-login__submit,
.laporia-account-login__card .button.woocommerce-form-login__submit {
  width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 0 22px;
  border: 0;
  border-radius: 14px;
  color: #fff;
  background: var(--lp-green-dark);
  box-shadow: 0 10px 24px rgba(23, 75, 57, .17);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.laporia-account-login__card .woocommerce-form-login__submit:hover,
.laporia-account-login__card .woocommerce-form-login__submit:focus-visible {
  color: var(--lp-ink);
  background: var(--lp-yellow);
  transform: translateY(-1px);
}

.laporia-account-login__card .lost_password { margin: -4px 0 0; text-align: right; }

.laporia-account-login__card .lost_password a {
  color: var(--lp-green-dark);
  font-size: 11px;
  font-weight: 750;
  text-decoration: underline;
  text-decoration-color: rgba(23, 75, 57, .25);
  text-underline-offset: 4px;
}

.laporia-account-login__note {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 24px 0 0;
  padding-top: 17px;
  border-top: 1px solid #e6ebe7;
  color: var(--lp-muted);
  font-size: 10px;
  line-height: 1.45;
}

.laporia-account-login__note span { font-size: 15px; }

@media (max-width: 820px) {
  .laporia-site.woocommerce-account:not(.logged-in) .laporia-content-shell { padding-block: 20px 46px; }
  .laporia-account-login { grid-template-columns: 1fr; min-height: 0; border-radius: 24px; }
  .laporia-account-login__welcome { justify-content: flex-start; padding: 30px 28px; }
  .laporia-account-login__mark { width: 50px; height: 50px; margin-bottom: 18px; border-radius: 16px; }
  .laporia-account-login__welcome h2,
  .laporia-entry__content .laporia-account-login__welcome h2 { font-size: 36px; }
  .laporia-account-login__lead { max-width: 560px; margin: 13px 0 20px; }
  .laporia-account-login__benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: none; }
  .laporia-account-login__benefits li { align-items: flex-start; padding: 10px; }
  .laporia-account-login__benefits small { display: none; }
  .laporia-account-login__card { padding: 34px 28px 32px; }
}

@media (max-width: 560px) {
  .laporia-site.woocommerce-account:not(.logged-in) .laporia-content-shell { width: min(calc(100% - 24px), 1120px); padding-block: 12px 34px; }
  .laporia-account-login { border-radius: 21px; box-shadow: 0 16px 45px rgba(23, 39, 31, .08); }
  .laporia-account-login__welcome { padding: 24px 20px; }
  .laporia-account-login__mark { width: 44px; height: 44px; margin-bottom: 15px; }
  .laporia-account-login__mark svg { width: 25px; height: 25px; }
  .laporia-account-login__welcome h2,
  .laporia-entry__content .laporia-account-login__welcome h2 { font-size: 30px; }
  .laporia-account-login__lead { margin-bottom: 16px; font-size: 12px; }
  .laporia-account-login__benefits { grid-template-columns: 1fr; gap: 7px; }
  .laporia-account-login__benefits li { padding: 8px 10px; }
  .laporia-account-login__benefits li:nth-child(3) { display: none; }
  .laporia-account-login__card { padding: 26px 20px 24px; }
  .laporia-account-login__card-title,
  .laporia-entry__content .laporia-account-login__card-title { font-size: 28px; }
  .laporia-account-login__card-lead { margin-bottom: 20px; }
  .laporia-account-login__card .woocommerce-form-login { gap: 14px; }
  .laporia-account-login__card .woocommerce-form-login > .form-row:not(.form-row-wide) { gap: 12px; }
  .laporia-account-login__card .lost_password { margin-top: -1px; text-align: left; }
  .laporia-account-login__note { margin-top: 20px; }
}

/* Contacts use the same split-card language as the guest account screen. */
.laporia-content-shell:has(.laporia-contact-account) {
  width: min(calc(100% - 40px), 1120px);
  padding-block: 34px 66px;
}

.laporia-entry:has(.laporia-contact-account) .laporia-entry__header {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.laporia-entry:has(.laporia-contact-account) .laporia-entry__content {
  max-width: none;
  font-size: 15px;
}

.laporia-contact-account__card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 44px clamp(38px, 5vw, 66px);
  background: #fff;
}

.laporia-contact-account__label {
  display: block;
  margin: 0 0 7px;
  color: var(--lp-ink);
  font-size: 11px;
  font-weight: 800;
}

.laporia-entry__content .laporia-contact-account__email {
  display: flex;
  min-width: 0;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 16px;
  border: 1px solid #dce3de;
  border-radius: 14px;
  color: var(--lp-ink);
  background: #f8faf8;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.laporia-contact-account__email span { min-width: 0; overflow-wrap: anywhere; }
.laporia-contact-account__email b { color: var(--lp-green); font-size: 18px; }
.laporia-contact-account__email:hover,
.laporia-contact-account__email:focus-visible { border-color: var(--lp-green); background: #fff; box-shadow: 0 0 0 4px rgba(52, 132, 96, .12); }

.laporia-entry__content .laporia-contact-account__button {
  display: flex;
  width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  margin-top: 14px;
  padding: 0 22px;
  border-radius: 14px;
  color: #fff;
  background: var(--lp-green-dark);
  box-shadow: 0 10px 24px rgba(23, 75, 57, .17);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.laporia-contact-account__button:hover,
.laporia-contact-account__button:focus-visible { color: var(--lp-ink); background: var(--lp-yellow); transform: translateY(-1px); }

.laporia-contact-account__topics-title {
  margin: 21px 0 8px;
  color: var(--lp-muted);
  font-size: 10px;
  font-weight: 750;
}

.laporia-contact-account__topics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.laporia-contact-account__topics > div {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #e1e7e2;
  border-radius: 12px;
  background: #fafbf9;
}

.laporia-contact-account__topics strong { color: var(--lp-ink); font-size: 11px; }
.laporia-contact-account__topics small { color: var(--lp-muted); font-size: 9px; line-height: 1.4; }

.laporia-contact-account__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 20px 0 0;
  padding-top: 16px;
  border-top: 1px solid #e6ebe7;
  color: var(--lp-muted);
  font-size: 10px;
}

.laporia-contact-account__meta strong { color: var(--lp-ink); font-size: 11px; }
.laporia-contact-account__links { display: flex; flex-wrap: wrap; gap: 8px 14px; }
.laporia-entry__content .laporia-contact-account__links a { color: var(--lp-green-dark); font-size: 10px; font-weight: 750; text-decoration: underline; text-decoration-color: rgba(23, 75, 57, .22); text-underline-offset: 4px; }

@media (max-width: 820px) {
  .laporia-content-shell:has(.laporia-contact-account) { padding-block: 20px 46px; }
  .laporia-contact-account__card { padding: 34px 28px 32px; }
}

@media (max-width: 560px) {
  .laporia-content-shell:has(.laporia-contact-account) { width: min(calc(100% - 24px), 1120px); padding-block: 12px 34px; }
  .laporia-contact-account__card { padding: 26px 20px 24px; }
  .laporia-contact-account__topics { grid-template-columns: 1fr; }
  .laporia-contact-account__topics > div { padding: 9px 11px; }
  .laporia-contact-account__meta { align-items: flex-start; flex-direction: column; gap: 9px; }
}

/* Cohesive editorial system for LAPORIA information pages. */
.laporia-content-shell:has(.laporia-designed-page) {
  width: min(calc(100% - 40px), 1120px);
  padding-block: 34px 68px;
}

.laporia-entry:has(.laporia-designed-page) .laporia-entry__header {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.laporia-entry:has(.laporia-designed-page) .laporia-entry__content {
  max-width: none;
  color: #526159;
  font-size: 15px;
  line-height: 1.7;
}

.laporia-designed-page h2,
.laporia-designed-page h3 { color: var(--lp-ink); }
.laporia-designed-page a:focus-visible { outline: 3px solid rgba(245, 207, 101, .75); outline-offset: 3px; }

.laporia-page-eyebrow {
  margin: 0 0 12px;
  color: var(--lp-green);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.laporia-page-hero-title,
.laporia-entry__content .laporia-page-hero-title {
  margin: 0;
  font-family: var(--lp-display);
  font-size: clamp(38px, 5vw, 62px);
  line-height: 1.08;
  letter-spacing: -.055em;
}

.laporia-page-lead {
  max-width: 700px;
  margin: 18px 0 0;
  color: #53645b;
  font-size: 15px;
  line-height: 1.72;
}

.laporia-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 20px;
}

.laporia-section-head h2,
.laporia-entry__content .laporia-section-head h2 {
  max-width: 700px;
  margin: 5px 0 0;
  font-size: clamp(27px, 3.2vw, 40px);
}

.laporia-section-head > p {
  max-width: 370px;
  margin: 0;
  color: var(--lp-muted);
  font-size: 12px;
  line-height: 1.55;
}

.laporia-page-section { padding: 42px 0; border-top: 1px solid var(--lp-line); }

.laporia-value-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.laporia-value-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.laporia-value-card {
  min-width: 0;
  padding: 20px;
  border: 1px solid #dfe6e1;
  border-radius: 16px;
  background: #fff;
}

.laporia-value-card > span {
  display: inline-flex;
  min-height: 25px;
  align-items: center;
  margin-bottom: 19px;
  padding: 0 9px;
  border-radius: 8px;
  color: var(--lp-green-dark);
  background: #e3f0e8;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.laporia-value-card h3 { margin: 0 0 8px; font-family: var(--lp-body); font-size: 16px; }
.laporia-value-card p { margin: 0; font-size: 12px; line-height: 1.6; }

/* About: editorial opening with a smaller manifesto card. */
.laporia-about__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr);
  gap: 12px;
  margin-bottom: 16px;
}

.laporia-about__intro {
  min-height: 390px;
  padding: 46px;
  border: 1px solid var(--lp-line);
  border-radius: 28px;
  background: #f2f6f2;
}

.laporia-about__intro .laporia-page-hero-title { max-width: 720px; }

.laporia-about__nav { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 29px; }
.laporia-entry__content .laporia-about__nav a { padding: 8px 11px; border: 1px solid rgba(23,75,57,.16); border-radius: 9px; color: var(--lp-green-dark); background: #fff; font-size: 10px; font-weight: 800; text-decoration: none; }

.laporia-about__promise {
  position: relative;
  display: flex;
  min-height: 390px;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  padding: 31px;
  border-radius: 28px;
  color: #fffaf0;
  background: linear-gradient(145deg, #102b22, #174b39);
}

.laporia-about__mark {
  position: absolute;
  top: 30px;
  right: 30px;
  z-index: 1;
  display: grid;
  width: 62px;
  height: 62px;
  border-radius: 20px;
  place-items: center;
  color: var(--lp-ink);
  background: var(--lp-yellow);
  box-shadow: 0 13px 28px rgba(0,0,0,.14);
  transform: rotate(4deg);
}

.laporia-about__mark svg { width: 33px; height: 33px; fill: currentColor; }

.laporia-about__promise::after {
  position: absolute;
  right: -90px;
  bottom: -115px;
  width: 270px;
  height: 270px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 38px rgba(255,255,255,.025), 0 0 0 76px rgba(255,255,255,.018);
}

.laporia-about__promise span,
.laporia-about__promise strong,
.laporia-about__promise p,
.laporia-about__promise a { position: relative; z-index: 1; }
.laporia-about__promise span { color: #b9dac9; font-size: 9px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.laporia-about__promise strong { display: block; margin: 11px 0; color: #fffaf0; font-family: var(--lp-display); font-size: 26px; line-height: 1.18; letter-spacing: -.04em; }
.laporia-about__promise p { margin: 0 0 20px; color: rgba(255,250,240,.68); font-size: 11px; line-height: 1.6; }
.laporia-entry__content .laporia-about__promise a { color: #fffaf0; font-size: 11px; font-weight: 800; text-underline-offset: 4px; }

.laporia-about__catalog { display: grid; grid-template-columns: minmax(250px,.65fr) minmax(0,1.35fr); gap: 34px; align-items: start; }
.laporia-about__catalog-copy h2 { margin: 5px 0 12px; font-size: clamp(27px,3vw,38px); }
.laporia-about__catalog-copy p { margin: 0; font-size: 12px; }

/* Delivery: a route with a compact fact control panel. */
.laporia-delivery__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  overflow: hidden;
  margin-bottom: 16px;
  border: 1px solid rgba(23,39,31,.11);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 20px 56px rgba(23,39,31,.065);
}

.laporia-delivery__copy { display: flex; min-height: 390px; flex-direction: column; justify-content: center; padding: 46px; }
.laporia-delivery__copy .laporia-page-hero-title { max-width: 620px; }
.laporia-delivery__status { display: inline-flex; align-items: center; gap: 8px; margin-top: 26px; color: var(--lp-green-dark); font-size: 10px; font-weight: 800; }
.laporia-delivery__status::before { width: 9px; height: 9px; border: 4px solid #dcefe5; border-radius: 50%; background: var(--lp-green); content: ""; }

.laporia-delivery__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  align-content: center;
  padding: 34px;
  color: #fffaf0;
  background: linear-gradient(145deg, #102b22, #174b39);
}

.laporia-delivery__fact { display: flex; min-height: 125px; flex-direction: column; justify-content: space-between; padding: 18px; border: 1px solid rgba(255,250,240,.1); }
.laporia-delivery__fact:nth-child(1) { border-radius: 16px 0 0 0; }
.laporia-delivery__fact:nth-child(2) { border-radius: 0 16px 0 0; }
.laporia-delivery__fact:nth-child(3) { border-radius: 0 0 0 16px; }
.laporia-delivery__fact:nth-child(4) { border-radius: 0 0 16px 0; }
.laporia-delivery__fact span { color: #b9dac9; font-size: 8px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.laporia-delivery__fact strong { color: #fffaf0; font-size: 13px; line-height: 1.35; }
.laporia-delivery__fact small { color: rgba(255,250,240,.55); font-size: 9px; line-height: 1.4; }

.laporia-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  margin: 17px 0 0;
  padding: 0;
  counter-reset: delivery-step;
  list-style: none;
}

.laporia-flow li { position: relative; min-width: 0; padding: 45px 18px 18px; border-top: 2px solid #cfe1d5; counter-increment: delivery-step; }
.laporia-flow li::before { position: absolute; top: -16px; left: 17px; display: grid; width: 31px; height: 31px; border-radius: 10px; place-items: center; color: var(--lp-ink); background: var(--lp-yellow); content: counter(delivery-step); font-size: 10px; font-weight: 900; }
.laporia-flow strong,.laporia-flow span { display: block; }
.laporia-flow strong { margin-bottom: 6px; color: var(--lp-ink); font-size: 13px; }
.laporia-flow span { font-size: 10px; line-height: 1.5; }

/* Returns: calm instructions with one unmistakable caution area. */
.laporia-returns__hero {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(330px,.75fr);
  gap: 12px;
  margin-bottom: 16px;
}

.laporia-returns__intro { display: flex; min-height: 360px; flex-direction: column; justify-content: center; padding: 44px; border: 1px solid var(--lp-line); border-radius: 28px; background: #fff; }
.laporia-returns__notice { display: flex; min-height: 360px; flex-direction: column; justify-content: flex-end; padding: 30px; border-radius: 28px; color: var(--lp-ink); background: var(--lp-yellow); }
.laporia-returns__notice > span { display: grid; width: 49px; height: 49px; margin-bottom: auto; border: 1px solid rgba(23,39,31,.16); border-radius: 16px; place-items: center; font-size: 22px; }
.laporia-returns__notice strong { margin: 24px 0 8px; font-family: var(--lp-display); font-size: 22px; line-height: 1.2; letter-spacing: -.04em; }
.laporia-returns__notice p { margin: 0; font-size: 11px; line-height: 1.6; }
.laporia-returns__conditions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.laporia-returns__condition { padding: 22px; border: 1px solid var(--lp-line); border-radius: 16px; background: #fff; }
.laporia-returns__condition h3 { margin: 0 0 10px; font-family: var(--lp-body); font-size: 16px; }
.laporia-returns__condition p { margin: 0 0 9px; font-size: 12px; }
.laporia-returns__condition p:last-child { margin-bottom: 0; }
.laporia-returns__law { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 22px; border: 1px solid #cfe1d5; border-radius: 15px; background: #edf5ef; }
.laporia-returns__law p { margin: 0; font-size: 11px; }
.laporia-entry__content .laporia-returns__law a { flex: 0 0 auto; color: var(--lp-green-dark); font-size: 11px; font-weight: 800; }

/* Privacy: document layout with a real table of contents. */
.laporia-privacy__hero {
  display: grid;
  grid-template-columns: minmax(0,1.3fr) minmax(290px,.7fr);
  gap: 30px;
  align-items: end;
  margin-bottom: 26px;
  padding: 40px 42px;
  border: 1px solid var(--lp-line);
  border-radius: 26px;
  background: #f2f6f2;
}

.laporia-privacy__contact { padding: 18px; border: 1px solid #dfe6e1; border-radius: 15px; background: #fff; }
.laporia-privacy__contact span { color: var(--lp-green); font-size: 8px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.laporia-entry__content .laporia-privacy__contact a { display: block; margin: 7px 0 5px; color: var(--lp-ink); font-size: 13px; font-weight: 850; overflow-wrap: anywhere; text-decoration: none; }
.laporia-privacy__contact small { color: var(--lp-muted); font-size: 9px; line-height: 1.45; }

.laporia-privacy__layout { display: grid; grid-template-columns: 235px minmax(0,1fr); gap: 44px; align-items: start; }
.laporia-privacy__toc { position: sticky; top: 20px; display: grid; padding: 16px; border: 1px solid var(--lp-line); border-radius: 15px; background: #fff; }
.laporia-privacy__toc strong { margin-bottom: 8px; color: var(--lp-ink); font-size: 11px; }
.laporia-entry__content .laporia-privacy__toc a { padding: 7px 0; border-top: 1px solid #edf0ed; color: var(--lp-muted); font-size: 9px; font-weight: 700; text-decoration: none; }
.laporia-entry__content .laporia-privacy__toc a:hover { color: var(--lp-green-dark); }
.laporia-privacy__document { overflow: hidden; border: 1px solid var(--lp-line); border-radius: 20px; background: #fff; }
.laporia-privacy__document section { padding: 27px 30px; border-top: 1px solid var(--lp-line); scroll-margin-top: 20px; }
.laporia-privacy__document section:first-child { border-top: 0; }
.laporia-privacy__document h2 { margin: 0 0 13px; font-size: clamp(21px,2.3vw,29px); }
.laporia-privacy__document p { margin: 0 0 10px; font-size: 12px; }
.laporia-privacy__document ul { margin: 0; padding-left: 20px; }
.laporia-privacy__document li { margin-bottom: 7px; font-size: 11px; }

.laporia-designed-page .laporia-info-cta { margin-top: 28px; }

@media (max-width: 900px) {
  .laporia-about__hero,
  .laporia-delivery__hero,
  .laporia-returns__hero { grid-template-columns: 1fr; }
  .laporia-about__intro,
  .laporia-about__promise,
  .laporia-delivery__copy,
  .laporia-returns__intro,
  .laporia-returns__notice { min-height: 0; }
  .laporia-about__promise { min-height: 300px; }
  .laporia-about__catalog { grid-template-columns: 1fr; gap: 18px; }
  .laporia-privacy__layout { grid-template-columns: 1fr; gap: 16px; }
  .laporia-privacy__toc { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .laporia-privacy__toc strong { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .laporia-content-shell:has(.laporia-designed-page) { width: min(calc(100% - 24px),1120px); padding-block: 12px 38px; }
  .laporia-page-hero-title,.laporia-entry__content .laporia-page-hero-title { font-size: 36px; }
  .laporia-page-lead { font-size: 13px; }
  .laporia-page-section { padding: 31px 0; }
  .laporia-section-head { align-items: start; flex-direction: column; gap: 8px; }
  .laporia-value-grid,.laporia-value-grid--2,.laporia-returns__conditions { grid-template-columns: 1fr; }
  .laporia-about__intro,.laporia-delivery__copy,.laporia-returns__intro { padding: 25px 21px; border-radius: 21px; }
  .laporia-about__promise,.laporia-returns__notice { min-height: 270px; padding: 23px; border-radius: 21px; }
  .laporia-delivery__facts { padding: 18px; }
  .laporia-delivery__fact { min-height: 112px; padding: 13px; }
  .laporia-flow { grid-template-columns: 1fr; gap: 25px; }
  .laporia-flow li { padding: 35px 10px 4px 16px; }
  .laporia-returns__law { align-items: flex-start; flex-direction: column; gap: 10px; }
  .laporia-privacy__hero { grid-template-columns: 1fr; gap: 18px; padding: 24px 21px; border-radius: 21px; }
  .laporia-privacy__toc { grid-template-columns: 1fr; }
  .laporia-privacy__toc strong { grid-column: auto; }
  .laporia-privacy__document section { padding: 22px 19px; }
}

/* Keep the product information component after legacy responsive rules. */
.laporia-site.single-product .woocommerce-tabs {
  width: 100%;
  margin-top: 34px;
  margin-right: auto;
  margin-left: auto;
  padding: 0;
  overflow: hidden;
  border-radius: 22px;
  box-shadow: 0 14px 38px rgba(16, 43, 34, 0.055);
}

.laporia-site.single-product .woocommerce-tabs .tabs {
  justify-content: flex-start !important;
  padding: 13px 18px !important;
  background: #f6f7f3;
}

.laporia-site.single-product .woocommerce-tabs .tabs a,
.laporia-site.single-product .woocommerce-tabs .tabs .active a {
  border-radius: 10px;
}

.laporia-site.single-product .woocommerce-tabs .tabs a:focus,
.laporia-site.single-product .woocommerce-tabs .tabs a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(46, 125, 91, 0.2);
}

.laporia-site.single-product .woocommerce-Tabs-panel--description > *,
.laporia-site.single-product .woocommerce-Tabs-panel--description > p:first-of-type:not(:empty),
.laporia-site.single-product .woocommerce-Tabs-panel--description > p:first-of-type:empty + p,
.laporia-site.single-product .woocommerce-Tabs-panel--description ul {
  max-width: 100%;
}

.laporia-site.single-product #reviews {
  max-width: none;
}

.laporia-site.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
  width: 100%;
  max-width: none;
  padding: 27px 30px 31px !important;
  font-size: 15px;
}

@media (max-width: 820px) {
  .laporia-site.single-product .woocommerce-tabs {
    width: 100%;
    margin-top: 24px;
    padding: 0;
    border-radius: 18px;
  }

  .laporia-site.single-product .woocommerce-tabs .tabs {
    padding: 10px 11px !important;
  }

  .laporia-site.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
    padding: 20px 17px 23px !important;
    font-size: 14px;
  }
}

@media (max-width: 560px) {
  .laporia-site.single-product .woocommerce-tabs {
    width: 100%;
    margin-top: 20px;
    padding: 0;
  }

  .laporia-site.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
    padding: 17px 13px 20px !important;
  }
}

/* Mobile QA pass: compact edge cases across search, cart, account and product. */
.laporia-site.search-results .site-main > .ct-container {
  padding-top: clamp(26px, 4vw, 46px);
  padding-bottom: clamp(54px, 7vw, 86px);
}

.laporia-site.search-results main .page-title {
  max-width: 760px;
  margin: 0 0 26px;
  color: var(--lp-ink);
  font-family: var(--lp-font-display);
  font-size: clamp(30px, 4.4vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.laporia-site.search-results main .entries {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 0 !important;
}

.laporia-site.search-results main article.entry-card {
  display: grid !important;
  grid-template-columns: 126px minmax(0, 1fr);
  grid-template-areas:
    "media category"
    "media title"
    "media excerpt"
    "media date";
  align-content: start;
  gap: 5px 14px;
  min-width: 0;
  min-height: 172px;
  padding: 14px !important;
  overflow: hidden;
  border: 1px solid var(--lp-line);
  border-radius: 20px;
  background: var(--lp-white);
  box-shadow: 0 10px 28px rgba(16, 43, 34, 0.045);
}

.laporia-site.search-results main article.entry-card .ct-media-container {
  grid-area: media;
  width: 126px;
  height: 142px;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 14px;
  background: #f1f6f1;
}

.laporia-site.search-results main article.entry-card .ct-media-container img {
  width: 100%;
  height: 100%;
  padding: 5px;
  object-fit: contain;
  background: #fff;
}

.laporia-site.search-results main article.entry-card .entry-meta[data-id="meta_1"] {
  grid-area: category;
  min-width: 0;
  margin: 0 !important;
  color: var(--lp-green-dark);
  font-size: 9px;
  font-weight: 800;
}

.laporia-site.search-results main article.entry-card .entry-title {
  grid-area: title;
  min-width: 0;
  margin: 0 !important;
  font-size: 15px;
  line-height: 1.35;
}

.laporia-site.search-results main article.entry-card .entry-title a {
  display: -webkit-box;
  overflow: hidden;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.laporia-site.search-results main article.entry-card .entry-excerpt {
  grid-area: excerpt;
  min-width: 0;
  margin: 0 !important;
  color: var(--lp-muted);
  font-size: 11px;
  line-height: 1.45;
}

.laporia-site.search-results main article.entry-card .entry-excerpt p {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.laporia-site.search-results main article.entry-card .entry-meta[data-id="meta_2"] {
  grid-area: date;
  margin: 0 !important;
  color: var(--lp-muted);
  font-size: 9px;
}

.laporia-account-login__card .password-input .input-text {
  padding-right: 54px;
}

.laporia-account-login__card .show-password-input {
  top: 50%;
  right: 9px;
  display: grid;
  width: 36px;
  min-width: 36px;
  height: 36px;
  min-height: 36px;
  place-items: center;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  transform: translateY(-50%);
  touch-action: manipulation;
}

.laporia-site.single-product .woocommerce-message {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 15px;
  color: var(--lp-ink);
  font-size: 12px;
  font-weight: 700;
}

.laporia-site.single-product .woocommerce-message .button {
  order: 2;
  min-height: 40px;
  flex: 0 0 auto;
  padding: 0 15px;
  border-radius: 999px;
  white-space: nowrap;
}

.laporia-site.single-product .woocommerce-Tabs-panel--description > h2 {
  max-width: 920px;
  margin: 24px 0 11px;
  color: var(--lp-ink);
  font-size: clamp(18px, 2.2vw, 24px);
  line-height: 1.28;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.laporia-site.woocommerce-cart .wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0 !important;
}

.laporia-site.woocommerce-cart .wc-block-grid__product {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 10px !important;
  overflow: hidden;
  border: 1px solid var(--lp-line);
  border-radius: 18px;
  background: var(--lp-white);
}

.laporia-site.woocommerce-cart .wc-block-grid__product-image {
  margin-bottom: 10px;
  overflow: hidden;
  border-radius: 13px;
  background: #fff;
}

.laporia-site.woocommerce-cart .wc-block-grid__product-image img {
  width: 100%;
  aspect-ratio: 1 / 1;
  padding: 5px;
  object-fit: contain;
  background: #fff;
}

.laporia-site.woocommerce-cart .wc-block-grid__product-title {
  display: -webkit-box;
  min-height: 57px;
  margin-bottom: 7px;
  overflow: hidden;
  color: var(--lp-ink);
  font-size: 13px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.laporia-site.woocommerce-cart .wc-block-grid__product-price {
  margin-bottom: 9px;
  color: var(--lp-green-dark);
  font-weight: 850;
}

.laporia-site.woocommerce-cart .wc-block-grid__product-price del,
.laporia-site.woocommerce-cart .wc-block-grid__product-price del .amount {
  color: #586860 !important;
  opacity: 1 !important;
}

.laporia-site.woocommerce-cart .wc-block-grid__product .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid var(--lp-green-dark);
  border-radius: 999px;
  color: #fff !important;
  background: var(--lp-green-dark) !important;
  font-size: 12px;
  font-weight: 800;
}

.laporia-nav,
.laporia-cart-drawer,
#laporia-filter-panel,
.laporia-image-lightbox {
  overscroll-behavior: contain;
}

.laporia-site a,
.laporia-site button,
.laporia-site input,
.laporia-site select,
.laporia-site textarea {
  touch-action: manipulation;
}

@media (max-width: 820px) {
  .laporia-site.search-results main .entries {
    grid-template-columns: 1fr !important;
  }

  .laporia-site.woocommerce-cart .wc-block-grid__products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .laporia-site.single-product .laporia-mobile-buy-bar {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
  }

  .laporia-site.single-product .laporia-mobile-buy-bar.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  body.laporia-menu-open .laporia-mobile-dock,
  body.laporia-filter-open .laporia-mobile-dock,
  body.laporia-cart-open .laporia-mobile-dock {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}

@media (max-width: 560px) {
  .laporia-site.search-results .site-main > .ct-container {
    width: min(calc(100% - 28px), var(--lp-container));
    padding-top: 24px;
    padding-bottom: 78px;
  }

  .laporia-site.search-results main .page-title {
    margin-bottom: 18px;
    font-family: var(--lp-font-display) !important;
    font-size: 27px !important;
    line-height: 1.12 !important;
    letter-spacing: -0.04em !important;
  }

  .laporia-site.search-results main .entries {
    gap: 10px !important;
  }

  .laporia-site.search-results main article.entry-card {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 4px 11px;
    min-height: 122px;
    padding: 10px !important;
    border-radius: 16px;
  }

  .laporia-site.search-results main article.entry-card .ct-media-container {
    width: 92px;
    height: 100px;
    border-radius: 12px;
  }

  .laporia-site.search-results main article.entry-card .entry-title {
    font-size: 13px;
    line-height: 1.34;
  }

  .laporia-site.search-results main article.entry-card .entry-excerpt,
  .laporia-site.search-results main article.entry-card .entry-meta[data-id="meta_2"] {
    display: none;
  }

  .laporia-site.single-product .ct-breadcrumbs {
    min-height: 30px;
    margin: 0 0 8px !important;
    overflow: hidden;
    color: var(--lp-green-dark);
    font-size: 10px;
    line-height: 30px;
    letter-spacing: 0.035em;
    white-space: nowrap;
  }

  .laporia-site.single-product .ct-breadcrumbs .first-item,
  .laporia-site.single-product .ct-breadcrumbs .last-item,
  .laporia-site.single-product .ct-breadcrumbs .item-0 .ct-separator {
    display: none !important;
  }

  .laporia-site.single-product .ct-breadcrumbs .item-0 a {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    gap: 6px;
  }

  .laporia-site.single-product .ct-breadcrumbs .item-0 a::before {
    content: "\2190";
    font-size: 15px;
    line-height: 1;
  }

  .laporia-site.single-product .woocommerce-Tabs-panel--description > h2 {
    margin-top: 20px;
    font-size: 18px;
  }

  .laporia-site.single-product .woocommerce-message {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center !important;
    margin-bottom: 14px;
    padding: 10px 11px 10px 13px;
    border-radius: 14px;
    font-size: 11px;
  }

  .laporia-site.single-product .woocommerce-message::before {
    display: none !important;
  }

  .laporia-site.single-product .woocommerce-message .button {
    float: none !important;
    min-height: 38px;
    margin: 0 !important;
    padding-inline: 12px;
    font-size: 10px;
  }

  .laporia-site.woocommerce-cart .wc-block-cart-items {
    width: 100% !important;
    max-width: 100%;
    margin: 0 !important;
  }

  .laporia-site.woocommerce-cart .wc-block-grid__product {
    padding: 8px !important;
    border-radius: 16px;
  }

  .laporia-site.woocommerce-cart .wc-block-grid__product-title {
    min-height: 51px;
    font-size: 11px;
    line-height: 1.5;
  }

  .laporia-site.woocommerce-cart .wc-block-grid__product-price {
    font-size: 13px;
  }

  .laporia-site.woocommerce-cart .wc-block-grid__product .wp-block-button__link {
    width: 100%;
    min-height: 40px;
    padding-inline: 7px;
    font-size: 10px;
  }

  .laporia-site.woocommerce-cart .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 70px minmax(0, 1fr);
    grid-template-areas: "image product";
    gap: 0 10px;
    width: 100% !important;
    min-width: 0;
    padding: 0 0 15px !important;
  }

  .laporia-site.woocommerce-cart .wc-block-cart-item__image {
    grid-area: image;
    width: 70px !important;
    padding: 0 !important;
  }

  .laporia-site.woocommerce-cart .wc-block-cart-item__image img {
    width: 66px;
    height: 76px;
    padding: 4px;
    border: 1px solid var(--lp-line);
    border-radius: 11px;
    object-fit: contain;
    background: #fff;
  }

  .laporia-site.woocommerce-cart .wc-block-cart-item__product {
    grid-area: product;
    width: auto !important;
    min-width: 0;
    padding: 0 !important;
  }

  .laporia-site.woocommerce-cart .wc-block-cart-item__wrap {
    width: 100%;
    min-width: 0;
  }

  .laporia-site.woocommerce-cart .wc-block-components-product-name {
    display: -webkit-box !important;
    margin: 0 0 6px;
    overflow: hidden;
    overflow-wrap: anywhere;
    font-size: 13px;
    font-weight: 780;
    line-height: 1.32;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
  }

  .laporia-site.woocommerce-cart .wc-block-components-product-metadata {
    display: none;
  }

  .laporia-site.woocommerce-cart .wc-block-cart-item__quantity {
    margin-top: 8px;
  }

  .laporia-site.woocommerce-cart .wc-block-cart-item__total {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .laporia-site.single-product .laporia-mobile-buy-bar {
    transition: none;
  }
}
