/* ===== Breadcrumb ===== */
.tf-breadcrumb .tf-breadcrumb-wrap{ padding:20px 0; }
.tf-breadcrumb .tf-breadcrumb-list{ gap:8px; font-size:14px; }
.tf-breadcrumb .tf-breadcrumb-list a{ color:#777; transition:color .2s ease; }
.tf-breadcrumb .tf-breadcrumb-list a:last-child,
.tf-breadcrumb .tf-breadcrumb-list a:hover{ color:var(--main); }
.tf-breadcrumb .tf-breadcrumb-list .icon{ font-size:7px; color:#aaa; }


/* ===== Gallery (image always fully visible + centered) ===== */
.tf-main-product .tf-product-media-main{
    width:100%; border:1px solid #f0f0f0; border-radius:12px; overflow:hidden; background-color:#fff;
}
.tf-main-product .tf-product-media-main .swiper-slide{ aspect-ratio:1 / 1; }
.tf-main-product .tf-product-media-main .item{
    display:flex; align-items:center; justify-content:center; height:100%; max-height:none; padding:24px;
}
.tf-main-product .tf-product-media-main .item img{ width:100%; height:100%; object-fit:contain; object-position:center; }

.tf-main-product .tf-product-media-main .button-style-arrow{
    width:40px; height:40px; margin-top:-20px; background-color:rgba(255, 255, 255, .95);
    box-shadow:0 2px 10px rgba(0, 0, 0, .12);
}
.tf-main-product .tf-product-media-main .button-style-arrow::after{ font-size:10px; }
.tf-main-product .tf-product-media-main .button-style-arrow:hover{ background-color:var(--main); }
.tf-main-product .tf-product-media-main .swiper-button-prev{ left:14px; }
.tf-main-product .tf-product-media-main .swiper-button-next{ right:14px; }
.tf-main-product .tf-product-media-main .swiper-button-disabled{ opacity:0; pointer-events:none; }

/* Thumbnails: bordered tiles, active one outlined in the brand colour */
.tf-main-product .tf-product-media-thumbs .swiper-slide{ cursor:pointer; }
.tf-main-product .tf-product-media-thumbs .swiper-slide .item{
    padding:6px; border:1px solid #ececec; border-radius:8px; background-color:#fff;
    transition:border-color .2s ease;
}
.tf-main-product .tf-product-media-thumbs .swiper-slide .item::after{ display:none; }
.tf-main-product .tf-product-media-thumbs .swiper-slide .item img{
    object-fit:contain; border:0 !important; border-radius:4px; box-shadow:none !important;
}
.tf-main-product .tf-product-media-thumbs .swiper-slide:hover .item{ border-color:#c5cbd3; }
.tf-main-product .tf-product-media-thumbs .swiper-slide-thumb-active .item{ border-color:var(--main); }

/* md and up: thumbs column on the left, sized so the main image is square and 3 thumbs exactly match its height */
@media (min-width: 768px)
{
    .tf-main-product .thumbs-slider{ container-type:inline-size; flex-direction:row !important; gap:12px; }
    .tf-main-product .thumbs-slider .tf-product-media-thumbs{
        order:0; flex:0 0 auto;
        width:14%; height:400px; max-height:none;
        width:calc(25cqw - 8px); height:calc(75cqw - 4px);
    }
    .tf-main-product .thumbs-slider .tf-product-media-main{ flex:1 1 0; width:auto; min-width:0; }
}


/* ===== Product Info ===== */
.tf-main-product .tf-product-info-list{ display:flex; flex-direction:column; padding:0; padding-inline-start:36px; }
.tf-main-product .tf-product-info-list > div:not(:last-child){ margin-bottom:24px; }

/* Title + Badge */
.tf-main-product .tf-product-info-title{ margin-bottom:12px !important; }
.tf-main-product .tf-product-info-title h5{ font-size:26px; line-height:1.3; font-weight:500; color:var(--main); overflow-wrap:anywhere; }
.tf-main-product .tf-product-info-badges{ margin-bottom:16px !important; }
.tf-main-product .tf-product-info-badges:not(:has(.badges)){ display:none; }
.tf-main-product .tf-product-info-badges .badges{
    padding:0 12px; border:0; border-radius:20px; line-height:26px;
    font-size:11px; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
    color:var(--main); background-color:rgba(0, 56, 105, .08);
}

/* Price */
.tf-main-product .tf-product-info-price{
    flex-wrap:wrap; gap:6px 14px; align-items:baseline;
    padding-bottom:24px; border-bottom:1px solid var(--line);
}
.tf-main-product .tf-product-info-price .price-on-sale{ font-size:28px; line-height:1.2; font-weight:600; color:var(--main); }
.tf-main-product .tf-product-info-price .compare-at-price{ font-size:18px; line-height:1.2; color:#999; }

/* Variants */
.tf-main-product .tf-product-info-variant-picker{ gap:20px; }
.tf-main-product .variant-picker-item .variant-picker-label{ margin-bottom:10px; font-size:14px; font-weight:600; color:var(--main); }
.tf-main-product .variant-picker-item .variant-picker-values{ gap:8px; }
.tf-main-product .variant-picker-item .variant-picker-values label.style-text{
    display:inline-flex; align-items:center; justify-content:center;
    min-width:52px; height:auto; min-height:42px; padding:8px 16px;
    border:1px solid #d5d9df; border-radius:8px; background-color:#fff;
}
.tf-main-product .variant-picker-item .variant-picker-values label.style-text p{ margin:0; font-size:14px; line-height:1.3; font-weight:500; }
.tf-main-product .variant-picker-item .variant-picker-values label.style-text:hover{ border-color:var(--main); }

/* Error message: collapses to nothing while empty (net 0 margin in the flex column) */
.tf-main-product #p-error_msg{ margin:-12px 0 12px !important; font-size:13px; line-height:1.4; }

/* Quantity + Clear */
.tf-main-product .tf-product-info-quantity .quantity-title{ margin-bottom:10px; font-size:14px; color:var(--main); }
.tf-main-product .tf-product-info-quantity .wg-quantity{
    width:132px; height:46px; border:1px solid #dcdfe4; border-radius:8px; background-color:#fff;
}
.tf-main-product .tf-product-info-quantity .wg-quantity .btn-quantity{ width:42px; height:44px; font-size:20px; user-select:none; }
.tf-main-product .tf-product-info-quantity .wg-quantity .btn-quantity:hover{ color:var(--main); background-color:#f5f7fa; }
.tf-main-product .tf-product-info-quantity .wg-quantity input{ width:46px; height:44px; font-size:15px; }
.tf-main-product #clear_variants{
    height:46px !important; padding:0 20px; border-radius:8px !important;
    font-size:14px; font-weight:500; color:#d9363e; background-color:#fff; border:1px solid #f1c2c5;
    transition:background-color .2s ease, color .2s ease, border-color .2s ease;
}
.tf-main-product #clear_variants:hover,
.tf-main-product #clear_variants:focus-visible{ color:#fff; background-color:#d9363e; border-color:#d9363e; }

/* Add to cart: compact, matches the site's 8px-radius controls */
.tf-main-product .tf-product-info-buy-button form{ max-width:360px; }
.tf-main-product #p-addToCart{
    width:100%; height:48px; padding:0 28px; border-radius:8px;
    box-shadow:0 4px 14px rgba(0, 56, 105, .18);
}
.tf-main-product #p-addToCart.disabled{ opacity:.55; box-shadow:none; }


/* ===== Description / Additional Information ===== */
.widget-tabs.style-has-border{ border-radius:12px; overflow:hidden; background-color:#fff; }
.widget-tabs.style-has-border .widget-menu-tab{ gap:10px 36px; margin:0 32px; }
.widget-tabs.style-has-border .widget-menu-tab .item-title{ padding:16px 0; font-size:16px; line-height:24px; color:#888; transition:color .2s ease; }
.widget-tabs.style-has-border .widget-menu-tab .item-title.active,
.widget-tabs.style-has-border .widget-menu-tab .item-title:hover{ color:var(--main); }
.widget-tabs.style-has-border .widget-content-tab .widget-content-inner{ padding:28px 32px; font-size:15px; line-height:1.7; color:#444; overflow-wrap:anywhere; }
.widget-tabs .widget-content-inner img{ max-width:100%; height:auto; }
.widget-tabs .widget-content-inner table{ display:block; max-width:100%; overflow-x:auto; }


/* ===== Tablet (side-by-side, narrower columns) ===== */
@media (min-width: 768px) and (max-width: 1149px)
{
    .tf-main-product .tf-product-info-list{ padding-inline-start:12px; }
    .tf-main-product .tf-product-info-title h5{ font-size:22px; }
    .tf-main-product .tf-product-info-price .price-on-sale{ font-size:24px; }
    .tf-main-product .tf-product-media-main .item{ padding:16px; }
    .tf-main-product .tf-product-media-thumbs .swiper-slide .item{ padding:4px; }
}


/* ===== Mobile (below md) ===== */
@media (max-width: 767px)
{
    /* Breadcrumb */
    .tf-breadcrumb .tf-breadcrumb-wrap{ padding:12px 0 14px; }
    .tf-breadcrumb .tf-breadcrumb-list{ font-size:13px; row-gap:2px; }

    /* Gallery: main image on top, horizontal thumbs strip below */
    .tf-main-product .tf-product-media-wrap{ position:static; margin-bottom:24px; }
    .tf-main-product .thumbs-slider{ gap:10px; }
    .tf-main-product .tf-product-media-main .item{ padding:12px; }
    .tf-main-product .tf-product-media-main .button-style-arrow{ width:34px; height:34px; margin-top:-17px; }
    .tf-main-product .tf-product-media-main .swiper-button-prev{ left:10px; }
    .tf-main-product .tf-product-media-main .swiper-button-next{ right:10px; }

    .tf-main-product .tf-product-media-thumbs{ height:auto; max-height:none; }
    .tf-main-product .tf-product-media-thumbs .swiper-slide{ height:auto !important; }
    .tf-main-product .tf-product-media-thumbs .swiper-slide .item{ aspect-ratio:1 / 1; height:auto; padding:4px; }

    /* Product info */
    .tf-main-product .tf-product-info-list{ padding-inline-start:0; }
    .tf-main-product .tf-product-info-list > div:not(:last-child){ margin-bottom:22px; }
    .tf-main-product .tf-product-info-title{ margin-bottom:10px !important; }
    .tf-main-product .tf-product-info-title h5{ font-size:20px; line-height:1.35; }
    .tf-main-product .tf-product-info-badges{ margin-bottom:12px !important; }
    .tf-main-product .tf-product-info-price{ padding-bottom:20px; }
    .tf-main-product .tf-product-info-price .price-on-sale{ font-size:22px; }
    .tf-main-product .tf-product-info-price .compare-at-price{ font-size:16px; }

    /* Variants */
    .tf-main-product .tf-product-info-variant-picker{ gap:18px; }
    .tf-main-product .variant-picker-item .variant-picker-values label.style-text{ min-width:48px; min-height:40px; padding:6px 14px; }

    /* Quantity + Clear */
    .tf-main-product .tf-product-info-quantity .wg-quantity{ height:44px; }
    .tf-main-product .tf-product-info-quantity .wg-quantity .btn-quantity,
    .tf-main-product .tf-product-info-quantity .wg-quantity input{ height:42px; }
    .tf-main-product #clear_variants{ height:44px !important; padding:0 18px; }

    /* Add to cart: full width on phones */
    .tf-main-product .tf-product-info-buy-button form{ max-width:none; width:100%; }

    /* Description / Additional info */
    .widget-tabs.style-has-border .widget-menu-tab{ gap:10px 24px; margin:0 16px; }
    .widget-tabs.style-has-border .widget-menu-tab .item-title{ padding:12px 0; font-size:14px; line-height:20px; }
    .widget-tabs.style-has-border .widget-content-tab .widget-content-inner{ padding:20px 16px; font-size:14px; }
}


/* ===== Shop: Controls (Filter button + Sort dropdown) ===== */
/* Shared Control Look */
.tf-shop-control{ gap:12px; }
.tf-shop-control .tf-btn-filter,
.tf-shop-control .tf-dropdown-sort{
    height:44px; padding:0; border:1px solid #dcdfe4; border-radius:8px; background-color:#fff;
    box-shadow:0 1px 2px rgba(0,0,0,.03);
    transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.tf-shop-control .tf-btn-filter:hover,
.tf-shop-control .tf-dropdown-sort:hover,
.tf-shop-control .tf-dropdown-sort.show{ border-color:var(--main); box-shadow:rgba(0, 56, 105, .08) 0px 4px 14px; }
.tf-shop-control .tf-btn-filter:focus-visible,
.tf-shop-control .tf-dropdown-sort:focus-visible{ outline:0; border-color:var(--main); box-shadow:0 0 0 3px rgba(0, 56, 105, .18); }

/* Filter Button */
.tf-shop-control .tf-btn-filter{
    padding:0 18px; gap:10px;
    font-size:14px; line-height:1; font-weight:500; text-transform:none; color:var(--main);
}
.tf-shop-control .tf-btn-filter .icon{ font-size:15px; transition:transform .2s ease; }
.tf-shop-control .tf-btn-filter:hover .icon{ transform:scale(1.08); }

/* Sort Dropdown */
.tf-shop-control .tf-control-sorting{ min-width:0; }
.tf-shop-control .tf-dropdown-sort{ position:relative; min-width:220px; max-width:100%; }
.tf-shop-control .tf-dropdown-sort .btn-select{ height:100%; padding:0 16px 0 18px; gap:12px; }
.tf-shop-control .tf-dropdown-sort .text-sort-value{ min-width:0; font-size:14px; line-height:1.3; font-weight:500; color:var(--main); }
.tf-shop-control .tf-dropdown-sort .btn-select .icon{ flex:0 0 auto; font-size:8px; color:#555; transition:transform .25s ease; }
.tf-shop-control .tf-dropdown-sort.show .btn-select .icon{ transform:rotate(180deg); }

/* Sort Menu */
.tf-shop-control .tf-dropdown-sort .dropdown-menu{
    min-width:100%; margin:8px 0 0 !important; padding:6px;
    border:1px solid var(--line); border-radius:10px; box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.tf-shop-control .tf-dropdown-sort .select-item{
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    padding:0 12px; line-height:38px; border-radius:6px;
    font-size:14px; font-weight:400; color:#444; white-space:nowrap;
    transition:background-color .2s ease, color .2s ease;
}
.tf-shop-control .tf-dropdown-sort .select-item::before{ display:none; }
.tf-shop-control .tf-dropdown-sort .select-item::after{ content:none; }
.tf-shop-control .tf-dropdown-sort .select-item:hover{ background-color:#f5f7fa; color:var(--main); }
.tf-shop-control .tf-dropdown-sort .select-item.active{ background-color:rgba(0, 56, 105, .07); color:var(--main); font-weight:500; }
.tf-shop-control .tf-dropdown-sort .select-item.active::after{
    content:"\e911"; position:static; width:auto; height:auto;
    font-family:"icomoon"; font-size:9px; color:var(--main); background-color:transparent;
}

/* Responsive */
@media (max-width: 575px)
{
    .tf-shop-control{ gap:10px; }
    .tf-shop-control .tf-btn-filter,
    .tf-shop-control .tf-dropdown-sort{ height:40px; }
    .tf-shop-control .tf-btn-filter{ padding:0 14px; gap:8px; font-size:13px; }
    .tf-shop-control .tf-btn-filter .icon{ font-size:14px; }
    .tf-shop-control .tf-dropdown-sort{ min-width:0; width:100%; max-width:190px; }
    .tf-shop-control .tf-dropdown-sort .btn-select{ padding:0 12px 0 14px; gap:8px; }
    .tf-shop-control .tf-dropdown-sort .text-sort-value{ font-size:13px; }
    .tf-shop-control .tf-dropdown-sort .dropdown-menu{ min-width:200px; }
}


/* ===== Shop: Filter Drawer ===== */
/* Filter Drawer Layout */
#filterShop{ box-shadow:10px 0 40px rgba(0,0,0,.12); }
#filterShop .canvas-wrapper{ background-color:#f7f8fa; }

/* Header + Close Button (matches the Cart drawer) */
#filterShop .canvas-header{ padding:0 24px; min-height:72px; background-color:#fff; border-bottom:1px solid #eee; }
#filterShop .canvas-header .filter-icon{ gap:10px; font-size:18px; font-weight:500; line-height:1.3; text-transform:none; color:var(--main); cursor:default; }
#filterShop .canvas-header .filter-icon .icon{
    width:34px; height:34px; border-radius:50%;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:14px; color:var(--main); background-color:rgba(0, 56, 105, .08);
}
#filterShop .canvas-header .icon-close-popup{
    flex:0 0 36px; width:36px; height:36px; padding:0; border-radius:50%;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:13px; color:#555; background-color:#f2f2f2;
    cursor:pointer; transition:background-color .2s ease, color .2s ease, transform .2s ease;
}
#filterShop .canvas-header .icon-close-popup:hover{ background-color:#222; color:#fff; transform:rotate(90deg); }

/* Body */
#filterShop .canvas-body{ padding:20px 24px; background-color:#f7f8fa; }

/* Filter Cards */
#filterShop .widget-facet,
#filterShop .widget-facet.wd-categories,
#filterShop .widget-facet:not(:last-child){
    margin:0 0 14px; overflow:hidden;
    background-color:#fff; border:1px solid var(--line); border-radius:10px;
    box-shadow:0 1px 3px rgba(0,0,0,.03);
    transition:border-color .25s ease, box-shadow .25s ease;
}
#filterShop .widget-facet:last-child{ margin-bottom:0; }
#filterShop .widget-facet:hover{ border-color:rgba(0, 56, 105, .2); box-shadow:rgba(0, 56, 105, .06) 0px 4px 14px; }

/* Card Heading */
#filterShop .widget-facet .facet-title{
    margin:0; padding:14px 16px; gap:12px;
    font-size:15px; line-height:1.4; font-weight:600; color:var(--main);
    user-select:none; transition:background-color .2s ease;
}
#filterShop .widget-facet .facet-title:not(.collapsed){ border-bottom:1px solid #f0f0f0; }
#filterShop .widget-facet .facet-title:hover{ background-color:#fafbfc; }
#filterShop .widget-facet .facet-title .icon{
    flex:0 0 26px; width:26px; height:26px; border-radius:50%;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:8px; color:#555; background-color:#f2f2f2;
    transition:transform .3s ease, background-color .2s ease, color .2s ease;
}
#filterShop .widget-facet .facet-title:hover .icon{ background-color:var(--main); color:#fff; }

/* Option Lists (padding sits on the lists, not the collapse wrapper, so the toggle animation stays smooth) */
#filterShop .widget-facet .list-categoris,
#filterShop .widget-facet .tf-filter-group{ margin:0; padding:10px 10px 12px; }
#filterShop .widget-facet .current-scrollbar{ max-height:260px; margin-right:0; }
#filterShop .widget-facet .current-scrollbar::-webkit-scrollbar{ width:4px; }
#filterShop .widget-facet .current-scrollbar::-webkit-scrollbar-track{ background-color:transparent; }
#filterShop .widget-facet .current-scrollbar::-webkit-scrollbar-thumb{ background-color:#d5d9df; border-radius:4px; }

/* Option Rows */
#filterShop .widget-facet .cate-item,
#filterShop .widget-facet .cate-item:not(:first-child),
#filterShop .widget-facet .list-item:not(:first-child){ margin:0; }
#filterShop .widget-facet .cate-item > .d-flex,
#filterShop .widget-facet .list-item{
    margin:1px 0; padding:7px 8px; gap:10px !important; border-radius:6px;
    transition:background-color .2s ease;
}
#filterShop .widget-facet .cate-item > .d-flex:hover,
#filterShop .widget-facet .list-item:hover{ background-color:#f5f7fa; }
#filterShop .widget-facet .cate-item ul{ margin-top:2px !important; }
#filterShop .widget-facet .cate-item label,
#filterShop .widget-facet .list-item .label{
    flex:1 1 auto; min-width:0; margin:0;
    font-size:14px; line-height:1.4; font-weight:400; color:#444;
    cursor:pointer; word-break:break-word; transition:color .2s ease;
}

/* Checkbox */
#filterShop .tf-check{
    flex:0 0 18px; width:18px; height:18px; min-width:18px; margin:0;
    border:1.5px solid #c5cbd3; border-radius:4px; background-color:#fff;
    transition:border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
#filterShop .tf-check:hover{ border-color:var(--main); }
#filterShop .tf-check:focus-visible{ box-shadow:0 0 0 3px rgba(0, 56, 105, .18); }
#filterShop .tf-check:checked{ border-color:var(--main); background-color:var(--main); }

/* Selected State */
#filterShop .widget-facet .tf-check:checked + label,
#filterShop .widget-facet .tf-check:checked + .label{ font-weight:500; color:var(--main); }
#filterShop .widget-facet .cate-item > .d-flex:has(.tf-check:checked),
#filterShop .widget-facet .list-item:has(.tf-check:checked){ background-color:rgba(0, 56, 105, .06); }

/* Responsive */
@media (max-width: 575px)
{
    #filterShop .canvas-header{ padding:0 18px; min-height:62px; }
    #filterShop .canvas-header .filter-icon{ font-size:17px; }
    #filterShop .canvas-header .filter-icon .icon{ width:30px; height:30px; font-size:13px; }
    #filterShop .canvas-header .icon-close-popup{ flex-basis:32px; width:32px; height:32px; }
    #filterShop .canvas-body{ padding:16px; }
    #filterShop .widget-facet .facet-title{ padding:12px 14px; font-size:14px; }
    #filterShop .widget-facet .list-categoris,
    #filterShop .widget-facet .tf-filter-group{ padding:8px 8px 10px; }
    #filterShop .widget-facet .current-scrollbar{ max-height:220px; }
}


/* ===== Cart: Items Card ===== */
.tf-page-cart-item{
    padding:6px 24px; background-color:#fff;
    border:1px solid var(--line); border-radius:12px; box-shadow:0 1px 3px rgba(0,0,0,.03);
}
.tf-page-cart-item .tf-table-page-cart{ margin-bottom:0; }

/* Table Head */
.tf-page-cart-item .tf-table-page-cart th{
    padding:16px 10px; font-size:13px; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
    color:#888; border-bottom:1px solid #eee;
}
.tf-page-cart-item .tf-table-page-cart th:first-child{ padding-inline-start:0; }
.tf-page-cart-item .tf-table-page-cart th:last-child{ padding-inline-end:0; }

/* Rows */
.tf-page-cart-item .tf-table-page-cart tr.tf-cart-item{ border-bottom:1px solid #f0f0f0; }
.tf-page-cart-item .tf-table-page-cart tbody tr:last-child{ border-bottom:0; }
.tf-page-cart-item .tf-table-page-cart td{ padding:20px 10px; vertical-align:middle; }
.tf-page-cart-item .tf-table-page-cart td:first-child{ padding-inline-start:0; }
.tf-page-cart-item .tf-table-page-cart td:last-child{ padding-inline-end:0; }

/* Empty State */
.tf-page-cart-item .sp-cart-product td{ padding:48px 0; font-size:15px; color:#888; }

/* Product Cell (fixed image box, never cropped or stretched) */
.tf-page-cart-item .tf-cart-item .tf-cart-item_product{ align-items:center; }
.tf-page-cart-item .tf-cart-item .tf-cart-item_product .img-box{
    flex:0 0 88px; width:88px; height:88px; max-height:none; padding:6px; margin:0; margin-inline-end:18px;
    display:flex; align-items:center; justify-content:center;
    background-color:#fff; border:1px solid var(--line); border-radius:8px; overflow:hidden;
}
.tf-page-cart-item .tf-cart-item .img-box img{ width:100%; height:100%; object-fit:contain; object-position:center; display:block; }

.tf-page-cart-item .tf-cart-item .cart-info{ min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.tf-page-cart-item .tf-cart-item .tf-cart-item_product .cart-info .cart-title{
    font-size:15px; line-height:1.4; font-weight:500; color:var(--main); word-break:break-word;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.tf-page-cart-item .tf-cart-item .tf-cart-item_product .cart-info .cart-meta-variant{ margin:0; font-size:12px; line-height:1.4; color:#888; }
.tf-page-cart-item .tf-cart-item .cart-info small{ margin:0 !important; font-size:12px; line-height:1.4; }

/* Remove (matches the Cart drawer remove link) */
.tf-page-cart-item .tf-cart-item .tf-cart-item_product .cart-info .remove-cart{
    display:inline-flex; align-items:center; margin:0; margin-inline-start:-8px; padding:5px 8px; border-radius:6px;
    font-size:12px; line-height:1; color:#888; text-decoration:none;
    cursor:pointer; transition:color .2s ease, background-color .2s ease;
}
.tf-page-cart-item .tf-cart-item .tf-cart-item_product .cart-info .remove-cart:hover{ color:#d9363e; background-color:#fdf1f1; }

/* Clickable Product Area (opens Product Detail); Remove keeps its own action */
.tf-page-cart-item .tf-cart-item .tf-cart-item_product{ cursor:pointer; }
.tf-page-cart-item .tf-cart-item .tf-cart-item_product:hover .cart-info .cart-title{ text-decoration:underline; text-underline-offset:3px; }

/* Price / Total */
.tf-page-cart-item .tf-cart-item .cart-price,
.tf-page-cart-item .tf-cart-item .cart-total,
.tf-page-cart-item .tf-cart-item .cart-quantity{ align-items:center; }
.tf-page-cart-item .tf-cart-item .cart-price{ font-size:15px; color:#555; white-space:nowrap; }
.tf-page-cart-item .tf-cart-item .cart-total{ font-size:15px; font-weight:600; color:var(--main); white-space:nowrap; }

/* Quantity */
.tf-page-cart-item .tf-cart-item .wg-quantity{
    width:108px; min-width:108px; height:38px;
    background-color:#fff; border:1px solid #dcdfe4; border-radius:8px;
}
.tf-page-cart-item .tf-cart-item .wg-quantity .btn-quantity{
    width:34px; height:36px; line-height:1; user-select:none; transition:background-color .2s ease, color .2s ease;
}
.tf-page-cart-item .tf-cart-item .wg-quantity .btn-quantity:hover{ color:var(--main); background-color:#f5f7fa; }
.tf-page-cart-item .tf-cart-item .wg-quantity input{ width:38px; height:36px; font-size:14px; font-weight:600; }


/* ===== Cart: Summary Card ===== */
.tf-page-cart-checkout{
    padding:26px 28px; background-color:#fff;
    border:1px solid var(--line); border-radius:12px; box-shadow:0 6px 24px rgba(0, 56, 105, .06);
}
.tf-page-cart-checkout .tf-cart-totals-discounts{ margin-top:0; padding-bottom:20px; gap:12px; border-bottom:1px solid #eee; }
.tf-page-cart-checkout .tf-cart-totals-discounts h3{ margin:0; font-size:17px; line-height:1.3; font-weight:500; color:#555; }
.tf-page-cart-checkout .tf-cart-totals-discounts .total-value{ font-size:22px; line-height:1.3; font-weight:600; color:var(--main); white-space:nowrap; }
.tf-page-cart-checkout .cart-checkout-btn{ margin-top:20px; }
.tf-page-cart-checkout .cart-checkout-btn .tf-btn{
    height:50px; padding:0 24px; border-radius:8px !important;
    font-size:15px; font-weight:500; box-shadow:0 4px 14px rgba(0, 56, 105, .18);
}
.tf-page-cart-checkout .tf-page-cart_imgtrust{ margin-top:14px; }
.tf-page-cart-checkout .tf-page-cart_imgtrust p{ margin:0; font-size:13px; line-height:1.4; color:#888; }


/* ===== Cart: Tablet (summary drops below the items) ===== */
@media (min-width: 768px) and (max-width: 1149px)
{
    .tf-page-cart-footer .tf-cart-footer-inner{ max-width:440px; margin-inline-start:auto; }
}


/* ===== Cart: Mobile, each item becomes its own card ===== */
@media (max-width: 767px)
{
    .tf-page-cart-item{ padding:0; background-color:transparent; border:0; border-radius:0; box-shadow:none; }

    .tf-page-cart-item .tf-table-page-cart tr.tf-cart-item,
    .tf-page-cart-item .tf-table-page-cart tbody tr:last-child.tf-cart-item{
        margin-bottom:12px; padding:10px 14px; padding-inline-start:110px; min-height:0;
        background-color:#fff; border:1px solid var(--line); border-radius:12px;
        box-shadow:0 1px 3px rgba(0,0,0,.03);
    }
    .tf-page-cart-item .tf-table-page-cart td,
    .tf-page-cart-item .tf-table-page-cart td:first-child,
    .tf-page-cart-item .tf-table-page-cart td:last-child{ padding:8px 0; }
    .tf-page-cart-item .tf-cart-item td:not(:last-child){ border-bottom:1px solid #f3f3f3; }
    .tf-page-cart-item .tf-cart-item td[cart-data-title]:before{ font-size:13px; font-weight:500; color:#888; }

    .tf-page-cart-item .tf-cart-item .tf-cart-item_product .img-box{
        position:absolute; top:14px; inset-inline-start:14px; width:82px; height:82px; margin:0;
    }
    .tf-page-cart-item .tf-cart-item .tf-cart-item_product .cart-info .cart-title{ font-size:14px; }
    .tf-page-cart-item .tf-cart-item .cart-price,
    .tf-page-cart-item .tf-cart-item .cart-total{ font-size:14px; }
    .tf-page-cart-item .tf-cart-item .wg-quantity{ width:100px; min-width:100px; height:36px; }
    .tf-page-cart-item .tf-cart-item .wg-quantity .btn-quantity{ width:32px; height:34px; }
    .tf-page-cart-item .tf-cart-item .wg-quantity input{ width:34px; height:34px; }

    .tf-page-cart-item .sp-cart-product{ display:block; background-color:#fff; border:1px solid var(--line); border-radius:12px; }
    .tf-page-cart-item .sp-cart-product td{ display:block; padding:40px 16px; }

    .tf-page-cart-checkout{ padding:20px 18px; }
    .tf-page-cart-checkout .tf-cart-totals-discounts h3{ font-size:16px; }
    .tf-page-cart-checkout .tf-cart-totals-discounts .total-value{ font-size:20px; }
    .tf-page-cart-checkout .cart-checkout-btn .tf-btn{ height:48px; }
}


/* ===== Checkout: Layout ===== */
#checkout-form .tf-page-cart-wrap.layout-2 > .tf-page-cart-item{ align-self:start; }
#checkout-form .tf-page-cart-footer .tf-cart-footer-inner{ max-width:none; margin-inline-start:0; }

/* Shared Card Look (Billing Details + Your Order) */
#checkout-form .tf-page-cart-item,
#checkout-form .tf-cart-footer-inner{
    padding:28px; background-color:#fff;
    border:1px solid var(--line); border-radius:12px; box-shadow:0 1px 3px rgba(0,0,0,.03);
}
#checkout-form .tf-cart-footer-inner{ box-shadow:0 6px 24px rgba(0, 56, 105, .06); }

/* Card Headings */
#checkout-form .tf-page-cart-item > h5,
#checkout-form .tf-cart-footer-inner > h5{
    margin-bottom:22px; padding-bottom:16px; border-bottom:1px solid #eee;
    font-size:18px; line-height:1.3; font-weight:500; color:var(--main);
}


/* ===== Checkout: Billing Form ===== */
#checkout-form .form-checkout{ display:flex; flex-direction:column; gap:18px; }
#checkout-form .form-checkout .box,
#checkout-form .form-checkout .box:not(:last-child){ margin:0; }
#checkout-form .form-checkout .grid-2{ gap:18px 20px; }
#checkout-form .form-checkout .fieldset{ min-width:0; }

/* Labels */
#checkout-form .form-checkout label{
    display:block; margin-bottom:8px;
    font-size:13px; line-height:1.4; font-weight:500; color:#555;
}
#checkout-form .form-checkout label::after{ content:"" !important; }
#checkout-form .form-checkout label .reqstar{
    display:inline-block; margin-inline-end:3px;
    font-size:15px; line-height:1; font-weight:700; vertical-align:-1px;
    color:#e02424 !important;
}
#checkout-form .error-msg{ font-size:12px; font-weight:400; }

/* Inputs, Selects, Textarea */
#checkout-form .form-checkout input,
#checkout-form .form-checkout .tf-select,
#checkout-form .form-checkout textarea{
    height:48px; padding:0 16px; border:1px solid #dcdfe4; border-radius:8px;
    font-size:14px; line-height:1.4; color:#222; background-color:#fff;
    transition:border-color .2s ease, box-shadow .2s ease;
}
#checkout-form .form-checkout textarea{ height:auto; min-height:110px; padding:12px 16px; resize:vertical; }
#checkout-form .form-checkout .tf-select{ padding-inline-end:36px; cursor:pointer; }
#checkout-form .form-checkout input:hover,
#checkout-form .form-checkout .tf-select:hover,
#checkout-form .form-checkout textarea:hover{ border-color:#c5cbd3; }
#checkout-form .form-checkout input:focus,
#checkout-form .form-checkout .tf-select:focus,
#checkout-form .form-checkout textarea:focus{ border-color:var(--main); box-shadow:0 0 0 3px rgba(0, 56, 105, .12); outline:0; }
#checkout-form .form-checkout .tf-select:disabled{ background-color:#f5f7fa; cursor:wait; }

/* Select Arrow (kept above the white card, works in RTL) */
#checkout-form .form-checkout .select-custom::after{
    right:auto; inset-inline-end:16px; z-index:1; pointer-events:none; color:#888;
}

/* Select2 (if attached to checkout selects) */
#checkout-form .select2-container .select2-selection--single{ height:48px !important; border-color:#dcdfe4; border-radius:8px; }
#checkout-form .select2-container--default .select2-selection--single .select2-selection__rendered{ line-height:46px !important; padding-inline-start:16px; }
#checkout-form .select2-container--default .select2-selection--single .select2-selection__arrow{ height:46px !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected]{ background-color:#003869; }


/* ===== Checkout: Order Summary ===== */
#checkout-form .widget-wrap-checkout{
    display:block; padding:0; background-color:transparent; border:0; border-radius:0; box-shadow:none;
}

/* Ordered Items */
#checkout-form .wrap-checkout-product{ margin:0 0 20px; padding:4px 0 20px; border-bottom:1px solid #eee; }
#checkout-form .checkout-product-item{ gap:14px; }
#checkout-form .checkout-product-item:not(:last-child){ margin-bottom:16px; }
#checkout-form .checkout-product-item .img-product{
    flex:0 0 64px; width:64px; height:64px; margin:0; padding:4px;
    background-color:#fff; border:1px solid var(--line); border-radius:8px;
}
#checkout-form .checkout-product-item .img-product img{ border-radius:4px; }
#checkout-form .checkout-product-item .img-product .quantity{
    top:-8px; right:auto; inset-inline-end:-8px; width:22px; height:22px;
    font-size:11px; font-weight:600; border:2px solid #fff;
}
#checkout-form .checkout-product-item .content{ min-width:0; gap:12px; }
#checkout-form .checkout-product-item .info{ min-width:0; display:flex; flex-direction:column; gap:4px; }
#checkout-form .checkout-product-item .name{
    margin:0; font-size:14px; line-height:1.4; font-weight:500; color:var(--main); word-break:break-word;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
#checkout-form .checkout-product-item .variant{ color:#888; }
#checkout-form .checkout-product-item .price{ flex-shrink:0; font-size:14px; font-weight:600; color:var(--main); white-space:nowrap; }

/* Coupon */
#checkout-form .coupon-box{ display:flex; gap:10px; margin-bottom:20px; }
#checkout-form .coupon-box input{
    flex:1 1 auto; min-width:0; height:46px; padding:0 16px; border:1px solid #dcdfe4; border-radius:8px;
    font-size:14px; transition:border-color .2s ease, box-shadow .2s ease;
}
#checkout-form .coupon-box input:focus{ border-color:var(--main); box-shadow:0 0 0 3px rgba(0, 56, 105, .12); }
#checkout-form .coupon-box .tf-btn{ height:46px; padding:0 22px; border-radius:8px !important; justify-content:center; }
#checkout-form #coupon-message{ display:none; margin:-10px 0 16px; padding-inline-start:4px; font-size:13px; line-height:1.4; }
#checkout-form #coupon-message > span{ color:green; }

/* Amount Rows */
#checkout-form .widget-wrap-checkout > .d-flex.line{ align-items:center; gap:12px; padding:7px 0; border-bottom:0; }
#checkout-form .widget-wrap-checkout > .d-flex.line h6{ margin:0; font-size:14px; line-height:1.5; color:#555; }
#checkout-form .widget-wrap-checkout > .d-flex.line h6:last-child{ color:#222; white-space:nowrap; }
#checkout-form .widget-wrap-checkout > .d-flex.line h6.text-danger{ color:#d9363e !important; }

/* Grand Total */
#checkout-form .widget-wrap-checkout > .d-flex.line:has(#TotalAmount){
    margin-top:10px; padding:16px 0 18px; border-top:1px solid #eee; border-bottom:1px solid #eee;
}
#checkout-form .widget-wrap-checkout > .d-flex.line h6:has(+ #TotalAmount){ font-size:16px; font-weight:500; color:#222; }
#checkout-form #TotalAmount{ font-size:22px; line-height:1.3; font-weight:600; color:var(--main); }

/* Payment Modes (selectable tiles) */
#checkout-form .wd-check-payment{ margin-top:20px; }
#checkout-form .wd-check-payment > .error-msg{ margin-bottom:10px; }
#checkout-form .wd-check-payment .fieldset-radio:not(.box-checkbox){
    position:relative; gap:12px; margin-bottom:10px !important; padding:14px 16px;
    border:1px solid #dcdfe4; border-radius:8px; background-color:#fff;
    transition:border-color .2s ease, background-color .2s ease;
}
#checkout-form .wd-check-payment .fieldset-radio:not(.box-checkbox):hover{ border-color:#c5cbd3; }
#checkout-form .wd-check-payment .fieldset-radio:not(.box-checkbox):has(input:checked){
    border-color:var(--main); background-color:rgba(0, 56, 105, .04);
}
#checkout-form .wd-check-payment .fieldset-radio:not(.box-checkbox) label{
    flex:1 1 auto; margin:0; font-size:14px; line-height:1.4; cursor:pointer;
}
/* Whole tile is clickable (label stretched over it) */
#checkout-form .wd-check-payment .fieldset-radio:not(.box-checkbox) label::before{ content:""; position:absolute; inset:0; }
#checkout-form .wd-check-payment .fieldset-radio:not(.box-checkbox) input:checked ~ label{ font-weight:500; }
#checkout-form .wd-check-payment .fieldset-radio input{ flex:0 0 auto; margin:0; }
#checkout-form .wd-check-payment .tf-check:focus-visible{ box-shadow:0 0 0 3px rgba(0, 56, 105, .18); }

/* Terms */
#checkout-form .wd-check-payment .box-checkbox{ align-items:flex-start; gap:10px; margin:18px 0 20px !important; }
#checkout-form .wd-check-payment .box-checkbox input{ margin-top:2px; }
#checkout-form .wd-check-payment .box-checkbox label{ margin:0; font-size:13px; line-height:1.5; cursor:pointer; }
#checkout-form .wd-check-payment .box-checkbox label a{ color:var(--main); font-weight:500; text-decoration:underline; text-underline-offset:3px; }
#checkout-form .wd-check-payment .box-checkbox label .error-msg{ margin:4px 0 0; }

/* Place Order */
#checkout-form .widget-wrap-checkout > .tf-btn[type="submit"]{
    width:100%; height:52px; padding:0 24px; border-radius:8px !important;
    font-size:15px; font-weight:500; box-shadow:0 4px 14px rgba(0, 56, 105, .18);
}


/* ===== Checkout: Tablet & below (summary drops below the form) ===== */
@media (max-width: 1149px)
{
    #checkout-form .tf-page-cart-footer{ margin-top:24px; }
}


/* ===== Checkout: Mobile ===== */
@media (max-width: 767px)
{
    #checkout-form .tf-page-cart-item,
    #checkout-form .tf-cart-footer-inner{ padding:20px 18px; }
    #checkout-form .tf-page-cart-item{ background-color:#fff; border:1px solid var(--line); border-radius:12px; }
    #checkout-form .tf-page-cart-item > h5,
    #checkout-form .tf-cart-footer-inner > h5{ margin-bottom:18px; padding-bottom:14px; font-size:17px; }
    #checkout-form .form-checkout,
    #checkout-form .form-checkout .grid-2{ gap:16px; }
    #checkout-form .form-checkout input,
    #checkout-form .form-checkout .tf-select{ height:46px; }
    #checkout-form .coupon-box input,
    #checkout-form .coupon-box .tf-btn{ height:44px; }
    #checkout-form #TotalAmount{ font-size:20px; }
    #checkout-form .widget-wrap-checkout > .tf-btn[type="submit"]{ height:50px; }
}


/* ===== Contact: Map ===== */
.w-100:has(+ .contact-v2) iframe{ display:block; height:400px; }


/* ===== Contact: Layout ===== */
.contact-v2{ padding-top:56px; padding-bottom:80px; background-color:#f7f8fa; }
.contact-v2 .tf-grid-layout.lg-col-2{ gap:24px; align-items:start; }
@media (min-width: 992px)
{
    .contact-v2 .tf-grid-layout.lg-col-2{ grid-template-columns:5fr 7fr; gap:30px; }
}

/* Shared Card Look (Quick Contact + Get in Touch) */
.contact-v2 .tf-content-left,
.contact-v2 .tf-content-right{
    min-width:0; margin:0 !important; padding:28px; background-color:#fff;
    border:1px solid var(--line); border-radius:12px; box-shadow:0 1px 3px rgba(0,0,0,.03);
}
.contact-v2 .tf-content-right{ box-shadow:0 6px 24px rgba(0, 56, 105, .06); }

/* Card Headings */
.contact-v2 .tf-content-left > h5,
.contact-v2 .tf-content-right > h5{
    margin-bottom:22px; padding-bottom:16px; border-bottom:1px solid #eee;
    font-size:18px; line-height:1.3; font-weight:500; color:var(--main);
}


/* ===== Contact: Quick Contact Info ===== */
.contact-v2 .tf-content-left > .mb_20{
    margin:0; padding:16px 0; border-bottom:1px solid #f0f0f0;
}
.contact-v2 .tf-content-left > h5 + .mb_20{ padding-top:0; }
.contact-v2 .tf-content-left > .mb_20 .mb_15{ margin-bottom:6px; }
.contact-v2 .tf-content-left > .mb_20 strong{
    font-size:12px; line-height:1.4; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#888;
}
.contact-v2 .tf-content-left > .mb_20 p:not(.mb_15),
.contact-v2 .tf-content-left > .mb_20 a{
    font-size:15px; line-height:1.6; color:#222; word-break:break-word;
}
.contact-v2 .tf-content-left > .mb_20 a{ transition:color .2s ease; }
.contact-v2 .tf-content-left > .mb_20 a:hover{ color:var(--main); }

/* Social Icons */
.contact-v2 .tf-content-left > div:last-child{ padding-top:20px; }
.contact-v2 .tf-social-icon.style-default{ gap:12px !important; }
.contact-v2 .tf-social-icon.style-default li a{
    width:42px; height:42px; border:1px solid #dcdfe4 !important; color:var(--main);
    transition:border-color .2s ease, background-color .2s ease, color .2s ease;
}
.contact-v2 .tf-social-icon.style-default li a:hover{
    border-color:var(--main) !important; background-color:var(--main) !important; color:#fff;
}


/* ===== Contact: Get in Touch Form ===== */
.contact-v2 .tf-content-right > h5 + p{ margin-bottom:22px; font-size:14px; line-height:1.6; color:#666; }
.contact-v2 .tf-content-right .alert{ margin:0 0 20px !important; padding:12px 16px; border-radius:8px; font-size:14px; }

.contact-v2 .form-contact{ display:flex; flex-direction:column; gap:18px; }
.contact-v2 .form-contact > .d-flex,
.contact-v2 .form-contact > .mb_15{ margin:0; }
.contact-v2 .form-contact > .d-flex{ gap:20px !important; }
.contact-v2 .form-contact fieldset{ min-width:0; margin:0; }

/* Labels */
.contact-v2 .form-contact label{
    display:block; margin-bottom:8px;
    font-size:13px; line-height:1.4; font-weight:500; color:#555;
}
.contact-v2 .form-contact label .reqstar{
    display:inline-block; margin-inline-end:3px;
    font-size:15px; line-height:1; font-weight:700; vertical-align:-1px;
    color:#e02424 !important;
}
.contact-v2 .form-contact label .text-danger:not(.reqstar){ font-size:12px; font-weight:400; }

/* Inputs + Textarea */
.contact-v2 .form-contact input,
.contact-v2 .form-contact textarea{
    width:100%; height:48px; padding:0 16px; border:1px solid #dcdfe4; border-radius:8px;
    font-size:14px; line-height:1.4; color:#222; background-color:#fff;
    transition:border-color .2s ease, box-shadow .2s ease;
}
.contact-v2 .form-contact textarea{ display:block; height:160px; min-height:120px; padding:12px 16px; resize:vertical; }
.contact-v2 .form-contact input:hover,
.contact-v2 .form-contact textarea:hover{ border-color:#c5cbd3; }
.contact-v2 .form-contact input:focus,
.contact-v2 .form-contact textarea:focus{ border-color:var(--main); box-shadow:0 0 0 3px rgba(0, 56, 105, .12); outline:0; }

/* Send Button */
.contact-v2 .form-contact .send-wrap{ margin-top:4px; }
.contact-v2 .form-contact .send-wrap .tf-btn{
    height:52px; padding:0 24px; border-radius:8px !important;
    font-size:15px; font-weight:500; box-shadow:0 4px 14px rgba(0, 56, 105, .18);
}


/* ===== Contact: Tablet ===== */
@media (max-width: 991px)
{
    .contact-v2{ padding-top:40px; padding-bottom:60px; }
    .w-100:has(+ .contact-v2) iframe{ height:320px; }
}


/* ===== Contact: Mobile ===== */
@media (max-width: 767px)
{
    .contact-v2{ padding-top:24px; padding-bottom:40px; }
    .contact-v2 .tf-grid-layout.lg-col-2{ gap:16px; }
    .contact-v2 .tf-content-left,
    .contact-v2 .tf-content-right{ padding:20px 18px; }
    .contact-v2 .tf-content-left > h5,
    .contact-v2 .tf-content-right > h5{ margin-bottom:18px; padding-bottom:14px; font-size:17px; }
    .contact-v2 .form-contact{ gap:16px; }
    .contact-v2 .form-contact > .d-flex{ flex-direction:column; gap:16px !important; }
    .contact-v2 .form-contact input{ height:46px; }
    .contact-v2 .form-contact textarea{ height:140px; }
    .contact-v2 .form-contact .send-wrap .tf-btn{ height:50px; }
    .w-100:has(+ .contact-v2) iframe{ height:260px; }
}


/* ===== Policy Pages (Privacy Policy + Terms & Conditions): Page Title ===== */
.tf-page-title:has(+ .policy-v2){ padding:56px 0; }
.tf-page-title:has(+ .policy-v2) .heading{ font-size:38px; line-height:1.25; font-weight:500; color:var(--main); }


/* ===== Policy Pages (Privacy Policy + Terms & Conditions): Layout ===== */
.policy-v2{ padding:56px 0 80px; background-color:#f7f8fa; }

/* Content Card */
.policy-v2 .privacypolicy{
    max-width:880px; margin:0 auto !important; padding:40px 44px;
    background-color:#fff; border:1px solid var(--line); border-radius:12px;
    box-shadow:0 6px 24px rgba(0, 56, 105, .06);
    font-size:15px; line-height:1.8; color:#444; word-break:break-word;
}


/* ===== Policy Pages (Privacy Policy + Terms & Conditions): Typography ===== */
/* Editor content sets inline font sizes; keep one consistent scale */
.policy-v2 .privacypolicy [style*="font-size"]{ font-size:inherit !important; }
.policy-v2 .privacypolicy > :first-child{ margin-top:0 !important; }
.policy-v2 .privacypolicy > :last-child{ margin-bottom:0 !important; }

/* Headings: each section separated by a divider */
.policy-v2 .privacypolicy h1,
.policy-v2 .privacypolicy h2,
.policy-v2 .privacypolicy h3,
.policy-v2 .privacypolicy h4,
.policy-v2 .privacypolicy h5,
.policy-v2 .privacypolicy h6{
    margin:32px 0 12px; padding-top:28px; border-top:1px solid #eee;
    font-size:19px; line-height:1.4; font-weight:600; color:var(--main);
}
.policy-v2 .privacypolicy h4,
.policy-v2 .privacypolicy h5,
.policy-v2 .privacypolicy h6{ margin-top:22px; padding-top:0; border-top:0; font-size:16px; }
.policy-v2 .privacypolicy > h1:first-child,
.policy-v2 .privacypolicy > h2:first-child,
.policy-v2 .privacypolicy > h3:first-child{ padding-top:0; border-top:0; }
.policy-v2 .privacypolicy h1 strong,
.policy-v2 .privacypolicy h2 strong,
.policy-v2 .privacypolicy h3 strong,
.policy-v2 .privacypolicy h4 strong,
.policy-v2 .privacypolicy h5 strong,
.policy-v2 .privacypolicy h6 strong{ font-weight:inherit; }

/* Paragraphs, Lists, Links */
.policy-v2 .privacypolicy p{ margin:0 0 14px; }
.policy-v2 .privacypolicy strong{ font-weight:600; color:#222; }
.policy-v2 .privacypolicy ul,
.policy-v2 .privacypolicy ol{ margin:0 0 16px; padding-inline-start:22px; }
.policy-v2 .privacypolicy ul{ list-style:disc; }
.policy-v2 .privacypolicy ol{ list-style:decimal; }
.policy-v2 .privacypolicy li{ margin-bottom:6px; padding-inline-start:4px; }
.policy-v2 .privacypolicy li::marker{ color:var(--main); }
.policy-v2 .privacypolicy a{
    color:var(--main); font-weight:500; text-decoration:underline; text-underline-offset:3px;
}
.policy-v2 .privacypolicy a:hover{ text-decoration-thickness:2px; }


/* ===== Policy Pages (Privacy Policy + Terms & Conditions): Tablet ===== */
@media (max-width: 991px)
{
    .tf-page-title:has(+ .policy-v2){ padding:44px 0; }
    .tf-page-title:has(+ .policy-v2) .heading{ font-size:32px; }
    .policy-v2{ padding:40px 0 60px; }
    .policy-v2 .privacypolicy{ padding:32px 30px; }
}


/* ===== Policy Pages (Privacy Policy + Terms & Conditions): Mobile ===== */
@media (max-width: 767px)
{
    .tf-page-title:has(+ .policy-v2){ padding:32px 0; }
    .tf-page-title:has(+ .policy-v2) .heading{ font-size:26px; }
    .policy-v2{ padding:24px 0 40px; }
    .policy-v2 .privacypolicy{ padding:22px 18px; font-size:14px; line-height:1.75; }
    .policy-v2 .privacypolicy h1,
    .policy-v2 .privacypolicy h2,
    .policy-v2 .privacypolicy h3{ margin:24px 0 10px; padding-top:22px; font-size:17px; }
}



/* ===== My Account Orders: Layout ===== */
.orders-v2{ padding-top:56px; padding-bottom:80px; background-color:#f7f8fa; }

/* Orders Card */
.orders-v2 .account-order .wrap-account-order{
    padding:6px 24px; background-color:#fff;
    border:1px solid var(--line); border-radius:12px; box-shadow:0 1px 3px rgba(0,0,0,.03);
}
.orders-v2 .account-order table{ min-width:640px; border-collapse:collapse; }
.orders-v2 .account-order table thead tr,
.orders-v2 .account-order table tbody{ border:0; background-color:transparent; }

/* Table Head */
.orders-v2 .account-order table th{
    padding:16px 10px; font-size:13px; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
    color:#888; text-align:start; white-space:nowrap; border-bottom:1px solid #eee;
}
.orders-v2 .account-order table th:first-child,
.orders-v2 .account-order table td:first-child{ padding-inline-start:0; }
.orders-v2 .account-order table th:last-child,
.orders-v2 .account-order table td:last-child{ padding-inline-end:0; }

/* Rows */
.orders-v2 .account-order table tbody tr:not(:last-child){ border-bottom:1px solid #f0f0f0; }
.orders-v2 .account-order table td{ padding:20px 10px; font-size:14px; line-height:1.5; color:#555; vertical-align:middle; }
.orders-v2 .account-order .col-order{ font-size:15px; font-weight:600; color:var(--main); white-space:nowrap; }
.orders-v2 .account-order .col-date{ white-space:nowrap; }
.orders-v2 .account-order .col-total{ font-size:15px; font-weight:600; color:var(--main); white-space:nowrap; }
.orders-v2 .account-order .col-actions{ width:1%; text-align:end; white-space:nowrap; }

/* Status Badge */
.orders-v2 .account-order .order-status-badge{
    display:inline-flex; align-items:center; padding:5px 12px; border-radius:999px;
    font-size:12px; font-weight:600; line-height:1.3; white-space:nowrap;
    color:var(--main); background-color:rgba(0, 56, 105, .08);
}
.orders-v2 .account-order .order-status-badge.status-6{ color:var(--success); background-color:rgba(49, 165, 109, .1); }
.orders-v2 .account-order .order-status-badge.status-7{ color:#d9363e; background-color:#fdf1f1; }

/* View Button (matches the site's 8px-radius controls) */
.orders-v2 .account-order .order-view-btn{
    min-width:92px; height:38px; padding:0 20px; border-radius:8px;
    font-size:13px; font-weight:500; line-height:38px;
}

/* Empty State */
.orders-v2 .account-order .order-empty td{ padding:48px 0; font-size:15px; color:#888 !important; }


/* ===== My Account Orders: Tablet ===== */
@media (max-width: 991px)
{
    .orders-v2{ padding-top:40px; padding-bottom:60px; }
}


/* ===== My Account Orders: Mobile, each order becomes its own card ===== */
@media (max-width: 767px)
{
    .orders-v2{ padding-top:24px; padding-bottom:40px; }
    .orders-v2 .account-order .wrap-account-order{ padding:0; overflow:visible; background-color:transparent; border:0; border-radius:0; box-shadow:none; }

    .orders-v2 .account-order table,
    .orders-v2 .account-order table tbody,
    .orders-v2 .account-order table tr,
    .orders-v2 .account-order table td{ display:block; width:100%; min-width:0; }
    .orders-v2 .account-order table thead{ display:none; }

    .orders-v2 .account-order table tbody tr.tf-order-item,
    .orders-v2 .account-order table tbody tr.order-empty,
    .orders-v2 .account-order table tbody tr:not(:last-child){
        margin-bottom:12px; padding:6px 16px;
        background-color:#fff; border:1px solid var(--line); border-radius:12px;
        box-shadow:0 1px 3px rgba(0,0,0,.03);
    }

    .orders-v2 .account-order table td,
    .orders-v2 .account-order table td:first-child,
    .orders-v2 .account-order table td:last-child{
        display:flex; align-items:center; justify-content:space-between; gap:12px;
        padding:11px 0; text-align:end;
    }
    .orders-v2 .account-order .tf-order-item td:not(:last-child){ border-bottom:1px solid #f3f3f3; }
    .orders-v2 .account-order td[data-label]:before{
        content:attr(data-label); font-size:13px; font-weight:500; color:#888; text-align:start;
    }
    .orders-v2 .account-order .col-order,
    .orders-v2 .account-order .col-total{ font-size:14px; }
    .orders-v2 .account-order .col-actions{ padding:14px 0 10px !important; }
    .orders-v2 .account-order .order-view-btn{ width:100%; height:44px; line-height:44px; }

    .orders-v2 .account-order .order-empty td{ display:block; padding:40px 16px !important; text-align:center; }
}


/* ===== My Account Details: Layout ===== */
.account-details-v2{ padding-top:56px; padding-bottom:80px; background-color:#f7f8fa; }
.account-details-v2 .account-edit form{ display:flex; flex-direction:column; gap:24px; }

/* Shared Card Look (Personal Information + Address) */
.account-details-v2 .acc-card{
    padding:28px; background-color:#fff;
    border:1px solid var(--line); border-radius:12px; box-shadow:0 1px 3px rgba(0,0,0,.03);
}

/* Card Headings */
.account-details-v2 .acc-card-title{
    margin:0 0 22px; padding-bottom:16px; border-bottom:1px solid #eee;
    font-size:18px; line-height:1.3; font-weight:500; color:var(--main);
}

/* Saved Address (picker sits apart from the address fields) */
.account-details-v2 .acc-saved-address{
    margin-bottom:22px; padding:16px 18px 18px;
    background-color:#f7f8fa; border:1px dashed #dcdfe4; border-radius:10px;
}


/* ===== My Account Details: Form ===== */
.account-details-v2 .account-edit .row.g-3{ --bs-gutter-x:20px; --bs-gutter-y:18px; }

/* Labels */
.account-details-v2 .form-label{
    display:block; margin-bottom:8px;
    font-size:13px; line-height:1.4; font-weight:500; color:#555;
}
.account-details-v2 .form-label > .text-danger:first-child{
    display:inline-block; margin-inline-end:3px;
    font-size:15px; line-height:1; font-weight:700; vertical-align:-1px;
    color:#e02424 !important;
}
.account-details-v2 .error-msg{ font-size:12px; font-weight:400; }

/* Inputs + Selects */
.account-details-v2 .form-control{
    height:48px; padding:0 16px; border:1px solid #dcdfe4; border-radius:8px; box-shadow:none;
    font-size:14px; line-height:1.4; color:#222; background-color:#fff;
    transition:border-color .2s ease, box-shadow .2s ease;
}
.account-details-v2 .form-control::placeholder{ color:#aaa; }
.account-details-v2 .form-control:hover{ border-color:#c5cbd3; }
.account-details-v2 .form-control:focus{ border-color:var(--main); box-shadow:0 0 0 3px rgba(0, 56, 105, .12); outline:0; }

/* Select Arrow (works in RTL) */
.account-details-v2 select.form-control{
    padding-inline-end:40px; cursor:pointer;
    -webkit-appearance:none; -moz-appearance:none; appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23888' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 16px center; background-size:12px 12px;
}
[dir="rtl"] .account-details-v2 select.form-control,
.rtl .account-details-v2 select.form-control{ background-position:left 16px center; }

/* Save Button */
.account-details-v2 .acc-actions{ display:flex; justify-content:flex-end; }
.account-details-v2 .acc-actions .tf-btn{
    min-width:220px; height:50px; padding:0 24px; border-radius:8px !important;
    font-size:15px; font-weight:500; box-shadow:0 4px 14px rgba(0, 56, 105, .18);
}


/* ===== My Account Details: Tablet ===== */
@media (max-width: 991px)
{
    .account-details-v2{ padding-top:40px; padding-bottom:60px; }
    .account-details-v2 .acc-card{ padding:24px 22px; }
}


/* ===== My Account Details: Mobile ===== */
@media (max-width: 767px)
{
    .account-details-v2{ padding-top:24px; padding-bottom:40px; }
    .account-details-v2 .account-edit form{ gap:16px; }
    .account-details-v2 .acc-card{ padding:20px 18px; }
    .account-details-v2 .acc-card-title{ margin-bottom:18px; padding-bottom:14px; font-size:17px; }
    .account-details-v2 .acc-saved-address{ margin-bottom:18px; padding:14px; }
    .account-details-v2 .account-edit .row.g-3{ --bs-gutter-x:14px; --bs-gutter-y:16px; }
    .account-details-v2 .form-control{ height:46px; }
    .account-details-v2 .acc-actions .tf-btn{ width:100%; min-width:0; }
}


/* ===== My Account Order Detail: Layout ===== */
.order-detail-v2{ padding-top:56px; padding-bottom:80px; background-color:#f7f8fa; }
.order-detail-v2 .wd-form-order{ display:flex; flex-direction:column; gap:24px; padding:0; border:0; border-radius:0; }

/* Shared Card Look (Order Header + Order Info + Item Details) */
.order-detail-v2 .order-top,
.order-detail-v2 .order-info,
.order-detail-v2 .order-items{
    margin:0; padding:24px 28px; background-color:#fff;
    border:1px solid var(--line); border-radius:12px; box-shadow:0 1px 3px rgba(0,0,0,.03);
}


/* ===== My Account Order Detail: Order Header ===== */
.order-detail-v2 .order-top{ display:block; }
.order-detail-v2 .order-top .content{
    display:flex; flex-direction:row-reverse; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px;
}
.order-detail-v2 .order-top h6{ margin:0 !important; font-size:20px; line-height:1.3; font-weight:600; color:var(--main); }

/* Status Badge (same colours as the Orders list) */
.order-detail-v2 .order-top .badge{
    display:inline-flex; align-items:center; min-height:0; padding:6px 14px; border-radius:999px;
    font-size:12px; font-weight:600; line-height:1.3; white-space:nowrap;
    color:var(--main); background-color:rgba(0, 56, 105, .08);
}
.order-detail-v2 .order-top .badge.status-6{ color:var(--success); background-color:rgba(49, 165, 109, .1); }
.order-detail-v2 .order-top .badge.status-7{ color:#d9363e; background-color:#fdf1f1; }


/* ===== My Account Order Detail: Order Info (Date, Payment Mode, Address) ===== */
.order-detail-v2 .order-info{ gap:0 30px; }
.order-detail-v2 .order-info .item{ min-width:0; padding:16px 0; }
.order-detail-v2 .order-info .item:first-child,
.order-detail-v2 .order-info .item:nth-child(2){ padding-top:4px; }
.order-detail-v2 .order-info .order-info-address{ grid-column:1 / -1; padding-bottom:4px; border-top:1px solid #eee; }
.order-detail-v2 .order-info .text_black-2{
    font-size:12px; line-height:1.4; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:#888;
}
.order-detail-v2 .order-info .fw-6{ margin-top:6px; font-size:15px; line-height:1.6; color:#222; word-break:break-word; }


/* ===== My Account Order Detail: Item Details ===== */
/* Tab heading becomes the card heading */
.order-detail-v2 .order-items .widget-menu-tab{ margin:0 0 22px !important; padding-bottom:16px; border-bottom:1px solid #eee; overflow:visible; }
.order-detail-v2 .order-items .widget-menu-tab .item-title{
    padding:0; font-size:18px; line-height:1.3; font-weight:500; color:var(--main); cursor:default;
}
.order-detail-v2 .order-items .widget-menu-tab .item-title::after{ display:none; }
.order-detail-v2 .order-items .widget-content-inner{ padding:0 !important; }

/* Item Rows (fixed image box, never cropped or stretched) */
.order-detail-v2 .order-items .order-item{
    align-items:center; gap:18px; margin:0 0 18px; padding:0 0 18px; border-bottom:1px solid #f0f0f0;
}
.order-detail-v2 .order-items .order-item .img-product{
    flex:0 0 88px; width:88px; height:88px; margin:0; padding:6px;
    display:flex; align-items:center; justify-content:center;
    background-color:#fff; border:1px solid var(--line); border-radius:8px; overflow:hidden;
}
.order-detail-v2 .order-items .order-item .img-product img{ width:100%; height:100%; object-fit:contain; display:block; }
.order-detail-v2 .order-items .order-item .content{ min-width:0; display:flex; flex-direction:column; gap:4px; }
.order-detail-v2 .order-items .order-item .content > .text-2{
    font-size:15px; line-height:1.4; font-weight:500; color:var(--main); word-break:break-word;
}
.order-detail-v2 .order-items .order-item .content > .mt_4{ margin:0 !important; font-size:13px; line-height:1.5; color:#888; }
.order-detail-v2 .order-items .order-item .content > .mt_4 .fw-6{ font-weight:500; color:#555; }

/* Amount Summary */
.order-detail-v2 .order-items .order-summary{
    display:flex; flex-direction:column; gap:10px; margin:4px 0 0; padding:18px 20px;
    background-color:#f7f8fa; border-radius:10px;
}
.order-detail-v2 .order-items .order-summary li{ margin:0 !important; padding:0 !important; gap:16px; font-size:14px; line-height:1.5; color:#555; }
.order-detail-v2 .order-items .order-summary li .fw-6{ color:#222; white-space:nowrap; }
.order-detail-v2 .order-items .order-summary li .fw-6.text-success{ color:var(--success) !important; }
.order-detail-v2 .order-items .order-summary li.line{ border-bottom:0; }
.order-detail-v2 .order-items .order-summary .order-summary-total{
    margin-top:4px !important; padding-top:14px !important; border-top:1px solid #e3e6ea;
    font-size:16px; font-weight:500; color:#222;
}
.order-detail-v2 .order-items .order-summary .order-summary-total .fw-6{ font-size:20px; line-height:1.3; color:var(--main); }


/* ===== My Account Order Detail: Tablet ===== */
@media (max-width: 991px)
{
    .order-detail-v2{ padding-top:40px; padding-bottom:60px; }
    .order-detail-v2 .order-top,
    .order-detail-v2 .order-info,
    .order-detail-v2 .order-items{ padding:22px; }
}


/* ===== My Account Order Detail: Mobile ===== */
@media (max-width: 767px)
{
    .order-detail-v2{ padding-top:24px; padding-bottom:40px; }
    .order-detail-v2 .wd-form-order{ gap:16px; }
    .order-detail-v2 .order-top,
    .order-detail-v2 .order-info,
    .order-detail-v2 .order-items{ padding:18px; }
    .order-detail-v2 .order-top h6{ font-size:18px; }

    .order-detail-v2 .order-info .item,
    .order-detail-v2 .order-info .item:nth-child(2){ padding:14px 0; }
    .order-detail-v2 .order-info .item:first-child{ padding-top:0; }
    .order-detail-v2 .order-info .item + .item{ border-top:1px solid #eee; }
    .order-detail-v2 .order-info .order-info-address{ padding-bottom:0; }

    .order-detail-v2 .order-items .widget-menu-tab{ margin-bottom:18px !important; padding-bottom:14px; }
    .order-detail-v2 .order-items .widget-menu-tab .item-title{ font-size:17px; }
    .order-detail-v2 .order-items .order-item{ align-items:flex-start; gap:14px; margin-bottom:16px; padding-bottom:16px; }
    .order-detail-v2 .order-items .order-item .img-product{ flex-basis:72px; width:72px; height:72px; }
    .order-detail-v2 .order-items .order-item .content > .text-2{ font-size:14px; }
    .order-detail-v2 .order-items .order-summary{ padding:16px; }
    .order-detail-v2 .order-items .order-summary .order-summary-total .fw-6{ font-size:18px; }
}


/* ===== My Account Change Password: Layout ===== */
.change-password-v2{ padding-top:56px; padding-bottom:80px; background-color:#f7f8fa; }

/* Card (same look as Account Details) */
.change-password-v2 .cp-card{
    padding:28px; background-color:#fff;
    border:1px solid var(--line); border-radius:12px; box-shadow:0 1px 3px rgba(0,0,0,.03);
}

/* Form Grid: Current Password full width, New + Confirm side by side */
.change-password-v2 #form-password-change{ display:grid; grid-template-columns:1fr 1fr; gap:18px 20px; }
.change-password-v2 #form-password-change .tf-field{ min-width:0; margin:0 !important; }
.change-password-v2 #form-password-change .tf-field:first-child,
.change-password-v2 #form-password-change .cp-actions{ grid-column:1 / -1; }


/* ===== My Account Change Password: Fields ===== */
/* Label sits above the input (same as Account Details / Checkout) */
.change-password-v2 .tf-field.style-1{ display:flex; flex-direction:column-reverse; }
.change-password-v2 .tf-field.style-1 .tf-field-label,
.change-password-v2 .tf-field.style-1 .tf-input:focus ~ .tf-field-label,
.change-password-v2 .tf-field.style-1 .tf-input:not(:placeholder-shown) ~ .tf-field-label{
    position:static; transform:none; display:block; margin-bottom:8px; padding:0;
    background-color:transparent; cursor:default; letter-spacing:0;
    font-size:13px; line-height:1.4; font-weight:500; color:#555;
}
.change-password-v2 .tf-field-label .reqstar{
    display:inline-block; margin-inline-end:3px;
    font-size:15px; line-height:1; font-weight:700; vertical-align:-1px;
    color:#e02424 !important;
}
.change-password-v2 .tf-field-label .error-msg{ font-size:12px; font-weight:400; }

/* Inputs */
.change-password-v2 .tf-field.style-1 .tf-input{
    height:48px; padding:0 16px; border:1px solid #dcdfe4 !important; border-radius:8px;
    font-size:14px; line-height:1.4; color:#222; background-color:#fff;
    transition:border-color .2s ease, box-shadow .2s ease;
}
.change-password-v2 .tf-field.style-1 .tf-input:hover{ border-color:#c5cbd3 !important; }
.change-password-v2 .tf-field.style-1 .tf-input:focus{ border-color:var(--main) !important; box-shadow:0 0 0 3px rgba(0, 56, 105, .12); outline:0; }

/* Reset Button (same as Account Details Save) */
.change-password-v2 .cp-actions{ display:flex; justify-content:flex-end; margin-top:6px; }
.change-password-v2 .cp-actions .tf-btn{
    min-width:220px; height:50px; padding:0 24px; border-radius:8px !important;
    font-size:15px; font-weight:500; box-shadow:0 4px 14px rgba(0, 56, 105, .18);
}

/* Error Alert (shown by the page script) */
.change-password-v2 > .alert{ margin:0 auto 20px; max-width:1290px; border-radius:8px; }


/* ===== My Account Change Password: Tablet ===== */
@media (max-width: 991px)
{
    .change-password-v2{ padding-top:40px; padding-bottom:60px; }
    .change-password-v2 .cp-card{ padding:24px 22px; }
}


/* ===== My Account Change Password: Mobile ===== */
@media (max-width: 767px)
{
    .change-password-v2{ padding-top:24px; padding-bottom:40px; }
    .change-password-v2 .cp-card{ padding:20px 18px; }
    .change-password-v2 #form-password-change{ grid-template-columns:1fr; gap:16px; }
    .change-password-v2 .tf-field.style-1 .tf-input{ height:46px; }
    .change-password-v2 .cp-actions{ margin-top:2px; }
    .change-password-v2 .cp-actions .tf-btn{ width:100%; min-width:0; }
}
