/* Family Member – pełny arkusz custom.css | wersja 2.1.0 | 27.10.2026
   Jedna scalona wersja: bez dodatkowego fm-layout-fixes.css.
   Zawiera wszystkie oryginalne style motywu 1.2 oraz poprawki stopki i sticky. */
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/icon?family=Material+Icons");
/* FAMILY MEMBER | PrestaShop 9.2 | Mobile-first custom layer
   Dynamic checkout, cart, product and menu operations remain handled by PrestaShop/Hummingbird. */
:root {
  --fm-green: #203b1c;
  --fm-green2: #648165;
  --fm-cream: #f7f4ef;
  --fm-surface: #fff;
  --fm-ink: #151716;
  --fm-muted: #696d69;
  --fm-line: #e7e8e5;
  --fm-radius: 15px;
  --fm-shadow: 0 8px 32px rgba(22,48,24,.045);
  --bs-primary: #203b1c;
  --bs-primary-rgb: 32,59,28;
  --bs-body-font-family: Lato,"Arial",sans-serif;
  --bs-body-color: #151716;
}
*,*::before,*::after {
  box-sizing: border-box;
}
body {
  font-family: Lato,Arial,sans-serif;
  font-size: 15px;
  color: var(--fm-ink);
  background: #fff;
}
.container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl,.columns-container {
  max-width: 1408px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}
@media (min-width:1200px) {
  .container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl,.columns-container {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}
@media (max-width:767px) {
  .container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl,.columns-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}
a {
  color: inherit;
}
a:hover {
  color: var(--fm-green2);
}
h1,h2,h3,h4,h5,.h1,.h2,.h3 {
  font-family: Lato,Arial,sans-serif;
  letter-spacing: -.035em;
  font-weight: 900;
  color: var(--fm-ink);
}
h1 {
  font-size: clamp(36px,4.2vw,66px);
  line-height: 1.05;
}
h2 {
  font-size: clamp(24px,2.35vw,34px);
  line-height: 1.15;
}
h3 {
  font-size: clamp(17px,1.4vw,22px);
  line-height: 1.22;
}
p {
  line-height: 1.55;
}
.btn-primary,.btn-primary:hover,.button-primary,.fm-btn,.product-miniature__add,.add-to-cart,.cart-detailed-actions a.btn {
  background: var(--fm-green) !important;
  color: #fff !important;
  border-color: var(--fm-green) !important;
  border-radius: 9px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}
.btn-primary:hover,.fm-btn:hover,.product-miniature__add:hover {
  background: #34552c !important;
  border-color: #34552c !important;
}
.btn,.form-control,.form-select,input[type=text],input[type=email],input[type=tel],textarea {
  border-radius: 9px;
}
.form-control,.form-select,input[type=text],input[type=email],input[type=tel],textarea {
  border-color: #dee3dc;
  min-height: 43px;
}
input:focus,textarea:focus,.form-control:focus {
  border-color: var(--fm-green2);
  box-shadow: 0 0 0 2px rgba(32,59,28,.1);
}
/* Header */
#header,.header {
  background: #fff;
  box-shadow: 0 1px 0 #eee;
  position: relative;
  z-index: 30;
}
.fm-trustbar {
  background: var(--fm-cream);
  border-bottom: 1px solid #f2eee8;
  font-size: 12px;
}
.fm-trustbar__grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 12px;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
.fm-trustbar span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  white-space: nowrap;
}
.fm-trustbar i {
  font-size: 19px;
  font-style: normal;
  color: var(--fm-green);
}
.fm-header-main__grid {
  min-height: 93px;
  display: grid;
  grid-template-columns: 235px minmax(200px,1fr) auto;
  align-items: center;
  gap: 34px;
}
.fm-brand,.fm-footer-logo {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: -.045em;
  line-height: .91;
  text-decoration: none;
  color: #050705;
}
.fm-brand img {
  max-height: 75px;
  max-width: 205px;
  width: auto;
  height: auto;
  display: block;
}
.fm-brand__paw {
  font-size: 42px;
  color: var(--fm-green);
}
.fm-header-search {
  width: 100%;
  min-width: 0;
}
.fm-header-search #search_widget,.fm-header-search .search-widget,.fm-header-search form {
  width: 100%;
  max-width: none !important;
}
.fm-header-search input[type=text],.fm-header-search input[type=search] {
  background: #fafafa;
  min-height: 51px;
}
.fm-header-actions {
  display: flex;
  align-items: center;
  gap: 23px;
  white-space: nowrap;
}
.fm-header-actions>a {
  display: flex;
  gap: 6px;
  align-items: center;
  text-decoration: none;
  font-size: 13px;
}
.fm-action-icon {
  font-size: 30px;
  font-weight: 400;
  line-height: 1;
}
.fm-header-cart .header-block {
  margin: 0;
}
.fm-header-cart .header-block__badge {
  background: var(--fm-green);
  color: #fff;
}
.fm-nav-bar {
  background: #fff;
  border-top: 1px solid #f5f5f2;
  border-bottom: 1px solid #ecece8;
}
.fm-nav-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 49px;
  gap: 25px;
}
.fm-nav-inner .ps-mainmenu {
  flex: 1 1 auto;
}
.fm-nav-inner .ps-mainmenu__tree {
  justify-content: center;
  gap: clamp(7px,1.5vw,24px);
  margin: 0;
}
.fm-nav-inner a {
  font-weight: 700;
  font-size: 13px;
  text-decoration: none;
}
.fm-nav-inner .ps-mainmenu__tree-link {
  color: #161816;
}
.fm-nav-inner .ps-mainmenu__tree-link:hover {
  color: var(--fm-green2);
}
.fm-nav-inner .submenu {
  z-index: 100;
}
/* Breadcrumb, CMS */
.breadcrumb {
  font-size: 12px;
  margin-top: 16px;
  margin-bottom: 18px;
  color: var(--fm-muted);
}
.fm-crumb {
  font-size: 12px;
  color: var(--fm-muted);
  font-weight: 400;
}
.page-header,.category-header {
  margin-bottom: 25px;
}
.page-content--general {
  padding-top: 12px;
  padding-bottom: 45px;
}
/* Main hero + cards */
.fm-hero {
  position: relative;
  min-height: 445px;
  background: linear-gradient(90deg,#f9f7f3 0%,#f6f3ed 42%,#ece7df 100%);
  overflow: hidden;
}
.fm-hero__photo {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 60%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.fm-hero__photo::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,#f8f6f1 0%,rgba(248,246,241,.82) 11%,rgba(248,246,241,0) 52%);
}
.fm-hero__container {
  min-height: 445px;
  display: flex;
  align-items: center;
  position: relative;
}
.fm-hero__copy {
  max-width: 565px;
  padding: 44px 0;
}
.fm-eyebrow {
  color: var(--fm-green2);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .19em;
  text-transform: uppercase;
}
.fm-hero h1 {
  max-width: 600px;
  margin: 14px 0 20px;
  color: #0d120d;
  font-size: clamp(48px,5.4vw,82px);
}
.fm-hero h1 span,.fm-section-head h2 span,.fm-heading-green {
  color: var(--fm-green2);
}
.fm-hero__lead {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;
  max-width: 395px;
}
.fm-hero__desc {
  color: #3c443e;
  max-width: 465px;
  font-size: 15px;
}
.fm-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}
.fm-btn {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  padding: 14px 23px;
  border: 1px solid var(--fm-green);
  text-decoration: none;
  line-height: 1.2;
  min-height: 47px;
}
.fm-btn--light {
  background: transparent !important;
  border-color: #889388 !important;
  color: var(--fm-green) !important;
}
.fm-btn--light:hover {
  background: #eef1e9 !important;
}
.fm-categories {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 17px;
  margin-top: 20px;
}
.fm-category-tile {
  position: relative;
  min-height: 210px;
  background: #e8e9e3;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 30px 42px;
  text-decoration: none;
}
.fm-category-tile::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(22,43,19,.7),rgba(22,43,19,0) 78%);
  z-index: 1;
}
.fm-category-tile--cat {
  background: #d8cabe;
}
.fm-category-tile--cat::before {
  background: linear-gradient(90deg,rgba(61,49,41,.65),transparent 80%);
}
.fm-category-tile img {
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.fm-category-tile>span {
  position: relative;
  z-index: 2;
  color: #fff;
}
.fm-category-tile strong {
  font-size: 30px;
  font-weight: 900;
  display: block;
}
.fm-category-tile small {
  display: block;
  margin: 6px 0 14px;
}
.fm-category-tile em {
  font-style: normal;
  display: inline-block;
  padding: 10px 22px;
  background: #fff;
  color: var(--fm-green);
  border-radius: 24px;
  font-weight: 700;
}
.fm-section,.fm-products-block {
  margin-top: 44px;
  margin-bottom: 25px;
}
.fm-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}
.fm-section-head h2 {
  margin: 0 0 4px;
}
.fm-section-head p {
  margin: 0;
  color: var(--fm-muted);
  font-size: 14px;
}
.fm-section-head a {
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.fm-needs {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
}
.fm-need-card {
  display: flex;
  min-height: 128px;
  gap: 14px;
  align-items: center;
  border: 1px solid var(--fm-line);
  border-radius: 13px;
  padding: 18px;
  background: #fff;
  text-decoration: none;
  transition: transform .2s,box-shadow .2s;
}
.fm-need-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--fm-shadow);
  color: var(--fm-green);
}
.fm-need-card__icon {
  font-size: 35px;
  color: var(--fm-green2);
  line-height: 1;
}
.fm-need-card strong {
  display: block;
  font-size: 15px;
  font-weight: 900;
}
.fm-need-card small {
  display: block;
  color: var(--fm-muted);
  font-size: 12px;
  line-height: 1.35;
  margin-top: 6px;
}
.fm-need-card__arrow {
  margin-left: auto;
  align-self: end;
  font-size: 20px;
}
.fm-promo-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 32px;
}
.fm-promo {
  border-radius: 15px;
  min-height: 165px;
  background: var(--fm-cream);
  padding: 28px 34px;
  position: relative;
  overflow: hidden;
}
.fm-promo:nth-child(2) {
  background: #f4e7e5;
}
.fm-promo h3 {
  font-size: 24px;
}
.fm-promo p {
  max-width: 380px;
}
.fm-promo .fm-btn {
  padding: 9px 16px;
  min-height: 35px;
  font-size: 12px;
}
/* Product lists - Family Member 2.5.0
   Cala karta <article> odpowiada za ramke, tlo i cien.
   W Hummingbird sam .product-miniature__inner ma cien na hover,
   wiec wylaczamy ten wewnetrzny efekt bez ingerencji w quickview. */
