/* ==========================================================================
   UTILITY
   ========================================================================== */
.d-inline-block { display: inline-block !important; }
.no-wrap        { white-space: nowrap; }
.btnum,
.shops-center   { text-align: center; }
.error          { color: red; }
.bsss {
    background: none;
    border: none;
    color: #5c5c5c;
    cursor: pointer;
    text-decoration: underline;
}


/* ==========================================================================
   MONEY / PRICE
   ========================================================================== */
.money {
    color: #cc3300;
}

.discounts_money {
    color: #000;
    font-weight: bold;
    text-decoration: line-through;
    padding: 5px;
    font-size: 80%;
}

.price { margin-top: 5px; }

#category .col-sm-6 .price .money {
    display: block;
    vertical-align: middle;
}

#total {
    color: #ff0000;
    font-weight: bold;
    font-size: 15px;
}


/* ==========================================================================
   CATEGORY FILTER
   ========================================================================== */
.s-cat-fillter .form-control { width: auto; }
.s-cat-fillter [name="sort"]  { margin-right: 20px; }


/* ==========================================================================
   TABLE
   ========================================================================== */
table.table tr.bg  { background: #fbf9f9; }

table.rows         { width: 100%; }
table.rows td      { padding: 5px; }
table.rows td img.imgpro {
    width: 40px;
    padding: 2px;
    border: 1px solid #ebebeb;
    vertical-align: middle;
}
table.rows tr.bgtop { background: #cce6ff; line-height: 22px; }

.rows3 td { padding: 1px; }


/* ==========================================================================
   RATING / STARS
   ========================================================================== */
.rate-star {
    padding: 5px;
    float: left;
    height: 14px;
    line-height: 14px;
}
.rate-star .width-star-title { float: left; margin-right: 5px; }
.rate-star .width-star-num   { float: left; font-weight: bold; margin-left: 5px; }
.rate-star .width-star-bg {
    width: 180px;
    float: left;
    cursor: pointer;
    border-radius: 3px;
    background: #dadada;
}
.rate-star .width-star-value {
    float: left;
    border-radius: 3px;
    background: url("../images/shops/star-png.png") repeat-x;
}

.rateavg_percent { font-size: 18px; font-weight: bold; }

/* Big stars */
.rate-ex2-cnt { width: 150px; height: 30px; }
.rate-ex2-cnt .rate-btn {
    width: 30px;
    height: 30px;
    float: left;
    background: url(../images/shops/rate/rate-btn2.png) no-repeat;
    cursor: pointer;
}
.rate-ex2-cnt .rate-btn:hover,
.rate-ex2-cnt .rate-btn-hover,
.rate-ex2-cnt .rate-btn-active {
    background: url(../images/shops/rate/rate-btn2-hover.png) no-repeat;
}

/* Star result */
.rate-result-cnt { width: 82px; height: 18px; position: relative; }
.rate-stars {
    width: 82px;
    height: 18px;
    background: url(../images/shops/rate/rate-stars.png) no-repeat;
    position: absolute;
}
.rate-bg    { height: 18px; background-color: #ffbe10; position: absolute; }
.star-icon  {
    width: 17px;
    height: 17px;
    background: url(../images/shops/rate/rate-btn3-hover.png) no-repeat;
    float: left;
}


/* ==========================================================================
   SEARCH FORM
   ========================================================================== */
#search_form_shops .form-group { margin-bottom: 4px; }

#formsearch             { margin-top: 10px; }
#formsearch .row        { margin-bottom: 10px; }

.search {
    border: 1px solid #ebebeb;
    padding: 5px;
    margin-bottom: 5px;
}
.search .input          { width: 200px; }
.search .rows           { line-height: 25px; }
.search .rows label     { width: 180px; display: inline-block; }
.search .date {
    background: url(../images/shops/date.png) no-repeat center;
    border: 0;
    margin: auto;
    padding: 4px 10px;
}

.result-frame .result-content {
    margin-bottom: 5px;
    border-bottom: 1px dotted #c0c0c0;
    padding-bottom: 5px;
}
.result-frame .result-content img {
    margin-right: 5px;
    border: 1px solid #e6e6e6;
    padding: 2px;
}
.result-frame .linktitle { color: #0080c0; line-height: 22px; font-weight: bold; }
.result-frame .keyword   { background: #ffff00; }

.divbg {
    background: #f9f9f9;
    line-height: 28px;
    margin-top: 10px;
    padding: 0 10px;
    font-size: 14px;
    text-transform: uppercase;
}


/* ==========================================================================
   PRODUCTS GRID
   ========================================================================== */
#products .col-sm-6 .thumbnail,
#category .col-sm-6 .thumbnail  { padding-top: 10px; }

#products .col-sm-6 .label-default {
    margin-bottom: 10px;
    display: inline-block;
}

#products .items              { float: left; display: block; }
#products .items .items_content {
    text-align: center;
    border: 1px solid #e5e5e5;
    padding: 10px;
    margin: 1px;
}
#products .items .items_content img           { border: #efefef 1px solid; padding: 2px; }
#products .items .items_content .content_top  { height: 135px; }
#products .items .items_content .show-product-code { height: 156px; }
#products .items .items_content .content_price     { height: 15px; }

/* Tooltip in products */
#products .tip {
    color: #fff;
    background: #1d1d1d;
    display: none;
    padding: 10px;
    position: absolute;
    z-index: 3000;
    border-radius: 3px;
    width: 250px;
    text-align: left;
}
#products .tip img { margin-right: 10px; float: left; }


/* ==========================================================================
   CATEGORY LIST / GRID
   ========================================================================== */
#category {
    margin-bottom: 8px;
    background: #fff;
}
#category .page_title {
    font-size: 13px;
    color: #454545;
    height: 20px;
    line-height: 20px;
    padding: 5px;
    font-weight: bold;
    border-bottom: 2px solid #e5e5e5;
}
#category .list_rows            { border-bottom: 1px dashed #cad5d8; }
#category .list_rows div.img    { float: left; margin-right: 5px; padding: 5px 0; }
#category .list_rows div.img input  { position: absolute; top: 15px; left: 5px; }
#category .list_rows div.img img {
    border: 1px solid #f4f4f4;
    padding: 2px;
    margin: 5px 10px 5px 0;
}
#category .list_rows div.list_c {
    width: 300px;
    float: left;
    margin-right: 10px;
    padding: 20px 0;
}
#category .list_rows div.list_c h3        { margin-bottom: 10px; }
#category .list_rows div.list_c p.des    { padding-bottom: 10px; border-bottom: 1px dashed #cad5d8; }
#category .list_rows div.list_c p.add_prd { margin: 10px 0 0; }
#category .list_rows div.info_prd {
    width: 170px;
    margin-right: 10px;
    margin-top: 20px;
    float: left;
}
#category .list_rows div.info_prd ul     { padding: 15px; }
#category .list_rows div.info_prd ul li  { padding: 0 0 10px 15px; }
#category .list_rows div.info_prd strong { color: #fc4d00; }
#category .list_rows div.info_prd span   { display: block; font-weight: 700; }
#category .grid_rows { width: 33%; float: left; margin-top: 10px; }


