/* ===== Widget ===== */
.vtx-featured {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    font-family: inherit;
    margin-bottom: 24px;
}

/* ===== Header ===== */
.vtx-featured__head {
   display: flex;
    align-items: center;
    gap: 8px;
    padding: 13px 16px;
    background: #f0f6ff;
    border-bottom: 1px solid #dbeafe;
    font-size: 13.5px;
    font-weight: 700;
    color: #1e293b;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* ===== List ===== */
.vtx-featured__list {
    padding: 4px 0;
}

/* ===== Item ===== */
.vtx-featured__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid #f1f5f9;
    transition: background .15s;
}
.vtx-featured__item:last-child {
    border-bottom: none;
}
.vtx-featured__item:hover {
    background: #f8fafc;
    text-decoration: none;
    color: inherit;
}

/* ===== Thumb ===== */
.vtx-featured__thumb {
    flex-shrink: 0;
    width: 68px;
    height: 68px;
    border-radius: 6px;
    overflow: hidden;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
}
.vtx-featured__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ===== Info ===== */
.vtx-featured__info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.vtx-featured__name {
    font-size: 13.5px;
    font-weight: 600;
    color: #1e293b;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color .15s;
}
.vtx-featured__item:hover .vtx-featured__name {
    color: #1d4ed8;
}

/* Meta: rating + sold */
.vtx-featured__meta {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.vtx-featured__rating {
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: 12px;
    font-weight: 600;
    color: #1e293b;
}
.vtx-featured__sold {
    font-size: 12px;
    color: #94a3b8;
}
.vtx-featured__sold::before {
    content: '|';
    margin-right: 6px;
    color: #e2e8f0;
}

/* Price */
.vtx-featured__price-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.vtx-featured__price {
    font-size: 14.5px;
    font-weight: 700;
    color: #dc2626;
}
.vtx-featured__price-old {
    font-size: 12px;
    font-weight: 400;
    color: #94a3b8;
    text-decoration: line-through;
}

/* ===== Footer ===== */
.vtx-featured__footer {
    padding: 12px 14px;
    border-top: 1px solid #f1f5f9;
    text-align: center;
}
.vtx-featured__view-all {
   display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13.5px;
    font-weight: 600;
    color: #0056ad;
    text-decoration: none;
    padding: 6px 12px;
    border-radius: 6px;
    transition: background .15s, color .15s;
    border: 1px solid #bcd3f2
}
.vtx-featured__view-all:hover {
    background: #0056ad;
    color: #ffffff;
    text-decoration: none;
}


.chinh-sach-wrapper {
    
    max-width: 600px;
    margin: 20px auto;
}

.chinh-sach-item {
    border: 1.5px solid #e2e8f0;
    border-radius: 7px;
    padding: 14px 18px;
    margin-bottom: 14px;
    background: #fff;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    transition: border-color 0.2s ease;
    text-decoration: none;
    color: inherit;
}

.chinh-sach-item:hover {
    border-color: #0056ad;
}

.chinh-sach-item:last-child {
    margin-bottom: 0;
   
}

.chinh-sach-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    margin-top: 1px;
    color: #0056ad;
}

.chinh-sach-content h4 {
    margin: 0 0 5px 0;
    font-size: 14px;
    font-weight: 700;
    
}

.chinh-sach-content p {
    margin: 0;
    font-size: 13.5px;
    color: #444;
    line-height: 1.6;
}


/* ===== Section ===== */
.vtx-desc {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    margin: 28px 0;
    font-family: inherit;
}

/* ===== Header ===== */
.vtx-desc__head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 13px 20px;
    background: #f1f5f9;
    border-bottom: 1px solid #e2e8f0;
    font-size: 13.5px;
    font-weight: 700;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* ===== Body ===== */
.vtx-desc__body {
    position: relative;
}

/* ===== Content ===== */
.vtx-desc__content {
    padding: 20px 24px 4px;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.vtx-desc__content--collapsed {
    max-height: var(--vtx-collapsed-h, 280px);
}
.vtx-desc__content--expanded {
    max-height: 9999px;
}

/* ── Typographic styles cho nội dung editor ── */
.vtx-desc__content h1,
.vtx-desc__content h2,
.vtx-desc__content h3,
.vtx-desc__content h4 {
    font-size: 18px;
    font-weight: 700;
    color: #1d4ed8;
    margin: 0 0 12px;
    line-height: 1.4;
}
.vtx-desc__content h3 { font-size: 16px; }
.vtx-desc__content h4 { font-size: 15px; }

.vtx-desc__content p {
    font-size: 14.5px;
    color: #374151;
    line-height: 1.75;
    margin: 0 0 12px;
}
.vtx-desc__content p:last-child { margin-bottom: 0; }

.vtx-desc__content strong,
.vtx-desc__content b {
    font-weight: 700;
    color: #1e293b;
}

.vtx-desc__content ul,
.vtx-desc__content ol {
    padding-left: 22px;
    margin: 0 0 12px;
}
.vtx-desc__content li {
    font-size: 14.5px;
    color: #374151;
    line-height: 1.7;
    margin-bottom: 4px;
}

.vtx-desc__content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
    margin: 12px 0;
}

.vtx-desc__content table {
    width: 100%;
    border-collapse: collapse;
    margin: 12px 0;
    font-size: 14px;
}
.vtx-desc__content table th,
.vtx-desc__content table td {
    padding: 10px 14px;
    border: 1px solid #e2e8f0;
    text-align: left;
    vertical-align: top;
}
.vtx-desc__content table th {
    background: #f8fafc;
    font-weight: 700;
    color: #1e293b;
}

.vtx-desc__content a {
    color: #2563eb;
    text-decoration: underline;
}
.vtx-desc__content a:hover { color: #1d4ed8; }

.vtx-desc__content blockquote {
    border-left: 3px solid #3b82f6;
    padding: 10px 16px;
    margin: 12px 0;
    background: #f0f6ff;
    border-radius: 0 6px 6px 0;
    color: #475569;
    font-style: italic;
}

/* ===== Fade overlay ===== */
.vtx-desc__fade {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 80px;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    pointer-events: none;
    transition: opacity .3s ease;
}
.vtx-desc__fade--hidden { opacity: 0; }

/* ===== Footer + Toggle ===== */
.vtx-desc__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 20px 18px;
}

.vtx-desc__toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 2px 15px;
    background: oklch(97% .014 254.604);
    border: 1.5px solid #cbd5e1;
    border-radius: 3px;
    font-size: 14px;
    font-weight: 700;
    text-transform: capitalize;
    color: #334155;
    cursor: pointer;
    font-family: inherit;
    transition: border-color .18s, color .18s, background .18s;
    outline: none;
}
.vtx-desc__head svg {
    stroke: #0056ad;
    width: 18px;
}
.vtx-desc__toggle:hover {
    border-color: #0056ad;
    background: #0056ad;
    color: #fff;
    
}

