:root {
  --smola_calc-orange: #3b7ad9;
  --smola_calc-green: #3b7ad9;
  --smola_calc-bg:rgb(255, 255, 255);
  --smola_calc-card: #ffffff;
  --smola_calc-text: #1f2933;
  --smola_calc-muted: #5f6b7a;
  --smola_calc-border: #e6e8ef;
  --smola_calc-focus: #7ec8a5;
  --smola_calc-radius: 14px;
  --smola_calc-shadow: 0 6px 18px rgba(17,17,26,.06);
}
.smola_calc-dtf { color: var(--smola_calc-text); background: var(--smola_calc-bg); font-family: "SF Pro Display", Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; font-size: 15px; line-height: 1.6; overflow-x: hidden; }
.smola_calc-dtf * { box-sizing: border-box; }
.smola_calc-dtf img, .smola_calc-dtf video, .smola_calc-dtf iframe { max-width: 100%; height: auto; }
.smola_calc-container { width: min(1120px, 100%); margin: 0 auto; padding: 0 20px; }
/* Улучшение для touch-устройств */
@media (hover: none) and (pointer: coarse) {
  .smola_calc-btn, .smola_calc-option, .smola_calc-messengers__item { min-height: 44px; }
  .smola_calc-input, .smola_calc-select { min-height: 44px; }
  .smola_calc-messengers__close { min-width: 44px; min-height: 44px; }
}
.smola_calc-card { background: #fff; border: 1px solid var(--smola_calc-border); border-radius: 12px; box-shadow: 0 4px 14px rgba(0,0,0,0.05); }
.smola_calc-section { padding: 26px 0; }
.smola_calc-section__head { display:flex; align-items:end; justify-content:space-between; margin-bottom: 14px; flex-wrap: wrap; gap: 8px; }
.smola_calc-h2 { margin:0; font-size: clamp(21px, 3.6vw, 30px); font-weight: 700; word-wrap: break-word; overflow-wrap: break-word; }
.smola_calc-muted { color: var(--smola_calc-muted); word-wrap: break-word; overflow-wrap: break-word; }

/* Калькулятор */
.smola_calc-calc { padding: 16px; display:grid; grid-template-columns: 1fr; gap: 16px; }
.smola_calc-calc__grid { display:grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }

/* Ensure mode blocks span the full calculator width (all grid columns) */
.smola_calc-mode-block { grid-column: 1 / -1; }
.smola_calc-field { display:grid; gap: 6px; }
.smola_calc-field label { font-size: 14px; color: var(--smola_calc-muted); font-weight: 600; }
.smola_calc-input, .smola_calc-select { width: 100%; padding: 14px 14px; border-radius: 10px; border: 1px solid var(--smola_calc-border); background:#fff; color: var(--smola_calc-text); outline:none; font-size:16px; }
.smola_calc-input:focus, .smola_calc-select:focus { border-color: var(--smola_calc-focus); box-shadow: 0 0 0 3px rgba(126,200,165,.15); }
.smola_calc-options { display:grid; grid-template-columns: repeat(2, 1fr); gap:10px; }
.smola_calc-option { display:grid; gap:6px; padding:12px; border:1px solid var(--smola_calc-border); border-radius:12px; background:#fff; text-align:left; cursor:pointer; }
.smola_calc-option:is(:hover,:focus-visible) { border-color: color-mix(in oklab, var(--smola_calc-orange), white 30%); outline:none; }
.smola_calc-option.is-active { border-color: var(--smola_calc-orange); box-shadow: 0 0 0 3px rgba(126,200,165,.15); }
.smola_calc-option__title { font-weight:800; font-size:16px; word-wrap: break-word; overflow-wrap: break-word; }
.smola_calc-option__desc { font-size:13px; color: var(--smola_calc-muted); word-wrap: break-word; overflow-wrap: break-word; line-height: 1.5; }
.smola_calc-field--full { grid-column: 1 / -1; }

.smola_calc-total { display:grid; grid-template-columns: 1.2fr .8fr; gap: 12px; }
.smola_calc-total__box { padding: 16px; }
.smola_calc-total__sum { font-weight: 900; font-size: clamp(24px, 3.5vw, 32px); }
.smola_calc-total__row { display:flex; align-items:center; justify-content:space-between; padding: 10px 0; border-bottom: 1px dashed var(--smola_calc-border); font-size:14px; }
.smola_calc-note { font-size: 13px; color: var(--smola_calc-muted); }

.smola_calc-cta-row { display:flex; align-items:center; flex-wrap:nowrap; gap: 10px; }
.smola_calc-btn-fixed { white-space: nowrap; min-width: 180px; }
.smola_calc-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding: 11px 16px; border-radius: 10px; border: 1px solid var(--smola_calc-orange); background: var(--smola_calc-orange); color:#fff; font-weight:700; text-decoration:none; cursor:pointer; box-shadow: 0 6px 18px rgba(59,122,217,0.20); transition: transform .15s ease, box-shadow .15s ease; white-space: nowrap; font-size:14px; word-wrap: break-word; overflow-wrap: break-word; }
.smola_calc-btn:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(59,122,217,0.25); }
.smola_calc-btn--ghost { background: transparent; color: var(--smola_calc-text); border: 1px solid var(--smola_calc-border); box-shadow:none; }
.smola_calc-btn--ghost:hover { border-color: var(--smola_calc-orange); }
.smola_calc-btn--sm { padding: 9px 12px; border-radius: 10px; font-weight: 600; font-size:14px; }

.smola_calc-alert{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--smola_calc-border);background:#f0f3f7;border-radius:12px;color:var(--smola_calc-text);}
.smola_calc-alert__icon{font-size:18px;line-height:1;margin-top:2px}

/* Sticker list layout: two sticker inputs per row using CSS Grid so fields never overflow */
.smola_calc-sticker-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.smola_calc-sticker-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 44px;gap:10px;align-items:center;width:100%;padding:8px 6px;min-height:44px;box-sizing:border-box}
.smola_calc-sticker-row input{padding:10px 8px;line-height:1.2;box-sizing:border-box;width:100%}
.smola_calc-field-w, .smola_calc-field-h {width:100%;min-width:0;text-align:center}
.smola_calc-field-qty {width:100%;min-width:0;text-align:center}
.smola_calc-sticker-row .smola_calc-remove {width:44px;height:44px}

/* Single-mode: left column (odd) left-aligned, right column (even) right-aligned */
#singleMode .smola_calc-sticker-list .smola_calc-sticker-row:nth-child(odd){justify-content:flex-start}
#singleMode .smola_calc-sticker-list .smola_calc-sticker-row:nth-child(odd) input{text-align:left}
#singleMode .smola_calc-sticker-list .smola_calc-sticker-row:nth-child(even){justify-content:flex-end}
#singleMode .smola_calc-sticker-list .smola_calc-sticker-row:nth-child(even) input{text-align:right}

/* Pack mode: left sizes, right sticker inputs */
.smola_calc-pack-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.smola_calc-pack-left .smola_calc-field{display:flex;flex-direction:column;gap:8px}
.smola_calc-pack-right .smola_calc-field{display:flex;flex-direction:column;gap:8px}

/* Pack-mode (desktop): sticker inputs single-per-row and right-aligned (keep original flex-based layout)
  Mobile overrides live inside the @media (max-width: 560px) block and will still use grid there. */
.smola_calc-pack-right .smola_calc-sticker-list{display:flex;flex-direction:column;align-items:flex-end}
.smola_calc-pack-right .smola_calc-sticker-row{width:100% !important;flex:0 0 100% !important;justify-content:flex-end;display:flex;gap:10px;align-items:center;padding:8px 6px;box-sizing:border-box}
.smola_calc-pack-right .smola_calc-sticker-row input{flex:0 0 120px !important;width:120px !important;text-align:right;padding:8px 8px}

/* Style checkbox #packBg like the delete button: rounded square, blue when active */
#packBg{
  -webkit-appearance:none;
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:10px;
  border:1px solid var(--smola_calc-border);
  background:#fff;
  cursor:pointer;
  box-shadow: 0 6px 18px rgba(59,122,217,0.10);
  transition: all .15s ease;
  margin-right:8px;
}
#packBg:focus{outline:none;box-shadow: 0 6px 18px rgba(59,122,217,0.16);}
/* draw a checkmark when checked */
#packBg::after{
  content:'';
  display:block;
  width:10px;
  height:16px;
  border-right:3px solid var(--smola_calc-orange);
  border-bottom:3px solid var(--smola_calc-orange);
  transform: rotate(45deg) scale(0.8);
  opacity:0;
  transition: opacity .12s ease, transform .12s ease;
  box-sizing:content-box;
}
#packBg:checked{
  background: var(--smola_calc-orange);
  border-color: var(--smola_calc-orange);
  box-shadow: 0 6px 18px rgba(59,122,217,0.20);
}
#packBg:checked::after{
  opacity:1;
  border-color: #fff;
  transform: rotate(45deg) scale(1);
}

