/* No geometric changes unless a text size is explicitly overridden. */
.fx [data-fx-sized]{overflow-wrap:anywhere;min-width:0}
.fx .fx-price[data-fx-sized]{white-space:normal!important;overflow-wrap:anywhere}
.fx .fx-steps li[data-fx-sized]{flex-wrap:wrap}
.fx .fx-calendar button[data-fx-sized],.fx .fx-times button[data-fx-sized]{height:auto;white-space:normal}
.fx .fx-primary[data-fx-sized]{white-space:normal;max-width:100%;height:auto}
.fx .fx-card:has([data-fx-sized]){grid-template-columns:minmax(0,1fr) minmax(0,auto)}
.fx .fx-card:has([data-fx-sized]) .fx-card-right{min-width:0;max-width:100%}

.fx-size-layer{position:fixed;inset:0;pointer-events:none;z-index:99990}
button.fx-size-pencil{position:absolute;display:flex!important;align-items:center;justify-content:center;width:44px!important;height:44px!important;min-width:44px;min-height:44px;padding:0!important;margin:0!important;border:0!important;border-radius:50%;background:transparent!important;color:white!important;pointer-events:auto;cursor:pointer;box-shadow:none!important}
.fx-size-pencil::before,.fx-size-pencil::after{display:none!important}
.fx-size-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #fff9;border-radius:50%;background:#493c32;box-sizing:border-box;pointer-events:none}
.fx-size-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fx-size-pencil:focus-visible{outline:2px solid #267eaf;outline-offset:0}
.fx-size-panel{position:fixed;z-index:1000002;top:8px;left:8px;margin:0;transform:none;box-sizing:border-box;width:360px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 48px);overflow:auto;padding:12px;background:#302b26;color:#fff;border:1px solid #baab98;border-radius:12px;box-shadow:0 8px 28px #0006;font:14px/1.4 Arial,sans-serif}
.fx-size-panel *{box-sizing:border-box}
.fx-size-panel button{min-width:44px;min-height:44px;background:#493e32;color:white;border:1px solid #aa9782;border-radius:6px;padding:8px;cursor:pointer;font:inherit}
.fx-size-panel button:disabled{opacity:.45;cursor:default}
.fx-size-panel button:focus-visible{outline:2px solid #76c5ff;outline-offset:2px}
.fx-size-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.fx-size-row{display:grid;grid-template-columns:minmax(0,1fr) 44px 54px 44px;gap:6px;align-items:center;margin:10px 0}
.fx-size-row output{text-align:center;color:#fff;font:inherit}
.fx-size-actions,.fx-size-confirm{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.fx-size-actions button{flex:1 1 40%}
.fx-size-actions button:last-child{flex-basis:100%}
.fx-size-status{margin:10px 0;color:#fff;font:inherit}
.fx-size-status:empty,.fx-size-confirm:empty{display:none}
.fx-size-panel .fx-size-device{margin-top:8px;cursor:help;background:transparent}
.fx-size-tip{position:absolute;bottom:60px;left:12px;right:12px;padding:10px;border:1px solid #baa78e;margin:0;background:#302b26;pointer-events:none}
.fx-size-tip[hidden]{display:none}
.fx-size-panel .fx-size-drag{flex:1;min-width:0;text-align:left;cursor:grab;touch-action:none;user-select:none;overflow-wrap:anywhere}
.fx-size-panel .fx-size-drag:active{cursor:grabbing}


.fx-size-panel{bottom:auto;right:auto}
.fx-size-panel button{margin:0;letter-spacing:normal;text-transform:none;box-shadow:none}
.fx-size-panel .fx-size-header{gap:8px}
.fx-size-confirm>span{flex-basis:100%}

.fx-size-highlight{position:fixed;pointer-events:none;z-index:99989;outline:2px solid #aa9782;outline-offset:2px;border-radius:3px}
.fx-size-layer{overflow:hidden}
