/* DaFen Gallery 4.2.0 — final storefront readability and commerce layer.
 * Load after the parent theme, configurator and the three editorial sheets.
 * Light surfaces always carry dark text; white text is reserved for dark fills.
 */
body.dpg-theme {
  --paper: #faf8f3;
  --ink: #242b26;
  --muted: #566159;
  --line: #d7dbd1;
  --blue: #344b3b;
  --orange: #b74710;
  --dpg-accent-hover: #96380a;
  --dpg-field-border: #8c988d;
  --theme-text-color: #242b26;
  --theme-heading-color: #242b26;
  --theme-link-initial-color: #344b3b;
  --theme-link-hover-color: #96380a;
  --theme-button-text-initial-color: #ffffff;
  --theme-button-text-hover-color: #ffffff;
  --theme-button-background-initial-color: #b74710;
  --theme-button-background-hover-color: #96380a;
  --theme-form-text-initial-color: #242b26;
  --theme-form-text-focus-color: #242b26;
  --theme-form-field-border-initial-color: #8c988d;
  --theme-form-field-border-focus-color: #344b3b;
  --theme-form-field-background-initial-color: #ffffff;
  --theme-form-field-background-focus-color: #ffffff;
  --theme-form-selection-field-initial-color: #8c988d;
  --theme-form-selection-field-active-color: #344b3b;
  --theme-form-font-size: 16px;
  color: var(--ink);
  background: var(--paper);
  font-size: 16px;
  line-height: 1.75;
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
}

/* Reading hierarchy: expressive headings, practical body copy and controls. */
body.dpg-theme h1 { font-size: clamp(42px, 5.2vw, 76px); line-height: 1.08; }
body.dpg-theme h2 { font-size: clamp(34px, 3.6vw, 56px); line-height: 1.16; }
body.dpg-theme h3 { line-height: 1.25; }
.dpg-theme :is(.reading-width, .policy-copy, .journal-columns article p,
  .directory-intro > div, .editorial-cards p, .pathway-card p, .guide-card p,
  .room-feature > div > p, .collective-manifesto > div, .section-heading > p,
  .gallery-hero-copy > p:not(.eyebrow), .brief-layout > aside p:not(.eyebrow)) {
  font-size: 16px;
  line-height: 1.8;
}
.dpg-theme :is(.eyebrow, .brand-label, .brand-origin, .gallery-hero-note,
  .master-feature > p, .master-credit, .directory-hint, .directory-source,
  .directory-counter, .master-index-life, .master-index-life small,
  .small-breadcrumb, .footer-origin, .footer-bottom, .legal-entity) { font-size: 12px; }
.dpg-theme :is(.text-link, .guide-links a, .fine-print, .dpg-loop-shipping,
  .dpg-concept-grid figcaption span, .dpc-video-type, .dpc-sample-caption p,
  .dpc-sample-pair figcaption, .dpc-sample-caption > span) { font-size: 14px; }
