
:root {
	--bg: #e3e4e8;
	--fg: #17181c;
	--bs1: #ffffff;
	--bs2: #c1c2c5;
	--tick: #454954;
	--transDur: 0.1s;
}
input {
	/* color: var(--fg); */
	/* font: 1em/1.5 Muli, sans-serif; */
}
.range__ticks {
	display: flex;
}

label {
	display: block;
	font-weight: bold;
}
input[type=range], label {
	-webkit-tap-highlight-color: transparent;
}
input[type=range], .range {
	/* border-radius: 0.75em; */
	/* overflow: hidden; */
	/* margin-bottom: 1.5em; */
}
input[type=range] {
	background-color: #c5c6cc;
	/* box-shadow:
		0.3em 0.3em 0.4em var(--bs2) inset,
		-0.3em -0.3em 0.4em var(--bs1) inset; */
	display: block;
	padding: 0px;
	width: 99%;
	height: 10px;
	border-radius: 100px;
	/* -webkit-appearance: none; */
	-moz-appearance: none;
	appearance: none;
}
input[type=range]:focus {
	outline: transparent;
}
input[type=range]::-webkit-slider-thumb {
	background-color: #2d85e2;
	border: 0;
	border-radius: 100px;
	cursor: pointer;
	position: relative;
	width: 30px;
	height: 30px;
	transition: all var(--transDur) linear;
	z-index: 1;
	-webkit-appearance: none;
	appearance: none;
}
input[type=range]:focus::-webkit-slider-thumb {
	background-color: #5583f6;

}
input[type=range]::-moz-range-thumb {
	background-color: #2d85e2;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	position: relative;
	width: 1.3em;
	height: 1.3em;
	transform: translateZ(1px);
	transition: all var(--transDur) linear;
	z-index: 1;
	-moz-appearance: none;
	appearance: none;
}
input[type=range]:focus::-moz-range-thumb {
	background-color: #2d85e2;
}
input[type=range]::-moz-focus-outer {
	border: 0;
}
.range {
	position: relative;
	height: 1.5em;
}
.range__ticks {
	justify-content: space-between;
	align-items: center;
	pointer-events: none;
	position: absolute;
	top: 14px;
	left: 0.75em;
	width: calc(100% - 1.5em);
	height: 100%;
	font-size: 32px;
	padding-top: 10px;
}
.range__tick, .range__tick-text {
	display: inline-block;
}
.range__tick {
	color: var(--tick);
	font-size: 0.5em;
	text-align: center;
	width: 0;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}
.range__tick-text {
	transform: translateX(-50%);
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
	:root {
		--bg: #2e3138;
		--fg: #e3e4e8;
		--bs1: #3c4049;
		--bs2: #202227;
		--tick: #c7cad1;
	}
}
/* For Chrome, Safari */
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* For Firefox */
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* For Internet Explorer */
input[type='number']::-ms-clear,
input[type='number']::-ms-reveal {
  display: none;
}



.loader {
    position: relative;
    width: 200px;
    height: 200px;
    margin: 0 auto;
    margin-top: 70px;
  }
  
  .circle {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    background-color: #2d85e2;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: all .3s ease;
  }
  
  .radar {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 2px solid #2d85e2;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: radarAnimation 7s infinite;
    background-color: #2d85e2;
    transition: all .3s ease;
  }
  
  @keyframes radarAnimation {
    0% {
      width: 0;
      height: 0;
      opacity: 1;
    }
    100% {
      width: 100%;
      height: 100%;
      opacity: 0;
    }
  }
  
  .radar1 {
    animation-delay: 0s;
  }
  
  .radar2 {
    animation-delay: 0.7s;
  }
  
  .radar3 {
    animation-delay: 1.4s;
  }
  
  .world-diamond-animation img {
    width: 50px;
}

.world-diamond-animation {
    position: absolute;
    top: 36%;
    left: 27%;
    z-index: 2;
    opacity:0;
    animation: diamondLoadingAnimation 4s infinite;
    transition: all .3s ease;
}
.world-diamond-animation1 {
    top: 36%;
    left: 27%;
    animation-delay: 2s;
    }
.world-diamond-animation2 {
    top: 32%;
    right: 27%;
    animation-delay: 2.7s;
    }
.world-diamond-animation3 {
    bottom: 0%;
    right: -5%;
    animation-delay: 4.7s;
    }
.world-diamond-animation4 {
    bottom: -5%;
    right: -25%;
    animation-delay: 6.7s;
    }