.vtx-desc__toggle-icon {
    transition: transform .28s cubic-bezier(.4,0,.2,1);
    flex-shrink: 0;
}
.vtx-desc__toggle[aria-expanded="true"] .vtx-desc__toggle-icon {
    transform: rotate(180deg);
}

/* Hiện/ẩn label */
.vtx-desc__label-less { display: none; }
.vtx-desc__toggle[aria-expanded="true"] .vtx-desc__label-more { display: none; }
.vtx-desc__toggle[aria-expanded="true"] .vtx-desc__label-less { display: inline; }

/* ===== Responsive ===== */
@media (max-width: 600px) {
    .vtx-desc__head    { padding: 12px 14px; font-size: 12px; }
    .vtx-desc__content { padding: 16px 14px 4px; }
    .vtx-desc__content h2 { font-size: 16px; }
    .vtx-desc__content p,
    .vtx-desc__content li { font-size: 13.5px; }
}


/* ===== Section ===== */
.vtx-docs__head svg {
    stroke: #0056ad;
    width: 18px;
}
.vtx-docs {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    margin: 28px 0;
    font-family: inherit;
}

/* ===== Header ===== */
.vtx-docs__head {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 14px 20px;
    background: #f0f6ff;
    border-bottom: 1px solid #dbeafe;
    font-size: 14px;
    font-weight: 700;
    color: #1e293b;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* ===== List ===== */
.vtx-docs__list {
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* ===== Item — toàn bộ là thẻ <a> clickable ===== */
.vtx-docs__item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: border-color .18s, box-shadow .18s, background .18s;
}
.vtx-docs__item:hover {
    border-color: #0056ad;
    background: #eff6ff;
    box-shadow: 0 2px 10px rgba(59,130,246,.10);
    text-decoration: none;
    color: inherit;
}
.vtx-docs__item:hover .vtx-docs__name {
    color: #0056ad;
}

/* Icon wrap */
.vtx-docs__icon-wrap {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #f1f5f9;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .18s, color .18s;
}
.vtx-docs__item:hover .vtx-docs__icon-wrap {
    background: #dbeafe;
    color: #0056ad;
}

/* Info */
.vtx-docs__info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.vtx-docs__name {
    font-size: 14px;
    font-weight: 600;
    color: #1e293b;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.vtx-docs__meta {
    font-size: 12.5px;
    color: #94a3b8;
}

/* Download icon (góc phải item) */
.vtx-docs__dl-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    
    color: #64748b;
    transition: background .18s, color .18s, border-color .18s, transform .15s;
}
.vtx-docs__item:hover .vtx-docs__dl-icon svg {
    stroke: #0056ad;
    
}

/* ===== Responsive ===== */
@media (max-width: 540px) {
    .vtx-docs__head  { padding: 12px 14px; font-size: 12.5px; }
    .vtx-docs__list  { padding: 10px 12px; gap: 8px; }
    .vtx-docs__item  { padding: 12px 12px; gap: 10px; }
    .vtx-docs__name  { font-size: 13px; }
    .vtx-docs__icon-wrap { width: 36px; height: 36px; }
}

/* ===== Section ===== */
.vtx-faqs {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    margin: 28px 0;
    font-family: inherit;
}

/* ===== Header ===== */
.vtx-faqs__head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 13px 20px;
    background: #f1f5f9;
    border-bottom: 1px solid #e2e8f0;
    font-size: 13.5px;
    font-weight: 700;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* ===== List ===== */
.vtx-faqs__list {
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* ===== Item ===== */
.vtx-faqs__item {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    transition: border-color .2s;
}
.vtx-faqs__item--open {
    border-color: #cbd5e1;
}

/* ===== Question button ===== */
.vtx-faqs__question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    background: #fff;
    border: none;
    cursor: pointer;
    font-family: inherit;
    font-size: 14.5px;
    font-weight: 500;
    color: #1e293b;
    text-align: left;
    transition: background .18s, color .18s;
    outline: none;
}
.vtx-faqs__question:hover {
    background: #f8fafc;
    color: #0056ad;
}
.vtx-faqs__item--open .vtx-faqs__question {
    background: #fff;
    color: #1e293b;
    border-bottom: 1px solid #e2e8f0;
}

.vtx-faqs__q-inner {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
    text-transform: capitalize;
}

.vtx-faqs__q-icon {
    flex-shrink: 0;
    color: #64748b;
    transition: color .18s;
}
.vtx-faqs__question:hover .vtx-faqs__q-icon,
.vtx-faqs__item--open .vtx-faqs__q-icon {
    color: #0056ad;
}

/* Chevron */
.vtx-faqs__chevron {
    flex-shrink: 0;
    color: #94a3b8;
    transition: transform .28s cubic-bezier(.4,0,.2,1), color .18s;
}
.vtx-faqs__item--open .vtx-faqs__chevron {
    transform: rotate(180deg);
    color: #0056ad;
}

/* ===== Answer ===== */
.vtx-faqs__answer {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .3s cubic-bezier(.4,0,.2,1);
}
.vtx-faqs__item--open .vtx-faqs__answer {
    grid-template-rows: 1fr;
}

.vtx-faqs__answer-inner {
    overflow: hidden;
    padding: 0 16px;
    box-sizing: border-box;
    transition: padding .3s cubic-bezier(.4,0,.2,1);
}
.vtx-faqs__item--open .vtx-faqs__answer-inner {
    padding: 14px 16px 16px;
}

/* ── Typography trong answer ── */
.vtx-faqs__answer-inner p {
    font-size: 14px;
    color: #475569;
    line-height: 1.75;
    margin: 0 0 10px;
}
.vtx-faqs__answer-inner p:last-child { margin-bottom: 0; }

.vtx-faqs__answer-inner strong,
.vtx-faqs__answer-inner b {
    font-weight: 700;
    color: #1e293b;
}

.vtx-faqs__answer-inner ul,
.vtx-faqs__answer-inner ol {
    padding-left: 20px;
    margin: 0 0 10px;
}
.vtx-faqs__answer-inner li {
    font-size: 14px;
    color: #475569;
    line-height: 1.7;
    margin-bottom: 4px;
}
.vtx-faqs__head svg {
    stroke: #0056ad;
    width: 18px;
}
.vtx-faqs__answer-inner a {
    color: #0056ad;
    text-decoration: underline;
}
.vtx-faqs__answer-inner a:hover { color: #0056ad; }

.vtx-faqs__answer-inner img {
    max-width: 100%;
    border-radius: 6px;
    margin: 8px 0;
}

/* ===== Responsive ===== */
@media (max-width: 600px) {
    .vtx-faqs__head     { padding: 12px 14px; font-size: 12px; }
    .vtx-faqs__list     { padding: 10px 12px; gap: 6px; }
    .vtx-faqs__question { padding: 8px 12px; text-transform: capitalize; }
    .vtx-faqs__answer-inner { padding: 0 12px; }
    .vtx-faqs__item--open .vtx-faqs__answer-inner { padding: 12px 12px 14px; }
}



.vtx-gallery{
    width:100%;
}

/* MAIN */

.vtx-gallery-main-wrapper{
    position:relative;
    border:1px solid #ddd;
    border-radius:12px;
    overflow:hidden;
    background:#fff;
}

.vtx-gallery-main{
    position:relative;
    cursor:pointer;
}

.vtx-gallery-item{
    display:none;
    aspect-ratio:1/1;
}

.vtx-gallery-item.active{
    display:block;
}

.vtx-gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

/* MAIN ARROWS */

.vtx-gallery-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:46px;
    height:46px;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,.9);
    cursor:pointer;
    z-index:10;
    font-size:22px;

    display:flex;
    align-items:center;
    justify-content:center;

    opacity:0;
    visibility:hidden;

    transition:all .25s ease;
}

