body {
  background-color:#ffffff;
  width:100%;
  max-width:100%;
  min-width:0;
  margin:0;
  overflow-x:clip;
  box-sizing:border-box;
}

/* Hide stray text caret on non-editable storefront UI while preserving real form fields. */
body {
  caret-color:transparent;
}
input,
textarea,
select,
[contenteditable],
[contenteditable] * {
  caret-color:auto;
}

@media (hover:none) and (pointer:coarse), (max-width:900px) {
  a,
  button,
  label,
  input,
  select,
  textarea,
  [role="button"],
  .categories_browser .item,
  .ProductPhotosGallery,
  .ProductPhotosGallery * {
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    tap-highlight-color:transparent;
  }
}

.full {
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:10px;
  height:100%;
  box-sizing:border-box;
  position:relative;
}
.main {
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:500px;
  overflow-x:clip;
  box-sizing:border-box;
}
.main .full {
  width:100%;
  text-align:left;
  margin-top:20px;
  padding-left:20px;
  padding-right:20px;
  box-sizing:border-box;
}
body.index .categories_browser {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-start;
  text-align:left;
}
body.index .categories_browser .item {
  display:block;
  flex:0 0 calc((100% - 30px) / 4);
  vertical-align:top;
  margin:0px;
}
body.index .categories_browser .item IMG {
  display:block;
  width:100%;
  height:auto;
  min-width:0px;
  min-height:0px;
}
body.index .home_intro_block {
  position:relative;
  margin:0px 0px 20px 0px;
  padding:15px 15px 20px 15px;
  border:0;
  background:transparent;
  box-shadow:none;
  box-sizing:border-box;
}
body.index .home_intro_content {
  width:100%;
  max-width:none;
}
body.index .home_intro_eyebrow {
  display:block;
  margin-bottom:15px;
  color:#e3262e;
  font-size:22px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:0.08em;
}
body.index .home_intro_block h2 {
  max-width:none;
  margin:0;
  color:#000000;
  font-size:16px;
  line-height:1.25;
  font-weight:800;
  text-transform:none;
  white-space:nowrap;
}
body.index .home_intro_block p {
  max-width:none;
  margin:9px 0 0 0;
  color:#3a3a3a;
  font-size:14px;
  line-height:1.5;
}
body.index .home_guidance_block {
  position:relative;
  margin:20px 0 0 0;
  padding:18px 15px 4px 15px;
  border:0;
  background:transparent;
  box-shadow:none;
  box-sizing:border-box;
}
body.index .home_guidance_content {
  width:100%;
  max-width:none;
}
body.index .home_guidance_eyebrow {
  display:block;
  margin-bottom:15px;
  color:#e3262e;
  font-size:22px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:0.08em;
}
body.index .home_guidance_block h2 {
  max-width:none;
  margin:0;
  color:#000000;
  font-size:16px;
  line-height:1.25;
  font-weight:800;
  text-transform:none;
}
body.index .home_guidance_block p {
  max-width:none;
  margin:8px 0 0 0;
  color:#555555;
  font-size:15px;
  line-height:1.5;
}
body.index .home_guidance_answers {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin-top:16px;
}
body.index .home_guidance_answer {
  min-width:0;
  padding-top:12px;
  border-top:2px solid rgba(227,38,46,0.22);
}
body.index .home_guidance_answer h3 {
  margin:0;
  color:#000000;
  font-size:16px;
  line-height:1.25;
  font-weight:800;
  text-transform:none;
}
body.index .home_guidance_answer p {
  margin:7px 0 0 0;
  color:#3a3a3a;
  font-size:14px;
  line-height:1.48;
}
.banners {
    display:block;
}
.banners .full {
  text-align:left;
  display:block;
  position:relative;
  padding-bottom:28%;
  width:100%;
  max-width:100%;
}
.banners .promo-banner-item {
  display:none;
  position:absolute;
  left:0px;
  top:0px;
  width:100%;
}
.banners .promo-banner-item.active {
  display:block;
}
.banners IMG {
  position:absolute;
  left:0px;
  top:0px;
  display:inline-block;
}



/* Reserve exact promo banner height to prevent CLS.
   Desktop banners are 1920x538; mobile banners are 900x900. */
