:root {
	--jdu-accent: #4c1739;
	--jdu-gold: #b78a3d;
	--jdu-dark: #211c20;
	--jdu-bg: #f5f5f5;
	--jdu-surface: #fff;
	--jdu-border: #e6d8c9;
	--jdu-muted: #666;
	--jdu-shell: 1180px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--jdu-bg); color: #292929; font: 16px/1.6 Arial, Helvetica, sans-serif; }
a { color: var(--jdu-accent); text-underline-offset: .16em; }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
button, .button { border: 0; border-radius: 4px; background: var(--jdu-accent); color: #fff; cursor: pointer; font-weight: 700; padding: .68rem 1rem; }
:focus-visible { outline: 3px solid #ffbf47; outline-offset: 2px; }
h1, h2, h3, h4 { color: var(--jdu-dark); line-height: 1.2; }
h1 { font-size: clamp(1.7rem, 3vw, 2.35rem); }
h2 { font-size: clamp(1.35rem, 2.2vw, 1.85rem); }
.site-shell { width: min(calc(100% - 2rem), var(--jdu-shell)); margin-inline: auto; }
.site-main { padding-block: 1.75rem 3.5rem; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { top: .5rem; left: .5rem; z-index: 100000; width: auto; height: auto; margin: 0; padding: .75rem 1rem; clip: auto; background: #fff; color: #111; white-space: normal; }

/* Approved Jewellery header shell. */
.wide-widget-area .widget { margin: 0; box-shadow: none; }
.announcement-area { min-height: 32px; background: var(--jdu-accent); color: #fff; font-size: 12px; text-align: center; text-transform: uppercase; letter-spacing: .05em; }
.announcement-area > p, .announcement-area .widget { margin: 0; padding: 6px 1rem; line-height: 20px; background: transparent; }
.announcement-area a { color: #fff; }
.site-header { background: #fff; color: var(--jdu-dark); border-bottom: 1px solid var(--jdu-border); }
.site-headrow { display: flex; justify-content: center; align-items: center; width: min(90%, 1440px); min-height: 96px; margin: auto; }
.site-title { display: flex; flex-direction: column; align-items: center; max-width: 100%; color: var(--jdu-accent); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(25px, 3vw, 40px); font-weight: 400; line-height: 1.06; letter-spacing: .08em; text-align: center; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.brand-diamond { color: var(--jdu-gold); font-size: .75em; line-height: 1; }
.primary-navigation { overflow-x: auto; scrollbar-width: thin; }
.primary-navigation ul { display: flex; justify-content: center; gap: 34px; width: max-content; min-width: 100%; margin: 0; padding: 0 18px 17px; list-style: none; }
.primary-navigation li { flex: 0 0 auto; }
.primary-navigation a { display: block; padding: 5px 0; color: var(--jdu-dark); font-size: 12px; font-weight: 700; letter-spacing: .045em; text-decoration: none; }
.primary-navigation a:hover, .primary-navigation a:focus, .primary-navigation .current-menu-item > a { color: var(--jdu-accent); text-decoration: underline; text-decoration-color: var(--jdu-gold); text-underline-offset: 6px; }
.header-wide-area { padding-block: .75rem; }
.context-hero { position: relative; height: 112px; overflow: hidden; background: #e9e3df var(--jdu-context-hero-image) center/cover no-repeat; }
.context-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(255 255 255 / 5%), rgb(76 23 57 / 5%)); }
.context-hero-icon { position: absolute; z-index: 1; top: 50%; right: max(5%, calc((100% - 1180px)/2)); transform: translateY(-50%); }
.context-icon { display: grid; place-items: center; width: 84px; height: 84px; padding: 10px; border: 1px solid rgb(184 135 58 / 42%); border-radius: 18px; background: rgb(255 250 248 / 94%); box-shadow: 0 7px 22px rgb(42 13 47 / 14%); }
.context-icon svg { width: 60px; height: 60px; }
body.single .context-hero, body.page .context-hero, body.search .context-hero, body.error404 .context-hero { height: 96px; }
.jdu-breadcrumbs { width: min(calc(100% - 2rem), var(--jdu-shell)); margin: .8rem auto 0; font-size: .8rem; }

/* Shared content. */
.section-title, .archive-header { border-bottom: 3px solid var(--jdu-accent); padding-bottom: .55rem; }
.home-intro { margin-bottom: 2rem; }
.home-products, .home-guides { padding-block: 1rem 2rem; }
.jd-home-products-read-more { margin: 0 0 19px; padding-bottom: .7rem; border-bottom: 1px solid var(--jdu-border); }
.jd-home-products-read-more summary { box-sizing: border-box; width: max-content; min-height: 44px; padding: 10px 4px; color: var(--jdu-accent); cursor: pointer; font-size: .86rem; font-weight: 700; }
.jd-home-products-read-more p { margin: .65rem 0 0; color: var(--jdu-muted); }
.jdu-home-buying-guide { margin-top: .8rem; padding: .9rem 1rem; border-left: 3px solid var(--jdu-accent); background: #fff; }
.jdu-home-buying-guide h3 { margin: 1rem 0 .35rem; color: var(--jdu-accent); font: 400 clamp(1.08rem,1.8vw,1.3rem)/1.25 Georgia, 'Times New Roman', serif; }
.jdu-home-buying-guide h3:first-child { margin-top: 0; }
.jdu-home-buying-guide p { margin: 0 0 .8rem; color: #333; }
.jdu-home-buying-guide p:last-child { margin-bottom: 0; }
.content-sidebar-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 2rem; align-items: start; }
.widget { margin-bottom: 1.5rem; padding: 1.15rem; background: #fff; box-shadow: 0 2px 12px rgb(0 0 0 / 8%); }
.widget-title { margin-top: 0; font-size: 1.2rem; border-bottom: 2px solid var(--jdu-accent); padding-bottom: .45rem; }
.post-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.post-card { overflow: hidden; background: #fff; border: 1px solid var(--jdu-border); box-shadow: 0 2px 12px rgb(0 0 0 / 8%); }
.post-card-image { display: block; aspect-ratio: 16/9; overflow: hidden; background: #eee; }
.post-card-image img { width: 100%; height: 100%; object-fit: cover; }
.post-card-content { padding: 1.1rem; }
.post-card-title { margin: 0 0 .6rem; font-size: 1.25rem; }
.post-card-title a { color: var(--jdu-dark); text-decoration: none; }
.post-card-meta, .entry-meta { color: var(--jdu-muted); font-size: .82rem; }

/* Product-first category, preserving the approved order and card character. */
.category-main { max-width: 1180px; }
.category-header { margin-bottom: 1.3rem; }
.category-header h1 { margin: 0 0 .55rem; padding-bottom: .45rem; border-bottom: 1px solid #c9c9c9; font-size: clamp(1.45rem,2.5vw,2rem); }
.category-intro > :first-child, .category-seo-text > :first-child { margin-top: 0; }
.category-intro p { margin: .45rem 0; }
.category-read-more { margin-top: .35rem; padding-bottom: .9rem; border-bottom: 1px solid #d6d6d6; }
.category-read-more summary { box-sizing: border-box; width: max-content; min-height: 44px; padding: 10px 4px; color: var(--jdu-accent); cursor: pointer; font-size: .86rem; font-weight: 700; }
.category-read-more summary::marker { font-size: .78em; }
.read-more-open { display: none; }
.category-read-more[open] .read-more-closed { display: none; }
.category-read-more[open] .read-more-open { display: inline; }
.category-seo-text { margin-top: .8rem; padding: 1rem 1.1rem; border-left: 3px solid var(--jdu-accent); background: #fff; }
.category-seo-text h2, .category-seo-text h3 { font-family: Georgia, 'Times New Roman', serif; color: var(--jdu-accent); }
.category-seo-text h2 { font-size: 1.4rem; }
.category-seo-text h3 { font-size: 1.1rem; }
.category-products { margin: 1rem 0 2.4rem; }
.jdu-product-zone { display: grid; grid-template-columns: minmax(0,2fr) minmax(260px,1fr); gap: 28px; align-items: start; }
.jdu-product-main, .jdu-product-sidebar { min-width: 0; border-radius: 18px; background: linear-gradient(145deg,#fff,#fbf1f2); box-shadow: 0 6px 22px rgb(76 23 57 / 9%); }
.jdu-product-main { padding: clamp(14px,2vw,22px); }
.jdu-product-sidebar { padding: 16px; }
.jdu-product-main > h2, .jdu-product-sidebar > h2 { margin: 0 0 14px; color: var(--jdu-accent); font: 400 clamp(1.3rem,2vw,1.7rem)/1.2 Georgia, 'Times New Roman', serif; }
.jdu-product-sidebar > h2 { font-size: 1.15rem; }
.category-products .jdu-products > .jdu-products__grid { display: grid; gap: 14px; }
.category-products .jdu-products--category > .jdu-products__grid,
.category-products .jdu-products--guide > .jdu-products__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.category-products .jdu-products--sidebar > .jdu-products__grid,
.category-products .jdu-products--guide_sidebar > .jdu-products__grid { grid-template-columns: minmax(0,1fr); }
.category-products .jdu-product-card { border: 1px solid #eadccf; border-radius: 13px; background: #fff; box-shadow: 0 3px 12px rgb(76 23 57 / 7%); }
.category-products .jdu-product-card .jdu-product-card__image-link { background: #fff; }
.category-products .jdu-product-main .jdu-product-card__title { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.jdu-product-sidebar .jdu-product-card { display: grid; grid-template-columns: 82px minmax(0,1fr); align-items: center; overflow: hidden; }
.category-products .jdu-product-sidebar .jdu-product-card__image-link { min-height: 0; padding: 8px; }
.category-products .jdu-product-sidebar .jdu-product-card__image { height: 74px; }
.jdu-product-sidebar .jdu-product-card__body { min-width: 0; padding: 10px 11px 10px 0; }
.jdu-product-sidebar .jdu-product-card__title { display: -webkit-box; overflow: hidden; margin-bottom: 5px; font-size: .78rem; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.jdu-product-sidebar .jdu-product-card__offer { margin-bottom: 7px; font-size: .72rem; }
.jdu-product-sidebar .jdu-product-card__button { min-height: 32px; padding: 5px 9px; font-size: .72rem; }
.jdu-product-card__body, .jdu-product-card__title, .jdu-product-card__button { min-width: 0; max-width: 100%; box-sizing: border-box; }
.jdu-products-empty { padding: 1rem; background: #fff; border: 1px solid var(--jdu-border); color: var(--jdu-muted); }

/* Existing Restorer illustration treatment for real guide posts. */
.category-guides { padding-top: .3rem; }
.category-guides .section-title { border: 0; color: var(--jdu-accent); font-family: Georgia, 'Times New Roman', serif; text-align: center; }
.guide-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; }
.guide-tile { min-width: 0; }
.guide-tile > a { position: relative; display: flex; flex-direction: column; align-items: center; min-height: 172px; padding: 15px 13px 27px; border: 1px solid #eadccf; border-radius: 14px; background: #fff; box-shadow: 0 5px 16px rgb(76 23 57 / 8%); color: var(--jdu-accent); text-align: center; text-decoration: none; }
.jdu-guide-icon { display: grid; place-items: center; width: 82px; height: 82px; border: 1px solid #eadccf; border-radius: 18px; background: linear-gradient(145deg,#fffaf4,#f0e2d5); }
.jdu-guide-icon svg { width: 58px; height: 58px; }
.guide-tile h3 { display: -webkit-box; overflow: hidden; margin: 10px 0 0; color: var(--jdu-accent); font: 400 15px/1.3 Georgia, 'Times New Roman', serif; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.guide-tile-arrow { position: absolute; right: 13px; bottom: 7px; color: var(--jdu-gold); font: 700 24px/1 Georgia,serif; }

/* Homepage product cards intentionally keep the accepted filled-button layout. */
.jdu-product-grid-home > .jdu-products > .jdu-products__grid,
.home-intro .jdu-products--home > .jdu-products__grid,
.jd-home-deals .jdu-products--home > .jdu-products__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; }
.home-intro .jdu-product-card, .jd-home-deals .jdu-product-card { background: #fff; }
.home-intro .jdu-product-card .jdu-product-card__image-link, .jd-home-deals .jdu-product-card .jdu-product-card__image-link { background: #fff; }
.jdu-product-grid-home .jdu-product-card__title { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }

/* Keep exact-keyword product titles compact inside individual guide content. */
body.single .entry-content .jdu-products--home .jdu-product-card__title { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

.entry-single { max-width: 820px; margin-inline: auto; padding: clamp(1rem,3vw,2.5rem); background: #fff; }
.entry-single.jdu-product-guide { max-width: none; }
.jdu-page-details { margin: 12px 0 24px; color: var(--jdu-muted); }
.jdu-page-details > summary { display: inline-flex; align-items: center; box-sizing: border-box; min-height: 44px; padding: 6px 4px; color: var(--jdu-accent); cursor: pointer; font-weight: 700; list-style: none; }
.jdu-page-details > summary::-webkit-details-marker { display: none; }
.jdu-page-details > summary::before { content: '▸'; margin-right: 7px; color: var(--jdu-gold); font-size: .8rem; }
.jdu-page-details[open] > summary::before { transform: rotate(90deg); }
.jdu-page-details[open] > summary { margin-bottom: 12px; }
/* Limit inner reading lines while retaining each full-width disclosure panel. */
.jdu-home-buying-guide > *,
.category-seo-text > *,
.jdu-page-details > :not(summary) { max-width: 75ch; }
.content-sidebar-layout .entry-single { max-width: none; margin: 0; }
.entry-header h1 { margin-top: 0; }
.entry-content { overflow-wrap: break-word; }
.entry-content iframe { max-width: 100%; }
.entry-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.entry-content th, .entry-content td { padding: .55rem; border: 1px solid var(--jdu-border); }
.alignfull { width: 100vw; margin-left: calc(50% - 50vw); }
.pagination, .nav-links { margin-top: 2rem; }
.site-footer { margin-top: 2rem; background: linear-gradient(135deg,#562d34 0%,#723c49 100%); color: #fff8f4; text-align: center; }
.site-footer a { color: #f3d3a3; }
.footer-widgets { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; padding-block: 2.25rem; }
.site-footer .widget { background: transparent; box-shadow: none; padding: 0; }
.footer-bottom { background: rgb(0 0 0 / 12%); }
.footer-bottom-inner { display: flex; flex-direction: column; align-items: center; gap: .35rem; padding-top: .75rem; }
.footer-bottom p { margin: 0; }
.footer-bottom ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .2rem .7rem; margin: 0; padding: 0; list-style: none; }
.footer-bottom li + li::before { content: '-'; margin-right: .7rem; color: #fff8f4; }
.footer-disclosure { margin: .55rem 0 0; padding-bottom: .8rem; font-size: .78rem; line-height: 1.35; }

@media (max-width: 980px) {
	.site-headrow { padding: 13px 5%; }
	.site-branding { order: 1; }
	.primary-navigation ul { gap: 25px; }
	.content-sidebar-layout { grid-template-columns: minmax(0,1fr); }
	.guide-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.jdu-product-grid-home > .jdu-products > .jdu-products__grid,
	.home-intro .jdu-products--home > .jdu-products__grid,
	.jd-home-deals .jdu-products--home > .jdu-products__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
	.jdu-product-zone { grid-template-columns: minmax(0,1fr); }
	.jdu-product-sidebar { width: min(100%,700px); }
}
@media (min-width: 901px) {
	.jdu-product-sidebar { position: sticky; top: 24px; width: auto; align-self: start; }
	.admin-bar .jdu-product-sidebar { top: 56px; }
}
@media (max-width: 680px) {
	.announcement-area { min-height: 28px; }
	.announcement-area > p, .announcement-area .widget { padding-block: 4px; }
	.site-title { margin-bottom: 6px; font-size: 23px; letter-spacing: .07em; white-space: nowrap; }
	.primary-navigation ul { gap: 21px; padding-bottom: 8px; }
	.context-hero, body.single .context-hero, body.page .context-hero, body.search .context-hero, body.error404 .context-hero { height: 72px; background-position: 42% 52%; }
	.context-icon { width: 58px; height: 58px; border-radius: 14px; }
	.context-icon svg { width: 44px; height: 44px; }
	.post-grid { grid-template-columns: minmax(0,1fr); }
	.guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
	.guide-tile > a { min-height: 146px; padding: 12px 9px 24px; }
	.jdu-guide-icon { width: 68px; height: 68px; }
	.jdu-guide-icon svg { width: 49px; height: 49px; }
	.guide-tile h3 { font-size: 14px; }
	.entry-content .wpcf7-form input[type="text"],
	.entry-content .wpcf7-form input[type="email"],
	.entry-content .wpcf7-form input[type="url"],
	.entry-content .wpcf7-form input[type="tel"],
	.entry-content .wpcf7-form input[type="number"],
	.entry-content .wpcf7-form input[type="date"],
	.entry-content .wpcf7-form textarea,
	.entry-content .wpcf7-form select { width: 100%; max-width: 100%; }
	.footer-widgets { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 540px) {
	.site-shell { width: min(calc(100% - 20px),var(--jdu-shell)); }
	.site-main { padding-block: 1.15rem 2.5rem; }
	.category-products .jdu-product-main .jdu-product-card__title { -webkit-line-clamp: 4; }
	.jdu-product-grid-home .jdu-product-card__title { -webkit-line-clamp: 4; }
	.category-products .jdu-products--category > .jdu-products__grid,
	.category-products .jdu-products--sidebar > .jdu-products__grid,
	.category-products .jdu-products--guide > .jdu-products__grid,
	.category-products .jdu-products--guide_sidebar > .jdu-products__grid { grid-template-columns: minmax(0,1fr); }
	.category-products .jdu-product-sidebar .jdu-product-card { display: grid; grid-template-columns: 104px minmax(0,1fr); align-items: center; overflow: hidden; }
	.category-products .jdu-product-sidebar .jdu-product-card__image-link { min-height: 0; padding: 8px; }
	.category-products .jdu-product-sidebar .jdu-product-card__image { height: 112px; }
	.category-products .jdu-product-sidebar .jdu-product-card__body { min-width: 0; padding: 10px 10px 10px 0; }
	.category-products .jdu-product-sidebar .jdu-product-card__title { display: -webkit-box; overflow: hidden; margin-bottom: 5px; font-size: .84rem; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
	.category-products .jdu-product-sidebar .jdu-product-card__offer { margin-bottom: 6px; font-size: .72rem; }
	.category-products .jdu-product-sidebar .jdu-product-card__button { width: auto; min-height: 34px; padding: 6px 10px; font-size: .74rem; }
	.jdu-product-grid-home > .jdu-products > .jdu-products__grid,
	.home-intro .jdu-products--home > .jdu-products__grid,
	.jd-home-deals .jdu-products--home > .jdu-products__grid { grid-template-columns: minmax(0,1fr); }
	.footer-bottom ul { font-size: .82rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }
@media(max-width:540px){.jdu-product-grid-home > .jdu-products.jdu-products--inspiration > .jdu-products__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media (max-width: 360px) {
	.site-title { white-space: normal; }
	.site-title > span:last-child { overflow-wrap: break-word; }
}

/* Keep the existing contact form fields usable at every viewport. */
.entry-content .wpcf7 form { max-width: 42rem; }
.entry-content .wpcf7 label,
.entry-content .wpcf7 .wpcf7-form-control-wrap { display: block; }
.entry-content .wpcf7 .wpcf7-form-control-wrap { margin-top: .4rem; }
.entry-content .wpcf7 input[type="text"],
.entry-content .wpcf7 input[type="email"],
.entry-content .wpcf7 input[type="tel"],
.entry-content .wpcf7 input[type="url"],
.entry-content .wpcf7 select,
.entry-content .wpcf7 textarea { box-sizing: border-box; width: 100%; max-width: 100%; padding: .75rem; border: 1px solid var(--jdu-border); border-radius: .3rem; background: #fff; color: var(--jdu-dark); font: inherit; }
.entry-content .wpcf7 textarea { min-height: 12rem; resize: vertical; }
.entry-content .wpcf7 input[type="submit"] { min-height: 44px; padding: .75rem 1.5rem; border: 0; border-radius: .3rem; background: var(--jdu-accent); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.entry-content .wpcf7 input:focus-visible,
.entry-content .wpcf7 textarea:focus-visible,
.entry-content .wpcf7 select:focus-visible { outline: 2px solid var(--jdu-accent); outline-offset: 3px; }

/* Mobile navigation: expose every section without a hidden horizontal gesture. */
@media (max-width: 680px) {
	.primary-navigation { overflow-x: visible; }
	.primary-navigation ul { width: 100%; min-width: 0; flex-wrap: wrap; justify-content: center; gap: 1px 17px; padding: 0 12px 8px; }
	.primary-navigation a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; }
}