.product-miniature {
  position: relative;
  width: 100%;
  height: 100%;
  border: 1px solid var(--fm-line) !important;
  background-color: #fff !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.025) !important;
  padding: 12px !important;
  overflow: hidden;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.product-miniature:hover,
.product-miniature:focus-within {
  border-color: rgba(32,59,28,.35) !important;
  background-color: #fafcf9 !important;
  box-shadow: 0 10px 28px rgba(32,59,28,.14) !important;
}
.product-miniature .product-miniature__inner,
.product-miniature .product-miniature__inner:hover,
.product-miniature .product-miniature__inner:focus-within {
  border: 0 !important;
  outline: 0;
  background-color: transparent !important;
  box-shadow: none !important;
}
.product-miniature__image {
  object-fit: contain !important;
  max-height: 210px;
}
.product-miniature__title {
  font-weight: 900 !important;
  font-size: 15px !important;
  line-height: 1.2;
}
.product-miniature__bottom {
  padding: 10px 0 0 !important;
}
.product-miniature__price {
  font-size: 16px;
  font-weight: 900;
  color: #151716;
}
.product-miniature__add {
  min-width: 40px;
  min-height: 39px;
}
.products,.products-grid {
  gap: 15px;
}
.product-flags .product-flag {
  border-radius: 20px;
}
/* Product page */
.product__container {
  gap: clamp(28px,3vw,55px) !important;
}
.product__name {
  font-size: clamp(37px,4vw,62px) !important;
  letter-spacing: -.04em;
}
.product__right .product__description-short {
  font-size: 15px;
  line-height: 1.65;
}
.product__prices .current-price,.product__prices .product-price {
  font-size: 29px !important;
  font-weight: 900 !important;
  color: #151716;
}
.product__left img {
  object-fit: contain;
}
.product__cover,.product__image-container {
  border-radius: 16px;
  background: linear-gradient(135deg,#fcfbf9,#f6f4f1);
}
.product__right .btn-primary {
  min-height: 52px;
}
.product__bottom {
  margin-top: 40px;
}
.product__accordion .accordion-button {
  font-weight: 800;
  color: #101110;
}
.product__accordion .accordion-item {
  border-color: var(--fm-line);
}
/* Cart */
.fm-cart-heading {
  margin: 20px 0 24px;
}
.fm-cart-heading h1 {
  font-size: clamp(35px,4vw,52px);
  margin: 18px 0;
}
.fm-cart-heading em {
  font-style: normal;
  color: var(--fm-green);
}
.cart-grid__products-details,.cart-grid__aside-wrapper {
  background: #fff;
  border: 1px solid var(--fm-line);
  border-radius: 16px;
  padding: 20px;
}
.cart-summary {
  background: var(--fm-cream);
  padding: 20px;
  border-radius: 12px;
}
.cart-grid .cart-summary .btn {
  width: 100%;
}
.cart-grid__content,.cart-grid__aside {
  min-width: 0;
}
/* Checkout: preserve PrestaShop validated steps and module payment forms */
.fm-checkout-heading {
  margin-top: 18px;
  margin-bottom: 24px;
}
.fm-checkout-heading h1 {
  font-size: clamp(34px,3.7vw,52px);
  margin: 14px 0 23px;
}
.fm-checkout-heading h1 span {
  color: var(--fm-green);
}
.fm-checkout-progress {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  position: relative;
  margin-bottom: 18px;
  gap: 5px;
}
.fm-checkout-progress:before {
  position: absolute;
  content: "";
  height: 2px;
  top: 14px;
  left: 9%;
  right: 9%;
  background: #dfe3df;
}
.fm-checkout-progress span {
  position: relative;
  text-align: center;
  font-size: 12px;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 7px;
}
.fm-checkout-progress b {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid #cad1c9;
  background: white;
  color: var(--fm-green);
  display: grid;
  place-items: center;
  font-weight: 700;
}
.fm-checkout-progress span:first-child b {
  background: var(--fm-green);
  color: white;
}
.fm-checkout-layout .checkout-grid {
  align-items: start;
}
.fm-checkout-steps .tab-content {
  display: grid;
  gap: 12px;
}
.fm-checkout-steps .step {
  background: #fff;
  border: 1px solid var(--fm-line);
  border-radius: 13px !important;
  margin: 0;
  padding: 18px 20px;
  min-height: 60px;
}
.fm-checkout-steps .step:not(.step--current):not(.step--reachable) {
  opacity: .66;
}
.fm-checkout-steps .step:not(.show) {
  display: block !important;
}
.fm-checkout-steps .step__title {
  font-size: 19px !important;
  font-weight: 900;
}
.fm-checkout-steps .step__title h1,.fm-checkout-steps .step__title p {
  font-size: 20px !important;
  font-weight: 900;
  margin: 0;
}
.fm-checkout-steps .step__title hr {
  display: none;
}
.fm-checkout-steps .step__content {
  margin-top: 16px;
}
.fm-checkout-summary .checkout-grid__aside-wrapper {
  position: sticky;
  top: 20px;
  background: var(--fm-cream);
  padding: 24px;
  border-radius: 14px;
}
.fm-checkout-summary .checkout__summary-accordion {
  background: transparent;
}
.fm-checkout-summary .accordion-button {
  font-size: 22px;
  font-weight: 900;
  padding: 0 0 18px;
  background: none;
}
.fm-checkout-summary .cart-summary {
  padding: 0;
}
.fm-checkout-summary .btn {
  width: 100%;
}
.delivery-option__item,.payment-option {
  border-radius: 9px !important;
}
.payment-options__list {
  display: grid;
  gap: 10px;
}
.checkout-nav,.checkout-navigation {
  max-width: 1408px;
  margin: auto;
}
/* Modules */
.fm-page-banner {
  background: linear-gradient(90deg,#f8f6f2,#eeece6);
  position: relative;
  overflow: hidden;
  min-height: 250px;
}
.fm-page-banner__image {
  position: absolute;
  right: 0;
  inset-block: 0;
  width: 53%;
  background-size: cover;
  background-position: center;
}
.fm-page-banner__image:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,#f8f6f2,transparent 70%);
}
.fm-page-banner>.container {
  position: relative;
  padding-top: 38px !important;
  padding-bottom: 40px !important;
}
.fm-page-banner h1 {
  font-size: clamp(38px,4vw,56px);
  margin: 16px 0 8px;
}
.fm-page-banner p {
  max-width: 540px;
  line-height: 1.55;
}
.fm-page-banner__intro {
  font-size: 19px;
  color: var(--fm-green);
  font-weight: 700;
}
.fm-page {
  padding-top: 35px;
  padding-bottom: 55px;
}
.fm-prose {
  max-width: 850px;
  font-size: 16px;
  line-height: 1.8;
}
.fm-prose h2 {
  margin-top: 28px;
}
.fm-tiles-3 {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}
.fm-info-tile {
  background: #fff;
  border: 1px solid var(--fm-line);
  padding: 25px;
  border-radius: 13px;
}
.fm-info-tile h3 {
  margin: 0 0 8px;
}
.fm-info-tile p {
  color: #626662;
}
.fm-faq {
  display: grid;
  grid-template-columns: 270px minmax(0,1fr);
  gap: 25px;
}
.fm-faq-search {
  display: flex;
  gap: 12px;
  margin-bottom: 24px;
}
.fm-faq-search input {
  flex: 1 1 auto;
  min-width: 0;
}
.fm-faq-cat {
  padding: 12px 14px;
  border: 1px solid var(--fm-line);
  display: block;
  background: #fff;
  cursor: pointer;
  width: 100%;
  text-align: left;
  color: var(--fm-ink);
  border-radius: 8px;
  margin-bottom: 5px;
}
.fm-faq-cat.is-active {
  background: #e9f0e8;
  color: var(--fm-green);
  font-weight: 800;
}
.fm-faq-item {
  border: 1px solid var(--fm-line);
  border-radius: 9px;
  background: #fff;
  margin-bottom: 7px;
}
.fm-faq-item summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  font-weight: 800;
  padding: 17px 19px;
}
.fm-faq-item summary:after {
  content: "⌄";
  color: var(--fm-green);
}
.fm-faq-item[open] summary:after {
  transform: rotate(180deg);
}
.fm-faq-item p {
  padding: 0 19px 16px;
  margin: 0;
  color: #515651;
  white-space: pre-line;
}
.fm-faq-item[hidden] {
  display: none !important;
}
.fm-blog-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 20px;
}
.fm-blog-card {
  border: 1px solid var(--fm-line);
  background: #fff;
  border-radius: 13px;
  overflow: hidden;
}
.fm-blog-card img {
  width: 100%;
  height: 205px;
  object-fit: cover;
  background: #eee;
}
.fm-blog-card__body {
  padding: 16px 18px 20px;
}
.fm-blog-card__cat {
  color: var(--fm-green2);
  font-size: 12px;
  font-weight: 900;
}
.fm-blog-card h3 {
  font-size: 18px;
  margin: 9px 0;
}
.fm-blog-card p {
  color: var(--fm-muted);
  font-size: 14px;
}
.fm-blog-card a {
  text-decoration: none;
}
.fm-blog-card__more {
  font-weight: 900;
  font-size: 13px;
  color: var(--fm-green);
}
.fm-blog-index {
  display: grid;
  grid-template-columns: minmax(0,1fr) 280px;
  gap: 36px;
}
.fm-blog-side {
  background: var(--fm-cream);
  border-radius: 14px;
  padding: 18px;
}
.fm-blog-side a {
  display: block;
  padding: 12px 8px;
  border-bottom: 1px solid #ddd;
  text-decoration: none;
}
.fm-blog-article {
  max-width: 830px;
  margin: auto;
}
.fm-blog-article__cover {
  width: 100%;
  max-height: 430px;
  object-fit: cover;
  border-radius: 15px;
  margin-bottom: 26px;
}
.fm-blog-article h1 {
  font-size: clamp(36px,4vw,52px);
}
/* Newsletter and footer */
.fm-newsletter {
  background: var(--fm-cream);
  margin-top: 36px;
  padding: 18px 0;
}
.fm-newsletter__grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  align-items: center;
  gap: 35px;
}
.fm-newsletter__title {
  display: flex;
  align-items: center;
  gap: 16px;
}
.fm-newsletter__title h2 {
  font-size: 21px;
  margin: 0 0 3px;
}
.fm-newsletter__title p {
  font-size: 13px;
  color: #545954;
  margin: 0;
}
.fm-bigpaw {
  font-size: 31px;
}
.fm-newsletter__form .input-group {
  width: 100%;
}
.fm-newsletter__form form {
  display: flex;
  max-width: 100%;
}
.fm-newsletter__form input {
  min-width: 120px;
  flex: 1;
}
.fm-benefits {
  background: #fff;
  border-bottom: 1px solid var(--fm-line);
  padding: 22px 0;
}
.fm-benefits__grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
}
.fm-benefits__grid>span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: var(--fm-green);
  font-size: 31px;
  border-right: 1px solid var(--fm-line);
}
.fm-benefits__grid>span:last-child {
  border: 0;
}
.fm-benefits small {
  font-size: 12px;
  color: #111;
  line-height: 1.5;
}