/* hover image mới hiện */

.vtx-gallery-main-wrapper:hover .vtx-gallery-arrow{
    opacity:1;
    visibility:visible;
}

.vtx-gallery-arrow:hover{
    background:#fff;
    transform:translateY(-50%) scale(1.05);
}

.vtx-gallery-arrow.prev{
    left:14px;
}

.vtx-gallery-arrow.next{
    right:14px;
}

/* THUMB */

.vtx-gallery-thumbs-wrapper{
    position:relative;
    margin-top:14px;
    padding:0 36px;
}

.vtx-gallery-thumbs{
    display:flex;
    gap:10px;
    overflow:hidden;
    scroll-behavior:smooth;
    user-select:none;
    cursor:grab;

    -ms-overflow-style:none;
    scrollbar-width:none;
}

.vtx-gallery-thumbs::-webkit-scrollbar{
    display:none;
}

.vtx-gallery-thumbs.dragging{
    cursor:grabbing;
    scroll-behavior:auto;
}

.vtx-gallery-thumb{
    width:72px;
    min-width:72px;
    height:72px;
    border-radius:8px;
    overflow:hidden;
    border:2px solid transparent;
    cursor:pointer;
    position:relative;
    flex-shrink:0;
    background:#fff;
}

.vtx-gallery-thumb.active{
    border-color:#0056ad;
}

.vtx-gallery-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

/* THUMB ARROWS */

.vtx-thumb-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:28px;
    height:28px;
    border:none;
    border-radius:50%;
    background:#ddd;
    z-index:5;
    cursor:pointer;
    font-size:14px;

    display:flex;
    align-items:center;
    justify-content:center;
}

.vtx-thumb-arrow.prev{
    left:0;
}

.vtx-thumb-arrow.next{
    right:0;
}

/* VIDEO */

.vtx-gallery-video{
    position:relative;
}

.vtx-play-icon{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:60px;
    color:#fff;
    background:rgba(0,0,0,.2);
}

.vtx-thumb-play{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:rgba(0,0,0,.3);
    font-size:24px;
}

/* LIGHTBOX */

.vtx-lightbox{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.94);
    z-index:999999;
    display:none;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    padding:20px;
}

.vtx-lightbox.active{
    display:flex;
}

.vtx-lightbox-content{
    width:100%;
    max-width:900px;
    max-height:80vh;
    display:flex;
    align-items:center;
    justify-content:center;
}

.vtx-lightbox-content img,
.vtx-lightbox-content iframe{
    max-width:100%;
    max-height:80vh;
    border-radius:10px;
}

.vtx-lightbox iframe{
    width:100%;
    aspect-ratio:16/9;
}

.vtx-lightbox-close{
    position:absolute;
    top:20px;
    right:20px;
    width:50px;
    height:50px;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,.15);
    color:#fff;
    font-size:24px;
    cursor:pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vtx-lightbox-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:50px;
    height:50px;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,.15);
    color:#fff;
    font-size:26px;
    cursor:pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vtx-lightbox-arrow.prev{
    left:20px;
}

.vtx-lightbox-arrow.next{
    right:20px;
}

.vtx-lightbox-thumbs{
    display:flex;
    gap:10px;
    margin-top:20px;
    overflow:auto;
    max-width:100%;
}

.vtx-lightbox-thumb{
    width:70px;
    min-width:70px;
    height:70px;
    border-radius:8px;
    overflow:hidden;
    border:2px solid transparent;
    cursor:pointer;
}

.vtx-lightbox-thumb.active{
    border-color:#0d6efd;
}

.vtx-lightbox-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
}

/* MOBILE */

@media(max-width:768px){
   
    .vtx-gallery-thumb{
        width:60px;
        min-width:60px;
        height:60px;
    }

    /* mobile luôn hiện arrow */

    .vtx-gallery-arrow{
        opacity:1;
        visibility:visible;

        width:36px;
        height:36px;
        font-size:18px;
    }

    .vtx-lightbox-arrow{
        width:40px;
        height:40px;
        font-size:18px;
    }

    .vtx-lightbox-close{
        width:42px;
        height:42px;
    }

    .vtx-gallery-thumbs-wrapper{
        padding:0 28px;
    }

}




/* TITLE */
.product-info h1{
  margin:0 0 12px;
  font-size: 26px;
  line-height:1.25;
  font-weight: 700;
  color:#0f172a;
}

/* META */
.product-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  font-size:14px;
  color:#64748b;
  margin-bottom:10px;
}

.product-meta strong{
  color:#1e293b;
  font-weight:700;
}

.product-meta .sep{
  opacity:.5;
}

.compare-btn{
  margin-left:auto;
  height:40px;
  padding:0 16px;
  border-radius:10px;
  border:1px solid #dbe4f0;
  background:#fff;
  color: #0056ad;
  font-weight:700;
  cursor:pointer;
  transition:.25s;
}

.compare-btn:hover{
  background:#eff6ff;
  border-color:#bfdbfe;
}

.stars{
  color:#f59e0b;
  letter-spacing:1px;
  font-size: 22px;
}

/* DESC */
.product-desc{
  margin:14px 0 20px;
  line-height:1.7;
  color:#475569;
  font-size:15px;
}

/* TABS */
.product-tabs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom: 5px;
}

.product-tabs .tab{
  height: 50px;
  border-radius: 7px;
  border:1px solid #e2e8f0;
  background:#f8fafc;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:15px;
  font-weight:700;
  color:#334155;
  cursor:pointer;
  transition:.25s;
}

.product-tabs .tab svg{
  width:18px;
  height:18px;
}

.product-tabs .tab:hover{
  background:#fff;
  border-color:#cbd5e1;
  transform:translateY(-2px);
}

/* PRICE */
.price-section{
  display:flex;
  
  gap:20px;
  padding:22px;
  border:1px solid #e2e8f0;
  border-radius: 7px;
  margin-bottom:22px;
  
}

.price-label{
  font-size:15px;
  color:#64748b;
  margin-bottom:6px;
}