.world-diamond-animation5 {
    bottom: -10%;
    left: 18%;
    animation-delay: 8.7s;
    }


 @keyframes diamondLoadingAnimation {
    0% {
      margin-top:0px;
        opacity:0;
    }
     50% {
        opacity:1;
    }
    100% {
      margin-top:-140px;
        opacity:0;
    }
  }
  .yes-circle img{
    /* opacity: 0; */
    /* display: none; */
    position: absolute;
    opacity: 1;
    width: 50%;
    /* padding-top: 50%; */
    top: 0px;
    /* position: relative; */
    z-index: 1;
    transform: translate(-50%);
    transition: all .3s ease;
    transform-origin: bottom;
  }
  .yes-circle {
    position: relative;
}


.world-circle {
    transition: all .3s ease;
}
.loading-animation-phase1 {
    transition: all .3s ease;
    opacity: 1;
}


.diamond-shape-strip-wrapper {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 30px;
    flex-wrap: wrap;
    padding: 20px 0;
}

.diamond-shape-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

.diamond-shape-image {
    width: 91px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.diamond-shape-image img {
    max-width: 100%;
    height: auto;
    transition: all .3s ease;
    transform: scale(1);
    transform-origin: top;
}

.diamond-shape-title {
    font-size: 17px;
    color: #254264;
    text-align: center;
    font-weight: 600;
}
.diamond-shape-item:hover .diamond-shape-image img {
  transform: scale(1.05);
}

span.bold-span-mid {
  font-weight: 600;
}
/* ====================================
   Related Resources Component
   ==================================== */
.tdp-related-resources {
    margin: 50px 0 40px;
}

.tdp-rr-title {
    font-size: 24px;
    color: #254264;
    margin: 0 0 20px;
    font-family: 'EB Garamond', serif;
}

.tdp-rr-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.tdp-rr-link {
    display: block;
    padding: 20px;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.tdp-rr-link:hover {
    border-color: #254264;
    box-shadow: 0 4px 12px rgba(37, 66, 100, 0.1);
    transform: translateY(-2px);
}

.tdp-rr-link-title {
    display: block;
    font-size: 18px;
    font-weight: 600;
    color: #254264;
    margin: 0 0 8px;
}

.tdp-rr-link-desc {
    display: block;
    font-size: 14px;
    color: #6b6b6b;
    line-height: 1.5;
    margin: 0;
}

@media (max-width: 768px) {
    .tdp-rr-grid {
        grid-template-columns: 1fr;
    }
}

/* ══════════════════════════════════════════════════════════════════════════
 * ROUTING / MATCHED-DIAMONDS CARDS (2026-08-02)
 * Moved here from an inline <style> block in components/routing/next-step.php,
 * which made these rules hard to find/edit and (worse) meant editing them
 * required understanding a once-per-page-load emission guard in PHP. This is
 * a shared stylesheet (loaded on both Diamond Prices pages and blog articles -
 * next-step.php's own component is used on both) so moving it into
 * diamond-prices.css instead would have silently broken article styling.
 * Pure relocation - no rule changed.
 * ══════════════════════════════════════════════════════════════════════════ */
.tdp-route{margin:40px auto;max-width:1280px;padding:24px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;font-family:inherit}
.tdp-route__pulse{font-size:15px;color:#374151;margin:0 0 16px;display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}
.tdp-route__pulse strong{color:#264265;font-size:17px}
.tdp-route__pulse-date{color:#94a3b8;font-size:13px}
.tdp-route__trio{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:baseline;margin:0 0 18px}
.tdp-route__trio-item{display:flex;flex-direction:column;gap:2px}
.tdp-route__trio-label{font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.tdp-route__trio-value{font-size:19px;font-weight:700;color:#264265}
.tdp-route__title{font-size:22px;font-weight:700;color:#0f172a;margin:0 0 14px}
.tdp-route__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.tdp-route__card{display:block;border:1px solid #e2e8f0;border-radius:12px;padding:12px;text-decoration:none;color:#0f172a;transition:box-shadow .2s,border-color .2s;background:#fff}
.tdp-route__card:hover{border-color:#264265;box-shadow:0 4px 12px rgba(37,66,100,.12)}
.tdp-route__img{width:100%;height: 100%;object-fit:contain;background:#f8fafc;border-radius:6px;margin-bottom:8px;}
.tdp-route__imgwrap{position:relative;display:block;aspect-ratio: 275 / 218;}
.tdp-route__badge{position:absolute;top:6px;left:6px;z-index:1;background:#00a651;color:#fff;font-size:11px;font-weight:800;letter-spacing:.02em;padding:3px 8px;border-radius:999px;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.tdp-route__card--best{border-color:#00a651;box-shadow:0 0 0 1px #00a651}
.tdp-route__card--best:hover{border-color:#00a651;box-shadow:0 4px 14px rgba(0,166,81,.22)}
.tdp-route__badge--lowest{background:#64748b}
.tdp-route__card--lowest{border-color:#e2e8f0}
.tdp-route__card--lowest:hover{border-color:#cbd5e1;box-shadow:0 4px 14px rgba(15,23,42,.10)}
.tdp-route__spec{font-size:13px;color:#64748b;margin-bottom:4px}
.tdp-route__price{font-size:17px;font-weight:700;color:#0f172a}
.tdp-route__chip{display:inline-block;font-size:12px;font-weight:600;border-radius:999px;padding:2px 8px;margin-top:6px}
.tdp-route__chip--below{background:#e6f7ee;color:#00a651}
.tdp-route__chip--above{background:#fef2f2;color:#b91c1c}
.tdp-route__chip--par{background:#f1f5f9;color:#475569}
.tdp-route__footer{display:flex;flex-wrap:wrap;gap:18px;margin-top:16px;align-items:center}
.tdp-route__more{font-size:16px;font-weight:600;color:#264265;text-decoration:none}
.tdp-route__more:hover{text-decoration:underline}
.tdp-route__calc{font-size:14px;color:#475569;text-decoration:none}
.tdp-route__calc:hover{text-decoration:underline;color:#264265}
.tdp-route__trust{font-size:12px;color:#94a3b8;margin-top:12px;line-height:1.6}
.tdp-route__trust a{color:#64748b}
.tdp-route__more--btn{display:inline-block;background:#264265;color:#fff;padding:12px 22px;border-radius:8px;font-size:16px;font-weight:600;text-decoration:none}
.tdp-route__more--btn:hover{background:#1b3352;text-decoration:none}
/* Rail variant: vertical card rows in the article sidebar (sticky) */
.tdp-rail{width:360px;flex:0 0 360px;padding-top:0!important;padding-bottom:24px}
.tdp-rail__sticky{position:sticky;top:76px}
.tdp-route--rail{margin:10px 0 0;padding:16px;max-width:100%}
/* Advisor head - mirrors the calculator's Market Insight panel */
.tdp-adv{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px;position:relative;overflow:hidden}
.tdp-adv::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#264265,#00a651)}
.tdp-adv__head{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.tdp-adv__icon{width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center}
.tdp-adv__icon img{width:26px;height:26px;object-fit:contain}
.tdp-adv__head-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.tdp-adv__eyebrow{font-size:10.5px;font-weight:700;color:#00a651;text-transform:uppercase;letter-spacing:.06em}
.tdp-adv__eyebrow-tag{color:#94a3b8;font-weight:500;text-transform:none;letter-spacing:0}
.tdp-adv__shape{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:16px;font-weight:700;color:#0f172a}
.tdp-adv__badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:#00a651;background:#e6f7ee;border-radius:999px;padding:2px 8px}
.tdp-adv__body{margin-bottom:12px}
.tdp-adv__text{font-size:13.5px;line-height:1.65;color:#334155;margin:0 0 8px}
.tdp-adv__text--muted{color:#64748b;font-size:13px}
.tdp-adv__text strong{color:#264265}
.tdp-adv__why{background:#f8fafc;border-radius:10px;padding:12px;margin-bottom:10px}
.tdp-adv__why-label{font-size:12px;font-weight:700;color:#0f172a;margin-bottom:6px}
.tdp-adv__why-list{margin:0;padding:0;list-style:none}
.tdp-adv__why-list li{font-size:12.5px;color:#475569;padding-left:18px;position:relative;line-height:1.6}
.tdp-adv__why-list li::before{content:"✓";position:absolute;left:0;color:#00a651;font-weight:700}
.tdp-adv__tip{font-size:12px;color:#64748b;margin:0;line-height:1.6}
.tdp-adv__tip strong{color:#264265}
.tdp-route--rail .tdp-route__title{font-size:18px;margin-bottom:12px}
.tdp-route--rail .tdp-route__trio{display:none}
.tdp-route--rail .tdp-route__trio-item{flex-direction:row;justify-content:space-between;align-items:baseline;gap:8px}
.tdp-route--rail .tdp-route__trio-label{font-size:11px}
.tdp-route--rail .tdp-route__trio-value{font-size:16px}
.tdp-route--rail .tdp-route__grid{display:flex;flex-direction:column;gap:10px}
.tdp-route--rail .tdp-route__title{font-size:15px;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.tdp-route--rail .tdp-route__card{display:flex;align-items:center;gap:12px;padding:10px;text-align:left}
.tdp-route--rail .tdp-route__img{width:64px;height:64px;flex:0 0 64px;margin:0;border-radius:8px}
.tdp-route--rail .tdp-route__card-body{flex:1;min-width:0}
.tdp-route--rail .tdp-route__spec{font-size:12px;margin-bottom:2px}
.tdp-route--rail .tdp-route__price{font-size:16px}
.tdp-route--rail .tdp-route__chip{margin-top:2px;font-size:11px;padding:1px 6px}
.tdp-route--rail .tdp-route__footer{flex-direction:column;align-items:stretch;gap:8px;margin-top:14px}
.tdp-route--rail .tdp-route__more--btn{text-align:center;padding:11px 14px;font-size:15px}
.tdp-route--rail .tdp-route__calc{text-align:center;font-size:13px}
.tdp-route--rail .tdp-route__trust{font-size:11px;margin-top:10px}
@media(max-width:1024px){
.tdp-rail{width:100%;flex:1 1 auto}
.tdp-rail__sticky{position:static}
.tdp-route--rail .tdp-route__grid{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory}
.tdp-route--rail .tdp-route__card{flex:0 0 46%;flex-direction:column;align-items:stretch;text-align:left;scroll-snap-align:start}
.tdp-route--rail .tdp-route__img{width:100%;height:88px;flex:none}
}
/* Similar-articles block when moved below the article */
.tdp-below-article{max-width:1280px;margin:36px auto 0;padding:0 24px}
.tdp-below-article .page-blog-article-sidebar-structure{width:100%;padding:0}
.tdp-below-article .page-blog-article-sidebar-wrapper{padding:0}
.tdp-below-article .page-blog-article-sidebar-title{font-size:22px;font-weight:700;color:#0f172a;text-transform:capitalize;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid #e2e8f0}
.tdp-below-article .page-blog-article-sidebar-content-structure{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.tdp-below-article .page-blog-article-sidebar-content{margin:0}
.tdp-below-article .page-blog-article-sidebar-content a{display:block;text-decoration:none;height:100%}
.tdp-below-article .page-blog-article-sidebar-article-structure{display:flex;flex-direction:column;background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;height:100%;transition:box-shadow .2s,border-color .2s}
.tdp-below-article .page-blog-article-sidebar-article-structure:hover{border-color:#264265;box-shadow:0 6px 18px rgba(38,66,101,.12)}
.tdp-below-article .page-blog-article-sidebar-article-image{width:100%;height:150px;overflow:hidden}
.tdp-below-article .page-blog-article-sidebar-article-image img{width:100%;height:100%;object-fit:cover}
.tdp-below-article .page-blog-article-sidebar-article-content{padding:14px}
@media(max-width:768px){.tdp-below-article{padding:0 14px;margin-top:26px}.tdp-below-article .page-blog-article-sidebar-content-structure{grid-template-columns:1fr}}

@media(max-width:768px){
.tdp-route{padding:16px;margin:24px auto}
.tdp-route__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:12px;padding-bottom:6px;margin:0 -16px;padding-left:16px;padding-right:16px}
.tdp-route__card{flex:0 0 46%;min-width:150px;scroll-snap-align:start}
.tdp-route__img{height:88px}
.tdp-route__price{font-size:16px}
.tdp-route__footer{flex-direction:column;align-items:stretch;gap:12px}
.tdp-route__more--btn{text-align:center;padding:14px 16px}
.tdp-route__calc{padding:10px 0;text-align:center}
.tdp-route__pulse{font-size:14px}
.tdp-route__title{font-size:19px}
}

/* Best Overall card badge (2026-08-02, rev. 4) -
   docs/specs/best-deal-best-overall-redesign.md. rev. 3 gave the card its own
   colored border/shadow (blue), same treatment as Best Deal's green - two
   fully-colored cards in one small grid competed for attention and diluted
   Best Deal's role as the single "hero" signal. rev. 4: the card border stays
   NEUTRAL (identical to a plain alternative card) - only the badge itself
   carries color + a crown, so there's exactly one loud visual per grid, not
   two. Navy (the site's own primary brand color) instead of a new blue -
   reads as "considered pick," doesn't compete with green's "savings"
   association, and amber was avoided deliberately (already means "caution"
   elsewhere on this site from earlier color decisions). */
.tdp-route__badge--overall{background:#264265}
.tdp-route__why{font-size:11px;color:#64748b;margin-top:5px;line-height:1.4}
.tdp-route--jewelry img.tdp-route__img {
    height: 110px;
}