/* Shopping sections only. Original homepage, header and footer keep their own CSS. */
.kzh-shopping{--kzh-burgundy:#351211;--kzh-ink:#211a18;--kzh-ivory:#f8f6f2;--kzh-line:rgba(53,18,17,.18);color:var(--kzh-ink);background:#fff;font-family:Jost,sans-serif}
.kzh-shopping *{box-sizing:border-box}
.kzh-shopping .kzh-inner{width:min(1320px,calc(100% - 96px));margin:0 auto}
.kzh-shopping .kzh-section{padding:40px 0}
.kzh-shopping h2,.kzh-shopping h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;letter-spacing:0;line-height:1.15;text-transform:none;color:var(--kzh-burgundy);margin:0}
.kzh-shopping h2{font-size:34px}
.kzh-shopping h3{font-size:23px}
.kzh-shopping a{color:inherit}
.kzh-shopping a:focus-visible{outline:2px solid #bfa277;outline-offset:4px}
.kzh-shopping img{display:block;max-width:100%}
.kzh-shopping .kzh-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.kzh-shopping .kzh-text-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px;text-decoration:underline;text-underline-offset:5px;white-space:nowrap}
.kzh-shopping .kzh-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.kzh-shopping .kzh-tile{text-align:center;min-width:0;text-decoration:none}
.kzh-shopping .kzh-tile-media{aspect-ratio:1;overflow:hidden}
.kzh-shopping .kzh-tile-media img{width:100%;height:100%;object-fit:contain}
.kzh-shopping .kzh-tile>span{display:block;padding:12px 0 0;font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;line-height:1.2}
.kzh-shopping .kzh-shapes{padding:28px 0}
.kzh-shopping .kzh-shapes .kzh-section-heading{margin-bottom:16px}
.kzh-shopping .kzh-shapes .kzh-tiles{grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}
.kzh-shopping .kzh-shapes .kzh-tile-media{width:64px;height:64px;margin:auto}
.kzh-shopping .kzh-shapes .kzh-tile>span{font-family:Jost,sans-serif;font-size:13px;padding:10px 0 0}
.kzh-shopping .kzh-categories{background:var(--kzh-ivory)}
.kzh-shopping .kzh-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.kzh-shopping .kzh-product{text-align:center;min-width:0}
.kzh-shopping .kzh-product-link{display:block;text-decoration:none}
.kzh-shopping .kzh-product-link:hover h3{text-decoration:underline;text-underline-offset:4px}
.kzh-shopping .kzh-product-media{aspect-ratio:1;overflow:hidden;background:#fff}
.kzh-shopping .kzh-product-media img{width:100%;height:100%;object-fit:contain}
.kzh-shopping .kzh-product h3{margin:14px 0 8px;min-height:54px}
.kzh-shopping .kzh-price{font-size:14px;line-height:1.5;margin:6px 0}
.kzh-shopping .kzh-small{font-size:12px;line-height:1.5;color:#70625d;margin:8px 0 0}
.kzh-shopping .kzh-swatches{display:flex;justify-content:center;gap:2px;flex-wrap:wrap}
.kzh-shopping .kzh-swatch{display:flex;align-items:center;justify-content:center;width:40px;height:40px}
.kzh-shopping .kzh-swatch span{display:block;width:19px;height:19px;border:1px solid #c4b59e;border-radius:50%}
.kzh-shopping .kzh-swatch.is-selected span{outline:1px solid var(--kzh-burgundy);outline-offset:3px}
.kzh-shopping .kzh-chips{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 24px}
.kzh-shopping .kzh-chip{display:inline-flex;align-items:center;min-height:44px;border:1px solid var(--kzh-line);padding:10px 16px;font-size:12px;text-decoration:none}
.kzh-shopping .kzh-chip:hover{background:var(--kzh-ivory)}
.kzh-shopping .kzh-builder{padding:28px 0;background:var(--kzh-burgundy);color:var(--kzh-ivory)}
.kzh-shopping .kzh-builder .kzh-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.kzh-shopping .kzh-builder h2{color:var(--kzh-ivory)}
.kzh-shopping .kzh-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.kzh-shopping .kzh-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 22px;font:500 12px/1.5 Jost,sans-serif;letter-spacing:.03em;text-decoration:none;border:1px solid var(--kzh-ivory);border-radius:0}
.kzh-shopping .kzh-button-light{background:var(--kzh-ivory);color:var(--kzh-burgundy)}
.kzh-shopping .kzh-button-light-outline{color:var(--kzh-ivory);background:transparent}
.kzh-shopping .kzh-gemstones{background:var(--kzh-ivory)}
.kzh-shopping .kzh-gemstones .kzh-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:860px;margin:auto}
.kzh-shopping .kzh-gemstones .kzh-tile-media{height:170px;aspect-ratio:auto}
.kzh-shopping .kzh-colours{display:flex;justify-content:center;gap:30px;margin-top:16px;font-size:12px}
.kzh-shopping .kzh-colours a{display:flex;align-items:center;min-height:44px;gap:8px}
.kzh-shopping .kzh-colours span{width:12px;height:12px;border-radius:50%}
@media(max-width:1050px){.kzh-shopping .kzh-inner{width:calc(100% - 56px)}.kzh-shopping .kzh-tiles{gap:12px}.kzh-shopping .kzh-tile>span{font-size:19px}.kzh-shopping .kzh-product h3{font-size:21px}}
@media(max-width:767px){
.kzh-shopping .kzh-inner{width:calc(100% - 36px)}
.kzh-shopping .kzh-section{padding:28px 0}
.kzh-shopping h2{font-size:27px}
.kzh-shopping .kzh-section-heading{gap:12px;margin-bottom:18px}
.kzh-shopping .kzh-text-link{font-size:12px}
.kzh-shopping .kzh-shapes{padding:24px 0}
.kzh-shopping .kzh-shapes .kzh-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 8px}
.kzh-shopping .kzh-shapes .kzh-tile-media{width:52px;height:52px}
.kzh-shopping .kzh-shapes .kzh-tile>span{font-size:12px;padding-top:8px}
.kzh-shopping .kzh-categories .kzh-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
.kzh-shopping .kzh-tile>span{font-size:20px;padding-top:10px}
.kzh-shopping .kzh-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
.kzh-shopping .kzh-product h3{font-size:20px;min-height:48px;margin:12px 0 6px;overflow-wrap:break-word}
.kzh-shopping .kzh-price{font-size:12px}
.kzh-shopping .kzh-swatch{width:32px;height:38px}
.kzh-shopping .kzh-swatch span{width:17px;height:17px}
.kzh-shopping .kzh-builder .kzh-inner{flex-direction:column;align-items:stretch;gap:20px}
.kzh-shopping .kzh-builder .kzh-actions{flex-wrap:nowrap;gap:10px}
.kzh-shopping .kzh-builder .kzh-button{flex:1;padding:12px 10px;text-align:center}
.kzh-shopping .kzh-gemstones .kzh-tiles{gap:10px}
.kzh-shopping .kzh-gemstones .kzh-tile-media{height:100px}
.kzh-shopping .kzh-gemstones .kzh-tile>span{font-size:20px}
.kzh-shopping .kzh-colours{display:none}
}