.price-main{
  font-size: 22px;
  font-weight:800;
  line-height:1;
  color:#0f172a;
}

.price-main .currency{
  font-size:28px;
}

.price-original{
  text-decoration:line-through;
  color:#94a3b8;
  font-size: 16px;
}

.price-badge{
  background: #ffe2e2;
  color:#fff;
  padding: 1px 10px;
  border-radius: 7px;
  font-size:13px;
  font-weight: 600;
  color: #f24444;
  border: 1px solid #f24444;
}

.price-note{
  color:#94a3b8;
  font-size:13px;
}

.stock-info{
 
  display:flex;
  flex-direction:column;
  gap:12px;
}

.stock-badge,
.fast-ship{
  height: 46px;
  border-radius: 7px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 16px;
  font-weight:700;
  font-size:15px;
}

.stock-badge{
  background:#f0fdf4;
  border:1px solid #86efac;
  color:#16a34a;
}

.fast-ship{
  background:#fff7ed;
  border:1px solid #fdba74;
  color:#ea580c;
}

.stock-info svg{
  width:18px;
  height:18px;
}

/* CONTACT */
.contact-section{
  border:1px solid #e2e8f0;
  border-radius: 7px;
  padding:18px;
  background:#fafcff;
  margin-bottom:11px;
}

.contact-title{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
  font-size: 16px;
  font-weight: 600;
  color:#0f172a;
}

.contact-title .dot{
  width:12px;
  height:12px;
  border-radius:50%;
  background:#ef4444;
}

.contact-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}

.contact-item{
  align-items:center;
  padding:14px;
  border: 1px solid #0056ad;
  border-radius: 7px;
  background:#fff;
  display: grid;
  grid-template-columns:repeat(2, 1fr);
  gap: 16px;
}

.contact-item .name{
  font-size:13px;
  font-weight:700;
  color:#475569;
  margin-bottom:6px;
  text-transform: uppercase;
}

.contact-item .phone{
  font-size: 16px;
  line-height:1;
  font-weight: 700;
  color:#ef4444;
}

.contact-btns{
  display:flex;
  gap:10px;
}

.contact-btns a{
  min-width: 81px;
  height: 31px;
  border-radius: 4px;
  border:1px solid #bfdbfe;
  background:#eff6ff;
  color:#2563eb;
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-weight:700;
  font-size: 13px;
  transition:.25s;
}

.contact-btns a:hover{
  background: #0056ad;
  color:#fff;
}

.contact-btns svg{
  width:16px;
  height:16px;
}

/* ACTIONS */
.action-buttons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom: 11px;
}

.btn-buy,
.btn-add-cart{
  height: 56px;
  border:none;
  border-radius: 7px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-size: 17px;
  font-weight: 700;
  cursor:pointer;
  transition:.25s;
  width: 100%;
}

.btn-buy{
  background:#ef2b2d;
  color:#fff;
  box-shadow:0 10px 24px rgba(239,43,45,.25);
}

.btn-buy:hover{
  transform:translateY(-2px);
}

.btn-add-cart{
  background: #e2e8f0;
  color:#1e293b;
}

.btn-add-cart:hover{
  background:#dbe4f0;
  border: 1px solid #0056ad;
  color: #0056ad;
  /* transition: all .5s ease; */
  transform: translateY(-2px);
}

/* EXTRAS */
.extras{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.extra-box{
  border-radius: 7px;
  padding: 10px 10px;
}

.extra-box.promo{
  background:#fff7f7;
  border:1px solid #fecaca;
}

.extra-box.commit{
  background:#f8fbff;
  border:1px solid #bfdbfe;
}

.ex-title{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
  font-size: 16px;
  font-weight: 700;
}

.promo .ex-title{
  color:#dc2626;
}

.commit .ex-title{
  color:#2563eb;
}

.promo-list,
.commit-list{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:14px;
}

.promo-list li,
.commit-list li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  color:#334155;
  line-height:1.6;
  font-size:15px;
  margin-left: 0 !important;
}

.promo-list .num{
  width:24px;
  height:24px;
  border-radius:50%;
  background:#ef4444;
  color:#fff;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:700;
}

.commit-list .icon{
  width:26px;
  height:26px;
  border-radius:50%;
  background:#dbeafe;
  color:#2563eb;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.commit-list .icon svg{
  width:14px;
  height:14px;
}

/* RESPONSIVE */
@media(max-width:991px){

  .product-info h1{
    font-size:30px;
  }

  .price-section{
    flex-direction:column;
  }

  .stock-info{
    width:100%;
  }

  .contact-grid{
    grid-template-columns:1fr;
  }

  .extras{
    grid-template-columns:1fr;
  }
}

@media(max-width:767px){

  .product-info{
    padding:14px;
    border-radius:0;
  }

  .product-info h1{
    font-size:24px;
  }

  .product-tabs{
    grid-template-columns:1fr;
  }

  .action-buttons{
    grid-template-columns:1fr;
  }

  .contact-item{
    flex-direction:column;
    align-items:flex-start;
  }

  .contact-btns{
    width:100%;
  }

  .contact-btns a{
    flex:1;
  }

  .price-main{
    font-size:34px;
  }

  .btn-buy,
  .btn-add-cart{
    font-size:17px;
    height:58px;
  }

  .contact-item .phone{
    font-size:26px;
  }
}

.product-info.summary.col-fit.col.entry-summary.product-summary {
    flex-basis: 58%;
    max-width: 58%;
}

.contact-btns a svg {
    fill: #0056ad;
    stroke: #0056ad;
}

.contact-btns a:hover svg {
    fill: #ffffff;
    stroke: #ffffff;
}

.price-section>div:nth-of-type(1) {
    flex-basis: 66%;
    max-width: 66%;
}
        

.vtx-price-box{
    display:flex;
    flex-direction:column;
    gap:8px;
}

/* LABEL */
.vtx-price-label{
    font-size:15px;
    font-weight:500;
    color:#64748b;
}

