@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@300;400;500&display=swap');

/* ============================================================
   LOUISE SERRITZLEV THYGESEN — forside
   Farver refereres via Elementor Global Colors (--e-global-color-*).
   Containere styles via .elementor-element-<id>, da Elementor ikke
   renderer container-klasser.
   ============================================================ */

/* ---------- Fælles ---------- */
.lst-label .elementor-heading-title {
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: .75rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--e-global-color-secondary);
  display: block;
}
.lst-label { margin-bottom: .75rem; }
.lst-label-hero .elementor-heading-title { color: rgba(255,255,255,.55); }
.lst-h-white .elementor-heading-title { color: #fff !important; }

.elementor-element-catxhdr,
.elementor-element-proxhdr,
.elementor-element-revxhdr { margin-bottom: 3.5rem; }
.lst-sec-lead {
  color: var(--e-global-color-daempet);
  font-weight: 300;
  max-width: 500px;
  margin-inline: auto;
  margin-top: .75rem;
}

/* ---------- Knapper ---------- */
.lst-btn .elementor-button {
  background: transparent;
  border: 1.5px solid currentColor;
  border-radius: 0;
  padding: .875rem 2.25rem;
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: .8125rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: background .22s ease, color .22s ease;
}
.lst-btn-light .elementor-button { color: #fff; border-color: rgba(255,255,255,.7); }
.lst-btn-light .elementor-button:hover { background: #fff; color: var(--e-global-color-primary); }
.lst-btn-ghost .elementor-button { color: rgba(255,255,255,.75); border-color: rgba(255,255,255,.35); }
.lst-btn-ghost .elementor-button:hover { background: rgba(255,255,255,.12); color: #fff; }
.lst-btn-dark .elementor-button { color: var(--e-global-color-primary); border-color: var(--e-global-color-primary); }
.lst-btn-dark .elementor-button:hover { background: var(--e-global-color-primary); color: var(--e-global-color-accent); }

/* ---------- Hero ---------- */
.elementor-element-secxhero { position: relative; overflow: hidden; }
.lst-hero-h1 .elementor-heading-title { max-width: 700px; }
.lst-hero-h1 { margin-bottom: 1.5rem; }
.lst-hero-lead {
  color: rgba(255,255,255,.82);
  max-width: 480px;
  margin-bottom: 2.25rem;
  font-weight: 300;
}
/*.elementor-element-secxhero::before {
  content: "";
  position: absolute;
  right: 2rem;
  bottom: 5.75rem;
  width: 1px;
  height: 48px;
  background: rgba(255,255,255,.3);
  z-index: 2;
}*/
.elementor-element-secxhero::after {
  content: "Scroll";
  position: absolute;
  right: 1.6rem;
  bottom: 2rem;
  writing-mode: vertical-rl;
  font: 400 .625rem/1 'Jost', sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
  z-index: 2;
}

/* ---------- Om Louise (about-split, delt af forside + Om os) ---------- */
.elementor-element-secxaboutin > .e-con-inner,
.elementor-element-omaboutin > .e-con-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
}
.elementor-element-aboxwrap,
.elementor-element-omawrap { position: relative; z-index: 0; }
.elementor-element-aboxwrap::after,
.elementor-element-omawrap::after {
  content: "";
  position: absolute;
  bottom: -1.5rem;
  left: -1.5rem;
  width: 60%;
  height: 60%;
  border: 2px solid var(--e-global-color-secondary);
  z-index: -1;
  pointer-events: none;
}
.lst-about-img img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  object-position: top center;
  display: block;
  background-color: #D4BFB4;
}
.lst-about-body p { color: var(--e-global-color-text); font-weight: 300; margin-bottom: 1rem; }
.lst-about-body p:last-child { margin-bottom: 0; }
.lst-about-body { margin-bottom: 2rem; }
.lst-signature { margin-bottom: 2rem; }
.lst-signature .elementor-heading-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem;
  font-style: italic;
  color: var(--e-global-color-secondary);
  display: block;
}

/* ---------- Kategorier ---------- */
.elementor-element-catxgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.elementor-element-catxc1,
.elementor-element-catxc2,
.elementor-element-catxc3 {
  position: relative;
  display: block;
  overflow: hidden;
  background-color: #C9B4A8;
}
.elementor-element-catxc1::after,
.elementor-element-catxc2::after,
.elementor-element-catxc3::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(44,36,32,.65) 0%, transparent 55%);
  pointer-events: none;
  z-index: 1;
}
.lst-cat-img img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  display: block;
  transition: transform .45s ease;
  background-color: #C9B4A8;
}
.elementor-element-catxc1:hover .lst-cat-img img,
.elementor-element-catxc2:hover .lst-cat-img img,
.elementor-element-catxc3:hover .lst-cat-img img { transform: scale(1.04); }

