/* DRR DAMSON — Stage33: readability, alignment and responsive quality layer.
   Loaded last. Conservative overrides only; no FOX transport or application logic. */

:root{
  --drr-readable-text:#2e2923;
  --drr-readable-muted:#665e55;
  --drr-focus:#0b8f82;
}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-padding-top:92px;
}

body:not(.stage26-print-catalog){
  overflow-x:clip;
  text-rendering:optimizeLegibility;
}

body:not(.stage26-print-catalog) main :is(p,li,dt,dd,label,small),
body:not(.stage26-print-catalog) .site-footer :is(p,li,a,small){
  line-height:1.55;
  overflow-wrap:anywhere;
}

body:not(.stage26-print-catalog) img,
body:not(.stage26-print-catalog) video,
body:not(.stage26-print-catalog) canvas,
body:not(.stage26-print-catalog) svg{
  max-width:100%;
}

/* The oldest Stage15 layer used 8–11 px in many customer-facing places. */
body.stage15-production .brand-lockup__tag{font-size:12px!important;line-height:1.25!important}
body.stage15-production .header-action span{font-size:12px!important;line-height:1.35!important}
body.stage15-production .btn--small,
body.stage15-production .section-link{font-size:13px!important;line-height:1.25!important}
body.stage15-production .trust-item span,
body.stage15-production .category-card__label small,
body.stage15-production .rating-card p,
body.stage15-production .value-item span,
body.stage15-production .field label,
body.stage15-production .project-entry-bar small,
body.stage15-production .realization-card__body p,
body.stage15-production .s15-status{font-size:13px!important;line-height:1.45!important}
body.stage15-production .badge,
body.stage15-production .product-card__category{font-size:11px!important;line-height:1.2!important}
body.stage15-production .site-footer :is(li,p,a){font-size:13px!important;line-height:1.55!important}
body.stage15-production .footer-brand span,
body.stage15-production .footer-bottom{font-size:12px!important;line-height:1.45!important}

/* Forms: readable labels, stable controls and visible keyboard focus. */
body:not(.stage26-print-catalog) main label{font-size:13px!important;line-height:1.4}
body:not(.stage26-print-catalog) main small{font-size:12px!important;line-height:1.5}
body:not(.stage26-print-catalog) main :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  min-width:0;
  min-height:44px;
  line-height:1.35;
}
body:not(.stage26-print-catalog) main textarea{min-height:118px;resize:vertical}
body:not(.stage26-print-catalog) :is(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid var(--drr-focus)!important;
  outline-offset:3px!important;
}
body.stage20-quote :is(.quote-field label,.quote-field__hint,.quote-upload small,.quote-file-item,.quote-consent,.quote-submit p,.quote-direct-link small,.quote-price-list small,.quote-guide-grid p,.quote-faq details p){
  font-size:13px!important;
  line-height:1.5!important;
}
body.stage20-quote .quote-faq summary{font-size:14px!important;line-height:1.4!important}

/* Offer and contact pages contained the densest 8–11 px helper text. */
body.stage23-offer main :is(.offer-eyebrow,.offer-hero__facts,.offer-quick__grid em,.offer-categories__head span,.offer-categories__cta span,.offer-results-meta,.catalog-breadcrumb,.product-card__meta,.offer-details summary){
  font-size:12px!important;
  line-height:1.45!important;
}
body.stage23-offer main :is(.offer-quick__grid span,.offer-categories__head strong,.offer-categories__cta strong,.offer-category-toggle){
  font-size:13px!important;
  line-height:1.35!important;
}
body.stage17-contact main :is(.contact-field label,.contact-form-card small,.contact-consent,.contact-hero__direct small,.contact-sidebar small,.contact-faq details p){
  font-size:13px!important;
  line-height:1.5!important;
}

/* Standalone product creator does not carry the shared Stage15 body class. */
body main.creator :is(.panel-title p,.eyebrow,.hint,.status-pill,.element-controls,.summary-panel>label,.trust,.check,.retouch label:not(.check),.limit-card span,.crop-zoom){
  font-size:12px!important;
  line-height:1.45!important;
}
body main.creator :is(.tool-section h2,.upload b,.product-tabs button,.summary-product small,.price small){
  font-size:13px!important;
  line-height:1.4!important;
}
body main.creator :is(button,select,input:not([type="range"]):not([type="color"])){
  min-height:42px;
}