/* ROW */
.vtx-price-row{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

/* MAIN PRICE */
.vtx-price-main .woocommerce-Price-amount{
    font-size: 19px;
    font-weight: 700;
    line-height: 1;
    color: #0f172a;
}

.vtx-price-main .woocommerce-Price-currencySymbol{
    font-size:.65em;
    margin-left:2px;
}

/* VAT */
.vtx-price-vat{
    font-size:14px;
    color:#64748b;
    font-style:italic;
    margin-top:10px;
}

/* OLD PRICE */
.vtx-price-old{
    margin-top:6px;
}

.vtx-price-old .woocommerce-Price-amount{
    font-size:18px;
    font-weight:500;
    color:#94a3b8;
    text-decoration:line-through;
}

/* DISCOUNT */
.vtx-price-discount{
    height:28px;
    padding:0 12px;
    border-radius:8px;
    background:#fef2f2;
    border:1px solid #fecaca;
    color:#ef4444;
    font-size:13px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:4px;
}

/* NOTE */
.vtx-price-note{
    font-size:14px;
    color:#64748b;
    font-style:italic;
    display:flex;
    align-items:center;
    gap:6px;
}
.vtx-price-main {
    font-weight: 700;
    font-size: 20px;
}

.vtx-price-old {
    text-decoration: line-through;
}
/* MOBILE */
@media(max-width:767px){

    .vtx-price-main .woocommerce-Price-amount{
        font-size:34px;
    }

    .vtx-price-row{
        gap:8px;
    }

    .vtx-price-old .woocommerce-Price-amount{
        font-size:15px;
    }
}


/* WRAPPER */
.vtx-product-rating{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:15px;
    line-height:1;
    margin:8px 0;
}

/* STAR */
.vtx-product-rating .star-rating{
    position:relative;
    margin:0 !important;
    width:88px !important;
    height:16px;
    overflow:hidden;
    font-size:16px;
    letter-spacing:2px;
}

/* STAR BACKGROUND */
.vtx-product-rating .star-rating::before{
    content:"★★★★★";
    color:#d1d5db;
    position:absolute;
    top:0;
    left:0;
}

/* STAR ACTIVE */
.vtx-product-rating .star-rating span{
    overflow:hidden;
    position:absolute;
    top:0;
    left:0;
    height:100%;
}

.vtx-product-rating .star-rating span::before{
    content:"★★★★★";
    position:absolute;
    top:0;
    left:0;
    color:#f59e0b;
}

/* TEXT */
.vtx-rating-average{
    font-weight:700;
    color:#111827;
}

.vtx-rating-count{
    color:#475569;
    text-decoration:none;
    transition:.2s;
}

.vtx-rating-count:hover{
    color:#2563eb;
}
.star-rating:before, .woocommerce-page .star-rating:before{
    content: none !important;
}


.mxt-reviews {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    margin: 28px 0;
    font-family: inherit;
}

/* Header */
.mxt-reviews__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    padding: 14px 20px;
    background: #f0f6ff;
    border-bottom: 1px solid #dbeafe;
    font-size: 14px;
    font-weight: 700;
    color: #1e293b;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.mxt-reviews__head-left {
    display: flex;
    align-items: center;
    gap: 8px;
}
.mxt-reviews__head-score {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 14px;
    color: #f59e0b;
}
.mxt-reviews__head-score strong { color: #f59e0b; }
.mxt-reviews__head-score span   { color: #64748b; font-weight: 400; }

/* List */
.mxt-reviews__list { padding: 4px 0; }

/* Item */
.mxt-reviews__item {
    display: flex;
    gap: 14px;
    padding: 18px 20px;
    border-bottom: 1px solid #f1f5f9;
}
.mxt-reviews__item:last-child { border-bottom: none; }

/* Avatar */
.mxt-reviews__avatar {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    user-select: none;
}

.mxt-reviews__body { flex: 1; min-width: 0; }

.mxt-reviews__meta {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 4px;
    flex-wrap: wrap;
}
.mxt-reviews__author { font-size: 14px; font-weight: 700; color: #1e293b; }
.mxt-reviews__time   { font-size: 13px; color: #94a3b8; white-space: nowrap; }

.mxt-reviews__stars {
    display: flex;
    gap: 2px;
    margin-bottom: 6px;
}

.mxt-reviews__text {
    font-size: 14px;
    color: #475569;
    line-height: 1.65;
    margin: 0;
}

/* Form wrap */
.mxt-reviews__form-wrap {
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    padding: 18px 20px 20px;
}

.mxt-reviews__form-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}

.mxt-reviews__form-title {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 14px;
    font-weight: 600;
    color: #1e293b;
}

.mxt-reviews__rating-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    color: #475569;
}

/* Star picker */
.mxt-star-picker { display: flex; gap: 3px; }
.mxt-star-btn {
    background: none;
    border: none;
    padding: 2px;
    cursor: pointer;
    line-height: 0;
    transition: transform 0.15s;
}
.mxt-star-btn:hover { transform: scale(1.2); }

/* Textarea box */
.mxt-reviews__textarea-box {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
    margin-bottom: 12px;
    transition: border-color .18s;
}
.mxt-reviews__textarea-box:focus-within {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59,130,246,.12);
}
.mxt-reviews__textarea {
    width: 100%;
    box-sizing: border-box;
    border: none;
    outline: none;
    resize: none;
    padding: 12px 14px 8px;
    font-size: 14px;
    color: #334155;
    font-family: inherit;
    line-height: 1.6;
    background: transparent;
}
.mxt-reviews__textarea::placeholder { color: #94a3b8; }

.mxt-reviews__upload-row {
    display: flex;
    gap: 6px;
    padding: 8px 12px;
    border-top: 1px solid #f1f5f9;
}
.mxt-reviews__upload-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 6px;
    border: 1.5px solid #e2e8f0;
    background: #f8fafc;
    cursor: pointer;
    transition: border-color .18s, background .18s;
}
.mxt-reviews__upload-btn:hover { border-color: #3b82f6; background: #eff6ff; }

/* Fields */
.mxt-reviews__fields {
    display: flex;
    gap: 12px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}
.mxt-reviews__field {
    flex: 1;
    min-width: 160px;
    padding: 10px 14px;
    font-size: 14px;
    font-family: inherit;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    outline: none;
    color: #334155;
    background: #fff;
    transition: border-color .18s;
}
.mxt-reviews__field:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59,130,246,.12);
}
.mxt-reviews__field::placeholder { color: #94a3b8; }

/* Footer */
.mxt-reviews__form-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}

/* Media: ảnh + video đính kèm trong review */
.mxt-reviews__media {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}
.mxt-reviews__media-item {
    display: block;
    width: 80px;
    height: 80px;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    flex-shrink: 0;
    transition: opacity .18s;
}
.mxt-reviews__media-item:hover { opacity: .85; }
.mxt-reviews__media-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.mxt-reviews__video {
    margin-top: 10px;
}
.mxt-reviews__video video {
    max-width: 100%;
    max-height: 300px;
    border-radius: 6px;
    display: block;
}

