/* Base styles */
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-gray-100: #f7fafc;
  --color-gray-300: #cbd5e0;
  --color-gray-400: #a0aec0;
  --color-gray-600: #4a5568;
  --color-gray-800: #2d3748;
  --color-yellow-400: #f6e05e;
  --color-silver: #c0c0c0;
  --color-platinum: #e5e4e2;
  --color-table-border: #4a5568;
}

body {
  font-family: "Work Sans", "Sans Serif";
  background-color: #014d4d;
  color: var(--color-gray-800);
  line-height: 1.6;
  margin: 0;
  padding: 2rem;
}

.container {
  max-width: 960px;
  margin: 0 auto;
  background-color: var(--color-white);
  padding: 2rem;
  border-radius: 0.5rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.header {
  text-align: center;
  margin-bottom: 2rem;
  border-bottom: 2px solid var(--color-gray-300);
  padding-bottom: 1rem;
}

.site-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--color-black);
  margin-bottom: 0.5rem;
}

.site-subtitle {
  font-size: 1.25rem;
  color: var(--color-gray-600);
}

.content-section {
  margin-bottom: 2rem;
}

.section-heading {
  font-size: 2rem;
  font-weight: 600;
  color: var(--color-black);
  margin-bottom: 1rem;
  border-left: 4px solid var(--color-yellow-400);
  padding-left: 1rem;
}

.description {
  font-size: 1rem;
  color: var(--color-gray-600);
  margin-bottom: 1.5rem;
}

.market-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1.5rem;
}

.market-table th,
.market-table td {
  border: 1px solid var(--color-table-border);
  padding: 0.75rem;
  text-align: left;
  vertical-align: top;
}

.market-table th {
  background-color: var(--color-gray-800);
  color: var(--color-white);
  font-weight: 600;
}

.market-table tr:nth-child(even) {
  background-color: var(--color-gray-100);
}

.market-table tr:hover {
  background-color: var(--color-gray-300);
}

.footer {
  text-align: center;
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid var(--color-gray-300);
  color: var(--color-gray-600);
  font-size: 0.875rem;
}

/* --- Additional Styles for Trend Section --- */
.trend-item {
  background-color: #014d4d;
  padding: 1.5rem;
  border-radius: 0.5rem;
  margin-bottom: 1.5rem;
  border-left: 4px solid var(--color-yellow-400);
}

.trend-item:nth-child(2) {
  border-left-color: var(--color-silver);
}

.trend-item:nth-child(3) {
  border-left-color: var(--color-platinum);
}

.trend-item h3 {
  font-size: 1.5rem;
  color: var(--color-white);
  margin-bottom: 0.5rem;
}

.trend-item p {
  color: var(--color-gray-300);
  margin-bottom: 1rem;
}

.trend-item ul {
  list-style-type: "→ ";
  color: var(--color-gray-400);
  padding-left: 1.5rem;
}

.trend-item ul li {
  margin-bottom: 0.5rem;
}

.divider {
  border: none;
  border-top: 1px solid var(--color-table-border);
  margin: 2rem 0;
}

/* --- FAQ/Glossary Section Styles --- */
.accordion-container {
  max-width: 800px;
  margin: 0 auto;
}

.accordion-item {
  border-bottom: 1px solid var(--color-table-border);
}

.accordion-toggle {
  display: none;
  /* Hide the checkbox */
}

.accordion-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--color-black);
  cursor: pointer;
  transition: background-color 0.3s ease;
  background-color: var(--color-gray-100);
  border-radius: 0.5rem;
  margin-bottom: 0.5rem;
}

.accordion-title:hover {
  background-color: var(--color-gray-300);
}

.accordion-title .icon {
  font-size: 1.5rem;
  transition: transform 0.3s ease;
}

.accordion-toggle:checked + .accordion-title .icon {
  transform: rotate(180deg);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
  padding: 0 1.5rem;
  background-color: var(--color-white);
}

.accordion-toggle:checked ~ .accordion-content {
  max-height: 500px;
  /* A large value to allow the content to expand */
  padding-bottom: 1.5rem;
}

.accordion-content p,
.accordion-content ul {
  color: var(--color-gray-600);
  margin-bottom: 1rem;
}

.accordion-content ul {
  list-style-type: disc;
  padding-left: 2rem;
}

/* Specific styles for facts */
.accordion-content strong a.call-to-action {
  color: var(--color-yellow-400);
  text-decoration: none;
  font-weight: 700;
}

/* Base styles for a dark theme */
:root {
  --color-dark-bg: #1a202c;
  --color-text: #d1d5db;
  --color-white: #ffffff;
  --color-gray-400: #9ca3af;
  --color-gray-300: #d1d5db;
  --color-gray-800: #1f2937;
  --color-silver: #a0aec0;
  --color-platinum: #b37b0ce6;
  --color-table-bg: #2d3748;
  --color-table-header: #4a5568;
  --color-table-border: #4a5568;
  --color-yellow-400: #facc15;
  --color-rose-400: #fb7185;
  --gold-color: #ffd700;
  --silver-color: #c0c0c0;
  --platinum-color: #e5e4e2;
  --bg-up-flash: #07b644d2;
  --bg-down-flash: #cd2f2fc0;
}

