/* v2.20.55: shared responsive finishing layer, loaded after legacy styles. */
.contacts-icon,.special-card-icon{font-size:0!important;line-height:0!important;display:inline-flex!important;align-items:center;justify-content:center;--pv-icon-mask:var(--pv-mask-box)}
.contacts-office .contacts-icon{--pv-icon-mask:var(--pv-mask-pin)}
.contacts-card:has(.contacts-hours) .contacts-icon{--pv-icon-mask:var(--pv-mask-clock)}
.delivery-page .special-card:first-child .special-card-icon{--pv-icon-mask:var(--pv-mask-truck,var(--pv-mask-box))}
.delivery-page .special-card:nth-child(2) .special-card-icon{--pv-icon-mask:var(--pv-mask-pin)}
.contacts-icon::after,.special-card-icon::after{content:none!important}
.map-contact-link.map-wa::before{mask-image:var(--pv-mask-chat);-webkit-mask-image:var(--pv-mask-chat)}
.map-contact-link.map-tg::before{mask-image:var(--pv-mask-telegram);-webkit-mask-image:var(--pv-mask-telegram)}
.pv-mobile-details{margin:12px 0;border-top:1px solid #e0e5ec}
.pv-mobile-details>summary{padding:12px 0;min-height:44px;box-sizing:border-box;color:#344054;cursor:pointer;font-size:15px;font-weight:500;line-height:1.4}
.pv-mobile-details>summary:focus-visible{outline:2px solid #3e4b61;outline-offset:3px}
@media(min-width:761px){.pv-mobile-details{display:contents}.pv-mobile-details>summary{display:none}}
@media(max-width:760px){
  .home-page,.content-page,.contacts-page{min-width:0;overflow-wrap:break-word}
  .home-page *, .content-page *, .contacts-page *{box-sizing:border-box}
  .home-page :is(.home-card,.ottisk-text,.ottisk-visual,.two-col-text,.map-contacts-info),
  .content-page :is(.lp-grid,.geo-grid,.svc-grid,.special-grid)>*,.contacts-layout>*{min-width:0!important;max-width:100%}
  .home-page :is(.ottisk-wrap,.two-col-block,.map-contacts-wrap){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
  .home-page :is(.home-card),.contacts-page :is(.contacts-card,.contacts-hero,.contacts-cta),
  .content-page :is(.special-section,.special-card,.special-mini-card,.svc-section,.geo-card){padding:16px!important;border-radius:14px!important}
  .home-page .home-section,.content-page .special-section{margin-top:16px!important;margin-bottom:16px!important}
  .home-page :is(p,.ottisk-check-item),.contacts-page p,.content-page :is(.special-list,.special-section-head p){font-size:16px!important;line-height:1.5!important}
  .home-page .home-h2,.contacts-page h2,.content-page .special-section h2{font-size:22px!important;line-height:1.25!important;margin-bottom:12px!important}
  .home-page .ottisk-text p{margin:0 0 12px!important;white-space:normal!important}
  .home-page .ottisk-prices{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  .home-page .ottisk-price-item{white-space:normal!important;font-size:14px!important;max-width:100%}
  .home-page :is(.svc-btn-primary,.svc-btn-ghost,.home-action,.btn-dark,.btn-ghost),
  .content-page .site-button,.contacts-page .site-button{min-height:44px;max-width:100%;white-space:normal!important;text-align:center;line-height:1.35!important;overflow-wrap:break-word}
  .home-page .ottisk-text>div:has(>.svc-btn-primary),.home-page .two-col-cta{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  .home-page :is(.svc-btn-primary,.svc-btn-ghost){width:100%!important}
  .home-page .ottisk-photo{width:100%!important;height:180px!important;object-fit:contain!important}
  .home-page .two-col-photo img{max-height:200px;object-fit:cover}
  .home-page .map-iframe-wrap,.contacts-page .contacts-map{height:230px!important;min-height:0!important;overflow:hidden;border-radius:12px}
  .home-page .map-iframe-wrap iframe,.home-page .map-iframe-wrap>div,.home-page .map-iframe-wrap .deferred-map-script,.contacts-page .contacts-map iframe{height:230px!important;min-height:0!important;width:100%!important}
  .home-page .map-contacts-info p:has(.map-contact-link){display:flex;flex-wrap:wrap;gap:8px}
  .home-page .map-contact-link{width:auto!important;flex:1 1 120px;justify-content:center;min-height:44px}
  .contacts-page :is(.contacts-layout,.contacts-main,.contacts-side){gap:16px!important}
  .contacts-page .contacts-card-head{gap:10px!important;margin-bottom:12px!important}
  .contacts-page .contacts-icon{width:32px!important;height:32px!important;flex:0 0 32px}
  .contacts-page .contacts-hours>div{display:flex!important;flex-wrap:wrap;justify-content:space-between;gap:6px;padding:12px!important;font-size:15px}
  .contacts-page .contacts-links>a{flex-wrap:wrap;gap:6px;padding:12px!important;font-size:15px}
  .contacts-page .contacts-links strong{overflow-wrap:anywhere}
  .content-page .special-card-icon{width:32px!important;height:32px!important;margin-bottom:10px!important}
  .content-page .special-list{margin:12px 0!important;padding-left:22px!important}
  .content-page .special-list li{margin-bottom:8px!important}
  #stamp-order .stamp-products{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
  #stamp-order .stamp-product-tab{display:grid!important;grid-template-columns:44px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;min-height:68px!important;padding:10px!important;text-align:left!important;overflow:visible!important}
  #stamp-order .stamp-product-tab__image{width:44px!important;height:44px!important;margin:0!important}
  #stamp-order .stamp-product-tab__image img{width:44px!important;height:44px!important;object-fit:contain}
  #stamp-order .stamp-product-tab__name{font-size:16px!important;line-height:1.3!important;word-break:normal!important;overflow-wrap:normal!important}
  #stamp-order .stamp-product-tab__price{font-size:14px!important;white-space:nowrap!important;margin:0!important;padding:4px!important}
  #stamp-order .stamp-product-tab__badge{display:none!important}
  #stamp-order .stamp-product-tab::before,#stamp-order .stamp-product-tab::after{content:none!important}
  #stamp-order .stamp-product-tab.is-active{outline:2px solid #536579;outline-offset:-2px;background:#f0f4f8!important}
  #stamp-order .stamp-type-grid,#stamp-order .stamp-time-options{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  #stamp-order :is(.stamp-type,.stamp-time){min-width:0!important;padding:10px!important;white-space:normal!important}
  #stamp-order :is(.stamp-type,.stamp-time) b{font-size:16px!important;line-height:1.3!important}
  #stamp-order :is(.stamp-type,.stamp-time) small{font-size:13px!important;line-height:1.4!important}
  #stamp-order .stamp-total{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding:14px!important}
  #stamp-order .stamp-total__summary{width:100%!important;min-width:0!important}
  #stamp-order .stamp-order-button{width:100%!important;max-width:100%!important;min-width:0!important;min-height:48px!important;margin:0!important;white-space:normal!important;font-size:16px!important}
  #stamp-order .stamp-step{padding:12px!important}
  .site-modal-dialog{max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px);overflow:auto;padding:18px!important}
  .site-form :is(input:not([type=checkbox]):not([type=radio]),select,textarea){max-width:100%;min-width:0;font-size:16px!important}
  .stamp-modal__row{grid-template-columns:minmax(0,1fr)!important}
  .content-page :is(img,video,iframe){max-width:100%}
  .content-page :is(.lp-grid,.geo-grid,.special-grid,.svc-grid){grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:360px){
 #stamp-order .stamp-product-tab{grid-template-columns:32px minmax(0,1fr)!important}
 #stamp-order .stamp-product-tab__image,#stamp-order .stamp-product-tab__image img{width:32px!important;height:32px!important}
 #stamp-order .stamp-product-tab__price{grid-column:2;justify-self:start}
 #stamp-order .stamp-type-grid,#stamp-order .stamp-time-options{grid-template-columns:minmax(0,1fr)!important}
}
@media print{.pv-mobile-details>summary{display:none}.pv-mobile-details{display:block}}
@media(max-width:480px){
 #stamp-order .stamp-product-tab{grid-template-columns:40px minmax(0,1fr)!important;column-gap:10px!important;row-gap:3px!important}
 #stamp-order .stamp-product-tab__image{grid-column:1;grid-row:1 / span 2}
 #stamp-order .stamp-product-tab__content{grid-column:2;grid-row:1;min-height:0!important}
 #stamp-order .stamp-product-tab__price{grid-column:2!important;grid-row:2!important;justify-self:start!important}
}
