/* Approved standalone block 14: prototype.css */
/* V3.1 composition only. Original 12 donor stylesheets remain byte-identical. */
.storage-preparation .prototype { width: 1436px; }.storage-preparation .immutable { display: block; width: 1436px; max-width: none; height: auto; }.storage-preparation { display: flow-root; }
/* 40px is the donor spacing used by hello-block and the compact b-about rules. */
.storage-preparation #services,
.storage-preparation #why,
.storage-preparation #process { margin-bottom: 40px; }
/* Remove duplicate image-row top padding; retain native item margin of 30px. */
.storage-preparation #process .images_block { padding-top: 0; }
/* Compact form padding reuses donor 40px; all field and button styles retained. */
.storage-preparation #request { padding-top: 40px; }.storage-preparation .b-feedback .form,
.storage-preparation .b-feedback .select__box { overflow: visible !important; }
/* Retain the original 390px card and its internal styling. */
.storage-preparation #storage .services-slider__item { width: 390px; margin: 20px auto 0; }.storage-preparation #storage .images_block_title { margin-top: 0; }.storage-preparation #storage { margin: 30px 0 40px; }


/* Approved standalone block 15: variant-a.css */
/* Study adaptation of native .steps_list__item and .services-slider__item.
   Original donor CSS and V3.1 are preserved. */
.storage-preparation .compact-items { list-style: none; padding: 0; margin: 25px 0 0; }.storage-preparation .compact-items .steps_list__item { min-height: 36px; margin-bottom: 14px; padding: 0; }.storage-preparation .compact-items .steps_list__item:last-child { margin-bottom: 0; }.storage-preparation .compact-items .steps_list__item .number { width: 36px; height: 36px; font-size: 23px; line-height: 1; }.storage-preparation .compact-items .steps_list__item .text { padding: 6px 0 6px 51px; font-size: 17px; line-height: 24px; font-weight: 600; text-align: left; }.storage-preparation .process-items { margin-top: 25px; }.storage-preparation .process-items .steps_list__item .text { font-weight: 400; }
/* Existing 4/8 desktop grid: same image, copy, CTA and container. */
.storage-preparation #storage .storage-horizontal { width: auto; padding: 0; margin: 0; }.storage-preparation #storage .storage-horizontal .image { height: auto; }.storage-preparation #storage .storage-horizontal .image img { display: block; height: auto; object-fit: contain; border-left: 11px solid #f77d00; }.storage-preparation #storage .storage-horizontal .content { padding: 0 15px; border: none; }.storage-preparation #storage .storage-horizontal h2 { margin-top: 0; }.storage-preparation #storage .storage-horizontal .text { margin-top: 20px; }.storage-preparation #storage .storage-horizontal .js-button { width: 350px; margin: 25px 0 0; }


/* Approved standalone block 16: price.css */
/* Local composition using the site's col-sm-7/5, service content and price typography. */
.storage-preparation .preparation-cost-row { margin-top: 25px; }.storage-preparation .preparation-cost-row .process-items { margin-top: 0; }.storage-preparation .preparation-cost-row .preparation-cost { width: auto; margin: 0; padding: 0; }.storage-preparation .preparation-cost .priceh .pribl { margin: 20px 0 0; color: #f77d00; font-weight: 600; }.storage-preparation .preparation-cost .text p { margin-bottom: 0; text-align: left; }


/* Approved standalone block 17: content-v3-4.css */
/* Layout additions for the content-expanded prototype. */
.storage-preparation .info-section { margin-bottom: 44px !important; }.storage-preparation .info-section .dop_text > h2 { margin-top: 0; }.storage-preparation .info-section .dop_text > p { max-width: none; }.storage-preparation #purpose { margin-top: 44px; }.storage-preparation .purpose-points,
.storage-preparation .storage-scenarios { padding-top: 30px; padding-bottom: 0; }.storage-preparation .purpose-points > div,
.storage-preparation .storage-scenarios > div { padding-right: 22px; }.storage-preparation .purpose-points p,
.storage-preparation .storage-scenarios p { font-size: 18px; line-height: 1.2; }.storage-preparation .purpose-points ul,
.storage-preparation .storage-scenarios ul { padding-top: 10px; }.storage-preparation .purpose-points ul li,
.storage-preparation .storage-scenarios ul li { line-height: 1.45; text-align: left; }.storage-preparation .service-detail-grid { margin-top: 10px; }.storage-preparation .service-details { margin-top: 20px; }.storage-preparation .service-details .steps_list__item { min-height: 78px; margin-bottom: 16px; }.storage-preparation .service-details .steps_list__item .number { top: 2px; }.storage-preparation .service-details .steps_list__item .text { padding-top: 0; padding-bottom: 0; }.storage-preparation .service-details .steps_list__item .text strong { display: block; font-size: 17px; line-height: 1.25; }.storage-preparation .service-details .steps_list__item .text .detail,
.storage-preparation .process-items .steps_list__item .text .detail { display: block; margin-top: 5px; font-size: 14px; line-height: 1.4; font-weight: 300; color: #555; }.storage-preparation #why .first-screen_text p { text-align: left; line-height: 1.4; }.storage-preparation #process .preparation-cost-row { align-items: flex-start; }.storage-preparation #process .process-items .steps_list__item { min-height: 70px; margin-bottom: 13px; }.storage-preparation #process .process-items .steps_list__item .text { padding-top: 0; padding-bottom: 0; }.storage-preparation #process .process-items .steps_list__item .text strong { display: block; font-size: 16px; line-height: 1.25; font-weight: 600; }.storage-preparation .preparation-cost .content { padding-top: 28px; }.storage-preparation .preparation-cost .text { margin-top: 14px; }.storage-preparation .faq-grid { margin-top: 20px; }.storage-preparation .faq-item { min-height: 150px; margin-bottom: 22px; padding: 22px 24px; border: 1px solid #d5d5d5; border-top: 4px solid #f77d00; background: #fff; }.storage-preparation .faq-item h3 { margin: 0 0 12px; font-size: 18px; line-height: 1.3; font-family: 'Open Sans', sans-serif; font-weight: 700; text-transform: none; }.storage-preparation .faq-item p { margin: 0; font-size: 15px; line-height: 1.45; font-weight: 300; text-align: left; }.storage-preparation .faq-wide { min-height: auto; }.storage-preparation .distinction-section .row { margin-top: 8px; }.storage-preparation .distinction-section p { text-align: left; line-height: 1.4; }.storage-preparation .distinction-section p strong { font-size: 18px; }.storage-preparation #storage { margin-top: 0; }@media (max-width: 767px) {.storage-preparation .purpose-points > div,
.storage-preparation .storage-scenarios > div { margin-bottom: 24px; }.storage-preparation .service-details .steps_list__item,
.storage-preparation #process .process-items .steps_list__item { min-height: 62px; }.storage-preparation .faq-item { min-height: auto; }
}




/* Approved standalone block 18: polish-v3-5.css */
/* V3.5 visual cleanup: centered composition, equal cards, process text alignment and spacing. */

/* Keep the site's native 1170px Bootstrap container, but center the editorial content inside it. */
.storage-preparation .info-section .dop_text,
.storage-preparation #process .dop_text,
.storage-preparation #why .photo-prod,
.storage-preparation #storage .storage-horizontal {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}

/* Consistent vertical rhythm. */
.storage-preparation .info-section {
  margin-bottom: 0 !important;
  padding: 48px 0;
}.storage-preparation #purpose { margin-top: 0; padding-top: 52px; }.storage-preparation #services { padding-top: 38px; }.storage-preparation #conditions { padding-top: 38px; }.storage-preparation #why { margin-bottom: 0 !important; padding: 52px 0; }.storage-preparation #process { margin-bottom: 0 !important; padding: 50px 0 54px; }.storage-preparation #faq { padding-top: 50px; padding-bottom: 46px; }.storage-preparation #distinction { padding-top: 54px; padding-bottom: 34px; }.storage-preparation #storage { margin-top: 0; padding-bottom: 42px; }

/* Center section headings and short lead copy. Long body copy stays readable. */
.storage-preparation #purpose .dop_text > h2,
.storage-preparation #services .dop_text > h2,
.storage-preparation #conditions .dop_text > h2,
.storage-preparation #process .dop_text > h2,
.storage-preparation #faq .dop_text > h2,
.storage-preparation #distinction .dop_text > h2 {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}.storage-preparation #purpose .dop_text > p,
.storage-preparation #services .dop_text > p,
.storage-preparation #conditions .dop_text > p,
.storage-preparation #process .dop_text > p,
.storage-preparation #distinction .dop_text > p {
  max-width: 900px;
  margin: 16px auto 0;
  text-align: center;
  line-height: 1.45;
}

