/* LX Services Catalog 0.1.7 — frontend */
.lxsc-catalog,
.lxsc-catalog *{box-sizing:border-box}

.lxsc-catalog{
  width:min(100%,var(--lxsc-content-max,1240px));
  margin-inline:auto;
  padding-inline:var(--lxsc-catalog-pad-x,24px);
  font-family:var(--lxsc-font-body,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
  color:var(--lxsc-text);
}

/* Category navigation */
.lxsc-catalog .lxsc-category-nav{
  display:flex;
  align-items:center;
  justify-content:var(--lxsc-cat-align);
  gap:var(--lxsc-cat-gap);
  overflow-x:auto;
  padding:4px 0 var(--lxsc-cat-nav-pb,18px);
  margin:0 0 var(--lxsc-cat-nav-mb,30px);
  border-bottom:1px solid var(--lxsc-cat-nav-border,var(--lxsc-border));
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}

.lxsc-catalog button.lxsc-category-tab{
  appearance:none !important;
  -webkit-appearance:none !important;
  flex:0 0 auto;
  margin:0 !important;
  min-height:var(--lxsc-cat-min-height);
  border:var(--lxsc-cat-border-width) solid var(--lxsc-cat-border) !important;
  outline:0;
  box-shadow:none !important;
  background:var(--lxsc-cat-bg) !important;
  color:var(--lxsc-cat-text) !important;
  padding:var(--lxsc-cat-pad-y) var(--lxsc-cat-pad-x) !important;
  border-radius:var(--lxsc-cat-radius) !important;
  font-family:var(--lxsc-cat-font-family,var(--lxsc-font-heading)) !important;
  font-size:var(--lxsc-cat-font-size) !important;
  font-weight:var(--lxsc-cat-font-weight) !important;
  line-height:var(--lxsc-cat-line-height,1.2) !important;
  letter-spacing:var(--lxsc-cat-letter-spacing) !important;
  text-transform:var(--lxsc-cat-transform) !important;
  text-decoration:none !important;
  white-space:nowrap;
  cursor:pointer;
  transition:background-color var(--lxsc-cat-transition) ease,color var(--lxsc-cat-transition) ease,border-color var(--lxsc-cat-transition) ease,transform var(--lxsc-cat-transition) ease !important;
}
.lxsc-catalog button.lxsc-category-tab:hover,
.lxsc-catalog button.lxsc-category-tab:focus-visible{
  border-color:var(--lxsc-cat-hover-border) !important;
  background:var(--lxsc-cat-hover-bg) !important;
  color:var(--lxsc-cat-hover-text) !important;
  transform:translateY(var(--lxsc-cat-hover-y));
}
.lxsc-catalog button.lxsc-category-tab.is-active,
.lxsc-catalog button.lxsc-category-tab.is-active:hover{
  background:var(--lxsc-cat-active-bg) !important;
  border-color:var(--lxsc-cat-active-border) !important;
  color:var(--lxsc-cat-active-text) !important;
}

/* Main panel / table */
.lxsc-catalog .lxsc-panels{width:100%}
.lxsc-catalog .lxsc-panel{
  border:var(--lxsc-panel-border-width,1px) solid var(--lxsc-panel-border,var(--lxsc-border));
  border-radius:var(--lxsc-radius);
  background:var(--lxsc-panel-bg,#fff);
  overflow:hidden;
  box-shadow:0 var(--lxsc-panel-shadow-y,8px) var(--lxsc-panel-shadow-blur,30px) rgba(7,28,44,var(--lxsc-panel-shadow-alpha,.035));
}
.lxsc-catalog .lxsc-panel[hidden]{display:none!important}

.lxsc-catalog .lxsc-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
  padding:var(--lxsc-panel-head-pad-y,28px) var(--lxsc-panel-head-pad-x,30px);
  background:linear-gradient(180deg,var(--lxsc-panel-head-bg-start,#fff) 0%,var(--lxsc-panel-head-bg-end,var(--lxsc-ice)) 100%);
  border-bottom:var(--lxsc-row-separator-width,1px) solid var(--lxsc-row-separator,var(--lxsc-border));
}
.lxsc-catalog .lxsc-panel-head h2{
  margin:0 !important;
  padding:0 !important;
  color:var(--lxsc-panel-title-color,var(--lxsc-text)) !important;
  font-family:var(--lxsc-panel-title-font-family,var(--lxsc-font-heading)) !important;
  font-size:var(--lxsc-panel-title-size,34px) !important;
  font-weight:var(--lxsc-panel-title-weight,600) !important;
  line-height:var(--lxsc-panel-title-line-height,1.12) !important;
  letter-spacing:var(--lxsc-panel-title-letter-spacing,-.5px) !important;
  text-transform:none !important;
}
.lxsc-catalog .lxsc-panel-head p{
  margin:10px 0 0 !important;
  max-width:760px;
  color:var(--lxsc-panel-desc-color,var(--lxsc-muted)) !important;
  font-family:var(--lxsc-font-body) !important;
  font-size:var(--lxsc-panel-desc-size,15px) !important;
  line-height:var(--lxsc-panel-desc-line-height,1.6) !important;
}
.lxsc-catalog .lxsc-count{
  flex:0 0 auto;
  align-self:center;
  background:var(--lxsc-count-bg,#fff);
  border:1px solid var(--lxsc-count-border,var(--lxsc-border));
  color:var(--lxsc-count-text,var(--lxsc-muted));
  padding:var(--lxsc-count-pad-y,7px) var(--lxsc-count-pad-x,11px);
  border-radius:var(--lxsc-count-radius,999px);
  font-family:var(--lxsc-font-body);
  font-size:var(--lxsc-count-font-size,12px);
  font-weight:var(--lxsc-count-font-weight,600);
  line-height:1.2;
  white-space:nowrap;
}

/* Service rows */
.lxsc-catalog .lxsc-service-list{width:100%;background:var(--lxsc-panel-bg,#fff)}
.lxsc-catalog .lxsc-service-item{margin:0;padding:0;background:var(--lxsc-panel-bg,#fff)}
.lxsc-catalog .lxsc-service-item + .lxsc-service-item{border-top:var(--lxsc-row-separator-width,1px) solid var(--lxsc-row-separator,var(--lxsc-border))}

.lxsc-catalog button.lxsc-service-toggle{
  appearance:none !important;
  -webkit-appearance:none !important;
  width:100% !important;
  min-height:var(--lxsc-service-min-height);
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin:0 !important;
  padding:var(--lxsc-service-pad-y) var(--lxsc-service-pad-x) !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0;
  box-shadow:none !important;
  background:var(--lxsc-service-bg) !important;
  color:inherit !important;
  text-align:left !important;
  font-family:var(--lxsc-font-body) !important;
  font-size:inherit !important;
  font-weight:400 !important;
  line-height:inherit !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-decoration:none !important;
  cursor:pointer;
  transition:background-color var(--lxsc-service-transition) ease !important;
}
.lxsc-catalog button.lxsc-service-toggle:hover,
.lxsc-catalog button.lxsc-service-toggle:focus-visible{background:var(--lxsc-service-hover-bg) !important;color:inherit !important}
.lxsc-catalog button.lxsc-service-toggle[aria-expanded="true"]{background:var(--lxsc-service-open-bg) !important;color:inherit !important}
.lxsc-catalog button.lxsc-service-toggle:focus-visible{outline:2px solid var(--lxsc-gold) !important;outline-offset:-2px}

.lxsc-catalog .lxsc-service-title-wrap{display:grid;gap:5px;min-width:0}
.lxsc-catalog .lxsc-service-title{
  color:var(--lxsc-service-title-color,var(--lxsc-text)) !important;
  font-family:var(--lxsc-service-font-family,var(--lxsc-font-heading)) !important;
  font-size:var(--lxsc-service-title-size) !important;
  font-weight:var(--lxsc-service-title-weight) !important;
  line-height:var(--lxsc-service-title-line-height,1.3) !important;
  letter-spacing:var(--lxsc-service-title-letter-spacing,0) !important;
}
.lxsc-catalog button.lxsc-service-toggle:hover .lxsc-service-title,
.lxsc-catalog button.lxsc-service-toggle:focus-visible .lxsc-service-title{color:var(--lxsc-service-title-hover-color,var(--lxsc-service-title-color)) !important}
.lxsc-catalog button.lxsc-service-toggle[aria-expanded="true"] .lxsc-service-title{color:var(--lxsc-service-title-open-color,var(--lxsc-service-title-color)) !important}
.lxsc-catalog .lxsc-service-short{
  max-width:780px;
  color:var(--lxsc-service-desc-color,var(--lxsc-muted)) !important;
  font-family:var(--lxsc-font-body) !important;
  font-size:var(--lxsc-service-desc-size) !important;
  line-height:var(--lxsc-service-desc-line-height,1.5) !important;
}
.lxsc-catalog .lxsc-service-side{display:flex;align-items:center;gap:18px;flex:0 0 auto}
.lxsc-catalog .lxsc-price{
  color:var(--lxsc-price-color,var(--lxsc-gold));
  font-family:var(--lxsc-font-body);
  font-size:var(--lxsc-price-font-size,14px);
  font-weight:var(--lxsc-price-font-weight,600);
  white-space:nowrap;
}

.lxsc-catalog .lxsc-plus{position:relative;width:var(--lxsc-service-icon-size);height:var(--lxsc-service-icon-size);display:inline-block;flex:0 0 var(--lxsc-service-icon-size)}
.lxsc-catalog .lxsc-plus::before,
.lxsc-catalog .lxsc-plus::after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  background:var(--lxsc-service-icon-color,var(--lxsc-text));
  transform:translate(-50%,-50%);
  transition:transform var(--lxsc-service-transition) ease,background-color var(--lxsc-service-transition) ease;
}
.lxsc-catalog .lxsc-plus::before{width:64%;height:1.5px}
.lxsc-catalog .lxsc-plus::after{width:1.5px;height:64%}
.lxsc-catalog button.lxsc-service-toggle:hover .lxsc-plus::before,
.lxsc-catalog button.lxsc-service-toggle:hover .lxsc-plus::after,
.lxsc-catalog button.lxsc-service-toggle:focus-visible .lxsc-plus::before,
.lxsc-catalog button.lxsc-service-toggle:focus-visible .lxsc-plus::after{background:var(--lxsc-service-icon-hover-color,var(--lxsc-gold))}
.lxsc-catalog button.lxsc-service-toggle[aria-expanded="true"] .lxsc-plus::before,
.lxsc-catalog button.lxsc-service-toggle[aria-expanded="true"] .lxsc-plus::after{background:var(--lxsc-service-icon-open-color,var(--lxsc-gold))}
.lxsc-catalog button.lxsc-service-toggle[aria-expanded="true"] .lxsc-plus::after{transform:translate(-50%,-50%) rotate(90deg)}

/* Expanded content */
.lxsc-catalog .lxsc-service-content{background:var(--lxsc-content-bg,#fff)}
.lxsc-catalog .lxsc-service-content[hidden]{display:none!important}
.lxsc-catalog .lxsc-service-content-inner{
  padding:0 var(--lxsc-content-pad-x,28px) var(--lxsc-content-pad-y,24px);
  color:var(--lxsc-content-text,var(--lxsc-muted));
  font-family:var(--lxsc-font-body);
  font-size:var(--lxsc-content-font-size,15px);
  line-height:var(--lxsc-content-line-height,1.65);
}
.lxsc-catalog .lxsc-long-desc>*:first-child{margin-top:0}
.lxsc-catalog .lxsc-long-desc>*:last-child{margin-bottom:0}
.lxsc-catalog .lxsc-detail-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:16px;
  color:var(--lxsc-detail-link-color,var(--lxsc-gold)) !important;
  font-weight:var(--lxsc-detail-link-font-weight,600);
  text-decoration:none !important;
}
.lxsc-catalog .lxsc-detail-link:hover{text-decoration:underline !important}

.lxsc-empty{
  width:min(100%,var(--lxsc-content-max,1240px));
  margin-inline:auto;
  padding:22px var(--lxsc-catalog-pad-x,24px);
  border:1px solid var(--lxsc-border,#E6E8E8);
  border-radius:var(--lxsc-radius,10px);
  background:#fff;
  color:var(--lxsc-muted,#66747C);
  font-family:var(--lxsc-font-body,Inter,system-ui,sans-serif);
}

@media (max-width:1024px){
  .lxsc-catalog .lxsc-panel-head{padding:var(--lxsc-panel-head-pad-y,28px) var(--lxsc-panel-head-pad-x,30px)}
  .lxsc-catalog button.lxsc-service-toggle{padding:var(--lxsc-service-pad-y) var(--lxsc-service-pad-x) !important}
}

@media (max-width:767px){
  .lxsc-catalog{padding-inline:var(--lxsc-catalog-mobile-pad-x,16px)}
  .lxsc-catalog .lxsc-category-nav{
    display:grid;
    grid-template-columns:repeat(var(--lxsc-cat-mobile-columns,2),minmax(0,1fr));
    align-items:stretch;
    justify-content:stretch;
    overflow:visible;
    margin-bottom:20px;
    padding-bottom:14px;
    scrollbar-width:none;
  }
  .lxsc-catalog .lxsc-category-nav::-webkit-scrollbar{display:none}
  .lxsc-catalog button.lxsc-category-tab{
    width:100%;
    min-width:0;
    height:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    white-space:normal;
    overflow-wrap:anywhere;
    padding:var(--lxsc-cat-mobile-pad-y) var(--lxsc-cat-mobile-pad-x) !important;
    font-size:var(--lxsc-cat-mobile-font-size) !important;
  }
  .lxsc-catalog .lxsc-panel-head{padding:22px 18px 20px;display:grid;gap:13px}
  .lxsc-catalog .lxsc-panel-head h2{font-size:var(--lxsc-panel-title-mobile-size,26px) !important}
  .lxsc-catalog .lxsc-panel-head p{font-size:var(--lxsc-panel-desc-mobile-size,14px) !important}
  .lxsc-catalog .lxsc-count{justify-self:start;align-self:start}
  .lxsc-catalog button.lxsc-service-toggle{padding:var(--lxsc-service-mobile-pad-y) var(--lxsc-service-mobile-pad-x) !important;gap:12px;align-items:flex-start}
  .lxsc-catalog .lxsc-service-title{font-size:var(--lxsc-service-mobile-title-size) !important}
  .lxsc-catalog .lxsc-service-short{font-size:var(--lxsc-service-mobile-desc-size) !important}
  .lxsc-catalog .lxsc-service-side{gap:9px;align-items:center}
  .lxsc-catalog .lxsc-price{font-size:12px}
  .lxsc-catalog .lxsc-service-content-inner{padding:0 var(--lxsc-content-mobile-pad-x,17px) var(--lxsc-content-mobile-pad-y,19px);font-size:var(--lxsc-content-mobile-font-size,14px)}
  .lxsc-catalog .lxsc-plus{margin-top:1px}
}

@media (max-width:520px){
  .lxsc-catalog .lxsc-service-short{display:none}
  .lxsc-catalog .lxsc-price{display:none}
}

/* Static service rows: no + when there is no expandable description/detail link */
.lxsc-catalog .lxsc-service-static{
  width:100%;
  min-height:var(--lxsc-service-min-height);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:var(--lxsc-service-pad-y) var(--lxsc-service-pad-x);
  background:var(--lxsc-service-bg);
}
@media(max-width:767px){
  .lxsc-catalog .lxsc-service-static{padding:var(--lxsc-service-mobile-pad-y) var(--lxsc-service-mobile-pad-x);gap:12px;align-items:flex-start}
}

/* v0.1.6: all service rows remain accordions; tariffs moved to a separate module. */
.lxsc-catalog .lxsc-description-placeholder{margin:0;font-style:italic;opacity:.72}