/* Диалог выбора мессенджера */
.smola_calc-messengers{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);z-index:1001;display:none;align-items:center;justify-content:center;padding:0;border:none;outline:none;background:none;overflow:visible;opacity:0;transition:opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);margin:0;box-sizing:border-box;}
.smola_calc-messengers__backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;opacity:0;display:none;z-index:998;transition:opacity 0.3s ease;}
.smola_calc-messengers__backdrop.is-open{opacity:0.5;display:block;}
.smola_calc-messengers.is-open{display:flex !important;opacity:1;}
/* Убеждаемся, что затемнение покрывает всю страницу */
body.dialog-open{overflow:hidden !important;position:static !important;}
html.dialog-open{overflow:hidden !important;height:100% !important;position:relative !important;}
.smola_calc-messengers__content{background:var(--smola_calc-card);border-radius:var(--smola_calc-radius);box-shadow:var(--smola_calc-shadow);padding:24px;width:500px;max-width:90vw;position:relative;border:none;outline:none;margin:0;transform:scale(0.95) translateY(-10px);opacity:0;transition:transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);max-height:90vh;overflow-y:auto;flex-shrink:0;-webkit-overflow-scrolling:touch;}
.smola_calc-messengers.is-open .smola_calc-messengers__content{transform:scale(1) translateY(0);opacity:1;}
.smola_calc-messengers__title{font-size:20px;font-weight:700;margin:0 0 16px 0;color:var(--smola_calc-text);}
.smola_calc-messengers__list{display:grid;gap:12px;margin-bottom:16px;}
.smola_calc-messengers__item{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--smola_calc-border);border-radius:10px;text-decoration:none;color:var(--smola_calc-text);transition:all 0.15s ease;background:#fff;}
.smola_calc-messengers__item:hover{border-color:var(--smola_calc-orange);box-shadow:0 2px 8px rgba(59,122,217,0.1);transform:translateY(-1px);}
.smola_calc-messengers__icon{font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;width:24px;height:24px;}
.smola_calc-messengers__icon img{width:100%;height:100%;object-fit:contain;}
.smola_calc-messengers__text{flex:1;font-weight:600;font-size:15px;}
.smola_calc-messengers__close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;background:transparent;cursor:pointer;font-size:20px;color:var(--smola_calc-muted);display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all 0.15s ease;}
.smola_calc-messengers__close:hover{background:var(--smola_calc-border);color:var(--smola_calc-text);}

