/*
 * 站点布局：>=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;
    width: calc(186 / 1300 * var(--site-container-width));
    margin-right: calc(13 / 1300 * var(--site-container-width));
}
.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;
}

/* 横幅广告网格：2-3-1（首页 + 内页上/中）与页脚 2 列 */
.site-ad-banner-row {
    width: 100%;
    box-sizing: border-box;
}

.site-ad-slot {
    position: relative;
    min-width: 0;
}

.site-ad-slot a {
    display: block;
    line-height: 0;
}

/* 第1行 2 个(各 50%)，第2行 3 个(各 33%)，第3行 1 个(100%)；第7个起仍整行 */
.site-ad-grid-231 {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: calc(5px * var(--site-scale));
}

.site-ad-grid-231 > .site-ad-slot:nth-child(1),
.site-ad-grid-231 > .site-ad-slot:nth-child(2) {
    grid-column: span 3;
}

.site-ad-grid-231 > .site-ad-slot:nth-child(3),
.site-ad-grid-231 > .site-ad-slot:nth-child(4),
.site-ad-grid-231 > .site-ad-slot:nth-child(5) {
    grid-column: span 2;
}

.site-ad-grid-231 > .site-ad-slot:nth-child(n+6) {
    grid-column: span 6;
}

/* 页脚前：一行 2 个 */
.site-ad-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(6px * var(--site-scale));
}

.site-ad-grid-231 img,
.site-ad-grid-2 img {
    width: 100% !important;
    height: auto;
    display: block;
    max-width: 100%;
}

/* 顶栏等小图广告：按设计宽等比 */
.top_pic_ad img,
.home-filter-ad img {
    width: calc(var(--ad-w, 610) / 1300 * var(--site-container-width));
    height: auto;
    max-width: 100%;
    vertical-align: top;
}

.site-ad-slot {
    margin-left: calc(var(--ad-ml, 0) * 1px * var(--site-scale));
    margin-top: calc(var(--ad-mt, 0) * 1px * var(--site-scale));
}

.site-ad-grid-231 > .site-ad-slot,
.site-ad-grid-2 > .site-ad-slot {
    margin: 0;
}

.site-header-logo {
    width: calc(var(--logo-w, 150) / 1300 * var(--site-container-width));
    height: auto;
}

.site-header-top {
    padding: 10px 0;
}

.site-header-logo-wrap {
    min-height: 50px;
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

/* 工具页测速结果：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：主体 1200，--site-scale 已切换 */
@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;
    }

    /* 顶栏：压缩高度，登录/注册更紧凑 */
    .site-header-top {
        padding: 5px 0 !important;
    }

    .site-header-row {
        min-height: 68px !important;
    }

    .site-header-logo-wrap {
        min-height: 42px;
    }

    .site-header-auth {
        padding-left: 10px;
        min-width: 0;
    }

    /* 横幅广告网格撑满卡片 */
    .gg_link .site-ad-banner-row {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    .partner img {
        max-height: 56px !important;
    }

    .home-filter-card .card-body.home-filter-row {
        min-height: calc(96px * var(--site-scale));
        padding: calc(26px * var(--site-scale)) 16px;
    }
    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;
    }

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

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

    .yc-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;
    }
}

/* 视口较窄时不再单独缩广告，仅依赖 1300/1200 主体宽比例 */

@media screen and (max-width: 1280px) {
    .yc-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;
}

/* 内页导航条（优测网格式：灰底 #ecf0f5、左右 16px 内边距、下方 16px 与广告间距） */
.inner-page-breadcrumb {
    margin-bottom: 0;
    padding: 0;
}

.inner-page-breadcrumb .page-block {
    padding: 0;
}

.inner-page-breadcrumb .breadcrumb {
    display: flex;
    flex-wrap: wrap;
    padding: 0.2rem 1rem;
    margin-bottom: 1rem;
    list-style: none;
    background-color: #ecf0f5;
    border-radius: 0.25rem;
    font-size: 14px;
    line-height: 1.5;
}

.inner-page-breadcrumb .breadcrumb-item a {
    color: #6c757d;
}

.inner-page-breadcrumb .breadcrumb-item.active,
.inner-page-breadcrumb .breadcrumb-item:last-child {
    color: #373a3c;
}
