@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&family=Dancing+Script:wght@400;700&family=Kanit:wght@300;400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

:root {
  --color-bg: #000000;
  --color-card-bg: #0c0c0c;
  --color-gold: #c5a059;
  --color-gold-light: #f1d38e;
  --color-gold-dark: #8c6a2c;
  --color-text-white: #ffffff;
  --color-text-gray: #a6a6a6;
  --color-border-gold: #c5a059;

  /* Backward compatibility variables */
  --wcat-gold: #c5a059;
  --wcat-gold-light: #f1d38e;
  --wcat-gold-dark: #8c6a2c;
  --wcat-text-white: #ffffff;
  --wcat-text-gray: #a6a6a6;
}

/* Coded Catalog Card styling */
.catalog-card {
  --base-size: 16px;
  font-family: 'Montserrat', sans-serif !important;
  font-size: var(--base-size) !important;
  background-color: var(--color-card-bg) !important;
  background: var(--color-card-bg) !important;
  color: var(--color-text-white) !important;
  width: 100%;
  aspect-ratio: 1 / 1.414; /* A4 aspect ratio */
  position: relative;
  padding: 2.2em !important;
  border: 1px solid var(--color-border-gold) !important;
  border-radius: 2px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  margin-bottom: 25px; /* Spacing between cards in bootstrap grid */
  box-sizing: border-box !important;
}

.catalog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 40px rgba(197, 160, 89, 0.15) !important;
}

/* Double border frame inset */
.cat-inner-frame {
  position: absolute !important;
  top: 0.8em !important;
  bottom: 0.8em !important;
  left: 0.8em !important;
  right: 0.8em !important;
  border: 1px solid var(--color-border-gold) !important;
  pointer-events: none;
  z-index: 1;
  background: transparent !important;
  box-sizing: border-box !important;
}

/* Corner decorations */
.corner-svg {
  position: absolute !important;
  width: 1.8em !important;
  height: 1.8em !important;
  z-index: 2;
  pointer-events: none;
}

.corner-tl {
  top: 0.4em !important;
  left: 0.4em !important;
}

.corner-tr {
  top: 0.4em !important;
  right: 0.4em !important;
  transform: rotate(90deg) !important;
}

.corner-bl {
  bottom: 0.4em !important;
  left: 0.4em !important;
  transform: rotate(-90deg) !important;
}

.corner-br {
  bottom: 0.4em !important;
  right: 0.4em !important;
  transform: rotate(180deg) !important;
}

/* Card Content Structure */
.cat-card-content {
  position: relative !important;
  z-index: 3 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  background: transparent !important;
}

/* Logo styling */
.cat-logo {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  background: transparent !important;
}

.logo-main {
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  background: transparent !important;
}

.logo-s {
  font-family: 'Playfair Display', serif !important;
  font-style: italic !important;
  font-size: 2.2em !important;
  font-weight: 700 !important;
  color: var(--color-gold) !important;
  line-height: 0.8 !important;
  margin-right: -0.05em !important;
  background: transparent !important;
  border: none !important;
}

.logo-text {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: 1.25em !important;
  color: var(--color-text-white) !important;
  letter-spacing: 0.1em !important;
  background: transparent !important;
}

.logo-seven {
  font-family: 'Playfair Display', serif !important;
  font-style: italic !important;
  font-weight: 700 !important;
  font-size: 1.8em !important;
  color: var(--color-gold) !important;
  line-height: 0.8 !important;
  margin-left: 0.05em !important;
  background: transparent !important;
}

.logo-sub {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.52em !important;
  color: var(--color-text-white) !important;
  letter-spacing: 0.22em !important;
  margin-top: 0.2em !important;
  text-transform: uppercase !important;
  background: transparent !important;
}

.logo-flourish {
  width: 5.5em !important;
  height: 0.7em !important;
  margin-top: 0.4em !important;
  display: block !important;
}

/* Cover Card Specifics */
.cover-card-content {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 1.5em 0.5em !important;
  background: transparent !important;
}

.cover-illustration {
  flex-grow: 1 !important;
  width: 100% !important;
  max-height: 70% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  position: relative !important;
  margin-top: 1em !important;
  background: transparent !important;
}