.mxt-reviews__notice { font-size: 12.5px; color: #94a3b8; margin: 0; }

/* Submit */
.mxt-reviews__submit {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 18px;
    background-color: #0056ad !important;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: background .18s, transform .15s;
}
.mxt-reviews__submit:hover  { background: #1e40af; transform: translateY(-1px); }
.mxt-reviews__submit:active { transform: none; }

/* Responsive */
@media (max-width: 600px) {
    .mxt-reviews__head,
    .mxt-reviews__item,
    .mxt-reviews__form-wrap { padding-left: 14px; padding-right: 14px; }
    .mxt-reviews__head      { font-size: 12px; }
    .mxt-reviews__form-head { flex-direction: column; align-items: flex-start; }
    .mxt-reviews__fields    { flex-direction: column; }
    .mxt-reviews__field     { min-width: 0; }
    .mxt-reviews__form-footer { flex-direction: column; align-items: stretch; }
    .mxt-reviews__submit    { justify-content: center; }
}


.vienthongxanh-price-by-variations {
    margin-bottom: 10px;

}

.vienthongxanh-notice-after-add-to-cart {
    display: none;
}

.vienthongxanh_attributes {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.vienthongxanh_attribute_label {
    margin-right: 9px;
    font-weight: 700;
}



.vienthongxanh-price-by-variations-regular span.vienthongxanh-price-number {
    font-size: 15px;
    font-weight: 400;
    text-decoration: line-through;
}



.vienthongxanh-price-by-variations-sale span.vienthongxanh-price-number {
    font-size: 20px;
    color: #ED0000;
    font-weight: 600;
}

.vienthongxanh-price-by-variations-regular {
    display: flex;
    align-items: center;
}

.vienthongxanh-price-by-variations-sale {
    display: flex;
    align-items: center;
    flex-flow: row wrap;
}

span.vienthongxanh-price-title {
    margin-right: 12px;
}

.horizontal-scroll {
    white-space: normal;
    width: 100%;
    -webkit-overflow-scrolling: touch;
    text-align: left;
}

.product-variant-item.product-variant-text.active,
.product-variant-item.product-variant-text.active {
    border: 1px solid #e42127;
    background: url(../../images/product_selected.png) right bottom no-repeat #fff !important;
    border-radius: 2px;
    color: #000 !important;
}

button.single_add_to_cart_button.button.alt {
    height: 59px;
    background: none;
    color: #333333;
    border-radius: 7px;
    max-width: 100%;
    font-size: 15px;
    line-height: 1.1;
    padding-left: 0;
    font-weight: 500;
    border: 1px solid rgba(142, 139, 139, 0.6);
    text-transform: initial;
    position: relative;
    padding-right: 0;
    margin-right: 0;
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #e2e8f0;
}
.vienthongxanh_single_add_to_cart_buy_now>button svg {
    margin-right: 10px;
}
button.single_add_to_cart_button.button.alt:hover {
    border-color:#0056ad;
    color:#0056ad;
}
.vienthongxanh_single_add_to_cart_buy_now>button {
    margin: 0;
    align-items: center;
    display: flex;
    justify-content: center;
    font-weight: 700;
}
.vienthongxanh_single_add_to_cart_buy_now>button:hover {
    transform: translateY(-2px);
}
.vienthongxanh_single_add_to_cart_buy_now {
    margin-bottom: 13px;
}
.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled .quantity.buttons_added {
    display: none;
}

.horizontal-scroll .product-variant-item {
    display: inline-block !important;
    float: none !important;
}

.product-variant-item.product-variant-text {
    padding: 7px;
    line-height: 12px;
    text-align: center;
    font-size: 14px;
    border: 1px solid #ccc;
    background: #fff;
    border-radius: 2px;
    color: #5a5a5a !important;
    margin-right: 6px;
    /* min-width: 40px; */
    /* max-width: 90px; */
    float: left;
    cursor: pointer;
    margin-bottom: 10px;
}





.vienthongxanh-custom-order-at-product-single .vienthongxanh-price-by-variations-sale {
    text-align: left;

    flex-basis: 100%;
    max-width: 100%;
}

.vienthongxanh-custom-order-at-product-single .vienthongxanh-price-by-variations-regular {
    text-align: left;
}

.vienthongxanh_select_size {
    margin-bottom: 5px;
    font-weight: 600;
}


.vienthongxanh-custom-order-at-product-single .input-group {
    max-width: 108px;
}

.vienthongxanh-custom-order-at-product-single .quantity.buttons_added {
    display: flex;
    margin-bottom: 5px;
}

.vienthongxanh-custom-order-at-product-single .single-productvariants {
    margin-bottom: 5px;
}

.vienthongxanh-custom-order-at-product-single .input-group input.form-control.gbcc_input.quantity {
    text-align: center;
}



.vienthongxanh_single_add_to_cart_buy_now {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.vienthongxanh_single_add_to_cart_buy_now>button {
    flex-basis: 49%;
}

.vienthongxanh_single_add_to_cart_buy_now button.vienthongxanh_single_buy_now.button {
    background: #ED0000;
    color: #fff;
    text-align: center;
    width: 100%;
    font-size: 18px;
    cursor: pointer;
    height: 59px;
    line-height: 40px;
    padding: 0;
    border: none;
    border-radius: 7px;
    font-weight: 700;

}
.vienthongxanh-price-by-variations {
    display: none;
}
.vienthongxanh-notice-after-add-to-cart a {
    border: 1px solid #0d6ba2;
    border-radius: 5px;
    padding: 8px;
    color: #0D6BA2;
    display: inline-block;
    font-size: 18px;
    text-transform: capitalize;
}


/* ===== Wrapper ===== */
.mxt-specs {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    margin: 28px 0;
    font-family: inherit;
    margin-top:0;
}

/* ===== Header ===== */
.mxt-specs__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    background: #f0f6ff;
    border-bottom: 1px solid #dbeafe;
    gap: 12px;
}
.mxt-specs__head-left {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.mxt-specs__icon { flex-shrink: 0; }
.mxt-specs__head-title {
    font-size: 14px;
    font-weight: 700;
    color: #1e293b;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    line-height: 1.4;
}

/* ===== Download ===== */
.mxt-specs__download {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 6px;
    border: 1.5px solid #cbd5e1;
    background: #fff;
    color: #475569;
    text-decoration: none;
    transition: border-color .18s, color .18s, background .18s;
    cursor: pointer;
}
.mxt-specs__download:hover {
    border-color: #3b82f6;
    color: #3b82f6;
    background: #eff6ff;
    text-decoration: none;
}
.mxt-specs__download--inactive {
    opacity: .4;
    cursor: default;
    pointer-events: none;
}

/* ===== Body ===== */
.mxt-specs__body {
    position: relative;
}

/* ===== Content ===== */
.mxt-specs__content {
    padding: 16px 20px;
    font-size: 14px;
    color: #475569;
    line-height: 1.7;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.mxt-specs__content--collapsed { max-height: 220px; }
.mxt-specs__content--expanded  { max-height: 9999px; }

/* -- Table do editor tạo ra -- */
.mxt-specs__content table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}
.mxt-specs__content table tr {
    border-bottom: 1px solid #f1f5f9;
}
.mxt-specs__content table tr:last-child {
    border-bottom: none;
}
.mxt-specs__content table tr:nth-child(even) td,
.mxt-specs__content table tr:nth-child(even) th {
    background: #fafbfc;
}
.mxt-specs__content table td,
.mxt-specs__content table th {
    padding: 12px 0;
    font-size: 14px;
    vertical-align: top;
    text-align: left;
}
.mxt-specs__content table td:first-child,
.mxt-specs__content table th:first-child {
    font-weight: 700;
    color: #1e293b;
    width: 34%;
    padding-right: 16px;
}
.mxt-specs__content table td:last-child,
.mxt-specs__content table th:last-child {
    color: #475569;
}

/* -- List -- */
.mxt-specs__content ul,
.mxt-specs__content ol { padding-left: 20px; margin: 8px 0; }
.mxt-specs__content li { margin-bottom: 4px; }

/* -- Paragraph -- */
.mxt-specs__content p { margin: 0 0 8px; }
.mxt-specs__content p:last-child { margin-bottom: 0; }

/* ===== Fade overlay ===== */
.mxt-specs__fade {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 72px;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.95) 100%);
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.mxt-specs__fade--hidden { opacity: 0; }
.mxt-specs__head-left svg {
    stroke: #0056ad;
    width: 18px;
}
/* ===== Toggle button ===== */
.mxt-specs__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 14px 20px;
    background: #fff;
    border: none;
    border-top: 1px solid #e2e8f0;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    color: #334155;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition: background .18s, color .18s;
    outline: none;
}
.mxt-specs__toggle:hover { background: #f8fafc; color: #1e293b; }

.mxt-specs__toggle-icon {
    transition: transform 0.28s cubic-bezier(0.4,0,0.2,1);
    flex-shrink: 0;
}
.mxt-specs__toggle[aria-expanded="true"] .mxt-specs__toggle-icon {
    transform: rotate(180deg);
}

/* Labels */
.mxt-specs__label-less { display: none; }
.mxt-specs__toggle[aria-expanded="true"] .mxt-specs__label-more { display: none; }
.mxt-specs__toggle[aria-expanded="true"] .mxt-specs__label-less { display: inline; }

/* ===== Responsive ===== */
@media (max-width: 600px) {
    .mxt-specs__head    { padding: 12px 14px; }
    .mxt-specs__head-title { font-size: 12.5px; }
    .mxt-specs__content { padding: 12px 14px; }
    .mxt-specs__toggle  { font-size: 12px; padding: 12px 14px; }
}



/* ===== Widget ===== */
.vtx-rposts {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    font-family: inherit;
    margin-bottom: 24px;
}

/* ===== Header ===== */
.vtx-rposts__head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 13px 16px;
    background: #f0f6ff;
    border-bottom: 1px solid #dbeafe;
    font-size: 13.5px;
    font-weight: 700;
    color: #1e293b;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* ===== List ===== */
.vtx-rposts__list {
    padding: 4px 0;
}

/* ===== Item ===== */
.vtx-rposts__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid #f1f5f9;
    transition: background .15s;
}
.vtx-rposts__item:last-child {
    border-bottom: none;
}
.vtx-rposts__item:hover {
    background: #f8fafc;
    text-decoration: none;
    color: inherit;
}

/* ===== Thumb ===== */
.vtx-rposts__thumb {
    flex-shrink: 0;
    width: 80px;
    height: 66px;
    border-radius: 6px;
    overflow: hidden;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
}
.vtx-rposts__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ===== Info ===== */
.vtx-rposts__info {
    flex: 1;
    min-width: 0;
}
.vtx-rposts__title {
    font-size: 13.5px;
    font-weight: 500;
    color: #1e293b;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color .15s;
}
.vtx-rposts__item:hover .vtx-rposts__title {
    color: #1d4ed8;
}

/* ===== Footer ===== */
.vtx-rposts__footer {
    padding: 12px 14px;
    border-top: 1px solid #f1f5f9;
    text-align: center;
}
.vtx-rposts__view-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13.5px;
    font-weight: 600;
    color: #0056ad;
    text-decoration: none;
    padding: 6px 12px;
    border-radius: 6px;
    transition: background .15s, color .15s;
    border: 1px solid #bcd3f2;
}
.vtx-rposts__view-all:hover {
    background: #0056ad;
    color: #ffffff;
    text-decoration: none;
}


/* ===== Container ===== */
.maxtel-related-products {
    width: 100%;
    background: #fff;
    padding: 20px 16px 28px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07), 0 1px 3px rgba(0, 0, 0, 0.04);
    box-sizing: border-box;
    transition: box-shadow 0.25s ease;
}