/* Purpose cards: existing MotoSave orange-circle visual language with native Font Awesome. */
.storage-preparation .purpose-points {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  margin-top: 34px;
  padding-top: 0;
}.storage-preparation .purpose-points > div {
  display: flex;
  padding: 0 12px;
}.storage-preparation .purpose-card {
  width: 100%;
  min-height: 232px;
  padding: 22px 16px 20px;
  border: 1px solid #ececec;
  background: #fff;
  text-align: center;
}.storage-preparation .purpose-card .purpose-icon {
  width: 64px;
  height: 64px;
  line-height: 64px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: #f77d00;
  color: #fff;
  font-size: 26px;
}.storage-preparation .purpose-card .purpose-icon i { line-height: 64px; }.storage-preparation .b-about .purpose-card .purpose-title {
  margin: 0;
  min-height: 42px;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
  text-align: center;
}.storage-preparation .b-about .purpose-card .purpose-copy {
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.45;
  text-align: center;
}

/* Service list: balanced numbering and copy, no collisions with native absolute numbers. */
.storage-preparation .service-detail-grid { margin-top: 30px; }.storage-preparation .service-details { margin-top: 0; }.storage-preparation .service-details .steps_list__item,
.storage-preparation .process-items .steps_list__item {
  display: flex;
  align-items: flex-start;
  min-height: 0 !important;
  position: relative;
}.storage-preparation .service-details .steps_list__item { margin-bottom: 22px; }.storage-preparation .service-details .steps_list__item .number,
.storage-preparation .process-items .steps_list__item .number {
  position: static !important;
  top: auto !important;
  left: auto !important;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  min-width: 36px;
  font-size: 22px;
  line-height: 36px;
  color: #fff;
  background: #f77d00;
  display: flex;
  align-items: center;
  justify-content: center;
}.storage-preparation .service-details .steps_list__item .text,
.storage-preparation .process-items .steps_list__item .text {
  display: block;
  flex: 1 1 auto;
  padding: 0 !important;
  margin-left: 14px;
  text-align: left;
}.storage-preparation .service-details .steps_list__item .text strong,
.storage-preparation .process-items .steps_list__item .text strong {
  display: block;
  line-height: 1.3;
}.storage-preparation .service-details .steps_list__item .text .detail,
.storage-preparation .process-items .steps_list__item .text .detail {
  display: block;
  margin-top: 6px;
  line-height: 1.45;
}

/* Conditions use three equal, centered columns. */
.storage-preparation .storage-scenarios {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  margin-top: 30px;
  padding-top: 0;
}.storage-preparation .storage-scenarios > div { display: flex; padding: 0 14px; }.storage-preparation .storage-scenarios > div > p:first-child { display: none; }.storage-preparation .storage-scenarios > div > ul {
  width: 100%;
  margin: 0;
  padding: 22px 20px;
  border-top: 4px solid #f77d00;
  border-left: 1px solid #e6e6e6;
  border-right: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  background: #fff;
  list-style: none;
}.storage-preparation .storage-scenarios > div > ul::before {
  display: block;
  margin-bottom: 12px;
  font-family: 'PlayBold', sans-serif;
  font-size: 18px;
  line-height: 1.2;
  text-align: center;
  color: #1b1a1a;
}.storage-preparation .storage-scenarios > div:nth-child(1) > ul::before { content: 'Гараж'; }.storage-preparation .storage-scenarios > div:nth-child(2) > ul::before { content: 'Подземный паркинг'; }.storage-preparation .storage-scenarios > div:nth-child(3) > ul::before { content: 'Закрытый бокс'; }.storage-preparation .storage-scenarios ul li { margin: 0; padding: 0; text-align: center; line-height: 1.45; }

/* Text + image block: visually centered and vertically aligned. */
.storage-preparation #why .photo-prod > .row {
  display: flex;
  align-items: center;
}.storage-preparation #why .first-screen_img img { width: 100%; height: auto; display: block; }.storage-preparation #why .first-screen_text { padding-left: 28px; }.storage-preparation #why .first-screen_text h2 { margin-top: 0; }.storage-preparation #why .first-screen_text p { text-align: left; line-height: 1.48; }

/* Process: fix text-over-number defect and align the price card with the list. */
.storage-preparation #process .images_block {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}.storage-preparation #process .images_block__item figure { overflow: hidden; }.storage-preparation #process .images_block__item img { width: 100%; height: 228px; object-fit: cover; }.storage-preparation #process .preparation-cost-row {
  display: flex;
  align-items: stretch;
  margin-top: 30px;
}.storage-preparation #process .process-items { margin: 0; }.storage-preparation #process .process-items .steps_list__item { margin-bottom: 20px; }.storage-preparation #process .process-items .steps_list__item:last-child { margin-bottom: 0; }.storage-preparation #process .process-items .steps_list__item .text strong { font-size: 16px; font-weight: 600; }.storage-preparation #process .process-items .steps_list__item .text .detail { font-size: 14px; color: #555; }.storage-preparation #process .preparation-cost-row > .col-sm-5 { display: flex; }.storage-preparation #process .preparation-cost {
  width: 100%;
  margin: 0;
  display: flex;
}.storage-preparation #process .preparation-cost .content {
  width: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}.storage-preparation #process .preparation-cost .js-button { margin-top: auto; }