.lst-cat-title, .lst-cat-sub {
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 2;
  pointer-events: none;
}
.lst-cat-title { bottom: 3.6rem; }
.lst-cat-sub { bottom: 2rem; }
.lst-cat-title .elementor-heading-title { color: #fff; font-size: 1.75rem; }
.lst-cat-sub .elementor-heading-title {
  font-family: 'Jost', sans-serif;
  font-size: .6875rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
}

/* ---------- Produkter (webup-woo grid) ---------- */
.lst-products .webup-woo-product-card { background: #fff; }
.lst-products .webup-woo-card-img { aspect-ratio: 3/4; object-fit: cover; }
.lst-products .webup-woo-card-title a {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: 1.1875rem;
  color: var(--e-global-color-primary);
  line-height: 1.25;
}
.lst-products .webup-woo-card-usps { list-style: none; margin: .375rem 0 0; padding: 0; }
.lst-products .webup-woo-card-usps li {
  font-size: .75rem;
  color: var(--e-global-color-daempet);
  letter-spacing: .06em;
}
.lst-products .webup-woo-card-price-block { margin-top: auto; padding-top: .625rem; }
.lst-products .webup-woo-add-to-cart {
  border-radius: 0;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .7rem;
}

/* Badges fra mockup'en — produkt-id'er: 69 + 74 = Ny, 72 = Bestseller */
.lst-products .webup-woo-product-card[data-product-id="69"] .webup-woo-card-image::before,
.lst-products .webup-woo-product-card[data-product-id="74"] .webup-woo-card-image::before { content: "Ny"; }
.lst-products .webup-woo-product-card[data-product-id="72"] .webup-woo-card-image::before { content: "Bestseller"; }
.lst-products .webup-woo-product-card[data-product-id="69"] .webup-woo-card-image::before,
.lst-products .webup-woo-product-card[data-product-id="74"] .webup-woo-card-image::before,
.lst-products .webup-woo-product-card[data-product-id="72"] .webup-woo-card-image::before {
  position: absolute;
  top: .75rem;
  left: .75rem;
  z-index: 3;
  background: var(--e-global-color-secondary);
  color: #fff;
  font-family: 'Jost', sans-serif;
  font-size: .6rem;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .25rem .625rem;
  line-height: 1.6;
}

.lst-products .webup-woo-widget-view-all { text-align: center; margin-top: 3rem; }
.lst-products .webup-woo-widget-btn {
  display: inline-block;
  background: transparent;
  border: 1.5px solid var(--e-global-color-primary);
  border-radius: 0;
  color: var(--e-global-color-primary);
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: .8125rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: .875rem 2.25rem;
  transition: background .22s ease, color .22s ease;
}
.lst-products .webup-woo-widget-btn:hover {
  background: var(--e-global-color-primary);
  color: var(--e-global-color-accent);
}

/* ---------- USP-bånd ---------- */
.elementor-element-uspxgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  align-items: start;
}
.lst-usp .elementor-icon,
.lst-usp .elementor-icon svg { color: var(--e-global-color-secondary); fill: var(--e-global-color-secondary); font-size: 44px; }
.lst-usp .elementor-icon svg { width: 44px; height: 44px; }
.lst-usp .elementor-icon-box-title,
.lst-usp .elementor-icon-box-title a { color: #fff; font-size: 1.125rem; margin-bottom: .25rem; }
.lst-usp .elementor-icon-box-description {
  color: rgba(255,255,255,.55);
  font-size: .875rem;
  font-weight: 300;
}

/* ---------- Galleri-stripe ---------- */
.elementor-element-secxgal,
.elementor-element-omgal {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
}
.lst-gal-img { overflow: hidden; background-color: #C9B4A8; }
.lst-gal-img img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.lst-gal-img:hover img { transform: scale(1.06); }

/* ---------- Anmeldelser ---------- */
.elementor-element-revxgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.elementor-element-revxc1,
.elementor-element-revxc2,
.elementor-element-revxc3 { display: flex; flex-direction: column; }
.lst-stars .elementor-heading-title {
  color: var(--e-global-color-secondary);
  font-size: 1rem;
  letter-spacing: .2rem;
}
.lst-review {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.125rem;
  font-style: italic;
  line-height: 1.65;
  color: var(--e-global-color-primary);
  margin: 1.25rem 0;
}
.lst-rev-name { margin-top: auto; }
.lst-rev-name .elementor-heading-title {
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: .875rem;
  color: var(--e-global-color-text);
}
.lst-rev-city .elementor-heading-title {
  font-size: .75rem;
  color: var(--e-global-color-daempet);
}

/* ---------- Footer-links (slår global Elementor-linkfarve) ---------- */
.webup-footer-link-list a,
.webup-footer-contact-item a {
  color: rgba(255,255,255,.55) !important;
}
.webup-footer-link-list a:hover,
.webup-footer-contact-item a:hover {
  color: var(--e-global-color-secondary) !important;
}
.webup-footer-credit a { color: rgba(255,255,255,.4) !important; }
.webup-footer-credit a:hover { color: var(--e-global-color-secondary) !important; }

/* ============================================================
   UNDERSIDER — Om os + Kontakt
   ============================================================ */
/* Kompakt page-hero (centreret) */
.lst-phero-h1 .elementor-heading-title { max-width: 760px; margin-inline: auto; }
.lst-phero-h1 { margin: .75rem 0 1.25rem; }
.lst-phero-lead {
  color: rgba(255,255,255,.82);
  font-weight: 300;
  max-width: 560px;
  margin-inline: auto;
}

/* CTA-bånd */
.lst-cta-h2 .elementor-heading-title { max-width: 640px; margin-inline: auto; }
.lst-cta-h2 { margin: .5rem 0 2rem; }

/* Værdier (Om os) */
.elementor-element-omvgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  align-items: start;
  margin-top: 1rem;
}
.lst-value .elementor-icon,
.lst-value .elementor-icon svg { color: var(--e-global-color-secondary); fill: var(--e-global-color-secondary); }
.lst-value .elementor-icon svg { width: 40px; height: 40px; }
.lst-value .elementor-icon-box-title,
.lst-value .elementor-icon-box-title a { color: var(--e-global-color-primary); font-size: 1.375rem; margin-bottom: .5rem; }
.lst-value .elementor-icon-box-description {
  color: var(--e-global-color-daempet);
  font-size: .9375rem;
  font-weight: 300;
}

/* Kontakt-split */
.elementor-element-kosplitin > .e-con-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
}
.lst-contact-list { margin-top: 1.5rem; }
.lst-contact-list .elementor-icon-list-item { margin-bottom: .5rem; }
.lst-contact-list .elementor-icon-list-icon { color: var(--e-global-color-secondary); }
.lst-contact-list .elementor-icon-list-icon svg { fill: var(--e-global-color-secondary); }
.lst-contact-list .elementor-icon-list-text { color: var(--e-global-color-text); }
.lst-contact-list a { color: var(--e-global-color-text) !important; }
.lst-contact-list a:hover { color: var(--e-global-color-secondary) !important; }

/* Kontaktformular */
.lst-form .elementor-field-group > label {
  font-family: 'Jost', sans-serif;
  font-size: .7rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--e-global-color-daempet);
  margin-bottom: .4rem;
}
.lst-form .elementor-field-textual {
  border: 1.5px solid rgba(44,36,32,.15);
  border-radius: 0;
  background: #fff;
  color: var(--e-global-color-text);
  padding: .75rem .875rem;
  font-family: 'Jost', sans-serif;
  transition: border-color .2s ease;
}
.lst-form .elementor-field-textual:focus { border-color: var(--e-global-color-secondary); outline: none; }
.lst-form .elementor-button {
  background: var(--e-global-color-primary);
  border: 1.5px solid var(--e-global-color-primary);
  border-radius: 0;
  color: var(--e-global-color-accent);
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: .8125rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: .875rem 2.25rem;
  transition: background .22s ease, color .22s ease;
}
.lst-form .elementor-button:hover { background: var(--e-global-color-secondary); border-color: var(--e-global-color-secondary); color: #fff; }

/* ============================================================
   RESPONSIVT
   ============================================================ */
@media (max-width: 1024px) {
  .elementor-element-secxaboutin > .e-con-inner,
  .elementor-element-omaboutin > .e-con-inner { gap: 3rem; }
  .elementor-element-catxgrid { gap: 1rem; }
  .elementor-element-revxgrid { grid-template-columns: repeat(2, 1fr); }
  .elementor-element-kosplitin > .e-con-inner { gap: 3rem; }
}

@media (max-width: 767px) {
  .elementor-element-secxhero::before,
  .elementor-element-secxhero::after { display: none; }

  .elementor-element-secxaboutin > .e-con-inner,
  .elementor-element-omaboutin > .e-con-inner {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .elementor-element-aboxwrap::after,
  .elementor-element-omawrap::after { display: none; }

  .elementor-element-catxgrid { grid-template-columns: 1fr; }
  .lst-cat-img img { aspect-ratio: 16/9; }

  .elementor-element-uspxgrid { grid-template-columns: 1fr; gap: 2rem; }

  .elementor-element-secxgal { grid-template-columns: repeat(3, 1fr); }
  .elementor-element-omgal { grid-template-columns: repeat(3, 1fr); }
  .lst-gal-4, .lst-gal-5 { display: none; }

  .elementor-element-revxgrid { grid-template-columns: 1fr; gap: 1.25rem; }

  .elementor-element-omvgrid { grid-template-columns: 1fr; gap: 2rem; }
  .elementor-element-kosplitin > .e-con-inner { grid-template-columns: 1fr; gap: 2.5rem; }
}
.webup-woo-card-price-block {
  border: none;
}
.webup-header__logo-img {
  max-height: 77px !important;
}