/* Адаптивные стили */
@media (max-width: 1200px) {
  .smola_calc-container { padding: 0 16px; }
  .smola_calc-calc { padding: 14px; }
}

/* Small screens: sticker rows should be single-column and inputs full width */
@media (max-width: 960px) {
  .smola_calc-sticker-row{flex:0 0 100%;width:100%;max-width:100%}
  .smola_calc-field-w, .smola_calc-field-h, .smola_calc-field-qty{flex:0 0 auto;width:auto}
}

@media (max-width: 960px) {
  .smola_calc-container { padding: 0 16px; }
  .smola_calc-calc { padding: 14px; gap: 14px; }
  .smola_calc-calc__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .smola_calc-total { grid-template-columns: 1fr; gap: 12px; }
  .smola_calc-section { padding: 20px 0; }
  .smola_calc-section__head { flex-direction: column; align-items: flex-start; gap: 8px; }
  .smola_calc-h2 { font-size: clamp(20px, 4vw, 28px); }
  .smola_calc-cta-row { flex-wrap: wrap; }
  .smola_calc-btn-fixed { min-width: 100%; width: 100%; }
  .smola_calc-messengers__content { width: 90vw; max-width: 500px; padding: 20px; }
}

@media (max-width: 768px) {
  .smola_calc-container { padding: 0 12px; }
  .smola_calc-calc { padding: 12px; gap: 12px; }
  .smola_calc-section { padding: 16px 0; }
  .smola_calc-section__head { margin-bottom: 12px; }
  .smola_calc-h2 { font-size: clamp(18px, 5vw, 24px); }
  .smola_calc-field label { font-size: 13px; }
  .smola_calc-input, .smola_calc-select { padding: 12px; font-size: 16px; }
  .smola_calc-total__box { padding: 14px; }
  .smola_calc-total__sum { font-size: clamp(22px, 4vw, 28px); }
  .smola_calc-total__row { padding: 8px 0; font-size: 13px; }
  .smola_calc-note { font-size: 12px; }
  .smola_calc-btn { padding: 12px 14px; font-size: 14px; }
  .smola_calc-option { padding: 10px; }
  .smola_calc-option__title { font-size: 15px; }
  .smola_calc-option__desc { font-size: 12px; }
  .smola_calc-messengers__content { width: 95vw; padding: 18px; }
  .smola_calc-messengers__title { font-size: 18px; margin-bottom: 14px; }
  .smola_calc-messengers__item { padding: 12px; }
  .smola_calc-messengers__text { font-size: 14px; }
}

