:root {
   --ts-rose: #e88f96;
   --ts-coral: #d85f68;
   --ts-coral-dark: #c04c55;
   --ts-rose-soft: #fdf1f2;
   --ts-rose-line: #f3d3d6;
   --ts-text: #333333;
   --ts-muted: #777777;
   --ts-card: #ffffff;
   --ts-radius: 8px;
}

.product_part h1 {
   font-size: 1.75rem;
   font-weight: 600;
   color: var(--ts-text);
   margin-bottom: .3rem;
}
.product_part h6 { color: var(--ts-muted); }
.product_part h6 strong { color: var(--ts-coral); }
hr.border-dark { border-color: var(--ts-rose-line) !important; }

.product_part .breadcrumb { background: transparent; padding: .25rem 0; font-size: 13px; }
.product_part .breadcrumb a { color: var(--ts-muted); }
.product_part .breadcrumb .active { color: var(--ts-coral); }

.budget-wrapper.pro_budget {
   background: var(--ts-card);
   border: 1px solid var(--ts-rose-line);
   border-top: 3px solid var(--ts-rose);
   border-radius: var(--ts-radius);
   padding: 8px 12px;
   margin-bottom: 12px;
}
.budget-wrapper .budget-top-title {
   font-size: 12px;
   color: var(--ts-muted);
   padding-bottom: 6px;
   margin-bottom: 6px;
   border-bottom: 1px dashed var(--ts-rose-line);
}
.budget-wrapper .budget-top-title b { color: var(--ts-coral); }
.budget-wrapper .main-budget-table th.section-title {
   background: var(--ts-rose-soft);
   color: var(--ts-coral-dark);
   font-size: 12px;
   font-weight: 600;
   padding: 5px 8px;
}
.budget-wrapper .budget-table td { font-size: 13px; vertical-align: top; }
.budget-wrapper .totalyoupay_display { color: var(--ts-coral); font-weight: 700; }
#customerBudget { border: 1px solid var(--ts-rose-line); border-radius: 6px; }

.ts-gallery-col .product_image {
   background: var(--ts-card);
   border: 1px solid var(--ts-rose-line);
   border-radius: var(--ts-radius);
   padding: 10px;
}
.ts-gallery-col .carousel-item img,
.ts-gallery-col #centerDiamondShape {
   width: 100%;
   height: auto;
   max-height: 400px;
   object-fit: contain;
   margin: 0 !important;
}
.ts-gallery-col .carousel-indicators {
   position: static;
   margin: 8px 0 0;
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 6px;
   flex-wrap: wrap;
}
.ts-gallery-col .carousel-indicators li {
   width: 52px;
   height: 52px;
   text-indent: 0;
   opacity: .6;
   border: 1px solid var(--ts-rose-line);
   border-radius: 6px;
   overflow: hidden;
   background: #fff;
}
.ts-gallery-col .carousel-indicators li.active { opacity: 1; border-color: var(--ts-coral); }
.ts-gallery-col .carousel-indicators li img { width: 100%; height: 100%; object-fit: cover; border: 0 !important; }
.ts-gallery-col .left_icon,
.ts-gallery-col .right_icon { color: var(--ts-coral); }

.ts-gallery-col .price_table { margin-top: 12px; font-size: 13px; }
.ts-gallery-col .price_table caption { caption-side: top; color: var(--ts-text); font-weight: 600; }
.ts-gallery-col .price_table thead th {
   background: var(--ts-rose);
   color: #fff;
   font-size: 12px;
   border-color: var(--ts-rose);
}
.ts-gallery-col .price_table tr.highlight td { background: var(--ts-rose-soft); }
.ts-gallery-col .price_table td.pointer_td small { color: var(--ts-coral); font-weight: 700; font-size: 13px; }

.ts-detail-col { padding-left: 20px; }
.ts-price-card {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 10px;
   flex-wrap: wrap;
   background: var(--ts-rose-soft);
   border: 1px solid var(--ts-rose-line);
   border-left: 4px solid var(--ts-coral);
   border-radius: var(--ts-radius);
   padding: 10px 16px;
   margin: 10px 0 4px;
}
.ts-price-card small { display: block; color: var(--ts-muted); font-size: 12px; }
.ts-price-card .ts-price-value { font-size: 1.6rem; font-weight: 700; color: var(--ts-coral); line-height: 1.2; }
.ts-price-card .ts-link { color: var(--ts-coral); font-size: 13px; font-weight: 600; }
.ts-price-card .ts-link:hover { color: var(--ts-coral-dark); }

.product_part .shape_heading h5.flu,
.ts-config .shape_heading,
.ts-config .form-label strong {
   font-size: 14px;
   font-weight: 600;
   color: var(--ts-text);
}