.cover-svg-graphic {
  width: 95% !important;
  height: 95% !important;
}

/* Card Split Header Layout (Pages 1, 2, 5) */
.cat-header-split {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  margin-bottom: 0.5em !important;
  width: 100% !important;
  background: transparent !important;
}

.cat-logo-left {
  text-align: left !important;
  flex: 0 0 auto !important;
  background: transparent !important;
}

.cat-logo-left .logo-s {
  font-size: 1.8em !important;
}

.cat-logo-left .logo-text {
  font-size: 1.05em !important;
}

.cat-logo-left .logo-seven {
  font-size: 1.5em !important;
}

.cat-logo-left .logo-sub {
  font-size: 0.44em !important;
  letter-spacing: 0.16em !important;
  margin-top: 0.1em !important;
}

.cat-title-center {
  text-align: center !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 0 0.5em !important;
  background: transparent !important;
}

.cat-price-lbl-right {
  text-align: right !important;
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
  background: transparent !important;
}

/* Centered Header Layout (Pages 3, 4, 6, 7, 8, 9, 10) */
.cat-header-centered {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  width: 100% !important;
  margin-bottom: 0.4em !important;
  background: transparent !important;
}

.cat-title-center-below {
  margin-top: 0.6em !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  background: transparent !important;
}

.cat-price-lbl-right-offset {
  align-self: flex-end !important;
  text-align: right !important;
  margin-top: 0.3em !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  background: transparent !important;
}

/* Pre-bridal Split Header (Page 5) */
.cat-header-split-prebridal {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  margin-bottom: 0.4em !important;
  width: 100% !important;
  background: transparent !important;
}

.cat-title-prebridal-right {
  flex-grow: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  padding-left: 2em !important;
  background: transparent !important;
}

.prebridal-line-box {
  border-top: 1.2px solid var(--color-text-white) !important;
  border-bottom: 1.2px solid var(--color-text-white) !important;
  width: 100% !important;
  max-width: 18em !important;
  text-align: center !important;
  padding: 0.28em 0 !important;
  margin-top: 0.2em !important;
  background: transparent !important;
}

.prebridal-line-box-centered {
  border-top: 1.2px solid var(--color-text-white) !important;
  border-bottom: 1.2px solid var(--color-text-white) !important;
  width: 100% !important;
  max-width: 18em !important;
  text-align: center !important;
  padding: 0.28em 0 !important;
  background: transparent !important;
}

/* Typography elements */
.script-mens {
  font-family: 'Dancing Script', cursive !important;
  font-size: 3.2em !important;
  font-weight: 700 !important;
  color: var(--color-text-white) !important;
  line-height: 0.8 !important;
  margin-bottom: -0.1em !important;
  background: transparent !important;
}

.script-womens {
  font-family: 'Dancing Script', cursive !important;
  font-size: 3.2em !important;
  font-weight: 700 !important;
  color: var(--color-text-white) !important;
  line-height: 0.8 !important;
  margin-bottom: -0.1em !important;
  background: transparent !important;
}

.header-combo-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.55em !important;
  font-weight: 700 !important;
  color: var(--color-gold) !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  background: transparent !important;
}

.header-combo-title-gold {
  background: linear-gradient(135deg, var(--color-gold-light) 0%, var(--color-gold) 50%, var(--color-gold-dark) 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: var(--color-gold) !important;
}

.header-combo-subtitle {
  font-family: 'Dancing Script', cursive !important;
  font-size: 1.6em !important;
  font-weight: 700 !important;
  color: var(--color-text-white) !important;
  line-height: 1.2 !important;
  background: transparent !important;
}

.header-combo-subtext-white {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.95em !important;
  font-weight: 400 !important;
  color: var(--color-text-white) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  background: transparent !important;
}

.header-right-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.82em !important;
  font-weight: 500 !important;
  color: var(--color-text-white) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  line-height: 1.2 !important;
  background: transparent !important;
}

.header-right-price-lbl {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.82em !important;
  font-weight: 400 !important;
  color: var(--color-text-white) !important;
  letter-spacing: 0.02em !important;
  background: transparent !important;
}