/* FAQ: true two-column equal-height rows instead of masonry-like float stacking. */
.storage-preparation .faq-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  margin-top: 30px;
}.storage-preparation .faq-grid > [class*='col-'] { display: flex; }.storage-preparation .faq-item {
  width: 100%;
  min-height: 0;
  margin-bottom: 28px;
  padding: 24px 26px;
  display: flex;
  flex-direction: column;
  border: 1px solid #dedede;
  border-top: 4px solid #f77d00;
  background: #fff;
}.storage-preparation .faq-item h3 { margin: 0 0 12px; }.storage-preparation .faq-item p { margin: 0; line-height: 1.5; }.storage-preparation .faq-wide { min-height: 0; }

/* Give the opened form a clean separation from the following white section. */
.storage-preparation #request { margin-bottom: 0 !important; }.storage-preparation #request + #distinction { margin-top: 0; }

/* Distinction and storage are centered and balanced. */
.storage-preparation .distinction-section .row { margin-top: 30px; display: flex; align-items: stretch; }.storage-preparation .distinction-section .row > div { padding: 0 24px; }.storage-preparation .distinction-section p { text-align: left; line-height: 1.5; }.storage-preparation #storage .storage-horizontal { margin-top: 0; }@media (max-width: 767px) {.storage-preparation .info-section,
.storage-preparation #why,
.storage-preparation #process,
.storage-preparation #faq,
.storage-preparation #distinction { padding-top: 34px; padding-bottom: 34px; }.storage-preparation .purpose-points,
.storage-preparation .storage-scenarios,
.storage-preparation #why .photo-prod > .row,
.storage-preparation #process .preparation-cost-row,
.storage-preparation .distinction-section .row { display: block; }.storage-preparation .purpose-points > div,
.storage-preparation .storage-scenarios > div,
.storage-preparation .faq-grid > [class*='col-'] { display: block; }.storage-preparation .purpose-card { min-height: 0; margin-bottom: 18px; }.storage-preparation .storage-scenarios > div > ul { margin-bottom: 18px; }.storage-preparation #why .first-screen_text { padding-left: 15px; padding-top: 22px; }.storage-preparation #process .images_block__item img { height: auto; }.storage-preparation #process .preparation-cost-row > .col-sm-5 { display: block; margin-top: 28px; }.storage-preparation .faq-item { margin-bottom: 18px; }.storage-preparation .distinction-section .row > div { padding: 0 15px; }
}.storage-preparation .purpose-card .purpose-icon svg {
  width: 29px;
  height: 29px;
  vertical-align: middle;
  display: inline-block;
}


/* Approved standalone block 19: inline */

/* V3.6 correction: center the entire 1436px page in the browser viewport.
   Restore native left alignment and full Bootstrap container width inside sections. */

.storage-preparation html,
.storage-preparation {
  width: 100%;
  margin: 0;
  padding: 0;
}.storage-preparation {
  background: #fff;
}.storage-preparation {
  width: 1436px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
}

/* Header and footer stay inside the centered page wrapper. */
.storage-preparation > .immutable,
.storage-preparation > img.immutable {
  display: block;
  width: 100%;
  max-width: 1436px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

/* Undo the V3.5 interpretation that centered the contents of every section. */
.storage-preparation .info-section .dop_text,
.storage-preparation #process .dop_text,
.storage-preparation #why .photo-prod,
.storage-preparation #storage .storage-horizontal {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}.storage-preparation #purpose .dop_text > h2,
.storage-preparation #services .dop_text > h2,
.storage-preparation #conditions .dop_text > h2,
.storage-preparation #process .dop_text > h2,
.storage-preparation #faq .dop_text > h2,
.storage-preparation #distinction .dop_text > h2 {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}.storage-preparation #purpose .dop_text > p,
.storage-preparation #services .dop_text > p,
.storage-preparation #conditions .dop_text > p,
.storage-preparation #process .dop_text > p,
.storage-preparation #distinction .dop_text > p {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}

/* Return the image row to the full native container width. */
.storage-preparation #process .images_block {
  max-width: none;
  margin-left: -15px;
  margin-right: -15px;
}

/* The four icon cards remain internally centered by design. */
.storage-preparation .purpose-card,
.storage-preparation .purpose-card .purpose-title,
.storage-preparation .purpose-card .purpose-copy,
.storage-preparation .storage-scenarios > div > ul::before,
.storage-preparation .storage-scenarios ul li {
  text-align: center;
}@media (max-width: 1435px) {.storage-preparation {
    width: 100%;
  }
}



/* Approved standalone block 20: polish-v3-7.css */

/* V3.7: widen the content area of all body sections to match the visual width of the page.
   The hero keeps its original donor container so its white promo card does not shift. */

@media (min-width: 1200px) {.storage-preparation > section:not(#hero) > .container {
    width: calc(100% - 40px);
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
  }

  /* Rows and block-specific wrappers now use the widened container instead of 1080/1140 px caps. */
  .storage-preparation > section:not(#hero) .dop_text,
.storage-preparation #why .photo-prod,
.storage-preparation #process .images_block,
.storage-preparation #storage .storage-horizontal {
    width: 100%;
    max-width: none;
  }
}



/* Approved standalone block 21: inline */

/* V3.8: use the full 1436px page content width for all body sections.
   Keep one native 15px Bootstrap gutter on each side so headings, cards, rows and forms share the same edges. */
@media (min-width: 1200px) {.storage-preparation > section:not(#hero) > .container {
    width: 100%;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
  }.storage-preparation > section:not(#hero) .dop_text,
.storage-preparation #why .photo-prod,
.storage-preparation #process .images_block,
.storage-preparation #storage .storage-horizontal {
    width: 100%;
    max-width: none;
  }
}


/* Approved standalone block 22: inline */

/* V3.9: selectable services, inspection plan, individual pricing and responsive layout. */
.storage-preparation #inspection-plan { margin-top: 8px; }.storage-preparation .inspection-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}.storage-preparation .inspection-card {
  position: relative;
  min-width: 0;
  padding: 26px 24px 24px;
  border: 1px solid #dedede;
  border-top: 4px solid #f77d00;
  background: #fff;
}.storage-preparation .inspection-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-bottom: 16px;
  border-radius: 50%;
  background: #f77d00;
  color: #fff;
  font-family: 'PlayBold', Arial, sans-serif;
  font-size: 15px;
}.storage-preparation .inspection-card h3 {
  margin: 0 0 13px;
  color: #1b1a1a;
  font-family: 'PlayBold', Arial, sans-serif;
  font-size: 21px;
  line-height: 1.15;
  text-transform: none;
}.storage-preparation .inspection-card ul { margin: 0; padding-left: 19px; }.storage-preparation .inspection-card li {
  margin-bottom: 7px;
  color: #555;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 14px;
  line-height: 1.45;
}.storage-preparation .inspection-card li:last-child { margin-bottom: 0; }.storage-preparation .inspection-note {
  margin-top: 18px;
  padding: 18px 22px;
  border-left: 5px solid #f77d00;
  background: #f5f5f5;
  color: #333;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
}

