/* ───────────────────────────────
   LANDSCAPE PRODUCT CARD
─────────────────────────────── */

.product-landscape {
    background: #fff;
    border-radius: 6px;
    padding: 18px;
    transition: 0.3s ease;
    align-items: flex-start;
    gap: 25px;

    display: flex;

    /* Alap animáció */
    opacity: 0;
    transform: translateY(20px);

    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.landscape-certicons{
  display: flex;
  gap: 6px;
  justify-content: center;
  align-items: center;
  margin: 4px 0 6px 0;
  flex-wrap: wrap;
}

.landscape-certicons img{
  height: 22px;
  width: auto;
  object-fit: contain;
}


/* Hover */
.product-landscape:hover {
    background: #fff;
    box-shadow: 0 6px 16px rgba(3,71,136,.12);
    transform: translateY(-3px);
}
/* alapból rejtve */
.product-landscape .wishlist-icon {
    opacity: 0;
    transition: opacity .25s ease;
}

/* hover esetén mutat */
.product-landscape:hover .wishlist-icon {
    opacity: 1;
}

/* ha a termék benne van a wishlistben → mindig látszik */
.product-landscape .wishlist-icon.active {
    opacity: 1 !important;
}


/* BAL OLDAL – 65% */
.landscape-left {
    flex: 0 0 65%;
    min-width: 0;

    display: flex;
    flex-direction: column;
}

.landscape-title {
    font-size: 1.2rem;
    color: #034788;
	margin-top:10px;
}

.landscape-desc {
    font-size: .95rem;
    line-height: 1.5;
    text-align: justify;
    color: #555;
}

.landscape-img-link{
  text-decoration: none;
  color: inherit;
}

/* TULAJDONSÁG DOBOZ */

.landscape-tulaj {
    margin-top: auto;   /* ➜ ez tolja le teljesen az aljára */
}

.landscape-tulaj .row > div {
    background: #f9fbff;
    border-radius: 6px;
    padding: 8px 6px;
    border: 1px solid #e3eef8;
}

.landscape-tulaj .fw-semibold {
    font-size: .9rem;
}

/* MARADÉK TÁBLÁZAT */
.landscape-tulaj .table-container {
    max-height: 200px;
    overflow-y: auto;
    border-radius: 6px;
}

/* JOBB OLDAL – szélesebb (35%) */
.landscape-right {
    flex: 1 1 320px;     /* legyen min. 320px és nőhet */
    max-width: 380px;    /* de max 380px - szabadon állítható */
    display: flex;
    flex-direction: column;
    align-items: center;
}


/* Gyártó logó — gomb alatt */
.manufacturer-landscape-logo {
    text-align: center;
    margin-top: 10px;
}

.manuf-logo-img {
    max-width: 130px;
    max-height: 45px;
    object-fit: contain;
}

/* KÉP DOBOZ – nagyobb */
.landscape-img-box {
    width: 100%;
    padding: 10px;
    background: #fff;
    border-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;

    /* 💡 csak szélesség limit, magasság ne legyen limitálva */
    max-width: 340px;
    height: auto;
}

.landscape-img {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
}

img.lazy {
  filter: blur(6px);
  transition: filter .4s ease-out;
}

img:not(.lazy) {
  filter: blur(0);
}




/* GOMB */
.btn-outline-delta {
    border: 1px solid #2B2D42;
    color: #2B2D42;
    font-weight: 600;
}

.btn-outline-delta:hover {
    background: #034788;
    color: #fff!important;
}


.tulaj-collapsible{
  max-height: 170px;           /* default, JS felülírhatja data-collapsed alapján */
  overflow: hidden;
  position: relative;
}

/* finom “fade” az alján, hogy látszódjon, hogy van még */
.tulaj-collapsible::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:46px;
  pointer-events:none;
  background: linear-gradient(to bottom, rgba(255,255,255,0), var(--bs-body-bg, #fff));
}

.tulaj-collapsible.is-expanded{
  max-height: none !important;
}

.tulaj-collapsible.is-expanded::after{
  display:none;
}

.landscape-filterprops{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.landscape-filterprops .prop-pill{
  background:#f9fbff;
  border:1px solid #e3eef8;
  border-radius:999px;
  padding:4px 10px;
  font-size:.85rem;
  line-height:1.2;
}

.landscape-filterprops .prop-k{
  font-weight:600;
  color:#034788;
}

.landscape-filterprops .prop-v{
  color:#555;
}

/* MOBIL */
/* MOBIL – EGYSÉGES */
@media (max-width: 768px) {

  .product-landscape{
    flex-direction: column;
    align-items: stretch;     /* fontos: ne “csak” középre, hanem töltse ki */
    padding: 14px;
    gap: 14px;
    text-align: left;
  }

  /* JOBB OLDAL FENT */
  .landscape-right{
    order: 1;
    flex: 0 0 auto !important;     /* legfontosabb: felülírja a 320px basis-t */
    width: 100% !important;
    max-width: 100% !important;
    align-items: center;
    text-align: center;
  }

  /* BAL OLDAL LENT */
  .landscape-left{
    order: 2;
    flex: 0 0 auto !important;
    width: 100% !important;
    padding-right: 0 !important;   /* HTML pe-4 ellensúlyozása */
  }

  /* Mobilon ne tolja le “auto”-val */
  .landscape-tulaj{
    margin-top: 12px;              /* margin-top:auto helyett */
  }

  .manufacturer-landscape-logo{
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 0 0 8px 0;
  }

  .landscape-img-box{
    max-width: 100% !important;
    width: 100%;
    padding: 6px;
  }

  .landscape-img{
    width: 100%;
    max-height: 220px;
    height: auto;
    object-fit: contain;
  }

  .landscape-btn{
    width: 100%;
    max-width: 360px; /* opcionális */
    margin: 6px auto 0;
  }

  /* Mobilon nincs hover -> legyen látható a wishlist */
  .product-landscape .wishlist-icon{
    opacity: 1;
  }

  /* Ha akarod: desc mobilon maradhat rejtve */
  .landscape-desc{
    display: none;
  }
}


/* ===========================
   COMPACT VIEW
   - fix kártyamagasság
   - gomb legalul
   - 2 soros cím
   - compact property pill-ek
   - desktop + mobil együtt
   =========================== */

body.view-compact .product-landscape{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  padding: 12px;
  min-height: 470px;
  height: auto;
  overflow: visible;
}

/* Bal oldal */
body.view-compact .landscape-left{
  order: 1;
  flex: 0 0 auto !important;
  width: 100% !important;
  padding-right: 0 !important;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* Cím max 2 sor */
body.view-compact .landscape-title{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  line-height: 1.25;
  max-height: calc(1.25em * 2);
  margin-bottom: 6px;
}

/* Rövid leírás compactban rejtve */
body.view-compact .landscape-desc{
  display: none !important;
  margin-bottom: 0;
}

/* Detailed tulaj blokk compactban rejtve */
body.view-compact .landscape-tulaj,
body.view-compact .tulaj-toggle{
  display: none !important;
}

/* Jobb oldal */
body.view-compact .landscape-right{
  order: 2;
  flex: 1 1 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0;
  min-height: 0;
  height: 100%;

  display: grid;
  grid-template-rows: 190px minmax(0, 1fr) auto;
  justify-items: center;
  align-items: start;
  row-gap: 6px;
}

/* Gyártó logó */
body.view-compact .manufacturer-landscape-logo{
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 0 0 8px 0 !important;
}

body.view-compact .manuf-logo-img{
  max-width: 120px;
  max-height: 38px;
  object-fit: contain;
}

/* Képdoboz */
body.view-compact .landscape-img-box{
  width: 100%;
  max-width: 100% !important;
  padding: 4px;
  height: 190px;
  min-height: 190px;
  max-height: 190px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
}

body.view-compact .landscape-img{
  width: 100%;
  height: auto;
  max-height: 165px;
  object-fit: contain;
}

/* Property pill doboz */
body.view-compact .landscape-midbox{
  width: 100%;
  max-width: 320px;
  margin: 2px auto 0;
  border-radius: 10px;
  background: #f9fbff;
  border: 1px solid #e3eef8;
  padding: 6px;
  min-height: 0;
  max-height: none;
  overflow: visible;
}

body.view-compact .landscape-midbox:empty{
  display: none !important;
}

body.view-compact .compact-props-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  width: 100%;
}

body.view-compact .compact-prop{
  width: 100%;
  min-width: 0;
  max-width: none;

  padding: 4px 6px;
  border-radius: 6px;

  background: #fff;
  border: 1px solid rgba(3,71,136,.10);

  text-align: center;
  line-height: 1.1;
}

body.view-compact .compact-prop-k{
  display: block;
  font-size: .68rem;
  font-weight: 600;
  color: #034788;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.view-compact .compact-prop-v{
  display: block;
  margin-top: 2px;
  font-size: .72rem;
  color: #555;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Gomb legalul */
body.view-compact .landscape-btn{
  display: block !important;
  width: 100%;
  max-width: 360px;
  margin: 0 !important;
  padding: .45rem .75rem;
  font-size: .95rem;
  line-height: 1.2;
  height: auto !important;

  justify-self: center;
  align-self: end;

  flex: 0 0 auto;
}

body.view-compact .landscape-meta-block{
  width: 100%;
  max-width: 360px;
  min-height: 0;
  overflow: hidden;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

body.view-compact .landscape-certicons{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 4px;
  margin: 2px 0;
}

body.view-compact .landscape-midbox:empty,
body.view-compact .landscape-certicons:empty{
  display: none !important;
}
body.view-compact .landscape-meta-block{
  width: 100%;
  max-width: 360px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  overflow: visible;
}

body.view-compact .landscape-meta-block:empty{
  display: none !important;
}

/* Detailed nézetben a compact pill doboz ne látszódjon */
body:not(.view-compact) .landscape-midbox{
  display: none;
}

/* Detailed nézetben desktopon látszódjon a "Mutass többet" */
@media (min-width: 769px){
  body:not(.view-compact) .product-landscape .tulaj-toggle{
    display: inline-block !important;
  }
}

/* ===========================
   MOBIL COMPACT
   =========================== */
@media (max-width: 768px){

  body.view-compact .product-landscape{
    height: auto !important;
    min-height: 400px;
    padding: 10px;
    gap: 8px;
  }

  body.view-compact .landscape-left{
    order: 1;
    width: 100% !important;
    padding-right: 0 !important;
  }

  body.view-compact .landscape-right{
    order: 2;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    row-gap: 0;
  }

  body.view-compact .landscape-title{
    font-size: 1rem;
  }

  body.view-compact .manufacturer-landscape-logo{
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 0 0 8px 0 !important;
    padding-top: 18px;
  }

  body.view-compact .landscape-img-box{
    width: 100%;
    height: 160px;
    min-height: 160px;
    max-height: 160px;
    margin-bottom: 0 !important;
  }

  body.view-compact .landscape-img{
    max-height: 135px;
  }

  body.view-compact .landscape-meta-block{
    width: 100%;
    max-width: 100% !important;
    margin: 6px 0 10px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    overflow: visible;
  }

  body.view-compact .landscape-certicons{
    margin: 0 0 6px 0;
  }

  body.view-compact .landscape-midbox{
    width: 100%;
    min-height: 38px;
    max-height: none;
    padding: 6px;
    margin: 0;
  }

  body.view-compact .compact-props-grid{
    gap: 5px 6px;
  }

  body.view-compact .compact-prop{
    padding: 4px 6px;
  }

  body.view-compact .compact-prop-k{
    font-size: .64rem;
  }

  body.view-compact .compact-prop-v{
    font-size: .68rem;
  }

  body.view-compact .landscape-btn{
    display: block !important;
    width: 100%;
    max-width: 100% !important;
    margin: 0 !important;
    padding: .35rem .5rem;
    font-size: .85rem;
    line-height: 1.2;
  }
}
/* Card layout only in redesigned native category pages. */
.delta-category-page .product-landscape{width:100%;margin-bottom:0!important;border:1px solid #e4e6eb;border-radius:8px;padding:22px;gap:24px;box-shadow:none;opacity:1;transform:none;align-items:flex-start}
.delta-category-page .product-landscape:hover{box-shadow:0 4px 18px rgba(43,45,66,.06);transform:none}
.delta-category-page .product-landscape .wishlist-icon{opacity:1}
.delta-category-page .landscape-left{flex:1 1 0;padding-right:0!important;min-width:0}
.delta-category-page .landscape-right{flex:0 0 210px;max-width:210px;gap:12px}
.delta-category-page .manufacturer-landscape-logo{text-align:left;margin:0!important}
.delta-category-page .manuf-logo-img{max-height:32px;max-width:120px}
.delta-category-page .landscape-title{font-size:1.1rem;line-height:1.35;margin:10px 0;color:#034788;overflow-wrap:anywhere}
.delta-category-page .landscape-desc{font-size:.85rem;text-align:left;line-height:1.6;margin-bottom:16px!important}
.delta-category-page .landscape-img-box{width:100%;height:160px;padding:8px;background:#fff}
.delta-category-page .landscape-img{width:100%;height:100%;max-height:150px;object-fit:contain}
.delta-category-page .landscape-btn{width:100%;font-size:.8rem;padding:8px 10px;border-radius:5px;color:#07599f;border-color:#07599f}
.delta-category-page .landscape-btn:hover{background:#07599f;color:#fff}
.delta-category-page .landscape-tulaj{margin-top:0;width:100%}
.delta-category-page .tulaj-collapsible{overflow:hidden}
.delta-category-page .tulaj-collapsible.is-expanded{max-height:none!important}
.delta-category-page .landscape-tulaj .row>div{box-shadow:none;border-color:#e8edf4;background:#f9fbff}
.delta-category-page .landscape-meta-block{width:100%}
body.view-compact .delta-category-page .product-landscape{flex-direction:column;gap:10px;padding:16px;min-height:0;height:100%;align-items:stretch}
body.view-compact .delta-category-page .landscape-left{flex:0 0 auto!important;width:100%!important}
body.view-compact .delta-category-page .landscape-title{font-size:1rem;min-height:2.7em;max-height:2.7em;line-height:1.35;margin:6px 0 0!important}
body.view-compact .delta-category-page .manufacturer-landscape-logo{justify-content:flex-start;margin:0 0 6px!important}
body.view-compact .delta-category-page .landscape-right{flex:1 1 auto!important;width:100%;max-width:100%;height:auto;display:flex;flex-direction:column;gap:12px;align-items:stretch}
body.view-compact .delta-category-page .landscape-img-box{height:150px;min-height:150px;max-height:150px;padding:5px;margin:0}
body.view-compact .delta-category-page .landscape-img{height:100%;max-height:140px;object-fit:contain}
body.view-compact .delta-category-page .landscape-meta-block{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;flex:1 1 auto;width:100%}
body.view-compact .delta-category-page .landscape-midbox{margin:0;max-width:none;width:100%;background:transparent;border:0;border-radius:0;padding:0}
body.view-compact .delta-category-page .compact-props-grid{grid-template-columns:minmax(0,1fr);gap:0}
body.view-compact .delta-category-page .compact-prop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:8px 0;border:0;border-bottom:1px solid #e8edf4;background:transparent;border-radius:0}
body.view-compact .delta-category-page .compact-prop-k{font-size:.75rem;white-space:normal;overflow:visible;text-overflow:clip;flex:1;overflow-wrap:anywhere}
body.view-compact .delta-category-page .compact-prop-v{font-size:.75rem;text-align:right;white-space:normal;overflow:visible;text-overflow:clip;max-width:55%;overflow-wrap:anywhere}
body.view-compact .delta-category-page .compact-prop-v-multi{max-width:55%}
body.view-compact .delta-category-page .landscape-btn{margin-top:auto;width:100%;font-size:.8rem;padding:8px 10px}
@media(max-width:767.98px){body:not(.view-compact) .delta-category-page .product-landscape{flex-direction:column;padding:16px;gap:16px}body:not(.view-compact) .delta-category-page .landscape-left{flex:0 0 auto!important;width:100%}body:not(.view-compact) .delta-category-page .landscape-right{flex:0 0 auto;max-width:none;width:100%}body:not(.view-compact) .delta-category-page .landscape-img-box{height:180px}body:not(.view-compact) .delta-category-page .landscape-tulaj{display:block!important}body:not(.view-compact) .delta-category-page .tulaj-toggle:not(.d-none){display:inline-block!important}}
@media(prefers-reduced-motion:reduce){.delta-category-page .product-landscape{transition:none}}

/* DELTA COMPACT CARDS — image first, manufacturer logo and data rows.
   Existing detailed view and card handlers are preserved. */
body.view-compact #productGrid:has(.product-landscape){
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,285px),1fr))!important;
  gap:20px!important;
}
body.view-compact #productGrid:has(.product-landscape)>[class*="col-"]{
  width:100%!important;max-width:none!important;min-width:0;padding:0!important;
}
body.view-compact #productGrid .product-landscape{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  position:relative;gap:0!important;padding:20px!important;margin:0!important;
  width:100%;height:100%!important;min-height:0!important;box-sizing:border-box;
  background:#fff;border:1px solid #dce3eb;border-radius:18px!important;
  overflow:hidden;box-shadow:0 3px 12px rgba(43,45,66,.035);
  transition:border-color .2s ease,box-shadow .2s ease;
}
body.view-compact #productGrid .product-landscape:hover{
  border-color:#b9cce0;box-shadow:0 8px 24px rgba(3,71,136,.09);transform:none;
}
body.view-compact #productGrid .landscape-left,
body.view-compact #productGrid .landscape-right{display:contents!important}
body.view-compact #productGrid .landscape-img-box{
  order:1;flex:0 0 auto;width:calc(100% + 40px)!important;max-width:none!important;
  height:230px!important;min-height:230px!important;max-height:230px!important;
  margin:-20px -20px 18px!important;padding:45px 24px 20px!important;
  display:flex;align-items:center;justify-content:center;
  background:#fff;border-bottom:1px solid #e4e9ef;border-radius:0!important;
}
body.view-compact #productGrid .landscape-img-link{
  width:100%;height:100%;display:flex!important;align-items:center;justify-content:center;
}
body.view-compact #productGrid .landscape-img{
  width:100%!important;height:100%!important;max-height:100%!important;
  object-fit:contain;object-position:center;
}
body.view-compact #productGrid .manufacturer-landscape-logo{
  order:2;display:flex!important;align-items:center;justify-content:flex-start!important;
  width:100%;height:34px;min-height:34px;margin:0 0 10px!important;padding:0!important;
}
body.view-compact #productGrid .manuf-logo-img{
  width:auto;max-width:120px;max-height:15px;object-fit:contain;object-position:left center;
}
body.view-compact #productGrid .landscape-title{
  order:3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;
  min-height:3.9em;max-height:3.9em;overflow:hidden;overflow-wrap:anywhere;
  font-size:1.08rem!important;font-weight:600!important;line-height:1.3;
  text-align:left;color:#2b2d42!important;margin:0 0 16px!important;
}
body.view-compact #productGrid .landscape-desc,
body.view-compact #productGrid .landscape-tulaj,
body.view-compact #productGrid .tulaj-toggle{display:none!important}
body.view-compact #productGrid .landscape-meta-block{
  order:4;display:flex;flex-direction:column;align-items:stretch!important;
  justify-content:flex-start;flex:1 1 auto;width:100%;max-width:none!important;
  margin:0 0 20px!important;padding:0;gap:8px;overflow:visible;
}
body.view-compact #productGrid .landscape-meta-block:empty{display:none!important}
body.view-compact #productGrid .landscape-certicons{justify-content:flex-start;margin:0 0 6px}
body.view-compact #productGrid .landscape-midbox{
  width:100%;max-width:none!important;margin:0!important;padding:0!important;
  border:0;border-top:1px solid #e4e9ef;border-radius:0;background:transparent;
  min-height:0;max-height:none;overflow:visible;
}
body.view-compact #productGrid .compact-props-grid{
  display:grid;grid-template-columns:minmax(0,1fr)!important;gap:0!important;
}
body.view-compact #productGrid .compact-prop{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  width:100%;padding:11px 0!important;border:0;border-bottom:1px solid #e4e9ef;
  border-radius:0;background:transparent;text-align:left;line-height:1.4;
}
body.view-compact #productGrid .compact-prop-k{
  flex:1 1 45%;min-width:0;font-size:.82rem!important;font-weight:400;
  color:#566578;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;
}
body.view-compact #productGrid .compact-prop-v{
  flex:0 1 55%;min-width:0;max-width:55%;margin:0;font-size:.84rem!important;
  font-weight:600;color:#2b2d42;text-align:right;white-space:normal;
  overflow:visible;text-overflow:clip;overflow-wrap:anywhere;
}
body.view-compact #productGrid .compact-prop-v-multi{max-width:55%}
body.view-compact #productGrid .compact-prop-v-line+.compact-prop-v-line{margin-top:4px}
body.view-compact #productGrid .landscape-btn{
  order:5;display:flex!important;align-items:center;justify-content:center;
  flex:0 0 auto;gap:10px;width:100%;max-width:none!important;min-height:44px;
  height:auto!important;margin:auto 0 0!important;padding:11px 12px!important;
  background:#034788;border:1px solid #034788;border-radius:9px;
  color:#fff!important;font-size:.86rem!important;font-weight:500;line-height:1.35;
}
body.view-compact #productGrid .landscape-btn:hover{background:#2b2d42;border-color:#2b2d42;color:#fff!important}
body.view-compact #productGrid .landscape-btn:focus-visible{outline:3px solid #c52132;outline-offset:3px}
body.view-compact #productGrid .product-landscape>.position-absolute{
  top:12px!important;right:12px!important;padding:0!important;
}
body.view-compact #productGrid .wishlist-icon{
  display:flex;align-items:center;justify-content:center;width:36px;height:36px;
  opacity:1!important;border:1px solid #dce3eb;border-radius:9px;background:#fff;
  color:#034788;cursor:pointer;box-shadow:0 2px 6px #2b2d4208;
}
body.view-compact #productGrid .wishlist-toggle{font-size:18px;color:#034788!important}
body.view-compact #productGrid .wishlist-icon.active .wishlist-toggle{color:#c52132!important}
@media(max-width:575.98px){
  body.view-compact #productGrid:has(.product-landscape){grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
  body.view-compact #productGrid .landscape-title{min-height:0;max-height:3.9em;font-size:1.08rem!important}
  body.view-compact #productGrid .landscape-img-box{height:250px!important;min-height:250px!important;max-height:250px!important}
}
@media(prefers-reduced-motion:reduce){body.view-compact #productGrid .product-landscape{transition:none}}

/* Elements supplied by Product.php; compact view only. */
.compact-category-label,.compact-quote-btn{display:none}
body.view-compact #productGrid .compact-category-label{
 display:block;position:absolute;left:12px;top:12px;z-index:2;
 max-width:calc(100% - 68px);padding:6px 10px;border:1px solid #d7e4f1;
 border-radius:999px;background:#edf4fb;color:#034788;
 font-size:.7rem;font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
body.view-compact #productGrid .landscape-desc{
 display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:3;
 order:3;overflow:hidden;max-height:4.65em;margin:0 0 16px!important;
 font-size:.83rem;line-height:1.55;text-align:left;color:#697687;
}
body.view-compact #productGrid .compact-quote-btn{
 display:flex;order:6;align-items:center;justify-content:center;gap:10px;
 width:100%;min-height:42px;padding:10px 12px;margin-top:10px;
 border:1px solid #c9dced;border-radius:9px;background:#edf4fb;
 color:#034788;font-size:.86rem;font-weight:500;line-height:1.35;
}
body.view-compact #productGrid .compact-quote-btn:hover{background:#034788;border-color:#034788;color:#fff}
body.view-compact #productGrid .compact-quote-btn:focus-visible{outline:3px solid #c52132;outline-offset:3px}
body.view-compact #productGrid .landscape-btn::after{content:'→';font-size:1.1em}


/* Keep compact card content clear of the outer border. */
body.view-compact #productGrid .product-landscape.product-landscape{
  --card-inset:24px;
  padding:var(--card-inset)!important;
  box-sizing:border-box;
}
body.view-compact #productGrid .product-landscape .landscape-img-box{
  width:calc(100% + var(--card-inset) * 2)!important;
  margin:calc(-1 * var(--card-inset)) calc(-1 * var(--card-inset)) 18px!important;
  box-sizing:border-box;
}
body.view-compact #productGrid .product-landscape .compact-prop{
  box-sizing:border-box;
  padding:12px 4px!important;
}
@media(max-width:575.98px){
  body.view-compact #productGrid .product-landscape.product-landscape{
    --card-inset:20px;
  }
}
