.ppf{--r:#e4003a;--l:#dfe3ea;--m:#667085;color:#171b2b}.ppf *{box-sizing:border-box}.ppf header{border-top:7px solid var(--r);border-bottom:1px solid var(--l);padding:18px 0;display:flex;gap:10px}.ppf header input{flex:1;height:42px;padding:0 14px;border:1px solid var(--l);border-radius:7px}.ppf header button{height:42px;padding:0 13px;border:1px solid var(--l);border-radius:7px;background:#fff}.ppf header .on,.ppf .primary,.ppf .cartbtn{background:var(--r);color:#fff;border-color:var(--r)}.ppf .layout{display:grid;grid-template-columns:260px 1fr;gap:25px;padding-top:22px}.ppf aside{border:1px solid var(--l);border-radius:9px;align-self:start}.ppf aside h3,.ppf aside>.link{margin-left:14px}.ppf .link{border:0;background:none;color:var(--r)}.ppf .group{padding:12px 14px;border-top:1px solid var(--l)}.ppf .option{display:flex;gap:7px;margin:7px 0}.ppf .option span:last-child{margin-left:auto;color:var(--m)}.ppf .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:14px}.ppf .card{border:1px solid var(--l);border-radius:9px;padding:13px;display:flex;flex-direction:column;gap:9px}.ppf .media{height:170px;padding:24px;background:#fff;display:grid;place-items:center;overflow:hidden}.ppf .media img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.ppf .card h3{font-size:16px;margin:0}.ppf .meta{font-size:13px;color:var(--m)}.ppf .primary{border:0;border-radius:7px;padding:10px}.ppf dialog{width:min(1000px,94vw);max-height:92vh;overflow:auto;border:0;border-radius:10px;padding:22px}.ppf dialog::backdrop{background:#0008}.ppf .close,.ppf [data-del]{display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--l);border-radius:7px;background:#fff;font-size:20px}.ppf .detailgrid{display:grid;grid-template-columns:320px 1fr;gap:20px}.ppf .detailgrid .media{height:320px;padding:20px}.ppf .specs{display:grid;grid-template-columns:1fr 1.5fr}.ppf .specs div{padding:8px;border-bottom:1px solid var(--l)}.ppf .spec-section{margin-top:20px}.ppf .spec-section h3{margin:0 0 8px;padding-left:11px;border-left:4px solid var(--r)}.ppf .detail-cta{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 18px}.ppf .datasheet-link{display:inline-flex;align-items:center;padding:0 18px;min-height:44px;border:1px solid var(--r);border-radius:7px;color:var(--r);text-decoration:none;font-weight:700}.ppf .drawing{max-width:720px;margin:22px auto 0}.ppf .drawing img{max-width:100%;max-height:360px;object-fit:contain}.ppf .cartrow{display:grid;grid-template-columns:1fr 90px 40px;gap:10px;padding:10px 0}.ppf .request-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ppf .request-form .full{grid-column:1/-1}.ppf .hp{position:absolute;left:-10000px}@media(max-width:720px){.ppf .layout,.ppf .detailgrid{grid-template-columns:1fr}.ppf .cards{grid-template-columns:1fr}}
/* PERES VSS UI Final Patch
   Scope: visual corrections only. No PHP, product data, mail or PDF logic.
*/

/* --------------------------------------------------------------------------
   PRODUCT CARDS: keep every product image safely inside its visual area
   -------------------------------------------------------------------------- */
.ppf .card .media {
    height: 180px !important;
    padding: 28px 24px 32px !important;
    background: #fff !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ppf .card .media img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 92% !important;
    max-height: 92% !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: auto !important;
    transform: none !important;
}

/* Larger detail image keeps the same safe contain behaviour. */
.ppf .detailgrid .media {
    padding: 24px !important;
    overflow: hidden !important;
    background: #fff !important;
}
.ppf .detailgrid .media img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: auto !important;
}

/* --------------------------------------------------------------------------
   REQUEST LIST: consistent form controls independent of Enfold theme defaults
   -------------------------------------------------------------------------- */
.ppf #ppf-cart-dialog .request-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 16px !important;
    margin-top: 24px !important;
}

.ppf #ppf-cart-dialog .request-form > input:not(.hp),
.ppf #ppf-cart-dialog .request-form > select,
.ppf #ppf-cart-dialog .request-form > textarea {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border: 1px solid #cfd5df !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: #171b2b !important;
    font-family: inherit !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    box-shadow: none !important;
    outline: none !important;
}

.ppf #ppf-cart-dialog .request-form > input:not(.hp),
.ppf #ppf-cart-dialog .request-form > select {
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 12px !important;
}

.ppf #ppf-cart-dialog .request-form > textarea {
    grid-column: 1 / -1 !important;
    min-height: 110px !important;
    padding: 11px 12px !important;
    resize: vertical !important;
}

.ppf #ppf-cart-dialog .request-form > input:focus,
.ppf #ppf-cart-dialog .request-form > select:focus,
.ppf #ppf-cart-dialog .request-form > textarea:focus {
    border-color: #E4003A !important;
    box-shadow: 0 0 0 2px rgba(228, 0, 58, 0.10) !important;
}

.ppf #ppf-cart-dialog .request-form input::placeholder,
.ppf #ppf-cart-dialog .request-form textarea::placeholder {
    color: #98a2b3 !important;
    opacity: 1 !important;
}

/* Company, first name, last name, e-mail, phone align consistently.
   Existing .full elements remain full width. */
.ppf #ppf-cart-dialog .request-form .full,
.ppf #ppf-cart-dialog .request-form > button[type="submit"],
.ppf #ppf-cart-dialog .request-form > #status {
    grid-column: 1 / -1 !important;
}

.ppf #ppf-cart-dialog .request-form > button[type="submit"] {
    width: 100% !important;
    min-height: 44px !important;
    margin: 2px 0 0 !important;
    border-radius: 7px !important;
}

/* Quantity rows: same control language as contact form. */
.ppf #ppf-cart-dialog .cartrow {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 96px 40px !important;
    gap: 10px !important;
    align-items: center !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #e4e7ec !important;
}

.ppf #ppf-cart-dialog .cartrow input[type="number"] {
    width: 96px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 1px solid #cfd5df !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: #171b2b !important;
    box-shadow: none !important;
}

.ppf #ppf-cart-dialog .cartrow button[data-del] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 720px) {
    .ppf #ppf-cart-dialog .request-form {
        grid-template-columns: 1fr !important;
    }
    .ppf #ppf-cart-dialog .request-form > textarea,
    .ppf #ppf-cart-dialog .request-form .full,
    .ppf #ppf-cart-dialog .request-form > button[type="submit"],
    .ppf #ppf-cart-dialog .request-form > #status {
        grid-column: 1 !important;
    }
    .ppf #ppf-cart-dialog .cartrow {
        grid-template-columns: minmax(0, 1fr) 84px 40px !important;
    }
    .ppf #ppf-cart-dialog .cartrow input[type="number"] {
        width: 84px !important;
    }
}
.ppf .cards {
    align-items: stretch !important;
}

.ppf .card {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

.ppf .card > .primary,
.ppf .card > button.primary,
.ppf .card > a.primary {
    margin-top: auto !important;
    width: 100% !important;
    min-height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}