/* Price card. */
.storage-preparation .preparation-cost .content { padding: 30px 28px 28px; }.storage-preparation .preparation-cost .price-kicker {
  margin-bottom: 10px;
  color: #777;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}.storage-preparation .preparation-cost .individual-price {
  color: #f77d00;
  font-family: 'PlayBold', Arial, sans-serif;
  font-size: 36px;
  line-height: 1;
}.storage-preparation .preparation-cost .text { margin-top: 16px; }.storage-preparation .preparation-cost .js-button { margin-top: 24px; }

/* Request section and service choice. */
.storage-preparation #request { padding-top: 52px; padding-bottom: 58px; }.storage-preparation #request .form { width: 100%; max-width: none; }.storage-preparation #request form { padding-top: 28px; }.storage-preparation .service-picker {
  margin: 0 0 28px;
  padding: 0;
  border: 0;
}.storage-preparation .service-picker legend {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  color: #fff;
  font-family: 'PlayBold', Arial, sans-serif;
  font-size: 28px;
  line-height: 1.2;
  text-align: left;
}.storage-preparation #request .service-picker__hint {
  margin: 10px 0 20px;
  color: #cfcfcf;
  font-size: 15px;
  line-height: 1.45;
  text-align: left;
}.storage-preparation .service-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}.storage-preparation .service-choice {
  position: relative;
  display: flex;
  align-items: flex-start;
  min-height: 92px;
  margin: 0;
  padding: 17px 18px 16px 54px;
  border: 1px solid #555;
  border-radius: 4px;
  background: #1b1a1a;
  color: #fff;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}.storage-preparation .service-choice:hover { border-color: #f77d00; background: #202020; }.storage-preparation .service-choice input {
  position: absolute;
  width: 1px !important;
  height: 1px !important;
  opacity: 0;
  pointer-events: none;
}.storage-preparation .service-choice__check {
  position: absolute;
  left: 18px;
  top: 20px;
  width: 22px;
  height: 22px;
  border: 2px solid #f77d00;
  border-radius: 3px;
  background: transparent;
}.storage-preparation .service-choice__check::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 1px;
  width: 7px;
  height: 12px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0);
  transition: transform .15s ease;
}.storage-preparation .service-choice input:checked + .service-choice__check { background: #f77d00; }.storage-preparation .service-choice input:checked + .service-choice__check::after { transform: rotate(45deg) scale(1); }.storage-preparation .service-choice:has(input:checked) { border-color: #f77d00; background: #241d18; }.storage-preparation .service-choice__body { min-width: 0; }.storage-preparation .service-choice__body strong {
  display: block;
  margin-bottom: 6px;
  color: #fff;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 16px;
  line-height: 1.25;
}.storage-preparation .service-choice__body small {
  display: block;
  color: #bfbfbf;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 13px;
  line-height: 1.4;
}.storage-preparation .request-price-summary {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 12px 20px;
  margin: 0 0 28px;
  padding: 18px 22px;
  border: 1px solid #f77d00;
  border-radius: 4px;
  background: #191919;
}.storage-preparation .request-price-summary__label {
  color: #bfbfbf;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}.storage-preparation .request-price-summary__value {
  color: #f77d00;
  font-family: 'PlayBold', Arial, sans-serif;
  font-size: 27px;
  line-height: 1;
}.storage-preparation .request-price-summary__text {
  color: #d2d2d2;
  font-size: 14px;
  line-height: 1.4;
}.storage-preparation #request .select__box { margin-top: 18px; }.storage-preparation #request .row:last-child { margin-top: 6px; }

/* Make the whole page fluid below the desktop canvas while preserving the desktop composition. */
.storage-preparation { overflow: hidden; }.storage-preparation > section > .container { max-width: 100%; }@media (max-width: 1199px) {.storage-preparation { width: 100%; max-width: 100%; }.storage-preparation > section:not(#hero) > .container {
    width: 100%;
    padding-left: 24px;
    padding-right: 24px;
  }.storage-preparation .inspection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.storage-preparation .service-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.storage-preparation #process .preparation-cost-row > [class*='col-'] { width: 100%; float: none; }.storage-preparation #process .preparation-cost-row > .col-sm-5 { margin-top: 20px; }.storage-preparation .preparation-cost { max-width: 560px; }
}@media (max-width: 991px) {.storage-preparation > section:not(#hero) > .container {
    padding-left: 22px;
    padding-right: 22px;
  }.storage-preparation #hero .container { width: 100%; padding-left: 22px; padding-right: 22px; }.storage-preparation .hello-block-content { max-width: 520px; }.storage-preparation .purpose-points > div,
.storage-preparation .storage-scenarios > div { width: 50%; margin-bottom: 20px; }.storage-preparation #why .first-screen { display: block; }.storage-preparation #why .first-screen_img,
.storage-preparation #why .first-screen_text { width: 100%; padding-left: 0; }.storage-preparation #why .first-screen_img img { width: 100%; max-height: 420px; object-fit: cover; }.storage-preparation #why .first-screen_text { padding-top: 24px; }.storage-preparation .faq-grid > [class*='col-'] { width: 100%; display: block; }.storage-preparation .faq-item { min-height: 0; }
}@media (max-width: 767px) {.storage-preparation { font-size: 15px; }.storage-preparation > section:not(#hero) > .container,
.storage-preparation #hero .container { padding-left: 16px; padding-right: 16px; }.storage-preparation > section:not(#hero) { margin-bottom: 30px !important; }.storage-preparation #hero { min-height: 430px; background-position: center; background-size: cover; }.storage-preparation #hero .hello-block-content {
    width: calc(100% - 12px);
    max-width: 520px;
    margin: 42px auto 0;
    padding: 26px 22px;
  }.storage-preparation #hero .hello-block-content__title { font-size: 31px; line-height: 1.08; }.storage-preparation #hero .hello-block-content__desc-text p { font-size: 15px; line-height: 1.45; }.storage-preparation #hero .btn { width: 100%; }.storage-preparation .dop_text > h2,
.storage-preparation #why h2 { font-size: 28px; line-height: 1.15; }.storage-preparation .purpose-points > div,
.storage-preparation .storage-scenarios > div { width: 100%; }.storage-preparation .inspection-grid { grid-template-columns: 1fr; gap: 12px; }.storage-preparation .inspection-card { padding: 22px 20px; }.storage-preparation .service-choice-grid { grid-template-columns: 1fr; }.storage-preparation .service-choice { min-height: 82px; padding-right: 15px; }.storage-preparation .request-price-summary {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 18px;
  }.storage-preparation .request-price-summary__value { font-size: 30px; }.storage-preparation #request { padding: 36px 0 42px; }.storage-preparation #request p.title { font-size: 30px; }.storage-preparation #request .row > [class*='col-'] { width: 100%; float: none; }.storage-preparation #request .select__box { margin-top: 22px; }.storage-preparation #process .process-items .steps_list__item { min-height: 0; padding-left: 0; }.storage-preparation #process .process-items .steps_list__item .number {
    position: relative;
    display: block;
    width: 44px;
    height: 44px;
    margin-bottom: 9px;
    font-size: 26px;
  }.storage-preparation #process .process-items .steps_list__item .text { padding: 0; }.storage-preparation .preparation-cost .individual-price { font-size: 33px; }.storage-preparation .faq-item { padding: 20px 18px; }.storage-preparation .distinction-section .row > div { width: 100%; float: none; margin-bottom: 18px; }.storage-preparation #storage .storage-horizontal .image,