@media (max-width: 560px) {
  .smola_calc-container { padding: 0 8px; }
  .smola_calc-calc { padding: 8px; gap: 8px; }
  .smola_calc-calc__grid { grid-template-columns: 1fr; gap: 8px; }
  .smola_calc-options { grid-template-columns: 1fr; gap: 6px; }
  .smola_calc-section { padding: 10px 0; }
  .smola_calc-section__head { margin-bottom: 8px; }
  .smola_calc-h2 { font-size: clamp(16px, 6vw, 20px); }
  .smola_calc-field { gap: 4px; }
  .smola_calc-field label { font-size: 11px; }
  .smola_calc-input, .smola_calc-select { padding: 8px 6px; font-size: 14px; border-radius: 8px; }
  .smola_calc-total__box { padding: 10px; }
  .smola_calc-total__sum { font-size: clamp(18px, 5vw, 22px); }
  .smola_calc-total__row { padding: 6px 0; font-size: 11px; }
  .smola_calc-note { font-size: 10px; line-height: 1.4; }
  .smola_calc-btn { padding: 10px 10px; font-size: 12px; border-radius: 8px; gap: 6px; }
  .smola_calc-btn--sm { padding: 8px 10px; font-size: 12px; }
  .smola_calc-option { padding: 8px; border-radius: 10px; gap: 4px; }
  .smola_calc-option__title { font-size: 13px; }
  .smola_calc-option__desc { font-size: 10px; }
  .smola_calc-cta-row { gap: 6px; flex-wrap: wrap; }
  .smola_calc-btn-fixed { min-width: 100%; }
  .smola_calc-alert { padding: 6px 8px; font-size: 11px; gap: 6px; }
  .smola_calc-alert__icon { font-size: 14px; }
  .smola_calc-messengers__content { width: 95vw; padding: 12px; border-radius: 12px; }
  .smola_calc-messengers__title { font-size: 16px; margin-bottom: 12px; }
  .smola_calc-messengers__list { gap: 8px; margin-bottom: 12px; }
  .smola_calc-messengers__item { padding: 10px; border-radius: 8px; }
  .smola_calc-messengers__icon { font-size: 18px; width: 18px; height: 18px; }
  .smola_calc-messengers__text { font-size: 12px; }
  .smola_calc-messengers__close { width: 26px; height: 26px; top: 8px; right: 8px; font-size: 16px; }
  
  /* Mobile sticker rows: single column, use grid so inputs wrap and never overflow */
  .smola_calc-sticker-list { flex-direction: column; gap: 6px; }
  .smola_calc-sticker-row {
    width: 100%;
    flex: 0 0 100%;
    max-width: 100%;
    padding: 4px 2px;
    min-height: 36px;
    gap: 4px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) 36px;
    align-items: center;
  }
  .smola_calc-sticker-row input { padding: 6px 8px; font-size: 13px; width: 100%; box-sizing: border-box; }
  .smola_calc-field-w, .smola_calc-field-h, .smola_calc-field-qty { flex: 0 0 auto; min-width: 0; }
  .smola_calc-sticker-row .smola_calc-remove { width: 36px; height: 36px; flex: 0 0 auto; justify-self: center; }
  
  /* Mobile pack grid: single column */
  .smola_calc-pack-grid { grid-template-columns: 1fr; gap: 8px; }
  
  /* Pack stickers on mobile: full width, use grid to keep two inputs + button on one line */
  .smola_calc-pack-right .smola_calc-sticker-list { flex-direction: column; align-items: stretch; gap: 6px; }
  .smola_calc-pack-right .smola_calc-sticker-row {
    width: 100% !important;
    flex: 0 0 100% !important;
    padding: 4px 2px;
    gap: 6px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) 36px;
    align-items: center;
  }
  .smola_calc-pack-right .smola_calc-sticker-row input { padding: 6px 8px; font-size: 13px; width: 100% !important; box-sizing: border-box; }
}

@media (max-width: 360px) {
  .smola_calc-container { padding: 0 8px; }
  .smola_calc-calc { padding: 8px; }
  .smola_calc-h2 { font-size: 18px; }
  .smola_calc-input, .smola_calc-select { padding: 10px; font-size: 16px; }
  .smola_calc-total__box { padding: 10px; }
  .smola_calc-total__sum { font-size: 20px; }
  .smola_calc-btn { padding: 10px; font-size: 12px; }
  .smola_calc-messengers__content { padding: 14px; }
}

/* Оптимизация для landscape ориентации на мобильных */
@media (max-width: 960px) and (orientation: landscape) {
  .smola_calc-calc__grid { grid-template-columns: repeat(3, 1fr); }
  .smola_calc-total { grid-template-columns: repeat(2, 1fr); }
  .smola_calc-cta-row { flex-wrap: nowrap; }
  .smola_calc-btn-fixed { min-width: auto; width: auto; }
}

@media (max-width: 768px) and (orientation: landscape) {
  .smola_calc-calc__grid { grid-template-columns: repeat(3, 1fr); }
  .smola_calc-total { grid-template-columns: repeat(2, 1fr); }
}

/* Оптимизация для очень широких экранов */
@media (min-width: 1400px) {
  .smola_calc-container { max-width: 1200px; }
}