/* Card Body Section */
.cat-body-section {
  flex-grow: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  width: 100% !important;
  background: transparent !important;
}

.cat-title-divider {
  width: 100% !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, var(--color-border-gold) 20%, var(--color-border-gold) 80%, transparent) !important;
  margin-bottom: 0.8em !important;
  position: relative !important;
}

/* Combos Table Layout */
.combos-table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: transparent !important;
  border: none !important;
}

.combos-table tr {
  border-bottom: 1px solid rgba(197, 160, 89, 0.15) !important;
  background: transparent !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}

.combos-table tr:last-child {
  border-bottom: none !important;
}

.combos-table td {
  padding: 0.42em 0 !important;
  vertical-align: middle !important;
  background: transparent !important;
  border: none !important;
}

.combo-desc-col {
  text-align: left !important;
  font-size: 0.88em !important;
  font-weight: 500 !important;
  color: var(--color-text-white) !important;
  line-height: 1.35 !important;
  padding-right: 1em !important;
}

.combo-price-col {
  text-align: right !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

/* Table Price Stacking (Pages 1-3) */
.table-crossed-price {
  position: relative !important;
  color: var(--color-text-gray) !important;
  font-size: 0.88em !important;
  font-weight: 400 !important;
  display: block !important;
  text-align: right !important;
  margin-bottom: 0.15em !important;
  width: fit-content;
  margin-left: auto;
  background: transparent !important;
}

.table-crossed-price::after {
  content: '' !important;
  position: absolute !important;
  left: -0.15em !important;
  right: -0.15em !important;
  top: 48% !important;
  height: 1.5px !important;
  background-color: var(--color-gold) !important;
  transform: rotate(-18deg) !important;
  transform-origin: center !important;
}

.table-offer-price {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.35em !important;
  color: var(--color-text-white) !important;
  display: block !important;
  text-align: right !important;
  line-height: 1 !important;
  background: transparent !important;
}

/* Inline Package Prices (Pages 5-10) */
.crossed-price {
  position: relative !important;
  color: var(--color-text-gray) !important;
  font-size: 0.9em !important;
  font-weight: 400 !important;
  margin-right: 0.3em !important;
  display: inline-block !important;
  background: transparent !important;
}

.crossed-price::after {
  content: '' !important;
  position: absolute !important;
  left: -0.1em !important;
  right: -0.1em !important;
  top: 48% !important;
  height: 1.5px !important;
  background-color: var(--color-gold) !important;
  transform: rotate(-18deg) !important;
  transform-origin: center !important;
}

.offer-price {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.3em !important;
  color: var(--color-text-white) !important;
  display: inline-block !important;
  vertical-align: middle !important;
  background: transparent !important;
}

.bridal-price {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: 1.25em !important;
  color: var(--color-text-white) !important;
  background: transparent !important;
}

/* Combos Ornaments Layout (for Cards 2, 3, 4) */
.combo-ornament-list {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  justify-content: space-around !important;
  background: transparent !important;
}

.combo-ornament-item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 0.5em 0 !important;
  background: transparent !important;
}

.combo-ornament-name {
  font-size: 0.98em !important;
  font-weight: 500 !important;
  color: var(--color-text-white) !important;
  line-height: 1.35 !important;
  text-align: left !important;
  padding-right: 1.5em !important;
  background: transparent !important;
}

.combo-ornament-price {
  text-align: right !important;
  white-space: nowrap !important;
  background: transparent !important;
}

.item-divider {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  background: transparent !important;
}

.line-decor {
  flex-grow: 1 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, var(--color-border-gold) 50%, transparent) !important;
}

.ornament-decor {
  width: 3.5em !important;
  height: 0.7em !important;
  margin: 0 0.5em !important;
}

/* Pre-Bridal Packages Layout (for Cards 5-10) */
.pre-bridal-container {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-around !important;
  height: 100% !important;
  background: transparent !important;
}

.package-section {
  margin-bottom: 0.4em !important;
  background: transparent !important;
}

.package-section:last-child {
  margin-bottom: 0 !important;
}

.package-main-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  margin-bottom: 0.25em !important;
  background: transparent !important;
}

.package-title-block {
  flex-grow: 1 !important;
  padding-right: 1em !important;
  background: transparent !important;
}

