/*
 * 站点布局：>=1500px 内容宽 1300px，<1500px 内容宽 1200px
 * 侧栏灯笼固定 100px，随居中容器定位
 */

:root {
    --site-container-width: 1300px;
    --site-inner-width: 1130px;
    --site-lantern-width: 100px;
    --site-lantern-gap: 10px;
    --site-scale: 1;
    --custom-top-percent: 30%;
}

html {
    min-width: 0;
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
}

/* 全局输入历史下拉：fixed 定位，避免被 card overflow 裁剪 */
#global-history-list {
    position: fixed !important;
    z-index: 999999 !important;
}

/* 覆盖 style.css 中 header/nav 固定 1300 最小宽，避免视口较窄时整体左偏 */
.pcoded-header,
.pcoded-navbar.theme-horizontal {
    min-width: 0 !important;
    width: 100% !important;
}

/* 主容器统一居中 */
.container,
.pcoded-header .container,
.pcoded-navbar .container,
.pcoded-main-container > .pcoded-wrapper.container,
.pcoded-content > .container {
    width: var(--site-container-width) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

.pcoded-header .container.div-top {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.pcoded-header .container.div-top > .row {
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100%;
}

.pcoded-navbar.theme-horizontal .navbar-content {
    width: 100%;
}

.pcoded-navbar.theme-horizontal .pcoded-inner-navbar {
    width: 100%;
    max-width: var(--site-container-width);
}

.site-recruit-banner {
    width: 100%;
    max-width: var(--site-container-width);
    margin: 8px auto;
    box-sizing: border-box;
}

/* 侧栏灯笼：相对居中容器定位 */
.lantern_left,
.lantern_right {
    width: var(--site-lantern-width);
    z-index: 90000;
    position: fixed;
    top: 25%;
}

.lantern_left {
    left: max(6px, calc(50vw - var(--site-container-width) / 2 - var(--site-lantern-width) - var(--site-lantern-gap)));
}

.lantern_right {
    right: max(6px, calc(50vw - var(--site-container-width) / 2 - var(--site-lantern-width) - var(--site-lantern-gap)));
    left: auto;
}

.back_top {
    position: fixed;
    top: calc(var(--custom-top-percent) + 400px);
    right: max(6px, calc(50vw - var(--site-container-width) / 2 - var(--site-lantern-width) - var(--site-lantern-gap)));
    z-index: 90000;
    width: var(--site-lantern-width);
}

.back_top_small {
    position: fixed;
    top: 50%;
    right: max(6px, calc(50vw - var(--site-container-width) / 2 - 70px));
    z-index: 90000;
    width: 60px;
}

/* 首页功能卡片：同行等高 */
.page-wrapper .grid.row > .element-item {
    display: flex;
    box-sizing: border-box;
}

.page-wrapper .grid.row > .element-item > .card.card-body {
    flex: 1;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.page-wrapper .grid.row > .element-item .card.card-body > .d-flex.mt-1 {
    flex: 1;
}

/* 首页赞助商：图片随格子宽度缩放，避免 1200px 主体时溢出 */
.partner {
    box-sizing: border-box;
    overflow: hidden;
}
.partner a {
    display: block;
    line-height: 0;
}
.partner img {
    max-width: 100%;
    max-height: 60px;
    width: auto;
    height: auto;
    object-fit: contain;
    vertical-align: middle;
}

/* 工具页测速结果：flex 行内 col-12 撑满容器宽 */
#tool-panels-mount > #return_info,
#tool-panels-mount .fake-only > #return_info,
.page-wrapper #return_info {
    display: flex;
    width: 100%;
}

#tool-panels-mount #return_info > .col-12,
.page-wrapper #return_info > .col-12 {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
}

#tool-panels-mount > #tracert_result,
.page-wrapper #tracert_result {
    width: 100%;
}

.page-wrapper .fake-only > #tracert_result {
    width: 100%;
}

