/* ---- diamond product page ---- */
.crumbs{ font-size:12px; color:#9C7E68; margin:0 4px 14px; direction:inherit; }
.crumbs a{ color:#7A5D48; text-decoration:none; }
.crumbs a:hover{ color:#6E2530; text-decoration:underline; }

.product{ display:grid; grid-template-columns:1fr; gap:16px; direction:inherit; }
@media (min-width:860px){ .product{ grid-template-columns:1.05fr 1fr; align-items:start; } .product-visual{ position:sticky; top:16px; } }

.product-visual{
  background:radial-gradient(120% 90% at 50% 30%, #FFFFFF 0%, #FBF5F0 55%, #F3E7DE 100%);
  border:1px solid rgba(110,37,48,0.16); border-radius:16px;
  box-shadow:0 4px 16px rgba(58,15,24,0.05);
  padding:18px 18px 12px; text-align:center; position:relative;
}
.product-visual svg{ width:100%; max-width:420px; height:auto; display:block; margin:0 auto; }
.visual-note{ font-size:12px; line-height:1.55; color:#9C7E68; margin-top:6px; }
.visual-note a{ color:#6E2530; font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.lab-badge{
  position:absolute; top:14px; inset-inline-start:14px;
  font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:#6E2530; background:#FFFFFF; border:1px solid rgba(110,37,48,0.25);
  border-radius:12px; padding:4px 10px;
}

.product-info{ direction:inherit; }
.product-title{ font-size:26px; line-height:1.2; margin:2px 0 6px; color:#3A1219; font-weight:700; }
html[dir="rtl"] .product-title{ font-family:'Cairo',sans-serif; }
.product-sub{ font-size:13px; color:#7A5D48; margin-bottom:16px; }

.price-card{
  background:linear-gradient(160deg, #7A2A37, #4A1620);
  border:1px solid rgba(110,37,48,0.4); border-radius:16px;
  box-shadow:0 10px 28px rgba(74,22,32,0.22);
  padding:16px 18px; color:#F6EEE1; margin-bottom:18px;
}
.price-label{ font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#E8CDB5; font-weight:600; }
.price-value{ font-size:32px; font-weight:700; margin:4px 0 2px; direction:ltr; unicode-bidi:isolate; }
html[dir="rtl"] .price-value{ text-align:right; }
.price-value .cur{ font-size:15px; font-weight:600; color:#E8CDB5; margin-inline-end:6px; }
.price-value.ask{ font-size:22px; }
.price-vat{ font-size:12px; color:#E8CDB5; }
.price-spec{ font-size:12px; color:#F0DCC9; margin-top:10px; padding-top:10px; border-top:1px solid rgba(246,238,225,0.18); }
.price-trust{ list-style:none; margin:10px 0 0; padding:10px 0 0; border-top:1px solid rgba(246,238,225,0.18); display:grid; gap:6px; }
.price-trust li{ position:relative; padding-inline-start:20px; font-size:12px; line-height:1.45; color:#F0DCC9; }
.price-trust li::before{ content:""; position:absolute; inset-inline-start:3px; top:.3em; width:9px; height:5px; border-left:1.5px solid #E8CDB5; border-bottom:1.5px solid #E8CDB5; transform:rotate(-45deg); }

.opt-group{ margin-bottom:16px; border:0; padding:0; min-width:0; }
.opt-label{ display:flex; justify-content:space-between; gap:8px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#7A5D48; font-weight:600; margin-bottom:8px; padding:0; }
.opt-label .opt-current{ text-transform:none; letter-spacing:0; color:#3A1219; font-weight:700; }
.opt-row{ display:flex; flex-wrap:wrap; gap:8px; }
.chip{
  font-family:inherit; font-size:14px; font-weight:600; color:#3A1219;
  background:#FFFFFF; border:1px solid rgba(110,37,48,0.22); border-radius:10px;
  padding:9px 14px; min-width:52px; cursor:pointer;
  transition:background-color .15s ease, border-color .15s ease, color .15s ease;
}
.chip:hover{ background:#F6EAE6; }
.chip[aria-checked="true"]{ background:#6E2530; border-color:#6E2530; color:#F6EEE1; }
.chip:focus-visible{ outline:2px solid #C58B4F; outline-offset:2px; }
.chip .chip-sub{ display:block; font-size:10px; font-weight:500; opacity:.75; margin-top:1px; }

.swatch{ display:flex; align-items:center; gap:8px; padding:7px 12px 7px 8px; }
html[dir="rtl"] .swatch{ padding:7px 8px 7px 12px; }
.swatch i{ width:20px; height:20px; border-radius:50%; flex-shrink:0; border:1px solid rgba(0,0,0,0.12); }
.swatch[data-v="yellow"] i{ background:linear-gradient(135deg,#F6E3A1,#C99A3E); }
.swatch[data-v="white"] i{ background:linear-gradient(135deg,#FFFFFF,#BFC4CB); }
.swatch[data-v="rose"] i{ background:linear-gradient(135deg,#F7D3C4,#C98270); }

.buy-actions{ display:flex; gap:10px; flex-wrap:wrap; margin:6px 0 18px; }
.buy-actions a{ flex:1; min-width:150px; text-align:center; padding:13px 16px; border-radius:10px; font-weight:600; font-size:14px; text-decoration:none; }
.buy-note{ font-size:12px; color:#7A5D48; margin:-8px 0 18px; }
.product ~ .content-card a{ color:#6E2530; }

.spec-list{ display:flex; flex-direction:column; }
.spec-row{ display:flex; justify-content:space-between; gap:12px; padding:9px 2px; border-bottom:1px solid rgba(110,37,48,0.08); font-size:13px; color:#6E5548; }
.spec-row:last-child{ border-bottom:none; }
.spec-row b{ color:#3A1219; font-weight:600; text-align:end; }

.how-steps{ counter-reset:step; list-style:none; padding:0; margin:0; }
.how-steps li{ counter-increment:step; position:relative; padding-inline-start:38px; margin-bottom:12px; }
.how-steps li::before{
  content:counter(step); position:absolute; inset-inline-start:0; top:1px;
  width:26px; height:26px; border-radius:50%; background:#F6EAE6; color:#6E2530;
  font-weight:700; font-size:13px; display:flex; align-items:center; justify-content:center;
}

/* sticky bar on phones */
.buy-bar{ display:none; }
@media (max-width:859px){
  .buy-bar{
    display:flex; align-items:center; gap:12px;
    position:fixed; left:0; right:0; bottom:0; z-index:20;
    background:rgba(255,255,255,0.96); backdrop-filter:blur(8px);
    border-top:1px solid rgba(110,37,48,0.16);
    padding:10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
  }
  .buy-bar .bar-price{ flex:1; min-width:0; }
  .buy-bar .bar-amount{ font-size:18px; font-weight:700; color:#3A1219; direction:ltr; unicode-bidi:isolate; }
  .buy-bar .bar-vat{ font-size:11px; color:#9C7E68; }
  .buy-bar a{ padding:12px 18px; border-radius:10px; font-weight:600; font-size:14px; text-decoration:none; white-space:nowrap; }
  body.has-buy-bar .wrap{ padding-bottom:110px; }
}

/* ring illustration */
#ringHead{ transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.metal-stop{ transition:stop-color .3s ease; }
.price-value .cur.after{ margin-inline-end:0; margin-inline-start:6px; }
.product-desc{ font-size:14px; line-height:1.7; color:#4A3328; margin:-6px 0 16px; }
.opt-note{ font-size:12px; color:#7A5D48; margin-top:8px; line-height:1.6; }
#ringPhoto{ width:100%; max-width:420px; height:auto; display:block; margin:0 auto; border-radius:12px; }
.photo-label{
  position:absolute; top:14px; inset-inline-end:14px;
  font-size:11px; font-weight:600; color:#7A5D48; background:rgba(255,255,255,0.92);
  border:1px solid rgba(110,37,48,0.18); border-radius:12px; padding:4px 10px;
}

/* ---- diamond catalog ---- */
.catalog-intro h1{ font-size:24px; line-height:1.3; margin:0 0 10px; color:#3A1219; }
html[dir="rtl"] .catalog-intro h1{ font-family:'Cairo',sans-serif; }
.catalog-intro p{ margin:0 0 10px; }
.catalog-meta{ font-size:13px; color:#7A5D48; margin:0 !important; }
.model-block{ margin-top:26px; }
.model-head{ margin:0 4px 12px; }
.model-head h2{ font-size:18px; margin:0 0 2px; color:#3A1219; }
html[dir="rtl"] .model-head h2{ font-family:'Cairo',sans-serif; }
.model-head p{ font-size:13px; color:#7A5D48; margin:0; }
.ring-grid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
@media (min-width:560px){ .ring-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (min-width:860px){ .ring-grid{ grid-template-columns:repeat(5, minmax(0,1fr)); } }
.ring-card{
  display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center;
  background:radial-gradient(120% 90% at 50% 25%, #FFFFFF 0%, #FBF5F0 60%, #F3E7DE 100%);
  border:1px solid rgba(110,37,48,0.16); border-radius:14px; padding:16px 10px 14px;
  text-decoration:none; color:#3A1219; box-shadow:0 4px 14px rgba(58,15,24,0.05);
  transition:transform .15s ease, box-shadow .15s ease;
}
.ring-card:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(58,15,24,0.10); }
.ring-card:focus-visible{ outline:2px solid #C58B4F; outline-offset:2px; }
.ring-icon{ width:56px; height:56px; }
.ring-icon path{ fill:#FFFFFF; stroke:#6E2530; stroke-width:1.3; stroke-linejoin:round; }
.ring-shape{ font-size:14px; font-weight:700; }
.ring-from{ font-size:12px; color:#7A5D48; min-height:1.4em; direction:ltr; unicode-bidi:isolate; }
html[dir="rtl"] .ring-from{ direction:rtl; }
#ringPhoto[hidden], .photo-label[hidden], .visual-note[hidden]{ display:none; }

.product-visual.has-photo{ background:#FFFFFF; }
.photo-thumbs{ display:flex; gap:8px; justify-content:center; margin-top:10px; }
.photo-thumbs[hidden]{ display:none; }
.photo-thumb{ width:62px; height:62px; padding:0; border-radius:10px; overflow:hidden; cursor:pointer;
  background:#FFFFFF; border:1px solid rgba(110,37,48,0.18); }
.photo-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.photo-thumb[aria-current="true"]{ border:2px solid #6E2530; }
.photo-thumb:focus-visible{ outline:2px solid #C58B4F; outline-offset:2px; }

/* catalog cards with a real photo (others keep the shape icon, centred in the row) */
.ring-card{ justify-content:center; }
.ring-card.has-photo{ padding:8px 8px 12px; }
.ring-photo{
  display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover;
  border-radius:10px; background:#FFFFFF; margin-bottom:4px;
}

/* sample girdle-inscription illustration (product pages) */
.girdle-figure{ margin:4px 0 0; }
.girdle-figure img{ display:block; width:100%; max-width:560px; height:auto; margin:0 auto; }
.girdle-figure figcaption{ margin-top:8px; font-size:12px; line-height:1.5; color:#7A5D48; text-align:center; }

/* price guide on the catalog page */
.price-guide h2{ margin-top:0; }
.price-guide a{ color:#6E2530; font-weight:700; }
.price-table td{ white-space:nowrap; font-variant-numeric:tabular-nums; }
.price-table td:first-child{ font-weight:700; color:#3A1219; }
.price-table th:not(:first-child), .price-table td:not(:first-child){ text-align:end; }