/* ==========================================================================
   PRODUCT THUMBNAIL CAPTIONS
   ========================================================================== */
.caption    h3 { line-height: 22px; height: 40px; }
.caption_pt h3 { line-height: 22px; height: 50px; }

.thumbnail .caption    h3 { font-size: 14px; }
.thumbnail .caption_pt h3 { font-size: 14px; }

.thumbnail .caption h3 a {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-wrap: break-word;
}

.time_up { color: #c0c0c0; font-weight: normal; }


/* ==========================================================================
   PRODUCT DETAIL
   ========================================================================== */
#detail           { margin: 5px; }
#detail img       { max-width: 100%; height: auto; }
#detail .zoom_img { margin: 10px 0; }

#detail ul              { padding-left: 0; }
#detail ul.product_info { padding: 0; }
#detail ul.product_info li { margin-bottom: 5px; }

#detail .image-demo  { float: left; width: 150px; }
#detail .info_product { padding-left: 150px; }
#detail .date_up      { color: #bcbcbc; display: block; }
#detail .info_product p { padding: 2px; margin: 0; }
#detail .detail_com   { margin-bottom: 5px; }

#detail .prd_rate             { padding: 0; }
#detail .prd_rate div.line    { margin-bottom: 10px; }
#detail .prd_rate div.cm_rows {
    padding: 0 0 10px;
    margin: 0 0 10px;
    border-bottom: 1px dashed #d7e2e6;
}
#detail .prd_rate div.avata       { width: 54px; text-align: center; float: left; }
#detail .prd_rate div.avata img   { border: 1px solid #d7e2e6; padding: 1px; }
#detail .prd_rate div.cm_c        { float: right; }

#detail .others          { padding: 10px; }
#detail .others ul li    { background: url(../images/shops/square.jpg) no-repeat 0 5px; padding-left: 8px; }
#detail .others .date    { color: #999; }
#detail .others h1       { border-bottom: #ccc 1px solid; margin-bottom: 5px; }

#detail .div_rate a {
    padding-right: 18px;
    background: url('../images/shops/star.png') no-repeat right center;
    margin-right: 5px;
}

.info_icon::before {
    font-family: FontAwesome;
    color: #1e91cf;
    font-size: 14px;
    content: "\f05a";
}

#coupons_info { margin-top: 6px; }
.info_pro     { position: absolute; top: 0; left: 0; }
.newday       { display: block; text-transform: uppercase; }

.prodetail-popup > .panel {
    border: 0 !important;
    box-shadow: none !important;
}

.docpay div          { line-height: 25px; }
.docpay div strong   { width: 120px; display: inline-block; }

.fb-like { margin-right: 30px; }


/* ==========================================================================
   PRODUCT BUTTONS
   ========================================================================== */