body {
  color: var(--color-text);
  background-color: var(--color-dark-bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100vh;
  padding: 2rem;
  background: #f3f4f6;
  margin: 0;
}

/* General container styles */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}

/* Styles for main content sections */
#silver-content,
#platinum-content,
#gold-content,
.tabs-container {
  max-width: 1200px;
  margin: 0 auto 2rem auto;
  padding: 1.5rem;
  background-color: #014d4d;
  border-radius: 0.75rem;
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}

.section-heading {
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-white);
  margin-bottom: 1rem;
}

.description {
  color: var(--color-gray-300);
  margin-bottom: 1.5rem;
}

/* Price card and grid styles */
.price-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.5rem;
  margin-bottom: 2rem;
}

@media (min-width: 640px) {
  .price-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .price-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.price-card {
  background-color: var(--color-gray-800);
  padding: 1.5rem;
  border-radius: 0.5rem;
  text-align: center;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  border-left: 4px solid var(--gold-color);
}

.price-card.silver .price-value {
  color: var(--color-silver);
}

.price-card.platinum .price-value {
  color: var(--color-platinum);
}

.price-card .price-type {
  font-size: 1rem;
  font-weight: 500;
  color: white;
  margin-bottom: 0.5rem;
}

.price-card .price-value {
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-silver);
}

/* Price table styles */
.price-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
  text-align: left;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  border-radius: 0.75rem;
  overflow: hidden;
}

.price-table thead tr {
  background-color: var(--color-table-header);
  color: var(--color-white);
  letter-spacing: 0.1rem;
  font-weight: 300;
}

.price-table th,
.price-table td {
  padding: 0.75rem 1rem;
}

.price-table tbody tr:nth-child(even) {
  background-color: var(--color-table-bg);
}

.price-table tbody tr:hover {
  background-color: rgb(11, 23, 20);
}

/* Styles for new sections */
.new-section {
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  margin-top: 2rem;
}

.new-section h2 {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--color-white);
  margin-bottom: 1rem;
}

.new-section p,
.new-section ul {
  color: var(--color-gray-300);
  margin-bottom: 1.5rem;
}

.new-section ul {
  color: black;
}

.new-section ul {
  list-style: none;
  padding: 0;
}

.new-section ul li {
  margin-bottom: 0.5rem;
}

.new-section strong {
  display: block;
  font-weight: 600;
}

.new-section .karat-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .new-section .karat-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.karat-card {
  background-color: rgb(2, 114, 114);
  padding: 1.5rem;
  border-radius: 0.5rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.karat-card h3 {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--color-yellow-400);
}

/* Banner styles */
.banner-container {
  height: 50vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #000000;

  background-color: #027272; /* keep color */
  background-image: url("/assets/dropdown/bangle-banner.png");
  background-size: cover; /* make it cover area */
  background-position: center; /* center the image */
  background-repeat: no-repeat;
}

.banner-heading {
  font-size: 2.5rem;
  font-weight: 700;
}

.last-updated {
  margin-top: 0.5rem;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.9);
}

/* Tabs styles */
.tabs-container {
  background: #fff;
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.08);
  margin-top: -3rem;
  position: relative;
  z-index: 10;
}

.tab-buttons {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 2rem;
}