.dpg-theme :is(.footer-top a:not(.brand), .footer-top h3) { font-size: 15px !important; }
.dpg-theme .top-note { background: #344b3b; color: #fff; font-size: 13px; line-height: 1.6; }
.dpg-theme .top-note a { color: #fff; }
.dpg-theme .dpg-photo-invitation li > b { color: #68775f; }
.dpg-theme .site-footer { --theme-text-color: #f2f5ef; background: #202e28; color: #f2f5ef; }
.dpg-theme .site-footer :is(p, a, h3) { color: inherit; }
.dpg-theme .collective-manifesto,
.dpg-theme .dpg-quality-promise { --theme-text-color: #f2f5ef; color: #f2f5ef; }
.dpg-theme .collective-manifesto :is(h2, p, a),
.dpg-theme .dpg-quality-promise :is(h2, h3, p, a) { color: inherit; }
.dpg-theme a:not(.button):hover { text-underline-offset: 4px; }
.dpg-theme :is(.reading-width, .policy-copy, .journal-columns article) a { text-decoration: underline; text-underline-offset: 4px; }
.dpg-theme :is(button, a, input, select, textarea, summary):focus-visible {
  outline: 3px solid #a74717;
  outline-offset: 3px;
}

/* Navigation stays readable; collapse before the labels can collide. */
.dpg-theme .site-header { gap: 24px; padding: 22px max(24px, 3.5vw); }
.dpg-theme .site-header .brand { min-width: 0; }
.dpg-theme .brand-name { font-size: 49px; }
.dpg-theme .brand-origin { font-size: 10px; letter-spacing: .08em; }
.dpg-theme .brand-label { font-size: 11px; }
.dpg-theme .site-header nav { min-width: 0; gap: 16px; }
.dpg-theme .dpg-menu-list { gap: 16px; margin: 0; }
.dpg-theme .site-header nav a { font-size: 16px; font-weight: 600; line-height: 1.5; }
.dpg-theme .dpg-menu-list > li > a { white-space: nowrap; }
.dpg-theme .dpg-menu-list .menu-item-has-children { padding-right: 29px; }
.dpg-theme .dpg-menu-list .sub-menu { min-width: 264px; }
.dpg-theme .dpg-menu-list .sub-menu a { font-size: 16px; padding: 11px 13px; white-space: normal; }
.dpg-theme .dpg-submenu-toggle { top: 3px; min-width: 28px; min-height: 42px; border-radius: 5px; }
.dpg-theme .dpg-submenu-toggle:hover { background: #eef1e9 !important; }
.dpg-theme .header-actions { flex-shrink: 0; gap: 18px; font-size: 14px; }
.dpg-theme .header-actions > a { display: inline-flex; align-items: center; min-height: 44px; }
.dpg-theme .bag-count { border-radius: 50%; background: #344b3b; color: #fff; font-size: 12px; }
.dpg-theme .dpg-menu-list > li.dpg-nav-cta > a { background: #b74710; color: #fff; padding: 12px 17px; }
.dpg-theme .dpg-menu-list > li.dpg-nav-cta > a:hover { background: #96380a; color: #fff; }

/* WooCommerce and Blocksy both style notices. Set colors and inherited tokens
 * together so errors, icons, inline links and dismiss controls remain readable. */
body.dpg-theme :is(.woocommerce-error, .woocommerce-info, .woocommerce-message,
  .woocommerce-thankyou-order-received, .wc-block-components-notice-banner) {
  --theme-text-color: #283f50;
  --theme-link-initial-color: #283f50;
  --theme-link-hover-color: #1c3141;
  --background-color: #edf3f7;
  --dpg-notice-text: #283f50;
  color: var(--dpg-notice-text) !important;
  background: #edf3f7 !important;
  border: 1px solid #c9d9e4;
  border-inline-start: 4px solid #45677d;
  border-radius: 9px;
  box-shadow: none;
  font: 500 16px/1.65 var(--sans);
  margin: 0 0 24px;
  padding: 16px 20px 16px 53px;
  text-shadow: none;
  overflow-wrap: anywhere;
}
body.dpg-theme :is(.woocommerce-error, .wc-block-components-notice-banner.is-error) {
  --theme-text-color: #842c22;
  --theme-link-initial-color: #842c22;
  --theme-link-hover-color: #651d15;
  --background-color: #fff0ec;
  --dpg-notice-text: #842c22;
  background: #fff0ec !important;
  border-color: #e9c4ba;
  border-inline-start-color: #a13b2c;
}
body.dpg-theme :is(.woocommerce-message, .woocommerce-thankyou-order-received,
  .wc-block-components-notice-banner.is-success) {
  --theme-text-color: #2d4c35;
  --theme-link-initial-color: #2d4c35;
  --theme-link-hover-color: #203a26;
  --background-color: #edf4e9;
  --dpg-notice-text: #2d4c35;
  background: #edf4e9 !important;
  border-color: #cadcc2;
  border-inline-start-color: #486940;
}
body.dpg-theme .wc-block-components-notice-banner.is-warning {
  --dpg-notice-text: #6e481b;
  color: #6e481b !important;
  background: #fff5de !important;
  border-color: #dfc899;
  border-inline-start-color: #8b621f;
}
body.dpg-theme :is(.woocommerce-error, .woocommerce-info, .woocommerce-message,
  .woocommerce-thankyou-order-received, .wc-block-components-notice-banner) :is(li, p, strong, .wc-block-components-notice-banner__content) {
  color: var(--dpg-notice-text) !important;
}
body.dpg-theme :is(.woocommerce-error, .woocommerce-info, .woocommerce-message,
  .woocommerce-thankyou-order-received, .wc-block-components-notice-banner) a:not(.button) {
  color: var(--dpg-notice-text) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 650;
}
body.dpg-theme :is(.woocommerce-error, .woocommerce-info, .woocommerce-message,
  .woocommerce-thankyou-order-received)::before {
  color: var(--dpg-notice-text) !important;
  top: 20px;
  inset-inline-start: 19px;
  opacity: 1;
}
body.dpg-theme .woocommerce ul.woocommerce-error { gap: 7px; }
body.dpg-theme .woocommerce ul.woocommerce-error li { margin: 0; }
body.dpg-theme .wc-block-components-notice-banner { padding: 16px 18px; gap: 12px; }
body.dpg-theme .wc-block-components-notice-banner > svg { color: #fff; fill: #fff; background: var(--dpg-notice-text); flex-shrink: 0; }
body.dpg-theme .wc-block-components-notice-banner .wc-block-components-button { color: var(--dpg-notice-text); }

/* Purchase actions have a dark terracotta fill with sufficient white contrast. */
body.dpg-theme .button,
body.dpg-theme .woocommerce :is(a.button, button.button, input.button, #respond input#submit),
body.dpg-theme .dpc-inquiry-form .button,
body.dpg-theme .dpc-order-portal .button.alt,
body.dpg-theme .dpc-floating-cart .dpc-cart-button,
body.dpg-theme .woocommerce form.cart .single_add_to_cart_button.dpc-cart-button {
  color: #fff !important;
  background: #b74710 !important;
  border: 1px solid #b74710;
  border-radius: 7px;
  font: 650 16px/1.45 var(--sans);
  text-shadow: none;
  min-height: 48px;
  padding: 13px 20px;
  justify-content: center;
}
body.dpg-theme .button:hover:not(:disabled),
body.dpg-theme .woocommerce :is(a.button, button.button, input.button, #respond input#submit):hover:not(:disabled),
body.dpg-theme .dpc-floating-cart .dpc-cart-button:hover:not(:disabled),
body.dpg-theme .woocommerce form.cart .single_add_to_cart_button.dpc-cart-button:hover:not(:disabled) {
  background: #96380a !important;
  color: #fff !important;
}
body.dpg-theme .button.button-outline,
body.dpg-theme .woocommerce .button.button-outline {
  color: #344b3b !important;
  background: transparent !important;
  border-color: #788775;
}
body.dpg-theme .button.button-outline:hover { background: #edf1e9 !important; color: #253c2b !important; }
body.dpg-theme :is(.button:disabled, .button.disabled, .button[aria-disabled=true]),
body.dpg-theme .woocommerce :is(button.button:disabled, input.button:disabled),
body.dpg-theme .dpc-floating-cart .dpc-cart-button:disabled {
  background: #e3e6de !important;
  border-color: #bbc2b6 !important;
  color: #4f5a4e !important;
  opacity: 1;
  cursor: not-allowed;
}

/* Form text never inherits the button color. Keep browser autofill readable. */
body.dpg-theme :is(.woocommerce, .dpc-photo-builder, .dpc-inquiry-form, .dpc-order-portal,
  .dpg-reference-search, .directory-tools) :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]):not([type=range]), select, textarea) {
  color: #242b26;
  background: #fff;
  border-color: #8c988d;
  border-radius: 6px;
  font-size: 16px;
  line-height: 1.5;
  max-width: 100%;
}
body.dpg-theme :is(input, textarea)::placeholder { color: #667166; opacity: 1; }
body.dpg-theme :is(input, textarea):-webkit-autofill { -webkit-text-fill-color: #242b26; caret-color: #242b26; }
body.dpg-theme :is(input[type=checkbox], input[type=radio]) { accent-color: #344b3b; }
body.dpg-theme .woocommerce .form-row label { color: #303b31; font-size: 16px; font-weight: 550; line-height: 1.6; margin-bottom: 7px; }
body.dpg-theme .woocommerce .form-row .required { color: #a13222; }
body.dpg-theme .woocommerce .form-row .optional { color: #566159; font-size: 14px; }
body.dpg-theme .woocommerce .form-row :is(input.input-text, select) { min-height: 50px; }
body.dpg-theme .woocommerce .form-row textarea { min-height: 110px; }
body.dpg-theme .woocommerce .form-row.woocommerce-invalid :is(input.input-text, select, textarea) { border-color: #a13222; box-shadow: 0 0 0 1px #a13222; }
body.dpg-theme .woocommerce .woocommerce-input-wrapper { min-width: 0; }
body.dpg-theme .select2-container .select2-selection--single { min-height: 50px; height: auto; border: 1px solid #8c988d; border-radius: 6px; background: #fff; }
body.dpg-theme .select2-container--default .select2-selection--single .select2-selection__rendered { color: #242b26; line-height: 48px; padding-inline-start: 12px; font-size: 16px; }
body.dpg-theme .select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px; }
body.dpg-theme .select2-dropdown { color: #242b26; background: #fff; font-size: 16px; border-color: #8c988d; }
body.dpg-theme .select2-container--default .select2-results__option--highlighted[aria-selected] { color: #fff; background: #344b3b; }

/* Product decisions and fine print are legible without inflating the page. */
.dpg-theme .dpc-controls { font-size: 16px; }
.dpg-theme .dpc-controls :is(label, .dpc-custom-toggle) { font-size: 15px; }
.dpg-theme .dpc-controls :is(.dpc-size-intro, .dpc-size-label, .dpc-selected-finish span,
  .dpc-payment-choice > small, .dpc-payment-options small, .dpc-note, .dpc-payment-estimate),
.dpg-theme :is(.dpc-status, .dpc-photo-builder .dpc-note, .dpc-extras-summary, .dpc-extra p, .dpc-extra small) {
  color: #566159;
  font-size: 14px !important;
  line-height: 1.65;
}
.dpg-theme .dpc-controls .dpc-presets strong { font-size: 16px; }
.dpg-theme .dpc-controls .dpc-presets small { font-size: 13px; color: #566159; }
.dpg-theme .dpc-payment-options label strong { font-size: 16px; }
.dpg-theme .dpc-controls .dpc-payment-choice:disabled { opacity: 1; background: #f1f2ed; }
.dpg-theme .dpc-controls .dpc-presets button:disabled { opacity: 1; background: #eceee6; color: #5d675b; border-color: #b9c0b2; }
.dpg-theme :is(.dpc-view button, .dpc-camera button) { min-height: 44px; font-size: 15px; }
.dpg-theme :is(.dpc-view button, .dpc-camera button)[aria-pressed=true] { color: #fff; background: #344b3b; border-color: #344b3b; }
.dpg-theme .dpc-floating-cart .dpc-floating-label { color: #566159; font-size: 13px; }
.dpg-theme .dpc-floating-cart .dpc-floating-info > strong { color: #a33121; }
.dpg-theme .dpc-floating-cart :is(.dpc-floating-deposit, .dpc-floating-shipping) { font-size: 12px; color: #465840; }
body.dpg-theme :is(.woocommerce, .product) .woocommerce-tabs ul.tabs { gap: 8px; padding-bottom: 6px; }
body.dpg-theme :is(.woocommerce, .product) .woocommerce-tabs ul.tabs li { border: 1px solid #c9d1c1; background: #f0f2ea; border-radius: 7px; padding: 0; }
body.dpg-theme :is(.woocommerce, .product) .woocommerce-tabs ul.tabs li a { font-size: 16px; padding: 12px 18px; min-height: 48px; color: #344b3b; }
body.dpg-theme :is(.woocommerce, .product) .woocommerce-tabs ul.tabs li.active {
  --theme-link-active-color: #fff;
  --theme-link-hover-color: #fff;
  border-color: #344b3b;
  background: #344b3b;
}
body.dpg-theme :is(.woocommerce, .product) .woocommerce-tabs ul.tabs li.active a,
body.dpg-theme :is(.woocommerce, .product) .woocommerce-tabs ul.tabs li.active a:is(:hover, :focus) { color: #fff; }
body.dpg-theme :is(.dpc-photo-builder, .dpc-inquiry-form, .dpc-question-form, #review_form) input[type=file] {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/* Account, cart and checkout: shorter headings, aligned forms, clear totals. */
body.dpg-theme:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout) .page-intro {
  padding-top: 38px;
  padding-bottom: 28px;
  max-width: 1320px;
}
body.dpg-theme:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout) .page-intro .eyebrow { margin-bottom: 10px !important; }
body.dpg-theme:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout) .page-intro h1 { font-size: clamp(34px, 4.1vw, 52px); line-height: 1.14; }
body.dpg-theme:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout) .feature-page { max-width: 1320px; padding-top: 30px; }
.dpg-theme .dpg-account-intro { max-width: 850px; margin: 0 0 30px; font-size: 16px; color: #566159; }
.dpg-theme .dpg-account-intro p { margin-bottom: 10px; }
.dpg-theme .dpg-account-intro a { color: #344b3b; text-decoration: underline; text-underline-offset: 4px; }
.dpg-theme :is(.dpg-registration-help, .dpg-register-prompt, .dpg-account-support) { font-size: 15px; line-height: 1.7; color: #566159; }
.dpg-theme :is(.dpg-register-prompt, .dpg-account-support) a { color: #344b3b; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.dpg-theme .dpg-register-prompt { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid #e1e5db; }
.dpg-theme .dpg-account-support { margin: 26px 0 0; }
.dpg-theme .dpg-account-next { margin: 28px 0; padding: 26px; border: 1px solid #d2dcc8; border-radius: 11px; background: #f0f4eb; }
.dpg-theme .dpg-account-next h2 { font-size: 32px; line-height: 1.2; }
.dpg-theme .dpg-account-next p { color: #566159; max-width: 65ch; }
.dpg-theme .dpg-account-next .button { margin: 0 14px 12px 0; }
.dpg-theme .woocommerce #customer_login { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; margin: 0; align-items: start; }
.dpg-theme .woocommerce #customer_login::before,
.dpg-theme .woocommerce #customer_login::after { display: none; }
.dpg-theme .woocommerce #customer_login > :is(.u-column1, .u-column2) { float: none; width: auto; min-width: 0; }
.dpg-theme .woocommerce #customer_login h2 { font-family: var(--sans); font-size: 25px; font-weight: 650; letter-spacing: -.025em; line-height: 1.35; margin: 0 0 16px; }
.dpg-theme .woocommerce :is(form.login, form.register, form.lost_reset_password) { background: #fff; border: 1px solid #d7dbd1; border-radius: 12px; padding: 28px; margin: 0; text-align: start; max-width: none; }
.dpg-theme .woocommerce form.lost_reset_password { max-width: 620px; }
.dpg-theme .woocommerce :is(form.login, form.register, form.lost_reset_password) .form-row { margin: 0 0 19px; padding: 0; float: none; width: 100%; }
.dpg-theme .woocommerce :is(form.login, form.register, form.lost_reset_password) .button { width: 100%; margin-top: 7px; }
.dpg-theme .woocommerce :is(form.login, form.register) .woocommerce-privacy-policy-text { font-size: 14px; line-height: 1.65; color: #566159; }
.dpg-theme .woocommerce :is(form.login, form.register) .woocommerce-privacy-policy-text a { text-decoration: underline; color: #344b3b; }
.dpg-theme .woocommerce .woocommerce-form-login__rememberme { display: inline-flex; gap: 8px; align-items: center; margin: 4px 0 12px; }
.dpg-theme .woocommerce .lost_password { font-size: 14px; margin: 8px 0 0; }
.dpg-theme .woocommerce .lost_password a { color: #344b3b; text-decoration: underline; }
.dpg-theme .woocommerce .show-password-input { color: #344b3b; min-height: 44px; min-width: 44px; }
.dpg-theme .woocommerce.ct-woo-account,
.dpg-theme .woocommerce:has(> .woocommerce-MyAccount-navigation) {
  display: grid;
  grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
  gap: 32px;
  align-items: start;
}
/* Blocksy wraps the navigation in .ct-acount-nav. Size the column once;
 * the nested nav must fill that column instead of taking another percentage. */
.dpg-theme .woocommerce .ct-acount-nav {
  width: 100%;
  min-width: 0;
  margin: 0;
  overflow: visible;
  background: transparent;
  box-shadow: none;
  align-self: start;
}
.dpg-theme .woocommerce .woocommerce-MyAccount-navigation,
.dpg-theme .woocommerce .woocommerce-MyAccount-content {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  float: none;
}
.dpg-theme .woocommerce .woocommerce-MyAccount-navigation ul { border: 1px solid #d7dbd1; border-radius: 10px; overflow: hidden; background: #fff; margin: 0; }
.dpg-theme .woocommerce .woocommerce-MyAccount-navigation li { margin: 0; min-width: 0; }
.dpg-theme .woocommerce .woocommerce-MyAccount-navigation li a {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: auto;
  min-height: 54px;
  padding: 14px 18px;
  color: #344b3b;
  font-size: 16px;
  line-height: 1.5;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
}
.dpg-theme .woocommerce .woocommerce-MyAccount-navigation li a::before { flex: 0 0 20px; width: 20px; margin-inline-end: 0; }
.dpg-theme .woocommerce .woocommerce-MyAccount-navigation li a:hover { color: #253c2b; background: #edf1e9; }
.dpg-theme .woocommerce .woocommerce-MyAccount-navigation li:last-child a { border-bottom: 0; }
.dpg-theme .woocommerce .woocommerce-MyAccount-navigation li.is-active a { background: #344b3b; color: #fff; }
.dpg-theme .woocommerce .woocommerce-MyAccount-content :is(h2, h3) { font-size: 29px; }
.dpg-theme .woocommerce .woocommerce-MyAccount-content p a:not(.button) { text-decoration: underline; text-underline-offset: 3px; color: #344b3b; }
.dpg-theme .dpg-checkout-steps { margin: 0 0 22px; padding: 0; font-size: 14px; }
.dpg-theme .dpg-checkout-steps ol { display: flex; gap: 10px; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.dpg-theme .dpg-checkout-steps :is(li, a, span) { line-height: 1.5; }
.dpg-theme .dpg-checkout-steps li { display: flex; align-items: center; gap: 8px; padding: 9px 13px; color: #566159; background: #f0f2e9; border-radius: 6px; }
.dpg-theme .dpg-checkout-steps li[aria-current],
.dpg-theme .dpg-checkout-steps [aria-current=step] { color: #fff; background: #344b3b; border-radius: 6px; }
.dpg-theme .dpg-checkout-steps li[aria-current] a { color: inherit; }
.dpg-theme :is(.dpg-commerce-note, .dpg-shopping-reassurance) { font-size: 15px; padding: 16px 18px; background: #eef4e9; color: #344b3b; border: 1px solid #d0ddc6; border-radius: 8px; margin: 0 0 25px; }
.dpg-theme .woocommerce .form-row .description { font-size: 14px; line-height: 1.6; color: #566159; margin-top: 7px; }
.dpg-theme .woocommerce table.shop_table { background: #fff; border: 1px solid #d7dbd1; border-radius: 10px; border-collapse: separate; border-spacing: 0; overflow: hidden; font-size: 15px; }
.dpg-theme .woocommerce table.shop_table :is(th, td) { padding: 15px; border-color: #e1e5db; color: #303b31; overflow-wrap: anywhere; }
.dpg-theme .woocommerce table.shop_table th { font-weight: 650; background: #f2f4ed; }
.dpg-theme .woocommerce table.shop_table :is(.amount, .amount bdi) { white-space: nowrap; overflow-wrap: normal; word-break: normal; }
.dpg-theme .woocommerce table.woocommerce-checkout-review-order-table { table-layout: auto; }
.dpg-theme .woocommerce table.woocommerce-checkout-review-order-table :is(.product-total, tfoot td) { width: 36%; min-width: 100px; }
.dpg-theme .woocommerce table.woocommerce-checkout-review-order-table tfoot th { overflow-wrap: normal; word-break: normal; }
.dpg-theme .woocommerce table.shop_table .product-name a { color: #344b3b; font-size: 16px; }
.dpg-theme .woocommerce table.shop_table .product-name dl.variation { font-size: 14px; line-height: 1.6; margin: 8px 0 0; }
.dpg-theme .woocommerce table.shop_table .product-name dl.variation dt { font-weight: 600; }
.dpg-theme .woocommerce table.shop_table .product-name dl.variation dd p { margin: 0; }
.dpg-theme .woocommerce table.shop_table .order-total { font-size: 20px; }
.dpg-theme .woocommerce .cart-collaterals .cart_totals { background: #f0f3eb; border: 1px solid #d7dbd1; border-radius: 12px; padding: 24px; width: min(100%, 480px); }
.dpg-theme .woocommerce .cart_totals h2 { font-family: var(--sans); font-size: 25px; font-weight: 650; margin: 0 0 20px; }
.dpg-theme .woocommerce .wc-proceed-to-checkout { padding: 8px 0 0; }
.dpg-theme .woocommerce .wc-proceed-to-checkout a.checkout-button { width: 100%; margin: 0; font-size: 17px; }
.dpg-theme .woocommerce table.cart td.actions .coupon { display: flex; gap: 9px; }
.dpg-theme .woocommerce table.cart td.actions .coupon .input-text { width: 170px; margin: 0; }
.dpg-theme .woocommerce a.remove { color: #8f3023 !important; background: #fff0ec; width: 32px; height: 32px; line-height: 30px; border-radius: 50%; text-align: center; font-size: 23px; }
.dpg-theme .woocommerce a.remove:hover { color: #fff !important; background: #8f3023; }
.dpg-theme .woocommerce form.checkout h3 { font-family: var(--sans); font-size: 25px; font-weight: 650; line-height: 1.4; margin: 0 0 22px; letter-spacing: -.02em; }
.dpg-theme .woocommerce form.checkout #ship-to-different-address { font-size: 18px; }
.dpg-theme .woocommerce form.checkout #customer_details { min-width: 0; }
.dpg-theme .woocommerce-checkout #payment { border: 1px solid #d2dbca; border-radius: 12px; background: #f0f4eb; color: #2d3b2e; }
.dpg-theme .woocommerce-checkout #payment ul.payment_methods { padding: 22px; border-bottom-color: #d2dbca; }
.dpg-theme .woocommerce-checkout #payment div.payment_box { background: #fff; color: #303b31; font-size: 15px; border: 1px solid #dce2d5; border-radius: 7px; }
.dpg-theme .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.dpg-theme .woocommerce-checkout #payment div.form-row { padding: 22px; }
.dpg-theme .woocommerce-checkout #payment .woocommerce-privacy-policy-text { font-size: 14px; line-height: 1.65; color: #566159; }
.dpg-theme .woocommerce-checkout #payment .woocommerce-privacy-policy-text a { color: #344b3b; text-decoration: underline; }
.dpg-theme .woocommerce-checkout #place_order { width: 100%; margin: 14px 0 0; min-height: 54px; font-size: 17px; }
.dpg-theme .woocommerce .woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 20px; padding: 0; margin: 25px 0 32px; }
.dpg-theme .woocommerce .woocommerce-order-overview li { margin: 0; padding-inline-end: 20px; font-size: 13px; line-height: 1.8; }
.dpg-theme .woocommerce .woocommerce-order-overview strong { color: #242b26; font-size: 17px; }

@media (max-width: 1400px) {
  .dpg-theme .site-header { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 18px; padding: 18px 4%; }
  .dpg-theme .mobile-menu { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 6px; font-size: 28px; border-radius: 6px; }
  .dpg-theme .site-header > .brand { justify-self: start; margin: 0; }
  .dpg-theme .site-header nav { display: none; }
  .dpg-theme .site-header nav.is-open { display: flex; position: absolute; top: 100%; left: 0; right: 0; max-height: min(75vh, 650px); overflow: auto; align-items: stretch; flex-direction: column; background: #faf8f3; padding: 14px 5% 24px; box-shadow: 0 12px 24px #26342520; border-bottom: 1px solid #cfd7c8; }
  .dpg-theme .site-header nav .dpg-menu-list { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .dpg-theme .site-header nav a { font-size: 17px; padding: 13px 8px; }
  .dpg-theme .site-header .dpg-menu-list > li > a { white-space: normal; }
  .dpg-theme .dpg-menu-list .menu-item-has-children { padding-right: 0; }
  .dpg-theme .dpg-menu-list .menu-item-has-children > a { padding-inline-end: 54px; }
  .dpg-theme .dpg-submenu-toggle { top: 3px; min-width: 46px; min-height: 46px; }
  .dpg-theme .dpg-menu-list .sub-menu { position: static; min-width: 0; box-shadow: none; background: #edf0e6; border: 0; margin: 0 0 9px; border-radius: 8px; padding: 8px 12px; }
  .dpg-theme .dpg-menu-list .sub-menu a { font-size: 16px; white-space: normal; }
  .dpg-theme .dpg-menu-list > li.dpg-nav-cta > a { margin-top: 12px; text-align: center; }
  .dpg-theme .header-actions .account-link { display: inline-flex; }
}
@media (max-width: 900px) {
  .dpg-theme .woocommerce.ct-woo-account,
  .dpg-theme .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .dpg-theme .woocommerce .woocommerce-MyAccount-navigation { margin: 0; }
  .dpg-theme .woocommerce .woocommerce-MyAccount-navigation ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; }
  .dpg-theme .woocommerce .woocommerce-MyAccount-navigation li { display: flex; }
  .dpg-theme .woocommerce .woocommerce-MyAccount-navigation li a { min-height: 52px; padding: 12px; border: 0; border-bottom: 1px solid #d7dbd1; }
  .dpg-theme .woocommerce .woocommerce-MyAccount-navigation li:nth-child(odd) a { border-inline-end: 1px solid #d7dbd1; }
  .dpg-theme .dpg-account-next { padding: 22px; }
}
@media (max-width: 780px) {
  .dpg-theme .woocommerce #customer_login { grid-template-columns: 1fr; gap: 30px; }
  .dpg-theme .woocommerce #customer_login > :is(.u-column1, .u-column2) { width: 100%; }
  .dpg-theme .woocommerce table.shop_table_responsive tbody tr:first-child td:first-child { border-top: 0; }
  .dpg-theme .woocommerce .cart-collaterals .cart_totals { float: none; width: 100%; margin-top: 24px; }
  .dpg-theme .woocommerce table.cart td.actions .coupon { float: none; margin-bottom: 12px; width: 100%; }
  .dpg-theme .woocommerce table.cart td.actions .coupon .input-text { width: 50%; flex: 1; min-width: 0; }
  .dpg-theme .woocommerce table.cart td.actions .coupon .button { width: auto; min-width: 0; }
}
@media (max-width: 600px) {
  .dpg-theme .site-header { padding: 14px 16px; gap: 10px; }
  .dpg-theme .brand-name { font-size: 38px; }
  .dpg-theme .brand-label { font-size: 9px; margin-top: 7px; }
  .dpg-theme .brand-origin { display: none; }
  .dpg-theme .header-actions { gap: 12px; font-size: 13px; }
  .dpg-theme .header-actions .bag-trigger { gap: 5px; }
  .dpg-theme .bag-count { width: 23px; height: 23px; }
  .dpg-theme .top-note { font-size: 12px; padding: 9px 16px; }
  .dpg-theme .top-note > span { text-align: center; }
  .dpg-theme .dpc-floating-cart .dpc-floating-label { font-size: 11px; }
  .dpg-theme .dpc-floating-cart :is(.dpc-floating-deposit, .dpc-floating-shipping) { font-size: 11px; }
  .dpg-theme .dpc-floating-cart .dpc-floating-deposit { white-space: normal; }
  .dpg-theme .dpc-floating-cart .dpc-cart-button { font-size: 13px !important; }
  body.dpg-theme :is(.woocommerce, .product) .woocommerce-tabs ul.tabs li a { font-size: 15px; padding: 11px 14px; }
  body.dpg-theme:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout) .page-intro { padding: 28px 6% 23px; }
  body.dpg-theme:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout) .feature-page { padding: 25px 6% 50px; }
  .dpg-theme .woocommerce :is(form.login, form.register, form.lost_reset_password) { padding: 22px 18px; }
  .dpg-theme .woocommerce .cart-collaterals .cart_totals { padding: 19px; }
  .dpg-theme .woocommerce table.shop_table :is(th, td) { padding: 13px 11px; }
  .dpg-theme .woocommerce table.cart { width: 100%; table-layout: auto; }
  .dpg-theme .woocommerce table.cart :is(th, td).product-thumbnail { width: 78px; padding-inline: 10px; vertical-align: top; }
  .dpg-theme .woocommerce table.cart td.product-thumbnail img { width: 56px !important; max-width: 56px; height: 56px !important; object-fit: contain; }
  .dpg-theme .woocommerce table.cart td.product-name { min-width: 0; padding-inline: 8px; }
  .dpg-theme .woocommerce table.cart .product-mobile-actions { flex-wrap: wrap; gap: 8px; }
  .dpg-theme .woocommerce table.cart .product-mobile-actions .quantity { flex-shrink: 0; }
  .dpg-theme .woocommerce table.cart .product-mobile-actions .remove { padding-inline-start: 0; flex-shrink: 0; }
  .dpg-theme .ct-order-review { padding: 18px 12px; }
  .dpg-theme .woocommerce table.woocommerce-checkout-review-order-table :is(th, td) { padding: 12px 8px; }
  .dpg-theme .woocommerce table.woocommerce-checkout-review-order-table .order-total { font-size: 18px; }
  body.dpg-theme :is(.woocommerce-error, .woocommerce-info, .woocommerce-message, .woocommerce-thankyou-order-received) { font-size: 15px; padding: 14px 15px 14px 44px; }
  body.dpg-theme :is(.woocommerce-error, .woocommerce-info, .woocommerce-message, .woocommerce-thankyou-order-received)::before { inset-inline-start: 14px; top: 18px; }
  .dpg-theme .woocommerce-checkout #payment :is(ul.payment_methods, div.form-row) { padding: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .dpg-theme *, .dpg-theme *::before, .dpg-theme *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