a.pro_order,
a.pro_detail {
    color: #000;
    padding: 2px 0;
    background: url(../images/shops/bgbt.png) repeat 0 0;
    display: inline-block;
    width: 60px;
    text-align: center;
    border: 1px solid #fc0;
}
a.pro_detail:hover,
a.pro_order:hover { background: #ffcc33; }

.btn-transparent { background: none; border: none; box-shadow: none; }
a.btn-default    { color: #1a3f5e; }


/* ==========================================================================
   PRODUCT CENTER CAROUSEL
   ========================================================================== */
div[id*="product_center"]              { position: relative; }
div[id*="product_center"] .crsl-nav   { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
div[id*="product_center"] .crsl-items::after { display: block; clear: both; content: ''; }
div[id*="product_center"] .crsl-items img    { margin: 0 auto 6px; }

div[id*="product_center"] .previous,
div[id*="product_center"] .next {
    position: absolute;
    top: 50%;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    text-indent: -10000px;
    color: #fff;
    background: rgba(0,0,0,.80) url(../images/shops/previous-next.png) no-repeat 0 0;
    z-index: 10;
    border-radius: 20px;
    transition: background .2s ease-out;
}
div[id*="product_center"] .previous:hover,
div[id*="product_center"] .next:hover { background-color: rgba(0,0,0,.95); }
div[id*="product_center"] .previous   { left: 0; background-position: 0 0; }
div[id*="product_center"] .next       { right: 0; background-position: 100% 0; }
div[id*="product_center"] .crsl-item  { margin-bottom: 0; }

.product_center           { overflow: hidden; position: relative; margin-top: 5px; margin-bottom: 2px; z-index: 2; }
.product_center .container { width: 960px; height: 130px; overflow: hidden; position: relative; }
.product_center .slides    { position: absolute; top: 0; left: 0; }
.product_center .slides > div { position: absolute; top: 0; width: 960px; display: none; }
.product_center p          { padding: 0; }

#block_newtop .slides > div a:hover { text-decoration: underline; }

.product_center ul.pagination { padding: 5px; float: right; }
.product_center ul.pagination li { float: left; list-style: none; }
.product_center ul.pagination a {
    display: block;
    overflow: hidden;
    background: #f3f3f3;
    margin-right: 2px;
    line-height: 20px;
    height: 20px;
    width: 20px;
    text-align: center;
}
.product_center ul.pagination li.active a { background: #b5b5b5; color: #fff; }
.product_center .slides .items {
    display: block;
    width: 150px;
    float: left;
    height: 120px;
    margin-right: 10px;
    text-align: center;
}
.product_center .slides .items img { height: 80px; border: #dfdfdf 1px solid; padding: 2px; }

.others_product ul     { width: 100%; margin: 0; padding: 0; }
.others_product ul li  { list-style: none; text-align: center; margin-bottom: 10px; }
.others_product ul li img        { margin: 5px; }
.others_product ul li.bg         { background: #fffff0; }
.others_product ul li span.time  { color: #c0c0c0; font-size: 11px; }


/* ==========================================================================
   OWL CAROUSEL – PRODUCT DETAIL SLIDER
   ========================================================================== */
.owl-carousel-product-detail {
    display: block !important;
    visibility: hidden;
}
.owl-carousel-product-detail.owl-loaded { visibility: visible; }
.owl-carousel-product-detail .item      { width: 100%; }

.owl-carousel-product-detail .owl-item .slider-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block;
    transition: transform .35s ease;
}

.slider-media {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f5f5f5;
    border-radius: 8px;
    position: relative;
}
.slider-card         { display: block; text-decoration: none; color: inherit; }
.slider-card:hover .slider-media img { transform: scale(1.03); }

.slider-caption {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 16px;
    padding: 12px 14px;
    background: rgba(0,0,0,.55);
    backdrop-filter: blur(4px);
    border-radius: 12px;
    color: #fff;
}
.slider-title        { margin: 0 0 6px; font-size: 20px; line-height: 1.3; font-weight: 700; }
.slider-spec         { font-size: 14px; line-height: 1.4; opacity: .95; }
.slider-spec-label   { font-weight: 600; }
.slider-spec-value   { color: #ffd66b; }

@media (max-width: 767px) {
    .slider-caption {
        left: 8px;
        right: 8px;
        bottom: 8px;
        padding: 8px 10px;
        border-radius: 10px;
        background: rgba(0,0,0,.45);
        pointer-events: none;
    }
    .slider-caption * { pointer-events: none; }
    .slider-title {
        margin: 0 0 4px;
        font-size: 14px;
        line-height: 1.25;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .slider-spec { font-size: 11px; line-height: 1.3; }
}


/* ==========================================================================
   LIGHTSLIDER GALLERY
   ========================================================================== */
#imageGallery img                          { height: 290px; }
.lSSlideOuter .lSPager.lSGallery img      { border: solid 1px #ddd; }
.lSSlideOuter .lSPager.lSGallery li.active { border: solid 1px blue; }
.lSSlideWrapper                            { margin-bottom: 15px; }


/* ==========================================================================
   TABS
   ========================================================================== */
.r-tabs                        { margin: 10px 0; position: relative; }
.r-tabs .r-tabs-nav            { border-bottom: 1px solid #ccc; }
.r-tabs .r-tabs-nav .r-tabs-tab { position: relative; top: 1px; }
.r-tabs .r-tabs-nav .r-tabs-anchor {
    background: #00aadd;
    margin-bottom: 3px;
    padding: 10px 12px;
    display: inline-block;
    text-decoration: none;
    color: #fff;
    font-weight: bold;
}
.r-tabs .r-tabs-nav .r-tabs-state-active {
    background-color: #fff;
    margin-bottom: -1px;
    border: 1px solid #ccc;
    border-bottom: none;
}
.r-tabs .r-tabs-nav .r-tabs-state-disabled      { opacity: .5; }
.r-tabs .r-tabs-nav .r-tabs-state-active .r-tabs-anchor { color: #00aadd; background-color: #fff; }
.r-tabs .r-tabs-panel {
    border: 1px solid #ccc;
    border-top: none;
    margin-bottom: 3px;
}
.r-tabs .r-tabs-accordion-title .r-tabs-anchor {
    display: block;
    padding: 10px;
    background-color: #00aadd;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    margin-bottom: 3px;
}
.r-tabs .r-tabs-accordion-title.r-tabs-state-disabled { opacity: .5; }
.r-tabs .r-tabs-accordion-title.r-tabs-state-active .r-tabs-anchor {
    background-color: #fff;
    color: #00aadd;
    border: 1px solid #ccc;
    border-bottom: none;
    margin-bottom: 0;
}

/* Generic tabs */
.tabs { position: relative; width: 100%; overflow: hidden; margin: 1em 0; font-weight: 300; z-index: 0; }
.tabs .nav { text-align: center; }
.tabs .nav ul { padding: 0; margin: 0; list-style: none; display: inline-block; }
.tabs .nav li {
    border: 1px solid #becbd2;
    border-bottom: none;
    margin: 0 .25em;
    display: block;
    float: left;
    position: relative;
    padding-top: 2px;
}
.tabs .nav li.active {
    border-color: #47a3da;
    box-shadow: 0 2px #47a3da inset;
    border-bottom: none;
    z-index: 100;
}
.tabs .nav li.active::before,
.tabs .nav li.active::after {
    content: '';
    position: absolute;
    height: 1px;
    right: 100%;
    bottom: 0;
    width: 1000px;
    background: #47a3da;
}
.tabs .nav li.active::after { right: auto; left: 100%; width: 4000px; }
.tabs .nav a {
    color: #becbd2;
    display: block;
    font-size: 1.1em;
    line-height: 2.5;
    padding: 0 1.25em;
    white-space: nowrap;
    border: none;
    border-radius: 0;
}
.tabs .nav a:hover          { color: #768e9d; }
.tabs .nav li.active a      { color: #47a3da; border: none; border-radius: 0; }
.tabs .nav a::before {
    display: inline-block;
    vertical-align: middle;
    text-transform: none;
    font-weight: normal;
    font-variant: normal;
    font-family: 'icomoon';
    line-height: 1;
    speak: none;
    -webkit-font-smoothing: antialiased;
    margin: -.25em .4em 0 0;
}

.content section {
    font-size: 1.25em;
    padding: 2px 1px;
    display: none;
    max-width: 1230px;
    margin: 0 auto;
}
.content section::before,
.content section::after { content: ''; display: table; }
.content section::after { clear: both; }
.no-js .content section { display: block; padding-bottom: 2em; border-bottom: 1px solid #47a3da; }
.content section.content-current { display: block; }

.tab-pane                   { padding: 5px; }
.tab-content ul             { list-style-type: disc !important; padding-left: 20px !important; }
.nav-tabs li a img          { display: inline-block; max-height: 30px; max-width: 30px; padding-right: 3px; }

@media screen and (max-width: 52.375em) {
    .tabs .nav a span       { display: none; }
    .tabs .nav a::before    { margin-right: 0; }
    .mediabox { float: none; width: auto; padding: 0 0 35px; font-size: 90%; }
    .mediabox img { float: left; margin: 0 25px 10px 0; max-width: 40%; }
    .mediabox h3 { margin-top: 0; }
    .mediabox p  { margin-left: calc(40% + 25px); }
    .mediabox::before,
    .mediabox::after { content: ''; display: table; }
    .mediabox::after { clear: both; }
}

@media screen and (max-width: 32em) {
    .tabs .nav ul,
    .tabs .nav ul li a { width: 100%; padding: 0; }
    .tabs .nav ul li   { width: calc(20% + 1px); margin: 0 0 0 -1px; }
    .tabs .nav ul li:last-child { border-right: none; }
    .mediabox          { text-align: center; }
    .mediabox img      { float: none; margin: 0 auto; max-width: 100%; }
    .mediabox h3       { margin: 1.25em 0 1em; }
    .mediabox p        { margin: 0; }
}


/* ==========================================================================
   CART / CHECKOUT STEPS
   ========================================================================== */
div.step_bar a.step {
    display: block;
    float: left;
    height: 32px;
    line-height: 32px;
    font-size: 12px;
    font-weight: 700;
    background: url('../images/shops/star.png') no-repeat left center;
    padding-left: 10px;
    margin-right: 10px;
}
div.step_bar a.step span {
    display: block;
    width: 32px;
    height: 32px;
    float: left;
    text-align: center;
    font-weight: 700;
    font-size: 13px;
    color: #039;
}
div.step_bar a.step_current { color: red; }

.block                       { margin-bottom: 10px; }
.block .payment_info         { margin: 10px 0; }
.block .payment_info .payment_items { text-align: center; margin-right: 2px; display: inline-block; }

.payment {
    color: #f00;
    font-weight: bold;
    display: block;
    margin-top: 10px;
    border: 1px solid #f00;
    padding: 3px;
    text-transform: uppercase;
}

.order_code { padding: 5px; border: 1px solid #dfdfdf; text-align: center; }
.text_date  { color: #0080c0; font-size: 16px; font-weight: 700; }


/* ==========================================================================
   PAGES / PAGINATION
   ========================================================================== */
.pages          { display: inline-block; float: right; margin: 5px 0; }
.pages a        { color: #000; border: 1px solid #ebebeb; padding: 2px 6px; display: inline-block; }
.pages a:hover  { background: #f2f2f2; }
.pages strong   { color: #fff; border: 1px solid #ebebeb; padding: 2px 6px; display: inline-block; background: #0080c0; font-weight: normal; }


/* ==========================================================================
   PRINT
   ========================================================================== */
#print               { padding: 10px; }
#print table.rows2   { width: 100%; border: none; margin-bottom: 10px; }
#print table.rows    { width: 100%; border: 1px solid #f5f5f5; }
#print table.rows td { padding: 5px; border: 1px solid #f5f5f5; }
#print table.rows td img { width: 60px; padding: 2px; border: 1px solid #ebebeb; vertical-align: middle; }
#print table.rows tr.bg  { background: #f3f3f3; }
#print table.rows tr.bgtop { background: #ccc; line-height: 22px; }


/* ==========================================================================
   SOCIAL BUTTONS
   ========================================================================== */
em.fb, span.fb      { color: #3b5998; }
em.tw, span.tw      { color: #00aced; }
em.google,
span.google         { color: #dd4b39; }

.google-plus-one                { overflow: hidden; position: relative; }
.google-plus-one i              { position: absolute; left: -4px; bottom: -5px; }
.google-plus-one span           { font-size: 16px; font-weight: 900; line-height: 10px; margin-left: 15px; }
.btn-sm.google-plus-one span    { font-size: 14px; }
.btn-sm.google-plus-one i       { bottom: -3px; }
.btn-lg.google-plus-one span    { font-size: 20px; margin-left: 18px; }
.btn-lg.google-plus-one i       { bottom: -5px; }
.btn-xs.google-plus-one span    { font-size: 12px; }
.btn-xs.google-plus-one i       { bottom: -7px; }


/* ==========================================================================
   MISC / SHARED
   ========================================================================== */
.page-header { padding: 10px 0; margin: 0 0 10px; }

.msgshow {
    background: #f5f5f5;
    padding: 20px;
    border: 4px solid #c7c7c7;
    position: fixed;
    bottom: 0;
    right: 0;
    display: none;
    z-index: 10020 !important;
}

.tooltip-inner {
    max-width: 250px;
    padding: 10px;
    color: #fff;
    text-align: left !important;
    background-color: #0c2138;
    border-radius: 4px;
}
.tooltip-inner img.pull-left  { margin: 3px 5px 1px 0; }
.tooltip-inner img.pull-right { margin: 3px 1px 0 5px; }

.share a   { padding: 0; margin: 0; }
.share img { height: 16px; float: left; margin: 0 3px; }

.title_cate {
    background: url('../images/shops/pro_cat_header.png') repeat-x;
    height: 20px;
    line-height: 20px;
    padding: 5px;
    font-weight: bold;
}

.btn_view       { background: url('../images/shops/bl.png') no-repeat left center; display: inline-block; }
.btn_view span  { background: url('../images/shops/br.png') no-repeat right; padding: 3px 10px; display: inline-block; }

.block-nobg .title_adv { background: url('../images/dot_gray.gif') repeat-x center; }
.frame                 { padding: 20px; text-align: center; }

.title_shop      { color: #000; font-weight: bold; text-align: left; display: block; }
.title_group     { margin-bottom: 10px; border-bottom: 1px #e8e8e8 solid; line-height: 20px; }
.post-product h2 { border-bottom: 1px #d8d8d8 solid; }
.txt-full        { width: 99%; }

.info-require  { color: red; font-size: 11px; font-style: italic; }
.span-require  { color: red; font-style: italic; }
.post-error    { border: 1px solid #ffaad5; margin: 0 auto 10px; background: #ffd2e9; padding: 10px; }
.post-error span { color: #f00; font-weight: bold; }
.post-product .show-date { vertical-align: middle; }

.compare         { margin-bottom: 10px; }
#group_error     { color: #c00; font-style: italic; padding: 5px; border: 1px dashed #c00; margin: 5px 0; display: none; }

.download             { border-bottom: dashed #ddd 1px; line-height: 35px; }
.download,
.download a           { font-size: 13px; }

.viewlist .image      { margin-right: 6px; }
.viewlist .price      { height: inherit; margin: 10px 0; }
.viewlist input[type="checkbox"],
.viewlist input[type="radio"] { margin: 0; }

.viewtype span        { color: #ddd; }
.viewtype span.active { color: #333; }

img.calendar          { vertical-align: middle; }

.select2-selection    { height: 32px !important; }
.select2-container .select2-selection--single .select2-selection__rendered { padding-top: 2px; }

.order_shipping_info li { margin: 8px 0; }

/* Post product */
.post-product .show-date { vertical-align: middle; }

/* Filter product by group */
.filter_product label { margin-right: 10px; }
.filter_product .label_group {
    height: 22px;
    border: 1px solid #ccc;
    outline: 1px solid #fff;
    background: #f2f2f2;
    text-align: center;
    line-height: 21px;
    display: block;
    float: left;
    cursor: pointer;
    position: relative;
    text-transform: uppercase;
    padding: 0 10px;
    margin-top: 5px;
    min-width: 30px;
    font-size: 11px;
    white-space: nowrap;
}
.filter_product .active,
.filter_product .label_group.active   { border-color: #357ebd; }
.filter_product .label_group:hover    { border-color: #d43f3a; }
.filter_product .label_group input,
.filter_product .image_group input    { position: absolute; top: 0; left: 0; width: 100%; height: 100%; cursor: pointer; opacity: 0; z-index: -1; }

/* Review form */
.form-review                     { font-size: 13px; }
.form-review .pagination         { margin-top: 2px; }
.form-review .pagination > li > a { padding: 1px 5px; font-size: 12px; }
.form-review .review_row         { border-bottom: 1px solid #ddd; margin-bottom: 5px; }
.form-review .border             { padding: 0 10px; }
.form-review .border-right       { border-right: 1px solid #ddd; }

/* Ajax loader overlay */
.ajax-load-qa {
    background: url("../images/shops/ajax-loader.gif") no-repeat center center rgba(255,255,255,.5);
    position: absolute;
    z-index: 100;
    left: 0; top: 0;
    width: 100%; height: 100%;
    display: none;
}

.panel-filter-product .panel-body .sub-break          { margin-top: 10px; margin-bottom: 10px; }
.panel-filter-product .panel-body > .row:last-child .sub-break { display: none; }
.panel-filter-product .sub-groups label               { font-weight: 300; }
.panel-filter-product .sub-groups label input         { margin-top: -3px; }

/* Popup cart */
.sh-popup-modal  { display: block !important; }
.popup-product-detail { display: block; width: 100%; border: 0; overflow: hidden; }

/* Content module */
.contModule.h4titb2 .module         { position: relative; }
.contModule.h4titb2 .img_wrap       { position: relative; float: right; width: 50%; }
.contModule.h4titb2 .txt_wrap       { position: absolute; top: 0; right: 50%; bottom: 0; left: 0; }
.contModule .module .img_wrap img   { max-width: 100%; width: 100%; }
.contModule.h4titb2 .txt_wrap .inner       { display: table; width: 100%; height: 100%; }
.contModule.h4titb2 .txt_wrap .align_cont  { display: table-cell; padding: 50px; }
.contModule.h4titb2 .txt_wrap .align_cont * { max-width: 560px; }
.align_cont.mid   { vertical-align: middle; }
.align_cont.right { text-align: right; }
.align_cont.right * { float: right; clear: right; }

@media only screen and (max-width: 767px) {
    .contModule.h4titb2 .img_wrap           { float: none; width: auto; }
    .contModule.h4titb2 .txt_wrap           { position: static; }
    .contModule.h4titb2 .txt_wrap .align_cont { padding: 28px 20px 60px; text-align: left; }
    .contModule.h4titb2 .txt_wrap .align_cont * { max-width: none; }
    .align_cont.right *                     { float: none; clear: none; }
}


/* ==========================================================================
   COMPARE – ENTRY / BUTTONS
   ========================================================================== */
.hdd-compare-entry         { margin-top: 8px; }
.hdd-compare-btn           { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; }
.hdd-compare-btn.is-active { background: #1a73e8; border-color: #1a73e8; color: #fff; }

.hdd-product-compare-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 0;
    align-items: center;
}
.hdd-product-compare-actions .btn { border-radius: 6px; }

.hdd-compare-suggest-trigger.is-open { background: #f3f7ff; border-color: #bcd3ff; }

@media (max-width: 767.98px) {
    .hdd-product-compare-actions      { gap: 6px; }
    .hdd-product-compare-actions .btn { width: 100%; justify-content: center; }
}


/* ==========================================================================
   COMPARE – SUGGEST BOX
   ========================================================================== */
.hdd-compare-suggest-section { display: none; margin: 10px 0 14px; }

.hdd-compare-suggest-box {
    border: 1px solid #e9edf2;
    border-radius: 8px;
    background: #fff;
    padding: 10px;
}

.hdd-compare-suggest-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.hdd-compare-suggest-item {
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 12px;
    background: #fff;
}

.hdd-compare-suggest-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 5px;
}

.hdd-compare-suggest-item__top {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

/* Thumbnail */
.hdd-compare-suggest-thumb,
.hdd-compare-suggest-item__thumb {
    width: 72px;
    min-width: 72px;
    height: 72px;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #e5e5e5;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.hdd-compare-suggest-thumb img,
.hdd-compare-suggest-item__thumb img { max-width: 100%; max-height: 100%; object-fit: contain; }

/* Name */
.hdd-compare-suggest-title { flex: 1; min-width: 0; }
.hdd-compare-suggest-title a,
.hdd-compare-suggest-item__name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    color: #1a1a1a;
    text-decoration: none;
}
.hdd-compare-suggest-item__name:hover { color: #0b63ce; }

.hdd-compare-suggest-item__code { margin-top: 6px; font-size: 12px; color: #666; line-height: 1.4; }

/* Actions */
.hdd-compare-suggest-actions,
.hdd-compare-suggest-item__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}
.hdd-compare-suggest-actions .btn,
.hdd-compare-suggest-item__actions .btn {
    width: 100%;
    white-space: nowrap;
    text-align: center;
    padding: 6px 8px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.2;
}

@media (max-width: 991.98px) {
    .hdd-compare-suggest-list { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
    .hdd-compare-suggest-section { margin: 12px 0 16px; }
    .hdd-compare-suggest-box     { padding: 8px; border-radius: 8px; }
    .hdd-compare-suggest-list    { gap: 8px; }

    .hdd-compare-suggest-item    { padding: 5px; margin-bottom: 5px; }
    .hdd-compare-suggest-head    { gap: 10px; margin-bottom: 8px; }

    .hdd-compare-suggest-thumb,
    .hdd-compare-suggest-item__thumb { width: 48px; min-width: 48px; height: 48px; }

    .hdd-compare-suggest-title a,
    .hdd-compare-suggest-item__name { font-size: 13px; }
    .hdd-compare-suggest-item__code { font-size: 11px; }

    .hdd-compare-suggest-actions,
    .hdd-compare-suggest-item__actions { grid-template-columns: 1fr; gap: 6px; }
    .hdd-compare-suggest-actions .btn,
    .hdd-compare-suggest-item__actions .btn { padding: 8px 6px; }
}


/* ==========================================================================
   COMPARE – TOOLBAR
   ========================================================================== */
.hdd-compare-toolbar--top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin: 10px 0 14px;
    padding: 12px 14px;
    background: #f8fafc;
    border: 1px solid #e3e8ef;
    border-radius: 10px;
}
.hdd-compare-toolbar__left  { flex: 1 1 260px; min-width: 220px; }
.hdd-compare-toolbar__right { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.hdd-compare-toolbar__hint  { font-size: 14px; font-weight: 600; color: #2d3e50; line-height: 1.4; }
.hdd-compare-toolbar__hint i { margin-right: 6px; color: #1f6fb2; }

.hdd-compare-diff-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 8px 12px;
    background: #fff;
    border: 1px solid #d8e0ea;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #2f3b4a;
    cursor: pointer;
}
.hdd-compare-diff-toggle input { margin: 0; transform: translateY(-1px); }

.hdd-compare-del-all { display: inline-flex; align-items: center; gap: 6px; border-radius: 8px; padding: 8px 12px; font-weight: 600; }

@media (max-width: 767px) {
    .hdd-compare-toolbar--top { padding: 10px; gap: 8px; }
    .hdd-compare-toolbar__left,
    .hdd-compare-toolbar__right { width: 100%; }
    .hdd-compare-toolbar__right { justify-content: stretch; display: grid; grid-template-columns: 1fr; gap: 8px; }
    .hdd-compare-diff-toggle,
    .hdd-compare-del-all { width: 100%; justify-content: center; }
    .hdd-compare-toolbar__hint { font-size: 13px; }
}


/* ==========================================================================
   COMPARE – TABLE
   ========================================================================== */
.hdd-compare-table-wrap { overflow: auto; }

.hdd-compare-table {
    table-layout: fixed;
    width: 100%;
    background: #fff;
}
.hdd-compare-table > thead > tr > th,
.hdd-compare-table > tbody > tr > th,
.hdd-compare-table > tbody > tr > td { vertical-align: top; }

.hdd-compare-label-col,
.hdd-compare-label-cell {
    min-width: 200px;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 2;
    font-weight: 700;
}

.hdd-compare-value-cell,
.hdd-compare-label-cell {
    white-space: normal !important;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.45;
}
.hdd-compare-value-cell * {
    white-space: normal !important;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.hdd-compare-section-row th,
.hdd-compare-section-heading th {
    background: #eef5ff;
    color: #134a8e;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .2px;
    padding: 10px 12px;
    position: sticky;
    left: 0;
    z-index: 1;
}

.hdd-compare-spec-row .hdd-compare-value-cell { font-size: 15px; }
.hdd-compare-spec-row.is-same,
.hdd-compare-row.compare-same td,
.hdd-compare-row.compare-same th { background: #fafafa; }

@media (max-width: 767.98px) {
    .hdd-compare-table { min-width: 640px; }
    .hdd-compare-diff-toggle { width: 100%; font-size: 12px; }
    .hdd-compare-section-heading th { font-size: 12px; padding: 8px; }

    .hdd-compare-label-cell { width: 120px; min-width: 120px; max-width: 120px; font-size: 13px; line-height: 1.35; }
    .hdd-compare-value-cell { min-width: 170px; max-width: 170px; font-size: 13px; line-height: 1.4; padding: 10px 8px !important; }
    .hdd-compare-spec-row .hdd-compare-value-cell { font-size: 13px; }
}


/* ==========================================================================
   COMPARE – PRODUCT CARD (header row)
   ========================================================================== */
.hdd-compare-product-head {
    vertical-align: top;
    overflow: hidden;
}
.hdd-compare-product-head img { max-width: 100%; height: auto; display: block; margin: 0 auto; }

.hdd-compare-product-card  { display: flex; flex-direction: column; gap: 10px; align-items: center; text-align: center; }
.hdd-compare-product-image { display: block; width: 100%; max-width: 180px; }
.hdd-compare-product-image img { max-width: 100%; height: auto; }
.hdd-compare-product-card h3   { font-size: 18px; line-height: 1.4; margin: 0; }
.hdd-compare-product-meta      { font-weight: 700; color: #d9534f; }

.hdd-compare-product-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.35;
    max-width: 100%;
    margin: 8px auto 6px;
    text-align: center;
}

.hdd-compare-product-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.hdd-compare-actions-stack   { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.hdd-compare-actions-stack .btn { white-space: nowrap; }

@media (max-width: 767px) {
    .hdd-compare-product-head  { min-width: 180px; max-width: 180px; padding: 10px 8px !important; }
    .hdd-compare-product-title { font-size: 13px; line-height: 1.3; min-height: 50px; }
    .hdd-compare-actions-stack { gap: 4px; }
    .hdd-compare-actions-stack .btn { font-size: 12px; padding: 4px 8px; }
}


/* ==========================================================================
   COMPARE – PAGE LAYOUT
   ========================================================================== */
.hdd-compare-page--technical { margin-bottom: 24px; }
.hdd-compare-page__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}
.hdd-compare-page__title { margin: 0 0 4px; }
.hdd-compare-page__desc  { margin: 0; color: #666; }
.hdd-compare-page__tools { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }

.hdd-compare-view-link { padding-left: 0; }


/* ==========================================================================
   COMPARE – STICKY BAR
   ========================================================================== */
body.has-compare-sticky-bar { padding-bottom: 82px; }

#hddCompareStickyBar {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 2147483651;
    background: rgba(255,255,255,.80);
    border-top: 1px solid #dfe5ec;
    box-shadow: 0 -4px 18px rgba(0,0,0,.08);
}

.hdd-compare-sticky-bar__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.hdd-compare-sticky-bar__summary { min-width: 130px; font-size: 13px; font-weight: 700; color: #1a1a1a; }

.hdd-compare-sticky-bar__items {
    flex: 1;
    display: flex;
    gap: 10px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.hdd-compare-sticky-bar__item {
    position: relative;
    min-width: 180px;
    max-width: 220px;
    border: 1px solid #e8edf3;
    border-radius: 8px;
    background: #fff;
    padding: 6px 28px 6px 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}
.hdd-compare-sticky-bar__item img {
    width: 38px;
    height: 38px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid #eee;
    background: #fff;
}
.hdd-compare-sticky-bar__item-name {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    color: #222;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.hdd-compare-sticky-bar__item-remove {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 20px;
    height: 20px;
    border: 0;
    border-radius: 50%;
    background: #eef2f6;
    color: #666;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
}
.hdd-compare-sticky-bar__item-remove:hover { background: #e14c4c; color: #fff; }

.hdd-compare-sticky-bar__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}
.hdd-compare-sticky-bar__actions .btn { white-space: nowrap; border-radius: 6px; }

@media (max-width: 767.98px) {
    body.has-compare-sticky-bar { padding-bottom: 96px; }

    .hdd-compare-sticky-bar__inner   { padding: 8px 10px; display: block; }
    .hdd-compare-sticky-bar__summary { min-width: 0; margin-bottom: 8px; font-size: 12px; }
    .hdd-compare-sticky-bar__items   { margin-bottom: 8px; }
    .hdd-compare-sticky-bar__item    { min-width: 150px; max-width: 170px; }

    .hdd-compare-sticky-bar__actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px;
        align-items: stretch;
    }
    .hdd-compare-sticky-bar__actions .btn {
        width: 100% !important;
        margin: 0 !important;
        padding: 10px 8px;
        font-size: 13px;
        line-height: 1.2;
        white-space: nowrap;
        border-radius: 8px;
    }
}


/* ==========================================================================
   MOBILE – PRODUCT DETAIL LAYOUT
   ========================================================================== */
@media (max-width: 767px) {
    #detail                 { margin-bottom: 12px; }
    #detail .col-md-14,
    #detail .col-md-10      { padding-left: 10px; padding-right: 10px; }

    #imageGallery img       { height: auto; max-height: 220px; object-fit: contain; }
    .lSSlideWrapper         { margin-bottom: 10px; }
    .lSSlideOuter .lSPager.lSGallery li { width: 58px !important; }

    .hdd-product-detail-title { font-size: 18px; line-height: 1.3; margin: 8px 0 10px; }
    .hdd-product-detail-price { margin-bottom: 10px; }
    #detail .form-group       { margin-bottom: 10px; }

    .hdd-product-detail-tabs ul {
        display: flex;
        flex-wrap: nowrap;
        gap: 16px;
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 6px;
    }
    .hdd-product-detail-tabs ul li { float: none; display: inline-block; }

    .toc-container  { margin: 10px 0 16px; padding: 10px 12px; }
    .toc-title      { font-size: 18px; margin-bottom: 8px; }
    .toc-list li    { margin-bottom: 5px; }
    .toc-toggle     { margin-top: 8px; }

    .bodytext           { font-size: 15px; line-height: 1.6; }
    .bodytext h2,
    .bodytext h3,
    .bodytext h4        { margin-top: 18px; margin-bottom: 10px; line-height: 1.35; }

    .hdd-product-detail-social { margin-top: 14px; }
}