/* STOPKA FAMILY MEMBER 1.7.0
   ps_linklist renders nav.fm-footer-managed--products and --company.
   Current footer.tpl inserts hook directly into four-column grid.
   Backward compatibility: an older cached template can still contain
   div.fm-footer-linkblocks; display:contents unwraps it for CSS grid.
   No mutation of DOM, JS, main navigation, or ps_linklist module.
*/
#footer .fm-footer-main .fm-footer-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1.2fr) !important;
  gap: 28px clamp(20px, 2.7vw, 42px) !important;
  align-items: start !important;
}
/* Stary kontener z tpl 1.2-1.4 - znika tylko jako obiekt ukladu.
   Jego dzieci pozostaja widoczne i staja sie elementami siatki. */
#footer .fm-footer-grid > .fm-footer-linkblocks {
  display: contents !important;
}
#footer .fm-footer-grid > .fm-footer-brand {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0;
}
#footer .fm-footer-grid > .fm-footer-customer {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0;
}
#footer .fm-footer-grid .fm-footer-managed--products,
#footer .fm-footer-grid > .fm-footer-products {
  grid-column: 3 !important;
  grid-row: 1 !important;
  min-width: 0;
}
#footer .fm-footer-grid .fm-footer-managed--company,
#footer .fm-footer-grid > .fm-footer-company {
  grid-column: 4 !important;
  grid-row: 1 !important;
  min-width: 0;
}
#footer .fm-footer-grid .fm-footer-managed__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
#footer .fm-footer-grid .fm-footer-managed__list li {
  margin: 0;
  padding: 0;
}
#footer .fm-footer-grid .fm-footer-managed__list a {
  display: block;
  color: #535a53;
  font-size: 14px;
  line-height: 1.45;
  overflow-wrap: anywhere;
  text-decoration: none;
}
#footer .fm-footer-grid .fm-footer-managed__list a:hover {
  color: #203b1c;
  text-decoration: underline;
}
#footer .fm-footer-grid h3 { margin: 0 0 14px; }
@media (max-width: 991px) {
  #footer .fm-footer-main .fm-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  #footer .fm-footer-grid > .fm-footer-brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  #footer .fm-footer-grid > .fm-footer-customer {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
  #footer .fm-footer-grid .fm-footer-managed--products,
  #footer .fm-footer-grid > .fm-footer-products {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  #footer .fm-footer-grid .fm-footer-managed--company,
  #footer .fm-footer-grid > .fm-footer-company {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }
}
@media (max-width: 560px) {
  #footer .fm-footer-main .fm-footer-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 25px !important;
  }
  #footer .fm-footer-grid > .fm-footer-brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  #footer .fm-footer-grid > .fm-footer-customer {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  #footer .fm-footer-grid .fm-footer-managed--products,
  #footer .fm-footer-grid > .fm-footer-products {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }
  #footer .fm-footer-grid .fm-footer-managed--company,
  #footer .fm-footer-grid > .fm-footer-company {
    grid-column: 1 !important;
    grid-row: 4 !important;
  }
}

