/* Only styles for dynamic functionality absent from the legacy build. */
.linkToOrder .shopCount[data-cart-count]{color:#24203a;font-family:var(--font-rubik);font-size:13px;font-weight:700;z-index:2}
.linkToOrder .shopCount[hidden]{display:none}
.dynamicLoading{font-family:var(--font-rubik);padding:24px;font-size:18px}
.dynamicEmpty{font-family:var(--font-rubik);padding:24px;font-size:18px}
.dynamicThumb{cursor:pointer}
.dynamicThumb img{object-fit:cover}
.dynamicThumb.active{background-color:#a7a7a7}
.dynamicProductDescription{margin-top:20px}
.dynamicAvailability{font-family:var(--font-rubik);font-size:14px;margin-top:10px}
.dynamicAvailability.no{color:#a00}
/* Keep the legacy desktop appearance. On narrow screens, keep the category list usable. */
@media(max-width:1100px){
  .body.hasMenu{position:relative}
  .body.hasMenu .menuContainer{position:relative;display:flex;width:30%;height:auto;background:transparent;align-items:stretch;justify-content:flex-end}
  .body.hasMenu .categoryContainer{border-right:2px solid #a7a7a7}
  .body.hasMenu .categoryLink{color:#24203a}
  .body.hasMenu .activeCategoryLink,.body.hasMenu .categoryLink:hover{border-bottom-color:#a7a7a7;color:#a7a7a7}
}
@media(max-width:850px){
  .body.hasMenu{display:block}
  .body.hasMenu .menuContainer{width:100%;position:relative;height:auto;background:transparent;overflow-x:auto;justify-content:flex-start}
  .body.hasMenu .categoryContainer{width:max-content;display:flex;border-right:0;border-bottom:1px solid #a7a7a7;margin-top:0;padding:8px}
  .body.hasMenu .categoryLink{font-size:16px;margin:0 14px 0 0;white-space:nowrap}
}

/* hs009 checkout + header stabilization */
.site-header .brand{align-self:center;line-height:1;transform:none!important}.site-header .brand img,.site-header .brand svg{max-height:80px}.checkout-section{width:min(760px,100%);margin:10px auto 60px;background:#fff;border-radius:12px;padding:22px}.checkout-section h2{margin-top:0}.checkout-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.checkout-form label{display:flex;flex-direction:column;gap:6px;font-size:16px}.checkout-form input,.checkout-form textarea{padding:10px 12px;border:1px solid #bbb;border-radius:7px;font:inherit}.checkout-form fieldset{border:1px solid #ccc;border-radius:8px;padding:10px 12px}.radio-line{display:block!important;margin:6px 0}.radio-line input{width:auto}.checkout-form label:last-of-type,.checkout-button,.checkout-status{grid-column:1/-1}.checkout-button{justify-self:end;border:0;border-radius:7px;padding:12px 24px;background:#1c1c1c;color:#fff;font:inherit;cursor:pointer}.checkout-status{min-height:24px}@media(max-width:700px){.checkout-form{grid-template-columns:1fr}.checkout-form>*{grid-column:1!important}}

/* hs010 cart: exact legacy header + polished checkout */
.hidden{display:none!important}
.hsCartPage{width:min(1360px,92vw);margin:0 auto;padding:34px 0 70px;box-sizing:border-box}
.hsCartTitle{font-family:var(--robo-bold);font-size:32px;line-height:1.15;margin:0 0 28px;color:#000}
.hsCartEmpty{width:min(560px,100%);margin:34px auto 0;padding:30px 26px;background:#fff;border-radius:12px;text-align:center;font-family:var(--font-rubik);font-size:21px;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.hsCartList{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 3px 16px rgba(0,0,0,.08)}
.hsCartRow{display:grid;grid-template-columns:92px minmax(220px,1fr) 142px 130px 42px;gap:18px;align-items:center;padding:15px 18px;border-bottom:1px solid #e2e2e2;font-family:var(--font-rubik)}
.hsCartRow:last-child{border-bottom:0}.hsCartImg{width:82px;height:82px;object-fit:cover;border-radius:8px;background:#eee}.hsCartName{display:block;font-size:18px;font-weight:700;color:#111;text-decoration:none;margin-bottom:8px}.hsCartUnit{font-size:15px;color:#666}.hsQty{display:flex;align-items:center;justify-content:center;gap:7px}.hsQty button,.hsRemove{border:0;background:#e5e6e8;cursor:pointer;font-family:var(--font-rubik)}.hsQty button{width:34px;height:34px;border-radius:7px;font-size:20px}.hsQty input{width:54px;height:34px;text-align:center;border:1px solid #c7c7c7;border-radius:7px;font:16px var(--font-rubik)}.hsCartLineTotal{font-size:18px;font-weight:700;text-align:right;color:#126801}.hsRemove{width:34px;height:34px;border-radius:7px;font-size:23px;line-height:1}.hsCartTotal{display:flex;justify-content:flex-end;gap:16px;align-items:baseline;padding:22px 4px 8px;font-family:var(--font-rubik);font-size:24px}.hsCartTotal strong{font-size:27px;color:#126801}
.hsCheckoutCard{width:min(900px,100%);margin:34px auto 0;background:#fff;border-radius:14px;padding:28px 30px 30px;box-shadow:0 3px 18px rgba(0,0,0,.1);font-family:var(--font-rubik)}
.hsCheckoutHead{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.hsCheckoutHead h2{font-family:var(--robo-bold);font-size:27px;margin:0}.hsCheckoutSummary{font-size:15px;text-align:right;color:#666;line-height:1.5}.hsCheckoutSummary strong{color:#126801;font-size:19px}
.hsCheckoutForm{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}.hsField{display:flex;flex-direction:column;gap:7px;font-size:15px;font-weight:600}.hsField span small{font-weight:400;color:#777}.hsField input,.hsField textarea{width:100%;box-sizing:border-box;border:1px solid #bfc0c2;border-radius:8px;background:#fff;padding:11px 12px;font:16px var(--font-rubik);outline:none;transition:border-color .15s,box-shadow .15s}.hsField input:focus,.hsField textarea:focus{border-color:#85878a;box-shadow:0 0 0 3px rgba(120,120,120,.12)}.hsFieldFull{grid-column:1/-1}.hsPayment{grid-column:1/-1;border:0;padding:0;margin:2px 0 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.hsPayment legend{font-size:15px;font-weight:600;margin-bottom:8px}.hsPayOption{position:relative;display:inline-flex;cursor:pointer}.hsPayOption input{position:absolute;opacity:0;pointer-events:none}.hsPayOption span{display:flex;align-items:center;justify-content:center;min-width:138px;height:42px;padding:0 16px;border:1px solid #bfc0c2;border-radius:8px;background:#f0f1f2;font-size:15px;transition:.15s}.hsPayOption input:checked+span{background:#7d7f82;color:#fff;border-color:#7d7f82}.hsCheckoutButton{grid-column:1/-1;justify-self:end;min-width:250px;height:48px;border:0;border-radius:8px;background:linear-gradient(0deg,#bdbec0 0,#858486 72%,#787481);color:#fff;font:600 18px var(--font-rubik);cursor:pointer}.hsCheckoutButton:hover{background:linear-gradient(180deg,#bdbec0 0,#858486 72%,#787481);color:#202020}.hsCheckoutStatus{grid-column:1/-1;margin:0;min-height:20px;font-size:15px}.hsCheckoutStatus strong{color:#126801}
@media(max-width:780px){.hsCartPage{width:94vw;padding-top:24px}.hsCartRow{grid-template-columns:70px 1fr 38px;gap:10px;padding:12px}.hsCartImg{width:64px;height:64px}.hsCartName{font-size:16px}.hsQty{grid-column:2;justify-content:flex-start}.hsCartLineTotal{grid-column:3;grid-row:2}.hsRemove{grid-column:3;grid-row:1}.hsCheckoutCard{padding:22px 18px}.hsCheckoutForm{grid-template-columns:1fr}.hsCheckoutForm>*{grid-column:1/-1}.hsCheckoutHead{display:block}.hsCheckoutSummary{text-align:left;margin-top:8px}.hsCheckoutButton{width:100%;min-width:0}.hsPayOption{flex:1}.hsPayOption span{min-width:0;width:100%}}


/* hs011: one locked public header geometry on every generated public page. */
.sitePublicHeader.containerHead{
  width:100vw;
  height:12vh;
  min-height:100px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  box-sizing:border-box;
}
.sitePublicHeader .logo{
  display:flex;
  width:auto;
  height:auto;
  align-items:center;
  flex:0 0 auto;
}
.sitePublicHeader .linkTower{
  margin-left:100px;
  width:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:0;
  flex:0 0 auto;
}
.sitePublicHeader .signalTower{
  display:block;
  width:65px;
  height:65px;
  max-width:65px;
  max-height:65px;
  flex:0 0 65px;
}
.sitePublicHeader .HelicalTitle{
  width:auto;
  margin:0 0 0 20px;
  padding:0;
  color:#ebedf3;
  font-family:var(--font-montserrat);
  font-size:30px;
  font-weight:inherit;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}
.sitePublicHeader .contantHeader{
  display:flex;
  align-items:center;
  height:auto;
  flex:0 0 auto;
}
.sitePublicHeader .linkToOrder{
  position:relative;
  width:auto;
  height:auto;
  margin-right:55px;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:0;
}
.sitePublicHeader .shopBin{
  display:block;
  width:55px;
  height:auto;
  max-width:55px;
}
.sitePublicHeader .shopCount[data-cart-count]{
  top:-8px;
  right:-11px;
  left:auto;
  width:26px;
  height:26px;
  line-height:26px;
}

/* Order-complete state: don't fall back to the empty-cart screen after success. */
.hsOrderSuccess{
  width:min(640px,100%);
  margin:34px auto 0;
  padding:34px 28px;
  box-sizing:border-box;
  background:#fff;
  border-radius:12px;
  text-align:center;
  font-family:var(--font-rubik);
  box-shadow:0 3px 16px rgba(0,0,0,.08);
}
.hsOrderSuccess h2{
  margin:0 0 12px;
  font-family:var(--robo-bold);
  font-size:27px;
  line-height:1.2;
}
.hsOrderSuccess p{margin:7px 0;font-size:17px;line-height:1.45}
.hsOrderSuccess .hsOrderNumber{font-weight:700;color:#126801}
.hsOrderSuccess a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:20px;
  min-width:230px;
  min-height:46px;
  padding:0 20px;
  border-radius:8px;
  background:linear-gradient(0deg,#bdbec0 0,#858486 72%,#787481);
  color:#fff;
  font:600 17px var(--font-rubik);
  text-decoration:none;
}
.hsOrderSuccess a:hover{background:linear-gradient(180deg,#bdbec0 0,#858486 72%,#787481);color:#202020}

@media(max-width:1100px){
  .sitePublicHeader .linkTower{margin-left:20px}
  .sitePublicHeader .signalTower{width:45px;height:45px;max-width:45px;max-height:45px;flex-basis:45px}
  .sitePublicHeader .HelicalTitle{margin-left:10px}
}
@media(max-width:650px){
  .sitePublicHeader.containerHead{height:15vh;min-height:100px}
  .sitePublicHeader .linkToOrder{margin-right:25px}
  .sitePublicHeader .shopBin{width:auto;height:40px;max-width:none}
  .sitePublicHeader .HelicalTitle{margin-left:10px;font-size:18px}
  .sitePublicHeader .shopCount[data-cart-count]{top:-8px;right:-10px;width:23px;height:23px;line-height:23px;font-size:11px}
}
@media(max-width:450px){.sitePublicHeader .linkToOrder{margin-right:10px}}


/* hs012: keep the public header at exactly the same x-position on short and long pages.
   The legacy build uses viewport-width geometry; reserving the scrollbar gutter prevents
   the cart (short page) from changing the usable viewport width relative to catalogue pages. */
html{
  scrollbar-gutter:stable;
  overflow-y:scroll;
}
.sitePublicHeader.containerHead{
  width:100%;
  max-width:none;
}


/* Stage 15 price-theme fix: style the numeric value itself, not the currency icon. */
.price .priceValue,.priceCard .priceValue{display:inline-block;line-height:1}
.price .priceCurrency,.priceCard .priceCurrency{margin-left:2px;flex:0 0 auto}
html.price-theme-enabled .price .priceValue,
html.price-theme-enabled .priceCard .priceValue{color:var(--hs-price-color)!important}
html.price-theme-enabled .price .priceValue{font-size:calc(20px * var(--hs-price-scale,1))!important}
html.price-theme-enabled .priceCard .priceValue{font-size:calc(36px * var(--hs-price-scale,1))!important}
html.price-theme-enabled[data-price-style="normal"] .priceValue{font-weight:400!important;font-style:normal!important;text-decoration:none!important}
html.price-theme-enabled[data-price-style="bold"] .priceValue{font-weight:800!important;font-style:normal!important;text-decoration:none!important}
html.price-theme-enabled[data-price-style="italic"] .priceValue{font-style:italic!important;text-decoration:none!important}
html.price-theme-enabled[data-price-style="underline"] .priceValue{text-decoration:underline!important;font-style:normal!important}
html.price-theme-enabled[data-price-style="boldItalic"] .priceValue{font-weight:800!important;font-style:italic!important;text-decoration:none!important}
html.price-theme-enabled[data-price-style="boldUnderline"] .priceValue{font-weight:800!important;font-style:normal!important;text-decoration:underline!important}
@media(max-width:1000px){html.price-theme-enabled .priceCard .priceValue{font-size:calc(25px * var(--hs-price-scale,1))!important}}
@media(max-width:650px){html.price-theme-enabled .price .priceValue{font-size:calc(13px * var(--hs-price-scale,1))!important}}


/* hs016: currency symbol follows the global price theme. */
.price .priceCurrency,
.priceCard .priceCurrency{
  display:inline-block;
  margin-left:var(--hs-currency-gap,5px);
  line-height:1;
  vertical-align:baseline;
  color:inherit;
  font-weight:inherit;
  font-style:inherit;
  text-decoration:inherit;
}
.price .priceCurrency{font-size:calc(.62em * var(--hs-currency-scale,1.2))}
.priceCard .priceCurrency{font-size:calc(.58em * var(--hs-currency-scale,1.2))}

html.price-theme-enabled .price .priceCurrency,
html.price-theme-enabled .priceCard .priceCurrency{
  color:var(--hs-price-color)!important;
}

html.price-theme-enabled[data-price-style="normal"] .priceCurrency{font-weight:400!important;font-style:normal!important;text-decoration:none!important}
html.price-theme-enabled[data-price-style="bold"] .priceCurrency{font-weight:800!important;font-style:normal!important;text-decoration:none!important}
html.price-theme-enabled[data-price-style="italic"] .priceCurrency{font-style:italic!important;text-decoration:none!important}
html.price-theme-enabled[data-price-style="underline"] .priceCurrency{text-decoration:underline!important;font-style:normal!important}
html.price-theme-enabled[data-price-style="boldItalic"] .priceCurrency{font-weight:800!important;font-style:italic!important;text-decoration:none!important}
html.price-theme-enabled[data-price-style="boldUnderline"] .priceCurrency{font-weight:800!important;font-style:normal!important;text-decoration:underline!important}

/* Category page only: center the card price horizontally.
   Product-page price positioning is intentionally unchanged. */
.categoryContainerCard .price{
  width:100%;
  box-sizing:border-box;
  text-align:center!important;
}


/* hs019: payment details shown only after successful prepaid order */
.hsPaymentDetails{
  width:min(640px,100%);
  margin:22px auto;
  padding:18px 20px;
  background:#f7f8f9;
  border:1px solid #d8dadd;
  border-radius:10px;
  text-align:left;
}
.hsPaymentDetails h3{
  margin:0 0 12px;
  font-family:var(--robo-bold);
  font-size:20px;
}
.hsPaymentDetails dl{margin:0}
.hsPaymentDetails dl>div{
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  gap:10px;
  padding:7px 0;
  border-bottom:1px solid #e1e3e5;
}
.hsPaymentDetails dl>div:last-child{border-bottom:0}
.hsPaymentDetails dt{font-weight:700}
.hsPaymentDetails dd{margin:0;overflow-wrap:anywhere}
.hsPaymentDetails .hsIban{
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.02em;
}
@media(max-width:620px){
  .hsPaymentDetails dl>div{grid-template-columns:1fr;gap:2px}
}


/* hs020: optically align the currency symbol with the numeric price.
   Keep product-page positioning unchanged; only align the inline glyph itself. */
.price .priceCurrency,
.priceCard .priceCurrency{
  position:relative;
  top:-0.03em;
}


/* hs022: public contact number in header */
.sitePublicHeader .headerPhone{
  display:inline-flex;
  align-items:center;
  margin-right:28px;
  color:#ebedf3;
  font-family:var(--font-rubik);
  font-size:32px;
  font-weight:600;
  font-style: italic;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}
.sitePublicHeader .headerPhone:hover{
  color:#fff;
  text-decoration:none;
}
@media(max-width:650px){
  .sitePublicHeader .headerPhone{
    margin-right:14px;
    font-size:14px;
  }
}
@media(max-width:450px){
  .sitePublicHeader .headerPhone{
    margin-right:8px;
    font-size:12px;
  }
}


/* HS043: compact home production intro */
.homeProductionIntro{
  box-sizing:border-box;
  width:90%;
  margin:0 0 14px;
  padding:11px 15px 12px;
  border-left:4px solid #a7a7a7;
  border-radius:0 8px 8px 0;
  background:rgba(255,255,255,.42);
  font-family:var(--font-rubik),Arial,sans-serif;
  color:#24203a;
  display:flex;
  align-items:baseline;
  gap:14px;
}
.homeProductionTitle{
  flex:0 0 auto;
  font-size:18px;
  line-height:1.3;
  font-weight:600;
  white-space:nowrap;
}
.homeProductionText{
  max-width:900px;
  font-size:15px;
  line-height:1.45;
  font-weight:400;
  color:#4a4857;
}
@media(max-width:900px){
  .homeProductionIntro{
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
  }
  .homeProductionTitle{
    white-space:normal;
  }
}
@media(max-width:650px){
  .homeProductionIntro{
    width:91vw;
    margin-bottom:10px;
    padding:9px 12px 10px;
  }
  .homeProductionTitle{font-size:16px}
  .homeProductionText{font-size:14px}
}
