/* Checkpoint 43 — text controls and visual font/shape selection. */
.studio-text-slider .thumb{display:none!important}
.kit-studio .studio-text-choice:focus{background:var(--studio-panel,#fff);color:var(--studio-ink,#17191f)}
.kit-studio .studio-text-picker-close:focus{background:#d9232e12;color:var(--studio-red,#d9232e)}
.kit-studio .studio-typeface-filters input[type=search]:not(.browser-default):focus:not([readonly]){border-color:var(--studio-red,#d9232e);box-shadow:0 0 0 2px #d9232e18!important}
.studio-text-controls{display:block;clear:both;margin:18px 0 16px;color:var(--studio-ink,#17191f)}
.studio-text-choice-row,.studio-text-slider-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.studio-text-control-label{display:block;margin:0 0 7px;font-size:11px;font-weight:650;color:var(--studio-muted,#737b8a)}
.studio-text-choice{width:100%;min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:7px;text-align:left;padding:10px 11px;border:1px solid var(--studio-line,#d9dee7);border-radius:7px;background:var(--studio-panel,#fff);color:var(--studio-ink,#17191f);font:inherit;font-size:11px;line-height:1.4;cursor:pointer}
.studio-text-choice>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-text-choice svg{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-width:2}
.studio-text-choice:hover,.studio-text-choice:focus-visible{border-color:var(--studio-red,#d9232e);outline:2px solid #d9232e18;outline-offset:2px}.studio-text-choice:disabled{opacity:.55;cursor:default}
.studio-text-slider-row{margin-top:21px}.kit-studio .studio-text-slider{position:static;display:block;min-width:0;font-size:11px;color:var(--studio-muted,#737b8a);line-height:1.5;transform:none}.studio-text-slider>span{display:block}.studio-text-slider strong{font-weight:500;color:var(--studio-ink,#17191f)}
.kit-studio .studio-text-slider input[type=range]{display:block;width:100%;min-height:30px;height:30px;margin:7px 0 0;padding:0;border:0;outline:none;background:transparent;accent-color:var(--studio-red,#d9232e);box-shadow:none;touch-action:pan-y;-webkit-appearance:none;appearance:none}
.kit-studio .studio-text-slider input[type=range]::-webkit-slider-runnable-track{height:4px;border:0;border-radius:3px;background:#c9ccd3}.kit-studio .studio-text-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:17px;height:17px;margin-top:-6.5px;border:0;border-radius:50%;background:var(--studio-red,#d9232e);box-shadow:none}
.kit-studio .studio-text-slider input[type=range]::-moz-range-track{height:4px;border:0;border-radius:3px;background:#c9ccd3}.kit-studio .studio-text-slider input[type=range]::-moz-range-thumb{width:17px;height:17px;border:0;border-radius:50%;background:var(--studio-red,#d9232e)}
.kit-studio .studio-text-slider input[type=range]:focus-visible{outline:2px solid var(--studio-red,#d9232e);outline-offset:3px;border-radius:5px}.studio-text-control-hint{font-size:11px;line-height:1.6;color:var(--studio-muted,#737b8a)}
body.studio-text-picker-open{overflow:hidden}.studio-text-picker-backdrop{position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(19,25,33,.5);backdrop-filter:blur(4px)}
.kit-studio .studio-text-picker{position:relative;display:flex;flex-direction:column;width:min(1120px,100%);max-height:calc(100dvh - 48px);max-height:calc(100vh - 48px);margin:0;padding:0;border:1px solid var(--studio-line,#e0e4eb);border-radius:20px;background:var(--studio-panel,#fff);color:var(--studio-ink,#17191f);box-shadow:0 28px 100px #0e15293b;overflow:hidden;outline:none}
.studio-text-picker-heading{position:relative;flex-shrink:0;padding:37px 38px 21px}.studio-text-picker-heading .studio-eyebrow{font-size:10px;letter-spacing:1.7px;margin-bottom:15px!important}.kit-studio .studio-text-picker h2{padding-right:35px;margin:0;font-family:inherit;font-size:34px;line-height:1.25;font-weight:650;letter-spacing:-1px;color:inherit}
.studio-text-picker-close{position:absolute;right:23px;top:24px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:5px;border:0;border-radius:7px;background:transparent;color:inherit;cursor:pointer}.studio-text-picker-close svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:3}.studio-text-picker-close:hover{background:#d9232e12;color:var(--studio-red,#d9232e)}
.studio-text-picker-description{margin:17px 0 0;font-size:13px;color:var(--studio-muted,#7e8797);line-height:1.6}.studio-typeface-filters{padding-top:25px}.kit-studio .studio-typeface-filters input[type=search]{display:block;width:100%;box-sizing:border-box;height:46px;margin:0 0 17px;padding:10px 15px;border:1px solid var(--studio-line,#d4dae4);border-radius:8px;background:var(--studio-panel,#fff);color:var(--studio-ink,#17191f);font-family:inherit;font-size:13px;box-shadow:none}.kit-studio .studio-typeface-filters input:focus{border-color:var(--studio-red,#d9232e);box-shadow:0 0 0 2px #d9232e18;outline:none}
.studio-font-categories{display:flex;flex-wrap:wrap;gap:7px}.studio-font-categories button{padding:8px 14px;min-height:35px;border:1px solid transparent;border-radius:24px;background:var(--studio-bg,#f0f2f5);color:var(--studio-muted,#697587);font:inherit;font-size:11px;cursor:pointer}.studio-font-categories button.is-active{background:var(--studio-ink,#17191f);color:var(--studio-panel,#fff)}.studio-font-categories button:hover:not(.is-active){border-color:var(--studio-red,#d9232e);color:var(--studio-red,#d9232e)}
.studio-text-picker-content{overflow:auto;overscroll-behavior:contain;min-height:0;padding:2px 38px 34px;scrollbar-gutter:stable}.studio-typeface-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.studio-typeface-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-width:0;min-height:148px;padding:20px 13px;border:1px solid var(--studio-line,#dce2eb);border-radius:10px;background:var(--studio-panel,#fff);color:var(--studio-ink,#17191f);font:inherit;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.studio-typeface-card:hover{border-color:#bfc3cc;background:var(--studio-bg,#fafbfc);box-shadow:0 5px 16px #17191f08}.studio-typeface-card.is-selected{border:2px solid var(--studio-red,#d9232e);padding:19px 12px;background:#d9232e04}.studio-text-card-check{position:absolute;right:12px;top:9px;color:var(--studio-red,#d9232e);font-size:18px;line-height:1}
.studio-font-sample{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4;font-size:clamp(20px,2.6vw,38px);font-weight:400;opacity:.2}.studio-font-sample.is-loaded{opacity:1}.studio-font-sample.is-unavailable{opacity:.3}.studio-typeface-name{display:block;font-size:12px;font-weight:500;color:var(--studio-muted,#7e8797);line-height:1.4;text-align:center}.studio-shape-sample{display:block;width:100%;height:77px}.studio-shape-sample svg{display:block;width:100%;height:100%;overflow:visible}.studio-shape-card{min-height:155px;gap:7px}.studio-shape-grid{padding-top:4px}.studio-text-picker-error{margin:15px 0 0;color:#ba1829;font-size:12px;line-height:1.6}.studio-text-picker-empty{padding:22px;text-align:center;font-size:13px;color:var(--studio-muted,#737b8a)}.studio-text-picker-working{position:absolute;bottom:0;left:0;right:0;margin:0;padding:10px;text-align:center;font-size:12px;background:var(--studio-panel,#fff);border-top:1px solid var(--studio-line,#d9dde5)}
.studio-text-picker button:focus-visible{outline:2px solid var(--studio-red,#d9232e);outline-offset:3px}.studio-text-picker button:disabled{cursor:wait;opacity:.6}.kit-studio .logo-options .studio-text-controls{margin-top:8px}.kit-studio .logo-options .studio-text-choice-row{gap:9px}.kit-studio .logo-options .studio-text-control-label{font-size:11px}
@media(max-width:760px){.studio-text-picker-backdrop{padding:12px}.kit-studio .studio-text-picker{border-radius:15px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}.studio-text-picker-heading{padding:28px 19px 17px}.kit-studio .studio-text-picker h2{font-size:25px;letter-spacing:-.6px}.studio-text-picker-heading .studio-eyebrow{font-size:9px;letter-spacing:1.4px}.studio-text-picker-close{right:12px;top:13px;width:33px;height:33px}.studio-text-picker-description{font-size:11px;margin-top:12px}.studio-typeface-filters{padding-top:17px}.studio-font-categories{gap:5px}.studio-font-categories button{font-size:10px;padding:7px 11px;min-height:32px}.studio-text-picker-content{padding:2px 17px 22px}.studio-typeface-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.studio-typeface-card{min-height:117px;padding:20px 9px 14px;gap:10px;border-radius:8px}.studio-typeface-card.is-selected{padding:19px 8px 13px}.studio-font-sample{font-size:26px}.studio-typeface-name{font-size:10px}.studio-shape-sample{height:65px}.studio-text-choice{min-height:46px;font-size:12px}.studio-text-control-label,.kit-studio .studio-text-slider{font-size:12px}.studio-text-slider-row{margin-top:20px}.studio-text-card-check{font-size:15px;right:9px;top:8px}}
@media(max-width:360px){.studio-text-picker-heading{padding-left:15px;padding-right:15px}.studio-text-picker-content{padding-left:12px;padding-right:12px}.studio-typeface-card{min-height:105px}.studio-font-sample{font-size:21px}.studio-font-categories button{padding:6px 9px}.studio-text-choice-row,.studio-text-slider-row{gap:9px}.studio-text-choice{padding-left:8px;padding-right:8px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.studio-typeface-card{transition:none}}
/* Older global Dark View rules make all buttons white; keep picker contrast. */
body.dyo-dark .kit-studio .studio-font-categories button{background:#2b394b;color:#d3dce8!important;border-color:#3c4d63}
body.dyo-dark .kit-studio .studio-font-categories button.is-active{background:var(--studio-red,#d9232e);color:#fff!important;border-color:var(--studio-red,#d9232e)}
body.dyo-dark .kit-studio .studio-font-categories button:hover:not(.is-active){background:#34465a;color:#fff!important;border-color:#ed5361}
body.dyo-dark .kit-studio .studio-typeface-card:hover,body.dyo-dark .kit-studio .studio-typeface-card:focus{background:#2b394b;color:#edf0f5!important}
body.dyo-dark .kit-studio .studio-typeface-card.is-selected{background:#352b3a;border-color:#ed5361}
body.dyo-dark .kit-studio .studio-typeface-filters input[type=search]{background:var(--studio-panel,#202936)!important;color:#edf0f5!important;border-color:#526075!important}
body.dyo-dark .kit-studio .studio-typeface-filters input[type=search]:focus{border-color:#ed5361!important}
body.dyo-dark .kit-studio .studio-text-slider input[type=range]{background:transparent!important}