.tab-button {
  background: #e5e7eb;
  color: #1a1b1d;
  padding: 0.75rem 1.5rem;
  border-radius: 9999px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.tab-button.active {
  background: #4f46e5;
  color: #fff;
  transform: translateY(-2px);
}

.tab-content {
  display: none;
  opacity: 0;
  transition: opacity 0.4s;
}

.tab-content.active {
  display: block;
  opacity: 1;
}

/* Price Trend styles */
.price-trend {
  font-size: 0.95rem;
  font-weight: 700;
  margin-left: 0.6rem;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.price-trend.up {
  color: #10b981;
  transition: color 0.1s ease-out;
}

.price-trend.down {
  color: #ef4444;
  transition: color 0.1s ease-out;
}

.price-trend small {
  font-weight: 600;
  font-size: 0.85rem;
  opacity: 0.9;
}

/* Footer styles */
.footer {
  text-align: center;
  padding: 2rem 0;
  color: #6b7280;
  font-size: 0.875rem;
  border-top: 1px solid #e5e7eb;
  margin-top: 2rem;
}

/* Animations */
@keyframes flash-up {
  0% {
  }

  50% {
    background-color: var(--bg-up-flash);
  }

  100% {
  }
}

@keyframes flash-down {
  0% {
  }

  50% {
    background-color: var(--bg-down-flash);
  }

  100% {
  }
}

.price-card.flash-up,
.price-table td.flash-up {
  animation: flash-up 3s ease-out;
}

.price-card.flash-down,
.price-table td.flash-down {
  animation: flash-down 3s ease-out;
}

/* --- Responsive Styles --- */

/* Grid layout adjustments (Mobile First) */
@media (min-width: 600px) {
  .price-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 800px) {
  .price-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .karat-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1200px) {
  .price-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* General adjustments for smaller screens (Desktop First) */
@media (max-width: 1000px) {
  .banner-heading {
    font-size: 2.2rem;
  }

  .section-heading {
    font-size: 1.8rem;
  }
}

@media (max-width: 800px) {
  .container {
    padding: 0 1.5rem;
  }

  #silver-content,
  #platinum-content,
  #gold-content,
  .tabs-container {
    padding: 1.25rem;
    margin-top: 2.5rem;
  }
}

/* Hides the detailed section on mobile and larger handhelds */
@media (max-width: 650px) {
  .new-section {
    display: none;
  }
}

@media (max-width: 600px) {
  body {
    padding: 1rem;
  }

  .banner-container {
    height: 35vh;
  }

  .banner-heading {
    font-size: 1.8rem;
  }
}

.new-section {
  line-height: 1.6;
  color: #333;
}

/* Headings */
.new-section h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
  color: #ffffff;
  border-left: 5px solid #f5b400;
  padding-left: 10px;
}

.new-section h4 {
  margin: 0 0 6px;
  font-size: 1.1rem;
  f: #222;
}

/* Taxes Breakdown */
.taxes-breakdown {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  margin: 20px 0;
}

.tax-item {
  background: #f9f9f9;
  padding: 14px 18px;
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  border-left: 4px solid #f5b400;
}

.tax-item p {
  color: black;
}

/* Example Box */
.example-calculation {
  background: #fff7e6;
  padding: 18px;
  border-radius: 10px;
  margin-top: 25px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.example-calculation h3 {
  margin-bottom: 12px;
  color: #b45309;
}

/* Table Styling */
.example-calculation table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.example-calculation th {
  text-align: left;
  padding: 10px;
  background: #f5f5f5;
  color: #333;
}

.example-calculation td {
  padding: 10px;
  border-bottom: 1px solid #eee;
  text-align: right;
}

.example-calculation td:first-child {
  text-align: left;
}

.example-calculation tr.total {
  font-weight: bold;
  border-top: 2px solid #333;
  background: #fff3cd;
}

/* Note */
.example-calculation .note {
  margin-top: 10px;
  font-size: 0.85rem;
  color: #555;
}

/* responsive fixes gold
*/

/* --- Responsive Table Styles for Small Screens --- */
@media (max-width: 656px) {
  /* Hide the original table header, it's no longer needed */
  .price-table thead {
    display: none;
  }

  /* Make each table element a block, which stacks them vertically */
  .price-table,
  .price-table tbody,
  .price-table tr,
  .price-table td {
    display: block;
    width: 100%;
    margin-top: 20px;
  }

  /* Style each row to look like a card */
  .price-table tr {
    margin-bottom: 1rem;
    border: 1px solid var(--color-table-border);
    border-radius: 0.5rem;
    overflow: hidden; /* Ensures the border-radius is respected */
  }

  /* Remove default row background colors and borders */
  .price-table tbody tr:nth-child(even) {
    background-color: transparent;
  }
  .price-table td {
    border: none;
    border-bottom: 1px solid var(--color-table-border);
    padding-left: 50%; /* Make space for the label */
    position: relative;
    text-align: right; /* Align data to the right */
  }

  /* Remove the border from the last cell in each card */
  .price-table td:last-child {
    border-bottom: 0;
  }

  /* This is the magic: create the label from the data-label attribute */
  .price-table td::before {
    content: attr(data-label); /* Use the attribute's value as content */
    position: absolute;
    left: 0.75rem; /* Align label to the left */
    width: 45%;
    padding-right: 0.5rem;
    font-weight: 600;
    color: var(--color-gray-300); /* Style the label text */
    text-align: left;
    white-space: nowrap; /* Prevent label from wrapping */
  }
}

/* --- Responsive Tab Button Styles --- */
@media (max-width: 500px) {
  .tab-buttons {
    /* Allow buttons to wrap onto the next line if they don't fit */
    flex-wrap: wrap;

    /* Optional: Reduce the gap between buttons to save space */
    gap: 0.5rem;
  }

  .tab-button {
    /* Optional: Reduce padding to make buttons slightly smaller */
    padding: 0.6rem 1rem;

    /* Optional: Slightly smaller font size on very small screens */
    font-size: 0.9rem;
  }
}

@media (max-width: 450px) {
  .knowledge-nugget {
    display: none;
  }
}

.disclaimer {
  padding: 5px;
  color: white;
  font-weight: 600;
  font-size: 1rem;
}

@media (max-width: 810px) {
  .disclaimer {
    padding: 10px 20px;
    font-size: 0.9rem;
  }
}

@media (max-width: 510px) {
  .disclaimer {
    font-size: 0.8rem;
  }

  .banner-container {
    height: auto;
  }
}