.maxtel-related-products:hover {
    box-shadow: 0 6px 28px rgba(0, 0, 0, 0.11), 0 2px 6px rgba(0, 0, 0, 0.06);
}



/* ===== Tiêu đề ===== */
.maxtel-rp-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 17px;
    font-weight: 700;
    text-transform: uppercase;
    color: #222;
    margin: 0 0 18px;
    letter-spacing: 0.02em;
}

.maxtel-rp-title-bar {
    display: inline-block;
    width: 4px;
    height: 22px;
    background: #d0021b;
    border-radius: 2px;
    flex-shrink: 0;
}

/* ===== Wrapper (viewport + arrows) ===== */
.maxtel-rp-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
}

/* ===== Viewport (ẩn overflow) ===== */
.maxtel-rp-viewport {
    flex: 1;
    overflow: hidden;
    min-width: 0;
}

/* ===== Track (hàng ngang các card) ===== */
.maxtel-rp-track {
    display: flex;
    gap: 16px;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

/* ===== Item ===== */
.maxtel-rp-item {
    flex: 0 0 calc((100% - 64px) / 5); /* 5 items / page, 4 gaps=64px */
    min-width: 0;
}

@media (max-width: 1024px) {
    .maxtel-rp-item {
        flex: 0 0 calc((100% - 48px) / 4);
    }
}
@media (max-width: 768px) {
    .maxtel-rp-item {
        flex: 0 0 calc((100% - 32px) / 3);
    }
}
@media (max-width: 540px) {
    .maxtel-rp-item {
        flex: 0 0 calc((100% - 16px) / 2);
    }
}

/* ===== Card ===== */
.maxtel-rp-card {
    display: block;
    text-decoration: none;
    color: inherit;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    transition: box-shadow 0.22s ease, transform 0.22s ease;
    height: 100%;
}

.maxtel-rp-card:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,0.10);
    transform: translateY(-2px);
    text-decoration: none;
    color: inherit;
}