.storage-preparation #storage .storage-horizontal .content { width: 100%; float: none; }.storage-preparation #storage .storage-horizontal .content { padding: 20px 0 0; }.storage-preparation #storage .storage-horizontal .js-button { width: 100%; }
}@media (max-width: 479px) {.storage-preparation #hero { min-height: 390px; }.storage-preparation #hero .hello-block-content { margin-top: 30px; padding: 22px 18px; }.storage-preparation #hero .hello-block-content__title { font-size: 27px; }.storage-preparation .dop_text > h2,
.storage-preparation #why h2 { font-size: 25px; }.storage-preparation .purpose-card { padding-left: 8px; padding-right: 8px; }.storage-preparation .inspection-card h3 { font-size: 19px; }.storage-preparation .service-picker legend { font-size: 24px; }.storage-preparation .service-choice { padding-left: 50px; }.storage-preparation .service-choice__check { left: 16px; }.storage-preparation .service-choice__body strong { font-size: 15px; }.storage-preparation #request p.title { font-size: 27px; }
}


/* Approved standalone block 24: inline */

/* V3.10: unified horizontal rhythm, manual vehicle fields, improved individual-price presentation. */
.storage-preparation {
  --motosave-section-edge: 32px;
  --motosave-inner-edge: 16px;
}

/* One consistent horizontal geometry for all content sections. */
@media (min-width: 1200px) {.storage-preparation > section:not(#hero) > .container {
    width: calc(100% - (var(--motosave-section-edge) * 2)) !important;
    max-width: none !important;
    margin-left: var(--motosave-section-edge) !important;
    margin-right: var(--motosave-section-edge) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Top-level rows use exactly the same left and right inner edge. */
.storage-preparation > section:not(#hero) > .container > .row,
.storage-preparation > section:not(#hero) .dop_text > .row,
.storage-preparation #why .photo-prod > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}.storage-preparation > section:not(#hero) > .container > .row > [class*='col-'],
.storage-preparation > section:not(#hero) .dop_text > .row > [class*='col-'],
.storage-preparation #why .photo-prod > .row > [class*='col-'] {
  padding-left: var(--motosave-inner-edge) !important;
  padding-right: var(--motosave-inner-edge) !important;
}

/* Text headings align with cards and columns rather than with the raw container edge. */
.storage-preparation > section:not(#hero) .dop_text > h2,
.storage-preparation > section:not(#hero) .dop_text > p {
  margin-left: var(--motosave-inner-edge) !important;
  margin-right: var(--motosave-inner-edge) !important;
}

/* Direct grid blocks get the same visual edge as row-based blocks. */
.storage-preparation #inspection-plan .inspection-grid,
.storage-preparation #inspection-plan .inspection-note {
  margin-left: var(--motosave-inner-edge) !important;
  margin-right: var(--motosave-inner-edge) !important;
}

/* Storage block follows the same visual edge. */
.storage-preparation #storage .storage-horizontal {
  width: auto !important;
  margin-left: var(--motosave-inner-edge) !important;
  margin-right: var(--motosave-inner-edge) !important;
}.storage-preparation #storage .storage-horizontal > .row,
.storage-preparation #storage .storage-horizontal .wrap.row {
  margin-left: calc(var(--motosave-inner-edge) * -1) !important;
  margin-right: calc(var(--motosave-inner-edge) * -1) !important;
}.storage-preparation #storage .storage-horizontal > .row > [class*='col-'],
.storage-preparation #storage .storage-horizontal .wrap.row > [class*='col-'] {
  padding-left: var(--motosave-inner-edge) !important;
  padding-right: var(--motosave-inner-edge) !important;
}

/* Form: manual vehicle fields use native MotoSave input styling, no select widgets. */
.storage-preparation #request .vehicle-manual-input {
  display: block;
  width: 100%;
  height: 55px;
  padding: 0 18px 0 28px;
  margin: 0;
  border: 1px solid #f77d00;
  border-radius: 3px;
  outline: none;
  background: #141313;
  color: #fff;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 55px;
  box-sizing: border-box;
}.storage-preparation #request .vehicle-manual-input::placeholder {
  color: #9f9f9f;
  opacity: 1;
}.storage-preparation #request .vehicle-manual-input:focus {
  border-color: #ff9225;
  box-shadow: 0 0 0 1px rgba(247,125,0,.2);
}

/* More polished individual price card. */
.storage-preparation .preparation-cost .content {
  border: 1px solid #ececec;
  border-top: 4px solid #f77d00;
  background: linear-gradient(180deg, #fff 0%, #fafafa 100%);
  padding: 28px 30px 30px !important;
}.storage-preparation .preparation-cost .price-kicker {
  margin: 0 0 16px;
  color: #707070;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}.storage-preparation .preparation-cost .individual-price--pretty {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #1b1a1a;
  font-family: 'PlayBold', Arial, sans-serif;
  font-size: 27px;
  line-height: 1.15;
}.storage-preparation .individual-price__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #f77d00;
  color: #fff;
  font-family: 'PlayBold', Arial, sans-serif;
  font-size: 28px;
  line-height: 1;
}.storage-preparation .individual-price__text { display: block; }.storage-preparation .preparation-cost .price-description {
  margin-top: 18px !important;
  color: #555;
}.storage-preparation .preparation-cost .price-description p {
  font-size: 14px;
  line-height: 1.5;
}.storage-preparation .preparation-cost .price-assurance {
  margin-top: 16px;
  padding: 11px 14px;
  border-radius: 3px;
  background: #fff4e8;
  color: #704013;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}

/* Price summary inside the request form becomes one clear information card. */
.storage-preparation .request-price-summary {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin: 0 0 28px !important;
  padding: 20px 22px !important;
  border: 1px solid #5d5d5d !important;
  border-left: 4px solid #f77d00 !important;
  border-radius: 4px !important;
  background: #191919 !important;
}.storage-preparation .request-price-summary__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #f77d00;
  color: #fff;
  font-family: 'PlayBold', Arial, sans-serif;
  font-size: 27px;
}.storage-preparation .request-price-summary__body { min-width: 0; }.storage-preparation .request-price-summary__label {
  margin-bottom: 3px;
  color: #a9a9a9;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}.storage-preparation .request-price-summary__value {
  color: #fff !important;
  font-family: 'PlayBold', Arial, sans-serif !important;
  font-size: 24px !important;
  line-height: 1.15 !important;
}.storage-preparation .request-price-summary__text {
  margin-top: 6px;
  color: #d0d0d0 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}@media (max-width: 1199px) {.storage-preparation {
    --motosave-section-edge: 14px;
    --motosave-inner-edge: 14px;
  }.storage-preparation > section:not(#hero) > .container {
    width: calc(100% - (var(--motosave-section-edge) * 2)) !important;
    max-width: none !important;
    margin-left: var(--motosave-section-edge) !important;
    margin-right: var(--motosave-section-edge) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}@media (max-width: 767px) {.storage-preparation {
    --motosave-section-edge: 0px;
    --motosave-inner-edge: 16px;
  }.storage-preparation > section:not(#hero) > .container {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }.storage-preparation .preparation-cost .individual-price--pretty {
    font-size: 23px;
  }.storage-preparation .individual-price__icon {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
    font-size: 24px;
  }.storage-preparation .request-price-summary {
    align-items: flex-start !important;
    gap: 13px !important;
    padding: 17px !important;
  }.storage-preparation .request-price-summary__badge {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
    font-size: 23px;
  }.storage-preparation .request-price-summary__value { font-size: 21px !important; }
}