.banners-desktop .full {
  padding-bottom:28.020833%;
}
.banners-mobile .full {
  padding-bottom:100%;
}



.banners .promo-banner-item picture {
  display:block;
  position:absolute;
  left:0px;
  top:0px;
  width:100%;
  overflow:hidden;
}
.banners .promo-banner-item picture img {
  display:block;
  position:static;
  width:100%;
  height:auto;
}

.banners .promo-banner-item img {
  width:100%;
  height:auto;
}

/* Hide deferred promo banner images until JS assigns a real src.
   Prevents broken-image icon/alt text flash while keeping lazy next-banner loading. */
.banners .promo-banner-item img[data-src]:not([src]) {
  display:none;
}

/* Desktop/mobile promo banner split. */
.banners-mobile {
  display:none;
}

@media (max-width:900px) {
  .banners-desktop {
    display:none;
  }
  .banners-mobile {
    display:block;
  }
}

@media (min-width:901px) {
  .banners-desktop {
    display:block;
  }
  .banners-mobile {
    display:none;
  }
}
DIV.column.DynamicPagesBean {
  width:1560px;
  max-width:1560px;
  display:inline-block;
}
.column.right {
  width:1560px;
  max-width:1560px;
  font-size:14px;
}
.content {

}
.content.pages {
  padding:10px;
}
.column.right .panel {
  display:inline-block;
}
.column.left {

}
.caption {
  color:#e3262e;
  padding:7px;
  display:block;
  font-size:15px;
}
.caption-pg {
  background-color: #3a3a3a;
  color:#bbbbbb;
  padding:10px;
  display:block;
  font-size:16px;
  text-transform:uppercase;
  border-radius:7px;
}
h1.caption-pg,
h1.title.caption {
  margin:0;
  font-family:inherit;
  font-weight:inherit;
  line-height:inherit;
}
.seo_hidden_h1 {
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}
.DefaultButton {
  background-color: #3366ff;
  background: #3366ff;
  border-radius:0px;
  border: 1px solid #000000;
}
.DefaultButton:visited {
  color: white;
}
.DefaultButton:hover {
  color: white;
  -moz-box-shadow: 0 0 1px 1px #668cff;
  -webkit-box-shadow: 0 0 1px 1px #668cff;
  box-shadow: 0 0 1px 1px #e3262e;
}
.DefaultButton:active {
  color: #fff;
  -webkit-box-shadow: inset 0 0 1px 1px #ffffff ;
  -moz-box-shadow: inset 0 0 1px 1px #ffffff;
  box-shadow: inset 0 0 1px 1px #ffffff;
}
DIV.column.FactoryPagesBean {
  width:1560px;
  max-width:1560px;
  display:inline-block;
}
.caption .section {
  display:inline-block;
}
body.account .caption .section.welcome {

}
body.account .caption .section.buttons {
  float:right;
  clear:both;
  margin-top:-5px;
}
.column.right .panel {
  padding:15px;
}
body.account .registered_address FORM {
  width:440px;
}
body.account .order_history .list {
  display:table;
}
body.account .order_history .item {
  display:table-row;
}
body.account .order_history .cell {
  display:table-cell;
  padding:5px;
  border-bottom:1px solid #cccccc;
}
body.account .order_history .cell.oneline {
  white-space:nowrap;
}
body.account .order_history .list .item.head .cell {
  background-color:#cccccc;
}
body.orders .message {
  display:block;
}
body.orders .message.error {
  color:#650000;
  font-size:16px;
}
body.orders .message.success {
  color:green;
  font-size:16px;
}
body.orders .error_message {
  color:#650000;
  font-size:16px;
  display:block;
  padding-top:10px;
  padding-bottom:10px;
}
body.orders .confirm_ticket {
  font-size:18px;
  color:#255a79;
  display:block;
  margin-top:10px;
}
body.orders .item LABEL {

}
body.orders .item SPAN {
  font-weight:bold;
}
body.orders .column.right .panel {
  display:block;
}

/* Product sidebar vertical spacing between blocks. */
.products_wrap .column.left .section + .section {
  margin-top:10px;
}

