﻿ï»¿/* Restores the theme's native accordion look/behavior for .info_ext_block
   (collapsed-by-default text + plus/cross toggle icon), which in the stock
   theme is scoped to ".product-main .info_ext_block". Re-scoped here because
   the tabs block now lives inside .product-detail-gallery. */
.product-detail-gallery .product-chars{
  padding-left:0;
  display:block;
  margin-top:24px;
  padding-top:24px;
  border-top:1px solid var(--stroke_black, #ececec);
}
.product-detail-gallery .info_ext_block {
  width: 100%;
  padding: 24px 0 17px;
  border-top: 1px solid var(--stroke_black, #ececec);
  border-bottom: 1px solid var(--stroke_black, #ececec);
  margin: 0px;
}
.product-detail-gallery .info_ext_block + .info_ext_block {
  margin-top: -1px;
}
.product-detail-gallery .info_ext_block .title {
  text-transform: uppercase;
  color: var(--white_text_black2, #222);
  letter-spacing: 0.3px;
  position: relative;
  padding: 0 0 6px;
  cursor: pointer;
}
.product-detail-gallery .info_ext_block .title:before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 12px;
  height: 12px;
  background-image: url("/local/templates/aspro_max/images/svg/catalog/pluscross_sprite.svg");
  background-position: var(--light, 0px 0px) var(--dark, -46px 0px);
  background-repeat: no-repeat;
  opacity: 0.7;
  transition: opacity 0.3s ease;
}
.product-detail-gallery .info_ext_block .title:hover:before {
  opacity: 1;
  background-position: var(--light, -22px 0px) var(--dark, -46px 0px);
  background-color: var(--light, var(--theme-base-color)) var(--dark, var(--black_bg_black));
}
.product-detail-gallery .info_ext_block .title.opened:before {
  background-position: var(--light, -12px 0px) var(--dark, -58px 0px);
  width: 10px;
}
.product-detail-gallery .info_ext_block .title.opened:hover:before {
  background-position: var(--light, -35px 0px) var(--dark, -58px 0px);
}
.product-detail-gallery .info_ext_block .text {
  padding: 0 0 8px;
  display: none;
}
.product-detail-gallery .info_ext_block .text.text--with-pt {
  padding-top: 15px;
  color: var(--light_basic_text_black, #777);
}

.calc-card,
.calc-card *{box-sizing:border-box}

.product-calculator-block{
  margin-top:32px;
}

.calc-card{
  width:100%;
  background:var(--card_bg_black, #fff);
  border-radius:8px;
  padding:20px 22px;
  border:1px solid var(--stroke_black, #ececec);
  font-family:"Montserrat", Arial, sans-serif;
  color:var(--white_text_black, #232323);
}

.calc-title{
  font-size:12px;
  font-weight:700;
  letter-spacing:1px;
  color:var(--light_basic_text_black, #9a9a9a);
  margin-bottom:16px;
  text-transform:uppercase;
}

.calc-step{ border-top:1px solid var(--stroke_black, #ececec); padding-top:12px; margin-top:2px; padding-bottom:12px; }
.calc-step[data-step="0"]{ border-top:none; padding-top:0; margin-top:0; }

.calc-step-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  cursor:pointer;
}
.calc-step-title{ font-size:13px; font-weight:700; flex-shrink:0; }
.calc-step-summary{
  font-size:13px; color:var(--basic_text_black, #8a8a8a);
  min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  text-align:right;
}
.calc-step-summary:empty{ display:none; }

.calc-step-body{
  display:grid;
  grid-template-rows:1fr;
  opacity:1;
  margin-top:10px;
  transition:grid-template-rows .3s ease, opacity .25s ease, margin-top .3s ease;
}
.calc-step-body.collapsed{
  grid-template-rows:0fr;
  opacity:0;
  margin-top:0;
}
.calc-step-body > .calc-option-list,
.calc-step-body > .calc-pill-list{
  overflow:hidden;
  min-height:0;
}

.calc-option-list{ display:flex; flex-direction:column; gap:6px; }
.calc-option-row{
  display:flex; justify-content:space-between; align-items:center;
  gap:10px;
  padding:10px 12px; border-radius:6px; font-size:13px; cursor:pointer;
  background:var(--light_bg_black, #fafafa); border:1px solid var(--stroke_black, #ececec); color:var(--basic_text_black, #4a4a4a);
  transition:background .15s, border-color .15s;
}
.calc-option-row:hover{
  border-color:#08a826;
}
.calc-option-row.selected{
  background:rgba(8,168,38,.08); border:1px solid #08a826; color:var(--white_text_black, #2f2f2f);
}
.calc-option-row > span:first-child{
  min-width:0;
}
.calc-option-price{
  color:var(--basic_text_black, #8a8a8a);
  white-space:nowrap;
  flex-shrink:0;
}

.calc-option-main{ display:flex; align-items:center; gap:7px; min-width:0; }
.calc-option-main .calc-option-name{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.calc-step-body > .calc-option-list.calc-option-list--scroll{
  overflow-y:auto;
  padding-right:8px;
  scrollbar-width:thin;
  scrollbar-color:#08a826 transparent;
}
.calc-option-list--scroll::-webkit-scrollbar{ width:6px; }
.calc-option-list--scroll::-webkit-scrollbar-track{ background:transparent; }
.calc-option-list--scroll::-webkit-scrollbar-thumb{ background:#08a826; border-radius:3px; }

.calc-info-btn{
  flex:none;
  width:16px; height:16px;
  border-radius:50%;
  border:1.5px solid var(--light_basic_text_black, #b5b5b5);
  background:none;
  color:var(--light_basic_text_black, #8a8a8a);
  font-size:10px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  padding:0;
  font-weight:700;
  font-family:"Montserrat", Arial, sans-serif;
  transition:border-color .15s, color .15s;
}
.calc-info-btn:hover,
.calc-info-btn:focus-visible{
  border-color:#08a826;
  color:#08a826;
  outline:none;
}

.calc-option-label{ display:flex; align-items:center; gap:8px; min-width:0; }
.calc-checkbox{
  width:16px; height:16px; border-radius:4px; display:inline-flex;
  align-items:center; justify-content:center; font-size:11px; color:#fff;
  background:transparent; border:1px solid var(--checkbox_dark_light, #c9c9c9); flex:none;
}
.calc-option-row.selected .calc-checkbox{
  background:#08a826; border:1px solid #08a826;
}
.calc-option-row.selected .calc-checkbox::after{ content:"\2713"; }

.calc-pill-list{ display:flex; flex-wrap:wrap; gap:8px; }
.calc-pill{
  display:inline-flex; align-items:center; gap:7px;
  padding:8px 12px 8px 16px; border-radius:20px; font-size:13px; cursor:pointer;
  white-space:nowrap;
  background:var(--light_bg_black, #f2f2f2); color:var(--basic_text_black, #4a4a4a); border:1px solid var(--stroke_black, #ececec);
  transition:background .15s, border-color .15s;
}
.calc-pill:hover{
  border-color:#08a826;
}
.calc-pill.selected{
  background:#08a826; color:#fff; border:1px solid #08a826; font-weight:700;
}
.calc-pill.selected .calc-info-btn{
  border-color:rgba(255,255,255,.6);
  color:#fff;
}
.calc-pill.selected .calc-info-btn:hover{
  border-color:#fff;
  color:#fff;
}

.calc-total-block{ border-top:1px solid var(--stroke_black, #ececec); padding-top:14px; margin-top:14px; }
.calc-total-row{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 10px; }
.calc-total-label{ font-size:13px; color:var(--basic_text_black, #8a8a8a); white-space:nowrap; }
.calc-total-prices{ display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.calc-old-price{ font-size:14px; color:var(--light_basic_text_black, #b5b5b5); text-decoration:line-through; white-space:nowrap; }
.calc-total-price{ font-size:20px; font-weight:700; white-space:nowrap; }

.calc-total-footer{
  display:flex; align-items:center; justify-content:space-between;
  gap:10px; flex-wrap:wrap;
  margin-top:10px;
}

.calc-attach{ display:flex; align-items:center; min-width:0; }
.calc-attach-btn{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12.5px; color:#08a826;
  cursor:pointer; white-space:nowrap;
  min-width:0;
}
.calc-attach-btn:hover{ color:#079021; }
.calc-attach-btn svg{ flex:none; color:#08a826; }
.calc-attach-name{
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:160px;
  text-decoration:underline dotted; text-underline-offset:3px;
}
.calc-attach-input{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); border:0;
}

.calc-savings-row{
  display:flex; align-items:center; gap:6px;
  flex-wrap:wrap;
  padding:3px 8px 3px 3px;
  background:#fdf6e3;
  border:1px solid #f0d488;
  border-radius:6px;
}
.calc-discount-badge{
  background:#f5b942; color:#7a4a00; font-size:11px; font-weight:700;
  padding:2px 6px; border-radius:4px;
  white-space:nowrap;
}
.calc-savings-label{ font-size:12px; color:#8a6d1f; white-space:nowrap; }

.calc-checkout-btn{
  width:100%; background:#08a826; color:#fff; border:none; border-radius:6px;
  padding:14px; font-size:13px; font-weight:700; letter-spacing:.5px; text-transform:uppercase;
  cursor:pointer; margin-top:14px; font-family:"Montserrat", Arial, sans-serif;
  transition:background .15s;
}
.calc-checkout-btn:hover{ background:#079021; }

@keyframes calc-anchor-pulse{
  0%{ box-shadow:0 0 0 0 rgba(8,168,38,.55); }
  100%{ box-shadow:0 0 0 12px rgba(8,168,38,0); }
}
.calc-anchor-highlight{
  animation:calc-anchor-pulse .8s ease-out 2;
  /* "ÐÐ¾Ð´Ð¾Ð±ÑÐ°ÑÑ Ð»Ð¸Ð½Ð·Ñ" now sits right next to "Ð ÐºÐ¾ÑÐ·Ð¸Ð½Ñ" with only a small
     gap â without this, the pulse's outward glow gets visually covered by
     that neighboring button instead of ringing all the way around. */
  position:relative;
  z-index:5;
}

/* SEO text block: full width, collapsed by default (only first paragraph shown) */
.seo-text-block{
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid var(--stroke_black, #ececec);
  font-family:"Montserrat", Arial, sans-serif;
}
.seo-text-block__content p{
  display:none;
  margin:0 0 14px;
  font-size:14px;
  line-height:1.7;
  color:var(--basic_text_black, #4a4a4a);
}
.seo-text-block__content p:first-child{ display:block; }
.seo-text-block__content.expanded p{ display:block; }
.seo-text-block__toggle{
  margin-top:4px;
  background:none;
  border:none;
  padding:0;
  color:#08a826;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  font-family:"Montserrat", Arial, sans-serif;
}
.seo-text-block__toggle:hover{ text-decoration:underline; }

/* Info modal, opened from the "?" buttons next to calculator options.
   z-index bumped well above the theme's own fixed-position chrome (e.g. the
   accessibility "style-switcher" eye/gear widget pinned top-left on every
   page) -- at 2000 that widget rendered ON TOP of this overlay's dimmed
   background, breaking the header and looking like a stray white box while
   the modal was open. */
.calc-modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(20,22,20,.55);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  z-index:100000;
  opacity:0;
  visibility:hidden;
  transition:opacity .2s ease;
}
.calc-modal-overlay--visible{
  opacity:1;
  visibility:visible;
}
.calc-modal{
  background:var(--card_bg_black, #fff);
  border-radius:10px;
  max-width:420px;
  width:100%;
  max-height:85vh;
  overflow-y:auto;
  padding:22px;
  position:relative;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
  font-family:"Montserrat", Arial, sans-serif;
  transform:translateY(8px);
  transition:transform .2s ease;
}
.calc-modal-overlay--visible .calc-modal{ transform:translateY(0); }
.calc-modal-close{
  position:absolute;
  top:12px; right:12px;
  width:28px; height:28px;
  border-radius:50%;
  border:none;
  background:var(--light_bg_black, #f2f2f2);
  color:var(--basic_text_black, #4a4a4a);
  font-size:18px;
  line-height:1;
  cursor:pointer;
}
.calc-modal-close:hover{ background:#e7e7e7; }
.calc-modal-image{ margin:-22px -22px 16px; border-radius:10px 10px 0 0; overflow:hidden; }
.calc-modal-image:empty{ display:none; }
.calc-modal-image img{ width:100%; display:block; }
.calc-modal-title{
  font-weight:700;
  font-size:16px;
  margin-bottom:8px;
  padding-right:22px;
  color:var(--white_text_black, #232323);
}
.calc-modal-text{
  font-size:14px;
  line-height:1.6;
  color:var(--basic_text_black, #4a4a4a);
}

@media (prefers-reduced-motion:reduce){
  .calc-modal-overlay,
  .calc-modal{ transition:none; }
}

/* Tighten the large native gap between the breadcrumbs/title block and the
   photo+price row below it (sibling-scoped, so it only ever matches right
   after the title block and can't affect spacing elsewhere on the page). */
.top-block-wrapper + .wrapper_inner{
  margin-top:-24px;
}

/* ---------------------------------------------------------------------
   Polish pass for the theme's own purchase block (timer / price / stock /
   buy button / delivery note) so it reads as one considered card next to
   the calculator, instead of a loose stack of plain elements. Scoped
   safely: this stylesheet only loads on this specific preview template. */
.product-action .info_item{
  border:1px solid var(--stroke_black, #ececec);
  border-radius:8px;
  padding:20px 22px;
  background:var(--card_bg_black, #fff);
}
.product-action .quantity_block_wrapper{
  margin-top:10px;
}
.product-action .buy_block{
  margin-top:16px;
}
.product-action .text-form{
  margin-top:18px;
  padding-top:28px;
  border-top:1px solid var(--stroke_black, #ececec);
}
.product-action .text-form.muted{
  margin-top:10px;
  padding-top:10px;
  border-top:none;
}

/* "Ð ÐºÐ¾ÑÐ·Ð¸Ð½Ñ" + "ÐÐ¾Ð´Ð¾Ð±ÑÐ°ÑÑ Ð»Ð¸Ð½Ð·Ñ" sit side by side, sharing the row's
   full width evenly (the native theme leaves the second half empty when
   there's no quantity-counter sibling for this simple, non-SKU product). */
.product-action .counter_wrapp.big.list{
  display:flex;
  align-items:center;
  gap:12px;
}
.product-action .counter_wrapp.big.list > .button_block{
  flex:1 1 0;
  min-width:0;
}
.calc-lens-select-btn{
  flex:1 1 0;
  min-width:0;
  background:#2993da;
  color:#fff;
  border:none;
  border-radius:26px;
  padding:0 20px;
  font-size:12px;
  font-weight:normal;
  letter-spacing:.8px;
  text-transform:uppercase;
  cursor:pointer;
  font-family:"Montserrat", Arial, sans-serif;
  transition:background .15s;
}
.calc-lens-select-btn:hover{ background:#217bb8; }

/* On narrower screens the buy row is too tight for two side-by-side pill
   buttons â the theme itself already treats this exact buy_block area as
   cramped starting around 1050px (see its own white-space:normal fix for
   .middle_info .buy_block .counter_wrapp at that width), so match that
   threshold rather than the generic phone-only 767px breakpoint. */
@media (max-width:1050px){
  .product-action .counter_wrapp.big.list{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
  }
  .product-action .counter_wrapp.big.list > .button_block{
    width:100% !important;
    flex:none !important;
  }
  .calc-lens-select-btn{
    width:100% !important;
    flex:none !important;
    margin-top:8px;
  }
  /* The stacked two-button layout takes up more vertical room than the
     single-row desktop layout, so give the divider before the delivery
     note a bit more breathing room too. */
  .product-action .text-form{
    margin-top:26px;
  }
}

/* Lens consultation modal (opened from "ÐÐ¾Ð´Ð¾Ð±ÑÐ°ÑÑ Ð»Ð¸Ð½Ð·Ñ"), styled to match
   the site's own popup forms (ÐÐ°ÐºÐ°Ð·Ð°ÑÑ Ð·Ð²Ð¾Ð½Ð¾Ðº, ÐÐ°Ð´Ð°ÑÑ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¸ Ñ.Ð¿.):
   5px corner radius, generous padding, centered intro block.
   Sized ~20% larger than the base info-tooltip modal. */
.calc-modal--lead{
  max-width:552px;
  border-radius:5px;
  padding:36px;
}
.calc-lead-image{
  width:100%;
  height:180px;
  margin:0 0 20px;
  border-radius:8px;
  overflow:hidden;
  background:var(--light_bg_black, #f4f6f4);
  display:flex;
  align-items:center;
  justify-content:center;
}
.calc-lead-image img{ width:100%; height:100%; object-fit:cover; display:block; }
.calc-lead-title{
  font-weight:700;
  font-size:23px;
  margin-bottom:10px;
  text-align:center;
  color:var(--white_text_black, #232323);
}
.calc-lead-text{
  font-size:17px;
  line-height:1.5;
  color:var(--basic_text_black, #4a4a4a);
  text-align:center;
  margin-bottom:24px;
}
.calc-lead-field{ margin-bottom:14px; }
.calc-lead-field label{
  display:block;
  font-size:14px;
  color:var(--basic_text_black, #6a6a6a);
  margin-bottom:6px;
}
.calc-lead-field input{
  width:100%;
  border:1px solid var(--stroke_black, #ececec);
  border-radius:7px;
  padding:12px 14px;
  font-size:17px;
  font-family:"Montserrat", Arial, sans-serif;
  color:var(--white_text_black, #232323);
  background:var(--light_bg_black, #fafafa);
}
.calc-lead-field input:focus{
  outline:none;
  border-color:#2993da;
}
.calc-lead-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:16px 0 22px;
}
.calc-lead-consent input[type="checkbox"]{
  width:19px;
  height:19px;
  margin-top:3px;
  flex-shrink:0;
  accent-color:#08a826;
  cursor:pointer;
}
.calc-lead-consent label{
  font-size:14px;
  line-height:1.5;
  color:var(--basic_text_black, #6a6a6a);
  cursor:pointer;
}
.calc-lead-consent label a{
  color:#08a826;
  text-decoration:underline dotted;
  text-underline-offset:2px;
}
.calc-lead-submit{
  width:100%;
  background:#2993da;
  color:#fff;
  border:none;
  border-radius:7px;
  padding:16px;
  font-size:16px;
  font-weight:700;
  letter-spacing:.3px;
  text-transform:uppercase;
  cursor:pointer;
  margin-top:6px;
  font-family:"Montserrat", Arial, sans-serif;
  transition:background .15s;
}
.calc-lead-submit:hover{ background:#217bb8; }
.calc-lead-success{
  font-size:17px;
  color:#08a826;
  font-weight:700;
  text-align:center;
  padding:12px 0;
}