.fm-footer-main {
  padding: 34px 0 32px;
  background: #fff;
}
.fm-footer-grid h3 {
  font-size: 15px;
  margin: 2px 0 13px;
}
.fm-footer-grid section>a {
  font-size: 14px;
  color: #545954;
  text-decoration: none;
  display: block;
  margin-bottom: 8px;
}
.fm-footer-grid section>a:hover {
  color: var(--fm-green);
}
.fm-footer-grid section p {
  font-size: 13px;
  color: #646964;
  margin-top: 14px;
}
.fm-footer-grid .fm-footer-logo {
  font-size: 19px;
  color: #111;
  display: flex;
  font-weight: 900;
  line-height: .9;
}
.fm-footer-logo strong {
  line-height: .9;
}
.fm-footer-grid .block-contact,.fm-footer-grid .footer-container {
  width: auto;
  max-width: 100%;
}
.fm-footer-bottom {
  border-top: 1px solid var(--fm-line);
  padding: 17px 0;
  background: #fff;
  color: var(--fm-muted);
}
.fm-footer-bottom__grid {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  font-size: 11px;
}
@media (max-width:1180px) {
  .fm-header-main__grid {
    grid-template-columns: 195px minmax(180px,1fr) auto;
    gap: 15px;
  }
  .fm-header-actions {
    gap: 12px;
  }
  .fm-nav-inner {
    gap: 10px;
  }
  .fm-needs {
    grid-template-columns: repeat(4,minmax(0,1fr));
  }
  .fm-need-card {
    padding: 12px;
    gap: 8px;
  }
  .fm-need-card__icon {
    font-size: 29px;
  }
}
@media (max-width:991px) {
  .fm-trustbar span {
    font-size: 10px;
  }
  .fm-header-main__grid {
    grid-template-columns: 160px minmax(130px,1fr) auto;
    min-height: 77px;
  }
  .fm-brand {
    font-size: 19px;
  }
  .fm-header-actions>a span:last-child {
    display: none;
  }
  .fm-header-actions {
    gap: 9px;
  }
  .fm-nav-bar {
    display: block;
  }
  .fm-nav-inner {
    align-items: stretch;
    display: block;
    padding-top: 10px !important;
    padding-bottom: 12px !important;
  }
  .fm-nav-inner .ps-mainmenu__tree {
    flex-wrap: wrap;
  }
  .fm-hero,.fm-hero__container {
    min-height: 395px;
  }
  .fm-needs {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .fm-blog-grid {
    grid-template-columns: repeat(2,1fr);
  }
}
@media (max-width:767px) {
  .fm-trustbar__grid {
    grid-template-columns: 1fr 1fr;
    gap: 5px;
  }
  .fm-trustbar span:nth-child(2),.fm-trustbar span:nth-child(3) {
    display: none;
  }
  .fm-header-main__grid {
    grid-template-columns: minmax(0,1fr) auto;
    gap: 11px;
    min-height: 67px;
  }
  .fm-brand img {
    max-height: 50px;
    max-width: 140px;
  }
  .fm-brand {
    font-size: 17px;
  }
  .fm-header-search {
    grid-column: 1/-1;
    grid-row: 2;
    margin-bottom: 11px;
  }
  .fm-header-actions {
    grid-column: 2;
    grid-row: 1;
  }
  .fm-header-actions>a:nth-child(2) {
    display: none;
  }
  .fm-header-search input[type=text],.fm-header-search input[type=search] {
    min-height: 43px;
  }
  .fm-hero,.fm-hero__container {
    min-height: 440px;
  }
  .fm-hero__photo {
    width: 100%;
    height: 220px;
    top: auto;
    opacity: .85;
  }
  .fm-hero__photo:before {
    background: linear-gradient(180deg,#f8f6f2 0%,rgba(248,246,242,.3) 45%,transparent);
  }
  .fm-hero__container {
    align-items: flex-start;
  }
  .fm-hero__copy {
    padding: 27px 0 180px;
  }
  .fm-hero h1 {
    font-size: 45px;
    margin: 8px 0;
  }
  .fm-hero__lead {
    font-size: 18px;
  }
  .fm-hero__desc {
    font-size: 13px;
    max-width: 350px;
  }
  .fm-hero__buttons {
    margin-top: 14px;
  }
  .fm-btn {
    padding: 12px 14px;
    font-size: 12px;
    min-height: 39px;
  }
  .fm-categories,.fm-promo-row {
    grid-template-columns: 1fr;
  }
  .fm-category-tile {
    min-height: 180px;
    padding: 20px 25px;
  }
  .fm-section-head {
    align-items: start;
  }
  .fm-section-head a {
    white-space: normal;
    max-width: 140px;
    text-align: right;
  }
  .fm-section-head h2 {
    font-size: 25px;
  }
  .fm-needs {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
  }
  .fm-need-card {
    min-height: 115px;
  }
  .fm-need-card__icon {
    font-size: 25px;
  }
  .fm-need-card strong {
    font-size: 13px;
  }
  .fm-need-card small {
    font-size: 11px;
  }
  .fm-benefits__grid {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .fm-benefits__grid>span {
    border: 0;
    justify-content: start;
    font-size: 23px;
  }
  .fm-newsletter__grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .fm-footer-bottom__grid {
    flex-direction: column;
    align-items: start;
    gap: 5px;
  }
  .fm-faq,.fm-blog-index {
    grid-template-columns: 1fr;
  }
  .fm-faq-sidebar {
    display: flex;
    overflow: auto;
    gap: 8px;
  }
  .fm-faq-cat {
    white-space: nowrap;
  }
  .fm-blog-grid {
    grid-template-columns: 1fr;
  }
  .fm-tiles-3 {
    grid-template-columns: 1fr;
  }
  .fm-page-banner__image {
    width: 66%;
    opacity: .35;
  }
  .fm-page-banner>.container {
    padding-top: 23px !important;
  }
  .fm-page-banner h1 {
    font-size: 38px;
  }
  .fm-checkout-progress span {
    font-size: 10px;
  }
  .fm-checkout-heading h1 {
    font-size: 32px;
  }
  .fm-checkout-summary .checkout-grid__aside-wrapper {
    position: static;
  }
  .fm-checkout-steps .step {
    padding: 14px;
  }
}
@media (max-width:390px) {
  .fm-header-actions .fm-action-icon {
    font-size: 23px;
  }
  .fm-brand {
    font-size: 16px;
  }
  .fm-hero h1 {
    font-size: 38px;
  }
  .fm-need-card__icon {
    display: none;
  }
}
/* Family Member contact form */
.fm-contact-banner {
  margin-left: calc(50% - 50vw);
  width: 100vw;
  max-width: none;
  margin-top: -12px;
}
.fm-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(20px,4vw,65px);
  margin: 35px auto 55px;
}
.fm-contact-grid>section:nth-child(2) {
  background: var(--fm-cream);
  border-radius: 15px;
  padding: 28px;
}
.fm-contact-grid .contact-form {
  margin: 0;
  max-width: 100%;
}
.fm-contact-grid form {
  width: 100%;
}
.fm-contact-grid .form-group {
  margin-bottom: 14px;
}
.fm-contact-grid button[type=submit] {
  width: 100%;
  min-height: 44px;
}
.fm-contact-details h2 {
  margin: 0 0 14px;
}
.fm-contact-details p {
  color: var(--fm-muted);
}
.fm-contact-info {
  display: flex;
  align-items: start;
  gap: 16px;
  margin: 21px 0;
}
.fm-contact-info__icon {
  width: 60px;
  height: 60px;
  background: var(--fm-cream);
  color: var(--fm-green);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 27px;
}
.fm-about-home {
  margin-top: 34px;
  display: grid;
  grid-template-columns: .9fr 1fr;
  gap: 35px;
  align-items: center;
}
.fm-about-home img {
  width: 100%;
  height: 310px;
  object-fit: cover;
  border-radius: 16px;
}
.fm-about-home h2 {
  font-size: 38px;
}
.fm-about-home p {
  color: #545954;
  max-width: 600px;
}
.fm-about-home .fm-btn {
  margin-top: 13px;
}
@media (max-width:767px) {
  .fm-contact-grid,.fm-about-home {
    grid-template-columns: 1fr;
  }
  .fm-contact-grid>section:nth-child(2) {
    padding: 20px;
  }
  .fm-about-home h2 {
    font-size: 29px;
  }
  .fm-about-home img {
    height: 230px;
  }
}
.fm-product-trust {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 6px;
  background: var(--fm-cream);
  border-radius: 12px;
  margin: 20px 0;
  padding: 14px 10px;
}
.fm-product-trust span {
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  border-right: 1px solid #e4e7de;
}
.fm-product-trust span:last-child {
  border-right: 0;
}
.fm-product-trust b {
  color: var(--fm-green);
  font-size: 26px;
  font-weight: 400;
}
@media (max-width:480px) {
  .fm-product-trust {
    grid-template-columns: repeat(2,1fr);
  }
  .fm-product-trust span:nth-child(2) {
    border: 0;
  }
}
/* FAMILY MEMBER x PRESTAHERO SIMPLE BLOG 1.1.8
   All rules are scoped to the original Family Member template. No vendor files touched. */
.fm-ets-blog-page {
  color: var(--fm-ink);
  font-family: Lato,Arial,sans-serif;
}
.fm-ets-blog-page .ets_blog_content {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.fm-ets-blog-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 310px;
  background: #f7f4ef;
  margin-bottom: 27px;
}
.fm-ets-blog-hero__photo {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 65%;
  background-position: center 44%;
  background-size: cover;
  z-index: -1;
}
.fm-ets-blog-hero__photo:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,#f7f4ef 0%,rgba(247,244,239,.8) 20%,rgba(247,244,239,0) 75%);
}
.fm-ets-blog-hero__inner {
  min-height: 310px;
  padding-top: 25px !important;
  padding-bottom: 27px !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.fm-ets-crumb {
  font-size: 12px;
  color: #666f66;
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 15px;
  max-width: 100%;
  flex-wrap: wrap;
}
.fm-ets-crumb a {
  text-decoration: none;
  color: inherit;
}
.fm-ets-crumb a:hover {
  color: var(--fm-green);
}
.fm-ets-crumb--inner {
  margin: 18px 0 22px;
}
.fm-ets-crumb__last {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 320px;
}
.fm-ets-blog-hero h1 {
  font-size: clamp(43px,4.6vw,62px);
  color: #101510;
  font-weight: 900;
  line-height: 1.03;
  margin: 0 0 6px;
  letter-spacing: -.045em;
}
.fm-ets-blog-hero__lead {
  color: var(--fm-green);
  font-size: clamp(17px,2vw,21px);
  font-weight: 700;
  line-height: 1.24;
  margin: 0 0 12px;
  max-width: 470px;
}
.fm-ets-blog-hero__text {
  color: #303530;
  font-size: 14px;
  line-height: 1.5;
  max-width: 445px;
  margin: 0;
}
.fm-ets-blog-container {
  padding-bottom: 38px !important;
}
.fm-ets-blog-heading {
  margin-bottom: 18px;
}
.fm-ets-blog-heading h2 {
  margin: 0 0 4px;
  font-size: 31px;
}
.fm-ets-blog-heading em {
  font-style: normal;
  color: var(--fm-green);
}
.fm-ets-blog-heading p {
  color: #747674;
  font-size: 14px;
  margin: 0;
}
.fm-ets-blog-layout {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 305px;
  gap: 28px;
  align-items: start;
}
.fm-ets-blog-main,.fm-ets-blog-aside {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  clear: none !important;
}
.fm-ets-blog-main {
  grid-column: 1;
  grid-row: 1;
}
.fm-ets-blog-aside {
  grid-column: 2;
  grid-row: 1;
}
.fm-ets-blog-page .fm-ets-post-list,.fm-ets-blog-page .ets-blog-wrapper {
  background: transparent;
  max-width: none;
  overflow: visible;
}
.fm-ets-post-grid,.fm-ets-blog-page .ets-blog-list {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px !important;
  list-style: none;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: none !important;
}
.fm-ets-post-grid>li,.fm-ets-blog-page .ets-blog-list>li.fm-ets-post-item {
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  display: block !important;
  clear: none !important;
}
.fm-ets-blog-page .fm-ets-post-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100%;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--fm-line) !important;
  border-radius: 13px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
.fm-ets-blog-page .fm-ets-post-image {
  display: block !important;
  position: relative;
  height: 150px !important;
  width: 100% !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.fm-ets-blog-page .fm-ets-post-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  max-width: none !important;
  max-height: none !important;
  position: static !important;
  transition: transform .35s ease;
}
.fm-ets-post-card:hover .fm-ets-post-image img {
  transform: scale(1.03);
}
.fm-ets-post-badge {
  position: absolute;
  bottom: 0;
  left: 12px;
  padding: 4px 10px;
  background: #dcebd8;
  border-radius: 9px 9px 0 0;
  font-size: 11px;
  font-weight: 700;
  color: var(--fm-green);
  line-height: 1.3;
  max-width: calc(100% - 24px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fm-ets-blog-page .fm-ets-post-body {
  display: flex !important;
  flex-direction: column;
  flex: 1;
  padding: 13px 13px 15px !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: none !important;
}
.fm-ets-post-date {
  display: block;
  color: #747874;
  font-size: 11px;
  line-height: 1.5;
  margin-bottom: 6px;
}
.fm-ets-post-body h2 {
  font-size: 15px !important;
  line-height: 1.32 !important;
  letter-spacing: -.02em;
  margin: 0 0 6px !important;
  font-weight: 900;
}
.fm-ets-blog-page .fm-ets-post-body h2 a {
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  color: #151715 !important;
  text-decoration: none !important;
  padding: 0 !important;
}
.fm-ets-blog-page .fm-ets-post-body h2 a:hover {
  color: var(--fm-green) !important;
}
.fm-ets-blog-page .fm-ets-post-body .blog_description {
  font-size: 13px !important;
  line-height: 1.42;
  color: #6c706c !important;
  margin: 0 0 9px !important;
  max-width: none !important;
  float: none !important;
  display: block !important;
}
.fm-ets-blog-page .fm-ets-post-body .read_more,.fm-ets-home-card .fm-ets-read-more {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  font-size: 13px !important;
  font-weight: 800;
  color: var(--fm-green) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: auto 0 0 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  width: auto !important;
}
.fm-ets-list-heading {
  margin: 0 0 23px;
}
.fm-ets-list-heading h1 {
  font-size: clamp(30px,3vw,41px);
  margin: 0 0 8px;
}
.fm-ets-list-heading p,.fm-ets-category-description {
  color: #656a65;
  font-size: 14px;
}
.fm-ets-blog-page .fm-ets-pagination,.fm-ets-blog-page .blog-paggination {
  margin: 20px auto 0 !important;
  width: 100% !important;
  float: none !important;
  text-align: center;
}
.fm-ets-blog-page .blog-paggination ul {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0;
}
.fm-ets-blog-page .blog-paggination a,.fm-ets-blog-page .blog-paggination span {
  border: 1px solid #ebebeb;
  border-radius: 100px;
  min-width: 32px;
  min-height: 32px;
  display: inline-grid;
  place-items: center;
  text-decoration: none;
  padding: 4px 8px;
}
.fm-ets-blog-page .blog-paggination .active>a,.fm-ets-blog-page .blog-paggination .active span {
  background: var(--fm-green) !important;
  color: #fff !important;
}
/* Native category tree/search/archives from ETS are styled, not replaced. */
.fm-ets-blog-page .ets_blog_sidebar {
  display: flex !important;
  flex-direction: column;
  gap: 17px;
  width: 100% !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
.fm-ets-blog-page .ets_blog_sidebar>.block {
  float: none !important;
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
}
.fm-ets-blog-page .ets_blog_sidebar .ets_block_categories {
  order: 0;
  background: var(--fm-cream) !important;
  border-radius: 14px;
  padding: 16px !important;
}
.fm-ets-blog-page .ets_blog_sidebar .ets_block_latest {
  order: 1;
}
.fm-ets-blog-page .ets_blog_sidebar .ets_block_search {
  order: 2;
  background: #f7f4ef;
  border-radius: 14px;
  padding: 16px;
}
.fm-ets-blog-page .ets_blog_sidebar .ets_block_archive {
  order: 3;
}
.fm-ets-blog-page .ets_blog_sidebar .title_blog,.fm-ets-blog-page .ets_blog_sidebar .title_block {
  font-size: 17px !important;
  font-weight: 900 !important;
  margin: 0 0 11px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #131715 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
}
.fm-ets-blog-page .ets_blog_sidebar .ets_block_categories .content_block {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
}
.fm-ets-blog-page .ets_blog_sidebar .ets_block_categories .tree {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none;
}
.fm-ets-blog-page .ets_blog_sidebar .ets_block_categories li {
  display: block !important;
  border-bottom: 1px solid #e7e7e3;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  width: 100% !important;
  float: none !important;
  position: relative;
}
.fm-ets-blog-page .ets_blog_sidebar .ets_block_categories li:last-child {
  border-bottom: 0;
}
.fm-ets-blog-page .ets_blog_sidebar .ets_block_categories li>a {
  display: block !important;
  padding: 10px 20px 10px 8px !important;
  font-size: 13px !important;
  font-weight: 600;
  color: #344036 !important;
  text-decoration: none !important;
  border: 0 !important;
  background: transparent !important;
  text-transform: none !important;
}
.fm-ets-blog-page .ets_blog_sidebar .ets_block_categories li.active>a {
  color: var(--fm-green) !important;
  font-weight: 900;
  background: #e7eee4 !important;
  border-radius: 7px;
}
.fm-ets-blog-page .ets_blog_sidebar .ets_block_categories li>a:hover {
  color: var(--fm-green) !important;
}
.fm-ets-blog-page .ets_blog_sidebar .ets_block_categories li>a:after {
  content: "›";
  position: absolute;
  right: 8px;
  font-size: 17px;
  color: #435543;
  line-height: 1;
}
.fm-ets-blog-page .ets_blog_sidebar .ets_block_categories ul.children {
  margin: 0 0 3px 8px !important;
  padding-left: 12px !important;
  border-left: 2px solid #e2e8df;
}
.fm-ets-blog-page .ets_blog_sidebar .ets_block_categories .blog_view_all_button {
  margin: 13px 0 0 !important;
  text-align: left;
}
.fm-ets-blog-page .ets_blog_sidebar .ets_block_categories .blog_view_all {
  color: var(--fm-green);
  font-size: 12px;
  text-decoration: underline;
}
.fm-ets-blog-page .ets_block_search form {
  display: flex;
  gap: 5px;
  align-items: center;
}
.fm-ets-blog-page .ets_block_search input.form-control {
  min-width: 0 !important;
  width: 100% !important;
  flex: 1;
}
.fm-ets-blog-page .ets_block_search input.button {
  border: 0 !important;
  border-radius: 7px !important;
  background: var(--fm-green) !important;
  color: #fff !important;
  padding: 11px !important;
  min-width: 70px;
}
.fm-ets-blog-page .ets_block_search .icon_search {
  display: none !important;
}
.fm-ets-sidebar-latest__list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
.fm-ets-sidebar-latest__list li {
  border-bottom: 1px solid #e8eae6;
  padding: 8px 0 !important;
  margin: 0 !important;
  float: none !important;
  width: 100% !important;
}
.fm-ets-sidebar-latest__list li>a {
  display: flex !important;
  align-items: center;
  gap: 12px;
  text-decoration: none !important;
  color: #222 !important;
  font-size: 12px !important;
  line-height: 1.3;
}
.fm-ets-sidebar-latest__list li img {
  width: 68px !important;
  height: 58px !important;
  border-radius: 8px !important;
  object-fit: cover !important;
  flex-shrink: 0;
}
.fm-ets-sidebar-latest__list li strong {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: 12px !important;
  font-weight: 700;
  line-height: 1.3;
}
.fm-ets-sidebar-latest__list li small {
  display: block;
  color: #777;
  font-size: 11px;
  margin-top: 4px;
}
.fm-ets-sidebar-all {
  display: block;
  font-weight: 700;
  color: var(--fm-green);
  font-size: 12px;
  margin-top: 12px;
}
/* Detail page retains vendor comment, rating, reply and related-articles JS. */
.fm-ets-blog-page .ets-blog-wrapper-detail {
  float: none !important;
  max-width: none !important;
  width: 100% !important;
  overflow: visible !important;
  border: 0 !important;
}
.fm-ets-blog-page .ets-blog-wrapper-detail>.ets_blog_img_wrapper {
  float: none !important;
  max-width: none !important;
  width: 100% !important;
  margin: 0 0 25px !important;
}
.fm-ets-blog-page .ets-blog-wrapper-detail .ets_image-single img {
  width: 100% !important;
  max-height: 400px !important;
  object-fit: cover;
  border-radius: 14px;
}
.fm-ets-blog-page .ets-blog-wrapper-detail .ets-blog-wrapper-content {
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: none !important;
}
.fm-ets-blog-page .ets-blog-wrapper-detail h1 {
  font-size: clamp(32px,3.7vw,47px) !important;
  line-height: 1.12;
  margin: 0 0 15px !important;
}
.fm-ets-blog-page .ets-blog-wrapper-detail .blog_description {
  max-width: 100% !important;
  font-size: 16px !important;
  line-height: 1.78;
  color: #343934;
}
.fm-ets-blog-page .ets-blog-wrapper-detail .blog_description h2 {
  margin: 28px 0 12px;
  font-size: 26px !important;
}
.fm-ets-blog-page .ets-blog-wrapper-detail .blog_description h3 {
  margin: 23px 0 10px;
  font-size: 21px !important;
}
.fm-ets-blog-page .ets-blog-wrapper-detail .blog_description img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 10px;
}
.fm-ets-blog-page .ets-blog-wrapper-detail .post-details {
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: #6d736d;
  font-size: 13px;
}
.fm-ets-blog-page .ets-blog-wrapper-detail .ets-blog-wrapper-comment {
  border-top: 1px solid #e3e7e0;
  margin-top: 30px;
  padding-top: 23px;
}
/* Homepage – poradnik w tym samym kontenerze co pozostałe sekcje.
   1408px łącznie = 1360px treści + 24px wewnętrznego odstępu z obu stron.
   Ograniczamy również blok z modułu ets_blog, ponieważ może być wyświetlany
   niezależnie od sekcji .fm-home-ets-blog (zależnie od położenia hooka). */
body.page-index .fm-home-ets-blog {
  width: 100%;
  max-width: 1408px !important;
  box-sizing: border-box;
  margin: 0 auto 31px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}
body.page-index .fm-ets-home-articles {
  display: block;
  width: 100% !important;
  max-width: 1408px !important;
  box-sizing: border-box;
  margin-top: 40px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}
/* Heading within the latest-posts widget – consistent with the homepage. */
body.page-index .fm-ets-home-articles__title {
  color: #151915;
  font-family: Lato, Arial, sans-serif;
  font-size: clamp(25px, 2.2vw, 32px);
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: -.025em;
  text-align: left;
  margin: 0 0 22px;
}
/* When index.tpl also provides a section heading, avoid two headings. */
body.page-index .fm-home-ets-blog:has(.fm-ets-home-articles__title) > .fm-section-head {
  display: none !important;
}
@media (max-width: 767px) {
  body.page-index .fm-ets-home-articles__title {
    font-size: 25px;
    margin-bottom: 16px;
  }
}
/* Gdy blog jest już wewnątrz kontenera, nie powielamy paddingu. */
body.page-index .fm-home-ets-blog .fm-ets-home-articles {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.page-index .fm-ets-home-articles__grid {
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 17px !important;
}
.fm-ets-home-card {
  background: #fff;
  border: 1px solid #e7e8e5;
  border-radius: 12px;
  overflow: hidden;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.fm-ets-home-card__image {
  display: block;
  aspect-ratio: 2.15/1;
  overflow: hidden;
}
.fm-ets-home-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s;
}
.fm-ets-home-card:hover .fm-ets-home-card__image img {
  transform: scale(1.03);
}
.fm-ets-home-card__body {
  padding: 13px 16px 17px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 5px;
}
.fm-ets-home-card h3 {
  font-size: 15px !important;
  line-height: 1.3;
  margin: 0;
  font-weight: 900;
}
.fm-ets-home-card h3 a {
  text-decoration: none;
}
.fm-ets-home-card p {
  color: #656a65;
  font-size: 13px;
  margin: 3px 0 12px;
  line-height: 1.5;
}
@media (max-width:1080px) {
  .fm-ets-blog-layout {
    grid-template-columns: minmax(0,1fr) 270px;
    gap: 20px;
  }
  .fm-ets-post-grid {
    gap: 12px !important;
  }
}
@media (max-width:760px) {
  .fm-ets-blog-layout {
    grid-template-columns: 1fr !important;
    gap: 24px;
  }
  .fm-ets-blog-main {
    grid-column: 1;
    grid-row: 1;
  }
  .fm-ets-blog-aside {
    grid-column: 1;
    grid-row: 2;
  }
  .fm-ets-blog-hero,.fm-ets-blog-hero__inner {
    min-height: 330px;
  }
  .fm-ets-blog-hero__photo {
    width: 85%;
    opacity: .45;
  }
  .fm-ets-blog-hero__photo:before {
    background: linear-gradient(90deg,#f7f4ef 0%,rgba(247,244,239,.58) 65%,transparent 100%);
  }
  .fm-ets-blog-hero__inner {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
  }
  body.page-index .fm-ets-home-articles__grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  .fm-ets-blog-page .ets_blog_sidebar .ets_block_categories {
    margin-top: 0 !important;
  }
}
@media (max-width:510px) {
  .fm-ets-post-grid,.fm-ets-blog-page .ets-blog-list {
    grid-template-columns: 1fr !important;
    gap: 13px !important;
  }
  .fm-ets-blog-page .fm-ets-post-image {
    height: 180px !important;
  }
  body.page-index .fm-ets-home-articles__grid {
    grid-template-columns: 1fr !important;
  }
  .fm-ets-blog-hero__photo {
    width: 100%;
    opacity: .32;
  }
  .fm-ets-blog-hero h1 {
    font-size: 42px;
  }
  .fm-ets-blog-hero__lead {
    font-size: 17px;
  }
  .fm-ets-blog-heading h2 {
    font-size: 26px;
  }
  .fm-ets-blog-page .ets_block_search form {
    flex-wrap: wrap;
  }
}
/* ===============================================================
   FAMILY MEMBER 1.2: NAVIGATION, NEWSLETTER, FOOTER
   Overrides only – native search, menu, newsletter and cart JS preserved.
   =============================================================== */
/* header row: brand | centered search | account, wishlist, cart */

/* HEADER STICKY: aktywny tylko po ustawieniu klasy przez custom.js przy scrollY >= 500. */
#header.fm-is-sticky {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  width: 100% !important;
  z-index: 1090 !important;
  transform: none !important;
  box-shadow: 0 6px 24px rgba(22, 40, 20, .13);
}
#header.fm-is-sticky .fm-trustbar { display: none !important; }
#header .fm-brand {
  display: flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  color: #111;
  transform-origin: left center;
}
.fm-brand a {
  display: inline-flex;
  align-items: center;
  color: inherit;
  text-decoration: none;
  max-width: 100%;
  font-weight: 900;
}
.fm-brand img,
.fm-brand .logo {
  display: block;
  width: auto;
  max-width: 205px;
  max-height: 75px;
  height: auto;
  object-fit: contain;
}
.fm-brand__mark {
  width: 48px;
  height: 48px;
  display: block;
  flex: none;
  color: #111;
}
.fm-brand__wordmark {
  font-weight: 900;
  letter-spacing: -.06em;
  line-height: .88;
}
.fm-header-search {
  width: 100%;
  max-width: 630px;
  justify-self: center;
}
.fm-header-search .ps-searchbar--desktop {
  width: 100% !important;
  max-width: none !important;
  display: flex;
  flex: none;
  align-items: stretch;
}
.fm-header-search .ps-searchbar--desktop .header-block,.fm-header-search #ps_searchbar,.fm-header-search .ps-searchbar__form {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
}
.fm-header-search .ps-searchbar__form {
  position: relative;
}
.fm-header-search .ps-searchbar__input {
  width: 100% !important;
  min-height: 48px;
  border-radius: 9px !important;
  padding-right: 46px !important;
}
.fm-header-search .ps-searchbar__magnifier {
  color: var(--fm-green);
}
.fm-header-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: clamp(12px,1.7vw,25px);
  min-width: 0;
}
.fm-header-actions>a {
  color: #101710;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 700;
}
.fm-header-actions .fm-action-icon {
  font-size: 28px;
  line-height: 1;
}
.fm-header-cart {
  position: relative;
  flex: none;
}
.fm-header-cart #_desktop_ps_shoppingcart,.fm-header-cart .ps-shoppingcart,.fm-header-cart .header-block {
  width: auto;
  position: relative;
}
.fm-header-cart .header-block__action-btn {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px;
  text-decoration: none;
  overflow: visible !important;
  padding: 0 6px !important;
}
.fm-header-cart .header-block__icon {
  font-size: 30px !important;
  line-height: 1.15 !important;
  color: #111;
}
.fm-header-cart .header-block__title {
  display: inline-flex !important;
  white-space: nowrap;
}
.fm-header-cart .header-block__badge {
  position: absolute !important;
  top: -7px !important;
  left: 21px !important;
  right: auto !important;
  min-width: 17px !important;
  width: auto !important;
  height: 17px !important;
  padding: 0 4px !important;
  border: 1px solid #fff;
  border-radius: 999px !important;
  font-size: 10px !important;
  line-height: 15px !important;
  text-align: center;
  z-index: 2;
  transform: none !important;
  background: var(--fm-green) !important;
  color: #fff !important;
}
/* horizontal navigation centered; small anchored dropdowns (no full-viewport mega menu) */
.fm-nav-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(14px,1.5vw,28px);
  min-height: 53px;
}
.fm-nav-inner .ps-mainmenu {
  flex: 0 1 auto !important;
  max-width: 100%;
  min-width: 0;
  width: auto;
}
.fm-nav-inner .ps-mainmenu__desktop {
  position: relative !important;
}
.fm-nav-inner .ps-mainmenu__tree {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(14px,2vw,29px);
  margin: 0;
  padding: 0;
}
.fm-nav-inner .ps-mainmenu__tree-item {
  position: relative !important;
}
.fm-nav-inner .ps-mainmenu__tree-item-wrapper {
  position: relative !important;
}
.fm-nav-inner a {
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
/* Family Member 2.4.0: compact submenu below its parent.
   Keep native ps_mainmenu tab/hover behaviour; change ONLY desktop layout. */
@media (min-width: 1200px) {
  .fm-nav-inner .submenu {
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    top: calc(100% - 1px) !important;
    width: max-content !important;
    min-width: 170px !important;
    max-width: min(500px, calc(100vw - 32px)) !important;
    max-height: min(540px, 75vh);
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 10px !important;
    background: #fff !important;
    border: 1px solid #e7e9e4;
    border-radius: 0 0 14px 14px;
    box-shadow: 0 14px 36px rgba(20, 38, 18, .14);
    z-index: 1100 !important;
  }

  .fm-nav-inner .submenu > .container {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .fm-nav-inner .submenu__row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 0 !important;
    margin: 0 !important;
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
  }

  .fm-nav-inner .submenu__left,
  .fm-nav-inner .submenu__right {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .fm-nav-inner .submenu__left {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
  }

  /* Hide the unused child-content area if the menu entries have no children. */
  .fm-nav-inner .submenu__right:not(:has(a[href])) {
    display: none !important;
  }

  /* Child links, if configured, appear underneath the first level,
     not in a second horizontal column. Native tab switching stays intact. */
  .fm-nav-inner .submenu__right:has(a[href]) {
    display: block !important;
    margin-top: 3px !important;
  }

  .fm-nav-inner .submenu__right-items {
    width: auto !important;
    max-width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 2px !important;
  }

  .fm-nav-inner .submenu__left-item,
  .fm-nav-inner .submenu__right .menu-item {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 10px 12px !important;
    line-height: 1.4;
    white-space: normal !important;
    overflow-wrap: break-word;
    border-radius: 8px;
    text-decoration: none;
  }

  .fm-nav-inner .submenu__left-item:hover,
  .fm-nav-inner .submenu__left-item[aria-selected="true"] {
    color: var(--fm-green);
    background: #f2f5ef;
  }

  .fm-nav-inner .submenu__right ul {
    margin: 0 !important;
    padding: 0 0 0 10px !important;
    list-style: none;
  }
}

/* newsletter: left intro smaller, right subscription uses all available width */
.fm-newsletter {
  padding: 23px 0;
  margin-top: 35px;
}
.fm-newsletter__grid {
  grid-template-columns: minmax(240px,.72fr) minmax(0,1.65fr);
  gap: 30px;
  align-items: center;
}
.fm-newsletter__title {
  min-width: 0;
  gap: 12px;
}
.fm-newsletter__title h2 {
  font-size: 20px;
  line-height: 1.2;
}
.fm-newsletter__form {
  min-width: 0;
  width: 100%;
}
.fm-newsletter__form .fm-subscription {
  display: block;
  width: 100%;
  background: none;
  padding: 0;
  margin: 0;
}
.fm-newsletter__form .fm-subscription__form {
  width: 100%;
  max-width: none !important;
  min-width: 0 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
.fm-subscription__heading {
  font-size: 16px;
  line-height: 1.4;
  text-align: center;
  font-weight: 800;
  letter-spacing: 0;
  margin: 0 0 10px;
  width: 100%;
}
.fm-subscription__fields {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0,3fr) minmax(115px,1fr);
  gap: 0;
  align-items: stretch;
}
.fm-subscription__fields input[type=email] {
  min-width: 0 !important;
  width: 100%;
  height: 46px;
  margin: 0;
  border-radius: 9px 0 0 9px !important;
  padding: 10px 15px;
  flex: none !important;
}
.fm-subscription__submit {
  margin: 0 !important;
  min-height: 46px;
  border-radius: 0 9px 9px 0 !important;
  min-width: 0;
  padding: 9px 8px !important;
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
}
.fm-subscription__submit:disabled {
  opacity: .6;
  cursor: not-allowed !important;
}
.fm-subscription__consent {
  width: 100%;
  font-size: 12px;
  line-height: 1.5;
  margin: 10px 0 0;
  color: #515751;
}
.fm-subscription__consent .gdpr-consent,.fm-subscription__consent .form-check {
  width: 100%;
  max-width: none;
  margin: 0;
  display: block;
}
.fm-subscription__consent input[type=checkbox] {
  appearance: auto;
  accent-color: var(--fm-green);
  width: 16px;
  height: 16px;
  vertical-align: middle;
  flex: none;
  margin-right: 6px;
}
.fm-subscription__fallback-consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
}
.fm-subscription__optout {
  display: block;
  width: 100%;
  max-width: none;
  line-height: 1.5;
  margin: 7px 0 0;
}
.fm-subscription__conditions {
  width: 100%;
  font-size: 11px;
  line-height: 1.4;
  margin-top: 4px;
  color: #666;
}
.fm-subscription__conditions p {
  margin: 0;
}
/* footer: 4 explicit columns, two managed by PrestaShop Link list */
.fm-footer-main {
  padding: 38px 0 36px;
}
.fm-footer-grid>section,.fm-footer-grid>nav,.fm-footer-managed {
  min-width: 0;
}
.fm-footer-grid h3 {
  font-size: 16px;
  margin: 0 0 17px;
  letter-spacing: -.025em;
}
.fm-footer-brand p {
  line-height: 1.5;
  margin: 12px 0 15px;
}
.fm-footer-contact__info {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.fm-footer-contact__info a,.fm-footer-customer a,.fm-footer-managed__list a {
  font-size: 14px;
  line-height: 1.4;
  display: block;
  text-decoration: none;
  color: #535a53;
  overflow-wrap: anywhere;
}
.fm-footer-contact__info a:hover,.fm-footer-customer a:hover,.fm-footer-managed__list a:hover {
  color: var(--fm-green);
  text-decoration: underline;
}
.fm-footer-contact__info address {
  font-size: 13px;
  line-height: 1.55;
  color: #5b635b;
  margin: 0;
  overflow-wrap: anywhere;
}
.fm-footer-contact__info address p {
  margin: 0;
}
.fm-footer-customer {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.fm-footer-customer h3 {
  margin-bottom: 9px;
}
.fm-footer-managed__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.fm-footer-bottom {
  padding: 16px 0;
}
@media (max-width:1250px) {
  .fm-header-main__grid {
    grid-template-columns: minmax(160px,195px) minmax(0,1fr) auto;
    gap: 18px;
  }
  .fm-header-search {
    max-width: none;
  }
  .fm-header-actions {
    gap: 12px;
  }
  .fm-nav-inner .ps-mainmenu__tree {
    gap: 13px;
  }
}
@media (max-width:1199px) {
  #fm-main-nav .ps-mainmenu__mobile-toggle {
    display: flex !important;
    justify-content: center;
    align-items: center;
    min-height: 45px;
  }
  #fm-main-nav .ps-mainmenu__mobile-toggle .menu-toggle {
    color: var(--fm-green);
    border: 0;
    background: transparent;
  }
  .fm-nav-bar {
    display: block !important;
  }
  .fm-header-main__grid {
    grid-template-columns: minmax(165px,195px) minmax(0,1fr) auto;
  }
  .fm-nav-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px 24px !important;
  }
  .fm-nav-inner .ps-mainmenu {
    flex: none !important;
  }
}
@media (max-width:991px) {
  .fm-header-main__grid {
    grid-template-columns: minmax(135px,175px) minmax(0,1fr) auto;
    gap: 10px;
  }
  .fm-header-actions>a span:last-child {
    display: none;
  }
  .fm-header-actions .fm-action-icon {
    font-size: 25px;
  }
  .fm-newsletter__grid {
    grid-template-columns: minmax(180px,.75fr) minmax(0,1.4fr);
    gap: 18px;
  }
}
@media (max-width:767px) {
  .fm-header-cart .header-block__title {
    display: none !important;
  }
  .fm-header-main__grid {
    grid-template-columns: minmax(0,1fr) auto;
    gap: 10px;
  }
  .fm-brand img,
  .fm-brand .logo {
    max-width: 140px;
    max-height: 50px;
  }
  .fm-brand {
    font-size: 18px !important;
  }
  .fm-header-actions>a:nth-child(2) {
    display: none;
  }
  .fm-header-search {
    grid-row: 2;
    grid-column: 1/-1;
    max-width: none;
    margin-bottom: 9px;
  }
  .fm-nav-inner {
    display: block;
  }
  .fm-newsletter__grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .fm-subscription__heading {
    text-align: left;
  }
}
@media (max-width:480px) {
  .fm-trustbar__grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .fm-subscription__fields {
    grid-template-columns: minmax(0,3fr) minmax(102px,1fr);
  }
  .fm-subscription__heading {
    font-size: 15px;
  }
  .fm-subscription__submit {
    font-size: 12px;
  }
}


