/* Restore the original Crown product and community components. */
:root {
  --color-foreground: #111811;
  --color-background: #fff;
  --font-body--family: Inter, Arial, sans-serif;
  --page-width: 1440px;
  --page-margin: 40px;
}

.product-layout {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  max-width: 1840px;
  padding: 20px 40px 55px;
}
.product-gallery__grid {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px;}
.product-gallery__image {display: block; width: 100%; aspect-ratio: 1; padding: 0; border: 0; background: #fff; overflow: hidden; cursor: zoom-in;}
.product-gallery__image img {display: block; width: 100%; height: 100%; object-fit: contain;}
.product-thumbs {display: none;}
.product-info {min-width: 0; padding: 0;}
.product-info h1 {font-size: 36px; line-height: 1.15; margin: 14px 0 18px;}
.product-rating {display: flex; flex-wrap: wrap; align-items: center; gap: 9px; font-size: 12px; line-height: 1.4; color: #111;}
.product-rating .review-stars {gap: 2px;}
.product-rating .review-stars i {width: 14px; height: 14px; font-size: 11px;}
.price-large {font-size: 14px; padding-bottom: 18px; margin-bottom: 16px; border-bottom: 1px solid #efefec;}
.buy-button, .sticky-buy .primary-button {display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 14px; font-weight: 400;}
.buy-button svg, .sticky-buy .primary-button svg {width: 20px; height: 20px; flex-shrink: 0;}
.buy-button {width: 100%; margin: 0; min-height: 52px;}
.product-info .secure-pay {width: 100%; margin: 8px 0 18px; padding: 0;}
.secure-pay__icons {gap: 6px;}
.secure-pay__icon {height: 22px; width: auto; max-width: none; flex-shrink: 0;}
.product-info .ship-route {width: 100%; margin: 0 0 24px; border-color: #dedfda; border-left-color: #111811;}
.ship-route__eyebrow {font-size: 10px;}
.ship-route__logo svg {display: block; width: 52px; height: 18px;}
.ship-route__step-label {font-size: 11px;}
.ship-route__step-label--date {font-size: 13px;}
.ship-route__secure {font-size: 11px;}
.prod-highlights {margin: 8px 0 24px;}
.prod-highlights__title {font-family: Inter, Arial, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .06em; margin: 0;}
.prod-highlights__desc {font-size: 13px; line-height: 1.45; margin: 3px 0 0;}

.product-details {color: #222; font-size: 14px; line-height: 1.6; overflow-wrap: break-word;}
.product-details :is(h2, h3) {font-family: Playfair, Georgia, serif; font-size: 24px; font-weight: 400; line-height: 1.3; margin: 16px 0 22px; border-left: 4px solid #111; padding: 8px 0 8px 14px;}
.product-details h4 {font-size: 14px; margin: 12px 0 6px;}
.product-details p {margin: 14px 0;}
.product-details img {display: block; width: 100%; height: auto; margin: 18px 0 28px;}
.product-details :is(h2, h3):has(> img) {border: 0; padding: 0;}
.product-details :is(table, tbody, tr) {width: 100%; font-size: 14px; line-height: 1.4;}
.product-details table {border-collapse: collapse; margin-bottom: 30px;}
.product-details :is(th, td) {padding: 14px 0; text-align: left; vertical-align: top; border-bottom: 1px solid #dedfda;}
.product-details :is(th, td):first-child {font-weight: 700; width: 45%; padding-right: 14px;}
.product-details td p {margin: 0;}
.product-details .content-block {margin-bottom: 24px;}
.product-details .lux-row {display: grid; grid-template-columns: 45% 1fr; gap: 14px; padding: 14px 0; border-bottom: 1px solid #dedfda; line-height: 1.4;}
.product-details .lux-row span {font-weight: 700;}
.product-details .lux-row strong {font-weight: 400;}
.product-details .lux-section {margin-bottom: 24px;}
.product-details .lux-badges {display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 24px;}
.product-details .lux-badges span {padding: 5px 9px; border: 1px solid #dedfda; border-radius: 20px; font-size: 11px;}
.product-details ul, .product-details ol {padding-left: 20px;}
.product-details li {margin: 5px 0;}
.product-details .section-divider {height: 1px; background: #dedfda; margin-top: 30px;}
.sticky-buy {max-width: 760px;}
.sticky-buy > .sticky-buy__title {flex: 1; min-width: 0;}
.sticky-buy .price {flex-shrink: 0;}
.sticky-buy .price .discount, .sticky-buy .primary-button span {flex: none; overflow: visible;}
.sticky-buy .primary-button {flex-shrink: 0;}
.gallery-dialog {position: fixed; width: min(94vw, 1000px); height: 92svh; padding: 30px; border: 0; background: #fff;}
.gallery-dialog::backdrop {background: #0009;}
.gallery-dialog > img {display: block; width: 100%; height: 100%; object-fit: contain;}
.gallery-dialog > button {position: absolute; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #ddd; border-radius: 50%; background: #fff; color: #111;}
.gallery-close {right: 12px; top: 12px; font-size: 28px;}
.gallery-previous {left: 12px; top: 50%;}
.gallery-next {right: 12px; top: 50%;}
.gallery-dialog svg {width: 22px; height: 22px;}
.gallery-previous svg {transform: rotate(180deg);}

.community {max-width: 960px; margin: auto; padding: 48px 40px 72px;}
.community-heading {text-align: center; margin-bottom: 42px;}
.community-heading h2 {font-size: 36px; line-height: 1.2;}
.community-heading p {font-size: 12px; color: #7d838e; letter-spacing: .18em; margin-top: 12px;}
.community-carousel {position: relative; margin-inline: 60px;}
.community-track {display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: 12px;}
.community-track::-webkit-scrollbar {display: none;}
.community-card {position: relative; flex: 0 0 calc((100% - 36px) / 3); aspect-ratio: 9 / 16; min-width: 0; overflow: hidden; border-radius: 12px; background: #28322a; scroll-snap-align: center;}
.community-card video {display: block; width: 100%; height: 100%; object-fit: cover;}
.community-copy {position: absolute; bottom: 0; left: 0; right: 0; padding: 74px 20px 20px; background: linear-gradient(transparent, #000b); color: #fff;}
.community-customer {display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 16px; font-weight: 700; line-height: 1.35; text-transform: uppercase; margin-bottom: 6px;}
.community-customer b {font-size: 10px; background: #292929bf; border-radius: 4px; padding: 3px 6px; white-space: nowrap;}
.community-copy h3 {font-family: Inter, Arial, sans-serif; font-size: 13px; font-weight: 700; line-height: 1.4; text-transform: uppercase; opacity: .85; margin: 0 0 16px;}
.community-copy a {display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 13px 16px; border-radius: 5px; background: #151515e0; font-size: 12px; font-weight: 700; text-transform: uppercase;}
.community-arrow {position: absolute; top: 45%; display: grid; place-items: center; width: 50px; height: 50px; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 3px 10px #0002; color: #111;}
.community-arrow svg {width: 22px; height: 22px;}
.community-arrow--previous {left: -65px;}
.community-arrow--previous svg {transform: rotate(180deg);}
.community-arrow--next {right: -65px;}

.trust-badges__title {font-family: Inter, Arial, sans-serif; font-size: 15px; font-weight: 700; letter-spacing: .04em;}
.trust-badges__text {font-size: 14px;}
.facade-banner__text p {font-size: 16px; line-height: 1.75;}
.images-scrolling {margin: 32px 0 0;}
.images-scrolling__content-area {min-width: 0; padding-bottom: 45px;}
.images-scrolling__media-frame {max-width: 52%;}
.images-scrolling__heading {font-family: Playfair, Georgia, serif; font-size: 40px; line-height: 1.15; font-weight: 400; margin: 0 0 16px;}
.images-scrolling__text p {font-size: 15px; line-height: 1.65; margin: 0 0 14px;}
.images-scrolling__dots {position: absolute; bottom: 0; left: 0; margin: 0;}
.images-scrolling__dot {position: relative; height: 24px; background: none;}
.images-scrolling__dot::after {content: ''; position: absolute; top: 10px; left: 0; right: 0; height: 3px; background: #c9ccc6;}
.images-scrolling__dot.is-active {background: none;}
.images-scrolling__dot.is-active::after {background: #111811;}

@media (min-width: 761px) and (max-width: 1100px) {
  .product-layout {grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 20px; padding-inline: 24px;}
  .product-gallery__grid {grid-template-columns: 1fr;}
  .product-info h1 {font-size: 30px;}
}
@media (max-width: 989px) {
  .images-scrolling__heading {font-size: 30px;}
  .images-scrolling__track {padding-bottom: 24px;}
}
@media (max-width: 760px) {
  :root {--page-margin: 20px;}
  .product-layout {display: block; padding: 8px 0 28px;}
  .product-gallery__grid {display: flex; position: relative; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;}
  .product-gallery__grid::-webkit-scrollbar {display: none;}
  .product-gallery__image {flex: 0 0 100%; scroll-snap-align: start;}
  .product-thumbs {display: flex; padding: 12px 20px;}
  .product-thumbs button {flex-basis: 52px; height: 52px;}
  .product-info {padding: 18px 20px 0;}
  .product-info h1 {font-size: 32px;}
  .product-rating {font-size: 11px; gap: 7px;}
  .ship-route__step-label {font-size: 10px;}
  .ship-route__step-label--date {font-size: 11px;}
  .sticky-buy > .sticky-buy__title {font-size: 11px;}
  .sticky-buy .price {gap: 3px; font-size: 10px; max-width: 110px;}
  .sticky-buy .price s {font-size: 9px;}
  .sticky-buy .price .discount {font-size: 9px; padding: 1px 3px;}
  .sticky-buy .primary-button {font-size: 11px; gap: 4px; padding: 8px;}
  .sticky-buy .primary-button svg {width: 17px; height: 17px;}
  .community {padding: 45px 18px 56px;}
  .community-heading {margin-bottom: 28px;}
  .community-heading h2 {font-size: 30px;}
  .community-heading p {font-size: 10px;}
  .community-carousel {margin-inline: 12px;}
  .community-track {gap: 14px;}
  .community-card {flex-basis: 78%; aspect-ratio: 9 / 15;}
  .community-arrow {width: 36px; height: 36px;}
  .community-arrow--previous {left: -23px;}
  .community-arrow--next {right: -23px;}
  .trust-badges__title {font-size: 12px;}
  .trust-badges__text {font-size: 12px;}
  .facade-banner__text p {font-size: 15px;}
  .gallery-dialog {padding: 30px 0;}
}
@media (prefers-reduced-motion: reduce) {
  .ship-route__line-glow, .ship-route__dot-ring, .ship-route__live {animation: none;}
  .images-scrolling__media, .images-scrolling__content {transition: none;}
}