/* < 1500px */
@media screen and (max-width: 1499px) {
    :root {
        --site-container-width: 1200px;
        --site-inner-width: 1043px;
        --site-scale: 0.92307692;
    }

    .pcoded-navbar.theme-horizontal .pcoded-inner-navbar > li > a {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }

    /* 顶栏图片广告 270 → 239（原 249 再减 10） */
    .top_pic_ad img {
        width: 239px !important;
        height: auto !important;
    }

    /* 横幅广告区 */
    .gg_link .card > div[style*="flex"] {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    /* .gg_link img {
        height: auto !important;
    } */

    .gg_link img[width="610px"],
    .gg_link img[width="610"] {
        width: 557px !important;
        max-width: 100%;
    }

    .gg_link img[width="405px"],
    .gg_link img[width="405"] {
        width: 370px !important;
        max-width: 100%;
    }

    .gg_link img[width="1225px"],
    .gg_link img[width="1225"] {
        width: 1121px !important;
        max-width: 100% !important;
    }

    .gg_link img[width="80px"],
    .gg_link img[width="80"] {
        width: 64px !important;
    }

    /* 首页赞助商 */
    .partner {
        width: 171px !important;
        margin-right: 11px !important;
    }

    .partner img {
        max-width: 100% !important;
        max-height: 56px !important;
        width: auto !important;
        height: auto !important;
    }

    /* 首页筛选区 */
    #filters.button-group {
        width: 414px !important;
    }

    .card-body > .gg_link img {
        max-width: calc(var(--site-container-width) - 410px) !important;
       
    }
    .gg_link img[width="800px"],
    .gg_link img[width="800"] {
        width: 698px !important;
        max-width: 100%;
    }
    /* 工具页内容区：跟随 --site-inner-width */
    div[style*="width:1130px"],
    div[style*="width: 1130px"],
    .advanced[style*="1130px"],
    .card.input-area > div[style*="1130px"],
    #tool-page-root .card.input-area.tool-ping-input > .tool-input-row,
    #tool-page-root .card.input-area.tool-ping-input > .tool-line-select-bar,
    .head_view {
        width: 100% !important;
        max-width: var(--site-inner-width) !important;
        box-sizing: border-box;
    }

    .boce-subnav {
        flex-wrap: wrap;
        gap: 6px;
        padding: 6px;
    }

    .boce-subnav a {
        flex: 1 1 calc(50% - 6px);
        min-width: calc(50% - 6px);
        padding: 10px 8px;
        font-size: 13px;
        white-space: normal;
    }

    .boce-subnav--domain a {
        flex: 1 1 calc(33.333% - 6px);
        min-width: calc(33.333% - 6px);
    }

    /* 首页功能卡片：1200 宽度下统一高度，描述两行紧凑、避免单字孤行 */
    .page-wrapper .grid.row > .element-item {
        padding-left: 12px;
        padding-right: 12px;
    }

    .page-wrapper .grid.row > .element-item > .card.card-body {
        min-height: 132px;
        padding: 1rem 0.9rem;
    }

    .page-wrapper .grid.row > .element-item .card.card-body > .d-flex.mt-1 {
        flex: 1 1 auto;
        align-items: flex-start !important;
        justify-content: flex-start !important;
    }

    .page-wrapper .grid.row > .element-item .card.card-body p.text-secondary {
        font-size: 13px;
        line-height: 1.32;
        margin: 0 !important;
        word-break: keep-all;
        overflow-wrap: break-word;
        text-wrap: pretty;
    }

    .page-wrapper .grid.row > .element-item .card.card-body p.text-secondary + p.text-secondary {
        margin-top: 2px !important;
    }

    /* 网站测速 1200 主体：内容区仍 1130px（左右约 35px），输入框撑满至按钮前 */
    .card.input-area.tool-http-input {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding-top: 35px !important;
        padding-bottom: 35px !important;
        gap: 12px;
    }

    .card.input-area.tool-http-input > div[style*="1130px"],
    .card.input-area.tool-http-input > .advanced[style*="1130px"] {
        width: 1130px !important;
        max-width: calc(100% - 40px) !important;
        box-sizing: border-box;
    }

    .card.input-area.tool-http-input > div[style*="1130px"]:first-of-type {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px;
        margin-bottom: 0;
    }

    .card.input-area.tool-http-input > div[style*="1130px"]:first-of-type > .float-left {
        float: none !important;
        flex: 1 1 auto;
        min-width: 0;
        width: auto !important;
        max-width: none !important;
    }

    .card.input-area.tool-http-input > div[style*="1130px"]:first-of-type > .float-right {
        float: none !important;
        flex: 0 0 auto;
        margin-left: 0 !important;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-end;
        white-space: nowrap;
    }

    .card.input-area.tool-http-input > div[style*="1130px"]:first-of-type > .float-right .btn {
        margin-left: 0 !important;
        margin-bottom: 0 !important;
    }

    .card.input-area.tool-http-input > div[style*="1130px"]:first-of-type > .float-right .btn.ml-1 {
        margin-left: 4px !important;
    }

    .card.input-area.tool-http-input #host {
        width: 100% !important;
        max-width: 100% !important;
    }

    .card.input-area.tool-http-input .clear_input {
        position: absolute !important;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        margin: 0 !important;
        display: inline-block;
    }

    .card.input-area.tool-http-input #history-list {
        width: 100% !important;
    }

    /* 批量检测：左右两栏网格（仅 batch_ping / batch_tcping / batch_http） */
    .card.tool-batch-input > .row.ml-0 {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(280px, 400px);
        gap: 12px;
        align-items: start;
        margin-left: 0 !important;
    }

    .card.tool-batch-input[style*="height:"] {
        height: auto !important;
    }

    .card.tool-batch-input textarea#host {
        width: 100% !important;
        max-width: 100% !important;
        grid-column: 1;
        grid-row: 1;
    }

    .card.tool-batch-input > .row.ml-0 > .clear_input {
        grid-column: 1;
        grid-row: 1;
        justify-self: end;
        align-self: start;
        margin: 10px 10px 0 0 !important;
        z-index: 2;
        position: relative;
    }

    .card.tool-batch-input > .row.ml-0 > div[style*="width:400px"] {
        width: 100% !important;
        grid-column: 2;
        grid-row: 1;
    }

    .card.tool-batch-input > .row.ml-0 > div[style*="width:400px"] > div[style*="width: 382px"],
    .card.tool-batch-input > .row.ml-0 > div[style*="width:400px"] > div[style*="width:382px"] {
        width: 100% !important;
        max-width: 100%;
        margin-left: 0 !important;
    }
}

