.ip-page {
    --ip-g: #0e5a3c;
    --ip-g3: #13704b;
    --ip-lime: #c6f432;
    --ip-line: #e6e9ec;
    --ip-tx: #14181f;
    --ip-tx2: #1f2633;
    --ip-mu: #4b5466;
}
.ip-head {
    margin-bottom: 18px;
}
.ip-head .breadcrumb {
    margin-bottom: 10px;
    font-size: 13px;
}
.ip-head-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    align-items: end;
}
.ip-page h1.ip-title {
    margin: 0 0 12px;
    font: 800 26px/1.3 Poppins, Inter, sans-serif !important;
    letter-spacing: -.02em;
    color: var(--ip-tx);
    overflow-wrap: anywhere;
}
.ip-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.ip-who {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-right: 4px;
    color: var(--ip-mu);
    font-size: 13px;
    text-decoration: none;
}
.ip-who img {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    object-fit: cover;
}
.ip-who b {
    color: var(--ip-tx);
}
.ip-who:hover b {
    color: var(--ip-g);
}
.ip-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border: 1px solid var(--ip-line);
    border-radius: 999px;
    background: #fff;
    color: var(--ip-tx2);
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    white-space: nowrap;
}
a.ip-chip:hover {
    border-color: var(--ip-g);
    color: var(--ip-g);
}
.ip-chip i {
    color: var(--ip-mu);
}
.ip-chip.is-g {
    background: #dcf2e6;
    border-color: #cfe6d9;
    color: #0e7a4c;
}
.ip-chip.is-g i {
    color: #0e7a4c;
}
.ip-chip.is-y {
    background: #fff3d6;
    border-color: #f3d38a;
    color: #8a5a00;
}
.ip-chip.is-y i {
    color: #b07400;
}
.ip-chip.is-b {
    background: #e0e8ff;
    border-color: #cdd8ff;
    color: #3a55d6;
}
.ip-chip.is-b i {
    color: #3a55d6;
}
.ip-chip-mu {
    color: var(--ip-mu);
    font-weight: 500;
}
.ip-star,
.ip-chip i.ip-star {
    color: #f0a500;
}
.ip-acts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.ip-btn,
.ip-fav .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    height: 42px;
    padding: 0 16px;
    border: 1px solid var(--ip-line);
    border-radius: 11px;
    background: #fff;
    color: var(--ip-tx2);
    font: 600 13.5px/1 Inter, sans-serif;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: none;
}
.ip-btn:hover,
.ip-fav .btn:hover {
    border-color: var(--ip-g);
    color: var(--ip-g);
    background: #fff;
}
.ip-btn.is-d {
    background: #0f1a15;
    border-color: #0f1a15;
    color: #fff;
}
.ip-btn.is-d:hover {
    background: #1d2c25;
    border-color: #1d2c25;
    color: #fff;
}
.ip-btn.is-p {
    background: var(--ip-g);
    border-color: var(--ip-g);
    color: #fff;
}
.ip-btn.is-p:hover {
    background: var(--ip-g3);
    border-color: var(--ip-g3);
    color: #fff;
}
.ip-btn.is-ic,
.ip-fav .btn {
    width: 42px;
    padding: 0 !important;
}
.ip-fav .btn.btn-custom {
    background: #fde8ec !important;
    border-color: #f6c3cd !important;
    color: #e11d48 !important;
}
.ip-btn.is-sm {
    height: 38px;
    padding: 0 12px;
    font-size: 13px;
}
.ip-page .card-v.border {
    border-color: var(--ip-line) !important;
    border-radius: 18px;
    box-shadow: none;
}
.ip-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 10px;
    margin: -8px 0 16px;
}
.ip-fact {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid var(--ip-line);
    border-radius: 16px;
    background: #fff;
    min-width: 0;
}
.ip-fact > i {
    width: 36px;
    height: 36px;
    flex: none;
    border-radius: 10px;
    display: grid;
    place-items: center;
    font-size: 14px;
}
.ip-fact span {
    min-width: 0;
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}
.ip-fact b {
    font-size: 14.5px;
    color: var(--ip-tx);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ip-fact small {
    font-size: 12px;
    color: var(--ip-mu);
}
.ip-c-g { background: #dcf2e6; color: #0e7a4c; }
.ip-c-b { background: #e0e8ff; color: #3a55d6; }
.ip-c-r { background: #fde3e3; color: #c62f2f; }
.ip-page .sc-item-seg {
    background: #f1f3f2;
}
.ip-refund {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 12px;
    color: var(--ip-mu);
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none;
}
.ip-refund:hover {
    color: var(--ip-g);
}
.ip-auc-hd {
    display: flex;
    align-items: center;
    gap: 12px;
}
.ip-auc-av img {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 0 0 3px var(--ip-lime);
}
.ip-auc-t {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    line-height: 1.35;
}
.ip-auc-t a {
    color: var(--ip-tx);
    text-decoration: none;
    font-size: 15.5px;
}
.ip-auc-t a:hover {
    color: var(--ip-g);
}
.ip-auc-t small {
    color: var(--ip-mu);
    font-size: 12.5px;
}
.ip-auc-st {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    gap: 6px;
    margin: 14px 0 12px;
}
.ip-auc-st a {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 8px 4px;
    border-radius: 10px;
    background: #f6f8f7;
    color: var(--ip-tx);
    text-decoration: none;
    text-align: center;
}
.ip-auc-st a:hover {
    background: #eef6f1;
}
.ip-auc-st b {
    font-size: 15px;
}
.ip-auc-st small {
    font-size: 11.5px;
    color: var(--ip-mu);
}
.ip-auc-bs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 14px;
}
.ip-auc-bs span,
.ip-auc-bs a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 9px 3px 4px;
    border: 1px solid var(--ip-line);
    border-radius: 999px;
    background: #f6f8f7;
    color: var(--ip-tx2);
    font-size: 11.5px;
    font-weight: 600;
    text-decoration: none;
}
.ip-auc-bs a {
    padding: 3px 10px;
    color: var(--ip-g);
}
.ip-auc-bs img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}
.ip-auc-two {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    gap: 8px;
}
.ip-auc-two .ip-btn {
    width: 100%;
}
.ip-auc-two .sc-btn-wolf {
    width: 16px;
    height: 16px;
}
@media (max-width: 991.98px) {
    .ip-head-row {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
    }
}
@media (max-width: 575.98px) {
    .ip-page h1.ip-title {
        font-size: 20px !important;
    }
    .ip-chips {
        gap: 6px;
    }
    .ip-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .ip-fact {
        padding: 10px;
        gap: 8px;
    }
    .ip-fact > i {
        width: 30px;
        height: 30px;
        font-size: 12px;
    }
    .ip-fact b {
        font-size: 13px;
    }
}
.ip-head nav[aria-label="breadcrumb"] {
    margin-bottom: 14px !important;
}
.ip-page .breadcrumb.custom {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px;
    margin: 0;
    padding: 4px;
    border: 1px solid var(--ip-line);
    border-radius: 999px;
    background: #fff;
    font-size: 12.5px;
    line-height: 1.3;
}
.ip-page .breadcrumb.custom .breadcrumb-item {
    padding: 0;
}
.ip-page .breadcrumb.custom .breadcrumb-item + .breadcrumb-item::before {
    padding: 0 3px;
    color: #a3acb6;
    font-size: 9px;
    margin-top: 0;
}
.ip-page .breadcrumb.custom .breadcrumb-item a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    color: var(--ip-mu);
    font-weight: 600;
    text-decoration: none;
}
.ip-page .breadcrumb.custom .breadcrumb-item a:hover {
    background: #eef6f1;
    color: var(--ip-g);
    opacity: 1;
}
.ip-page .breadcrumb.custom .breadcrumb-item:first-child a::before {
    content: "\f015";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 11px;
}
.ip-page .breadcrumb.custom .breadcrumb-item.active {
    padding: 4px 12px 4px 0;
    color: var(--ip-g);
    font-weight: 700;
}
.ip-band {
    position: relative;
    overflow: hidden;
    padding: 22px 0 70px;
    background: radial-gradient(120% 160% at 100% 0%, #2a9c6c 0%, #17784f 42%, #11613f 100%);
    color: #eaf6ef;
}
.ip-band::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .045) 0 1px, transparent 1px 32px),
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .045) 0 1px, transparent 1px 32px);
    pointer-events: none;
}
.ip-band::after {
    content: "";
    position: absolute;
    right: -80px;
    top: -140px;
    width: 440px;
    height: 440px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(198, 244, 50, .22), transparent 65%);
    pointer-events: none;
}
.ip-band > .container {
    position: relative;
    z-index: 1;
}
.ip-band .ip-head {
    margin-bottom: 0;
}
.ip-band .breadcrumb.custom {
    background: rgba(255, 255, 255, .12);
    border-color: rgba(255, 255, 255, .2);
}
.ip-band .breadcrumb.custom .breadcrumb-item a {
    color: #dcefe4;
}
.ip-band .breadcrumb.custom .breadcrumb-item a:hover {
    background: rgba(255, 255, 255, .14);
    color: #fff;
}
.ip-band .breadcrumb.custom .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(255, 255, 255, .55);
}
.ip-band .breadcrumb.custom .breadcrumb-item.active {
    color: var(--ip-lime);
}
.ip-page .ip-band h1.ip-title {
    color: #fff;
}
.ip-band .ip-who b {
    color: #fff;
}
.ip-band .ip-who:hover b {
    color: var(--ip-lime);
}
.ip-band .ip-who img {
    box-shadow: 0 0 0 2px var(--ip-lime);
}
.ip-band .ip-chip {
    background: #fff;
    border-color: #fff;
    color: #14181f;
    box-shadow: 0 2px 6px rgba(10, 40, 25, .12);
}
.ip-band .ip-chip i {
    color: #0e5a3c;
}
.ip-band a.ip-chip:hover {
    background: #f1faf5;
    border-color: #f1faf5;
    color: #0e5a3c;
}
.ip-band .ip-chip.is-g {
    background: var(--ip-lime);
    border-color: var(--ip-lime);
    color: #0b3d2a;
}
.ip-band .ip-chip.is-g i {
    color: #0b3d2a;
}
.ip-band .ip-chip.is-y {
    background: #fff3d6;
    border-color: #fff3d6;
    color: #7a4d00;
}
.ip-band .ip-chip.is-y i {
    color: #b07400;
}
.ip-band .ip-chip.is-b {
    background: #e6ecff;
    border-color: #e6ecff;
    color: #2b44b0;
}
.ip-band .ip-chip.is-b i {
    color: #3a55d6;
}
.ip-band .ip-chip-mu {
    color: #4b5466;
}
.ip-band .ip-who {
    padding: 3px 12px 3px 3px;
    border-radius: 999px;
    background: rgba(0, 0, 0, .18);
    color: #eaf6ef;
}
.ip-band .ip-btn,
.ip-band .ip-fav .btn {
    background: rgba(255, 255, 255, .13) !important;
    border-color: rgba(255, 255, 255, .26) !important;
    color: #fff !important;
}
.ip-band .ip-btn:hover,
.ip-band .ip-fav .btn:hover {
    background: rgba(255, 255, 255, .22) !important;
    border-color: rgba(255, 255, 255, .45) !important;
}
.ip-band .ip-fav .btn.btn-custom {
    background: #fff !important;
    border-color: #fff !important;
    color: #e11d48 !important;
}
.ip-band .ip-btn.is-d {
    background: var(--ip-lime) !important;
    border-color: var(--ip-lime) !important;
    color: #0b4a33 !important;
    box-shadow: 0 8px 20px rgba(10, 40, 25, .18);
}
.ip-band .ip-btn.is-d:hover {
    background: #d4fa5a !important;
    border-color: #d4fa5a !important;
}
.ip-lift {
    position: relative;
    z-index: 2;
    margin-top: -46px;
}
@media (max-width: 575.98px) {
    .ip-band {
        padding: 16px 0 56px;
    }
    .ip-lift {
        margin-top: -38px;
    }
}
.ip-rv {
    background: #fff;
    border: 1px solid var(--ip-line);
    border-radius: 18px;
    padding: 18px;
    margin: 24px 0;
}
.ip-rv-hd {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}
.ip-rv-ic {
    width: 32px;
    height: 32px;
    flex: none;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: #e8f5ee;
    color: var(--ip-g);
    font-size: 13px;
}
.ip-rv-hd h4 {
    margin: 0;
    flex: 1;
    min-width: 0;
    font-size: 16px !important;
    font-weight: 700;
    color: var(--ip-tx);
}
.ip-rv-clr {
    border: 1px solid var(--ip-line);
    background: #fff;
    color: var(--ip-mu);
    font-size: 12.5px;
    font-weight: 600;
    height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    transition: border-color .15s, color .15s;
}
.ip-rv-clr:hover {
    border-color: #cfd5db;
    color: var(--ip-tx);
}
.ip-rv-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.ip-rv-it {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid var(--ip-line);
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none;
    background: #fff;
    transition: border-color .15s, box-shadow .15s, transform .15s;
}
.ip-rv-it:hover {
    border-color: #bfe3cf;
    box-shadow: 0 8px 20px rgba(14, 90, 60, .08);
    transform: translateY(-1px);
}
.ip-rv-media {
    display: block;
    aspect-ratio: 590 / 300;
    background: #f1f4f6;
    overflow: hidden;
}
.ip-rv-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ip-rv-body {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px 12px 12px;
    min-width: 0;
}
.ip-rv-name {
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--ip-tx);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ip-rv-it:hover .ip-rv-name {
    color: var(--ip-g);
}
.ip-rv-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
}
.ip-rv-meta small {
    font-size: 12.5px;
    color: var(--ip-mu);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}
.ip-rv-price {
    flex: none;
    font-size: 12.5px;
    font-weight: 800;
    color: var(--ip-g);
    background: #e8f5ee;
    border-radius: 999px;
    padding: 3px 9px;
}
.ip-rv-price.is-free {
    color: #0b4a33;
    background: var(--ip-lime);
}
@media (max-width: 575.98px) {
    .ip-rv {
        padding: 14px;
        margin: 16px 0;
    }
    .ip-rv-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }
    .ip-rv-it {
        flex-direction: row;
        align-items: center;
        gap: 12px;
        padding: 8px;
        border-radius: 12px;
    }
    .ip-rv-media {
        width: 104px;
        flex: none;
        border-radius: 8px;
    }
    .ip-rv-body {
        padding: 0;
        flex: 1;
    }
    .ip-rv-name {
        white-space: normal;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }
}