.package-name {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.05em !important;
  font-weight: 700 !important;
  color: var(--color-gold) !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  background: transparent !important;
}

.package-offer-text {
  font-size: 0.76em !important;
  font-weight: 500 !important;
  color: var(--color-text-white) !important;
  line-height: 1.25 !important;
  margin-top: 0.1em !important;
  background: transparent !important;
}

.package-offer-text span {
  color: var(--color-gold) !important;
}

.package-prices {
  text-align: right !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  background: transparent !important;
}

.package-price-row {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 0.1em !important;
  background: transparent !important;
}

.package-price-row .crossed-price {
  font-size: 0.85em !important;
}

.package-price-row .offer-price {
  font-size: 1.15em !important;
}

.package-promo-price {
  font-size: 1.15em !important;
  font-weight: 700 !important;
  color: var(--color-gold) !important;
  line-height: 1.1 !important;
  background: transparent !important;
}

.package-line-divider {
  height: 1px !important;
  background: linear-gradient(90deg, transparent, var(--color-border-gold) 15%, var(--color-border-gold) 85%, transparent) !important;
  margin: 0.4em 0 !important;
}

/* Package Sittings */
.sitting-block {
  margin-top: 0.35em !important;
  line-height: 1.3 !important;
  background: transparent !important;
}

.sitting-num {
  font-size: 0.78em !important;
  font-weight: 700 !important;
  color: var(--color-text-white) !important;
  text-transform: uppercase !important;
  margin-bottom: 0.1em !important;
  background: transparent !important;
}

.sitting-desc {
  font-size: 0.75em !important;
  font-weight: bold !important;
  color: var(--color-text-white) !important;
  opacity: 0.9 !important;
  letter-spacing: 0.01em !important;
  background: transparent !important;
}

/* Page 10 specific overrides to handle compact density */
.page-10-special .package-section {
  margin-bottom: 0.25em !important;
}
.page-10-special .sitting-block {
  margin-top: 0.2em !important;
}

/* Card 10 Add-on Specific Layout */
.addons-section {
  margin-top: 0.4em !important;
  border-top: 1px solid rgba(197, 160, 89, 0.2) !important;
  padding-top: 0.4em !important;
  background: transparent !important;
}

.addons-header {
  font-family: 'Playfair Display', serif !important;
  font-size: 0.82em !important;
  font-weight: 700 !important;
  color: var(--color-gold) !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.01em !important;
  background: transparent !important;
}

.addons-subtitle {
  font-size: 0.72em !important;
  font-weight: 400 !important;
  color: var(--color-text-white) !important;
  margin-bottom: 0.3em !important;
  opacity: 0.8 !important;
  background: transparent !important;
}

.addon-row {
  display: flex !important;
  justify-content: space-between !important;
  font-size: 0.72em !important;
  font-weight: 500 !important;
  color: var(--color-text-white) !important;
  margin-bottom: 0.2em !important;
  background: transparent !important;
}

.addon-value {
  color: var(--color-text-white) !important;
  font-weight: 700 !important;
  background: transparent !important;
}

.addon-notes {
  margin-top: 0.3em !important;
  border-top: 1px dashed rgba(197, 160, 89, 0.15) !important;
  padding-top: 0.3em !important;
  font-size: 0.64em !important;
  line-height: 1.25 !important;
  color: var(--color-text-white) !important;
  background: transparent !important;
}

.addon-notes p {
  margin-bottom: 0.2em !important;
}

.addon-notes p strong {
  color: var(--color-gold) !important;
  font-weight: 600 !important;
}

/* Card Footer Section */
.cat-footer-section {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  margin-top: 0.6em !important;
  font-size: 0.65em !important;
  line-height: 1.2 !important;
  border-top: 1px solid rgba(197, 160, 89, 0.1) !important;
  padding-top: 0.5em !important;
  width: 100% !important;
  background: transparent !important;
}

.cat-footer-left {
  color: var(--color-gold) !important;
  font-weight: 500 !important;
  text-align: left !important;
  flex-grow: 1 !important;
  background: transparent !important;
}

