/** Shopify CDN: Minification failed

Line 703:0 Expected "}" to go with "{"

**/
.df-page-shell {
  background: #fff;
  color: #171717;
  font-family: Poppins, Arial, sans-serif;
}

/* Product detail parity pass */
.df-product-page { padding-bottom: 100px; font-family: Poppins, Arial, sans-serif; }
.df-product-breadcrumbs { width: min(1460px, calc(100% - 48px)); height: 54px; gap: 8px; color: #555; font-size: 13px; }
.df-product-breadcrumbs a { color: #161616; text-decoration: none; }
.df-product-main { grid-template-columns: minmax(650px, 730px) minmax(410px, 570px); gap: clamp(42px, 5vw, 78px); width: min(1390px, calc(100% - 48px)); min-height: 540px; align-items: start; }
.df-product-gallery { grid-template-columns: 180px minmax(0, 530px); gap: 14px; width: 100%; height: 530px; }
.df-product-thumbs { height: 530px; gap: 12px; }
.df-product-thumbs a { position: relative; flex-basis: 178px; width: 178px; height: 178px; background: #f6f6f6; transition: border-color .2s ease, opacity .2s ease; }
.df-product-thumbs a:not(.is-active) { opacity: .8; }
.df-product-thumbs a.is-active, .df-product-thumbs a:hover { border-color: #171717; opacity: 1; }
.df-product-thumb-play { position: absolute; inset: 50% auto auto 50%; display: grid; width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.9); place-items: center; transform: translate(-50%,-50%); font-size: 12px; }
.df-product-main__media { width: 100%; height: 530px; background: #f6f6f6; }
.df-product-main__media figure { position: relative; flex-basis: 100%; width: 100%; height: 530px; }
.df-product-main__media figure > a { position: relative; display: block; width: 100%; height: 100%; }
.df-product-main__media img, .df-product-main__media video, .df-product-main__media iframe, .df-product-media-placeholder svg { width: 100%; height: 100%; object-fit: contain; background: #f6f6f6; }
.df-product-zoom { position: absolute; right: 18px; bottom: 18px; display: grid; width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.92); color: #171717; place-items: center; box-shadow: 0 3px 14px rgba(0,0,0,.12); font-size: 22px; }
.df-product-main__info { max-width: 570px; }
.df-product-main__info h1 { margin-bottom: 8px; font: 600 clamp(24px, 1.8vw, 29px)/1.22 Poppins, sans-serif; letter-spacing: -.02em; }
.df-product-rating { margin-bottom: 14px; }
.df-product-rating .df-star-rating { font-size: 18px; }
.df-product-main__price { margin-bottom: 7px; font-size: 19px; }
.df-product-main__price b { padding: 6px 13px; background: #111; font-size: 10px; letter-spacing: .05em; }
.df-product-shipping { margin-bottom: 17px; color: #333; font-size: 14px; }
.df-product-inventory { margin: 0 0 24px; color: #238535; }
.df-product-inventory p { display: flex; gap: 9px; margin: 0 0 8px; align-items: center; font-size: 13px; }
.df-product-inventory p > span { width: 9px; height: 9px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px rgba(35,133,53,.12); }
.df-product-inventory i { display: block; width: 100%; height: 3px; overflow: hidden; border-radius: 99px; background: #dfe9df; }
.df-product-inventory i::before { display: block; width: 68%; height: 100%; background: #238535; content: ""; }
.df-product-inventory.is-out { color: #a2180b; }
.df-product-inventory.is-out i::before { width: 0; }
.df-product-main__form select { width: 100%; min-height: 45px; padding: 10px 12px; border: 1px solid #bbb; }
.df-product-main__form button, .df-product-add { min-height: 51px; letter-spacing: .02em; cursor: pointer; }
.df-product-main__form button[disabled] { cursor: not-allowed; opacity: .55; }
.df-product-buy-now .shopify-payment-button__button { min-height: 51px; border-radius: 999px; }
.df-product-buy-now .shopify-payment-button__more-options { color: #333; font-size: 13px; }
.df-product-payments-wrap { margin: 20px 0 19px; text-align: center; }
.df-product-payments-wrap > p { margin: 0 0 9px; color: #4c4c4c; font-size: 12px; }
.df-product-payments { justify-content: center; gap: 8px; margin: 0; }
.df-product-payments svg { width: 41px; height: 26px; }
.df-product-share { position: relative; display: flex; min-height: 35px; margin: 14px 0 20px; align-items: center; justify-content: center; gap: 10px; color: #333; }
.df-product-share > span { margin-right: 4px; font-size: 13px; }
.df-product-share a, .df-product-share button { display: grid; width: 27px; height: 27px; padding: 0; border: 1px solid #d1d1d1; border-radius: 50%; background: #fff; color: #171717; place-items: center; text-decoration: none; font: 600 13px/1 Arial, sans-serif; cursor: pointer; }
.df-product-share button svg { width: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.df-product-share em { position: absolute; right: 0; color: #238535; font-size: 11px; font-style: normal; }
.df-product-benefits { gap: 0; margin-top: 12px; border-top: 1px solid #e5e5e5; }
.df-product-benefits p { min-height: 58px; padding: 11px 0; border-bottom: 1px solid #e5e5e5; font-size: 14px; }
.df-product-benefits svg { width: 31px; height: 31px; flex: 0 0 31px; fill: none; stroke: #171717; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.df-product-info-tabs { width: min(1240px, calc(100% - 48px)); padding-top: 88px; }
.df-product-info-tabs > h2 { margin: 0 0 26px; font: 500 15px/1.2 Poppins, sans-serif; text-align: center; text-transform: uppercase; letter-spacing: .08em; }
.df-product-info-tabs__nav { gap: 48px; margin-bottom: 42px; border-bottom: 1px solid #e2e2e2; }
.df-product-info-tabs__nav button { min-width: 150px; padding: 0 8px 13px; color: #9a9a9a; font: 600 17px/1.2 Georgia, serif; letter-spacing: .03em; cursor: pointer; }
.df-product-info-tabs__nav button.is-active { color: #941609; }
.df-product-info-tabs__panel { font-size: 16px; line-height: 1.82; }
.df-product-description { max-width: 960px; margin: 0 auto 44px; text-align: center; }
.df-product-description > :first-child { margin-top: 0; }
.df-product-description h2, .df-product-description h3 { margin: 34px 0 10px; font: 500 clamp(25px, 2.5vw, 36px)/1.2 Georgia, serif; }
.df-product-detail { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); min-height: 430px; margin-top: 38px; background: #f6f6f6; align-items: stretch; }
.df-product-detail.is-image-left .df-product-detail__copy { order: 2; }
.df-product-detail__copy { display: flex; padding: clamp(40px, 6vw, 84px); justify-content: center; flex-direction: column; }
.df-product-detail__copy h3 { margin: 0 0 16px; font: 500 clamp(28px, 3vw, 42px)/1.15 Georgia, serif; }
.df-product-detail__media, .df-product-detail__media img { width: 100%; height: 100%; min-height: 430px; object-fit: cover; }

/* Product gallery uses square media; editorial banners remain full-width below the description. */
.df-product-thumbs img,
.df-product-main__media img,
.df-listing-card__image img { object-fit: contain !important; }
.df-product-detail-banners { width: 100%; max-width: 1200px; margin: 42px auto 0; }
.df-product-detail-banner,
.df-product-detail-banner img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.df-product-spec-intro { max-width: 900px; margin: 0 auto 26px; text-align: center; }
.df-product-specs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 920px; margin: 0 auto; border-top: 1px solid #ddd; }
.df-product-spec { display: flex; min-height: 52px; padding: 12px 16px; border-bottom: 1px solid #ddd; justify-content: space-between; gap: 20px; }
.df-product-spec:nth-child(odd) { border-right: 1px solid #ddd; }
.df-product-spec strong { font-weight: 500; text-align: right; }
.df-product-faqs { max-width: 920px; margin: 44px auto 0; }
.df-product-faqs details { border-top: 1px solid #ddd; }
.df-product-faqs details:last-child { border-bottom: 1px solid #ddd; }
.df-product-faqs summary { padding: 18px 4px; font-weight: 500; cursor: pointer; }
.df-product-faqs .rte { padding: 0 4px 20px; color: #555; }
.df-product-reviews { width: min(1240px, calc(100% - 48px)); padding: 94px 0 82px; border-bottom: 1px solid #e5e5e5; }
.df-product-reviews h2, .df-product-recommendations > h2 { font: 500 clamp(32px, 3vw, 43px)/1.15 Georgia, serif; }
.df-product-reviews__summary { min-height: 82px; align-content: center; }
.df-product-reviews__summary p { margin: 7px 0; }
.df-review-disclosure { max-width: 760px; margin: 26px auto 0; text-align: center; }
.df-review-disclosure > summary { display: inline-flex; min-width: 180px; min-height: 44px; padding: 10px 28px; border: 1px solid #171717; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; letter-spacing: .06em; list-style: none; cursor: pointer; }
.df-review-disclosure > summary::-webkit-details-marker { display: none; }
.df-review-form { padding: 34px; margin-top: 22px; text-align: left; }
.df-product-recommendations { width: min(1440px, calc(100% - 48px)); padding-top: 76px; }
.df-product-recommendations > p { margin-bottom: 38px; }
.df-product-recommendations .df-listing-grid { gap: 28px; }
.df-product-recommendations .df-listing-card__image { aspect-ratio: 1; background: #f6f6f6; }
.df-product-recommendations .df-listing-card__image img { object-fit: contain; }
.df-product-recommendations .df-listing-card h2 { color: #8f1508; font-size: 15px; }

@media (max-width: 1120px) {
  .df-product-main { grid-template-columns: 1fr; }
  .df-product-gallery { margin: 0 auto; }
  .df-product-main__info { width: min(724px, 100%); max-width: none; margin: 8px auto 0; }
}

@media (max-width: 767px) {
  .df-product-page { padding-bottom: 65px; }
  .df-product-breadcrumbs, .df-product-main, .df-product-info-tabs, .df-product-reviews, .df-product-recommendations { width: calc(100% - 30px); }
  .df-product-breadcrumbs { height: 48px; }
  .df-product-gallery { display: block; width: 100%; height: auto; }
  .df-product-thumbs { display: none; }
  .df-product-main__media { width: 100%; height: auto; aspect-ratio: 1; }
  .df-product-main__media figure { width: 100%; height: auto; aspect-ratio: 1; flex-basis: 100%; }
  .df-product-main__info { margin-top: 22px; }
  .df-product-main__info h1 { font-size: 23px; }
  .df-product-share { justify-content: flex-start; }
  .df-product-share em { position: static; }
  .df-product-info-tabs { padding-top: 62px; }
  .df-product-info-tabs__nav { gap: 10px; }
  .df-product-info-tabs__nav button { min-width: 0; flex: 1; font-size: 14px; }
  .df-product-description { text-align: left; }
  .df-product-detail { grid-template-columns: 1fr; min-height: 0; }
  .df-product-detail.is-image-left .df-product-detail__copy { order: initial; }
  .df-product-detail__copy { padding: 34px 24px; }
  .df-product-detail__media, .df-product-detail__media img { min-height: 0; aspect-ratio: 1; }
  .df-product-specs { grid-template-columns: 1fr; }
  .df-product-spec:nth-child(odd) { border-right: 0; }
  .df-product-reviews { padding: 68px 0 60px; }
  .df-review-form { padding: 24px 18px; }
  .df-product-recommendations { padding-top: 60px; }
  .df-product-recommendations .df-listing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px 10px; }
}
.df-page-shell * { box-sizing: border-box; }
.df-page-width { width: min(840px, calc(100% - 40px)); margin: 0 auto; }
.df-page-title {
  margin: 0;
  padding: 88px 0 54px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(42px, 4.2vw, 60px);
  font-weight: 400;
  line-height: 1;
  text-align: center;
}
.df-page-rte { padding-bottom: 95px; color: #323232; font-size: 15px; line-height: 1.75; }
.df-page-rte h2 { margin: 44px 0 18px; color: #171717; font: 400 clamp(28px, 3vw, 40px)/1.2 Georgia, 'Times New Roman', serif; }
.df-page-rte h3 { margin: 32px 0 12px; color: #171717; font-size: 19px; }
.df-page-rte p { margin: 0 0 20px; }
.df-page-rte a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.df-page-rte ul, .df-page-rte ol { margin: 0 0 24px; padding-left: 22px; }

.df-about-hero { position: relative; min-height: 830px; overflow: hidden; background: #121212; color: #fff; }
.df-about-hero__media { position: absolute; inset: 0; }
.df-about-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.df-about-hero__media::after { position: absolute; inset: 0; content: ''; background: linear-gradient(90deg, rgba(0,0,0,.8), rgba(0,0,0,.22)); }
.df-about-hero__content { position: relative; z-index: 1; width: min(760px, calc(100% - 40px)); padding: 235px 0 100px; margin-left: max(7vw, 40px); }
.df-about-hero h1 { margin: 0 0 28px; font: 400 clamp(50px, 5.5vw, 82px)/.98 Georgia, 'Times New Roman', serif; }
.df-about-hero__copy { max-width: 630px; font-size: 17px; line-height: 1.75; }
.df-about-mission { display: grid; grid-template-columns: 1fr 1fr; min-height: 820px; background: #f7f7f7; }
.df-about-mission__copy { display: flex; flex-direction: column; justify-content: center; padding: 90px max(7vw, 60px); }
.df-about-mission h2 { margin: 0 0 28px; font: 400 clamp(42px, 4.6vw, 68px)/1 Georgia, 'Times New Roman', serif; }
.df-about-mission__copy > div { font-size: 16px; line-height: 1.8; }
.df-about-mission__media { min-height: 620px; overflow: hidden; }
.df-about-mission__media img,
.df-about-mission__media video { display: block; width: 100%; height: 100%; object-fit: cover; }
.df-about-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #ddd; }
.df-about-point { min-height: 250px; padding: 55px 45px; background: #fff; }
.df-about-point h3 { margin: 0 0 18px; font: 400 30px/1.1 Georgia, 'Times New Roman', serif; }
.df-about-point p { margin: 0; color: #5e5e5e; line-height: 1.7; }

.df-service { min-height: 455px; padding: 64px 0 86px; }
.df-service__tabs { display: grid; grid-template-columns: repeat(4, 1fr); width: min(1120px, calc(100% - 40px)); margin: 0 auto 58px; border-bottom: 1px solid #ddd; }
.df-service__tab { padding: 18px 10px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #777; font: 500 14px Poppins, sans-serif; cursor: pointer; }
.df-service__tab.is-active { border-color: #8d170a; color: #8d170a; }
.df-service__panel { display: none; width: min(840px, calc(100% - 40px)); margin: 0 auto; }
.df-service__panel.is-active { display: block; }
.df-service__panel > h1 { margin: 0 0 38px; font: 400 clamp(42px, 4vw, 60px)/1 Georgia, 'Times New Roman', serif; text-align: center; }
.df-faq details { border-top: 1px solid #ddd; }
.df-faq details:last-child { border-bottom: 1px solid #ddd; }
.df-faq summary { display: flex; align-items: center; justify-content: space-between; padding: 23px 0; font-size: 16px; font-weight: 500; cursor: pointer; list-style: none; }
.df-faq summary::after { content: '+'; font-size: 24px; font-weight: 300; }
.df-faq details[open] summary::after { content: '−'; }
.df-faq__answer { padding: 0 0 24px; color: #595959; line-height: 1.75; }
.df-service__card { padding: 36px; background: #f4f4f4; text-align: center; }
.df-service__card h2 { margin: 0 0 14px; font: 400 32px Georgia, serif; }
.df-service__card a { color: #8d170a; }

.df-contact { padding: 85px 0 100px; }
.df-contact__intro { width: min(1125px, calc(100% - 40px)); margin: 0 auto 42px; text-align: center; }
.df-contact__intro h1 { margin: 0 0 22px; font: 400 clamp(42px, 4vw, 60px)/1 Georgia, serif; }
.df-contact__intro p { max-width: 760px; margin: 0 auto; color: #656565; line-height: 1.7; }
.df-contact__form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; width: min(840px, calc(100% - 40px)); margin: 0 auto; }
.df-contact__field { display: grid; gap: 8px; }
.df-contact__field--wide { grid-column: 1 / -1; }
.df-contact__field label { color: #555; font-size: 12px; }
.df-contact__field input, .df-contact__field textarea { width: 100%; min-height: 52px; padding: 13px 15px; border: 1px solid #cfcfcf; border-radius: 0; background: #fff; font: 14px Poppins, sans-serif; }
.df-contact__field textarea { min-height: 155px; resize: vertical; }
.df-contact__submit { grid-column: 1 / -1; justify-self: center; min-width: 190px; min-height: 50px; border: 0; border-radius: 999px; background: #941505; color: #fff; font-weight: 700; text-transform: uppercase; cursor: pointer; }
.df-contact__message { grid-column: 1 / -1; text-align: center; }

.df-collection-page, .df-search-page, .df-blog-page, .df-cart-page, .df-product-page { padding: 75px max(3vw, 22px) 100px; background: #fff; color: #171717; }
.df-listing-head { margin: 0 auto 52px; text-align: center; }
.df-listing-head h1 { margin: 0 0 15px; font: 400 clamp(44px, 5vw, 70px)/1 Georgia, serif; }
.df-listing-head p { color: #666; }
.df-listing-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 42px 20px; }
.df-listing-card { color: #171717; }
.df-listing-card__image { display: block; overflow: hidden; aspect-ratio: 1; background: #f6f6f6; }
.df-listing-card__image img { width: 100%; height: 100%; object-fit: contain; transition: transform .45s ease; }
.df-listing-card:hover img { transform: scale(1.03); }
.df-listing-card h2 { margin: 18px 0 8px; color: #8d170a; font-size: 16px; font-weight: 500; line-height: 1.45; text-transform: uppercase; }
.df-listing-card__price { font-size: 15px; }

.df-product-main { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(380px,.92fr); gap: 70px; max-width: 1400px; margin: 0 auto; }
.df-product-main__media { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.df-product-main__media img { width: 100%; height: 100%; object-fit: contain; background: #f7f7f7; }
.df-product-main__info { position: sticky; top: 120px; align-self: start; }
.df-product-main__info h1 { margin: 0 0 18px; font: 400 clamp(40px, 4vw, 64px)/1 Georgia, serif; }
.df-product-main__price { margin-bottom: 24px; font-size: 21px; }
.df-product-main__description { color: #555; line-height: 1.75; }
.df-product-main__form select, .df-product-main__form input { width: 100%; min-height: 50px; margin: 8px 0 18px; padding: 0 14px; border: 1px solid #ccc; }
.df-product-main__form button { width: 100%; min-height: 54px; border: 0; border-radius: 999px; background: #941505; color: #fff; font-weight: 700; text-transform: uppercase; }

.df-cart-table { width: min(1100px,100%); margin: 0 auto; border-collapse: collapse; }
.df-cart-table th, .df-cart-table td { padding: 18px 12px; border-bottom: 1px solid #ddd; text-align: left; }
.df-cart-actions { display: flex; justify-content: flex-end; gap: 15px; width: min(1100px,100%); margin: 30px auto 0; }
.df-cart-actions button { min-height: 48px; padding: 0 30px; border: 0; border-radius: 999px; background: #941505; color: #fff; }
.df-empty-state { padding: 60px 20px; text-align: center; }
.df-empty-state a { display: inline-flex; min-height: 48px; align-items: center; padding: 0 30px; border-radius: 999px; background: #941505; color: #fff; }
.df-article-page { width: min(840px, calc(100% - 40px)); padding: 85px 0 100px; margin: 0 auto; }
.df-article-page h1 { margin: 0 0 18px; font: 400 clamp(44px, 5vw, 72px)/1 Georgia, serif; }
.df-article-page__meta { margin-bottom: 38px; color: #777; }
.df-article-page__image { width: 100%; margin-bottom: 38px; }

@media (max-width: 900px) {
  .df-about-mission { grid-template-columns: 1fr; }
  .df-about-mission__media { order: -1; min-height: 480px; }
  .df-about-points { grid-template-columns: 1fr; }
  .df-listing-grid { grid-template-columns: repeat(2,1fr); }
  .df-product-main { grid-template-columns: 1fr; }
  .df-product-main__info { position: static; }
}

@media (max-width: 600px) {
  .df-about-hero { min-height: 700px; }
  .df-about-hero__content { padding-top: 190px; margin-left: 20px; }
  .df-about-mission__copy { padding: 60px 20px; }
  .df-service__tabs { grid-template-columns: 1fr 1fr; }
  .df-contact__form { grid-template-columns: 1fr; }
  .df-contact__field, .df-contact__field--wide, .df-contact__submit { grid-column: 1; }
  .df-listing-grid { grid-template-columns: 1fr 1fr; gap: 32px 10px; }
  .df-product-main__media { grid-template-columns: 1fr; }
  .df-cart-table thead { display: none; }
  .df-cart-table tr, .df-cart-table td { display: block; }
}

/* Reference-measured inner-page layouts */
.df-site-header.is-inner-page { position: relative !important; inset: auto !important; animation: none !important; }
.df-site-header.is-inner-page .df-header { min-height: 90px !important; }
.df-about-hero-wrap { padding: 90px 0; background: #fff; }
.df-about-hero { position: relative; min-height: 650px; background: #111; color: #fff; overflow: hidden; }
.df-about-hero__media, .df-about-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.df-about-hero__media::after { position: absolute; inset: 0; content: ''; background: rgba(0, 0, 0, .45); }
.df-about-hero__content { position: absolute; inset: 0; z-index: 1; display: flex; width: min(760px, calc(100% - 40px)); padding: 40px 0; margin: auto; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.df-about-hero h1 { margin: 0 0 26px; color: #99190a; font: 600 clamp(32px, 2.5vw, 40px)/1.2 'Cinzel Decorative', Georgia, serif; text-transform: uppercase; }
.df-about-hero__copy { max-width: 760px; font-size: 17px; line-height: 1.6; }
.df-about-hero__copy p { margin: 0; }
.df-about-mission { display: block; min-height: 0; padding: 0 0 90px; background: #fff; }
.df-about-mission__copy { width: min(938px, calc(100% - 40px)); padding: 0; margin: 0 auto 48px; text-align: center; }
.df-about-mission h2 { margin: 0 0 24px; color: #171717; font: 700 clamp(32px, 2.5vw, 40px)/1.05 'Cinzel Decorative', Georgia, serif; text-transform: none; }
.df-about-mission__lead { margin: 0 0 20px; font-size: 18px; }
.df-about-mission__copy > div { font-size: 17px; line-height: 1.65; }
.df-about-mission__media { width: min(1340px, calc(100% - 40px)); height: min(754px, 56.27vw); min-height: 0; margin: 0 auto; overflow: hidden; }
.df-about-mission__media img,
.df-about-mission__media video { display: block; width: 100%; height: 100%; object-fit: cover; }
.df-about-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; width: min(1340px, calc(100% - 40px)); margin: -40px auto 90px; background: #ddd; }
.df-about-point { min-height: 210px; padding: 44px 34px; background: #fff; }
.df-about-end-spacer { height: 117px; background: #fff; }

.df-service {
  min-height: 454px;
  padding: 32px 10%;
  background: #f5f7fb;
  color: #1e2a3a;
  font: 17px/1.5 'Segoe UI', Poppins, system-ui, -apple-system, sans-serif;
}
.df-service__container {
  display: flex;
  width: 100%;
  min-height: 454px;
  gap: 32px;
  background: #fff;
  align-items: stretch;
}
.df-service__tabs {
  display: flex;
  width: 280px;
  flex: 0 0 280px;
  padding: 32px 0;
  margin: 0;
  border: 0;
  flex-direction: column;
  align-items: stretch;
}
.df-service__tab {
  display: block;
  width: 100%;
  padding: 14.4px 32px;
  border: 0;
  background: transparent;
  color: #4a5b6e;
  font: 500 16px/24px Poppins, system-ui, -apple-system, sans-serif;
  text-align: left;
  cursor: pointer;
}
.df-service__tab.is-active { border: 0; color: #8b0000; }
.df-service__content { min-width: 0; padding: 32px 32px 32px 0; flex: 1 1 auto; }
.df-service__panel { display: none; width: auto; margin: 0; }
.df-service__panel.is-active { display: block; }
.df-service__panel[hidden] { display: none !important; }
.df-service__panel > h1 {
  margin: 0 0 20px;
  color: #151515;
  font: 400 40px/48px 'Cinzel Decorative', system-ui, -apple-system, sans-serif;
  text-align: left;
}
.df-track-form { display: block; margin: 0; }
.df-track-form__group { margin: 0 0 24px; }
.df-track-form label { display: block; margin: 0 0 8px; color: #1f2937; font: 500 13px/19.5px 'Segoe UI', Poppins, system-ui, -apple-system, sans-serif; }
.df-track-form input {
  display: block;
  width: 100%;
  height: 48px;
  padding: 12px 16px;
  margin: 0 0 10px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fefefe;
  color: #151515;
  font: 16px/18.4px 'Segoe UI', Poppins, system-ui, -apple-system, sans-serif;
}
.df-track-form button {
  display: inline-block;
  min-width: 82px;
  padding: 12px 24px;
  border: 0;
  border-radius: 40px;
  background: #2563eb;
  color: #fff;
  font: 600 15.2px/15.2px 'Segoe UI', Poppins, system-ui, -apple-system, sans-serif;
  cursor: pointer;
}
.df-track-form__result {
  width: 100%;
  padding: 20px 24px;
  margin: 24px 0 0;
  border: 1px solid #fecaca;
  border-radius: 16px;
  background: #fef2f2;
  color: #991b1b;
  font: 17px/25.5px 'Segoe UI', Poppins, system-ui, -apple-system, sans-serif;
}
.df-track-form__result[hidden] { display: none; }
.df-track-form__result p { margin: 0 0 8px; }
.df-track-form__result p:last-child { margin-bottom: 0; }
.df-service__card {
  min-height: 0;
  padding: 24px;
  margin: 0 0 24px;
  border-radius: 20px;
  background: #f8fafc;
  color: #1e2a3a;
  text-align: left;
}
.df-service__rte p { margin: 0 0 20px; font-size: 17px; line-height: 1.6; }
.df-service__rte h1,
.df-service__rte h2,
.df-service__rte h3 {
  margin: 0 0 20px;
  color: #151515;
  font: 400 40px/48px 'Cinzel Decorative', system-ui, -apple-system, sans-serif;
}
.df-service__rte p + h1,
.df-service__rte p + h2,
.df-service__rte p + h3 { margin-top: 28px; }
.df-service__rte a { color: inherit; text-decoration: underline; }
.df-faq__item { margin: 0 0 16px; }
.df-service .df-faq details,
.df-service .df-faq details:last-child { border: 0; }
.df-service .df-faq summary {
  display: flex;
  min-height: 63px;
  padding: 18px 0;
  border: 0;
  color: #000;
  font: 500 18px/27px Poppins, sans-serif;
  justify-content: flex-start;
  gap: 7px;
  list-style: none;
}
.df-service .df-faq summary::after { content: none; }
.df-faq__icon { display: inline-block; font-size: 13px; transition: transform .2s ease; }
.df-faq details[open] .df-faq__icon { transform: rotate(90deg); }
.df-service .df-faq__answer { padding: 16px 24px; color: #454545; line-height: 1.6; }
.df-service .df-faq__answer p { margin: 0; }

.df-contact { min-height: 637px; padding: 0; }
.df-contact__intro { display: flex; width: min(1100px, calc(100% - 40px)); height: 165px; margin: 0 auto; flex-direction: column; align-items: center; justify-content: flex-end; text-align: center; }
.df-contact__intro h1 { margin: 0 0 8px; color: #8f1508; font: 500 clamp(36px, 3vw, 48px)/1 Georgia, serif; text-transform: uppercase; }
.df-contact__intro p { max-width: none; margin: 0; color: #171717; font-size: 16px; line-height: 1.6; }
.df-contact__form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 30px; width: min(875px, calc(100% - 40px)); min-height: 472px; padding: 0 0 90px; margin: 0 auto; align-content: start; }
.df-contact__field { display: block; }
.df-contact__field input, .df-contact__field textarea { width: 100%; min-height: 49px; padding: 13px 15px; border: 1px solid #e5e5e5; border-radius: 0; background: #fff; font: 14px Poppins, sans-serif; }
.df-contact__field textarea { min-height: 197px; }
.df-contact__submit { grid-column: 1 / -1; width: 100%; min-height: 46px; border-radius: 999px; background: #99190a; }

.df-collection-page { padding: 0; background: #fff; }
.df-collection-banner { position: relative; height: 380px; padding-bottom: 30px; overflow: hidden; background: #111; color: #fff; }
.df-collection-banner > img { width: 100%; height: 350px; object-fit: cover; }
.df-collection-banner__shade { position: absolute; inset: 0 0 30px; background: rgba(0, 0, 0, .35); }
.df-collection-banner .df-breadcrumbs { position: absolute; top: 22px; left: 3vw; z-index: 1; display: flex; gap: 11px; color: #fff; font-size: 12px; }
.df-collection-banner .df-breadcrumbs a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.df-collection-banner h1 { position: absolute; top: 163px; left: 0; right: 0; z-index: 1; margin: 0; color: #fff; font: 700 clamp(42px, 4vw, 58px)/1 Georgia, serif; text-align: center; text-transform: uppercase; }
.df-collection-layout { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 44px; width: min(1400px, calc(100% - 40px)); min-height: 1040px; padding: 38px 0 90px; margin: 0 auto; }
.df-collection-nav { display: flex; padding-top: 26px; flex-direction: column; gap: 23px; }
.df-collection-nav a { color: #171717; font-size: 17px; }
.df-collection-nav a.is-active { color: #99190a; font-weight: 600; }
.df-collection-count { margin: 0 0 26px; font-size: 12px; letter-spacing: .08em; text-align: right; }
.df-collection-products .df-listing-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px 30px; }
.df-listing-card__image { position: relative; aspect-ratio: 1; background: #f5f5f5; }
.df-listing-card__image img { object-fit: cover; }
.df-card-badge { position: absolute; top: 16px; left: 16px; z-index: 1; padding: 6px 12px; border-radius: 999px; background: #111; color: #fff; font-size: 9px; }
.df-listing-card h2 { margin: 18px 0 8px; color: #8f1508; font-size: 14px; font-weight: 500; line-height: 1.45; }
.df-card-rating { color: #f6a623; font-size: 17px; letter-spacing: 1px; }
.df-listing-card__price { display: flex; gap: 10px; color: #99190a; font-size: 15px; }
.df-listing-card__price s { color: #999; }

.df-product-page { padding: 0 0 90px; background: #fff; color: #171717; }
.df-product-breadcrumbs { display: flex; width: min(1523px, calc(100% - 100px)); height: 59px; margin: 0 auto; align-items: center; gap: 10px; font-size: 12px; white-space: nowrap; overflow: hidden; }
.df-product-breadcrumbs a { color: #7f1208; text-decoration: underline; text-underline-offset: 3px; }
.df-product-main { display: grid; grid-template-columns: minmax(620px, 695px) minmax(460px, 575px); gap: 58px; width: min(1340px, calc(100% - 40px)); min-height: 552px; margin: 0 auto; }
.df-product-gallery { display: grid; grid-template-columns: 180px 510px; gap: 10px; height: 510px; }
.df-product-thumbs { display: flex; gap: 9px; height: 510px; overflow-y: auto; flex-direction: column; scrollbar-width: none; }
.df-product-thumbs::-webkit-scrollbar { display: none; }
.df-product-thumbs a { display: block; flex: 0 0 180px; width: 180px; height: 180px; overflow: hidden; border: 1px solid transparent; }
.df-product-thumbs a:first-child { border-color: #171717; }
.df-product-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.df-product-main__media { display: flex; width: 510px; height: 510px; overflow: auto hidden; grid-template-columns: none; gap: 0; scroll-snap-type: x mandatory; scrollbar-width: none; }
.df-product-main__media::-webkit-scrollbar { display: none; }
.df-product-main__media figure { flex: 0 0 510px; width: 510px; height: 510px; margin: 0; scroll-snap-align: start; }
.df-product-main__media img { width: 100%; height: 100%; object-fit: cover; background: #f5f5f5; }
.df-product-main__info { position: static; align-self: start; padding-top: 0; }
.df-product-main__info h1 { margin: 0 0 10px; font: 600 clamp(25px, 2vw, 30px)/1.18 Poppins, sans-serif; }
.df-product-rating { display: flex; gap: 8px; margin-bottom: 8px; align-items: center; }
.df-product-rating span { color: #f6a623; letter-spacing: 1px; }
.df-product-rating a { color: #333; font-size: 13px; }
.df-product-main__price { display: flex; gap: 12px; margin: 0 0 4px; align-items: center; font-size: 20px; }
.df-product-main__price s { color: #999; font-weight: 400; }
.df-product-main__price strong { color: #e04436; font-weight: 500; }
.df-product-main__price b { padding: 5px 11px; border-radius: 999px; background: #171717; color: #fff; font-size: 9px; }
.df-product-shipping { margin: 0 0 28px; font-size: 16px; }
.df-product-main__form select { margin: 8px 0 14px; }
.df-product-main__form button, .df-product-add { width: 100%; min-height: 49px; margin: 0 0 10px; border: 0; border-radius: 999px; background: #99190a; color: #fff; font-weight: 700; }
.df-product-buy-now .shopify-payment-button__button { min-height: 49px; border-radius: 0; background: #171717; }
.df-product-payments { display: flex; gap: 11px; margin: 20px 0 30px; flex-wrap: wrap; }
.df-product-payments svg { width: 38px; height: 24px; }
.df-product-benefits { display: grid; gap: 17px; margin-top: 22px; }
.df-product-benefits p { display: flex; gap: 12px; margin: 0; align-items: center; font-size: 16px; }
.df-product-benefits span { width: 20px; text-align: center; }
.df-product-info-tabs { width: min(1200px, calc(100% - 40px)); padding-top: 72px; margin: 0 auto; }
.df-product-info-tabs__nav { display: flex; justify-content: center; gap: 34px; margin-bottom: 28px; }
.df-product-info-tabs__nav button { padding: 0 0 12px; border: 0; border-bottom: 2px solid transparent; background: none; color: #555; font: 500 15px Georgia, serif; }
.df-product-info-tabs__nav button.is-active { border-color: #99190a; color: #99190a; }
.df-product-info-tabs__panel { display: none; font-size: 15px; line-height: 1.7; }
.df-product-info-tabs__panel.is-active { display: block; }
.df-product-info-tabs__panel img { display: block; max-width: 100%; margin: 0 auto; }
.df-product-detail-banners { display: grid; gap: 0; margin-top: 42px; }
.df-product-detail-banner { width: 100%; margin: 0; }
.df-product-detail-banner a { display: block; }
.df-product-detail-banner img { display: block; width: 100%; height: auto; max-width: none; margin: 0; }
.df-product-reviews { width: min(1200px, calc(100% - 40px)); padding: 90px 0; margin: 0 auto; }
.df-product-reviews h2, .df-product-recommendations > h2 { margin: 0 0 25px; font: 500 36px/1.1 Georgia, serif; text-align: center; }
.df-product-reviews__summary { display: grid; justify-content: center; text-align: center; }
.df-product-reviews__summary strong { font-size: 34px; }
.df-product-reviews__summary .df-star-rating, .df-product-review__rating .df-star-rating { color: #f6a623; }
.df-product-review { padding: 24px 0; border-top: 1px solid #e5e5e5; }
.df-star-rating { position: relative; display: inline-block; overflow: hidden; color: #ddd !important; line-height: 1; letter-spacing: 1px; white-space: nowrap; }
.df-star-rating::before { position: absolute; inset: 0 auto 0 0; width: var(--rating-percent, 100%); overflow: hidden; color: #f6a623; content: "★★★★★"; white-space: nowrap; }
.df-product-review header { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }
.df-product-review header > div { display: flex; gap: 10px; align-items: center; color: inherit; }
.df-product-review h3, .df-product-review h4 { margin: 0; }
.df-product-review h4 { margin-top: 10px; font-size: 16px; }
.df-product-review header span { padding: 3px 8px; border-radius: 999px; background: #f2f2f2; color: #555; font-size: 11px; }
.df-product-review time { color: #777; font-size: 13px; }
.df-product-review__rating { margin: 10px 0; }
.df-review-form { max-width: 760px; padding: 34px; margin: 48px auto 0; background: #f7f7f7; }
.df-review-form > h3 { margin: 0 0 24px; font: 500 28px/1.2 Georgia, serif; text-align: center; }
.df-review-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.df-review-form label { display: grid; gap: 7px; color: #222; font-size: 13px; }
.df-review-form__wide { grid-column: 1 / -1; }
.df-review-form input, .df-review-form select, .df-review-form textarea { width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid #ccc; border-radius: 0; background: #fff; color: #171717; font: inherit; }
.df-review-form textarea { resize: vertical; }
.df-review-form button { min-width: 180px; min-height: 46px; padding: 12px 24px; margin-top: 20px; border: 0; background: #981800; color: #fff; font-weight: 600; text-transform: uppercase; cursor: pointer; }
.df-review-form__success { padding: 18px; background: #eaf5ea; color: #1d5d2a; text-align: center; }
.df-product-recommendations { width: min(1440px, calc(100% - 40px)); padding: 45px 0 0; margin: 0 auto; text-align: center; }
.df-product-recommendations > p { margin: -10px 0 32px; color: #666; }
.df-product-recommendations .df-listing-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; text-align: left; }

@media (max-width: 700px) {
  .df-review-form { padding: 24px 18px; }
  .df-review-form__grid { grid-template-columns: 1fr; }
  .df-review-form__wide { grid-column: auto; }
  .df-product-review header { display: grid; gap: 6px; }
}

.df-blog-page { padding: 0 0 90px; background: #fff; }
.df-blog-spacer { height: 60px; }
.df-blog-head { display: flex; min-height: 176px; padding: 28px 20px 36px; align-items: center; justify-content: center; flex-direction: column; text-align: center; }
.df-blog-head h1 { margin: 0; font: 500 clamp(40px, 4vw, 58px)/1 Georgia, serif; }
.df-blog-head__description { margin-top: 14px; color: #6f6868; font-size: 17px; line-height: 1.55; }
.df-blog-head__description p { margin: 0; }
.df-blog-list { width: min(1340px, calc(100% - 40px)); margin: 0 auto; }
.df-blog-card { display: grid; grid-template-columns: minmax(0, 884px) minmax(300px, 1fr); min-height: 553px; gap: 45px; align-items: center; }
.df-blog-card + .df-blog-card { margin-top: 60px; }
.df-blog-card__image { display: block; height: 553px; overflow: hidden; }
.df-blog-card__image img { width: 100%; height: 100%; object-fit: cover; }
.df-blog-card__date { margin: 0 0 16px; color: #8f1508; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.df-blog-card h2 { margin: 0 0 18px; font: 500 30px/1.25 Georgia, serif; }
.df-blog-card h2 a, .df-blog-card__more { color: #171717; }
.df-blog-card__content > p:not(.df-blog-card__date) { color: #555; line-height: 1.75; }
.df-blog-card__more { text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 1100px) {
  .df-collection-products .df-listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .df-product-main { grid-template-columns: 1fr; }
  .df-product-gallery { margin: 0 auto; }
  .df-product-main__info { width: min(695px, 100%); margin: 0 auto; }
  .df-blog-card { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767px) {
  .df-about-hero-wrap { padding: 40px 0; }
  .df-about-hero { min-height: 500px; }
  .df-about-mission { padding-bottom: 50px; }
  .df-about-mission__media { height: 56vw; }
  .df-about-points { grid-template-columns: 1fr; margin-bottom: 50px; }
  .df-service { padding: 24px 16px 50px; }
  .df-service__container { display: flex; gap: 0; border-radius: 20px; flex-direction: column; overflow: hidden; }
  .df-service__tabs { display: block; width: 100%; padding: 16px 0; border-bottom: 1px solid #eef2f6; overflow-x: auto; white-space: nowrap; }
  .df-service__tab { display: inline-block; width: auto; padding: 9.6px 19.2px; border-bottom: 2px solid transparent; text-align: left; }
  .df-service__tab.is-active { border-bottom-color: #2563eb; }
  .df-service__content { padding: 24px; }
  .df-service__panel > h1,
  .df-service__rte h1,
  .df-service__rte h2,
  .df-service__rte h3 { font-size: 30px; line-height: 1.2; }
  .df-contact__intro { height: auto; padding: 55px 0 18px; }
  .df-contact__form { grid-template-columns: 1fr; }
  .df-contact__field, .df-contact__field--wide, .df-contact__submit { grid-column: 1; }
  .df-collection-banner, .df-collection-banner > img { height: 280px; }
  .df-collection-banner { padding: 0; }
  .df-collection-banner__shade { inset: 0; }
  .df-collection-banner h1 { top: 120px; }
  .df-collection-layout { grid-template-columns: 1fr; min-height: 0; padding-top: 24px; }
  .df-collection-nav { display: flex; padding: 0; flex-direction: row; gap: 18px; overflow-x: auto; }
  .df-collection-products .df-listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 10px; }
  .df-product-breadcrumbs { width: calc(100% - 30px); }
  .df-product-main { width: calc(100% - 30px); min-height: 0; }
  .df-product-gallery { display: block; width: 100%; height: auto; }
  .df-product-thumbs { display: none; }
  .df-product-main__media { width: 100%; height: auto; aspect-ratio: 1; }
  .df-product-main__media figure { flex-basis: 100%; width: 100%; height: auto; aspect-ratio: 1; }
  .df-product-info-tabs { padding-top: 50px; }
  .df-product-recommendations .df-listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .df-blog-spacer { height: 30px; }
  .df-blog-head { height: 110px; }
  .df-blog-card { grid-template-columns: 1fr; gap: 24px; }
  .df-blog-card__image { height: auto; aspect-ratio: 1.6; }
}

/* Product detail parity pass */
.df-product-page { padding-bottom: 100px; font-family: Poppins, Arial, sans-serif; }
.df-product-breadcrumbs { width: min(1460px, calc(100% - 48px)); height: 54px; gap: 8px; color: #555; font-size: 13px; }
.df-product-breadcrumbs a { color: #161616; text-decoration: none; }
.df-product-main { grid-template-columns: minmax(650px, 730px) minmax(410px, 570px); gap: clamp(42px, 5vw, 78px); width: min(1390px, calc(100% - 48px)); min-height: 540px; align-items: start; }
.df-product-gallery { grid-template-columns: 180px minmax(0, 530px); gap: 14px; width: 100%; height: 530px; }
.df-product-thumbs { height: 530px; gap: 12px; }
.df-product-thumbs a { position: relative; flex-basis: 178px; width: 178px; height: 178px; background: #f6f6f6; transition: border-color .2s ease, opacity .2s ease; }
.df-product-thumbs a:not(.is-active) { opacity: .8; }
.df-product-thumbs a.is-active, .df-product-thumbs a:hover { border-color: #171717; opacity: 1; }
.df-product-thumb-play { position: absolute; inset: 50% auto auto 50%; display: grid; width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.9); place-items: center; transform: translate(-50%,-50%); font-size: 12px; }
.df-product-main__media { width: 100%; height: 530px; background: #f6f6f6; }
.df-product-main__media figure { position: relative; flex-basis: 100%; width: 100%; height: 530px; }
.df-product-main__media figure > a { position: relative; display: block; width: 100%; height: 100%; }
.df-product-main__media img, .df-product-main__media video, .df-product-main__media iframe, .df-product-media-placeholder svg { width: 100%; height: 100%; object-fit: contain; background: #f6f6f6; }
.df-product-zoom { position: absolute; right: 18px; bottom: 18px; display: grid; width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.92); color: #171717; place-items: center; box-shadow: 0 3px 14px rgba(0,0,0,.12); font-size: 22px; }
.df-product-main__info { max-width: 570px; }
.df-product-main__info h1 { margin-bottom: 8px; font: 600 clamp(24px, 1.8vw, 29px)/1.22 Poppins, sans-serif; letter-spacing: -.02em; }
.df-product-rating { margin-bottom: 14px; }
.df-product-rating .df-star-rating { font-size: 18px; }
.df-product-main__price { margin-bottom: 7px; font-size: 19px; }
.df-product-main__price b { padding: 6px 13px; background: #111; font-size: 10px; letter-spacing: .05em; }
.df-product-shipping { margin-bottom: 17px; color: #333; font-size: 14px; }
.df-product-inventory { margin: 0 0 24px; color: #238535; }
.df-product-inventory p { display: flex; gap: 9px; margin: 0 0 8px; align-items: center; font-size: 13px; }
.df-product-inventory p > span { width: 9px; height: 9px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px rgba(35,133,53,.12); }
.df-product-inventory i { display: block; width: 100%; height: 3px; overflow: hidden; border-radius: 99px; background: #dfe9df; }
.df-product-inventory i::before { display: block; width: 68%; height: 100%; background: #238535; content: ""; }
.df-product-inventory.is-out { color: #a2180b; }
.df-product-inventory.is-out i::before { width: 0; }
.df-product-main__form select { width: 100%; min-height: 45px; padding: 10px 12px; border: 1px solid #bbb; }
.df-product-main__form button, .df-product-add { min-height: 51px; letter-spacing: .02em; cursor: pointer; }
.df-product-main__form button[disabled] { cursor: not-allowed; opacity: .55; }
.df-product-buy-now .shopify-payment-button__button { min-height: 51px; border-radius: 999px; }
.df-product-buy-now .shopify-payment-button__more-options { color: #333; font-size: 13px; }
.df-product-payments-wrap { margin: 20px 0 19px; text-align: center; }
.df-product-payments-wrap > p { margin: 0 0 9px; color: #4c4c4c; font-size: 12px; }
.df-product-payments { justify-content: center; gap: 8px; margin: 0; }
.df-product-payments svg { width: 41px; height: 26px; }
.df-product-share { position: relative; display: flex; min-height: 35px; margin: 14px 0 20px; align-items: center; justify-content: center; gap: 10px; color: #333; }
.df-product-share > span { margin-right: 4px; font-size: 13px; }
.df-product-share a, .df-product-share button { display: grid; width: 27px; height: 27px; padding: 0; border: 1px solid #d1d1d1; border-radius: 50%; background: #fff; color: #171717; place-items: center; text-decoration: none; font: 600 13px/1 Arial, sans-serif; cursor: pointer; }
.df-product-share button svg { width: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.df-product-share em { position: absolute; right: 0; color: #238535; font-size: 11px; font-style: normal; }
.df-product-benefits { gap: 0; margin-top: 12px; border-top: 1px solid #e5e5e5; }
.df-product-benefits p { min-height: 58px; padding: 11px 0; border-bottom: 1px solid #e5e5e5; font-size: 14px; }
.df-product-benefits svg { width: 31px; height: 31px; flex: 0 0 31px; fill: none; stroke: #171717; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.df-product-info-tabs { width: min(1240px, calc(100% - 48px)); padding-top: 88px; }
.df-product-info-tabs > h2 { margin: 0 0 26px; font: 500 15px/1.2 Poppins, sans-serif; text-align: center; text-transform: uppercase; letter-spacing: .08em; }
.df-product-info-tabs__nav { gap: 48px; margin-bottom: 42px; border-bottom: 1px solid #e2e2e2; }
.df-product-info-tabs__nav button { min-width: 150px; padding: 0 8px 13px; color: #9a9a9a; font: 600 17px/1.2 Georgia, serif; letter-spacing: .03em; cursor: pointer; }
.df-product-info-tabs__nav button.is-active { color: #941609; }
.df-product-info-tabs__panel { font-size: 16px; line-height: 1.82; }
.df-product-description { max-width: 960px; margin: 0 auto 44px; text-align: center; }
.df-product-description > :first-child { margin-top: 0; }
.df-product-description h2, .df-product-description h3 { margin: 34px 0 10px; font: 500 clamp(25px, 2.5vw, 36px)/1.2 Georgia, serif; }
.df-product-detail { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); min-height: 430px; margin-top: 38px; background: #f6f6f6; align-items: stretch; }
.df-product-detail.is-image-left .df-product-detail__copy { order: 2; }
.df-product-detail__copy { display: flex; padding: clamp(40px, 6vw, 84px); justify-content: center; flex-direction: column; }
.df-product-detail__copy h3 { margin: 0 0 16px; font: 500 clamp(28px, 3vw, 42px)/1.15 Georgia, serif; }
.df-product-detail__media, .df-product-detail__media img { width: 100%; height: 100%; min-height: 430px; object-fit: cover; }
.df-product-spec-intro { max-width: 900px; margin: 0 auto 26px; text-align: center; }
.df-product-specs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 920px; margin: 0 auto; border-top: 1px solid #ddd; }
.df-product-spec { display: flex; min-height: 52px; padding: 12px 16px; border-bottom: 1px solid #ddd; justify-content: space-between; gap: 20px; }
.df-product-spec:nth-child(odd) { border-right: 1px solid #ddd; }
.df-product-spec strong { font-weight: 500; text-align: right; }
.df-product-faqs { max-width: 920px; margin: 44px auto 0; }
.df-product-faqs details { border-top: 1px solid #ddd; }
.df-product-faqs details:last-child { border-bottom: 1px solid #ddd; }
.df-product-faqs summary { padding: 18px 4px; font-weight: 500; cursor: pointer; }
.df-product-faqs .rte { padding: 0 4px 20px; color: #555; }
.df-product-reviews { width: min(1240px, calc(100% - 48px)); padding: 94px 0 82px; border-bottom: 1px solid #e5e5e5; }
.df-product-reviews h2, .df-product-recommendations > h2 { font: 500 clamp(32px, 3vw, 43px)/1.15 Georgia, serif; }
.df-product-reviews__summary { min-height: 82px; align-content: center; }
.df-product-reviews__summary p { margin: 7px 0; }
.df-review-disclosure { max-width: 760px; margin: 26px auto 0; text-align: center; }
.df-review-disclosure > summary { display: inline-flex; min-width: 180px; min-height: 44px; padding: 10px 28px; border: 1px solid #171717; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; letter-spacing: .06em; list-style: none; cursor: pointer; }
.df-review-disclosure > summary::-webkit-details-marker { display: none; }
.df-review-form { padding: 34px; margin-top: 22px; text-align: left; }
.df-product-recommendations { width: min(1440px, calc(100% - 48px)); padding-top: 76px; }
.df-product-recommendations > p { margin-bottom: 38px; }
.df-product-recommendations .df-listing-grid { gap: 28px; }
.df-product-recommendations .df-listing-card__image { aspect-ratio: 1; background: #f6f6f6; }
.df-product-recommendations .df-listing-card__image img { object-fit: contain; }
.df-product-recommendations .df-listing-card h2 { color: #8f1508; font-size: 15px; }

@media (max-width: 1120px) {
  .df-product-main { grid-template-columns: 1fr; }
  .df-product-gallery { margin: 0 auto; }
  .df-product-main__info { width: min(724px, 100%); max-width: none; margin: 8px auto 0; }
}

@media (max-width: 767px) {
  .df-product-page { padding-bottom: 65px; }
  .df-product-breadcrumbs, .df-product-main, .df-product-info-tabs, .df-product-reviews, .df-product-recommendations { width: calc(100% - 30px); }
  .df-product-breadcrumbs { height: 48px; }
  .df-product-gallery { display: block; width: 100%; height: auto; }
  .df-product-thumbs { display: none; }
  .df-product-main__media { width: 100%; height: auto; aspect-ratio: 1; }
  .df-product-main__media figure { width: 100%; height: auto; aspect-ratio: 1; flex-basis: 100%; }
  .df-product-main__info { margin-top: 22px; }
  .df-product-main__info h1 { font-size: 23px; }
  .df-product-share { justify-content: flex-start; }
  .df-product-share em { position: static; }
  .df-product-info-tabs { padding-top: 62px; }
  .df-product-info-tabs__nav { gap: 10px; }
  .df-product-info-tabs__nav button { min-width: 0; flex: 1; font-size: 14px; }
  .df-product-description { text-align: left; }
  .df-product-detail { grid-template-columns: 1fr; min-height: 0; }
  .df-product-detail.is-image-left .df-product-detail__copy { order: initial; }
  .df-product-detail__copy { padding: 34px 24px; }
  .df-product-detail__media, .df-product-detail__media img { min-height: 0; aspect-ratio: 1; }
  .df-product-specs { grid-template-columns: 1fr; }
  .df-product-spec:nth-child(odd) { border-right: 0; }
  .df-product-reviews { padding: 68px 0 60px; }
  .df-review-form { padding: 24px 18px; }
  .df-product-recommendations { padding-top: 60px; }
  .df-product-recommendations .df-listing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px 10px; }
