/* Corrected 23/10 public reference integration.
   Component styling comes from unchanged ovmq.css. Geometry below transcribes
   reference inline styles, isolates native button/widget layout, and preserves
   44px hit areas and readable numbered tabs in narrow containers. */
.ov-public-shell{container:public / inline-size;width:100%;min-width:0}
.ov-public-shell>.ov-page{max-width:1120px}
.ov-public-shell [hidden],.ov-public-legal [hidden],.ov-public-demo [hidden]{display:none!important}
.ov-public-brandbar{border-bottom:1px solid var(--ov-line);width:100%;margin:0;padding-block:4px}
.ov-public-brandbar .ov-id{min-height:44px}
.ov-public-brandbar .ov-id-name{font-size:var(--ov-fs-sm)}
.ov-public-brandbar .ov-id-text{display:flex}
.ov-public-brandbar .ov-logo img{width:40px;height:40px;border-radius:50%}
.ov-public-brandbar .ov-lang{flex:none;border-width:1px}
.ov-public-brandbar .ov-lang>button{border:0;border-radius:0}
.ov-public-brandbar .ov-signin{flex:none;width:44px;padding:0}
.ov-public-brandbar .ov-signin-txt{display:none}
.ov-public-brandbar .ov-signin-ico{display:block}
.ov-public-brandbar .g-language-selector{margin:0;padding:0;width:auto}
.ov-public-account{color:var(--ov-ink)}
.ov-public-header-back{width:44px;justify-content:center;flex:none}
.ov-public-hero{gap:var(--ov-s5)}
.ov-public-footer{max-width:1120px;width:100%;margin:0 auto;padding:0 var(--ov-gutter) var(--ov-s6);display:flex;flex-direction:column;gap:var(--ov-s5)}
.ov-public-footer .ov-legal{margin:0;width:100%}
.ov-public-partner{border:1px solid var(--ov-line);border-radius:var(--ov-r-md);font-size:var(--ov-fs-sm);text-decoration:none}
.ov-demo-identity{gap:0;min-width:0}
.ov-demo-name{font-size:calc(var(--ov-fs-md) + 1px)}
.ov-demo-product{font:inherit;color:inherit;text-align:left;padding:0;cursor:pointer;min-width:0}
.ov-public-demo .ov-demo-product{align-items:stretch;justify-content:flex-start;gap:0}
.ov-demo-product .ov-pubcard-photo img{display:block;width:100%;height:100%;object-fit:cover}
.ov-demo-product-name{font-size:var(--ov-fs-sm);line-height:1.25;overflow-wrap:break-word}
.ov-demo-price{font-size:calc(var(--ov-fs-sm) + 1px)}
.ov-demo-product .ov-demo-price{overflow-wrap:normal}
.ov-public-demo .ov-pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ov-public-demo{container:demo / inline-size}
.ov-public-demo .ov-demo-tabs{--ov-demo-tab-orientation:horizontal}
.ov-public-demo .ov-demo-tabs button{font-size:var(--ov-fs-xs);gap:4px;padding-inline:0}
.ov-public-demo .ov-demo-tabs button>.ov-demo-tab-number{font-size:var(--ov-fs-xs);flex:none;min-width:1em;min-height:1em}
.ov-demo-price.ov-price-uncertain,.ov-promo-new.ov-price-uncertain{font-size:var(--ov-fs-sm);white-space:normal;overflow-wrap:anywhere}
@container demo (max-width:20em){
 .ov-public-demo .ov-demo-tabs{grid-template-columns:minmax(0,1fr);--ov-demo-tab-orientation:vertical}
 .ov-public-demo .ov-demo-tabs button{white-space:normal;padding-block:.25em}
}
.ov-demo-overview{display:grid;gap:var(--ov-s4);min-width:0}
.ov-demo-order-preview{display:none}
.ov-public-demo .ov-demo-foot{justify-content:flex-start;align-items:flex-start;padding-block:0}
.ov-public-demo .ov-demo-foot>a{display:flex;align-items:center;min-height:44px}
.ov-public-demo .ov-demo-foot>span{flex-basis:100%;padding-bottom:12px}
.ov-demo-promo-frame{width:72%;max-width:none;align-self:center}
.ov-demo-promo-frame img{width:100%;height:100%;object-fit:cover;display:block}
.ov-demo-promo-frame .ov-promo-url{white-space:normal;overflow-wrap:anywhere;min-width:0}
.ov-demo-promo-frame>.ov-promo--tag>.ov-promo-shop{position:relative;align-self:flex-start}
.ov-demo-promo-caption{text-align:center}
.ov-public-detail{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;color:var(--ov-ink);background:var(--ov-surface);font-family:var(--ov-font)}
.ov-public-detail[open]{display:flex;flex-direction:column;gap:var(--ov-s4)}
.ov-public-detail::backdrop{background:var(--ov-zoom-bg)}
.ov-public-detail-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--ov-r-md)}
.ov-public-legal{font-family:var(--ov-font);max-width:760px;overflow-wrap:break-word}
.ov-public-legal h2{font-size:var(--ov-fs-xl);line-height:1.2;margin-top:var(--ov-s4)}
.ov-public-legal h3{font-size:var(--ov-fs-lg)}
.ov-public-legal li+li{margin-top:var(--ov-s2)}
.ov-public-legal .ov-back{align-self:flex-start}
@container brandbar (max-width:30em){.ov-public-brandbar--task .ov-id-text{display:none}}
@container catalog (max-width:14.6em){.ov-public-demo .ov-pgrid{grid-template-columns:minmax(0,1fr)}}
@container page (max-width:300px){
 .ov-public-demo .ov-demo-tabs button>.ov-demo-tab-number{width:auto;min-width:8px;height:auto;background:none}
 .ov-public-demo .ov-demo-tabs button{gap:0}
}
@container public (min-width:900px){
 .ov-public-brandbar{padding-inline:40px}
 .ov-public-brandbar .ov-id-name{font-size:var(--ov-fs-md)}
 .ov-public-brandbar .ov-signin-txt{display:inline}
 .ov-public-brandbar .ov-signin-ico{display:none}
 .ov-public-brandbar .ov-signin{width:auto;padding:0 12px;border:1px solid var(--ov-line-strong);background:var(--ov-surface);color:var(--ov-ink);border-radius:var(--ov-r-md)}
 .ov-public-shell>.ov-public-home{padding:48px 40px}
 .ov-public-hero{gap:20px}
 .ov-public-hero>.ov-stack-sm{display:contents}
 .ov-public-home .ov-h1{font-size:calc(var(--ov-fs-3xl) + 10px);line-height:1.05;letter-spacing:-.02em}
 .ov-public-home .ov-promise{grid-template-columns:minmax(0,1fr)}
 .ov-public-home .ov-promise li{flex-direction:column;align-items:flex-start}
 .ov-public-home .ov-public-cta{align-self:flex-start;min-width:280px;width:auto}
 .ov-public-home .ov-reason{text-align:left}
 .ov-public-footer{padding:0 40px 48px}
 .ov-public-footer .ov-legal{order:0}
 .ov-public-footer .ov-public-partner{order:1;border:0;justify-content:center;padding:0}
 .ov-public-partner .ov-row-main{flex:none}
 .ov-public-partner .ov-row-title{display:none}
 .ov-public-partner .ov-row-sub{display:flex;align-items:center;min-height:44px;color:var(--ov-brand-ink);text-decoration:underline}
 .ov-demo-name{font-size:var(--ov-fs-lg)}
 .ov-demo-overview{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start}
 .ov-demo-order-preview{display:flex}
 .ov-demo-next{display:none}
 .ov-public-demo .ov-demo-tabs button{font-size:var(--ov-fs-sm);gap:6px;padding-inline:4px}
 .ov-public-demo .ov-demo-foot{align-items:center}
 .ov-public-demo .ov-demo-foot>span{flex-basis:auto;padding-bottom:0}
}
