/* LaiksPirkt polish layer (2026-10-30): image fitting, week's pick card, about block,
   footer contrast. Loaded after laikspirkt-ds.css. */

/* ---- Product photos: show the whole photo whatever its orientation ----
   lp-polish.js adds .lp-fit to the photo's link and passes the photo URL in
   --lp-fit-bg; the blurred copy fills the frame behind the contained photo. */
.lp-fit { position: relative; overflow: hidden; isolation: isolate; background: #F3F0E7; }
.lp-fit::before {
  content: ""; position: absolute; inset: -14%; z-index: -1;
  background: var(--lp-fit-bg, none) center / cover no-repeat;
  filter: blur(22px) saturate(1.1); opacity: .45; transform: scale(1.06);
}
.lp-fit > img { object-fit: contain !important; position: relative; }

/* ---- Farm logos: never crop a logo, keep it on white ---- */
.lp-producer img, .op-sup-logo img, img.lp-farm-logo, .lp-producer-line__logo img, img.lp-producer-line__logo {
  object-fit: contain !important; background: #fff; padding: 2px;
}
.lp-producer { max-width: 100%; }
.lp-producer span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.op-sup-logo { background: #fff; }

/* ---- Hero ---- */
.op-hero .op-slide { isolation: isolate; background: #2E4228; }
.op-hero img.op-hero-img { object-position: 72% center; }
@media (max-width: 767.98px) {
  .op-hero .op-slide::after { background: linear-gradient(180deg, rgba(24,30,18,.35) 0%, rgba(24,30,18,.78) 100%); }
  .op-hero img.op-hero-img { object-position: 78% center; }
}

/* ---- Week's pick ---- */
.lp-week-card { border-radius: var(--op-radius, 18px); box-shadow: var(--op-shadow, 0 6px 24px rgba(32,38,26,.08)); background: #fff; }
.lp-week-card__media { min-height: 300px; }
.lp-week-card__media img { position: absolute; inset: 0; }
.lp-week-card__body { padding: 26px 26px 24px; }
.lp-week-card__title { font-size: 1.35rem; line-height: 1.25; font-weight: 700; letter-spacing: -.01em; }
.lp-week-card__desc { color: var(--op-ink-soft, #4A5140); font-size: .92rem; line-height: 1.55; margin-bottom: .75rem;
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.lp-week-card__meta { display: flex; align-items: center; gap: 8px; font-size: .85rem; color: var(--op-forest, #3B5233);
  background: #F3F0E7; border-radius: 999px; padding: 6px 12px; align-self: flex-start; margin-bottom: 0; }
.lp-week-card .lp-badge-stack { position: absolute; top: 12px; left: 12px; z-index: 2; }
@media (max-width: 767.98px) {
  .lp-week-card__media { min-height: 0; aspect-ratio: 5 / 4; }
  .lp-week-card__body { padding: 20px; }
}

/* ---- About / points ---- */
.op-about { background: var(--op-cream, #EFEBDF); border-radius: calc(var(--op-radius, 18px) + 6px); padding: clamp(24px, 4vw, 48px); }
.op-about h2 { font-size: clamp(24px, 2.6vw, 32px); }
.op-about__stats { display: flex; flex-wrap: wrap; gap: 12px; }
.op-about__stats > div { background: #fff; border-radius: 14px; padding: 12px 16px; min-width: 104px; flex: 1 1 0; box-shadow: 0 2px 10px rgba(32,38,26,.05); }
.op-about__stats strong { display: block; font-size: 24px; line-height: 1.1; color: var(--op-forest, #3B5233); font-family: Georgia, 'Times New Roman', serif; }
.op-about__stats span { font-size: 12.5px; color: var(--op-ink-soft, #4A5140); line-height: 1.3; display: block; margin-top: 4px; }
.op-about__card { background: #fff; border-radius: 16px; padding: 22px; height: 100%; box-shadow: 0 2px 12px rgba(32,38,26,.06);
  transition: transform .4s ease, box-shadow .4s ease; }
.op-about__card:hover { transform: translateY(-3px); box-shadow: 0 10px 28px rgba(32,38,26,.10); }
.op-about__card h3 { font-size: 1.05rem; font-weight: 700; margin: 14px 0 6px; color: var(--op-ink, #20261A); }
.op-about__card p { font-size: .9rem; line-height: 1.6; color: var(--op-ink-soft, #4A5140); margin: 0; }
.op-about__icon { width: 44px; height: 44px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--op-forest, #3B5233); color: #F3D9A4; }
.op-about .row-cols-md-2 > .col:last-child:nth-child(odd) { flex: 0 0 100%; max-width: 100%; }

/* ---- Footer: logo on a light plate, readable labels ---- */
.lp-footer-logo { display: inline-block !important; max-width: 196px; background: #FBFAF6; padding: 12px 18px; border-radius: 14px;
  box-shadow: 0 4px 14px rgba(0,0,0,.12); }
.lp-footer-logo svg { display: block; width: 100%; height: auto; }
footer#footer, #footer.bg-brown { color: #F2EFE6; }
footer#footer h3, footer#footer .h6.text-secondary, footer#footer .text-secondary { color: #F3D9A4 !important; opacity: 1 !important; }
footer#footer a { color: #F2EFE6; }
footer#footer a:hover { color: #fff; }
footer#footer .link-primary { color: #F3D9A4 !important; }
footer#footer .opacity-75 { opacity: .9 !important; }
footer#footer .text-muted { color: rgba(242,239,230,.75) !important; }
footer#footer .lp-foot-pref.is-active { color: var(--op-forest-600, #2E4228) !important; }

/* Every hero slide heading, not only the first slide's h1 */
.op-hero h2 { color: #fff; font-size: clamp(32px, 4.6vw, 58px); margin-bottom: 1rem; text-wrap: balance; }

/* ---- Product description tab ---- */
.lp-desc-card, .lp-facts { background: #fff; border-radius: 16px; padding: clamp(20px, 3vw, 32px); box-shadow: 0 2px 12px rgba(32,38,26,.05); height: auto; }
.lp-desc-card__title { font-size: 1.15rem; font-weight: 700; margin-bottom: 1rem; color: var(--op-ink, #20261A); }
.lp-desc { font-size: .98rem; line-height: 1.75; color: var(--op-ink-soft, #4A5140); }
.lp-desc p { margin-bottom: 1rem; }
.lp-desc h2, .lp-desc h3, .lp-desc h4 { font-size: 1rem; font-weight: 700; color: var(--op-forest, #3B5233); margin: 1.4rem 0 .6rem; }
.lp-desc ul { padding-left: 0; list-style: none; margin-bottom: 1rem; }
.lp-desc ul li { position: relative; padding-left: 26px; margin-bottom: .45rem; }
.lp-desc ul li::before { content: ""; position: absolute; left: 4px; top: .62em; width: 10px; height: 10px; border-radius: 50%;
  background: #DDE7D3; box-shadow: inset 0 0 0 3px var(--op-forest, #3B5233); }
.lp-desc > :last-child { margin-bottom: 0; }
.lp-facts ul li { display: flex; gap: 12px; align-items: flex-start; padding: 11px 0; border-bottom: 1px dashed #E3DED0; }
.lp-facts ul li:last-child { border-bottom: 0; padding-bottom: 0; }
.lp-facts__icon { flex: none; width: 34px; height: 34px; border-radius: 10px; background: #EEF3EA; color: var(--op-forest, #3B5233);
  display: inline-flex; align-items: center; justify-content: center; }
.lp-facts__label { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: #7A7F70; }
.lp-facts__value { display: block; font-size: .95rem; font-weight: 600; color: var(--op-ink, #20261A); line-height: 1.4; }

/* ---- Farm covers: square, edge to edge ---- */
a.lp-sup-cover { aspect-ratio: 1 / 1 !important; background: #fff; overflow: hidden; }
a.lp-sup-cover > img { width: 100%; height: 100%; object-fit: cover !important; }
a.lp-sup-cover--contain > img { object-fit: contain !important; padding: 0; }

/* ---- Product gallery: always a square frame (68% of catalogue photos are 1:1);
   other shapes are shown whole over the blurred backdrop (.lp-fit) ---- */
.lp-pgallery { height: auto !important; aspect-ratio: 1 / 1; width: 100%; }
.lp-pgallery .splide__track, .lp-pgallery .splide__list, .lp-pgallery .splide__slide, .lp-pgallery .splide__slide > div { height: 100% !important; }
.lp-pgallery a[data-fancybox] > img { position: absolute !important; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }

/* ---- Seller logo (product page) ---- */
.lp-seller-logo { display: inline-flex; width: 72px; height: 72px; border-radius: 50%; overflow: hidden; background: #fff;
  box-shadow: 0 0 0 1px #E6E1D3; }
.lp-seller-logo img { width: 100%; height: 100%; object-fit: contain !important; padding: 4px; }
.lp-chip-soft { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--op-ink-soft, #4A5140);
  background: #F3F0E7; border-radius: 999px; padding: 4px 11px; }
.lp-seller-rows li { border-bottom: 1px dashed #E3DED0; }
.lp-seller-rows li:last-child { border-bottom: 0; }

/* ---- Reviews ---- */
.lp-rev-summary, .lp-rev-cta, .lp-rev-card { background: #fff; border-radius: 16px; padding: clamp(20px, 3vw, 28px); box-shadow: 0 2px 12px rgba(32,38,26,.05); }
.lp-rev-summary__avg { font-size: 44px; line-height: 1; font-family: Georgia, 'Times New Roman', serif; color: var(--op-forest, #3B5233); }
.lp-rev-summary__star { width: 34px; font-size: 13px; font-weight: 600; white-space: nowrap; }
.lp-rev-summary__count { width: 24px; text-align: right; font-size: 13px; color: #7A7F70; }
.lp-rev-summary__empty-icon { width: 56px; height: 56px; border-radius: 50%; background: #FBF1DC; color: var(--op-honey, #DFA13A);
  display: inline-flex; align-items: center; justify-content: center; }
.lp-rev-cta { background: linear-gradient(135deg, #F3F0E7 0%, #EEF3EA 100%); }
.lp-rev-steps { padding-left: 1.2rem; margin: .5rem 0 1.25rem; color: var(--op-ink, #20261A); font-size: .92rem; }
.lp-rev-steps li { margin-bottom: .3rem; }
.lp-rev-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.lp-rev-filter .form-select { width: auto; min-width: 170px; padding-right: 2.25rem; }

/* Buttons never clip their label, whatever the language */
.btn { white-space: normal; overflow-wrap: break-word; }
.btn.text-nowrap { white-space: nowrap; }

/* ---- Product rating (buy column) and farm rating ---- */
.lp-pr-rating__avg { font-size: 15px; color: var(--op-ink, #20261A); }
.lp-pr-rating a { text-decoration: underline; text-underline-offset: 3px; }
.lp-seller-rating { margin-top: 2px; }

/* ---- Review form ---- */
.lp-star-input { display: inline-flex; flex-direction: row-reverse; gap: 4px; }
.lp-star-input input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lp-star-input label { font-size: 30px; line-height: 1; color: #D9D4C5; cursor: pointer; transition: color .15s, transform .15s; }
.lp-star-input label:hover, .lp-star-input label:hover ~ label,
.lp-star-input input:checked ~ label { color: var(--op-honey, #DFA13A); }
.lp-star-input label:hover { transform: scale(1.12); }
.lp-star-input input:focus-visible + label { outline: 2px solid var(--op-forest, #3B5233); outline-offset: 2px; border-radius: 4px; }
.lp-rev-form .form-control { background: #fff; }
.lp-rev-photo { display: block; width: 76px; height: 76px; border-radius: 10px; overflow: hidden; background: #F3F0E7; }
.lp-rev-photo img { width: 100%; height: 100%; object-fit: cover; }

/* ---- About-the-producer tab: one profile + contacts card ---- */
.lp-farm-profile, .lp-contacts-card { background: #fff; border-radius: 16px; padding: clamp(20px, 3vw, 32px); box-shadow: 0 2px 12px rgba(32,38,26,.05); height: 100%; }
.lp-farm-profile__head { display: flex; gap: 20px; align-items: center; }
.lp-seller-logo--lg { width: 96px; height: 96px; }
.lp-farm-profile__story { margin-top: 22px; padding-top: 20px; border-top: 1px dashed #E3DED0; }
.lp-farm-profile__section { margin-top: 24px; padding-top: 22px; border-top: 1px dashed #E3DED0; }
.lp-farm-profile__title { font-size: 1rem; font-weight: 700; color: var(--op-ink, #20261A); margin-bottom: 14px; }
.lp-cat-chip { display: inline-flex; align-items: center; gap: 8px; padding: 7px 8px 7px 14px; border-radius: 999px; background: #EEF3EA;
  color: var(--op-forest, #3B5233); font-size: 13.5px; font-weight: 600; text-decoration: none; transition: background .2s; }
.lp-cat-chip b { background: #fff; border-radius: 999px; padding: 1px 8px; font-size: 12px; }
.lp-cat-chip:hover { background: #DDE7D3; color: var(--op-forest-600, #2E4228); }
.lp-mini-product { display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: var(--op-ink, #20261A); }
.lp-mini-product__img { display: block; aspect-ratio: 1 / 1; border-radius: 12px; overflow: hidden; background: #F3F0E7; }
.lp-mini-product__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.lp-mini-product:hover .lp-mini-product__img img { transform: scale(1.04); }
.lp-mini-product__name { font-size: 13.5px; font-weight: 600; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lp-mini-product__price { font-size: 14px; font-weight: 700; color: var(--op-forest, #3B5233); }
.lp-contacts-card .sellerNotRegisteredButtons .btn { width: 100%; }
@media (max-width: 575.98px) { .lp-farm-profile__head { flex-direction: column; align-items: flex-start; } }

/* Catalogue mega menu: fixed-width root column, long names wrap (all languages),
   no forced scrollbars; a thin vertical one only if the list is taller than the screen. */
#megaMenu .megaMenuCategoriesWrap{width:300px;max-height:75vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin}
#megaMenuCategories{overflow:visible}
#megaMenuCategories a.lp-sub-menu-toggle{line-height:1.25;padding-right:2rem;min-height:44px}
#megaMenuCategories a.lp-sub-menu-toggle span{white-space:normal;overflow-wrap:anywhere;min-width:0}
#megaMenuCategories a.lp-sub-menu-toggle img{flex:none}

/* Product cards: "Add to cart" adds at once and becomes a − qty + stepper (cart.js). */
.productCard .cardImageOverlay{display:none !important}
.lp-card-qty{height:44px;padding:3px;justify-content:space-between}
.lp-card-qty .lp-qty__btn{width:38px;height:36px;min-height:36px;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.lp-card-qty__val{flex:1;text-align:center;font-weight:700;font-size:1rem}
.showCardImageOverlay.rounded-circle + .lp-card-qty{width:auto;flex:none;height:48px}

/* Cart modal: aligned grid rows instead of a flex row that wrapped and drifted. */
#modalCart .lp-cart-list{max-height:min(62vh,640px);margin-bottom:1rem !important;padding-right:4px;scrollbar-width:thin}
.lp-cart-row{display:grid;grid-template-columns:80px minmax(0,1fr) 128px 96px 28px;align-items:center;column-gap:16px;padding:14px 0;border-bottom:1px solid var(--op-line,#e8e2d6)}
.lp-cart-row__img{display:block;width:80px;aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--op-line,#e8e2d6)}
.lp-cart-row__img img{width:100%;height:100%;object-fit:contain;display:block}
.lp-cart-row__info{display:flex;flex-direction:column;gap:3px;min-width:0}
.lp-cart-row__name{font-weight:600;font-size:.95rem;line-height:1.3;color:var(--op-ink,#1f2a1f);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.lp-cart-row__name:hover{color:var(--op-forest,#2f6b45)}
.lp-cart-row__unit{font-size:.8rem;color:#7a7f75}
.lp-cart-row__stock{font-size:.75rem;font-weight:600;color:var(--lp-accent-ink,#b8521b)}
.lp-cart-row__qty.lp-qty{height:40px;padding:3px;width:128px;justify-content:space-between}
.lp-cart-row__qty .lp-qty__btn{width:34px;height:32px;min-height:32px;font-size:17px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.lp-cart-row__qty .lp-qty__btn:disabled{opacity:.35}
.lp-cart-row__count{flex:1;text-align:center;font-weight:700}
.lp-cart-row__total{text-align:right;font-size:1.05rem;white-space:nowrap}
.lp-cart-row__remove{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:#8a8f86}
.lp-cart-row__remove:hover{color:#c0392b}
@media (max-width:991.98px){
  .lp-cart-row{grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"img info rm" "img qty total";row-gap:10px;column-gap:12px}
  .lp-cart-row__img{grid-area:img;width:64px;align-self:start}
  .lp-cart-row__info{grid-area:info}
  .lp-cart-row__remove{grid-area:rm;align-self:start;justify-self:end}
  .lp-cart-row__qty{grid-area:qty}
  .lp-cart-row__total{grid-area:total;justify-self:end}
}
@media (max-width:767.98px){
  #modalCart .lp-cart-list{max-height:none}
}

/* Header profile modal: account menu instead of a lone Logout button. */
.lp-account-menu{display:flex;flex-direction:column;gap:4px}
.lp-account-menu a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;color:var(--op-ink,#1f2a1f);text-decoration:none;font-weight:600;background:#fff;border:1px solid var(--op-line,#e8e2d6);transition:background-color .2s,color .2s}
.lp-account-menu a:hover{background:var(--op-cream,#f3efe4);color:var(--op-forest,#2f6b45)}
.lp-account-menu svg{flex:none;color:var(--op-forest,#2f6b45)}
#productsFilter #sortCategory{max-width:260px;text-overflow:ellipsis}

/* Pickup options modal */
.lp-pickup-list{display:flex;flex-direction:column;gap:8px;margin:0}
.lp-pickup-list li{padding:12px 14px;border:1px solid var(--op-line,#e8e2d6);border-radius:12px;background:#fff}

/* Category SEO text under the product grid */
.lp-cat-seo{max-width:820px;padding:24px 28px;background:#fff;border:1px solid var(--op-line,#e8e2d6);border-radius:16px;color:#4a5046;line-height:1.65}
.lp-cat-seo p:last-child{margin-bottom:0}

/* Contrast (WCAG AA 4.5:1 on white) for small text flagged by Lighthouse */
.lp-facts__label{color:#5f6557}
.lp-stock--in{color:#3c7a2c}
#reviewsCount.link-secondary,.js-open-reviews.link-secondary{color:#b5501a !important}

/* Narrow phones (≤575px): catalogue toolbar and pagination must not push the page sideways. */
.pagination{flex-wrap:wrap;justify-content:center;row-gap:6px}
@media (max-width:575.98px){
  .lp-toolbar .ms-auto{margin-left:0 !important;width:100%;flex-wrap:wrap;gap:8px 12px !important}
  .lp-toolbar .ms-auto > .d-flex{flex:1 1 auto;min-width:0}
  .lp-toolbar .form-select{max-width:100%;min-width:0}
  .pagination .page-link{padding:.35rem .6rem}
}

/* Recipe page */
.lp-recipe{padding:24px 0 64px}
.lp-recipe .breadcrumb a{color:var(--lp-text-muted,#667067);text-decoration:none}
.lp-recipe__head{max-width:860px;margin:8px 0 28px}
.lp-recipe__eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--lp-accent-ink,#B84F16);margin-bottom:10px}
.lp-recipe__title{font-size:clamp(30px,4.2vw,48px);font-weight:800;line-height:1.08;letter-spacing:-.02em;color:var(--lp-text,#202720);margin:0 0 14px}
.lp-recipe__lead{font-size:clamp(17px,1.4vw,19px);line-height:1.6;color:#4a5046;margin:0 0 18px}
.lp-recipe__meta{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
.lp-recipe__meta li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--lp-primary-soft,#EAF1EC);color:var(--lp-primary,#2F6B45);font-weight:600;font-size:14px}
.lp-recipe__hero{margin:0;border-radius:20px;overflow:hidden;box-shadow:0 2px 4px rgba(32,39,32,.04),0 24px 48px -24px rgba(32,39,32,.35);background:var(--lp-surface-2,#F3F0E9)}
.lp-recipe__hero img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.lp-recipe__ingredients{background:#fff;border:1px solid var(--lp-border,#E8E6DF);border-radius:20px;padding:26px 24px;box-shadow:0 1px 2px rgba(32,39,32,.04),0 8px 20px -12px rgba(32,39,32,.16)}
@media (min-width:992px){.lp-recipe__ingredients{position:sticky;top:96px}}
.lp-recipe__h2{font-size:clamp(22px,2.2vw,28px);font-weight:800;letter-spacing:-.02em;color:var(--lp-text,#202720);margin:0 0 6px}
.lp-recipe__hint{font-size:13px;color:var(--lp-text-muted,#667067);margin:0 0 14px}
.lp-ing{list-style:none;padding:0;margin:0}
.lp-ing li+li{border-top:1px dashed var(--lp-border,#E8E6DF)}
.lp-ing__row{display:flex;align-items:baseline;gap:12px;padding:11px 6px;color:var(--lp-text,#202720);text-decoration:none;border-radius:10px;transition:background .18s}
a.lp-ing__row:hover{background:var(--lp-primary-soft,#EAF1EC);color:var(--lp-primary,#2F6B45)}
.lp-ing__amount{flex:0 0 34%;font-weight:700;color:var(--lp-primary,#2F6B45);font-size:15px}
.lp-ing__name{flex:1 1 auto;font-size:15px;line-height:1.4}
.lp-ing__icon{flex:0 0 auto;align-self:center;color:var(--lp-text-muted,#667067);opacity:.55;transition:opacity .18s,transform .18s}
a.lp-ing__row:hover .lp-ing__icon{opacity:1;color:var(--lp-primary,#2F6B45);transform:scale(1.1)}
.lp-recipe__steps{margin-top:56px}
.lp-recipe__steps .lp-recipe__h2{margin-bottom:22px}
.lp-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.lp-step{background:#fff;border:1px solid var(--lp-border,#E8E6DF);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .32s cubic-bezier(.32,.72,0,1),box-shadow .32s}
.lp-step:hover{transform:translateY(-3px);box-shadow:0 18px 36px -20px rgba(32,39,32,.3)}
.lp-step__media{aspect-ratio:4/3;overflow:hidden;background:var(--lp-surface-2,#F3F0E9)}
.lp-step__media img{width:100%;height:100%;object-fit:cover;display:block}
.lp-step__body{position:relative;padding:30px 20px 22px;font-size:16px;line-height:1.6;color:#3d443d}
.lp-step__num{position:absolute;top:-22px;left:20px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--lp-accent-strong,#D9611F);color:#fff;font-weight:800;font-size:18px;box-shadow:0 0 0 4px #fff}
.lp-step:not(:has(.lp-step__media)) .lp-step__body{padding-top:62px}
.lp-step:not(:has(.lp-step__media)) .lp-step__num{top:18px}
.lp-recipe__products{margin-top:56px}
.lp-recipe__products .lp-recipe__h2{margin-bottom:18px}
.lp-rprod{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--lp-border,#E8E6DF);border-radius:16px;padding:12px;text-decoration:none;color:var(--lp-text,#202720);transition:box-shadow .18s,transform .18s}
.lp-rprod:hover{box-shadow:0 12px 24px -16px rgba(32,39,32,.3);transform:translateY(-2px);color:var(--lp-text,#202720)}
.lp-rprod img{width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:12px;background:#fff;margin-bottom:10px}
.lp-rprod__name{font-weight:600;font-size:15px;line-height:1.35}
.lp-rprod__farm{font-size:13px;color:var(--lp-text-muted,#667067);margin-top:2px}
.lp-rprod__price{margin-top:auto;padding-top:8px;font-weight:800;font-size:17px}

/* Recipe listing cards */
.lp-recipes-grid .card{border-radius:18px;overflow:hidden;transition:transform .32s cubic-bezier(.32,.72,0,1),box-shadow .32s}
.lp-recipes-grid .card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -22px rgba(32,39,32,.35) !important}
.lp-recipes-grid .card img{transition:transform .5s cubic-bezier(.32,.72,0,1)}
.lp-recipes-grid .card:hover img{transform:scale(1.04)}
.lp-recipes-grid .card h3{font-size:17px;font-weight:700;line-height:1.3}

/* Language switcher dropdown: wider than the 40px trigger, right-aligned, centred codes. */
.nice-select.lp-btn-select .nice-select-dropdown {
  left: auto;
  right: 0;
  min-width: 72px;
  margin-top: 6px;
  border: 1px solid rgba(47, 107, 69, .12);
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(31, 41, 33, .14);
  overflow: hidden;
}
.nice-select.lp-btn-select .list { padding: 6px; }
.nice-select.lp-btn-select .option {
  min-height: 0;
  padding: 7px 12px;
  line-height: 1.2;
  text-align: center;
  border-radius: 8px;
}
.nice-select.lp-btn-select .option:hover,
.nice-select.lp-btn-select .option.focus { background: rgba(47, 107, 69, .08); }
.nice-select.lp-btn-select .option.selected { background: rgb(var(--bs-primary-rgb)); color: #fff; font-weight: 700; }

/* Suppliers page: launch offer banner */
.lp-offer { background: linear-gradient(135deg, rgb(var(--bs-primary-rgb)) 0%, #3E8457 100%); color: #fff; }
.lp-offer h2 { color: #fff; }
.lp-offer p { color: rgba(255, 255, 255, .86); }
.lp-offer__eyebrow { display: inline-block; padding: 4px 12px; border-radius: 999px; background: rgb(var(--bs-secondary-rgb)); color: #fff; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.lp-offer__left { display: block; font-size: 1.5rem; font-weight: 700; }
.lp-offer .btn-light { color: rgb(var(--bs-primary-rgb)); font-weight: 700; }