.ts-detail-col .shape,
.ts-detail-col .col-md-6 > .d-flex > .text-center.border {
   width: 68px !important;
   background: #fff;
   border: 1px solid var(--ts-rose-line) !important;
   border-radius: 6px !important;
   cursor: pointer;
}
.ts-detail-col .shape:hover,
.ts-detail-col .col-md-6 > .d-flex > .text-center.border:hover,
.ts-detail-col .shape:has(input:checked),
.ts-detail-col .col-md-6 > .d-flex > .text-center.border:has(input:checked) {
   border-color: var(--ts-coral) !important;
}
.ts-detail-col .shape:has(input:checked),
.ts-detail-col .col-md-6 > .d-flex > .text-center.border:has(input:checked) {
   background: var(--ts-rose-soft);
}
.ts-detail-col input[type="radio"],
.ts-detail-col input[type="checkbox"],
.ts-config input[type="radio"],
.ts-config input[type="checkbox"] { accent-color: var(--ts-coral); }

.ts-detail-col .cart_acor .card { border: 1px solid var(--ts-rose-line); border-radius: var(--ts-radius); }
.ts-detail-col .cart_acor .card-header { background: var(--ts-rose-soft); border-bottom: 1px solid var(--ts-rose-line); }
.ts-detail-col .cart_acor .card-title { color: var(--ts-coral-dark); font-weight: 600; }

.ts-config .diamond-section {
   background: #fff;
   border: 1px solid var(--ts-rose-line);
   border-radius: var(--ts-radius);
   padding: 10px 12px;
}
.ts-config .diamond-row { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.ts-config .diamond-quality-option,
.ts-config .diamond-weight-option,
.ts-config .letest_design {
   display: inline-flex;
   align-items: center;
   gap: 5px;
   border: 1px solid var(--ts-rose-line);
   border-radius: 6px;
   padding: 4px 10px;
   margin: 3px;
   font-size: 13px;
   background: #fff;
   cursor: pointer;
}
.ts-config .diamond-quality-option:has(input:checked),
.ts-config .diamond-weight-option:has(input:checked),
.ts-config .letest_design:has(input:checked) {
   border-color: var(--ts-coral);
   background: var(--ts-rose-soft);
   color: var(--ts-coral-dark);
   font-weight: 600;
}
.ts-config .letest_design a { color: inherit; text-decoration: none; }

.ts-config .resize-table { font-size: 12px; margin-top: 6px; }
.ts-config .resize-table th { background: var(--ts-rose-soft); color: var(--ts-coral-dark); text-align: center; padding: 5px; }
.ts-config .resize-table td { text-align: center; padding: 5px; border-color: var(--ts-rose-line) !important; }
.ts-config .resize-table td:has(input:checked) { background: var(--ts-rose-soft); font-weight: 600; }

.ts-config .risize_btn {
   width: 100%;
   border: 1px solid var(--ts-rose);
   border-radius: 6px;
   background: #fff;
   color: var(--ts-coral-dark);
   padding: 6px 10px;
   text-align: left;
}
.ts-config .ring_size a h6 { color: var(--ts-coral); font-size: 12px; }

.ts-config .price-breakup-wrapper {
   background: #fff;
   border: 1px solid var(--ts-rose-line);
   border-radius: var(--ts-radius);
   padding: 8px;
   overflow-x: auto;
}
.ts-config .price-breakup-wrapper table { font-size: 12px; margin: 0; }
.ts-config .price-breakup-wrapper thead tr.bg-danger,
.ts-config .price-breakup-wrapper thead tr.bg-danger th {
   background: var(--ts-coral) !important;
   border-color: var(--ts-coral) !important;
}
.ts-config .price-breakup-wrapper thead tr:nth-child(2) th {
   background: var(--ts-rose-soft);
   font-size: 11px;
}
.ts-config .price-breakup-wrapper td { border-color: var(--ts-rose-line) !important; vertical-align: middle; }
.ts-config .price-breakup-wrapper tr.bg-success { background: var(--ts-coral) !important; }

.add-card .add-cart {
   background: var(--ts-coral) !important;
   border-color: var(--ts-coral) !important;
}
.add-card .add-cart:hover { background: var(--ts-coral-dark) !important; border-color: var(--ts-coral-dark) !important; }
.add-wishlist { color: var(--ts-coral) !important; border-color: var(--ts-coral) !important; }
.add-wishlist:hover { background: var(--ts-coral) !important; color: #fff !important; }

@media (max-width: 767px) {
   .ts-detail-col { padding-left: 15px; }
   .product_part h1 { font-size: 1.4rem; }
   .add-wishlist, .add-card .add-cart, a.btn-danger.bd-radius-5 { width: 100% !important; margin-bottom: 8px; }
   .add-card { text-align: left !important; }
}

.ts-config .shape_image_product,
.ts-config .pl-6 .d-flex {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
}
.ts-config .letest_design {
   position: relative;
   margin: 0 !important;
   padding: 6px 14px 6px 10px;
   gap: 8px;
   white-space: nowrap;
}
.ts-config .letest_design input[type="radio"] {
   position: absolute;
   opacity: 0;
   width: 0;
   height: 0;
}
.ts-config .letest_design .checkmark {
   position: static !important;
   order: -1;
   flex: 0 0 auto;
   margin: 0 !important;
   top: auto !important;
   left: auto !important;
}