/* =========================================================
   PD_Reports 1.13.0: number stepper for touch screens
   Project Design (IO) brand palette

   Applied only when pdr-numstep.js has switched itself on (html.pdr-ns-on:
   primary pointer coarse, or ?pdr_numstep=1). Every rule sits under that
   class so a mouse-driven screen is untouched. Specificity is kept above
   the tools' own input rules (0,1,1) and the Elementor kit button rule
   (0,1,1) on purpose.
   ========================================================= */

.pdr-ns-on .pdr-ns {
    display: inline-flex;
    align-items: stretch;
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    vertical-align: middle;
    box-sizing: border-box;
}
.pdr-ns-on .pdr-ns > input[type="number"] {
    flex: 1 1 4em;
    min-width: 3.2em;
    min-height: 40px;
    margin: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    -moz-appearance: textfield;
    appearance: textfield;
}
.pdr-ns-on .pdr-ns > input[type="number"]::-webkit-outer-spin-button,
.pdr-ns-on .pdr-ns > input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.pdr-ns-on .pdr-ns .pdr-ns__btn {
    flex: 0 0 auto;
    width: 40px;
    min-height: 40px;
    margin: 0;
    padding: 0;
    border: 1px solid #C2C7D4;
    border-left: 0;
    border-radius: 0;
    background: #F6F7FA;
    color: #36406B;
    font-family: inherit;
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    box-shadow: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
}
.pdr-ns-on .pdr-ns .pdr-ns__btn--up {
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}
.pdr-ns-on .pdr-ns .pdr-ns__btn.is-active,
.pdr-ns-on .pdr-ns .pdr-ns__btn:active {
    background: #E4E6F4;
    color: #1C2236;
}
.pdr-ns-on .pdr-ns .pdr-ns__btn:focus {
    outline: none;
}

/* Narrow fields (row grids, zone tables): the two buttons stacked in one
   column beside the field, so the figure stays readable */
.pdr-ns-on .pdr-ns--compact > input[type="number"] {
    min-width: 2.4em;
    min-height: 44px;
    padding-left: 5px;
    padding-right: 4px;
}
.pdr-ns-on .pdr-ns__col {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    width: 28px;
}
.pdr-ns-on .pdr-ns__col > .pdr-ns__btn {
    flex: 1 1 50%;
    width: 28px;
    min-height: 22px;
    height: 50%;
    font-size: 15px;
    border: 1px solid #C2C7D4;
    border-left: 0;
    border-radius: 0;
}
.pdr-ns-on .pdr-ns__col > .pdr-ns__btn--up {
    border-top-right-radius: 5px;
    border-bottom: 0;
}
.pdr-ns-on .pdr-ns__col > .pdr-ns__btn--down {
    border-bottom-right-radius: 5px;
}

/* A field the tool styles at 100% width keeps that width through the wrapper */
.pdr-ns-on .pdfa-zones .pdr-ns,
.pdr-ns-on .glc-row-grid .pdr-ns,
.pdr-ns-on .pdes-input-row .pdr-ns {
    display: flex;
    width: 100%;
}
.pdr-ns-on .glc-row-grid .pdr-ns > input[type="number"] {
    height: auto;
}

@media print {
    .pdr-ns-on .pdr-ns .pdr-ns__btn { display: none; }
    .pdr-ns-on .pdr-ns > input[type="number"] {
        border-top-right-radius: 6px;
        border-bottom-right-radius: 6px;
    }
}