.cat-footer-right {
  color: var(--color-text-gray) !important;
  font-weight: 400 !important;
  text-align: right !important;
  white-space: nowrap !important;
  background: transparent !important;
}

/* Responsive Scaling of Base Font Size inside Grid */
@media (min-width: 1600px) {
  .catalog-card {
    --base-size: 17.5px;
  }
}

@media (max-width: 1400px) {
  .catalog-card {
    --base-size: 15.5px;
  }
}

@media (max-width: 1200px) {
  .catalog-card {
    --base-size: 14px;
  }
}

@media (max-width: 1100px) {
  .catalog-card {
    --base-size: 15.5px;
  }
}

@media (max-width: 900px) {
  .catalog-card {
    --base-size: 13px;
  }
}

@media (max-width: 750px) {
  .catalog-card {
    --base-size: 15px;
  }
}

@media (max-width: 480px) {
  .catalog-card {
    --base-size: 12.5px;
  }
}

@media (max-width: 380px) {
  .catalog-card {
    --base-size: 11px;
  }
}

/* Modal View adjustments */
#imageModal .modal-content {
  background-color: transparent !important;
  border: none !important;
}

#imageModal .modal-body {
  padding: 0 !important;
  background-color: transparent !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  border: none !important;
}

#imageModal .catalog-card {
  --base-size: 19.5px;
  margin-bottom: 0 !important;
  max-width: 540px;
  box-shadow: 0 0 40px rgba(197, 160, 89, 0.25) !important;
  border-color: var(--color-gold-light) !important;
  cursor: default !important;
}

#imageModal .catalog-card:hover {
  transform: none !important;
}

@media (max-width: 600px) {
  #imageModal .catalog-card {
    --base-size: 14.5px;
  }
}

@media (max-width: 420px) {
  #imageModal .catalog-card {
    --base-size: 12.5px;
  }
}

@media (max-width: 350px) {
  #imageModal .catalog-card {
    --base-size: 11px;
  }
}

/* Women's Catalog Extensions */
.double-price-headers {
  display: flex !important;
  justify-content: flex-end !important;
  width: 100% !important;
  gap: 1.5em !important;
  margin-bottom: 0.3em !important;
  background: transparent !important;
}

.double-price-hdr {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.65em !important;
  color: var(--color-gold) !important;
  text-align: right !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  width: 6em !important;
  text-transform: uppercase !important;
  background: transparent !important;
}

.double-price-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 0.5em 0 !important;
  border-bottom: 1px dashed rgba(197, 160, 89, 0.25) !important;
  background: transparent !important;
}

.double-price-row:last-child {
  border-bottom: none !important;
}

.double-price-cols {
  display: flex !important;
  gap: 1.5em !important;
  background: transparent !important;
}

.price-box {
  border: 1px solid var(--color-border-gold) !important;
  padding: 0.4em 0.8em !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 5.5em !important;
  border-radius: 2px !important;
  background: rgba(197, 160, 89, 0.05) !important;
}