/* 视口较窄：顶栏广告再缩小 */
@media screen and (max-width: 1320px) {
    .top_pic_ad img {
        width: 210px !important;
    }
}

@media screen and (max-width: 1240px) {
    .top_pic_ad img {
        width: 190px !important;
    }

    .gg_link img[width="610px"],
    .gg_link img[width="610"] {
        width: calc(50% - 8px) !important;
        max-width: 553px;
    }

    .gg_link img[width="405px"],
    .gg_link img[width="405"] {
        width: calc(33.33% - 8px) !important;
        max-width: 364px;
    }
}

@media screen and (max-width: 1280px) {
    .boce-search-row .form-control {
        min-width: 160px;
    }

    /* 极窄屏批量检测改为单列 */
    .card.tool-batch-input > .row.ml-0 {
        grid-template-columns: 1fr !important;
    }

    .card.tool-batch-input > .row.ml-0 > div[style*="width:400px"] {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }
}

/* 顶部横向菜单：仅鼠标悬停时展开子菜单，不因当前页 active 常开 */
.pcoded-navbar.theme-horizontal .pcoded-inner-navbar > li.pcoded-hasmenu > .pcoded-submenu {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: rotateX(-90deg) !important;
    pointer-events: none;
}

.pcoded-navbar.theme-horizontal .pcoded-inner-navbar > li.pcoded-hasmenu.active:not(:hover):not(.pcoded-trigger) > .pcoded-submenu {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: rotateX(-90deg) !important;
    pointer-events: none;
}

.pcoded-navbar.theme-horizontal .pcoded-inner-navbar > li.pcoded-hasmenu:hover > .pcoded-submenu,
.pcoded-navbar.theme-horizontal .pcoded-inner-navbar > li.pcoded-hasmenu.pcoded-trigger > .pcoded-submenu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: rotateX(0) !important;
    pointer-events: auto;
}

.pcoded-navbar.theme-horizontal .pcoded-inner-navbar > li.pcoded-hasmenu.edge:hover > .pcoded-submenu,
.pcoded-navbar.theme-horizontal .pcoded-inner-navbar > li.pcoded-hasmenu.edge.pcoded-trigger > .pcoded-submenu {
    left: auto;
    right: 0;
}

/* 地图异常标记开关（对照 style_backup.css custom-switch-marker） */
.custom-control-marker {
    position: relative;
    min-height: 1.5rem;
    vertical-align: middle;
}

.custom-control-label-marker {
    position: relative;
    margin-bottom: 0;
    vertical-align: top;
    cursor: pointer;
    display: inline-block;
    width: 25px;
    height: 22px;
}

.custom-control-input-marker {
    position: absolute;
    left: 0;
    z-index: -1;
    width: 1rem;
    height: 1.25rem;
    opacity: 0;
}

.custom-control-label-marker::before,
.custom-control-label-marker::after {
    position: absolute;
    display: block;
    content: "";
}

.custom-control-label-marker::before,
.custom-file-label,
.custom-select {
    transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.custom-switch-marker .custom-control-label-marker::before {
    width: 25px;
    pointer-events: all;
    border-radius: 0.5rem;
}

.custom-switch-marker .custom-control-label-marker::before {
    top: 7px;
    height: 8px;
    background: #dbe3ec;
    border: none;
    box-shadow: none !important;
}

.custom-switch-marker .custom-control-label-marker::after {
    top: 5px;
    width: 12px;
    height: 12px;
    background-color: #adb5bd;
    border-radius: 50%;
    transition: transform .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.custom-control-input-marker:checked ~ .custom-control-label-marker::before {
    color: #fff;
    border-color: #4680ff;
    background-color: #4680ff;
}

.custom-switch-marker .custom-control-input-marker:checked ~ .custom-control-label-marker::before {
    background: #aec7ff;
}

.custom-switch-marker .custom-control-input-marker:checked ~ .custom-control-label-marker::after {
    background: #4680ff;
    transform: translateX(13px);
}

/* 全站按钮聚焦时去掉默认黑边框 */
button:focus,
button:active,
.btn:focus,
.btn:active,
a.button:focus,
a.button:active {
    outline: none !important;
    box-shadow: none !important;
}
button::-moz-focus-inner {
    border: 0;
}