/* =======================================================================
   FAMILY MEMBER / SIMPLE BLOG 2.0 - complete blog implementation
   Keeps vendor stylesheet isolated to blog; no menu, checkout or footer JS changes.
   ======================================================================= */
.fm-ets-blog-v2{--fm-blog-green:#203b1c;--fm-blog-leaf:#648165;--fm-blog-cream:#f7f4ef;--fm-blog-line:#e8ebe5;font-family:Lato,Arial,sans-serif;color:#161916}
.fm-ets-blog-v2 .fm-ets-blog-container{max-width:1408px!important;padding:24px 24px 64px!important}
.fm-ets-blog-v2 .ets_blog_content{display:block;width:100%!important;float:none!important;clear:both!important;max-width:none!important}
.fm-ets-blog-v2 .fm-ets-blog-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 300px!important;gap:28px;align-items:start;width:100%!important}
.fm-ets-blog-v2 .fm-ets-blog-layout--detail{display:block!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important}
.fm-ets-blog-v2 .fm-ets-blog-layout--detail .fm-ets-blog-main{display:block!important;width:100%!important;max-width:100%!important;grid-column:1/-1;float:none!important}
.fm-ets-blog-v2 .fm-ets-blog-layout--detail .fm-ets-blog-aside{display:none!important}
.fm-ets-blog-v2 .fm-ets-blog-layout .fm-ets-blog-main,.fm-ets-blog-v2 .fm-ets-blog-layout .fm-ets-blog-aside{min-width:0!important;min-height:0;float:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.fm-ets-blog-v2 .fm-ets-post-grid{list-style:none!important;padding:0!important;margin:0!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;width:100%!important;max-width:100%!important}
.fm-ets-blog-v2 .fm-ets-post-grid>li{display:block!important;float:none!important;clear:none!important;max-width:none!important;min-width:0!important;width:100%!important;flex:none!important;margin:0!important;padding:0!important}
.fm-ets-blog-v2 .fm-ets-post-card{border:1px solid var(--fm-blog-line)!important;background:#fff!important;border-radius:15px!important;box-shadow:0 3px 20px rgba(26,48,25,.03)!important;overflow:hidden!important;display:flex!important;flex-direction:column;min-height:100%;transition:box-shadow .25s,transform .25s}
.fm-ets-blog-v2 .fm-ets-post-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(26,48,25,.09)!important}
.fm-ets-blog-v2 .fm-ets-post-image{height:auto!important;aspect-ratio:1.75/1;display:block!important;position:relative!important;overflow:hidden!important;background:var(--fm-blog-cream)!important;width:100%!important}
.fm-ets-blog-v2 .fm-ets-post-image img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;position:absolute!important;inset:0!important;max-width:none!important;max-height:none!important}
.fm-ets-blog-v2 .fm-ets-post-badge{position:absolute;bottom:0;left:15px;z-index:2;font-size:12px;line-height:1.2;background:#d8ead8;color:#203b1c;border-radius:9px 9px 0 0;padding:6px 11px;font-weight:700}
.fm-ets-blog-v2 .fm-ets-post-body{width:100%!important;padding:17px 19px 19px!important;display:flex!important;flex-direction:column;gap:8px;flex:1}
.fm-ets-blog-v2 .fm-ets-post-date{color:#7a8078!important;font-size:12px}
.fm-ets-blog-v2 .fm-ets-post-body h2{font-size:19px!important;line-height:1.28!important;font-weight:900!important;letter-spacing:-.025em;margin:0!important}
.fm-ets-blog-v2 .fm-ets-post-body h2 a{text-decoration:none!important;color:#171b16!important}
.fm-ets-blog-v2 .fm-ets-post-body h2 a:hover{color:#203b1c!important}
.fm-ets-blog-v2 .fm-ets-post-body .blog_description{font-size:14px!important;color:#656b65!important;line-height:1.52!important;margin:0 0 10px!important;display:block!important}
.fm-ets-blog-v2 .fm-ets-read-more,.fm-ets-home-articles .fm-ets-read-more{font-size:14px!important;font-weight:800!important;line-height:1.2!important;color:#203b1c!important;text-underline-offset:3px;text-decoration:underline!important;margin-top:auto}
.fm-ets-blog-v2 .ets_blog_sidebar .block{border:1px solid #e8ebe5!important;border-radius:14px!important;background:#fff!important;padding:18px!important;box-shadow:none!important}
.fm-ets-blog-v2 .ets_blog_sidebar .ets_block_categories{background:#f7f4ef!important}
.fm-ets-blog-v2 .ets_blog_sidebar .title_blog{color:#151915!important;text-transform:none!important;font-family:Lato,Arial,sans-serif;font-size:17px!important;line-height:1.25;font-weight:900!important;letter-spacing:-.025em}
.fm-ets-blog-v2 .ets_blog_sidebar .ets_block_latest ul{padding:0!important;margin:0!important}
.fm-ets-blog-v2 .fm-ets-sidebar-latest__list img{width:70px!important;height:65px!important;object-fit:cover;border-radius:8px}
.fm-ets-blog-v2 .ets_block_search input[type=submit]{background:#203b1c!important;color:white!important;border-radius:8px!important}
.fm-ets-blog-v2 .blog-paggination a:hover{background:#eaf2e8!important;border-color:#9bad95!important}
/* Full width article: no sidebar, no comments, readable editorial typography */
.fm-ets-blog-v2 .fm-ets-article{display:block!important;width:100%!important;max-width:none!important;margin:0 auto!important;float:none!important;background:#fff}
.fm-ets-article__header{margin:10px 0 28px;text-align:left}
.fm-ets-article__header h1{font-size:clamp(34px,4.2vw,59px)!important;font-weight:900!important;letter-spacing:-.04em!important;line-height:1.1!important;max-width:1050px!important;margin:8px 0 17px!important;color:#171b16!important}
.fm-ets-article__cats a{display:inline-block;padding:7px 12px;border-radius:999px;background:#dcebdd;color:#203b1c;text-decoration:none;font-size:12px;font-weight:700}
.fm-ets-article__meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:#717771;font-size:13px}.fm-ets-article__meta strong{font-weight:700;color:#203b1c}
.fm-ets-article__intro{max-width:1030px;font-size:19px!important;line-height:1.6;color:#4b554a;margin-top:22px}
.fm-ets-article__cover{margin:24px 0 34px!important;padding:0!important;background:#f7f4ef;border-radius:18px;overflow:hidden;max-height:600px}
.fm-ets-article__cover img{width:100%;max-height:600px;object-fit:cover;display:block}
.fm-ets-article__body{max-width:100%;font-size:17px;line-height:1.8;color:#303830;overflow-wrap:anywhere}
.fm-ets-article__body p,.fm-ets-article__body ul,.fm-ets-article__body ol{margin:0 0 21px}
.fm-ets-article__body h2{font-size:clamp(25px,2.4vw,34px);margin:38px 0 16px!important;line-height:1.25}
.fm-ets-article__body h3{font-size:clamp(21px,1.8vw,27px);margin:30px 0 13px!important}
.fm-ets-article__body img{max-width:100%!important;height:auto!important;border-radius:12px}
.fm-ets-article__body a{color:#203b1c;text-decoration:underline;text-underline-offset:3px}
.fm-ets-article__tags{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.fm-ets-article__tags span{border-radius:20px;background:#f1f3ed;padding:6px 12px;font-size:12px}
.fm-ets-article__footer{margin:38px 0;border-top:1px solid #e5e8e1;padding-top:25px}
.fm-ets-all-link{display:inline-flex;align-items:center;padding:13px 19px;background:#203b1c;color:#fff!important;text-decoration:none!important;font-size:14px;font-weight:700;border-radius:9px}
.fm-ets-related{margin:45px 0 5px}.fm-ets-related__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.fm-ets-blog-page .ets-blog-wrapper-comment,.fm-ets-blog-page .ets_comment_form_blog,.fm-ets-blog-page .ets_blog-comments-list{display:none!important}
.fm-ets-home-articles__actions{text-align:center;margin-top:24px}.fm-ets-home-articles__actions .fm-btn{border-radius:9px;padding:13px 24px}
.fm-home-ets-blog .fm-ets-home-card{border:1px solid #e7e8e5!important;border-radius:14px!important;overflow:hidden!important}
.fm-home-ets-blog .fm-ets-home-card__image{aspect-ratio:1.85/1}
.fm-home-ets-blog .fm-ets-home-card h3{font-size:18px!important}
@media(max-width:1050px){.fm-ets-blog-v2 .fm-ets-blog-layout{grid-template-columns:minmax(0,1fr) 270px!important;gap:18px}.fm-ets-blog-v2 .fm-ets-post-grid{gap:13px!important}}
@media(max-width:790px){.fm-ets-blog-v2 .fm-ets-blog-layout{display:flex!important;flex-direction:column!important}.fm-ets-blog-v2 .fm-ets-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.fm-ets-blog-v2 .fm-ets-blog-aside{width:100%!important}.fm-ets-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-ets-article__body{font-size:16px}}
@media(max-width:520px){.fm-ets-blog-v2 .fm-ets-post-grid{grid-template-columns:1fr!important}.fm-ets-related__grid{grid-template-columns:1fr}.fm-ets-article__cover img{max-height:340px}.fm-ets-blog-v2 .fm-ets-blog-container{padding-left:16px!important;padding-right:16px!important}.fm-ets-blog-v2 .fm-ets-post-body h2{font-size:18px!important}}
.breadcrumb{
	margin:0;
}
.breadcrumb__wrapper{
	margin:0;
}
.fm-subscription__consent input[type=checkbox]{
	min-width: auto;
}
#footer .fm-newsletter .container.fm-newsletter__grid{
	max-width:1100px;
}
.product-miniature__quickview-button{
	padding: 3px 8px;
    max-width: max-content;
    margin: 0 auto;
}