/* Production integration states. */
.storage-preparation .sp-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.storage-preparation .sp-form-status {
  margin: 20px 0 0;
  padding: 14px 16px;
  border: 1px solid #f77d00;
  border-radius: 3px;
  color: #fff;
  font-size: 14px;
  line-height: 1.45;
  text-align: left;
}
.storage-preparation .sp-captcha-container {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.storage-preparation .sp-form-status[hidden] { display: none !important; }
.storage-preparation .sp-form-status.is-error {
  border-color: #d9534f;
  background: rgba(217, 83, 79, .12);
}
.storage-preparation .sp-form-status.is-success {
  border-color: #f77d00;
  background: rgba(247, 125, 0, .12);
}
.storage-preparation .sp-invalid,
.storage-preparation .service-choice.sp-invalid,
.storage-preparation #storage-preparation-consent.sp-invalid + label {
  outline: 2px solid #d9534f !important;
  outline-offset: 2px;
}
.storage-preparation .service-choice:focus-within {
  border-color: #ff9225;
  box-shadow: 0 0 0 2px rgba(247, 125, 0, .24);
}
.storage-preparation #winter-request button[disabled] {
  cursor: wait;
  opacity: .7;
}
.storage-preparation .sp-no-js {
  margin: 16px 0;
  color: #fff;
}

/*
 * Page-specific integration fixes.
 * The live desktop header is absolutely positioned, while mobile uses the
 * normal document flow. Keep the approved 30px hero spacing and reserve only
 * the header's measured height on desktop/tablet viewports.
 */
@media (min-width: 1200px) {
  .storage-preparation {
    padding-top: 134px;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .storage-preparation {
    padding-top: 149px;
  }
}

/*
 * The donor site globally justifies some copy. On narrow screens that creates
 * visibly stretched word spacing, so only the affected page copy is reset.
 */
@media (max-width: 767px) {
  .storage-preparation #inspection-plan .dop_text > p,
  .storage-preparation .inspection-card li {
    text-align: left;
  }
}

/* At the exact legacy tablet breakpoint the global desktop header wraps once. */
@media (min-width: 768px) and (max-width: 768px) {
  .storage-preparation {
    padding-top: 183px;
  }
}

/* Final acceptance fixes, 2026-09-21. */
.storage-preparation {
  padding-top: 0 !important;
}

/* Match the site's native 1140px desktop grid while keeping Bootstrap gutters. */
.storage-preparation > section:not(#hero) > .container {
  box-sizing: border-box;
  width: 1140px !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
}
.storage-preparation > section:not(#hero) > .container > .row,
.storage-preparation > section:not(#hero) .dop_text > .row,
.storage-preparation #why .photo-prod > .row,
.storage-preparation #storage .storage-horizontal > .row,
.storage-preparation #storage .storage-horizontal .wrap.row {
  margin-left: -15px !important;
  margin-right: -15px !important;
}
.storage-preparation > section:not(#hero) > .container > .row > [class*='col-'],
.storage-preparation > section:not(#hero) .dop_text > .row > [class*='col-'],
.storage-preparation #why .photo-prod > .row > [class*='col-'],
.storage-preparation #storage .storage-horizontal > .row > [class*='col-'],
.storage-preparation #storage .storage-horizontal .wrap.row > [class*='col-'] {
  padding-left: 15px !important;
  padding-right: 15px !important;
}
.storage-preparation > section:not(#hero) .dop_text > h2,
.storage-preparation > section:not(#hero) .dop_text > p,
.storage-preparation #inspection-plan .inspection-grid,
.storage-preparation #inspection-plan .inspection-note,
.storage-preparation #storage .storage-horizontal {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* The visual hero spans the available page width; only its content uses the site grid. */
.storage-preparation #hero {
  width: 100%;
  max-width: none;
  background-position: center;
  background-size: cover;
}

/* Neutral elements keep the accepted card typography without decorative headings. */
.storage-preparation .inspection-card__title {
  margin: 0 0 13px;
  color: #1b1a1a;
  font-family: 'PlayBold', Arial, sans-serif;
  font-size: 21px;
  line-height: 1.2;
}
.storage-preparation .faq-item__question {
  margin: 0 0 12px;
  font-family: 'Open Sans', sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  text-transform: none;
}

/* Remove inherited justification where it produces stretched word spacing. */
.storage-preparation #inspection-plan .dop_text > p,
.storage-preparation .inspection-card,
.storage-preparation .inspection-card .inspection-card__title,
.storage-preparation .inspection-card li,
.storage-preparation #process .process-items .steps_list__item,
.storage-preparation #process .process-items .detail {
  text-align: left !important;
}

/* Reuse the already loaded site Fancybox for the three process photographs. */
.storage-preparation #process .images_block__item figure > a {
  display: block;
  cursor: zoom-in;
}

/* Page-local CTA states avoid the oversized legacy hover sprite and clipping. */
.storage-preparation .preparation-cost .sp-open-form,
.storage-preparation .storage-link-button {
  display: block;
  box-sizing: border-box;
  padding: 13px 0;
  border: 0;
  color: #fff;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 20px;
  line-height: 28px;
  text-align: center;
  text-decoration: none;
}
.storage-preparation .sp-open-form,
.storage-preparation .storage-link-button,
.storage-preparation #winter-request button[type='submit'] {
  position: relative;
  overflow: hidden;
  border-radius: 3px;
  background-color: #f77d00 !important;
  background-image: linear-gradient(180deg, #ff9225 0%, #f77d00 100%) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  box-shadow: 0 2px 0 rgba(150, 67, 0, .28);
  transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.storage-preparation .sp-open-form:hover,
.storage-preparation .sp-open-form:focus,
.storage-preparation .storage-link-button:hover,
.storage-preparation .storage-link-button:focus,
.storage-preparation #winter-request button[type='submit']:hover,
.storage-preparation #winter-request button[type='submit']:focus {
  background-color: #e96f00 !important;
  background-image: linear-gradient(180deg, #ff9f3f 0%, #e96f00 100%) !important;
  box-shadow: 0 4px 10px rgba(128, 55, 0, .28);
  transform: translateY(-1px);
}
.storage-preparation .sp-open-form:focus-visible,
.storage-preparation .storage-link-button:focus-visible,
.storage-preparation #winter-request button[type='submit']:focus-visible {
  outline: 3px solid rgba(247, 125, 0, .42);
  outline-offset: 3px;
}
.storage-preparation #process .preparation-cost .sp-open-form {
  margin-top: auto;
}
.storage-preparation #storage .storage-horizontal .storage-link-button {
  width: 350px;
  margin: 25px 0 0;
}