/* ===== Ảnh ===== */
.maxtel-rp-img-wrap {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.maxtel-rp-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.maxtel-rp-card:hover .maxtel-rp-img-wrap img {
    transform: scale(1.04);
}

/* ===== Info ===== */
.maxtel-rp-info {
    padding: 10px 10px 12px;
}

.maxtel-rp-name {
    font-size: 13.5px;
    font-weight: 700;
    color: #222;
    margin: 0 0 6px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ===== Meta: rating + lượt bán ===== */
.maxtel-rp-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.maxtel-rp-rating {
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: 12.5px;
    font-weight: 600;
    color: #333;
}

.maxtel-star {
    width: 13px;
    height: 13px;
    flex-shrink: 0;
}

.maxtel-rp-sales {
    font-size: 12px;
    color: #666;
}

.maxtel-rp-sales::before {
    content: '|';
    margin-right: 6px;
    color: #ccc;
}

/* ===== Giá ===== */
.maxtel-rp-price {
    font-size: 15px;
    font-weight: 700;
    color: #d0021b;
}

.maxtel-rp-price .woocommerce-Price-amount {
    font-size: inherit;
    color: inherit;
    font-weight: inherit;
}

.maxtel-rp-price del {
    font-size: 12px;
    font-weight: 400;
    color: #999;
    margin-right: 4px;
}

.maxtel-rp-price ins {
    text-decoration: none;
}

/* ===== Arrows ===== */
.maxtel-rp-arrow {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 2px solid #0056ad;
    background: #fff;
    color: #0056ad;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    outline: none;
    z-index: 2;

    /* Ẩn mặc định, hiện khi hover wrapper */
    opacity: 0;
    pointer-events: none;
    transform: scale(0.85);
    transition: opacity 0.22s ease, transform 0.22s ease, background 0.18s ease, color 0.18s ease;
}

/* Hiện arrow khi hover vào section */
.maxtel-related-products:hover .maxtel-rp-arrow {
    opacity: 1;
    pointer-events: auto;
    transform: scale(1);
}

.maxtel-rp-arrow:hover {
    background: #0056ad;
    color: #fff;
}

.maxtel-rp-arrow:disabled,
.maxtel-related-products:hover .maxtel-rp-arrow:disabled {
    opacity: 0.3;
    cursor: default;
    pointer-events: none;
    transform: scale(1);
}

/* ===== Mobile: ẩn arrow hoàn toàn, dùng swipe ===== */
@media (max-width: 540px) {
    .maxtel-rp-arrow {
        display: none !important;
    }

    .maxtel-rp-wrapper {
        gap: 0;
    }

    /* Hiển thị dot indicator trên mobile */
    .maxtel-rp-dots {
        display: flex !important;
    }
}

/* ===== Dot indicator (mobile) ===== */
.maxtel-rp-dots {
    display: none;
    justify-content: center;
    gap: 6px;
    margin-top: 12px;
}

.maxtel-rp-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #d1d5db;
    transition: background 0.2s ease, transform 0.2s ease;
    cursor: pointer;
}

.maxtel-rp-dot.is-active {
    background: #0056ad;
    transform: scale(1.3);
}

.project-banner{
    width: 210px;
    background: #f5f5f5;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,0.12);
    padding: 14px;
    font-family: Arial, sans-serif;
    box-sizing: border-box;
}

.project-banner .banner-image{
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    height: 500px;
}

.project-banner .banner-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.project-banner .banner-label{
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    background: #0057b8;
    color: #fff;
    padding: 7px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

.project-banner .banner-content{
    padding-top: 16px;
    text-align: center;
}

.project-banner .banner-content h3{
    margin: 0 0 14px;
    color: #ef0024;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 700;
}

.project-banner .banner-content input{
    width: 100%;
    height: 46px;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 0 14px;
    box-sizing: border-box;
    font-size: 14px;
    outline: none;
    background: #fff;
    margin-bottom: 12px;
}

.project-banner .banner-content input:focus{
    border-color: #0057b8;
}

.project-banner .banner-content button{
    width: 100%;
    height: 48px;
    border: none;
    border-radius: 10px;
    background: #0057b8;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    text-transform: uppercase;
    line-height: 1.2;
    transition: .3s;
}

.project-banner .banner-content button:hover{
    background: #00479a;
}

@media(max-width:768px){
    .project-banner{
        width: 100%;
        max-width: 240px;
    }
}



.consult-banner{
    width: 210px;
    border-radius: 10px;
    overflow: hidden;
    background: #dfe3ea;
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
    position: relative;
    font-family: Arial, sans-serif;
}

.consult-banner .banner-image{
    position: relative;
    height: 470px;
    overflow: hidden;
}

.consult-banner .banner-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.consult-banner .sale-badge{
    position: absolute;
    width: 72%;
    text-align: center;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    background: #ef0024;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: 4px;
    letter-spacing: .5px;
    text-transform: uppercase;
}

.consult-banner .banner-form{
    padding: 14px 12px;
    text-align: center;
}

.consult-banner .banner-form h3{
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.4;
    color: #0047b3;
    font-weight: 700;
}

.consult-banner .banner-form input{
    width: 100%;
    height: 44px;
    border: 1px solid #d8dce3;
    border-radius: 10px;
    outline: none;
    padding: 0 12px;
    font-size: 14px;
    background: #f5f6f8;
    margin-bottom: 10px;
    box-sizing: border-box;
}

.consult-banner .banner-form input:focus{
    border-color: #ef0024;
    background: #fff;
}

.consult-banner .banner-form button{
    width: 100%;
    border: 0;
    background: #e30020;
    color: #fff;
    height: 46px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: .3s;
    text-transform: uppercase;
    line-height: 1.2;
}

.consult-banner .banner-form button:hover{
    background: #c4001c;
}

@media(max-width: 768px){
    .consult-banner{
        width: 100%;
        max-width: 220px;
    }
}


    .vtx-product-single {
    display: flex;
    gap: 30px;
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.vtx-product-single-gallery {
    min-width: 40%;
    max-width: 40%;
}
.product-main-vtx-outer {
    display: flex;
    gap: 10px;
    justify-content: center;
}
.vtx-sidebar-fixed{
    position:fixed;
    top:20px;
    z-index:999;
}

/* giữ đúng width khi fixed */
.product-main-vtx-sidebar-left.vtx-sidebar-fixed,
.product-main-vtx-sidebar-right.vtx-sidebar-fixed{
    width:250px;
}
nav.woocommerce-breadcrumb.breadcrumbs {
 
    padding: 12px 0 16px;
}
@media only screen and (max-width: 1024px) {
    .product-main-vtx-sidebar-left {
        display: none;
    }

    .product-main-vtx-sidebar-right {
        display: none;
    }
    .chinh-sach-wrapper {
        max-width: 100%;
    }
    .product-main-vtx {
        width: 100%;
    }
}
@media only screen and (max-width: 600px) {
        .vtx-product-single {
        flex-wrap: wrap;
        padding: 10px;
    }

     .vtx-product-single-gallery {
    min-width: 100%;
    max-width: 100%;
}

    .product-info {
        padding: 0;
    }


    .vienthongxanh_single_add_to_cart_buy_now button.vienthongxanh_single_buy_now.button {
        max-width: 100%;
        font-size: 14px;
    }

    .chinh-sach-wrapper {
        display: none;
    }

    button.vienthongxanh-add-to-cart.vienthongxanh_single_add_to_cart_button.single_add_to_cart_button.button.alt {
        padding-left: 10px !important;
        font-size: 14px;
    }

}