/* Product and category cards: equal rhythm and controlled, explicit truncation. */
:is(.product-grid,.product-grid-v2,.stage4-product-grid,.category-grid,.real-grid){align-items:stretch}
:is(.product-card,.product-tile-v2,.stage4-product-card,.real-card){height:100%}
:is(.product-card__body,.product-tile-v2 .body,.stage4-card-body){display:flex;flex-direction:column}
:is(.product-card__actions,.product-tile-v2 .actions,.stage4-actions){margin-top:auto}

/* Stage48: jeden wspólny koszyk — zawsze widoczny u góry, z dala od FOX-a. */
[data-global-cart-link]{position:relative}
.drr-cart-dock{position:fixed;z-index:2147483050;right:18px;top:94px;bottom:auto;display:flex;align-items:center;gap:9px;min-height:46px;padding:10px 46px 10px 15px;border:1px solid #d7a63d;border-radius:999px;background:#0b1d1a;color:#fff!important;text-decoration:none!important;font:900 14px/1 Inter,system-ui,sans-serif;box-shadow:0 13px 38px rgba(0,0,0,.34);transition:transform .18s ease,box-shadow .18s ease}
.drr-cart-dock:hover{transform:translateY(-2px);box-shadow:0 17px 44px rgba(0,0,0,.42)}
.drr-cart-dock i{color:#f0bf55;font-size:17px}
.drr-global-cart-count{position:absolute;right:6px;top:5px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border:2px solid #07110f;border-radius:999px;background:#f0bf55;color:#151007;font:900 11px/1 Inter,system-ui,sans-serif;box-shadow:0 4px 12px rgba(0,0,0,.28)}
.drr-global-cart-count.is-empty{background:#58645f;color:#fff}
.drr-cart-toast{position:fixed;z-index:2147483060;right:18px;top:150px;bottom:auto;display:flex;align-items:center;gap:14px;max-width:min(430px,calc(100vw - 28px));padding:14px 16px;border:1px solid #d7a63d;border-radius:14px;background:#0b1d1a;color:#fff;box-shadow:0 18px 55px rgba(0,0,0,.45);font:800 14px/1.35 Inter,system-ui,sans-serif;opacity:0;transform:translateY(-12px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.drr-cart-toast.is-visible{opacity:1;transform:none;pointer-events:auto}
.drr-cart-toast a{flex:0 0 auto;padding:9px 11px;border-radius:9px;background:#f0bf55;color:#151007;text-decoration:none;font-weight:900}
[data-cart-add].is-added{background:#2b9b71!important;color:#fff!important;border-color:#2b9b71!important}
@media(max-width:560px){.drr-cart-dock{right:10px;top:78px;bottom:auto;min-height:44px;padding:9px 44px 9px 14px}.drr-cart-toast{left:14px;right:14px;top:132px;bottom:auto;align-items:stretch;flex-direction:column}.drr-cart-toast a{text-align:center}.drr-global-cart-count{right:5px;top:4px}}
.product-short{
  min-height:4.35em!important;
  max-height:none!important;
  line-height:1.45!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
}
body.stage4-catalog-page .stage4-card-body p{font-size:13px!important;line-height:1.5!important}
body.stage4-catalog-page .stage4-meta,
body.stage4-catalog-page .stage4-badge,
body.stage4-detail-page .stage4-spec span{font-size:12px!important;line-height:1.35!important}

/* Prevent real content from forcing hero/card columns outside their boxes. */
:is(.hero-grid,.offer-hero,.category-hero-v2,.kubki-hero,.contact-hero,.stage4-product-detail,.stage4-modal-content)>*{min-width:0}
:is(.category-hero-v2,.kubki-hero,.contact-hero,.offer-hero){max-width:100%;box-sizing:border-box}
:is(.category-hero-v2,.kubki-hero,.contact-hero,.offer-hero) :is(h1,h2,h3,p,li){overflow-wrap:break-word}

/* Tables remain usable instead of widening the whole page. */
body:not(.stage26-print-catalog) main table{max-width:100%}
body:not(.stage26-print-catalog) :is(.table-wrap,.table-responsive,.diagnostic-table-wrap){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

/* FOX stays visible, but no longer covers an entire product/category tile. */
#vsa-widget-drdamson{width:118px!important;left:14px!important;right:auto!important;bottom:14px!important}
#vsa-widget-drdamson .vsa-launcher{width:118px!important;height:132px!important}
#vsa-widget-drdamson .vsa-launcher-character{inset:-3px -2px 5px -3px!important;width:124px!important;height:124px!important}
#vsa-widget-drdamson .vsa-launcher-label{right:0!important;bottom:0!important;min-width:98px!important;padding:7px 9px!important;font-size:11px!important}
#vsa-widget-drdamson .vsa-panel{left:4px!important;right:auto!important;bottom:126px!important;transform-origin:42px 100%!important}
#vsa-widget-drdamson .vsa-msg{font-size:14px!important;line-height:1.55!important}
#vsa-widget-drdamson .drr-fox-quick>span,
#vsa-widget-drdamson .drr-fox-quick button,
#vsa-widget-drdamson .drr-fox-product__body>strong,
#vsa-widget-drdamson .drr-fox-service strong,
#vsa-widget-drdamson .drr-fox-product__meta,
#vsa-widget-drdamson .drr-fox-service>span>span,
#vsa-widget-drdamson .drr-fox-products__all{font-size:13px!important;line-height:1.4!important}

@media(max-width:900px){
  :is(.hero-grid,.offer-hero,.category-hero-v2,.kubki-hero,.contact-hero,.stage4-product-detail,.stage4-modal-content){grid-template-columns:1fr!important}
  :is(.header-actions,.utility-bar__group){flex-wrap:wrap}
  .stage15-container,
  .container,
  .shell,
  .category-wrap,
  .stage4-wrap{max-width:100%!important}
  body main.creator{grid-template-columns:1fr!important}
  body main.creator :is(.tools-panel,.workspace,.summary-panel){min-width:0;width:100%}
}

@media(max-width:760px){
  html{scroll-padding-top:72px}
  body:not(.stage26-print-catalog) main :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:16px!important}
  body:not(.stage26-print-catalog) main label{font-size:14px!important}
  body:not(.stage26-print-catalog) main small{font-size:12px!important}
  :is(.hero-actions,.category-actions,.inline-actions,.quote-submit,.contact-actions){align-items:stretch;flex-wrap:wrap}
  :is(.hero-actions,.category-actions,.inline-actions,.quote-submit,.contact-actions) :is(a,button){min-height:44px}
  :is(.form-grid,.quote-form-grid,.contact-form-grid,.kubki-form-grid,.stage4-toolbar-grid){grid-template-columns:1fr!important}
  :is(.site-footer .footer-grid,.category-grid,.quote-guide-grid,.real-process__steps){grid-template-columns:1fr!important}
  .footer-bottom{align-items:flex-start!important;flex-direction:column!important;gap:8px!important}
  #vsa-widget-drdamson{width:104px!important;left:8px!important;right:auto!important;bottom:12px!important}
  #vsa-widget-drdamson .vsa-launcher{width:104px!important;height:116px!important}
  #vsa-widget-drdamson .vsa-launcher-character{inset:0!important;width:106px!important;height:106px!important}
  #vsa-widget-drdamson .vsa-launcher-label{min-width:92px!important;font-size:10px!important}
  #vsa-widget-drdamson .vsa-panel{left:8px!important;right:auto!important;bottom:72px!important;width:calc(100vw - 16px)!important;height:min(596px,calc(100dvh - 92px))!important}
  #vsa-widget-drdamson .vsa-input{font-size:16px!important}
}

@media(max-width:520px){
  :is(.product-grid,.product-grid-v2,.stage4-product-grid,.real-grid){grid-template-columns:1fr!important}
  :is(.hero-actions,.category-actions,.inline-actions,.quote-submit,.contact-actions){display:grid!important;grid-template-columns:1fr!important}
  :is(.hero-actions,.category-actions,.inline-actions,.quote-submit,.contact-actions) :is(a,button){width:100%!important;justify-content:center}
  :is(.category-hero-v2,.kubki-hero,.contact-hero,.offer-hero,.stage4-hero){padding:22px 18px!important;border-radius:18px!important}
  :is(.category-hero-v2,.kubki-hero,.contact-hero,.offer-hero,.stage4-hero) h1{font-size:clamp(32px,11vw,44px)!important;line-height:1.05!important;letter-spacing:-.04em!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

@media print{
  #vsa-widget-drdamson{display:none!important}
}