/* Dedicated page modal: the existing form node is moved here and returned on close. */
body.sp-modal-open {
  overflow: hidden !important;
}
.sp-modal.storage-preparation[hidden] {
  display: none !important;
}
.sp-modal.storage-preparation {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: block;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: 28px 16px !important;
  background: rgba(0, 0, 0, .78);
  -webkit-overflow-scrolling: touch;
}
.sp-modal__dialog {
  position: relative;
  width: min(1110px, 100%);
  margin: 0 auto;
  outline: none;
}
.sp-modal__body > #request {
  margin: 0;
  border-radius: 4px;
  box-shadow: 0 18px 60px rgba(0, 0, 0, .55);
}
.sp-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #1b1a1a;
  font: 32px/40px Arial, sans-serif;
  text-align: center;
  cursor: pointer;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .3);
}
.sp-modal__close:hover,
.sp-modal__close:focus {
  background: #f77d00;
  color: #fff;
}
.sp-modal__close:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

@media (max-width: 1199px) {
  .storage-preparation > section:not(#hero) > .container {
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  .storage-preparation #process .process-items .steps_list__item {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    width: 100%;
    padding: 0 !important;
  }
  .storage-preparation #process .process-items .steps_list__item .number {
    position: static !important;
    display: flex !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
  }
  .storage-preparation #process .process-items .steps_list__item .text {
    min-width: 0;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .storage-preparation #storage .storage-horizontal .storage-link-button {
    width: 100%;
  }
  .storage-preparation .inspection-card__title {
    font-size: 19px;
  }
  .sp-modal.storage-preparation {
    padding: 10px !important;
  }
  .sp-modal__close {
    top: 8px;
    right: 8px;
  }
  .sp-modal__body > #request {
    padding-top: 58px;
  }
}

/* Final production adjustment, 2026-09-21: richtext-safe layout and viewport modal. */
.storage-preparation {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.storage-preparation #hero {
  width: 100% !important;
  max-width: none !important;
}

/* RichText fields contain only headings, paragraphs and semantic lists. */
.storage-preparation .sp-richtext > h2:first-child {
  margin-top: 0;
}

/* Exact approved purpose icons are stored outside TinyMCE as CSS SVG assets. */
.storage-preparation .sp-purpose-cards ul:first-of-type {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin: 34px 0 0;
  padding: 0;
  list-style: none;
}
.storage-preparation .sp-purpose-cards ul:first-of-type > li {
  position: relative;
  min-width: 0;
  min-height: 232px;
  padding: 102px 16px 20px;
  border: 1px solid #ececec;
  background: #fff;
  color: #555;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.45;
  text-align: center;
}
.storage-preparation .sp-purpose-cards ul:first-of-type > li::before {
  content: '';
  position: absolute;
  top: 22px;
  left: 50%;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background-color: #f77d00;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 29px 29px;
  transform: translateX(-50%);
}
.storage-preparation .sp-purpose-cards ul:first-of-type > li:nth-child(1)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='5.8' fill='none' stroke='white' stroke-width='2.2'/%3E%3Cpath d='M15 15l4.8 4.8' fill='none' stroke='white' stroke-linecap='round' stroke-width='2.2'/%3E%3C/svg%3E");
}
.storage-preparation .sp-purpose-cards ul:first-of-type > li:nth-child(2)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.6 2.5L6.2 13h5l-1 8.5L18 10.2h-5.1l.7-7.7z' fill='white'/%3E%3C/svg%3E");
}
.storage-preparation .sp-purpose-cards ul:first-of-type > li:nth-child(3)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.6C9.1 6.8 5.9 10.4 5.9 14.5a6.1 6.1 0 0 0 12.2 0C18.1 10.4 14.9 6.8 12 2.6z' fill='none' stroke='white' stroke-width='2.1'/%3E%3Cpath d='M9.2 15.4c.4 1.7 1.5 2.6 3.2 2.8' fill='none' stroke='white' stroke-linecap='round' stroke-width='1.8'/%3E%3C/svg%3E");
}
.storage-preparation .sp-purpose-cards ul:first-of-type > li:nth-child(4)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.6 5.1a5.3 5.3 0 0 0-6.7 6.7L3 16.7a2.2 2.2 0 0 0 3.1 3.1l4.9-4.9a5.3 5.3 0 0 0 6.8-6.7l-3.1 3.1-2.8-.8-.8-2.8 3.5-2.6z' fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8'/%3E%3C/svg%3E");
}
.storage-preparation .sp-purpose-cards ul:first-of-type > li > strong {
  display: block;
  min-height: 42px;
  margin-bottom: 10px;
  color: #1b1a1a;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
}

.storage-preparation .sp-conditions-content ul:first-of-type,
.storage-preparation .sp-distinction-content > ul,
.storage-preparation .sp-faq-content > ul,
.storage-preparation .sp-inspection-content > ol,
.storage-preparation .sp-process-content > ol {
  margin-left: 0;
  padding-left: 0;
  list-style: none;
}
.storage-preparation .sp-conditions-content ul:first-of-type {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  margin-top: 30px;
}
.storage-preparation .sp-conditions-content ul:first-of-type > li {
  min-width: 0;
  padding: 0 22px;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.45;
  text-align: center;
}
.storage-preparation .sp-conditions-content ul:first-of-type > li > strong {
  display: block;
  margin-bottom: 10px;
  color: #1b1a1a;
  font-size: 18px;
  line-height: 1.2;
}

.storage-preparation .sp-inspection-content > ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
  counter-reset: sp-inspection;
}
.storage-preparation .sp-inspection-content > ol > li {
  position: relative;
  min-width: 0;
  min-height: 230px;
  padding: 72px 24px 24px;
  border: 1px solid #dedede;
  border-top: 4px solid #f77d00;
  background: #fff;
  counter-increment: sp-inspection;
  text-align: left;
}
.storage-preparation .sp-inspection-content > ol > li::before {
  content: counter(sp-inspection, decimal-leading-zero);
  position: absolute;
  top: 20px;
  left: 24px;
  color: #f77d00;
  font-family: 'PlayBold', Arial, sans-serif;
  font-size: 32px;
  line-height: 1;
}
.storage-preparation .sp-inspection-content > ol > li > strong {
  display: block;
  margin-bottom: 13px;
  color: #1b1a1a;
  font-family: 'PlayBold', Arial, sans-serif;
  font-size: 21px;
  line-height: 1.2;
}
.storage-preparation .sp-inspection-content > ol > li > ul {
  margin: 0;
  padding-left: 18px;
}
.storage-preparation .sp-inspection-content > ol > li > ul > li {
  margin-bottom: 8px;
  text-align: left;
}
.storage-preparation .sp-inspection-content > p:last-child {
  margin-top: 20px;
  padding: 18px 20px;
  border-left: 4px solid #f77d00;
  background: #f7f7f7;
  text-align: left;
}