/* Product/sidebar panels that are not filter forms may exceed the viewport when category trees are expanded. */
@media (min-width:901px) {
  .products_wrap > .column.left.no_product_filters {
    max-height:calc(100vh - var(--products-sidebar-sticky-top, 53px) - var(--products-sidebar-bottom-gap, 10px));
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:none;
  }
  .products_wrap > .column.left.no_product_filters::-webkit-scrollbar {
    display:none;
  }
}


/* Product category sidebar: exact mobile dropdown arrow style. */
.products_wrap .column.left .TreeView[name="categories_tree"] .Node {
  display:flex;
  align-items:center;
  width:100%;
}
.products_wrap .column.left .TreeView[name="categories_tree"] .Node .Handle {
  display:flex;
  flex:0 0 24px;
  width:24px;
  min-width:24px;
  height:24px;
  align-items:center;
  justify-content:center;
  text-align:center;
  cursor:pointer;
}
.products_wrap .column.left .TreeView[name="categories_tree"] .Node .Handle .Button {
  display:flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border:0;
  border-radius:7px;
  background:rgba(255,255,255,0.06);
  color:#ffffff;
  font-family:Arial, Helvetica, sans-serif;
  font-size:18px;
  line-height:1;
  text-align:center;
}
.products_wrap .column.left .TreeView[name="categories_tree"] .Node .Handle .Button:before {
  content:"›";
  display:flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  line-height:1;
  text-align:center;
  transform:none;
  transform-origin:50% 50%;
}
.products_wrap .column.left .TreeView[name="categories_tree"] .Node[branch_type="opened"] .Handle .Button:before {
  content:"›";
  transform:rotate(90deg);
}
.products_wrap .column.left .TreeView[name="categories_tree"] .Node[branch_type="leaf"] .Handle .Button {
  background:transparent;
}
.products_wrap .column.left .TreeView[name="categories_tree"] .Node[branch_type="leaf"] .Handle .Button:before {
  content:"•";
  color:#e3262e;
  font-size:18px;
  transform:none;
}
.products_wrap .column.left .TreeView[name="categories_tree"] .Node[branch_type="leaf"] .Handle {
  cursor:default;
}
.products_wrap .column.left .TreeView[name="categories_tree"] .Node .ActionRenderer[action='TextTreeItemAction'] {
  display:block;
  line-height:1.25;
}
.products_wrap .column.left .TreeView[name="categories_tree"] .Node[branch_type="closed"] .Handle:hover .Button,
.products_wrap .column.left .TreeView[name="categories_tree"] .Node[branch_type="opened"] .Handle:hover .Button {
  background:rgba(227,38,46,0.22);
  color:#ffffff;
}

.column.left .tree_item .ActionRenderer {
  margin-top:10px;
  margin-left:25px;
  display:block;
  color:white;
}

