/* Component-scoped responsive polish. No device detection or business behavior. */
@media (max-width:430px) {
 /* Let the language selector share the search row instead of squeezing the logo.
    Native links, dropdowns, keyboard order and the two-row header are retained. */
 body.ph-ssr-active .main-top>.container:has(>.ph-labs-tools):has(>.top-nav>.language){position:relative}
 body.ph-ssr-active .main-top>.container:has(>.ph-labs-tools)>.top-nav>.language{position:absolute;top:62px;right:14px;max-width:90px}
 body.ph-ssr-active .main-top>.container:has(>.top-nav>.language)>.ph-labs-tools{width:calc(100% - 100px);margin-inline:0}
 body.ph-ssr-active .main-top>.container:has(>.ph-labs-tools)>.ph-shell-mobile-brand{width:100%}
 body.ph-ssr-active .pv88368-app .pv-service-heading .panel-title>span:not(#vps-status){font-size:clamp(18px,5vw,21px)!important;text-wrap:balance}
}
@media (max-width:359px) {
 /* Retain the established 14px search gutter on the smallest classic phones. */
 body.ph-ssr-active .main-top>.container:has(>.top-nav>.language)>.ph-labs-tools{width:calc(100% - 104px);margin-left:4px}
}
@media (min-width:768px) and (max-width:991px) {
 /* Five services statistics: 3+2. Keep the existing small-mobile 3+2 untouched. */
 body.ph-ssr-active .ph-lists[data-kind="services"] .ph-list-stats-5{grid-template-columns:repeat(6,minmax(0,1fr))}
 body.ph-ssr-active .ph-lists[data-kind="services"] .ph-list-stats-5>.ph-list-stat{grid-column:span 2}
 body.ph-ssr-active .ph-lists[data-kind="services"] .ph-list-stats-5>.ph-list-stat:nth-last-child(-n+2){grid-column:span 3}
}
@media (max-width:991px) {
 /* Override the module's inline 1rem only at this documented section boundary. */
 body.ph-ssr-active.page-pulseorder #os{margin-bottom:24px!important}
 /* Only the normal challenge lacks spacing; backup forms already have 24px. */
 body.ph-public-auth .ph-two-factor-page #frmTwoFactorChallenge>.form-group [type="submit"]{margin-top:24px}
}
@media (min-width:376px) and (max-width:991px) {
 /* Exactly three cycles in two columns: the last choice spans the remaining row.
    One-column phones, four payment choices and desktop grids are not affected. */
 body.ph-ssr-active.page-pulseorder #billing-cycles>div:first-child:nth-last-child(3)~div:last-child{grid-column:1/-1}
}