/* Original carousel layout with bare chevrons, shared by shopping rows. */
.kzh-shopping .kzh-carousel{--kzh-columns:3;--kzh-gap:28px;position:relative;width:100%;padding:0 56px;min-width:0}
.kzh-shopping .kzh-carousel .kzh-carousel-track{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--kzh-columns) - 1)*var(--kzh-gap))/var(--kzh-columns));gap:var(--kzh-gap);width:100%;margin:0;padding:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.kzh-shopping .kzh-carousel-track::-webkit-scrollbar{display:none}
.kzh-shopping .kzh-carousel-track>*{scroll-snap-align:start;min-width:0}
.kzh-shopping .kzh-carousel-track:focus-visible{outline:1px solid #bfa277;outline-offset:4px}
.kzh-shopping .kzh-carousel-controls{position:absolute;inset:0;pointer-events:none}
.kzh-shopping .kzh-carousel-controls[hidden]{display:none}
.kzh-shopping .kzh-carousel-arrow{position:absolute;top:42%;z-index:5;appearance:none;display:flex!important;align-items:center;justify-content:center;width:44px!important;height:44px!important;min-width:44px!important;margin:0!important;padding:0 0 4px!important;border:0!important;border-radius:0!important;color:#351211!important;background:transparent!important;box-shadow:none!important;font-family:Georgia,serif!important;font-size:30px!important;font-weight:400!important;line-height:1!important;cursor:pointer;transform:translateY(-50%);pointer-events:auto}
.kzh-shopping .kzh-carousel-arrow:hover{color:#351211!important;background:transparent!important;opacity:.65}
.kzh-shopping .kzh-carousel-arrow:focus-visible{outline:1px solid #bfa277;outline-offset:2px}
.kzh-shopping .kzh-carousel-arrow[data-kzh-direction=prev]{left:0}
.kzh-shopping .kzh-carousel-arrow[data-kzh-direction=next]{right:0}
.kzh-shopping .kzh-shapes .kzh-carousel{--kzh-columns:6;--kzh-gap:12px}
.kzh-shopping .kzh-categories .kzh-carousel{--kzh-columns:5;--kzh-gap:18px}
.kzh-shopping .kzh-gemstones .kzh-carousel{--kzh-columns:3;--kzh-gap:22px}
@media(max-width:1023px){
 .kzh-shopping .kzh-carousel{--kzh-columns:2;--kzh-gap:20px;padding:0 52px}
 .kzh-shopping .kzh-shapes .kzh-carousel{--kzh-columns:4}
 .kzh-shopping .kzh-categories .kzh-carousel{--kzh-columns:3}
 .kzh-shopping .kzh-gemstones .kzh-carousel{--kzh-columns:2}
}
@media(max-width:699px){
 .kzh-shopping .kzh-carousel{--kzh-columns:1;--kzh-gap:0px;padding:0}
 .kzh-shopping .kzh-categories .kzh-carousel{--kzh-columns:2;--kzh-gap:12px}
 .kzh-shopping .kzh-shapes .kzh-carousel{--kzh-columns:4;--kzh-gap:12px}
 .kzh-shopping .kzh-gemstones .kzh-carousel{--kzh-columns:1;--kzh-gap:0px}
 .kzh-shopping .kzh-carousel-arrow{top:43%;width:40px!important;height:40px!important;min-width:40px!important}
 .kzh-shopping .kzh-carousel-arrow[data-kzh-direction=prev]{left:8px}
 .kzh-shopping .kzh-carousel-arrow[data-kzh-direction=next]{right:8px}
}
@media(prefers-reduced-motion:reduce){.kzh-shopping .kzh-carousel .kzh-carousel-track{scroll-behavior:auto}}

/* Give shape navigation its own space so chevrons never sit on the artwork. */
.kzh-shopping .kzh-shapes .kzh-carousel-arrow{top:32px}
@media(max-width:699px){
 .kzh-shopping .kzh-shapes .kzh-carousel{padding:0 40px}
 .kzh-shopping .kzh-shapes .kzh-carousel-arrow{top:26px}
 .kzh-shopping .kzh-shapes .kzh-carousel-arrow[data-kzh-direction=prev]{left:0}
 .kzh-shopping .kzh-shapes .kzh-carousel-arrow[data-kzh-direction=next]{right:0}
}
@media(max-width:399px){.kzh-shopping .kzh-shapes .kzh-carousel{--kzh-columns:3}}

/* Reuse the exact SVG finishes from the native engagement/wedding metal controls. */
.kzh-metal-swatches,.kzh-shopping .kzh-metal-swatches{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px;margin:8px 0;padding:0}
.kzh-metal-swatches .kzh-swatch,.kzh-shopping .kzh-metal-swatches .kzh-swatch{box-sizing:border-box;display:flex!important;align-items:center;justify-content:center;width:37px!important;height:37px!important;min-width:37px;padding:4px!important;border:1px solid transparent!important;border-radius:50%;background:transparent!important;text-decoration:none!important;box-shadow:none!important}
.kzh-metal-swatches .kzh-swatch span,.kzh-shopping .kzh-metal-swatches .kzh-swatch span{display:block;width:27px;height:27px;border:0;border-radius:50%;outline:0;background-repeat:no-repeat;background-position:center;background-size:100% 100%}
.kzh-metal-swatches .kzh-swatch.is-selected,.kzh-metal-swatches .kzh-swatch:hover,.kzh-shopping .kzh-metal-swatches .kzh-swatch.is-selected,.kzh-shopping .kzh-metal-swatches .kzh-swatch:hover{border-color:#351211!important}
.kzh-metal-swatches .kzh-swatch:focus-visible{outline:2px solid #351211;outline-offset:2px}
.kzh-metal-swatches .kzh-metal-yellow span{background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='20' cy='20' r='20' fill='url(%23paint0_linear_2195_208)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_2195_208' x1='5.4203e-07' y1='3' x2='37.5' y2='37.5' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F6D04B'/%3E%3Cstop offset='0.5' stop-color='%23FFF8DA'/%3E%3Cstop offset='1' stop-color='%23F6D04B'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A")}
.kzh-metal-swatches .kzh-metal-white span{background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='20' cy='20' r='20' fill='url(%23paint0_linear_2195_210)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_2195_210' x1='5.4203e-07' y1='3' x2='37.5' y2='37.5' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23D9D9D9'/%3E%3Cstop offset='0.5' stop-color='%23FFFEFE'/%3E%3Cstop offset='1' stop-color='%23D9D9D9'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A")}
.kzh-metal-swatches .kzh-metal-platinum span{background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='20' cy='20' r='20' fill='url(%23paint0_linear_2195_212)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_2195_212' x1='5.4203e-07' y1='3' x2='37.5' y2='37.5' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23C0C0C0'/%3E%3Cstop offset='0.5' stop-color='%23F3F3F3'/%3E%3Cstop offset='1' stop-color='%23C0C0C0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A")}
.kzh-metal-swatches .kzh-metal-rose span{background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='20' cy='20' r='20' fill='url(%23paint0_linear_2195_211)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_2195_211' x1='5.4203e-07' y1='3' x2='37.5' y2='37.5' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23E8BBA1'/%3E%3Cstop offset='0.5' stop-color='%23FFEDEA'/%3E%3Cstop offset='1' stop-color='%23E8BBA0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A")}

/* Restore the original gemstone product carousel's image scale, type and collection CTA. */
.kzh-shopping .kzh-gemstones-original{background:#fff;padding:52px 0 64px}
.kzh-shopping .kzh-gemstones-original .kzh-gemstone-heading{margin:0 0 38px;color:#303e47;font-family:Cinzel,Georgia,serif;font-size:clamp(30px,3vw,44px);font-weight:400;line-height:1.2;letter-spacing:0;text-align:center;text-transform:none}
.kzh-shopping .kzh-gemstones-original .kzh-carousel{--kzh-columns:3;--kzh-gap:28px}
.kzh-shopping .kzh-gemstone-card{display:flex;flex-direction:column;min-width:0;height:100%;margin:0;text-align:center}
.kzh-shopping .kzh-gemstone-image{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;overflow:hidden;background:#fff;text-decoration:none}
.kzh-shopping .kzh-gemstone-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;box-shadow:none}
.kzh-shopping .kzh-gemstones-original .kzh-gemstone-name{display:flex;align-items:flex-start;justify-content:center;min-height:3.9em;margin:18px 0 8px;font-family:Cinzel,Georgia,serif;font-size:clamp(19px,1.5vw,24px);font-weight:400;line-height:1.3;letter-spacing:0;text-transform:none}
.kzh-shopping .kzh-gemstone-name a{color:#303e47;text-decoration:none}
.kzh-shopping .kzh-gemstone-price{margin:auto 0 0;color:#351211;font:400 15px/1.4 Jost,sans-serif;text-align:center}
.kzh-shopping .kzh-gemstone-footer{text-align:center}
.kzh-shopping .kzh-gemstone-all{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:49px;margin-top:38px;padding:13px 34px;border:1px solid #351211;color:#351211;font:400 14px/1.3 Jost,sans-serif;letter-spacing:1.4px;text-transform:uppercase;text-decoration:none}
.kzh-shopping .kzh-gemstone-all:hover{color:#fff;background:#351211}
@media(max-width:1023px){
 .kzh-shopping .kzh-gemstones-original{padding:44px 0 54px}
 .kzh-shopping .kzh-gemstones-original .kzh-carousel{--kzh-columns:2;--kzh-gap:20px}
}
@media(max-width:699px){
 .kzh-shopping .kzh-gemstones-original{padding:36px 0 46px}
 .kzh-shopping .kzh-gemstones-original .kzh-gemstone-heading{margin-bottom:28px;font-size:30px}
 .kzh-shopping .kzh-gemstones-original .kzh-carousel{--kzh-columns:1;--kzh-gap:0px}
 .kzh-shopping .kzh-gemstone-all{margin-top:28px;padding:13px 24px;font-size:12px}
}

/* Official Instagram embeds: one complete card per mobile swipe, with room for the full post. */
.kzh-instagram-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.kzh-instagram-post{min-width:0;container-type:inline-size}
.kzh-instagram-post iframe{display:block;box-sizing:border-box;border:1px solid var(--kzh-line);width:100%;height:760px;background:#fff}
@supports(height:1cqw){.kzh-instagram-post iframe{height:calc(125cqw + 220px)}}
@media(max-width:1024px){.kzh-instagram-grid{gap:12px}}
@media(max-width:767px){.kzh-instagram-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding-bottom:8px}.kzh-instagram-post{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}}