.storage-preparation .sp-process-content > ol {
  margin-top: 30px;
  counter-reset: sp-process;
}
.storage-preparation .sp-process-content > ol > li {
  position: relative;
  min-height: 70px;
  margin-bottom: 13px;
  padding: 0 0 0 66px;
  counter-increment: sp-process;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.4;
  text-align: left;
}
.storage-preparation .sp-process-content > ol > li::before {
  content: counter(sp-process);
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #f77d00;
  color: #fff;
  font-family: 'PlayBold', Arial, sans-serif;
  font-size: 22px;
}
.storage-preparation .sp-process-content > ol > li > strong {
  display: block;
  color: #1b1a1a;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.25;
}

.storage-preparation .sp-faq-content > ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 30px;
  margin-top: 20px;
}
.storage-preparation .sp-faq-content > ul > li {
  min-width: 0;
  padding: 24px 26px;
  border: 1px solid #dedede;
  border-top: 4px solid #f77d00;
  background: #fff;
  text-align: left;
}
.storage-preparation .sp-faq-content > ul > li:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}
.storage-preparation .sp-faq-content .faq-item__question,
.storage-preparation .sp-faq-content > ul > li > strong {
  display: block;
  margin: 0 0 12px;
  color: #1b1a1a;
  font-family: 'Open Sans', sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  text-transform: none;
}
.storage-preparation .sp-faq-content > ul > li > p {
  margin: 0;
  color: #555;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.5;
  text-align: left;
}

.storage-preparation .sp-distinction-content > ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
  margin-top: 30px;
}
.storage-preparation .sp-distinction-content > ul > li {
  min-width: 0;
  text-align: left;
}
.storage-preparation .sp-distinction-content > ul > li > strong {
  display: block;
  margin-bottom: 8px;
  font-size: 18px;
}
.storage-preparation .sp-distinction-content > ul > li > p {
  margin: 0;
  line-height: 1.5;
  text-align: left;
}
.storage-preparation .sp-form-lead > p,
.storage-preparation .sp-storage-content > p {
  text-align: left;
}

/* Use the checked site z-index scale: header 99, global overlay 100, cookie 1000, preloader 1001. */
html.sp-modal-open,
body.sp-modal-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}
.sp-modal.storage-preparation {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1100 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100vh !important;
  height: 100dvh !important;
  margin: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

@media (max-width: 991px) {
  .storage-preparation .sp-purpose-cards ul:first-of-type,
  .storage-preparation .sp-inspection-content > ol,
  .storage-preparation .sp-faq-content > ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .storage-preparation .sp-faq-content > ul > li:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  .storage-preparation .sp-purpose-cards ul:first-of-type,
  .storage-preparation .sp-conditions-content ul:first-of-type,
  .storage-preparation .sp-inspection-content > ol,
  .storage-preparation .sp-faq-content > ul,
  .storage-preparation .sp-distinction-content > ul {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .storage-preparation .sp-purpose-cards ul:first-of-type > li {
    min-height: 0;
    padding-left: 18px;
    padding-right: 18px;
  }
  .storage-preparation .sp-conditions-content ul:first-of-type > li {
    padding: 0;
  }
  .storage-preparation .sp-inspection-content > ol > li {
    min-height: 0;
    padding: 68px 20px 22px;
  }
  .storage-preparation .sp-inspection-content > ol > li > strong {
    font-size: 19px;
  }
  .storage-preparation .sp-process-content > ol > li {
    min-height: 44px;
    padding-left: 58px;
  }
  .storage-preparation .sp-faq-content > ul > li:last-child:nth-child(odd) {
    grid-column: auto;
  }
  .storage-preparation .sp-faq-content > ul > li {
    padding: 20px 18px;
  }
  .sp-modal.storage-preparation {
    padding: 10px !important;
  }
}

/* Precision adjustment, 2026-09-22: modal grid containment and accepted RichText cards. */

/* A Bootstrap fixed-width .container is moved into the 1110px modal dialog at runtime.
   Constrain it to the dialog and preserve symmetric gutters at every breakpoint. */
.sp-modal.storage-preparation .sp-modal__body > #request > .container {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 30px !important;
  padding-right: 30px !important;
  box-sizing: border-box;
}
.sp-modal.storage-preparation .sp-modal__body > #request .form,
.sp-modal.storage-preparation .sp-modal__body > #request #winter-request,
.sp-modal.storage-preparation .sp-modal__body > #request #winter-request fieldset,
.sp-modal.storage-preparation .sp-modal__body > #request #winter-request .select__box,
.sp-modal.storage-preparation .sp-modal__body > #request #winter-request input[type='text'],
.sp-modal.storage-preparation .sp-modal__body > #request #winter-request input[type='tel'],
.sp-modal.storage-preparation .sp-modal__body > #request #winter-request input[type='email'] {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.sp-modal.storage-preparation .sp-modal__body > #request #winter-request > .row {
  width: auto;
  max-width: none;
}
.sp-modal.storage-preparation .sp-modal__body > #request #winter-request > .row > [class*='col-'] {
  min-width: 0;
  box-sizing: border-box;
}

/* Translate the accepted three-card storage-scenario treatment to semantic RichText. */
.storage-preparation .sp-conditions-content ul:first-of-type > li {
  min-width: 0;
  min-height: 138px;
  padding: 22px 20px;
  border-top: 4px solid #f77d00;
  border-right: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  border-left: 1px solid #e6e6e6;
  background: #fff;
  color: #555;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.45;
  text-align: center;
}
.storage-preparation .sp-conditions-content ul:first-of-type > li > strong,
.storage-preparation .sp-conditions-content ul:first-of-type > li > p:first-child > strong {
  display: block;
  margin: 0 0 12px;
  color: #1b1a1a;
  font-family: 'PlayBold', Arial, sans-serif;
  font-size: 18px;
  line-height: 1.2;
  text-align: center;
}
.storage-preparation .sp-conditions-content ul:first-of-type > li > p,
.storage-preparation .sp-purpose-cards ul:first-of-type > li > p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  text-align: center;
}
.storage-preparation .sp-purpose-cards ul:first-of-type > li > p:first-child > strong {
  display: block;
  min-height: 42px;
  margin-bottom: 10px;
  color: #1b1a1a;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
}

@media (max-width: 767px) {
  .sp-modal.storage-preparation .sp-modal__body > #request > .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .storage-preparation .sp-conditions-content ul:first-of-type > li {
    min-height: 0;
    padding: 20px 18px;
  }
}