/* Homepage responsive pass: keep other legacy pages stable for now. */
body.index {
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:hidden;
}
body.index .banners,
body.index .main {
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
body.index .banners .full,
body.index .main .full {
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
body.index .banners {
  overflow:hidden;
}
body.index .banners IMG {
  width:100%;
  height:auto;
}
body.index .categories_browser {
  width:100%;
  box-sizing:border-box;
}
body.index .categories_browser .item A {
  display:block;
}

@media (max-width: 1279px) {
  body.index .categories_browser .item {
    flex-basis:calc((100% - 20px) / 3);
  }
}

@media (max-width: 900px) {
  body.index .categories_browser .item {
    flex-basis:calc((100% - 10px) / 2);
  }
  body.index .home_intro_block {
    padding-right:0;
  }
  body.index .home_intro_block h2 {
    white-space:normal;
  }
}

@media (max-width: 900px) {
  html,
body.index {
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }
  body.index .main .full {
    padding-left:12px;
    padding-right:12px;
  }
  body.index .home_intro_block {
    margin-bottom:14px;
    padding:10px 15px 10px 15px;
  }
  body.index .home_intro_eyebrow {
    margin-bottom:15px;
    font-size:22px;
  }
  body.index .home_intro_block h2 {
    font-size:18px;
    line-height:1.2;
  }
  body.index .home_intro_block p {
    margin-top:10px;
    font-size:14px;
    line-height:1.5;
  }
  body.index .home_guidance_block {
    margin-top:14px;
    padding:16px 15px 4px 15px;
  }
  body.index .home_guidance_eyebrow {
    margin-bottom:15px;
    font-size:22px;
  }
  body.index .home_guidance_block h2 {
    font-size:18px;
    line-height:1.22;
  }
  body.index .home_guidance_block p {
    margin-top:9px;
    font-size:14px;
    line-height:1.5;
  }
  body.index .home_guidance_answers {
    grid-template-columns:1fr;
    gap:14px;
    margin-top:14px;
  }
  body.index .home_guidance_answer {
    padding-top:10px;
  }
  body.index .home_guidance_answer h3 {
    font-size:15px;
  }
  body.index .home_guidance_answer p {
    margin-top:7px;
    font-size:14px;
    line-height:1.5;
  }
  body.index .categories_browser {
    gap:10px;
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    justify-content:stretch;
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  body.index .categories_browser .item {
    display:block;
    flex:none;
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:hidden;
    box-sizing:border-box;
  }
  body.index .categories_browser .item A {
    display:block;
    width:100%;
    max-width:100%;
    overflow:hidden;
    box-sizing:border-box;
  }
  body.index .categories_browser .item IMG {
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    height:auto;
    aspect-ratio:410 / 201;
    object-fit:contain;
    object-position:center center;
  }
}

@media (max-width: 520px) {
}

@media (max-width: 360px) {
  body.index .categories_browser {
    grid-template-columns:1fr;
  }
  body.index .categories_browser .item {
    width:100%;
    max-width:100%;
  }
}


@media (max-width: 520px) {
  body.index .main .full {
    padding-left:0;
    padding-right:0;
  }
  body.index .categories_browser {
    gap:10px 0;
  }
  .products_wrap .column.left .section + .section {
    margin-top:12px;
  }
}

@media (max-width: 900px) {
  .column.left {
    display:none;
  }

  DIV.column.FactoryPagesBean,
.column.right,
.caption-pg,
.column.right .panel {
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    margin-left:0;
    margin-right:0;
    box-sizing:border-box;
  }
  .caption-pg,
.caption,
.panel,
.address_panel,
.description {
    overflow-wrap:anywhere;
  }
  img,
iframe,
table {
    max-width:100%;
  }
}

/* AirComfort 1:1 floating quick actions from reference screenshot:
   chat menu left; back-to-top right; phone right under back-to-top. */
.floating-contact {
  position:fixed;
  left:20px;
  bottom:10px;
  z-index:1200;
  width:44px;
  height:44px;
}

.floating-contact__toggle,
.floating-contact__option {
  width:44px;
  height:44px;
  border-radius:50%;
  border:0;
  outline:0;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  color:#ffffff;
  text-decoration:none;
  font:bold 18px/1 Arial, Helvetica, sans-serif;
  cursor:pointer;
  box-shadow:0 3px 10px rgba(0,0,0,0.25);
  transform:none;
}

.floating-contact__toggle {
  position:relative;
  z-index:2;
  background:#1d5dda;
}

.floating-contact i {
  display:block;
  font-size:18px;
  line-height:1;
}

.floating-contact__option i {
  font-size:20px;
}

.floating-contact__toggle .floating-contact__icon--close {
  display:none;
}

.floating-contact.open .floating-contact__toggle .floating-contact__icon--default {
  display:none;
}

.floating-contact.open .floating-contact__toggle .floating-contact__icon--close {
  display:block;
}

.floating-contact.open .floating-contact__toggle {
  background:#da1d1d;
}

.floating-contact__options {
  position:absolute;
  left:0;
  bottom:0;
  pointer-events:none;
}

.floating-contact__option {
  position:absolute;
  left:4px;
  bottom:4px;
  opacity:0;
  pointer-events:none;
  transform:translate(0, 0) scale(0.4);
  transition:opacity 0.25s ease, transform 0.25s ease;
  box-shadow:0 2px 8px rgba(0,0,0,0.2);
}

.floating-contact__option--whatsapp { background:#25d366; }
.floating-contact__option--viber { background:#7360f2; }
.floating-contact__option--messenger { background:#0084ff; }

.floating-contact.open .floating-contact__options {
  pointer-events:auto;
}

.floating-contact.open .floating-contact__option {
  opacity:1;
  pointer-events:auto;
}

.floating-contact.open .floating-contact__option:nth-child(1) {
  transform:translate(4px, -72px) scale(1);
  transition-delay:0s;
}

.floating-contact.open .floating-contact__option:nth-child(2) {
  transform:translate(54px, -54px) scale(1);
  transition-delay:0.07s;
}

.floating-contact.open .floating-contact__option:nth-child(3) {
  transform:translate(72px, -4px) scale(1);
  transition-delay:0.14s;
}

.floating-cart-shortcut {
  position:fixed;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  z-index:1195;
  width:52px;
  height:52px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  color:#ffffff;
  text-decoration:none;
  background:#e3262e;
  box-shadow:0 4px 14px rgba(0,0,0,0.28);
  -webkit-tap-highlight-color:transparent;
  tap-highlight-color:transparent;
  touch-action:manipulation;
}

.floating-cart-shortcut:active {
  background:#e3262e;
}

.floating-cart-shortcut__icon:before {
  content:"\f07a";
  font-family:"Font Awesome 7 Free";
  font-weight:900;
  font-size:22px;
  line-height:1;
}

.floating-cart-shortcut__count {
  position:absolute;
  right:-4px;
  top:-6px;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  color:#ffffff;
  background:#222222;
  border:2px solid #ffffff;
  font:700 12px/1 Arial, Helvetica, sans-serif;
  box-shadow:0 2px 7px rgba(0,0,0,0.25);
}

#back-to-top,
.contact-phone {
  position:fixed;
  right:20px;
  z-index:1190;
  width:44px;
  height:44px;
  border-radius:50%;
  border:0;
  outline:0;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  color:#ffffff;
  text-decoration:none;
  font:bold 18px/1 Arial, Helvetica, sans-serif;
  cursor:pointer;
  box-shadow:0 3px 10px rgba(0,0,0,0.25);
}

#back-to-top {
  bottom:62px;
  background:#dd2f2f;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}

#back-to-top.visible {
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.contact-phone {
  bottom:10px;
  background:#29b97a;
}

#back-to-top i,
.contact-phone i {
  display:block;
  font-size:18px;
  line-height:1;
}

#back-to-top i {
  font-size:20px;
}

.contact-phone i {
  transform:none;
}

@media (min-width:901px) {
  .contact-phone {
    display:none;
  }

  .floating-contact {
    left:auto;
    right:20px;
    bottom:10px;
  }

  .floating-contact.open .floating-contact__option:nth-child(1) {
    transform:translate(-4px, -72px) scale(1);
  }

  .floating-contact.open .floating-contact__option:nth-child(2) {
    transform:translate(-54px, -54px) scale(1);
  }

  .floating-contact.open .floating-contact__option:nth-child(3) {
    transform:translate(-72px, -4px) scale(1);
  }

  #back-to-top {
    bottom:62px;
  }
}

/* Mobile touch highlight cleanup: prevent square Android/iOS tap flash
   on the round header and floating action buttons. */
@media (max-width:900px) {
  .floating-contact,
  .floating-contact__toggle,
  .floating-contact__option,
  #back-to-top,
  .contact-phone {
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    -webkit-touch-callout:none;
    outline:none;
    user-select:none;
  }

  .floating-contact__toggle:focus,
  .floating-contact__toggle:active,
  .floating-contact__option:focus,
  .floating-contact__option:active,
  #back-to-top:focus,
  #back-to-top:active,
  .contact-phone:focus,
  .contact-phone:active {
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    outline:none;
  }
  body.details.product_mobile_buy_bar_visible .floating-contact,
  body.details.product_mobile_buy_bar_visible .contact-phone {
    bottom:calc(10px + var(--product-mobile-buy-bar-space, 0px));
  }
  body.details.product_mobile_buy_bar_visible .floating-cart-shortcut {
    bottom:calc(10px + var(--product-mobile-buy-bar-space, 0px));
  }
  body.details.product_mobile_buy_bar_visible #back-to-top {
    bottom:calc(62px + var(--product-mobile-buy-bar-space, 0px));
  }
  body.mobile-menu-open .floating-contact,
  body.mobile-menu-open .floating-cart-shortcut,
  body.mobile-menu-open #back-to-top,
  body.mobile-menu-open .contact-phone {
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }
}


.banners-desktop .full {
  aspect-ratio:1920 / 538;
}
.banners-mobile .full {
  aspect-ratio:1 / 1;
}