.price-box .table-crossed-price {
  margin-bottom: 0.2em !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.price-box .table-offer-price {
  font-size: 1.3em !important;
}

.wcat-cover-container {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  align-items: center !important;
  height: 100% !important;
  padding: 1.2em 0.5em !important;
  box-sizing: border-box !important;
}

.wcat-cover-graphic {
  position: relative !important;
  width: 100% !important;
  height: 18em !important;
  display: flex !important;
  justify-content: center !important;
  align-items: flex-end !important;
  overflow: hidden !important;
  margin-top: 1em !important;
  margin-bottom: 1em !important;
  background: transparent !important;
}

.wcat-cover-portrait-frame {
  position: relative !important;
  width: 14em !important;
  height: 16em !important;
  border-radius: 7em 7em 0 0 !important;
  background: linear-gradient(135deg, #f1d38e 0%, #c5a059 50%, #8c6a2c 100%) !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.6) !important;
  display: flex !important;
  justify-content: center !important;
  align-items: flex-end !important;
  overflow: hidden !important;
  border: 1px solid var(--color-border-gold) !important;
}

.wcat-silhouette {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
}

.wcat-silhouette-face {
  position: absolute !important;
  top: 3.5em !important;
  right: 3.5em !important;
  width: 4.5em !important;
  height: 5.5em !important;
  background-color: #f7dac4 !important;
  border-radius: 2.25em 2.25em 3em 3em !important;
  transform: rotate(-15deg) !important;
  box-shadow: inset -5px -5px 15px rgba(0,0,0,0.1) !important;
}

.wcat-silhouette-hair {
  position: absolute !important;
  top: 1.5em !important;
  left: 1.5em !important;
  right: 1.5em !important;
  bottom: 0 !important;
  background: linear-gradient(180deg, #1f140e 0%, #080504 100%) !important;
  border-radius: 5.5em 5.5em 0 0 !important;
}

.wcat-silhouette-hair-strand1 {
  position: absolute !important;
  top: 2.5em !important;
  right: 2.8em !important;
  width: 3em !important;
  height: 11em !important;
  background: linear-gradient(180deg, #3d2314 0%, #1a0f08 100%) !important;
  border-radius: 0 0 3em 3em / 0 0 10em 10em !important;
  transform: rotate(5deg) !important;
}

.wcat-silhouette-hair-strand2 {
  position: absolute !important;
  top: 3em !important;
  left: 2em !important;
  width: 4.5em !important;
  height: 12em !important;
  background: linear-gradient(180deg, #2d180c 0%, #0d0603 100%) !important;
  border-radius: 0 0 4em 4em / 0 0 12em 12em !important;
  transform: rotate(-8deg) !important;
}

.wcat-silhouette-shoulders {
  position: absolute !important;
  bottom: 0 !important;
  left: 1.5em !important;
  right: 1.5em !important;
  height: 5.5em !important;
  background-color: #f7dac4 !important;
  border-radius: 4em 4em 0 0 !important;
}

.wcat-silhouette-dress {
  position: absolute !important;
  bottom: 0 !important;
  left: 2em !important;
  right: 2em !important;
  height: 2em !important;
  background-color: #ffffff !important;
  border-radius: 1em 1em 0 0 !important;
  box-shadow: 0 -2px 5px rgba(0,0,0,0.15) !important;
}

.wcat-cover-wave {
  position: absolute !important;
  border: 1px solid rgba(197, 160, 89, 0.15) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}

.wcat-cover-wave-1 {
  width: 25em !important;
  height: 25em !important;
  bottom: -10em !important;
  left: -8em !important;
}

.wcat-cover-wave-2 {
  width: 20em !important;
  height: 20em !important;
  bottom: -8em !important;
  right: -6em !important;
}

/* Extra markup classes in translated HTML */
.wcat-header-underline {
  width: 100% !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, var(--color-border-gold) 20%, var(--color-border-gold) 80%, transparent) !important;
  margin-bottom: 0.8em !important;
  position: relative !important;
}

.wcat-service-name {
  text-align: left !important;
  font-size: 0.88em !important;
  font-weight: 500 !important;
  color: var(--color-text-white) !important;
  line-height: 1.35 !important;
  padding-right: 1em !important;
}

.wcat-table-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 0.42em 0 !important;
  border-bottom: 1px solid rgba(197, 160, 89, 0.15) !important;
  background: transparent !important;
}

.wcat-table-row:last-child {
  border-bottom: none !important;
}

/* CSS-Only Art Deco Corner Styles */
.corner-div {
  position: absolute !important;
  width: 1.8em !important;
  height: 1.8em !important;
  z-index: 2;
  pointer-events: none;
  background: transparent !important;
  box-sizing: border-box !important;
}

.corner-div::before,
.corner-div::after {
  content: "" !important;
  position: absolute !important;
  border-color: var(--wcat-gold) !important;
  border-style: solid !important;
  box-sizing: border-box !important;
}

.corner-div::before {
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-width: 1.5px 0 0 1.5px !important;
}

.corner-div::after {
  top: 0.35em !important;
  left: 0.35em !important;
  width: 60% !important;
  height: 60% !important;
  border-width: 1.5px 0 0 1.5px !important;
}

.corner-dot {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 0.44em !important;
  height: 0.44em !important;
  background-color: var(--wcat-gold) !important;
  pointer-events: none !important;
  box-sizing: border-box !important;
}


